Move over message ID specific header data to unions inside the standard TMC header...
authorDean Camera <dean@fourwalledcubicle.com>
Tue, 27 Jul 2010 11:26:47 +0000 (11:26 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Tue, 27 Jul 2010 11:26:47 +0000 (11:26 +0000)
Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.c
Demos/Device/Incomplete/TestAndMeasurement/TestAndMeasurement.h
LUFA/Drivers/USB/LowLevel/Endpoint.h
Projects/TempDataLogger/TempDataLogger.c

index e002542..ab98411 100644 (file)
@@ -218,7 +218,7 @@ void EVENT_USB_Device_UnhandledControlRequest(void)
                                else\r
                                {\r
                                        /* Indicate that all in-progress/pending data IN requests should be aborted */\r
-                                       IsTMCBulkINReset  = true;\r
+                                       IsTMCBulkINReset = true;\r
                                        \r
                                        /* Save the split request for later checking when a new request is received */\r
                                        RequestInProgess = Req_InitiateAbortBulkIn;\r
@@ -338,7 +338,7 @@ void TMC_Task(void)
                \r
                Endpoint_Read_Stream_LE(&MessageHeader, sizeof(MessageHeader), StreamCallback_AbortOUTOnRequest);\r
                CurrentTransferTag = MessageHeader.Tag;\r
-\r
+               \r
                switch (MessageHeader.MessageID)\r
                {\r
                        case TMC_MESSAGEID_DEV_DEP_MSG_OUT:\r
@@ -351,6 +351,10 @@ void TMC_Task(void)
 \r
                                break;\r
                        case TMC_MESSAGEID_DEV_VENDOR_IN:\r
+\r
+                               break;\r
+                       default:\r
+                               Endpoint_StallTransaction();\r
                                break;\r
                }\r
                \r
index 2d5f82f..191eb40 100644 (file)
                        uint8_t Reserved2[6];\r
                        uint8_t Reserved3[12];                  \r
                } TMC_Capabilities_t;\r
+               \r
+               typedef struct\r
+               {\r
+                       unsigned char LastMessageTransaction : 1;\r
+                       unsigned char Reserved               : 7;\r
+\r
+                       uint8_t Reserved2[3];\r
+               } TMC_DevOUTMessageHeader_t;\r
 \r
                typedef struct\r
                {\r
-                       uint8_t MessageID;\r
-                       uint8_t Tag;\r
-                       uint8_t InverseTag;\r
-                       uint8_t Reserved;\r
+                       unsigned char TermCharEnabled        : 1;\r
+                       unsigned char Reserved               : 7;\r
+\r
+                       uint8_t TermChar;\r
+                       uint8_t Reserved2[2];\r
+               } TMC_DevINMessageHeader_t;\r
+\r
+               typedef struct\r
+               {\r
+                       uint8_t  MessageID;\r
+                       uint8_t  Tag;\r
+                       uint8_t  InverseTag;\r
+                       uint8_t  Reserved;\r
+                       uint32_t TransferSize;\r
+                       \r
+                       union\r
+                       {\r
+                               TMC_DevOUTMessageHeader_t DeviceOUT;\r
+                               TMC_DevINMessageHeader_t  DeviceIN;\r
+                               uint32_t                  VendorSpecific;\r
+                       } MessageIDSpecific;\r
                } TMC_MessageHeader_t;\r
-               \r
+\r
        /* Function Prototypes: */\r
                void SetupHardware(void);\r
                void TMC_Task(void);\r
index dd74d52..dd49b80 100644 (file)
                        #define ENDPOINT_CONTROLEP                    0
 
                        #if (!defined(FIXED_CONTROL_ENDPOINT_SIZE) || defined(__DOXYGEN__))
-                               /** Default size of the default control endpoint's bank, until altered by the Endpoint0Size valu
-                                *  in the device descriptor. Not available if the FIXED_CONTROL_ENDPOINT_SIZE token is defined.
+                               /** Default size of the default control endpoint's bank, until altered by the control endpoint bank siz
+                                *  value in the device descriptor. Not available if the FIXED_CONTROL_ENDPOINT_SIZE token is defined.
                                 */
                                #define ENDPOINT_CONTROLEP_DEFAULT_SIZE   8
                        #endif
index dd707bc..7d88ba7 100644 (file)
@@ -105,10 +105,10 @@ ISR(TIMER1_COMPA_vect, ISR_BLOCK)
        if (CurrentLoggingTicks++ < LoggingInterval500MS_SRAM)
          return;
            
-       LEDs_SetAllLEDs(LEDMASK_USB_BUSY);
-
        /* Reset log tick counter to prepare for next logging interval */
        CurrentLoggingTicks = 0;
+
+       LEDs_SetAllLEDs(LEDMASK_USB_BUSY);
        
        /* Only log when not connected to a USB host */
        if (USB_DeviceState == DEVICE_STATE_Unattached)