mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-11-04 07:12:33 +01:00 
			
		
		
		
	Renamed the EVENT_USB_Device_UnhandledControlRequest() event to EVENT_USB_Device_ControlRequest() as it is now fired before the library request handlers, not afterwards.
This commit is contained in:
		
							parent
							
								
									99a9e415ef
								
							
						
					
					
						commit
						fb76acb084
					
				@ -121,11 +121,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	                           ENDPOINT_BANK_SINGLE);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the CDC control commands,
 | 
			
		||||
 *  which are all issued via the control endpoint), so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	/* Process CDC specific control requests */
 | 
			
		||||
	switch (USB_ControlRequest.bRequest)
 | 
			
		||||
 | 
			
		||||
@ -145,11 +145,11 @@ void ResetHardware(void)
 | 
			
		||||
	MCUCR = 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the DFU commands, which are
 | 
			
		||||
 *  all issued via the control endpoint), so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	/* Get the size of the command and data from the wLength value */
 | 
			
		||||
	SentCommand.DataSize = USB_ControlRequest.wLength;
 | 
			
		||||
 | 
			
		||||
@ -192,7 +192,7 @@
 | 
			
		||||
		void SetupHardware(void);
 | 
			
		||||
		void ResetHardware(void);
 | 
			
		||||
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
		#if defined(INCLUDE_FROM_BOOTLOADER_C)
 | 
			
		||||
			static void DiscardFillerBytes(uint8_t NumberOfBytes);
 | 
			
		||||
 | 
			
		||||
