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

simplelink_cc13x2_26x2_sdk_3_30_00_03

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:

TOF.c

TOF.h

tof_security.c

tof_security.h

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]);

simplelink_cc13x2_26x2_sdk_3_20_00_68

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 ss_rtls.py. 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:

    @builder_class(AoaStartReq_cc2640r2)
    def aoa_start_cc2640r2(self, enable): pass

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

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

The original README.md 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:

/cfs-file/__key/communityserver-discussions-components-files/538/rtls_5F00_agent_5F00_cli.exe

Regards,

Christin  

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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