Fix USB input/output by reloading packet limits.
[fw/altos] / ao_test.c
index 9a8adc3d6532daf6f0fc16aa43c60538ade24964..5d50ab8332e13c1cc4d02b027e07c7639016b884 100644 (file)
--- a/ao_test.c
+++ b/ao_test.c
@@ -21,6 +21,7 @@ struct ao_task __xdata blink_0_task;
 struct ao_task __xdata blink_1_task;
 struct ao_task __xdata wakeup_task;
 struct ao_task __xdata beep_task;
+struct ao_task __xdata echo_task;
 
 void delay(int n) __reentrant
 {
@@ -83,6 +84,19 @@ beep(void)
        }
 }
 
+void
+echo(void)
+{
+       uint8_t c;
+       for (;;) {
+               c = ao_usb_getchar();
+               ao_usb_putchar(c);
+               if (c == '\r')
+                       ao_usb_putchar('\n');
+               ao_usb_flush();
+       }
+}
+
 void
 main(void)
 {
@@ -94,5 +108,6 @@ main(void)
        ao_add_task(&blink_1_task, blink_1);
        ao_add_task(&wakeup_task, wakeup);
        ao_add_task(&beep_task, beep);
+       ao_add_task(&echo_task, echo);
        ao_start_scheduler();
 }