Go to the documentation of this file.
35 #include "drv_digital_out.h"
36 #include "drv_digital_in.h"
37 #include "drv_i2c_master.h"
59 #define TOUCHPAD4_REG_INFO_FLAGS 0x10
60 #define TOUCHPAD4_REG_GESTURES 0x11
61 #define TOUCHPAD4_REG_RELATIVE_X 0x12
62 #define TOUCHPAD4_REG_RELATIVE_Y 0x13
63 #define TOUCHPAD4_REG_FINGER1_X 0x14
64 #define TOUCHPAD4_REG_FINGER1_Y 0x15
65 #define TOUCHPAD4_REG_FINGER1_TOUCH_STR 0x16
66 #define TOUCHPAD4_REG_FINGER1_AREA 0x17
67 #define TOUCHPAD4_REG_FINGER2_X 0x18
68 #define TOUCHPAD4_REG_FINGER2_Y 0x19
69 #define TOUCHPAD4_REG_FINGER2_TOUCH_STR 0x1A
70 #define TOUCHPAD4_REG_FINGER2_AREA 0x1B
71 #define TOUCHPAD4_REG_TOUCH_STATUS0 0x20
72 #define TOUCHPAD4_REG_TOUCH_STATUS1 0x21
73 #define TOUCHPAD4_REG_TOUCH_STATUS2 0x22
74 #define TOUCHPAD4_REG_ALP_CHANNEL_COUNT 0x23
75 #define TOUCHPAD4_REG_ALP_CHANNEL_LTA 0x24
76 #define TOUCHPAD4_REG_ALP_COUNT_A 0x25
77 #define TOUCHPAD4_REG_ALP_COUNT_B 0x26
78 #define TOUCHPAD4_REG_TRACKPAD_ATI_MULT_DIV 0x30
79 #define TOUCHPAD4_REG_TRACKPAD_ATI_COMP_DIV 0x31
80 #define TOUCHPAD4_REG_TRACKPAD_ATI_TARGET 0x32
81 #define TOUCHPAD4_REG_TRACKPAD_REF_DRIFT_LIMIT 0x33
82 #define TOUCHPAD4_REG_TRACKPAD_MIN_CNT_REATI_VAL 0x34
83 #define TOUCHPAD4_REG_REATI_RETRY_TIME 0x35
84 #define TOUCHPAD4_REG_ALP_ATI_MULT_DIV 0x36
85 #define TOUCHPAD4_REG_ALP_ATI_COMP_DIV 0x37
86 #define TOUCHPAD4_REG_ALP_ATI_TARGET 0x38
87 #define TOUCHPAD4_REG_ALP_ATI_DRIFT_LIMIT 0x39
88 #define TOUCHPAD4_REG_ALP_ATI_COMP_A 0x3A
89 #define TOUCHPAD4_REG_ALP_ATI_COMP_B 0x3B
90 #define TOUCHPAD4_REG_ACTIVE_MODE_REPORT_RATE 0x40
91 #define TOUCHPAD4_REG_IDLE_TOUCH_MODE_REPORT_RATE 0x41
92 #define TOUCHPAD4_REG_IDLE_MODE_REPORT_RATE 0x42
93 #define TOUCHPAD4_REG_LP1_MODE_REPORT_RATE 0x43
94 #define TOUCHPAD4_REG_LP2_MODE_REPORT_RATE 0x44
95 #define TOUCHPAD4_REG_ACTIVE_MODE_TIMEOUT 0x45
96 #define TOUCHPAD4_REG_IDLE_TOUCH_MODE_TIMEOUT 0x46
97 #define TOUCHPAD4_REG_IDLE_MODE_TIMEOUT 0x47
98 #define TOUCHPAD4_REG_LP1_MODE_TIMEOUT 0x48
99 #define TOUCHPAD4_REG_REFERENCE_UPDATE_TIME 0x49
100 #define TOUCHPAD4_REG_I2C_TIMEOUT 0x4A
101 #define TOUCHPAD4_REG_SYSTEM_CONTROL 0x50
102 #define TOUCHPAD4_REG_CONFIG_SETTINGS 0x51
103 #define TOUCHPAD4_REG_OTHER_SETTINGS 0x52
104 #define TOUCHPAD4_REG_TOUCH_CLEAR_SET_THRESH 0x53
105 #define TOUCHPAD4_REG_ALP_THRESH 0x54
106 #define TOUCHPAD4_REG_ALP_CLEAR_SET_DEBOUNCE 0x56
107 #define TOUCHPAD4_REG_TRACKPAD_CONVER_FREQ 0x58
108 #define TOUCHPAD4_REG_ALP_CONVER_FREQ 0x59
109 #define TOUCHPAD4_REG_TRACKPAD_HW_SETTINGS 0x5A
110 #define TOUCHPAD4_REG_ALP_HW_SETTINGS 0x5B
111 #define TOUCHPAD4_REG_TOTAL_RXS_TRACKPAD_SETTINGS 0x60
112 #define TOUCHPAD4_REG_MAX_MULTITOUCHES_TOTAL_TXS 0x61
113 #define TOUCHPAD4_REG_X_RES 0x62
114 #define TOUCHPAD4_REG_Y_RES 0x63
115 #define TOUCHPAD4_REG_XY_DYNAMIC_FILTER_BOT_SPEED 0x64
116 #define TOUCHPAD4_REG_XY_DYNAMIC_FILTER_TOP_SPEED 0x65
117 #define TOUCHPAD4_REG_STATIC_FILTER_VAL_DYNAMIC_FILTER_BOT 0x66
118 #define TOUCHPAD4_REG_FINGER_SPLIT_STAT_TOUCH_MOVE_THRESH 0x67
119 #define TOUCHPAD4_REG_X_TRIM_VALUE 0x68
120 #define TOUCHPAD4_REG_Y_TRIM_VALUE 0x69
121 #define TOUCHPAD4_REG_ALP_COUNT_FILTER_BETA 0x70
122 #define TOUCHPAD4_REG_LP2_LP1_BETA 0x71
123 #define TOUCHPAD4_REG_ALP_SETUP 0x72
124 #define TOUCHPAD4_REG_ALP_TX_ENABLE 0x73
125 #define TOUCHPAD4_REG_SETTINGS_MAJOR_MINOR_VER 0x74
126 #define TOUCHPAD4_REG_GESTURE_ENABLE 0x80
127 #define TOUCHPAD4_REG_TAP_TIME 0x81
128 #define TOUCHPAD4_REG_TAP_DIST 0x82
129 #define TOUCHPAD4_REG_HOLD_TIME 0x83
130 #define TOUCHPAD4_REG_SWIPE_TIME 0x84
131 #define TOUCHPAD4_REG_SWIPE_X_DIST 0x85
132 #define TOUCHPAD4_REG_SWIPE_Y_DIST 0x86
133 #define TOUCHPAD4_REG_SWIPE_ANGLE 0x87
134 #define TOUCHPAD4_REG_RXTX_MAP_1_0 0x90
135 #define TOUCHPAD4_REG_RXTX_MAP_3_2 0x91
136 #define TOUCHPAD4_REG_RXTX_MAP_5_4 0x92
137 #define TOUCHPAD4_REG_RXTX_MAP_7_6 0x93
138 #define TOUCHPAD4_REG_RXTX_MAP_9_8 0x94
139 #define TOUCHPAD4_REG_RXTX_MAP_11_10 0x95
140 #define TOUCHPAD4_REG_RXTX_MAP_13_12 0x96
141 #define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE0 0xA0
142 #define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE0 0xA1
143 #define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE1 0xA2
144 #define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE2 0xA3
145 #define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE2 0xA4
146 #define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE3 0xA5
147 #define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE4 0xA6
148 #define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE4 0xA7
149 #define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE5 0xA8
150 #define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE6 0xA9
151 #define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE6 0xAA
152 #define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE7 0xAB
153 #define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE8 0xAC
154 #define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE8 0xAD
155 #define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE9 0xAE
156 #define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE10 0xB0
157 #define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE10 0xB1
158 #define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE11 0xB2
159 #define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE12 0xB3
160 #define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE12 0xB4
161 #define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE13 0xB5
162 #define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE14 0xB6
163 #define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE14 0xB7
164 #define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE15 0xB8
165 #define TOUCHPAD4_REG_1st_CHANNEL_FOR_CYCLE16 0xB9
166 #define TOUCHPAD4_REG_2nd_CHANNEL_FOR_CYCLE16 0xBA
167 #define TOUCHPAD4_REG_2nd1st_CHANNEL_FOR_CYCLE17 0xBB
168 #define TOUCHPAD4_REG_TRACKPAD_COUNT_VAL 0xE0
169 #define TOUCHPAD4_REG_TRACKPAD_REF_VAL 0xE1
170 #define TOUCHPAD4_REG_TRACKPAD_DELTA_VAL 0xE2
171 #define TOUCHPAD4_REG_TRACKPAD_ATI_COMPENSATION_VAL 0xE3
191 #define TOUCHPAD4_SET_DEV_ADDR 0x56
209 #define TOUCHPAD4_MAP_MIKROBUS( cfg, mikrobus ) \
210 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
211 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
212 cfg.mclr = MIKROBUS( mikrobus, MIKROBUS_RST ); \
213 cfg.rdy = MIKROBUS( mikrobus, MIKROBUS_INT )
234 uint8_t slave_address;
235 uint8_t event_enabled;
275 uint8_t number_of_touches;
415 #endif // TOUCHPAD4_H
Definition: touchpad4.h:285
err_t touchpad4_init(touchpad4_t *ctx, touchpad4_cfg_t *cfg)
Touchpad 4 initialization function.
Definition: touchpad4.h:286
err_t touchpad4_generic_read(touchpad4_t *ctx, uint8_t reg, uint16_t *rx_data)
Touchpad 4 I2C reading function.
touchpad4_return_value_t
Touchpad 4 Click return value data.
Definition: touchpad4.h:283
Touchpad 4 Click configuration object.
Definition: touchpad4.h:242
Touchpad 4 Click touch object.
Definition: touchpad4.h:259
err_t touchpad4_get_touch(touchpad4_t *ctx, touchpad4_info_t *touch_info)
Read touch informations.
Touchpad 4 Click touchpad information object.
Definition: touchpad4.h:272
void touchpad4_cfg_setup(touchpad4_cfg_t *cfg)
Touchpad 4 configuration object setup function.
void touchpad4_reset(touchpad4_t *ctx)
Reset function.
err_t touchpad4_default_cfg(touchpad4_t *ctx)
Touchpad 4 default configuration function.
uint8_t touchpad4_get_ready(touchpad4_t *ctx)
Get ready pin state.
Touchpad 4 Click context object.
Definition: touchpad4.h:221
err_t touchpad_get_channels(touchpad4_t *ctx, uint32_t *channels)
Read channel information.
err_t touchpad4_generic_write(touchpad4_t *ctx, uint8_t reg, uint16_t tx_data)
Touchpad 4 I2C writing function.