Changed all Device mode LowLevel demos and Device Class drivers so that the control...
[pub/USBasp.git] / Demos / Device / ClassDriver / VirtualSerialMouse / VirtualSerialMouse.c
index 8db86b8..86cdb4e 100644 (file)
@@ -97,8 +97,7 @@ int main(void)
                CheckJoystickMovement();
                 
                /* Must throw away unused bytes from the host, or it will lock up while waiting for the device */
-               while (CDC_Device_BytesReceived(&VirtualSerial_CDC_Interface))
-                 CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface);
+               CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface);
 
                CDC_Device_USBTask(&VirtualSerial_CDC_Interface);
                HID_Device_USBTask(&Mouse_HID_Interface);
@@ -165,15 +164,14 @@ void EVENT_USB_Device_Disconnect(void)
 /** Event handler for the library USB Configuration Changed event. */
 void EVENT_USB_Device_ConfigurationChanged(void)
 {
-       LEDs_SetAllLEDs(LEDMASK_USB_READY);
+       bool ConfigSuccess = true;
 
-       if (!(CDC_Device_ConfigureEndpoints(&VirtualSerial_CDC_Interface)))
-         LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+       ConfigSuccess &= CDC_Device_ConfigureEndpoints(&VirtualSerial_CDC_Interface);
+       ConfigSuccess &= HID_Device_ConfigureEndpoints(&Mouse_HID_Interface);
 
-       if (!(HID_Device_ConfigureEndpoints(&Mouse_HID_Interface)))
-         LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
-         
        USB_Device_EnableSOFEvents();
+
+       LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);   
 }
 
 /** Event handler for the library USB Unhandled Control Request event. */