capslider3 2.2.0
Loading...
Searching...
No Matches
capslider3.h
Go to the documentation of this file.
1/****************************************************************************
2** Copyright (C) 2020 MikroElektronika d.o.o.
3** Contact: https://www.mikroe.com/contact
4**
5** Permission is hereby granted, free of charge, to any person obtaining a copy
6** of this software and associated documentation files (the "Software"), to deal
7** in the Software without restriction, including without limitation the rights
8** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9** copies of the Software, and to permit persons to whom the Software is
10** furnished to do so, subject to the following conditions:
11** The above copyright notice and this permission notice shall be
12** included in all copies or substantial portions of the Software.
13**
14** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
16** OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
19** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20** USE OR OTHER DEALINGS IN THE SOFTWARE.
21****************************************************************************/
22
27
28#ifndef CAPSLIDER3_H
29#define CAPSLIDER3_H
30
31#ifdef __cplusplus
32extern "C"{
33#endif
34
39#ifdef PREINIT_SUPPORTED
40#include "preinit.h"
41#endif
42
43#ifdef MikroCCoreVersion
44 #if MikroCCoreVersion >= 1
45 #include "delays.h"
46 #endif
47#endif
48
49#include "drv_digital_out.h"
50#include "drv_digital_in.h"
51#include "drv_i2c_master.h"
52
58
63
68
73#define CAPSLIDER3_REG_PROD_NUM 0x00
74#define CAPSLIDER3_REG_MAJOR_VERSION_NUM 0x01
75#define CAPSLIDER3_REG_MINOR_VERSION_NUM 0x02
76#define CAPSLIDER3_REG_SYSTEM_STATUS 0x10
77#define CAPSLIDER3_REG_GESTURES 0x11
78#define CAPSLIDER3_REG_SLIDER 0x12
79#define CAPSLIDER3_REG_CH0_COUNTS 0x13
80#define CAPSLIDER3_REG_CH0_LTA 0x14
81#define CAPSLIDER3_REG_CH1_COUNTS 0x15
82#define CAPSLIDER3_REG_CH1_LTA 0x16
83#define CAPSLIDER3_REG_CH2_COUNTS 0x17
84#define CAPSLIDER3_REG_CH2_LTA 0x18
85#define CAPSLIDER3_REG_CH0_ACT_MOVE_LTA 0x20
86#define CAPSLIDER3_REG_CH1_ACT_MOVE_LTA 0x21
87#define CAPSLIDER3_REG_CH2_ACT_MOVE_LTA 0x22
88#define CAPSLIDER3_REG_CH0_DELTA_SNAP 0x23
89#define CAPSLIDER3_REG_CH1_DELTA_SNAP 0x24
90#define CAPSLIDER3_REG_CH2_DELTA_SNAP 0x25
91#define CAPSLIDER3_REG_S0_SETUP_0 0x30
92#define CAPSLIDER3_REG_S0_CONV_FREQ_SETUP 0x31
93#define CAPSLIDER3_REG_S0_PROX_CONTROL 0x32
94#define CAPSLIDER3_REG_S0_PROX_INPUT_CONTROL 0x33
95#define CAPSLIDER3_REG_S0_PATTERN_DEFINITIONS 0x34
96#define CAPSLIDER3_REG_S0_PATTERN_SELECT 0x35
97#define CAPSLIDER3_REG_S0_ATI_SETUP 0x36
98#define CAPSLIDER3_REG_S0_ATI_BASE 0x37
99#define CAPSLIDER3_REG_S0_ATI_MULTI_SELECTION 0x38
100#define CAPSLIDER3_REG_S0_COMPENSATION 0x39
101#define CAPSLIDER3_REG_S1_SETUP_0 0x40
102#define CAPSLIDER3_REG_S1_CONV_FREQ_SETUP 0x41
103#define CAPSLIDER3_REG_S1_PROX_CONTROL 0x42
104#define CAPSLIDER3_REG_S1_PROX_INPUT_CONTROL 0x43
105#define CAPSLIDER3_REG_S1_PATTERN_DEFINITIONS 0x44
106#define CAPSLIDER3_REG_S1_PATTERN_SELECT 0x45
107#define CAPSLIDER3_REG_S1_ATI_SETUP 0x46
108#define CAPSLIDER3_REG_S1_ATI_BASE 0x47
109#define CAPSLIDER3_REG_S1_ATI_MULTI_SELECTION 0x48
110#define CAPSLIDER3_REG_S1_COMPENSATION 0x49
111#define CAPSLIDER3_REG_S2_SETUP_0 0x50
112#define CAPSLIDER3_REG_S2_CONV_FREQ_SETUP 0x51
113#define CAPSLIDER3_REG_S2_PROX_CONTROL 0x52
114#define CAPSLIDER3_REG_S2_PROX_INPUT_CONTROL 0x53
115#define CAPSLIDER3_REG_S2_PATTERN_DEFINITIONS 0x54
116#define CAPSLIDER3_REG_S2_PATTERN_SELECT 0x55
117#define CAPSLIDER3_REG_S2_ATI_SETUP 0x56
118#define CAPSLIDER3_REG_S2_ATI_BASE 0x57
119#define CAPSLIDER3_REG_S2_ATI_MULTI_SELECTION 0x58
120#define CAPSLIDER3_REG_S2_COMPENSATION 0x59
121#define CAPSLIDER3_REG_CH0_SETUP_0 0x60
122#define CAPSLIDER3_REG_CH0_PROX_SETTINGS 0x61
123#define CAPSLIDER3_REG_CH0_TOUCH_SETTINGS 0x62
124#define CAPSLIDER3_REG_CH0_FOLLOWER_WEIGHT 0x63
125#define CAPSLIDER3_REG_CH0_MOVEMENT_UI 0x64
126#define CAPSLIDER3_REG_CH1_SETUP_0 0x70
127#define CAPSLIDER3_REG_CH1_PROX_SETTINGS 0x71
128#define CAPSLIDER3_REG_CH1_TOUCH_SETTINGS 0x72
129#define CAPSLIDER3_REG_CH1_FOLLOWER_WEIGHT 0x73
130#define CAPSLIDER3_REG_CH1_MOVEMENT_UI 0x74
131#define CAPSLIDER3_REG_CH2_SETUP_0 0x80
132#define CAPSLIDER3_REG_CH2_PROX_SETTINGS 0x81
133#define CAPSLIDER3_REG_CH2_TOUCH_SETTINGS 0x82
134#define CAPSLIDER3_REG_CH2_FOLLOWER_WEIGHT 0x83
135#define CAPSLIDER3_REG_CH2_MOVEMENT_UI 0x84
136#define CAPSLIDER3_REG_SLIDER_SETUP_CALIBRATION 0x90
137#define CAPSLIDER3_REG_SLIDER_CALIBRATION_BOT_SPEED 0x91
138#define CAPSLIDER3_REG_SLIDER_TOP_SPEED 0x92
139#define CAPSLIDER3_REG_SLIDER_RESOLUTION 0x93
140#define CAPSLIDER3_REG_SLIDER_EN_MASK 0x94
141#define CAPSLIDER3_REG_SLIDER_EN_STATUS_POINTER 0x95
142#define CAPSLIDER3_REG_SLIDER_DELTA_LINK_0 0x96
143#define CAPSLIDER3_REG_SLIDER_DELTA_LINK_1 0x97
144#define CAPSLIDER3_REG_SLIDER_DELTA_LINK_2 0x98
145#define CAPSLIDER3_REG_GESTURE_ENABLE 0xA0
146#define CAPSLIDER3_REG_GESTURE_MINIMUM_TIME 0xA1
147#define CAPSLIDER3_REG_GESTURE_MAX_TAP_TIME 0xA2
148#define CAPSLIDER3_REG_GESTURE_MAX_SWIPE_TIME 0xA3
149#define CAPSLIDER3_REG_GESTURE_MIN_HOLD_TIME 0xA4
150#define CAPSLIDER3_REG_GESTURE_MAX_TAP_DISTANCE 0xA5
151#define CAPSLIDER3_REG_GESTURE_MIN_SWIPE_DISTANCE 0xA6
152#define CAPSLIDER3_REG_COUNTS_FILTER_BETA 0xB0
153#define CAPSLIDER3_REG_LTA_FILTER_BETA 0xB1
154#define CAPSLIDER3_REG_LTA_FAST_FILTER_BETA 0xB2
155#define CAPSLIDER3_REG_ACT_MOVE_LTA_FILTER_BETA 0xB3
156#define CAPSLIDER3_REG_FAST_FILTER_BAND 0xB4
157#define CAPSLIDER3_REG_SYSTEM_CONTROL 0xC0
158#define CAPSLIDER3_REG_NORMAL_POWER_REPORT_RATE 0xC1
159#define CAPSLIDER3_REG_LOW_POWER_REPORT_RATE 0xC2
160#define CAPSLIDER3_REG_ULP_REPORT_RATE 0xC3
161#define CAPSLIDER3_REG_HALT_MODE_REPORT_RATE 0xC4
162#define CAPSLIDER3_REG_POWER_MODE_TIMEOUT 0xC5
163#define CAPSLIDER3_REG_OUTA_MASK 0xD0
164#define CAPSLIDER3_REG_I2C_TRANS_TIMEOUT 0xD1
165#define CAPSLIDER3_REG_EVENT_TIMEOUTS 0xD2
166#define CAPSLIDER3_REG_EVENT_EN_ACTIVATION_THRESHOLD 0xD3
167#define CAPSLIDER3_REG_RELEASE_UI_MOVE_TIMEOUT 0xD4
168#define CAPSLIDER3_REG_I2C_SETUP 0xE0
169#define CAPSLIDER3_REG_HARDWARE_ID 0xE1
170 // capslider3_reg
172
177
182
187#define CAPSLIDER3_GESTURES_BUSY 0x0080
188#define CAPSLIDER3_GESTURES_EVENT 0x0040
189#define CAPSLIDER3_GESTURES_HOLD 0x0020
190#define CAPSLIDER3_GESTURES_FLICK_NEG 0x0010
191#define CAPSLIDER3_GESTURES_FLICK_POS 0x0008
192#define CAPSLIDER3_GESTURES_SWIPE_NEG 0x0004
193#define CAPSLIDER3_GESTURES_SWIPE_POS 0x0002
194#define CAPSLIDER3_GESTURES_TAP 0x0001
195
200#define CAPSLIDER3_SYSTEM_STATUS_POWER_MODE_NORMAL 0x0000
201#define CAPSLIDER3_SYSTEM_STATUS_POWER_MODE_LP 0x4000
202#define CAPSLIDER3_SYSTEM_STATUS_POWER_MODE_ULP 0x8000
203#define CAPSLIDER3_SYSTEM_STATUS_POWER_MODE_HALT 0xC000
204#define CAPSLIDER3_SYSTEM_STATUS_POWER_MODE_MASK 0xC000
205#define CAPSLIDER3_SYSTEM_STATUS_CH2_TOUCH 0x2000
206#define CAPSLIDER3_SYSTEM_STATUS_CH2_PROX 0x1000
207#define CAPSLIDER3_SYSTEM_STATUS_CH1_TOUCH 0x0800
208#define CAPSLIDER3_SYSTEM_STATUS_CH1_PROX 0x0400
209#define CAPSLIDER3_SYSTEM_STATUS_CH0_TOUCH 0x0200
210#define CAPSLIDER3_SYSTEM_STATUS_CH0_PROX 0x0100
211#define CAPSLIDER3_SYSTEM_STATUS_RESET_EVENT 0x0080
212#define CAPSLIDER3_SYSTEM_STATUS_ATI_ERROR 0x0040
213#define CAPSLIDER3_SYSTEM_STATUS_ATI_ACTIVE 0x0020
214#define CAPSLIDER3_SYSTEM_STATUS_ATI_EVENT 0x0010
215#define CAPSLIDER3_SYSTEM_STATUS_POWER_EVENT 0x0008
216#define CAPSLIDER3_SYSTEM_STATUS_SLIDER_EVENT 0x0004
217#define CAPSLIDER3_SYSTEM_STATUS_TOUCH_EVENT 0x0002
218#define CAPSLIDER3_SYSTEM_STATUS_PROX_EVENT 0x0001
219
224#define CAPSLIDER3_SYSTEM_CONTROL_CH2_TIMEOUT_EN 0x0000
225#define CAPSLIDER3_SYSTEM_CONTROL_CH2_TIMEOUT_DIS 0x0400
226#define CAPSLIDER3_SYSTEM_CONTROL_CH2_TIMEOUT_MASK 0x0400
227#define CAPSLIDER3_SYSTEM_CONTROL_CH1_TIMEOUT_EN 0x0000
228#define CAPSLIDER3_SYSTEM_CONTROL_CH1_TIMEOUT_DIS 0x0200
229#define CAPSLIDER3_SYSTEM_CONTROL_CH1_TIMEOUT_MASK 0x0200
230#define CAPSLIDER3_SYSTEM_CONTROL_CH0_TIMEOUT_EN 0x0000
231#define CAPSLIDER3_SYSTEM_CONTROL_CH0_TIMEOUT_DIS 0x0100
232#define CAPSLIDER3_SYSTEM_CONTROL_CH0_TIMEOUT_MASK 0x0100
233#define CAPSLIDER3_SYSTEM_CONTROL_IF_TYPE_STREAM 0x0000
234#define CAPSLIDER3_SYSTEM_CONTROL_IF_TYPE_EVENT 0x0080
235#define CAPSLIDER3_SYSTEM_CONTROL_IF_TYPE_MASK 0x0080
236#define CAPSLIDER3_SYSTEM_CONTROL_POWER_MODE_NORMAL 0x0000
237#define CAPSLIDER3_SYSTEM_CONTROL_POWER_MODE_LP 0x0010
238#define CAPSLIDER3_SYSTEM_CONTROL_POWER_MODE_ULP 0x0020
239#define CAPSLIDER3_SYSTEM_CONTROL_POWER_MODE_HALT 0x0030
240#define CAPSLIDER3_SYSTEM_CONTROL_POWER_MODE_AUTO 0x0040
241#define CAPSLIDER3_SYSTEM_CONTROL_POWER_MODE_AUTO_NO_ULP 0x0050
242#define CAPSLIDER3_SYSTEM_CONTROL_POWER_MODE_MASK 0x0070
243#define CAPSLIDER3_SYSTEM_CONTROL_RESEED_IDLE 0x0000
244#define CAPSLIDER3_SYSTEM_CONTROL_RESEED_TRIGGER 0x0008
245#define CAPSLIDER3_SYSTEM_CONTROL_RESEED_MASK 0x0008
246#define CAPSLIDER3_SYSTEM_CONTROL_RE_ATI_IDLE 0x0000
247#define CAPSLIDER3_SYSTEM_CONTROL_RE_ATI_TRIGGER 0x0004
248#define CAPSLIDER3_SYSTEM_CONTROL_RE_ATI_MASK 0x0004
249#define CAPSLIDER3_SYSTEM_CONTROL_SOFT_RESET_IDLE 0x0000
250#define CAPSLIDER3_SYSTEM_CONTROL_SOFT_RESET_TRIGGER 0x0002
251#define CAPSLIDER3_SYSTEM_CONTROL_SOFT_RESET_MASK 0x0002
252#define CAPSLIDER3_SYSTEM_CONTROL_ACK_RESET_NACK 0x0000
253#define CAPSLIDER3_SYSTEM_CONTROL_ACK_RESET_ACK 0x0001
254#define CAPSLIDER3_SYSTEM_CONTROL_ACK_RESET_MASK 0x0001
255
260#define CAPSLIDER3_SLIDER_MAX 2048
261#define CAPSLIDER3_SLIDER_MIN 0
262#define CAPSLIDER3_SLIDER_IDLE 65535
263
268#define CAPSLIDER3_S0_SETUP_0 0x0201
269#define CAPSLIDER3_S0_CONV_FREQ_SETUP 0x057F
270#define CAPSLIDER3_S0_PROX_CONTROL 0x1290
271#define CAPSLIDER3_S0_PROX_INPUT_CONTROL 0x02CF
272#define CAPSLIDER3_S0_PATTERN_DEFINITIONS 0x030A
273#define CAPSLIDER3_S0_PATTERN_SELECT 0x0000
274#define CAPSLIDER3_S0_ATI_SETUP 0x03CC
275#define CAPSLIDER3_S0_ATI_BASE 0x0096
276#define CAPSLIDER3_S0_ATI_MULTI_SELECTION 0x5644
277#define CAPSLIDER3_S0_COMPENSATION 0xA3EC
278#define CAPSLIDER3_S1_SETUP_0 0x0101
279#define CAPSLIDER3_S1_CONV_FREQ_SETUP 0x057F
280#define CAPSLIDER3_S1_PROX_CONTROL 0x1290
281#define CAPSLIDER3_S1_PROX_INPUT_CONTROL 0x01CF
282#define CAPSLIDER3_S1_PATTERN_DEFINITIONS 0x030A
283#define CAPSLIDER3_S1_PATTERN_SELECT 0x0000
284#define CAPSLIDER3_S1_ATI_SETUP 0x03CC
285#define CAPSLIDER3_S1_ATI_BASE 0x0096
286#define CAPSLIDER3_S1_ATI_MULTI_SELECTION 0x5E44
287#define CAPSLIDER3_S1_COMPENSATION 0xA3DC
288#define CAPSLIDER3_S2_SETUP_0 0x0401
289#define CAPSLIDER3_S2_CONV_FREQ_SETUP 0x057F
290#define CAPSLIDER3_S2_PROX_CONTROL 0x1290
291#define CAPSLIDER3_S2_PROX_INPUT_CONTROL 0x04CF
292#define CAPSLIDER3_S2_PATTERN_DEFINITIONS 0x030A
293#define CAPSLIDER3_S2_PATTERN_SELECT 0x0000
294#define CAPSLIDER3_S2_ATI_SETUP 0x03CC
295#define CAPSLIDER3_S2_ATI_BASE 0x0096
296#define CAPSLIDER3_S2_ATI_MULTI_SELECTION 0x5844
297#define CAPSLIDER3_S2_COMPENSATION 0xABFB
298#define CAPSLIDER3_CH0_SETUP_0 0x0000
299#define CAPSLIDER3_CH0_PROX_SETTINGS 0x440A
300#define CAPSLIDER3_CH0_TOUCH_SETTINGS 0x000F
301#define CAPSLIDER3_CH0_FOLLOWER_WEIGHT 0x0000
302#define CAPSLIDER3_CH1_SETUP_0 0x0000
303#define CAPSLIDER3_CH1_PROX_SETTINGS 0x440A
304#define CAPSLIDER3_CH1_TOUCH_SETTINGS 0x000F
305#define CAPSLIDER3_CH1_FOLLOWER_WEIGHT 0x0000
306#define CAPSLIDER3_CH2_SETUP_0 0x0000
307#define CAPSLIDER3_CH2_PROX_SETTINGS 0x440A
308#define CAPSLIDER3_CH2_TOUCH_SETTINGS 0x000F
309#define CAPSLIDER3_CH2_FOLLOWER_WEIGHT 0x0000
310#define CAPSLIDER3_SLIDER_SETUP_CALIBRATION 0x000B
311#define CAPSLIDER3_SLIDER_CALIBRATION_BOT_SPEED 0x1400
312#define CAPSLIDER3_SLIDER_TOP_SPEED 0x00C8
313#define CAPSLIDER3_SLIDER_RESOLUTION 0x0800
314#define CAPSLIDER3_SLIDER_EN_MASK 0x0007
315#define CAPSLIDER3_SLIDER_EN_STATUS_POINTER 0x0552
316#define CAPSLIDER3_SLIDER_DELTA_LINK_0 0x0430
317#define CAPSLIDER3_SLIDER_DELTA_LINK_1 0x0472
318#define CAPSLIDER3_SLIDER_DELTA_LINK_2 0x04B4
319#define CAPSLIDER3_GESTURE_ENABLE 0x000F
320#define CAPSLIDER3_GESTURE_MINIMUM_TIME 0x000A
321#define CAPSLIDER3_GESTURE_MAX_TAP_TIME 0x00C8
322#define CAPSLIDER3_GESTURE_MAX_SWIPE_TIME 0x012C
323#define CAPSLIDER3_GESTURE_MIN_HOLD_TIME 0x012C
324#define CAPSLIDER3_GESTURE_MAX_TAP_DISTANCE 0x00C8
325#define CAPSLIDER3_GESTURE_MIN_SWIPE_DISTANCE 0x028A
326#define CAPSLIDER3_COUNTS_FILTER_BETA 0x0102
327#define CAPSLIDER3_LTA_FILTER_BETA 0x0708
328#define CAPSLIDER3_LTA_FAST_FILTER_BETA 0x0304
329#define CAPSLIDER3_ACT_MOVE_LTA_FILTER_BETA 0x0000
330#define CAPSLIDER3_FAST_FILTER_BAND 0x000F
331#define CAPSLIDER3_SYSTEM_CONTROL 0x0050
332#define CAPSLIDER3_NORMAL_POWER_REPORT_RATE 0x0010
333#define CAPSLIDER3_LOW_POWER_REPORT_RATE 0x003C
334#define CAPSLIDER3_ULP_REPORT_RATE 0x00A0
335#define CAPSLIDER3_HALT_MODE_REPORT_RATE 0x0BB8
336#define CAPSLIDER3_POWER_MODE_TIMEOUT 0x07D0
337#define CAPSLIDER3_OUTA_MASK 0x0080
338#define CAPSLIDER3_I2C_TRANS_TIMEOUT 0x00C8
339#define CAPSLIDER3_EVENT_TIMEOUTS 0x0000
340#define CAPSLIDER3_EVENT_EN_ACTIVATION_THRESHOLD 0x000F
341#define CAPSLIDER3_RELEASE_UI_MOVE_TIMEOUT 0x0000
342
347#define CAPSLIDER3_PRODUCT_NUM 1106
348
353#define CAPSLIDER3_RDY_TIMEOUT 5000
354
360#define CAPSLIDER3_DEVICE_ADDRESS 0x44
361#define CAPSLIDER3_DEVICE_ADDRESS_DEBUG 0x45
362 // capslider3_set
364
369
374
379#define CAPSLIDER3_MAP_MIKROBUS( cfg, mikrobus ) \
380 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
381 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
382 cfg.rdy = MIKROBUS( mikrobus, MIKROBUS_PWM );
383 // capslider3_map // capslider3
386
391typedef struct
392{
393 uint16_t sys_status;
394 uint16_t gestures;
395 uint16_t slider;
396 uint16_t ch0_counts;
397 uint16_t ch0_lta;
398 uint16_t ch1_counts;
399 uint16_t ch1_lta;
400 uint16_t ch2_counts;
401 uint16_t ch2_lta;
402
404
409typedef struct
410{
411 // Input pins
412 digital_in_t rdy;
413
414 // Modules
415 i2c_master_t i2c;
416
417 // I2C slave address
419
421
426typedef struct
427{
428 pin_name_t scl;
429 pin_name_t sda;
430
431 pin_name_t rdy;
432
433 uint32_t i2c_speed;
434 uint8_t i2c_address;
435
437
448
454
465
480
494
506err_t capslider3_write_reg ( capslider3_t *ctx, uint8_t reg, uint16_t data_in );
507
520err_t capslider3_write_regs ( capslider3_t *ctx, uint8_t reg, uint16_t *data_in, uint8_t len );
521
533err_t capslider3_read_reg ( capslider3_t *ctx, uint8_t reg, uint16_t *data_out );
534
547err_t capslider3_read_regs ( capslider3_t *ctx, uint8_t reg, uint16_t *data_out, uint8_t len );
548
558
569
580
593
594#ifdef __cplusplus
595}
596#endif
597#endif // CAPSLIDER3_H
598 // capslider3
600
601// ------------------------------------------------------------------------ END
capslider3_return_value_t
Cap Slider 3 Click return value data.
Definition capslider3.h:443
@ CAPSLIDER3_OK
Definition capslider3.h:444
@ CAPSLIDER3_ERROR
Definition capslider3.h:445
err_t capslider3_read_reg(capslider3_t *ctx, uint8_t reg, uint16_t *data_out)
Cap Slider 3 read register function.
err_t capslider3_check_communication(capslider3_t *ctx)
Cap Slider 3 check communication function.
err_t capslider3_default_cfg(capslider3_t *ctx)
Cap Slider 3 default configuration function.
err_t capslider3_write_reg(capslider3_t *ctx, uint8_t reg, uint16_t data_in)
Cap Slider 3 write register function.
void capslider3_cfg_setup(capslider3_cfg_t *cfg)
Cap Slider 3 configuration object setup function.
err_t capslider3_read_data(capslider3_t *ctx, capslider3_data_t *data_out)
Cap Slider 3 read data function.
err_t capslider3_init(capslider3_t *ctx, capslider3_cfg_t *cfg)
Cap Slider 3 initialization function.
err_t capslider3_sw_reset(capslider3_t *ctx)
Cap Slider 3 software reset function.
err_t capslider3_write_regs(capslider3_t *ctx, uint8_t reg, uint16_t *data_in, uint8_t len)
Cap Slider 3 write registers function.
err_t capslider3_read_regs(capslider3_t *ctx, uint8_t reg, uint16_t *data_out, uint8_t len)
Cap Slider 3 read registers function.
uint8_t capslider3_get_rdy_pin(capslider3_t *ctx)
Cap Slider 3 get ready pin function.
Cap Slider 3 Click configuration object.
Definition capslider3.h:427
uint32_t i2c_speed
Definition capslider3.h:433
pin_name_t scl
Definition capslider3.h:428
pin_name_t rdy
Definition capslider3.h:431
pin_name_t sda
Definition capslider3.h:429
uint8_t i2c_address
Definition capslider3.h:434
Cap Slider 3 Click data object object.
Definition capslider3.h:392
uint16_t ch0_counts
Definition capslider3.h:396
uint16_t ch1_lta
Definition capslider3.h:399
uint16_t sys_status
Definition capslider3.h:393
uint16_t slider
Definition capslider3.h:395
uint16_t ch0_lta
Definition capslider3.h:397
uint16_t gestures
Definition capslider3.h:394
uint16_t ch2_lta
Definition capslider3.h:401
uint16_t ch2_counts
Definition capslider3.h:400
uint16_t ch1_counts
Definition capslider3.h:398
Cap Slider 3 Click context object.
Definition capslider3.h:410
i2c_master_t i2c
Definition capslider3.h:415
uint8_t slave_address
Definition capslider3.h:418
digital_in_t rdy
Definition capslider3.h:412