diff --git a/examples/platform/silabs/SiWx917/SiWx917/hal/rsi_hal_mcu_m4.c b/examples/platform/silabs/SiWx917/SiWx917/hal/rsi_hal_mcu_m4.c index bcedf1c8a52c16..15c56ec47bcd24 100644 --- a/examples/platform/silabs/SiWx917/SiWx917/hal/rsi_hal_mcu_m4.c +++ b/examples/platform/silabs/SiWx917/SiWx917/hal/rsi_hal_mcu_m4.c @@ -82,9 +82,10 @@ void IRQ021_Handler(void) RSI_NPSSGPIO_ClrIntr(NPSS_GPIO_0_INTR); RSI_NPSSGPIO_ClrIntr(NPSS_GPIO_2_INTR); // if the btn is not pressed setting the state to 1 - if (RSI_NPSSGPIO_GetPin(NPSS_GPIO_2)) + if (RSI_NPSSGPIO_GetPin(NPSS_GPIO_2) && (!btn1)) { btn1 = 1; + sl_button_on_change(1, 0); } // geting the state of the gpio 2 pin and checking if the btn is already pressed or not if (!RSI_NPSSGPIO_GetPin(NPSS_GPIO_2) && btn1) diff --git a/examples/window-app/silabs/src/WindowManager.cpp b/examples/window-app/silabs/src/WindowManager.cpp index f9a45b578fdce2..c6687ab2ba512e 100644 --- a/examples/window-app/silabs/src/WindowManager.cpp +++ b/examples/window-app/silabs/src/WindowManager.cpp @@ -742,15 +742,6 @@ void WindowManager::ButtonEventHandler(uint8_t button, uint8_t btnAction) } AppTask::GetAppTask().PostEvent(&event); - -// Since there is no release interrupt for button1 posting release event after press event -#ifdef SIWX_917 - if (button) - { - event = CreateNewEvent(AppEvent::kEventType_DownReleased); - AppTask::GetAppTask().PostEvent(&event); - } -#endif } void WindowManager::GeneralEventHandler(AppEvent * aEvent)