Hi! We are currently trying to develop a low power framework for our nRF52840 DK with SoftDevice S140. After disabling various peripherals and interrupts we use the provided API for entering sleep in SoftDevice (sd_app_evt_wait()). However it seems to immediately exit and wake the system up; since we're in the idle task it enters sleep mode again and wakes up repeatedly. This gives a few thousand sleep-and-wake loops in a couple of seconds.
To make sure that there was no pending interrupt we used sd_nvic_ClearPendingIRQ on all defined interrupts but still no difference. We have also added the
fix for the FPU bug:
__set_FPSCR(__get_FPSCR() & ~(FPU_EXCEPTION_MASK));
(void) __get_FPSCR();
NVIC_ClearPendingIRQ(FPU_IRQn);
We also tried to run sd_evt_get() before and after sd_app_evt_wait() to check wether there was any pending events but it turned up empty. Do you have any suggestions on how to overcome this issue?
Thank you!