diff options
author | e-chip <egor.gorlin@gmail.com> | 2016-09-28 14:12:33 +0600 |
---|---|---|
committer | e-chip <egor.gorlin@gmail.com> | 2016-09-28 14:12:33 +0600 |
commit | 66db760a3338667bfdd02eb24e0e7f1319ca3ec1 (patch) | |
tree | 89410fcdef931c6f9a3b515bb4f260623b2979b2 | |
parent | def392aca09dd0d5a29c1c390accb44ff76db280 (diff) | |
download | lufa-66db760a3338667bfdd02eb24e0e7f1319ca3ec1.tar.gz lufa-66db760a3338667bfdd02eb24e0e7f1319ca3ec1.tar.bz2 lufa-66db760a3338667bfdd02eb24e0e7f1319ca3ec1.zip |
Fix USB_SetHIDReportItemInfo() function.
Bits applying loop worked incorrect on large reports. Seems to me like a
copy/paste problem from USB_GetHIDReportItemInfo().
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/HIDParser.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/LUFA/Drivers/USB/Class/Common/HIDParser.c b/LUFA/Drivers/USB/Class/Common/HIDParser.c index c01ceaf78..00100a64a 100644 --- a/LUFA/Drivers/USB/Class/Common/HIDParser.c +++ b/LUFA/Drivers/USB/Class/Common/HIDParser.c @@ -364,8 +364,8 @@ void USB_SetHIDReportItemInfo(uint8_t* ReportData, while (DataBitsRem--) { - if (ReportItem->Value & (1 << (CurrentBit % 8))) - ReportData[CurrentBit / 8] |= BitMask; + if (ReportItem->Value & BitMask) + ReportData[CurrentBit / 8] |= (1 << (CurrentBit % 8)); CurrentBit++; BitMask <<= 1; |