Is there a way to activate this mode using your programming interface ?
There's nothing exposed directly, no, but I guess it may be possible to force it just by poking registers (normally you'd send the request through the softdevice).
The issue is that if you want to turn the system off you'd also have to configure ways to turn it back on, and that could potentially get quite complex. Once you're at the 5uA level even things like capacitor choice is going to have a big effect on power usage, so I figured it wasn't worth that effort.
I'm not against adding an NRF.off function but I think if it's just a call to sd_power_system_off you're going to have to be super careful with it to actually get the lowest power consumption.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
There's nothing exposed directly, no, but I guess it may be possible to force it just by poking registers (normally you'd send the request through the softdevice).
The issue is that if you want to turn the system off you'd also have to configure ways to turn it back on, and that could potentially get quite complex. Once you're at the 5uA level even things like capacitor choice is going to have a big effect on power usage, so I figured it wasn't worth that effort.
However, if you wanted to add something in a custom firmware you could look at what we do for Bangle.js where it is implemented (https://github.com/espruino/Espruino/blob/b01e9d814a748349a05bce9666b6e18d035dc850/libs/banglejs/jswrap_bangle.c#L4564) - it's literally just a call to
sd_power_system_off
but you've got to be careful to disable anything that might be using powerbeforehand.I'm not against adding an
NRF.off
function but I think if it's just a call tosd_power_system_off
you're going to have to be super careful with it to actually get the lowest power consumption.