Can you explain what differences (if any) there are between using sd_power_system_off() function versus NRF_POWER->POWEROFF = 1 to put the device into power off mode?
I have an application where I check the battery voltage upon power up and don't let the device fully boot up if the battery is too low. Since the soft device isn't init'd I think I am forced to use the NRF_POWER->POWEROFF register to enter power off mode.
I also monitor the battery voltage under normal operation and if it goes too low I put the device into power off mode. In this case, the soft device is init'd and I'm still just using the NRF_POWER register. Is there any downside to entering power off mode in this way? What differences are there between these two methods?
This is with an NRF51822 and S110.
The end result of sd_power_system_off() and NRF_POWER->POWEROFF = 1 is the same. When the softdevice is initialized, you should use sd_power_system_off(), which make sure the softdevice is not in the middle of a critical operation when putting the device into system off mode.
NRF_POWER->POWEROFF = 1
Without the softdevice, sd_power_system_off() is not available, and it is safe to use NRF_POWER->POWEROFF = 1.
Notice that the device is not OFF when you put it in system off mode, it is put in a low power/deep sleep state, where it can only be waked up by reset, GPIO, NFC field or LPCOMP module.
Could you please refresh system mode off Link in you reply. With Nordic semi's switch to new infocentre location,most of the links in the forum are broken.
Thanks and regards,
Updated. It looks like the old link linked to the correct page, just not to the section about System OFF mode.
Thanks Jorgen, appreciate!