aboutsummaryrefslogtreecommitdiff
path: root/cores/arduino/PluggableUSB.cpp
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@arduino.cc>2015-09-29 17:59:54 +0200
committerCristian Maglie <c.maglie@arduino.cc>2015-10-02 11:59:22 +0200
commit34a75d94163b385d20b37f5cffd2ffe241c6dd7d (patch)
tree7dca425305a447f3470213f9ddcb1a64408ad94f /cores/arduino/PluggableUSB.cpp
parent7811c2ceed8827cd79811f90bc82781326de957f (diff)
[PUSB] Selected interface and endpoint are now part of PUSBListNode
The method int8_t PluggableUSB::addFunction(PUSBListNode *, uint8_t *) has been changed to bool PluggableUSB::plug(PUSBListNode *node) since both EP and Interfaces are now saved directly into node
Diffstat (limited to 'cores/arduino/PluggableUSB.cpp')
-rw-r--r--cores/arduino/PluggableUSB.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/cores/arduino/PluggableUSB.cpp b/cores/arduino/PluggableUSB.cpp
index 9dc334e..b27146b 100644
--- a/cores/arduino/PluggableUSB.cpp
+++ b/cores/arduino/PluggableUSB.cpp
@@ -68,10 +68,10 @@ bool PluggableUSB_::setup(USBSetup& setup, u8 j)
return ret;
}
-int8_t PluggableUSB_::addFunction(PUSBListNode *node, u8* interface)
+bool PluggableUSB_::plug(PUSBListNode *node)
{
if (modules_count >= MAX_MODULES) {
- return 0;
+ return false;
}
if (modules_count == 0) {
@@ -84,14 +84,15 @@ int8_t PluggableUSB_::addFunction(PUSBListNode *node, u8* interface)
current->next = node;
}
- *interface = lastIf;
+ node->pluggedInterface = lastIf;
+ node->pluggedEndpoint = lastEp;
lastIf += node->numInterfaces;
- for ( u8 i = 0; i< node->numEndpoints; i++) {
+ for (uint8_t i=0; i<node->numEndpoints; i++) {
_initEndpoints[lastEp] = node->endpointType[i];
lastEp++;
}
modules_count++;
- return lastEp - node->numEndpoints;
+ return true;
// restart USB layer???
}