USB Composite support
Dependents: mbed_cdc_hid_composite
Fork of USBDevice by
Diff: USBDevice/USBHAL_LPC17.cpp
- 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); + } } } }