| ICM45686 eMD driver Documentation of the eMD Driver API

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

- File List
- File Members

Classes | Macros | Functions
inv_imu_driver.h File Reference
Basic Driver
`#include "imu/inv_imu_defs.h"`
`#include "imu/inv_imu_transport.h"`
`#include <stdint.h>`
`#include <string.h>`
Include dependency graph for inv_imu_driver.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
struct | inv_imu_device_t
| Basic driver configuration structure. More...
union | inv_imu_fifo_data_t
| One frame of FIFO header+data. More...
struct | inv_imu_int_state_t
| Interrupts definition. More...
struct | inv_imu_fifo_config_t
| Basic FIFO configuration. More...

## Macros
#define | FORMAT_16_BITS_DATA(is_big_endian, pIn8, pOut16) *(pOut16) = ((is_big_endian) == 1) ? ((pIn8)[0] << 8) | (pIn8)[1] : ((pIn8)[1] << 8) | (pIn8)[0]
| Macro to convert 2 bytes in 1 half-word depending on IMU endianness. More...

## Functions
void | inv_imu_sleep_us (inv_imu_device_t *s, uint32_t us)
| Sleep function. More...
int | inv_imu_soft_reset (inv_imu_device_t *s)
| Performs a soft reset of the device. More...
int | inv_imu_get_who_am_i (inv_imu_device_t *s, uint8_t *who_am_i)
| return WHOAMI value More...
int | inv_imu_set_accel_mode (inv_imu_device_t *s, pwr_mgmt0_accel_mode_t accel_mode)
| Configure accel mode. More...
int | inv_imu_set_gyro_mode (inv_imu_device_t *s, pwr_mgmt0_gyro_mode_t gyro_mode)
| Configure gyro mode. More...
int | inv_imu_set_accel_frequency (inv_imu_device_t *s, const accel_config0_accel_odr_t frequency)
| Configure accel Output Data Rate. More...
int | inv_imu_set_gyro_frequency (inv_imu_device_t *s, const gyro_config0_gyro_odr_t frequency)
| Configure gyro Output Data Rate. More...
int | inv_imu_set_accel_fsr (inv_imu_device_t *s, accel_config0_accel_ui_fs_sel_t accel_fsr)
| Set accel full scale range. More...
int | inv_imu_set_gyro_fsr (inv_imu_device_t *s, gyro_config0_gyro_ui_fs_sel_t gyro_fsr)
| Set gyro full scale range. More...
int | inv_imu_set_accel_lp_avg (inv_imu_device_t *s, ipreg_sys2_reg_129_accel_lp_avg_sel_t acc_avg)
| Set accel Low-Power averaging value. More...
int | inv_imu_set_gyro_lp_avg (inv_imu_device_t *s, ipreg_sys1_reg_170_gyro_lp_avg_sel_t gyr_avg)
| Set gyro Low-Power averaging value. More...
int | inv_imu_set_accel_ln_bw (inv_imu_device_t *s, ipreg_sys2_reg_131_accel_ui_lpfbw_t acc_bw)
| Set accel Low-Noise bandwidth value. More...
int | inv_imu_set_gyro_ln_bw (inv_imu_device_t *s, ipreg_sys1_reg_172_gyro_ui_lpfbw_sel_t gyr_bw)
| Set gyro Low-Noise bandwidth value. More...
int | inv_imu_get_register_data (inv_imu_device_t *s, inv_imu_sensor_data_t *data)
| Get current sensor data from the registers. More...
int | inv_imu_set_fifo_config (inv_imu_device_t *s, const inv_imu_fifo_config_t *fifo_config)
| Configures the FIFO to the specified state. More...
int | inv_imu_get_fifo_config (inv_imu_device_t *s, inv_imu_fifo_config_t *fifo_config)
| Gets the current FIFO configuration. More...
int | inv_imu_flush_fifo (inv_imu_device_t *s)
| Flush FIFO content. More...
int | inv_imu_get_frame_count (inv_imu_device_t *s, uint16_t *frame_count)
| Get FIFO frame count. More...
int | inv_imu_get_fifo_frame (inv_imu_device_t *s, inv_imu_fifo_data_t *data)
| Get one frame of FIFO data. More...
int | inv_imu_set_config_int (inv_imu_device_t *s, const inv_imu_int_num_t num, const inv_imu_int_state_t *it)
| Configure interrupts source. More...
int | inv_imu_get_config_int (inv_imu_device_t *s, const inv_imu_int_num_t num, inv_imu_int_state_t *it)
| Retrieve interrupts configuration. More...
int | inv_imu_set_pin_config_int (inv_imu_device_t *s, const inv_imu_int_num_t num, const inv_imu_int_pin_config_t *conf)
| Configure pin behavior. More...
int | inv_imu_get_int_status (inv_imu_device_t *s, const inv_imu_int_num_t num, inv_imu_int_state_t *it)
| Read interrupt 1 status. More...
int | inv_imu_get_endianness (inv_imu_device_t *s)
| Read the UI endianness and set the inv_device endianness field. More...
int | inv_imu_select_accel_lp_clk (inv_imu_device_t *s, smc_control_0_accel_lp_clk_sel_t clk_sel)
| Select which clock to use when in Low Power mode. More...
const char * | inv_imu_get_version (void)
| Return driver version x.y.z-suffix as a char array. More...