nRF52810, sdk 17.0.2, softdevice s112
I am working on a modified ble_app_uart.c example on a custom board that has a motion sensor.
The task is to start advertising for 15 seconds when a movement occurs. The motion sensor sends an interrupt to the nRF when motion is detected.
I am trying to reduce the current consumption during advertising and hope to get any hints on what to check.
To see what draws power I have disabled ad converter, advertising, spi module so I think the nRF is not doing anything at all.
I am OK with the "sleep mode enter()" which call upon "sd_power_system_off();" which reduces the consumption to < 20uA and the nRF wakes up if an interrupt from the motion sensor is detected. But I would like the "idle_state_handle();"which calls "nrf_pwr_mgmt_run();" to lower the consumption to less than 0.7mA. Anyway it does something good because if "idle_state_handle(); is not executed the currrent consumption is 4.5mA
So, is there a way to lower the current consumption more calling the idle_state_handle() routine?
for (;;)
{
if ((!advertising_is_on) && (!BLE_is_connected))
{
sleep_mode_enter(); // Lowers current consumption to less than 20uA
}
else
{
idle_state_handle(); // This lowers the consumption from about 4.5mA to 0.7mA
}
}