This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BOOSTXL-AOA: Connection Interval value and ToF Calibration

Part Number: BOOSTXL-AOA

Hi,

I am running the AoA and ToF methods together using the 3.20.00.68 SDK. I have a few questions about initial configuration:

  1. I know the connection interval value should be multiplied by 1.25. For example 80 equals to 100 ms. Once I print the milliseconds packet timestamp in python, I notice the real time interval is multiplied by 2. For example, a connection interval of 80 equals to about 200 ms, or a connection interval of 400 equals to about 1000 ms. Am I wrong?
  2. Every time I power on the system, the ToF method starts a calibration phase at 1 meter of distance. Do you think it is possible to calibrate it just the first time, in a specified environment, and store the calibration value in the microcontroller memory skipping calibration phase?

Thank you for your kind reply.

Regards

Luca

  • Hi Luca,

    Assigning a team member to follow-up.

  • Thank you. 

    I would add some details.

    I set connection interval at 240. I noticed ToF method is executed every 300 ms, while AoA every 600 ms. Looking at python log messages, I can see the attached message, where connection interval is set to 480.

    Let me know your opinion.

    Thank you

    Luca

  • Hi Luca,

    2.) Yes, this is supported in the next version of the SDK. Have a look at the updated documentation for RTLS when it is released.

    1.) So, initially, you are supposed to see new values at every connection event, and so the time-stamp should match your connection interval. Just note that the time-stamps you see come from Python, and they will depend on how the different threads are scheduled.

    As a first step to debug this, I would recommend that you have a look at the 'RTLSCtrl_postProcessAoa(...)' function in 'rtls_ctrl_aoa.c'. There are a few 'AOA_*' function calls (e.g. AOA_postProcess(...)) that return status values (but these values are not necessarily used). You can see if you get trapped at any of these calls if there is anything but success. The issue you see might be related to some of the data values are dropped, which looks like an increase in the connection interval.

    Best regards,

    Vetle

  • Hi Vetle,

    I can't wait for new SDK! Do you have any expected release date?

    Concerning connection interval, what I find abnormal is the payload value which is double of connection interval set in configuration file. So I think somewhere it is multiplied by 2 but I cannot find where. Do you agree with this consideration?

    Thank you

    Luca

  • Hi Luca,

    On the release date I can't be any more specific than that it will probably be released within the next couple of weeks.

    If you go to the SDK download page (http://www.ti.com/tool/SIMPLELINK-CC13X2-26X2-SDK), you can select the "Alert Me" button to get notified when the new SDK release is available.

    I understand your issue, and no, there's no section of which your connection interval should be multiplied by 2. This is why I recommend that you have a look at the post processing of the data, and whether any of these functions return a status other than 'success'. If every other data event is dropped, it might be masked as if the connection interval is doubled.

    Best regards,

    Vetle

  • Hi Vetle,

    I have just tried to get Pair Angles data in python, which means always receiving data from antenna 1 and antenna 2. In this case, I can see packet are sent every connection interval. 

    It means every connection interval antenna 1 and antenna 2 are sent alternatively. But if I should wait for both data to estimate final angle, as it happens in RTLSCtrl_estimateAngle function, the connection interval is twice. Is there any way to sample both antennas within the connection interval?

    Thank you

    Luca

  • Hi Luca,

    Just to clarify, are you talking about antenna 1 and 2 or antenna array 1 and 2? With regards to the booster pack having two arrays made up of three antennas each. I just want to make sure I understand your use case correct.

    Best regards,

    Vetle 

  • Hi,

    no problem. I am talking about the booster pack with two arrays. So I am talking about antenna 1 AND antenna 2. The switch between the two arrays makes the connection interval double on single array.

    Luca

  • Hi Luca,

    You are correct, the out-of-the-box example will stay on one antenna array when receiving one AoA packet and then change to another antenna array for the next AoA packet. The radio can only handle one set of antennas (i.e. one array) at a time, which means that there is no physical way you can process packets on both arrays at the same time.

    If you want to receive I/Q data at every connection event (for each connection interval), you have the following options:

    1. Use both arrays, but in AOA_MODE_RAW. This will give you the raw I/Q samples, and you have to post process these yourself to get the angle.
    2. Use only one of the arrays, a configuration that is described in "Task 2" of the AoA SimpleLink Academ 

    Best regards,

    Vetle