aboutsummaryrefslogtreecommitdiffstats
path: root/Projects/MissileLauncher/ConfigDescriptor.h
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2010-09-30 07:56:47 +0000
committerDean Camera <dean@fourwalledcubicle.com>2010-09-30 07:56:47 +0000
commit7166c7ba3e27f3458b83360302c8af8a866f7a34 (patch)
treedd3d7d307c56cbcef53911bcd42f93e5ba908ecb /Projects/MissileLauncher/ConfigDescriptor.h
parent158afe910947739b1df00000628c1e758bdf0812 (diff)
downloadlufa-7166c7ba3e27f3458b83360302c8af8a866f7a34.tar.gz
lufa-7166c7ba3e27f3458b83360302c8af8a866f7a34.tar.bz2
lufa-7166c7ba3e27f3458b83360302c8af8a866f7a34.zip
Fix low level host mode demos not correctly fetching the next endpoint when an invalid interface is discarded.
Update the pipe configuration routines in the host mode class drivers so that they use the same new code to enumerate compatible devices to increase reliability. Add support to the host mode class drivers for non-sequential (but non-overlapping with other interface) pipe numbers.
Diffstat (limited to 'Projects/MissileLauncher/ConfigDescriptor.h')
-rw-r--r--Projects/MissileLauncher/ConfigDescriptor.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/Projects/MissileLauncher/ConfigDescriptor.h b/Projects/MissileLauncher/ConfigDescriptor.h
index 4df31f1f9..5cddada1d 100644
--- a/Projects/MissileLauncher/ConfigDescriptor.h
+++ b/Projects/MissileLauncher/ConfigDescriptor.h
@@ -45,6 +45,12 @@
/** Interface Class value for the Human Interface Device class. */
#define HID_CLASS 0x03
+ /** Pipe number for the HID data IN pipe. */
+ #define HID_DATA_IN_PIPE 1
+
+ /** Pipe number for the HID data OUT pipe. */
+ #define HID_DATA_OUT_PIPE 2
+
/* Enums: */
/** Enum for the possible return codes of the \ref ProcessConfigurationDescriptor() function. */
enum GenericHIDHost_GetConfigDescriptorDataCodes_t
@@ -53,14 +59,13 @@
ControlError = 1, /**< A control request to the device failed to complete successfully */
DescriptorTooLarge = 2, /**< The device's Configuration Descriptor is too large to process */
InvalidConfigDataReturned = 3, /**< The device returned an invalid Configuration Descriptor */
- NoHIDInterfaceFound = 4, /**< A compatible HID interface was not found in the device's Configuration Descriptor */
- NoEndpointFound = 5, /**< A compatible HID IN endpoint was not found in the device's HID interface */
+ NoCompatibleInterfaceFound = 4, /**< A compatible interface with the required endpoints was not found */
};
/* Function Prototypes: */
uint8_t ProcessConfigurationDescriptor(void);
uint8_t DComp_NextHIDInterface(void* CurrentDescriptor);
- uint8_t DComp_NextInterfaceHIDDataEndpoint(void* CurrentDescriptor);
+ uint8_t DComp_NextHIDInterfaceDataEndpoint(void* CurrentDescriptor);
#endif