Add support for Mouse Scrollwheel to the MouseHostWithParser demos.
This commit is contained in:
		
							parent
							
								
									87b2572ae5
								
							
						
					
					
						commit
						ba8ffa4cb7
					
				
					 17 changed files with 70 additions and 34 deletions
				
			
		| 
						 | 
				
			
			@ -141,6 +141,21 @@ int main(void)
 | 
			
		|||
							if (ReportItem->Value)
 | 
			
		||||
							  LEDMask = LEDS_ALL_LEDS;
 | 
			
		||||
						}
 | 
			
		||||
						else if ((ReportItem->Attributes.Usage.Page   == USAGE_PAGE_GENERIC_DCTRL) &&
 | 
			
		||||
								 (ReportItem->Attributes.Usage.Usage  == USAGE_SCROLL_WHEEL)       &&
 | 
			
		||||
								 (ReportItem->ItemType                == REPORT_ITEM_TYPE_In))
 | 
			
		||||
						{
 | 
			
		||||
							/* Get the mouse wheel value if it is contained within the current 
 | 
			
		||||
							 * report, if not, skip to the next item in the parser list
 | 
			
		||||
							 */
 | 
			
		||||
							if (!(USB_GetHIDReportItemInfo(MouseReport, ReportItem)))
 | 
			
		||||
							  continue;							  
 | 
			
		||||
 | 
			
		||||
							int16_t WheelDelta = (int16_t)(ReportItem->Value << (16 - ReportItem->Attributes.BitSize));
 | 
			
		||||
							
 | 
			
		||||
							if (WheelDelta)
 | 
			
		||||
							  LEDMask = (LEDS_LED1 | LEDS_LED2 | ((WheelDelta > 0) ? LEDS_LED3 : LEDS_LED4));
 | 
			
		||||
						}
 | 
			
		||||
						else if ((ReportItem->Attributes.Usage.Page   == USAGE_PAGE_GENERIC_DCTRL) &&
 | 
			
		||||
								 ((ReportItem->Attributes.Usage.Usage == USAGE_X)                  ||
 | 
			
		||||
								  (ReportItem->Attributes.Usage.Usage == USAGE_Y))                 &&
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -78,6 +78,9 @@
 | 
			
		|||
		/** HID Report Descriptor Usage value for a Y axis movement */
 | 
			
		||||
		#define USAGE_Y                     0x31
 | 
			
		||||
		
 | 
			
		||||
		/** HID Report Descriptor Usage value for a Scroll Wheel movement */
 | 
			
		||||
		#define USAGE_SCROLL_WHEEL          0x38
 | 
			
		||||
 | 
			
		||||
	/* Function Prototypes: */
 | 
			
		||||
		void SetupHardware(void);
 | 
			
		||||
	
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,10 +47,10 @@
 | 
			
		|||
 *  reports, allowing for correct operation across all USB mice. This
 | 
			
		||||
 *  demo supports mice with a single HID report.
 | 
			
		||||
 *  
 | 
			
		||||
 *  Mouse movement and button presses are displayed on the board LEDs.
 | 
			
		||||
 *  On connection to a USB mouse, the report items will be processed and
 | 
			
		||||
 *  printed as a formatted list through the USART before the mouse is
 | 
			
		||||
 *  fully enumerated.
 | 
			
		||||
 *  Mouse and scroll wheel movement and button presses are displayed
 | 
			
		||||
 *  on the board LEDs. On connection to a USB mouse, the report items
 | 
			
		||||
 *  will be processed and printed as a formatted list through the USART
 | 
			
		||||
 *  before the mouse is fully enumerated.
 | 
			
		||||
 *  
 | 
			
		||||
 *  Currently only single interface mice are supported.
 | 
			
		||||
 *
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,7 +174,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next Interface descriptor of the correct CDC control Class, Subclass and Protocol values.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextCDCControlInterface(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -198,7 +198,7 @@ uint8_t DComp_NextCDCControlInterface(void* CurrentDescriptor)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next Interface descriptor of the correct CDC data Class, Subclass and Protocol values.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextCDCDataInterface(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -224,7 +224,7 @@ uint8_t DComp_NextCDCDataInterface(void* CurrentDescriptor)
 | 
			
		|||
 *  aborting the search if another interface descriptor is found before the required endpoint (so that it may be compared
 | 
			
		||||
 *  using a different comparator to determine if it is another CDC class interface).
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextCDCDataInterfaceEndpoint(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -120,7 +120,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next Interface descriptor of the correct HID Class value.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextHIDInterface(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -146,7 +146,7 @@ uint8_t DComp_NextHIDInterface(void* CurrentDescriptor)
 | 
			
		|||
 *  This comparator searches for the next Endpoint descriptor inside the current interface descriptor,
 | 
			
		||||
 *  aborting the search if another interface descriptor is found before the required endpoint.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextHIDInterfaceDataEndpoint(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,7 +108,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next Interface descriptor of the correct Joystick HID Class and Protocol values.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextJoystickInterface(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -132,7 +132,7 @@ uint8_t DComp_NextJoystickInterface(void* CurrentDescriptor)
 | 
			
		|||
 *  This comparator searches for the next IN Endpoint descriptor inside the current interface descriptor,
 | 
			
		||||
 *  aborting the search if another interface descriptor is found before the required endpoint.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextJoystickInterfaceDataEndpoint(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -155,7 +155,7 @@ uint8_t DComp_NextJoystickInterfaceDataEndpoint(void* CurrentDescriptor)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next HID descriptor within the current HID interface descriptor.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextHID(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -97,7 +97,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next Interface descriptor of the correct Keyboard HID Class and Protocol values.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextKeyboardInterface(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -121,7 +121,7 @@ uint8_t DComp_NextKeyboardInterface(void* CurrentDescriptor)
 | 
			
		|||
 *  This comparator searches for the next IN Endpoint descriptor inside the current interface descriptor,
 | 
			
		||||
 *  aborting the search if another interface descriptor is found before the required endpoint.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextKeyboardInterfaceDataEndpoint(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,7 +108,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next Interface descriptor of the correct Keyboard HID Class and Protocol values.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextKeyboardInterface(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -132,7 +132,7 @@ uint8_t DComp_NextKeyboardInterface(void* CurrentDescriptor)
 | 
			
		|||
 *  This comparator searches for the next IN Endpoint descriptor inside the current interface descriptor,
 | 
			
		||||
 *  aborting the search if another interface descriptor is found before the required endpoint.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextKeyboardInterfaceDataEndpoint(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -155,7 +155,7 @@ uint8_t DComp_NextKeyboardInterfaceDataEndpoint(void* CurrentDescriptor)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next HID descriptor within the current HID interface descriptor.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextHID(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -117,7 +117,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next Interface descriptor of the correct MIDI Streaming Class, Subclass and Protocol values.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextMIDIStreamingInterface(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -142,7 +142,7 @@ uint8_t DComp_NextMIDIStreamingInterface(void* CurrentDescriptor)
 | 
			
		|||
 *  This comparator searches for the next bulk IN or OUT endpoint within the current interface, aborting the search if
 | 
			
		||||
 *  another interface descriptor is found before the required endpoint.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextMIDIStreamingDataEndpoint(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -119,7 +119,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next Interface descriptor of the correct Mass Storage Class, Subclass and Protocol values.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextMSInterface(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -144,7 +144,7 @@ uint8_t DComp_NextMSInterface(void* CurrentDescriptor)
 | 
			
		|||
 *  This comparator searches for the next Bulk Endpoint descriptor of the correct MSD interface, aborting the search if
 | 
			
		||||
 *  another interface descriptor is found before the next endpoint.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextMSInterfaceBulkDataEndpoint(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -97,7 +97,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next Interface descriptor of the correct Mouse HID Class and Protocol values.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextMouseInterface(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -124,7 +124,7 @@ uint8_t DComp_NextMouseInterface(void* CurrentDescriptor)
 | 
			
		|||
 *  This comparator searches for the next IN Endpoint descriptor inside the current interface descriptor,
 | 
			
		||||
 *  aborting the search if another interface descriptor is found before the required endpoint.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextMouseInterfaceDataEndpoint(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,7 +108,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next Interface descriptor of the correct Mouse HID Class and Protocol values.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextMouseInterface(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -132,7 +132,7 @@ uint8_t DComp_NextMouseInterface(void* CurrentDescriptor)
 | 
			
		|||
 *  This comparator searches for the next IN Endpoint descriptor inside the current interface descriptor,
 | 
			
		||||
 *  aborting the search if another interface descriptor is found before the required endpoint.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextMouseInterfaceDataEndpoint(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -155,7 +155,7 @@ uint8_t DComp_NextMouseInterfaceDataEndpoint(void* CurrentDescriptor)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next HID descriptor within the current HID interface descriptor.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextHID(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -58,6 +58,9 @@
 | 
			
		|||
		/** HID Report Descriptor Usage value for a Y axis movement */
 | 
			
		||||
		#define USAGE_Y                     0x31
 | 
			
		||||
 | 
			
		||||
		/** HID Report Descriptor Usage value for a Scroll Wheel movement */
 | 
			
		||||
		#define USAGE_SCROLL_WHEEL          0x38
 | 
			
		||||
		
 | 
			
		||||
	/* Enums: */
 | 
			
		||||
		/** Enum for the possible return codes of the GetHIDReportData() function. */
 | 
			
		||||
		enum MouseHostWithParser_GetHIDReportDataCodes_t
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -270,6 +270,21 @@ void ProcessMouseReport(uint8_t* MouseReport)
 | 
			
		|||
			if (ReportItem->Value)
 | 
			
		||||
			  LEDMask = LEDS_ALL_LEDS;
 | 
			
		||||
		}
 | 
			
		||||
		else if ((ReportItem->Attributes.Usage.Page   == USAGE_PAGE_GENERIC_DCTRL) &&
 | 
			
		||||
				 (ReportItem->Attributes.Usage.Usage  == USAGE_SCROLL_WHEEL)       &&
 | 
			
		||||
				 (ReportItem->ItemType                == REPORT_ITEM_TYPE_In))
 | 
			
		||||
		{
 | 
			
		||||
			/* Get the mouse wheel value if it is contained within the current 
 | 
			
		||||
			 * report, if not, skip to the next item in the parser list
 | 
			
		||||
			 */
 | 
			
		||||
			if (!(USB_GetHIDReportItemInfo(MouseReport, ReportItem)))
 | 
			
		||||
			  continue;							  
 | 
			
		||||
 | 
			
		||||
			int16_t WheelDelta = (int16_t)(ReportItem->Value << (16 - ReportItem->Attributes.BitSize));
 | 
			
		||||
			
 | 
			
		||||
			if (WheelDelta)
 | 
			
		||||
			  LEDMask = (LEDS_LED1 | LEDS_LED2 | ((WheelDelta > 0) ? LEDS_LED3 : LEDS_LED4));
 | 
			
		||||
		}
 | 
			
		||||
		else if ((ReportItem->Attributes.Usage.Page   == USAGE_PAGE_GENERIC_DCTRL) &&
 | 
			
		||||
				 ((ReportItem->Attributes.Usage.Usage == USAGE_X)                  ||
 | 
			
		||||
				  (ReportItem->Attributes.Usage.Usage == USAGE_Y))                 &&
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,10 +47,10 @@
 | 
			
		|||
 *  reports, allowing for correct operation across all USB mice. This
 | 
			
		||||
 *  demo supports mice with a single HID report.
 | 
			
		||||
 *  
 | 
			
		||||
 *  Mouse movement and button presses are displayed on the board LEDs.
 | 
			
		||||
 *  On connection to a USB mouse, the report items will be processed and
 | 
			
		||||
 *  printed as a formatted list through the USART before the mouse is
 | 
			
		||||
 *  fully enumerated.
 | 
			
		||||
 *  Mouse and scroll wheel movement and button presses are displayed
 | 
			
		||||
 *  on the board LEDs. On connection to a USB mouse, the report items
 | 
			
		||||
 *  will be processed and printed as a formatted list through the USART
 | 
			
		||||
 *  before the mouse is fully enumerated.
 | 
			
		||||
 *  
 | 
			
		||||
 *  Currently only single interface mice are supported.
 | 
			
		||||
 *
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -122,7 +122,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
 *  This comparator searches for the next Bidirectional Printer Interface descriptor of the current Printer interface,
 | 
			
		||||
 *  aborting the search if the end of the descriptors is found.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextBidirectionalPrinterInterface(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -147,7 +147,7 @@ uint8_t DComp_NextBidirectionalPrinterInterface(void* CurrentDescriptor)
 | 
			
		|||
 *  This comparator searches for the next Bulk Endpoint descriptor of the current Printer interface, aborting the
 | 
			
		||||
 *  search if another interface descriptor is found before the next endpoint.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextPrinterInterfaceBulkDataEndpoint(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -139,7 +139,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 | 
			
		|||
 *
 | 
			
		||||
 *  This comparator searches for the next Interface descriptor of the correct Still Image Class, Subclass and Protocol values.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextStillImageInterface(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -164,7 +164,7 @@ uint8_t DComp_NextStillImageInterface(void* CurrentDescriptor)
 | 
			
		|||
 *  This comparator searches for the next Interrupt or Bulk Endpoint descriptor of the current SI interface, aborting the
 | 
			
		||||
 *  search if another interface descriptor is found before the next endpoint.
 | 
			
		||||
 *
 | 
			
		||||
 *  \return A value from the \ref DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 *  \return A value from the DSEARCH_Return_ErrorCodes_t enum
 | 
			
		||||
 */
 | 
			
		||||
uint8_t DComp_NextStillImageInterfaceDataEndpoint(void* CurrentDescriptor)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue