Finally changes SetReportData function to int

This was required since available() of stream also uses int and not uint16_t sadly
This commit is contained in:
NicoHood 2015-09-22 21:25:11 +02:00
parent f42b37ca8e
commit 700ca71cf8
9 changed files with 12 additions and 12 deletions

View file

@ -116,7 +116,7 @@ void Keyboard_::send_now(void){
}
#if defined(HID_KEYBOARD_LEDS_ENABLED)
void Keyboard_::setReportData(void* &data, uint16_t len){
void Keyboard_::setReportData(void* &data, int len){
// Save led state
if(len == 2)
leds = *(uint8_t*)(data+1);

View file

@ -56,7 +56,7 @@ private:
HID_KeyboardReport_Data_t _keyReport;
void sendReport(HID_KeyboardReport_Data_t* keys);
#if defined(HID_KEYBOARD_LEDS_ENABLED)
virtual void setReportData(void* &data, uint16_t len);
virtual void setReportData(void* &data, int len);
uint8_t leds;
#endif
public:

View file

@ -121,7 +121,7 @@ void NKROKeyboard_::send_now(void){
}
#if defined(HID_KEYBOARD_LEDS_ENABLED)
void NKROKeyboard_::setReportData(void* &data, uint16_t len){
void NKROKeyboard_::setReportData(void* &data, int len){
// Save led state
if(len == 2)
leds = *(uint8_t*)(data+1);

View file

@ -56,7 +56,7 @@ protected:
HID_NKROKeyboardReport_Data_t _keyReport;
void sendReport(HID_NKROKeyboardReport_Data_t* keys);
#if defined(HID_KEYBOARD_LEDS_ENABLED)
virtual void setReportData(void* &data, uint16_t len);
virtual void setReportData(void* &data, int len);
uint8_t leds;
#endif
public:

View file

@ -167,14 +167,14 @@ bool HID_::HID_Setup(USBSetup& setup, u8 i)
if(current->reportID == ID)
{
// Get the data length information and the corresponding bytes
uint16_t length = (setup.wValueH << 8) | setup.wLength;
int length = ((setup.wValueH << 8) | setup.wLength);
// Ensure that there IS some data TODO needed?
if(length)
// Ensure that there IS some data
if(length > 0)
{
void* data = malloc(length);
if(data){
uint16_t recvLength = length;
auto recvLength = length;
//TODO loop can be improved maybe? Or does the compiler do this already?
while(recvLength > USB_EP_SIZE){
USB_RecvControl(data + (length - recvLength), USB_EP_SIZE);

View file

@ -20,7 +20,7 @@ void HIDDevice::SendRawReport(const void* data, int len){
HID.SendReport(HID_REPORTID_NONE, data, len);
}
void HIDDevice::setReportData(void* &data, uint16_t len){
void HIDDevice::setReportData(void* &data, int len){
// Discard this information if its not implemented by the HIDDevice
}

View file

@ -49,7 +49,7 @@ public:
const uint16_t descriptorLength;
const uint8_t reportID;
virtual void setReportData(void* &data, uint16_t len);
virtual void setReportData(void* &data, int len);
protected:
// Could be used and inherited public for custom, professional usage, like raw Keyboard

View file

@ -30,7 +30,7 @@ HIDDevice((uint8_t*)teensykeyboard_hid_report_desc, sizeof(teensykeyboard_hid_re
}
#if defined(HID_KEYBOARD_LEDS_ENABLED)
void usb_keyboard_class::setReportData(void* &data, uint16_t len){
void usb_keyboard_class::setReportData(void* &data, int len){
// Save led state
if(len == 2)
leds = *(uint8_t*)(data+1);

View file

@ -128,7 +128,7 @@ class usb_keyboard_class : public Print, private HIDDevice
uint8_t keyboard_report_data[8];
#if defined(HID_KEYBOARD_LEDS_ENABLED)
virtual void setReportData(void* &data, uint16_t len);
virtual void setReportData(void* &data, int len);
uint8_t leds;
#endif
};