X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/c7bc3ec391da3904f0db6398171c7fed37d4f836..be9d0a5aa97c84cc8723f69f2b88576965e386aa:/Demos/Host/LowLevel/CDCHost/CDCHost.c diff --git a/Demos/Host/LowLevel/CDCHost/CDCHost.c b/Demos/Host/LowLevel/CDCHost/CDCHost.c index 7a1788b17..0b09c5a93 100644 --- a/Demos/Host/LowLevel/CDCHost/CDCHost.c +++ b/Demos/Host/LowLevel/CDCHost/CDCHost.c @@ -36,6 +36,52 @@ #include "CDCHost.h" +#if 0 +/* NOTE: Here you can set up a standard stream using the created virtual serial port, so that the standard stream functions in + * can be used on the virtual serial port (e.g. fprintf(&USBSerial, "Test"); to print a string). + */ + +static int CDC_putchar(char c, FILE *stream) +{ + Pipe_SelectPipe(CDC_DATAPIPE_OUT); + + if (Pipe_WaitUntilReady()) + return -1; + + Pipe_Write_Byte(c); + Pipe_ClearIN(); + + return 0; +} + +static int CDC_getchar(FILE *stream) +{ + int c; + + Pipe_SelectPipe(CDC_DATAPIPE_IN); + + for (;;) + { + if (Pipe_WaitUntilReady()) + return -1; + + if (!(Pipe_BytesInPipe())) + { + Pipe_ClearOUT(); + } + else + { + c = Pipe_Read_Byte(); + break; + } + } + + return c; +} + +static FILE USBSerial = FDEV_SETUP_STREAM(CDC_putchar, CDC_getchar, _FDEV_SETUP_RW); +#endif + /** Main program entry point. This routine configures the hardware required by the application, then * enters a loop to run the application tasks in sequence. */