IZAR Flight Controller 1.0.0
IZAR Flight Controller running with an ESP32.
mpu6050.h File Reference
#include <esp_err.h>
#include <i2cdev.h>
Include dependency graph for mpu6050.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mpu6050_raw_acceleration_t
struct  mpu6050_raw_rotation_t
struct  mpu6050_acceleration_t
struct  mpu6050_rotation_t
struct  mpu6050_dev_t

Macros

#define MPU6050_I2C_ADDRESS_LOW   (0x68)
#define MPU6050_I2C_ADDRESS_HIGH   (0x69)

Enumerations

enum  mpu6050_vddio_level_t { MPU6050_VDDIO_VLOGIC = 0 , MPU6050_VDDIO_VDD }
enum  mpu6050_axis_t { MPU6050_X_AXIS = 0 , MPU6050_Y_AXIS , MPU6050_Z_AXIS }
enum  mpu6050_clock_source_t {
  MPU6050_CLOCK_INTERNAL = 0 , MPU6050_CLOCK_PLL_X , MPU6050_CLOCK_PLL_Y , MPU6050_CLOCK_PLL_Z ,
  MPU6050_CLOCK_EXT_32768HZ , MPU6050_CLOCK_EXT_19_2MHZ , MPU6050_CLOCK_RESERVED , MPU6050_CLOCK_STOP
}
enum  mpu6050_int_source_t {
  MPU6050_INT_DATA_READY = BIT(0) , MPU6050_INT_DMP = BIT(1) , MPU6050_INT_PLL_READY = BIT(2) , MPU6050_INT_I2C_MASTER = BIT(3) ,
  MPU6050_INT_FIFO_OFLOW = BIT(4) , MPU6050_INT_ZERO_MOTION = BIT(5) , MPU6050_INT_MOTION = BIT(6) , MPU6050_INT_FREEFALL = BIT(7)
}
enum  mpu6050_int_drive_t { MPU6050_INT_PUSH_PULL = 0 , MPU6050_INT_OPEN_DRAIN }
enum  mpu6050_ext_sync_t {
  MPU6050_EXT_SYNC_DISABLED = 0 , MPU6050_EXT_SYNC_TEMP_OUT , MPU6050_EXT_SYNC_GYRO_XOUT , MPU6050_EXT_SYNC_GYRO_YOUT ,
  MPU6050_EXT_SYNC_GYRO_ZOUT , MPU6050_EXT_SYNC_ACCEL_XOUT , MPU6050_EXT_SYNC_ACCEL_YOUT , MPU6050_EXT_SYNC_ACCEL_ZOUT
}
enum  mpu6050_dlpf_mode_t {
  MPU6050_DLPF_0 = 0 , MPU6050_DLPF_1 , MPU6050_DLPF_2 , MPU6050_DLPF_3 ,
  MPU6050_DLPF_4 , MPU6050_DLPF_5 , MPU6050_DLPF_6
}
enum  mpu6050_gyro_range_t { MPU6050_GYRO_RANGE_250 = 0 , MPU6050_GYRO_RANGE_500 , MPU6050_GYRO_RANGE_1000 , MPU6050_GYRO_RANGE_2000 }
enum  mpu6050_accel_range_t { MPU6050_ACCEL_RANGE_2 = 0 , MPU6050_ACCEL_RANGE_4 , MPU6050_ACCEL_RANGE_8 , MPU6050_ACCEL_RANGE_16 }
enum  mpu6050_dhpf_mode_t {
  MPU6050_DHPF_RESET = 0 , MPU6050_DHPF_5 , MPU6050_DHPF_2_5 , MPU6050_DHPF_1_25 ,
  MPU6050_DHPF_0_63 , MPU6050_DHPF_HOLD
}
enum  mpu6050_slave_t {
  MPU6050_SLAVE_0 = 0 , MPU6050_SLAVE_1 , MPU6050_SLAVE_2 , MPU6050_SLAVE_3 ,
  MPU6050_SLAVE_4
}
enum  mpu6050_i2c_master_clock_t {
  MPU6050_I2C_MASTER_CLOCK_348 = 0 , MPU6050_I2C_MASTER_CLOCK_333 , MPU6050_I2C_MASTER_CLOCK_320 , MPU6050_I2C_MASTER_CLOCK_308 ,
  MPU6050_I2C_MASTER_CLOCK_296 , MPU6050_I2C_MASTER_CLOCK_286 , MPU6050_I2C_MASTER_CLOCK_276 , MPU6050_I2C_MASTER_CLOCK_267 ,
  MPU6050_I2C_MASTER_CLOCK_258 , MPU6050_I2C_MASTER_CLOCK_500 , MPU6050_I2C_MASTER_CLOCK_471 , MPU6050_I2C_MASTER_CLOCK_444 ,
  MPU6050_I2C_MASTER_CLOCK_421 , MPU6050_I2C_MASTER_CLOCK_400 , MPU6050_I2C_MASTER_CLOCK_381 , MPU6050_I2C_MASTER_CLOCK_364
}
enum  mpu6050_int_level_t { MPU6050_INT_LEVEL_HIGH = 0 , MPU6050_INT_LEVEL_LOW }
enum  mpu6050_int_latch_t { MPU6050_INT_LATCH_PULSE = 0 , MPU6050_INT_LATCH_CONTINUOUS }
enum  mpu6050_wake_freq_t { MPU6050_WAKE_FREQ_1_25 = 0 , MPU6050_WAKE_FREQ_5 , MPU6050_WAKE_FREQ_20 , MPU6050_WAKE_FREQ_40 }
enum  mpu6050_motion_det_flags_t {
  MPU6050_MOTION_ZERO = BIT(0) , MPU6050_MOTION_Z_POS = BIT(2) , MPU6050_MOTION_Z_NEG = BIT(3) , MPU6050_MOTION_Y_POS = BIT(4) ,
  MPU6050_MOTION_Y_NEG = BIT(5) , MPU6050_MOTION_X_POS = BIT(6) , MPU6050_MOTION_X_NEG = BIT(7)
}

