Hello,
In my application I'm putting the NRF52832 device to the system off by calling the sd_power_system_off() function.
When it occurs at the start of the program - the device enters to the system off (about 4mA man!!!), but when I try to put the device to the deep sleep at the other places (much more later, after advertising, some work and etc.) the function sd_power_system_off() returns NRF_ERROR_SOC_POWER_OFF_SHOULD_NOT_RETURN and system is not entering to the deep sleep.
I have two questions:
1. What the RIGHT way to put the system into the deep sleep (system off)??? (urgent)
2. 4mA at the deep sleep it's very high value - what I'm doing wrong?
Thanks a lot!
UPDATE! UPDATE!
I found the next words in the documentation:
Before entering System OFF mode, the user must make sure that all on-going EasyDMA transactions have been completed. This is usually accomplished by making sure that the EasyDMA enabled peripheral is not active when entering System OFF.
How can I check that all transactions are finished? How can I disable the EasyDMA at all, before putting the system into the deep sleep?
UPDATE! UPDATE!
I'm entering to the System Off mode by calling sd_power_system_off(), without checking the return code and after that I place the infinite loop while(1);
Is it correct way?