From cd39c38d5f39d89da989859afd72576b4c1532aa Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Mon, 26 Jul 2010 07:28:40 +0000
Subject: [PATCH] Rename reserved members of all structs so that they are
 uniformly named across all demos/projects/bootloaders.

Added start of the Incomplete TMC demo's command parser code.
---
 .../Device/Incomplete/Sideshow/Descriptors.h  |  6 +-
 .../TestAndMeasurement/TestAndMeasurement.c   | 71 +++++++++++--------
 .../TestAndMeasurement/TestAndMeasurement.h   | 35 ++++++---
 Demos/Device/LowLevel/MassStorage/Lib/SCSI.h  | 10 +--
 Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h |  2 +-
 .../MassStorageHost/Lib/MassStoreCommands.c   |  2 +-
 .../MassStorageHost/Lib/MassStoreCommands.h   | 10 +--
 LUFA/Drivers/USB/Class/Common/MassStorage.h   | 10 +--
 LUFA/Drivers/USB/Class/Host/MassStorage.c     |  4 +-
 LUFA/ManPages/FutureChanges.txt               |  2 +-
 Projects/TempDataLogger/Lib/DS1307.h          |  8 +--
 11 files changed, 94 insertions(+), 66 deletions(-)

diff --git a/Demos/Device/Incomplete/Sideshow/Descriptors.h b/Demos/Device/Incomplete/Sideshow/Descriptors.h
index 4d672c0ce..f988a48f1 100644
--- a/Demos/Device/Incomplete/Sideshow/Descriptors.h
+++ b/Demos/Device/Incomplete/Sideshow/Descriptors.h
@@ -64,12 +64,12 @@
 		{
 			uint8_t                                FirstInterfaceNumber;
 
-			uint8_t                                RESERVED;
+			uint8_t                                Reserved;
 			
 			uint8_t                                CompatibleID[8];
 			uint8_t                                SubCompatibleID[8];			
 
-			uint8_t                                RESERVED2[6];
+			uint8_t                                Reserved2[6];
 		} USB_OSCompatibleSection_t;
 		
 		typedef struct
@@ -79,7 +79,7 @@
 			uint16_t                               Index;
 			uint8_t                                TotalSections;
 			
-			uint8_t                                RESERVED[7];
+			uint8_t                                Reserved[7];
 			
 			USB_OSCompatibleSection_t              SideshowCompatID;
 		} USB_OSCompatibleIDDescriptor_t;
diff --git a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c
index d529302fc..e00254211 100644
--- a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c
+++ b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c
@@ -36,7 +36,7 @@
  */
 TMC_Capabilities_t Capabilities =
 	{
-		.Status     = TMC_REQUEST_STATUS_SUCCESS,
+		.Status     = TMC_STATUS_SUCCESS,
 		.TMCVersion = VERSION_BCD(1.00),
 		
 		.Interface  =
@@ -53,19 +53,16 @@ TMC_Capabilities_t Capabilities =
 	};
 
 /** Current TMC control request that is being processed */
-uint8_t RequestInProgess = 0;
+uint8_t RequestInProgess   = 0;
 
 /** Stream callback abort flag for bulk IN data */
-bool IsTMCBulkINReset    = false;
+bool IsTMCBulkINReset      = false;
 
 /** Stream callback abort flag for bulk OUT data */
-bool IsTMCBulkOUTReset   = false;
+bool IsTMCBulkOUTReset     = false;
 
