![]() |
LibDriver MPU6050
|
driver mpu6050 source file More...
Go to the source code of this file.
Functions | |
| uint8_t | mpu6050_dmp_load_firmware (mpu6050_handle_t *handle) |
| load the dmp firmware | |
| uint8_t | mpu6050_dmp_set_pedometer_walk_time (mpu6050_handle_t *handle, uint32_t ms) |
| dmp set the pedometer walk time | |
| uint8_t | mpu6050_dmp_get_pedometer_walk_time (mpu6050_handle_t *handle, uint32_t *ms) |
| dmp get the pedometer walk time | |
| uint8_t | mpu6050_dmp_set_pedometer_step_count (mpu6050_handle_t *handle, uint32_t count) |
| dmp set the pedometer step count | |
| uint8_t | mpu6050_dmp_get_pedometer_step_count (mpu6050_handle_t *handle, uint32_t *count) |
| dmp get the pedometer step count | |
| uint8_t | mpu6050_dmp_set_shake_reject_timeout (mpu6050_handle_t *handle, uint16_t ms) |
| dmp set the shake reject timeout | |
| uint8_t | mpu6050_dmp_get_shake_reject_timeout (mpu6050_handle_t *handle, uint16_t *ms) |
| dmp get the shake reject timeout | |
| uint8_t | mpu6050_dmp_set_shake_reject_time (mpu6050_handle_t *handle, uint16_t ms) |
| dmp set the shake reject time | |
| uint8_t | mpu6050_dmp_get_shake_reject_time (mpu6050_handle_t *handle, uint16_t *ms) |
| dmp get the shake reject time | |
| uint8_t | mpu6050_dmp_set_shake_reject_thresh (mpu6050_handle_t *handle, uint16_t dps) |
| dmp set the shake reject thresh | |
| uint8_t | mpu6050_dmp_get_shake_reject_thresh (mpu6050_handle_t *handle, uint16_t *dps) |
| dmp get the shake reject thresh | |
| uint8_t | mpu6050_dmp_set_tap_time_multi (mpu6050_handle_t *handle, uint16_t ms) |
| dmp set max time between taps to register as a multi tap | |
| uint8_t | mpu6050_dmp_get_tap_time_multi (mpu6050_handle_t *handle, uint16_t *ms) |
| dmp get max time between taps to register as a multi tap | |
| uint8_t | mpu6050_dmp_set_tap_time (mpu6050_handle_t *handle, uint16_t ms) |
| dmp set the tap time | |
| uint8_t | mpu6050_dmp_get_tap_time (mpu6050_handle_t *handle, uint16_t *ms) |
| dmp get the tap time | |
| uint8_t | mpu6050_dmp_set_min_tap_count (mpu6050_handle_t *handle, uint8_t cnt) |
| dmp set the min tap count | |
| uint8_t | mpu6050_dmp_get_min_tap_count (mpu6050_handle_t *handle, uint8_t *cnt) |
| dmp get the min tap count | |
| uint8_t | mpu6050_dmp_set_gyro_calibrate (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| dmp enable or disable gyro calibrate | |
| uint8_t | mpu6050_dmp_set_3x_quaternion (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| dmp enable or disable generate 3 axis quaternions from dmp | |
| uint8_t | mpu6050_dmp_set_6x_quaternion (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| dmp enable or disable generate 6 axis quaternions from dmp | |
| uint8_t | mpu6050_dmp_set_interrupt_mode (mpu6050_handle_t *handle, mpu6050_dmp_interrupt_mode_t mode) |
| dmp set the interrupt mode | |
| uint8_t | mpu6050_dmp_set_gyro_bias (mpu6050_handle_t *handle, int32_t bias[3]) |
| dmp set the gyro bias | |
| uint8_t | mpu6050_dmp_set_accel_bias (mpu6050_handle_t *handle, int32_t bias[3]) |
| dmp set the accel bias | |
| uint8_t | mpu6050_dmp_set_orientation (mpu6050_handle_t *handle, int8_t mat[9]) |
| dmp set the orientation | |
| uint8_t | mpu6050_dmp_set_feature (mpu6050_handle_t *handle, uint16_t mask) |
| dmp enable or disable the dmp feature | |
| uint8_t | mpu6050_dmp_set_fifo_rate (mpu6050_handle_t *handle, uint16_t rate) |
| dmp set the fifo rate | |
| uint8_t | mpu6050_dmp_get_fifo_rate (mpu6050_handle_t *handle, uint16_t *rate) |
| dmp get the fifo rate | |
| uint8_t | mpu6050_dmp_set_tap_axes (mpu6050_handle_t *handle, mpu6050_axis_t axis, mpu6050_bool_t enable) |
| dmp enable or disable the tap axes | |
| uint8_t | mpu6050_dmp_get_tap_axes (mpu6050_handle_t *handle, mpu6050_axis_t axis, mpu6050_bool_t *enable) |
| dmp get the tap axes status | |
| uint8_t | mpu6050_dmp_set_tap_thresh (mpu6050_handle_t *handle, mpu6050_axis_t axis, uint16_t mg_ms) |
| dmp set the tap thresh | |
| uint8_t | mpu6050_dmp_get_tap_thresh (mpu6050_handle_t *handle, mpu6050_axis_t axis, uint16_t *mg_ms) |
| dmp get the tap thresh | |
| uint8_t | mpu6050_dmp_read (mpu6050_handle_t *handle, 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 read the data | |
| uint8_t | mpu6050_dmp_set_tap_callback (mpu6050_handle_t *handle, void(*callback)(uint8_t count, uint8_t direction)) |
| dmp set the tap callback | |
| uint8_t | mpu6050_dmp_set_orient_callback (mpu6050_handle_t *handle, void(*callback)(uint8_t orientation)) |
| dmp set the orient callback | |
| uint8_t | mpu6050_dmp_set_enable (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable the dmp | |
| uint8_t | mpu6050_dmp_gyro_accel_raw_offset_convert (mpu6050_handle_t *handle, int32_t gyro_offset_raw[3], int32_t accel_offset_raw[3], int32_t gyro_offset[3], int32_t accel_offset[3]) |
| dmp gyro accel raw offset convert | |
| uint8_t | mpu6050_set_addr_pin (mpu6050_handle_t *handle, mpu6050_address_t addr_pin) |
| set the chip address pin | |
| uint8_t | mpu6050_get_addr_pin (mpu6050_handle_t *handle, mpu6050_address_t *addr_pin) |
| get the chip address pin | |
| uint8_t | mpu6050_init (mpu6050_handle_t *handle) |
| initialize the chip | |
| uint8_t | mpu6050_deinit (mpu6050_handle_t *handle) |
| close the chip | |
| uint8_t | mpu6050_read (mpu6050_handle_t *handle, int16_t(*accel_raw)[3], float(*accel_g)[3], int16_t(*gyro_raw)[3], float(*gyro_dps)[3], uint16_t *len) |
| read the data | |
| uint8_t | mpu6050_read_temperature (mpu6050_handle_t *handle, int16_t(*raw), float *degrees) |
| read the temperature | |
| uint8_t | mpu6050_irq_handler (mpu6050_handle_t *handle) |
| irq handler | |
| uint8_t | mpu6050_set_fifo (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable fifo | |
| uint8_t | mpu6050_get_fifo (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the fifo status | |
| uint8_t | mpu6050_force_fifo_reset (mpu6050_handle_t *handle) |
| force reset the fifo | |
| uint8_t | mpu6050_set_iic_master (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable the iic master mode | |
| uint8_t | mpu6050_get_iic_master (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the iic master status | |
| uint8_t | mpu6050_fifo_reset (mpu6050_handle_t *handle) |
| reset the fifo | |
| uint8_t | mpu6050_get_fifo_reset (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the fifo reset status | |
| uint8_t | mpu6050_iic_master_reset (mpu6050_handle_t *handle) |
| reset the iic master controller | |
| uint8_t | mpu6050_get_iic_master_reset (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the iic master reset status | |
| uint8_t | mpu6050_sensor_reset (mpu6050_handle_t *handle) |
| reset all sensors | |
| uint8_t | mpu6050_get_sensor_reset (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the sensor reset status | |
| uint8_t | mpu6050_device_reset (mpu6050_handle_t *handle) |
| reset the chip | |
| uint8_t | mpu6050_get_device_reset (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the device reset status | |
| uint8_t | mpu6050_set_clock_source (mpu6050_handle_t *handle, mpu6050_clock_source_t clock_source) |
| set the chip clock source | |
| uint8_t | mpu6050_get_clock_source (mpu6050_handle_t *handle, mpu6050_clock_source_t *clock_source) |
| get the chip clock source | |
| uint8_t | mpu6050_set_temperature_sensor (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable the temperature sensor | |
| uint8_t | mpu6050_get_temperature_sensor (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the temperature sensor status | |
| uint8_t | mpu6050_set_cycle_wake_up (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable the cycle wake up mode | |
| uint8_t | mpu6050_get_cycle_wake_up (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the cycle wake up mode status | |
| uint8_t | mpu6050_set_sleep (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable the sleep mode | |
| uint8_t | mpu6050_get_sleep (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the sleep status | |
| uint8_t | mpu6050_set_standby_mode (mpu6050_handle_t *handle, mpu6050_source_t source, mpu6050_bool_t enable) |
| set source into standby mode | |
| uint8_t | mpu6050_get_standby_mode (mpu6050_handle_t *handle, mpu6050_source_t source, mpu6050_bool_t *enable) |
| get the source mode | |
| uint8_t | mpu6050_set_wake_up_frequency (mpu6050_handle_t *handle, mpu6050_wake_up_frequency_t frequency) |
| set the wake up frequency | |
| uint8_t | mpu6050_get_wake_up_frequency (mpu6050_handle_t *handle, mpu6050_wake_up_frequency_t *frequency) |
| get the wake up frequency | |
| uint8_t | mpu6050_get_fifo_count (mpu6050_handle_t *handle, uint16_t *count) |
| get the fifo counter value | |
| uint8_t | mpu6050_fifo_get (mpu6050_handle_t *handle, uint8_t *buf, uint16_t len) |
| fifo read bytes | |
| uint8_t | mpu6050_fifo_set (mpu6050_handle_t *handle, uint8_t *buf, uint16_t len) |
| fifo write bytes | |
| uint8_t | mpu6050_set_signal_path_reset (mpu6050_handle_t *handle, mpu6050_signal_path_reset_t path) |
| set the signal path reset | |
| uint8_t | mpu6050_set_sample_rate_divider (mpu6050_handle_t *handle, uint8_t d) |
| set the sample rate divider | |
| uint8_t | mpu6050_get_sample_rate_divider (mpu6050_handle_t *handle, uint8_t *d) |
| get the sample rate divider | |
| uint8_t | mpu6050_set_extern_sync (mpu6050_handle_t *handle, mpu6050_extern_sync_t sync) |
| set the extern sync type | |
| uint8_t | mpu6050_get_extern_sync (mpu6050_handle_t *handle, mpu6050_extern_sync_t *sync) |
| get the extern sync type | |
| uint8_t | mpu6050_set_low_pass_filter (mpu6050_handle_t *handle, mpu6050_low_pass_filter_t filter) |
| set the low pass filter | |
| uint8_t | mpu6050_get_low_pass_filter (mpu6050_handle_t *handle, mpu6050_low_pass_filter_t *filter) |
| get the low pass filter | |
| uint8_t | mpu6050_set_gyroscope_test (mpu6050_handle_t *handle, mpu6050_axis_t axis, mpu6050_bool_t enable) |
| set the gyroscope test | |
| uint8_t | mpu6050_get_gyroscope_test (mpu6050_handle_t *handle, mpu6050_axis_t axis, mpu6050_bool_t *enable) |
| get the gyroscope test | |
| uint8_t | mpu6050_set_gyroscope_range (mpu6050_handle_t *handle, mpu6050_gyroscope_range_t range) |
| set the gyroscope range | |
| uint8_t | mpu6050_get_gyroscope_range (mpu6050_handle_t *handle, mpu6050_gyroscope_range_t *range) |
| get the gyroscope range | |
| uint8_t | mpu6050_set_accelerometer_test (mpu6050_handle_t *handle, mpu6050_axis_t axis, mpu6050_bool_t enable) |
| set the accelerometer test | |
| uint8_t | mpu6050_get_accelerometer_test (mpu6050_handle_t *handle, mpu6050_axis_t axis, mpu6050_bool_t *enable) |
| get the accelerometer test | |
| uint8_t | mpu6050_set_accelerometer_range (mpu6050_handle_t *handle, mpu6050_accelerometer_range_t range) |
| set the accelerometer range | |
| uint8_t | mpu6050_get_accelerometer_range (mpu6050_handle_t *handle, mpu6050_accelerometer_range_t *range) |
| get the accelerometer range | |
| uint8_t | mpu6050_set_fifo_enable (mpu6050_handle_t *handle, mpu6050_fifo_t fifo, mpu6050_bool_t enable) |
| enable or disable the fifo function | |
| uint8_t | mpu6050_get_fifo_enable (mpu6050_handle_t *handle, mpu6050_fifo_t fifo, mpu6050_bool_t *enable) |
| get the fifo function status | |
| uint8_t | mpu6050_set_interrupt_level (mpu6050_handle_t *handle, mpu6050_pin_level_t level) |
| set the interrupt level | |
| uint8_t | mpu6050_get_interrupt_level (mpu6050_handle_t *handle, mpu6050_pin_level_t *level) |
| get the interrupt level | |
| uint8_t | mpu6050_set_interrupt_pin_type (mpu6050_handle_t *handle, mpu6050_pin_type_t type) |
| set the interrupt pin type | |
| uint8_t | mpu6050_get_interrupt_pin_type (mpu6050_handle_t *handle, mpu6050_pin_type_t *type) |
| get the interrupt pin type | |
| uint8_t | mpu6050_set_interrupt_latch (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable the interrupt latch | |
| uint8_t | mpu6050_get_interrupt_latch (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the interrupt latch status | |
| uint8_t | mpu6050_set_interrupt_read_clear (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable the interrupt reading clear | |
| uint8_t | mpu6050_get_interrupt_read_clear (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the interrupt reading clear status | |
| uint8_t | mpu6050_set_fsync_interrupt_level (mpu6050_handle_t *handle, mpu6050_pin_level_t level) |
| set the fsync interrupt level | |
| uint8_t | mpu6050_get_fsync_interrupt_level (mpu6050_handle_t *handle, mpu6050_pin_level_t *level) |
| get the fsync interrupt level | |
| uint8_t | mpu6050_set_fsync_interrupt (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable the fsync interrupt | |
| uint8_t | mpu6050_get_fsync_interrupt (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the fsync interrupt status | |
| uint8_t | mpu6050_set_iic_bypass (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable the iic bypass | |
| uint8_t | mpu6050_get_iic_bypass (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the iic bypass status | |
| uint8_t | mpu6050_set_interrupt (mpu6050_handle_t *handle, mpu6050_interrupt_t type, mpu6050_bool_t enable) |
| enable or disable the interrupt | |
| uint8_t | mpu6050_get_interrupt (mpu6050_handle_t *handle, mpu6050_interrupt_t type, mpu6050_bool_t *enable) |
| get the interrupt status | |
| uint8_t | mpu6050_get_interrupt_status (mpu6050_handle_t *handle, uint8_t *status) |
| get the interrupt status | |
| uint8_t | mpu6050_set_gyroscope_x_test (mpu6050_handle_t *handle, uint8_t data) |
| set the gyroscope x test | |
| uint8_t | mpu6050_get_gyroscope_x_test (mpu6050_handle_t *handle, uint8_t *data) |
| get the gyroscope x test | |
| uint8_t | mpu6050_set_gyroscope_y_test (mpu6050_handle_t *handle, uint8_t data) |
| set the gyroscope y test | |
| uint8_t | mpu6050_get_gyroscope_y_test (mpu6050_handle_t *handle, uint8_t *data) |
| get the gyroscope y test | |
| uint8_t | mpu6050_set_gyroscope_z_test (mpu6050_handle_t *handle, uint8_t data) |
| set the gyroscope z test | |
| uint8_t | mpu6050_get_gyroscope_z_test (mpu6050_handle_t *handle, uint8_t *data) |
| get the gyroscope z test | |
| uint8_t | mpu6050_set_accelerometer_x_test (mpu6050_handle_t *handle, uint8_t data) |
| set the accelerometer x test | |
| uint8_t | mpu6050_get_accelerometer_x_test (mpu6050_handle_t *handle, uint8_t *data) |
| get the accelerometer x test | |
| uint8_t | mpu6050_set_accelerometer_y_test (mpu6050_handle_t *handle, uint8_t data) |
| set the accelerometer y test | |
| uint8_t | mpu6050_get_accelerometer_y_test (mpu6050_handle_t *handle, uint8_t *data) |
| get the accelerometer y test | |
| uint8_t | mpu6050_set_accelerometer_z_test (mpu6050_handle_t *handle, uint8_t data) |
| set the accelerometer z test | |
| uint8_t | mpu6050_get_accelerometer_z_test (mpu6050_handle_t *handle, uint8_t *data) |
| get the accelerometer z test | |
| uint8_t | mpu6050_set_motion_threshold (mpu6050_handle_t *handle, uint8_t threshold) |
| set the motion_threshold | |
| uint8_t | mpu6050_get_motion_threshold (mpu6050_handle_t *handle, uint8_t *threshold) |
| get the motion_threshold | |
| uint8_t | mpu6050_motion_threshold_convert_to_register (mpu6050_handle_t *handle, float mg, uint8_t *reg) |
| convert the motion threshold to the register raw data | |
| uint8_t | mpu6050_motion_threshold_convert_to_data (mpu6050_handle_t *handle, uint8_t reg, float *mg) |
| convert the register raw data to the motion threshold | |
| uint8_t | mpu6050_set_motion_duration (mpu6050_handle_t *handle, uint8_t duration) |
| set the motion duration | |
| uint8_t | mpu6050_get_motion_duration (mpu6050_handle_t *handle, uint8_t *duration) |
| get the motion duration | |
| uint8_t | mpu6050_motion_duration_convert_to_register (mpu6050_handle_t *handle, uint8_t ms, uint8_t *reg) |
| convert the motion duration to the register raw data | |
| uint8_t | mpu6050_motion_duration_convert_to_data (mpu6050_handle_t *handle, uint8_t reg, uint8_t *ms) |
| convert the register raw data to the motion duration | |
| uint8_t | mpu6050_set_force_accel_sample (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable force accel sample | |
| uint8_t | mpu6050_self_test (mpu6050_handle_t *handle, int32_t gyro_offset_raw[3], int32_t accel_offset_raw[3]) |
| run the self test | |
| uint8_t | mpu6050_set_iic_clock (mpu6050_handle_t *handle, mpu6050_iic_clock_t clk) |
| set the iic clock | |
| uint8_t | mpu6050_get_iic_clock (mpu6050_handle_t *handle, mpu6050_iic_clock_t *clk) |
| get the iic clock | |
| uint8_t | mpu6050_set_iic_multi_master (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable iic multi master | |
| uint8_t | mpu6050_get_iic_multi_master (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the iic multi master status | |
| uint8_t | mpu6050_set_iic_wait_for_external_sensor (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable iic wait for external sensor | |
| uint8_t | mpu6050_get_iic_wait_for_external_sensor (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the iic wait for external sensor status | |
| uint8_t | mpu6050_set_iic_read_mode (mpu6050_handle_t *handle, mpu6050_iic_read_mode_t mode) |
| set the iic read mode | |
| uint8_t | mpu6050_get_iic_read_mode (mpu6050_handle_t *handle, mpu6050_iic_read_mode_t *mode) |
| get the iic read mode | |
| uint8_t | mpu6050_set_iic_fifo_enable (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_bool_t enable) |
| enable or disable the iic fifo | |
| uint8_t | mpu6050_get_iic_fifo_enable (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_bool_t *enable) |
| get the iic fifo status | |
| uint8_t | mpu6050_set_iic_mode (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_iic_mode_t mode) |
| set the iic mode | |
| uint8_t | mpu6050_get_iic_mode (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_iic_mode_t *mode) |
| get the iic mode | |
| uint8_t | mpu6050_set_iic_address (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t addr_7bit) |
| set the iic address | |
| uint8_t | mpu6050_get_iic_address (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t *addr_7bit) |
| get the iic address | |
| uint8_t | mpu6050_set_iic_register (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t reg) |
| set the iic register | |
| uint8_t | mpu6050_get_iic_register (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t *reg) |
| get the iic register | |
| uint8_t | mpu6050_set_iic_data_out (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t data) |
| set the iic data out | |
| uint8_t | mpu6050_get_iic_data_out (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t *data) |
| get the iic data out | |
| uint8_t | mpu6050_set_iic_enable (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_bool_t enable) |
| enable or disable the iic | |
| uint8_t | mpu6050_get_iic_enable (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_bool_t *enable) |
| get the iic status | |
| uint8_t | mpu6050_set_iic_byte_swap (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_bool_t enable) |
| enable or disable the iic byte swap | |
| uint8_t | mpu6050_get_iic_byte_swap (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_bool_t *enable) |
| get the iic byte swap status | |
| uint8_t | mpu6050_set_iic_transaction_mode (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_iic_transaction_mode_t mode) |
| set the iic transaction mode | |
| uint8_t | mpu6050_get_iic_transaction_mode (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_iic_transaction_mode_t *mode) |
| get the iic transaction mode | |
| uint8_t | mpu6050_set_iic_group_order (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_iic_group_order_t order) |
| set the iic group order | |
| uint8_t | mpu6050_get_iic_group_order (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, mpu6050_iic_group_order_t *order) |
| get the iic group order | |
| uint8_t | mpu6050_set_iic_transferred_len (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t len) |
| set the iic transferred length | |
| uint8_t | mpu6050_get_iic_transferred_len (mpu6050_handle_t *handle, mpu6050_iic_slave_t slave, uint8_t *len) |
| get the iic transferred length | |
| uint8_t | mpu6050_get_iic_status (mpu6050_handle_t *handle, uint8_t *status) |
| get the iic status | |
| uint8_t | mpu6050_set_iic_delay_enable (mpu6050_handle_t *handle, mpu6050_iic_delay_t delay, mpu6050_bool_t enable) |
| enable or disable the iic delay | |
| uint8_t | mpu6050_get_iic_delay_enable (mpu6050_handle_t *handle, mpu6050_iic_delay_t delay, mpu6050_bool_t *enable) |
| get the iic delay status | |
| uint8_t | mpu6050_set_iic4_enable (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable the iic4 | |
| uint8_t | mpu6050_get_iic4_enable (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the iic4 status | |
| uint8_t | mpu6050_set_iic4_interrupt (mpu6050_handle_t *handle, mpu6050_bool_t enable) |
| enable or disable the iic4 interrupt | |
| uint8_t | mpu6050_get_iic4_interrupt (mpu6050_handle_t *handle, mpu6050_bool_t *enable) |
| get the iic4 interrupt status | |
| uint8_t | mpu6050_set_iic4_transaction_mode (mpu6050_handle_t *handle, mpu6050_iic4_transaction_mode_t mode) |
| set the iic4 transaction mode | |
| uint8_t | mpu6050_get_iic4_transaction_mode (mpu6050_handle_t *handle, mpu6050_iic4_transaction_mode_t *mode) |
| get the iic4 transaction mode | |
| uint8_t | mpu6050_set_iic_delay (mpu6050_handle_t *handle, uint8_t delay) |
| set the iic delay | |
| uint8_t | mpu6050_get_iic_delay (mpu6050_handle_t *handle, uint8_t *delay) |
| get the iic delay | |
| uint8_t | mpu6050_set_iic4_data_out (mpu6050_handle_t *handle, uint8_t data) |
| set the iic4 data out | |
| uint8_t | mpu6050_get_iic4_data_out (mpu6050_handle_t *handle, uint8_t *data) |
| get the iic4 data out | |
| uint8_t | mpu6050_set_iic4_data_in (mpu6050_handle_t *handle, uint8_t data) |
| set the iic4 data in | |
| uint8_t | mpu6050_get_iic4_data_in (mpu6050_handle_t *handle, uint8_t *data) |
| get the iic4 data in | |
| uint8_t | mpu6050_read_extern_sensor_data (mpu6050_handle_t *handle, uint8_t *data, uint8_t len) |
| read the extern sensor data | |
| uint8_t | mpu6050_set_reg (mpu6050_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len) |
| set the chip register | |
| uint8_t | mpu6050_get_reg (mpu6050_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len) |
| get the chip register | |
| uint8_t | mpu6050_info (mpu6050_info_t *info) |
| get the chip's information | |
driver mpu6050 source file
Copyright (c) 2015 - present LibDriver All rights reserved
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
| Date | Version | Author | Description |
|---|---|---|---|
| 2022/06/30 | 1.0 | Shifeng Li | first upload |
Definition in file driver_mpu6050.c.
| #define CHIP_NAME "TDK MPU6050" |
| #define DRIVER_VERSION 1000 |
driver version
Definition at line 52 of file driver_mpu6050.c.
| #define MANUFACTURER_NAME "TDK" |
manufacturer name
Definition at line 46 of file driver_mpu6050.c.
| #define MAX_CURRENT 3.9f |
chip max current
Definition at line 49 of file driver_mpu6050.c.
| #define MIN | ( | a, | |
| b ) |
inner function definition
min function
Definition at line 183 of file driver_mpu6050.c.
| #define MPU6050_DMP_CFG_15 2727 |
cfg 15 register
Definition at line 159 of file driver_mpu6050.c.
| #define MPU6050_DMP_CFG_20 2224 |
cfg 20 register
Definition at line 162 of file driver_mpu6050.c.
| #define MPU6050_DMP_CFG_27 2742 |
cfg 27 register
Definition at line 160 of file driver_mpu6050.c.
| #define MPU6050_DMP_CFG_6 2753 |
cfg 6 register
Definition at line 144 of file driver_mpu6050.c.
| #define MPU6050_DMP_CFG_8 2718 |
cfg 8 register
Definition at line 145 of file driver_mpu6050.c.
| #define MPU6050_DMP_CFG_FIFO_ON_EVENT 2690 |
fifo on event register
Definition at line 148 of file driver_mpu6050.c.
| #define MPU6050_DMP_CFG_GYRO_RAW_DATA 2722 |
cfg gyro raw data register
Definition at line 161 of file driver_mpu6050.c.
| #define MPU6050_DMP_CFG_LP_QUAT 2712 |
lp quat register
Definition at line 147 of file driver_mpu6050.c.
| #define MPU6050_DMP_CFG_MOTION_BIAS 1208 |
motion bias register
Definition at line 146 of file driver_mpu6050.c.
| #define MPU6050_DMP_CFG_ORIENT_INT 1853 |
cfg orient int register
Definition at line 163 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_0_104 104 |
104 register
Definition at line 139 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_0_22 (512 + 22) |
22 register
Definition at line 138 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_1_218 (256 + 218) |
218 register
Definition at line 137 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_1_36 (256 + 36) |
36 register
Definition at line 129 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_1_40 (256 + 40) |
40 register
Definition at line 130 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_1_44 (256 + 44) |
44 register
Definition at line 131 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_1_72 (256 + 72) |
72 register
Definition at line 132 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_1_79 (256 + 79) |
79 register
Definition at line 133 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_1_88 (256 + 88) |
88 register
Definition at line 134 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_1_90 (256 + 90) |
90 register
Definition at line 135 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_1_92 (256 + 92) |
92 register
Definition at line 136 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_ACCEL_BIAS 660 |
accel bias register
Definition at line 156 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_EXT_GYRO_BIAS_X (61 * 16) |
gyro bias x register
Definition at line 153 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_EXT_GYRO_BIAS_Y (61 * 16 + 4) |
gyro bias y register
Definition at line 154 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_EXT_GYRO_BIAS_Z (61 * 16 + 8) |
gyro bias z register
Definition at line 155 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_PEDSTD_STEPCTR (768 + 0x60) |
step counter mem register
Definition at line 128 of file driver_mpu6050.c.
| #define MPU6050_DMP_D_PEDSTD_TIMECTR 964 |
walk time mem register
Definition at line 127 of file driver_mpu6050.c.
| #define MPU6050_DMP_FCFG_1 1062 |
fcfg 1 register
Definition at line 149 of file driver_mpu6050.c.
| #define MPU6050_DMP_FCFG_2 1066 |
fcfg 2 register
Definition at line 150 of file driver_mpu6050.c.
| #define MPU6050_DMP_FCFG_3 1088 |
fcfg 3 register
Definition at line 151 of file driver_mpu6050.c.
| #define MPU6050_DMP_FCFG_7 1073 |
fcfg 7 register
Definition at line 152 of file driver_mpu6050.c.
| #define MPU6050_DMP_FEATURE_SEND_ANY_GYRO |
| #define MPU6050_DMP_GYRO_SF (46850825LL * 200 / MPU6050_DMP_SAMPLE_RATE) |
gyro sf
Definition at line 126 of file driver_mpu6050.c.
| #define MPU6050_DMP_INT_SRC_ORIENT 0x08 |
int src orient
Definition at line 171 of file driver_mpu6050.c.
| #define MPU6050_DMP_INT_SRC_TAP 0x01 |
int src tap
Definition at line 170 of file driver_mpu6050.c.
| #define MPU6050_DMP_QUAT_ERROR_THRESH (1L << 24) |
quat error thresh
Definition at line 164 of file driver_mpu6050.c.
| #define MPU6050_DMP_QUAT_MAG_SQ_MAX |
quat mag sq max
Definition at line 168 of file driver_mpu6050.c.
| #define MPU6050_DMP_QUAT_MAG_SQ_MIN |
quat mag sq min
Definition at line 166 of file driver_mpu6050.c.
| #define MPU6050_DMP_QUAT_MAG_SQ_NORMALIZED (1L << 28) |
quat mag sq normalized
Definition at line 165 of file driver_mpu6050.c.
| #define MPU6050_DMP_SAMPLE_RATE 200 |
| #define MPU6050_DMP_SHAKE_REJECT_THRESH 200 |
200 ms
Definition at line 176 of file driver_mpu6050.c.
| #define MPU6050_DMP_SHAKE_REJECT_TIME 40 |
40 ms
Definition at line 177 of file driver_mpu6050.c.
| #define MPU6050_DMP_SHAKE_REJECT_TIMEOUT 10 |
10 ms
Definition at line 178 of file driver_mpu6050.c.
| #define MPU6050_DMP_TAP_MIN_TAP_COUNT 1 |
1
Definition at line 173 of file driver_mpu6050.c.
| #define MPU6050_DMP_TAP_THRESH 250 |
250 mg/ms
Definition at line 172 of file driver_mpu6050.c.
| #define MPU6050_DMP_TAP_THX 468 |
tap threshold x register
Definition at line 141 of file driver_mpu6050.c.
| #define MPU6050_DMP_TAP_THY 472 |
tap threshold y register
Definition at line 142 of file driver_mpu6050.c.
| #define MPU6050_DMP_TAP_THZ 476 |
tap threshold z register
Definition at line 143 of file driver_mpu6050.c.
| #define MPU6050_DMP_TAP_TIME 100 |
100 ms
Definition at line 174 of file driver_mpu6050.c.
| #define MPU6050_DMP_TAP_TIME_MULTI 200 |
200 ms
Definition at line 175 of file driver_mpu6050.c.
| #define MPU6050_DMP_TAPW_MIN 478 |
tap time min register
Definition at line 140 of file driver_mpu6050.c.
| #define MPU6050_REG_ACCEL_CONFIG 0x1C |
accel configure register
Definition at line 64 of file driver_mpu6050.c.
| #define MPU6050_REG_ACCEL_XOUT_H 0x3B |
accel xout high register
Definition at line 96 of file driver_mpu6050.c.
| #define MPU6050_REG_ACCEL_XOUT_L 0x3C |
accel xout low register
Definition at line 97 of file driver_mpu6050.c.
| #define MPU6050_REG_ACCEL_YOUT_H 0x3D |
accel yout high register
Definition at line 98 of file driver_mpu6050.c.
| #define MPU6050_REG_ACCEL_YOUT_L 0x3E |
accel yout low register
Definition at line 99 of file driver_mpu6050.c.
| #define MPU6050_REG_ACCEL_ZOUT_H 0x3F |
accel zout high register
Definition at line 100 of file driver_mpu6050.c.
| #define MPU6050_REG_ACCEL_ZOUT_L 0x40 |
accel zout low register
Definition at line 101 of file driver_mpu6050.c.
| #define MPU6050_REG_BANK_SEL 0x6D |
bank sel register
Definition at line 114 of file driver_mpu6050.c.
| #define MPU6050_REG_CONFIG 0x1A |
configure register
Definition at line 62 of file driver_mpu6050.c.
| #define MPU6050_REG_EXT_SENS_DATA_00 0x49 |
extern sensor data 00 register
Definition at line 92 of file driver_mpu6050.c.
| #define MPU6050_REG_FIFO_COUNTH 0x72 |
fifo count high threshold register
Definition at line 117 of file driver_mpu6050.c.
| #define MPU6050_REG_FIFO_COUNTL 0x73 |
fifo count low threshold register
Definition at line 118 of file driver_mpu6050.c.
| #define MPU6050_REG_FIFO_EN 0x23 |
fifo enable register
Definition at line 67 of file driver_mpu6050.c.
| #define MPU6050_REG_GYRO_CONFIG 0x1B |
gyro configure register
Definition at line 63 of file driver_mpu6050.c.
| #define MPU6050_REG_GYRO_XOUT_H 0x43 |
gyro xout high register
Definition at line 104 of file driver_mpu6050.c.
| #define MPU6050_REG_GYRO_XOUT_L 0x44 |
gyro xout low register
Definition at line 105 of file driver_mpu6050.c.
| #define MPU6050_REG_GYRO_YOUT_H 0x45 |
gyro yout high register
Definition at line 106 of file driver_mpu6050.c.
| #define MPU6050_REG_GYRO_YOUT_L 0x46 |
gyro yout low register
Definition at line 107 of file driver_mpu6050.c.
| #define MPU6050_REG_GYRO_ZOUT_H 0x47 |
gyro zout high register
Definition at line 108 of file driver_mpu6050.c.
| #define MPU6050_REG_GYRO_ZOUT_L 0x48 |
gyro zout low register
Definition at line 109 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_MST_CTRL 0x24 |
i2c master ctrl register
Definition at line 68 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_MST_DELAY_CTRL 0x67 |
i2c master delay ctrl register
Definition at line 70 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_MST_STATUS 0x36 |
i2c master status register
Definition at line 69 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV0_ADDR 0x25 |
iic slave0 address register
Definition at line 71 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV0_CTRL 0x27 |
iic slave0 ctrl register
Definition at line 73 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV0_DO 0x63 |
iic slave0 do register
Definition at line 74 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV0_REG 0x26 |
iic slave0 reg register
Definition at line 72 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV1_ADDR 0x28 |
iic slave1 address register
Definition at line 75 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV1_CTRL 0x2A |
iic slave1 ctrl register
Definition at line 77 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV1_DO 0x64 |
iic slave1 do register
Definition at line 78 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV1_REG 0x29 |
iic slave1 reg register
Definition at line 76 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV2_ADDR 0x2B |
iic slave2 address register
Definition at line 79 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV2_CTRL 0x2D |
iic slave2 ctrl register
Definition at line 81 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV2_DO 0x65 |
iic slave2 do register
Definition at line 82 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV2_REG 0x2C |
iic slave2 reg register
Definition at line 80 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV3_ADDR 0x2E |
iic slave3 address register
Definition at line 83 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV3_CTRL 0x30 |
iic slave3 ctrl register
Definition at line 85 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV3_DO 0x66 |
iic slave3 do register
Definition at line 86 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV3_REG 0x2F |
iic slave3 reg register
Definition at line 84 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV4_ADDR 0x31 |
iic slave4 address register
Definition at line 87 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV4_CTRL 0x34 |
iic slave4 ctrl register
Definition at line 89 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV4_DI 0x35 |
iic slave4 di register
Definition at line 91 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV4_DO 0x33 |
iic slave4 do register
Definition at line 90 of file driver_mpu6050.c.
| #define MPU6050_REG_I2C_SLV4_REG 0x32 |
iic slave4 reg register
Definition at line 88 of file driver_mpu6050.c.
| #define MPU6050_REG_INT_ENABLE 0x38 |
interrupt enable register
Definition at line 94 of file driver_mpu6050.c.
| #define MPU6050_REG_INT_PIN_CFG 0x37 |
interrupt pin configure register
Definition at line 93 of file driver_mpu6050.c.
| #define MPU6050_REG_INT_STATUS 0x3A |
interrupt status register
Definition at line 95 of file driver_mpu6050.c.
| #define MPU6050_REG_MEM 0x6F |
memory register
Definition at line 115 of file driver_mpu6050.c.
| #define MPU6050_REG_MOTION_DURATION 0x20 |
motion duration register
Definition at line 66 of file driver_mpu6050.c.
| #define MPU6050_REG_MOTION_THRESHOLD 0x1F |
motion threshold register
Definition at line 65 of file driver_mpu6050.c.
| #define MPU6050_REG_PROGRAM_START 0x70 |
program start register
Definition at line 116 of file driver_mpu6050.c.
| #define MPU6050_REG_PWR_MGMT_1 0x6B |
power management 1 register
Definition at line 112 of file driver_mpu6050.c.
| #define MPU6050_REG_PWR_MGMT_2 0x6C |
power management 2 register
Definition at line 113 of file driver_mpu6050.c.
| #define MPU6050_REG_R_W 0x74 |
fifo read write data register
Definition at line 119 of file driver_mpu6050.c.
| #define MPU6050_REG_SELF_TEST_A 0x10 |
self test a register
Definition at line 60 of file driver_mpu6050.c.
| #define MPU6050_REG_SELF_TEST_X 0x0D |
| #define MPU6050_REG_SELF_TEST_Y 0x0E |
self test y register
Definition at line 58 of file driver_mpu6050.c.
| #define MPU6050_REG_SELF_TEST_Z 0x0F |
self test z register
Definition at line 59 of file driver_mpu6050.c.
| #define MPU6050_REG_SIGNAL_PATH_RESET 0x68 |
signal path reset register
Definition at line 110 of file driver_mpu6050.c.
| #define MPU6050_REG_SMPRT_DIV 0x19 |
smprt div register
Definition at line 61 of file driver_mpu6050.c.
| #define MPU6050_REG_TEMP_OUT_H 0x41 |
temp high register
Definition at line 102 of file driver_mpu6050.c.
| #define MPU6050_REG_TEMP_OUT_L 0x42 |
temp low register
Definition at line 103 of file driver_mpu6050.c.
| #define MPU6050_REG_USER_CTRL 0x6A |
user ctrl register
Definition at line 111 of file driver_mpu6050.c.
| #define MPU6050_REG_WHO_AM_I 0x75 |
who am I register
Definition at line 120 of file driver_mpu6050.c.
| #define SUPPLY_VOLTAGE_MAX 3.46f |
chip max supply voltage
Definition at line 48 of file driver_mpu6050.c.
| #define SUPPLY_VOLTAGE_MIN 2.375f |
chip min supply voltage
Definition at line 47 of file driver_mpu6050.c.
| #define TEMPERATURE_MAX 85.0f |
chip max operating temperature
Definition at line 51 of file driver_mpu6050.c.
| #define TEMPERATURE_MIN -40.0f |
chip min operating temperature
Definition at line 50 of file driver_mpu6050.c.