telemetry.generic.tick = packet->tick;
telemetry.generic.type = AO_TELEMETRY_MEGA_SENSOR;
-#if HAS_MPU6000
+#if HAS_MPU6000 || HAS_MPU9250
telemetry.mega_sensor.orient = ao_sample_orient;
#endif
telemetry.mega_sensor.accel = ao_data_accel(packet);
#if HAS_HMC5883
telemetry.mega_sensor.mag_x = packet->hmc5883.x;
- telemetry.mega_sensor.mag_y = packet->hmc5883.y;
telemetry.mega_sensor.mag_z = packet->hmc5883.z;
+ telemetry.mega_sensor.mag_y = packet->hmc5883.y;
+#endif
+
+#if HAS_MPU9250
+ telemetry.mega_sensor.accel_x = packet->mpu9250.accel_x;
+ telemetry.mega_sensor.accel_y = packet->mpu9250.accel_y;
+ telemetry.mega_sensor.accel_z = packet->mpu9250.accel_z;
+
+ telemetry.mega_sensor.gyro_x = packet->mpu9250.gyro_x;
+ telemetry.mega_sensor.gyro_y = packet->mpu9250.gyro_y;
+ telemetry.mega_sensor.gyro_z = packet->mpu9250.gyro_z;
+
+ telemetry.mega_sensor.mag_x = packet->mpu9250.mag_x;
+ telemetry.mega_sensor.mag_z = packet->mpu9250.mag_z;
+ telemetry.mega_sensor.mag_y = packet->mpu9250.mag_y;
#endif
ao_telemetry_send();
static __pdata int8_t ao_telemetry_config_cur;
static __pdata uint16_t ao_telemetry_flight_number;
+#ifndef ao_telemetry_battery_convert
+#define ao_telemetry_battery_convert(a) (a)
+#endif
+
static void
ao_send_configuration(void)
{
telemetry.configuration.config_minor = AO_CONFIG_MINOR;
#if AO_idProduct_NUMBER == 0x25 && HAS_ADC
/* TeleGPS gets battery voltage instead of apogee delay */
- telemetry.configuration.apogee_delay = ao_data_ring[ao_data_ring_prev(ao_data_head)].adc.v_batt;
+ telemetry.configuration.apogee_delay = ao_telemetry_battery_convert(ao_data_ring[ao_data_ring_prev(ao_data_head)].adc.v_batt);
#else
telemetry.configuration.apogee_delay = ao_config.apogee_delay;
telemetry.configuration.main_deploy = ao_config.main_deploy;