void imu_navgo_event( void ) { // If the itg3200 I2C transaction has succeeded: convert the data itg3200_event(); if (itg3200_data_available) { RATES_COPY(imu.gyro_unscaled, itg3200_data); itg3200_data_available = FALSE; gyr_valid = TRUE; } // If the adxl345 I2C transaction has succeeded: convert the data adxl345_event(); if (adxl345_data_available) { VECT3_ASSIGN(imu.accel_unscaled, adxl345_data.y, -adxl345_data.x, adxl345_data.z); adxl345_data_available = FALSE; acc_valid = TRUE; } // HMC58XX event task hmc58xx_event(); if (hmc58xx_data_available) { VECT3_ASSIGN(imu.mag_unscaled, -hmc58xx_data.x, -hmc58xx_data.y, hmc58xx_data.z); hmc58xx_data_available = FALSE; mag_valid = TRUE; } }
void imu_umarim_event( void ) { // If the itg3200 I2C transaction has succeeded: convert the data itg3200_event(); if (itg3200_data_available) { RATES_COPY(imu.gyro_unscaled, itg3200_data); itg3200_data_available = FALSE; gyr_valid = TRUE; } // If the adxl345 I2C transaction has succeeded: convert the data adxl345_event(); if (adxl345_data_available) { VECT3_ASSIGN(imu.accel_unscaled, adxl345_data.y, -adxl345_data.x, adxl345_data.z); adxl345_data_available = FALSE; acc_valid = TRUE; } }
void imu_umarim_event( void ) { // If the itg3200 I2C transaction has succeeded: convert the data itg3200_event(); if (itg3200_data_available) { RATES_ASSIGN(imu.gyro_unscaled, itg3200_data.p, itg3200_data.q, itg3200_data.r); itg3200_data_available = FALSE; gyr_valid = TRUE; } // If the adxl345 I2C transaction has succeeded: convert the data adxl345_event(); if (adxl345_data_available) { // Be careful with orientation of the ADXL (ITG axes are taken as default reference) VECT3_ASSIGN(imu.accel_unscaled, adxl345_data.y, -adxl345_data.x, adxl345_data.z); adxl345_data_available = FALSE; acc_valid = TRUE; } }