12.3 Functional Description

Initialization

Data structures must be loaded with configurations before library usage. The ‘surface_cs’ module is initialized by calling the ‘qtm_init_surface_cs()’ API.

Supporting Modules

Sensor nodes (‘acquisition’ module) and keys (‘touch_key’ module) must be appropriately configured as required by the ‘surface_cs’ module.

Sensor Node Configuration

Surface CS requires sensors configured and grouped to implement one horizontal and one vertical slider. If X pins are arranged horizontally, then the vertical slider is made up of (All X)/Each Y. Similarly, the horizontal slider is made up of Each X/(All Y).

Run-Time Operation

Surface CS functions as a top-level module providing touch contact information to the application. It utilizes a touch key library module for sensor calibration, signal drift, touch detection, and timed feature implementations. The touch key module itself uses a target-specific acquisition module to interface with the capacitive measurement hardware.

In a QTML application, the module processing order must be called correctly:

  1. Acquisition of measurements of all sensor nodes - qtm_ptc_start_measurement_seq();
  2. Acquisition processing for all sensor nodes - qtm_acquisition_process();
  3. Touch Key processing for all keys - qtm_key_sensors_process();
  4. Surface CS processing - qtm_surface_cs_process();