@ -156,8 +156,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	Audio_Device_ProcessControlRequest(&Microphone_Audio_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -81,7 +81,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -192,8 +192,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	Audio_Device_ProcessControlRequest(&Speaker_Audio_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -68,7 +68,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -183,8 +183,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	CDC_Device_ProcessControlRequest(&VirtualSerial1_CDC_Interface);
 | 
			
		||||
	CDC_Device_ProcessControlRequest(&VirtualSerial2_CDC_Interface);
 | 
			
		||||
 | 
			
		||||
@ -70,7 +70,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -122,8 +122,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	HID_Device_ProcessControlRequest(&Generic_HID_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -68,7 +68,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_StartOfFrame(void);
 | 
			
		||||
 | 
			
		||||
		bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo,
 | 
			
		||||
 | 
			
		||||
@ -116,8 +116,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	HID_Device_ProcessControlRequest(&Joystick_HID_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -81,7 +81,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_StartOfFrame(void);
 | 
			
		||||
 | 
			
		||||
		bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo,
 | 
			
		||||
 | 
			
		||||
@ -116,8 +116,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	HID_Device_ProcessControlRequest(&Keyboard_HID_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -71,7 +71,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_StartOfFrame(void);
 | 
			
		||||
 | 
			
		||||
		bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo,
 | 
			
		||||
 | 
			
		||||
@ -140,8 +140,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	HID_Device_ProcessControlRequest(&Keyboard_HID_Interface);
 | 
			
		||||
	HID_Device_ProcessControlRequest(&Mouse_HID_Interface);
 | 
			
		||||
 | 
			
		||||
@ -66,7 +66,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_StartOfFrame(void);
 | 
			
		||||
 | 
			
		||||
		bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo,
 | 
			
		||||
 | 
			
		||||
@ -187,8 +187,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	MIDI_Device_ProcessControlRequest(&Keyboard_MIDI_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -72,7 +72,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -117,8 +117,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	MS_Device_ProcessControlRequest(&Disk_MS_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -80,7 +80,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
		bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -146,8 +146,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	MS_Device_ProcessControlRequest(&Disk_MS_Interface);
 | 
			
		||||
	HID_Device_ProcessControlRequest(&Keyboard_HID_Interface);
 | 
			
		||||
 | 
			
		||||
@ -79,7 +79,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_StartOfFrame(void);
 | 
			
		||||
 | 
			
		||||
		bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo);
 | 
			
		||||
 | 
			
		||||
@ -116,8 +116,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	HID_Device_ProcessControlRequest(&Mouse_HID_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -72,7 +72,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_StartOfFrame(void);
 | 
			
		||||
 | 
			
		||||
		bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo,
 | 
			
		||||
 | 
			
		||||
@ -130,8 +130,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	RNDIS_Device_ProcessControlRequest(&Ethernet_RNDIS_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -77,7 +77,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -160,8 +160,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -71,7 +71,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -174,8 +174,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);
 | 
			
		||||
	HID_Device_ProcessControlRequest(&Mouse_HID_Interface);
 | 
			
		||||
 | 
			
		||||
@ -71,7 +71,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_StartOfFrame(void);
 | 
			
		||||
 | 
			
		||||
		bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo,
 | 
			
		||||
 | 
			
		||||
@ -107,7 +107,7 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	switch (USB_ControlRequest.bRequest)
 | 
			
		||||
	{
 | 
			
		||||
 | 
			
		||||
@ -73,7 +73,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -132,11 +132,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the CDC control commands,
 | 
			
		||||
 *  which are all issued via the control endpoint), so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	uint8_t TMCRequestStatus = TMC_STATUS_SUCCESS;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -148,7 +148,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
		uint8_t StreamCallback_AbortINOnRequest(void);
 | 
			
		||||
		uint8_t StreamCallback_AbortOUTOnRequest(void);
 | 
			
		||||
 | 
			
		||||
@ -121,11 +121,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the Audio class-specific
 | 
			
		||||
 *  requests) so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	/* Process General and Audio specific control requests */
 | 
			
		||||
	switch (USB_ControlRequest.bRequest)
 | 
			
		||||
 | 
			
		||||
@ -81,7 +81,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -147,11 +147,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the Audio class-specific
 | 
			
		||||
 *  requests) so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	/* Process General and Audio specific control requests */
 | 
			
		||||
	switch (USB_ControlRequest.bRequest)
 | 
			
		||||
 | 
			
		||||
@ -67,7 +67,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -146,11 +146,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the CDC control commands,
 | 
			
		||||
 *  which are all issued via the control endpoint), so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	/* Determine which interface's Line Coding data is being set from the wIndex parameter */
 | 
			
		||||
	void* LineEncodingData = (USB_ControlRequest.wIndex == 0) ? &LineEncoding1 : &LineEncoding2;
 | 
			
		||||
 | 
			
		||||
@ -71,7 +71,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -107,11 +107,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the HID commands, which are
 | 
			
		||||
 *  all issued via the control endpoint), so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	/* Handle HID Class specific requests */
 | 
			
		||||
	switch (USB_ControlRequest.bRequest)
 | 
			
		||||
 | 
			
		||||
@ -70,7 +70,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_StartOfFrame(void);
 | 
			
		||||
 | 
			
		||||
		void ProcessGenericHIDReport(uint8_t* DataArray);
 | 
			
		||||
 | 
			
		||||
@ -103,11 +103,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the HID commands, which are
 | 
			
		||||
 *  all issued via the control endpoint), so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	/* Handle HID Class specific requests */
 | 
			
		||||
	switch (USB_ControlRequest.bRequest)
 | 
			
		||||
 | 
			
		||||
@ -82,7 +82,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
		bool GetNextReport(USB_JoystickReport_Data_t* const ReportData);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -129,11 +129,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the HID commands, which are
 | 
			
		||||
 *  all issued via the control endpoint), so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	/* Handle HID Class specific requests */
 | 
			
		||||
	switch (USB_ControlRequest.bRequest)
 | 
			
		||||
 | 
			
		||||
@ -73,7 +73,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_StartOfFrame(void);
 | 
			
		||||
 | 
			
		||||
		void CreateKeyboardReport(USB_KeyboardReport_Data_t* const ReportData);
 | 
			
		||||
 | 
			
		||||
@ -117,11 +117,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlPacket event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the HID commands, which are
 | 
			
		||||
 *  all issued via the control endpoint), so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	uint8_t* ReportData;
 | 
			
		||||
	uint8_t  ReportSize;
 | 
			
		||||
 | 
			
		||||
@ -70,7 +70,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_StartOfFrame(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@ -120,11 +120,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlPacket event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the Mass Storage class-specific
 | 
			
		||||
 *  requests) so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	/* Process UFI specific control requests */
 | 
			
		||||
	switch (USB_ControlRequest.bRequest)
 | 
			
		||||
 | 
			
		||||
@ -80,7 +80,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
		#if defined(INCLUDE_FROM_MASSSTORAGE_C)
 | 
			
		||||
			static bool ReadInCommandBlock(void);
 | 
			
		||||
 | 
			
		||||
