aboutsummaryrefslogtreecommitdiff
path: root/libraries/HID
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@arduino.cc>2015-09-28 12:06:35 +0200
committerCristian Maglie <c.maglie@arduino.cc>2015-09-28 12:06:35 +0200
commitdfe6048175f6a0c89e27cfa7a625bcf11a81fb33 (patch)
tree132543322726e2ea61a8275549c27f70d83b6492 /libraries/HID
parentd508e4dc54e2928fc8a8a9260d317b8651dbde52 (diff)
parent5a5cf764db88d148f3778a45ec1f9bae1899b3c3 (diff)
Merge branch 'pluggable_hid_impr' of https://github.com/cmaglie/Arduino
Diffstat (limited to 'libraries/HID')
-rw-r--r--libraries/HID/HID.cpp4
-rw-r--r--libraries/HID/HID.h11
2 files changed, 6 insertions, 9 deletions
diff --git a/libraries/HID/HID.cpp b/libraries/HID/HID.cpp
index c5954ed..8533f08 100644
--- a/libraries/HID/HID.cpp
+++ b/libraries/HID/HID.cpp
@@ -61,7 +61,7 @@ int HID_GetDescriptor(int8_t t)
HIDDescriptorListNode* current = rootNode;
int total = 0;
while(current != NULL) {
- total += USB_SendControl(TRANSFER_PGM,current->cb->descriptor,current->cb->length);
+ total += USB_SendControl(TRANSFER_PGM,current->data,current->length);
current = current->next;
}
return total;
@@ -82,7 +82,7 @@ void HID_::AppendDescriptor(HIDDescriptorListNode *node)
current->next = node;
}
modules_count++;
- sizeof_hidReportDescriptor += (uint16_t)node->cb->length;
+ sizeof_hidReportDescriptor += (uint16_t)node->length;
}
void HID_::SendReport(u8 id, const void* data, int len)
diff --git a/libraries/HID/HID.h b/libraries/HID/HID.h
index b9f29b4..1a87bb7 100644
--- a/libraries/HID/HID.h
+++ b/libraries/HID/HID.h
@@ -44,16 +44,13 @@
#define HID_REPORT_DESCRIPTOR_TYPE 0x22
#define HID_PHYSICAL_DESCRIPTOR_TYPE 0x23
-typedef struct __attribute__((packed)) {
- uint16_t length;
- const void* descriptor;
-} HID_Descriptor;
-
class HIDDescriptorListNode {
public:
HIDDescriptorListNode *next = NULL;
- const HID_Descriptor * cb;
- HIDDescriptorListNode(const HID_Descriptor *ncb) {cb = ncb;}
+ HIDDescriptorListNode(const void *d, uint16_t l) : data(d), length(l) { }
+
+ const void* data;
+ uint16_t length;
};
class HID_