Changelog

All notable changes to the mTouch® library and the MPLAB® Code Configurator (MCC) module are documented here.

Version 2.91.1

It is recommended to apply V2.91.1 and regenerate the code for all ongoing projects.

Repairs and Enhancements:

  • Compilation error when host interface gets selected in interrupt mode is fixed.
  • ADCC command order for touch acquisition is corrected.

Version 2.91.0

Repairs and Enhancements.

  • 16LF18877 Low power timing functionality.
  • Host Interrupt Pin to improve host interface performance.
  • MSSP buffer issue - PIC18F24Q10.
  • UART1/2 selection updates.
  • AKS functionality.
  • HWCVD acquisition gives an OVF error.
  • ADCC: ADGRDA pin functionality checking.
  • Frequencyhop ADPRE overflow error at 64 MHz.
  • Debounce minimum specified.
  • Updated Popup behavior when using Q10 devices with 64 MHz system clock.

Known Issues

  • Vector interrupts and PIC18F57Q84 prevents mTouch project generation

Version 2.90.2

Repairs and Enhancements

  • Q10 device touch stability vs clock.
  • Driven shield BIST issue.
  • Button Host Interface Bug compilation error.

Version 2.90.1

Repairs and Enhancements

  • Disabled sensors are not considered for AKS mechanism.
  • Elaborate notification for modification of clock frequency is provided.
  • Hardware sensor term is replaced by “Touch channel” for better understanding for the user.
  • Notification stating low power code generation is not supported for PIC12 is provided.

Changed

  • Changed the MCC core support to v4.0.2.

Fixed

  • Misleading warning corresponding to assigning an analog channel to ADC is fixed.
  • PIC16&18 low power code not delivering low power numbers is fixed.

Known Issues

  • Low power support for PIC12 devices is not supported currently via MCC.

Version 2.90.0

Added

  • Added Built-in Self-Test (BIST) feature to ADC2/ADC3 devices.
  • Added PIC18 Q84/Q83/Q40/Q40 and PIC16F181xx device support.

Changed

  • Changed the MCC core support to v4.0.0.

Fixed

  • Fixed the bug in generating software Capacitive Voltage Divider (CVD) project.

Known Issues

  • The Timer2/4/6/8 module that is used by mTouch might generate unnecessary warnings in some circumstances.
  • If the user changes the settings of other peripheral (Enhanced Universal Synchronous Asynchronous Receiver Transmitter (EUSART) and Timer1) modules, which are used by the mTouch module, the touch behavior could be changed.

Version 2.80

Added

  • Added lump sensor support to combine multiple sensors internally for dual Analog-to-Digital (ADC) device.
  • Added host interface to communicate with the I2C host device.
  • Added PIC18 Q43 device support.

Changed

  • Changed the TAD of 12-bit ADC to 0.5 uS, which shortens the CVD conversion time by half.
  • Changed the maximum allowed oversampling to 64 from 32.
  • Changed to load the Analog-to-Digital Converter with Computation (ADCC) module from the peripheral library so that the user can configure the ADC for other tasks.

Fixed

  • Fixed the maximum charge timing of 12-bit ADC devices.
  • Fixed the bug of calculating the waveform timing.

Version 2.70

Added

  • Added Low Power mode and Automatic mode switching between Normal and Low Power mode.
  • Added CVD waveform timing diagram in the configurator.
  • Added Application Programming Interface (API) example file when the project is generated.

Changed

  • Changed the parameter configuration from individual files into one centralized file (mtouch_config.h file).
  • Changed the gesture module API naming to be consistent with other modules.

Fixed

  • Fixed the debounce functionality when debounce is set to 2.
  • Fixed the RAM variable access bug in the surface debug communication module when compiler optimization set to SPACE.

Version 2.60.1

Added

  • Added wider range Timer1 tick setting support for scan scheduling.

Changed

  • Changed the frequency hop step for ADCC device to improve efficiency.

