MEGA-1284P Xplained Example Application
Data Structures | Defines | Typedefs | Enumerations | Functions | Variables

touch_api.h File Reference

#include <stdbool.h>
#include <stdlib.h>

Go to the source code of this file.

Data Structures

struct  tag_qt_touch_status_t
struct  tag_qt_touch_lib_config_data_t
struct  tag_qt_touch_lib_measure_data_t
struct  qt_lib_sig_info_t
struct  tag_sensor_t

Defines

#define TICKS_PER_MS   500
#define DEF_QT_DI   2
#define DEF_QT_NEG_DRIFT_RATE   20
#define DEF_QT_POS_DRIFT_RATE   5
#define DEF_QT_DRIFT_HOLD_TIME   20
#define DEF_QT_MAX_ON_DURATION   50
#define DEF_QT_RECAL_THRESHOLD   RECAL_50
#define DEF_QT_POS_RECAL_DELAY   3u
#define JOIN(x, y)   x ## y
#define JOIN1(A, B, C)   A ## B ## C
#define REG(REGISTER, SIDE)   JOIN( REGISTER, SIDE )
#define CONCAT(A, B, C)   JOIN1( A, B, C )
#define QT_NUM_SENSOR_STATE_BYTES   ( ( QT_NUM_CHANNELS + 7u ) / 8u )
#define QTLIB_NO_ACTIVITY   (uint16_t) 0x0000
#define QTLIB_IN_DETECT   (uint16_t) 0x0001
#define QTLIB_STATUS_CHANGE   (uint16_t) 0x0002
#define QTLIB_ROTOR_SLIDER_POS_CHANGE   (uint16_t) 0x0004
#define QTLIB_CHANNEL_REF_CHANGE   (uint16_t) 0x0008
#define QTLIB_BURST_AGAIN   (uint16_t) 0x0100
#define QTLIB_RESOLVE_CAL   (uint16_t) 0x0200
#define QTLIB_RESOLVE_FILTERIN   (uint16_t) 0x0400
#define QTLIB_RESOLVE_DI   (uint16_t) 0x0800
#define QTLIB_RESOLVE_POS_RECAL   (uint16_t) 0x1000

Typedefs

typedef uint8_t threshold_t
typedef enum tag_sensor_type_t sensor_type_t
typedef enum tag_aks_group_t aks_group_t
typedef enum tag_channel_t channel_t
typedef enum tag_hysteresis_t hysteresis_t
typedef enum tag_resolution_t resolution_t
typedef enum tag_recal_threshold_t recal_threshold_t
typedef struct
tag_qt_touch_status_t 
qt_touch_status_t
typedef struct
tag_qt_touch_lib_config_data_t 
qt_touch_lib_config_data_t
typedef struct
tag_qt_touch_lib_measure_data_t 
qt_touch_lib_measure_data_t
typedef struct qt_lib_sig_info_t qt_lib_siginfo_t
typedef struct tag_sensor_t sensor_t

Enumerations

enum  tag_sensor_type_t { SENSOR_TYPE_UNASSIGNED, SENSOR_TYPE_KEY, SENSOR_TYPE_ROTOR, SENSOR_TYPE_SLIDER }
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
}
enum  tag_channel_t
enum  tag_hysteresis_t { HYST_50, HYST_25, HYST_12_5, HYST_6_25 }
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
}
enum  tag_recal_threshold_t {
  RECAL_100, RECAL_50, RECAL_25, RECAL_12_5,
  RECAL_6_25
}

Functions

int16_t qt_get_sensor_delta (uint8_t sensor)
void qt_get_library_sig (qt_lib_siginfo_t *lib_sig_ptr)
void qt_enable_key (channel_t channel, aks_group_t aks_group, threshold_t detect_threshold, hysteresis_t detect_hysteresis)
unsigned short qt_measure_sensors (unsigned short current_time_ms)
void qt_calibrate_sensing (void)
void qt_reset_sensing (void)

