SNOA993A June   2018  – July 2021 LDC2112 , LDC2114 , LDC3114 , LDC3114-Q1

 

  1.   Trademarks
  2. 1Introduction
  3. 2Scan Rate and Sampling Interval
    1. 2.1 Low Power Mode and Normal Power Mode
    2. 2.2 Button Sequencing and Error Handling
  4. 3Data Polarity and Timeout
    1. 3.1 Button Timeout
  5. 4Internal Algorithms Overview
  6. 5Baseline Tracking
    1. 5.1 Baseline Increment
    2. 5.2 Baseline Tracking Reset
    3. 5.3 Button Actuation Time
    4. 5.4 BTPAUSE
    5. 5.5 Fast Tracking Factor
  7. 6Gain, Hysteresis, and Threshold
    1. 6.1 Threshold and Hysteresis
  8. 7Multi-Button Algorithms
    1. 7.1 Max Win
    2. 7.2 Anti-Common Mode
    3. 7.3 Anti-Twist Factor
    4. 7.4 Anti-Deform Factor
  9. 8Summary
  10. 9Revision History

Anti-Twist Factor

Anti-Twist inhibits false button events which are caused by torques and twists on the unit. These forces can produce opposite-phase responses on buttons.

GUID-D9C9964F-B7EC-49CB-AA67-30F747BC1180-low.pngFigure 7-3 Example Twist Force Applied to Device

This functionality is enabled by setting the ANTITWIST register field to any value from 1 to 7; it is not enabled if ANTITWIST is set to 0, which is the default value. When ANTITWIST is enabled, all active buttons will be affected by the processing. The Anti-twist threshold is 4×ANTITWIST, and so it can be set from 4 to 28. Anti-Twist uses the following pseudo-code:

If Out[0] or Out[1] or Out[2] or Out[3] is true then

If at least for one channel: net[channel] > AntiTwist and

If at least for one channel: net[channel] < -AntiTwist then

For each active channel

baseline[channel] = raw_data[channel]

Next Channel

GUID-1A61BD2D-567C-41D4-9902-638ECD354F37-low.gifFigure 7-4 Anti-Twist Functionality

Basically, if any channel is found to exceed the Anti-Twist threshold in a positive direction simultaneous with another channel exceeding the Anti-Twist threshold in a negative direction, then any button press detection is disabled. This algorithm does not alter the Net Data in the output registers.