diff --git a/Readme.md b/Readme.md index 34c0fc3..8d4da5f 100644 --- a/Readme.md +++ b/Readme.md @@ -49,6 +49,9 @@ www.nicohood.de Version History =============== ``` +2.4.2 Release (xx.xx.2016) +* RawHID >64 byte fix + 2.4.1 Release (19.12.2015) * RawHID Improvements * Added Keyboard Feature Report diff --git a/src/SingleReport/BootKeyboard.cpp b/src/SingleReport/BootKeyboard.cpp index 0261b41..81e3c8c 100644 --- a/src/SingleReport/BootKeyboard.cpp +++ b/src/SingleReport/BootKeyboard.cpp @@ -152,7 +152,7 @@ bool BootKeyboard_::setup(USBSetup& setup) // except the host tries to send more then 32k bytes. // We dont have that much ram anyways. if (length == featureLength) { - USB_RecvControl(featureReport, featureLength); + USB_RecvControlLong(featureReport, featureLength); // Block until data is read (make length negative) disableFeatureReport(); @@ -164,7 +164,7 @@ bool BootKeyboard_::setup(USBSetup& setup) // Output (set led states) else if(setup.wValueH == HID_REPORT_TYPE_OUTPUT){ if(length == sizeof(leds)){ - USB_RecvControl(&leds, length); + USB_RecvControlLong(&leds, length); return true; } } @@ -173,7 +173,7 @@ bool BootKeyboard_::setup(USBSetup& setup) else if(setup.wValueH == HID_REPORT_TYPE_INPUT) { if(length == sizeof(_keyReport)){ - USB_RecvControl(&_keyReport, length); + USB_RecvControlLong(&_keyReport, length); return true; } } diff --git a/src/SingleReport/RawHID.cpp b/src/SingleReport/RawHID.cpp index d4aa4d1..1f9a4de 100644 --- a/src/SingleReport/RawHID.cpp +++ b/src/SingleReport/RawHID.cpp @@ -123,7 +123,7 @@ bool RawHID_::setup(USBSetup& setup) // except the host tries to send more then 32k bytes. // We dont have that much ram anyways. if (length == featureLength) { - USB_RecvControl(featureReport, featureLength); + USB_RecvControlLong(featureReport, featureLength); // Block until data is read (make length negative) disableFeatureReport(); @@ -135,7 +135,7 @@ bool RawHID_::setup(USBSetup& setup) else if(setup.wValueH == HID_REPORT_TYPE_OUTPUT){ if(!dataAvailable && length <= dataLength){ // Write data to fit to the end (not the beginning) of the array - USB_RecvControl(data + dataLength - length, length); + USB_RecvControlLong(data + dataLength - length, length); dataAvailable = length; return true; }