irgesture2  2.0.0.0
irgesture2.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 IRGESTURE2_H
29 #define IRGESTURE2_H
30 
31 #ifdef __cplusplus
32 extern "C"{
33 #endif
34 
35 #include "mikrosdk_version.h"
36 
37 #ifdef __GNUC__
38 #if mikroSDK_GET_VERSION < 20800ul
39 #include "rcu_delays.h"
40 #else
41 #include "delays.h"
42 #endif
43 #endif
44 
45 #include "drv_digital_out.h"
46 #include "drv_digital_in.h"
47 #include "drv_spi_master.h"
48 #include "spi_specifics.h"
49 
70 #define IRGESTURE2_REG_INT_STATUS 0x00
71 #define IRGESTURE2_REG_MAIN_CONFIG_1 0x01
72 #define IRGESTURE2_REG_MAIN_CONFIG_2 0x02
73 #define IRGESTURE2_REG_SEQ_CONFIG_1 0x03
74 #define IRGESTURE2_REG_SEQ_CONFIG_2 0x04
75 #define IRGESTURE2_REG_AFE_CONFIG 0x05
76 #define IRGESTURE2_REG_LED_CONFIG 0x06
77 #define IRGESTURE2_REG_ADC00H 0x10
78 #define IRGESTURE2_REG_ADC00L 0x11
79 #define IRGESTURE2_REG_ADC01H 0x12
80 #define IRGESTURE2_REG_ADC01L 0x13
81 #define IRGESTURE2_REG_ADC02H 0x14
82 #define IRGESTURE2_REG_ADC02L 0x15
83 #define IRGESTURE2_REG_ADC03H 0x16
84 #define IRGESTURE2_REG_ADC03L 0x17
85 #define IRGESTURE2_REG_ADC04H 0x18
86 #define IRGESTURE2_REG_ADC04L 0x19
87 #define IRGESTURE2_REG_ADC05H 0x1A
88 #define IRGESTURE2_REG_ADC05L 0x1B
89 #define IRGESTURE2_REG_ADC06H 0x1C
90 #define IRGESTURE2_REG_ADC06L 0x1D
91 #define IRGESTURE2_REG_ADC07H 0x1E
92 #define IRGESTURE2_REG_ADC07L 0x1F
93 #define IRGESTURE2_REG_ADC08H 0x20
94 #define IRGESTURE2_REG_ADC08L 0x21
95 #define IRGESTURE2_REG_ADC09H 0x22
96 #define IRGESTURE2_REG_ADC09L 0x23
97 #define IRGESTURE2_REG_ADC10H 0x24
98 #define IRGESTURE2_REG_ADC10L 0x25
99 #define IRGESTURE2_REG_ADC11H 0x26
100 #define IRGESTURE2_REG_ADC11L 0x27
101 #define IRGESTURE2_REG_ADC12H 0x28
102 #define IRGESTURE2_REG_ADC12L 0x29
103 #define IRGESTURE2_REG_ADC13H 0x2A
104 #define IRGESTURE2_REG_ADC13L 0x2B
105 #define IRGESTURE2_REG_ADC14H 0x2C
106 #define IRGESTURE2_REG_ADC14L 0x2D
107 #define IRGESTURE2_REG_ADC15H 0x2E
108 #define IRGESTURE2_REG_ADC15L 0x2F
109 #define IRGESTURE2_REG_ADC16H 0x30
110 #define IRGESTURE2_REG_ADC16L 0x31
111 #define IRGESTURE2_REG_ADC17H 0x32
112 #define IRGESTURE2_REG_ADC17L 0x33
113 #define IRGESTURE2_REG_ADC18H 0x34
114 #define IRGESTURE2_REG_ADC18L 0x35
115 #define IRGESTURE2_REG_ADC19H 0x36
116 #define IRGESTURE2_REG_ADC19L 0x37
117 #define IRGESTURE2_REG_ADC20H 0x38
118 #define IRGESTURE2_REG_ADC20L 0x39
119 #define IRGESTURE2_REG_ADC21H 0x3A
120 #define IRGESTURE2_REG_ADC21L 0x3B
121 #define IRGESTURE2_REG_ADC22H 0x3C
122 #define IRGESTURE2_REG_ADC22L 0x3D
123 #define IRGESTURE2_REG_ADC23H 0x3E
124 #define IRGESTURE2_REG_ADC23L 0x3F
125 #define IRGESTURE2_REG_ADC24H 0x40
126 #define IRGESTURE2_REG_ADC24L 0x41
127 #define IRGESTURE2_REG_ADC25H 0x42
128 #define IRGESTURE2_REG_ADC25L 0x43
129 #define IRGESTURE2_REG_ADC26H 0x44
130 #define IRGESTURE2_REG_ADC26L 0x45
131 #define IRGESTURE2_REG_ADC27H 0x46
132 #define IRGESTURE2_REG_ADC27L 0x47
133 #define IRGESTURE2_REG_ADC28H 0x48
134 #define IRGESTURE2_REG_ADC28L 0x49
135 #define IRGESTURE2_REG_ADC29H 0x4A
136 #define IRGESTURE2_REG_ADC29L 0x4B
137 #define IRGESTURE2_REG_ADC30H 0x4C
138 #define IRGESTURE2_REG_ADC30L 0x4D
139 #define IRGESTURE2_REG_ADC31H 0x4E
140 #define IRGESTURE2_REG_ADC31L 0x4F
141 #define IRGESTURE2_REG_ADC32H 0x50
142 #define IRGESTURE2_REG_ADC32L 0x51
143 #define IRGESTURE2_REG_ADC33H 0x52
144 #define IRGESTURE2_REG_ADC33L 0x53
145 #define IRGESTURE2_REG_ADC34H 0x54
146 #define IRGESTURE2_REG_ADC34L 0x55
147 #define IRGESTURE2_REG_ADC35H 0x56
148 #define IRGESTURE2_REG_ADC35L 0x57
149 #define IRGESTURE2_REG_ADC36H 0x58
150 #define IRGESTURE2_REG_ADC36L 0x59
151 #define IRGESTURE2_REG_ADC37H 0x5A
152 #define IRGESTURE2_REG_ADC37L 0x5B
153 #define IRGESTURE2_REG_ADC38H 0x5C
154 #define IRGESTURE2_REG_ADC38L 0x5D
155 #define IRGESTURE2_REG_ADC39H 0x5E
156 #define IRGESTURE2_REG_ADC39L 0x5F
157 #define IRGESTURE2_REG_ADC40H 0x60
158 #define IRGESTURE2_REG_ADC40L 0x61
159 #define IRGESTURE2_REG_ADC41H 0x62
160 #define IRGESTURE2_REG_ADC41L 0x63
161 #define IRGESTURE2_REG_ADC42H 0x64
162 #define IRGESTURE2_REG_ADC42L 0x65
163 #define IRGESTURE2_REG_ADC43H 0x66
164 #define IRGESTURE2_REG_ADC43L 0x67
165 #define IRGESTURE2_REG_ADC44H 0x68
166 #define IRGESTURE2_REG_ADC44L 0x69
167 #define IRGESTURE2_REG_ADC45H 0x6A
168 #define IRGESTURE2_REG_ADC45L 0x6B
169 #define IRGESTURE2_REG_ADC46H 0x6C
170 #define IRGESTURE2_REG_ADC46L 0x6D
171 #define IRGESTURE2_REG_ADC47H 0x6E
172 #define IRGESTURE2_REG_ADC47L 0x6F
173 #define IRGESTURE2_REG_ADC48H 0x70
174 #define IRGESTURE2_REG_ADC48L 0x71
175 #define IRGESTURE2_REG_ADC49H 0x72
176 #define IRGESTURE2_REG_ADC49L 0x73
177 #define IRGESTURE2_REG_ADC50H 0x74
178 #define IRGESTURE2_REG_ADC50L 0x75
179 #define IRGESTURE2_REG_ADC51H 0x76
180 #define IRGESTURE2_REG_ADC51L 0x77
181 #define IRGESTURE2_REG_ADC52H 0x78
182 #define IRGESTURE2_REG_ADC52L 0x79
183 #define IRGESTURE2_REG_ADC53H 0x7A
184 #define IRGESTURE2_REG_ADC53L 0x7B
185 #define IRGESTURE2_REG_ADC54H 0x7C
186 #define IRGESTURE2_REG_ADC54L 0x7D
187 #define IRGESTURE2_REG_ADC55H 0x7E
188 #define IRGESTURE2_REG_ADC55L 0x7F
189 #define IRGESTURE2_REG_ADC56H 0x80
190 #define IRGESTURE2_REG_ADC56L 0x81
191 #define IRGESTURE2_REG_ADC57H 0x82
192 #define IRGESTURE2_REG_ADC57L 0x83
193 #define IRGESTURE2_REG_ADC58H 0x84
194 #define IRGESTURE2_REG_ADC58L 0x85
195 #define IRGESTURE2_REG_ADC59H 0x86
196 #define IRGESTURE2_REG_ADC59L 0x87
197 #define IRGESTURE2_REG_COLUMN_GAIN_2_1 0xA5
198 #define IRGESTURE2_REG_COLUMN_GAIN_4_3 0xA6
199 #define IRGESTURE2_REG_COLUMN_GAIN_6_5 0xA7
200 #define IRGESTURE2_REG_COLUMN_GAIN_8_7 0xA8
201 #define IRGESTURE2_REG_COLUMN_GAIN_10_9 0xA9
202 #define IRGESTURE2_REG_LED_CTRL 0xC1
203  // irgesture2_reg
205 
220 #define IRGESTRURE2_EXSYNC_INPUT 0x00
221 #define IRGESTRURE2_EXSYNC_INPUT_SLAVE 0x10
222 #define IRGESTRURE2_EXSYNC_INPUT_MASTER 0x20
223 #define IRGESTRURE2_EOCINTE_ENABLE 0x04
224 
229 #define IRGESTURE2_SHUTDOWN 0x80
230 #define IRGESTURE2_RESET 0x40
231 #define IRGESTURE2_SYNC 0x10
232 #define IRGESTURE2_ONE_SHOT_ENABLE 0x08
233 #define IRGESTURE2_ONE_SHOT_TRIGGER 0x04
234 #define IRGESTURE2_CONTINUOUS_CONVERSION 0x02
235 
240 #define IRGESTURE2_EOC_DELAY_0MS 0x00
241 #define IRGESTURE2_EOC_DELAY_1p56MS 0x10
242 #define IRGESTURE2_EOC_DELAY_3p12MS 0x20
243 #define IRGESTURE2_EOC_DELAY_6p25MS 0x30
244 #define IRGESTURE2_EOC_DELAY_12p49MS 0x40
245 #define IRGESTURE2_EOC_DELAY_24p98MS 0x50
246 #define IRGESTURE2_EOC_DELAY_49p97MS 0x60
247 #define IRGESTURE2_EOC_DELAY_99p94MS 0x70
248 #define IRGESTURE2_EOC_DELAY_199p98MS 0x80
249 #define IRGESTURE2_EOC_DELAY_399p75MS 0x90
250 #define IRGESTURE2_EOC_DELAY_799p5MS 0xA0
251 #define IRGESTURE2_EOC_DELAY_1599MS 0xB0
252 #define IRGESTURE2_INTEGRATION_TIME_6p25US 0x00
253 #define IRGESTURE2_INTEGRATION_TIME_12p5US 0x02
254 #define IRGESTURE2_INTEGRATION_TIME_25US 0x04
255 #define IRGESTURE2_INTEGRATION_TIME_50US 0x06
256 #define IRGESTURE2_INTEGRATION_TIME_100US 0x08
257 #define IRGESTURE2_INTEGRATION_TIME_200US 0x0A
258 #define IRGESTURE2_INTEGRATION_TIME_400US 0x0C
259 #define IRGESTURE2_INTEGRATION_TIME_800US 0x0E
260 
265 #define IRGESTURE2_NRPT_1 0x00
266 #define IRGESTURE2_NRPT_2 0x20
267 #define IRGESTURE2_NRPT_4 0x40
268 #define IRGESTURE2_NRPT_8 0x60
269 #define IRGESTURE2_NRPT_16 0x80
270 #define IRGESTURE2_NRPT_32 0xA0
271 #define IRGESTURE2_NRPT_64 0xC0
272 #define IRGESTURE2_NRPT_128 0xE0
273 #define IRGESTURE2_NCDS_1 0x00
274 #define IRGESTURE2_NCDS_2 0x04
275 #define IRGESTURE2_NCDS_4 0x08
276 #define IRGESTURE2_NCDS_8 0x0C
277 #define IRGESTURE2_NCDS_16 0x10
278 #define IRGESTURE2_NCDS_32 0x14
279 #define IRGESTURE2_NCDS_64 0x18
280 #define IRGESTURE2_NCDS_128 0x1C
281 #define IRGESTURE2_CDSMODE 0x02
282 
287 #define IRGESTURE2_ALC_COARSE 0x40
288 #define IRGESTURE2_ALCEN_ENABLE 0x08
289 #define IRGESTURE2_PGA_1 0x00
290 #define IRGESTURE2_PGA_1_PER_4 0x01
291 #define IRGESTURE2_PGA_1_PER_16 0x02
292 #define IRGESTURE2_PGA_1_PER_32 0x03
293 
298 #define IRGESTURE2_DUTY_CYCLE_1 0x00
299 #define IRGESTURE2_DUTY_CYCLE_2 0x01
300 #define IRGESTURE2_DUTY_CYCLE_3 0x02
301 #define IRGESTURE2_DUTY_CYCLE_4 0x03
302 #define IRGESTURE2_DUTY_CYCLE_5 0x04
303 #define IRGESTURE2_DUTY_CYCLE_6 0x05
304 #define IRGESTURE2_DUTY_CYCLE_7 0x06
305 #define IRGESTURE2_DUTY_CYCLE_8 0x07
306 #define IRGESTURE2_DUTY_CYCLE_9 0x08
307 #define IRGESTURE2_DUTY_CYCLE_10 0x09
308 #define IRGESTURE2_DUTY_CYCLE_11 0x0A
309 #define IRGESTURE2_DUTY_CYCLE_12 0x0B
310 #define IRGESTURE2_DUTY_CYCLE_13 0x0C
311 #define IRGESTURE2_DUTY_CYCLE_14 0x0D
312 #define IRGESTURE2_DUTY_CYCLE_15 0x0E
313 #define IRGESTURE2_DUTY_CYCLE_16 0x0F
314 
319 #define IRGESTURE2_UPPER_CGAIN_FACTOR_0p33 0x00
320 #define IRGESTURE2_UPPER_CGAIN_FACTOR_0p37 0x10
321 #define IRGESTURE2_UPPER_CGAIN_FACTOR_0p43 0x20
322 #define IRGESTURE2_UPPER_CGAIN_FACTOR_0p49 0x30
323 #define IRGESTURE2_UPPER_CGAIN_FACTOR_0p56 0x40
324 #define IRGESTURE2_UPPER_CGAIN_FACTOR_0p65 0x50
325 #define IRGESTURE2_UPPER_CGAIN_FACTOR_0p75 0x60
326 #define IRGESTURE2_UPPER_CGAIN_FACTOR_0p86 0x70
327 #define IRGESTURE2_UPPER_CGAIN_FACTOR_1p00 0x80
328 #define IRGESTURE2_UPPER_CGAIN_FACTOR_1p14 0x90
329 #define IRGESTURE2_UPPER_CGAIN_FACTOR_1p33 0xA0
330 #define IRGESTURE2_UPPER_CGAIN_FACTOR_1p53 0xB0
331 #define IRGESTURE2_UPPER_CGAIN_FACTOR_1p79 0xC0
332 #define IRGESTURE2_UPPER_CGAIN_FACTOR_2p04 0xD0
333 #define IRGESTURE2_UPPER_CGAIN_FACTOR_2p38 0xE0
334 #define IRGESTURE2_UPPER_CGAIN_FACTOR_2p70 0xF0
335 #define IRGESTURE2_LOWER_CGAIN_FACTOR_0p33 0x00
336 #define IRGESTURE2_LOWER_CGAIN_FACTOR_0p37 0x01
337 #define IRGESTURE2_LOWER_CGAIN_FACTOR_0p43 0x02
338 #define IRGESTURE2_LOWER_CGAIN_FACTOR_0p49 0x03
339 #define IRGESTURE2_LOWER_CGAIN_FACTOR_0p56 0x04
340 #define IRGESTURE2_LOWER_CGAIN_FACTOR_0p65 0x05
341 #define IRGESTURE2_LOWER_CGAIN_FACTOR_0p75 0x06
342 #define IRGESTURE2_LOWER_CGAIN_FACTOR_0p86 0x07
343 #define IRGESTURE2_LOWER_CGAIN_FACTOR_1p00 0x08
344 #define IRGESTURE2_LOWER_CGAIN_FACTOR_1p14 0x09
345 #define IRGESTURE2_LOWER_CGAIN_FACTOR_1p33 0x0A
346 #define IRGESTURE2_LOWER_CGAIN_FACTOR_1p53 0x0B
347 #define IRGESTURE2_LOWER_CGAIN_FACTOR_1p79 0x0C
348 #define IRGESTURE2_LOWER_CGAIN_FACTOR_2p04 0x0D
349 #define IRGESTURE2_LOWER_CGAIN_FACTOR_2p38 0x0E
350 #define IRGESTURE2_LOWER_CGAIN_FACTOR_2p70 0x0F
351 
356 #define IRGESTURE2_GAINSEL_CGAIN 0x00
357 #define IRGESTURE2_GAINSEL_INTERNAL_TRIM 0x08
358 #define IRGESTURE2_DRV_EN_DISABLE 0x00
359 #define IRGESTURE2_DRV_EN_ENABLE 0x04
360 #define IRGESTURE2_ELED_EN_DISABLE 0x00
361 #define IRGESTURE2_ELED_EN_ENABLE 0x02
362 #define IRGESTURE2_ELED_POL_NMOS 0x00
363 #define IRGESTURE2_ELED_POL_PMOS 0x01
364 
369 #define IRGESTURE2_SPI_READ 0x80
370 #define IRGESTURE2_SPI_WRITE 0x00
371 
376 #define IRGESTURE2_SENSOR_X_SIZE 10
377 #define IRGESTURE2_SENSOR_Y_SIZE 6
378 #define IRGESTURE2_NUM_SENSOR_PIXELS ( IRGESTURE2_SENSOR_X_SIZE * IRGESTURE2_SENSOR_Y_SIZE )
379 
388 #define IRGESTURE2_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
389 #define IRGESTURE2_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
390  // irgesture2_set
392 
407 #define IRGESTURE2_MAP_MIKROBUS( cfg, mikrobus ) \
408  cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
409  cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
410  cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
411  cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
412  cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
413  // irgesture2_map // irgesture2
416 
421 typedef struct
422 {
423  // Input pins
424  digital_in_t int_pin;
426  // Modules
427  spi_master_t spi;
429  pin_name_t chip_select;
431 } irgesture2_t;
432 
437 typedef struct
438 {
439  // Communication gpio pins
440  pin_name_t miso;
441  pin_name_t mosi;
442  pin_name_t sck;
443  pin_name_t cs;
445  // Additional gpio pins
446  pin_name_t int_pin;
448  // static variable
449  uint32_t spi_speed;
450  spi_master_mode_t spi_mode;
451  spi_master_chip_select_polarity_t cs_polarity;
454 
459 typedef enum
460 {
462  IRGESTURE2_ERROR = -1
463 
465 
482 
497 
511 
526 err_t irgesture2_generic_write ( irgesture2_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len );
527 
542 err_t irgesture2_generic_read ( irgesture2_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len );
543 
556 err_t irgesture2_write_register ( irgesture2_t *ctx, uint8_t reg, uint8_t data_in );
557 
570 err_t irgesture2_read_register ( irgesture2_t *ctx, uint8_t reg, uint8_t *data_out );
571 
584 err_t irgesture2_read_pixels ( irgesture2_t *ctx, int16_t *pixels, bool flip_pixels );
585 
595 
596 #ifdef __cplusplus
597 }
598 #endif
599 #endif // IRGESTURE2_H
600  // irgesture2
602 
603 // ------------------------------------------------------------------------ END
irgesture2_write_register
err_t irgesture2_write_register(irgesture2_t *ctx, uint8_t reg, uint8_t data_in)
IR Gesture 2 write register function.
irgesture2_t::chip_select
pin_name_t chip_select
Definition: irgesture2.h:429
irgesture2_return_value_t
irgesture2_return_value_t
IR Gesture 2 Click return value data.
Definition: irgesture2.h:460
irgesture2_cfg_t::mosi
pin_name_t mosi
Definition: irgesture2.h:441
spi_specifics.h
This file contains SPI specific macros, functions, etc.
irgesture2_read_register
err_t irgesture2_read_register(irgesture2_t *ctx, uint8_t reg, uint8_t *data_out)
IR Gesture 2 read register function.
irgesture2_generic_write
err_t irgesture2_generic_write(irgesture2_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
IR Gesture 2 data writing function.
irgesture2_read_pixels
err_t irgesture2_read_pixels(irgesture2_t *ctx, int16_t *pixels, bool flip_pixels)
IR Gesture 2 read pixels function.
irgesture2_init
err_t irgesture2_init(irgesture2_t *ctx, irgesture2_cfg_t *cfg)
IR Gesture 2 initialization function.
irgesture2_get_int_pin
uint8_t irgesture2_get_int_pin(irgesture2_t *ctx)
IR Gesture 2 get int pin function.
irgesture2_cfg_setup
void irgesture2_cfg_setup(irgesture2_cfg_t *cfg)
IR Gesture 2 configuration object setup function.
irgesture2_t
IR Gesture 2 Click context object.
Definition: irgesture2.h:422
IRGESTURE2_ERROR
@ IRGESTURE2_ERROR
Definition: irgesture2.h:462
irgesture2_cfg_t::cs_polarity
spi_master_chip_select_polarity_t cs_polarity
Definition: irgesture2.h:451
irgesture2_generic_read
err_t irgesture2_generic_read(irgesture2_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
IR Gesture 2 data reading function.
irgesture2_t::int_pin
digital_in_t int_pin
Definition: irgesture2.h:424
irgesture2_cfg_t::int_pin
pin_name_t int_pin
Definition: irgesture2.h:446
irgesture2_default_cfg
err_t irgesture2_default_cfg(irgesture2_t *ctx)
IR Gesture 2 default configuration function.
irgesture2_cfg_t::cs
pin_name_t cs
Definition: irgesture2.h:443
irgesture2_cfg_t::spi_speed
uint32_t spi_speed
Definition: irgesture2.h:449
irgesture2_cfg_t
IR Gesture 2 Click configuration object.
Definition: irgesture2.h:438
irgesture2_t::spi
spi_master_t spi
Definition: irgesture2.h:427
irgesture2_cfg_t::miso
pin_name_t miso
Definition: irgesture2.h:440
irgesture2_cfg_t::spi_mode
spi_master_mode_t spi_mode
Definition: irgesture2.h:450
irgesture2_cfg_t::sck
pin_name_t sck
Definition: irgesture2.h:442
IRGESTURE2_OK
@ IRGESTURE2_OK
Definition: irgesture2.h:461