void EVENT_USB_Device_ControlRequest() { if(!(Endpoint_IsSETUPReceived())) { return; } handleControlRequest(USB_ControlRequest.bRequest); }
boolean usbCallback(USB_EVENT event, void *pdata, word size) { // initial connection up to configure will be handled by the default // callback routine. USB_DEVICE.device.DefaultCBEventHandler(event, pdata, size); switch(event) { case EVENT_CONFIGURED: debug("USB Configured\r\n"); USB_DEVICE.configured = true; USB_DEVICE.device.EnableEndpoint(USB_DEVICE.inEndpoint, USB_IN_ENABLED|USB_HANDSHAKE_ENABLED|USB_DISALLOW_SETUP); USB_DEVICE.device.EnableEndpoint(USB_DEVICE.outEndpoint, USB_OUT_ENABLED|USB_HANDSHAKE_ENABLED|USB_DISALLOW_SETUP); break; case EVENT_EP0_REQUEST: handleControlRequest(SetupPkt.bRequest); break; default: break; } }