diff options
Diffstat (limited to 'libraries/HID/HID.cpp')
-rw-r--r-- | libraries/HID/HID.cpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/libraries/HID/HID.cpp b/libraries/HID/HID.cpp index ec28424..0658711 100644 --- a/libraries/HID/HID.cpp +++ b/libraries/HID/HID.cpp @@ -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; - - 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); + setup = &HID_Setup; + getInterface = &HID_GetInterface; + getDescriptor = &HID_GetDescriptor; + numEndpoints = 1; + numInterfaces = 1; + endpointType = epType; + + HID_ENDPOINT_INT = PluggableUSB.addFunction(this, &HID_INTERFACE); } int HID_::begin(void) |