X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fao_packet_master.c;h=ef86fa281a7f809e2c0ce38bdd6d45c823eaf710;hp=2751f414a374e7bfc04ed35169b92dacdccb0caa;hb=e075b8623533965b1b77b77d38c2df32f5f77fce;hpb=ca5d323a3d206050d95f52a61e92c69e1f54e7b5 diff --git a/src/ao_packet_master.c b/src/ao_packet_master.c index 2751f414..ef86fa28 100644 --- a/src/ao_packet_master.c +++ b/src/ao_packet_master.c @@ -18,7 +18,7 @@ #include "ao.h" static char -ao_packet_getchar(void) +ao_packet_getchar(void) __critical { char c; while ((c = ao_packet_pollchar()) == AO_READ_AGAIN) @@ -27,6 +27,7 @@ ao_packet_getchar(void) break; if (ao_packet_master_sleeping) ao_wake_task(&ao_packet_task); + ao_usb_flush(); ao_sleep(&ao_stdin_ready); } return c; @@ -39,7 +40,7 @@ ao_packet_echo(void) __reentrant while (ao_packet_enable) { c = ao_packet_getchar(); if (ao_packet_enable) - putchar(c); + ao_usb_putchar(c); } ao_exit(); } @@ -94,13 +95,12 @@ ao_packet_master(void) continue; if (ao_rx_packet.packet.len) ao_packet_master_busy(); - else - flush(); ao_packet_master_sleeping = 1; ao_delay(ao_packet_master_delay); ao_packet_master_sleeping = 0; } } + ao_radio_set_telemetry(); ao_exit(); } @@ -115,7 +115,7 @@ ao_packet_forward(void) __reentrant ao_set_monitor(0); ao_add_task(&ao_packet_task, ao_packet_master, "master"); ao_add_task(&ao_packet_echo_task, ao_packet_echo, "echo"); - while ((c = getchar()) != '~') { + while ((c = ao_usb_getchar()) != '~') { if (c == '\r') c = '\n'; ao_packet_putchar(c); }