Merge branch 'pluggable_hid_impr' of https://github.com/cmaglie/Arduino

This commit is contained in:
Cristian Maglie 2015-09-28 12:06:35 +02:00
commit dfe6048175
2 changed files with 6 additions and 9 deletions

View File

@ -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)

View File

@ -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_