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.
This commit is contained in:
Dean Camera 2009-10-11 06:14:08 +00:00
parent c7bc3ec391
commit be9d0a5aa9
5 changed files with 69 additions and 2 deletions

View File

@ -26,5 +26,4 @@ all:
%:
make -C 'DFU/' $@
make -C 'CDC/' $@
make -C 'MIDI/' $@
make -C 'TeensyHID/' $@

View File

@ -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.

View File

@ -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.
*/

View File

@ -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

View File

@ -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