return 0;
}
+static inline
+int usb_app_epnum2event_mask(int epnum)
+{
+ int evmask;
+ int evbit;
+ /* LPC17xx EP1RX 0x04, EP1TX 0x08, EP2RX 0x10, EP2TX 0x20 */
+
+ evbit = (epnum & ~USB_ENDPOINT_DIRECTION_MASK) * 2;
+ if (epnum & USB_ENDPOINT_DIRECTION_MASK)
+ evbit++;
+
+ evmask = 1 << evbit;
+
+ return evmask;
+}
+
int usb_app_init(void)
{
memset(&usb_device, 0, sizeof(usb_device));
eps[CDC0_EPIDX_NOTIFY].epnum = CDC0_EP_NOTIFY;
eps[CDC0_EPIDX_RXD].epnum = CDC0_EP_RXD;
eps[CDC0_EPIDX_TXD].epnum = CDC0_EP_TXD;
- eps[CDC0_EPIDX_NOTIFY].event_mask = 0x08;
- eps[CDC0_EPIDX_RXD].event_mask = 0x10;
- eps[CDC0_EPIDX_TXD].event_mask = 0x20;
+ eps[CDC0_EPIDX_NOTIFY].event_mask = usb_app_epnum2event_mask(CDC0_EP_NOTIFY); /* 0x08; */
+ eps[CDC0_EPIDX_RXD].event_mask = usb_app_epnum2event_mask(CDC0_EP_RXD); /* 0x10; */
+ eps[CDC0_EPIDX_TXD].event_mask = usb_app_epnum2event_mask(CDC0_EP_TXD); /* 0x20; */
eps[CDC0_EPIDX_NOTIFY].udev = &usb_device;
eps[CDC0_EPIDX_RXD].udev = &usb_device;
eps[CDC0_EPIDX_TXD].udev = &usb_device;