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