aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/Class/Device/HID.c
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-07-30 14:40:42 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-07-30 14:40:42 +0000
commit7227e133a9cf8d4de1214671211a0d93edb2b4bc (patch)
tree36a4d79408968c0eb28f45e69cacff7e1ee57673 /LUFA/Drivers/USB/Class/Device/HID.c
parent72932e278000c7086073a28639e3cfae06e39eb3 (diff)
downloadlufa-7227e133a9cf8d4de1214671211a0d93edb2b4bc.tar.gz
lufa-7227e133a9cf8d4de1214671211a0d93edb2b4bc.tar.bz2
lufa-7227e133a9cf8d4de1214671211a0d93edb2b4bc.zip
Ensure that the previous HID reports in the HID device class driver are kept per-instance, rather than per-device.
Diffstat (limited to 'LUFA/Drivers/USB/Class/Device/HID.c')
-rw-r--r--LUFA/Drivers/USB/Class/Device/HID.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/LUFA/Drivers/USB/Class/Device/HID.c b/LUFA/Drivers/USB/Class/Device/HID.c
index 4c13436e0..bfe97ffbb 100644
--- a/LUFA/Drivers/USB/Class/Device/HID.c
+++ b/LUFA/Drivers/USB/Class/Device/HID.c
@@ -150,8 +150,6 @@ bool HID_Device_ConfigureEndpoints(USB_ClassInfo_HID_Device_t* const HIDInterfac
void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo)
{
- static uint8_t PreviousReportINData[HID_MAX_REPORT_SIZE];
-
if (USB_DeviceState != DEVICE_STATE_Configured)
return;
@@ -167,10 +165,10 @@ void HID_Device_USBTask(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo)
ReportINSize = CALLBACK_HID_Device_CreateHIDReport(HIDInterfaceInfo, &ReportID, ReportINData);
- bool StatesChanged = (memcmp(ReportINData, PreviousReportINData, ReportINSize) != 0);
+ bool StatesChanged = (memcmp(ReportINData, HIDInterfaceInfo->State.PreviousReportINData, ReportINSize) != 0);
bool IdlePeriodElapsed = (HIDInterfaceInfo->State.IdleCount && !(HIDInterfaceInfo->State.IdleMSRemaining));
- memcpy(PreviousReportINData, ReportINData, ReportINSize);
+ memcpy(HIDInterfaceInfo->State.PreviousReportINData, ReportINData, ReportINSize);
if (ReportINSize && (StatesChanged || IdlePeriodElapsed))
{