@ -126,11 +126,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the HID commands, which are
 | 
			
		||||
 *  all issued via the control endpoint), so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	/* Handle HID Class specific requests */
 | 
			
		||||
	switch (USB_ControlRequest.bRequest)
 | 
			
		||||
 | 
			
		||||
@ -72,7 +72,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_StartOfFrame(void);
 | 
			
		||||
 | 
			
		||||
		void CreateMouseReport(USB_MouseReport_Data_t* const ReportData);
 | 
			
		||||
 | 
			
		||||
@ -112,11 +112,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the RNDIS control commands,
 | 
			
		||||
 *  which set up the USB RNDIS network adapter), so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	/* Process RNDIS class commands */
 | 
			
		||||
	switch (USB_ControlRequest.bRequest)
 | 
			
		||||
 | 
			
		||||
@ -83,7 +83,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -122,11 +122,11 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the USB_UnhandledControlRequest event. This is used to catch standard and class specific
 | 
			
		||||
 *  control requests that are not handled internally by the USB library (including the CDC control commands,
 | 
			
		||||
 *  which are all issued via the control endpoint), so that they can be handled appropriately for the application.
 | 
			
		||||
/** Event handler for the USB_ControlRequest event. This is used to catch and process control requests sent to
 | 
			
		||||
 *  the device from the USB host before passing along unhandled control requests to the library for processing
 | 
			
		||||
 *  internally.
 | 
			
		||||
 */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	/* Process CDC specific control requests */
 | 
			
		||||
	switch (USB_ControlRequest.bRequest)
 | 
			
		||||
 | 
			
		||||
