ICM42670 Portable Driver
Public API reference for the ICM-42670-P IMU driver
Loading...
Searching...
No Matches
ICM42670_fsync.h
Go to the documentation of this file.
1
6#ifndef ICM42670_FSYNC_H
7#define ICM42670_FSYNC_H
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#include "ICM42670_driver.h"
14#include <stdint.h>
15
23
37
45
54
64
68typedef struct {
70 uint8_t raw_status;
73
86 const ICM42670_FsyncConfig_t *fsync_config);
87
95
104 ICM42670_FsyncData_t *fsync_data);
105
106#ifdef __cplusplus
107}
108#endif
109
110#endif /* ICM42670_FSYNC_H */
Core ICM-42670-P configuration and sensor read API.
ICM42670_Status_t
Return codes used by the ICM-42670-P driver.
Definition ICM42670_driver.h:23
ICM42670_Status_t ICM42670_Enable_Fsync(const ICM42670_Config *config, const ICM42670_FsyncConfig_t *fsync_config)
Enable FSYNC timestamp capture with simple defaults.
Definition ICM42670_fsync.c:92
ICM42670_FsyncClearMode_t
FSYNC event flag clear behavior.
Definition ICM42670_fsync.h:41
@ ICM42670_FSYNC_CLEAR_ON_TAGGED_LSB_READ
Definition ICM42670_fsync.h:43
@ ICM42670_FSYNC_CLEAR_ON_SENSOR_UPDATE
Definition ICM42670_fsync.h:42
ICM42670_FsyncPolarity_t
FSYNC input edge selection.
Definition ICM42670_fsync.h:19
@ ICM42670_FSYNC_RISING_EDGE
Definition ICM42670_fsync.h:20
@ ICM42670_FSYNC_FALLING_EDGE
Definition ICM42670_fsync.h:21
ICM42670_FsyncTag_t
Optional UI data LSB tag for FSYNC events.
Definition ICM42670_fsync.h:27
@ ICM42670_FSYNC_TAG_GYRO_Y
Definition ICM42670_fsync.h:31
@ ICM42670_FSYNC_TAG_ACCEL_Y
Definition ICM42670_fsync.h:34
@ ICM42670_FSYNC_TAG_ACCEL_X
Definition ICM42670_fsync.h:33
@ ICM42670_FSYNC_TAG_GYRO_Z
Definition ICM42670_fsync.h:32
@ ICM42670_FSYNC_TAG_NONE
Definition ICM42670_fsync.h:28
@ ICM42670_FSYNC_TAG_GYRO_X
Definition ICM42670_fsync.h:30
@ ICM42670_FSYNC_TAG_ACCEL_Z
Definition ICM42670_fsync.h:35
@ ICM42670_FSYNC_TAG_TEMP
Definition ICM42670_fsync.h:29
ICM42670_Status_t ICM42670_Read_Fsync(const ICM42670_Config *config, ICM42670_FsyncData_t *fsync_data)
Read the read-clear FSYNC event status and latest FSYNC timestamp.
Definition ICM42670_fsync.c:172
ICM42670_FsyncInterrupt_t
FSYNC interrupt routing target.
Definition ICM42670_fsync.h:49
@ ICM42670_FSYNC_INT1
Definition ICM42670_fsync.h:51
@ ICM42670_FSYNC_INT_NONE
Definition ICM42670_fsync.h:50
@ ICM42670_FSYNC_INT2
Definition ICM42670_fsync.h:52
ICM42670_Status_t ICM42670_Disable_Fsync(const ICM42670_Config *config)
Disable FSYNC timestamp capture and clear FSYNC interrupt routing.
Definition ICM42670_fsync.c:145
Platform-independent driver configuration.
Definition ICM42670_driver.h:172
FSYNC configuration passed to ICM42670_Enable_Fsync().
Definition ICM42670_fsync.h:58
ICM42670_FsyncClearMode_t clear_mode
Definition ICM42670_fsync.h:61
ICM42670_FsyncPolarity_t polarity
Definition ICM42670_fsync.h:59
ICM42670_FsyncInterrupt_t interrupt_pin
Definition ICM42670_fsync.h:62
ICM42670_FsyncTag_t tag
Definition ICM42670_fsync.h:60
FSYNC event status and timestamp data.
Definition ICM42670_fsync.h:68
uint16_t timestamp_delta_us
Definition ICM42670_fsync.h:71
uint8_t raw_status
Definition ICM42670_fsync.h:70
uint8_t event_detected
Definition ICM42670_fsync.h:69