summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBdale Garbee <bdale@gag.com>2014-09-13 11:31:35 -0600
committerBdale Garbee <bdale@gag.com>2014-09-13 11:31:35 -0600
commit72735d9ff9fbcdf929d08227a0928e97e408ddff (patch)
tree96c5e4a5e5384fc610c41d4d950f610b69d2791f /src
parentc3325b81f34faa99023e770231dddd5230e9c0f6 (diff)
parent07336fe0cde8900d30858957164b09f05a6cf23e (diff)
Merge branch 'branch-1.5' into debian
Diffstat (limited to 'src')
-rw-r--r--src/kernel/ao_report.c10
-rw-r--r--src/kernel/ao_telemetry.c2
2 files changed, 5 insertions, 7 deletions
diff --git a/src/kernel/ao_report.c b/src/kernel/ao_report.c
index 5314fc8f..f4253b3d 100644
--- a/src/kernel/ao_report.c
+++ b/src/kernel/ao_report.c
@@ -246,15 +246,15 @@ ao_report_continuity(void) __reentrant
void
ao_report(void)
{
- ao_report_state = ao_flight_state;
for(;;) {
+ ao_report_state = ao_flight_state;
#if HAS_BATTERY_REPORT
- if (ao_flight_state == ao_flight_startup)
+ if (ao_report_state == ao_flight_startup)
ao_report_battery();
else
#endif
ao_report_beep();
- if (ao_flight_state == ao_flight_landed) {
+ if (ao_report_state == ao_flight_landed) {
ao_report_altitude();
#if HAS_FLIGHT
ao_delay(AO_SEC_TO_TICKS(5));
@@ -262,7 +262,7 @@ ao_report(void)
#endif
}
#if HAS_IGNITE_REPORT
- if (ao_flight_state == ao_flight_idle)
+ if (ao_report_state == ao_flight_idle)
ao_report_continuity();
while (ao_flight_state == ao_flight_pad) {
uint8_t c;
@@ -272,10 +272,8 @@ ao_report(void)
pause(AO_MS_TO_TICKS(100));
}
#endif
-
while (ao_report_state == ao_flight_state)
ao_sleep(DATA_TO_XDATA(&ao_flight_state));
- ao_report_state = ao_flight_state;
}
}
diff --git a/src/kernel/ao_telemetry.c b/src/kernel/ao_telemetry.c
index 56bd715e..27306a34 100644
--- a/src/kernel/ao_telemetry.c
+++ b/src/kernel/ao_telemetry.c
@@ -518,7 +518,7 @@ ao_telemetry_set_interval(uint16_t interval)
};
ao_telemetry_desired_interval = interval;
- if (interval < min_interval[ao_config.radio_rate])
+ if (interval && interval < min_interval[ao_config.radio_rate])
interval = min_interval[ao_config.radio_rate];
#endif
ao_telemetry_interval = interval;