Minor documentation enhancements.
[pub/USBasp.git] / Demos / Device / Incomplete / Sideshow / Sideshow.c
index 3e9778e..8b2842b 100644 (file)
@@ -95,45 +95,37 @@ void EVENT_USB_Device_Disconnect(void)
 
 void EVENT_USB_Device_ConfigurationChanged(void)
 {
-       LEDs_SetAllLEDs(LEDMASK_USB_READY);
+       bool ConfigSuccess = true;
 
-       /* Setup Sideshow In and Out Endpoints */
-       if (!(Endpoint_ConfigureEndpoint(SIDESHOW_IN_EPNUM, EP_TYPE_BULK,
-                                            ENDPOINT_DIR_IN, SIDESHOW_IO_EPSIZE,
-                                        ENDPOINT_BANK_SINGLE)))
-       {
-               LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
-       }
+       /* Setup Sideshow Data Endpoints */
+       ConfigSuccess &= Endpoint_ConfigureEndpoint(SIDESHOW_IN_EPNUM,  EP_TYPE_BULK, ENDPOINT_DIR_IN,
+                                                   SIDESHOW_IO_EPSIZE, ENDPOINT_BANK_SINGLE);
+       ConfigSuccess &= Endpoint_ConfigureEndpoint(SIDESHOW_OUT_EPNUM, EP_TYPE_BULK, ENDPOINT_DIR_OUT,
+                                                   SIDESHOW_IO_EPSIZE, ENDPOINT_BANK_SINGLE);
 
-       if (!(Endpoint_ConfigureEndpoint(SIDESHOW_OUT_EPNUM, EP_TYPE_BULK,
-                                            ENDPOINT_DIR_OUT, SIDESHOW_IO_EPSIZE,
-                                        ENDPOINT_BANK_SINGLE)))
-       {
-               LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
-       }
+       /* Indicate endpoint configuration success or failure */
+       LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 }
 
 void EVENT_USB_Device_UnhandledControlRequest(void)
 {
-       /* Process UFI specific control requests */
        switch (USB_ControlRequest.bRequest)
        {
                case REQ_GetOSFeatureDescriptor:
                        if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_VENDOR | REQREC_DEVICE))
                        {
-                               void*    DescriptorPointer;
-                               uint16_t DescriptorSize;
-
-                               if (!(USB_GetOSFeatureDescriptor(USB_ControlRequest.wValue, USB_ControlRequest.wIndex,
-                                                                &DescriptorPointer, &DescriptorSize)))
-                               {
-                                       return;
-                               }
+                               const void* DescriptorPointer;
+                               uint16_t    DescriptorSize = USB_GetOSFeatureDescriptor(USB_ControlRequest.wValue,
+                                                                                       USB_ControlRequest.wIndex,
+                                                                                       &DescriptorPointer);
+
+                               if (DescriptorSize == NO_DESCRIPTOR)
+                                 return;
                                
                                Endpoint_ClearSETUP();
                                
                                Endpoint_Write_Control_PStream_LE(DescriptorPointer, DescriptorSize);
-                               Endpoint_ClearOUT();                            
+                               Endpoint_ClearOUT();
                        }
 
                        break;