-
Notifications
You must be signed in to change notification settings - Fork 3k
Description
Description
- Type: Bug
- Related issue:
#6205 - Priority: Major
Bug
Target
observed on an EFM32PG12 (probably all EFM32)
Toolchain:
GCC_ARM
Toolchain version:
arm-none-eabi-gcc (15:5.4.1+svn241155-1) 5.4.1 20160919
mbed-cli version:
1.2.0
mbed-os sha:
b033a6e
Expected behavior
I wrote a class for debouncing a button. It uses an InterruptIn object, where I register callback functions for both InterruptIn::rise() and InterruptIn::fall().
When button is pressed, the fall callback gets called, and when button is released, the rise callback will be called.
Actual behavior
Only the fall callback function is called for both rising and falling edge since mbed-os release 5.8.1. It was working with 5.8.0 and before.
I found out that commit 2a3d6d4 from #6315 is causing the problem.
If I revert this commit, everything is working again.
Steps to reproduce
On an EFM32PG12, create an InterruptIn object on pin BUTTON1 or BUTTON2, and register both rise and fall callback with different functions. Push the button -> fall callback function gets called ... Release the button again -> fall callback function gets called again instead of the rise callback.