From f8b2d8acb3ff0bd12d40d428659401c851d6e8ba Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Wed, 30 Sep 2015 17:13:54 +0200 Subject: [HID] Removed static fields in HID class There is still the epType[] array to be handled in some way. --- libraries/HID/HID.cpp | 26 +++++++------------------- libraries/HID/HID.h | 13 ++++++------- 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/libraries/HID/HID.cpp b/libraries/HID/HID.cpp index d358f45..10cd5a6 100644 --- a/libraries/HID/HID.cpp +++ b/libraries/HID/HID.cpp @@ -23,24 +23,6 @@ HID_ HID; -//================================================================================ -//================================================================================ -// HID Interface - -HIDDescriptor HID_::hidInterface; - -HIDDescriptorListNode* HID_::rootNode = NULL; -uint16_t HID_::sizeof_hidReportDescriptor = 0; -uint8_t HID_::modules_count = 0; -uint8_t HID_::epType[] = { EP_TYPE_INTERRUPT_IN }; - -//================================================================================ -//================================================================================ -// Driver - -uint8_t HID_::protocol = 1; -uint8_t HID_::idle = 1; - int HID_::getInterface(uint8_t* interfaceNum) { interfaceNum[0] += 1; // uses 1 @@ -128,7 +110,13 @@ bool HID_::setup(USBSetup& setup, uint8_t i) } } -HID_::HID_(void) : PUSBListNode(1, 1, epType) +// XXX: I've found no way to pass literal value directly in +// the PUSBListNode constructor +static uint8_t epTypeDef[] = { EP_TYPE_INTERRUPT_IN }; + +HID_::HID_(void) : PUSBListNode(1, 1, epTypeDef), + rootNode(NULL), sizeof_hidReportDescriptor(0), + modules_count(0), protocol(1), idle(1) { // XXX: Shall this be done in PUSBListNode(...) constructor? PluggableUSB.plug(this); diff --git a/libraries/HID/HID.h b/libraries/HID/HID.h index 1c8e2fc..bff51bb 100644 --- a/libraries/HID/HID.h +++ b/libraries/HID/HID.h @@ -87,15 +87,14 @@ protected: bool setup(USBSetup& setup, uint8_t i); private: - static HIDDescriptor hidInterface; + HIDDescriptor hidInterface; - static HIDDescriptorListNode* rootNode; - static uint16_t sizeof_hidReportDescriptor; - static uint8_t modules_count; - static uint8_t epType[]; + HIDDescriptorListNode* rootNode; + uint16_t sizeof_hidReportDescriptor; + uint8_t modules_count; - static uint8_t protocol; - static uint8_t idle; + uint8_t protocol; + uint8_t idle; }; #define D_HIDREPORT(_descriptorLength) \ -- cgit v1.2.3-18-g5258