=============================================================================== TI-RTOS CC26XX DRIVERS RELEASE NOTE =============================================================================== Release date: 2016.02.24 Dependencies: - Tested with: xdctools_3_32_00_06_core bios_6_45_01_29 cc13xxware_2_03_01_16780 cc26xxware_2_23_01_16780 ------------------------------------------------------------------------------- 1. Overview ------------------------------------------------------------------------------- New Features and Enhancements None Breaking Changes None Issues fixed [RF] 300: RF_postCmd() should check for ABS_TRIG before powering up [RF] 423: Workaround for flash access lockup during XOSC_HF switch Known issues [LCD] 235: LCDDogm128 writes outside buffer [RF] 434: RCOSC_HF calibration time variation Misc Driver sizes compiled with IAR_7.50.1 -Ohz Module ro code ro data rw data rw data (abs) ------ ------- ------- ------- ------- Board.o* 456 1 744 Codec1.o 436 4 CryptoCC26XX.o 1 084 29 HwiP_tirtos.o 8 I2C.o 68 2 4 I2CCC26XX.o 1 168 20 LCDDogm1286.o 4 616 16 LCDDogm1286_util.o 214 List.o 86 PDMCC26XX.o 1 580 1 960 PDMCC26XX_util.o 1 536 64 PINCC26XX.o 1 610 272 PowerCC26XX.o 2 276 84 268 PowerCC26XX_calibrateRCOSC.o 1 144 PowerCC26XX_tirtos.o 196 RF.o 4 914 629 SPI.o 96 2 4 SPICC26XXDMA.o 1 968 28 64 UART.o 92 1 4 UARTCC26XX.o 2 248 40 2 UDMACC26XX.o 172 pdm2pcm_iar.o 2 320 256 * Includes config for Crypto, I2C, LCD, PDM, PIN, Power, RF, SPIDMA0/1, UART, UDMA ------------------------------------------------------------------------------- 2. Bug Item Details ------------------------------------------------------------------------------- Item 300 Summary : RF_postCmd() should check for ABS_TRIG before powering up Severity : Major Affected Comp : RF Release Notes : If a radio command with ABS_TRIG is posted while the radio is off, the radio will be powered on and then put to sleep again when the trigger is checked. This should be checked before wake up to minimize power consumption. Workaround : N/A Item 423 Summary : Workaround for flash access lockup during XOSC_HF switch Severity : Critical Affected Comp : RF Release Notes : When switching XOSC_HF flash access is disabled, and if during this time a Radio Setup command is issued the CM0 will try to access the trim values in flash and causes system lockup. The software fix is to copy the RF trim values to RAM prior to issuing a Radio Setup command. Workaround : N/A ------------------------------------------------------------------------------- 3. Known Issue Details ------------------------------------------------------------------------------- Item 235 Summary : LCDDogm128 writes outside buffer Severity : Major Affected Comp : LCD Release Notes : When using LCD_bufferPrintString --> LCD_doBufferPrintString, there is no checking for whether the string will exceed the buffer size Workaround : N/A Item 434 Summary : RCOSC_HF calibration time variation Severity : Critical Affected Comp : RF Release Notes : When RCOSC_HF calibration is enabled and total radio active time is small, HF calibration may take longer. Workaround : Setting nInactivityTimeout to longer (200us or more) =============================================================================== Release date: 2016.01.28 Dependencies: - Tested with: xdctools_3_32_00_06_core bios_6_45_01_23 cc13xxware_2_03_01_16606 cc26xxware_2_23_01_16606 ------------------------------------------------------------------------------- 1. Overview ------------------------------------------------------------------------------- New Features and Enhancements [PDM] 347: PDMCC26XX_pcmBuffer structure exposed to application in header file [PDM] 306: Created doxygen with example for PDM driver [PWR] 357: Added board files for the CC2650 remote control [PWR] 244: Added support for calibration of high precision internal oscillator [RF] 265: Powerup/down sequence optimization [RF] 310: Use new driverlib function RFCDoorbellSendTo [RF] 305: Enable RF_HW interrupts other than RAT channel [RF] 387: Add method to get radio state Breaking Changes None Issues fixed [PDM] 367, 368, 363: Any part of PDMCC26XX_open failing causes the function to continue isntead of returning NULL [PDM] 379: PDM driver throwAwayCount underflows with full heap [PDM] 346: There is a memory leak when opening and then closing the PDM driver [PDM] 339: There is distortion in the signal after calling PDMCC26XX_startStream [PDM] 340: PDMCC26XX_Params.startupDelayWithClockInSamples only applied the first time PDMCC26XX_startStream is called [PDM] 358: PDM driver tries to free a NULL pointer in PDMCC26XX_close if the heap was filled previously and a memory allocation failed [PDM] 363: Trying to call PDMCC26XX_open with a full heap causes the driver to run with an inconsistent internal state [PDM] 366: PDMCC26XX_close can cause an inconsistent internal state due to asynchonous deallocation of memory in PDMCC26XX_close [I2C] 350: I2C driver should release SB_DISALLOW constraint if bus is busy in blocking mode [RF] 354: RF_INTERNAL_IFG_MASK should be 0xFFFFFFFF6000100E [RF] 360: RF Driver does not handle simultaneous interrupts from RAT channels 6 and 7 [RF] 365: RF driver can get stuck for chained commands with loops [RF] 372: RF_close(): nSeqPost check is incorrect [RF] 380: Unable to handle ISR's correctly and deterministically [RF] 410: Reset bYielded variable in restart case Known issues [LDC] 235: LCDDogm128 writes outside buffer Misc Driver sizes compiled with IAR_7.50.1 -Ohz Module ro code ro data rw data rw data (abs) ------ ------- ------- ------- ------- Board.o* 456 1 744 Codec1.o 436 4 CryptoCC26XX.o 1 084 29 HwiP_tirtos.o 8 I2C.o 68 2 4 I2CCC26XX.o 1 168 20 LCDDogm1286.o 4 616 16 LCDDogm1286_util.o 214 List.o 86 PDMCC26XX.o 1 580 1 960 PDMCC26XX_util.o 1 536 64 PINCC26XX.o 1 610 272 PowerCC26XX.o 2 276 84 268 PowerCC26XX_calibrateRCOSC.o 1 144 PowerCC26XX_tirtos.o 196 RF.o 4 732 625 SPI.o 96 2 4 SPICC26XXDMA.o 1 968 28 64 UART.o 92 1 4 UARTCC26XX.o 2 248 40 2 UDMACC26XX.o 172 pdm2pcm_iar.o 2 320 256 * Includes config for Crypto, I2C, LCD, PDM, PIN, Power, RF, SPIDMA0/1, UART, UDMA ------------------------------------------------------------------------------- 2. Bug Item Details ------------------------------------------------------------------------------- Item 367, 368, 363 Summary : Any part of PDMCC26XX_open failing causes the function to continue instead of returning NULL Severity : Major Affected Comp : PDM Release Notes : PDMCC26XX_open runs several operations that could fail and should cause a rollback of the initialisation and the function to return NULL. It just "silently" fails and the driver proceeds to operate in an undefined state. Workaround : N/A Item 379 Summary : PDM driver throwAwayCount underflows with full heap Severity : Major Affected Comp : PDM Release Notes : If the PDMCC26XX_Params.retBufSizeInBytes < 64 and the heap is full, throwAwayCount underflows and is set to a huge number. This results in the driver seemingly stalling, while in fact it is working off the huge throwAwayCount. Workaround : N/A Item 346 Summary : There is a memory leak when opening and then closing the PDM driver Severity : Major Affected Comp : PDM Release Notes : activePcmBuffer is not freed upon calling PDMCC26XX_close but is allocated in PDMCC26XX_open. This leads to a memory leak when repeatedly calling them in order. Workaround : N/A Item 339 Summary : There is distortion in the signal after calling PDMCC26XX_startStream Severity : Major Affected Comp : PDM Release Notes : The first few samples of the signal after calling PCMCC26XX_startStream have a significant amount of distortion in them. Workaround : N/A Item 340 Summary : PDMCC26XX_Params.startupDelayWithClockInSamples only applied the first time PDMCC26XX_startStream is called Severity : Major Affected Comp : PDM Release Notes : PDMCC26XX_Params.startupDelayWithClockInSamples only applied the first time PDMCC26XX_startStream is called. It is now applied each time PDMCC26XX_startStream is called. Workaround : N/A Item 358 Summary : PDM driver tries to free a NULL pointer in PDMCC26XX_close if the heap was filled previously and a memory allocation failed Severity : Major Affected Comp : PDM Release Notes : If the heap is full while the PDM driver is streaming, a temporary buffer can fail to be allocated and the returned pointer is consequently NULL. PDMCC26XX_close tries to free this buffer. Freeing a NULL pointer is not a great idea. Workaround : N/A Item 363 Summary : Trying to call PDMCC26XX_open with a full heap causes the driver to run with an inconsistent internal state Severity : Major Affected Comp : PDM Release Notes : PDMCC26XX_open doesn't fail and return NULL if the memory allocations in it fail. This causes the PDM task to be run with an uninitialised buffer that will eventually be written to, causing a bus fault. Workaround : N/A Item 366 Summary : PDMCC26XX_close can cause an inconsistent internal state due to asynchonous deallocation of memory in PDMCC26XX_close Severity : Major Affected Comp : PDMCC26XX_close can be called asynchronously by the application task w.r.t. the PDM task. PDMCC26XX_close deallocates a buffer used in the PDM task. Doing this asynchronously can lead to an undefined state in the PDM task. PDMCC26XX_close now only posts an event that causes the PDM task to shut down gracefully and synchronously. Release Notes : PDMCC26XX_close Workaround : N/A Item 350 Summary : I2C driver should release SB_DISALLOW constraint if bus is busy in blocking mode Severity : Major Affected Comp : I2C Release Notes : Added SB_DISALLOW constraint release when I2C write failed in blocking mode Workaround : N/A Item 354 Summary : RF_INTERNAL_IFG_MASK should be 0xFFFFFFFF6000100E Severity : Minor Affected Comp : RF Release Notes : Changed RF_INTERNAL_IFG_MASK to 0xFFFFFFFF6000100E Workaround : N/A Item 360 Summary : RF Driver does not handle simultaneous interrupts from RAT channels 6 and 7 Severity : Major Affected Comp : RF Release Notes : Added processing of simultaneous RAT interrupts Workaround : N/A Item 365 Summary : RF driver can get stuck for chained commands with loops Severity : Major Affected Comp : RF Release Notes : Added count limit to avoid code get stuck in chained commands with loops Workaround : N/A Item 372 Summary : RF_close(): nSeqPost check is incorrect Severity : Major Affected Comp : RF Release Notes : Corrected nSeqPost check in RF_close() Workaround : N/A Item 380 Summary : Unable to handle ISR's correctly and deterministically Severity : Critical Affected Comp : RF Release Notes : Added interrupt flag preservation and critical section protection Workaround : N/A Item 410 Summary : Reset bYielded variable in restart case Severity : Major Affected Comp : RF Release Notes : Reset bYielded variable when RF command is posted Workaround : N/A ------------------------------------------------------------------------------- 3. Known Issue Details ------------------------------------------------------------------------------- Item 235 Summary : LCDDogm128 writes outside buffer Severity : Major Affected Comp : LCD Release Notes : When using LCD_bufferPrintString --> LCD_doBufferPrintString, there is no checking for whether the string will exceed the buffer size Workaround : N/A ============================================================================================= Release date: 2015.12.04 Dependencies: - Tested with: xdctools_3_32_00_04_core bios_6_45_00_17 cc13xxware_2_03_00_16456 cc26xxware_2_23_00_16374 ------------------------------------------------------------------------------- 1. Overview ------------------------------------------------------------------------------- New Features and Enhancements [PDM] 257: Beta version of PDM driver. All features have not yet been fully verified [STK] 318: New PDM driver structures added to CC2650 sensor tag board file [I2C] 36: I2C driver will check for bus busy before transfer [UART] 146: Added API support for UART RX FIFO flush [RF] 211: New API to get RF info [RF] 170: New APIs to support direct and immediate commands [RF] 187: Updated APIs for RAT commands [RF] 241: New API to get RF operations command [RF] 282: RF event to include HW, CPE interrupts and RF driver events [RF] 212: Allow for HWI and SWI priority configuration [RF] 277: Renamed RF_waitCmd to RF_pendCmd; RF_abortCmd to RF_flushCmd [RF] 263: Internal calculation for power up duration Breaking Changes [RF] 277: API names changed [RF] 211: API input/output parameters changed [RF] 170: API input/output parameters changed [RF] 187: API input/output parameters changed [RF] 282: New/renamed RF events Issues fixed [SPI] 161: SPI driver fails when 2x SPI modules are in use [PWR] 195: RCOSC_HF calibration routine improved [RF] 242: Past trigger not handled correctly in newest version [RF] 256: Infinite loop case in Q_Push [RF] 281: Add Power_init() in RF driver initialization [RF] 297: RF driver should not change any field in the input command structure [PIN] 298: PIN hardware attributes name does not match coding conventions [PWR] 323: RCOSC calibration routine leaves TDC_DONE interrupt enabled after finishing [PWR] 326: RCOSC calibration routine releases TDC semaphore before the TDC reference clock request is released [I2C] 343: I2C driver should not set SB_DISALLOW constraints in a binary fashion Known issues [RF] 198: BLE API support for CC13xx [LCD] 235: LCDDogm128 writes outside buffer [SC] Sensor Controller cannot call tdcSetCntSource() if XOSC HF is used. This call is only required if the RCOSC LF or RCOSC HF calibration is used Misc Driver sizes compiled with IAR_7.50.1 -Ohz Module ro code ro data rw data rw data (abs) ------ ------- ------- ------- ------- Board.o* 504 1 744 CryptoCC26XX.o 1 084 29 HwiP_tirtos.o 8 I2C.o 68 1 4 I2CCC26XX.o 1 168 20 LCDDogm1286.o 4 616 16 LCDDogm1286_util.o 214 List.o 86 PDMCC26XX.o 1 408 1 960 PDMCC26XX_util.o 1 528 64 PINCC26XX.o 1 618 272 PowerCC26XX.o 2 276 76 268 PowerCC26XX_calibrateRCOSC.o 1 084 PowerCC26XX_tirtos.o 196 RF.o 4 344 639 SPI.o 96 1 4 SPICC26XXDMA.o 1 980 28 64 TI_codec1.o 436 4 UART.o 92 1 4 UARTCC26XX.o 2 252 40 2 UDMACC26XX.o 172 pdm2pcm_iar.o 2 320 256 * Includes config for Crypto, I2C, LCD, PDM, PIN, Power, RF, SPIDMA0/1, UART, UDMA ------------------------------------------------------------------------------- 2. Bug Item Details ------------------------------------------------------------------------------- Item 161 Summary : SPI driver fails when 2 x SPI modules are in use Severity : Major Affected Comp : SPI Release Notes : If both SPI modules are in use, and one finishes while the other is still ongoing, it will release the SB_DISALLOW constraint, thus causing the ongoing SPI module transfer to erronously abort. Workaround : N/A Item 195 Summary : RCOSC_HF calibration routine improved Severity : Major Affected Comp : Power Release Notes : The calibration routine for the RCOSC_HF has been improved. Workaround : N/A Item 242 Summary : Past trigger not handled correctly in newest version Severity : Minor Affected Comp : RF Release Notes : Allow for sending commands with an absolute trigger time in the past Workaround : N/A Item 256 Summary : Infinite loop case in Q_Push Severity : Major Affected Comp : RF Release Notes : Moved Q_push searching for Q_end to work in critical section only Workaround : N/A Item 281 Summary : Add Power_init() in RF driver initialization Severity : Critical Affected Comp : RF Release Notes : Add Power_init() in every driver initialization Workaround : N/A Item 297 Summary : RF driver should not change any field in the command structure Severity : Major Affected Comp : RF Release Notes : Remove code in the RF_postCmd which is changing the pOp->status to CMDSTA_Pending Workaround : N/A Item 298 Summary : PIN hardware attributes name does not match coding conventions Severity : Minor Affected Comp : PIN Release Notes : The PIN hardware attributes now follows the naming convention used for all the other driver hardware attributes Workaround : N/A Item 323 Summary : RCOSC calibration routine leaves TDC_DONE interrupt enabled after finishing Severity : Critical Affected Comp : Power Release Notes : The RCOSC calibration routine running on the CM3 did not disable the TDC_DONE interrupt after the RCOSC calibration routine was finished. As a result, if the sensor controller would use the TDC afterwards spurious interrupts to the CM3 would be generated thus confusing the RCOSC calibration routine. Workaround : Add this code snippet in Power_doCalibrate() function case STEP_CLEANUP_2 HWREG(AUX_EVCTL_BASE + AUX_EVCTL_O_COMBEVTOMCUMASK) = 0; Item 326 Summary : RCOSC calibration routine releases TDC semaphore before the TDC reference clock request is released Severity : Major Affected Comp : Power Release Notes : The RCOSC calibration routine should release the TDC reference clock before releasing the TDC semaphore. Workaround : Add this code snippet in Power_doCalibrate() function case STEP_CLEANUP_1 HWREG(AUX_WUC_BASE + AUX_WUC_O_REFCLKCTL) = 0; Add this code snippet in PowerCC26XX_RCOSC_clockFunc() function case STEP_CLEANUP_2 /* finish wait for AUX_WUC:REFCLKCTL.ACK to be cleared ... */ while(HWREG(AUX_WUC_BASE + AUX_WUC_O_REFCLKCTL) & AUX_WUC_REFCLKCTL_ACK); Item 343 Summary : I2C driver should not set SB_DISALLOW constraint in a binary fashion Severity : Major Affected Comp : I2C Release Notes : If the I2C driver handle is shared between multiple tasks, the SB_DISALLOW constraint will be released when the first transfer completes. This leads to subsequent transfers failing since device will enter STANDBY instead of IDLE Workaround : See new driver for details. ------------------------------------------------------------------------------- 3. Known Issue Details ------------------------------------------------------------------------------- Item 198 Summary : BLE API support for CC13xx Severity : Major Affected Comp : RF Release Notes : CC13XXWARE doesn't have BLE command header and mailbox files yet Workaround : N/A Item 235 Summary : LCDDogm128 writes outside buffer Severity : Major Affected Comp : LCD Release Notes : When using LCD_bufferPrintString --> LCD_doBufferPrintString, there is no checking for whether the string will exceed the buffer size Workaround : N/A ============================================================================================= Release date: 2015.11.04 Dependencies: - Tested with: xdctools_3_31_01_33 bios_6_45_00_11_eng cc26xxware_2_22_01_16290 cc13xxware_2_01_01_16290 ------------------------------------------------------------------------------- 1. Overview ------------------------------------------------------------------------------- New Features and Enhancements [PDM] 34: Alpha version of PDM driver. [ALL] 76: Callback for SPI, PIN, I2C, and UART drivers moved from HWI to SWI context. [PIN] 108: Added support for setting HWI and SWI interrupt priority [PWR] 237: Power management moved from kernel to separate driver. [RF] 205: Support CC26xx (proprietary) [RF] 215: Support CC26xx (BLE) [RF] 246: New API to remove single command [RF] 211: New API to get RF command queue parameters [RF] 170: Support for direct and immediate commands [RF] 187: Support for RAT commands [RF] 292: New API to get RSSI [RF] 293: New API to get FW info Breaking Changes [ALL] 76: The hardware attributes for all drivers are updated to include SWI interrupt priority. These attributes are renamed to deliberately generate a compilation error, if application is using the new drivers and an old board file. [ALL] The generic Board.c file is removed, the application must include the board specific file. All board files are now found in new directories inside the /boards directory. [BOARD] 124: Renamed the CC1310EM_7ID board file to CC1310DK_7XD. [PWR] 237: Power management has been moved from the kernel to a separate power driver. If drivers are included as source code, the application must now also include the new power driver files PowerC2650.c, PowerCC2650_calibrateRCOSC.c, and PowerCC2650_tirtos_power_policy.c and the utility files List.c and HwiP_tirtos.c. If the PIN driver is not used and PIN_init() is not called, Power_init() must be called for power management to function. Issues fixed [PIN] 236: PIN driver allowed allocation/configuration of non-exisiting IOs on CC13xx 4x4 and 5x5 packages. [RF] 189: Added assert checks for out of range parameters and null pointers [RF] 243: Fixed driver hangs when receiving packets in sniff mode [RF] 223: CCS optimizations on "RF.c" module showed different behavior Known Issues [PDM] 34: PDM driver does not support power management and only IAR toolchain. [I2C] 36: There's no check to see if the I2C bus is busy before issuing a tranfer. [UART] 146: There's no way to flush the UART RX FIFO. Possible bytes received will therefore remain in the RX FIFO through a UART_close()/UART_open() call sequence. [SPI] 161: If both SPI modules are used at once, and one transfer finishes before the other one, the SB_DISALLOW constraint is released causing the device to enter standby and thus aborting the other ongoing SPI module's transfer. [LCD] 235: When using LCD_bufferPrintString --> LCD_doBufferPrintString, there is no checking for whether the string will exceed the buffer size. [RF] 283: RF_waitCmd doesn't handle RF_cmdHandle wrap-around cases properly Misc Driver sizes compiled with IAR_7.40.3 -Ohz Module ro code ro data rw data rw data (abs) ------ ------- ------- ------- ------- Board.o 332 924 CryptoCC26XX.o 1 084 29 HwiP_tirtos.o 8 I2C.o 68 1 4 I2CCC26XX.o 1 160 20 1 LCDDogm1286.o 4 640 16 LCDDogm1286_util.o 214 List.o 86 PDMCC26XX.o 1 412 12 2 116 PDMCC26XX_util.o 1 580 64 PINCC26XX.o 1 630 272 PowerCC2650.o 2 280 74 252 PowerCC2650_calibrateRCOSC.o 1 000 PowerCC2650_tirtos_policy.o 196 RF.o 3 908 632 SPI.o 96 1 4 SPICC26XXDMA.o 1 988 28 1 64 TI_codec1.o 436 4 UART.o 92 1 4 UARTCC26XX.o 2 208 40 2 UDMACC26XX.o 172 pdm2pcm.o 2 316 256 * Includes config for PIN, UART, UDMA, SPIDMA0/1, LCD, Crypto and I2C. ------------------------------------------------------------------------------- 2. Bug Item Details ------------------------------------------------------------------------------- Item 34 Summary : Alpha version of PDM (Pulse Density Modulation) driver Severity : Major Affected Comp : PDM Release Notes : This is the first release of the PDM driver. It has the following known issues: - Does not support power management. SB_DISALLOW and IDLE_PD_DISALLOW constraints are set by driver when operating, while only SB_DISALLOW should be required. - Only IAR is supported as toolchain. - Very limited test coverage! - Board file content currently hardcoded in PDMCC26XX.c. Workaround : N/A Item 76 Summary : Callback for I2C, UART, PIN, and SPI drivers moved from HWI to SWI context. Severity : Major Affected Comp : I2C, UART, PIN, and SPI Release Notes : When the drivers are operating in CALLBACK mode, the callbacks are now done in SWI context rather than HWI context. As a result, all the hardware attributes have new fields in order to be able to also set the SWI priority. Workaround : N/A Item 108 Summary : The PIN driver now supports setting HWI and SWI interrupt priorities Severity : Major Affected Comp : PIN Release Notes : The PIN driver now allows setting both HWI and SWI interrupt priorities through the board file by specifying a hardware attributes structure. The HWI and SWI priorities apply to all pins. Workaround : N/A Item 237 Summary : Power management moved from kernel to separate driver. Severity : Major Affected Comp : All Release Notes : The handling of power management has been moved from the kernel to a separate Power driver. This should not impact the application, except if the drivers are included as source code (instead of prebuilt library), include the new power driver files PowerC2650.c, PowerCC2650_calibrateRCOSC.c, and PowerCC2650_tirtos_power_policy.c and the utility files List.c and HwiP_tirtos.c. If the PIN driver is not used and PIN_init() is not called, Power_init() must be called for power management to function. Workaround : N/A Item 170 Summary : Support for direct and immediate commands Severity : Major Affected Comp : RF Release Notes : Added RF_runImmDirCmd() API for direct and immediate commands Workaround : N/A Item 187 Summary : Support for RAT commands Severity : Major Affected Comp : RF Release Notes : Added RF_ratCmd() API for all direct and immediate RAT commands. Added HWI and SWI for RF_HW interrupt Workaround : N/A Item 205 Summary : Support CC26xx (proprietary) Severity : Critical Affected Comp : RF Release Notes : RF driver to support CC26xx (proprietary) Workaround : N/A Item 211 Summary : New API to get RF command queue parameters Severity : Major Affected Comp : RF Release Notes : Added RF_getParams() API to get RF command queue parameters Workaround : N/A Item 215 Summary : Support CC26xx (BLE) Severity : Major Affected Comp : RF Release Notes : RF driver to support CC26xx (BLE) Workaround : N/A Item 246 Summary : New API to remove single command Severity : Major Affected Comp : RF Release Notes : Added RF_cancelCmd() API to abort/stop a single command in execution or cancel from the command queue Workaround : N/A Item 292 Summary : New API to get RSSI Severity : Major Affected Comp : RF Release Notes : Added RF_getRssi() API to get RSSI value Workaround : N/A Item 293 Summary : New API to get FW info Severity : Major Affected Comp : RF Release Notes : Added RF_getFwInfo() API to get FW info Workaround : N/A ------------------------------------------------------------------------------- 3. Known Issue Details ------------------------------------------------------------------------------- Item 34 Summary : Alpha version of PDM (Pulse Density Modulation) driver Severity : Major Affected Comp : PDM Release Notes : The PDM driver has the following known issues: - Does not support power management. SB_DISALLOW and IDLE_PD_DISALLOW constraints are set by driver when operating, while only SB_DISALLOW should be required. - Only IAR is supported as toolchain. - Very limited test coverage! Workaround : N/A Issue [36] Summary : There's no check to see if the I2C bus is busy before issuing a tranfer. Severity : Medium Affected Comp : I2C Description : The I2C driver does not check if the I2C bus is busy before issuing an I2C transfer. Workaround : N/A Issue [146] Summary : UART bytes remain in RX FIFO through UART_close()/UART_open() Severity : Medium Affected Comp : I2C Description : There's no way to flush the UART RX FIFO. Possible bytes received will therefore remain in the RX FIFO through a UART_close()/UART_open() call sequence. Workaround : Read and discard the RX FIFO bytes as part of UART_open() Issue [161] Summary : Using both SPI modules at the same time can cause errors. Severity : Medium Affected Comp : I2C Description : If both SPI modules are used at once, and one transfer finishes before the other one, the SB_DISALLOW constraint is released causing the device to enter standby and thus aborting the other ongoing SPI module's transfer. Workaround : The driver should not check the same flag when setting/releasing the SB_DISALLOW constraint. Each module should check its own flag. Issue [235] Summary : LCD driver does not check size of string to print. Severity : Medium Affected Comp : LCD Description : When using LCD_bufferPrintString --> LCD_doBufferPrintString, there is no checking for whether the string will exceed the buffer size. Workaround : These functions must check the size of the string and return an error if the size exceeds the buffer size Issue [283] Summary : RF_waitCmd doesn't handle RF_cmdHandle wrap-around cases properly. Severity : Major Affected Comp : LCD Description : When RF_cmdHandle increments to 0xFFF and wrap-around, there is inconsistent behavior when handled internally Workaround : N/A ============================================================================================= Release date: 2015.10.05 Dependencies: - Tested with: xdctools_3_31_01_33 bios_6_42_03_31_eng cc26xxware_2_22_00_16101 cc13xxware_2_01_00_16101 ------------------------------------------------------------------------------- 1. Overview ------------------------------------------------------------------------------- New Features and Enhancements [LPD] Launch Pad flash driver [RF] 148-Added support for CPE interrupts [RF] 154-RF_getCurrentTime now uses driverlib function [RF] 157-RF driver now uses memset in ROM Breaking Changes [171] RF_abortCmd only used stop, API now allows for both stop and abort Issues fixed [149] Powerup request while powering down could cause lockup [153] Asymmetric implementation of external flash interface [155] SmartRF06EB board files should be C99 compilant [176] There was no check for advanced commands in rx [178] Possible multiple execution of Hwi_restore() in RF_postCmd [180] CryptoCC26XX_init() is missing in the code part of doxygen description [196] LaunchPad flash driver [197] Update driver doxygen wrt HWI priorities [206] No callback if RF_abortCmd was called and radio was off [207] RF_waitCmd did not cover all possible wait situations Known Issues None Misc Driver sizes compiled with IAR_7.40.3 -Ohz Module ro code ro data rw data rw data (abs) ------ ------- ------- ------- ------- Board.o* 260 940 CryptoCC26XX.o 1 092 29 I2C.o 26 I2CCC26XX.o 1 124 20 1 LCDDogm1286.o 4 640 16 LCDDogm1286_util.o 214 PINCC26XX.o 1 538 220 RF.o 2 972 520 SPI.o 72 SPICC26XXDMA.o 1 912 28 1 64 UART.o 68 UARTCC26XX.o 2 184 40 2 UDMACC26XX.o 172 * Includes config for PIN, UART, UDMA, SPIDMA0/1, LCD, Crypto and I2C. ------------------------------------------------------------------------------- 2. Bug Item Details ------------------------------------------------------------------------------- Item 149 Summary : Powerup request while powering down could cause lockup Severity : Minor Affected Comp : RF Release Notes : Powerdown sequence was not ordered in an optimal way. Workaround : Reorder powerdown sequence. Item 153 Summary : Asymmetric implementation of external flash interface Severity : Major Affected Comp : SensorTag Release Notes : The external flash interface for SensorTag/LaunchPad has inconsistencies in the way open and closed are used. In the case the flash verification fails, open returns false but does not close the PIN and SPI-driver it has opened. This forces the application to close even if open fails which is inconsistent and confusing. Workaround : N/A Item 155 Summary : SmartRF06EB board files should be C99 compilant Severity : Minor Affected Comp : Board files Release Notes : Board files updated to be C99 compliant, i.e. format is: .fxnTablePtr = &UARTCC26XX_fxnTable Workaround : N/A Item 176 Summary : There was no check for advanced commands in rx Severity : Minor Affected Comp : RF Release Notes : Code has been added to check for both rx and rx advanced commands Item 178 Summary : Possible multiple execution of Hwi_restore() in RF_postCmd Severity : Minor Affected Comp : RF Release Notes : At the end of RF_postCmd there was a possibillity that multiple Hwi_restore() calls were made Workaround : Code restructure and removal of unneccesary Hwi_restore(). Item 180 Summary : CryptoCC26XX_init() is missing in the code part of doxygen description Severity : Minor Affected Comp : CryptoCC26XX Release Notes : CryptoCC26XX_init() function call included in doxygen code. Workaround : N/A Item 196 Summary : LaunchPad flash driver Severity : Critical Affected Comp : Launch Pad Release Notes : A flash driver for the Macronics flash is included to support OAD. Workaround : N/A Item 197 Summary : Update driver doxygen wrt HWI priorities Severity : Minor Affected Comp : Drivers Release Notes : Updated the driver doxygen to reflect that only HWI interrupt priorities in the range 1 << 5 to 7 << 5 are to be used. Workaround : N/A Item 206 Summary : No callback if RF_abortCmd was called and radio was off Severity : Major Affected Comp : RF Release Notes : Function handling callbacks was only accessible when radio was powered on. This caused callbacks to not trigger if the radio was powered off. Workaround : Make callback function available when radio is powered down. Item 207 Summary : RF_waitCmd did not cover all possible wait situations Severity : Major Affected Comp : RF Release Notes : Waiting on aborted/stopped/cancelled commands had tiing issues. Workaround : Add flag bit in command structure to signal that command had been aborted. ------------------------------------------------------------------------------- 3. Known Issue Details ------------------------------------------------------------------------------- Issue [N/A] Summary : N/A Severity : N/A Affected Comp : N/A Description : N/A Workaround : N/A ============================================================================================= Release date: 2015.08.12 Dependencies: - Tested with: xdctools_3_31_01_33 bios_6_42_02_24_eng cc26xxware_2_21_03_15980 cc13xxware_2_00_03_15980 ------------------------------------------------------------------------------- 1. Overview ------------------------------------------------------------------------------- New Features and Enhancements [RF] Initial release of new TI-RTOS radio driver. [LPD] Preliminary files added for Launch Pad. Breaking Changes None Issues fixed [110] SPI driver used unsave reset mechanism. [120] The standby constraint was set too late in SPI_transfer(...) [122] Missing Power.h include in CryptoCC26xx.h Known Issues None Misc Driver sizes compiled with IAR_7.40.2 -Ohz Module ro code ro data rw data rw data (abs) ------ ------- ------- ------- ------- Board.o* 260 908 CryptoCC26XX.o 1 092 29 I2C.o 26 I2CCC26XX.o 1 124 20 1 LCDDogm1286.o 4 640 16 LCDDogm1286_util.o 214 PINCC26XX.o 1 538 220 RF.o 2 664 356 SPI.o 72 SPICC26XXDMA.o 1 912 28 1 64 UART.o 68 UARTCC26XX.o 2 184 40 2 UDMACC26XX.o 172 * Includes config for PIN, UART, UDMA, SPIDMA0/1, LCD, Crypto and I2C. ------------------------------------------------------------------------------- 2. Bug Item Details ------------------------------------------------------------------------------- Item 110 Summary : SPI driver used unsave reset mechanism. Severity : Major Affected Comp : SPICC26XXDMA Release Notes : In SPI_transferCancel(...) there was a call to HapiResetPeripheral(...) which is not safe. Instead, we've implemented a safe TX FIFO flush function to avoid having to call the unsafe HapiResetPerhiperal(...) function. Workaround : Remove the call to HapiResetPeripheral(...) and replace it with the new function SPICC26XXDMA_flushTxFifo(...). Item 120 Summary : The standby constraint was set too late in SPI_transfer(...) Severity : Major Affected Comp : SPICC26XXDMA Release Notes : In SPI_transfer(...) the standby constraint was set after the SSI module was enabled, which in certain instances could cause problems. Now the standby contraint is set before the SSI module is enabled. Workaround : In the function SPI_transfer(...) move line: threadSafeConstraintSet((uint32_t)(transaction->txBuf)); to before: SSIEnable(hwAttrs->baseAddr); Item 122 Summary : Missing Power.h include in CryptoCC26xx.h Severity : Minor Affected Comp : CryptoCC26XX Release Notes : The CryptoCC26XX.c file is missing the following include: #include Workaround : Add the following line to CryptoCC26XX.h #include ------------------------------------------------------------------------------- 3. Known Issue Details ------------------------------------------------------------------------------- Issue [N/A] Summary : N/A Severity : N/A Affected Comp : N/A Description : N/A Workaround : N/A ============================================================================================= Release date: 2015.06.18 Dependencies: - Tested with: xdctools_3_31_01_33 bios_6_42_01_13_eng cc26xxware_2_21_02_15830 cc13xxware_2_00_02_15830 ------------------------------------------------------------------------------- 1. Overview ------------------------------------------------------------------------------- New Features and Enhancements [RF] Support for basic RF operations via new TI-RTOS radio driver. [XMPL] Pin Shutdown and Pin Standby examples added. [DRVRS] Added interrupt priority to all drivers Breaking Changes None Issues fixed [2] Add intPriority to all drivers HwAttrs [6] Make RTOS board file for CC13xx 7x7 on SmartRF06EB [23] New radio driver [39] Peripheral drivers can terminate pin setup too early [47] Add information about which SPI data rates are supported in SPI driver [48] Add information about which UART bauddata rates are supported in UART driver [67] 5x5 Board file - UART not working on CCS due to DATA_SECTION bug [68] Pin handle and state should be part of driver objects in I2C and UART drivers [71] SPIDMA - late uDMA interrupt clearing might cause error [104] UARTCC26XX - 'errStatus' might be used uninitialized [106] Need widely compatible Board files for ST [109] Many comments references SmartRF06EB, should be sensortag. [111] UART driver releases SB_DISALLOW if RX/TX completes while another TX/RX is ongoing Known Issues None Misc Driver sizes compiled with IAR_7.40.2 -Ohz Module ro code ro data rw data rw data (abs) ------ ------- ------- ------- ------- Board.o* 260 940 CryptoCC26XX.o 1 092 29 I2C.o 26 I2CCC26XX.o 1 124 20 1 LCDDogm1286.o 4 640 16 LCDDogm1286_util.o 214 PINCC26XX.o 1 538 220 RF.o 2 124 392 SPI.o 72 SPICC26XXDMA.o 1 880 28 1 64 UART.o 68 UARTCC26XX.o 2 184 40 2 UDMACC26XX.o 176 * Includes config for PIN, UART, UDMA, SPIDMA0/1, LCD, Crypto and I2C. ------------------------------------------------------------------------------- 2. Bug Item Details ------------------------------------------------------------------------------- Item 2 Summary : Add intPriority to all drivers HwAttrs Severity : Critical Affected Comp : CryptoCC26XX, UDMACC26XX, I2CCC26XX, SPICC26XXDMA, UARTCC26XX Release Notes : All the drivers used default (low) priority. It is now possible to set a non-default priority. Note: the PIN driver is still using the default priority. Workaround : N/A Item 6 Summary : Make RTOS board file for CC13xx 7x7 on SmartRF06EB Severity : Minor Affected Comp : Board files Release Notes : A CC1310EM_7ID_7793 folder with Board files for SmartRF06EB is added. Workaround : N/A Item 23 Summary : New radio driver Severity : Major Affected Comp : RF Release Notes : A new RF driver is added to allow control of the CC26xx/CC13xx radio. This driver should be considered an Alpha release. Workaround : N/A Item 39 Summary : Peripheral drivers can terminate pin setup too early Severity : Major Affected Comp : PINCC26XX Release Notes : PIN_UNASSIGNED was equal to PIN_TERMINATE. If an application removed pin usage by setting it to PIN_UNASSIGNED via board file (e.g. Board_UART_TX), the PIN_open failed if the removed PIN was not the last one to be parsed. The update is using different values for PIN_UNASSIGNED and PIN_TERMINATE. Workaround : Avoid PIN_UNASSIGNED in the middle of PIN_Configs and make sure this is true for PIN_Configs in drivers too. Item 47 Summary : Add information about which SPI data rates are supported in SPI driver Severity : Minor Affected Comp : SPICC26XXDMA Release Notes : Doxygen information is updated with SPI data rates. Workaround : N/A Item 48 Summary : Add information about which UART bauddata rates are supported in UART driver Severity : Minor Affected Comp : UARTCC26XX Release Notes : Doxygen information is updated with UART data rates. Workaround : N/A Item 57 Summary : UART driver doxygen update Severity : Minor Affected Comp : UARTCC26XX Release Notes : Description updated to: "Application thread should typically either issue another read after UART_read() times out to continue reception, or call UART_close() to end reception" Workaround : N/A Item 67 Summary : 5x5 Board file - UART not working on CCS due to DATA_SECTION bug Severity : Major Affected Comp : UARTCC26XX, Board files Release Notes : uartCC26XXObjects replaced with uartCC26XXHWAttrs in DATA_SECTION. Workaround : In ti\boards\SRF06EB\CC2650EM_5XD\Board.c replace #pragma DATA_SECTION(uartCC26XXObjects, ".const:uartCC26XXObjects") with #pragma DATA_SECTION(uartCC26XXHWAttrs, ".const:uartCC26XXHWAttrs") Item 68 Summary : Pin handle and state should be part of driver objects in I2C and UART drivers Severity : Minor Affected Comp : UARTCC26XX, I2CCC26XX Release Notes : PIN_State and PIN_Handle moved into UARTCC26XX_Object and I2CCC26XX_Object so that application can access pin handle and modify these PIN values when the driver is inactive. Workaround : None Item 71 Summary : SPIDMA - late uDMA interrupt clearing might cause error Severity : Major Affected Comp : SPICC26XXDMA Release Notes : At high optimization, the interrupt was not cleared before interrupt handler exited, causing interrupt handler to be called twice. Now interrupts are not handled until both the TX and RX DMA channels have completed. This also ensures that the interrupt is properly cleared before exiting handler. Workaround : In SPICC26XXDMA_hwiFxn replace the check: if (UDMACC26XX_channelDone(object->udmaHandle, hwAttrs->txChannelBitMask) { with: if (UDMACC26XX_channelDone(object->udmaHandle, hwAttrs->txChannelBitMask) && UDMACC26XX_channelDone(object->udmaHandle, hwAttrs->rxChannelBitMask)) { Item 104 Summary : UARTCC26XX - 'errStatus' might be used uninitialized Severity : Major Affected Comp : UARTCC26XX Release Notes : Static analysis uncovered a potential problem in UART hwi. Workaround : Make sure to initialize the errStatus in UARTCC26XX_hwiIntFxn: unsigned long errStatus = UART_OK; Item 106 Summary : Need widely compatible Board files for ST Severity : Major Affected Comp : Board files Release Notes : New SensorTag board files is added. See ti\boards\SensorTag. Workaround : N/A Item 109 Summary : Many comments references SmartRF06EB, should be sensortag. Severity : Minor Affected Comp : Board files Release Notes : SRF06EB_* comments updated to SENSORTAG_*. Workaround : N/A Item 111 Summary : UART driver releases SB_DISALLOW if RX/TX completes while another TX/RX is ongoing Severity : Blocker Affected Comp : UARTCC26XX Release Notes : The UART driver is now using to separate constraint flags, one for RX and one for TX. Workaround : The application might use an extra _setContraint(Power_SB_Disallow) during UART operation to make sure that the device is not going to standby. ------------------------------------------------------------------------------- 3. Known Issue Details ------------------------------------------------------------------------------- Issue [N/A] Summary : N/A Severity : N/A Affected Comp : N/A Description : N/A Workaround : N/A =============================================================================== Release date: 2015.04.23 Dependencies: - Tested with: xdctools_3_30_06_67 bios_6_42_00_04 cc26xxware_2_21_01_15600 cc13xxware_2_00_01_15600 ------------------------------------------------------------------------------- 1. Overview ------------------------------------------------------------------------------- New Features and Enhancements [PIN] Support for CC13xx in the PIN driver (7x7 has one less IO). [PIN] Support for external LF clock (PIN driver will allocate this IO) Breaking Changes None Issues fixed [3] LCD_close(...) does not close the SPI channel. [9] Add doxygen documentation on how customers can minimize leakage in SPI driver [11] PIN driver must support CC13xx which has one less IO [46] DUT cannot enter standby after a blocking UART_read(...) times out [49] PIN driver should allocate pin used for external 32kHz LF clock Known Issues None Misc Driver sizes compiled with IAR_7.40.2 -Ohz Module ro code ro data rw data rw data (abs) ------ ------- ------- ------- ------- Board.o* 244 908 CryptoCC26XX.o 1 088 29 I2C.o 26 I2CCC26XX.o 1 148 20 17 LCDDogm1286.o 4 640 16 LCDDogm1286_util.o 214 PINCC26XX.o 1 530 220 SPI.o 72 SPICC26XXDMA.o 1 900 28 1 64 UART.o 68 UARTCC26XX.o 2 148 40 17 UDMACC26XX.o 168 * Includes config for PIN, UART, UDMA, SPIDMA0/1, LCD, Crypto and I2C. ------------------------------------------------------------------------------- 2. Bug Item Details ------------------------------------------------------------------------------- Item 3 Summary : LCD_close(...) does not close the SPI channel. Severity : Blocker Affected Comp : LCDDogm1286 Release Notes : The LCD_close(...) function did not close the SPI channel, resulting in the user being unable to open the SPI driver for the same channel used by the LCD, after the LCD driver had been used once. This has now been fixed by also closing the SPI driver in LCD_close(...) Workaround : Add to LCD_close(...) this line: /* Close SPI */ SPI_close(object->spiHandle); Item 9 Summary : Add doxygen documentation on how customers can minimize leakage in SPI driver Severity : Minor Affected Comp : SPICC26XXDMA Release Notes : External hardware connected on the SPI, i.e. SPI host/slave, might have configured a pull on one or more of the SPI lines. Dependent on the hardware, it might conflict with the pull used for the CC26XX SPI. To avoid increased leakage and ensure the lowest possible power consumption when the SPI is inactive, the application must configure a matching pull on the SPI IOs. An example of how this can be done is now included in the doxygen documentation for the SPI driver Workaround : After having opened the SPI driver, configure the desired pull (below shows example for MISO): // Get pinHandle pinHandle = ((SPICC26XX_Object *)spiHandle->object)->pinHandle; // Get miso pin id misoPinId = ((SPICC26XX_HWAttrs *)spiHandle->hwAttrs)->misoPin; // Apply low power sleep pull config for MISO PIN_setConfig(pinHandle, PIN_BM_PULLING, PIN_PULLUP | misoPinId); Item 11 Summary : PIN driver must support CC13xx which has one less IO Severity : Major Affected Comp : PINCC26XX Release Notes : CC13xx does not have DIO_0, so the PIN driver now does not allow application to allocate this PIN if the device is a CC13xx. However the application should be able to allocate all the other pins which for a CC13xx 7x7 is DIO_1 to DIO_30. Workaround : None Item 46 Summary : DUT cannot enter standby after a blocking UART_read(...) times out Severity : Critical Affected Comp : UARTCC26XX Release Notes : If the application calls UART_read(...) in blocking mode, and the read times out, the SB_DISALLOW is never released. As a result the application is not able to enter standby. Workaround : Add the following lines to UART_read(...) when the timeout occurs: /* Disable RX interrupts */ UARTIntDisable(hwAttrs->baseAddr, UART_INT_OE | UART_INT_BE | UART_INT_PE | UART_INT_FE | UART_INT_RT | UART_INT_RX); /* Release constraint since transaction timed out, allowed to enter standby */ threadSafeStdbyDisRelease(); /* Reset the read buffer so we can pass it back */ object->readBuf = (unsigned char *)object->readBuf - object->readCount; Item 49 Summary : PIN driver should allocate pin used for external 32kHz LF clock Severity : Major Affected Comp : PINCC26XX Release Notes : There's now support in CCFG to use an external IO as source for the 32 kHz LF clock source. The pin driver now also reserves this pin, thus assuring that the application cannot allocate this IO for other purposes. Workaround : None ------------------------------------------------------------------------------- 3. Known Issue Details ------------------------------------------------------------------------------- Issue [N/A] Summary : N/A Severity : N/A Affected Comp : N/A Description : N/A Workaround : N/A =============================================================================== Version: 1_06_00 Release date: 2015.03.27 Dependencies: - Tested with: xdctools_3_30_06_67 bios_6_42_00_00 cc26xxware_2_21_00_15402 ------------------------------------------------------------------------------- 1. Overview ------------------------------------------------------------------------------- New Features and Enhancements [UART] Flow Control (enabled through hwAttrs). Breaking Changes [UART] Aligning define format: renamed UARTCC26XX_RETURN_PARTIAL_ENABLE to UARTCC26XX_CMD_RETURN_PARTIAL_ENABLE. [SPIDMA] Using defines from SPI.h: replaced SPICC26XXDMA_CMD_SUCCESS with SPI_STATUS_SUCCESS, SPICC26XXDMA_CMD_NO_SUCCESS with SPI_STATUS_ERROR and SPICC26XXDMA_CMD_UNDEFINED with SPI_STATUS_UNDEFINEDCMD. [I2C] Using defines from I2C.h: replaced I2CCC26XX_SUCCESS with I2C_STATUS_SUCCESS, I2CCC26XX_ERROR with I2C_STATUS_ERROR and I2CCC26XX_CMD_UNDEFINED with I2C_STATUS_UNDEFINEDCMD. [CRPT] Aligning defines with other drivers: replaced CRYPTOCC26XX_SUCCESS with CRYPTOCC26XX_STATUS_SUCCESS, CRYPTOCC26XX_ERROR with CRYPTOCC26XX_STATUS_ERROR and CRYPTOCC26XX_CMD_UNDEFINED with CRYPTOCC26XX_STATUS_UNDEFINEDCMD. Bug fixes [5960] UARTCC26XX missing flow-control. [6074] Board files should include RFp.n comment for pins. [6540] All drivers must set/release SB disallow constraint thread-safely. [6603] [UART] timeout description needs update. [6604] [UART] align timeout behavior with other error behavior. [6655] [UART] - hwi must check UART_INT_TX not object->writeSize. [6661] [UART] - wrong estimation of TX FIFO Empty Clock time. [6729] SPI_control set CSn doesn't work if originally PIN_UNASSIGNED. [6730] Board.c should not hard-code IOIDs but always use eg Board_SPI0_CSN. Known Issues None Misc Driver sizes 1_06_00, Compiled with IAR_7.40.1 -Ohz Module ro code ro data rw data rw data (abs) ------ ------- ------- ------- ------- Board.o* 244 908 CryptoCC26XX.o 1 092 29 I2C.o 26 I2CCC26XX.o 1 160 20 17 LCDDogm1286.o 4 652 16 LCDDogm1286_util.o 214 PINCC26XX.o 1 440 220 SPI.o 68 SPICC26XXDMA.o 1 904 28 1 64 UART.o 68 UARTCC26XX.o 2 160 40 17 UDMACC26XX.o 168 * Includes config for PIN, UART, UDMA, SPIDMA0/1, LCD, Crypto and I2C. ------------------------------------------------------------------------------- 2. Bug Item Details ------------------------------------------------------------------------------- Item 5960 Summary : UARTCC26XX missing flow-control Fixed in : 1_06_00 Severity : P1 - Enhancement Affected Comp : UARTCC26XX Release Notes : The UART for CC26XX has flow control support. Flow control is enabled by assigning valid IOID for the CTS and RTS pins in the UARTCC26XX_HWAttrs. Workaround : None Item 6074 Summary : Board files should include RFp.n comment for pins Fixed in : 1_06_00 Severity : P2 - Normal Affected Comp : Board files Release Notes : The board files for SRF06EB are updated to include RF connector information, e.g. LED3 for CC2650EM_4XS: #define Board_LED3 IOID_5 // RF1.2 Workaround : N/A Item 6540 Summary : All drivers must set/release SB disallow constraint thread-safely. Fixed in : 1_06_00 Severity : P1 - Critical Affected Comp : UARTCC26XX, SPIXX26XX and I2CCC26XX. Release Notes : Some of the drivers was releasing power constraints in both task context and hwi context. Since the one in task context did not release in a thread safe manner, the risk of releasing the power constraint twice was present. This update ensures that each driver disable it's hwi before setting and releasing the constraint and also holds a flag to keep track of it's current constraint setting. Workaround : None Item 6603 Summary : [UART] timeout description needs update Fixed in : 1_06_00 Severity : P2 - Normal Affected Comp : UARTCC26XX Release Notes : The doxygen documentation is updated with information regarding timeout. Summary - The timeout can only be specified for blocking mode. If a timeout occurs during a read, the number of bytes received will be returned and the UART_Object.status will be set to UART_TIMED_OUT. If a timeout occurs during a write, an UART_ERROR will be returned and the UART_Object.status will be set to UART_TIMED_OUT. All bytes that are not transmitted, will be flushed. Workaround : N/A Item 6604 Summary : [UART] align timeout behavior with other error behavior Fixed in : 1_06_00 Severity : P1 - Normal Affected Comp : UARTCC26XX Release Notes : The standby disallow constraint is released after timeout as well to allow the device to enter standby. Workaround : None Item 6655 Summary : [UART] - hwi must check UART_INT_TX not object->writeSize Fixed in : 1_06_00 Severity : P1 - Normal Affected Comp : UARTCC26XX Release Notes : The TX FIFO empty clock event computation assumed that the UART_INT_TX event triggered the write, but the hwi was checking object->writeSize. So if another UART interrupt triggered the hwi and the last write bytes are fitted into the TX FIFO, the computation would be wrong and the TX FIFO empty function would hang, waiting for the UART busy flag to be deasserted. By checking both UART_INT_TX flag and object->writeSize in the hwi, the computation is done correctly. Workaround : None Item 6661 Summary : [UART] - wrong estimation of TX FIFO Empty Clock time Fixed in : 1_06_00 Severity : P1 - Normal Affected Comp : UARTCC26XX Release Notes : In some situations the timeout happened too early. The mapping of the object->stopBits was not done correctly. An extra byte was included in the TX FIFO Empty clock event computation to get the correct mapping. Workaround : None Item 6729 Summary : SPI_control set CSn doesn't work if originally PIN_UNASSIGNED. Fixed in : 1_06_00 Severity : P2 - Normal Affected Comp : SPICC26XX Release Notes : The new assigned chip select pins is always configured with input enabled and pull-up. Workaround : None Item 6730 Summary : Board.c should not hard-code IOIDs but always use eg Board_SPI0_CSN. Fixed in : 1_06_00 Severity : P1 - Normal Affected Comp : Board files Release Notes : By assigning Board_SPI0_CSN and Board_SPI1_CSN pins to the chip select pins in the board source file, the customer should only have to modify the header files when moving the chip select pins to work with their design. Workaround : None ------------------------------------------------------------------------------- 3. Known Issue Details ------------------------------------------------------------------------------- Issue [N/A] Summary : N/A Severity : N/A Affected Comp : N/A Description : N/A Workaround : N/A =============================================================================== Version 1_05_03 Release date: 2015.01.30 Dependencies: - Tested with: xdctools_3_30_06_66 bios_6_41_02_39 cc26xxware_2_20_06_14829 ------------------------------------------------------------------------------- 1. Overview ------------------------------------------------------------------------------- New Features and Enhancements [GEN] No longer exposing the CC26XX specific API for I2C, UART, SPIDMA. [SPIDMA] Correcting return value from _transfer if time out (ref. bug 6370). [DOC] Doxygen updated for all drivers. [XMPL] Pin interrupt example - updated debounce logic. [STAG] Added separate board files for sensor tag PCB version 1.0, 1.1, and 1.2. [STAG] Magnetometer support added. [STAG] Support for TI HDC1000 Humidity Sensor. Bug fixes [6068] Pin interrupt example need update. [6159] PIN driver needs updated doxygen with 'Use Case' code examples. [6178] I2C driver does not report error if I2C pins are already allocated. [6226] SPIDMA - close() function does not include unregisterNotify(). [6297] Driver documentation (Doxygen) clean up. [6312] SPICC26XXDMA driver has a NULL pointer dereference. [6331] sensor.c conformance with TI Compiler syntax (sensortag). [6337] TI compiler warning (in sensor_mpu9250.c). [6338] Missing board definition in SensorTag Board.h (SensorTag/CC26XXST). [6355] Pin driver should set IO_PAD_SLEEP_DIS bit at end of PIN_init(). [6370] SPI_transfer with a timeout results in failed subsequent SPI_transfers. [6389] Compile errors in tirtos_simplelink_2_11_00_07 board files (CryptoCC26XX_fxnTable). Known Issues [STAG] Power consumption too high (+40 uA) [STAG] Board files for PCB version 1.1 and 1.2 untested. Misc Driver sizes 1_05_03, Compiled with IAR_7.30.3 -Ohz Module ro code ro data rw data rw data (abs) ------ ------- ------- ------- ------- Board.o* 308 1 244 CryptoCC26XX.o 1 108 29 I2C.o 26 I2CCC26XX.o 1 128 20 20 LCDDogm1286.o 4 624 16 LCDDogm1286_util.o 214 PINCC26XX.o 1 440 220 SPI.o 68 SPICC26XXDMA.o 1 832 28 64 UART.o 68 UARTCC26XX.o 1 812 40 16 UDMACC26XX.o 168 *Including master and slave configurations for both SPIs.