X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fao_monitor.c;h=9431f726dc99176d2dff3231b7963f2f3bfcc18b;hb=251b0971f049cbf2f8db79a32729d47441ce65f3;hp=5997d427a4388536687bf1a0c3a4c93238d655bb;hpb=17d2432a8b9c15963cd3b821f025ad33972ef477;p=fw%2Faltos diff --git a/src/ao_monitor.c b/src/ao_monitor.c index 5997d427..9431f726 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) @@ -55,6 +56,9 @@ ao_monitor(void) recv.telemetry.flight_pres, recv.telemetry.ground_pres); ao_gps_print(&recv.telemetry.gps); + putchar(' '); + ao_gps_tracking_print(&recv.telemetry.gps_tracking); + putchar('\n'); ao_rssi_set((int) recv.rssi - 74); } else { printf("CRC INVALID RSSI %3d\n", (int) recv.rssi - 74); @@ -71,6 +75,7 @@ ao_set_monitor(uint8_t monitoring) { ao_monitoring = monitoring; ao_wakeup(&ao_monitoring); + ao_radio_abort(AO_DMA_ABORTED); } static void