Functions

esp_err_t mpu6050_init_desc (mpu6050_dev_t *dev, uint8_t addr, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)
 Initialize device descriptor.
esp_err_t mpu6050_free_desc (mpu6050_dev_t *dev)
 Free device descriptor.
esp_err_t mpu6050_init (mpu6050_dev_t *dev)
 Initialize device.
esp_err_t mpu6050_get_aux_vddio_level (mpu6050_dev_t *dev, mpu6050_vddio_level_t *level)
 Get the auxiliary I2C supply voltage level.
esp_err_t mpu6050_set_aux_vddio_level (mpu6050_dev_t *dev, mpu6050_vddio_level_t level)
 Set the auxiliary I2C supply voltage level.
esp_err_t mpu6050_get_rate (mpu6050_dev_t *dev, uint8_t *rate)
 Get gyroscope output rate divider.
esp_err_t mpu6050_set_rate (mpu6050_dev_t *dev, uint8_t rate)
 Set gyroscope output rate divider.
esp_err_t mpu6050_get_external_frame_sync (mpu6050_dev_t *dev, mpu6050_ext_sync_t *sync)
 Get external FSYNC configuration.
esp_err_t mpu6050_set_external_frame_sync (mpu6050_dev_t *dev, mpu6050_ext_sync_t sync)
 Set external FSYNC configuration.
esp_err_t mpu6050_get_dlpf_mode (mpu6050_dev_t *dev, mpu6050_dlpf_mode_t *mode)
 Get digital low-pass filter configuration.
esp_err_t mpu6050_set_dlpf_mode (mpu6050_dev_t *dev, mpu6050_dlpf_mode_t mode)
 Set digital low-pass filter configuration.
esp_err_t mpu6050_get_full_scale_gyro_range (mpu6050_dev_t *dev, mpu6050_gyro_range_t *gyro_range)
 Get full-scale gyroscope range.
esp_err_t mpu6050_set_full_scale_gyro_range (mpu6050_dev_t *dev, mpu6050_gyro_range_t range)
 Set full-scale gyroscope range.
esp_err_t mpu6050_get_accel_self_test_factory_trim (mpu6050_dev_t *dev, mpu6050_axis_t axis, uint8_t *trim)
 Get self-test factory trim value for accelerometer axis.
