Make HID device class driver reselect the correct endpoint after the user callbacks...
[pub/USBasp.git] / LUFA / Drivers / USB / LowLevel / Endpoint.c
index e4d0140..67e9457 100644 (file)
@@ -76,7 +76,7 @@ void Endpoint_ClearStatusStage(void)
        if (USB_ControlRequest.bmRequestType & REQDIR_DEVICETOHOST)\r
        {\r
                while (!(Endpoint_IsOUTReceived()))\r
-               {                               \r
+               {\r
                        if (USB_DeviceState == DEVICE_STATE_Unattached)\r
                          return;\r
                }\r
@@ -208,60 +208,70 @@ uint8_t Endpoint_Discard_Stream(uint16_t Length
 }\r
 \r
 #define  TEMPLATE_FUNC_NAME                        Endpoint_Write_Stream_LE\r
+#define  TEMPLATE_BUFFER_TYPE                      const void*\r
 #define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearIN()\r
 #define  TEMPLATE_BUFFER_OFFSET(Length)            0\r
 #define  TEMPLATE_TRANSFER_BYTE(BufferPtr)         Endpoint_Write_Byte(*(BufferPtr++))\r
 #include "Template/Template_Endpoint_RW.c"\r
 \r
 #define  TEMPLATE_FUNC_NAME                        Endpoint_Write_PStream_LE\r
+#define  TEMPLATE_BUFFER_TYPE                      const void*\r
 #define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearIN()\r
 #define  TEMPLATE_BUFFER_OFFSET(Length)            0\r
 #define  TEMPLATE_TRANSFER_BYTE(BufferPtr)         Endpoint_Write_Byte(pgm_read_byte(BufferPtr++))\r
 #include "Template/Template_Endpoint_RW.c"\r
 \r
 #define  TEMPLATE_FUNC_NAME                        Endpoint_Write_EStream_LE\r
+#define  TEMPLATE_BUFFER_TYPE                      const void*\r
 #define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearIN()\r
 #define  TEMPLATE_BUFFER_OFFSET(Length)            0\r
 #define  TEMPLATE_TRANSFER_BYTE(BufferPtr)         Endpoint_Write_Byte(eeprom_read_byte(BufferPtr++))\r
 #include "Template/Template_Endpoint_RW.c"\r
 \r
 #define  TEMPLATE_FUNC_NAME                        Endpoint_Write_Stream_BE\r
+#define  TEMPLATE_BUFFER_TYPE                      const void*\r
 #define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearIN()\r
 #define  TEMPLATE_BUFFER_OFFSET(Length)            Length - 1\r
 #define  TEMPLATE_TRANSFER_BYTE(BufferPtr)         Endpoint_Write_Byte(*(BufferPtr--))\r
 #include "Template/Template_Endpoint_RW.c"\r
 \r
 #define  TEMPLATE_FUNC_NAME                        Endpoint_Write_EStream_BE\r
+#define  TEMPLATE_BUFFER_TYPE                      const void*\r
 #define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearIN()\r
 #define  TEMPLATE_BUFFER_OFFSET(Length)            Length - 1\r
 #define  TEMPLATE_TRANSFER_BYTE(BufferPtr)         Endpoint_Write_Byte(eeprom_read_byte(BufferPtr--))\r
 #include "Template/Template_Endpoint_RW.c"\r
 \r
 #define  TEMPLATE_FUNC_NAME                        Endpoint_Write_PStream_BE\r
+#define  TEMPLATE_BUFFER_TYPE                      const void*\r
 #define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearIN()\r
 #define  TEMPLATE_BUFFER_OFFSET(Length)            Length - 1\r
 #define  TEMPLATE_TRANSFER_BYTE(BufferPtr)         Endpoint_Write_Byte(pgm_read_byte(BufferPtr--))\r
 #include "Template/Template_Endpoint_RW.c"\r
 \r
 #define  TEMPLATE_FUNC_NAME                        Endpoint_Read_Stream_LE\r
+#define  TEMPLATE_BUFFER_TYPE                      void*\r
 #define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearOUT()\r
 #define  TEMPLATE_BUFFER_OFFSET(Length)            0\r
 #define  TEMPLATE_TRANSFER_BYTE(BufferPtr)         *(BufferPtr++) = Endpoint_Read_Byte()\r
 #include "Template/Template_Endpoint_RW.c"\r
 \r
 #define  TEMPLATE_FUNC_NAME                        Endpoint_Read_EStream_LE\r
+#define  TEMPLATE_BUFFER_TYPE                      void*\r
 #define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearOUT()\r
 #define  TEMPLATE_BUFFER_OFFSET(Length)            0\r
 #define  TEMPLATE_TRANSFER_BYTE(BufferPtr)         eeprom_write_byte(BufferPtr++, Endpoint_Read_Byte())\r
 #include "Template/Template_Endpoint_RW.c"\r
 \r
 #define  TEMPLATE_FUNC_NAME                        Endpoint_Read_Stream_BE\r
+#define  TEMPLATE_BUFFER_TYPE                      void*\r
 #define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearOUT()\r
 #define  TEMPLATE_BUFFER_OFFSET(Length)            Length - 1\r
 #define  TEMPLATE_TRANSFER_BYTE(BufferPtr)         *(BufferPtr--) = Endpoint_Read_Byte()\r
 #include "Template/Template_Endpoint_RW.c"\r
 \r
 #define  TEMPLATE_FUNC_NAME                        Endpoint_Read_EStream_BE\r
+#define  TEMPLATE_BUFFER_TYPE                      void*\r
 #define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearOUT()\r
 #define  TEMPLATE_BUFFER_OFFSET(Length)            Length - 1\r
 #define  TEMPLATE_TRANSFER_BYTE(BufferPtr)         eeprom_write_byte(BufferPtr--, Endpoint_Read_Byte())\r