USB Composite support

Dependents:   mbed_cdc_hid_composite

Fork of USBDevice by mbed official

Revision:
55:7c559fcb1d17
Parent:
25:7c72828865f3
--- a/USBDevice/USBHAL_LPC17.cpp	Fri May 22 08:45:47 2015 +0100
+++ b/USBDevice/USBHAL_LPC17.cpp	Sun May 31 15:36:50 2015 +0000
@@ -329,6 +329,9 @@
     NVIC_DisableIRQ(USB_IRQn);
 
     // fill in callback array
+    memset(epCallback, 0, sizeof(epCallback) * sizeof(void *));
+    memset(epCallbackObj, 0, sizeof(epCallbackObj) * sizeof(void *));
+    /*
     epCallback[0] = &USBHAL::EP1_OUT_callback;
     epCallback[1] = &USBHAL::EP1_IN_callback;
     epCallback[2] = &USBHAL::EP2_OUT_callback;
@@ -359,6 +362,7 @@
     epCallback[27] = &USBHAL::EP14_IN_callback;
     epCallback[28] = &USBHAL::EP15_OUT_callback;
     epCallback[29] = &USBHAL::EP15_IN_callback;
+    */
 
     // Enable power to USB device controller
     LPC_SC->PCONP |= PCUSB;
@@ -612,8 +616,11 @@
                 selectEndpointClearInterrupt(num);
                 epComplete |= EP(num);
                 LPC_USB->USBDevIntClr = EP_SLOW;
-                if ((instance->*(epCallback[num - 2]))()) {
-                    epComplete &= ~EP(num);
+
+                if (instance->epCallback[num - 2] != NULL){
+                    if (instance->epCallback[num - 2](instance->epCallbackObj[num - 2])) {
+                        epComplete &= ~EP(num);
+                    }
                 }
             }
         }