LibDriver MPU9250  1.0.0
MPU9250 full function driver
driver_mpu9250.h File Reference

driver mpu9250 header file More...

#include <stdio.h>
#include <stdint.h>
#include <string.h>

Go to the source code of this file.

Data Structures

struct  mpu9250_handle_s
 mpu9250 handle structure definition More...
 
struct  mpu9250_info_s
 mpu9250 information structure definition More...
 

Macros

#define DRIVER_MPU9250_LINK_INIT(HANDLE, STRUCTURE)   memset(HANDLE, 0, sizeof(STRUCTURE))
 initialize mpu9250_handle_t structure More...
 
#define DRIVER_MPU9250_LINK_IIC_INIT(HANDLE, FUC)   (HANDLE)->iic_init = FUC
 link iic_init function More...
 
#define DRIVER_MPU9250_LINK_IIC_DEINIT(HANDLE, FUC)   (HANDLE)->iic_deinit = FUC
 link iic_deinit function More...
 
#define DRIVER_MPU9250_LINK_IIC_READ(HANDLE, FUC)   (HANDLE)->iic_read = FUC
 link iic_read function More...
 
#define DRIVER_MPU9250_LINK_IIC_WRITE(HANDLE, FUC)   (HANDLE)->iic_write = FUC
 link iic_write function More...
 
#define DRIVER_MPU9250_LINK_SPI_INIT(HANDLE, FUC)   (HANDLE)->spi_init = FUC
 link spi_init function More...
 
#define DRIVER_MPU9250_LINK_SPI_DEINIT(HANDLE, FUC)   (HANDLE)->spi_deinit = FUC
 link spi_deinit function More...
 
#define DRIVER_MPU9250_LINK_SPI_READ(HANDLE, FUC)   (HANDLE)->spi_read = FUC
 link spi_read function More...
 
#define DRIVER_MPU9250_LINK_SPI_WRITE(HANDLE, FUC)   (HANDLE)->spi_write = FUC
 link spi_write function More...
 
#define DRIVER_MPU9250_LINK_DELAY_MS(HANDLE, FUC)   (HANDLE)->delay_ms = FUC
 link delay_ms function More...
 
#define DRIVER_MPU9250_LINK_DEBUG_PRINT(HANDLE, FUC)   (HANDLE)->debug_print = FUC
 link debug_print function More...
 
#define DRIVER_MPU9250_LINK_RECEIVE_CALLBACK(HANDLE, FUC)   (HANDLE)->receive_callback = FUC
 link receive_callback function More...
 

Typedefs

typedef struct mpu9250_handle_s mpu9250_handle_t
 mpu9250 handle structure definition More...
 
typedef struct mpu9250_info_s mpu9250_info_t
 mpu9250 information structure definition More...
 

Enumerations

enum  mpu9250_interface_t { MPU9250_INTERFACE_IIC = 0x00 , MPU9250_INTERFACE_SPI = 0x01 }
 mpu9250 interface enumeration definition More...
 
enum  mpu9250_address_t { MPU9250_ADDRESS_AD0_LOW = 0xD0 , MPU9250_ADDRESS_AD0_HIGH = 0xD2 }
 mpu9250 address enumeration definition More...
 
enum  mpu9250_bool_t { MPU9250_BOOL_FALSE = 0x00 , MPU9250_BOOL_TRUE = 0x01 }
 mpu9250 bool enumeration definition More...
 
enum  mpu9250_source_t {
  MPU9250_SOURCE_ACC_X = 0x05 , MPU9250_SOURCE_ACC_Y = 0x04 , MPU9250_SOURCE_ACC_Z = 0x03 , MPU9250_SOURCE_GYRO_X = 0x02 ,
  MPU9250_SOURCE_GYRO_Y = 0x01 , MPU9250_SOURCE_GYRO_Z = 0x00
}
 mpu9250 source enumeration definition More...
 
enum  mpu9250_clock_source_t { MPU9250_CLOCK_SOURCE_INTERNAL_20MHZ = 0x00 , MPU9250_CLOCK_SOURCE_PLL = 0x01 , MPU9250_CLOCK_SOURCE_STOP_CLOCK = 0x07 }
 mpu9250 clock source enumeration definition More...
 
enum  mpu9250_signal_path_reset_t { MPU9250_SIGNAL_PATH_RESET_TEMP = 0x00 , MPU9250_SIGNAL_PATH_RESET_ACCEL = 0x01 , MPU9250_SIGNAL_PATH_RESET_GYRO = 0x02 }
 mpu9250 signal path reset enumeration definition More...
 
enum  mpu9250_extern_sync_t {
  MPU9250_EXTERN_SYNC_INPUT_DISABLED = 0x00 , MPU9250_EXTERN_SYNC_TEMP_OUT_L = 0x01 , MPU9250_EXTERN_SYNC_GYRO_XOUT_L = 0x02 , MPU9250_EXTERN_SYNC_GYRO_YOUT_L = 0x03 ,
  MPU9250_EXTERN_SYNC_GYRO_ZOUT_L = 0x04 , MPU9250_EXTERN_SYNC_ACCEL_XOUT_L = 0x05 , MPU9250_EXTERN_SYNC_ACCEL_YOUT_L = 0x06 , MPU9250_EXTERN_SYNC_ACCEL_ZOUT_L = 0x07
}
 mpu9250 extern sync enumeration definition More...
 
enum  mpu9250_low_pass_filter_t {
  MPU9250_LOW_PASS_FILTER_0 = 0x00 , MPU9250_LOW_PASS_FILTER_1 = 0x01 , MPU9250_LOW_PASS_FILTER_2 = 0x02 , MPU9250_LOW_PASS_FILTER_3 = 0x03 ,
  MPU9250_LOW_PASS_FILTER_4 = 0x04 , MPU9250_LOW_PASS_FILTER_5 = 0x05 , MPU9250_LOW_PASS_FILTER_6 = 0x06 , MPU9250_LOW_PASS_FILTER_7 = 0x07
}
 mpu9250 low pass filter enumeration definition More...
 