esp_err_t mpu6050_get_gyro_self_test_factory_trim (mpu6050_dev_t *dev, mpu6050_axis_t axis, uint8_t *trim)
 Get self-test factory trim value for gyroscope axis.
esp_err_t mpu6050_get_accel_self_test (mpu6050_dev_t *dev, mpu6050_axis_t axis, bool *enabled)
 Get self-test enabled for accelerometer axis.
esp_err_t mpu6050_set_accel_self_test (mpu6050_dev_t *dev, mpu6050_axis_t axis, bool enabled)
 Set self-test enabled for accelerometer axis.
esp_err_t mpu6050_get_full_scale_accel_range (mpu6050_dev_t *dev, mpu6050_accel_range_t *range)
 Get full-scale accelerometer range.
esp_err_t mpu6050_set_full_scale_accel_range (mpu6050_dev_t *dev, mpu6050_accel_range_t range)
 Set full-scale accelerometer range.
esp_err_t mpu6050_get_dhpf_mode (mpu6050_dev_t *dev, mpu6050_dhpf_mode_t *mode)
 Get the high-pass filter configuration. The DHPF is a filter module in the path leading to motion detectors (Free Fall, Motion threshold, and Zero Motion). The high pass filter output is not available to the data registers.
esp_err_t mpu6050_set_dhpf_mode (mpu6050_dev_t *dev, mpu6050_dhpf_mode_t mode)
 Set the high-pass filter configuration.
esp_err_t mpu6050_get_freefall_detection_threshold (mpu6050_dev_t *dev, uint8_t *threshold)
 Get free-fall event acceleration threshold.
esp_err_t mpu6050_set_freefall_detection_threshold (mpu6050_dev_t *dev, uint8_t threshold)
 Get free-fall event acceleration threshold.
esp_err_t mpu6050_get_freefall_detection_duration (mpu6050_dev_t *dev, uint8_t *duration_ms)
 Get free-fall event duration threshold.
esp_err_t mpu6050_set_freefall_detection_duration (mpu6050_dev_t *dev, uint8_t duration_ms)
 Set free-fall event duration threshold.
esp_err_t mpu6050_get_motion_detection_threshold (mpu6050_dev_t *dev, uint8_t *threshold)
 Get motion detection event acceleration threshold.
esp_err_t mpu6050_set_motion_detection_threshold (mpu6050_dev_t *dev, uint8_t threshold)
 Set motion detection event acceleration threshold.
esp_err_t mpu6050_get_motion_detection_duration (mpu6050_dev_t *dev, uint8_t *duration)
 Get motion detection event duration threshold.
esp_err_t mpu6050_set_motion_detection_duration (mpu6050_dev_t *dev, uint8_t duration)
 Set motion detection event duration threshold.
esp_err_t mpu6050_get_zero_motion_detection_threshold (mpu6050_dev_t *dev, uint8_t *threshold)
 Get zero motion detection event acceleration threshold.
esp_err_t mpu6050_set_zero_motion_detection_threshold (mpu6050_dev_t *dev, uint8_t threshold)
 Set zero motion detection event acceleration threshold.
esp_err_t mpu6050_get_zero_motion_detection_duration (mpu6050_dev_t *dev, uint8_t *duration)
 Get zero motion detection event duration threshold.
esp_err_t mpu6050_set_zero_motion_detection_duration (mpu6050_dev_t *dev, uint8_t duration)
 Set zero motion detection event duration threshold.
esp_err_t mpu6050_get_temp_fifo_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get temperature FIFO enabled value.
esp_err_t mpu6050_set_temp_fifo_enabled (mpu6050_dev_t *dev, bool enabled)
 Set temperature FIFO enabled value.
esp_err_t mpu6050_get_gyro_fifo_enabled (mpu6050_dev_t *dev, mpu6050_axis_t axis, bool *enabled)
 Get gyroscope axis FIFO enabled value.
esp_err_t mpu6050_set_gyro_fifo_enabled (mpu6050_dev_t *dev, mpu6050_axis_t axis, bool enabled)
 Set gyroscope axis FIFO enabled value.
esp_err_t mpu6050_get_accel_fifo_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get accelerometer FIFO enabled value.
esp_err_t mpu6050_set_accel_fifo_enabled (mpu6050_dev_t *dev, bool enabled)
 Set accelerometer FIFO enabled value.
