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

Current consumption

Hi, 

I tried to monitor current consumption of my device. I used

 

sd_app_evt_wait();

and then used 

 // Wait for an event.
        __WFE();
        // Clear the internal event register.
        __SEV();
        __WFE();

I saw something like this

There are spikes on everywhere.

If I comment out sd_app_evt_wait(); or last __WFE(); it beacomes like that

I am using sdk 15.0.0, before this I was using sdk 14.2 and in 14.2 I was using sd_app_evt_wait function and there was no spikes. How can I fix it?

Thanks.

Parents
  • Hi

    Thanks for the updated pictures. These spikes are reminiscent of the CPU interrupting the SoftDevice and making it check something. I'm guessing this is the stateMachineRun() function processing data or something. Do the spikes still appear if you comment out stateMachineRun()?

    Best regards,

    Simon

  • When I comment out stateMachineRun() spikes still appear. In the my last comment last two pictures are from sdk 15.0 's original example. Same thing happen in there, if I comment out idle_state_handle() function in the original example those spikes are gone. Second and third pictures from sdk 15.0  ble_app_hrs_rscs_relay example. There are spikes in the original example too. I will try to run same example on sdk 14.2 and measure current consumption, then I will post here.

Reply
  • When I comment out stateMachineRun() spikes still appear. In the my last comment last two pictures are from sdk 15.0 's original example. Same thing happen in there, if I comment out idle_state_handle() function in the original example those spikes are gone. Second and third pictures from sdk 15.0  ble_app_hrs_rscs_relay example. There are spikes in the original example too. I will try to run same example on sdk 14.2 and measure current consumption, then I will post here.

Children
  • I did some measurements with sdk 14.2, and result are same. 

    Here is with sd_app_evt_wait() function

    and this one has no sd_app_evt_wait() function

    I did same thing for blinky examples in sdk 14.2 and 15.0, and there were no spikes with sd_app_evt_wait() function and without sd_app_evt_wait() function. So I assume those spikes don't appear because of me. Thank you for your replies.

Related