3.1.7.2 Data Structures

qtm_surface_cs_control_t

  • Top-level container for surface configuration
  • Contains pointers to data and configuration structures
StructContents
qtm_surface_cs_control_tqtm_surface_contact_data_t *qtm_surface_contact_data;
qtm_surface_cs_config_t *qtm_surface_cs_config;

qtm_surface_contact_data_t

  • Run-time data for touch surface
ParameterSizeRange/OptionsUsage
qt_surface_status1 byteBit field

Bit 7: Reburst required

Reburst Required = 1

Indicates that further measurements are required to resolve/update contact status.
Bit 6: —
Bit 5: POS_V_DECVertical position decreased
Bit 4: POS_V_INCVertical position increased
Bit 3: POS_H_DECHorizontal position decreased
Bit 2: POS_H_INCHorizontal position increased
Bit 1: POS_CHANGEChange in reported position
Bit 0: Touch detectionTouch Detection = 1

Indicates that a touch contact is present on the surface

h_position_abs2 bytes0 to 4095Apparent horizontal position
h_position2 bytes0 to 4095Motion filtered horizontal position
v_position_abs2 bytes0 to 4095Apparent vertical position
v_position2 bytes0 to 4095Motion filtered vertical position
contact_size2 bytesSum of touch deltas at contact location

qtm_surface_cs_config_t

  • Configuration parameters for the touch surface
ParameterSizeRange/OptionsUsage
start_key_h2 bytes0 to 65534Start key of horizontal axis
number_of_keys_h1 byte0 to 255The number of keys forming horizontal axis
start_key_v2 bytes0 to 65534Start key of vertical axis
number_of_keys_v1 byte0 to 255The number of keys forming vertical axis
resol_deadband1 byteBits 7:4 = Resolution 2 to 12 bitsFull-scale position resolution reported for the axis
position_hysteresis1 byte0 to 255The minimum travel distance to be reported after contact or direction change. Applies to Horizontal and Vertical.
position_filter1 byteBits7:5: —
Bit 4: Median FilterMedian filter enable
Bit3 : —
Bit 2: —
Bits 1:0: IIR ConfigIIR Config

0 = None

1 = 25%

2 = 50%

3 = 75%

contact_min_threshold2 bytes0 to 65535The 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_dataPointer

2/4 bytes

qtm_touch_key_data_tPointer to touch key data for the underlying set of touch keys.