X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fcore%2Fao_telemetry.c;h=8385c6d038c9f48dc9862af73f299e8cf64a438b;hb=pwmin;hp=583a6636668fe764c0de48727e29a06056f3562f;hpb=fb60d87b02c0fc83a0b4268212f0b6b740c984e3;p=fw%2Faltos diff --git a/src/core/ao_telemetry.c b/src/core/ao_telemetry.c index 583a6636..8385c6d0 100644 --- a/src/core/ao_telemetry.c +++ b/src/core/ao_telemetry.c @@ -138,9 +138,9 @@ ao_send_mega_data(void) telemetry.mega_data.v_batt = packet->adc.v_batt; telemetry.mega_data.v_pyro = packet->adc.v_pbatt; - /* XXX figure out right shift value; 4 might suffice */ + /* ADC range is 0-4095, so shift by four to save the high 8 bits */ for (i = 0; i < AO_ADC_NUM_SENSE; i++) - telemetry.mega_data.sense[i] = packet->adc.sense[i] >> 8; + telemetry.mega_data.sense[i] = packet->adc.sense[i] >> 4; telemetry.mega_data.ground_pres = ao_ground_pres; telemetry.mega_data.ground_accel = ao_ground_accel; @@ -283,6 +283,12 @@ ao_telemetry(void) while (!ao_flight_number) ao_sleep(&ao_flight_number); +#if RADIO_DELAY_AFTER_BOOST + while (ao_flight_state < ao_flight_boost) + ao_sleep(DATA_TO_XDATA(&ao_flight_state)); + ao_delay(AO_SEC_TO_TICKS(RADIO_DELAY_AFTER_BOOST)); +#endif + telemetry.generic.serial = ao_serial_number; for (;;) { while (ao_telemetry_interval == 0)