diff options
author | Cristian Maglie <c.maglie@arduino.cc> | 2015-09-29 16:40:27 +0200 |
---|---|---|
committer | Cristian Maglie <c.maglie@arduino.cc> | 2015-10-02 11:59:22 +0200 |
commit | 7302965552a77c1af000e3870848b3cc35670c51 (patch) | |
tree | 90cbf977f606bfe0dc4cdd465a655e83283aa210 /cores | |
parent | 2aaef8cdad53b645cf8b2a6a0b2194115b970cfa (diff) |
[PUSB] PUSBCallback struct has been merged into PUSBListNode
This slightly simplifies PluggableUSB API.
Diffstat (limited to 'cores')
-rw-r--r-- | cores/arduino/PluggableUSB.cpp | 16 | ||||
-rw-r--r-- | cores/arduino/PluggableUSB.h | 9 |
2 files changed, 11 insertions, 14 deletions
diff --git a/cores/arduino/PluggableUSB.cpp b/cores/arduino/PluggableUSB.cpp index 857a27f..9597adc 100644 --- a/cores/arduino/PluggableUSB.cpp +++ b/cores/arduino/PluggableUSB.cpp @@ -40,7 +40,7 @@ int PUSB_GetInterface(u8* interfaceNum) int ret = 0; PUSBListNode* node = rootNode; for (u8 i=0; i<modules_count; i++) { - ret = node->cb->getInterface(interfaceNum); + ret = node->getInterface(interfaceNum); node = node->next; } return ret; @@ -51,7 +51,7 @@ int PUSB_GetDescriptor(int8_t t) int ret = 0; PUSBListNode* node = rootNode; for (u8 i=0; i<modules_count && ret == 0; i++) { - ret = node->cb->getDescriptor(t); + ret = node->getDescriptor(t); node = node->next; } return ret; @@ -62,7 +62,7 @@ bool PUSB_Setup(USBSetup& setup, u8 j) bool ret = false; PUSBListNode* node = rootNode; for (u8 i=0; i<modules_count && ret == false; i++) { - ret = node->cb->setup(setup, j); + ret = node->setup(setup, j); node = node->next; } return ret; @@ -85,16 +85,16 @@ int8_t PUSB_AddFunction(PUSBListNode *node, u8* interface) } *interface = lastIf; - lastIf += node->cb->numInterfaces; - for ( u8 i = 0; i< node->cb->numEndpoints; i++) { - _initEndpoints[lastEp] = node->cb->endpointType[i]; + lastIf += node->numInterfaces; + for ( u8 i = 0; i< node->numEndpoints; i++) { + _initEndpoints[lastEp] = node->endpointType[i]; lastEp++; } modules_count++; - return lastEp - node->cb->numEndpoints; + return lastEp - node->numEndpoints; // restart USB layer??? } #endif -#endif /* if defined(USBCON) */
\ No newline at end of file +#endif /* if defined(USBCON) */ diff --git a/cores/arduino/PluggableUSB.h b/cores/arduino/PluggableUSB.h index 33108db..9210d7c 100644 --- a/cores/arduino/PluggableUSB.h +++ b/cores/arduino/PluggableUSB.h @@ -25,21 +25,18 @@ #if defined(USBCON) -typedef struct __attribute__((packed)) -{ +class PUSBListNode { +public: + PUSBListNode() { } bool (*setup)(USBSetup& setup, u8 i); int (*getInterface)(u8* interfaceNum); int (*getDescriptor)(int8_t t); int8_t numEndpoints; int8_t numInterfaces; uint8_t *endpointType; -} PUSBCallbacks; -class PUSBListNode { public: PUSBListNode *next = NULL; - PUSBCallbacks *cb; - PUSBListNode(PUSBCallbacks *ncb) {cb = ncb;} }; int8_t PUSB_AddFunction(PUSBListNode *node, u8 *interface); |