Device driver interface for the MPU-9X50 (MPU9150 and MPU9250) More...
Device driver interface for the MPU-9X50 (MPU9150 and MPU9250)
Definition in file mpu9x50.h.
#include "periph/i2c.h"
 Include dependency graph for mpu9x50.h:
 This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | mpu9x50_results_t | 
| MPU-9X50 result vector struct.  More... | |
| struct | mpu9x50_status_t | 
| Configuration struct for the MPU-9X50 sensor.  More... | |
| struct | mpu9x50_params_t | 
| Device initialization parameters.  More... | |
| struct | mpu9x50_t | 
| Device descriptor for the MPU9X50 sensor.  More... | |
Enumerations | |
| enum | mpu9x50_pwr_t { MPU9X50_SENSOR_PWR_OFF = 0x00 , MPU9X50_SENSOR_PWR_ON = 0x01 } | 
| Power enum values.  | |
| enum | mpu9x50_hw_addr_t { MPU9X50_HW_ADDR_HEX_68 = 0x68 , MPU9X50_HW_ADDR_HEX_69 = 0x69 } | 
| Possible MPU-9X50 hardware addresses (wiring specific)  | |
| enum | mpu9x50_comp_addr_t { MPU9X50_COMP_ADDR_HEX_0C = 0x0C , MPU9X50_COMP_ADDR_HEX_0D = 0x0D , MPU9X50_COMP_ADDR_HEX_0E = 0x0E , MPU9X50_COMP_ADDR_HEX_0F = 0x0F } | 
| Possible compass addresses (wiring specific)  | |
| enum | mpu9x50_gyro_ranges_t { MPU9X50_GYRO_FSR_250DPS = 0x00 , MPU9X50_GYRO_FSR_500DPS = 0x01 , MPU9X50_GYRO_FSR_1000DPS = 0x02 , MPU9X50_GYRO_FSR_2000DPS = 0x03 } | 
| Possible full scale ranges for the gyroscope.  | |
| enum | mpu9x50_accel_ranges_t { MPU9X50_ACCEL_FSR_2G = 0x00 , MPU9X50_ACCEL_FSR_4G = 0x01 , MPU9X50_ACCEL_FSR_8G = 0x02 , MPU9X50_ACCEL_FSR_16G = 0x03 } | 
| Possible full scale ranges for the accelerometer.  | |
| enum | mpu9x50_lpf_t {  MPU9X50_FILTER_188HZ = 0x01 , MPU9X50_FILTER_98HZ = 0x02 , MPU9X50_FILTER_42HZ = 0x03 , MPU9X50_FILTER_20HZ = 0x04 , MPU9X50_FILTER_10HZ = 0x05 , MPU9X50_FILTER_5HZ = 0x06 }  | 
| Possible low pass filter values.  | |
Functions | |
| int | mpu9x50_init (mpu9x50_t *dev, const mpu9x50_params_t *params) | 
| Initialize the given MPU9X50 device.  More... | |
| int | mpu9x50_set_accel_power (mpu9x50_t *dev, mpu9x50_pwr_t pwr_conf) | 
| Enable or disable accelerometer power.  More... | |
| int | mpu9x50_set_gyro_power (mpu9x50_t *dev, mpu9x50_pwr_t pwr_conf) | 
| Enable or disable gyroscope power.  More... | |
| int | mpu9x50_set_compass_power (mpu9x50_t *dev, mpu9x50_pwr_t pwr_conf) | 
| Enable or disable compass power.  More... | |
| int | mpu9x50_read_gyro (const mpu9x50_t *dev, mpu9x50_results_t *output) | 
| Read angular speed values from the given MPU9X50 device, returned in dps.  More... | |
| int | mpu9x50_read_accel (const mpu9x50_t *dev, mpu9x50_results_t *output) | 
| Read acceleration values from the given MPU9X50 device, returned in mG.  More... | |
| int | mpu9x50_read_compass (const mpu9x50_t *dev, mpu9x50_results_t *output) | 
| Read magnetic field values from the given MPU9X50 device, returned in mikroT.  More... | |
| int | mpu9x50_read_temperature (const mpu9x50_t *dev, int32_t *output) | 
| Read temperature value from the given MPU9X50 device, returned in m°C.  More... | |
| int | mpu9x50_set_gyro_fsr (mpu9x50_t *dev, mpu9x50_gyro_ranges_t fsr) | 
| Set the full-scale range for raw gyroscope data.  More... | |
| int | mpu9x50_set_accel_fsr (mpu9x50_t *dev, mpu9x50_accel_ranges_t fsr) | 
| Set the full-scale range for raw accelerometer data.  More... | |
| int | mpu9x50_set_sample_rate (mpu9x50_t *dev, uint16_t rate) | 
| Set the rate at which the gyroscope and accelerometer data is sampled.  More... | |
| int | mpu9x50_set_compass_sample_rate (mpu9x50_t *dev, uint8_t rate) | 
| Set the rate at which the compass data is sampled.  More... | |
Sample rate macro definitions | |
| #define | MPU9X50_MIN_SAMPLE_RATE (4) | 
| #define | MPU9X50_MAX_SAMPLE_RATE (1000) | 
| #define | MPU9X50_DEFAULT_SAMPLE_RATE (50) | 
| #define | MPU9X50_MIN_COMP_SMPL_RATE (1) | 
| #define | MPU9X50_MAX_COMP_SMPL_RATE (100) |