enum  mpu9250_accelerometer_low_pass_filter_t {
  MPU9250_ACCELEROMETER_LOW_PASS_FILTER_0 = 0x00 , MPU9250_ACCELEROMETER_LOW_PASS_FILTER_1 = 0x01 , MPU9250_ACCELEROMETER_LOW_PASS_FILTER_2 = 0x02 , MPU9250_ACCELEROMETER_LOW_PASS_FILTER_3 = 0x03 ,
  MPU9250_ACCELEROMETER_LOW_PASS_FILTER_4 = 0x04 , MPU9250_ACCELEROMETER_LOW_PASS_FILTER_5 = 0x05 , MPU9250_ACCELEROMETER_LOW_PASS_FILTER_6 = 0x06 , MPU9250_ACCELEROMETER_LOW_PASS_FILTER_7 = 0x07
}
 mpu9250 accelerometer low pass filter enumeration definition More...
 
enum  mpu9250_low_power_accel_output_rate_t {
  MPU9250_LOW_POWER_ACCEL_OUTPUT_RATE_0P24 = 0x00 , MPU9250_LOW_POWER_ACCEL_OUTPUT_RATE_0P49 = 0x01 , MPU9250_LOW_POWER_ACCEL_OUTPUT_RATE_0P98 = 0x02 , MPU9250_LOW_POWER_ACCEL_OUTPUT_RATE_1P95 = 0x03 ,
  MPU9250_LOW_POWER_ACCEL_OUTPUT_RATE_3P91 = 0x04 , MPU9250_LOW_POWER_ACCEL_OUTPUT_RATE_7P81 = 0x05 , MPU9250_LOW_POWER_ACCEL_OUTPUT_RATE_15P63 = 0x06 , MPU9250_LOW_POWER_ACCEL_OUTPUT_RATE_31P25 = 0x07 ,
  MPU9250_LOW_POWER_ACCEL_OUTPUT_RATE_62P50 = 0x08 , MPU9250_LOW_POWER_ACCEL_OUTPUT_RATE_125 = 0x09 , MPU9250_LOW_POWER_ACCEL_OUTPUT_RATE_250 = 0x0A , MPU9250_LOW_POWER_ACCEL_OUTPUT_RATE_500 = 0x0B
}
 mpu9250 low power accel output rate enumeration definition More...
 
enum  mpu9250_axis_t { MPU9250_AXIS_Z = 0x05 , MPU9250_AXIS_Y = 0x06 , MPU9250_AXIS_X = 0x07 }
 mpu9250 axis enumeration definition More...
 
enum  mpu9250_gyroscope_range_t { MPU9250_GYROSCOPE_RANGE_250DPS = 0x00 , MPU9250_GYROSCOPE_RANGE_500DPS = 0x01 , MPU9250_GYROSCOPE_RANGE_1000DPS = 0x02 , MPU9250_GYROSCOPE_RANGE_2000DPS = 0x03 }
 mpu9250 gyroscope range enumeration definition More...
 
enum  mpu9250_accelerometer_range_t { MPU9250_ACCELEROMETER_RANGE_2G = 0x00 , MPU9250_ACCELEROMETER_RANGE_4G = 0x01 , MPU9250_ACCELEROMETER_RANGE_8G = 0x02 , MPU9250_ACCELEROMETER_RANGE_16G = 0x03 }
 mpu9250 accelerometer range enumeration definition More...
 
enum  mpu9250_fifo_t {
  MPU9250_FIFO_TEMP = 0x07 , MPU9250_FIFO_XG = 0x06 , MPU9250_FIFO_YG = 0x05 , MPU9250_FIFO_ZG = 0x04 ,
  MPU9250_FIFO_ACCEL = 0x03
}
 mpu9250 fifo enumeration definition More...
 
enum  mpu9250_fifo_mode { MPU9250_FIFO_MODE_STREAM = 0x00 , MPU9250_FIFO_MODE_NORMAL = 0x01 }
 mpu9250 fifo mode enumeration definition More...
 
enum  mpu9250_pin_level_t { MPU9250_PIN_LEVEL_HIGH = 0x00 , MPU9250_PIN_LEVEL_LOW = 0x01 }
 mpu9250 pin level enumeration definition More...
 
enum  mpu9250_pin_type_t { MPU9250_PIN_TYPE_PUSH_PULL = 0x00 , MPU9250_PIN_TYPE_OPEN_DRAIN = 0x01 }
 mpu9250 pin type enumeration definition More...
 
enum  mpu9250_interrupt_t {
  MPU9250_INTERRUPT_MOTION = 6 , MPU9250_INTERRUPT_FIFO_OVERFLOW = 4 , MPU9250_INTERRUPT_FSYNC_INT = 3 , MPU9250_INTERRUPT_DMP = 1 ,
  MPU9250_INTERRUPT_DATA_READY = 0
}
 mpu9250 interrupt enumeration definition More...
 
enum  mpu9250_iic_slave_t {
  MPU9250_IIC_SLAVE_0 = 0x00 , MPU9250_IIC_SLAVE_1 = 0x01 , MPU9250_IIC_SLAVE_2 = 0x02 , MPU9250_IIC_SLAVE_3 = 0x03 ,
  MPU9250_IIC_SLAVE_4 = 0x04
}
 mpu9250 iic slave enumeration definition More...
 
enum  mpu9250_iic_clock_t {
  MPU9250_IIC_CLOCK_348_KHZ = 0x00 , MPU9250_IIC_CLOCK_333_KHZ = 0x01 , MPU9250_IIC_CLOCK_320_KHZ = 0x02 , MPU9250_IIC_CLOCK_308_KHZ = 0x03 ,
  MPU9250_IIC_CLOCK_296_KHZ = 0x04 , MPU9250_IIC_CLOCK_286_KHZ = 0x05 , MPU9250_IIC_CLOCK_276_KHZ = 0x06 , MPU9250_IIC_CLOCK_267_KHZ = 0x07 ,
  MPU9250_IIC_CLOCK_258_KHZ = 0x08 , MPU9250_IIC_CLOCK_500_KHZ = 0x09 , MPU9250_IIC_CLOCK_471_KHZ = 0x0A , MPU9250_IIC_CLOCK_444_KHZ = 0x0B ,
  MPU9250_IIC_CLOCK_421_KHZ = 0x0C , MPU9250_IIC_CLOCK_400_KHZ = 0x0D , MPU9250_IIC_CLOCK_381_KHZ = 0x0E , MPU9250_IIC_CLOCK_364_KHZ = 0x0F
}
 mpu9250 iic clock enumeration definition More...
 
