altos: Reduce configuration data telemetry to once per 5 seconds
[fw/altos] / src / kernel / ao_telemetry.c
index a1c19185416fd56cdd3a1dac6bcabf892ef8ec0c..6fb30069ee5be977a6112b2058cf3753c5111f7a 100644 (file)
@@ -305,8 +305,14 @@ ao_send_configuration(void)
 #endif
                telemetry.configuration.config_major = AO_CONFIG_MAJOR;
                telemetry.configuration.config_minor = AO_CONFIG_MINOR;
 #endif
                telemetry.configuration.config_major = AO_CONFIG_MAJOR;
                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;
+#else
                telemetry.configuration.apogee_delay = ao_config.apogee_delay;
                telemetry.configuration.main_deploy = ao_config.main_deploy;
                telemetry.configuration.apogee_delay = ao_config.apogee_delay;
                telemetry.configuration.main_deploy = ao_config.main_deploy;
+#endif
+
                telemetry.configuration.flight_log_max = ao_config.flight_log_max >> 10;
                ao_xmemcpy (telemetry.configuration.callsign,
                            ao_config.callsign,
                telemetry.configuration.flight_log_max = ao_config.flight_log_max >> 10;
                ao_xmemcpy (telemetry.configuration.callsign,
                            ao_config.callsign,
@@ -515,7 +521,7 @@ ao_telemetry_set_interval(uint16_t interval)
        ao_telemetry_companion_cur = cur;
 #endif
 
        ao_telemetry_companion_cur = cur;
 #endif
 
-       ao_telemetry_config_max = AO_SEC_TO_TICKS(1) / interval;
+       ao_telemetry_config_max = AO_SEC_TO_TICKS(5) / interval;
 #if HAS_COMPANION
        if (ao_telemetry_config_max > cur)
                cur++;
 #if HAS_COMPANION
        if (ao_telemetry_config_max > cur)
                cur++;