CC2745R7-Q1: Channel Sounding timeout issue

Part Number: CC2745R7-Q1

Hi Forum,

I am opening this new thread to continue this discusstion  , the error is coming arbitarily once the channel sounding procedure is enabled. The error is as shown below.

image.png

 

The reasoning behind “GATT writeCB → invoke timer → timer triggers → CS Start” is that the application requirement is to trigger the CS procedure whenever the characteristic value is updated.

I initially tried calling invokeFromContext directly from the GATT write callback, but it did not work as expected. Therefore, I switched to the following approach:

GATT writeCB → start timer → timer timeout handler → invokeFromContext → CS Start

So far, I have only tested this with SDK version 9.14.01.16, because the example I received is a modified version of the car_node example provided by TI. The main modification is that the example is completely self-driven and does not require any host command to initiate the CS procedure.

Regards
Vaibhav

  • Hi Vaibhav,

    I saw that Isaac already told you this, but the 9.14.01.16 SDK is an older version, so it contains some CS issues that are fixed in the newer versions of the SDK. My main recommendation would therefore be to try migrating to SDK 9.21 and see if the issue persists.

    Could you tell me who provided the 9.14 modified car_node example? And do you have a TI FAE contact?

    Kind regards,

    Jonas Brandt

  • Hi Jonas,

    When the car_node example was shared with us for SDK 9.14, the timeout issue was already known.

    If you believe this issue has been fixed in the latest SDK, I would request you to share the updated car_node example through the FAE.

    We need the car_node example to be completely self-driven, without requiring any interaction or commands from the host.

    Regards,
    Vaibhav

  • Hi Vaibhav,

    I have contacted the FAE and hope to deliver the example to you as soon as possible.

    Kind regards,

    Jonas Brandt

  • I have now given the SDK containing the new embedded car_node example to the FAE, please let me know if your issues persist.

    Regards,
    Jonas

  • Thanks Jonas. is this shared version has any modifications compared to what is available on TI's website?

    Regards
    Vaibhav 

  • Hi Vaibhav,

    Maybe I should have been more clear, the embedded car_node example is in reference to the fact that it is a version of the car_node example which runs independently and does not require an external host controlling it. I.e., it should be the same as the one you already had, but for a newer SDK.

    So yes, the car_node example in the SDK I gave you is a modified version compared to what is available on TI's website.

    Have you tried running it? Let me know if you are having any issues.

    Jonas

  • Hi Jonas,

    Thanks for clarification. Meanwhile the SDK was being shared to me. i tried modifying the car_node example from SDK 9.20.01.21 (from TI's website) and it worked.

    The only issue observed was the procedure gets stop after 30-40 mins. i did not observe any error or disconnection. Also, the accuracy is much low though CS procedure parameters are same compared to example i received from TI based on SDK 9.14.01.16. May i know what i am missing?

    Target: CC2745P10 - Initiator, CC2340R53 - Reflector
    SDK :9.20.01.21 (from Ti's website).

    PS: could you please to point me to which target you modified the example in shared SDK?

    Regards
    vaibhav

  • Hi Vaibhav,

    I am unsure of what is causing the stop after 30-40 minutes, do you also observe this error on the example I gave you? 

    The reason for why you might be seeing lower accuracy is that the SDK I gave you is using a different ranging lib (distance calculation algorithm). This is being actively developed, and I can see if I can give you a newer ranging lib which will give better results.

    I placed the modified car_node example here: simplelink_lowpower_f3_sdk_9_20_01_21\examples\rtos\LP_EM_CC2745R10_Q1\ble\car_node

    As the tread marked as using CC2745R7-Q1 I placed the example in the automotive grade folder. I see that your target is the CC2745P10, could you confirm whether or not this is correct?

    Regards,

    Jonas

  • Hi Jonas,

    I flashed the modified example shared by you. i am getting below error.

    Regards
    Vaibhav

  • Hi Vaibhav,

    Did you configure number of antennas in syscfg? The app_car_node.c sets aci = 7, meaning it expects both devices to have 2 antennas, while in syscfg the default number of antennas is 1. Either set number of antennas to 2 as shown below for both car and key node: 

    Or you can change the aci parameter and preferredPeerAntenna in csSetProcedureParams to the corresponding aci code and antenna bitmask.

    In the case both devices have 1 antenna, you would set aci = 0, and preferredPeerAntenna = 0b0001, as shown below.

    If you have 2 antennas on the reflector side you set preferredPeerAntenna = 0b0011, for 3 set it to 0b0111, etc.

    The different aci codes and when to use them are shown below:

    Hope this helps, let me know if you want me clarify anything or have any other questions/problems.

    Kind regards,

    Jonas Brandt

  • Thanks Jonas,

    Its working now.

    Regards

    Vaibhav

  • Perfect, marking the thread as resolved

    Kind regards,

    Jonas

  • Hi Jonas,

    i see the accuracy is bit low. i kept modules at 40CM apart but i am getting distances at 100-160 varying. The older SDK's example used to fairly accurate distance. Any parameters tunning you'd recommend here?

    Regards
    Vaibhav 

  • Hi Vaibhav,

    This is surprising, the newer SDKs *should* be more accurate, but there are a lot of factors at play.

    I know that TI EVMs can have an offset, so I would suggest doing tests at maybe 1 to 4 meters and see if you are seeing a fixed error or if it varies a lot. If it is a fixed error, I would suggest simply removing it by hand in your application.

    From application side (i.e. in the car_node program), the main parameter affecting accuracy is the number of antennas, and I would recommend using 2x2 antennas (2 for initiator, 2 for reflector).
    The second thing affecting accuracy would be the ranginglib, which is the algorithm used for calculating the distance. This is not something you can alter yourself, but if you do more testing and continue to see subpar results, I can see if I am able to give you a newer version of the ranginglib.

    Kind regards,
    Jonas Brandt

  • Hi Jonas,

    Could you arrange 2x2 antenna evolution board? Also, does TI have any reference antenna design note here?

    Regards

    Vaibhav

  • Hello Vaibhav,

    It depends on which evaluation board you are using. The normal CC27xx TI Launchpad has only 1 antenna, but TI offers an evaluation board specifically meant for CS which has 2 antennas.

    You can find a link to it here: CC2745R10-CS-EVM Evaluation board | TI.com

    The CS-EVM page also includes design files, and the board uses an antenna very similar to the one described in this app note AN043 -- Small Size 2.4 GHz PCB Antenna (Rev. D.

    Hope this is useful, let me know if there is anything else you need.

    Kind regards,

    Jonas Brandt