ZHCSM23 December 2021 LDC3114
PRODUCTION DATA
Button events may be reported by using two methods. The first method is to monitor the OUTn pins (n = 0, 1, 2, or 3), which are push-pull outputs and can be used as interrupts to a microcontroller. The polarities of these pins are programmable through Register OPOL_DPOL (Address 0x1C). Any button press or error condition is also reported by the open-drain pin, INTB. The INTB pin polarity is configurable through Register INTPOL (Address 0x11). Any assertion of INTB is cleared upon reading Register STATUS (Address 0x00). Each push-pull output must be assigned to a dedicated general-purpose input pin on the microcontroller to avoid potential current fights.
The second method is through the I2C interface. The Register OUT (Address 0x01) contains the fields OUT0, OUT1, OUT2, and OUT3, which indicate when a button press has been detected. For more advanced button press measurements, the output DATAn registers (n = 0, 1, 2, or 3, Register DATA0_LSB - Address 0x02), which are 12-bit two’s complements, can be retrieved for all active buttons, and processed on a microcontroller. A valid button push is represented by a positive value. The polarity is configurable in Register OPOL_DPOL (Address 0x1C). The DATAn values can be used to implement multilevel buttons, where the data value is correlated to the amount of force applied to the button.