This page lists all relevant changes for all public releases of Sensor Controller Studio:
Sensor Controller Studio (SCS)
Command line interface (CLI)
Code generator (CODE)
Driver and Sensor Controller framework (FWK)
Sensor Controller task code procedures (PROC)
Sensor Controller task functionality (TASK)
Project examples (EXMP)
Tool documentation (DOC)
Installer (INST)
Version 2.1.0.440
Release date: April 17, 2018
New Features and Improvements
[SCS/EXMP] Added support for the new CC1352P device (CC1352P1F3).
[EXMP] For all LaunchPad examples, the previous call to PIN_init() has been replaced by calls to Board_initGeneral() and Board_shutDownExtFlash(). This takes the external SPI flash from standby mode to shutdown, and thereby reduces current consumption. Note the following:
Board_shutDownExtFlash() was added in SimpleLink SDKs version 1.40. The improvement has no effect when using older SDKs
Board_shutDownExtFlash() is called by Board_initGeneral() in SimpleLink SDKs version 1.60 and later. The second call in the example application is however harmless.
[SCS] Update notifications are now more visible. When a new release is available or there are uninstalled patches:
A blinking star will appear next to the update status in the Start Page panel.
A message will be displayed in the main window status bar.
[SCS] Switched monospace font (used for code) for better display on high-DPI screens.
[DOC] For CC13x2/CC26x2 devices: Added new Firmware Framework Description help document that describes in detail how the Sensor Controller firmware framework works. In short, this is the fixed Sensor Controller code that is responsible for:
Task control
Running the task code blocks written by users in Sensor Controller Studio
Alert interrupt generation and handshaking
Basic power management
[TASK/DOC] Resource documentation: Added more resource examples for CC13x2/CC26x2 devices:
AON Domain Functionality
COMPA
COMPB
Reference DAC
Timer 2
Timer 2 Event Trigger
System Event Trigger
[PROC/DOC] AON Domain Functionality: Added note about value resolution and accuracy in the sysGetBatmonTemp() and sysGetBatmonVolt() procedure descriptions.
[DOC] Task Resources overview document: Added links to the resource and procedure descriptions.
[EXMP] Example configuration: Added support for the following SDKs (see the Compatibility section below for details):
SimpleLink CC13x0 SDK 2.10.00.36.
SimpleLink CC13x2 SDK 2.10.00.48.
SimpleLink CC26x2 SDK 2.10.00.44.
Changes
[FWK] The bug workaround for CC13x2/CC26x2 silicon revision A, mentioned under known issues for release 2.0.0, has been removed. Hence:
CC13x2/CC26x2 silicon revision A is no longer supported.
The side-effects associated with the workaround no longer apply.
[FWK/EXMP] For CC13x2/CC26x2 devices: Switched to using ti/devices/DeviceFamily.h to define chip family for #include directives in C source files. This is now used both in the generated SCIF driver and in the common example include files (ex_include.h and ex_include_tirtos.h).
The change was not done for the CC13x0/CC26x0 devices, since that would break compatibility with old SDK versions that do not have ti/devices/DeviceFamily.h.
[TASK/PROC] The MCU_OR_AUX_ACTIVE event signal is also high when JTAG is active. To reflect this, all occurrences of this event signal (resource defined constants) have been renamed to SYS_ACTIVE, and associated documentation has been updated. If the affected constants have been used in task code, Sensor Controller Studio will convert the code automatically and display a report when the project is opened.
Bug-fixes
[SCS] Fixed multiple Help Viewer issues:
Fixed crash triggered by Find Previous when there are no matches for the current search text.
If the Help Viewer is closed, the document view would scroll to incorrect position when opening procedure documentation from the Task Code Editor panel.
[DOC] Fixed resource documentation:
COMPA and ISRC resources: In the block diagram, the switch that clamps the ISRC output to ground is connected directly to the COMPA input node. It is not behind the ISRC enable switch.
COMPB resource (CC13x2/CC26x2 device family only): Stated that the compbEnable() and compbDisable() procedures can only be called when the Sensor Controller (or System CPU) is in active power mode. This is due to register accesses to the AUX_DDI0_OSC module.
[SCS] Fixed issues related to settings in the Power and Clock Settings panel for the CC13x2/CC26x2 device family:
Missing power and clock register initialization over JTAG during run-time logging. With panel settings Apply default power mode = "At driver initialization only" and Task level power configuration = "Do not change" for all task code blocks, and no dynamic power control in task code, this would cause the following problems during run-time logging:
The Reference DAC would behave incorrectly due to too low clock prescaler setting (clock too fast).
The Sensor Controller would run in active mode at 24 MHz regardless of the Clock in active mode and Default power mode settings in the Power and Clock settings panel.
Potentially incorrect Reference DAC clock prescaler initialization over JTAG during task testing. With panel settings Clock in active mode = "24 MHz", Default power mode = "Low-power", Apply default power mode = "At driver initialization only" and Task level power configuration = "Do not change" for all task code blocks, and no dynamic power control in task code, this would cause the following problems during task testing:
The Reference DAC would behave incorrectly due to too high clock prescaler setting (clock too slow).
[SCS] Fixed multiple issues related to chip family dependencies in the task code editor's procedure pop-up documentation:
The procedure description was not filtered on chip family, and would always contain CC13x0/CC26x0-only information and CC13x2/CC26x2-only information.
Due to caching, the pop-up description would not reflect a chip family change (for example a switch from CC1310 to CC1312R1F) if the same description was viewed immediately before and immediately after the chip family change.
[SCS] Fixed multiple issues related to task testing:
Triggering the Disconnect command while connecting (for example by clicking repeatedly on the Connect/Disconnect toolbar button) could cause Sensor Controller Studio to crash.
Task iteration actions Wait for 10 ms, Wait for 100 ms and Wait for 1 second had no effect in Sensor Controller Studio version 2.0.0.
[SCS] Fixed Sensor Controller Studio startup issue when Check for updates at startup is enabled. The main window would be completely white for a few seconds.
[DOC] Assembly Language Reference document: Updated the sections on Program Flow and Instruction Timing, which were only valid for the CC13x0/CC26x0 device family.
[FWK] Added reset of Execution Code scheduling to scifResetTaskStructs(). If RTC-Based Execution Scheduling is used, but fwScheduleTask() is not called in the Initialization Code, this prevents any last fwScheduleTask() call before the task was stopped from taking effect when the task is restarted.
[EXMP] LED Blinker examples (for LaunchPad and SmartRF06EB): Fixed potential error if the "stop" button was pressed at the same time as an ALERT interrupt occurred.
Reduced the priority of the application's button task. This ensures that the application's LED task runs immediately when the ALERT interrupt occurs, and cannot be interrupted by the button task.
Moved the calls to scifWaitOnNbl() after the calls to scifStartTasksNbl() and scifStopTasksNbl(). Combined with the priority change, this ensures that the application's LED task does not run after the Sensor Controller task has been stopped (which could interfere with scifResetTaskStructs().
[EXMP] Fixed LED issues in LaunchPad examples for CC13x0 SDK 1.30 and later, where LEDs are controlled by the System CPU application. The errors are due to a definition swap in the Board.h file used:
LED Blinker example: The green LED (controlled by the System CPU application) would always be off.
Task Control example: The red LED (controlled by the System CPU application) would always be off.
ADC Window Monitor example: The red and green LED indications would be swapped.
Button Debouncer example: The green LED would be controlled instead of the red LED.
Known Issues
[SCS] Task Testing and Run-Time Logging panels: Enabling a large array for graphical display by clicking on the parent tree item in the data structure tree view (that is, not each individual array item), can make Sensor Controller Studio unresponsive for several seconds.
[EXMP] The Capacitive Touch Data Logger example's I/O mapping has a conflict between one of the slider nodes and UART RX on the SensorTag Debug Devpack.
The following common problems are described in the Troubleshooting help document:
TI-RTOS based example compilation fails during XDCtools pre-build step
TI-RTOS based example compilation fails when using overrides in the example configuration
TI-RTOS based CC13xx/CC26xx application stops working when using the SCIF driver
CC13xx/CC26xx application with multi-threaded Sensor Controller task control malfunctions
SCIF driver compilation fails with error "Declaration may not appear after executable statement in block" or similar
XDS200 JTAG probe is not detected
Compatibility
Sensor Controller Studio can only open project files (*.scp) created/saved using the current or previous versions.
The generated SCIF driver is compatible with the software components included in these SDK releases:
SimpleLink CC26x2 SDK 2.10.00.44.
SimpleLink CC26x2 SDK 1.60.00.43.
SimpleLink CC13x2 SDK 2.10.00.48.
SimpleLink CC13x2 SDK 1.60.00.29.
SimpleLink CC2640R2 SDK 1.50.00.58.
SimpleLink CC2640R2 SDK 1.40.00.45.
SimpleLink CC2640R2 SDK 1.35.00.33.
SimpleLink CC2640R2 SDK 1.30.00.25.
SimpleLink CC2640R2 SDK 1.00.00.22.
SimpleLink CC13x0 SDK 2.10.00.36.
SimpleLink CC13x0 SDK 1.60.00.21.
SimpleLink CC13x0 SDK 1.50.00.08.
SimpleLink CC13x0 SDK 1.40.00.10.
SimpleLink CC13x0 SDK 1.30.00.06.
SimpleLink CC13x0 SDK 1.00.00.13.
TI-RTOS for CC13xx and CC26xx 2.21.00.06.
TI-RTOS for CC13xx and CC26xx 2.20.01.08.
TI-RTOS for CC13xx and CC26xx 2.20.00.06.
TI-RTOS for CC13xx and CC26xx 2.18.01.04.
TI-RTOS for CC13xx and CC26xx 2.18.00.03.
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
Register field AUX_WUC_MODCLKEN0_SOC_M has been renamed to AUX_WUC_MODCLKEN0_ANAIF_M.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
The generated SCIF driver will normally also be compatible with future SDK releases, since it depends only on basic SDK functionality.
Note that there can be issues in SDK releases that affect use of the Sensor Controller. Please refer to SDK release notes for known and fixed issues.
The example application project files, source code and configuration files for TI-RTOS are compatible with:
SimpleLink CC26x2 SDK 2.10.00.44.
There are some structural changes (devices directory) in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
SimpleLink CC26x2 SDK 1.60.00.43.
SimpleLink CC13x2 SDK 2.10.00.48.
There are some structural changes (devices directory) in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
SimpleLink CC13x2 SDK 1.60.00.29.
SimpleLink CC2640R2 SDK 1.50.00.58.
SimpleLink CC2640R2 SDK 1.40.00.45.
SimpleLink CC2640R2 SDK 1.35.00.33.
SimpleLink CC2640R2 SDK 1.30.00.25.
There are some structural changes (board source files and linker command files) in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
SimpleLink CC2640R2 SDK 1.00.00.22.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
A bug in the CC2640R2_LAUNCHXL.h source file will cause a compile error. Replace "cc26x0" with "cc26x0r2" on the failing line to fix this issue.
SimpleLink CC13x0 SDK 2.10.00.36.
SimpleLink CC13x0 SDK 1.60.00.21.
SimpleLink CC13x0 SDK 1.50.00.08.
SimpleLink CC13x0 SDK 1.40.00.10.
SimpleLink CC13x0 SDK 1.30.00.06.
SimpleLink CC13x0 SDK 1.00.00.13.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
TI-RTOS for CC13xx and CC26xx 2.21.00.06.
TI-RTOS for CC13xx and CC26xx 2.20.01.08.
TI-RTOS for CC13xx and CC26xx 2.20.00.06.
TI-RTOS for CC13xx and CC26xx 2.18.01.04.
TI-RTOS for CC13xx and CC26xx 2.18.00.03.
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
Patches will be used to add support for new SDK releases between Sensor Controller Studio releases. See Update Service for more information.
The example application project files have been tested using the following IDEs:
IAR EWARM 8.20.1.
TI CCS 7.3.0.
Version 2.0.0.324
Release date: January 16, 2018
New Features and Improvements
[SCS] Added support for the new CC13x2 and CC26x2 devices (CC1312R1F3, CC1352R1F3, CC2642R1F and CC2652R1F). These devices offer multiple improvements compared to the CC13x0/CC26x0 device family (see the Introduction and Chip Family Migration Guide documents for details):
New low-power mode operation at 2 MHz (power supply system off, some analog/digital peripherals are unavailable)
New peripheral hardware modules:
Advanced asynchronous timer with 4 capture/compare channels and 4 event outputs
Reference DAC
SPI master
Multiply and accumulate acceleration
Various improvements for existing peripheral modules
Access to all I/O pins
More programmable wake-up triggers
Increased AUX RAM size
Access to various functionality in the AON domain
[PROC] New and improved resources and procedures for the CC13x0 and CC26x0 devices:
All general-purpose I/O resources:
Added gpioToggleOutput(auxio).
Delay Insertion resource:
Added fwWaitForEvSignal(signal, #level).
ADC resource:
Added adcPopFifo(value).
COMPA resource:
Added compaConnectCapTouchRefIntRes().
Added compaDisconnectCapTouchRefIntRes().
TDC resource:
Improved tdcSetTriggers(#startTrigger, #stopTrigger, ignoredStopTriggerCount): The ignoredStopTriggerCount parameter is no longer constant-only.
[CODE] Added support for multiplication, division and modulus operations in numeric/constant sub-expressions:
U16 x = 5 * 4;
U16 y = (19 / 2) + x;
U16 z = y - (321 % 7);
[EXMP] Example configuration: Added support for the following SDKs (see the Compatibility section below for details):
SimpleLink CC13x0 SDK 1.60.00.21.
SimpleLink CC2640R2 SDK 1.50.00.58.
SimpleLink CC13x2 SDK 1.60.00.29.
SimpleLink CC26x2 SDK 1.60.00.43.
[EXMP] ADC Window Monitor for LaunchPad: Added use of run-time logging to this example.
[SCS] Run-time logging: The maximum data size that can be logged in one log request is no longer limited 1 KB.
[SCS/EXMP] Improved the example listing in the Start Page panel.
[SCS/DOC] Help Viewer: Improved search functionality:
You must now press Enter after typing the in the search field. This prevents the Help Viewer from hanging for up to multiple seconds when starting to type a search string.
The Escape no longer closes the Help Viewer, but clears the search field.
[DOC] Multiple improvements in the Getting Started Guide, most importantly:
Replaced old tutorial section with an improved Sensor Controller Studio Walkthrough section.
Tutorials are now provided as online SimpleLink Academy labs. Use the links in the Start Page panel to acdess these tutorials.
[DOC] Help documents: Various minor improvements, including cross-reference links to other documents.
Changes
[SCS/DOC] Pressing F1 to open the Help Viewer now opens the document for the currently selected panel instead of what is under the mouse cursor.
[TASK/PROC] There are several resource and procedure changes from version 1.5.0 to version 2.0.0. Sensor Controller Studio handles these changes automatically, and displays a message when such automatic updates are made:
The adcStartAuxTimer0Trigger() and adcStopAuxTimer0Trigger() procedures are redundant, and have been replaced by timer0Start() and timer0Stop(), respectively.
The Timer Event Trigger resource has been renamed to Timer 1 Event Trigger, and the evhSetupTimerTrigger() procedure has been renamed to evhSetupTimer1Trigger().
Bug-fixes
[SCS] Fixed multiple issues related to run-time logging startup:
Sensor Controller Studio would crash when connecting with connection type Local with application, using NPI (Network Processor Interface) over UART if the COM port could not be opened.
Functionality that is locked during run-time logging (close project, add/remove tasks and so on) would remain locked when connecting with connection type Local without application, using JTAG and UART if the COM port could not be opened.
If a data structure that contains more than 62 words (16 bits each) is selected as editable (not logged), the run-time logging session would fail after a short period of time.
The run-time logging session could fail randomly at startup, with the error message "Data structure signatures not received from target".
[DOC] Introduction help document: For CC13x0/CC26x0 devices, AUX Timer 1 is 8-bit, not 16-bit.
[FWK] Fixed register definitions that are used in Sensor Controller assembly code. The following constants, and related constants and references, have been renamed:
IOP_ADI_ISRC_COMPCHP has been renamed to IOP_ADI_ISRC_COMP
IOP_ADI_TEST_MUX4 has been renamed to IOP_ADI_CHPTEST_MUX4
BV_ADI16_MUX1_COMPA_IN_NONE has been renamed to BV_ADI16_MUX1_COMPA_IN
[EXMP] Button Debouncer for SensorTag example: Fixed multiple errors in descriptions and code comments.
[SCS] Fixed issue when the Sensor Controller Studio main window is closed before the splash screen has disappears. This sensor_controller_studio.exe process would then enter a zombie state, and prevent a new instance from being started.
[SCS] Task code editor: The following operator characters would not apply the selected entry in the code completion pop-up list: <, >, @ and !.
[INST] Fixed outdated detection of 32-bit/64-bit operating system, which caused XDS driver installation to fail silently on 64-bit Windows 10.
Known Issues
[FWK] The Sensor Controller firmware framework contains a bug workaround for CC13x2/CC26x2 silicon revision A (1.0) that has negative side-effects:
The workaround solves an issue on silicon revision A when the Sensor Controller powers up to low-power mode while the System CPU is in standby mode.
The negative side-effects are:
During task debugging in Sensor Controller Studio, do not single-step through the power-up sequence as this will cause the Sensor Controller to hang. This is commented in the code.
During System CPU application debugging (using IAR or CCS), do not set AUX_SCE:CTL.DBG_FREEZE_EN = 1 as this can cause the Sensor Controller to hang.
The workaround and its side effects will be removed in the next release of Sensor Controller Studio, when support for CC13x2/CC26x2 silicon revision A (1.0) is discontinued.
[EXMP] The Capacitive Touch Data Logger example's I/O mapping has a conflict between one of the slider nodes and UART RX on the SensorTag Debug Devpack.
The following common problems are described in the Troubleshooting help document:
TI-RTOS based example compilation fails during XDCtools pre-build step
TI-RTOS based example compilation fails when using overrides in the example configuration
TI-RTOS based CC13xx/CC26xx application stops working when using the SCIF driver
CC13xx/CC26xx application with multi-threaded Sensor Controller task control malfunctions
SCIF driver compilation fails with error "Declaration may not appear after executable statement in block" or similar
XDS200 JTAG probe is not detected
Compatibility
Sensor Controller Studio can only open project files (*.scp) created/saved using the current or previous versions.
The generated SCIF driver is compatible with the software components included in these SDK releases:
SimpleLink CC26x2 SDK 1.60.00.43.
SimpleLink CC13x2 SDK 1.60.00.29.
SimpleLink CC2640R2 SDK 1.50.00.58.
SimpleLink CC2640R2 SDK 1.40.00.45.
SimpleLink CC2640R2 SDK 1.35.00.33.
SimpleLink CC2640R2 SDK 1.30.00.25.
SimpleLink CC2640R2 SDK 1.00.00.22.
SimpleLink CC13x0 SDK 1.60.00.21.
SimpleLink CC13x0 SDK 1.50.00.08.
SimpleLink CC13x0 SDK 1.40.00.10.
SimpleLink CC13x0 SDK 1.30.00.06.
SimpleLink CC13x0 SDK 1.00.00.13.
TI-RTOS for CC13xx and CC26xx 2.21.00.06.
TI-RTOS for CC13xx and CC26xx 2.20.01.08.
TI-RTOS for CC13xx and CC26xx 2.20.00.06.
TI-RTOS for CC13xx and CC26xx 2.18.01.04.
TI-RTOS for CC13xx and CC26xx 2.18.00.03.
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
Register field AUX_WUC_MODCLKEN0_SOC_M has been renamed to AUX_WUC_MODCLKEN0_ANAIF_M.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
The generated SCIF driver will normally also be compatible with future SDK releases, since it depends only on basic SDK functionality.
Note that there can be issues in SDK releases that affect use of the Sensor Controller. Please refer to SDK release notes for known and fixed issues.
The example application project files, source code and configuration files for TI-RTOS are compatible with:
SimpleLink CC26x2 SDK 1.60.00.43.
SimpleLink CC13x2 SDK 1.60.00.29.
SimpleLink CC2640R2 SDK 1.50.00.58.
SimpleLink CC2640R2 SDK 1.40.00.45.
SimpleLink CC2640R2 SDK 1.35.00.33.
SimpleLink CC2640R2 SDK 1.30.00.25.
There are some structural changes (board source files and linker command files) in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
SimpleLink CC2640R2 SDK 1.00.00.22.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
A bug in the CC2640R2_LAUNCHXL.h source file will cause a compile error. Replace "cc26x0" with "cc26x0r2" on the failing line to fix this issue.
SimpleLink CC13x0 SDK 1.60.00.21.
SimpleLink CC13x0 SDK 1.50.00.08.
SimpleLink CC13x0 SDK 1.40.00.10.
SimpleLink CC13x0 SDK 1.30.00.06.
SimpleLink CC13x0 SDK 1.00.00.13.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
TI-RTOS for CC13xx and CC26xx 2.21.00.06.
TI-RTOS for CC13xx and CC26xx 2.20.01.08.
TI-RTOS for CC13xx and CC26xx 2.20.00.06.
TI-RTOS for CC13xx and CC26xx 2.18.01.04.
TI-RTOS for CC13xx and CC26xx 2.18.00.03.
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
Patches will be used to add support for new SDK releases between Sensor Controller Studio releases. See Update Service for more information.
The example application project files have been tested using the following IDEs:
IAR EWARM 8.20.1.
TI CCS 7.3.0.
Version 1.5.0.188
Release date: October 16, 2017
New Features and Improvements
[SCS] Added support for run-time logging:
The Run-Time Logging panel provides a generic, easy-to-use environment for evaluating and optimizing performance of tasks running at full speed, as they would in the actual application.
The task data structures can individually be selected as either logged or editable. Logged data structures can be displayed graphically in Sensor Controller Studio, and can also be saved to file for external analysis. Editable data structures can be modified by Sensor Controller Studio while the tasks are running on the Sensor Controller.
Run-time logging can be performed using a generic System CPU application image programmed by Sensor Controller Studio (through an XDS100v3 or XDS110 JTAG debug probe), or it can be performed using a custom application image programmed manually into flash. Commands and data are then transferred over UART.
[SCS] Task Testing panel: Graph customization allows for different task data structure members to be displayed together in one graph section, with scaling.
[SCS] Task panel: The mouse wheel will now only scroll the resource list and can no longer change resource configuration values. This reduces the risk of changing resource configuration values unintentionally.
[EXMP] Example configuration: Added support for SimpleLink CC13x0 SDK 1.50.00.08. See the Compatibility section below for details.
[DOC] Start Page panel: Updated and added more training and software links.
Changes
[PROC] SPI Chip Select resource: Each CSN pin can now be configured as driven high (default) or pulled high when deasserted. Previously the CSN pin would be pulled high when deasserted.
[EXMP] Updated IAR EWARM project files from version 7.40.3 to 7.80.4, and selected TI XDS COM port for SWO = None. This makes it possible to use a UART terminal window while debugging in IAR EWARM.
[SCS] Project and Task panels: Spaces at start and end of project and task names are now trimmed when the names are entered or modified.
[SCS] Task Testing panel: Swapped meaning of the Ctrl and Shift keys when zooming and scrolling in the graph area. The new mapping matches better the behavior of other Windows applications:
While pressing no keys: Scroll vertically
While pressing Ctrl: Zoom vertically
While pressing Shift: Scroll horizontally
While pressing Ctrl + Shift: Zoom horizontally
[SCS] Switched from using XDS Emulation Software Package version 6.0.504.2 to version 6.0.579.0. As a result it might be necessary to manually upgrade the firmware on the XDS200 JTAG probe. See Troubleshooting for details.
Bug-fixes
[FWK] Fixed error when scifResetTaskStructs() is called to reset data structures for more than one task at a time (that is more than one bit is set in the bvTaskIds parameter). The error could cause AUX RAM corruption, Sensor Controller malfunction, and/or access to an illegal memory address.
[PROC] ADC resource: Fixed potentially increased sample period (up to 8 times the specified period) the first time adcEnableSync() is called. The erroneous behavior would no longer occur after adcDisable() had been called.
[PROC] UART Emulator resource: Fixed too high baud rate, between 2 and 0.4 percent higher than configured by scifUartSetBaudRate(uint32_t baudRate).
[CODE] Fixed crash when a macro declaration starts and/or ends with empty line(s):
macro multiplyBy4(x) {
x <<= 2;
}
[SCS] I/O Mapping panel: Fixed potentially incorrect indication in the I/O overview when clicking in the I/O map. When clicking in the N'th column of the I/O map, the I/O overview would always highlight the N'th list entry, rather than the entry with matching I/O name.
[SCS] Task Testing and Task Debugging panels: Fixed issues when editing data structure member values:
When double-clicking or pressing Enter to start the edit operation, the value would change to 0.
Hexadecimal values could not be edited in hexadecimal format.
[SCS] Task Testing panel: The Save Post-Iteration Vectors command now also succeeds when there is no data to be saved. In that case the CSV file contains only the column headers.
[SCS] Main window View menu: Fixed the Task Testing command remaining enabled after closing the last project using the X button in the project tree.
Known Issues
[EXMP] The Capacitive Touch Data Logger example's I/O mapping has a conflict between one of the slider nodes and UART RX on the Debug Devpack.
The following common problems are described in the Troubleshooting help document:
TI-RTOS based example compilation fails during XDCtools pre-build step
TI-RTOS based example compilation fails when using overrides in the example configuration
TI-RTOS based CC13xx/CC26xx application stops working when using the SCIF driver
CC13xx/CC26xx application with multi-threaded Sensor Controller task control malfunctions
SCIF driver compilation fails with error "Declaration may not appear after executable statement in block" or similar
XDS200 JTAG probe is not detected
Compatibility
Sensor Controller Studio can only open project files (*.scp) created/saved using the current or previous versions.
The generated SCIF driver is compatible with the software components included in these SDK releases:
SimpleLink CC2640R2 SDK 1.40.00.45.
SimpleLink CC2640R2 SDK 1.35.00.33.
SimpleLink CC2640R2 SDK 1.30.00.25.
SimpleLink CC2640R2 SDK 1.00.00.22.
SimpleLink CC13x0 SDK 1.50.00.08.
SimpleLink CC13x0 SDK 1.40.00.10.
SimpleLink CC13x0 SDK 1.30.00.06.
SimpleLink CC13x0 SDK 1.00.00.13.
TI-RTOS for CC13xx and CC26xx 2.21.00.06.
TI-RTOS for CC13xx and CC26xx 2.20.01.08.
TI-RTOS for CC13xx and CC26xx 2.20.00.06.
TI-RTOS for CC13xx and CC26xx 2.18.01.04.
TI-RTOS for CC13xx and CC26xx 2.18.00.03.
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
Register field AUX_WUC_MODCLKEN0_SOC_M has been renamed to AUX_WUC_MODCLKEN0_ANAIF_M.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
The generated SCIF driver will normally also be compatible with future SDK releases, since it depends only on basic SDK functionality.
Note that there can be issues in SDK releases that affect use of the Sensor Controller. Please refer to SDK release notes for known and fixed issues.
The example application project files, source code and configuration files for TI-RTOS are compatible with:
SimpleLink CC2640R2 SDK 1.40.00.45.
SimpleLink CC2640R2 SDK 1.35.00.33.
SimpleLink CC2640R2 SDK 1.30.00.25.
There are some structural changes (board source files and linker command files) in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
SimpleLink CC2640R2 SDK 1.00.00.22.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
A bug in the CC2640R2_LAUNCHXL.h source file will cause a compile error. Replace "cc26x0" with "cc26x0r2" on the failing line to fix this issue.
SimpleLink CC13x0 SDK 1.50.00.08.
SimpleLink CC13x0 SDK 1.40.00.10.
SimpleLink CC13x0 SDK 1.30.00.06.
SimpleLink CC13x0 SDK 1.00.00.13.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
TI-RTOS for CC13xx and CC26xx 2.21.00.06.
TI-RTOS for CC13xx and CC26xx 2.20.01.08.
TI-RTOS for CC13xx and CC26xx 2.20.00.06.
TI-RTOS for CC13xx and CC26xx 2.18.01.04.
TI-RTOS for CC13xx and CC26xx 2.18.00.03.
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
Patches will be used to add support for new SDK releases between Sensor Controller Studio releases. See Update Service for more information.
The example application project files have been tested using the following IDEs:
IAR EWARM 7.80.4.
TI CCS 7.1.0.
Version 1.4.1.54
Release date: April 7, 2017
New Features and Improvements
[EXMP] Example configuration: Added support for latest SimpleLink CC13x0 and CC2640R2 SDKs. See the Compatibility section below for details.
[EXMP] The following SmartRF06EB examples are now also supported for LaunchPad:
ADC Data Streamer.
ADC Window Monitor.
Shared IO Pins.
Task Control.
UART Emulator.
[TASK] Added resource Pulse Counter, which uses the TDC prescaler to count rising edges on a digital input pin or on the COMPA output. For digital input pin the pulse counter can be used while the Sensor Controller is in standby mode. Note that there are some limitations and restrictions. These are described in the resource documentation.
[TASK] ISRC resource: Added option for using the ISRC temperature dependency to measure temperature. See the ISRC resource documentation for details.
[TASK] TDC resource:
Improved documentation, including start/stop trigger timing requirements for different use cases.
Added support for the TDC prescaler, which can divide the TDC start/stop signal frequency by a factor 16 or 64.
Changes
[SCS] Switched from using XDS Emulation Software Package version 6.0.228.0 to version 6.0.504.2. As a result it might be necessary to manually upgrade the firmware on the XDS200 JTAG probe. See Troubleshooting for details.
Bug-Fixes
[CODE] Fixed incorrect code generation in the ELSE section of an IF/IFNOT-ELSE statement when the IF/IFNOT section is empty. The issue would in some cases go unnoticed. The following code would trigger the issue:
U16 x = 1;
U16 y = 2;
if ( ... ) {
// Empty
} else {
output.x = x;
output.y = y;
}
[CODE] Fixed missing error message: Setting a register variable in one but not both execution paths of an IF/IFNOT-ELSE selection statement does not count as initialization of the variable. No error was reported if (1) the IF/IFNOT section contained no or only unrelated code, or if (2) the ELSE section only contained unrelated code:
// Case #1
U16 x;
if ( ... ) {
// Empty or code not related to "x"
...
} else {
x = 1; // This assignment might not be executed ...
}
output.value = x; // ... the value read here is undetermined
// Case #2
U16 y;
if ( ... ) {
y = 1; // This assignment might not be executed ...
} else {
// Code not related to "y"
...
}
output.value = y; // ... the value read here is undetermined
[SCS] Fixed multiple issues in the task code editor panel:
Constant editor: Fixed crash when selecting type "Resource configuration value", and there are no such values (for example when no resources are enabled).
Constant and data structure member editors: Added 32-bit range check for numeric values entered in the Value field. Out of 32-bit range numeric values were previously interpreted as 0.
Constant and data structure member editors: Improved error messages for expressions in the Value field. For example "42 / 0" now indicates divide by zero error.
Text editor: Fixed unwanted scrolling to the top of the document when text is dragged and dropped.
[EXMP] Fixed run-time error for UART-based examples on SimpleLink CC13x0 SDK 1.00.00.13. These examples would fail in UART_open() due to missing UART_init() call. See CORE-SDK CC13xx/CC26xx Release Notes, TIDRIVERS-420 for details..
Known Issues
[EXMP] A bug in SimpleLink CC2640R2 SDK 1.00.00.22 source file CC2640R2_LAUNCHXL.h will cause a compile error. Replace "cc26x0" with "cc26x0r2" on the failing line to fix this issue.
[EXMP] The Capacitive Touch Data Logger example's I/O mapping has a conflict between one of the slider nodes and UART RX on the Debug Devpack.
The following common problems are described in the Troubleshooting help document:
TI-RTOS based example compilation fails during XDCtools pre-build step
TI-RTOS based example compilation fails when using overrides in the example configuration
TI-RTOS based CC13xx/CC26xx application stops working when using the SCIF driver
CC13xx/CC26xx application with multi-threaded Sensor Controller task control malfunctions
SCIF driver compilation fails with error "Declaration may not appear after executable statement in block" or similar
XDS200 JTAG probe is not detected
Cannot use UART terminal window while debugging in IAR EWARM
Compatibility
Sensor Controller Studio can only open project files (*.scp) created/saved using the current or previous versions.
The generated SCIF driver is compatible with the software components included in these SDK releases:
SimpleLink CC2640R2 SDK 1.30.00.25.
SimpleLink CC2640R2 SDK 1.00.00.22.
SimpleLink CC13x0 SDK 1.30.00.06.
SimpleLink CC13x0 SDK 1.00.00.13.
TI-RTOS for CC13xx and CC26xx 2.21.00.06.
TI-RTOS for CC13xx and CC26xx 2.20.01.08.
TI-RTOS for CC13xx and CC26xx 2.20.00.06.
TI-RTOS for CC13xx and CC26xx 2.18.01.04.
TI-RTOS for CC13xx and CC26xx 2.18.00.03.
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
Register field AUX_WUC_MODCLKEN0_SOC_M has been renamed to AUX_WUC_MODCLKEN0_ANAIF_M.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
The generated SCIF driver will normally also be compatible with future SDK releases, since it depends only on basic SDK functionality.
Note that there can be issues in SDK releases that affect use of the Sensor Controller. Please refer to SDK release notes for known and fixed issues.
The example application project files, source code and configuration files for TI-RTOS are compatible with:
SimpleLink CC2640R2 SDK 1.30.00.25.
There are some structural changes (board source files and linker command files) in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
SimpleLink CC2640R2 SDK 1.00.00.22.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
SimpleLink CC13x0 SDK 1.30.00.06.
SimpleLink CC13x0 SDK 1.00.00.13.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
TI-RTOS for CC13xx and CC26xx 2.21.00.06.
TI-RTOS for CC13xx and CC26xx 2.20.01.08.
TI-RTOS for CC13xx and CC26xx 2.20.00.06.
TI-RTOS for CC13xx and CC26xx 2.18.01.04.
TI-RTOS for CC13xx and CC26xx 2.18.00.03.
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
Patches will be used to add support for new SDK releases between Sensor Controller Studio releases. See Update Service for more information.
The example application project files have been tested using the following IDEs:
IAR EWARM 7.80.4.
TI CCS 7.1.0.
Version 1.4.0.42970
Release date: December 16, 2016
New Features and Improvements
[SCS] Added support for CC2640R2F. Examples for CC2640R2 LaunchPad will be provided in a patch (Updates menu -> Check for Updates).
[SCS] Task testing panel improvements:
Added graph color indicators for array-type members in the data structure member tree (to the right in the Task Testing panel).
Added preference setting for graph line width.
The currently selected data structure member (if any) is drawn on top with a thicker line in the graph.
Added more task testing iteration actions:
More conditional execution conditions: Event trigger occurred, and not event trigger occurred.
Wait for the event trigger to occur, with 10 ms, 100 ms or 1 second timeout.
Wait for 10 ms, 100 ms or 1 second.
Improved X-axis: Added labels to indicate task iteration index (starting at 0).
Improved Y-axis: Maximized number of labels/lines and ensured that all labels are integers.
Made possible to view all data structure values at a point in the graph area by clicking and holding the left mouse button.
The mouse scroll wheel can be used to zoom and scroll in the graph:
While pressing no keys: Scroll vertically
While pressing Shift: Zoom vertically
While pressing Ctrl: Scroll horizontally
While pressing Ctrl + Shift: Zoom horizontally
[SCS] Sensor Controller project files (*.scp) can optionally be associated with Sensor Controller Studio, allowing these files to be opened directly from Windows Explorer. File association is enabled or disabled during installation.
[SCS] Task code editor panel improvements:
Added help button in the constant and data structure member pop-up windows.
Added button for adding constants in the data structure member pop-up window. For array data structure members, the array size must be a named constant.
Added guidelines for the value field in the constant and data structure member pop-up windows.
[CODE] Added support for chaining IF-ELSE and IFNOT-ELSE statements, allowing for more compact and more readable code:
if (output.value < min) {
...
} else if (output.value > max) { // Now supported
...
} else {
...
}
[CODE] Added support for accessing data structure arrays using constant index:
// The index can either be a numeric value ...
U16 x = output.pValue[0];
// ... or a constant expression
output.pValue[ARRAY_SIZE - 1] = x;
[TASK] ADC resource: Added COMPA and GPIO triggers.
[TASK] COMPA and ISRC resource documentation: Improved ISRC part of the block diagram.
[PROC] Delay Insertion resource: Added procedure fwDelayInstrCycles() that inserts short delays of exactly the number of instruction cycles specified (1-255 instruction cycles of 1/12 microseconds).
[TASK/PROC] I2C Master resource: Improved I2C interface speed by removing excessive delays in the bit-banging code. For 400 kHz SCL frequency this reduces the SCL clock period from approximately 3.6 microseconds to approximately 2.7 microseconds (measured on the I2C Light Sensor example).
[FWK] Added SCIF driver functions scifSwTriggerExecutionCodeNbl() and scifSwTriggerEventHandlerCode() for triggering a task's Execution code and Event Handler code manually from the System CPU application.
[FWK] Added SCIF driver functions scifSetWakeOnAlertInt(), scifOsalDisableTaskAlertInt() and scifOsalEnableCtrlReadyInt() for deferring ALERT interrupt handling. This makes it possible to minimize the number of System CPU wake-ups, and to avoid static current consumption caused by the ALERT interrupt's wake-up signal.
[FWK/DOC] Several minor SCIF driver documentation improvements.
[DOC] Task Resources help document: Added resource and procedure overview. The document was previously empty.
[DOC] Start Page panel: Added link to SimpleLink Academy.
Changes
[TASK/PROC] ADC resource: The numeric values of the ADC_TRIGGER_XYZ constants have changed in order to support AUX I/O triggers. The adcEnableAsync() and adcEnableSync() procedures have been changed to match the new constant values.
[SCS] There can now only be one active Sensor Controller Studio session per installation.
[EXMP] IAR .custom_argvars files are no longer used in IAR example projects.
Bug-Fixes
[SCS] Fixed multiple issues related to task testing:
Triggering the Next Panel (Alt + Down) command during task testing would cause crash if already in the last panel (Task Testing or Task Debugging).
Single-stepping continuously, for example by holding down F11, could cause crash.
In the graph, I/O mapping look-up tables (cfg.pAuxio...) were displayed incorrectly, with only one point "nan" (not a number) on the Y-axis.
Project selection could be invalid and potentially cause crash when closing a project while in the Task Testing panel (using the "X" buttons in the project tree).
Pre-iteration vector input would no longer be applied after clearing post-iteration vectors.
[SCS] Task code editor panel: Fixed multiple issues related to code completion and pop-up documentation:
Pressing AltGr or the equivalent Ctrl + Alt no longer causes code completion or procedure pop-up documentation to disappear.
Open bracket [ would not trigger word completion when an item is selected in the completion list.
Pressing the left and right keys within a word no longer causes the code completion list to disappear.
When pressing backspace or delete, the code completion list is now updated.
When editing a procedure name, the procedure pop-up documentation now disappears if the name no longer matches a procedure name.
[SCS] At Sensor Controller Studio startup the status bar at the bottom of the main window could sometimes be red or blue without any text.
[CODE] Fixed missing error message: Setting a register variable in multiple but not all execution paths of a nested selection or iteration statement does not count as initialization of the variable. This now generates an error.
U16 x;
if ( ... ) {
x = 1; // This assignment might not be executed ...
} else {
if ( ... ) {
x = 2; // ... and this statement might also not be executed, and if so ...
} else {
...
}
}
output.value = x; // ... the value read here is undetermined
[EXMP] Fixed warning message regarding the linker command file when importing example projects into CCS.
[TASK/DOC] I2C Master resource documentation: The maximum SCL stretch timeout is 20 milliseconds, not 100 milliseconds.
[SCS] Improved Sensor Controller Studio application behavior when using Windows font scaling and when using high-DPI displays.
[SCS] The splash screen displayed at startup now appears on the same screen as the Sensor Controller Studio application.
[SCS] Fixed issues related to the Windows task bar on computers with multiple displays.
Known Issues
[SCS] There are multiple stability issues in the currently used XDS Emulation Software Package version, 6.0.228.0. The following issues have been observed during Sensor Controller task testing:
XDS100v3 JTAG probe enumeration/connection can fail, and a subsequent enumeration/connection attempt can cause Sensor Controller Studio to freeze.
XDS110 JTAG probe enumeration/connection, disconnection and firmware update can cause Sensor Controller Studio to freeze. In this case, unplug the USB cable to resolve the issue.
[EXMP] The Capacitive Touch Data Logger example's I/O mapping has a conflict between one of the slider nodes and UART RX on the Debug Devpack.
The following common problems are described in the Troubleshooting help document:
TI-RTOS based example compilation fails during XDCtools pre-build step
TI-RTOS based example compilation fails when using overrides in the example configuration
TI-RTOS based CC13xx/CC26xx application stops working when using the SCIF driver
CC13xx/CC26xx application with multi-threaded Sensor Controller task control malfunctions
SCIF driver compilation fails with error "Declaration may not appear after executable statement in block" or similar
XDS200 JTAG probe is not detected
Cannot use UART terminal window while debugging in IAR EWARM
Compatibility
Sensor Controller Studio can only open project files (*.scp) created/saved using the current or previous versions.
The generated SCIF driver is compatible with the software components included in these SDK releases:
SimpleLink CC13x0 SDK 1.00.00.13.
TI-RTOS for CC13xx and CC26xx 2.21.00.06.
TI-RTOS for CC13xx and CC26xx 2.20.01.08.
TI-RTOS for CC13xx and CC26xx 2.20.00.06.
TI-RTOS for CC13xx and CC26xx 2.18.01.04.
TI-RTOS for CC13xx and CC26xx 2.18.00.03.
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
Register field AUX_WUC_MODCLKEN0_SOC_M has been renamed to AUX_WUC_MODCLKEN0_ANAIF_M.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
The generated SCIF driver will normally also be compatible with future SDK releases, since it depends only on basic SDK functionality.
Note that there can be issues in SDK releases that affect use of the Sensor Controller. Please refer to SDK release notes for known and fixed issues.
The example application project files, source code and configuration files for TI-RTOS are compatible with:
SimpleLink CC13x0 SDK 1.00.00.13.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
TI-RTOS for CC13xx and CC26xx 2.21.00.06.
TI-RTOS for CC13xx and CC26xx 2.20.01.08.
TI-RTOS for CC13xx and CC26xx 2.20.00.06.
TI-RTOS for CC13xx and CC26xx 2.18.01.04.
TI-RTOS for CC13xx and CC26xx 2.18.00.03.
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
There are major changes in this SDK release. Make sure to select the best matching SDK release if using overrides in the Sensor Controller Studio Example Configuration window.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
Patches will be used to add support for new SDK releases between Sensor Controller Studio releases. See Update Service for more information.
The example application project files have been tested using the following IDEs:
IAR EWARM 7.80.1.
TI CCS 7.0.0.
Version 1.3.1.42689
Release date: September 28, 2016
New Features and Improvements
[CODE] The iteration count in for loops can now be specified as a constant expression, for example:
for (U16 n = 0; n < (ARRAY_SIZE - 1); n++) {
output.pArray[n] = ...;
}
Bug-Fixes
[CODE] Fixed incorrect code generation: Register variable assignment statements (write or read-modify-write) could erroneously be optimized away at the end of FOR, WHILE or DO-WHILE loops. The error would occur if the first access to the variable in the loop was a write inside of an IF or WHILE block. The error would not occur if the variable was read after the loop.
U16 x = 0;
U16 y = 0;
while (y < 5) {
if (y == 1) {
x = 1; // This operation causes ...
}
y += x;
x += 1; // ... this operation to be optimized away
}
[CODE] Fixed incorrect code generation: Register variable assignment in a WHILE loop (write) could result in the variable's value before the loop to be overwritten by other variables. The error would have no effect if the WHILE loop would always run one or more times.
U16 x = 0;
U16 y = 1;
state.value = y; // The y variable can overwrite the current value of x
while ( ... ) {
x = 2;
}
state.value = x; // x could be 1 instead of 0
[CODE] Fixed incorrect code generation: Very large positive numeric values, that is 0x80000000 or higher, would be interpreted as 0 with no warning:
// Condition would be false
if (0x80000000 & 0x80000000) {
...
}
[CODE] Fixed crash when a macro declaration had not been terminated with a closing brace (or there is a brace mismatch inside the macro declaration):
macro xyz() {
// Some code, but no "}" to end the macro declaration
[CODE] Fixed potential crash when calling a macro that contains more than one line of code. The crash would happen depending on the number of lines in the macro and the number of lines before and after the macro call.
[CODE] Fixed invalid error message when macro parameter names match other symbol names (procedures, constants etc.).
[CODE] Fixed invalid error message when passing data structure names or data structure member names as macro parameters:
[CODE] Fixed invalid error message when having whitespace around dots:
output . value = 42;
[CODE] Fixed invalid or missing error message when using negative defined constants in expressions:
U16 x = 42;
output.a = NEGATIVE_CONST + x; // This would generate a compile error
output.b = (x) NEGATIVE_CONST; // This would not generate a compile error
[CODE] Fixed invalid error message when subtracting a variable from a constant greater than 32768, or when subtracting a constant greater than 32768 from a variable:
U16 x = 50000 - output.value;
U16 y = output.value - 50000;
[CODE] Fixed missing error message: Setting a register variable in an IF or WHILE block does not count as initialization of the variable. This now generates an error, except when the IF block has a corresponding ELSE block that also initializes the variable.
U16 x;
if ( ... ) {
x = 1; // This assignment might not be executed, and if so ...
}
output.value = x; // ... the value read here is undetermined
[CODE] Fixed missing error message when comparing a variable against an out-of-range constant or numeric value, for example:
// Pointless condition because x cannot be less than 0
U16 x = ...;
if (x > (-50)) {
...
}
// Pointless condition because y cannot be greater than 32767
S16 y = ...;
if (y > (35000)) {
...
}
[CODE] Fixed certain error messages being masked by previous error messages.
[CODE] Fixed incorrect line number in error messages regarding DO-WHILE loop conditions:
do { // <- Error message would indicate condition error at this line
...
} while (... condition with error ...);
[CODE] Fixed missing line number in error messages regarding illegal character $.
[CODE] Fixed missing line number in error messages for errors at line 1.
[CODE] Fixed incorrect or confusing error messages for:
Certain parameter and return value errors in procedure calls.
Name conflicts between variable and macro declarations and other symbols (procedures, constants etc.).
Out of range constants and numeric values.
[DOC] Task Code Language Reference: Fixed issues and clarified behavior:
Variable Types: Data structure variables are not specified with minimum/maximum values, but as signed or unsigned.
Variable Assignment: Compare operations can be used in sub-expressions that only contain numeric/constant values. These evaluate to 1 if true and 0 if false.
Variable Assignment: Described in detail the criteria for whether the result of a sub-expression is signed or unsigned.
Variable Assignment: Fixed typo "Variable precedence" (changed to "Operator precendence").
Variable Assignment: Added sub-section Constant Operands, which explains how numeric/constant values are treated in sub-expressions.
Conditional Execution: Conditions can contain constant sub-expressions as operands (as in variable assignment).
Conditional Execution: Described in detail the criteria for whether a comparison operation is signed or unsigned. This is not always determined by the left operand.
Conditional Execution: Conditions that only contain numeric/constant operands are not limited to comparison and bit-test operations.
Conditional Execution: Fixed error in example + other minor improvements.
Known Issues
[SCS] There are multiple stability issues in the currently used XDS Emulation Software Package version, that is 6.0.228.0. The following issues have been observed during Sensor Controller task testing:
XDS100v3 JTAG probe enumeration/connection can fail, and a subsequent enumeration/connection attempt can cause Sensor Controller Studio to freeze.
XDS110 JTAG probe enumeration/connection, disconnection and firmware update can cause Sensor Controller Studio to freeze. In this case, unplug the USB cable to resolve the issue.
[EXMP] When importing example projects into CCS 6.1.3.00034, there is a warning message regarding the linker command file. Please ignore this message.
[EXMP] The Capacitive Touch Data Logger example's I/O mapping has a conflict between one of the slider nodes and UART RX on the Debug Devpack.
[SCS] Task testing graph features are currently limited:
No X-axis labels
No legend for graph array members
Zoom functionality is not fully functional
Settings are not stored between Sensor Controller Studio sessions
The following common problems are described in the Troubleshooting help document:
TI-RTOS based example compilation fails during XDCtools pre-build step
Project/file paths containing spaces
IAR Only: After changing the TI-RTOS release setting in the example configuration
TI-RTOS based example compilation fails when using overrides in the example configuration
TI-RTOS based CC13xx/CC26xx application stops working when using the SCIF driver
CC13xx/CC26xx application with multi-threaded Sensor Controller task control malfunctions
SCIF driver compilation fails with error "Declaration may not appear after executable statement in block" or similar
XDS200 JTAG probe is not detected
Cannot use UART terminal window while debugging in IAR EWARM
Cannot debug SmartRF06EB-based examples in CCS
Version 1.3.0.42428
Release date: July 22, 2016
New Features and Improvements
[EXMP] Added new examples for the CC1310, CC1350 and CC2650 LaunchPads:
ADC Data Logger: Demonstrates ADC sampling at 10 Hz with application wake-up at every 10 seconds. The application outputs ADC data and statistics over UART.
LED Blinker: Demonstrates basic I/O operations and data exchange with the System CPU.
[TASK/PROC] Added resources COMPB and COMPB Event Trigger, which provide access to the low-power clocked comparator peripheral. The comparator can typically be used to monitor signals in the background and wake up the Sensor Controller.
[TASK/PROC] Added resource Timer 0, which allows for flexible use of AUX Timer 0 within a task code block. It is possible to:
Enable the timer for single or periodical event generation.
Wait for the next upcoming timer event.
Check whether the timer is running (the single event has not yet occurred).
Disable the timer.
[TASK/PROC] Enabled for dynamic configuration of digital I/O pins:
Use new procedures gpioEnableInputBuf() and gpioDisableInputBuf() to enable or disable a pin's input buffer, respectively.
Use new procedure gpioCfgMode() to change the pin mode between output, input, open-drain and open-source.
[TASK] The SPI Data Transfer resource now supports two data rates, maximum and balanced. In the new balanced data rate, the TX/RX only operations have the same timing as the TX+RX operations.
[SCS] The Task panel now displays warning icons and a status bar message when potentially conflicting resources are enabled. There are for example several recources that use AUX Timer 0, with risk of overlapping use.
[SCS] Added update service, which can be accessed through new Manage Updates window via the Start Page panel, or through the command line interface updater_cli.exe. The update service provides:
Information about the latest available Sensor Controller Studio release, with easy access to installer and revision history.
Patches for the current Sensor Controller Studio installation.
Patches are made available between installer releases to fix bugs, add support for new TI-RTOS releases, add new resources and procedures, improve documentation and so on.
Patches can easily be added and removed without need for running an installer.
[SCS] Task code editor panel improvements:
Code completion has been reimplemented, and is now more similar to other source code editors (with a pop-up list and documentation displayed on the side).
In the constant list, user-defined constants are listed first and resource-defined constants last.
[CODE] Added support for macro declarations and macro calls. This allows Sensor Controller task code fragments to be encapsulated and reused, in order to make the task code more readable and reduce source code duplication. See the Task Code Language Reference for details.
[CODE] Improved compiler error messages for parameter/return value related issues in procedure calls.
[CODE] Computer name, date and time are appended as a comment at the end of all generated files.
[CODE] Lists of user-provided resource and procedure definitions are added to the driver setup header file scif.h (below the driver information).
[SCS] Added Alt+<Letter> shortcuts for buttons in the Project, Preferences and Code Generator panels.
[SCS] Improved tool-tips for tool bar buttons.
[SCS] Code generator panel improvements:
The View -> Code Generator shortcut now also selects project in the Code Generator panel. This can be disabled in the Preferences panel.
Driver source file output can be triggered automatically upon successful code generation. This can be enabled in the Code Generator and Preferences panels.
[SCS] Added I/O mapping board definitions for:
CC1350 SensorTag
CC2650 SensorTag without skins
CC2650RC (Remote Control)
CC2650 BoosterPack
[SCS] Minor task testing performance improvement.
[SCS] Task Testing panel: Improved error messages when the target connection fails.
[CLI] Added operation --v for printing the Sensor Controller Studio version and list of currently used patches.
[TASK/DOC] Added examples to documentation for all resources.
[TASK] ADC, COMPA and ISRC resource documentation: Added block diagrams.
[TASK] Clarified that the ISRC output pin is selected by compaSelectGpioInput(), and that the ISRC output is temperature dependent.
[TASK] RTC-Based Execution Scheduling documentation: Clarified what happens if the configured RTC tick period is too short (ticks are skipped silently).
[TASK] Task Event Handling resources: Added description of trigger timing, that is the delay from the trigger event until the Event Handler Code starts running.
[DOC] Getting Started Guide and Introduction help document: Added a brief overview of the Sensor Controller and AUX domain hardware.
[DOC] Assembly Language Reference: Improved section I/O Access to Module Registers.
[DOC] Task Code Language Reference: Added section Shift Operation Limitations to clarify the range of shift operations.
[FWK/DOC] Added guidelines for Sensor Controller task control from multiple threads of execution. See the SCIF driver sample documentation or the Troubleshooting document for details.
Changes
[PROC] Reduced gpioSetOutput() and gpioClearOutput() execution time from 10 instruction cycles to 1 when the auxio parameter is specified by a constant value (rather than a variable).
[CLI] The application header (name, version and copyright) is now only printed together with the help text, for example when no parameters have been specified. Use the new --v operation to print the version number for logging purposes.
[SCS] Switched from using XDS Emulation Software Package version 6.0.83.1 to version 6.0.228.0. As a result it might be necessary to manually upgrade the firmware on the XDS200 JTAG probe. See Troubleshooting for details.
[TASK] The SPI Data Transfer RX and TX+RX operations' maximum data rates have been reduced from 2 MHz to 1.7 MHz and from 1.2 MHz to 1.1 MHz, respectively. The added delay (one nop instruction per bit) ensures that MISO is not sampled before the corresponding SCLK edge is observed.
[FWK] The scifWaitOnNbl() function can now also return SCIF_ILLEGAL_OPERATION when used in an unsupported way. When using TI-RTOS, overlapping calls with non-zero timeout are not allowed.
Compatibility
Sensor Controller Studio can only open project files (*.scp) created/saved using the current or previous versions.
The generated SCIF driver is compatible with the software components included in these TI-RTOS releases:
TI-RTOS for CC13xx and CC26xx 2.20.00.06.
TI-RTOS for CC13xx and CC26xx 2.18.01.04.
TI-RTOS for CC13xx and CC26xx 2.18.00.03.
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
Register field AUX_WUC_MODCLKEN0_SOC_M has been renamed to AUX_WUC_MODCLKEN0_ANAIF_M.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
The generated SCIF driver will normally also be compatible with future TI-RTOS releases, since it depends only on basic CC13XXWARE/CC26XXWARE and TI-RTOS functionality.
Note that there can be issues in TI-RTOS releases that affect use of the Sensor Controller. Please refer to TI-RTOS release notes for known and fixed issues.
The example application project files, source code and configuration files for TI-RTOS are compatible with:
TI-RTOS for CC13xx and CC26xx 2.20.00.06.
TI-RTOS for CC13xx and CC26xx 2.18.01.04.
TI-RTOS for CC13xx and CC26xx 2.18.00.03.
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
There are major changes in this TI-RTOS release. Make sure to select the best matching TI-RTOS release if using overrides in Sensor Controller Studio Example Configuration window.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
Patches will be used to add support for new TI-RTOS releases between Sensor Controller Studio releases. See Update Service for more information.
The example application project files have been tested using the following IDEs:
IAR EWARM 7.50.2 or later.
TI CCS 6.1.2 or later.
Bug-Fixes
[CODE] Fixed code generator crash when a user-specified constant matched the name of a procedure or a reserved keyword (for example U16 or adcDisable).
[CODE] Fixed invalid error message from the assembler when accessing a data structure variable with all upper-case name:
output.VOLTAGE = 0;
[CODE] Fixed invalid error message from the compiler when having whitespace around brackets:
output.pValue [ n ] = 0;
[CODE] Fixed code generator crash when the while(...) condition of a DO-WHILE loop referred to a variable declared in the DO-WHILE loop:
do {
U16 done = ...
} while (done == 0);
[CODE/SCS] Fixed crash at start of task debugging when the assembler repairs more than one relative branch instruction (due to out of range target address). The repair is needed when the task code contains large IF/ELSE/FOR/WHILE/DO blocks.
[FWK] Fixed multiple issues in the SCIF driver when using TI-RTOS:
Calling scifOsalInit() after calling scifInit() would cause the application to hang.
Calling scifUninit() and then scifInit() to switch driver setup would cause the application to hang.
[SCS] Fixed invalid I/O mapping entries in the task code editor's code completion:
AUXIO_XYZ constant (for I/O usage "xyz") appeared even if I/O usage access is by look-up table.
cfg.pAuxioXyz data structure member (for I/O usage "xyz") appeared even if I/O usage access is by constant. Accessing such data structure member would generate an assembler error rather than a compiler error.
[SCS] Fixed multiple task testing issues:
When preference setting Log and display initial data structure values is No:
Data structure modifications made in the Initialization Code would incorrectly be reverted.
Only the first input vector from a CSV file would be loaded.
The post-iteration data no longer contains a zero vector at the end after target connection failure.
The task testing session is no longer disconnected silently after a failed Restart command.
The CSV file separation character preference setting now takes effect immediately also when saving post-iteration test data.
Changed incorrect Task Testing menu command title Clear Post-Iteration Vector Input to Clear Pre-Iteration Vector Input.
[SCS] Task code editor: Fixed issues with the comment/uncomment commands when the cursor is at the start of a line.
[SCS] Task code editor: Fixed wrong indentation when pressing Enter between an open brace { and a close brace }.
[SCS] Task Debugging panel: Fixed the memory editor cursor background color for the Light grey theme.
[SCS] Fixed incorrect size of some GUI (graphical user interface) elements when using 125% or 150% global font scaling.
[SCS] Fixed minor issues related to saving project files:
If the destination directory does not exist, it is now automatically created.
Improved error message when saving fails, now shown in the status bar.
[SCS] The example configuration Output base directory setting would behave incorrectly if modified and then cleared, until restarting Sensor Controller Studio.
[CLI] Fixed wrong (random) return value from sensor_controller_studio_cli.exe after successful operations. The return value should be 0.
[TASK] RTC-Based Execution Scheduling: Fixed typo in the scifStartRtcTicksNow() documentation. The first wake-up occurs after approximately 128 us, not 128 ms.
[TASK] Multi-Buffered Output Data Exchange: Improved error message when this resource is enabled and the output data structure is empty.
[INST] Fixed missing installation of XDS110 DFU (device firmware upgrade) driver. This error would have no effect on computers with CCS or IAR EWARM installed.
[SCS] Fixed overlapping button placement in the example configuration window at lower screen resolutions (for example 1366 x 768 pixels).
[EXMP] Removed empty example from the RTC Multi-Event Capture resource documentation.
[FWK] Fixed incorrect documentation of the bit field ranges in the internally used look-up table pScifTaskDataStructInfoLut[].
[PROC] Added missing information to the tdcArm() procedure documentation (no functional changes).
[EXMP] Fixed potential stack overflow issue in the Shared IO Pins example when compiled with CCS. As a preventive action, the TI-RTOS task stacks have been set to 1024 bytes as a minimum for all examples.
Known Issues
[EXMP] When importing example projects into CCS 6.1.3.00034, there is a warning message regarding the linker command file. Please ignore this message.
[EXMP] The Capacitive Touch Data Logger example's I/O mapping has a conflict between one of the slider nodes and UART RX on the Debug Devpack.
[SCS] Task testing graph features are currently limited:
No X-axis labels
No legend for graph array members
Zoom functionality is not fully functional
Settings are not stored between Sensor Controller Studio sessions
The following common problems are described in the Troubleshooting help document:
TI-RTOS based example compilation fails during XDCtools pre-build step
Project/file paths containing spaces
IAR Only: After changing the TI-RTOS release setting in the example configuration
TI-RTOS based example compilation fails when using overrides in the example configuration
TI-RTOS based CC13xx/CC26xx application stops working when using the SCIF driver
CC13xx/CC26xx Application with multi-threaded Sensor Controller task control malfunctions
SCIF driver compilation fails with error "Declaration may not appear after executable statement in block" or similar
XDS200 JTAG probe is not detected
Cannot use UART terminal window while debugging in IAR EWARM
Cannot debug SmartRF06EB-based examples in CCS
Version 1.2.1.40829
Release date: March 17, 2016
New Features and Improvements
[DOC] Assembly Language Reference: Documented instruction timing.
Bug-Fixes
[PROC] UART Emulator: Fixed an error in UART event clearing that caused false RX_BYTE_TIMEOUT and RX_BREAK_OR_FRAMING_ERROR events if these were enabled in the event mask. Calling scifUartSetEventMask() during ALERT interrupt handling could prevent or hide the issue.
Version 1.2.0.40562
Release date: February 29, 2016
New Features and Improvements
[EXMP] Added new examples:
ADC Data Streamer: Demonstrates high-rate ADC sampling with storage in a circular buffer.
Button Debouncer: Demonstrates use of GPIO and timer event triggers and event handler code to implement a low-power button debouncer.
Shared IO Pins: Demonstrates how to switch between operating an I/O interface from the Sensor Controller and from MCU domain peripherals, using the same physical I/O pins.
[EXMP] Improved existing examples:
ADC Data Logger: Samples now at 10 Hz with application wake-up at every 10 seconds. The application now performs simple data processing and outputs basic statistics.
ADC Window Monitor: Added TI-RTOS based application. LEDs are now constantly lit when the ADC value is outside the configurable window.
LED Blinker: Added TI-RTOS based application.
Capacitive Touch Data Logger: Added TI-RTOS based application.
For all examples using UART output: Added carriage return at all line endings for better behavior in terminal windows.
[SCS] Added support for creating custom board definition files to ease I/O mapping in the I/O Mapping panel.
Added board definitions for CC1310, CC1350 and CC2650 LaunchPad kits.
[SCS] The I/O Mapping panel now displays for each I/O function the board function that matches the selected I/O pin.
[SCS] Added support for changing task execution order in the Project panel.
[SCS] Added search and replace functionality to the task code editor.
[SCS] Added line commenting and uncommenting functionality to the task code editor.
[SCS] Added support for updating XDS110 JTAG debug probe firmware from within Sensor Controller Studio. If needed when starting a task testing session, the Target Selection window will appear and allow the update.
[SCS] Multiple new breakpoint related features in the Task Debugging panel:
Added command for removing all breakpoints, available through menu bar and code view context menu.
Added command for running to the selected line, available through menu bar and code view context menu.
Breakpoint toggling can now also be triggered through tool bar and code view context menu, or simply by double-clicking on code view lines.
[TASK/PROC/FWK] Improved overflow handling when using the Multi-Buffered Output Data Exchange resource:
The scifGetTaskIoStructAvailCount() driver function now:
Returns 0 if the Sensor Controller task has generated output buffer overflow that has not yet been indicated through scifGetAlertEvents()).
Returns the total output buffer count if all buffers are available for processing.
Added new procedure fwCheckOutputBuffer() that checks whether writing to the current output buffer will cause overrun.
Added resource configuration settings (found in the Task panel resource list) for the following (default match previous behavior):
Whether fwSwitchOutputBuffer() shall indicate overflow if attempting to switch to an unavailable buffer.
Whether fwCheckOutputBuffer() shall indicate overflow if the current buffer is unavailable.
Whether fwSwitchOutputBuffer() shall switch or abort if the next buffer is unavailable.
[EXMP] Example applications will now generate compile time error if the Sensor Controller project's target chip package setting has been changed to an unsupported value.
[EXMP] Example IAR project files now have default reset type "Board reset".
[PROC] Added procedure fwGenQuickAlertInterrupt() to allow continuously running task code to generate ALERT interrupts.
[FWK] Added driver function scifReinitTaskIo(). This allows the System CPU application to stop Sensor Controller tasks and borrow associated I/O pins temporarily.
[FWK] Clarified in the scifWaitOnNbl() documentation that the READY event does not generate MCU domain/System CPU wake-up.
[TASK/PROC] Clarified that event handler triggers are one-shot, that is the event trigger setup procedure must be called for each new trigger to be enabled.
[DOC] Assembly Language Reference: Added new section "Immediate Value Range and Value Masking" that explains when and why the result from immediate value expressions must be masked in order to avoid out-of-range error.
Changes
[EXMP] Removed all references to the DISABLE_LOW_POWER definition in all main_tirtos.c application source files.
[EXMP] Removed Capacitive Touch Data Logger example application code (main.c and corresponding IAR/CCS projects) for operating system "None".
[TASK] UART Emulator driver function scifTemplateUartGetEvents() no longer returns masked-out events.
[TASK] UART Emulator input and output data structures now only contain the TX and RX data buffers. It is therefore no longer necessary to reset these data structures when restarting the UART Emulator.
Compatibility
[SCS] Sensor Controller Studio can only open project files (*.scp) created using the current or previous versions.
[FWK] The generated driver is compatible with the software components included in:
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
Register field AUX_WUC_MODCLKEN0_SOC_M has been renamed to AUX_WUC_MODCLKEN0_ANAIF_M.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
[EXMP] The example application project files, source code and configuration files for TI-RTOS are compatible with:
TI-RTOS for CC13xx and CC26xx 2.16.00.08.
TI-RTOS for CC13xx and CC26xx 2.15.00.17.
There are major changes in this TI-RTOS release. Make sure to select the best matching TI-RTOS release if using overrides in Sensor Controller Studio Example Configuration window.
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
[EXMP] The example application project files require one of the following:
IAR EWARM 7.40.3 or later.
TI CCS 6.1.0 or later.
Bug-Fixes
[FWK] Fixed race condition (modification of AUX_EVCTL:VECCFG1) between event handler functionality running on the Sensor Controller and ALERT interrupt acknowledgment running on the System CPU.
[FWK] Fixed calculation error in scifGetTaskIoStructAvailCount() that was triggered by having large output data structure and/or high output buffer count.
[FWK] Fixed potential race condition between tdcSetCntSource() and tdcEnable() when selecting counter source TDC_CNTSRC_48M_RCOSC or TDC_CNTSRC_48M_XOSC.
[FWK] Fixed incorrect behavior when using the following SCIF driver functions on data structures larger than 255 words:
scifHandoffTaskStruct() (only when using multi-buffered output data exchange).
scifGetTaskIoStructAvailCount() (only when using multi-buffered output data exchange).
scifResetTaskStructs().
[CODE] Fixed invalid error message from the task code compiler when performing a unary operation (-, @ or ~) on a sub-expression enclosed in parentheses.
U16 x = 42;
// The following operations would not compile:
U16 y = @(x);
U16 z = ~(x + 5);
[CODE] Fixed invalid error message from the assembler when having a data structure variable with initial value -1.
[CODE] Fixed incorrect code generation for the # (address-of) operator when used on a multi-buffered output data structure. The resulting pointer would always point to the first buffer.
[SCS] Fixed issues when maximizing, minimizing or restoring Sensor Controller Studio or the Help Viewer on a screen other than the primary.
[SCS] If example configuration was performed for a currently open Sensor Controller project file, the project would not be reopened.
[SCS] In the Start Page panel's recent project list, if there were multiple project files with identical project name the last entry would be selected rather than the first.
[SCS] In the Task Code Editor panel's constant and data structure editors, hexadecimal constants and variables would change to decimal if the value was specified as an expression (for example SOME_CONSTANT + 1).
[SCS] In the Task Testing panel, clearing the output vectors displayed in the graph no longer restarts the application of input vectors.
[SCS] In the Task Testing panel when saving test vectors to CSV file, signed data structure members would be treated as unsigned (for example the value -1 would be saved as 65535).
[SCS] Fixed project tree selection jumping unexpectedly when removing a task from a project or closing a project.
[SCS] Task debugging would fail to start at the first instruction of the debugged task code block if that instruction had prefix.
[PROC] Fixed gpioGenPulseTrain() not working with #activeDuration less than 4 or #inactiveDuration less than 6.
[PROC] Fixed multiple issues related to the UART Emulator resource:
The UART Emulator could potentially malfunction if stopped and restarted, due to missing reset of internal state machine at startup.
No event flags or ALERT interrupts would be generated if RX was disabled.
At 115200 baud, timing would be broken when having configured large UART RX and TX FIFO sizes (for example 200 bytes each).
Enabling UART RX/TX FIFO events with scifUartSetEventMask() no longer generates false event flags based on previous FIFO status.
[PROC] Fixed code generation error message "Immediate value out of range" when using AUXIO 7 or 15 with gpioGenDiffOutput() or gpioDisableDiffOutput().
[INST] Fixed Sensor Controller Studio potentially not starting due to missing file ftd2xx.dll if Drivers has been unselected during installation. On some computers this DLL may already exist under the Windows directory, and this issue would then go unnoticed.
[TASK] Fixed incorrect procedure names in the Task Event Handling resources documentation.
[TASK] Fixed incorrect constant names in the examples in the I2C Master resource documentation.
Known Issues
[EXMP] The Capacitive Touch Data Logger example's I/O mapping has a conflict between one of the slider nodes and UART RX on the Debug Devpack.
[SCS] Task testing graph features are currently limited:
No X-axis labels
No legend for graph array members
Zoom functionality is not fully functional
Settings are not stored between Sensor Controller Studio sessions
The following common problems are described in the Troubleshooting help document:
TI-RTOS based example compilation fails during XDCtools pre-build step
TI-RTOS based example compilation fails when using overrides in the example configuration
TI-RTOS based application stops working when using the SCIF driver
SCIF driver compilation fails with error "Declaration may not appear after executable statement in block" or similar
Version 1.1.0.38192
Release date: September 30, 2015
New Features and Improvements
[TASK] Added new Event Handler Code task code block, which can be triggered by edge or level on a single AUX I/O pin, or after a variable delay with 4 kHz resolution:
The Event Handler Code can be implemented by one task per project. The code block appears when enabling the GPIO Event Trigger and/or Timer Event Trigger resource(s).
The I2C Light Sensor example now uses this functionality to read out the result as soon as it is ready.
[SCS/EXMP] Examples are no longer hard-coded for a specific target chip and a specific release of TI-RTOS for SimpleLink Wireless MCUs. Instead, when opening an example from the Start Page panel, a configuration dialog is displayed:
It is possible to configure the following parameters:
Output location for the example files, that is the base directory where the Sensor Controller project, application source and application project files shall be stored. The directory path is divided into a base example directory (common for all examples) and a subdirectory (name of the example).
Which operating system to use as default (can be modified). Note that for most examples the application source code has only been implemented for one operating system, and in these cases only one selection is available.
The target chip, specified by name, revision, package and memory option. Note that the available choices are limited to what is supported by development kit hardware.
Specification of the TI-RTOS for SimpleLink Wireless MCUs installation, which is required to run the Sensor Controller examples:
Installation base directory.
TI-RTOS release version number, from a list of known compatible releases.
Overrides for version numbers and sub-directories of the TI-RTOS installation.
When completing the configuration, the example files are patched and written to the output location, and the Sensor Controller project is opened. The Sensor Controller project can easily be re-opened from the list of recent projects in the Start Page panel.
[SCS] New and improved Task Testing functionality:
Support for the XDS110 and XDS200 JTAG probes, in addition to existing support for the XDS100. Additional improvements are:
When connecting to the target, a selection window is displayed if multiple JTAG probes are attached to the PC.
When connected to a target, the JTAG probe type and serial number will be displayed in the project tree.
Task testing no longer requires downloading a "task testing application" firmware to chip flash before starting a session. Instead, Sensor Controller Studio will automatically run startup code in chip RAM and perform task-specific configuration through JTAG.
Added task testing workflow diagram to the Task Testing panel, with option to select between the existing low-level flow and a new simplified flow. The simplified flow eases task iteration testing (Execution Code and Event Handler Code) by running the Initialization Code and Termination Code automatically.
The Task Testing panel now runs task iterations rather than iterations of the Execution Code:
The events that will occur during a normal iteration of the Sensor Controller task must be specified in order to allow task testing and debugging in Sensor Controller Studio. This is done by listing a sequence of actions, which include:
Running the Execution Code or Event Handler Code. The Event Handler Code runs only after the specified trigger has occurred.
Conditional execution of actions, based on a small set of relevant criteria.
Repeated execution of actions, based on a small set of relevant criteria.
When debugging a task iteration that runs multiple task code blocks, the blocks are debugged in order. The title bar in the Task Debugging panel displays which task code block is currently being debugged.
The iteration action sequence list is saved for each task in the project file.
New preference settings, which are accessible through File -> Preferences (Ctrl+P):
Whether or not to display data structure values after initialization in the Task Testing panel graph.
Maximum task code execution time before triggering debug mode (to allow debugging when the task code is stuck).
Minimum interval when running task iterations continuously in the Task Testing panel. The maximum interval is determined by computer, JTAG probe type and total size of the task data structures.
Optimized communication over JTAG and reduced timing variation when running task iterations continuously.
Data structure selection (for graph display) is stored between task testing sessions in the project file.
[TASK] TDC start and stop triggers can now include AUX I/O pins.
[TASK] Added resource Differential Output Pins, which can typically be used to drive or trigger external differential analog circuitry.
[TASK] Added resource Analog Open-Source Pins, which provides analog GPIO pins that can be clamped to VDDS. To clamp analog pins to GND, use the existing Analog Open-Drain Pins resource.
[PROC] Added procedure tdcCheckDoneEv(), which can be used to check whether the last TDC measurement succeeded or ended with a timeout. This is useful when the start trigger is generated by an external device that is not 100% reliable.
[PROC] Added procedure gpioGenPulseTrain(), which can be used to generate a precise high-frequency pulse train on an AUX I/O pin.
[TASK] Enabling the RTC Multi-Event Capture resource will cause the AUX domain to run at 32 kHz when the Sensor Controller is in standby mode. This is needed for the counting and capturing to function properly.
[SCS] Added "close project" buttons (marked X) to Project panel entries in the project tree.
[TASK] Added guidelines on minimizing current consumption in the RTC-Based Execution Scheduling resource documentation.
Changes
[DOC] The Quick Start Guide has been renamed to Getting Started Guide, which better matches the format.
[SCS] Switched from using XDS Emulation Software Package version 5.1.641.0 to version 6.0.14.0. As a result it may be necessary to upgrade the firmware on the XDS110 JTAG probe (used on the CC2650 SensorTag). See Troubleshooting for details.
[PROC] Names of several chip voltages have been renamed to match updated register definitions and documentation:
VDD1P2V has been renamed to DCOUPL (1.27 V regulated digital-supply decoupling capacitor)
VSSA has been renamed to VSS (ground)
VDDA(3P3V) has been renamed to VDDS (1.8 V to 3.8 V chip supply voltage)
[TASK] The numeric values of the TDC_STOPTRIG_XYZ constants have been changed to support use of AUX I/O pins as triggers. The tdcSetTriggers() procedure has been updated accordingly.
[FWK] Replaced ARMCC compiler identifiers with recommended __CC_ARM.
[FWK] The examples user directory is no longer automatically updated when upgrading Sensor Controller Studio. It is however still used as default output location when example project files are generated.
[TASK] Enabling the RTC Multi-Event Capture will cause the AUX domain to run at 32 kHz while the Sensor Controller is in standby mode. This is to allow AUX Timer 1 to run in the background and get more precise RTC captures.
[FWK] Removed unused variables bvTaskDoneAlert and bvTaskStopReq from the framework data structures, and removed all references to these.
Compatibility
[SCS] Sensor Controller project files (*.scp) created using Sensor Controller Studio version 1.0.x can be opened using version 1.1.0. Project files created by version 1.1.0 can not be opened using version 1.0.x.
[FWK] The generated driver is compatible with the software components included in:
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
Register field AUX_WUC_MODCLKEN0_SOC_M has been renamed to AUX_WUC_MODCLKEN0_ANAIF_M.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
[EXMP] The example application project files, source code and configuration files for TI-RTOS are compatible with:
TI-RTOS for SimpleLink Wireless MCUs 2.14.02.22.
TI-RTOS for SimpleLink Wireless MCUs 2.14.01.20.
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
[EXMP] The example application project files require one of the following:
IAR EWARM 7.40.3 or later.
TI CCS 6.1.0 or later.
Bug-Fixes
[FWK] Fixed missing ALERT interrupt generation from task code executed directly by SCIF driver task control.
If task code that generates an ALERT interrupt was executed directly by a call to scifExecuteTasksOnceNbl(), scifStartTasksNbl() or scifStopTasksNbl(), the alert would be registered, but the interrupt would not occur in the System CPU application.
[FWK] Fixed incorrect parameter name in scifOsalRegisterCtrlReadyCallback() and scifOsalRegisterTaskAlertCallback() prototypes.
[TASK] SPI Data Transfer resource documentation: Phase and polarity are both configurable, not fixed as previously stated.
[TASK] Fixed TDC measurement timeout causing subsequent TDC measurements to fail. In some cases, all later measurements would report TDC value 2.
[CODE] Fixed machine code generation for the loop R1, rel instruction (would execute one more instruction than intended). Note that this instruction has been unused until now.
[CODE] Fixed missing error message when using an uninitialized variable in the condition of a WHILE loop. This would happen if the variable was initialized later inside the WHILE loop. For example:
U16 x;
while (x != 0) {
x = 0;
}
[DOC] The Help Viewer would display "No Document" when triggering help over the project tree.
[SCS] Fixed potential crash when triggering Task Testing panel commands through the panel tool bar.
[SCS] Fixed the Task Testing panel graph auto-scrolling not working until disabled and re-enabled.
[SCS/CLI] For improved display on narrow screens, the code generation log no longer displays the full path for outputted files.
[SCS] Added missing data structure names in the Task Testing panel's graph section header bars.
[SCS/DOC] Fixed missing new-lines in procedure documentation in the Help Viewer and in task code editor pop-ups.
[SCS] Fixed missing status bar error message on JTAG communication problems during Task Debugging.
[CLI] Fixed incorrect error handling when the CLI should have returned code 4. Instead it returned code 0, and would display no error message if the --q was specified.
[SCS] Fixed the Project panel's remove task button being incorrectly enabled or disabled.
[SCS] Fixed incorrect I/O mapping label prefixes for the Digital Open-Drain Pins and Digital Open-Source Pins resources. This does not affect task code or the generated driver C code.
[FWK] Added missing void in prototypes/declaration of internal SCIF driver function scifOsalEnterCriticalSection().
Known Issues
[FWK] The generated driver must be compiled with C99 mode enabled, due to variable declarations in the middle of functions. Note that CC13XXWARE and CC26XXWARE also require C99 mode to compile without errors.
[EXMP] In the Capacitive Touch Data Logger example, the application's I/O mapping of the UART (for data logging) does not work with the SensorTag. The current I/O mapping matches instead SmartRF06EB + CC2650EM-7ID. It is recommended to run this example through the Task Testing panel in Sensor Controller Studio.
[SCS] Task testing graph features are currently limited:
No X-axis labels
No legend for graph array members
Zoom functionality is not fully functional
Settings are not stored between Sensor Controller Studio sessions
[SCS] Window handling is incorrect when maximizing, minimizing or restoring Sensor Controller Studio or the Help Viewer on a screen other than the primary.
[SCS] In Task Testing, clearing the output vectors will restart the application of input vectors.
[SCS] Project tree selection can jump unexpectedly when removing a task from a project or closing a project.
[SCS] Depending on system settings, some computers may fail to compile example applications in the default directory under "My Documents". See Troubleshooting for details.
Version 1.0.1.36452
Release date: May 20, 2015
New Features and Improvements
[DOC/FWK] The generated Sensor Controller Interface driver can now be compiled also with Keil/ARMCC and GCC. This is in addition to existing support for IAR EWARM and CCS.
[CODE] The generated Sensor Controller Interface driver now contains user-specified constants and I/O mapping constants (DIO number).
[EXMP] CCS project specification files are now provided for all examples.
[SCS] Added support for the CC1310 and CC1350 devices. Example projects are currently provided only for the CC26XX devices, but these can be modified to support CC13XX by changing target chip in the Sensor Controller and System CPU application projects.
[SCS] The task code editor now supports code completion for constants, data structure members, procedures and language keywords. Proposed text is cycled using Tab or Shift+Tab. Code completion can be enabled/disabled in the Preferences panel (enabled by default).
[PROC] Added procedures for disabling/enabling ADC input scaling.
[DOC/EXMP] Added a note on operating system selection in the Quick Start Guide tutorial. Also, the examples will now generate a readable compile error message if the operating system selection does not match the example application.
[TASK] Added new scifStartRtcTicksNow() function to the RTC-Based Execution Scheduling resource API. This function takes no tickStart parameter, but rather enables RTC tick generation as quickly as possible.
[FWK] The OSAL documentation included in the generated driver source code has been improved.
Changes
[EXMP] Bare-metal examples with low-power operation (analog_light_sensor and adc_window_monitor), using main_low_power.c rather than main.c, have been removed. Low-power operation of CC26XX/CC13XX requires several house-keeping procedures, which are automated when using TI-RTOS, but were not performed by these examples.
Compatibility
[FWK] The generated driver is compatible with the software components included in:
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
Register field AUX_WUC_MODCLKEN0_SOC_M has been renamed to AUX_WUC_MODCLKEN0_ANAIF_M.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
[EXMP] The example application source code and configuration files for TI-RTOS are compatible with:
TI-RTOS for SimpleLink Wireless MCUs 2.13.00.06.
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
[EXMP] The example project files for IAR and CCS are hard-coded, in the custom_argvars and projectspec files, respectively, for:
TI-RTOS for SimpleLink Wireless MCUs 2.11.01.09.
Bug-Fixes
[CODE] Fixed incorrect code generatation for the ELSE block of an IF-ELSE selection statement. The block state (IF or ELSE) would be reset by a nested selection statement (for example IF) or iteration statement (for example DO-WHILE) in the ELSE block. Any subsequent statements in the ELSE block would instead be appended to the IF block:
// For the following code ...
U16 x = state.x;
if (x == 1) {
state.y = 1;
} else {
if (x == 2) {
state.y = 2;
}
state.y += 4;
}
// ... the code generator would produce machine code equivalent to:
U16 x = state.x;
if (x == 1) {
state.y = 1;
state.y += 4; // Erroneously moved
} else {
if (x == 2) {
state.y = 2;
}
}
[CODE] Fixed invalid register assignment for register variables used in the condition of a WHILE loop (but not FOR or DO-WHILE loops). In the following code, y would be assigned the same register as x because variables read in the condition were not kept live throughout the WHILE loop:
U16 x = 1;
while (x == 1) {
U16 y = state.y;
state.y = y;
}
[CODE] Fixed crash when running code generation on task code that contains an IF/IFNOT statement with a constant condition that is true, and no code in the corresponding sub-block:
if (2 > 1) {
}
[CODE] Fixed crash when running code generation on task code that erroneously uses the pointer dereferencing operator * on a regular variable.
U16 x = 0;
U16 y = 0;
// Any of the following statements would cause the crash due to "*y"
x = *y;
if (x == *y) {
...
}
adcSelectGpioInput(*y);
[CODE] Fixed invalid error message from the assembler when generating an abs, neg or inv instruction with R0 as operand.
[CODE] Fixed invalid error message from the task code compiler when using:
Constant or variable expressions containing parentheses as parameter(s) in procedure call statements.
Constant expressions containing parentheses in conditions of IF, IFNOT, WHILE and DO-WHILE statements.
[CODE] Fixed invalid code generation of compare operations with constant/immediate left-side in conditions of IF, IFNOT, WHILE and DO-WHILE statements:
A < comparison would behave as <=
A <= comparison would behave as <
A >= comparison would behave as >
A > comparison would behave as >=
[CODE] Fixed missing description of I/O mapping look-up tables in the cfg data structure.
[CODE] Fixed invalid error message from the task code compiler when reading or modifying a pointer variable (U16* or S16*). The error message referred to uninitialized temporary variables being read/modified.
U16* pX = #state.pX;
// The following operations would fail:
pX += 5;
if (pX & 0x04) {
...
}
[CLI] Fixed missing description in error messages during code generation.
[SCS] The graphical user interface will now adjust to Windows font scaling.
[SCS] In the task code editor, when the procedure documentation pop-up is displayed, clicking mouse buttons or scrolling the mouse wheel one step closes the pop-up, as expected, but would also consume this mouse click or scrolling.
[SCS] The pop-up window for adding and editing constants and data structure members would not prevent creating a constant or data structure member without a name. Also, closing the pop-up window using the Esc key or X button in the top right corner would behave as either OK (when valid input) or Cancel (when invalid input).
[SCS] Fixed multiple task code editor issues:
The procedure documentation pop-up would not appear when pressing Ctrl+Space between the () of an existing procedure call without parameters or return values. Neither would it appear when re-typing the (.
The procedure documentation pop-up would not disappear when pressing Enter.
When pressing Enter inside an already existing indentation, the auto-indentation would not account for any spaces to the right of the cursor. Resulting behavior was that the white-space would increase per Enter by the number of spaces to the right of the cursor.
When pressing Enter, the editor would not auto-scroll to the current line.
[TASK] ADC resource: Fixed typo in the examples (adccompbSelectGpioInput() changed to adcSelectGpioInput()).
[TASK] SPI Chip Select and SPI Data Transfer resources: Fixed typo in the examples (spiTx8Bit() and spiRx16Bit() changed to spiTx8bit() and spiRx16bit(), respectively).
[TASK] UART Emulator resource: Fixed CCS compile issue in the API that this resource adds to the SCIF driver.
[SCS] Fixed example prerequisites pop-up not being displayed when opening an example project through the Examples list in the Start Page panel.
[EXMP] Changed example application scifStartRtcTicks() calls to scifStartRtcTicksNow(). When copying and pasting example code into larger applications, this prevents the first tick from being scheduled in the past.
[CODE] When the generated driver is used with TI-RTOS, the I/O pins used by the Sensor Controller are not reserved through the PIN driver. This has now been documented in the OSAL section of the generated driver. It is possible to manually implement compile-time or run-time checking of I/O mapping by using the generated I/O mapping definitions.
[FWK] Made the scifInit() and scifUninit() functions thread-safe wrt. accesses to the AON_WUC:AUXCTL and AON_EVENT:MCUWUSEL registers.
[SCS] In the Task Debugging panel it is no longer possible to enable a breakpoint at the last instruction of a zero-overhead loop (using the loop instruction). Doing this would previously corrupt the program flow.
Alpha Functionality
The following procedures for use in Sensor Controller task code are included in the installation, but have not been tested:
adcDisableInputScaling()
adcEnableAsync()
adcFlushFifo()
adcGetFifoStatus()
adcSelectIntInput()
adcStartAuxTimer0Trigger()
adcStopAuxTimer0Trigger()
compaEnable()
compaGetOutput()
compaSelectGpioRef()
compaSelectIntRef()
spiTx16bit()
spiTxRx16bit()
spiTxRx8bit()
spiRx8bit()
Known Issues
[EXMP] In the Capacitive Touch Data Logger example, the application's I/O mapping of the UART (for data logging) does not work with the SensorTag. The current I/O mapping matches instead SmartRF06EB + CC2650EM-7ID. It is recommended to run this example through the Task Testing panel in Sensor Controller Studio.
[SCS] Task testing execution speed is slow and unpredictable. The achieved speed depends on task code execution time, size of task data structure, the host PC etc.
[SCS] Task testing graph features are currently limited:
No X-axis labels
No legend for graph array members
Zoom functionality is not fully functional
Settings are not stored between Sensor Controller Studio sessions
Version 1.0.0.34897
Release date: February 23, 2015
Alpha Functionality
The following procedures for use in Sensor Controller task code are included in the installation, but have not been tested:
adcEnableAsync()
adcFlushFifo()
adcGetFifoStatus()
adcSelectIntInput()
adcStartAuxTimer0Trigger()
adcStopAuxTimer0Trigger()
compaEnable()
compaGetOutput()
compaSelectGpioRef()
compaSelectIntRef()
spiTx16bit()
spiTxRx16bit()
spiTxRx8bit()
spiRx8bit()
utilIncrAndSat()
utilSwapEndianess()
Known Issues
[SCS] In the task code editor, the procedure documentation pop-up does not appear when pressing Ctrl+Space between the "()" of an existing procedure call without parameters or return values. Neither does it appear when re-typing the "(".
[SCS] In the task code editor, when pressing Enter inside an already existing indentation, the auto-indentation does not account for any spaces to the right of the cursor. It seems that it only checks leading white-space on the previous line, and adds this white-space on the next line. Resulting behavior is that the white-space will increase per "Enter" by the number of spaces to the right of the cursor.
[SCS] In the task code editor, when pressing Enter repeatedly in the task code editor, the editor does not auto-scroll to the current line. Instead the cursor disappears below the bottom of the editor viewport.
[EXMP] The examples currently call scifStartRtcTicks() with a hardcoded value for the tickStart parameter. This will not work in a typical application where the Sensor Controller is initialized (and reinitialized) after a random period of time. Currently, there is no common function in DriverLib/TI-RTOS for reading RTC SEC+SUBSEC atomically.
[SCS] Parts of the graphical user interface do not scale properly with Windows font scaling.
[FWK] When the generated driver is used with TI-RTOS, the I/O pins used by the Sensor Controller are not reserved through the PIN driver.
[SCS] Task testing execution speed is slow and unpredictable. The achieved speed depends on task code execution time, size of task data structure, the host PC etc.
[SCS] Task testing graph features are currently limited:
No X-axis labels
No legend for graph array members
Zoom functionality is not fully functional
Settings are not stored between Sensor Controller Studio sessions
[SCS] In the Task Debugging panel, enabling a breakpoint at the last instruction of a zero-overhead loop (using the loop instruction) will cause incorrect execution flow. This action should be prevented, but is currently not.