esp_err_t mpu6050_get_slave_fifo_enabled (mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled)
 Get Slave FIFO enabled value.
esp_err_t mpu6050_set_slave_fifo_enabled (mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled)
 Set Slave FIFO enabled value.
esp_err_t mpu6050_get_multi_master_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get multi-master enabled value.
esp_err_t mpu6050_set_multi_master_enabled (mpu6050_dev_t *dev, bool enabled)
 Set multi-master enabled value.
esp_err_t mpu6050_get_wait_for_external_sensor_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get wait-for-external-sensor-data enabled value.
esp_err_t mpu6050_set_wait_for_external_sensor_enabled (mpu6050_dev_t *dev, bool enabled)
 Set wait-for-external-sensor-data enabled value.
esp_err_t mpu6050_get_slave_read_write_transition_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get slave read/write transition enabled value.
esp_err_t mpu6050_set_slave_read_write_transition_enabled (mpu6050_dev_t *dev, bool enabled)
 Set slave read/write transition enabled value.
esp_err_t mpu6050_get_master_clock_speed (mpu6050_dev_t *dev, mpu6050_i2c_master_clock_t *clk_spd)
 Get I2C master clock speed.
esp_err_t mpu6050_set_master_clock_speed (mpu6050_dev_t *dev, mpu6050_i2c_master_clock_t clk_spd)
 Set I2C master clock speed.
esp_err_t mpu6050_get_slave_address (mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t *addr)
 Get the I2C address of the specified slave.
esp_err_t mpu6050_set_slave_address (mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t address)
 Set the I2C address of the specified slave.
esp_err_t mpu6050_get_slave_register (mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t *reg)
 Get the active internal register for the specified slave.
esp_err_t mpu6050_set_slave_register (mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t reg)
 Set the active internal register for the specified slave.
esp_err_t mpu6050_get_slave_enabled (mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled)
 Get the enabled value for the specified slave.
esp_err_t mpu6050_set_slave_enabled (mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled)
 Set the enabled value for the specified slave.
esp_err_t mpu6050_get_slave_word_byte_swap (mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled)
 Get word pair byte-swapping enabled for the specified slave.
esp_err_t mpu6050_set_slave_word_byte_swap (mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled)
 Set word pair byte-swapping enabled for the specified slave.
esp_err_t mpu6050_get_slave_write_mode (mpu6050_dev_t *dev, mpu6050_slave_t num, bool *mode)
 Get write mode for the specified slave.
esp_err_t mpu6050_set_slave_write_mode (mpu6050_dev_t *dev, mpu6050_slave_t num, bool mode)
 Set write mode for the specified slave.
esp_err_t mpu6050_get_slave_word_group_offset (mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled)
 Get word pair grouping order offset for the specified slave.
esp_err_t mpu6050_set_slave_word_group_offset (mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled)
 Set word pair grouping order offset for the specified slave.
esp_err_t mpu6050_get_slave_data_length (mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t *length)
 Get number of bytes to read for the specified slave.
esp_err_t mpu6050_set_slave_data_length (mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t length)
 Set number of bytes to read for the specified slave.
esp_err_t mpu6050_set_slave_4_output_byte (mpu6050_dev_t *dev, uint8_t data)
 Set new byte to write to Slave 4. This register stores the data to be written into the Slave 4. If I2C_SLV4_RW is set 1 (set to read), this register has no effect.
esp_err_t mpu6050_get_slave_4_interrupt_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get the enabled value for Slave 4 transaction interrupts.
esp_err_t mpu6050_set_slave_4_interrupt_enabled (mpu6050_dev_t *dev, bool enabled)
 Set the enabled value for Slave 4 transaction interrupts.
esp_err_t mpu6050_get_slave_4_master_delay (mpu6050_dev_t *dev, uint8_t *delay)
 Get Slave 4 master delay value.
esp_err_t mpu6050_set_slave_4_master_delay (mpu6050_dev_t *dev, uint8_t delay)
 Set Slave 4 master delay value.
