diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2009-07-28 15:14:54 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2009-07-28 15:14:54 +0000 |
commit | 7f3f39b5750b9ac877798f41efcf82d931d657f8 (patch) | |
tree | 8367df3c332b382b5a2122dccabdbaf2d80a1cc1 /Demos/Host/LowLevel | |
parent | 3472af91a5c167cf243335fa32b5284a4a796e39 (diff) | |
download | lufa-7f3f39b5750b9ac877798f41efcf82d931d657f8.tar.gz lufa-7f3f39b5750b9ac877798f41efcf82d931d657f8.tar.bz2 lufa-7f3f39b5750b9ac877798f41efcf82d931d657f8.zip |
Fixed report data alignment issues in the MouseHostWithParser demo when X and Y movement data size is not a multiple of 8 bits.
Fixed HID Report Descriptor Parser not correctly resetting internal states when a REPORT ID element is encountered.
Diffstat (limited to 'Demos/Host/LowLevel')
-rw-r--r-- | Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.c b/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.c index 63fce0dcb..8ea5e7201 100644 --- a/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.c +++ b/Demos/Host/LowLevel/MouseHostWithParser/MouseHostWithParser.c @@ -260,12 +260,7 @@ void ProcessMouseReport(uint8_t* MouseReport) if (!(FoundData))
continue;
- int16_t DeltaMovement;
-
- if (ReportItem->Attributes.BitSize > 8)
- DeltaMovement = (int16_t)ReportItem->Value;
- else
- DeltaMovement = (int8_t)ReportItem->Value;
+ int16_t DeltaMovement = (int16_t)(ReportItem->Value << (16 - ReportItem->Attributes.BitSize));
/* Determine if the report is for the X or Y delta movement */
if (ReportItem->Attributes.Usage.Usage == USAGE_X)
|