| 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_edmp.h File Reference
EDMP
`#include "imu/inv_imu_driver.h"`
`#include "imu/inv_imu_edmp_memmap.h"`
`#include <stdint.h>`
`#include <string.h>`
Include dependency graph for inv_imu_edmp.h:

Go to the source code of this file.

## Classes
struct | inv_imu_edmp_int_state_t
| APEX interrupts definition. More...
struct | int_apex_statusx_t
| Registers to retrieve interrupts status for APEX. More...
struct | int_apex_configx_t
| Registers to configure interrupts for APEX. More...
struct | edmp_apex_enx_t
| Registers to enable APEX features. More...
struct | inv_imu_edmp_apex_parameters_t
| IMU APEX inputs parameters definition. More...
struct | inv_imu_edmp_pedometer_data_t
| Pedometer outputs. More...
struct | inv_imu_edmp_tap_data_t
| Tap outputs. More...

## Macros
#define | INV_IMU_WRITE_EDMP_SRAM(s, name, val) inv_imu_write_sram(s, (uint32_t)name, name##_SIZE, val)
| Writes in EDMP SRAM. More...
#define | INV_IMU_READ_EDMP_SRAM(s, name, val) inv_imu_read_sram(s, (uint32_t)name, name##_SIZE, val)
| Reads in EDMP SRAM. More...

## Enumerations
enum | inv_imu_edmp_int_t { INV_IMU_EDMP_INT0 = 0 , INV_IMU_EDMP_INT1 , INV_IMU_EDMP_INT2 }
| EDMP input interrupt lines definition. More...
enum | inv_imu_edmp_activity_class_t { INV_IMU_EDMP_UNKNOWN = 0 , INV_IMU_EDMP_WALK = 1 , INV_IMU_EDMP_RUN = 2 }
| Pedometer activity class. More...
enum | inv_imu_edmp_tap_num_t { INV_IMU_EDMP_TAP_DOUBLE = 0x02 , INV_IMU_EDMP_TAP_SINGLE = 0x01 }
| Tap number definition. More...
enum | inv_imu_edmp_tap_axis_t { INV_IMU_EDMP_TAP_AXIS_Z = 0x02 , INV_IMU_EDMP_TAP_AXIS_Y = 0x01 , INV_IMU_EDMP_TAP_AXIS_X = 0x00 }
| Tap axis definition. More...
enum | inv_imu_edmp_tap_dir_t { INV_IMU_EDMP_TAP_DIR_POSITIVE = 0x01 , INV_IMU_EDMP_TAP_DIR_NEGATIVE = 0x00 }
| Tap direction definition. More...

## Functions
int | inv_imu_edmp_set_frequency (inv_imu_device_t *s, const dmp_ext_sen_odr_cfg_apex_odr_t frequency)
| Configure EDMP Output Data Rate. More...
int | inv_imu_edmp_init_apex (inv_imu_device_t *s)
| Initialize EDMP APEX algorithms. More...
int | inv_imu_edmp_recompute_apex_decimation (inv_imu_device_t *s)
| Recompute EDMP APEX algorithms internal decimator based on new EDMP output Data Rate configured with `inv_imu_edmp_set_frequency`. More...
int | inv_imu_edmp_get_apex_parameters (inv_imu_device_t *s, inv_imu_edmp_apex_parameters_t *p)
| Returns current EDMP parameters for APEX algorithms. More...
int | inv_imu_edmp_set_apex_parameters (inv_imu_device_t *s, const inv_imu_edmp_apex_parameters_t *p)
| Configures EDMP parameters for APEX algorithms. More...
int | inv_imu_edmp_get_config_int_apex (inv_imu_device_t *s, inv_imu_edmp_int_state_t *it)
| Retrieve interrupts configuration. More...
int | inv_imu_edmp_set_config_int_apex (inv_imu_device_t *s, const inv_imu_edmp_int_state_t *it)
| Configure APEX interrupt. More...
int | inv_imu_edmp_enable (inv_imu_device_t *s)
| Enable EDMP. More...
int | inv_imu_edmp_disable (inv_imu_device_t *s)
| Disable EDMP. More...
int | inv_imu_edmp_enable_pedometer (inv_imu_device_t *s)
| Enable APEX algorithm Pedometer. More...
int | inv_imu_edmp_disable_pedometer (inv_imu_device_t *s)
| Disable APEX algorithm Pedometer. More...
int | inv_imu_edmp_enable_smd (inv_imu_device_t *s)
| Enable APEX algorithm Significant Motion Detection. More...
int | inv_imu_edmp_disable_smd (inv_imu_device_t *s)
| Disable APEX algorithm Significant Motion Detection. More...
int | inv_imu_edmp_enable_tilt (inv_imu_device_t *s)
| Enable APEX algorithm Tilt. More...
int | inv_imu_edmp_disable_tilt (inv_imu_device_t *s)
| Disable APEX algorithm Tilt. More...
int | inv_imu_edmp_enable_r2w (inv_imu_device_t *s)
| Enable APEX algorithm R2W. More...
int | inv_imu_edmp_disable_r2w (inv_imu_device_t *s)
| Disable APEX algorithm R2W. More...
int | inv_imu_edmp_enable_tap (inv_imu_device_t *s)
| Enable APEX algorithm Tap. More...
int | inv_imu_edmp_disable_tap (inv_imu_device_t *s)
| Disable APEX algorithm Tap. More...
int | inv_imu_edmp_enable_ff (inv_imu_device_t *s)
| Enable APEX algorithm Free Fall. More...
int | inv_imu_edmp_disable_ff (inv_imu_device_t *s)
| Disable APEX algorithm Free Fall. More...
int | inv_imu_edmp_get_int_apex_status (inv_imu_device_t *s, inv_imu_edmp_int_state_t *it)
| Read APEX interrupt status. More...
int | inv_imu_edmp_get_pedometer_data (inv_imu_device_t *s, inv_imu_edmp_pedometer_data_t *data)
| Retrieve pedometer outputs. More...
int | inv_imu_edmp_get_ff_data (inv_imu_device_t *s, uint16_t *freefall_duration)
| Retrieve APEX free fall outputs and format them. More...
int | inv_imu_edmp_get_tap_data (inv_imu_device_t *s, inv_imu_edmp_tap_data_t *data)
| Retrieve tap outputs. More...
int | inv_imu_edmp_mask_int_src (inv_imu_device_t *s, inv_imu_edmp_int_t edmp_int_nb, uint8_t int_mask)
| Mask requested interrupt sources for edmp interrupt line passed in parameter. More...
int | inv_imu_edmp_unmask_int_src (inv_imu_device_t *s, inv_imu_edmp_int_t edmp_int_nb, uint8_t int_mask)
| Unmask requested interrupt sources for edmp interrupt line passed in parameter. More...
int | inv_imu_edmp_configure (inv_imu_device_t *s)
| Setup EDMP to execute code in ROM. More...
int | inv_imu_edmp_run_ondemand (inv_imu_device_t *s, inv_imu_edmp_int_t edmp_int_nb)
| Run EDMP using the on-demand mechanism. More...
int | inv_imu_edmp_wait_for_idle (inv_imu_device_t *s)
| Wait until EDMP idle bit is set (means EDMP execution is completed). More...