Robot Control Library

data struct populated with new sensor data More...
#include <rc/mpu.h>
Data Fields  
base sensor readings in real units  
double  accel [3] 
accelerometer (XYZ) in units of m/s^2 More...  
double  gyro [3] 
gyroscope (XYZ) in units of degrees/s More...  
double  mag [3] 
magnetometer (XYZ) in units of uT More...  
double  temp 
thermometer, in units of degrees Celsius More...  
16 bit raw adc readings and conversion rates  
int16_t  raw_gyro [3] 
raw gyroscope (XYZ)from 16bit ADC More...  
int16_t  raw_accel [3] 
raw accelerometer (XYZ) from 16bit ADC More...  
double  accel_to_ms2 
conversion rate from raw accelerometer to m/s^2 More...  
double  gyro_to_degs 
conversion rate from raw gyroscope to degrees/s More...  
DMP data  
double  dmp_quat [4] 
normalized quaternion from DMP based on ONLY Accel/Gyro More...  
double  dmp_TaitBryan [3] 
TaitBryan angles (roll pitch yaw) in radians from DMP based on ONLY Accel/Gyro. More...  
int  tap_detected 
set to 1 if there was a tap detect on the last dmp sample, reset to 0 on next sample More...  
int  last_tap_direction 
direction of last tap, 16 corresponding to X+ X Y+ Y Z+ Z More...  
int  last_tap_count 
current counter of rapid consecutive taps More...  
fused DMP data filtered with magnetometer  
double  fused_quat [4] 
fused and normalized quaternion More...  
double  fused_TaitBryan [3] 
fused TaitBryan angles (roll pitch yaw) in radians More...  
double  compass_heading 
fused heading filtered with gyro and accel data, same as TaitBryan yaw More...  
double  compass_heading_raw 
unfiltered heading from magnetometer More...  
data struct populated with new sensor data
This is the container for holding the sensor data. The user is intended to make their own instance of this struct and pass its pointer to imu read functions. new data will then be written back into the user's instance of the data struct.
double accel[3] 
accelerometer (XYZ) in units of m/s^2
double gyro[3] 
gyroscope (XYZ) in units of degrees/s
double mag[3] 
magnetometer (XYZ) in units of uT
double temp 
thermometer, in units of degrees Celsius
int16_t raw_gyro[3] 
raw gyroscope (XYZ)from 16bit ADC
int16_t raw_accel[3] 
raw accelerometer (XYZ) from 16bit ADC
double accel_to_ms2 
conversion rate from raw accelerometer to m/s^2
double gyro_to_degs 
conversion rate from raw gyroscope to degrees/s
double dmp_quat[4] 
normalized quaternion from DMP based on ONLY Accel/Gyro
double dmp_TaitBryan[3] 
TaitBryan angles (roll pitch yaw) in radians from DMP based on ONLY Accel/Gyro.
int tap_detected 
set to 1 if there was a tap detect on the last dmp sample, reset to 0 on next sample
int last_tap_direction 
direction of last tap, 16 corresponding to X+ X Y+ Y Z+ Z
int last_tap_count 
current counter of rapid consecutive taps
double fused_quat[4] 
fused and normalized quaternion
double fused_TaitBryan[3] 
fused TaitBryan angles (roll pitch yaw) in radians
double compass_heading 
fused heading filtered with gyro and accel data, same as TaitBryan yaw
double compass_heading_raw 
unfiltered heading from magnetometer