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.

LAUNCHXL-CC2640R2: AoA build issue in latest CC2640R2 SDK 2.40.00.32

Part Number: LAUNCHXL-CC2640R2
Other Parts Discussed in Thread: SIMPLELINK-CC2640R2-SDK

According to , it mentions

  • For RTLS Master and RTLS Slave projects, the configuration -DRTLS_LOCATIONING_AOA in build_config.opt file that is located in the project directory, controls the build.
  • To build AoA, keep the option uncommented: -DRTLS_LOCATIONING_AOA

However, if we only uncommented "-DRTLS_LOCATIONING_AOA" in build_config.opt file, it will shows the following error and I need to put RTLS_LOCATIONING_AOA in predefined symbols to make it work. Can you confirm this is correct?

Also, I see the AOA results are erratic after I setup and run AOA. I only put rtls_slave 1 meter away from rtls_passive without moving and see the following results.

I also attach the event log for your reference.

eventlog.zip

What am I doing wrong?

By the way, do you have detail documents to explain what's the working theory between rtls_master, rtls_passive, and rtls_slave?

  • Hi Yikai,

    I have posted fix here under RTLS - Known Issues and Fixes

    Please give it a try.

    We are wroking on making a SimpleLink Academy Module to cover the detail.

    The rtls_master and rtls_slave will form a BLE connection. After establishing the connection, rtls_master will send connection information through UART to PC and then then node manager will pass this piece of information to rtls_passive which can then track the connection.

    Next, the node manager sets up AoA parameters for master and passive and then master will send a packet over the air to slave to setup the CTE time.

    After that, the rtls_master will send a start AoA request over the air to the rtls_slave and to rtls_passive over wire, then rtls_slave will append CTE at the end of every connection packet.

    rtls_passive can the do I/Q sampling and calculate angles base on the ConnectionCTE packets.

  • Christin Lee (3515378) I do the following steps in [FAQ] SIMPLELINK-CC2640R2-SDK: RTLS Known Issues and Fixes but I still see the same problem.

    simplelink_cc2640r2_sdk_2_40_00_32

    1. The out of box project for rtls_master and rtls_slave have build error due to the stack_library.projectspec is pointing to a wrong version of XDCTools.

    To fix this, please fix the following files: 

    InstallationFolder\ti\simplelink_cc2640r2_sdk_2_40_00_32\examples\rtos\CC2640R2_LAUNCHXL\blestack\rtls_master\tirtos\ccs\

    rtls_master_cc2640r2lp_stack_library.projectspec

    InstallationFolder\ti\simplelink_cc2640r2_sdk_2_40_00_32\examples\rtos\CC2640R2_LAUNCHXL\blestack\rtls_slave\tirtos\ccs\

    rtls_slave_cc2640r2lp_stack_library.projectspec

    Change:

    <property name="products" value="com.ti.rtsc.XDCtools:3.50.08.24_core"/>

    To:

    <property name="products" value="com.ti.rtsc.XDCtools:3.51.01.18_core"/>

    Do I miss anything?

  • You meant you still have build issue or large fluctuation of the angle?

    What's your test environment? If the test environment is clustered with metals then you will likely to see the not stable result due to multi-path reflection.

    Also in our angle calculation example, the angle is determined after both antenna array 1 and array 2 both get 1 AoA packet.
    Then we compare the rssi values of both received packet to determine which result we should use.
    That means when you placed the slave at 0 degree, the uncertainty is at its highest.

    In our AoA BoosterPack page, we have the angle calculated vs real angle result collected in a perfect environment(antenna chamber).
    dev.ti.com/.../

    What we provide is an example, if you have placed the test object in a metal surrounded environment, then the angle calculation algorithm will need to be revised.

    What you can try is to place the slave at none 0 degree towards passive and test again.
  • I mean I still have large fluctuation of the angle. The test environment is on my office desk and I just place rtls_slave in fron of passive board (I assume this is angle 0) about 1 meter away and rtls_master behind passive board about 0.5 meter away. All thress boards are on the same height and I still see large fluctuation of the angle.
  • Hi,

    As mentioned our example code give the worst result when the angle is 0 degree. You can try to place at around 20 ~30degree and it should not fluctuate that much.

    We are working on application level algorithm but currently still don't have update yet.
  • I tried to place at around 20 ~30degree but it still fluctuates much. I also tried the same test on another meeting room of our building and find it much better if I put rtls_slave static on a desk. However, if I hold rtls_slave in my hand and keep still, detected angle still fluctuates much. I would wait for your good news on new application level algorithm to see if it works better.
  • Hi,

    YiKai we are still working on it but I am not able to give you a date on when there are new algorithms to be tried out.
    You can come back and ask again in a month or so. If that's ok for you, i would like to close this thread for now.
  • Get it and let close this thread for now.