aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@arduino.cc>2015-09-22 01:40:35 +0200
committerCristian Maglie <c.maglie@arduino.cc>2015-09-22 16:51:30 +0200
commit5a5cf764db88d148f3778a45ec1f9bae1899b3c3 (patch)
treed58c9d8b70d4a12bfe77824306d726c43234313f
parent9b9bf9532471abf373b36e9336a951ad5021fc3a (diff)
HID: merged HID_Descriptor into HIDDescriptorListNode
This simplifies the object model and produce a small gain in code size and performance.
-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 c1b5fdf..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->descriptor->data,current->descriptor->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->descriptor->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 760090a..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* data;
-} HID_Descriptor;
-
class HIDDescriptorListNode {
public:
HIDDescriptorListNode *next = NULL;
- const HID_Descriptor *descriptor;
- HIDDescriptorListNode(const HID_Descriptor *d) : descriptor(d) { }
+ HIDDescriptorListNode(const void *d, uint16_t l) : data(d), length(l) { }
+
+ const void* data;
+ uint16_t length;
};
class HID_