Synchronise with the 090605 release.
[pub/USBasp.git] / Demos / Host / GenericHIDHost / ConfigDescriptor.c
index caf88ef..29fa60b 100644 (file)
@@ -71,7 +71,8 @@ uint8_t ProcessConfigurationDescriptor(void)
          return InvalidConfigDataReturned;\r
        \r
        /* Get the HID interface from the configuration descriptor */\r
-       if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData, NextHIDInterface))\r
+       if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,\r
+                                     DComp_NextHIDInterface) != DESCRIPTOR_SEARCH_COMP_Found)\r
        {\r
                /* Descriptor not found, error out */\r
                return NoHIDInterfaceFound;\r
@@ -80,7 +81,8 @@ uint8_t ProcessConfigurationDescriptor(void)
        while (FoundEndpoints != ((1 << HID_DATA_IN_PIPE) | (1 << HID_DATA_OUT_PIPE)))\r
        {\r
                /* Get the next HID interface's data endpoint descriptor */\r
-               if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData, NextInterfaceHIDDataEndpoint))\r
+               if (USB_GetNextDescriptorComp(&ConfigDescriptorSize, &ConfigDescriptorData,\r
+                                             DComp_NextInterfaceHIDDataEndpoint) != DESCRIPTOR_SEARCH_COMP_Found)\r
                {\r
                        /* Not all HID devices have an OUT endpoint - if we've reached the end of the HID descriptor\r
                         * but only found the mandatory IN endpoint, it's safe to continue with the device enumeration */\r
@@ -102,13 +104,6 @@ uint8_t ProcessConfigurationDescriptor(void)
                                                           EndpointData->EndpointAddress, EndpointData->EndpointSize, PIPE_BANK_SINGLE);\r
 \r
                        Pipe_SetInfiniteINRequests();\r
-\r
-                       #if defined(INTERRUPT_DATA_PIPE)\r
-                       Pipe_SetInterruptPeriod(EndpointData->PollingIntervalMS);\r
-\r
-                       /* Enable the pipe IN interrupt for the data pipe */\r
-                       USB_INT_Enable(PIPE_INT_IN);    \r
-                       #endif\r
                        \r
                        FoundEndpoints |= (1 << HID_DATA_IN_PIPE);\r
                }\r
@@ -134,7 +129,7 @@ uint8_t ProcessConfigurationDescriptor(void)
  *\r
  *  \return A value from the DSEARCH_Return_ErrorCodes_t enum\r
  */\r
-DESCRIPTOR_COMPARATOR(NextHIDInterface)\r
+uint8_t DComp_NextHIDInterface(void* CurrentDescriptor)\r
 {\r
        /* Determine if the current descriptor is an interface descriptor */\r
        if (DESCRIPTOR_TYPE(CurrentDescriptor) == DTYPE_Interface)\r
@@ -143,12 +138,12 @@ DESCRIPTOR_COMPARATOR(NextHIDInterface)
                if (DESCRIPTOR_CAST(CurrentDescriptor, USB_Descriptor_Interface_t).Class == HID_CLASS)\r
                {\r
                        /* Indicate that the descriptor being searched for has been found */\r
-                       return Descriptor_Search_Found;\r
+                       return DESCRIPTOR_SEARCH_Found;\r
                }\r
        }\r
        \r
        /* Current descriptor does not match what this comparator is looking for */\r
-       return Descriptor_Search_NotFound;\r
+       return DESCRIPTOR_SEARCH_NotFound;\r
 }\r
 \r
 /** Descriptor comparator function. This comparator function is can be called while processing an attached USB device's\r
@@ -160,20 +155,20 @@ DESCRIPTOR_COMPARATOR(NextHIDInterface)
  *\r
  *  \return A value from the DSEARCH_Return_ErrorCodes_t enum\r
  */\r
-DESCRIPTOR_COMPARATOR(NextInterfaceHIDDataEndpoint)\r
+uint8_t DComp_NextInterfaceHIDDataEndpoint(void* CurrentDescriptor)\r
 {\r
        /* Determine the type of the current descriptor */\r
        if (DESCRIPTOR_TYPE(CurrentDescriptor) == DTYPE_Endpoint)\r
        {\r
                /* Indicate that the descriptor being searched for has been found */\r
-               return Descriptor_Search_Found;\r
+               return DESCRIPTOR_SEARCH_Found;\r
        }\r
        else if (DESCRIPTOR_TYPE(CurrentDescriptor) == DTYPE_Interface)\r
        {\r
                /* Indicate that the search has failed prematurely and should be aborted */\r
-               return Descriptor_Search_Fail;\r
+               return DESCRIPTOR_SEARCH_Fail;\r
        }\r
 \r
        /* Current descriptor does not match what this comparator is looking for */\r
-       return Descriptor_Search_NotFound;\r
+       return DESCRIPTOR_SEARCH_NotFound;\r
 }\r