This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Debounce logic for the app button library

We use the app button library to detect a change in position of three switches with the following configuration.

	static const app_button_cfg_t switches[] =
        {
            { PIN1, APP_BUTTON_ACTIVE_LOW, NRF_GPIO_PIN_NOPULL, handleChange },
            { PIN2, APP_BUTTON_ACTIVE_LOW, NRF_GPIO_PIN_NOPULL, handleChange },
            { PIN3, APP_BUTTON_ACTIVE_LOW, NRF_GPIO_PIN_NOPULL, handleChange }
        };

If the following sequence of events occurs,

1. Press button1

2. Press button2

3. Release button2

All these steps should occur within the debounce timeout.

We expect the callback to be fired at the end of the debounce timer. However, the callback is not fired even though a change of state of button1 has occurred.

SDK version 12.1.0

Related