From 30a80ff4e416294a36c34d319980aa0db991c35a Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Tue, 5 Feb 2013 20:33:56 +0000 Subject: usb-led now uses stdio stream git-svn-id: https://svn.spreadspace.org/avr/trunk@118 aa12f405-d877-488e-9caf-2d797e2a1cc7 --- usb-led/Makefile | 2 +- usb-led/usb-led.c | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/usb-led/Makefile b/usb-led/Makefile index 0cb59f5..a8530b5 100644 --- a/usb-led/Makefile +++ b/usb-led/Makefile @@ -21,7 +21,7 @@ ## NAME := usb-led -BOARD_TYPE := minimus32 +BOARD_TYPE := teensy2 OBJ := $(NAME).o LIBS := util led lufa-descriptor-usbserial EXTERNAL_LIBS := lufa diff --git a/usb-led/usb-led.c b/usb-led/usb-led.c index 658fb27..fc62874 100644 --- a/usb-led/usb-led.c +++ b/usb-led/usb-led.c @@ -70,6 +70,16 @@ void EVENT_USB_Device_ControlRequest(void) } /* end LUFA CDC-ACM specific definitions*/ +FILE usb_stream; + +void stdio_init(void) +{ + CDC_Device_CreateStream(&VirtualSerial_CDC_Interface,&usb_stream); + stdin = &usb_stream; + stdout = &usb_stream; + stderr = &usb_stream; +} + void handle_cmd(uint8_t cmd) { switch(cmd) { @@ -77,9 +87,9 @@ void handle_cmd(uint8_t cmd) case '1': led_on(); break; case 't': led_toggle(); break; case 'r': reset2bootloader(); break; - default: CDC_Device_SendString(&VirtualSerial_CDC_Interface, "error\n"); return; + default: printf("error\r\n"); return; } - CDC_Device_SendString(&VirtualSerial_CDC_Interface, "ok\n"); + printf("ok\r\n"); } int main(void) @@ -90,13 +100,14 @@ int main(void) cpu_init(); led_init(); USB_Init(); + stdio_init(); sei(); for(;;) { int16_t BytesReceived = CDC_Device_BytesReceived(&VirtualSerial_CDC_Interface); while(BytesReceived > 0) { - int16_t ReceivedByte = CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface); - if(!(ReceivedByte < 0)) { + int ReceivedByte = fgetc(stdin); + if(ReceivedByte != EOF) { handle_cmd(ReceivedByte); } BytesReceived--; -- cgit v1.2.3