[HID] Now HID extends directly PluggableUSBListNode

This avoid duplicate instatiation of callback and save a
considerable amount of flash.
This commit is contained in:
Cristian Maglie 2015-09-29 17:10:48 +02:00
parent c07f988609
commit 7811c2ceed
2 changed files with 11 additions and 12 deletions

View File

@ -36,6 +36,8 @@ HIDDescriptor _hidInterface;
static HIDDescriptorListNode* rootNode = NULL;
static uint16_t sizeof_hidReportDescriptor = 0;
static uint8_t modules_count = 0;
static uint8_t epType[] = { EP_TYPE_INTERRUPT_IN };
//================================================================================
//================================================================================
// Driver
@ -132,18 +134,14 @@ bool HID_Setup(USBSetup& setup, uint8_t i)
HID_::HID_(void)
{
static uint8_t endpointType[1];
endpointType[0] = EP_TYPE_INTERRUPT_IN;
setup = &HID_Setup;
getInterface = &HID_GetInterface;
getDescriptor = &HID_GetDescriptor;
numEndpoints = 1;
numInterfaces = 1;
endpointType = epType;
static PUSBListNode node;
node.setup = &HID_Setup,
node.getInterface = &HID_GetInterface,
node.getDescriptor = &HID_GetDescriptor,
node.numEndpoints = 1,
node.numInterfaces = 1,
node.endpointType = endpointType,
HID_ENDPOINT_INT = PluggableUSB.addFunction(&node, &HID_INTERFACE);
HID_ENDPOINT_INT = PluggableUSB.addFunction(this, &HID_INTERFACE);
}
int HID_::begin(void)

View File

@ -24,6 +24,7 @@
#include <stdint.h>
#include <Arduino.h>
#include "PluggableUSB.h"
#if defined(USBCON)
@ -53,7 +54,7 @@ public:
uint16_t length;
};
class HID_
class HID_ : public PUSBListNode
{
public:
HID_(void);