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

power consumption

Hi,

I'm developping a new application where the device normally is in low power (waiting button with an interrupt)

   while(!gIsButtonSwitched)
   {
        __WFE();
   }

the consumption here is 2uA (after the first reset of the board).

after pressing a button the device go in advertising:

        ble_stack_init();
        gap_params_init();
        gatt_init();
        services_init();
        advertising_init();
        conn_params_init();

        advertising_start();

Here the consuption is correct.

when I press again the button I need to swicht off the advertising and I use the istruction:

    sd_ble_gap_adv_stop(m_advertising.adv_handle);

and come back to wait the first button to repeat the sequence, but here the power comsuction is now about 800 uA.

Do I have to disable anything else in order to return to 2 uA?

Marco

Parents
  • Hi Marco

    The nrf_sdh_disable_request(); function will request to disable the SoftDevice altogether, and should not be necessary unless you want to do any specific operations that require the SoftDevice being disabled. 

    Are you trying to go into system OFF or system ON mode when you put the device to sleep? Most of our BLE examples (the Heart Rate application for instance) includes both the idle_state_handle()  function for system ON sleep, and the sleep_mode_enter() function for system OFF sleep. If your plan is to wake the device up with the press of a button, I would suggest calling sleep_mode_enter() as that takes care of setting wake-up buttons etc.

    In the end, you decide how you want to do sleep, and if you're content with your setup, there should be no problems with disabling the SoftDevice before going to sleep, just keep in mind that you won't be able to do any SoftDevice functions until you have initialized and enabled it again.

    Best regards,

    Simon

Reply
  • Hi Marco

    The nrf_sdh_disable_request(); function will request to disable the SoftDevice altogether, and should not be necessary unless you want to do any specific operations that require the SoftDevice being disabled. 

    Are you trying to go into system OFF or system ON mode when you put the device to sleep? Most of our BLE examples (the Heart Rate application for instance) includes both the idle_state_handle()  function for system ON sleep, and the sleep_mode_enter() function for system OFF sleep. If your plan is to wake the device up with the press of a button, I would suggest calling sleep_mode_enter() as that takes care of setting wake-up buttons etc.

    In the end, you decide how you want to do sleep, and if you're content with your setup, there should be no problems with disabling the SoftDevice before going to sleep, just keep in mind that you won't be able to do any SoftDevice functions until you have initialized and enabled it again.

    Best regards,

    Simon

Children
No Data
Related