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

ble_central_and_peripheral Power waste

I use sdk15.0.close log.

config:

#define APP_ADV_INTERVAL                2000

#define SCAN_INTERVAL                   2000

#define SCAN_WINDOW                     0x0050

code:

main()

{

  clock_init();

    power_management_init();
    ble_stack_init();
    timers_init();
    buttons_leds_init(&erase_bonds);
    peer_manager_init();
    gap_params_init();
    gatt_init();
   conn_params_init();
   db_discovery_init();
   hrs_c_init();
    services_init();
  advertising_init();
    // Start execution.
    application_timers_start();
  erase_bonds=true;
  nrf_sdh_freertos_init(adv_scan_start, &erase_bonds);
  // Start FreeRTOS scheduler.
  vTaskStartScheduler();

}

What else can I do? Can reduce its power consumption.

Parents Reply
  • That does not sound correct. 

    Can you please test the FreeRTOS part again by removing the line number 239 and 248 in nRF5_SDK_15.0.0_a53641a\nRF5_SDK_15.0.0_a53641a\external\freertos\portable\CMSIS\nrf52\port_cmsis_systick.c

    // Comment or remove "#if 0" line
    // #if 0  // With FreeRTOS sd_app_evt_wait increases power consumption with FreeRTOS compared to _WFE (NRFFOSDK-11174) 
    #ifdef SOFTDEVICE_PRESENT
                if (nrf_sdh_is_enabled())
                {
                    uint32_t err_code = sd_app_evt_wait();
                    APP_ERROR_CHECK(err_code);
                }
                else
    #endif
    // #endif // (NRFFOSDK-11174)  <- comment or remove this line

Children
Related