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

Why waking up every conn_interval even with slave latency?

I have a min connection interval of 200ms and max of 250ms. I have set slave latency to 10. These parameters are set both on peripheral and on central. Still, after connecting peripheral nRF to oscilloscope I can see that it wakes up every connection interval (~250ms). I expected it to wake up every 2500ms. Is this expected (why?) or do I have some other thing going on in the code?

image description

Parents
  • I have played a bit more and found out that slave latency param has no effect. I am setting the connection parameters on both devices (both nRF51) with ble_gap_conn_params_t; on central with sd_ble_gap_connect() and on peripheral with sd_ble_gap_ppcp_set(). For clock I am using NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION and I can see it triggering properly.

    But these spikes (wakeups) are the same as connection interval, always. Is it possible that central device discards the latency setting and sets it to 0 internally in softdevice? Do you have any other idea? Thanks!

Reply
  • I have played a bit more and found out that slave latency param has no effect. I am setting the connection parameters on both devices (both nRF51) with ble_gap_conn_params_t; on central with sd_ble_gap_connect() and on peripheral with sd_ble_gap_ppcp_set(). For clock I am using NRF_CLOCK_LFCLKSRC_RC_250_PPM_4000MS_CALIBRATION and I can see it triggering properly.

    But these spikes (wakeups) are the same as connection interval, always. Is it possible that central device discards the latency setting and sets it to 0 internally in softdevice? Do you have any other idea? Thanks!

Children
No Data
Related