aboutsummaryrefslogtreecommitdiff
path: root/cores/arduino/PluggableUSB.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cores/arduino/PluggableUSB.cpp')
-rw-r--r--cores/arduino/PluggableUSB.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/cores/arduino/PluggableUSB.cpp b/cores/arduino/PluggableUSB.cpp
index 2c7221d..a8c69d4 100644
--- a/cores/arduino/PluggableUSB.cpp
+++ b/cores/arduino/PluggableUSB.cpp
@@ -25,21 +25,17 @@
#define MAX_MODULES 6
-static uint8_t lastIf = CDC_ACM_INTERFACE + CDC_INTERFACE_COUNT;
-static uint8_t lastEp = CDC_FIRST_ENDPOINT + CDC_ENPOINT_COUNT;
-
extern uint8_t _initEndpoints[];
//PUSBCallbacks cbs[MAX_MODULES];
-static uint8_t modules_count = 0;
-static PUSBListNode* rootNode = NULL;
+PluggableUSB_ PluggableUSB;
int PluggableUSB_::getInterface(uint8_t* interfaceNum)
{
int ret = 0;
PUSBListNode* node = rootNode;
- for (uint8_t i=0; i<modules_count; i++) {
+ for (uint8_t i=0; i<modulesCount; i++) {
ret = node->getInterface(interfaceNum);
node = node->next;
}
@@ -50,7 +46,7 @@ int PluggableUSB_::getDescriptor(int8_t t)
{
int ret = 0;
PUSBListNode* node = rootNode;
- for (uint8_t i=0; i<modules_count && ret == 0; i++) {
+ for (uint8_t i=0; i<modulesCount && ret == 0; i++) {
ret = node->getDescriptor(t);
node = node->next;
}
@@ -61,7 +57,7 @@ bool PluggableUSB_::setup(USBSetup& setup, uint8_t j)
{
bool ret = false;
PUSBListNode* node = rootNode;
- for (uint8_t i=0; i<modules_count && ret == false; i++) {
+ for (uint8_t i=0; i<modulesCount && ret == false; i++) {
ret = node->setup(setup, j);
node = node->next;
}
@@ -70,11 +66,11 @@ bool PluggableUSB_::setup(USBSetup& setup, uint8_t j)
bool PluggableUSB_::plug(PUSBListNode *node)
{
- if (modules_count >= MAX_MODULES) {
+ if (modulesCount >= MAX_MODULES) {
return false;
}
- if (modules_count == 0) {
+ if (modulesCount == 0) {
rootNode = node;
} else {
PUSBListNode *current = rootNode;
@@ -91,11 +87,18 @@ bool PluggableUSB_::plug(PUSBListNode *node)
_initEndpoints[lastEp] = node->endpointType[i];
lastEp++;
}
- modules_count++;
+ modulesCount++;
return true;
// restart USB layer???
}
+PluggableUSB_::PluggableUSB_() : lastIf(CDC_ACM_INTERFACE + CDC_INTERFACE_COUNT),
+ lastEp(CDC_FIRST_ENDPOINT + CDC_ENPOINT_COUNT),
+ modulesCount(0), rootNode(NULL)
+{
+ // Empty
+}
+
#endif
#endif /* if defined(USBCON) */