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.

[FAQ] LAUNCHXL-CC26X2R1: SIMPLELINK-CC13x2-26x2-SDK: RTLS Known Issues and Fixes

Guru 50555 points

Replies: 0

Views: 869

Part Number: LAUNCHXL-CC26X2R1


1. [RTLS Passive] AoA angle calculation is deviated in small angles (0-10 degrees)

2. [RTLS] Angle performance is not stable when antenna array 2 is used

3. [RTLS] Configuration of slot_duration=1 is not supported in AoA

4. [TOF] ToF Master/Slave may go out of sync when RSSI is below -60

[Workaround]: This workaround corrects the issue BLE_AGAMA-1411 (ToF Master/Slave may go out of sync when RSSI is below -60). 

In your RTLS project, replace the files TOF.c/.h and tof_security.c/.h by the following ones:





5. TOF is not stable for connection interval greater than 1 second

6. [AOA] When using only two antennas, the following code modifications are required:

  • in AOA.h
#define AOA_NUM_ANTENNAS                 2 //3         //!< Number of antennas in antenna array
  • in AOA.c:: AOA_init()
  uint8_t antArray[AOA_NUM_ANTENNAS + 1] = {ANT2, ANT1, ANT_ARRAY};

  AOA_initAntArray(antArray, AOA_NUM_ANTENNAS + 1);
  • in rtls_ctrl_aoa.c:: RTLSCtrl_estimateAngle()
const int16_t AoA_A1 = antA1Result->pairAngle[0] + antA1Result->channelOffset[antA1Result->ch];
const int16_t signalStrength_A1 = (antA1Result->signalStrength[0]);


1. rtls_agent_cli has an issue where the incorrect AoA start request can be invoked via the websocket (e.g. when using RTLS_Monitor GUI)

The fix is to remove any references to _cc2640r2 flavors of commands. from See the snippet below on which code should be removed

    class AoaStartReq_cc2640r2(NpiRequest, SyncReq, FromAp):
        command = Commands.RTLS_CMD_AOA_ENABLE
        struct = Struct(
            "enable" / Int8ul,

    class AoaSetParamsReq_cc2640r2(NpiRequest, SyncReq, FromAp):
        command = Commands.RTLS_CMD_AOA_SET_PARAMS
        struct = Struct(
            "aoaRole" / Enum(Int8ul, AoaRole),
            "aoaResultMode" / Enum(Int8ul, AoaResultMode),
            "cteScanOvs" / Int8ul,
            "cteOffset" / Int8ul,
            "cteTime" / Int16ul,


Also the following code should be removed from the bottom of the file:

    def aoa_start_cc2640r2(self, enable): pass

    def aoa_set_params_cc2640r2(self, aoaRole, aoaResultMode, cteScanOvs, cteOffset, cteTime): pass

2. All the readme.html are missing for rtls examples.

The original files which are used to generate the html files are still in the folder, users can take a look at those files to get started.

3. rtls_master does not support sampling I/Q on AoA pakckets.

For convenience, a new binary can be found here, use this in place of the one in the SDK:





If the question is answered, please press the  Verify Answer button below the answer to help other users find the correct answer easily.