Commit be9d0a5a authored by Dean Camera's avatar Dean Camera
Browse files

Added stdio.h stream examples for the virtual CDC UART in the CDC host demos.

Removed accidental reference to the incomplete MIDI class bootloader in the Bootloader folder makefile.
parent c7bc3ec3
......@@ -26,5 +26,4 @@ all:
%:
make -C 'DFU/' $@
make -C 'CDC/' $@
make -C 'MIDI/' $@
make -C 'TeensyHID/' $@
......@@ -50,6 +50,27 @@ USB_ClassInfo_CDC_Host_t VirtualSerial_CDC_Interface =
},
};
#if 0
/* NOTE: Here you can set up a standard stream using the created virtual serial port, so that the standard stream functions in
* <stdio.h> 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)
{
CDC_Host_SendByte(&VirtualSerial_CDC_Interface, c);
return 0;
}
static int CDC_getchar(FILE *stream)
{
if (!(CDC_Host_BytesReceived(&VirtualSerial_CDC_Interface)))
return -1;
return CDC_Host_ReceiveByte(&VirtualSerial_CDC_Interface);
}
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.
......
......@@ -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
* <stdio.h> 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.
*/
......
......@@ -13,6 +13,7 @@
* - Added new HID_HOST_BOOT_PROTOCOL_ONLY compile time token to reduce the size of the HID Host Class driver when
* Report protocol is not needed
* - Added new MIDI LowLevel and ClassDriver Host demo, add new MIDI Host Class driver
* - Added stdio.h stream examples for the virtual CDC UART in the CDC host demos
*
* <b>Changed:</b>
* - Removed mostly useless "TestApp" demo, as it was mainly useful only for checking for sytax errors in the library
......
......@@ -22,7 +22,7 @@
* - Master LUFA include file rather than per-module includes
* - Change makefiles to allow for absolute LUFA location to be used
* - Abstract out the physical media from the Mass Storage device demos
* - Add MIDI Host Class driver
* - Add RNDIS Host Class driver
* - Make new demos
* -# Multiple-report HID device
* -# Mouse/CDC Dual Class Device
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment