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] CC13x2 CC26x2 : Known Issues and Fixes

Other Parts Discussed in Thread: SYSCONFIG

simplelink_cc13x2_26x2_sdk_4_40_00_44

1. There is bug fixed in this SDK where gapbondmgr will now queue the pairing for other connections if there is ongoing pairing.

For more information, please see:EXT_EP-10227

2. When using the Windows installer, there is a chance that the XDCtools component will not install properly. This will cause a build error for IAR examples. If ths has happened, install the XDCTools package directly from:  

simplelink_cc13x2_26x2_sdk_3_40_00_02

1. [CC26x2RB] When changing the clock configuration from default [RCOSC] to XTAL Clock, the RF settings and the Power settings must be changed too. All those changes can be done in the SysConfi GUI.
Here are some guidelines on how doing those changes:

  • In the SysConfig GUI, in the TI Drivers > Power menu, untick the Calibrate RCOSC_LF tickbox.

  • Still in the SysConfig GUI, in the TI Drivers > RF menu, tick the "XOSC Needed" tickbox.

  • Save and recompile. Then the XTAL clock will work.

 

simplelink_cc13x2_26x2_sdk_3_30_00_03

1. If you try opening SysConfig view in an old version of CCS you will get a build error. Please update to CCS 9.2.0.

2. For IAR users, SysConfig standalone tool is required as a separate installation. Download from here: 

3.  AE and legacy advertising set number is limited to 20

4. RTOS logging of certain high-priority events, such as SWIs and HWIs, may interfere with reception of a scan response chain

5. CC1352-P2 fails to enable legacy advertise command when channel 37 is not included in the channel map. The work-around is to include channel 37 in the advertising channel map.

6. Example failed to load when configured to non-default power level in the advertisement sets. Make sure not to change the power level in advertisement sets. HCI_EXT_SetTxPowerCmd() can be used to set Tx power at runtime.

7. AoA angle calculation is deviated in small angles (0-10 degrees)

8. Angle performance is not stable when antenna array 2 is used

9. [Multi-Sensor] Accelerometer Service Disappears After First Connection

10. Configuration of slot_duration=1 is not supported in AoA

11. ToF Master/Slave may go out of sync when RSSI is below -60

12. ToF is not stable for connection interval greater than 1 second

13. CC13x2-P2 persistent app failed to compile in debug configuration. Please use Release build configuration.

14. Simple Central: No connection timeout when connection is unsuccessful. To work around this, implement a clock that times out after a given time and resets the device.

15. When using multi-role, there exists an issue where a random address will display instead of the “Work With” selection in the serial terminal.

16. The NVS Driver is now used for bond storage. It is not possible to retain OSAL_SNV contents when upgrading from BLE5 1.1.x releases.

simplelink_cc13x2_26x2_sdk_3_20_00_68

1. AE and legacy advertising set number is limited to 20

2. RTOS logging of certain high-priority events, such as SWIs and HWIs, may interfere with reception of a scan response chain

3. Simple Central: No connection timeout when connection is unsuccessful.

To work around this, implement a clock that times out after a given time and resets the device.

4. When using multi-role, there exists an issue where a random address will display instead of the “Work With” selection in the serial terminal.

5. The NV Driver is now used for SNV record & bond storage. It is not possible to retain OSAL SNV contents when upgrading from earlier BLE5 1.1.x releases. Two flash pages of NV are required.

6. Simple Central can't save Bond data for more than 10 devices to NV.

7. When building the ble5 simple peripheral oad offchip app project without the SECURITY define, there are 4-6 a build errors. To resolve them, add the following #ifdef in oad_util.c:

#ifdef SECURITY
 uint8_t OADUtil_signCommandECDSA(securityHdr_t * secHdr,
                                    signPld_ECDSA_P256_t *signPld,
                                    uint8_t *payload, uint16_t len)
{
...
}
#endif

and in oad_util.h:

#ifdef SECURITY
extern uint8_t OADUtil_signCommandECDSA(securityHdr_t * secHdr,
                                        signPld_ECDSA_P256_t *signPld,
                                        uint8_t *payload, uint16_t len);

#ifdef __cplusplus
}
#endif
#endif

8. Scanning filter policy (SCAN_PARAM_FLT_POLICY) does not work

9. Incoming Slave Security Request not handled properly by the GapBondMgr and will trigger a new pairing process

10. [BTool] When reading "Multiple Characteristic Values" doesn't appear the value at the field as expected

11. [BTool] Secure Connections Bond returns False although the GAP_BondComplete event succeeds

12. [BTool] Create connection with invalid connection param received error but the parameters doesn't return to default

13. [BTool] Discovered devices list is never cleared.

14. [BTool] Peer device switching PHY: from 1M to 2M and then to coded received PHY update complete for 1M, 2M instead of Coded

15. [RTLS] TOF accuracy: For 20 m distance results show above ~30 m

16. [RTLS] TOF is not stable for connection interval greater than 1 second.

17. [RTLS] rtls_passive won't re-sync when using TOF_MODE_AUTO run mode in Dynamic Sync-word mode

18. When using the Watchdog, the TI ROV will display an Uninitialized Task Object. This is expected. Please see https://e2e.ti.com/support/processors/f/791/p/827739/3061540.

 

simplelink_cc13x2_26x2_sdk_3_10_00_53

1. Known issue where queued param updates in slave device makes device crash

In SimplePeripheral_processParamUpdate(), the param update data and clock should only be freed / destructed when the status of the update is bleAlreadyInRequestedMode. Therefore, this freeing / destructing should be surround by a check for this status:

// Send parameter update
bStatus_t status = GAP_UpdateLinkParamReq(&req);

// If there is an ongoing update, queue this for when the udpate completes
if (status == bleAlreadyInRequestedMode)
{
  spConnHandleEntry_t *connHandleEntry = ICall_malloc(sizeof(spConnHandleEntry_t));
  if (connHandleEntry)
  {
    connHandleEntry->connHandle = connHandle;

    List_put(&paramUpdateList, (List_Elem *)connHandleEntry);
  }
}
else
{
  // Deconstruct the clock object
  Clock_destruct(connList[connIndex].pUpdateClock);
  // Free clock struct
  ICall_free(connList[connIndex].pUpdateClock);
  connList[connIndex].pUpdateClock = NULL;
  // Free ParamUpdateEventData
  ICall_free(connList[connIndex].pParamUpdateEventData);
}

2. AE and legacy advertising set number is limited to 20

3. RTOS logging of certain high-priority events, such as SWIs and HWIs, may interfere with reception of a scan response chain

4. Simple Peripheral Application freezes when selecting “Work With” when connected to 3 or more central devices

5. Simple Central: No connection timeout when connection is unsuccessful.

To work around this, implement a clock that times out after a given time and resets the device.

6. When using multi-role, there exists an issue where a random address will display instead of the “Work With” selection in the serial terminal.

7. The NV Driver is now used for SNV record & bond storage. It is not possible to retain OSAL SNV contents when upgrading from earlier BLE5 1.1.x releases. Two flash pages of NV are required.

8. [SysConfig]Scan Duration displays wrong range

9. Simple Central can't save Bond data for more than 10 devices to NV.

10. When one device is walking out of range, one or more of the other connections may also be dropped.

11.[SysConfig]Scan Duration displays wrong range

12. [SysConfig]CC13x2 devices Two Buttom Menu does not work. Work-around presented below:

In CCS:

Open Project -> Properties -> Build -> ARM Compiler -> Predefined Symbols. Add in the Pre-define section one of the following, according to the device in use: CC13X2P1_LAUNCHXL/CC13X2R1_LAUNCHXL/CC13X2P_2_LAUNCHXL/ CC13X2P_4_LAUNCHXL. Press Apply and Close.

In IAR:

Open Project -> Options -> C/C++ Compiler -> Preprocessor. Add to Defined symbols section one of the following, according to the device in use: CC13X2P1_LAUNCHXL/CC13X2R1_LAUNCHXL/CC13X2P_2_LAUNCHXL/ CC13X2P_4_LAUNCHXL. Press OK.

13. [BTool] When reading "Multiple Characteristic Values" doesn't appear the value at the field as expected

14. [BTool] Secure Connections Bond returns False although the GAP_BondComplete event succeeds

15. [BTool] Create connection with invalid connection param received error but the parameters doesn't return to default

16. [BTool] The application always starts as Central configuration even if loads host_test_peripheral.hex

17. [BTool] Discovered devices list is never cleared.

18. [BTool] Peer device switching PHY: from 1M to 2M and then to coded received PHY update complete for 1M, 2M instead of Coded

19. When using GAP_ADV_ENABLE_OPTIONS_USE_DURATION option for advertising, there has been problems observed such as device terminated when the advertising duration ends. The current workaround is to use a software timer to stop advertising instead of using GAP_ADV_ENABLE_OPTIONS_USE_DURATION option.

20. When building the ble5 simple peripheral oad offchip app project without the SECURITY define, there are 4-6 a build errors. To resolve them, add the following #ifdef in oad_util.c:

#ifdef SECURITY
 uint8_t OADUtil_signCommandECDSA(securityHdr_t * secHdr,
                                    signPld_ECDSA_P256_t *signPld,
                                    uint8_t *payload, uint16_t len)
{
...
}
#endif

and in oad_util.h:

#ifdef SECURITY
extern uint8_t OADUtil_signCommandECDSA(securityHdr_t * secHdr,
                                        signPld_ECDSA_P256_t *signPld,
                                        uint8_t *payload, uint16_t len);

#ifdef __cplusplus
}
#endif
#endif

simplelink_cc13x2_26x2_sdk_2_40_00_81

1. Known issue where queued param updates in slave device cause application assert

2. When using GAP_ADV_ENABLE_OPTIONS_USE_DURATION option for advertising, there has been problems observed such as device terminated when the advertising duration ends. The current workaround is to use a software timer to stop advertising instead of using GAP_ADV_ENABLE_OPTIONS_USE_DURATION option.

3. Can not disable adv set 0 when connected on LE Coded PHY. When simple peripheral is connected on LE Coded PHY and has reached it's maximum number of connections, trying to disable the LE 1M PHY advertising set fails with the error code bleInternalError and the device continues advertising.

4.BLE hex files missing

There has been restructure of the software packaging, therefore the hex files are moved to the following folder C:\ti\simplelink_cc13x2_26x2_sdk_2_40_00_81\source\ti\ble5stack\hexfiles

This will be fixed in the newer SDK.

simplelink_cc26x2_sdk_2_30_00_34

1.Simple Peripheral: appears Bond save success on simple_peripheral side after enter wrong passkey on master during pairing/bonding.

This is fixed fin later releases. To fix add this if-clause around the gap bond callback in gapbondmgr.c:

        if((pPkt->hdr.status == SUCCESS) &&
           (pPkt->authState & SM_AUTH_STATE_BONDING))
        {
          // Report to app
          pGapBondCB->pairStateCB( pPkt->connectionHandle,
                                   GAPBOND_PAIRING_STATE_BOND_SAVED,
                                   saveStatus );
        }