| ICM45686 eMD driver Documentation of the eMD Driver API

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

- File List
- File Members

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

Go to the source code of this file.

## Classes
struct | inv_imu_sensor_event_t
| Sensor event structure definition. More...
struct | inv_imu_adv_var_t
| Definition of extended variables. More...
struct | inv_imu_adv_fifo_config_t
| FIFO configuration structure. More...

## Macros
#define | FIFO_MIRRORING_SIZE 16 * 258 /* packet size * max_count = 4kB */
| Maximum buffer size mirrored from FIFO. More...

## Enumerations
enum | inv_imu_sensor_id_t { INV_SENSOR_ACCEL , INV_SENSOR_GYRO , INV_SENSOR_FSYNC_EVENT , INV_SENSOR_TEMPERATURE , INV_SENSOR_EDMP_PEDOMETER_EVENT , INV_SENSOR_EDMP_PEDOMETER_COUNT , INV_SENSOR_EDMP_TILT , INV_SENSOR_EDMP_FF , INV_SENSOR_EDMP_LOWG , INV_SENSOR_EDMP_HIGHG , INV_SENSOR_EDMP_SMD , INV_SENSOR_EDMP_TAP , INV_SENSOR_EDMP_R2W_WAKE , INV_SENSOR_EDMP_R2W_SLEEP , INV_SENSOR_ES0 , INV_SENSOR_ES1 , INV_SENSOR_MAX }
| Sensor identifier enumeration. More...

## Functions
int | inv_imu_adv_init (inv_imu_device_t *s)
| Initializes device. More...
int | inv_imu_adv_device_reset (inv_imu_device_t *s)
| Performs a soft reset of the device. More...
int | inv_imu_adv_enable_accel_lp (inv_imu_device_t *s)
| Enable accel in low power mode. More...
int | inv_imu_adv_enable_accel_ln (inv_imu_device_t *s)
| Enable accel in low noise mode. More...
int | inv_imu_adv_disable_accel (inv_imu_device_t *s)
| Disable accel. More...
int | inv_imu_adv_enable_gyro_ln (inv_imu_device_t *s)
| Enable gyro in low noise mode. More...
int | inv_imu_adv_enable_gyro_lp (inv_imu_device_t *s)
| Enable gyro in low power mode. More...
int | inv_imu_adv_disable_gyro (inv_imu_device_t *s)
| Disable gyro. More...
int | inv_imu_adv_get_data_from_registers (inv_imu_device_t *s)
| Read all registers containing data (temperature, accelerometer and gyroscope). More...
int | inv_imu_adv_reset_fifo (inv_imu_device_t *s)
| reset IMU fifo More...
int | inv_imu_adv_get_fifo_config (inv_imu_device_t *s, inv_imu_adv_fifo_config_t *conf)
| Retrieve FIFO configuration. More...
int | inv_imu_adv_set_fifo_config (inv_imu_device_t *s, const inv_imu_adv_fifo_config_t *conf)
| Set FIFO configuration. More...
int | inv_imu_adv_get_data_from_fifo (inv_imu_device_t *s, uint8_t fifo_data[FIFO_MIRRORING_SIZE], uint16_t *fifo_count)
| Read all available packets from the FIFO. More...
int | inv_imu_adv_parse_fifo_data (inv_imu_device_t *s, const uint8_t fifo_data[FIFO_MIRRORING_SIZE], const uint16_t fifo_count)
| Parse packets from FIFO buffer. More...
uint32_t | inv_imu_adv_convert_odr_bitfield_to_us (uint32_t odr_bitfield)
| Converts accel_config0_accel_odr_t or gyro_config0_gyro_odr_t enums to period expressed in us. More...
int | inv_imu_adv_get_accel_fsr (inv_imu_device_t *s, accel_config0_accel_ui_fs_sel_t *accel_fsr)
| Access accel full scale range. More...
int | inv_imu_adv_get_gyro_fsr (inv_imu_device_t *s, gyro_config0_gyro_ui_fs_sel_t *gyro_fsr)
| Access gyro full scale range. More...
int | inv_imu_adv_set_timestamp_resolution (inv_imu_device_t *s, const tmst_wom_config_tmst_resol_t timestamp_resol)
| Set timestamp resolution. More...
uint32_t | inv_imu_adv_get_timestamp_resolution_us (inv_imu_device_t *s)
| Get timestamp resolution. More...
int | inv_imu_adv_configure_wom (inv_imu_device_t *s, const uint8_t wom_x_th, const uint8_t wom_y_th, const uint8_t wom_z_th, tmst_wom_config_wom_int_mode_t wom_int, tmst_wom_config_wom_int_dur_t wom_dur)
| Enable Wake On Motion. More...
int | inv_imu_adv_enable_wom (inv_imu_device_t *s)
| Enable Wake On Motion. More...
int | inv_imu_adv_disable_wom (inv_imu_device_t *s)
| Disable Wake On Motion. More...
int | inv_imu_adv_set_endianness (inv_imu_device_t *s, sreg_ctrl_sreg_data_endian_sel_t endianness)
| Set the UI endianness and set the inv_device endianness field. More...
int | inv_imu_adv_power_up_sram (inv_imu_device_t *s)
| Power-up the SRAM. More...
int | inv_imu_adv_power_down_sram (inv_imu_device_t *s)
| Power-down the SRAM. More...