Make HID device class driver reselect the correct endpoint after the user callbacks...
authorDean Camera <dean@fourwalledcubicle.com>
Mon, 26 Oct 2009 05:27:59 +0000 (05:27 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Mon, 26 Oct 2009 05:27:59 +0000 (05:27 +0000)
LUFA/Drivers/USB/Class/Device/HID.c
LUFA/ManPages/ChangeLog.txt
LUFA/ManPages/FutureChanges.txt
LUFA/ManPages/LibraryResources.txt
LUFA/makefile

index a99c264..403d494 100644 (file)
@@ -56,6 +56,7 @@ void HID_Device_ProcessControlRequest(USB_ClassInfo_HID_Device_t* const HIDInter
                                CALLBACK_HID_Device_CreateHIDReport(HIDInterfaceInfo, &ReportID,\r
                                                                    HIDInterfaceInfo->Config.PrevReportINBuffer, &ReportINSize);\r
 \r
+                               Endpoint_SelectEndpoint(ENDPOINT_CONTROLEP);\r
                                Endpoint_Write_Control_Stream_LE(HIDInterfaceInfo->Config.PrevReportINBuffer, ReportINSize);\r
                                Endpoint_ClearOUT();\r
                        }\r
@@ -167,6 +168,8 @@ void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo)
                {\r
                        HIDInterfaceInfo->State.IdleMSRemaining = HIDInterfaceInfo->State.IdleCount;\r
 \r
+                       Endpoint_SelectEndpoint(HIDInterfaceInfo->Config.ReportINEndpointNumber);\r
+\r
                        if (ReportID)\r
                          Endpoint_Write_Byte(ReportID);\r
 \r
index fd70eb0..7b50da9 100644 (file)
@@ -34,6 +34,7 @@
   *  - Fixed ClassDriver AudioOutput device demo not selecting an audio output mode\r
   *  - Fixed incorrect SampleFrequencyType value in the AudioInput and AudioOutput ClassDriver demos' descriptors\r
   *  - Fixed incorrect event name rule in demo/project/bootloader makefiles\r
+  *  - Fixed HID device class driver not reselecting the correct endpoint once the user callback routines have been called\r
   *\r
   *  \section Sec_ChangeLog090924 Version 090924\r
   *\r
index ea93258..f1f2a8c 100644 (file)
@@ -21,7 +21,6 @@
   *  - Add detailed overviews of how each demo works\r
   *  - Master LUFA include file rather than per-module includes\r
   *  - Change makefiles to allow for absolute LUFA location to be used\r
-  *  - Abstract out the physical media from the Mass Storage device demos\r
   *  - Add RNDIS Host Class driver\r
   *  - Add unit testing to APIs\r
   *  - Make new demos\r
index a1005d4..759a8c0 100644 (file)
@@ -11,6 +11,7 @@
  *  Development Blog: http://www.fourwalledcubicle.com/blog \n\r
  *  Discussion Group: http://groups.google.com/group/myusb-support-list \n\r
  *  SVN Access, Bug Reports and Feature Requests: http://code.google.com/p/lufa-lib/ \n\r
+ *  Git Access: http://github.com/abcminiuser/lufa-lib\r
  *  Author's Website: http://www.fourwalledcubicle.com \n\r
  *\r
  *  WinAVR Website: http://winavr.sourceforge.net \n\r
index 4e9b8ca..c668399 100644 (file)
@@ -38,7 +38,7 @@ LUFA_Events.lst:
        @echo Generating LUFA event name list...\r
        @$(shell) cat `find ./ -name "*.h"` | grep -E "EVENT_[^\(]*\(" | \\r
                      sed -n -e 's/^.*EVENT_/EVENT_/p' | \\r
-                     cut -d'(' -f1 | sort | uniq > LUFA_Events.lst\r
+                     cut -d'(' -f1 | sort | uniq | tee LUFA_Events.lst\r
                                  \r
 all: LUFA_Events.lst\r
 \r