|
Structure |
qt_touch_status_t |
|
Input / Output |
Output from the Library |
|
Use |
Holds the status (On/ Off) of the sensors and the linear and angular positions of sliders and rotors respectively |
|
Fields |
Comment |
|---|---|
|
sensor_states[] |
For Sensor, the sensor_states. Bit “n” = state of nth sensor : Bit Value 0 - indicates the sensor is not in detect Bit Value 1 - indicates the sensor is in detect |
|
rotor_slider_values[] |
Rotors angles or slider positions if rotors and sliders are used. These values are valid when sensor states shows that the corresponding rotor or slider is in detect |
The macro that can get the sensor state when the sensor number is provided can be something as below:
#define GET_SENSOR_STATE(SENSOR_NUMBER) \
qt_measure_data.qt_touch_status.sensor_states[(SENSOR_NUMBER/8)] & (1 <<(SENSOR_NUMBER % 8))
The host application can use this macro to act accordingly, the following example shows how to toggle a IO pin (PD2) based on the sensor0 state. (Set PD2 if sensor0 is in detect, and clear PD2 if sensor0 is not in detect)
DDRD |= (1u << PORTD2);
if (GET_SENSOR_STATE(0) !=0)
{
PORTD |= (1u << PORTD2); /* Set PORTD2 */
}
else
{
PORTD &= ~(1u << PORTD2); /* Clear PORTD2 */
}