Fixed

  • Fixed bug in dual ADC acquisition when TMR4 is used for scheduling the scan.
  • Fixed bug when button/proximity debouncing and Adjacent Key Suppression™ (AKS™) are both enabled.
  • Fixed bug in wheel interpolation.
  • Fixed bug when enabling surface module without gesture feature.
  • Fixed bug of documentation link.
  • Fixed bug of overlapped graph display in Data Visualizer.

Version 2.60

Added

  • Added 2D surface touch and gesture support.
  • Added communication support to 2D Touch Surface Utility.

Changed

  • Changed the sensor pin initialization responsibility to MCC pin manager.

Fixed

  • Fixed dual ADC acquisition with only one sensor in the scan group.
  • Fixed bug in button/proximity debouncing.
  • Fixed bug in auto-calibration for ADCC devices.
  • Fixed the software CVD overrun issue due to other interrupts.

Changed

  • Changed MTOUCH_Sensor_ADCC_Initialize( ) as public function.

Fixed

  • Fixed Typo in the viewer and notification.
  • Fixed the bug for dual ADC acquisition code.
  • Fixed Data visualizer display label.
  • Fixed Callback function for polling option.
  • Fixed Baseline update bug for AKS technology.
  • Fixed the hysteresis implementation.
  • Fixed the proximity deviation calculation.

Version 2.50.1

Added

  • Added interrupt protection for the critical section in ADCC acquisition.

Changed

  • Changed MTOUCH_Sensor_ADCC_Initialize( ) as public function.

Fixed

  • Fixed Typo in the viewer and notification.
  • Fixed the bug for dual ADC acquisition code.
  • Fixed Data visualizer display label.
  • Fixed Callback function for polling option.
  • Fixed Baseline update bug for AKS technology.
  • Fixed the hysteresis implementation.
  • Fixed the proximity deviation calculation.

Version 2.50

Added

  • Slider and Wheel support.
  • Button/Proximity Sensor Suspend and Disable feature.
  • Robust feature.
  • Hysteresis option.
  • Drive Idle sensor as shield option.

Changed

  • New user interface.
  • Changed the display label in Data Visualizer.
  • Changed CVD scan waveform for ADC² device for less emission.

Fixed

  • Debounce for button and proximity sensor.
  • Fixed the missing callback interface in the Proximity sensor module.

Version 2.40

Added

  • Button/Proximity Sensor debounce option.
  • Data Visualizer support for debugging.
  • Scan Rate option.

Changed

  • Changed to compile with MCC core v4.35.

Fixed

  • Fixed the bug in ADC² device acquisition.
  • Fixed the wrong typecast in mtouch_sensor.c file.

Version 2.30

Added

  • Added 12-bit ADC² devices support.
  • AKS technology group support.
  • Corrupted scan data protection.

Changed

  • Changed to compile with MCC core v4.26.

Version 2.00

Added

  • Added 10-bit ADC² devices support.
  • Added analog auto-calibration.

Changed

  • Changed to compile with MCC core v4.15.
  • Improved the Automatic Frequency Adaptation (AFA) algorithm.
  • Changed the mtouch_sensor data structure.

Fixed

  • Fixed the notification.
  • Fixed the reloading issue.

Version 1.11

Changed

  • Changed to compile with MCC core v3.25.
  • Changed Frequency resolution for AFA.

Fixed

  • Fixed the notification.
  • Fixed the reloading issue.

Version 1.10

Added

  • Added dual ADC parts support (PIC16LF1554/1559/1566/1567).
  • Added button and proximity sensor reading filter option.
  • Added advanced filter for the proximity sensor.
  • Added individual oversampling, precharge, and acquisition time option.
  • Added error handling in all the modules.

Changed

  • Changed code structure for AFA algorithm.

Removed

  • Removed ADC module dependency when configuring the mTouch module.

Fixed

  • Fixed the notification.
  • Fixed the reloading issue.

Version 1.00

Initial release for the mTouch library.

© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.