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

nrf52 DK board system ON sleep enter and wakeup

I am using NRF52 DK board and removed SB9 track to connect my ammeter for current measurement . I have taken ble_app_blinky ( peripheral example ) from SDK15.3.0 .

My application needs system ON mode since in system OFF ,  LFCLK switches off and I have my calendar example  running on RTC ( since RTC works on LFCLK) .

After running fresh code (ble_app_blinky) from the sdk , I am not able to see system ON mode ( 1.4uA current )  .

From the other documents and tickets I figured out following things ,

-> System ON mode is executed when no other tasks( functions including debug and nrf_log prints ) are running . 

-> if Softdevice is used , sd_app_evt_wait(); is used . and if not ,    __WFE(); is used .

 ->  GPIOTE interrupts  are used to wake it up ( WFE() ).

But , the device does not enter into SYSTEM_ON, even when I stopped advertising  , in ble_app_blinky example . ( ON my ammeter , I can see 2-3mA )

HOW DO USE THIS MODE TO PUT THE DEVICE INTO SLEEP and WAKEUP ???.

Parents
  • One more observation 

    If disable softdevice as below ,

    sd_ble_gap_disconnect(m_adv_handle,BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION);
    sd_ble_gap_adv_stop(m_adv_handle);
    ret_code_t err_code;
    err_code = nrf_sdh_disable_request();
    APP_ERROR_CHECK(err_code);

    then device enters into system on mode , but how do we reconfigure and enable softdevice and start advertising again ??

Reply
  • One more observation 

    If disable softdevice as below ,

    sd_ble_gap_disconnect(m_adv_handle,BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION);
    sd_ble_gap_adv_stop(m_adv_handle);
    ret_code_t err_code;
    err_code = nrf_sdh_disable_request();
    APP_ERROR_CHECK(err_code);

    then device enters into system on mode , but how do we reconfigure and enable softdevice and start advertising again ??

Children
No Data
Related