c9dof3 2.0.0.0
c9dof3.h
Go to the documentation of this file.
1/*
2 * MikroSDK - MikroE Software Development Kit
3 * Copyright© 2020 MikroElektronika d.o.o.
4 *
5 * Permission is hereby granted, free of charge, to any person
6 * obtaining a copy of this software and associated documentation
7 * files (the "Software"), to deal in the Software without restriction,
8 * including without limitation the rights to use, copy, modify, merge,
9 * publish, distribute, sublicense, and/or sell copies of the Software,
10 * and to permit persons to whom the Software is furnished to do so,
11 * subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be
14 * included in all copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
20 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
22 * OR OTHER DEALINGS IN THE SOFTWARE.
23 */
24
33// ----------------------------------------------------------------------------
34
35#ifndef C9DOF3_H
36#define C9DOF3_H
37
42#ifdef PREINIT_SUPPORTED
43#include "preinit.h"
44#endif
45
46#ifdef MikroCCoreVersion
47 #if MikroCCoreVersion >= 1
48 #include "delays.h"
49 #endif
50#endif
51
52#include "drv_digital_out.h"
53#include "drv_digital_in.h"
54#include "drv_i2c_master.h"
55#include "drv_spi_master.h"
56
57// -------------------------------------------------------------- PUBLIC MACROS
68#define C9DOF3_MAP_MIKROBUS( cfg, mikrobus ) \
69 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
70 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
71 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
72 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
73 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
74 cfg.cs1 = MIKROBUS( mikrobus, MIKROBUS_CS ); \
75 cfg.cs2 = MIKROBUS( mikrobus, MIKROBUS_RST ); \
76 cfg.cs3 = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
77 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
84#define C9DOF3_MASTER_I2C 0
85#define C9DOF3_MASTER_SPI 1
92#define C9DOF3_RETVAL uint8_t
99#define C9DOF3_ACC_I2C_SLAVE_ADDRESS 0x18
100#define C9DOF3_GYRO_I2C_SLAVE_ADDRESS 0x68
101#define C9DOF3_MAG_I2C_SLAVE_ADDRESS 0x10
108#define C9DOF3_ACC_DEVICE 0xFA
109#define C9DOF3_GYRO_DEVICE 0x0F
110#define C9DOF3_MAG_DEVICE 0x32
117#define C9DOF3_INITIATED_SOFT_RESET 0xB6
124#define C9DOF3_REG_ACC_WHO_AM_I 0x00
125#define C9DOF3_REG_ACC_DATA_START 0x02
126#define C9DOF3_REG_ACC_D_X_LSB 0x02
127#define C9DOF3_REG_ACC_D_X_MSB 0x03
128#define C9DOF3_REG_ACC_D_Y_LSB 0x04
129#define C9DOF3_REG_ACC_D_Y_MSB 0x05
130#define C9DOF3_REG_ACC_D_Z_LSB 0x06
131#define C9DOF3_REG_ACC_D_Z_MSB 0x07
132#define C9DOF3_REG_ACC_D_TEMP 0x08
133#define C9DOF3_REG_ACC_INT_STATUS_0 0x09
134#define C9DOF3_REG_ACC_INT_STATUS_1 0x0A
135#define C9DOF3_REG_ACC_INT_STATUS_2 0x0B
136#define C9DOF3_REG_ACC_INT_STATUS_3 0x0C
137#define C9DOF3_REG_ACC_FIFO_STATUS 0x0E
138#define C9DOF3_REG_ACC_PMU_RANGE 0x0F
139#define C9DOF3_REG_ACC_PMU_BW 0x10
140#define C9DOF3_REG_ACC_PMU_LPW 0x11
141#define C9DOF3_REG_ACC_PMU_LOW_POWER 0x12
142#define C9DOF3_REG_ACC_D_HBW 0x13
143#define C9DOF3_REG_ACC_BGW_SOFTRESET 0x14
144#define C9DOF3_REG_ACC_INT_EN_0 0x16
145#define C9DOF3_REG_ACC_INT_EN_1 0x17
146#define C9DOF3_REG_ACC_INT_EN_2 0x18
147#define C9DOF3_REG_ACC_INT_MAP_0 0x19
148#define C9DOF3_REG_ACC_INT_MAP_1 0x1A
149#define C9DOF3_REG_ACC_INT_MAP_2 0x1B
150#define C9DOF3_REG_ACC_INT_SRC 0x1E
151#define C9DOF3_REG_ACC_INT_OUT_CTRL 0x20
152#define C9DOF3_REG_ACC_INT_RST_LATCH 0x21
153#define C9DOF3_REG_ACC_INT_0 0x22
154#define C9DOF3_REG_ACC_INT_1 0x23
155#define C9DOF3_REG_ACC_INT_2 0x24
156#define C9DOF3_REG_ACC_INT_3 0x25
157#define C9DOF3_REG_ACC_INT_4 0x26
158#define C9DOF3_REG_ACC_INT_5 0x27
159#define C9DOF3_REG_ACC_INT_6 0x28
160#define C9DOF3_REG_ACC_INT_7 0x29
161#define C9DOF3_REG_ACC_INT_8 0x2A
162#define C9DOF3_REG_ACC_INT_9 0x2B
163#define C9DOF3_REG_ACC_INT_A 0x2C
164#define C9DOF3_REG_ACC_INT_B 0x2D
165#define C9DOF3_REG_ACC_INT_C 0x2E
166#define C9DOF3_REG_ACC_INT_D 0x2F
167#define C9DOF3_REG_ACC_FIFO_CONFIG_0 0x30
168#define C9DOF3_REG_ACC_PMU_SELF_TEST 0x32
169#define C9DOF3_REG_ACC_TRIM_NVM_CTRL 0x33
170#define C9DOF3_REG_ACC_BGW_SPI3_WDT 0x34
171#define C9DOF3_REG_ACC_OFC_CTRL 0x36
172#define C9DOF3_REG_ACC_OFC_SETTING 0x37
173#define C9DOF3_REG_ACC_OFC_OFFSET_X 0x38
174#define C9DOF3_REG_ACC_OFC_OFFSET_Y 0x39
175#define C9DOF3_REG_ACC_OFC_OFFSET_Z 0x3A
176#define C9DOF3_REG_ACC_TRIM_GPO 0x3B
177#define C9DOF3_REG_ACC_TRIM_GP1 0x3C
178#define C9DOF3_REG_ACC_FIFO_CONFIG_1 0x3E
179#define C9DOF3_REG_ACC_FIFO_DATA 0x3F
186#define C9DOF3_REG_GYRO_WHO_AM_I 0x00
187#define C9DOF3_REG_GYRO_DATA_START 0x02
188#define C9DOF3_REG_GYRO_RATE_X_LSB 0x02
189#define C9DOF3_REG_GYRO_RATE_X_MSB 0x03
190#define C9DOF3_REG_GYRO_RATE_Y_LSB 0x04
191#define C9DOF3_REG_GYRO_RATE_Y_MSB 0x05
192#define C9DOF3_REG_GYRO_RATE_Z_LSB 0x06
193#define C9DOF3_REG_GYRO_RATE_Z_MSB 0x07
194#define C9DOF3_REG_GYRO_INT_STATUS_0 0x09
195#define C9DOF3_REG_GYRO_INT_STATUS_1 0x0A
196#define C9DOF3_REG_GYRO_INT_STATUS_2 0x0B
197#define C9DOF3_REG_GYRO_INT_STATUS_3 0x0C
198#define C9DOF3_REG_GYRO_FIFO_STATUS 0x0E
199#define C9DOF3_REG_GYRO_RANGE 0x0F
200#define C9DOF3_REG_GYRO_BW 0x10
201#define C9DOF3_REG_GYRO_LPM1 0x11
202#define C9DOF3_REG_GYRO_LPM2 0x12
203#define C9DOF3_REG_GYRO_RATE_HBW 0x13
204#define C9DOF3_REG_GYRO_BGW_SOFTRESET 0x14
205#define C9DOF3_REG_GYRO_INT_EN_0 0x15
206#define C9DOF3_REG_GYRO_INT_EN_1 0x16
207#define C9DOF3_REG_GYRO_INT_MAP_0 0x17
208#define C9DOF3_REG_GYRO_INT_MAP_1 0x18
209#define C9DOF3_REG_GYRO_INT_MAP_2 0x19
210#define C9DOF3_REG_GYRO_INT_SRC_1 0x1A
211#define C9DOF3_REG_GYRO_INT_SRC_2 0x1B
212#define C9DOF3_REG_GYRO_INT_SRC_3 0x1C
213#define C9DOF3_REG_GYRO_FIFO_EN 0x1E
214#define C9DOF3_REG_GYRO_INT_RST_LATCH 0x21
215#define C9DOF3_REG_GYRO_HIGH_TH_X 0x22
216#define C9DOF3_REG_GYRO_HIGH_DUR_X 0x23
217#define C9DOF3_REG_GYRO_HIGH_TH_Y 0x24
218#define C9DOF3_REG_GYRO_HIGH_DUR_Y 0x25
219#define C9DOF3_REG_GYRO_HIGH_TH_Z 0x26
220#define C9DOF3_REG_GYRO_HIGH_DUR_Z 0x27
221#define C9DOF3_REG_GYRO_SOC 0x31
222#define C9DOF3_REG_GYRO_A_FOC 0x32
223#define C9DOF3_REG_GYRO_TRIM_NVM_CTRL 0x33
224#define C9DOF3_REG_GYRO_BGW_SPI3_WDT 0x34
225#define C9DOF3_REG_GYRO_OFC1 0x36
226#define C9DOF3_REG_GYRO_OFC2 0x37
227#define C9DOF3_REG_GYRO_OFC3 0x38
228#define C9DOF3_REG_GYRO_OFC4 0x39
229#define C9DOF3_REG_GYRO_TRIM_GP0 0x3A
230#define C9DOF3_REG_GYRO_TRIM_GP1 0x3B
231#define C9DOF3_REG_GYRO_BIST 0x3C
232#define C9DOF3_REG_GYRO_FIFO_CONFIG_0 0x3D
233#define C9DOF3_REG_GYRO_FIFO_CONFIG_1 0x3E
240#define C9DOF3_REG_MAG_WHO_AM_I 0x40
241#define C9DOF3_REG_MAG_DATA_START 0x42
242#define C9DOF3_REG_MAG_XOUT_LSB 0x42
243#define C9DOF3_REG_MAG_XOUT_MSB 0x43
244#define C9DOF3_REG_MAG_YOUT_LSB 0x44
245#define C9DOF3_REG_MAG_YOUT_MSB 0x45
246#define C9DOF3_REG_MAG_ZOUT_LSB 0x46
247#define C9DOF3_REG_MAG_ZOUT_MSB 0x47
248#define C9DOF3_REG_MAG_ROUT_LSB 0x48
249#define C9DOF3_REG_MAG_ROUT_MSB 0x49
250#define C9DOF3_REG_MAG_INT_STATUS 0x4A
251#define C9DOF3_REG_MAG_PWR_CNTL1 0x4B
252#define C9DOF3_REG_MAG_PWR_CNTL2 0x4C
253#define C9DOF3_REG_MAG_INT_EN_1 0x4D
254#define C9DOF3_REG_MAG_INT_EN_2 0x4E
255#define C9DOF3_REG_MAG_LOW_THS 0x4F
256#define C9DOF3_REG_MAG_HIGH_THS 0x50
257#define C9DOF3_REG_MAG_REP_XY 0x51
258#define C9DOF3_REG_MAG_REP_Z 0x52
265#define C9DOF3_ACC_RANGE_2 0x03
266#define C9DOF3_ACC_RANGE_4 0x05
267#define C9DOF3_ACC_RANGE_8 0x08
268#define C9DOF3_ACC_RANGE_16 0x0C
275#define C9DOF3_ACC_PMU_BW_7_81 0x08
276#define C9DOF3_ACC_PMU_BW_15_63 0x09
277#define C9DOF3_ACC_PMU_BW_31_25 0x0A
278#define C9DOF3_ACC_PMU_BW_62_5 0x0B
279#define C9DOF3_ACC_PMU_BW_125 0x0C
280#define C9DOF3_ACC_PMU_BW_250 0x0D
281#define C9DOF3_ACC_PMU_BW_500 0x0E
282#define C9DOF3_ACC_PMU_BW_1000 0x0F
289#define C9DOF3_ACC_PMU_LPW_MODE_NOMAL 0x00
290#define C9DOF3_ACC_PMU_LPW_MODE_DEEP_SUSPEND 0x20
291#define C9DOF3_ACC_PMU_LPW_MODE_LOW_POWER 0x40
292#define C9DOF3_ACC_PMU_LPW_MODE_SUSPEND 0x80
299#define C9DOF3_ACC_PMU_LPW_SLEEP_DUR_0_5MS 0x00
300#define C9DOF3_ACC_PMU_LPW_SLEEP_DUR_1MS 0x0C
301#define C9DOF3_ACC_PMU_LPW_SLEEP_DUR_2MS 0x0E
302#define C9DOF3_ACC_PMU_LPW_SLEEP_DUR_4MS 0x10
303#define C9DOF3_ACC_PMU_LPW_SLEEP_DUR_6MS 0x12
304#define C9DOF3_ACC_PMU_LPW_SLEEP_DUR_10MS 0x14
305#define C9DOF3_ACC_PMU_LPW_SLEEP_DUR_25MS 0x16
306#define C9DOF3_ACC_PMU_LPW_SLEEP_DUR_50MS 0x18
307#define C9DOF3_ACC_PMU_LPW_SLEEP_DUR_100MS 0x1A
308#define C9DOF3_ACC_PMU_LPW_SLEEP_DUR_500MS 0x1C
309#define C9DOF3_ACC_PMU_LPW_SLEEP_DUR_1S 0x1E
316#define C9DOF3_GYRO_LPM1_MODE_NOMAL 0x00
317#define C9DOF3_GYRO_LPM1_MODE_DEEP_SUSPEND 0x01
318#define C9DOF3_GYRO_LPM1_MODE_SUSPEND 0x10
325#define C9DOF3_GYRO_RANGE_16_4 0x00
326#define C9DOF3_GYRO_RANGE_32_8 0x01
327#define C9DOF3_GYRO_RANGE_65_6 0x02
328#define C9DOF3_GYRO_RANGE_131_2 0x03
329#define C9DOF3_GYRO_RANGE_262_4 0x04
336#define C9DOF3_GYRO_BW_32 0x07
337#define C9DOF3_GYRO_BW_64 0x06
338#define C9DOF3_GYRO_BW_12 0x05
339#define C9DOF3_GYRO_BW_23 0x04
340#define C9DOF3_GYRO_BW_47 0x03
341#define C9DOF3_GYRO_BW_116 0x02
342#define C9DOF3_GYRO_BW_230 0x01
343#define C9DOF3_GYRO_BW_523 0x00
350#define C9DOF3_GYRO_LPM1_SLEEP_DUR_2MS 0x00
351#define C9DOF3_GYRO_LPM1_SLEEP_DUR_4MS 0x01
352#define C9DOF3_GYRO_LPM1_SLEEP_DUR_5MS 0x02
353#define C9DOF3_GYRO_LPM1_SLEEP_DUR_8MS 0x03
354#define C9DOF3_GYRO_LPM1_SLEEP_DUR_10MS 0x04
355#define C9DOF3_GYRO_LPM1_SLEEP_DUR_15MS 0x05
356#define C9DOF3_GYRO_LPM1_SLEEP_DUR_18MS 0x06
357#define C9DOF3_GYRO_LPM1_SLEEP_DUR_20MS 0x07
364#define C9DOF3_MAG_POW_CTL_SOFT_RESET 0x82
365#define C9DOF3_MAG_POW_CTL_SLEEP_MODE 0x01
366#define C9DOF3_MAG_POW_CTL_SUSPEND_MODE 0x00
373#define C9DOF3_MAG_DATA_RATE_10 0x00
374#define C9DOF3_MAG_DATA_RATE_2 0x08
375#define C9DOF3_MAG_DATA_RATE_6 0x10
376#define C9DOF3_MAG_DATA_RATE_8 0x18
377#define C9DOF3_MAG_DATA_RATE_15 0x20
378#define C9DOF3_MAG_DATA_RATE_20 0x28
379#define C9DOF3_MAG_DATA_RATE_25 0x30
380#define C9DOF3_MAG_DATA_RATE_30 0x38
387#define C9DOF3_MAG_XY_REPET_9 0x04
388#define C9DOF3_MAG_Z_REPET_15 0x0F
395#define C9DOF3_BIT_MASK_SPI_CMD_WRITE 0x7F
396#define C9DOF3_BIT_MASK_SPI_CMD_READ 0x80
397#define C9DOF3_SPI_COMMUNICATION_DUMMY 0x00
404#define C9DOF3_ID_CHECK_ERROR 0x00
405#define C9DOF3_ID_CHECK_SUCCESS 0x01
406#define C9DOF3_ACC_COMM_ERROR 0x00
407#define C9DOF3_ACC_COMM_SUCCESS 0x04
408#define C9DOF3_GYRO_COMM_ERROR 0x00
409#define C9DOF3_GYRO_COMM_SUCCESS 0x02
410#define C9DOF3_MAG_COMM_ERROR 0x00
411#define C9DOF3_MAG_COMM_SUCCESS 0x01
418#define COMMUNICATION_MODE_ACCEL 0x01
419#define COMMUNICATION_MODE_GYRO 0x02
420#define COMMUNICATION_MODE_MAG 0x03
427#define C9DOF3_PIN_STATE_LOW 0x00
428#define C9DOF3_PIN_STATE_HIGH 0x01
431 // End group macro
432// --------------------------------------------------------------- PUBLIC TYPES
447
452typedef void ( *c9dof3_master_io_t )( struct c9dof3_s*, uint8_t, uint8_t*, uint8_t );
457typedef struct c9dof3_s
458{
459 // Output pins
460
461 digital_out_t cs1;
462 digital_out_t cs2;
463 digital_out_t cs3;
464
465 // Input pins
466
467 digital_in_t int_pin;
468
469 // Modules
470
471 i2c_master_t i2c;
472 spi_master_t spi;
474 // ctx variable
475
477 pin_name_t chip_select;
483 uint8_t sel_mode;
484
486
490typedef struct
491{
492 // Communication gpio pins
493
494 pin_name_t scl;
495 pin_name_t sda;
496 pin_name_t miso;
497 pin_name_t mosi;
498 pin_name_t sck;
499 pin_name_t cs1;
500 pin_name_t cs2;
501 pin_name_t cs3;
502
503 // Additional gpio pins
504
505 pin_name_t int_pin;
506
507 // static variable
508
509 uint32_t i2c_speed;
510 uint8_t i2c_address;
512 uint32_t spi_speed;
513 spi_master_mode_t spi_mode;
514 spi_master_chip_select_polarity_t cs_polarity;
519
520typedef struct
521{
522 int16_t x;
523 int16_t y;
524 int16_t z;
525}
527
528typedef struct
529{
530 int16_t x;
531 int16_t y;
532 int16_t z;
533}
535
536typedef struct
537{
538 int16_t x;
539 int16_t y;
540 int16_t z;
541}
543
548typedef enum
549{
551 C9DOF3_ERROR = -1
552
554
555 // End types group
556// ----------------------------------------------- PUBLIC FUNCTION DECLARATIONS
562#ifdef __cplusplus
563extern "C"{
564#endif
565
575
591
601
623
634void c9dof3_generic_write ( c9dof3_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len );
635
646void c9dof3_generic_read ( c9dof3_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len );
647
669
680
691
702
714
725
726#ifdef __cplusplus
727}
728#endif
729#endif // _C9DOF3_H_
730
731 // End public_function group
733
734// ------------------------------------------------------------------------- END
#define C9DOF3_RETVAL
Definition c9dof3.h:92
void c9dof3_generic_read(c9dof3_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic read function.
void c9dof3_read_mag_data(c9dof3_t *ctx, c9dof3_mag_t *mag_data)
Read Mag data function.
void c9dof3_cfg_setup(c9dof3_cfg_t *cfg)
Config Object Initialization function.
void c9dof3_drv_interface_selection(c9dof3_cfg_t *cfg, c9dof3_drv_t drv_sel)
9DOF 3 driver interface setup function.
uint8_t c9dof3_check_interrupt(c9dof3_t *ctx)
Check interrupt status function.
void c9dof3_read_gyro_data(c9dof3_t *ctx, c9dof3_gyro_t *gyro_data)
Read Gyro data function.
void c9dof3_generic_write(c9dof3_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic write function.
void c9dof3_default_cfg(c9dof3_t *ctx)
Click Default Configuration function.
void c9dof3_get_data(c9dof3_t *ctx, c9dof3_accel_t *accel_data, c9dof3_gyro_t *gyro_data, c9dof3_mag_t *mag_data)
Read Accel, Gyro and Mag data function.
uint8_t c9dof3_check_communication(c9dof3_t *ctx)
Check communication function.
void c9dof3_read_accel_data(c9dof3_t *ctx, c9dof3_accel_t *accel_data)
Read Accel data function.
C9DOF3_RETVAL c9dof3_init(c9dof3_t *ctx, c9dof3_cfg_t *cfg)
Initialization function.
void(* c9dof3_master_io_t)(struct c9dof3_s *, uint8_t, uint8_t *, uint8_t)
9DOF 3 Click driver interface.
Definition c9dof3.h:452
c9dof3_return_value_t
9DOF 3 Click return value data.
Definition c9dof3.h:549
struct c9dof3_s c9dof3_t
Click ctx object definition.
c9dof3_drv_t
9DOF 3 Click driver selector.
Definition c9dof3.h:443
@ C9DOF3_OK
Definition c9dof3.h:550
@ C9DOF3_ERROR
Definition c9dof3.h:551
@ C9DOF3_DRV_SEL_SPI
Definition c9dof3.h:444
@ C9DOF3_DRV_SEL_I2C
Definition c9dof3.h:445
c9dof3_gyro_t gyro_data
Definition main.c:39
c9dof3_mag_t mag_data
Definition main.c:40
c9dof3_accel_t accel_data
Definition main.c:38
Definition c9dof3.h:521
int16_t z
Definition c9dof3.h:524
int16_t x
Definition c9dof3.h:522
int16_t y
Definition c9dof3.h:523
Click configuration structure definition.
Definition c9dof3.h:491
pin_name_t cs1
Definition c9dof3.h:499
pin_name_t cs2
Definition c9dof3.h:500
uint32_t i2c_speed
Definition c9dof3.h:509
spi_master_chip_select_polarity_t cs_polarity
Definition c9dof3.h:514
pin_name_t cs3
Definition c9dof3.h:501
pin_name_t sck
Definition c9dof3.h:498
spi_master_mode_t spi_mode
Definition c9dof3.h:513
pin_name_t mosi
Definition c9dof3.h:497
uint32_t spi_speed
Definition c9dof3.h:512
pin_name_t scl
Definition c9dof3.h:494
pin_name_t int_pin
Definition c9dof3.h:505
c9dof3_drv_t drv_sel
Definition c9dof3.h:516
pin_name_t miso
Definition c9dof3.h:496
pin_name_t sda
Definition c9dof3.h:495
uint8_t i2c_address
Definition c9dof3.h:510
Definition c9dof3.h:529
int16_t z
Definition c9dof3.h:532
int16_t x
Definition c9dof3.h:530
int16_t y
Definition c9dof3.h:531
Definition c9dof3.h:537
int16_t z
Definition c9dof3.h:540
int16_t x
Definition c9dof3.h:538
int16_t y
Definition c9dof3.h:539
Click ctx object definition.
Definition c9dof3.h:458
spi_master_t spi
Definition c9dof3.h:472
c9dof3_master_io_t write_f
Definition c9dof3.h:480
digital_out_t cs3
Definition c9dof3.h:463
digital_in_t int_pin
Definition c9dof3.h:467
i2c_master_t i2c
Definition c9dof3.h:471
uint8_t sel_mode
Definition c9dof3.h:483
digital_out_t cs1
Definition c9dof3.h:461
uint8_t slave_address
Definition c9dof3.h:476
digital_out_t cs2
Definition c9dof3.h:462
c9dof3_drv_t drv_sel
Definition c9dof3.h:478
pin_name_t chip_select
Definition c9dof3.h:477
c9dof3_master_io_t read_f
Definition c9dof3.h:481