|
Files | |
file | dexterind-imu.h |
Dexter Industries IMU Sensor driver. | |
Defines | |
#define | DIMU_GYRO_I2C_ADDR 0xD2 |
#define | DIMU_GYRO_RANGE_250 0x00 |
#define | DIMU_GYRO_RANGE_500 0x10 |
#define | DIMU_GYRO_RANGE_2000 0x30 |
#define | DIMU_CTRL4_BLOCKDATA 0x80 |
#define | DIMU_GYRO_CTRL_REG1 0x20 |
#define | DIMU_GYRO_CTRL_REG2 0x21 |
#define | DIMU_GYRO_CTRL_REG3 0x22 |
#define | DIMU_GYRO_CTRL_REG4 0x23 |
#define | DIMU_GYRO_CTRL_REG5 0x24 |
#define | DIMU_GYRO_ALL_AXES 0x28 |
#define | DIMU_GYRO_X_AXIS 0x2A |
#define | DIMU_GYRO_Y_AXIS 0x28 |
#define | DIMU_GYRO_Z_AXIS 0x2C |
#define | DIMU_ACC_I2C_ADDR 0x3A |
#define | DIMU_ACC_RANGE_2G 0x04 |
#define | DIMU_ACC_RANGE_4G 0x08 |
#define | DIMU_ACC_RANGE_8G 0x00 |
#define | DIMU_ACC_MODE_STBY 0x00 |
#define | DIMU_ACC_MODE_MEAS 0x01 |
#define | DIMU_ACC_MODE_LVLD 0x02 |
#define | DIMU_ACC_MODE_PLSE 0x03 |
#define | DIMU_ACC_X_AXIS 0x00 |
#define | DIMU_ACC_Y_AXIS 0x02 |
#define | DIMU_ACC_Z_AXIS 0x04 |
#define | DIMUreadGyroXAxis(X) DIMUreadGyroAxis(X, DIMU_GYRO_X_AXIS) |
#define | DIMUreadGyroYAxis(X) DIMUreadGyroAxis(X, DIMU_GYRO_Y_AXIS) |
#define | DIMUreadGyroZAxis(X) DIMUreadGyroAxis(X, DIMU_GYRO_Z_AXIS) |
#define | DIMUreadAccelXAxis10Bit(X) DIMUreadAccelAxis10Bit(X, DIMU_ACC_X_AXIS) |
#define | DIMUreadAccelYAxis10Bit(X) DIMUreadAccelAxis10Bit(X, DIMU_ACC_Y_AXIS) |
#define | DIMUreadAccelZAxis10Bit(X) DIMUreadAccelAxis10Bit(X, DIMU_ACC_Z_AXIS) |
#define | DIMUreadAccelXAxis8Bit(X) DIMUreadAccelAxis8Bit(X, DIMU_ACC_X_AXIS) |
#define | DIMUreadAccelYAxis8Bit(X) DIMUreadAccelAxis8Bit(X, DIMU_ACC_Y_AXIS) |
#define | DIMUreadAccelZAxis8Bit(X) DIMUreadAccelAxis8Bit(X, DIMU_ACC_Z_AXIS) |
Functions | |
bool | DIMUconfigGyro (tSensors link, ubyte range, bool lpfenable=true) |
float | DIMUreadGyroAxis (tSensors link, ubyte axis) |
void | DIMUreadGyroAxes (tSensors link, float &_x, float &_y, float &_z) |
bool | DIMUconfigAccel (tSensors link, ubyte range) |
float | DIMUreadAccelAxis8Bit (tSensors link, ubyte axis) |
bool | DIMUsetAccelAxisOffset (tSensors link, ubyte drift_reg, ubyte drift_LSB, ubyte drift_MSB) |
float | DIMUreadAccelAxis10Bit (tSensors link, ubyte axis, bool calibrate=false) |
void | DIMUreadAccelAxes8Bit (tSensors link, float &_x, float &_y, float &_z) |
void | DIMUreadAccelAxes10Bit (tSensors link, float &_x, float &_y, float &_z) |
void | DIMUcalAccel (tSensors link) |
bool | DIMUconfigIMU (tSensors link, ubyte accelRange=DIMU_ACC_RANGE_8G, ubyte gyroRange=DIMU_GYRO_RANGE_250, bool lpfenable=true) |
Variables | |
float | DIMU_Gyro_divisor [4] = {0.0, 0.0, 0.0, 0.0} |
float | DIMU_Accel_divisor [4] = {0.0, 0.0, 0.0, 0.0} |
tByteArray | DIMU_I2CRequest |
tByteArray | DIMU_I2CReply |
Dexter Industries DIMU Sensor driver
#define DIMU_ACC_I2C_ADDR 0x3A |
Accelerometer I2C address
Definition at line 67 of file dexterind-imu.h.
#define DIMU_ACC_MODE_LVLD 0x02 |
Accelerometer level detect mode
Definition at line 73 of file dexterind-imu.h.
#define DIMU_ACC_MODE_MEAS 0x01 |
Accelerometer measurement mode
Definition at line 72 of file dexterind-imu.h.
#define DIMU_ACC_MODE_PLSE 0x03 |
Accelerometer pulse detect mode
Definition at line 74 of file dexterind-imu.h.
#define DIMU_ACC_MODE_STBY 0x00 |
Accelerometer standby mode
Definition at line 71 of file dexterind-imu.h.
#define DIMU_ACC_RANGE_2G 0x04 |
Accelerometer 2G range
Definition at line 68 of file dexterind-imu.h.
#define DIMU_ACC_RANGE_4G 0x08 |
Accelerometer 4G range
Definition at line 69 of file dexterind-imu.h.
#define DIMU_ACC_RANGE_8G 0x00 |
Accelerometer 8G range
Definition at line 70 of file dexterind-imu.h.
#define DIMU_ACC_X_AXIS 0x00 |
#define DIMU_ACC_Y_AXIS 0x02 |
#define DIMU_ACC_Z_AXIS 0x04 |
#define DIMU_CTRL4_BLOCKDATA 0x80 |
Definition at line 54 of file dexterind-imu.h.
#define DIMU_GYRO_ALL_AXES 0x28 |
All Axes for Gyro
Definition at line 62 of file dexterind-imu.h.
#define DIMU_GYRO_CTRL_REG1 0x20 |
CTRL_REG1 for Gyro
Definition at line 56 of file dexterind-imu.h.
#define DIMU_GYRO_CTRL_REG2 0x21 |
CTRL_REG2 for Gyro
Definition at line 57 of file dexterind-imu.h.
#define DIMU_GYRO_CTRL_REG3 0x22 |
CTRL_REG3 for Gyro
Definition at line 58 of file dexterind-imu.h.
#define DIMU_GYRO_CTRL_REG4 0x23 |
CTRL_REG4 for Gyro
Definition at line 59 of file dexterind-imu.h.
#define DIMU_GYRO_CTRL_REG5 0x24 |
CTRL_REG5 for Gyro
Definition at line 60 of file dexterind-imu.h.
#define DIMU_GYRO_I2C_ADDR 0xD2 |
Gyro I2C address
Definition at line 49 of file dexterind-imu.h.
#define DIMU_GYRO_RANGE_2000 0x30 |
2000 dps range
Definition at line 53 of file dexterind-imu.h.
#define DIMU_GYRO_RANGE_250 0x00 |
#define DIMU_GYRO_RANGE_500 0x10 |
#define DIMU_GYRO_X_AXIS 0x2A |
X Axis for Gyro
Definition at line 63 of file dexterind-imu.h.
#define DIMU_GYRO_Y_AXIS 0x28 |
Y Axis for Gyro
Definition at line 64 of file dexterind-imu.h.
#define DIMU_GYRO_Z_AXIS 0x2C |
Z Axis for Gyro
Definition at line 65 of file dexterind-imu.h.
#define DIMUreadAccelXAxis10Bit | ( | X ) | DIMUreadAccelAxis10Bit(X, DIMU_ACC_X_AXIS) |
Definition at line 83 of file dexterind-imu.h.
#define DIMUreadAccelXAxis8Bit | ( | X ) | DIMUreadAccelAxis8Bit(X, DIMU_ACC_X_AXIS) |
Definition at line 87 of file dexterind-imu.h.
#define DIMUreadAccelYAxis10Bit | ( | X ) | DIMUreadAccelAxis10Bit(X, DIMU_ACC_Y_AXIS) |
Definition at line 84 of file dexterind-imu.h.
#define DIMUreadAccelYAxis8Bit | ( | X ) | DIMUreadAccelAxis8Bit(X, DIMU_ACC_Y_AXIS) |
Definition at line 88 of file dexterind-imu.h.
#define DIMUreadAccelZAxis10Bit | ( | X ) | DIMUreadAccelAxis10Bit(X, DIMU_ACC_Z_AXIS) |
Definition at line 85 of file dexterind-imu.h.
#define DIMUreadAccelZAxis8Bit | ( | X ) | DIMUreadAccelAxis8Bit(X, DIMU_ACC_Z_AXIS) |
Definition at line 89 of file dexterind-imu.h.
#define DIMUreadGyroXAxis | ( | X ) | DIMUreadGyroAxis(X, DIMU_GYRO_X_AXIS) |
Definition at line 79 of file dexterind-imu.h.
#define DIMUreadGyroYAxis | ( | X ) | DIMUreadGyroAxis(X, DIMU_GYRO_Y_AXIS) |
Definition at line 80 of file dexterind-imu.h.
#define DIMUreadGyroZAxis | ( | X ) | DIMUreadGyroAxis(X, DIMU_GYRO_Z_AXIS) |
Definition at line 81 of file dexterind-imu.h.
void DIMUcalAccel | ( | tSensors | link ) |
Calibrate the Accelerometer. The sensor must be stationary and assumes the Z axis is facing up.
link | the port number |
Definition at line 397 of file dexterind-imu.h.
bool DIMUconfigAccel | ( | tSensors | link, |
ubyte | range | ||
) |
Wait for the I2C bus to be ready for the next message
link | the port number |
range | the range at which to operate the Accelerometer, can be 2, 4 and 8G |
Definition at line 252 of file dexterind-imu.h.
bool DIMUconfigGyro | ( | tSensors | link, |
ubyte | range, | ||
bool | lpfenable | ||
) |
Configure the gyro
link | the port number |
range | the operating range of the gyro |
lpfenable | Enable built-in Low Pass Filter to reduce spikes in data, optional, defaults to true. |
Definition at line 144 of file dexterind-imu.h.
bool DIMUconfigIMU | ( | tSensors | link, |
ubyte | accelRange = DIMU_ACC_RANGE_8G , |
||
ubyte | gyroRange = DIMU_GYRO_RANGE_250 , |
||
bool | lpfenable = true |
||
) |
Definition at line 405 of file dexterind-imu.h.
void DIMUreadAccelAxes10Bit | ( | tSensors | link, |
float & | _x, | ||
float & | _y, | ||
float & | _z | ||
) |
Read the specified accelerometer axis, returns an 10 bit answer
link | the port number |
_x | variable to hold X axis data |
_y | variable to hold Y axis data |
_z | variable to hold Z axis data |
Definition at line 386 of file dexterind-imu.h.
void DIMUreadAccelAxes8Bit | ( | tSensors | link, |
float & | _x, | ||
float & | _y, | ||
float & | _z | ||
) |
Read the specified accelerometer axis, returns an 8 bit answer
link | the port number |
_x | variable to hold X axis data |
_y | variable to hold Y axis data |
_z | variable to hold Z axis data |
Definition at line 372 of file dexterind-imu.h.
float DIMUreadAccelAxis10Bit | ( | tSensors | link, |
ubyte | axis, | ||
bool | calibrate | ||
) |
Read the specified accelerometer axis, returns an 10 bit answer
link | the port number |
axis | the specific axis |
calibrate | optional argument, if set to to true, the sensor will calibrate this axis first. |
Definition at line 329 of file dexterind-imu.h.
float DIMUreadAccelAxis8Bit | ( | tSensors | link, |
ubyte | axis | ||
) |
Read the specified accelerometer axis, returns an 8 bit answer
link | the port number |
axis | the specific axis |
Definition at line 280 of file dexterind-imu.h.
void DIMUreadGyroAxes | ( | tSensors | link, |
float & | _x, | ||
float & | _y, | ||
float & | _z | ||
) |
Read all three axes of the gyro
link | the port number |
_x | data for x axis in degrees per second |
_y | data for y axis in degrees per second |
_z | data for z axis in degrees per second |
Definition at line 230 of file dexterind-imu.h.
float DIMUreadGyroAxis | ( | tSensors | link, |
ubyte | axis | ||
) |
Retrieve the axis data
link | the port number |
axis | the specified axis |
Definition at line 205 of file dexterind-imu.h.
bool DIMUsetAccelAxisOffset | ( | tSensors | link, |
ubyte | drift_reg, | ||
ubyte | drift_LSB, | ||
ubyte | drift_MSB | ||
) |
Confgures an offset register for the accelerometer.
link | the port number |
drift_reg | the register to write to |
drift_LSB | drift value LSB |
drift_MSB | drift value MSB |
Definition at line 307 of file dexterind-imu.h.
float DIMU_Accel_divisor[4] = {0.0, 0.0, 0.0, 0.0} |
Array to hold divisor data for 8 bit measurements
Definition at line 109 of file dexterind-imu.h.
float DIMU_Gyro_divisor[4] = {0.0, 0.0, 0.0, 0.0} |
Array to hold divisor data for 8 bit measurements
Definition at line 108 of file dexterind-imu.h.
Array to hold I2C reply data
Definition at line 112 of file dexterind-imu.h.
Array to hold I2C command data
Definition at line 111 of file dexterind-imu.h.