From ec079c71d89913dd4823fe7ecf22d0d3f42b1e6d Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Thu, 30 Jul 2009 14:12:00 +0000
Subject: [PATCH] Minor cleanups to DualCDC ClassDriver device demo for
 clarity.

---
 Demos/Device/ClassDriver/CDC/CDC.c         | 1 +
 Demos/Device/ClassDriver/DualCDC/DualCDC.c | 6 ++----
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/Demos/Device/ClassDriver/CDC/CDC.c b/Demos/Device/ClassDriver/CDC/CDC.c
index 836a6e098..1bcb4640a 100644
--- a/Demos/Device/ClassDriver/CDC/CDC.c
+++ b/Demos/Device/ClassDriver/CDC/CDC.c
@@ -92,6 +92,7 @@ int main(void)
 	{
 		CheckJoystickMovement();
 		
+		/* Must throw away unused bytes from the host, or it will lock up while waiting for the device */
 		while (CDC_Device_BytesReceived(&VirtualSerial_CDC_Interface))
 		  CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface);
 
diff --git a/Demos/Device/ClassDriver/DualCDC/DualCDC.c b/Demos/Device/ClassDriver/DualCDC/DualCDC.c
index 0de83e1d9..9e3217cf7 100644
--- a/Demos/Device/ClassDriver/DualCDC/DualCDC.c
+++ b/Demos/Device/ClassDriver/DualCDC/DualCDC.c
@@ -99,13 +99,11 @@ int main(void)
 		CheckJoystickMovement();
 
 		/* Discard all received data on the first CDC interface */
-		uint16_t BytesToDiscard = CDC_Device_BytesReceived(&VirtualSerial1_CDC_Interface);
-		while (BytesToDiscard--)
+		while (CDC_Device_BytesReceived(&VirtualSerial1_CDC_Interface))
 		  CDC_Device_ReceiveByte(&VirtualSerial1_CDC_Interface);
 
 		/* Echo all received data on the second CDC interface */
-		uint16_t BytesToEcho = CDC_Device_BytesReceived(&VirtualSerial2_CDC_Interface);
-		while (BytesToEcho--)
+		while (CDC_Device_BytesReceived(&VirtualSerial2_CDC_Interface))
 		  CDC_Device_SendByte(&VirtualSerial2_CDC_Interface, CDC_Device_ReceiveByte(&VirtualSerial2_CDC_Interface));
 		  
 		CDC_Device_USBTask(&VirtualSerial1_CDC_Interface);
-- 
GitLab