aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bootloaders/makefile1
-rw-r--r--Demos/Host/ClassDriver/CDCHost/CDCHost.c21
-rw-r--r--Demos/Host/LowLevel/CDCHost/CDCHost.c46
-rw-r--r--LUFA/ManPages/ChangeLog.txt1
-rw-r--r--LUFA/ManPages/FutureChanges.txt2
5 files changed, 69 insertions, 2 deletions
diff --git a/Bootloaders/makefile b/Bootloaders/makefile
index 5fd5aef4b..1083587f7 100644
--- a/Bootloaders/makefile
+++ b/Bootloaders/makefile
@@ -26,5 +26,4 @@ all:
%:
make -C 'DFU/' $@
make -C 'CDC/' $@
- make -C 'MIDI/' $@
make -C 'TeensyHID/' $@
diff --git a/Demos/Host/ClassDriver/CDCHost/CDCHost.c b/Demos/Host/ClassDriver/CDCHost/CDCHost.c
index fd12137c8..99c0c8172 100644
--- a/Demos/Host/ClassDriver/CDCHost/CDCHost.c
+++ b/Demos/Host/ClassDriver/CDCHost/CDCHost.c
@@ -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.
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
+ * <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.
*/
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index e0750ded4..b47097c42 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -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
diff --git a/LUFA/ManPages/FutureChanges.txt b/LUFA/ManPages/FutureChanges.txt
index 59c51b106..2ca27ec60 100644
--- a/LUFA/ManPages/FutureChanges.txt
+++ b/LUFA/ManPages/FutureChanges.txt
@@ -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