LibDriver MPU9250  1.0.0
MPU9250 full function driver
driver_mpu9250_fifo.h
Go to the documentation of this file.
1 
37 #ifndef DRIVER_MPU9250_FIFO_H
38 #define DRIVER_MPU9250_FIFO_H
39 
41 
42 #ifdef __cplusplus
43 extern "C"{
44 #endif
45 
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
97 uint8_t mpu9250_fifo_irq_handler(void);
98 
108 uint8_t mpu9250_fifo_init(mpu9250_interface_t interface, mpu9250_address_t addr_pin);
109 
124 uint8_t mpu9250_fifo_read(int16_t (*accel_raw)[3], float (*accel_g)[3],
125  int16_t (*gyro_raw)[3], float (*gyro_dps)[3],
126  int16_t (*mag_raw)[3], float (*mag_ut)[3],
127  uint16_t *len
128  );
129 
137 uint8_t mpu9250_fifo_deinit(void);
138 
143 #ifdef __cplusplus
144 }
145 #endif
146 
147 #endif
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