From: Keith Packard Date: Mon, 30 Aug 2010 05:41:18 +0000 (-0700) Subject: altos: flush pending output when terminating packet mode X-Git-Tag: debian/0.7+22+g4790f78~16 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=c4a8569f61eddf690d00337543462235ecbfbe54 altos: flush pending output when terminating packet mode Just in case the last command sent hasn't been transmitted, hang around for up to a second waiting for the data to get across the link. Signed-off-by: Keith Packard --- diff --git a/src/ao_packet_master.c b/src/ao_packet_master.c index 72bb908a..5e13a91a 100644 --- a/src/ao_packet_master.c +++ b/src/ao_packet_master.c @@ -121,6 +121,10 @@ ao_packet_forward(void) __reentrant if (c == '\r') c = '\n'; ao_packet_putchar(c); } + + /* Wait for a second if there is any pending data */ + for (c = 0; (ao_packet_tx_used || ao_tx_packet.len) && c < 10; c++) + ao_delay(AO_MS_TO_TICKS(100)); ao_packet_enable = 0; ao_radio_abort(); while (ao_packet_echo_task.wchan || ao_packet_task.wchan) {