How is the period for channel sounding results determined?

Hi,

I have run the example in ncs 3.1.0 for CS_RAS_Initiator and compared to the older version ncs 3.0.1, there is a new flag called realtime_rd. Thanks to this, I can get new distance measurement data every 250 ms, which is great.

I took this example and put it into my other project, where I have more tasks. CS measurement works there too, but now instead of every 250 ms, I get results only once every 750 ms.
I am interested why my period is 3x slower, even though the CS procedure settings are exactly the same (procedure_params + config_params). I do have a few extra tasks, but they do almost nothing, so I do not think they are slowing down the MCU so much that it cannot keep up.

Do you have any tips what to focus on please? Maybe some conflict with my prj.conf ?

Thank you very much.

Parents Reply Children
  • Sorry about the wait Jan

    Unfortunately I have to get back to you on this next week.

    Regards,

    Elfving

  • Hi again,

    witc said:
    I am using VSCode - creating app from sample - see the picture. I am using ncs 3.1.0. Or do you suggest using a different example? Did you mean github nrfconnect/sdk-nrf?

    No those are the right ones, which you can tell by them having nrf in the path names. Those are made directly from nordic, with nRFs in mind. There are other ones under 'zephyr' that might also be made by nordic, and work for nordic devices, but might not be completely supported or tested. 

    So as this seemingly works in the default samples it might be an idea to slowly introduce your own code to see where something ends up delaying the measurements. Though I am surprised that anything would make a difference here besides longer BLE related tasks.

    Regards,

    Elfving

  • Hi, 

    The mystery of slower response when getting new CS data in my code compared to the original is solved.
    I had different connection parameters for the BLE link – that was the whole reason.

    I used:

    .conn_param = BT_LE_CONN_PARAM(80, 120, 1, 100), // 50-75 ms interval, slave latency 1, timeout 1 s

    The original uses:

    .conn_param = BT_LE_CONN_PARAM_DEFAULT

Related