37#ifndef DRIVER_MPU6050_DMP_H
38#define DRIVER_MPU6050_DMP_H
54#define MPU6050_DMP_DEFAULT_CLOCK_SOURCE MPU6050_CLOCK_SOURCE_PLL_X_GYRO
55#define MPU6050_DMP_DEFAULT_RATE 50
56#define MPU6050_DMP_DEFAULT_ACCELEROMETER_RANGE MPU6050_ACCELEROMETER_RANGE_2G
57#define MPU6050_DMP_DEFAULT_GYROSCOPE_RANGE MPU6050_GYROSCOPE_RANGE_2000DPS
58#define MPU6050_DMP_DEFAULT_LOW_PASS_FILTER MPU6050_LOW_PASS_FILTER_3
59#define MPU6050_DMP_DEFAULT_CYCLE_WAKE_UP MPU6050_BOOL_FALSE
60#define MPU6050_DMP_DEFAULT_WAKE_UP_FREQUENCY MPU6050_WAKE_UP_FREQUENCY_1P25_HZ
61#define MPU6050_DMP_DEFAULT_INTERRUPT_PIN_LEVEL MPU6050_PIN_LEVEL_LOW
62#define MPU6050_DMP_DEFAULT_INTERRUPT_PIN_TYPE MPU6050_PIN_TYPE_PUSH_PULL
63#define MPU6050_DMP_DEFAULT_INTERRUPT_MOTION MPU6050_BOOL_TRUE
64#define MPU6050_DMP_DEFAULT_INTERRUPT_FIFO_OVERFLOW MPU6050_BOOL_TRUE
65#define MPU6050_DMP_DEFAULT_INTERRUPT_DMP MPU6050_BOOL_FALSE
66#define MPU6050_DMP_DEFAULT_INTERRUPT_I2C_MAST MPU6050_BOOL_FALSE
67#define MPU6050_DMP_DEFAULT_INTERRUPT_DATA_READY MPU6050_BOOL_FALSE
68#define MPU6050_DMP_DEFAULT_INTERRUPT_LATCH MPU6050_BOOL_TRUE
69#define MPU6050_DMP_DEFAULT_INTERRUPT_READ_CLEAR MPU6050_BOOL_TRUE
70#define MPU6050_DMP_DEFAULT_EXTERN_SYNC MPU6050_EXTERN_SYNC_INPUT_DISABLED
71#define MPU6050_DMP_DEFAULT_FSYNC_INTERRUPT MPU6050_BOOL_FALSE
72#define MPU6050_DMP_DEFAULT_FSYNC_INTERRUPT_LEVEL MPU6050_PIN_LEVEL_LOW
73#define MPU6050_DMP_DEFAULT_IIC_MASTER MPU6050_BOOL_FALSE
74#define MPU6050_DMP_DEFAULT_IIC_BYPASS MPU6050_BOOL_FALSE
75#define MPU6050_DMP_DEFAULT_PEOMETER_WALK_TIME 200
76#define MPU6050_DMP_DEFAULT_PEOMETER_STEP_COUNT 0
77#define MPU6050_DMP_DEFAULT_SHAKE_REJECT_TIMEOUT 10
78#define MPU6050_DMP_DEFAULT_SHAKE_REJECT_TIME 40
79#define MPU6050_DMP_DEFAULT_SHAKE_REJECT_THRESH 200
80#define MPU6050_DMP_DEFAULT_TAP_TIME_MULTI 200
81#define MPU6050_DMP_DEFAULT_TAP_TIME 100
82#define MPU6050_DMP_DEFAULT_MIN_TAP_COUNT 1
83#define MPU6050_DMP_DEFAULT_TAP_X_THRESH 250
84#define MPU6050_DMP_DEFAULT_TAP_Y_THRESH 250
85#define MPU6050_DMP_DEFAULT_TAP_Z_THRESH 250
86#define MPU6050_DMP_DEFAULT_INTERRUPT_MODE MPU6050_DMP_INTERRUPT_MODE_CONTINUOUS
87#define MPU6050_DMP_DEFAULT_MOTION_DURATION 200
88#define MPU6050_DMP_DEFAULT_MOTION_THRESHOLD 200
111 void (*receive_callback)(uint8_t type),
112 void (*tap_callback)(uint8_t count, uint8_t direction),
113 void (*orient_callback)(uint8_t orientation)
142 int16_t (*gyro_raw)[3],
float (*gyro_dps)[3],
144 float *pitch,
float *roll,
float *yaw,
driver mpu6050 interface header file
mpu6050_address_t
mpu6050 address enumeration definition
uint8_t mpu6050_dmp_init(mpu6050_address_t addr_pin, void(*receive_callback)(uint8_t type), void(*tap_callback)(uint8_t count, uint8_t direction), void(*orient_callback)(uint8_t orientation))
dmp example init
uint8_t mpu6050_dmp_deinit(void)
dmp example deinit
uint8_t mpu6050_dmp_get_pedometer_counter(uint32_t *cnt)
dmp example get pedometer counter
uint8_t mpu6050_dmp_read_all(int16_t(*accel_raw)[3], float(*accel_g)[3], int16_t(*gyro_raw)[3], float(*gyro_dps)[3], int32_t(*quat)[4], float *pitch, float *roll, float *yaw, uint16_t *l)
dmp example read
uint8_t mpu6050_dmp_irq_handler(void)
dmp irq