enum  mpu9250_iic_read_mode_t { MPU9250_IIC_READ_MODE_RESTART = 0x00 , MPU9250_IIC_READ_MODE_STOP_AND_START = 0x01 }
 mpu9250 iic read mode enumeration definition More...
 
enum  mpu9250_iic_mode_t { MPU9250_IIC_MODE_WRITE = 0x00 , MPU9250_IIC_MODE_READ = 0x01 }
 mpu9250 iic mode enumeration definition More...
 
enum  mpu9250_iic_transaction_mode_t { MPU9250_IIC_TRANSACTION_MODE_DATA = 0x00 , MPU9250_IIC_TRANSACTION_MODE_REG_DATA = 0x01 }
 mpu9250 iic transaction mode enumeration definition More...
 
enum  mpu9250_iic4_transaction_mode_t { MPU9250_IIC4_TRANSACTION_MODE_DATA = 0x00 , MPU9250_IIC4_TRANSACTION_MODE_REG = 0x01 }
 mpu9250 iic4 transaction mode enumeration definition More...
 
enum  mpu9250_iic_group_order_t { MPU9250_IIC_GROUP_ORDER_EVEN = 0x00 , MPU9250_IIC_GROUP_ORDER_ODD = 0x01 }
 mpu9250 iic group order enumeration definition More...
 
enum  mpu9250_iic_status_t {
  MPU9250_IIC_STATUS_PASS_THROUGH = 0x80 , MPU9250_IIC_STATUS_IIC_SLV4_DONE = 0x40 , MPU9250_IIC_STATUS_IIC_LOST_ARB = 0x20 , MPU9250_IIC_STATUS_IIC_SLV4_NACK = 0x10 ,
  MPU9250_IIC_STATUS_IIC_SLV3_NACK = 0x08 , MPU9250_IIC_STATUS_IIC_SLV2_NACK = 0x04 , MPU9250_IIC_STATUS_IIC_SLV1_NACK = 0x02 , MPU9250_IIC_STATUS_IIC_SLV0_NACK = 0x01
}
 mpu9250 iic status enumeration definition More...
 
enum  mpu9250_iic_delay_t {
  MPU9250_IIC_DELAY_ES_SHADOW = 7 , MPU9250_IIC_DELAY_SLAVE_4 = 4 , MPU9250_IIC_DELAY_SLAVE_3 = 3 , MPU9250_IIC_DELAY_SLAVE_2 = 2 ,
  MPU9250_IIC_DELAY_SLAVE_1 = 1 , MPU9250_IIC_DELAY_SLAVE_0 = 0
}
 mpu9250 iic delay enumeration definition More...
 
enum  mpu9250_magnetometer_status1_t { MPU9250_MAGNETOMETER_STATUS1_DRDY = (1 << 0) , MPU9250_MAGNETOMETER_STATUS1_DOR = (1 << 1) }
 mpu9250 magnetometer status1 enumeration definition More...
 
enum  mpu9250_magnetometer_status2_t { MPU9250_MAGNETOMETER_STATUS2_HOFL = (1 << 3) , MPU9250_MAGNETOMETER_STATUS2_BITM = (1 << 4) }
 mpu9250 magnetometer status2 enumeration definition More...
 
enum  mpu9250_magnetometer_mode_t {
  MPU9250_MAGNETOMETER_MODE_POWER_DOWN = 0x00 , MPU9250_MAGNETOMETER_MODE_SINGLE = 0x01 , MPU9250_MAGNETOMETER_MODE_CONTINUOUS1 = 0x02 , MPU9250_MAGNETOMETER_MODE_CONTINUOUS2 = 0x06 ,
  MPU9250_MAGNETOMETER_MODE_EXT_TRIGGER = 0x04 , MPU9250_MAGNETOMETER_MODE_SELF_TEST = 0x08 , MPU9250_MAGNETOMETER_MODE_FUSE_ROM = 0x0F
}
 mpu9250 magnetometer mode enumeration definition More...
 
enum  mpu9250_magnetometer_bits_t { MPU9250_MAGNETOMETER_BITS_14 = 0x00 , MPU9250_MAGNETOMETER_BITS_16 = 0x01 }
 mpu9250 magnetometer bits enumeration definition More...
 
enum  mpu9250_dmp_interrupt_mode_t { MPU9250_DMP_INTERRUPT_MODE_CONTINUOUS = 0x00 , MPU9250_DMP_INTERRUPT_MODE_GESTURE = 0x01 }
 mpu9250 dmp interrupt mode enumeration definition More...
 
enum  mpu9250_dmp_feature_t {
  MPU9250_DMP_FEATURE_TAP = 0x001 , MPU9250_DMP_FEATURE_ORIENT = 0x002 , MPU9250_DMP_FEATURE_3X_QUAT = 0x004 , MPU9250_DMP_FEATURE_PEDOMETER = 0x008 ,
  MPU9250_DMP_FEATURE_6X_QUAT = 0x010 , MPU9250_DMP_FEATURE_GYRO_CAL = 0x020 , MPU9250_DMP_FEATURE_SEND_RAW_ACCEL = 0x040 , MPU9250_DMP_FEATURE_SEND_RAW_GYRO = 0x080 ,
  MPU9250_DMP_FEATURE_SEND_CAL_GYRO = 0x100
}
 mpu9250 dmp feature enumeration definition More...
 
enum  mpu9250_dmp_tap_t {
  MPU9250_DMP_TAP_X_UP = 0x01 , MPU9250_DMP_TAP_X_DOWN = 0x02 , MPU9250_DMP_TAP_Y_UP = 0x03 , MPU9250_DMP_TAP_Y_DOWN = 0x04 ,
  MPU9250_DMP_TAP_Z_UP = 0x05 , MPU9250_DMP_TAP_Z_DOWN = 0x06
}
 mpu9250 dmp tap enumeration definition More...
 
enum  mpu9250_dmp_orient_t { MPU9250_DMP_ORIENT_PORTRAIT = 0x00 , MPU9250_DMP_ORIENT_LANDSCAPE = 0x01 , MPU9250_DMP_ORIENT_REVERSE_PORTRAIT = 0x02 , MPU9250_DMP_ORIENT_REVERSE_LANDSCAPE = 0x03 }
 mpu9250 dmp orient enumeration definition More...
 

