projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix flip-ee DFU build target accidentally erasing the target FLASH memory space.
[pub/USBasp.git]
/
LUFA
/
Drivers
/
USB
/
Class
/
Common
/
HIDParser.c
diff --git
a/LUFA/Drivers/USB/Class/Common/HIDParser.c
b/LUFA/Drivers/USB/Class/Common/HIDParser.c
index
1d4e116
..
4b4667b
100644
(file)
--- a/
LUFA/Drivers/USB/Class/Common/HIDParser.c
+++ b/
LUFA/Drivers/USB/Class/Common/HIDParser.c
@@
-7,7
+7,7
@@
*/
/*
*/
/*
- Copyright 201
1
Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 201
2
Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
@@
-53,7
+53,7
@@
uint8_t USB_ProcessHIDReport(const uint8_t* ReportData,
while (ReportSize)
{
uint8_t HIDReportItem = *ReportData;
while (ReportSize)
{
uint8_t HIDReportItem = *ReportData;
- uint32_t ReportItemData
= 0
;
+ uint32_t ReportItemData;
ReportData++;
ReportSize--;
ReportData++;
ReportSize--;
@@
-61,20
+61,27
@@
uint8_t USB_ProcessHIDReport(const uint8_t* ReportData,
switch (HIDReportItem & HID_RI_DATA_SIZE_MASK)
{
case HID_RI_DATA_BITS_32:
switch (HIDReportItem & HID_RI_DATA_SIZE_MASK)
{
case HID_RI_DATA_BITS_32:
- ReportItemData = le32_to_cpu(*((uint32_t*)ReportData));
+ ReportItemData = (((uint32_t)ReportData[3] << 24) | ((uint32_t)ReportData[2] << 16) |
+ ((uint16_t)ReportData[1] << 8) | ReportData[0]);
ReportSize -= 4;
ReportData += 4;
break;
ReportSize -= 4;
ReportData += 4;
break;
+
case HID_RI_DATA_BITS_16:
case HID_RI_DATA_BITS_16:
- ReportItemData =
le16_to_cpu(*((uint16_t*)ReportData
));
+ ReportItemData =
(((uint16_t)ReportData[1] << 8) | (ReportData[0]
));
ReportSize -= 2;
ReportData += 2;
break;
ReportSize -= 2;
ReportData += 2;
break;
+
case HID_RI_DATA_BITS_8:
case HID_RI_DATA_BITS_8:
- ReportItemData =
*((uint8_t*)ReportData)
;
+ ReportItemData =
ReportData[0]
;
ReportSize -= 1;
ReportData += 1;
break;
ReportSize -= 1;
ReportData += 1;
break;
+
+ default:
+ ReportItemData = 0;
+ break;
}
switch (HIDReportItem & (HID_RI_TYPE_MASK | HID_RI_TAG_MASK))
}
switch (HIDReportItem & (HID_RI_TYPE_MASK | HID_RI_TAG_MASK))
@@
-268,6
+275,9
@@
uint8_t USB_ProcessHIDReport(const uint8_t* ReportData,
}
break;
}
break;
+
+ default:
+ break;
}
if ((HIDReportItem & HID_RI_TYPE_MASK) == HID_RI_TYPE_MAIN)
}
if ((HIDReportItem & HID_RI_TYPE_MASK) == HID_RI_TYPE_MAIN)