esp_err_t mpu6050_get_slave_4_input_byte (mpu6050_dev_t *dev, uint8_t *byte)
 Get last available byte read from Slave 4.
esp_err_t mpu6050_get_passthrough_status (mpu6050_dev_t *dev, bool *enabled)
 Get FSYNC interrupt status.
esp_err_t mpu6050_get_slave_4_is_done (mpu6050_dev_t *dev, bool *enabled)
 Get Slave 4 transaction done status.
esp_err_t mpu6050_get_lost_arbitration (mpu6050_dev_t *dev, bool *lost)
 Get master arbitration lost status.
esp_err_t mpu6050_get_slave_nack (mpu6050_dev_t *dev, mpu6050_slave_t num, bool *nack)
 Get Slave NACK status.
esp_err_t mpu6050_get_interrupt_mode (mpu6050_dev_t *dev, mpu6050_int_level_t *mode)
 Get interrupt logic level mode.
esp_err_t mpu6050_set_interrupt_mode (mpu6050_dev_t *dev, mpu6050_int_level_t mode)
 Set interrupt logic level mode.
esp_err_t mpu6050_get_interrupt_drive (mpu6050_dev_t *dev, mpu6050_int_drive_t *drive)
 Get interrupt drive mode.
esp_err_t mpu6050_set_interrupt_drive (mpu6050_dev_t *dev, mpu6050_int_drive_t drive)
 Set interrupt drive mode.
esp_err_t mpu6050_get_interrupt_latch (mpu6050_dev_t *dev, mpu6050_int_latch_t *latch)
 Get interrupt latch mode.
esp_err_t mpu6050_set_interrupt_latch (mpu6050_dev_t *dev, mpu6050_int_latch_t latch)
 Set interrupt latch mode.
esp_err_t mpu6050_get_interrupt_latch_clear (mpu6050_dev_t *dev, bool *clear)
 Get interrupt latch clear mode.
esp_err_t mpu6050_set_interrupt_latch_clear (mpu6050_dev_t *dev, bool clear)
 Set interrupt latch clear mode.
esp_err_t mpu6050_get_fsync_interrupt_level (mpu6050_dev_t *dev, mpu6050_int_level_t *level)
 Get FSYNC interrupt logic level.
esp_err_t mpu6050_set_fsync_interrupt_level (mpu6050_dev_t *dev, mpu6050_int_level_t level)
 Set FSYNC interrupt logic level.
esp_err_t mpu6050_get_fsync_interrupt_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get FSYNC pin interrupt enabled setting.
esp_err_t mpu6050_set_fsync_interrupt_enabled (mpu6050_dev_t *dev, bool enabled)
 Set FSYNC pin interrupt enabled setting.
esp_err_t mpu6050_get_i2c_bypass_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get I2C bypass enabled status.
esp_err_t mpu6050_set_i2c_bypass_enabled (mpu6050_dev_t *dev, bool enabled)
 Set I2C bypass enabled status.
esp_err_t mpu6050_get_clock_output_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get reference clock output enabled status.
esp_err_t mpu6050_set_clock_output_enabled (mpu6050_dev_t *dev, bool enabled)
 Set reference clock output enabled status.
esp_err_t mpu6050_get_int_enabled (mpu6050_dev_t *dev, uint8_t *ints)
 Get full interrupt enabled status.
esp_err_t mpu6050_set_int_enabled (mpu6050_dev_t *dev, uint8_t ints)
 Set full interrupt enabled status.
esp_err_t mpu6050_get_int_status (mpu6050_dev_t *dev, uint8_t *ints)
 Get full set of interrupt status bits.
esp_err_t mpu6050_get_accel_offset (mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t *offset)
 Get offset for accelerometer axis.
esp_err_t mpu6050_set_accel_offset (mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t offset)
 Set offset for accelerometer axis.
esp_err_t mpu6050_get_gyro_offset (mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t *offset)
 Get offset for gyroscope axis.
esp_err_t mpu6050_set_gyro_offset (mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t offset)
 Get offset for gyroscope axis.
esp_err_t mpu6050_get_acceleration (mpu6050_dev_t *dev, mpu6050_acceleration_t *accel)
 Get 3-axis accelerometer readings.
