Robot Control Library
|
Go to the source code of this file.
Data Structures | |
struct | rc_mpu_config_t |
configuration of the mpu sensor More... | |
struct | rc_mpu_data_t |
data struct populated with new sensor data More... | |
Macros | |
#define | RC_MPU_DEFAULT_I2C_ADDR 0x68 |
default i2c address if AD0 is left low More... | |
#define | RC_MPU_ALT_I2C_ADDR 0x69 |
alternate i2c address if AD0 pin pulled high More... | |
#define | TB_PITCH_X 0 |
Index of the dmp_TaitBryan[] array corresponding to the Pitch (X) axis. More... | |
#define | TB_ROLL_Y 1 |
Index of the dmp_TaitBryan[] array corresponding to the Roll (Y) axis. More... | |
#define | TB_YAW_Z 2 |
Index of the dmp_TaitBryan[] array corresponding to the Yaw (Z) axis. More... | |
#define | QUAT_W 0 |
First index of the dmp_quat[] quaternion vector. More... | |
#define | QUAT_X 1 |
Second index of the dmp_quat[] quaternion vector. More... | |
#define | QUAT_Y 2 |
Third index of the dmp_quat[] quaternion vector. More... | |
#define | QUAT_Z 3 |
Fourth index of the dmp_quat[] quaternion vector. More... | |
#define | DEG_TO_RAD 0.0174532925199 |
multiply to convert degrees to radians More... | |
#define | RAD_TO_DEG 57.295779513 |
multiply to convert radians to degrees More... | |
#define | MS2_TO_G 0.10197162129 |
multiply to convert m/s^2 to G More... | |
#define | G_TO_MS2 9.80665 |
multiply to convert G to m/s^2, standard gravity definition More... | |
Typedefs | |
typedef enum rc_mpu_accel_fsr_t | rc_mpu_accel_fsr_t |
accelerometer full scale range options More... | |
typedef enum rc_mpu_gyro_fsr_t | rc_mpu_gyro_fsr_t |
gyroscope full scale range options More... | |
typedef enum rc_mpu_accel_dlpf_t | rc_mpu_accel_dlpf_t |
accelerometer digital low-pass filter options More... | |
typedef enum rc_mpu_gyro_dlpf_t | rc_mpu_gyro_dlpf_t |
gyroscope digital low-pass filter options More... | |
typedef enum rc_mpu_orientation_t | rc_mpu_orientation_t |
Orientation of the sensor. More... | |
typedef struct rc_mpu_config_t | rc_mpu_config_t |
configuration of the mpu sensor More... | |
typedef struct rc_mpu_data_t | rc_mpu_data_t |
data struct populated with new sensor data More... | |
Enumerations | |
enum | rc_mpu_accel_fsr_t { ACCEL_FSR_2G, ACCEL_FSR_4G, ACCEL_FSR_8G, ACCEL_FSR_16G } |
accelerometer full scale range options More... | |
enum | rc_mpu_gyro_fsr_t { GYRO_FSR_250DPS, GYRO_FSR_500DPS, GYRO_FSR_1000DPS, GYRO_FSR_2000DPS } |
gyroscope full scale range options More... | |
enum | rc_mpu_accel_dlpf_t { ACCEL_DLPF_OFF, ACCEL_DLPF_460, ACCEL_DLPF_184, ACCEL_DLPF_92, ACCEL_DLPF_41, ACCEL_DLPF_20, ACCEL_DLPF_10, ACCEL_DLPF_5 } |
accelerometer digital low-pass filter options More... | |
enum | rc_mpu_gyro_dlpf_t { GYRO_DLPF_OFF, GYRO_DLPF_250, GYRO_DLPF_184, GYRO_DLPF_92, GYRO_DLPF_41, GYRO_DLPF_20, GYRO_DLPF_10, GYRO_DLPF_5 } |
gyroscope digital low-pass filter options More... | |
enum | rc_mpu_orientation_t { ORIENTATION_Z_UP = 136, ORIENTATION_Z_DOWN = 396, ORIENTATION_X_UP = 14, ORIENTATION_X_DOWN = 266, ORIENTATION_Y_UP = 112, ORIENTATION_Y_DOWN = 336, ORIENTATION_X_FORWARD = 133, ORIENTATION_X_BACK = 161 } |
Orientation of the sensor. More... | |
Functions | |
common functions | |
rc_mpu_config_t | rc_mpu_default_config (void) |
Returns an rc_mpu_config_t struct with default settings. More... | |
int | rc_mpu_set_config_to_default (rc_mpu_config_t *conf) |
Resets a config struct to defaults. More... | |
int | rc_mpu_power_off (void) |
Powers off the MPU. More... | |
normal one-shot sampling functions | |
int | rc_mpu_initialize (rc_mpu_data_t *data, rc_mpu_config_t conf) |
Sets up the MPU in normal one-shot sampling mode. More... | |
int | rc_mpu_read_accel (rc_mpu_data_t *data) |
Reads accelerometer data from the MPU. More... | |
int | rc_mpu_read_gyro (rc_mpu_data_t *data) |
Reads gyroscope data from the MPU. More... | |
int | rc_mpu_read_temp (rc_mpu_data_t *data) |
Reads thermometer data from the MPU. More... | |
int | rc_mpu_read_mag (rc_mpu_data_t *data) |
Reads magnetometer data from the MPU. More... | |
interrupt-driven DMP mode functions | |
int | rc_mpu_initialize_dmp (rc_mpu_data_t *data, rc_mpu_config_t conf) |
Initializes the MPU in DMP mode, see rc_test_dmp example. More... | |
int | rc_mpu_set_dmp_callback (void(*func)(void)) |
Sets the callback function that will be triggered when new DMP data is ready. More... | |
int | rc_mpu_block_until_dmp_data (void) |
blocking function that returns once new DMP data is available More... | |
int64_t | rc_mpu_nanos_since_last_dmp_interrupt (void) |
calculates number of nanoseconds since the last DMP interrupt More... | |
int | rc_mpu_set_tap_callback (void(*func)(int direction, int counter)) |
sets the callback function triggered when a tap is detected More... | |
int | rc_mpu_block_until_tap (void) |
blocking function that returns when a tap is detected More... | |
int64_t | rc_mpu_nanos_since_last_tap (void) |
calculates nanoseconds since last tap was detected More... | |
calibration functions | |
int | rc_mpu_calibrate_gyro_routine (rc_mpu_config_t conf) |
Runs gyroscope calibration routine. More... | |
int | rc_mpu_calibrate_mag_routine (rc_mpu_config_t conf) |
Runs magnetometer calibration routine. More... | |
int | rc_mpu_calibrate_accel_routine (rc_mpu_config_t conf) |
Runs accelerometer calibration routine. More... | |
int | rc_mpu_is_gyro_calibrated (void) |
Checks if a gyro calibration file is saved to disk. More... | |
int | rc_mpu_is_mag_calibrated (void) |
Checks if a magnetometer calibration file is saved to disk. More... | |
int | rc_mpu_is_accel_calibrated (void) |
Checks if an accelerometer calibration file is saved to disk. More... | |