This file contains the QTouch Libary API interface for AVR 8-bit, AVR 32-bit and Atmel ARM QMatrix and QTouch method Capacitive Touch acquisition.
- Compiler: IAR EWAVR/EWAVR32 and GNU GCC for AVR/AVR32 IAR Workbench and GNU GCC for Atmel ARM.
- Supported devices: Atmel AVR 8-bit, AVR 32-bit, Atmel ARM.
- Userguide: QTouch Library User Guide - doc8207.pdf.
- Support: https://www.microchip.com/support/
- Author
- Microchip Technology Inc: http://www.microchip.com
|
#define | _STATIC_PORT_PIN_CONF_ |
|
#define | BURST_FUNC_NAME BURST_JOIN( _STATIC_PORT_PIN_CONF_, QTOUCH_SNS_PORT_COUNT, INTRABURST_1, INTRABURST_2, _POWER_OPTIMIZATION_, QTOUCH_PIN_CONF ) |
| Build pointer to correct burst function. More...
|
|
#define | BURST_JOIN(static_flag, num_ports, intra1, intra2, pow_opt, qtouch_pin_conf) JOIN4( static_flag, num_ports, intra1, intra2, pow_opt, qtouch_pin_conf ) |
|
#define | CALCULATE_MASKS calc_masks |
| This part of the code below is used for library selection. More...
|
|
#define | CONCAT(A, B, C) JOIN1( A, B, C ) |
|
#define | DEF_QT_DI 4u |
| Initialization values for the Qtouch library parameters. More...
|
|
#define | DEF_QT_DRIFT_HOLD_TIME 20 /* 4s */ |
| Sensor drift hold time. More...
|
|
#define | DEF_QT_MAX_ON_DURATION 0 /* disabled */ |
| Sensor maximum on duration. More...
|
|
#define | DEF_QT_NEG_DRIFT_RATE 20 /* 4s per LSB */ |
| Sensor negative drift rate. More...
|
|
#define | DEF_QT_POS_DRIFT_RATE 5 /* 1s per LSB */ |
| Sensor positive drift rate. More...
|
|
#define | DEF_QT_POS_RECAL_DELAY 3u |
| Positive recalibration delay. More...
|
|
#define | DEF_QT_RECAL_THRESHOLD RECAL_50 /* recal threshold = 50% of detect */ |
| Sensor recalibration threshold. More...
|
|
#define | JOIN(x, y) x ## y |
| WARNING! Do not edit below this line. More...
|
|
#define | JOIN1(A, B, C) A ## B ## C |
|
#define | JOIN4(a, b, c, d, e, f) burst_ ## a ## _ ## b ## _ ## c ## d ## _ ## e ##_ ## f |
| Macros for string concatenation. More...
|
|
#define | qt_init_sensing() qt_init_sensing_with_burst( BURST_FUNC_NAME ,CALCULATE_MASKS) |
| initialise touch sensing. More...
|
|
#define | QT_MAX_NUM_ROTORS_SLIDERS 4 |
|
#define | QT_NUM_SENSOR_STATE_BYTES ( ( QT_NUM_CHANNELS + 7u ) / 8u ) |
| The number of bytes required to report the maximum possible number of sensors. More...
|
|
#define | QTLIB_BURST_AGAIN (uint16_t) 0x0100 |
| indicating that reburst is needed to resolve in FILTERIN or FILTEROUT or RECALIBRATE state. More...
|
|
#define | QTLIB_CHANNEL_REF_CHANGE (uint16_t) 0x0008 |
| indicating that at least one reference value has changed since last call to measure_sensors. More...
|
|
#define | QTLIB_IN_DETECT (uint16_t) 0x0001 |
| indicating that at least one sensor is in detect. More...
|
|
#define | QTLIB_NO_ACTIVITY (uint16_t) 0x0000 |
| Status flags used with debug. More...
|
|
#define | QTLIB_RESOLVE_CAL (uint16_t) 0x0200 |
| indicating that reburst is needed to resolve in CALIBRATION. More...
|
|
#define | QTLIB_RESOLVE_DI (uint16_t) 0x0800 |
| indicating that reburst is needed to resolve in RECAL. More...
|
|
#define | QTLIB_RESOLVE_FILTERIN (uint16_t) 0x0400 |
| indicating that reburst is needed to resolve in FILTERING. More...
|
|
#define | QTLIB_RESOLVE_POS_RECAL (uint16_t) 0x1000 |
| indicating that reburst is needed to resolve in RECAL. More...
|
|
#define | QTLIB_ROTOR_SLIDER_POS_CHANGE (uint16_t) 0x0004 |
| indicating that at least one rotor slider has changed position since last call to measure_sensors. More...
|
|
#define | QTLIB_STATUS_CHANGE (uint16_t) 0x0002 |
| indicating that at least one sensor haschanged ON/OFF state since last call to measure_sensors. More...
|
|
#define | QTOUCH_SNS_PORT_COUNT 2u |
|
#define | REG(REGISTER, SIDE) JOIN( REGISTER, SIDE ) |
| Macro to build register writes for controlling ports. More...
|
|
#define | TICKS_PER_MS 500u |
| QTouch libraries are supplied built with a range of charge times. More...
|
|
#define | TOUCH_DATA_T uint8_t |
|
|
enum | tag_aks_group_t {
NO_AKS_GROUP,
AKS_GROUP_1,
AKS_GROUP_2,
AKS_GROUP_3,
AKS_GROUP_4,
AKS_GROUP_5,
AKS_GROUP_6,
AKS_GROUP_7
} |
| Which AKS group, if any, a sensor is in. More...
|
|
enum | tag_channel_t {
CHANNEL_0,
CHANNEL_1,
CHANNEL_2,
CHANNEL_3,
CHANNEL_4,
CHANNEL_5,
CHANNEL_6,
CHANNEL_7,
CHANNEL_8,
CHANNEL_9,
CHANNEL_10,
CHANNEL_11,
CHANNEL_12,
CHANNEL_13,
CHANNEL_14,
CHANNEL_15
} |
| The channel(s) in a sensor. More...
|
|
enum | tag_hysteresis_t {
HYST_50,
HYST_25,
HYST_12_5,
HYST_6_25
} |
| A sensor detection hysteresis value. More...
|
|
enum | tag_recal_threshold_t {
RECAL_100 = 0,
RECAL_50,
RECAL_25,
RECAL_12_5,
RECAL_6_25
} |
| A sensor recalibration threshold. More...
|
|
enum | tag_resolution_t {
RES_1_BIT,
RES_2_BIT,
RES_3_BIT,
RES_4_BIT,
RES_5_BIT,
RES_6_BIT,
RES_7_BIT,
RES_8_BIT
} |
| For rotors and sliders, the resolution of the reported angle or position. More...
|
|
enum | tag_sensor_type_t {
SENSOR_TYPE_UNASSIGNED,
SENSOR_TYPE_KEY,
SENSOR_TYPE_ROTOR,
SENSOR_TYPE_SLIDER
} |
| Options for the sensor types available. More...
|
|
|
void | BURST_FUNC_NAME (TOUCH_DATA_T mask_index) |
| Burst function prototype. The code itself is stored in the touch library. More...
|
|
void | calc_masks (void) |
|
void | qt_calibrate_sensing (void) |
| calibrate touch sensing. More...
|
|
void | qt_enable_key (channel_t channel, aks_group_t aks_group, threshold_t detect_threshold, hysteresis_t detect_hysteresis) |
| enable a key sensor. More...
|
|
void | qt_enable_rotor (channel_t from_channel, channel_t to_channel, aks_group_t aks_group, threshold_t detect_threshold, hysteresis_t detect_hysteresis, resolution_t angle_resolution, uint8_t angle_hysteresis) |
| enable a rotor sensor. More...
|
|
void | qt_enable_slider (channel_t from_channel, channel_t to_channel, aks_group_t aks_group, threshold_t detect_threshold, hysteresis_t detect_hysteresis, resolution_t position_resolution, uint8_t position_hysteresis) |
| enable a slider sensor. More...
|
|
void | qt_get_library_sig (qt_lib_siginfo_t *lib_sig_ptr) |
| Get the library signature. More...
|
|
int16_t | qt_get_sensor_delta (uint8_t sensor) |
| get the current delta on the specified sensor. More...
|
|
void | qt_init_sensing_with_burst (void(*burst_function)(TOUCH_DATA_T mask_index), void(*calculate_masks)(void)) |
|
uint16_t | qt_measure_sensors (uint16_t current_time_ms) |
| measure touch sensors. More...
|
|
void | qt_reset_sensing (void) |
| reset touch sensing. More...
|
|