case AO_USB_TYPE_CLASS:
debug ("Class setup packet\n");
switch (ao_usb_setup.request) {
- case SET_LINE_CODING:
+ case AO_USB_SET_LINE_CODING:
debug ("set line coding\n");
ao_usb_ep0_out_len = 7;
ao_usb_ep0_out_data = (__xdata uint8_t *) &ao_usb_line_coding;
break;
- case GET_LINE_CODING:
+ case AO_USB_GET_LINE_CODING:
debug ("get line coding\n");
ao_usb_ep0_in_len = 7;
ao_usb_ep0_in_data = (uint8_t *) &ao_usb_line_coding;
break;
- case SET_CONTROL_LINE_STATE:
+ case AO_USB_SET_CONTROL_LINE_STATE:
break;
}
break;
ao_usb_in_flushed = 0;
}
-static char
+static int
_ao_usb_pollchar(void)
{
- char c;
+ uint8_t c;
uint8_t intx;
if (!ao_usb_running)
return c;
}
-char
+int
ao_usb_pollchar(void)
{
- char c;
+ int c;
cli();
c = _ao_usb_pollchar();
sei();
char
ao_usb_getchar(void) __critical
{
- char c;
+ int c;
cli();
while ((c = _ao_usb_pollchar()) == AO_READ_AGAIN)
}
#endif
-static void
-ao_usb_irq(void)
-{
- printf ("control: %d out: %d in: %d\n",
- control_count, out_count, in_count);
-}
-
-__code struct ao_cmds ao_usb_cmds[] = {
- { ao_usb_irq, "i\0Show USB interrupt counts" },
- { 0, NULL }
-};
-
void
ao_usb_init(void)
{
#if USB_DEBUG
ao_add_task(&ao_usb_echo_task, ao_usb_echo, "usb echo");
#endif
- ao_cmd_register(&ao_usb_cmds[0]);
ao_add_stdio(ao_usb_pollchar, ao_usb_putchar, ao_usb_flush);
}