1.8.2 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 |