Fixed Device mode HID Class driver always sending IN reports, even when no data is to be reported.

This commit is contained in:
Dean Camera 2009-08-27 06:36:01 +00:00
parent 8ea5c631c8
commit 665fe11f12
2 changed files with 4 additions and 3 deletions

View File

@ -168,12 +168,12 @@ void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo)
HIDInterfaceInfo->State.IdleMSRemaining = HIDInterfaceInfo->State.IdleCount; HIDInterfaceInfo->State.IdleMSRemaining = HIDInterfaceInfo->State.IdleCount;
if (ReportID) if (ReportID)
Endpoint_Write_Stream_LE(&ReportID, sizeof(ReportID), NO_STREAM_CALLBACK); Endpoint_Write_Byte(ReportID);
Endpoint_Write_Stream_LE(ReportINData, ReportINSize, NO_STREAM_CALLBACK); Endpoint_Write_Stream_LE(ReportINData, ReportINSize, NO_STREAM_CALLBACK);
Endpoint_ClearIN();
} }
Endpoint_ClearIN();
} }
} }

View File

@ -39,6 +39,7 @@
* - Fixed invalid data being returned when a GetStatus request is issued in Device mode with an unhandled data recipient * - Fixed invalid data being returned when a GetStatus request is issued in Device mode with an unhandled data recipient
* - Added hardware USART receive interrupt and software buffering to the Benito project to ensure received data is not * - Added hardware USART receive interrupt and software buffering to the Benito project to ensure received data is not
* missed or corrupted * missed or corrupted
* - Fixed Device mode HID Class driver always sending IN packets, even when nothing to report
* *
* *
* \section Sec_ChangeLog090810 Version 090810 * \section Sec_ChangeLog090810 Version 090810