void APP_USBDeviceEventHandler(USB_DEVICE_EVENT event, USB_DEVICE_EVENT_DATA * eventData) { switch(event) { case USB_DEVICE_EVENT_RESET: case USB_DEVICE_EVENT_DECONFIGURED: /* Device got deconfigured */ appData.isConfigured = false; BSP_SwitchONLED ( LED_1); BSP_SwitchONLED ( LED_2); BSP_SwitchOFFLED ( LED_3); break; case USB_DEVICE_EVENT_CONFIGURED: /* Device is configured */ if(eventData->eventConfigured.configurationValue == 1) { appData.isConfigured = true; BSP_SwitchOFFLED ( LED_1 ); BSP_SwitchOFFLED ( LED_2 ); BSP_SwitchONLED ( LED_3 ); /* Register the Application HID Event Handler. */ USB_DEVICE_HID_EventHandlerSet(appData.hidInstance, APP_USBDeviceHIDEventHandler, (uintptr_t)&appData); } break; case USB_DEVICE_EVENT_SUSPENDED: BSP_SwitchOFFLED ( LED_1 ); BSP_SwitchONLED ( LED_2 ); BSP_SwitchONLED ( LED_3 ); break; case USB_DEVICE_EVENT_RESUMED: case USB_DEVICE_EVENT_ATTACHED: case USB_DEVICE_EVENT_DETACHED: case USB_DEVICE_EVENT_ERROR: default: break; } }
void APP_USBDeviceEventHandler(USB_DEVICE_EVENT event, void * eventData, uintptr_t context) { USB_DEVICE_EVENT_DATA_CONFIGURED * configurationValue; switch(event) { case USB_DEVICE_EVENT_SOF: /* This event is used for switch debounce. This flag is reset * by the switch process routine. */ appData.sofEventHasOccurred = true; appData.setIdleTimer++; break; case USB_DEVICE_EVENT_RESET: case USB_DEVICE_EVENT_DECONFIGURED: /* Device got deconfigured */ appData.isConfigured = false; appData.isMouseReportSendBusy = false; appData.state = APP_STATE_WAIT_FOR_CONFIGURATION; appData.emulateMouse = true; BSP_LEDOn ( APP_USB_LED_1 ); BSP_LEDOn ( APP_USB_LED_2 ); BSP_LEDOff ( APP_USB_LED_3 ); break; case USB_DEVICE_EVENT_CONFIGURED: /* Device is configured */ configurationValue = (USB_DEVICE_EVENT_DATA_CONFIGURED *)eventData; if(configurationValue->configurationValue == 1) { appData.isConfigured = true; BSP_LEDOff ( APP_USB_LED_1 ); BSP_LEDOff ( APP_USB_LED_2 ); BSP_LEDOn ( APP_USB_LED_3 ); /* Register the Application HID Event Handler. */ USB_DEVICE_HID_EventHandlerSet(appData.hidInstance, APP_USBDeviceHIDEventHandler, (uintptr_t)&appData); } break; case USB_DEVICE_EVENT_POWER_DETECTED: /* VBUS was detected. We can attach the device */ USB_DEVICE_Attach(appData.deviceHandle); break; case USB_DEVICE_EVENT_POWER_REMOVED: /* VBUS is not available any more. Detach the device. */ USB_DEVICE_Detach(appData.deviceHandle); break; case USB_DEVICE_EVENT_SUSPENDED: BSP_LEDOff ( APP_USB_LED_1 ); BSP_LEDOn ( APP_USB_LED_2 ); BSP_LEDOn ( APP_USB_LED_3 ); break; case USB_DEVICE_EVENT_RESUMED: case USB_DEVICE_EVENT_ERROR: default: break; } }
void APP_USBDeviceEventHandler(USB_DEVICE_EVENT event, void * eventData, uintptr_t context) { switch(event) { case USB_DEVICE_EVENT_RESET: case USB_DEVICE_EVENT_DECONFIGURED: /* Host has de configured the device or a bus reset has happened. * Device layer is going to de-initialize all function drivers. * Hence close handles to all function drivers (Only if they are * opened previously. */ BSP_LEDOn (APP_USB_LED_1); BSP_LEDOn (APP_USB_LED_2); BSP_LEDOff (APP_USB_LED_3); appData.deviceConfigured = false; appData.state = APP_STATE_WAIT_FOR_CONFIGURATION; break; case USB_DEVICE_EVENT_CONFIGURED: /* Set the flag indicating device is configured. */ appData.deviceConfigured = true; /* Save the other details for later use. */ appData.configurationValue = ((USB_DEVICE_EVENT_DATA_CONFIGURED*)eventData)->configurationValue; /* Register application HID event handler */ USB_DEVICE_HID_EventHandlerSet(USB_DEVICE_HID_INDEX_0, APP_USBDeviceHIDEventHandler, (uintptr_t)&appData); /* Update the LEDs */ BSP_LEDOff (APP_USB_LED_1); BSP_LEDOff (APP_USB_LED_2); BSP_LEDOn (APP_USB_LED_3); break; case USB_DEVICE_EVENT_SUSPENDED: /* Switch on green and orange, switch off red */ BSP_LEDOff (APP_USB_LED_1); BSP_LEDOn (APP_USB_LED_2); BSP_LEDOn (APP_USB_LED_3); break; case USB_DEVICE_EVENT_POWER_DETECTED: /* VBUS was detected. We can attach the device */ USB_DEVICE_Attach (appData.usbDevHandle); break; case USB_DEVICE_EVENT_POWER_REMOVED: /* VBUS is not available */ USB_DEVICE_Detach(appData.usbDevHandle); break; /* These events are not used in this demo */ case USB_DEVICE_EVENT_RESUMED: case USB_DEVICE_EVENT_ERROR: default: break; } }