irgesture3 2.1.0.0
irgesture3.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
28#ifndef IRGESTURE3_H
29#define IRGESTURE3_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
73#define IRGESTURE3_REG_STATUS 0x00
74#define IRGESTURE3_REG_INT_MASK 0x01
75#define IRGESTURE3_REG_GPIO_DRV 0x02
76#define IRGESTURE3_REG_BG_STATUS 0x04
77#define IRGESTURE3_REG_FIFO_THRESH 0x06
78#define IRGESTURE3_REG_DEVID 0x08
79#define IRGESTURE3_REG_I2CS_ID 0x09
80#define IRGESTURE3_REG_CLK_RATIO 0x0A
81#define IRGESTURE3_REG_GPIO_CTRL 0x0B
82#define IRGESTURE3_REG_SLAVE_ADDRESS_KEY 0x0D
83#define IRGESTURE3_REG_SW_RESET 0x0F
84#define IRGESTURE3_REG_MODE 0x10
85#define IRGESTURE3_REG_SLOT_EN 0x11
86#define IRGESTURE3_REG_FSAMPLE 0x12
87#define IRGESTURE3_REG_PD_LED_SELECT 0x14
88#define IRGESTURE3_REG_NUM_AVG 0x15
89#define IRGESTURE3_REG_BG_MEAS_A 0x16
90#define IRGESTURE3_REG_INT_SEQ_A 0x17
91#define IRGESTURE3_REG_SLOTA_CH1_OFFSET 0x18
92#define IRGESTURE3_REG_SLOTA_CH2_OFFSET 0x19
93#define IRGESTURE3_REG_SLOTA_CH3_OFFSET 0x1A
94#define IRGESTURE3_REG_SLOTA_CH4_OFFSET 0x1B
95#define IRGESTURE3_REG_BG_MEAS_B 0x1C
96#define IRGESTURE3_REG_INT_SEQ_B 0x1D
97#define IRGESTURE3_REG_SLOTB_CH1_OFFSET 0x1E
98#define IRGESTURE3_REG_SLOTB_CH2_OFFSET 0x1F
99#define IRGESTURE3_REG_SLOTB_CH3_OFFSET 0x20
100#define IRGESTURE3_REG_SLOTB_CH4_OFFSET 0x21
101#define IRGESTURE3_REG_ILED3_COARSE 0x22
102#define IRGESTURE3_REG_ILED1_COARSE 0x23
103#define IRGESTURE3_REG_ILED2_COARSE 0x24
104#define IRGESTURE3_REG_ILED_FINE 0x25
105#define IRGESTURE3_REG_SLOTA_LED_PULSE 0x30
106#define IRGESTURE3_REG_SLOTA_NUMPULSES 0x31
107#define IRGESTURE3_REG_LED_DISABLE 0x34
108#define IRGESTURE3_REG_SLOTB_LED_PULSE 0x35
109#define IRGESTURE3_REG_SLOTB_NUMPULSES 0x36
110#define IRGESTURE3_REG_ALT_PWR_DN 0x37
111#define IRGESTURE3_REG_EXT_SYNC_STARTUP 0x38
112#define IRGESTURE3_REG_SLOTA_AFE_WINDOW 0x39
113#define IRGESTURE3_REG_SLOTB_AFE_WINDOW 0x3B
114#define IRGESTURE3_REG_AFE_PWR_CFG1 0x3C
115#define IRGESTURE3_REG_SLOTA_FLOAT_LED 0x3E
116#define IRGESTURE3_REG_SLOTB_FLOAT_LED 0x3F
117#define IRGESTURE3_REG_SLOTA_TIA_CFG 0x42
118#define IRGESTURE3_REG_SLOTA_AFE_CFG 0x43
119#define IRGESTURE3_REG_SLOTB_TIA_CFG 0x44
120#define IRGESTURE3_REG_SLOTB_AFE_CFG 0x45
121#define IRGESTURE3_REG_SAMPLE_CLK 0x4B
122#define IRGESTURE3_REG_CLK32M_ADJUST 0x4D
123#define IRGESTURE3_REG_EXT_SYNC_SEL 0x4F
124#define IRGESTURE3_REG_CLK32M_CAL_EN 0x50
125#define IRGESTURE3_REG_AFE_PWR_CFG2 0x54
126#define IRGESTURE3_REG_TIA_INDEP_GAIN 0x55
127#define IRGESTURE3_REG_MATH 0x58
128#define IRGESTURE3_REG_FLT_CONFIG_B 0x59
129#define IRGESTURE3_REG_FLT_LED_FIRE 0x5A
130#define IRGESTURE3_REG_FLT_CONFIG_A 0x5E
131#define IRGESTURE3_REG_DATA_ACCESS_CTL 0x5F
132#define IRGESTURE3_REG_FIFO_ACCESS 0x60
133#define IRGESTURE3_REG_SLOTA_PD1_16BIT 0x64
134#define IRGESTURE3_REG_SLOTA_PD2_16BIT 0x65
135#define IRGESTURE3_REG_SLOTA_PD3_16BIT 0x66
136#define IRGESTURE3_REG_SLOTA_PD4_16BIT 0x67
137#define IRGESTURE3_REG_SLOTB_PD1_16BIT 0x68
138#define IRGESTURE3_REG_SLOTB_PD2_16BIT 0x69
139#define IRGESTURE3_REG_SLOTB_PD3_16BIT 0x6A
140#define IRGESTURE3_REG_SLOTB_PD4_16BIT 0x6B
141#define IRGESTURE3_REG_A_PD1_LOW 0x70
142#define IRGESTURE3_REG_A_PD2_LOW 0x71
143#define IRGESTURE3_REG_A_PD3_LOW 0x72
144#define IRGESTURE3_REG_A_PD4_LOW 0x73
145#define IRGESTURE3_REG_A_PD1_HIGH 0x74
146#define IRGESTURE3_REG_A_PD2_HIGH 0x75
147#define IRGESTURE3_REG_A_PD3_HIGH 0x76
148#define IRGESTURE3_REG_A_PD4_HIGH 0x77
149#define IRGESTURE3_REG_B_PD1_LOW 0x78
150#define IRGESTURE3_REG_B_PD2_LOW 0x79
151#define IRGESTURE3_REG_B_PD3_LOW 0x7A
152#define IRGESTURE3_REG_B_PD4_LOW 0x7B
153#define IRGESTURE3_REG_B_PD1_HIGH 0x7C
154#define IRGESTURE3_REG_B_PD2_HIGH 0x7D
155#define IRGESTURE3_REG_B_PD3_HIGH 0x7E
156#define IRGESTURE3_REG_B_PD4_HIGH 0x7F
157
158 // irgesture3_reg
159
174#define IRGESTURE3_SAMPLE_CLK_RESERVED 0x2600u
175#define IRGESTURE3_SAMPLE_CLK_CLK32K_BYP_MASK 0x0100u
176#define IRGESTURE3_SAMPLE_CLK_CLK32K_EN_MASK 0x0080u
177#define IRGESTURE3_SAMPLE_CLK_CLK32K_ADJUST_MASK 0x003Fu
178
183#define IRGESTURE3_INT_MASK_RESERVED 0x009Fu
184#define IRGESTURE3_INT_MASK_FIFO_INT_MASK 0x0100u
185#define IRGESTURE3_INT_MASK_SLOTB_INT_MASK 0x0040u
186#define IRGESTURE3_INT_MASK_SLOTA_INT_MASK 0x0020u
187
192#define IRGESTURE3_GPIO_DRV_GPIO1_DRV_MASK 0x0200u
193#define IRGESTURE3_GPIO_DRV_GPIO1_POL_MASK 0x0100u
194#define IRGESTURE3_GPIO_DRV_GPIO0_ENA_MASK 0x0004u
195#define IRGESTURE3_GPIO_DRV_GPIO0_DRV_MASK 0x0002u
196#define IRGESTURE3_GPIO_DRV_GPIO0_POL_MASK 0x0001u
197
202#define IRGESTURE3_SLOT_EN_RDOUT_MODE_MASK 0x2000u
203#define IRGESTURE3_SLOT_EN_FIFO_OVRN_PREVENT_MASK 0x1000u
204#define IRGESTURE3_SLOT_EN_SLOTB_FIFO_MODE_MASK 0x01C0u
205#define IRGESTURE3_SLOT_EN_SLOTB_EN_MASK 0x0020u
206#define IRGESTURE3_SLOT_EN_SLOTA_FIFO_MODE_MASK 0x001Cu
207#define IRGESTURE3_SLOT_EN_SLOTA_EN_MASK 0x0001u
208
213#define IRGESTURE3_PD_LED_SELECT_SLOTB_PD_NC_NC_NC_NC 0x0000u
214#define IRGESTURE3_PD_LED_SELECT_SLOTB_PD_34_12_NC_NC 0x0100u
215#define IRGESTURE3_PD_LED_SELECT_SLOTB_PD_78_56_NC_NC 0x0200u
216#define IRGESTURE3_PD_LED_SELECT_SLOTB_PD_1234_NC_NC_NC 0x0300u
217#define IRGESTURE3_PD_LED_SELECT_SLOTB_PD_5_6_7_8 0x0400u
218#define IRGESTURE3_PD_LED_SELECT_SLOTB_PD_1_2_3_4 0x0500u
219#define IRGESTURE3_PD_LED_SELECT_SLOTB_PD_34_56_NC_NC 0x0600u
220#define IRGESTURE3_PD_LED_SELECT_SLOTB_PD_5678_NC_NC_NC 0x0700u
221#define IRGESTURE3_PD_LED_SELECT_SLOTB_PD_SEL_MASK 0x0F00u
222#define IRGESTURE3_PD_LED_SELECT_SLOTA_PD_NC_NC_NC_NC 0x0000u
223#define IRGESTURE3_PD_LED_SELECT_SLOTA_PD_34_12_NC_NC 0x0010u
224#define IRGESTURE3_PD_LED_SELECT_SLOTA_PD_78_56_NC_NC 0x0020u
225#define IRGESTURE3_PD_LED_SELECT_SLOTA_PD_1234_NC_NC_NC 0x0030u
226#define IRGESTURE3_PD_LED_SELECT_SLOTA_PD_5_6_7_8 0x0040u
227#define IRGESTURE3_PD_LED_SELECT_SLOTA_PD_1_2_3_4 0x0050u
228#define IRGESTURE3_PD_LED_SELECT_SLOTA_PD_34_56_NC_NC 0x0060u
229#define IRGESTURE3_PD_LED_SELECT_SLOTA_PD_5678_NC_NC_NC 0x0070u
230#define IRGESTURE3_PD_LED_SELECT_SLOTA_PD_SEL_MASK 0x00F0u
231#define IRGESTURE3_PD_LED_SELECT_SLOTB_LED_FLOAT 0x0000u
232#define IRGESTURE3_PD_LED_SELECT_SLOTB_LED_1 0x0004u
233#define IRGESTURE3_PD_LED_SELECT_SLOTB_LED_2 0x0008u
234#define IRGESTURE3_PD_LED_SELECT_SLOTB_LED_3 0x000Cu
235#define IRGESTURE3_PD_LED_SELECT_SLOTB_LED_SEL_MASK 0x000Cu
236#define IRGESTURE3_PD_LED_SELECT_SLOTA_LED_FLOAT 0x0000u
237#define IRGESTURE3_PD_LED_SELECT_SLOTA_LED_1 0x0001u
238#define IRGESTURE3_PD_LED_SELECT_SLOTA_LED_2 0x0002u
239#define IRGESTURE3_PD_LED_SELECT_SLOTA_LED_3 0x0003u
240#define IRGESTURE3_PD_LED_SELECT_SLOTA_LED_SEL_MASK 0x0003u
241
246#define IRGESTURE3_NUM_AVG_SLOTB_1 0x0000u
247#define IRGESTURE3_NUM_AVG_SLOTB_2 0x0100u
248#define IRGESTURE3_NUM_AVG_SLOTB_4 0x0200u
249#define IRGESTURE3_NUM_AVG_SLOTB_8 0x0300u
250#define IRGESTURE3_NUM_AVG_SLOTB_16 0x0400u
251#define IRGESTURE3_NUM_AVG_SLOTB_32 0x0500u
252#define IRGESTURE3_NUM_AVG_SLOTB_64 0x0600u
253#define IRGESTURE3_NUM_AVG_SLOTB_128 0x0700u
254#define IRGESTURE3_NUM_AVG_SLOTB_MASK 0x0700u
255#define IRGESTURE3_NUM_AVG_SLOTA_1 0x0000u
256#define IRGESTURE3_NUM_AVG_SLOTA_2 0x0010u
257#define IRGESTURE3_NUM_AVG_SLOTA_4 0x0020u
258#define IRGESTURE3_NUM_AVG_SLOTA_8 0x0030u
259#define IRGESTURE3_NUM_AVG_SLOTA_16 0x0040u
260#define IRGESTURE3_NUM_AVG_SLOTA_32 0x0050u
261#define IRGESTURE3_NUM_AVG_SLOTA_64 0x0060u
262#define IRGESTURE3_NUM_AVG_SLOTA_128 0x0070u
263#define IRGESTURE3_NUM_AVG_SLOTA_MASK 0x0070u
264
269#define IRGESTURE3_INT_SEQ_A_INTEG_ORDER_A_1001 0x0009u
270#define IRGESTURE3_INT_SEQ_A_INTEG_ORDER_A_MASK 0x000Fu
271
276#define IRGESTURE3_ILED1_COARSE_RESERVED 0x1000u
277#define IRGESTURE3_ILED1_COARSE_SCALE_10_PCT 0x0000u
278#define IRGESTURE3_ILED1_COARSE_SCALE_100_PCT 0x2000u
279#define IRGESTURE3_ILED1_COARSE_SCALE_MASK 0x2000u
280#define IRGESTURE3_ILED1_COARSE_SLEW_MIN 0x0000u
281#define IRGESTURE3_ILED1_COARSE_SLEW_3 0x0030u
282#define IRGESTURE3_ILED1_COARSE_SLEW_MAX 0x0070u
283#define IRGESTURE3_ILED1_COARSE_SLEW_MASK 0x0070u
284#define IRGESTURE3_ILED1_COARSE_COARSE_MIN 0x0000u
285#define IRGESTURE3_ILED1_COARSE_COARSE_6 0x0006u
286#define IRGESTURE3_ILED1_COARSE_COARSE_MAX 0x000Fu
287#define IRGESTURE3_ILED1_COARSE_COARSE_MASK 0x000Fu
288
293#define IRGESTURE3_SLOTA_NUMPULSES_PULSES_4 0x0400u
294#define IRGESTURE3_SLOTA_NUMPULSES_PULSES_MASK 0xFF00u
295#define IRGESTURE3_SLOTA_NUMPULSES_PERIOD_15_US 0x000Eu
296#define IRGESTURE3_SLOTA_NUMPULSES_PERIOD_MASK 0x00FFu
297
302#define IRGESTURE3_SLOTA_AFE_WINDOW_WIDTH_4_US 0x2000u
303#define IRGESTURE3_SLOTA_AFE_WINDOW_WIDTH_MASK 0xF800u
304#define IRGESTURE3_SLOTA_AFE_WINDOW_OFFSET_23_5_US 0x02F0u
305#define IRGESTURE3_SLOTA_AFE_WINDOW_OFFSET_MASK 0x07FFu
306
311#define IRGESTURE3_MATH_FLT_MATH34_B_ADD_1_2 0x0000u
312#define IRGESTURE3_MATH_FLT_MATH34_B_ADD_1_SUB_2 0x0400u
313#define IRGESTURE3_MATH_FLT_MATH34_B_SUB_1_ADD_2 0x0800u
314#define IRGESTURE3_MATH_FLT_MATH34_B_SUB_1_2 0x0C00u
315#define IRGESTURE3_MATH_FLT_MATH34_B_MASK 0x0C00u
316#define IRGESTURE3_MATH_FLT_MATH34_A_ADD_1_2 0x0000u
317#define IRGESTURE3_MATH_FLT_MATH34_A_ADD_1_SUB_2 0x0100u
318#define IRGESTURE3_MATH_FLT_MATH34_A_SUB_1_ADD_2 0x0200u
319#define IRGESTURE3_MATH_FLT_MATH34_A_SUB_1_2 0x0300u
320#define IRGESTURE3_MATH_FLT_MATH34_A_MASK 0x0300u
321#define IRGESTURE3_MATH_ENA_INT_AS_BUF_MASK 0x0080u
322#define IRGESTURE3_MATH_FLT_MATH12_B_ADD_1_2 0x0000u
323#define IRGESTURE3_MATH_FLT_MATH12_B_ADD_1_SUB_2 0x0020u
324#define IRGESTURE3_MATH_FLT_MATH12_B_SUB_1_ADD_2 0x0040u
325#define IRGESTURE3_MATH_FLT_MATH12_B_SUB_1_2 0x0060u
326#define IRGESTURE3_MATH_FLT_MATH12_B_MASK 0x0060u
327#define IRGESTURE3_MATH_FLT_MATH12_A_ADD_1_2 0x0000u
328#define IRGESTURE3_MATH_FLT_MATH12_A_ADD_1_SUB_2 0x0002u
329#define IRGESTURE3_MATH_FLT_MATH12_A_SUB_1_ADD_2 0x0004u
330#define IRGESTURE3_MATH_FLT_MATH12_A_SUB_1_2 0x0006u
331#define IRGESTURE3_MATH_FLT_MATH12_A_MASK 0x0006u
332
337#define IRGESTURE3_INT_OSC 32000u
338#define IRGESTURE3_FSAMPLE_500_HZ 500u
339#define IRGESTURE3_FSAMPLE_MAX 2000u
340
345#define IRGESTURE3_SW_RESET 0x0001u
346
351#define IRGESTURE3_MODE_STANDBY 0x0000u
352#define IRGESTURE3_MODE_PROGRAM 0x0001u
353#define IRGESTURE3_MODE_NORMAL 0x0002u
354
359#define IRGESTURE3_STATUS_FIFO_SAMPLES_MASK 0xFF00u
360#define IRGESTURE3_STATUS_SLOTB_INT_MASK 0x0040u
361#define IRGESTURE3_STATUS_SLOTA_INT_MASK 0x0020u
362#define IRGESTURE3_STATUS_CLEAR 0xFFFFu
363
368#define IRGESTURE3_TIMEOUT_MS 5000u
369
374#define IRGESTURE3_MIN_NUM_SAMPLES 5
375#define IRGESTURE3_MAX_NUM_SAMPLES 500
376#define IRGESTURE3_LIGHT_THRESHOLD 1000
377#define IRGESTURE3_DISTANCE_THRESHOLD 0.07f
378#define IRGESTURE3_GESTURE_CLICK 0
379#define IRGESTURE3_GESTURE_SWIPE_UP 1
380#define IRGESTURE3_GESTURE_SWIPE_DOWN 2
381#define IRGESTURE3_GESTURE_SWIPE_LEFT 3
382#define IRGESTURE3_GESTURE_SWIPE_RIGHT 4
383
388#define IRGESTURE3_DEVICE_ID 0x16
389#define IRGESTURE3_DEVICE_ID_MASK 0xFF
390
396#define IRGESTURE3_DEVICE_ADDRESS 0x64
397
398 // irgesture3_set
399
414#define IRGESTURE3_MAP_MIKROBUS( cfg, mikrobus ) \
415 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
416 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
417 cfg.io1 = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
418 cfg.io0 = MIKROBUS( mikrobus, MIKROBUS_INT )
419
420 // irgesture3_map
421 // irgesture3
422
427typedef struct
428{
429 uint16_t x_left;
430 uint16_t x_right;
431 uint16_t y_top;
432 uint16_t y_bottom;
433
435
440typedef struct
441{
442 // Input pins
443 digital_in_t io1;
444 digital_in_t io0;
446 // Modules
447 i2c_master_t i2c;
449 // I2C slave address
453
458typedef struct
459{
460 pin_name_t scl;
461 pin_name_t sda;
463 pin_name_t io1;
464 pin_name_t io0;
466 uint32_t i2c_speed;
467 uint8_t i2c_address;
470
481
498
513
527
540err_t irgesture3_write_register ( irgesture3_t *ctx, uint8_t reg, uint16_t data_in );
541
554err_t irgesture3_read_register ( irgesture3_t *ctx, uint8_t reg, uint16_t *data_out );
555
567
577
587
599
613err_t irgesture3_set_mode ( irgesture3_t *ctx, uint8_t mode );
614
626err_t irgesture3_set_adc_fsample ( irgesture3_t *ctx, uint16_t freq_hz );
627
639
652
667
685err_t irgesture3_get_gesture ( irgesture3_t *ctx, uint8_t *gesture );
686
687#ifdef __cplusplus
688}
689#endif
690#endif // IRGESTURE3_H
691
692 // irgesture3
693
694// ------------------------------------------------------------------------ END
err_t irgesture3_clear_status(irgesture3_t *ctx)
IR Gesture 3 clear status function.
err_t irgesture3_get_gesture(irgesture3_t *ctx, uint8_t *gesture)
IR Gesture 3 get gesture function.
err_t irgesture3_get_pd_data(irgesture3_t *ctx, irgesture3_pd_data_t *pd_data)
IR Gesture 3 get pd data function.
err_t irgesture3_write_register(irgesture3_t *ctx, uint8_t reg, uint16_t data_in)
IR Gesture 3 write register function.
err_t irgesture3_default_cfg(irgesture3_t *ctx)
IR Gesture 3 default configuration function.
err_t irgesture3_sw_reset(irgesture3_t *ctx)
IR Gesture 3 sw reset function.
err_t irgesture3_wait_data_ready(irgesture3_t *ctx)
IR Gesture 3 wait data ready function.
err_t irgesture3_check_communication(irgesture3_t *ctx)
IR Gesture 3 check communication function.
err_t irgesture3_read_register(irgesture3_t *ctx, uint8_t reg, uint16_t *data_out)
IR Gesture 3 read register function.
uint8_t irgesture3_get_io0_pin(irgesture3_t *ctx)
IR Gesture 3 get io0 function.
err_t irgesture3_init(irgesture3_t *ctx, irgesture3_cfg_t *cfg)
IR Gesture 3 initialization function.
err_t irgesture3_set_adc_fsample(irgesture3_t *ctx, uint16_t freq_hz)
IR Gesture 3 set adc fsample function.
uint8_t irgesture3_get_io1_pin(irgesture3_t *ctx)
IR Gesture 3 get io1 function.
void irgesture3_cfg_setup(irgesture3_cfg_t *cfg)
IR Gesture 3 configuration object setup function.
err_t irgesture3_set_mode(irgesture3_t *ctx, uint8_t mode)
IR Gesture 3 set mode function.
irgesture3_return_value_t
IR Gesture 3 Click return value data.
Definition irgesture3.h:476
@ IRGESTURE3_ERROR
Definition irgesture3.h:478
@ IRGESTURE3_OK
Definition irgesture3.h:477
IR Gesture 3 Click configuration object.
Definition irgesture3.h:459
pin_name_t io1
Definition irgesture3.h:463
pin_name_t io0
Definition irgesture3.h:464
uint32_t i2c_speed
Definition irgesture3.h:466
pin_name_t scl
Definition irgesture3.h:460
pin_name_t sda
Definition irgesture3.h:461
uint8_t i2c_address
Definition irgesture3.h:467
IR Gesture 3 Click photodiodes data object.
Definition irgesture3.h:428
uint16_t y_bottom
Definition irgesture3.h:432
uint16_t x_left
Definition irgesture3.h:429
uint16_t y_top
Definition irgesture3.h:431
uint16_t x_right
Definition irgesture3.h:430
IR Gesture 3 Click context object.
Definition irgesture3.h:441
digital_in_t io0
Definition irgesture3.h:444
digital_in_t io1
Definition irgesture3.h:443
i2c_master_t i2c
Definition irgesture3.h:447
uint8_t slave_address
Definition irgesture3.h:450