aboutsummaryrefslogtreecommitdiff
path: root/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'libraries')
-rw-r--r--libraries/HID/HID.cpp26
-rw-r--r--libraries/HID/HID.h13
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) \