Functions

uint8_t mpu9250_info (mpu9250_info_t *info)
 get the chip's information More...
 
uint8_t mpu9250_set_interface (mpu9250_handle_t *handle, mpu9250_interface_t interface)
 set the chip interface More...
 
uint8_t mpu9250_get_interface (mpu9250_handle_t *handle, mpu9250_interface_t *interface)
 get the chip interface More...
 
uint8_t mpu9250_set_addr_pin (mpu9250_handle_t *handle, mpu9250_address_t addr_pin)
 set the chip address pin More...
 
uint8_t mpu9250_get_addr_pin (mpu9250_handle_t *handle, mpu9250_address_t *addr_pin)
 get the chip address pin More...
 
uint8_t mpu9250_irq_handler (mpu9250_handle_t *handle)
 irq handler More...
 
uint8_t mpu9250_init (mpu9250_handle_t *handle)
 initialize the chip More...
 
uint8_t mpu9250_deinit (mpu9250_handle_t *handle)
 close the chip More...
 
uint8_t mpu9250_read (mpu9250_handle_t *handle, 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)
 read the data More...
 
uint8_t mpu9250_read_temperature (mpu9250_handle_t *handle, int16_t(*raw), float *degrees)
 read the temperature More...
 
uint8_t mpu9250_set_fifo (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable fifo More...
 
uint8_t mpu9250_get_fifo (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the fifo status More...
 
uint8_t mpu9250_force_fifo_reset (mpu9250_handle_t *handle)
 force reset the fifo More...
 
uint8_t mpu9250_set_iic_master (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable the iic master mode More...
 
uint8_t mpu9250_get_iic_master (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the iic master status More...
 
uint8_t mpu9250_set_disable_iic_slave (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable the iic slave mode More...
 
uint8_t mpu9250_get_disable_iic_slave (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the iic slave status More...
 
uint8_t mpu9250_fifo_reset (mpu9250_handle_t *handle)
 reset the fifo More...
 
uint8_t mpu9250_get_fifo_reset (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the fifo reset status More...
 
uint8_t mpu9250_iic_master_reset (mpu9250_handle_t *handle)
 reset the iic master controller More...
 
uint8_t mpu9250_get_iic_master_reset (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the iic master reset status More...
 
uint8_t mpu9250_sensor_reset (mpu9250_handle_t *handle)
 reset all sensors More...
 
uint8_t mpu9250_get_sensor_reset (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the sensor reset status More...
 
uint8_t mpu9250_device_reset (mpu9250_handle_t *handle)
 reset the chip More...
 
uint8_t mpu9250_get_device_reset (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the device reset status More...
 
uint8_t mpu9250_set_clock_source (mpu9250_handle_t *handle, mpu9250_clock_source_t clock_source)
 set the chip clock source More...
 
uint8_t mpu9250_get_clock_source (mpu9250_handle_t *handle, mpu9250_clock_source_t *clock_source)
 get the chip clock source More...
 
uint8_t mpu9250_set_ptat (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable the temperature sensor More...
 
uint8_t mpu9250_get_ptat (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the temperature sensor status More...
 
uint8_t mpu9250_set_cycle_wake_up (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable the cycle wake up mode More...
 
uint8_t mpu9250_get_cycle_wake_up (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the cycle wake up mode status More...
 
uint8_t mpu9250_set_sleep (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable the sleep mode More...
 
uint8_t mpu9250_get_sleep (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the sleep status More...
 
uint8_t mpu9250_set_gyro_standby (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable the gyro standby More...
 
uint8_t mpu9250_get_gyro_standby (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the gyro standby status More...
 
uint8_t mpu9250_set_standby_mode (mpu9250_handle_t *handle, mpu9250_source_t source, mpu9250_bool_t enable)
 set source into standby mode More...
 
uint8_t mpu9250_get_standby_mode (mpu9250_handle_t *handle, mpu9250_source_t source, mpu9250_bool_t *enable)
 get the source mode More...
 
uint8_t mpu9250_get_fifo_count (mpu9250_handle_t *handle, uint16_t *count)
 get the fifo counter value More...
 
uint8_t mpu9250_fifo_get (mpu9250_handle_t *handle, uint8_t *buf, uint16_t len)
 fifo read bytes More...
 
uint8_t mpu9250_fifo_set (mpu9250_handle_t *handle, uint8_t *buf, uint16_t len)
 fifo write bytes More...
 
uint8_t mpu9250_set_signal_path_reset (mpu9250_handle_t *handle, mpu9250_signal_path_reset_t path)
 set the signal path reset More...
 
uint8_t mpu9250_set_sample_rate_divider (mpu9250_handle_t *handle, uint8_t d)
 set the sample rate divider More...
 
uint8_t mpu9250_get_sample_rate_divider (mpu9250_handle_t *handle, uint8_t *d)
 get the sample rate divider More...
 
uint8_t mpu9250_set_extern_sync (mpu9250_handle_t *handle, mpu9250_extern_sync_t sync)
 set the extern sync type More...
 
uint8_t mpu9250_get_extern_sync (mpu9250_handle_t *handle, mpu9250_extern_sync_t *sync)
 get the extern sync type More...
 
uint8_t mpu9250_set_low_pass_filter (mpu9250_handle_t *handle, mpu9250_low_pass_filter_t filter)
 set the low pass filter More...
 
uint8_t mpu9250_get_low_pass_filter (mpu9250_handle_t *handle, mpu9250_low_pass_filter_t *filter)
 get the low pass filter More...
 
uint8_t mpu9250_set_fifo_mode (mpu9250_handle_t *handle, mpu9250_fifo_mode mode)
 set the fifo mode More...
 
uint8_t mpu9250_get_fifo_mode (mpu9250_handle_t *handle, mpu9250_fifo_mode *mode)
 get the fifo mode More...
 
uint8_t mpu9250_set_gyroscope_test (mpu9250_handle_t *handle, mpu9250_axis_t axis, mpu9250_bool_t enable)
 set the gyroscope test More...
 
uint8_t mpu9250_get_gyroscope_test (mpu9250_handle_t *handle, mpu9250_axis_t axis, mpu9250_bool_t *enable)
 get the gyroscope test More...
 
uint8_t mpu9250_set_gyroscope_range (mpu9250_handle_t *handle, mpu9250_gyroscope_range_t range)
 set the gyroscope range More...
 
uint8_t mpu9250_get_gyroscope_range (mpu9250_handle_t *handle, mpu9250_gyroscope_range_t *range)
 get the gyroscope range More...
 
uint8_t mpu9250_set_gyroscope_choice (mpu9250_handle_t *handle, uint8_t choice)
 set the gyroscope choice More...
 
uint8_t mpu9250_get_gyroscope_choice (mpu9250_handle_t *handle, uint8_t *choice)
 get the gyroscope choice More...
 
uint8_t mpu9250_set_accelerometer_test (mpu9250_handle_t *handle, mpu9250_axis_t axis, mpu9250_bool_t enable)
 set the accelerometer test More...
 
uint8_t mpu9250_get_accelerometer_test (mpu9250_handle_t *handle, mpu9250_axis_t axis, mpu9250_bool_t *enable)
 get the accelerometer test More...
 
uint8_t mpu9250_set_accelerometer_range (mpu9250_handle_t *handle, mpu9250_accelerometer_range_t range)
 set the accelerometer range More...
 
uint8_t mpu9250_get_accelerometer_range (mpu9250_handle_t *handle, mpu9250_accelerometer_range_t *range)
 get the accelerometer range More...
 
uint8_t mpu9250_set_fifo_1024kb (mpu9250_handle_t *handle)
 set fifo 1024kb More...
 
uint8_t mpu9250_set_accelerometer_choice (mpu9250_handle_t *handle, uint8_t choice)
 set the accelerometer choice More...
 
uint8_t mpu9250_get_accelerometer_choice (mpu9250_handle_t *handle, uint8_t *choice)
 get the accelerometer choice More...
 
uint8_t mpu9250_set_accelerometer_low_pass_filter (mpu9250_handle_t *handle, mpu9250_accelerometer_low_pass_filter_t filter)
 set the accelerometer low pass filter More...
 
uint8_t mpu9250_get_accelerometer_low_pass_filter (mpu9250_handle_t *handle, mpu9250_accelerometer_low_pass_filter_t *filter)
 get the accelerometer low pass filter More...
 
uint8_t mpu9250_set_low_power_accel_output_rate (mpu9250_handle_t *handle, mpu9250_low_power_accel_output_rate_t rate)
 set the low power accel output rate More...
 
uint8_t mpu9250_get_low_power_accel_output_rate (mpu9250_handle_t *handle, mpu9250_low_power_accel_output_rate_t *rate)
 get the low power accel output rate More...
 
uint8_t mpu9250_set_wake_on_motion (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable wake on motion More...
 
uint8_t mpu9250_get_wake_on_motion (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the wake on motion status More...
 
uint8_t mpu9250_set_accel_compare_with_previous_sample (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable accel compare with previous sample More...
 
uint8_t mpu9250_get_accel_compare_with_previous_sample (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the accel compare with previous sample status More...
 
uint8_t mpu9250_set_accelerometer_x_offset (mpu9250_handle_t *handle, int16_t offset)
 set the accelerometer x offset More...
 
uint8_t mpu9250_get_accelerometer_x_offset (mpu9250_handle_t *handle, int16_t *offset)
 get the accelerometer x offset More...
 
uint8_t mpu9250_set_accelerometer_y_offset (mpu9250_handle_t *handle, int16_t offset)
 set the accelerometer y offset More...
 
uint8_t mpu9250_get_accelerometer_y_offset (mpu9250_handle_t *handle, int16_t *offset)
 get the accelerometer y offset More...
 
uint8_t mpu9250_set_accelerometer_z_offset (mpu9250_handle_t *handle, int16_t offset)
 set the accelerometer z offset More...
 
uint8_t mpu9250_get_accelerometer_z_offset (mpu9250_handle_t *handle, int16_t *offset)
 get the accelerometer z offset More...
 
uint8_t mpu9250_accelerometer_offset_convert_to_register (mpu9250_handle_t *handle, float mg, int16_t *reg)
 convert the accelerometer offset to the register raw data More...
 
uint8_t mpu9250_accelerometer_offset_convert_to_data (mpu9250_handle_t *handle, int16_t reg, float *mg)
 convert the register raw data to the accelerometer offset More...
 
uint8_t mpu9250_set_gyro_x_offset (mpu9250_handle_t *handle, int16_t offset)
 set the gyro x offset More...
 
uint8_t mpu9250_get_gyro_x_offset (mpu9250_handle_t *handle, int16_t *offset)
 get the gyro x offset More...
 
uint8_t mpu9250_set_gyro_y_offset (mpu9250_handle_t *handle, int16_t offset)
 set the gyro y offset More...
 
uint8_t mpu9250_get_gyro_y_offset (mpu9250_handle_t *handle, int16_t *offset)
 get the gyro y offset More...
 
uint8_t mpu9250_set_gyro_z_offset (mpu9250_handle_t *handle, int16_t offset)
 set the gyro z offset More...
 
uint8_t mpu9250_get_gyro_z_offset (mpu9250_handle_t *handle, int16_t *offset)
 get the gyro z offset More...
 
uint8_t mpu9250_gyro_offset_convert_to_register (mpu9250_handle_t *handle, float dps, int16_t *reg)
 convert the gyro offset to the register raw data More...
 
uint8_t mpu9250_gyro_offset_convert_to_data (mpu9250_handle_t *handle, int16_t reg, float *dps)
 convert the register raw data to the gyro offset More...
 
uint8_t mpu9250_set_fifo_enable (mpu9250_handle_t *handle, mpu9250_fifo_t fifo, mpu9250_bool_t enable)
 enable or disable the fifo function More...
 
uint8_t mpu9250_get_fifo_enable (mpu9250_handle_t *handle, mpu9250_fifo_t fifo, mpu9250_bool_t *enable)
 get the fifo function status More...
 
uint8_t mpu9250_set_interrupt_level (mpu9250_handle_t *handle, mpu9250_pin_level_t level)
 set the interrupt level More...
 
uint8_t mpu9250_get_interrupt_level (mpu9250_handle_t *handle, mpu9250_pin_level_t *level)
 get the interrupt level More...
 
uint8_t mpu9250_set_interrupt_pin_type (mpu9250_handle_t *handle, mpu9250_pin_type_t type)
 set the interrupt pin type More...
 
uint8_t mpu9250_get_interrupt_pin_type (mpu9250_handle_t *handle, mpu9250_pin_type_t *type)
 get the interrupt pin type More...
 
uint8_t mpu9250_set_interrupt_latch (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable the interrupt latch More...
 
uint8_t mpu9250_get_interrupt_latch (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the interrupt latch status More...
 
uint8_t mpu9250_set_interrupt_read_clear (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable the interrupt reading clear More...
 
uint8_t mpu9250_get_interrupt_read_clear (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the interrupt reading clear status More...
 
uint8_t mpu9250_set_fsync_interrupt_level (mpu9250_handle_t *handle, mpu9250_pin_level_t level)
 set the fsync interrupt level More...
 
uint8_t mpu9250_get_fsync_interrupt_level (mpu9250_handle_t *handle, mpu9250_pin_level_t *level)
 get the fsync interrupt level More...
 
uint8_t mpu9250_set_fsync_interrupt (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable the fsync interrupt More...
 
uint8_t mpu9250_get_fsync_interrupt (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the fsync interrupt status More...
 
uint8_t mpu9250_set_iic_bypass (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable the iic bypass More...
 
uint8_t mpu9250_get_iic_bypass (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the iic bypass status More...
 
uint8_t mpu9250_set_interrupt (mpu9250_handle_t *handle, mpu9250_interrupt_t type, mpu9250_bool_t enable)
 enable or disable the interrupt More...
 
uint8_t mpu9250_get_interrupt (mpu9250_handle_t *handle, mpu9250_interrupt_t type, mpu9250_bool_t *enable)
 get the interrupt status More...
 
uint8_t mpu9250_get_interrupt_status (mpu9250_handle_t *handle, uint8_t *status)
 get the interrupt status More...
 
uint8_t mpu9250_set_gyroscope_x_test (mpu9250_handle_t *handle, uint8_t data)
 set the gyroscope x test More...
 
uint8_t mpu9250_get_gyroscope_x_test (mpu9250_handle_t *handle, uint8_t *data)
 get the gyroscope x test More...
 
uint8_t mpu9250_set_gyroscope_y_test (mpu9250_handle_t *handle, uint8_t data)
 set the gyroscope y test More...
 
uint8_t mpu9250_get_gyroscope_y_test (mpu9250_handle_t *handle, uint8_t *data)
 get the gyroscope y test More...
 
uint8_t mpu9250_set_gyroscope_z_test (mpu9250_handle_t *handle, uint8_t data)
 set the gyroscope z test More...
 
uint8_t mpu9250_get_gyroscope_z_test (mpu9250_handle_t *handle, uint8_t *data)
 get the gyroscope z test More...
 
uint8_t mpu9250_set_accelerometer_x_test (mpu9250_handle_t *handle, uint8_t data)
 set the accelerometer x test More...
 
uint8_t mpu9250_get_accelerometer_x_test (mpu9250_handle_t *handle, uint8_t *data)
 get the accelerometer x test More...
 
uint8_t mpu9250_set_accelerometer_y_test (mpu9250_handle_t *handle, uint8_t data)
 set the accelerometer y test More...
 
uint8_t mpu9250_get_accelerometer_y_test (mpu9250_handle_t *handle, uint8_t *data)
 get the accelerometer y test More...
 
uint8_t mpu9250_set_accelerometer_z_test (mpu9250_handle_t *handle, uint8_t data)
 set the accelerometer z test More...
 
uint8_t mpu9250_get_accelerometer_z_test (mpu9250_handle_t *handle, uint8_t *data)
 get the accelerometer z test More...
 
uint8_t mpu9250_set_motion_threshold (mpu9250_handle_t *handle, uint8_t threshold)
 set the motion_threshold More...
 
uint8_t mpu9250_get_motion_threshold (mpu9250_handle_t *handle, uint8_t *threshold)
 get the motion_threshold More...
 
uint8_t mpu9250_motion_threshold_convert_to_register (mpu9250_handle_t *handle, float mg, uint8_t *reg)
 convert the motion threshold to the register raw data More...
 
uint8_t mpu9250_motion_threshold_convert_to_data (mpu9250_handle_t *handle, uint8_t reg, float *mg)
 convert the register raw data to the motion threshold More...
 
uint8_t mpu9250_self_test (mpu9250_handle_t *handle, int32_t gyro_offset_raw[3], int32_t accel_offset_raw[3])
 run the self test More...
 
uint8_t mpu9250_set_iic_clock (mpu9250_handle_t *handle, mpu9250_iic_clock_t clk)
 set the iic clock More...
 
uint8_t mpu9250_get_iic_clock (mpu9250_handle_t *handle, mpu9250_iic_clock_t *clk)
 get the iic clock More...
 
uint8_t mpu9250_set_iic_multi_master (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable iic multi master More...
 
uint8_t mpu9250_get_iic_multi_master (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the iic multi master status More...
 
uint8_t mpu9250_set_iic_wait_for_external_sensor (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable iic wait for external sensor More...
 
uint8_t mpu9250_get_iic_wait_for_external_sensor (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the iic wait for external sensor status More...
 
uint8_t mpu9250_set_iic_read_mode (mpu9250_handle_t *handle, mpu9250_iic_read_mode_t mode)
 set the iic read mode More...
 
uint8_t mpu9250_get_iic_read_mode (mpu9250_handle_t *handle, mpu9250_iic_read_mode_t *mode)
 get the iic read mode More...
 
uint8_t mpu9250_set_iic_fifo_enable (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, mpu9250_bool_t enable)
 enable or disable the iic fifo More...
 
uint8_t mpu9250_get_iic_fifo_enable (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, mpu9250_bool_t *enable)
 get the iic fifo status More...
 
uint8_t mpu9250_set_iic_mode (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, mpu9250_iic_mode_t mode)
 set the iic mode More...
 
uint8_t mpu9250_get_iic_mode (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, mpu9250_iic_mode_t *mode)
 get the iic mode More...
 
uint8_t mpu9250_set_iic_address (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, uint8_t addr_7bit)
 set the iic address More...
 
uint8_t mpu9250_get_iic_address (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, uint8_t *addr_7bit)
 get the iic address More...
 
uint8_t mpu9250_set_iic_register (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, uint8_t reg)
 set the iic register More...
 
uint8_t mpu9250_get_iic_register (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, uint8_t *reg)
 get the iic register More...
 
uint8_t mpu9250_set_iic_data_out (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, uint8_t data)
 set the iic data out More...
 
uint8_t mpu9250_get_iic_data_out (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, uint8_t *data)
 get the iic data out More...
 
uint8_t mpu9250_set_iic_enable (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, mpu9250_bool_t enable)
 enable or disable the iic More...
 
uint8_t mpu9250_get_iic_enable (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, mpu9250_bool_t *enable)
 get the iic status More...
 
uint8_t mpu9250_set_iic_byte_swap (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, mpu9250_bool_t enable)
 enable or disable the iic byte swap More...
 
uint8_t mpu9250_get_iic_byte_swap (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, mpu9250_bool_t *enable)
 get the iic byte swap status More...
 
uint8_t mpu9250_set_iic_transaction_mode (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, mpu9250_iic_transaction_mode_t mode)
 set the iic transaction mode More...
 
uint8_t mpu9250_get_iic_transaction_mode (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, mpu9250_iic_transaction_mode_t *mode)
 get the iic transaction mode More...
 
uint8_t mpu9250_set_iic_group_order (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, mpu9250_iic_group_order_t order)
 set the iic group order More...
 
uint8_t mpu9250_get_iic_group_order (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, mpu9250_iic_group_order_t *order)
 get the iic group order More...
 
uint8_t mpu9250_set_iic_transferred_len (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, uint8_t len)
 set the iic transferred length More...
 
uint8_t mpu9250_get_iic_transferred_len (mpu9250_handle_t *handle, mpu9250_iic_slave_t slave, uint8_t *len)
 get the iic transferred length More...
 
uint8_t mpu9250_get_iic_status (mpu9250_handle_t *handle, uint8_t *status)
 get the iic status More...
 
uint8_t mpu9250_set_iic_delay_enable (mpu9250_handle_t *handle, mpu9250_iic_delay_t delay, mpu9250_bool_t enable)
 enable or disable the iic delay More...
 
uint8_t mpu9250_get_iic_delay_enable (mpu9250_handle_t *handle, mpu9250_iic_delay_t delay, mpu9250_bool_t *enable)
 get the iic delay status More...
 
uint8_t mpu9250_set_iic4_enable (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable the iic4 More...
 
uint8_t mpu9250_get_iic4_enable (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the iic4 status More...
 
uint8_t mpu9250_set_iic4_interrupt (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable the iic4 interrupt More...
 
uint8_t mpu9250_get_iic4_interrupt (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 get the iic4 interrupt status More...
 
uint8_t mpu9250_set_iic4_transaction_mode (mpu9250_handle_t *handle, mpu9250_iic4_transaction_mode_t mode)
 set the iic4 transaction mode More...
 
uint8_t mpu9250_get_iic4_transaction_mode (mpu9250_handle_t *handle, mpu9250_iic4_transaction_mode_t *mode)
 get the iic4 transaction mode More...
 
uint8_t mpu9250_set_iic_delay (mpu9250_handle_t *handle, uint8_t delay)
 set the iic delay More...
 
uint8_t mpu9250_get_iic_delay (mpu9250_handle_t *handle, uint8_t *delay)
 get the iic delay More...
 
uint8_t mpu9250_set_iic4_data_out (mpu9250_handle_t *handle, uint8_t data)
 set the iic4 data out More...
 
uint8_t mpu9250_get_iic4_data_out (mpu9250_handle_t *handle, uint8_t *data)
 get the iic4 data out More...
 
uint8_t mpu9250_set_iic4_data_in (mpu9250_handle_t *handle, uint8_t data)
 set the iic4 data in More...
 
uint8_t mpu9250_get_iic4_data_in (mpu9250_handle_t *handle, uint8_t *data)
 get the iic4 data in More...
 
uint8_t mpu9250_read_extern_sensor_data (mpu9250_handle_t *handle, uint8_t *data, uint8_t len)
 read the extern sensor data More...
 
uint8_t mpu9250_dmp_load_firmware (mpu9250_handle_t *handle)
 load the dmp firmware More...
 
uint8_t mpu9250_dmp_set_pedometer_walk_time (mpu9250_handle_t *handle, uint32_t ms)
 dmp set the pedometer walk time More...
 
uint8_t mpu9250_dmp_get_pedometer_walk_time (mpu9250_handle_t *handle, uint32_t *ms)
 dmp get the pedometer walk time More...
 
uint8_t mpu9250_dmp_set_pedometer_step_count (mpu9250_handle_t *handle, uint32_t count)
 dmp set the pedometer step count More...
 
uint8_t mpu9250_dmp_get_pedometer_step_count (mpu9250_handle_t *handle, uint32_t *count)
 dmp get the pedometer step count More...
 
uint8_t mpu9250_dmp_set_shake_reject_timeout (mpu9250_handle_t *handle, uint16_t ms)
 dmp set the shake reject timeout More...
 
uint8_t mpu9250_dmp_get_shake_reject_timeout (mpu9250_handle_t *handle, uint16_t *ms)
 dmp get the shake reject timeout More...
 
uint8_t mpu9250_dmp_set_shake_reject_time (mpu9250_handle_t *handle, uint16_t ms)
 dmp set the shake reject time More...
 
uint8_t mpu9250_dmp_get_shake_reject_time (mpu9250_handle_t *handle, uint16_t *ms)
 dmp get the shake reject time More...
 
uint8_t mpu9250_dmp_set_shake_reject_thresh (mpu9250_handle_t *handle, uint16_t dps)
 dmp set the shake reject thresh More...
 
uint8_t mpu9250_dmp_get_shake_reject_thresh (mpu9250_handle_t *handle, uint16_t *dps)
 dmp get the shake reject thresh More...
 
uint8_t mpu9250_dmp_set_tap_time_multi (mpu9250_handle_t *handle, uint16_t ms)
 dmp set max time between taps to register as a multi tap More...
 
uint8_t mpu9250_dmp_get_tap_time_multi (mpu9250_handle_t *handle, uint16_t *ms)
 dmp get max time between taps to register as a multi tap More...
 
uint8_t mpu9250_dmp_set_tap_time (mpu9250_handle_t *handle, uint16_t ms)
 dmp set the tap time More...
 
uint8_t mpu9250_dmp_get_tap_time (mpu9250_handle_t *handle, uint16_t *ms)
 dmp get the tap time More...
 
uint8_t mpu9250_dmp_set_min_tap_count (mpu9250_handle_t *handle, uint8_t cnt)
 dmp set the min tap count More...
 
uint8_t mpu9250_dmp_get_min_tap_count (mpu9250_handle_t *handle, uint8_t *cnt)
 dmp get the min tap count More...
 
uint8_t mpu9250_dmp_set_gyro_calibrate (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 dmp enable or disable gyro calibrate More...
 
uint8_t mpu9250_dmp_set_3x_quaternion (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 dmp enable or disable generate 3 axis quaternions from dmp More...
 
uint8_t mpu9250_dmp_set_6x_quaternion (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 dmp enable or disable generate 6 axis quaternions from dmp More...
 
uint8_t mpu9250_dmp_set_interrupt_mode (mpu9250_handle_t *handle, mpu9250_dmp_interrupt_mode_t mode)
 dmp set the interrupt mode More...
 
uint8_t mpu9250_dmp_set_gyro_bias (mpu9250_handle_t *handle, int32_t bias[3])
 dmp set the gyro bias More...
 
uint8_t mpu9250_dmp_set_accel_bias (mpu9250_handle_t *handle, int32_t bias[3])
 dmp set the accel bias More...
 
uint8_t mpu9250_dmp_set_orientation (mpu9250_handle_t *handle, int8_t mat[9])
 dmp set the orientation More...
 
uint8_t mpu9250_dmp_set_feature (mpu9250_handle_t *handle, uint16_t mask)
 dmp enable or disable the dmp feature More...
 
uint8_t mpu9250_dmp_set_fifo_rate (mpu9250_handle_t *handle, uint16_t rate)
 dmp set the fifo rate More...
 
uint8_t mpu9250_dmp_get_fifo_rate (mpu9250_handle_t *handle, uint16_t *rate)
 dmp get the fifo rate More...
 
uint8_t mpu9250_dmp_set_tap_axes (mpu9250_handle_t *handle, mpu9250_axis_t axis, mpu9250_bool_t enable)
 dmp enable or disable the tap axes More...
 
uint8_t mpu9250_dmp_get_tap_axes (mpu9250_handle_t *handle, mpu9250_axis_t axis, mpu9250_bool_t *enable)
 dmp get the tap axes status More...
 
uint8_t mpu9250_dmp_set_tap_thresh (mpu9250_handle_t *handle, mpu9250_axis_t axis, uint16_t mg_ms)
 dmp set the tap thresh More...
 
uint8_t mpu9250_dmp_get_tap_thresh (mpu9250_handle_t *handle, mpu9250_axis_t axis, uint16_t *mg_ms)
 dmp get the tap thresh More...
 
uint8_t mpu9250_dmp_read (mpu9250_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 More...
 
uint8_t mpu9250_dmp_set_tap_callback (mpu9250_handle_t *handle, void(*callback)(uint8_t count, uint8_t direction))
 dmp set the tap callback More...
 
uint8_t mpu9250_dmp_set_orient_callback (mpu9250_handle_t *handle, void(*callback)(uint8_t orientation))
 dmp set the orient callback More...
 
uint8_t mpu9250_dmp_set_enable (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 enable or disable the dmp More...
 
uint8_t mpu9250_dmp_gyro_accel_raw_offset_convert (mpu9250_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 More...
 
uint8_t mpu9250_mag_init (mpu9250_handle_t *handle)
 initialize the magnetometer of mpu9250 More...
 
uint8_t mpu9250_mag_deinit (mpu9250_handle_t *handle)
 magnetometer deinit More...
 
uint8_t mpu9250_mag_read (mpu9250_handle_t *handle, int16_t mag_raw[3], float mag_ut[3])
 mag read the data More...
 
uint8_t mpu9250_mag_get_info (mpu9250_handle_t *handle, uint8_t *info)
 magnetometer get the information More...
 
uint8_t mpu9250_mag_get_status1 (mpu9250_handle_t *handle, uint8_t *status)
 magnetometer get the status1 More...
 
uint8_t mpu9250_mag_get_status2 (mpu9250_handle_t *handle, uint8_t *status)
 magnetometer get the status2 More...
 
uint8_t mpu9250_mag_set_mode (mpu9250_handle_t *handle, mpu9250_magnetometer_mode_t mode)
 magnetometer set the mode More...
 
uint8_t mpu9250_mag_get_mode (mpu9250_handle_t *handle, mpu9250_magnetometer_mode_t *mode)
 magnetometer get the mode More...
 
uint8_t mpu9250_mag_set_bits (mpu9250_handle_t *handle, mpu9250_magnetometer_bits_t bits)
 magnetometer set the bits More...
 
uint8_t mpu9250_mag_get_bits (mpu9250_handle_t *handle, mpu9250_magnetometer_bits_t *bits)
 magnetometer get the bits More...
 
uint8_t mpu9250_mag_set_reset (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 magnetometer enable or disable reset More...
 
uint8_t mpu9250_mag_get_reset (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 magnetometer get the reset status More...
 
uint8_t mpu9250_mag_set_self_test (mpu9250_handle_t *handle, mpu9250_bool_t enable)
 magnetometer enable or disable self test More...
 
uint8_t mpu9250_mag_get_self_test (mpu9250_handle_t *handle, mpu9250_bool_t *enable)
 magnetometer get the self test status More...
 
uint8_t mpu9250_mag_iic_disable (mpu9250_handle_t *handle)
 magnetometer disable the iic More...
 
uint8_t mpu9250_mag_get_asa (mpu9250_handle_t *handle, uint8_t asa[3])
 magnetometer get the asa data More...
 
uint8_t mpu9250_mag_set_fifo_mode (mpu9250_handle_t *handle)
 magnetometer set into fifo mode More...
 
uint8_t mpu9250_set_reg (mpu9250_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
 set the chip register More...
 
uint8_t mpu9250_get_reg (mpu9250_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
 get the chip register More...
 

Detailed Description

driver mpu9250 header 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.

Version
1.0.0
Author
Shifeng Li
Date
2022-08-30

history

Date Version Author Description
2022/08/30 1.0 Shifeng Li first upload

Definition in file driver_mpu9250.h.