37#ifndef DRIVER_MPU9250_FIFO_H
38#define DRIVER_MPU9250_FIFO_H
54#define MPU9250_FIFO_DEFAULT_CLOCK_SOURCE MPU9250_CLOCK_SOURCE_PLL
55#define MPU9250_FIFO_DEFAULT_RATE 50
56#define MPU9250_FIFO_DEFAULT_ACCELEROMETER_RANGE MPU9250_ACCELEROMETER_RANGE_2G
57#define MPU9250_FIFO_DEFAULT_GYROSCOPE_RANGE MPU9250_GYROSCOPE_RANGE_2000DPS
58#define MPU9250_FIFO_DEFAULT_LOW_PASS_FILTER MPU9250_LOW_PASS_FILTER_3
59#define MPU9250_FIFO_DEFAULT_CYCLE_WAKE_UP MPU9250_BOOL_FALSE
60#define MPU9250_FIFO_DEFAULT_INTERRUPT_PIN_LEVEL MPU9250_PIN_LEVEL_LOW
61#define MPU9250_FIFO_DEFAULT_INTERRUPT_PIN_TYPE MPU9250_PIN_TYPE_PUSH_PULL
62#define MPU9250_FIFO_DEFAULT_INTERRUPT_MOTION MPU9250_BOOL_FALSE
63#define MPU9250_FIFO_DEFAULT_INTERRUPT_FIFO_OVERFLOW MPU9250_BOOL_TRUE
64#define MPU9250_FIFO_DEFAULT_INTERRUPT_DMP MPU9250_BOOL_FALSE
65#define MPU9250_FIFO_DEFAULT_INTERRUPT_FSYNC_INT MPU9250_BOOL_FALSE
66#define MPU9250_FIFO_DEFAULT_INTERRUPT_DATA_READY MPU9250_BOOL_FALSE
67#define MPU9250_FIFO_DEFAULT_INTERRUPT_LATCH MPU9250_BOOL_TRUE
68#define MPU9250_FIFO_DEFAULT_INTERRUPT_READ_CLEAR MPU9250_BOOL_TRUE
69#define MPU9250_FIFO_DEFAULT_EXTERN_SYNC MPU9250_EXTERN_SYNC_INPUT_DISABLED
70#define MPU9250_FIFO_DEFAULT_FSYNC_INTERRUPT MPU9250_BOOL_FALSE
71#define MPU9250_FIFO_DEFAULT_FSYNC_INTERRUPT_LEVEL MPU9250_PIN_LEVEL_LOW
72#define MPU9250_FIFO_DEFAULT_IIC_MASTER MPU9250_BOOL_FALSE
73#define MPU9250_FIFO_DEFAULT_IIC_BYPASS MPU9250_BOOL_FALSE
74#define MPU9250_FIFO_DEFAULT_GYROSCOPE_STANDBY MPU9250_BOOL_FALSE
75#define MPU9250_FIFO_DEFAULT_FIFO_MODE MPU9250_FIFO_MODE_NORMAL
76#define MPU9250_FIFO_DEFAULT_GYROSCOPE_CHOICE 0
77#define MPU9250_FIFO_DEFAULT_ACCELEROMETER_CHOICE 0
78#define MPU9250_FIFO_DEFAULT_ACCELEROMETER_LOW_PASS_FILTER MPU9250_ACCELEROMETER_LOW_PASS_FILTER_3
79#define MPU9250_FIFO_DEFAULT_LOW_POWER_ACCEL_OUTPUT_RATE MPU9250_LOW_POWER_ACCEL_OUTPUT_RATE_62P50
80#define MPU9250_FIFO_DEFAULT_WAKE_ON_MOTION MPU9250_BOOL_FALSE
81#define MPU9250_FIFO_DEFAULT_ACCELEROMETER_COMPARE MPU9250_BOOL_TRUE
82#define MPU9250_FIFO_DEFAULT_MAGNETOMETER_MODE MPU9250_MAGNETOMETER_MODE_CONTINUOUS2
83#define MPU9250_FIFO_DEFAULT_MAGNETOMETER_BITS MPU9250_MAGNETOMETER_BITS_16
84#define MPU9250_FIFO_DEFAULT_IIC_CLOCK MPU9250_IIC_CLOCK_400_KHZ
85#define MPU9250_FIFO_DEFAULT_IIC_MULTI_MASTER MPU9250_BOOL_TRUE
86#define MPU9250_FIFO_DEFAULT_IIC_WAIT_FOR_EXTERNAL_SENSOR MPU9250_BOOL_FALSE
87#define MPU9250_FIFO_DEFAULT_IIC_READ_MODE MPU9250_IIC_READ_MODE_RESTART
88#define MPU9250_FIFO_DEFAULT_IIC_DELAY MPU9250_BOOL_FALSE
125 int16_t (*gyro_raw)[3],
float (*gyro_dps)[3],
126 int16_t (*mag_raw)[3],
float (*mag_ut)[3],
driver mpu9250 interface header file
mpu9250_address_t
mpu9250 address enumeration definition
mpu9250_interface_t
mpu9250 interface enumeration definition
uint8_t mpu9250_fifo_init(mpu9250_interface_t interface, mpu9250_address_t addr_pin)
fifo example init
uint8_t mpu9250_fifo_read(int16_t(*accel_raw)[3], float(*accel_g)[3], int16_t(*gyro_raw)[3], float(*gyro_dps)[3], int16_t(*mag_raw)[3], float(*mag_ut)[3], uint16_t *len)
fifo example read
uint8_t mpu9250_fifo_deinit(void)
fifo example deinit
uint8_t mpu9250_fifo_irq_handler(void)
fifo irq