This chapter describes the differences between releases of the CapTIvate software library. The latest (most current) builds are shown first.
CapTIvate Software Library for MSP430 CPUX Devices
The following builds support the MSP430 CPUX CapTIvate-enabled devices.
1.83.00 (Feature Enhancement)
Build Date: May 2020
This release extends CapTIvate software library support to Trackpad use-cases.
1.82.00 (Feature Enhancement)
Build Date: January 2020
This release extends CapTIvate software library support to the MSP430FR2672 and MSP430FR2673 devices.
1.80.00 (Feature Enhancement)
Build Date: March 2019
This release extends CapTIvate software library support to the MSP430FR2676 family of devices.
1.60.00 (Feature Enhancement)
Build Date: November 2017
This release extends CapTIvate software library support to the MSP430FR2522 and MSP430FR2512 devices.
Feature Additions from Previous Version
- Adding MSP430FR2522 and MSP430FR2512 device support
- Adding MSP430FR2522 family ROM header file and CCS/IAR libraries
- Adding BOOSTXL-CAPKEYPAD example projects
- Adding MSP-TS430RHL20 example project
- Adding new runtime calibration algorithm (max offset calibration)
Functional Changes from Previous Version
- The default DCO and MCLK frequency in the CapTIvate starter projects is now 16 MHz instead of 8 MHz, and a DCO trim procedure is not performed, as 16 MHz is a factory trimmed frequency. This reduced the board support package code footprint. SMCLK remains unchanged at 2 MHz. To support 16 MHz execution from FRAM, 1 FRAM wait state is added.
1.10.03(Feature Enhancement)
Build Date: July 2017
Functional Changes from Previous Version
- Correcting reference capacitance bit fields in CAPT_HAL.h. The reference capacitance values presented are only the unique values, and the descriptions are now accurate to the hardware.
- Adding CAPT_testForMaxCountRecalibration() and CAPT_testForNegativeTouchRecalibration() functions to test for a re-calibration based on a max count error flag or negative touch flag, repsectively. This is now checked in CAPT_Manager in the CAPT_updateUI() routine. If a sensor has runtime re-calibration enabled, and a sensor max count event occurs, a re-calibration will be performed by CAPT_updateUI() and the max count flag will be cleared. If a negative touch flag is set and the re-calibration flag is set, a re-calibration will be performed by CAPT_updateUI(). In addition, CAPT_updateSensorRawCount has been updated to only set the sensor max count flag (bMaxCountError) in the event that an element's final, composite count has reached or exceeded the max count threshold (after oversampling and frequency hopping have been applied). This prevents false max count errors from propagating if there is noise present in the measurement that is removed by frequency hopping or oversampling.
- eMultiFrequencyWithOutlierRemovalAndErrCorrection is being deprecated as a conversion style option. From this build forward, eStandard, eMultiFrequency and eMultiFrequencyWithOutlierRemoval conversion styles all utilize error correction. This improves algorithm performance and also allows for efficient detection of true max count errors that were caused by a real max count condition, as opposed to noise. Going forward, selecting eMultiFrequencyWithOutlierRemovalAndErrCorrection will provide the exact same results as eMultiFrequencyWithOutlierRemoval.
1.10.00 (Feature Enhancement)
Build Date: March 2017
This is a feature addition and bug fix build.
Feature Additions from Previous Version
- Building pre-compiled object libraries based on device family (e.g. captivate_fr2633_family.lib instead of captivate.lib)
- Adding library support for MSP430FR2522 family
- Adding IQmath and Qmath library support to template projects and examples. This is needed to support trackpad projects.
- Adding trackpad sensor support.
- Adding device specific ROM header files.
- Project will now determine ROM header file inclusion based upon the MSP430FR2633 style definitions that are defined by the IDE; it will not be necessary to add the previous "TARGET_IS_FR2633" definitions.
Functional Changes from Previous Version
- Moving all pre-compiled object libraries into /libraries directory inside of the respective sub-modules
- Moving device specific ROM sub header files into /rom_headers
1.04.04.00 (Bug Fix and Feature Enhancement)
Build Date: January 2017
This is a bug fix and feature addition build.
Feature Additions from Previous Version
- Adding a new conversion mode: eMultiFrequencyWithOutlierRemovalAndErrCorrection. This replaces a raw sample with a max count error (passing the error threshold) with the previous composite sample, improving noise immunity.
Functional Changes from Previous Version
- A bug in CAPT_updateSensorTimeout() that prevented the timeout feature from being disabled is now fixed. Setting the CapTIvate timeout threshold to UINT16_MAX or 65535 now disables the sensor timeout feature correctly.
1.04.00 (Feature Enhancement)
Build Date: August 2016
This is a feature addition build.
Feature Additions from Previous Version
- Adding support for using the VLO to clock the CapTIvate timer in LPM4 when in wake-on-proximity mode to the CAPT_App layer. This allows applications to achieve very low average power consumption when a crystal is not used for the low frequency clock (ACLK). Entering LPM4 disables ACLK (turning of XT1 or the REFO, whichever was used for ACLK). The CapTIvate peripheral may still be clocked from the VLO in LPM4, if the VLO is selected as the clock source. The trade-off with using this mode is reduced time-keeping accuracy in wake-on-proximity mode. To enable this feature, define CAPT_WOP_VLO_LPM4 in CAPT_App.c. For more details, see the Ultra Low Power section of the Design Guide chapter of the CapTIvate Technology Guide.
- Adding a string write function to the COMM layer of the CapTIvate library. This allows for a string to be written over the CapTIvate HID-BRIDGE interface for debug, if desired. The new functions are CAPT_writeString() and CAPT_getStringPacket().
- Adding the ProximityRangeSensor example project. This example project shows how to implement a basic range sensing application using the CAPTIVATE-PROXIMITY sensing panel.
- The MSP peripheral driver library is updated to include support for the DCO manual trim procedure.
Functional Changes from Previous Version
- The CapTIvate Starter Project default stack size was reduced to 256B from 512B. Testing estimates the worst case stack usage for most applications to be <128B.
1.03.02 (Patch Build)
Build Date: January 2016
This is a patch build to address two bugs:
- Changing back slashes to forward slashes in library #include directives for platform compatibility
- Removing debug content from CapTIvate pre-compiled library components, to prevent debug system warnings that occur from source code not being present to enable debug.
1.03.00 (Feature Enhancement)
Build Date: January 2016
This is a feature addition build.
Feature Additions from Previous Version
- New software example to demonstrate fast scan capability (FastSampleRate_FourButtons)
- Adding CAPT_getElementStateBitField() function to the CAPT_Touch layer. This function may be called from an application (such as in a callback) to get a bit field of status flags for all the elements in a sensor.
- Adding CAPT_getDominantButton() and CAPT_getDominantButtonAddr functions to the CAPT_Button layer. These functions provide easy, abstracted access to the dominant button output.
- Adding CAPT_getSensorPosition() function to the CAPT_Touch layer. This function may be called from an application (such as in a callback) to get a 16-bit integer representing the last sampled slider or wheel position.
- Jitter filter mechanism when noise immunity is enabled. This feature may be enabled or disabled by controlling the bJitterFilterEnable bit in the EMC configuration structure (tEMCConfig).
- Oversampling mechanism when CAPT_updateSensorRawCount() is used. Support for up to a 32x oversampling level has been added.
- Multi-frequency sampling and outlier removal may now be configured separately for self and mutual (projected) sensors when noise immunity is enabled OR when using the CAPT_updateSensorRawCount() function.
- A abstraction was added to the HAL for configuring an IO to be a shield. The functions CAPT_enableShieldIO(block, pin) and CAPT_disableShieldIO(block, pin) may be used to enable and disable a driven shield in self-capacitance mode.
Functional Changes from Previous Version
- Filtered tracking of relative noise values on a per-element basis has been removed from the library, as it did not offer significant performance benefits and required 4 bytes per element and additional CPU computation time.
- A absolute noise value is stored in the element structure whenever CAPT_updateSensorRawCount() is called for a multi-frequency measurement.
- The library and user configuration files now version-check each other and will throw a compiler warning if the versions do not match.
- The EMC configuration structure is now loaded in application space rather than in the library. CAPT_App.c now includes the call to CAPT_loadEMCConfig() in the CAPT_initUI() construct. The call to CAPT_loadEMCConfig() in CAPT_Manager was removed.
1.01.01 (Initial Release to Market)
Build Date: October 2015
This is the initial release to market build of the library to support XMS430FR26xx/25xx preview devices.
Feature Additions from Previous Version
- New software example for an ultra low power four button design (UltraLowPower_FourButtons)
- New software example for a code size optimized one button design (CodeSizeOptimized_OneButton)
- Electromagnetic compatibility (EMC) features were enhanced from the beta release.
- Fine tuning of multi-frequency algorithm (MFP)
- Addition of individual channel noise level sensing
- Addition of algorithm to handle power-up and runtime calibration in a noisy environment
- Addition of the dynamic threshold compensation (DTA) algorithm
- Patched UART receive handler bug that prevented exit from LPM after a new byte was received
Functional Changes from Previous Version
- The slider and wheel algorithm now reports position from 0 to ui16Resolution-1, rather than from 0 to ui16Resolution.
- It is now possible to disable the sensor timeout feature by setting the sensor timeout parameter to 65535.
1.00.10 (Beta Engineering Release)
Build Date: June 2015
This is the first beta release build.
Feature Additions from Previous Version
None, this is the first release.
Functional Changes from Previous Version
None, this is the first release.