static __data uint8_t ao_log_data_pos;
/* a hack to make sure that ao_log_megas fill the eeprom block in even units */
static __data uint8_t ao_log_data_pos;
/* a hack to make sure that ao_log_megas fill the eeprom block in even units */
+#endif
+#if HAS_GYRO
+ log.u.flight.ground_accel_along = ao_ground_accel_along;
+ log.u.flight.ground_accel_across = ao_ground_accel_across;
+ log.u.flight.ground_accel_through = ao_ground_accel_through;
+ log.u.flight.ground_pitch = ao_ground_pitch;
+ log.u.flight.ground_yaw = ao_ground_yaw;
+ log.u.flight.ground_roll = ao_ground_roll;
log.tick = ao_data_ring[ao_log_data_pos].tick;
if ((int16_t) (log.tick - next_sensor) >= 0) {
log.type = AO_LOG_SENSOR;
log.tick = ao_data_ring[ao_log_data_pos].tick;
if ((int16_t) (log.tick - next_sensor) >= 0) {
log.type = AO_LOG_SENSOR;
- log.u.sensor.pres = ao_data_ring[ao_log_data_pos].ms5607.pres;
- log.u.sensor.temp = ao_data_ring[ao_log_data_pos].ms5607.temp;
+#if HAS_MS5607
+ log.u.sensor.pres = ao_data_ring[ao_log_data_pos].ms5607_raw.pres;
+ log.u.sensor.temp = ao_data_ring[ao_log_data_pos].ms5607_raw.temp;
+#endif
+#if HAS_MPU6000
log.u.sensor.accel_x = ao_data_ring[ao_log_data_pos].mpu6000.accel_x;
log.u.sensor.accel_y = ao_data_ring[ao_log_data_pos].mpu6000.accel_y;
log.u.sensor.accel_z = ao_data_ring[ao_log_data_pos].mpu6000.accel_z;
log.u.sensor.gyro_x = ao_data_ring[ao_log_data_pos].mpu6000.gyro_x;
log.u.sensor.gyro_y = ao_data_ring[ao_log_data_pos].mpu6000.gyro_y;
log.u.sensor.gyro_z = ao_data_ring[ao_log_data_pos].mpu6000.gyro_z;
log.u.sensor.accel_x = ao_data_ring[ao_log_data_pos].mpu6000.accel_x;
log.u.sensor.accel_y = ao_data_ring[ao_log_data_pos].mpu6000.accel_y;
log.u.sensor.accel_z = ao_data_ring[ao_log_data_pos].mpu6000.accel_z;
log.u.sensor.gyro_x = ao_data_ring[ao_log_data_pos].mpu6000.gyro_x;
log.u.sensor.gyro_y = ao_data_ring[ao_log_data_pos].mpu6000.gyro_y;
log.u.sensor.gyro_z = ao_data_ring[ao_log_data_pos].mpu6000.gyro_z;
+#endif
+#if HAS_HMC5883
+ log.u.sensor.mag_x = ao_data_ring[ao_log_data_pos].hmc5883.x;
+ log.u.sensor.mag_y = ao_data_ring[ao_log_data_pos].hmc5883.y;
+ log.u.sensor.mag_z = ao_data_ring[ao_log_data_pos].hmc5883.z;
+#endif
+ log.u.sensor.accel = ao_data_accel(&ao_data_ring[ao_log_data_pos]);
log.u.volt.n_sense = AO_ADC_NUM_SENSE;
for (i = 0; i < AO_ADC_NUM_SENSE; i++)
log.u.volt.sense[i] = ao_data_ring[ao_log_data_pos].adc.sense[i];
log.u.volt.n_sense = AO_ADC_NUM_SENSE;
for (i = 0; i < AO_ADC_NUM_SENSE; i++)
log.u.volt.sense[i] = ao_data_ring[ao_log_data_pos].adc.sense[i];