| ICM40609D eMD Driver 2.0.0 Documentation of the eMD Driver API

- Main Page
- Modules
- Classes
- Files

- File List
- File Members

Classes | Macros | Enumerations | Functions
Icm406xxDriver_HL.h File Reference
Icm406xx driver high level functions

High-level function to setup an Icm406xx device. More...

`#include "Icm406xxDefs.h"`
`#include "Icm406xxTransport.h"`
`#include "Invn/InvError.h"`
`#include <stdint.h>`
`#include <string.h>`
Include dependency graph for Icm406xxDriver_HL.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
struct | inv_icm406xx_sensor_event_t
| Sensor event structure definition. More...
struct | inv_icm406xx
| Icm406xx driver states definition. More...

## Macros
#define | ICM406XX_FIFO_MIRRORING_SIZE 1041
| Icm406xx maximum buffer size mirrored from FIFO at polling time. More...

## Enumerations
enum | inv_icm406xx_sensor { INV_ICM406XX_SENSOR_ACCEL , INV_ICM406XX_SENSOR_GYRO , INV_ICM406XX_SENSOR_FSYNC_EVENT , INV_ICM406XX_SENSOR_OIS , INV_ICM406XX_SENSOR_TEMPERATURE , INV_ICM406XX_SENSOR_MAX }
| Sensor identifier for UI control and OIS function. More...

## Functions
int | inv_icm406xx_init (struct inv_icm406xx *s, struct inv_icm406xx_serif *serif, void(*sensor_event_cb)(inv_icm406xx_sensor_event_t *event))
| Configure the serial interface used to access the device and execute hardware initialization. More...
int | inv_icm406xx_device_reset (struct inv_icm406xx *s)
| Perform a soft reset of the device. More...
int | inv_icm406xx_get_who_am_i (struct inv_icm406xx *s, uint8_t *who_am_i)
| return WHOAMI value More...
int | inv_icm406xx_enable_accel_low_power_mode (struct inv_icm406xx *s)
| Put accel in low power mode. More...
int | inv_icm406xx_enable_accel_low_noise_mode (struct inv_icm406xx *s)
| Put accel in low noise mode. More...
int | inv_icm406xx_disable_accel (struct inv_icm406xx *s)
| Disable all 3 axes of accel. More...
int | inv_icm406xx_enable_gyro_low_noise_mode (struct inv_icm406xx *s)
| Put gyro in low noise mode. More...
int | inv_icm406xx_disable_gyro (struct inv_icm406xx *s)
| Disable all 3 axes of gyro. More...
int | inv_icm406xx_enable_fsync (struct inv_icm406xx *s)
| Enable fsync tagging functionnality. More...
int | inv_icm406xx_disable_fsync (struct inv_icm406xx *s)
| Disable fsync tagging functionnality. More...
int | inv_icm406xx_configure_wom (struct inv_icm406xx *s, const uint8_t wom_x_th, const uint8_t wom_y_th, const uint8_t wom_z_th)
| Enable Wake On Motion. More...
int | inv_icm406xx_enable_wom (struct inv_icm406xx *s)
| Enable Wake On Motion. More...
int | inv_icm406xx_disable_wom (struct inv_icm406xx *s)
| Disable Wake On Motion. More...
int | inv_icm406xx_get_data_from_fifo (struct inv_icm406xx *s)
| Read all available packets from the FIFO. More...
int | inv_icm406xx_set_accel_frequency (struct inv_icm406xx *s, const ICM406XX_ACCEL_CONFIG0_ODR_t frequency)
| Configure accel Output Data Rate. More...
int | inv_icm406xx_set_gyro_frequency (struct inv_icm406xx *s, const ICM406XX_GYRO_CONFIG0_ODR_t frequency)
| Configure gyro Output Data Rate. More...
int | inv_icm406xx_set_accel_fsr (struct inv_icm406xx *s, ICM406XX_ACCEL_CONFIG0_FS_SEL_t accel_fsr_g)
| Set accel full scale range. More...
int | inv_icm406xx_set_gyro_fsr (struct inv_icm406xx *s, ICM406XX_GYRO_CONFIG0_FS_SEL_t gyro_fsr_dps)
| Set gyro full scale range. More...
int | inv_icm406xx_reset_fifo (struct inv_icm406xx *s)
| reset ICM406XX fifo More...
int | inv_icm406xx_enable_timestamp_to_register (struct inv_icm406xx *s)
| Enable the 20bits-timestamp register access to read in a reliable way the strobed timestamp. More...
int | inv_icm406xx_disable_timestamp_to_register (struct inv_icm406xx *s)
| Disable the 20bits-timestamp register access. More...
int | inv_icm406xx_get_current_timestamp (struct inv_icm406xx *s, uint32_t *icm_time)
| Get the timestamp value of icm406xx from register. More...

## Detailed Description

High-level function to setup an Icm406xx device.