| ICM42370P eMD Driver 2.2.7 Documentation of the eMD Driver API

- Main Page
- Related Pages
- Modules
- Classes
- Files

- File List
- File Members

inv_imu_driver.h
Go to the documentation of this file.
1 /*
2 * ________________________________________________________________________________________________________
3 * Copyright (c) 2017 InvenSense Inc. All rights reserved.
4 *
5 * This software, related documentation and any modifications thereto (collectively "Software") is subject
6 * to InvenSense and its licensors' intellectual property rights under U.S. and international copyright
7 * and other intellectual property rights laws.
8 *
9 * InvenSense and its licensors retain all intellectual property and proprietary rights in and to the Software
10 * and any use, reproduction, disclosure or distribution of the Software without an express license agreement
11 * from InvenSense is strictly prohibited.
12 *
13 * EXCEPT AS OTHERWISE PROVIDED IN A LICENSE AGREEMENT BETWEEN THE PARTIES, THE SOFTWARE IS
14 * PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
15 * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
16 * EXCEPT AS OTHERWISE PROVIDED IN A LICENSE AGREEMENT BETWEEN THE PARTIES, IN NO EVENT SHALL
17 * INVENSENSE BE LIABLE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
18 * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
19 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
20 * OF THE SOFTWARE.
21 * ________________________________________________________________________________________________________
22 */
23
31 #ifndef _INV_IMU_DRIVER_H_
32 #define _INV_IMU_DRIVER_H_
33
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37
38 #include "imu/inv_imu_defs.h"
39 #include "imu/inv_imu_transport.h"
40
41 #include "Invn/InvError.h"
42
43 #include <stdint.h>
44 #include <string.h>
45
47 #define ACCEL_CONFIG0_FS_SEL_MAX ACCEL_CONFIG0_FS_SEL_16g
49 #define ACCEL_OFFUSER_MAX_MG 1000
51 #define ACC_STARTUP_TIME_US 10000
52
53 #if ICM_IS_GYRO_SUPPORTED
55 #define GYRO_CONFIG0_FS_SEL_MAX GYRO_CONFIG0_FS_SEL_2000dps
57 #define GYRO_OFFUSER_MAX_DPS 64
59 #define GYR_STARTUP_TIME_US 70000
60 #endif
61
63 #define FIFO_MIRRORING_SIZE 16 * 258 // packet size * max_count = 4kB
64
66 enum inv_imu_sensor {
67 INV_SENSOR_ACCEL,
68 #if ICM_IS_GYRO_SUPPORTED
69 INV_SENSOR_GYRO,
70 INV_SENSOR_FSYNC_EVENT,
71 #else
72 INV_SENSOR_RESERVED1,
73 INV_SENSOR_RESERVED2,
74 #endif
75 INV_SENSOR_TEMPERATURE,
76 INV_SENSOR_DMP_PEDOMETER_EVENT,
77 INV_SENSOR_DMP_PEDOMETER_COUNT,
78 INV_SENSOR_DMP_TILT,
79 INV_SENSOR_DMP_FF,
80 INV_SENSOR_DMP_LOWG,
81 INV_SENSOR_DMP_SMD,
82 INV_SENSOR_MAX
83 };
84
86 typedef enum {
87 INV_IMU_FIFO_DISABLED = 0,
88 INV_IMU_FIFO_ENABLED = 1,
89 } INV_IMU_FIFO_CONFIG_t;
90
92 typedef struct {
93 int sensor_mask;
94 uint16_t timestamp_fsync;
95 int16_t accel[3];
96 #if ICM_IS_GYRO_SUPPORTED
97 int16_t gyro[3];
98 #endif
99 int16_t temperature;
100 int8_t accel_high_res[3];
101 #if ICM_IS_GYRO_SUPPORTED
102 int8_t gyro_high_res[3];
103 #endif
104 } inv_imu_sensor_event_t;
105
107 struct inv_imu_device {
111 struct inv_imu_transport transport;
112
118 void (*sensor_event_cb)(inv_imu_sensor_event_t *event);
119
120 uint8_t fifo_data[FIFO_MIRRORING_SIZE];
121 uint8_t dmp_is_on;
122 uint8_t endianness_data;
123 uint8_t fifo_highres_enabled;
124 INV_IMU_FIFO_CONFIG_t fifo_is_used;
125 #if ICM_IS_GYRO_SUPPORTED
126 uint64_t gyro_start_time_us;
127 #endif
128 uint64_t accel_start_time_us;
129 };
130
132 typedef enum { INV_IMU_DISABLE = 0, INV_IMU_ENABLE } inv_imu_interrupt_value;
133
135 typedef struct {
136 inv_imu_interrupt_value INV_UI_FSYNC;
137 inv_imu_interrupt_value INV_UI_DRDY;
138 inv_imu_interrupt_value INV_FIFO_THS;
139 inv_imu_interrupt_value INV_FIFO_FULL;
140 inv_imu_interrupt_value INV_SMD;
141 inv_imu_interrupt_value INV_WOM_X;
142 inv_imu_interrupt_value INV_WOM_Y;
143 inv_imu_interrupt_value INV_WOM_Z;
144 inv_imu_interrupt_value INV_FF;
145 inv_imu_interrupt_value INV_LOWG;
146 inv_imu_interrupt_value INV_STEP_DET;
147 inv_imu_interrupt_value INV_STEP_CNT_OVFL;
148 inv_imu_interrupt_value INV_TILT_DET;
149 } inv_imu_interrupt_parameter_t;
150
157 int inv_imu_init(struct inv_imu_device *s, const struct inv_imu_serif *serif,
158 void (*sensor_event_cb)(inv_imu_sensor_event_t *event));
159
164 int inv_imu_device_reset(struct inv_imu_device *s);
165
171 int inv_imu_get_who_am_i(struct inv_imu_device *s, uint8_t *who_am_i);
172
177 int inv_imu_enable_accel_low_power_mode(struct inv_imu_device *s);
178
183 int inv_imu_enable_accel_low_noise_mode(struct inv_imu_device *s);
184
189 int inv_imu_disable_accel(struct inv_imu_device *s);
190
196 int inv_imu_set_accel_frequency(struct inv_imu_device *s, const ACCEL_CONFIG0_ODR_t frequency);
197
203 int inv_imu_set_accel_lp_avg(struct inv_imu_device *s, ACCEL_CONFIG1_ACCEL_FILT_AVG_t acc_avg);
204
210 int inv_imu_set_accel_ln_bw(struct inv_imu_device *s, ACCEL_CONFIG1_ACCEL_FILT_BW_t acc_bw);
211
217 int inv_imu_set_accel_fsr(struct inv_imu_device *s, ACCEL_CONFIG0_FS_SEL_t accel_fsr_g);
218
224 int inv_imu_get_accel_fsr(struct inv_imu_device *s, ACCEL_CONFIG0_FS_SEL_t *accel_fsr_g);
225
226 #if ICM_IS_GYRO_SUPPORTED
231 int inv_imu_enable_gyro_low_noise_mode(struct inv_imu_device *s);
232
237 int inv_imu_disable_gyro(struct inv_imu_device *s);
238
244 int inv_imu_set_gyro_frequency(struct inv_imu_device *s, const GYRO_CONFIG0_ODR_t frequency);
245
251 int inv_imu_set_gyro_ln_bw(struct inv_imu_device *s, GYRO_CONFIG1_GYRO_FILT_BW_t gyr_bw);
252
258 int inv_imu_set_gyro_fsr(struct inv_imu_device *s, GYRO_CONFIG0_FS_SEL_t gyro_fsr_dps);
259
265 int inv_imu_get_gyro_fsr(struct inv_imu_device *s, GYRO_CONFIG0_FS_SEL_t *gyro_fsr_dps);
266
276 int inv_imu_enable_fsync(struct inv_imu_device *s);
277
287 int inv_imu_disable_fsync(struct inv_imu_device *s);
288 #endif
289
295 int inv_imu_set_config_int1(struct inv_imu_device *s, const inv_imu_interrupt_parameter_t *it);
296
302 int inv_imu_get_config_int1(struct inv_imu_device *s, inv_imu_interrupt_parameter_t *it);
303
309 int inv_imu_set_config_int2(struct inv_imu_device *s, const inv_imu_interrupt_parameter_t *it);
310
316 int inv_imu_get_config_int2(struct inv_imu_device *s, inv_imu_interrupt_parameter_t *it);
317
323 int inv_imu_get_data_from_registers(struct inv_imu_device *s);
324
332 int inv_imu_get_data_from_fifo(struct inv_imu_device *s);
333
338 uint32_t inv_imu_convert_odr_bitfield_to_us(uint32_t odr_bitfield);
339
345 int inv_imu_set_timestamp_resolution(struct inv_imu_device * s,
346 const TMST_CONFIG1_RESOL_t timestamp_resol);
347
352 int inv_imu_reset_fifo(struct inv_imu_device *s);
353
358 int inv_imu_enable_high_resolution_fifo(struct inv_imu_device *s);
359
364 int inv_imu_disable_high_resolution_fifo(struct inv_imu_device *s);
365
373 int inv_imu_configure_fifo(struct inv_imu_device *s, INV_IMU_FIFO_CONFIG_t fifo_config);
374
379 uint32_t inv_imu_get_timestamp_resolution_us(struct inv_imu_device *s);
380
391 int inv_imu_configure_wom(struct inv_imu_device *s, const uint8_t wom_x_th, const uint8_t wom_y_th,
392 const uint8_t wom_z_th, WOM_CONFIG_WOM_INT_MODE_t wom_int,
393 WOM_CONFIG_WOM_INT_DUR_t wom_dur);
394
403 int inv_imu_enable_wom(struct inv_imu_device *s);
404
410 int inv_imu_disable_wom(struct inv_imu_device *s);
411
416 int inv_imu_start_dmp(struct inv_imu_device *s);
417
423 int inv_imu_reset_dmp(struct inv_imu_device *s, const APEX_CONFIG0_DMP_MEM_RESET_t sram_reset);
424
430 int inv_imu_set_endianness(struct inv_imu_device *s, INTF_CONFIG0_DATA_ENDIAN_t endianness);
431
436 int inv_imu_get_endianness(struct inv_imu_device *s);
437
443 int inv_imu_configure_fifo_data_rate(struct inv_imu_device *s, FDR_CONFIG_FDR_SEL_t dec_factor);
444
448 const char *inv_imu_get_version(void);
449
455 static inline void format_u16_data(uint8_t endianness, const uint8_t *in, uint16_t *out)
456 {
457 *out = (uint16_t)(endianness == INTF_CONFIG0_DATA_BIG_ENDIAN ? (in[0] << 8) | in[1] :
458 (in[1] << 8) | in[0]);
459 }
460
466 static inline void format_s16_data(uint8_t endianness, const uint8_t *in, int16_t *out)
467 {
468 *out = (int16_t)(endianness == INTF_CONFIG0_DATA_BIG_ENDIAN ? (in[0] << 8) | in[1] :
469 (in[1] << 8) | in[0]);
470 }
471
472 #ifdef __cplusplus
473 }
474 #endif
475
476 #endif /* _INV_IMU_DRIVER_H_ */
477
inv_imu_defs.h
File exposing the device register map.
WOM_CONFIG_WOM_INT_MODE_t
WOM_CONFIG_WOM_INT_MODE_t
Definition: inv_imu_defs.h:474
WOM_CONFIG_WOM_INT_DUR_t
WOM_CONFIG_WOM_INT_DUR_t
Definition: inv_imu_defs.h:466
ACCEL_CONFIG1_ACCEL_FILT_BW_t
ACCEL_CONFIG1_ACCEL_FILT_BW_t
Definition: inv_imu_defs.h:389
ACCEL_CONFIG0_FS_SEL_t
ACCEL_CONFIG0_FS_SEL_t
Definition: inv_imu_defs.h:332
APEX_CONFIG0_DMP_MEM_RESET_t
APEX_CONFIG0_DMP_MEM_RESET_t
Definition: inv_imu_defs.h:418
TMST_CONFIG1_RESOL_t
TMST_CONFIG1_RESOL_t
Definition: inv_imu_defs.h:571
ACCEL_CONFIG1_ACCEL_FILT_AVG_t
ACCEL_CONFIG1_ACCEL_FILT_AVG_t
Definition: inv_imu_defs.h:379
INTF_CONFIG0_DATA_ENDIAN_t
INTF_CONFIG0_DATA_ENDIAN_t
Definition: inv_imu_defs.h:556
INTF_CONFIG0_DATA_BIG_ENDIAN
@ INTF_CONFIG0_DATA_BIG_ENDIAN
Definition: inv_imu_defs.h:557
FDR_CONFIG_FDR_SEL_t
FDR_CONFIG_FDR_SEL_t
Definition: inv_imu_defs.h:971
ACCEL_CONFIG0_ODR_t
ACCEL_CONFIG0_ODR_t
Definition: inv_imu_defs.h:340
inv_imu_transport.h
inv_imu_interrupt_value
inv_imu_interrupt_value
Interrupt enum state for INT1, INT2, and IBI.
Definition: inv_imu_driver.h:132
inv_imu_set_config_int2
int inv_imu_set_config_int2(struct inv_imu_device *s, const inv_imu_interrupt_parameter_t *it)
Configure which interrupt source can trigger INT2.
inv_imu_sensor
inv_imu_sensor
Sensor identifier for UI control function.
Definition: inv_imu_driver.h:66
inv_imu_set_accel_ln_bw
int inv_imu_set_accel_ln_bw(struct inv_imu_device *s, ACCEL_CONFIG1_ACCEL_FILT_BW_t acc_bw)
Set accel Low-Noise bandwidth value.
inv_imu_enable_high_resolution_fifo
int inv_imu_enable_high_resolution_fifo(struct inv_imu_device *s)
Enable 20 bits raw acc and raw gyr data in fifo.
format_s16_data
static void format_s16_data(uint8_t endianness, const uint8_t *in, int16_t *out)
Converts two bytes in one signed half-word depending on endianness.
Definition: inv_imu_driver.h:466
inv_imu_disable_wom
int inv_imu_disable_wom(struct inv_imu_device *s)
Disable Wake On Motion.
inv_imu_reset_fifo
int inv_imu_reset_fifo(struct inv_imu_device *s)
Reset IMU fifo.
inv_imu_set_accel_lp_avg
int inv_imu_set_accel_lp_avg(struct inv_imu_device *s, ACCEL_CONFIG1_ACCEL_FILT_AVG_t acc_avg)
Set accel Low-Power averaging value.
inv_imu_disable_high_resolution_fifo
int inv_imu_disable_high_resolution_fifo(struct inv_imu_device *s)
Disable 20 bits raw acc and raw gyr data in fifo.
inv_imu_get_config_int1
int inv_imu_get_config_int1(struct inv_imu_device *s, inv_imu_interrupt_parameter_t *it)
Retrieve interrupts configuration.
inv_imu_set_config_int1
int inv_imu_set_config_int1(struct inv_imu_device *s, const inv_imu_interrupt_parameter_t *it)
Configure which interrupt source can trigger INT1.
inv_imu_device_reset
int inv_imu_device_reset(struct inv_imu_device *s)
Reset device by reloading OTPs.
inv_imu_convert_odr_bitfield_to_us
uint32_t inv_imu_convert_odr_bitfield_to_us(uint32_t odr_bitfield)
Converts ACCEL_CONFIG0_ODR_t or GYRO_CONFIG0_ODR_t enums to period expressed in us.
inv_imu_get_accel_fsr
int inv_imu_get_accel_fsr(struct inv_imu_device *s, ACCEL_CONFIG0_FS_SEL_t *accel_fsr_g)
Access accel full scale range.
inv_imu_configure_fifo
int inv_imu_configure_fifo(struct inv_imu_device *s, INV_IMU_FIFO_CONFIG_t fifo_config)
Configure Fifo.
inv_imu_get_timestamp_resolution_us
uint32_t inv_imu_get_timestamp_resolution_us(struct inv_imu_device *s)
Get timestamp resolution.
inv_imu_get_who_am_i
int inv_imu_get_who_am_i(struct inv_imu_device *s, uint8_t *who_am_i)
return WHOAMI value.
inv_imu_get_endianness
int inv_imu_get_endianness(struct inv_imu_device *s)
Read the UI endianness and set the inv_device endianness field.
INV_IMU_FIFO_CONFIG_t
INV_IMU_FIFO_CONFIG_t
Configure Fifo usage.
Definition: inv_imu_driver.h:86
inv_imu_set_timestamp_resolution
int inv_imu_set_timestamp_resolution(struct inv_imu_device *s, const TMST_CONFIG1_RESOL_t timestamp_resol)
Set timestamp resolution.
inv_imu_set_accel_fsr
int inv_imu_set_accel_fsr(struct inv_imu_device *s, ACCEL_CONFIG0_FS_SEL_t accel_fsr_g)
Set accel full scale range.
inv_imu_reset_dmp
int inv_imu_reset_dmp(struct inv_imu_device *s, const APEX_CONFIG0_DMP_MEM_RESET_t sram_reset)
Reset DMP for APEX algorithms and selftest.
inv_imu_disable_accel
int inv_imu_disable_accel(struct inv_imu_device *s)
Disable all 3 axes of accel.
inv_imu_configure_fifo_data_rate
int inv_imu_configure_fifo_data_rate(struct inv_imu_device *s, FDR_CONFIG_FDR_SEL_t dec_factor)
Configure Fifo decimation.
inv_imu_start_dmp
int inv_imu_start_dmp(struct inv_imu_device *s)
Start DMP for APEX algorithms and selftest.
inv_imu_get_version
const char * inv_imu_get_version(void)
Return driver version x.y.z-suffix as a char array.
inv_imu_configure_wom
int inv_imu_configure_wom(struct inv_imu_device *s, const uint8_t wom_x_th, const uint8_t wom_y_th, const uint8_t wom_z_th, WOM_CONFIG_WOM_INT_MODE_t wom_int, WOM_CONFIG_WOM_INT_DUR_t wom_dur)
Enable Wake On Motion.
inv_imu_enable_accel_low_power_mode
int inv_imu_enable_accel_low_power_mode(struct inv_imu_device *s)
Enable/put accel in low power mode.
inv_imu_enable_wom
int inv_imu_enable_wom(struct inv_imu_device *s)
Enable Wake On Motion.
inv_imu_set_endianness
int inv_imu_set_endianness(struct inv_imu_device *s, INTF_CONFIG0_DATA_ENDIAN_t endianness)
Set the UI endianness and set the inv_device endianness field.
inv_imu_get_data_from_fifo
int inv_imu_get_data_from_fifo(struct inv_imu_device *s)
Read all available packets from the FIFO.
inv_imu_get_config_int2
int inv_imu_get_config_int2(struct inv_imu_device *s, inv_imu_interrupt_parameter_t *it)
Retrieve interrupts configuration.
format_u16_data
static void format_u16_data(uint8_t endianness, const uint8_t *in, uint16_t *out)
Converts two bytes in one unsigned half-word depending on endianness.
Definition: inv_imu_driver.h:455
inv_imu_init
int inv_imu_init(struct inv_imu_device *s, const struct inv_imu_serif *serif, void(*sensor_event_cb)(inv_imu_sensor_event_t *event))
Initializes device.
FIFO_MIRRORING_SIZE
#define FIFO_MIRRORING_SIZE
Max buffer size mirrored from FIFO at polling time.
Definition: inv_imu_driver.h:63
inv_imu_set_accel_frequency
int inv_imu_set_accel_frequency(struct inv_imu_device *s, const ACCEL_CONFIG0_ODR_t frequency)
Configure accel Output Data Rate.
inv_imu_get_data_from_registers
int inv_imu_get_data_from_registers(struct inv_imu_device *s)
Read all registers containing data (temperature, accelerometer and gyroscope).
inv_imu_enable_accel_low_noise_mode
int inv_imu_enable_accel_low_noise_mode(struct inv_imu_device *s)
Enable/put accel in low noise mode.
INV_IMU_ENABLE
@ INV_IMU_ENABLE
Definition: inv_imu_driver.h:132
INV_IMU_DISABLE
@ INV_IMU_DISABLE
Definition: inv_imu_driver.h:132
INV_SENSOR_DMP_SMD
@ INV_SENSOR_DMP_SMD
Significant Motion Detection.
Definition: inv_imu_driver.h:81
INV_SENSOR_ACCEL
@ INV_SENSOR_ACCEL
Accelerometer.
Definition: inv_imu_driver.h:67
INV_SENSOR_DMP_PEDOMETER_EVENT
@ INV_SENSOR_DMP_PEDOMETER_EVENT
Pedometer: step detected.
Definition: inv_imu_driver.h:76
INV_SENSOR_DMP_PEDOMETER_COUNT
@ INV_SENSOR_DMP_PEDOMETER_COUNT
Pedometer: step counter.
Definition: inv_imu_driver.h:77
INV_SENSOR_DMP_TILT
@ INV_SENSOR_DMP_TILT
Tilt.
Definition: inv_imu_driver.h:78
INV_SENSOR_TEMPERATURE
@ INV_SENSOR_TEMPERATURE
Chip temperature.
Definition: inv_imu_driver.h:75
INV_SENSOR_RESERVED1
@ INV_SENSOR_RESERVED1
Definition: inv_imu_driver.h:72
INV_SENSOR_RESERVED2
@ INV_SENSOR_RESERVED2
Definition: inv_imu_driver.h:73
INV_SENSOR_DMP_FF
@ INV_SENSOR_DMP_FF
FreeFall.
Definition: inv_imu_driver.h:79
INV_SENSOR_DMP_LOWG
@ INV_SENSOR_DMP_LOWG
Low G.
Definition: inv_imu_driver.h:80
INV_SENSOR_MAX
@ INV_SENSOR_MAX
Definition: inv_imu_driver.h:82
INV_IMU_FIFO_ENABLED
@ INV_IMU_FIFO_ENABLED
Fifo is used as data source.
Definition: inv_imu_driver.h:88
INV_IMU_FIFO_DISABLED
@ INV_IMU_FIFO_DISABLED
Fifo is disabled and data source is sensors registers.
Definition: inv_imu_driver.h:87
inv_imu_sensor_event_t
Sensor event structure definition.
Definition: inv_imu_driver.h:92
inv_imu_sensor_event_t::temperature
int16_t temperature
Definition: inv_imu_driver.h:99
inv_imu_sensor_event_t::sensor_mask
int sensor_mask
Definition: inv_imu_driver.h:93
inv_imu_sensor_event_t::timestamp_fsync
uint16_t timestamp_fsync
Definition: inv_imu_driver.h:94
inv_imu_device
IMU driver states definition.
Definition: inv_imu_driver.h:107
inv_imu_device::dmp_is_on
uint8_t dmp_is_on
DMP started status.
Definition: inv_imu_driver.h:121
inv_imu_device::sensor_event_cb
void(* sensor_event_cb)(inv_imu_sensor_event_t *event)
callback executed by:
Definition: inv_imu_driver.h:118
inv_imu_device::endianness_data
uint8_t endianness_data
Data endianness configuration.
Definition: inv_imu_driver.h:122
inv_imu_device::fifo_highres_enabled
uint8_t fifo_highres_enabled
Highres mode configuration.
Definition: inv_imu_driver.h:123
inv_imu_device::fifo_data
uint8_t fifo_data[FIFO_MIRRORING_SIZE]
FIFO mirroring memory area.
Definition: inv_imu_driver.h:120
inv_imu_device::fifo_is_used
INV_IMU_FIFO_CONFIG_t fifo_is_used
FIFO configuration.
Definition: inv_imu_driver.h:124
inv_imu_device::accel_start_time_us
uint64_t accel_start_time_us
Accel start time to discard first samples.
Definition: inv_imu_driver.h:128
inv_imu_device::transport
struct inv_imu_transport transport
Transport layer.
Definition: inv_imu_driver.h:111
inv_imu_interrupt_parameter_t
Interrupt definition.
Definition: inv_imu_driver.h:135
inv_imu_interrupt_parameter_t::INV_UI_FSYNC
inv_imu_interrupt_value INV_UI_FSYNC
Definition: inv_imu_driver.h:136
inv_imu_interrupt_parameter_t::INV_LOWG
inv_imu_interrupt_value INV_LOWG
Definition: inv_imu_driver.h:145
inv_imu_interrupt_parameter_t::INV_WOM_Y
inv_imu_interrupt_value INV_WOM_Y
Definition: inv_imu_driver.h:142
inv_imu_interrupt_parameter_t::INV_WOM_Z
inv_imu_interrupt_value INV_WOM_Z
Definition: inv_imu_driver.h:143
inv_imu_interrupt_parameter_t::INV_SMD
inv_imu_interrupt_value INV_SMD
Definition: inv_imu_driver.h:140
inv_imu_interrupt_parameter_t::INV_FIFO_FULL
inv_imu_interrupt_value INV_FIFO_FULL
Definition: inv_imu_driver.h:139
inv_imu_interrupt_parameter_t::INV_UI_DRDY
inv_imu_interrupt_value INV_UI_DRDY
Definition: inv_imu_driver.h:137
inv_imu_interrupt_parameter_t::INV_TILT_DET
inv_imu_interrupt_value INV_TILT_DET
Definition: inv_imu_driver.h:148
inv_imu_interrupt_parameter_t::INV_WOM_X
inv_imu_interrupt_value INV_WOM_X
Definition: inv_imu_driver.h:141
inv_imu_interrupt_parameter_t::INV_FIFO_THS
inv_imu_interrupt_value INV_FIFO_THS
Definition: inv_imu_driver.h:138
inv_imu_interrupt_parameter_t::INV_STEP_DET
inv_imu_interrupt_value INV_STEP_DET
Definition: inv_imu_driver.h:146
inv_imu_interrupt_parameter_t::INV_STEP_CNT_OVFL
inv_imu_interrupt_value INV_STEP_CNT_OVFL
Definition: inv_imu_driver.h:147
inv_imu_interrupt_parameter_t::INV_FF
inv_imu_interrupt_value INV_FF
Definition: inv_imu_driver.h:144
inv_imu_serif
Serial interface definition.
Definition: inv_imu_transport.h:57
inv_imu_transport
Transport interface definition.
Definition: inv_imu_transport.h:67