PinnacleTouch API¶
Data Modes¶
Allowed symbols for configuring the Pinnacle ASIC’s data reporting/measurements.
These are used as valid values for PinnacleTouch.data_mode.
-
circuitpython_cirque_pinnacle.PINNACLE_RELATIVE : int =
0¶ A mode to measure changes in X & Y axis positions. See Relative or Absolute mode API.
-
circuitpython_cirque_pinnacle.PINNACLE_ANYMEAS : int =
1¶ A mode for raw ADC measurements. See AnyMeas mode API.
-
circuitpython_cirque_pinnacle.PINNACLE_ABSOLUTE : int =
2¶ A mode to measure X, Y, & Z axis positions. See Relative or Absolute mode API.
PinnacleTouch class¶
- class circuitpython_cirque_pinnacle.PinnacleTouch(dr_pin: DigitalInOut)[source]¶
The abstract base class for driving the Pinnacle ASIC.
- Parameters:¶
- dr_pin: DigitalInOut¶
The input pin connected to the Pinnacle ASIC’s “Data Ready” pin.
Changed in version 2.0.0:
dr_pinis a required parameter.Previously, this parameter was conditionally optional.
- data_mode¶
This attribute controls the mode for which kind of data to report. The supported modes are
PINNACLE_RELATIVE,PINNACLE_ANYMEAS,PINNACLE_ABSOLUTE. Default isPINNACLE_RELATIVE.Important
When switching from
PINNACLE_ANYMEAStoPINNACLE_RELATIVEorPINNACLE_ABSOLUTE, all configurations are reset, and must be re-configured by usingabsolute_mode_config()orrelative_mode_config().
- rev2025¶
Is this trackpad using a newer firmware version?
This read-only property describes if the Pinnacle ASIC uses a firmware revision that was deployed on or around 2025. Consequently, some advanced configuration is not possible with this undocumented firmware revision. Thus, the following functionality is affected on the trackpads when this property returns
True:sample_ratecannot exceed100detect_finger_stylus()is non-operationaltune_edge_sensitivity()is non-operationalset_adc_gain()is non-operationalcalibration_matrixis non-operational
Added in version 2.0.0.
SPI & I2C Interfaces¶
-
class circuitpython_cirque_pinnacle.PinnacleTouchSPI(spi: SPI, ss_pin: DigitalInOut, dr_pin: DigitalInOut, spi_frequency: int =
13000000)[source]¶ Bases:
PinnacleTouchA derived class for interfacing with the Pinnacle ASIC via the SPI protocol.
- Parameters:¶
- spi: SPI¶
The object of the SPI bus to use. This object must be shared among other driver classes that use the same SPI bus (MOSI, MISO, & SCK pins).
- ss_pin: DigitalInOut¶
The “slave select” pin output to the Pinnacle ASIC.
- dr_pin: DigitalInOut¶
The input pin connected to the Pinnacle ASIC’s “Data Ready” pin.
Changed in version 2.0.0:
dr_pinis a required parameter.Previously, this parameter was conditionally optional.
- spi_frequency: int =
13000000¶ The SPI bus speed in Hz. Default is the maximum 13 MHz.
-
class circuitpython_cirque_pinnacle.PinnacleTouchI2C(i2c: I2C, dr_pin: DigitalInOut, address: int =
42)[source]¶ Bases:
PinnacleTouchA derived class for interfacing with the Pinnacle ASIC via the I2C protocol.
- Parameters:¶
- i2c: I2C¶
The object of the I2C bus to use. This object must be shared among other driver classes that use the same I2C bus (SDA & SCL pins).
- dr_pin: DigitalInOut¶
The input pin connected to the Pinnacle ASIC’s “Data Ready” pin.
Changed in version 2.0.0:
dr_pinis a required parameter.Previously, this parameter was conditionally optional.
- address: int =
42¶ The slave I2C address of the Pinnacle ASIC. Defaults to
0x2A.