diff options
Diffstat (limited to 'src/ao_monitor.c')
-rw-r--r-- | src/ao_monitor.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/ao_monitor.c b/src/ao_monitor.c index e57ea145..d0c1da34 100644 --- a/src/ao_monitor.c +++ b/src/ao_monitor.c @@ -30,7 +30,8 @@ ao_monitor(void) for (;;) { __critical while (!ao_monitoring) ao_sleep(&ao_monitoring); - ao_radio_recv(&recv); + if (!ao_radio_recv(&recv)) + continue; state = recv.telemetry.flight_state; memcpy(callsign, recv.telemetry.callsign, AO_MAX_CALLSIGN); if (state > ao_flight_invalid) @@ -74,6 +75,7 @@ ao_set_monitor(uint8_t monitoring) { ao_monitoring = monitoring; ao_wakeup(&ao_monitoring); + ao_radio_abort(); } static void |