-/** Last used tag value for bulk IN transfers */
-uint8_t NextTransferINTag  = 0;
-
-/** Last used tag value for bulk IN transfers */
-uint8_t NextTransferOUTTag  = 0;
+/** Last used tag value for data transfers */
+uint8_t CurrentTransferTag = 0;
 
 
 /** Main program entry point. This routine contains the overall program flow, including initial
@@ -145,7 +142,7 @@ void EVENT_USB_Device_ConfigurationChanged(void)
  */
 void EVENT_USB_Device_UnhandledControlRequest(void)
 {
-	uint8_t TMCRequestStatus = TMC_REQUEST_STATUS_SUCCESS;
+	uint8_t TMCRequestStatus = TMC_STATUS_SUCCESS;
 
 	/* Process TMC specific control requests */
 	switch (USB_ControlRequest.bRequest)
@@ -155,14 +152,14 @@ void EVENT_USB_Device_UnhandledControlRequest(void)
 			{
 				Endpoint_ClearSETUP();
 				
-				/* Check that no split transaction is already in progress and the data OUT transfer tag is valid */
+				/* Check that no split transaction is already in progress and the data transfer tag is valid */
 				if (RequestInProgess != 0)
 				{
-					TMCRequestStatus = TMC_REQUEST_STATUS_SPLIT_IN_PROGRESS;
+					TMCRequestStatus = TMC_STATUS_SPLIT_IN_PROGRESS;
 				}
-				else if (USB_ControlRequest.wValue != NextTransferOUTTag)
+				else if (USB_ControlRequest.wValue != CurrentTransferTag)
 				{
-					TMCRequestStatus = TMC_REQUEST_STATUS_TRANSFER_NOT_IN_PROGRESS;
+					TMCRequestStatus = TMC_STATUS_TRANSFER_NOT_IN_PROGRESS;
 				}
 				else
 				{
@@ -188,9 +185,9 @@ void EVENT_USB_Device_UnhandledControlRequest(void)
 				
 				/* Check that an ABORT BULK OUT transaction has been requested and that the request has completed */
 				if (RequestInProgess != Req_InitiateAbortBulkOut)
-				  TMCRequestStatus = TMC_REQUEST_STATUS_SPLIT_NOT_IN_PROGRESS;				
+				  TMCRequestStatus = TMC_STATUS_SPLIT_NOT_IN_PROGRESS;				
 				else if (IsTMCBulkOUTReset)
-				  TMCRequestStatus = TMC_REQUEST_STATUS_PENDING;
+				  TMCRequestStatus = TMC_STATUS_PENDING;
 				else
 				  RequestInProgess = 0;			
 				
@@ -209,14 +206,14 @@ void EVENT_USB_Device_UnhandledControlRequest(void)
 			{
 				Endpoint_ClearSETUP();
 				
-				/* Check that no split transaction is already in progress and the data IN transfer tag is valid */
+				/* Check that no split transaction is already in progress and the data transfer tag is valid */
 				if (RequestInProgess != 0)
 				{
-					TMCRequestStatus = TMC_REQUEST_STATUS_SPLIT_IN_PROGRESS;				
+					TMCRequestStatus = TMC_STATUS_SPLIT_IN_PROGRESS;				
 				}
-				else if (USB_ControlRequest.wValue != NextTransferINTag)
+				else if (USB_ControlRequest.wValue != CurrentTransferTag)
 				{
-					TMCRequestStatus = TMC_REQUEST_STATUS_TRANSFER_NOT_IN_PROGRESS;
+					TMCRequestStatus = TMC_STATUS_TRANSFER_NOT_IN_PROGRESS;
 				}
 				else
 				{
@@ -229,7 +226,7 @@ void EVENT_USB_Device_UnhandledControlRequest(void)
 				
 				/* Write the request response bytes */
 				Endpoint_Write_Byte(TMCRequestStatus);
-				Endpoint_Write_Byte(NextTransferINTag);
+				Endpoint_Write_Byte(CurrentTransferTag);
 
 				Endpoint_ClearIN();
 				Endpoint_ClearStatusStage();
@@ -243,9 +240,9 @@ void EVENT_USB_Device_UnhandledControlRequest(void)
 				
 				/* Check that an ABORT BULK IN transaction has been requested and that the request has completed */
 				if (RequestInProgess != Req_InitiateAbortBulkIn)
-				  TMCRequestStatus = TMC_REQUEST_STATUS_SPLIT_NOT_IN_PROGRESS;
+				  TMCRequestStatus = TMC_STATUS_SPLIT_NOT_IN_PROGRESS;
 				else if (IsTMCBulkINReset)
-				  TMCRequestStatus = TMC_REQUEST_STATUS_PENDING;
+				  TMCRequestStatus = TMC_STATUS_PENDING;
 				else
 				  RequestInProgess = 0;
 				
@@ -267,7 +264,7 @@ void EVENT_USB_Device_UnhandledControlRequest(void)
 				/* Check that no split transaction is already in progress */
 				if (RequestInProgess != 0)
 				{
-					Endpoint_Write_Byte(TMC_REQUEST_STATUS_SPLIT_IN_PROGRESS);				
+					Endpoint_Write_Byte(TMC_STATUS_SPLIT_IN_PROGRESS);				
 				}
 				else
 				{
@@ -294,9 +291,9 @@ void EVENT_USB_Device_UnhandledControlRequest(void)
 				
 				/* Check that a CLEAR transaction has been requested and that the request has completed */
 				if (RequestInProgess != Req_InitiateClear)
-				  TMCRequestStatus = TMC_REQUEST_STATUS_SPLIT_NOT_IN_PROGRESS;				
+				  TMCRequestStatus = TMC_STATUS_SPLIT_NOT_IN_PROGRESS;				
 				else if (IsTMCBulkINReset || IsTMCBulkOUTReset)
-				  TMCRequestStatus = TMC_REQUEST_STATUS_PENDING;
+				  TMCRequestStatus = TMC_STATUS_PENDING;
 				else
 				  RequestInProgess = 0;
 				
@@ -337,8 +334,26 @@ void TMC_Task(void)
 	
 	if (Endpoint_IsOUTReceived())
 	{
-		// TEMP - Indicate data received
-		LEDs_SetAllLEDs(LEDS_ALL_LEDS);
+		TMC_MessageHeader_t MessageHeader;
+		
+		Endpoint_Read_Stream_LE(&MessageHeader, sizeof(MessageHeader), StreamCallback_AbortOUTOnRequest);
+		CurrentTransferTag = MessageHeader.Tag;
+
+		switch (MessageHeader.MessageID)
+		{
+			case TMC_MESSAGEID_DEV_DEP_MSG_OUT:
+
+				break;
+			case TMC_MESSAGEID_DEV_DEP_MSG_IN:
+
+				break;
+			case TMC_MESSAGEID_DEV_VENDOR_OUT:
+
+				break;
+			case TMC_MESSAGEID_DEV_VENDOR_IN:
+				break;
+		}
+		
 		Endpoint_ClearOUT();
 	}
 	
diff --git a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h
index 53f65a1bd..2d5f82f46 100644
--- a/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h
+++ b/Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h
@@ -65,18 +65,23 @@
 		#define Req_GetCapabilities                   0x07
 		#define Req_IndicatorPulse                    0x40
 		
-		#define TMC_REQUEST_STATUS_SUCCESS                   0x01
-		#define TMC_REQUEST_STATUS_PENDING                   0x02
-		#define TMC_REQUEST_STATUS_FAILED                    0x80
-		#define TMC_REQUEST_STATUS_TRANSFER_NOT_IN_PROGRESS  0x81
-		#define TMC_REQUEST_STATUS_SPLIT_NOT_IN_PROGRESS     0x82
-		#define TMC_REQUEST_STATUS_SPLIT_IN_PROGRESS         0x83
+		#define TMC_STATUS_SUCCESS                    0x01
+		#define TMC_STATUS_PENDING                    0x02
+		#define TMC_STATUS_FAILED                     0x80
+		#define TMC_STATUS_TRANSFER_NOT_IN_PROGRESS   0x81
+		#define TMC_STATUS_SPLIT_NOT_IN_PROGRESS      0x82
+		#define TMC_STATUS_SPLIT_IN_PROGRESS          0x83
+		
+		#define TMC_MESSAGEID_DEV_DEP_MSG_OUT         0x01
+		#define TMC_MESSAGEID_DEV_DEP_MSG_IN          0x02
+		#define TMC_MESSAGEID_DEV_VENDOR_OUT          0x7E
+		#define TMC_MESSAGEID_DEV_VENDOR_IN           0x7F
 
 	/* Type Defines */
 		typedef struct
 		{
 			uint8_t  Status;
-			uint8_t  _RESERVED1;
+			uint8_t  Reserved;
 
 			uint16_t TMCVersion;
 			
@@ -85,18 +90,26 @@
 				unsigned char ListenOnly             : 1;
 				unsigned char TalkOnly               : 1;
 				unsigned char PulseIndicateSupported : 1;
-				unsigned char _RESERVED              : 5;
+				unsigned char Reserved               : 5;
 			} Interface;
 			
 			struct
 			{
 				unsigned char SupportsAbortINOnMatch : 1;
-				unsigned char _RESERVED              : 7;
+				unsigned char Reserved               : 7;
 			} Device;
 			
-			uint8_t _RESERVED2[6];
-			uint8_t _RESERVED3[12];			
+			uint8_t Reserved2[6];
+			uint8_t Reserved3[12];			
 		} TMC_Capabilities_t;
+
+		typedef struct
+		{
+			uint8_t MessageID;
+			uint8_t Tag;
+			uint8_t InverseTag;
+			uint8_t Reserved;
+		} TMC_MessageHeader_t;
 		
 	/* Function Prototypes: */
 		void SetupHardware(void);
diff --git a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h
index 17e8796bc..7bee2ad75 100644
--- a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h
+++ b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.h
@@ -83,23 +83,23 @@
 			unsigned char DeviceType          : 5;
 			unsigned char PeripheralQualifier : 3;
 			
-			unsigned char _RESERVED1          : 7;
+			unsigned char Reserved            : 7;
 			unsigned char Removable           : 1;
 			
 			uint8_t       Version;
 			
 			unsigned char ResponseDataFormat  : 4;
-			unsigned char _RESERVED2          : 1;
+			unsigned char Reserved2           : 1;
 			unsigned char NormACA             : 1;
 			unsigned char TrmTsk              : 1;
 			unsigned char AERC                : 1;
 
 			uint8_t       AdditionalLength;
-			uint8_t       _RESERVED3[2];
+			uint8_t       Reserved3[2];
 
 			unsigned char SoftReset           : 1;
 			unsigned char CmdQue              : 1;
-			unsigned char _RESERVED4          : 1;
+			unsigned char Reserved4           : 1;
 			unsigned char Linked              : 1;
 			unsigned char Sync                : 1;
 			unsigned char WideBus16Bit        : 1;
@@ -121,7 +121,7 @@
 			uint8_t       SegmentNumber;
 			
 			unsigned char SenseKey            : 4;
-			unsigned char _RESERVED1          : 1;
+			unsigned char Reserved            : 1;
 			unsigned char ILI                 : 1;
 			unsigned char EOM                 : 1;
 			unsigned char FileMark            : 1;
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h b/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h
index 6656ac2d9..838e0134b 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h
+++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/TCP.h
@@ -219,7 +219,7 @@
 			uint32_t               SequenceNumber; /**< Data sequence number of the packet */
 			uint32_t               AcknowledgmentNumber; /**< Data acknowledgment number of the packet */
 			
-			unsigned char          Reserved : 4; /**< Reserved, must be all 0 */
+			unsigned char          Reserved   : 4; /**< Reserved, must be all 0 */
 			unsigned char          DataOffset : 4; /**< Offset of the data from the start of the header, in 4 byte chunks */
 			uint8_t                Flags; /**< TCP packet flags */
 			uint16_t               WindowSize; /**< Current data window size (bytes remaining in reception buffer) */
diff --git a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c
index b94bbcac7..0d8a231f2 100644
--- a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c
+++ b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c
@@ -465,7 +465,7 @@ uint8_t MassStore_ReadDeviceBlock(const uint8_t LUNIndex,
 					(BlockAddress >> 16),
 					(BlockAddress >> 8),
 					(BlockAddress & 0xFF),  // LSB of Block Address
-					0x00,                   // Unused (reserved)
+					0x00,                   // Reserved
 					0x00,                   // MSB of Total Blocks to Read
 					Blocks,                 // LSB of Total Blocks to Read
 					0x00                    // Unused (control)
diff --git a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h
index 5c1e80b51..d9e90a8da 100644
--- a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h
+++ b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h
@@ -113,7 +113,7 @@
 			uint8_t       SegmentNumber;
 			
 			unsigned char SenseKey            : 4;
-			unsigned char _RESERVED1          : 1;
+			unsigned char Reserved            : 1;
 			unsigned char ILI                 : 1;
 			unsigned char EOM                 : 1;
 			unsigned char FileMark            : 1;
@@ -136,23 +136,23 @@
 			unsigned char DeviceType          : 5;
 			unsigned char PeripheralQualifier : 3;
 			
-			unsigned char _RESERVED1          : 7;
+			unsigned char Reserved            : 7;
 			unsigned char Removable           : 1;
 			
 			uint8_t      Version;
 			
 			unsigned char ResponseDataFormat  : 4;
-			unsigned char _RESERVED2          : 1;
+			unsigned char Reserved2           : 1;
 			unsigned char NormACA             : 1;
 			unsigned char TrmTsk              : 1;
 			unsigned char AERC                : 1;
 
 			uint8_t      AdditionalLength;
-			uint8_t      _RESERVED3[2];
+			uint8_t      Reserved3[2];
 
 			unsigned char SoftReset           : 1;
 			unsigned char CmdQue              : 1;
-			unsigned char _RESERVED4          : 1;
+			unsigned char Reserved4           : 1;
 			unsigned char Linked              : 1;
 			unsigned char Sync                : 1;
 			unsigned char WideBus16Bit        : 1;
diff --git a/LUFA/Drivers/USB/Class/Common/MassStorage.h b/LUFA/Drivers/USB/Class/Common/MassStorage.h
index ade71a205..dd2da2ffb 100644
--- a/LUFA/Drivers/USB/Class/Common/MassStorage.h
+++ b/LUFA/Drivers/USB/Class/Common/MassStorage.h
@@ -246,7 +246,7 @@
 			uint8_t       SegmentNumber;
 			
 			unsigned char SenseKey            : 4;
-			unsigned char _RESERVED1          : 1;
+			unsigned char Reserved            : 1;
 			unsigned char ILI                 : 1;
 			unsigned char EOM                 : 1;
 			unsigned char FileMark            : 1;
@@ -273,23 +273,23 @@
 			unsigned char DeviceType          : 5;
 			unsigned char PeripheralQualifier : 3;
 			
-			unsigned char _RESERVED1          : 7;
+			unsigned char Reserved            : 7;
 			unsigned char Removable           : 1;
 			
 			uint8_t      Version;
 			
 			unsigned char ResponseDataFormat  : 4;
-			unsigned char _RESERVED2          : 1;
+			unsigned char Reserved2           : 1;
 			unsigned char NormACA             : 1;
 			unsigned char TrmTsk              : 1;
 			unsigned char AERC                : 1;
 
 			uint8_t      AdditionalLength;
-			uint8_t      _RESERVED3[2];
+			uint8_t      Reserved3[2];
 
 			unsigned char SoftReset           : 1;
 			unsigned char CmdQue              : 1;
-			unsigned char _RESERVED4          : 1;
+			unsigned char Reserved4           : 1;
 			unsigned char Linked              : 1;
 			unsigned char Sync                : 1;
 			unsigned char WideBus16Bit        : 1;
diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.c b/LUFA/Drivers/USB/Class/Host/MassStorage.c
index 82746cd75..14b7741db 100644
--- a/LUFA/Drivers/USB/Class/Host/MassStorage.c
+++ b/LUFA/Drivers/USB/Class/Host/MassStorage.c
@@ -546,7 +546,7 @@ uint8_t MS_Host_ReadDeviceBlocks(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
 					(BlockAddress >> 16),
 					(BlockAddress >> 8),
 					(BlockAddress & 0xFF),  // LSB of Block Address
-					0x00,                   // Unused (reserved)
+					0x00,                   // Reserved
 					0x00,                   // MSB of Total Blocks to Read
 					Blocks,                 // LSB of Total Blocks to Read
 					0x00                    // Unused (control)
@@ -590,7 +590,7 @@ uint8_t MS_Host_WriteDeviceBlocks(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo
 					(BlockAddress >> 16),
 					(BlockAddress >> 8),
 					(BlockAddress & 0xFF),  // LSB of Block Address
-					0x00,                   // Unused (reserved)
+					0x00,                   // Reserved
 					0x00,                   // MSB of Total Blocks to Write
 					Blocks,                 // LSB of Total Blocks to Write
 					0x00                    // Unused (control)
diff --git a/LUFA/ManPages/FutureChanges.txt b/LUFA/ManPages/FutureChanges.txt
index 9cb7ea92d..020779b97 100644
--- a/LUFA/ManPages/FutureChanges.txt
+++ b/LUFA/ManPages/FutureChanges.txt
@@ -25,7 +25,7 @@
   *      -# Multiple-Report HID device
   *      -# Device/Host USB bridge
   *      -# Alternative (USB-IF endorsed) USB-CDC Ethernet Class
-  *      -# USB Test and Measurement Class
+  *      -# Finish Test and Measurement Class demo
   *      -# Finish BluetoothHost demo
   *      -# Finish SideShow demo
   *      -# Finish StandaloneProgrammer project
diff --git a/Projects/TempDataLogger/Lib/DS1307.h b/Projects/TempDataLogger/Lib/DS1307.h
index d07bff439..c9fe43c3d 100644
--- a/Projects/TempDataLogger/Lib/DS1307.h
+++ b/Projects/TempDataLogger/Lib/DS1307.h
@@ -34,7 +34,7 @@
 				{
 					unsigned int Min            : 4;
 					unsigned int TenMin         : 3;
-					unsigned int _RESERVED      : 1;
+					unsigned int Reserved       : 1;
 				} Fields;
 				
 				uint8_t IntVal;
@@ -47,7 +47,7 @@
 					unsigned int Hour            : 4;
 					unsigned int TenHour         : 2;
 					unsigned int TwelveHourMode  : 1;
-					unsigned int _RESERVED       : 1;
+					unsigned int Reserved        : 1;
 				} Fields;
 				
 				uint8_t IntVal;
@@ -62,7 +62,7 @@
 				{
 					unsigned int Day             : 4;
 					unsigned int TenDay          : 2;
-					unsigned int _RESERVED       : 2;
+					unsigned int Reserved        : 2;
 				} Fields;
 			
 				uint8_t IntVal;
@@ -74,7 +74,7 @@
 				{
 					unsigned int Month           : 4;
 					unsigned int TenMonth        : 1;
-					unsigned int _RESERVED       : 3;
+					unsigned int Reserved        : 3;
 				} Fields;
 				
 				uint8_t IntVal;
-- 
GitLab