inclinometer2  2.0.0.0
inclinometer2.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 INCLINOMETER2_H
29 #define INCLINOMETER2_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_i2c_master.h"
48 #include "drv_spi_master.h"
49 #include "spi_specifics.h"
50 
71 #define INCLINOMETER2_REG_FUNC_CFG_ACCESS 0x01
72 #define INCLINOMETER2_REG_PIN_CTRL 0x02
73 #define INCLINOMETER2_REG_FIFO_CTRL1 0x07
74 #define INCLINOMETER2_REG_FIFO_CTRL2 0x08
75 #define INCLINOMETER2_REG_FIFO_CTRL3 0x09
76 #define INCLINOMETER2_REG_FIFO_CTRL4 0x0A
77 #define INCLINOMETER2_REG_COUNTER_BDR_REG1 0x0B
78 #define INCLINOMETER2_REG_COUNTER_BDR_REG2 0x0C
79 #define INCLINOMETER2_REG_INT1_CTRL 0x0D
80 #define INCLINOMETER2_REG_INT2_CTRL 0x0E
81 #define INCLINOMETER2_REG_WHO_AM_I 0x0F
82 #define INCLINOMETER2_REG_CTRL1_XL 0x10
83 #define INCLINOMETER2_REG_CTRL3_C 0x12
84 #define INCLINOMETER2_REG_CTRL4_C 0x13
85 #define INCLINOMETER2_REG_CTRL5_C 0x14
86 #define INCLINOMETER2_REG_CTRL6_C 0x15
87 #define INCLINOMETER2_REG_CTRL7_XL 0x16
88 #define INCLINOMETER2_REG_CTRL8_XL 0x17
89 #define INCLINOMETER2_REG_CTRL9_XL 0x18
90 #define INCLINOMETER2_REG_CTRL10_C 0x19
91 #define INCLINOMETER2_REG_ALL_INT_SRC 0x1A
92 #define INCLINOMETER2_REG_WAKE_UP_SRC 0x1B
93 #define INCLINOMETER2_REG_TAP_SRC 0x1C
94 #define INCLINOMETER2_REG_DEN_SRC 0x1D
95 #define INCLINOMETER2_REG_STATUS 0x1E
96 #define INCLINOMETER2_REG_OUT_TEMP_L 0x20
97 #define INCLINOMETER2_REG_OUT_TEMP_H 0x21
98 #define INCLINOMETER2_REG_OUTX_L_A 0x28
99 #define INCLINOMETER2_REG_OUTX_H_A 0x29
100 #define INCLINOMETER2_REG_OUTY_L_A 0x2A
101 #define INCLINOMETER2_REG_OUTY_H_A 0x2B
102 #define INCLINOMETER2_REG_EMB_FUNC_STATUS_MAINPAGE 0x35
103 #define INCLINOMETER2_REG_FSM_STATUS_A_MAINPAGE 0x36
104 #define INCLINOMETER2_REG_FSM_STATUS_B_MAINPAGE 0x37
105 #define INCLINOMETER2_REG_MLC_STATUS_MAINPAGE 0x38
106 #define INCLINOMETER2_REG_STATUS_MASTER_MAINPAGE 0x39
107 #define INCLINOMETER2_REG_FIFO_STATUS1 0x3A
108 #define INCLINOMETER2_REG_FIFO_STATUS2 0x3B
109 #define INCLINOMETER2_REG_TIMESTAMP0 0x40
110 #define INCLINOMETER2_REG_TIMESTAMP1 0x41
111 #define INCLINOMETER2_REG_TIMESTAMP2 0x42
112 #define INCLINOMETER2_REG_TIMESTAMP3 0x43
113 #define INCLINOMETER2_REG_TAP_CFG0 0x56
114 #define INCLINOMETER2_REG_TAP_CFG1 0x57
115 #define INCLINOMETER2_REG_TAP_CFG2 0x58
116 #define INCLINOMETER2_REG_INT_DUR2 0x5A
117 #define INCLINOMETER2_REG_WAKE_UP_THS 0x5B
118 #define INCLINOMETER2_REG_WAKE_UP_DUR 0x5C
119 #define INCLINOMETER2_REG_MD1_CFG 0x5E
120 #define INCLINOMETER2_REG_MD2_CFG 0x5F
121 #define INCLINOMETER2_REG_INTERNAL_FREQ_FINE 0x63
122 #define INCLINOMETER2_REG_X_OFS_USR 0x73
123 #define INCLINOMETER2_REG_Y_OFS_USR 0x74
124 #define INCLINOMETER2_REG_FIFO_DATA_OUT_TAG 0x78
125 #define INCLINOMETER2_REG_FIFO_DATA_OUT_X_L 0x79
126 #define INCLINOMETER2_REG_FIFO_DATA_OUT_X_H 0x7A
127 #define INCLINOMETER2_REG_FIFO_DATA_OUT_Y_L 0x7B
128 #define INCLINOMETER2_REG_FIFO_DATA_OUT_Y_H 0x7C
129 #define INCLINOMETER2_REG_FIFO_DATA_OUT_Z_L 0x7D
130 #define INCLINOMETER2_REG_FIFO_DATA_OUT_Z_H 0x7E
131 
136 #define INCLINOMETER2_FUNC_REG_PAGE_SEL 0x02
137 #define INCLINOMETER2_FUNC_REG_EMB_FUNC_EN_B 0x05
138 #define INCLINOMETER2_FUNC_REG_PAGE_ADDRESS 0x08
139 #define INCLINOMETER2_FUNC_REG_PAGE_VALUE 0x09
140 #define INCLINOMETER2_FUNC_REG_EMB_FUNC_INT1 0x0A
141 #define INCLINOMETER2_FUNC_REG_FSM_INT1_A 0x0B
142 #define INCLINOMETER2_FUNC_REG_FSM_INT1_B 0x0C
143 #define INCLINOMETER2_FUNC_REG_MLC_INT1 0x0D
144 #define INCLINOMETER2_FUNC_REG_EMB_FUNC_INT2 0x0E
145 #define INCLINOMETER2_FUNC_REG_FSM_INT2_A 0x0F
146 #define INCLINOMETER2_FUNC_REG_FSM_INT2_B 0x10
147 #define INCLINOMETER2_FUNC_REG_MLC_INT2 0x11
148 #define INCLINOMETER2_FUNC_REG_EMB_FUNC_STATUS 0x12
149 #define INCLINOMETER2_FUNC_REG_FSM_STATUS_A 0x13
150 #define INCLINOMETER2_FUNC_REG_FSM_STATUS_B 0x14
151 #define INCLINOMETER2_FUNC_REG_MLC_STATUS 0x15
152 #define INCLINOMETER2_FUNC_REG_PAGE_RW 0x17
153 #define INCLINOMETER2_FUNC_REG_FSM_ENABLE_A 0x46
154 #define INCLINOMETER2_FUNC_REG_FSM_ENABLE_B 0x47
155 #define INCLINOMETER2_FUNC_REG_FSM_LONG_COUNTER_L 0x48
156 #define INCLINOMETER2_FUNC_REG_FSM_LONG_COUNTER_H 0x49
157 #define INCLINOMETER2_FUNC_REG_FSM_LONG_COUNTER_CLR 0x4A
158 #define INCLINOMETER2_FUNC_REG_FSM_OUTS1 0x4C
159 #define INCLINOMETER2_FUNC_REG_FSM_OUTS2 0x4D
160 #define INCLINOMETER2_FUNC_REG_FSM_OUTS3 0x4E
161 #define INCLINOMETER2_FUNC_REG_FSM_OUTS4 0x4F
162 #define INCLINOMETER2_FUNC_REG_FSM_OUTS5 0x50
163 #define INCLINOMETER2_FUNC_REG_FSM_OUTS6 0x51
164 #define INCLINOMETER2_FUNC_REG_FSM_OUTS7 0x52
165 #define INCLINOMETER2_FUNC_REG_FSM_OUTS8 0x53
166 #define INCLINOMETER2_FUNC_REG_FSM_OUTS9 0x54
167 #define INCLINOMETER2_FUNC_REG_FSM_OUTS10 0x55
168 #define INCLINOMETER2_FUNC_REG_FSM_OUTS11 0x56
169 #define INCLINOMETER2_FUNC_REG_FSM_OUTS12 0x57
170 #define INCLINOMETER2_FUNC_REG_FSM_OUTS13 0x58
171 #define INCLINOMETER2_FUNC_REG_FSM_OUTS14 0x59
172 #define INCLINOMETER2_FUNC_REG_FSM_OUTS15 0x5A
173 #define INCLINOMETER2_FUNC_REG_FSM_OUTS16 0x5B
174 #define INCLINOMETER2_FUNC_REG_EMB_FUNC_ODR_CFG_B 0x5F
175 #define INCLINOMETER2_FUNC_REG_EMB_FUNC_ODR_CFG_C 0x60
176 #define INCLINOMETER2_FUNC_REG_EMB_FUNC_INIT_B 0x67
177 #define INCLINOMETER2_FUNC_REG_MCL0_SRC 0x70
178 #define INCLINOMETER2_FUNC_REG_MCL1_SRC 0x71
179 #define INCLINOMETER2_FUNC_REG_MCL2_SRC 0x72
180 #define INCLINOMETER2_FUNC_REG_MCL3_SRC 0x73
181 #define INCLINOMETER2_FUNC_REG_MCL4_SRC 0x74
182 #define INCLINOMETER2_FUNC_REG_MCL5_SRC 0x75
183 #define INCLINOMETER2_FUNC_REG_MCL6_SRC 0x76
184 #define INCLINOMETER2_FUNC_REG_MCL7_SRC 0x77
185 
190 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_1 0x02
191 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_2 0x03
192 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_3 0x04
193 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_4 0x05
194 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_5 0x06
195 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_6 0x07
196 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_7 0x08
197 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_8 0x09
198 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_9 0x0A
199 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_10 0x0B
200 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_11 0x0C
201 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_12 0x0D
202 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_13 0x0E
203 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_14 0x0F
204 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_15 0x10
205 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_16 0x11
206 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_17 0x12
207 #define INCLINOMETER2_SHUB_REG_SENSOR_HUB_18 0x13
208 #define INCLINOMETER2_SHUB_REG_MASTER_CONFIG 0x14
209 #define INCLINOMETER2_SHUB_REG_SLV0_ADD 0x15
210 #define INCLINOMETER2_SHUB_REG_SLV0_SUBADD 0x16
211 #define INCLINOMETER2_SHUB_REG_SLV0_CONFIG 0x17
212 #define INCLINOMETER2_SHUB_REG_SLV1_ADD 0x18
213 #define INCLINOMETER2_SHUB_REG_SLV1_SUBADD 0x19
214 #define INCLINOMETER2_SHUB_REG_SLV1_CONFIG 0x1A
215 #define INCLINOMETER2_SHUB_REG_SLV2_ADD 0x1B
216 #define INCLINOMETER2_SHUB_REG_SLV2_SUBADD 0x1C
217 #define INCLINOMETER2_SHUB_REG_SLV2_CONFIG 0x1D
218 #define INCLINOMETER2_SHUB_REG_SLV3_ADD 0x1E
219 #define INCLINOMETER2_SHUB_REG_SLV3_SUBADD 0x1F
220 #define INCLINOMETER2_SHUB_REG_SLV3_CONFIG 0x20
221 #define INCLINOMETER2_SHUB_REG_DATAWRITE_SLV0 0x21
222 #define INCLINOMETER2_SHUB_REG_STATUS_MASTER 0x22
223  // inclinometer2_reg
225 
240 #define INCLINOMETER2_INT1_CTRL_DEN_DRDY 0x80
241 #define INCLINOMETER2_INT1_CTRL_CNT_BDR 0x40
242 #define INCLINOMETER2_INT1_CTRL_FIFO_FULL 0x20
243 #define INCLINOMETER2_INT1_CTRL_FIFO_OVR 0x10
244 #define INCLINOMETER2_INT1_CTRL_FIFO_TH 0x08
245 #define INCLINOMETER2_INT1_CTRL_BOOT 0x04
246 #define INCLINOMETER2_INT1_CTRL_DRDY_XL 0x01
247 
252 #define INCLINOMETER2_STATUS_TEMP_DRDY 0x04
253 #define INCLINOMETER2_STATUS_ACCEL_DRDY 0x01
254 
259 #define INCLINOMETER2_ACCEL_FSR_0p5G_RES 0.015f
260 #define INCLINOMETER2_ACCEL_FSR_1G_RES 0.031f
261 #define INCLINOMETER2_ACCEL_FSR_2G_RES 0.061f
262 #define INCLINOMETER2_ACCEL_FSR_3G_RES 0.122f
263 #define INCLINOMETER2_ROOM_TEMP 25.0f
264 #define INCLINOMETER2_TEMP_SENS 256.0f
265 
270 #define INCLINOMETER2_WHO_AM_I 0x6B
271 
277 #define INCLINOMETER2_DEVICE_ADDRESS_0 0x6A
278 #define INCLINOMETER2_DEVICE_ADDRESS_1 0x6B
279 
288 #define INCLINOMETER2_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
289 #define INCLINOMETER2_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
290  // inclinometer2_set
292 
307 #define INCLINOMETER2_MAP_MIKROBUS( cfg, mikrobus ) \
308  cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
309  cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
310  cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
311  cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
312  cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
313  cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
314  cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT )
315  // inclinometer2_map // inclinometer2
318 
323 typedef enum
324 {
329 
334 struct inclinometer2_s;
335 typedef err_t ( *inclinometer2_master_io_t )( struct inclinometer2_s*, uint8_t, uint8_t*, uint8_t );
341 typedef struct inclinometer2_s
342 {
343  digital_in_t int_pin;
345  i2c_master_t i2c;
346  spi_master_t spi;
348  uint8_t slave_address;
349  pin_name_t chip_select;
354  float resolution;
357 
362 typedef struct
363 {
364  pin_name_t scl;
365  pin_name_t sda;
366  pin_name_t miso;
367  pin_name_t mosi;
368  pin_name_t sck;
369  pin_name_t cs;
370  pin_name_t int_pin;
372  uint32_t i2c_speed;
373  uint8_t i2c_address;
375  uint32_t spi_speed;
376  spi_master_mode_t spi_mode;
377  spi_master_chip_select_polarity_t cs_polarity;
382 
387 typedef enum
388 {
394 
396 
401 typedef enum
402 {
412 
414 
419 typedef enum
420 {
423 
425 
442 
458 
473 
487 
502 err_t inclinometer2_generic_write ( inclinometer2_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len );
503 
518 err_t inclinometer2_generic_read ( inclinometer2_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len );
519 
532 err_t inclinometer2_write_register ( inclinometer2_t *ctx, uint8_t reg, uint8_t data_in );
533 
546 err_t inclinometer2_read_register ( inclinometer2_t *ctx, uint8_t reg, uint8_t *data_out );
547 
559 
569 
585 
598 err_t inclinometer2_get_accel ( inclinometer2_t *ctx, float *x_axis, float *y_axis );
599 
611 err_t inclinometer2_get_temperature ( inclinometer2_t *ctx, float *temperature );
612 
613 #ifdef __cplusplus
614 }
615 #endif
616 #endif // INCLINOMETER2_H
617  // inclinometer2
619 
620 // ------------------------------------------------------------------------ END
inclinometer2_s::write_f
inclinometer2_master_io_t write_f
Definition: inclinometer2.h:352
INCLINOMETER2_FSR_BIT_MASK
@ INCLINOMETER2_FSR_BIT_MASK
Definition: inclinometer2.h:393
inclinometer2_cfg_t::spi_speed
uint32_t spi_speed
Definition: inclinometer2.h:375
inclinometer2_s::drv_sel
inclinometer2_drv_t drv_sel
Definition: inclinometer2.h:350
INCLINOMETER2_DRV_SEL_I2C
@ INCLINOMETER2_DRV_SEL_I2C
Definition: inclinometer2.h:326
inclinometer2_drv_t
inclinometer2_drv_t
Inclinometer 2 Click driver selector.
Definition: inclinometer2.h:324
spi_specifics.h
This file contains SPI specific macros, functions, etc.
inclinometer2_get_temperature
err_t inclinometer2_get_temperature(inclinometer2_t *ctx, float *temperature)
Inclinometer 2 get temperature function.
INCLINOMETER2_ODR_12p5HZ
@ INCLINOMETER2_ODR_12p5HZ
Definition: inclinometer2.h:404
inclinometer2_cfg_t::i2c_address
uint8_t i2c_address
Definition: inclinometer2.h:373
inclinometer2_cfg_t::i2c_speed
uint32_t i2c_speed
Definition: inclinometer2.h:372
inclinometer2_s::int_pin
digital_in_t int_pin
Definition: inclinometer2.h:343
inclinometer2_cfg_t::miso
pin_name_t miso
Definition: inclinometer2.h:366
INCLINOMETER2_ODR_833HZ
@ INCLINOMETER2_ODR_833HZ
Definition: inclinometer2.h:410
INCLINOMETER2_ODR_52HZ
@ INCLINOMETER2_ODR_52HZ
Definition: inclinometer2.h:406
inclinometer2_s
Inclinometer 2 Click context object.
Definition: inclinometer2.h:342
inclinometer2_s::slave_address
uint8_t slave_address
Definition: inclinometer2.h:348
inclinometer2_s::chip_select
pin_name_t chip_select
Definition: inclinometer2.h:349
inclinometer2_check_communication
err_t inclinometer2_check_communication(inclinometer2_t *ctx)
Inclinometer 2 check communication function.
inclinometer2_s::read_f
inclinometer2_master_io_t read_f
Definition: inclinometer2.h:353
inclinometer2_cfg_t::sck
pin_name_t sck
Definition: inclinometer2.h:368
inclinometer2_get_accel
err_t inclinometer2_get_accel(inclinometer2_t *ctx, float *x_axis, float *y_axis)
Inclinometer 2 get accel function.
INCLINOMETER2_ODR_POWER_DOWN
@ INCLINOMETER2_ODR_POWER_DOWN
Definition: inclinometer2.h:403
inclinometer2_cfg_t::scl
pin_name_t scl
Definition: inclinometer2.h:364
INCLINOMETER2_ODR_104HZ
@ INCLINOMETER2_ODR_104HZ
Definition: inclinometer2.h:407
INCLINOMETER2_ERROR
@ INCLINOMETER2_ERROR
Definition: inclinometer2.h:422
inclinometer2_set_fsr_and_odr
err_t inclinometer2_set_fsr_and_odr(inclinometer2_t *ctx, inclinometer2_fsr_t fsr, inclinometer2_odr_t odr)
Inclinometer 2 set fsr and odr function.
inclinometer2_drv_interface_selection
void inclinometer2_drv_interface_selection(inclinometer2_cfg_t *cfg, inclinometer2_drv_t drv_sel)
Inclinometer 2 driver interface setup function.
INCLINOMETER2_FSR_2G
@ INCLINOMETER2_FSR_2G
Definition: inclinometer2.h:392
inclinometer2_cfg_t::cs_polarity
spi_master_chip_select_polarity_t cs_polarity
Definition: inclinometer2.h:377
inclinometer2_init
err_t inclinometer2_init(inclinometer2_t *ctx, inclinometer2_cfg_t *cfg)
Inclinometer 2 initialization function.
inclinometer2_s::spi
spi_master_t spi
Definition: inclinometer2.h:346
inclinometer2_return_value_t
inclinometer2_return_value_t
Inclinometer 2 Click return value data.
Definition: inclinometer2.h:420
INCLINOMETER2_ODR_BIT_MASK
@ INCLINOMETER2_ODR_BIT_MASK
Definition: inclinometer2.h:411
INCLINOMETER2_ODR_416HZ
@ INCLINOMETER2_ODR_416HZ
Definition: inclinometer2.h:409
INCLINOMETER2_DRV_SEL_SPI
@ INCLINOMETER2_DRV_SEL_SPI
Definition: inclinometer2.h:325
inclinometer2_generic_read
err_t inclinometer2_generic_read(inclinometer2_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
Inclinometer 2 data reading function.
INCLINOMETER2_FSR_3G
@ INCLINOMETER2_FSR_3G
Definition: inclinometer2.h:390
inclinometer2_write_register
err_t inclinometer2_write_register(inclinometer2_t *ctx, uint8_t reg, uint8_t data_in)
Inclinometer 2 write register function.
INCLINOMETER2_OK
@ INCLINOMETER2_OK
Definition: inclinometer2.h:421
inclinometer2_s::resolution
float resolution
Definition: inclinometer2.h:354
inclinometer2_cfg_t
Inclinometer 2 Click configuration object.
Definition: inclinometer2.h:363
inclinometer2_cfg_setup
void inclinometer2_cfg_setup(inclinometer2_cfg_t *cfg)
Inclinometer 2 configuration object setup function.
inclinometer2_fsr_t
inclinometer2_fsr_t
Inclinometer 2 Click accel full-scale range selection.
Definition: inclinometer2.h:388
inclinometer2_cfg_t::drv_sel
inclinometer2_drv_t drv_sel
Definition: inclinometer2.h:379
inclinometer2_cfg_t::cs
pin_name_t cs
Definition: inclinometer2.h:369
INCLINOMETER2_FSR_0p5G
@ INCLINOMETER2_FSR_0p5G
Definition: inclinometer2.h:389
inclinometer2_default_cfg
err_t inclinometer2_default_cfg(inclinometer2_t *ctx)
Inclinometer 2 default configuration function.
inclinometer2_t
struct inclinometer2_s inclinometer2_t
Inclinometer 2 Click context object.
inclinometer2_cfg_t::spi_mode
spi_master_mode_t spi_mode
Definition: inclinometer2.h:376
inclinometer2_master_io_t
err_t(* inclinometer2_master_io_t)(struct inclinometer2_s *, uint8_t, uint8_t *, uint8_t)
Definition: inclinometer2.h:335
INCLINOMETER2_FSR_1G
@ INCLINOMETER2_FSR_1G
Definition: inclinometer2.h:391
inclinometer2_cfg_t::mosi
pin_name_t mosi
Definition: inclinometer2.h:367
inclinometer2_generic_write
err_t inclinometer2_generic_write(inclinometer2_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
Inclinometer 2 data writing function.
inclinometer2_cfg_t::sda
pin_name_t sda
Definition: inclinometer2.h:365
inclinometer2_read_register
err_t inclinometer2_read_register(inclinometer2_t *ctx, uint8_t reg, uint8_t *data_out)
Inclinometer 2 read register function.
inclinometer2_cfg_t::int_pin
pin_name_t int_pin
Definition: inclinometer2.h:370
inclinometer2_odr_t
inclinometer2_odr_t
Inclinometer 2 Click output data rate.
Definition: inclinometer2.h:402
INCLINOMETER2_ODR_208HZ
@ INCLINOMETER2_ODR_208HZ
Definition: inclinometer2.h:408
INCLINOMETER2_ODR_26HZ
@ INCLINOMETER2_ODR_26HZ
Definition: inclinometer2.h:405
inclinometer2_get_int_pin
uint8_t inclinometer2_get_int_pin(inclinometer2_t *ctx)
Inclinometer 2 get int pin function.
inclinometer2_s::i2c
i2c_master_t i2c
Definition: inclinometer2.h:345