advanced constants More...
Macros | |
#define | kImuSmallFilterLimit |
#define | kImuMotorFilterLimit |
#define | kImuMotorFilterTimeOut |
#define | kImuCalibrationTime |
Enumerations | |
enum | eImuAddress |
clusters twi addresses for the mpu6050 More... | |
enum | eImuRegister |
clusters MPU6050 registers for read or write access More... | |
enum | eImuStateMask |
clusters flags regarding the imu More... | |
enum | eImuOffset |
clusters inital offsets for the different sensors for each robot More... | |
advanced constants
#define kImuCalibrationTime |
constant (5000): Time in milliseconds for calibrating the sensors
see also imu_calibrate()
#define kImuMotorFilterLimit |
constant ( 10): Limit of motor power to be ignored for integration
see also kImuSetUseMotorFilter
#define kImuMotorFilterTimeOut |
constant ( 50): Timeout in systicks (10ms) for motor-power-filter.
This allows the motors to slow down.
see also kImuSetUseMotorFilter
#define kImuSmallFilterLimit |
constant (131): Limit of angular velocity to be ignored for integration
see also kImuSetUseSmallFilter
enum eImuAddress |
clusters twi addresses for the mpu6050
Enumerator | |
---|---|
kImuAddress1 | twi address (0xD0): if AD0 is low |
kImuAddress2 | twi address (0xD2): if AD0 is high |
kImuAddressDefault | twi address (kImuAddress1): default device address |
enum eImuOffset |
clusters inital offsets for the different sensors for each robot
enum eImuRegister |
clusters MPU6050 registers for read or write access
Multibyte registers like kImuRegAccelX are in order:
High byte first (here: 0x3B)
Low byte second (here: 0x3C)
Enumerator | |
---|---|
kImuRegWhoami | register address (0x75): current twi address |
kImuRegSmplrtDiv | register address (0x19): sample rate divisor |
kImuRegPwrMgmt1 | register address (0x6B): configures the power mode and the clock source |
kImuRegDlpfConfig | register address (0x1A): [2:0] digital low-pass filter |
kImuRegGyroConfig | register address (0x1B): triggers gyroscope self-test and configures the gyroscopes full scale range |
kImuRegAccelConfig | register address (0x1C): triggers accelerometer self-test and configures the accelerometer full scale |
kImuRegAccelX | register address (0x3B): linear acceleration along x-axis (16-bit) |
kImuRegAccelY | register address (0x3D): linear acceleration along y-axis (16-bit) |
kImuRegAccelZ | register address (0x3F): linear acceleration along z-axis (16-bit) |
kImuRegTemp | register address (0x41): temperature (16-bit) |
kImuRegGyroX | register address (0x43): angular velocity around x-axis (16-bit) |
kImuRegGyroY | register address (0x45): angular velocity around y-axis (16-bit) |
kImuRegGyroZ | register address (0x47): angular velocity around z-axis (16-bit) |
enum eImuStateMask |
clusters flags regarding the imu
Enumerator | |
---|---|
kImuStateNone | bit mask (0x00): all flags are cleared |
kImuStateInit | bit mask (0x01): imu was succesfully initialized |
kImuStateUseSmallFilter | bit mask (0x02): ignore small angular velocity for integration |
kImuStateUseMotorFilter | bit mask (0x04): ignore angular velocity for integration, if motors are (almost) turned off |
kImuStateGyroRes | bit mask (0x18): these two bits, represent current full scale range for the angular velocity (yaw angle) |
kImuStateAll | bit mask (0x1F): filter all used flags |