13.5.1 Data Structures

qtm_surface_cs2t_control_t

  • Top-level container for surface configuration
  • Contains pointers to data and configuration structures
Struct Contents
qtm_surface_cs2t_control_t qtm_surface_cs2t_data_t *qtm_surface_cs2t_data;
qtm_surface_contact_data_t *qtm_surface_contact_data;
qtm_surface_cs_config_t *qtm_surface_cs_config;

qtm_surface_cs2t_data_t

  • Run-time data for the Surface CS/2T module
Parameter Size Range/Options Usage
qt_surface_cs2t_status 1 byte

Bit field

Bit 7: Reburst required

Reburst Required = 1

Indicates that further measurements are required to resolve/update contact status.
Bit 6: —
Bit 5: POS_MERGED_V Two contacts present, vertical positions too close to separate
Bit 4: POS_MERGED_H Two contacts present, horizontal positions too close to separate
Bit 3 —
Bit 2: —
Bit 1: —
Bit 0: Touch detection

Touch Detection = 1

Indicates that a touch contact is present on the surface.

qtm_surface_contact_data_t

  • Runtime data for individual touch contacts (array)
Parameter Size Range/Options Usage
qt_contact_status 1 byte

Bit field

Bit 7: —

Bit 6: —
Bit 5: POS_V_DEC Vertical position decreased
Bit 4: POS_V_INC Vertical position increased
Bit 3: POS_H_DEC Horizontal position decreased
Bit 2: POS_H_INC Horizontal position increased
Bit 1: POS_CHANGE Change in reported position
Bit 0: Touch detection

Touch Detection = 1

Indicates that a touch contact is present on the surface.
h_position_abs 2 bytes 0 to 4095 Unfiltered horizontal position
h_position 2 bytes 0 to 4095 Filtered horizontal position
v_position_abs 2 bytes 0 to 4095 Unfiltered vertical position
v_position 2 bytes 0 to 4095 Filtered vertical position
contact_size 2 bytes Sum of touch deltas at contact location

qtm_surface_cs_config_t

  • Configuration parameters for the touch surface
Parameter Size Range/Options Usage
start_key_h 2 bytes 0 to 65534 Start key of horizontal axis
number_of_keys_h 1 byte 0 to 255 Number of keys forming horizontal axis
start_key_v 2 bytes 0 to 65534 Start key of vertical axis
number_of_keys_v 1 byte 0 to 255 Number of keys forming vertical axis
resol_deadband 1 byte Bits 7:4 = Resolution 2 to 12 bits Full-scale position resolution reported for each axis
position_hysteresis 1 byte 0 to 255 The minimum travel distance to be reported after contact or direction change. Applies to horizontal and vertical.
position_filter 1 byte Bits 7:5: —
Bit 4: Median Filter Median filter enable
Bit 3: —
Bit 2: —
Bits 1:0: IIR Config

IIR Config

0 = None

1 = 25%

2 = 50%

3 = 75%

contact_min_threshold 2 bytes 0 to 65535 The minimum contact size measurement for persistent contact tracking. Contact size is the sum of neighboring keys’ touch deltas forming the touch contact.
*qtm_touch_key_data

Pointer

2/4 bytes

qtm_touch_key_data_t Pointer to touch key data for the underlying set of touch keys