Variables

qt_touch_lib_config_data_t qt_config_data
qt_touch_lib_measure_data_t qt_measure_data
uint16_t lib_status_flags
sensor_t sensors [QT_NUM_CHANNELS]
uint16_t qt_measurement_period_msec
 Touch acquisition timer period in msec.
void(* qt_filter_callback )(void)

Define Documentation

#define CONCAT (   A,
  B,
 
)    JOIN1( A, B, C )
#define DEF_QT_DI   2
#define DEF_QT_DRIFT_HOLD_TIME   20
#define DEF_QT_MAX_ON_DURATION   50
#define DEF_QT_NEG_DRIFT_RATE   20
#define DEF_QT_POS_DRIFT_RATE   5
#define DEF_QT_POS_RECAL_DELAY   3u
#define DEF_QT_RECAL_THRESHOLD   RECAL_50
#define JOIN (   x,
 
)    x ## y
#define JOIN1 (   A,
  B,
 
)    A ## B ## C
#define QT_NUM_SENSOR_STATE_BYTES   ( ( QT_NUM_CHANNELS + 7u ) / 8u )
#define QTLIB_BURST_AGAIN   (uint16_t) 0x0100
#define QTLIB_CHANNEL_REF_CHANGE   (uint16_t) 0x0008
#define QTLIB_IN_DETECT   (uint16_t) 0x0001
#define QTLIB_NO_ACTIVITY   (uint16_t) 0x0000
#define QTLIB_RESOLVE_CAL   (uint16_t) 0x0200
#define QTLIB_RESOLVE_DI   (uint16_t) 0x0800
#define QTLIB_RESOLVE_FILTERIN   (uint16_t) 0x0400
#define QTLIB_RESOLVE_POS_RECAL   (uint16_t) 0x1000
#define QTLIB_ROTOR_SLIDER_POS_CHANGE   (uint16_t) 0x0004
#define QTLIB_STATUS_CHANGE   (uint16_t) 0x0002
#define REG (   REGISTER,
  SIDE 
)    JOIN( REGISTER, SIDE )
#define TICKS_PER_MS   500

Typedef Documentation

typedef enum tag_channel_t channel_t
typedef struct tag_sensor_t sensor_t
typedef uint8_t threshold_t

Enumeration Type Documentation

Enumerator:
NO_AKS_GROUP 
AKS_GROUP_1 
AKS_GROUP_2 
AKS_GROUP_3 
AKS_GROUP_4 
AKS_GROUP_5 
AKS_GROUP_6 
AKS_GROUP_7 
Enumerator:
HYST_50 
HYST_25 
HYST_12_5 
HYST_6_25 
Enumerator:
RECAL_100 
RECAL_50 
RECAL_25 
RECAL_12_5 
RECAL_6_25 
Enumerator:
RES_1_BIT 
RES_2_BIT 
RES_3_BIT 
RES_4_BIT 
RES_5_BIT 
RES_6_BIT 
RES_7_BIT 
RES_8_BIT 
Enumerator:
SENSOR_TYPE_UNASSIGNED 
SENSOR_TYPE_KEY 
SENSOR_TYPE_ROTOR 
SENSOR_TYPE_SLIDER 

Function Documentation

void qt_calibrate_sensing ( void  )
void qt_enable_key ( channel_t  channel,
aks_group_t  aks_group,
threshold_t  detect_threshold,
hysteresis_t  detect_hysteresis 
)
void qt_get_library_sig ( qt_lib_siginfo_t lib_sig_ptr)
int16_t qt_get_sensor_delta ( uint8_t  sensor)
unsigned short qt_measure_sensors ( unsigned short  current_time_ms)
void qt_reset_sensing ( void  )

Variable Documentation

uint16_t lib_status_flags
void(* qt_filter_callback)(void)
sensor_t sensors[QT_NUM_CHANNELS]
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines