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

idle_state_handle and Bluetooth connection

Hi,

I'm trying to reduce the current consumption. I can't use sd_power_system_off because I don't want my device to rest when it wakes up. So the other way to do this is with idle_state_handle(). So in function sleep_mode_enter(), I change sd_power_system_off to idle_state_handle(). When my device is not connected to my phone by Bluetooth, it works: the current decrease, and when it wakes up, it's not reset. But when my phone is connected by Bluetooth to my device, the function is not called which means this case BLE_ADV_EVT_IDLE never happens, so the current doesn't decrease. 

Do you know how can I reduce the current when my phone is connected to my device by Bluetooth? I use nrf52832 and sdk15.3.

Thanks

Lydie

  • Hi Lydie,

    idle_state_handle() should be called from your main loop as we do in our SDK examples. This will put the CPU in idle (System ON mode) whenever the program is finished with a task and returns to back to your main loop. The sleep_mode_enter() function is intended for deep sleep (SYSTEM OFF) where you want to power the device down for a more extended period and have an external wake-up source like a button. 

    Also, in case you haven't seen it, our online power profiler is a handy tool to find out what average current you can expect to get with your current configuration (connection and advertising interval, supply voltage, etc). 

    https://devzone.nordicsemi.com/nordic/power/ 

    Best regards,

    Vidar

Related