esp_err_t mpu6050_get_raw_acceleration (mpu6050_dev_t *dev, mpu6050_raw_acceleration_t *raw_accel)
 Get raw 3-axis accelerometer readings.
esp_err_t mpu6050_get_acceleration_axis (mpu6050_dev_t *dev, mpu6050_axis_t axis, float *accel)
 Get accelerometer reading on a single axis.
esp_err_t mpu6050_get_raw_acceleration_axis (mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t *raw_accel)
 Get raw accelerometer reading on a single axis.
esp_err_t mpu6050_get_temperature (mpu6050_dev_t *dev, float *temp)
 Get current internal temperature.
esp_err_t mpu6050_get_rotation (mpu6050_dev_t *dev, mpu6050_rotation_t *gyro)
 Get 3-axis gyroscope readings.
esp_err_t mpu6050_get_raw_rotation (mpu6050_dev_t *dev, mpu6050_raw_rotation_t *raw_gyro)
 Get raw 3-axis gyroscope readings.
esp_err_t mpu6050_get_rotation_axis (mpu6050_dev_t *dev, mpu6050_axis_t axis, float *gyro)
 Get gyroscope reading on a single axis.
esp_err_t mpu6050_get_raw_rotation_axis (mpu6050_dev_t *dev, mpu6050_axis_t axis, int16_t *raw_gyro)
 Get raw gyroscope reading on a single axis.
esp_err_t mpu6050_get_motion (mpu6050_dev_t *dev, mpu6050_acceleration_t *data_accel, mpu6050_rotation_t *data_gyro)
 Get raw 6-axis motion sensor readings (accel/gyro).
esp_err_t mpu6050_get_external_sensor_data (mpu6050_dev_t *dev, int position, void *buf, size_t length)
 Read bytes from external sensor data register.
esp_err_t mpu6050_get_motion_status (mpu6050_dev_t *dev, uint8_t *status)
 Get full motion detection status register content (all bits).
esp_err_t mpu6050_set_slave_output_byte (mpu6050_dev_t *dev, mpu6050_slave_t num, uint8_t data)
 Write byte to Data Output container for specified slave.
esp_err_t mpu6050_get_external_shadow_delay_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get external data shadow delay enabled status.
esp_err_t mpu6050_set_external_shadow_delay_enabled (mpu6050_dev_t *dev, bool enabled)
 Set external data shadow delay enabled status.
esp_err_t mpu6050_get_slave_delay_enabled (mpu6050_dev_t *dev, mpu6050_slave_t num, bool *enabled)
 Get slave delay enabled status.
esp_err_t mpu6050_set_slave_delay_enabled (mpu6050_dev_t *dev, mpu6050_slave_t num, bool enabled)
 Set slave delay enabled status.
esp_err_t mpu6050_reset_gyroscope_path (mpu6050_dev_t *dev)
 Reset gyroscope signal path.
esp_err_t mpu6050_reset_accelerometer_path (mpu6050_dev_t *dev)
 Reset accelerometer signal path.
esp_err_t mpu6050_reset_temperature_path (mpu6050_dev_t *dev)
 Reset temperature sensor signal path.
esp_err_t mpu6050_get_accelerometer_power_on_delay (mpu6050_dev_t *dev, uint8_t *delay)
 Get accelerometer power-on delay.
esp_err_t mpu6050_set_accelerometer_power_on_delay (mpu6050_dev_t *dev, uint8_t delay)
 Set accelerometer power-on delay.
esp_err_t mpu6050_get_freefall_detection_counter_decrement (mpu6050_dev_t *dev, uint8_t *decrement)
 Get Free Fall detection counter decrement configuration.
esp_err_t mpu6050_set_freefall_detection_counter_decrement (mpu6050_dev_t *dev, uint8_t decrement)
 Set Free Fall detection counter decrement configuration.
esp_err_t mpu6050_get_motion_detection_counter_decrement (mpu6050_dev_t *dev, uint8_t *decrement)
 Get Motion detection counter decrement configuration.
esp_err_t mpu6050_set_motion_detection_counter_decrement (mpu6050_dev_t *dev, uint8_t decrement)
 Set Motion detection counter decrement configuration.
