X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fao_telemetry.c;h=dd79f3fc716825ce6a600dfd7bcb0bc77ec589a5;hb=e980b251e5a4d25410710a9aa89ef940e06b0d93;hp=9c923984cb200f08bb728ade6b25149bdbe352e3;hpb=1de322b960005c9a16051afa1881fadb00f4bcd6;p=fw%2Faltos diff --git a/src/ao_telemetry.c b/src/ao_telemetry.c index 9c923984..dd79f3fc 100644 --- a/src/ao_telemetry.c +++ b/src/ao_telemetry.c @@ -30,8 +30,11 @@ ao_telemetry(void) static __xdata struct ao_telemetry telemetry; ao_config_get(); + while (!ao_flight_number) + ao_sleep(&ao_flight_number); memcpy(telemetry.callsign, ao_config.callsign, AO_MAX_CALLSIGN); - telemetry.addr = ao_serial_number; + telemetry.serial = ao_serial_number; + telemetry.flight = ao_log_full() ? 0 : ao_flight_number; telemetry.accel_plus_g = ao_config.accel_plus_g; telemetry.accel_minus_g = ao_config.accel_minus_g; ao_rdf_time = ao_time(); @@ -39,17 +42,23 @@ ao_telemetry(void) while (ao_telemetry_interval == 0) ao_sleep(&ao_telemetry_interval); telemetry.flight_state = ao_flight_state; +#if HAS_ACCEL telemetry.flight_accel = ao_flight_accel; telemetry.ground_accel = ao_ground_accel; telemetry.flight_vel = ao_flight_vel; +#endif telemetry.flight_pres = ao_flight_pres; telemetry.ground_pres = ao_ground_pres; +#if HAS_ADC ao_adc_get(&telemetry.adc); +#endif +#if HAS_GPS ao_mutex_get(&ao_gps_mutex); memcpy(&telemetry.gps, &ao_gps_data, sizeof (struct ao_gps_data)); memcpy(&telemetry.gps_tracking, &ao_gps_tracking_data, sizeof (struct ao_gps_tracking_data)); ao_mutex_put(&ao_gps_mutex); - ao_radio_send(&telemetry); +#endif + ao_radio_send(&telemetry, sizeof (telemetry)); ao_delay(ao_telemetry_interval); if (ao_rdf && (int16_t) (ao_time() - ao_rdf_time) >= 0)