@ -70,7 +70,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -82,8 +82,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	USB_Device_EnableSOFEvents();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	HID_Device_ProcessControlRequest(&Mouse_HID_Device_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -57,7 +57,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_StartOfFrame(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@ -131,7 +131,7 @@
 | 
			
		||||
			bool Audio_Device_ConfigureEndpoints(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 | 
			
		||||
 | 
			
		||||
			/** Processes incoming control requests from the host, that are directed to the given Audio class interface. This should be
 | 
			
		||||
			 *  linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.
 | 
			
		||||
			 *  linked to the library \ref EVENT_USB_Device_ControlRequest() event.
 | 
			
		||||
			 *
 | 
			
		||||
			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state.
 | 
			
		||||
			 */
 | 
			
		||||
 | 
			
		||||
@ -157,7 +157,7 @@
 | 
			
		||||
			bool CDC_Device_ConfigureEndpoints(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 | 
			
		||||
 | 
			
		||||
			/** Processes incoming control requests from the host, that are directed to the given CDC class interface. This should be
 | 
			
		||||
			 *  linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.
 | 
			
		||||
			 *  linked to the library \ref EVENT_USB_Device_ControlRequest() event.
 | 
			
		||||
			 *
 | 
			
		||||
			 *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class configuration and state.
 | 
			
		||||
			 */
 | 
			
		||||
 | 
			
		||||
@ -144,7 +144,7 @@
 | 
			
		||||
			bool HID_Device_ConfigureEndpoints(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 | 
			
		||||
 | 
			
		||||
			/** Processes incoming control requests from the host, that are directed to the given HID class interface. This should be
 | 
			
		||||
			 *  linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.
 | 
			
		||||
			 *  linked to the library \ref EVENT_USB_Device_ControlRequest() event.
 | 
			
		||||
			 *
 | 
			
		||||
			 *  \param[in,out] HIDInterfaceInfo  Pointer to a structure containing a HID Class configuration and state.
 | 
			
		||||
			 */
 | 
			
		||||
 | 
			
		||||
@ -168,7 +168,7 @@
 | 
			
		||||
 | 
			
		||||
		/* Inline Functions: */
 | 
			
		||||
			/** Processes incoming control requests from the host, that are directed to the given MIDI class interface. This should be
 | 
			
		||||
			 *  linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.
 | 
			
		||||
			 *  linked to the library \ref EVENT_USB_Device_ControlRequest() event.
 | 
			
		||||
			 *
 | 
			
		||||
			 *  \param[in,out] MIDIInterfaceInfo  Pointer to a structure containing a MIDI Class configuration and state.
 | 
			
		||||
			 */
 | 
			
		||||
 | 
			
		||||
@ -131,7 +131,7 @@
 | 
			
		||||
			bool MS_Device_ConfigureEndpoints(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 | 
			
		||||
 | 
			
		||||
			/** Processes incoming control requests from the host, that are directed to the given Mass Storage class interface. This should be
 | 
			
		||||
			 *  linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.
 | 
			
		||||
			 *  linked to the library \ref EVENT_USB_Device_ControlRequest() event.
 | 
			
		||||
			 *
 | 
			
		||||
			 *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a Mass Storage Class configuration and state.
 | 
			
		||||
			 */
 | 
			
		||||
 | 
			
		||||
@ -140,7 +140,7 @@
 | 
			
		||||
			bool RNDIS_Device_ConfigureEndpoints(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 | 
			
		||||
 | 
			
		||||
			/** Processes incoming control requests from the host, that are directed to the given RNDIS class interface. This should be
 | 
			
		||||
			 *  linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.
 | 
			
		||||
			 *  linked to the library \ref EVENT_USB_Device_ControlRequest() event.
 | 
			
		||||
			 *
 | 
			
		||||
			 *  \param[in,out] RNDISInterfaceInfo  Pointer to a structure containing a RNDIS Class configuration and state.
 | 
			
		||||
			 */
 | 
			
		||||
 | 
			
		||||
@ -48,12 +48,15 @@ bool    USB_RemoteWakeupEnabled;
 | 
			
		||||
 | 
			
		||||
void USB_Device_ProcessControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	bool     RequestHandled = false;
 | 
			
		||||
	uint8_t* RequestHeader  = (uint8_t*)&USB_ControlRequest;
 | 
			
		||||
 | 
			
		||||
	for (uint8_t RequestHeaderByte = 0; RequestHeaderByte < sizeof(USB_Request_Header_t); RequestHeaderByte++)
 | 
			
		||||
	  *(RequestHeader++) = Endpoint_Read_Byte();
 | 
			
		||||
 | 
			
		||||
	EVENT_USB_Device_ControlRequest();
 | 
			
		||||
 | 
			
		||||
	if (Endpoint_IsSETUPReceived())
 | 
			
		||||
	{
 | 
			
		||||
		uint8_t bmRequestType = USB_ControlRequest.bmRequestType;
 | 
			
		||||
 | 
			
		||||
		switch (USB_ControlRequest.bRequest)
 | 
			
		||||
@ -63,7 +66,6 @@ void USB_Device_ProcessControlRequest(void)
 | 
			
		||||
					(bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_ENDPOINT)))
 | 
			
		||||
				{
 | 
			
		||||
					USB_Device_GetStatus();
 | 
			
		||||
				RequestHandled = true;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				break;
 | 
			
		||||
@ -73,16 +75,12 @@ void USB_Device_ProcessControlRequest(void)
 | 
			
		||||
					(bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT)))
 | 
			
		||||
				{
 | 
			
		||||
					USB_Device_ClearSetFeature();
 | 
			
		||||
				RequestHandled = true;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				break;
 | 
			
		||||
			case REQ_SetAddress:
 | 
			
		||||
				if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE))
 | 
			
		||||
			{
 | 
			
		||||
				  USB_Device_SetAddress();
 | 
			
		||||
				RequestHandled = true;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
				break;
 | 
			
		||||
			case REQ_GetDescriptor:
 | 
			
		||||
@ -90,30 +88,21 @@ void USB_Device_ProcessControlRequest(void)
 | 
			
		||||
					(bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_INTERFACE)))
 | 
			
		||||
				{
 | 
			
		||||
					USB_Device_GetDescriptor();
 | 
			
		||||
				RequestHandled = true;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				break;
 | 
			
		||||
			case REQ_GetConfiguration:
 | 
			
		||||
				if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE))
 | 
			
		||||
			{
 | 
			
		||||
				  USB_Device_GetConfiguration();
 | 
			
		||||
				RequestHandled = true;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
				break;
 | 
			
		||||
			case REQ_SetConfiguration:
 | 
			
		||||
				if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE))
 | 
			
		||||
			{
 | 
			
		||||
				  USB_Device_SetConfiguration();
 | 
			
		||||
				RequestHandled = true;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
				break;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	if (!(RequestHandled))
 | 
			
		||||
	  EVENT_USB_Device_UnhandledControlRequest();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (Endpoint_IsSETUPReceived())
 | 
			
		||||
	{
 | 
			
		||||
 | 
			
		||||
@ -227,18 +227,20 @@
 | 
			
		||||
			 */
 | 
			
		||||
			void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
 | 
			
		||||
			/** Event for unhandled control requests. This event fires when a the USB host issues a control
 | 
			
		||||
			 *  request to the control endpoint (address 0) that the library does not handle. This may either
 | 
			
		||||
			 *  be a standard request that the library has no handler code for, or a class specific request
 | 
			
		||||
			 *  issued to the device which must be handled appropriately.
 | 
			
		||||
			/** Event for control requests. This event fires when a the USB host issues a control request
 | 
			
		||||
			 *  to the mandatory device control endpoint (of address 0). This may either be a standard 
 | 
			
		||||
			 *  request that the library may have a handler code for internally, or a class specific request
 | 
			
		||||
			 *  issued to the device which must be handled appropriately. If a request is not processed in the
 | 
			
		||||
			 *  user application via this event, it will be passed to the library for processing internally
 | 
			
		||||
			 *  if a suitable handler exists.
 | 
			
		||||
			 *
 | 
			
		||||
			 *  This event is time-critical; each packet within the request transaction must be acknowledged or
 | 
			
		||||
			 *  sent within 50ms or the host will abort the transfer.
 | 
			
		||||
			 *
 | 
			
		||||
			 *  The library internally handles all standard control requests with the exceptions of SYNC FRAME,
 | 
			
		||||
			 *  SET DESCRIPTOR and SET INTERFACE. These and all other non-standard control requests will be left
 | 
			
		||||
			 *  for the user to process via this event if desired. If not handled in the user application, requests
 | 
			
		||||
			 *  are automatically STALLed.
 | 
			
		||||
			 *  for the user to process via this event if desired. If not handled in the user application or by
 | 
			
		||||
			 *  the library internally, unknown requests are automatically STALLed.
 | 
			
		||||
			 *
 | 
			
		||||
			 *  \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
 | 
			
		||||
			 *        \ref Group_USBManagement documentation).
 | 
			
		||||
@ -249,7 +251,7 @@
 | 
			
		||||
			 *        request SETUP parameters into the \ref USB_ControlRequest structure which should then be used
 | 
			
		||||
			 *        by the application to determine how to handle the issued request.
 | 
			
		||||
			 */
 | 
			
		||||
			void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
			void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
			/** Event for USB configuration number changed. This event fires when a the USB host changes the
 | 
			
		||||
			 *  selected configuration number while in device mode. This event should be hooked in device
 | 
			
		||||
@ -352,7 +354,7 @@
 | 
			
		||||
				#if defined(USB_CAN_BE_DEVICE)
 | 
			
		||||
					void EVENT_USB_Device_Connect(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
 | 
			
		||||
					void EVENT_USB_Device_Disconnect(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
 | 
			
		||||
					void EVENT_USB_Device_UnhandledControlRequest(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
 | 
			
		||||
					void EVENT_USB_Device_ControlRequest(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
 | 
			
		||||
					void EVENT_USB_Device_ConfigurationChanged(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
 | 
			
		||||
					void EVENT_USB_Device_Suspend(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
 | 
			
		||||
					void EVENT_USB_Device_WakeUp(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
 | 
			
		||||
 | 
			
		||||
@ -174,43 +174,43 @@
 | 
			
		||||
			{
 | 
			
		||||
				REQ_GetStatus           = 0, /**< Implemented in the library for device, endpoint and interface
 | 
			
		||||
				                              *   recipients. Passed to the user application for other recipients
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_UnhandledControlRequest() event when received in
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
				REQ_ClearFeature        = 1, /**< Implemented in the library for device, endpoint and interface
 | 
			
		||||
				                              *   recipients. Passed to the user application for other recipients
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_UnhandledControlRequest() event when received in
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
				REQ_SetFeature          = 3, /**< Implemented in the library for device, endpoint and interface
 | 
			
		||||
				                              *   recipients. Passed to the user application for other recipients
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_UnhandledControlRequest() event when received in
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
				REQ_SetAddress          = 5, /**< Implemented in the library for the device recipient. Passed
 | 
			
		||||
				                              *   to the user application for other recipients via the
 | 
			
		||||
				                              *   \ref EVENT_USB_Device_UnhandledControlRequest() event when received in
 | 
			
		||||
				                              *   \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
				REQ_GetDescriptor       = 6, /**< Implemented in the library for device and interface recipients. Passed to the
 | 
			
		||||
				                              *   user application for other recipients via the
 | 
			
		||||
				                              *   \ref EVENT_USB_Device_UnhandledControlRequest() event when received in
 | 
			
		||||
				                              *   \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
				REQ_SetDescriptor       = 7, /**< Not implemented in the library, passed to the user application
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_UnhandledControlRequest() event when received in
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
				REQ_GetConfiguration    = 8, /**< Implemented in the library for the device recipient. Passed
 | 
			
		||||
				                              *   to the user application for other recipients via the
 | 
			
		||||
				                              *   \ref EVENT_USB_Device_UnhandledControlRequest() event when received in
 | 
			
		||||
				                              *   \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
				REQ_SetConfiguration    = 9, /**< Implemented in the library for the device recipient. Passed
 | 
			
		||||
				                              *   to the user application for other recipients via the
 | 
			
		||||
				                              *   \ref EVENT_USB_Device_UnhandledControlRequest() event when received in
 | 
			
		||||
				                              *   \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
				REQ_GetInterface        = 10, /**< Not implemented in the library, passed to the user application
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_UnhandledControlRequest() event when received in
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
				REQ_SetInterface        = 11, /**< Not implemented in the library, passed to the user application
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_UnhandledControlRequest() event when received in
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
				REQ_SynchFrame          = 12, /**< Not implemented in the library, passed to the user application
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_UnhandledControlRequest() event when received in
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
			};
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
@ -214,14 +214,14 @@
 | 
			
		||||
 *
 | 
			
		||||
 *  The final standardized Device Class Driver function is the Control Request handler function
 | 
			
		||||
 *  <i><b>{Class Name}</b>_Device_ProcessControlRequest()</i>, which should be called when the
 | 
			
		||||
 *  \ref EVENT_USB_Device_UnhandledControlRequest() event fires. This function should also be
 | 
			
		||||
 *  called for each class driver instance, using the address of the instance to operate on as
 | 
			
		||||
 *  the function's parameter. The request handler will abort if it is determined that the current
 | 
			
		||||
 *  request is not targeted at the given class driver instance, thus these methods can safely be
 | 
			
		||||
 *  called one-after-another in the event handler with no form of error checking:
 | 
			
		||||
 *  \ref EVENT_USB_Device_ControlRequest() event fires. This function should also be called for
 | 
			
		||||
 *  each class driver instance, using the address of the instance to operate on as the function's
 | 
			
		||||
 *  parameter. The request handler will abort if it is determined that the current request is not
 | 
			
		||||
 *  targeted at the given class driver instance, thus these methods can safely be called
 | 
			
		||||
 *  one-after-another in the event handler with no form of error checking:
 | 
			
		||||
 *
 | 
			
		||||
 *  \code
 | 
			
		||||
 *  void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
 *  void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
 *  {
 | 
			
		||||
 *      Audio_Device_ProcessControlRequest(&My_Audio_Interface);
 | 
			
		||||
 *  }
 | 
			
		||||
 | 
			
		||||
@ -66,6 +66,10 @@
 | 
			
		||||
  *  - Changed AudioInput and AudioOutput demos to reload the next sample via an interrupt rather than polling the sample timer
 | 
			
		||||
  *  - The MIDI class drivers now automatically flushes the MIDI interface when the MIDI class driver's USBTask() function is called
 | 
			
		||||
  *  - Rescue clock of the AVRISP-MKII moved to the AVR's OCR1A pin, so that the clock can be generated at all times
 | 
			
		||||
  *  - Changed ClassDriver MIDI demos to process all incomming events in a loop until the bank becomes empty rather than one at a time
 | 
			
		||||
  *  - Changed LowLevel MIDI demos to only clear the incomming event bank once it has become empty to support packed event packets
 | 
			
		||||
  *  - Renamed the EVENT_USB_Device_UnhandledControlRequest() event to EVENT_USB_Device_ControlRequest() as it is now fired before the library
 | 
			
		||||
  *    request handlers, not afterwards
 | 
			
		||||
  *
 | 
			
		||||
  *  <b>Fixed:</b>
 | 
			
		||||
  *  - Fixed USB_GetHIDReportItemInfo() function modifying the given report item's data when the report item does not exist
 | 
			
		||||
 | 
			
		||||
@ -37,6 +37,9 @@
 | 
			
		||||
 *    - The ENDPOINT_DOUBLEBANK_SUPPORTED() macro is has been renamed \ref ENDPOINT_BANKS_SUPPORTED() and now returns the total number of
 | 
			
		||||
 *      banks supported by the given endpoint. Existing code should switch to the new naming scheme, and test that the return value of the
 | 
			
		||||
 *      macro is equal to or greated than 2 to regain the previous functionality.
 | 
			
		||||
 *    - The EVENT_USB_Device_UnhandledControlRequest() event is now named \ref EVENT_USB_Device_ControlRequest() and fires before (not after)
 | 
			
		||||
 *      the internal library event handlers. Existing code should rename the event handlers in the user application to match the new event
 | 
			
		||||
 *      name, and should ensure that the new execution order does not affect the application's operation.
 | 
			
		||||
 *
 | 
			
		||||
 *  <b>Host Mode</b>
 | 
			
		||||
 *    - Pipes MUST be allocated in ascending order to ensure that bank corruption does not occur. Ensure that your user application
 | 
			
		||||
 | 
			
		||||
@ -68,7 +68,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
		void EVENT_CDC_Device_LineEncodingChanged(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo);
 | 
			
		||||
		void EVENT_CDC_Device_ControLineStateChanged(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo);
 | 
			
		||||
 | 
			
		||||
@ -80,8 +80,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	MS_Device_ProcessControlRequest(&DiskDevice_MS_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -52,7 +52,7 @@
 | 
			
		||||
			void EVENT_USB_Device_Connect(void);
 | 
			
		||||
			void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
			void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
			void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
			void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
			bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo);
 | 
			
		||||
		#endif
 | 
			
		||||
 | 
			
		||||
@ -160,8 +160,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	CDC_Device_ConfigureEndpoints(&VirtualSerial_CDC_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -54,7 +54,7 @@
 | 
			
		||||
		void SetupHardware(void);
 | 
			
		||||
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -149,8 +149,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	USB_Device_EnableSOFEvents();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Packet event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	HID_Device_ProcessControlRequest(&Keyboard_HID_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -71,7 +71,7 @@
 | 
			
		||||
		void ReadMagstripeData(void);
 | 
			
		||||
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_StartOfFrame(void);
 | 
			
		||||
 | 
			
		||||
		bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo,
 | 
			
		||||
 | 
			
		||||
@ -69,8 +69,8 @@ void SetupHardware(void)
 | 
			
		||||
	PORTC &= ~ALL_RELAYS;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Packet event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
    const uint8_t SerialNumber[5] = { 0, 0, 0, 0, 1 };
 | 
			
		||||
	uint8_t ControlData[2]        = { 0, 0 };
 | 
			
		||||
 | 
			
		||||
@ -59,7 +59,7 @@
 | 
			
		||||
	/* Function Prototypes: */
 | 
			
		||||
		void SetupHardware(void);
 | 
			
		||||
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -245,8 +245,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	MS_Device_ProcessControlRequest(&Disk_MS_Interface);
 | 
			
		||||
	HID_Device_ProcessControlRequest(&Generic_HID_Interface);
 | 
			
		||||
 | 
			
		||||
@ -100,7 +100,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
		bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo);
 | 
			
		||||
		bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo,
 | 
			
		||||
 | 
			
		||||
@ -152,8 +152,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -70,7 +70,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
		void EVENT_CDC_Device_LineEncodingChanged(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -92,8 +92,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	MS_Device_ProcessControlRequest(&Disk_MS_Interface);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -49,7 +49,7 @@
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
 | 
			
		||||
		bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -212,8 +212,8 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 | 
			
		||||
	LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Event handler for the library USB Unhandled Control Request event. */
 | 
			
		||||
void EVENT_USB_Device_UnhandledControlRequest(void)
 | 
			
		||||
/** Event handler for the library USB Control Request reception event. */
 | 
			
		||||
void EVENT_USB_Device_ControlRequest(void)
 | 
			
		||||
{
 | 
			
		||||
	if (CurrentFirmwareMode == MODE_USART_BRIDGE)
 | 
			
		||||
	  CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);
 | 
			
		||||
 | 
			
		||||
@ -86,7 +86,7 @@
 | 
			
		||||
		void UARTBridge_Task(void);
 | 
			
		||||
 | 
			
		||||
		void EVENT_USB_Device_ConfigurationChanged(void);
 | 
			
		||||
		void EVENT_USB_Device_UnhandledControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_ControlRequest(void);
 | 
			
		||||
		void EVENT_USB_Device_Connect(void);
 | 
			
		||||
		void EVENT_USB_Device_Disconnect(void);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user