esp_err_t mpu6050_get_fifo_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get FIFO enabled status.
esp_err_t mpu6050_set_fifo_enabled (mpu6050_dev_t *dev, bool enabled)
 Set FIFO enabled status.
esp_err_t mpu6050_get_i2c_master_mode_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get I2C Master Mode enabled status.
esp_err_t mpu6050_set_i2c_master_mode_enabled (mpu6050_dev_t *dev, bool enabled)
 Set I2C Master Mode enabled status.
esp_err_t mpu6050_switch_spie_enabled (mpu6050_dev_t *dev, bool enabled)
 Switch from I2C to SPI mode (MPU-6000 only).
esp_err_t mpu6050_reset_fifo (mpu6050_dev_t *dev)
 Reset the FIFO.
esp_err_t mpu6050_reset_sensors (mpu6050_dev_t *dev)
 Reset all sensor registers and signal paths.
esp_err_t mpu6050_reset (mpu6050_dev_t *dev)
 Trigger a full device reset.
esp_err_t mpu6050_get_sleep_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get sleep mode status.
esp_err_t mpu6050_set_sleep_enabled (mpu6050_dev_t *dev, bool enabled)
 Set sleep mode status.
esp_err_t mpu6050_get_wake_cycle_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get wake cycle enabled status.
esp_err_t mpu6050_set_wake_cycle_enabled (mpu6050_dev_t *dev, bool enabled)
 Set wake cycle enabled status.
esp_err_t mpu6050_get_temp_sensor_enabled (mpu6050_dev_t *dev, bool *enabled)
 Get temperature sensor enabled status.
esp_err_t mpu6050_set_temp_sensor_enabled (mpu6050_dev_t *dev, bool enabled)
 Set temperature sensor enabled status.
esp_err_t mpu6050_get_clock_source (mpu6050_dev_t *dev, mpu6050_clock_source_t *source)
 Get clock source setting.
esp_err_t mpu6050_set_clock_source (mpu6050_dev_t *dev, mpu6050_clock_source_t source)
 Set clock source setting.
esp_err_t mpu6050_get_wake_frequency (mpu6050_dev_t *dev, mpu6050_wake_freq_t *frequency)
 Get wake frequency in Accel-Only Low Power Mode.
esp_err_t mpu6050_set_wake_frequency (mpu6050_dev_t *dev, mpu6050_wake_freq_t frequency)
 Set wake frequency in Accel-Only Low Power Mode.
esp_err_t mpu6050_get_standby_accel_enabled (mpu6050_dev_t *dev, mpu6050_axis_t axis, bool *enabled)
 Get accelerometer axis standby enabled status.
esp_err_t mpu6050_set_standby_accel_enabled (mpu6050_dev_t *dev, mpu6050_axis_t axis, bool enabled)
 Set accelerometer axis standby enabled status.
esp_err_t mpu6050_get_standby_gyro_enabled (mpu6050_dev_t *dev, mpu6050_axis_t axis, bool *enabled)
 Get gyroscope axis standby enabled status.
esp_err_t mpu6050_set_standby_gyro_enabled (mpu6050_dev_t *dev, mpu6050_axis_t axis, bool enabled)
 Set gyroscope axis standby enabled status.
esp_err_t mpu6050_get_fifo_count (mpu6050_dev_t *dev, uint16_t *count)
 Get current FIFO buffer size.
esp_err_t mpu6050_get_fifo_byte (mpu6050_dev_t *dev, uint8_t *data)
 Get byte from FIFO buffer.
esp_err_t mpu6050_get_fifo_bytes (mpu6050_dev_t *dev, uint8_t *data, size_t length)
 Get bytes from FIFO buffer.
esp_err_t mpu6050_set_fifo_byte (mpu6050_dev_t *dev, uint8_t data)
 Write byte to FIFO buffer.
esp_err_t mpu6050_get_device_id (mpu6050_dev_t *dev, uint8_t *id)
 Get the ID of the device.
esp_err_t mpu6050_calibrate (mpu6050_dev_t *dev, float *accel_bias_res, float *gyro_bias_res)
 Function which accumulates gyro and accelerometer data after device initialization.
esp_err_t mpu6050_self_test (mpu6050_dev_t *dev, float *destination)
 Accelerometer and gyroscope self test.