altos: Baro-only (but record accel) for TM v1.2
[fw/altos] / src / core / ao_telemetry.c
index 583a6636668fe764c0de48727e29a06056f3562f..8385c6d038c9f48dc9862af73f299e8cf64a438b 100644 (file)
@@ -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)