touchpad4  2.0.0.0
Data Structures | Macros | Enumerations | Functions
touchpad4.h File Reference

This file contains API for Touchpad 4 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"

Go to the source code of this file.

Data Structures

struct  touchpad4_t
 Touchpad 4 Click context object. More...
 
struct  touchpad4_cfg_t
 Touchpad 4 Click configuration object. More...
 
struct  touchpad4_touch_t
 Touchpad 4 Click touch object. More...
 
struct  touchpad4_info_t
 Touchpad 4 Click touchpad information object. More...
 

Macros

#define TOUCHPAD4_REG_INFO_FLAGS   0x10
 Touchpad 4 description register. More...
 
#define TOUCHPAD4_REG_GESTURES   0x11
 
#define TOUCHPAD4_REG_RELATIVE_X   0x12
 
#define TOUCHPAD4_REG_RELATIVE_Y   0x13
 
#define TOUCHPAD4_REG_FINGER1_X   0x14
 
#define TOUCHPAD4_REG_FINGER1_Y   0x15
 
#define TOUCHPAD4_REG_FINGER1_TOUCH_STR   0x16
 
#define TOUCHPAD4_REG_FINGER1_AREA   0x17
 
#define TOUCHPAD4_REG_FINGER2_X   0x18
 
#define TOUCHPAD4_REG_FINGER2_Y   0x19
 
#define TOUCHPAD4_REG_FINGER2_TOUCH_STR   0x1A
 
#define TOUCHPAD4_REG_FINGER2_AREA   0x1B
 
#define TOUCHPAD4_REG_TOUCH_STATUS0   0x20
 
#define TOUCHPAD4_REG_TOUCH_STATUS1   0x21
 
#define TOUCHPAD4_REG_TOUCH_STATUS2   0x22
 
#define TOUCHPAD4_REG_ALP_CHANNEL_COUNT   0x23
 
#define TOUCHPAD4_REG_ALP_CHANNEL_LTA   0x24
 
#define TOUCHPAD4_REG_ALP_COUNT_A   0x25
 
#define TOUCHPAD4_REG_ALP_COUNT_B   0x26
 
#define TOUCHPAD4_REG_TRACKPAD_ATI_MULT_DIV   0x30
 
#define TOUCHPAD4_REG_TRACKPAD_ATI_COMP_DIV   0x31
 
#define TOUCHPAD4_REG_TRACKPAD_ATI_TARGET   0x32
 
#define TOUCHPAD4_REG_TRACKPAD_REF_DRIFT_LIMIT   0x33
 
#define TOUCHPAD4_REG_TRACKPAD_MIN_CNT_REATI_VAL   0x34
 
#define TOUCHPAD4_REG_REATI_RETRY_TIME   0x35
 
#define TOUCHPAD4_REG_ALP_ATI_MULT_DIV   0x36
 
#define TOUCHPAD4_REG_ALP_ATI_COMP_DIV   0x37
 
#define TOUCHPAD4_REG_ALP_ATI_TARGET   0x38
 
#define TOUCHPAD4_REG_ALP_ATI_DRIFT_LIMIT   0x39
 
#define TOUCHPAD4_REG_ALP_ATI_COMP_A   0x3A
 
#define TOUCHPAD4_REG_ALP_ATI_COMP_B   0x3B
 
#define TOUCHPAD4_REG_ACTIVE_MODE_REPORT_RATE   0x40
 
#define TOUCHPAD4_REG_IDLE_TOUCH_MODE_REPORT_RATE   0x41
 
#define TOUCHPAD4_REG_IDLE_MODE_REPORT_RATE   0x42
 
#define TOUCHPAD4_REG_LP1_MODE_REPORT_RATE   0x43
 
#define TOUCHPAD4_REG_LP2_MODE_REPORT_RATE   0x44
 
#define TOUCHPAD4_REG_ACTIVE_MODE_TIMEOUT   0x45
 
#define TOUCHPAD4_REG_IDLE_TOUCH_MODE_TIMEOUT   0x46
 
#define TOUCHPAD4_REG_IDLE_MODE_TIMEOUT   0x47
 
#define TOUCHPAD4_REG_LP1_MODE_TIMEOUT   0x48
 
#define TOUCHPAD4_REG_REFERENCE_UPDATE_TIME   0x49
 
#define TOUCHPAD4_REG_I2C_TIMEOUT   0x4A
 
#define TOUCHPAD4_REG_SYSTEM_CONTROL   0x50
 
#define TOUCHPAD4_REG_CONFIG_SETTINGS   0x51
 
#define TOUCHPAD4_REG_OTHER_SETTINGS   0x52
 
#define TOUCHPAD4_REG_TOUCH_CLEAR_SET_THRESH   0x53
 
#define TOUCHPAD4_REG_ALP_THRESH   0x54
 
#define TOUCHPAD4_REG_ALP_CLEAR_SET_DEBOUNCE   0x56
 
#define TOUCHPAD4_REG_TRACKPAD_CONVER_FREQ   0x58
 
#define TOUCHPAD4_REG_ALP_CONVER_FREQ   0x59
 
#define TOUCHPAD4_REG_TRACKPAD_HW_SETTINGS   0x5A
 
#define TOUCHPAD4_REG_ALP_HW_SETTINGS   0x5B
 
#define TOUCHPAD4_REG_TOTAL_RXS_TRACKPAD_SETTINGS   0x60
 
#define TOUCHPAD4_REG_MAX_MULTITOUCHES_TOTAL_TXS   0x61
 
#define TOUCHPAD4_REG_X_RES   0x62
 
