summaryrefslogtreecommitdiff
path: root/src/ao_packet_master.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ao_packet_master.c')
-rw-r--r--src/ao_packet_master.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/ao_packet_master.c b/src/ao_packet_master.c
index 50f5aeff..641b49f4 100644
--- a/src/ao_packet_master.c
+++ b/src/ao_packet_master.c
@@ -29,6 +29,8 @@ ao_packet_getchar(void) __critical
ao_wake_task(&ao_packet_task);
ao_usb_flush();
ao_sleep(&ao_stdin_ready);
+ if (!ao_packet_enable)
+ break;
}
return c;
}
@@ -127,10 +129,9 @@ ao_packet_forward(void) __reentrant
ao_delay(AO_MS_TO_TICKS(100));
ao_packet_enable = 0;
while (ao_packet_echo_task.wchan || ao_packet_task.wchan) {
- ao_radio_abort();
- ao_wake_task(&ao_packet_echo_task);
- ao_wake_task(&ao_packet_task);
- ao_yield();
+ if (ao_packet_echo_task.wchan)
+ ao_wake_task(&ao_packet_echo_task);
+ ao_delay(AO_MS_TO_TICKS(10));
}
}