aboutsummaryrefslogtreecommitdiff
path: root/libraries/HID/HID.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/HID/HID.cpp')
-rw-r--r--libraries/HID/HID.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/libraries/HID/HID.cpp b/libraries/HID/HID.cpp
index a871415..a109574 100644
--- a/libraries/HID/HID.cpp
+++ b/libraries/HID/HID.cpp
@@ -35,19 +35,23 @@ int HID_::getInterface(uint8_t* interfaceNum)
return USB_SendControl(0, &hidInterface, sizeof(hidInterface));
}
-int HID_::getDescriptor(int8_t t)
+int HID_::getDescriptor(int8_t type)
{
- if (HID_REPORT_DESCRIPTOR_TYPE == t) {
+ if (HID_REPORT_DESCRIPTOR_TYPE == type) {
HIDDescriptorListNode* current = rootNode;
int total = 0;
- while(current != NULL) {
- total += USB_SendControl(TRANSFER_PGM,current->data,current->length);
+ while (current != NULL) {
+ int res = USB_SendControl(TRANSFER_PGM, current->data, current->length);
+ if (res == -1)
+ return -1;
+ total += res;
current = current->next;
}
return total;
- } else {
- return 0;
}
+
+ // Ignored
+ return 0;
}
void HID_::AppendDescriptor(HIDDescriptorListNode *node)
@@ -71,9 +75,9 @@ void HID_::SendReport(uint8_t id, const void* data, int len)
USB_Send(endpoint() | TRANSFER_RELEASE,data,len);
}
-bool HID_::setup(USBSetup& setup, uint8_t i)
+bool HID_::setup(USBSetup& setup, uint8_t interfaceNum)
{
- if (interface() != i) {
+ if (interface() != interfaceNum) {
return false;
} else {
uint8_t r = setup.bRequest;