From e81a4c950f88aeed9cf3ff5b9911afffd1862716 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Thu, 28 Jan 2010 14:12:26 +0000
Subject: [PATCH] Removed the stream example code from the Low Level
 VirtualSerial demos, as they were buggy and only served to add clutter.

---
 .../LowLevel/VirtualSerial/VirtualSerial.c    | 53 -------------------
 .../VirtualSerialHost/VirtualSerialHost.c     | 46 ----------------
 LUFA/ManPages/ChangeLog.txt                   |  1 +
 3 files changed, 1 insertion(+), 99 deletions(-)

diff --git a/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.c b/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.c
index c70b53403..bad87578a 100644
--- a/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.c
+++ b/Demos/Device/LowLevel/VirtualSerial/VirtualSerial.c
@@ -49,59 +49,6 @@ CDC_Line_Coding_t LineEncoding = { .BaudRateBPS = 0,
                                    .ParityType  = Parity_None,
                                    .DataBits    = 8            };
 
-
-#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)
-{	  
-	Endpoint_SelectEndpoint(CDC_TX_EPNUM);
-
-	if (!(LineEncoding.BaudRateBPS))
-	  return -1;
-	
-	if (Endpoint_WaitUntilReady())
-	  return -1;
-
-	Endpoint_Write_Byte(c);
-	Endpoint_ClearIN();
-	
-	return 0;
-}
-
-static int CDC_getchar(FILE *stream)
-{
-	int c;
-
-	if (!(LineEncoding.BaudRateBPS))
-	  return -1;
-
-	Endpoint_SelectEndpoint(CDC_RX_EPNUM);
-	
-	for (;;)
-	{
-		if (Endpoint_WaitUntilReady())
-		  return -1;
-	
-		if (!(Endpoint_BytesInEndpoint()))
-		{
-			Endpoint_ClearOUT();
-		}
-		else
-		{
-			c = Endpoint_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 contains the overall program flow, including initial
  *  setup of all components and the main program loop.
  */
diff --git a/Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.c b/Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.c
index 4c521a480..588198bb4 100644
--- a/Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.c
+++ b/Demos/Host/LowLevel/VirtualSerialHost/VirtualSerialHost.c
@@ -36,52 +36,6 @@
  
 #include "VirtualSerialHost.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 f124fcc48..79010bd11 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -32,6 +32,7 @@
   *  - Inlined currently unused (but standardized) maintenance functions in the Device and Host Class drivers to save space
   *  - The XPLAINBridge project now selects between a USB to Serial bridge and a PDI programmer on startup, reading the JTAG port's
   *    TDI pin to determine which mode to use
+  *  - Removed the stream example code from the Low Level VirtualSerial demos, as they were buggy and only served to add clutter
   *
   *  <b>Fixed:</b>
   *  - Fixed AVRISP project not able to enter programming mode when ISP protocol is used
-- 
GitLab