summaryrefslogtreecommitdiff
path: root/src/core/ao_telemetry.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-12-06 10:28:14 -0800
committerKeith Packard <keithp@keithp.com>2012-12-06 10:28:14 -0800
commit1f84c0adbfa494ddc7dbe276796d999560be9438 (patch)
treee8280bcaeb7ca405574e763fcd538066a71a55c1 /src/core/ao_telemetry.c
parentf661da527fb4a3a492f5322e2a718d441e1cde83 (diff)
altos: Allow telemetry, rdf and APRS to be individually controlled
But, only when APRS is available so that TeleMetrum and TeleMini don't change behaviour Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/core/ao_telemetry.c')
-rw-r--r--src/core/ao_telemetry.c31
1 files changed, 21 insertions, 10 deletions
diff --git a/src/core/ao_telemetry.c b/src/core/ao_telemetry.c
index 79d1bb81..4ff98f9b 100644
--- a/src/core/ao_telemetry.c
+++ b/src/core/ao_telemetry.c
@@ -300,27 +300,35 @@ ao_telemetry(void)
while (ao_telemetry_interval) {
+#if HAS_APRS
+ if (!(ao_config.radio_enable & AO_RADIO_DISABLE_TELEMETRY))
+#endif
+ {
#ifdef AO_SEND_ALL_BARO
- ao_send_baro();
+ ao_send_baro();
#endif
#ifdef AO_SEND_MEGA
- ao_send_mega_sensor();
- ao_send_mega_data();
+ ao_send_mega_sensor();
+ ao_send_mega_data();
#else
- ao_send_sensor();
+ ao_send_sensor();
#endif
#if HAS_COMPANION
- if (ao_companion_running)
- ao_send_companion();
+ if (ao_companion_running)
+ ao_send_companion();
#endif
- ao_send_configuration();
+ ao_send_configuration();
#if HAS_GPS
- ao_send_location();
- ao_send_satellite();
+ ao_send_location();
+ ao_send_satellite();
#endif
+ }
#ifndef AO_SEND_ALL_BARO
if (ao_rdf &&
+#if HAS_APRS
+ !(ao_config.radio_enable & AO_RADIO_DISABLE_RDF) &&
+#endif
(int16_t) (ao_time() - ao_rdf_time) >= 0)
{
#if HAS_IGNITE_REPORT
@@ -335,7 +343,10 @@ ao_telemetry(void)
ao_radio_rdf();
}
#if HAS_APRS
- if (ao_rdf && (int16_t) (ao_time() - ao_aprs_time) >= 0) {
+ if (ao_rdf &&
+ (ao_config.radio_enable & AO_RADIO_ENABLE_APRS) &&
+ (int16_t) (ao_time() - ao_aprs_time) >= 0)
+ {
ao_aprs_time = ao_time() + AO_APRS_INTERVAL_TICKS;
ao_aprs_send();
}