#define TOUCHPAD4_REG_Y_RES   0x63
 
#define TOUCHPAD4_REG_XY_DYNAMIC_FILTER_BOT_SPEED   0x64
 
#define TOUCHPAD4_REG_XY_DYNAMIC_FILTER_TOP_SPEED   0x65
 
#define TOUCHPAD4_REG_STATIC_FILTER_VAL_DYNAMIC_FILTER_BOT   0x66
 
#define TOUCHPAD4_REG_FINGER_SPLIT_STAT_TOUCH_MOVE_THRESH   0x67
 
#define TOUCHPAD4_REG_X_TRIM_VALUE   0x68
 
#define TOUCHPAD4_REG_Y_TRIM_VALUE   0x69
 
#define TOUCHPAD4_REG_ALP_COUNT_FILTER_BETA   0x70
 
#define TOUCHPAD4_REG_LP2_LP1_BETA   0x71
 
#define TOUCHPAD4_REG_ALP_SETUP   0x72
 
#define TOUCHPAD4_REG_ALP_TX_ENABLE   0x73
 
#define TOUCHPAD4_REG_SETTINGS_MAJOR_MINOR_VER   0x74
 
#define TOUCHPAD4_REG_GESTURE_ENABLE   0x80
 
#define TOUCHPAD4_REG_TAP_TIME   0x81
 
#define TOUCHPAD4_REG_TAP_DIST   0x82
 
#define TOUCHPAD4_REG_HOLD_TIME   0x83
 
#define TOUCHPAD4_REG_SWIPE_TIME   0x84
 
#define TOUCHPAD4_REG_SWIPE_X_DIST   0x85
 
#define TOUCHPAD4_REG_SWIPE_Y_DIST   0x86
 
#define TOUCHPAD4_REG_SWIPE_ANGLE   0x87
 
#define TOUCHPAD4_REG_RXTX_MAP_1_0   0x90
 
#define TOUCHPAD4_REG_RXTX_MAP_3_2   0x91
 
#define TOUCHPAD4_REG_RXTX_MAP_5_4   0x92
 
#define TOUCHPAD4_REG_RXTX_MAP_7_6   0x93
 
#define TOUCHPAD4_REG_RXTX_MAP_9_8   0x94
 
#define TOUCHPAD4_REG_RXTX_MAP_11_10   0x95
 
#define TOUCHPAD4_REG_RXTX_MAP_13_12   0x96
 
#define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE0   0xA0
 
#define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE0   0xA1
 
#define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE1   0xA2
 
#define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE2   0xA3
 
#define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE2   0xA4
 
#define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE3   0xA5
 
#define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE4   0xA6
 
#define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE4   0xA7
 
#define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE5   0xA8
 
#define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE6   0xA9
 
#define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE6   0xAA
 
#define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE7   0xAB
 
#define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE8   0xAC
 
#define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE8   0xAD
 
#define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE9   0xAE
 
#define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE10   0xB0
 
#define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE10   0xB1
 
#define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE11   0xB2
 
#define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE12   0xB3
 
#define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE12   0xB4
 
#define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE13   0xB5
 
#define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE14   0xB6
 
#define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE14   0xB7
 
#define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE15   0xB8
 
#define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE16   0xB9
 
#define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE16   0xBA
 
#define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE17   0xBB
 
#define TOUCHPAD4_REG_TRACKPAD_COUNT_VAL   0xE0
 
#define TOUCHPAD4_REG_TRACKPAD_REF_VAL   0xE1
 
#define TOUCHPAD4_REG_TRACKPAD_DELTA_VAL   0xE2
 
#define TOUCHPAD4_REG_TRACKPAD_ATI_COMPENSATION_VAL   0xE3
 
#define TOUCHPAD4_SET_DEV_ADDR   0x56
 Touchpad 4 device address setting. More...
 
#define TOUCHPAD4_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping. More...
 

Enumerations

enum  touchpad4_return_value_t { TOUCHPAD4_OK = 0, TOUCHPAD4_ERROR = -1 }
 Touchpad 4 Click return value data. More...
 

Functions

void touchpad4_cfg_setup (touchpad4_cfg_t *cfg)
 Touchpad 4 configuration object setup function. More...
 
err_t touchpad4_init (touchpad4_t *ctx, touchpad4_cfg_t *cfg)
 Touchpad 4 initialization function. More...
 
err_t touchpad4_default_cfg (touchpad4_t *ctx)
 Touchpad 4 default configuration function. More...
 
err_t touchpad4_generic_write (touchpad4_t *ctx, uint8_t reg, uint16_t tx_data)
 Touchpad 4 I2C writing function. More...
 
err_t touchpad4_generic_read (touchpad4_t *ctx, uint8_t reg, uint16_t *rx_data)
 Touchpad 4 I2C reading function. More...
 
uint8_t touchpad4_get_ready (touchpad4_t *ctx)
 Get ready pin state. More...
 
void touchpad4_reset (touchpad4_t *ctx)
 Reset function. More...
 
err_t touchpad4_get_touch (touchpad4_t *ctx, touchpad4_info_t *touch_info)
 Read touch informations. More...
 
err_t touchpad_get_channels (touchpad4_t *ctx, uint32_t *channels)
 Read channel information. More...
 

Detailed Description

This file contains API for Touchpad 4 Click Driver.

Enumeration Type Documentation

◆ touchpad4_return_value_t

Touchpad 4 Click return value data.

Predefined enum values for driver return values.

Enumerator
TOUCHPAD4_OK 
TOUCHPAD4_ERROR