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

Issues keeping system in sleep when using SoftDevice API for entering sleep mode

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!

Parents Reply Children
No Data
Related