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 | 
