aboutsummaryrefslogtreecommitdiffstats
path: root/Demos
diff options
context:
space:
mode:
Diffstat (limited to 'Demos')
-rw-r--r--Demos/Device/AudioInput/AudioInput.c8
-rw-r--r--Demos/Device/AudioOutput/AudioOutput.c8
-rw-r--r--Demos/Device/CDC/CDC.c18
-rw-r--r--Demos/Device/DualCDC/DualCDC.c8
-rw-r--r--Demos/Device/GenericHID/GenericHID.c6
-rw-r--r--Demos/Device/Joystick/Joystick.c19
-rw-r--r--Demos/Device/Keyboard/Keyboard.c39
-rw-r--r--Demos/Device/KeyboardMouse/KeyboardMouse.c21
-rw-r--r--Demos/Device/MassStorage/MassStorage.c6
-rw-r--r--Demos/Device/Mouse/Mouse.c37
-rw-r--r--Demos/Device/RNDISEthernet/RNDISEthernet.c12
-rw-r--r--Demos/Device/USBtoSerial/USBtoSerial.c18
-rw-r--r--Demos/Host/CDCHost/CDCHost.c2
-rw-r--r--Demos/Host/GenericHIDHost/GenericHIDHost.c4
-rw-r--r--Demos/Host/KeyboardHost/KeyboardHost.c4
-rw-r--r--Demos/Host/KeyboardHostWithParser/HIDReport.c2
-rw-r--r--Demos/Host/KeyboardHostWithParser/KeyboardHostWithParser.c2
-rw-r--r--Demos/Host/MassStorageHost/MassStorageHost.c2
-rw-r--r--Demos/Host/MassStorageHost/MassStoreCommands.c6
-rw-r--r--Demos/Host/MouseHost/MouseHost.c4
-rw-r--r--Demos/Host/MouseHostWithParser/HIDReport.c2
-rw-r--r--Demos/Host/MouseHostWithParser/MouseHostWithParser.c2
-rw-r--r--Demos/Host/StillImageHost/StillImageCommands.c2
-rw-r--r--Demos/Host/StillImageHost/StillImageHost.c2
-rw-r--r--Demos/OTG/TestApp/TestEvents.c5
25 files changed, 79 insertions, 160 deletions
diff --git a/Demos/Device/AudioInput/AudioInput.c b/Demos/Device/AudioInput/AudioInput.c
index 45b9971f8..05094c2b8 100644
--- a/Demos/Device/AudioInput/AudioInput.c
+++ b/Demos/Device/AudioInput/AudioInput.c
@@ -131,18 +131,16 @@ EVENT_HANDLER(USB_ConfigurationChanged)
EVENT_HANDLER(USB_UnhandledControlPacket)
{
/* Process General and Audio specific control requests */
- switch (bRequest)
+ switch (USB_ControlRequest.bRequest)
{
case REQ_SetInterface:
/* Set Interface is not handled by the library, as its function is application-specific */
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_INTERFACE))
{
- uint16_t wValue = Endpoint_Read_Word_LE();
-
Endpoint_ClearSETUP();
/* Check if the host is enabling the audio interface (setting AlternateSetting to 1) */
- if (wValue)
+ if (USB_ControlRequest.wValue)
{
/* Start audio task */
Scheduler_SetTaskMode(USB_Audio_Task, TASK_RUN);
diff --git a/Demos/Device/AudioOutput/AudioOutput.c b/Demos/Device/AudioOutput/AudioOutput.c
index ba9a499a4..640462da1 100644
--- a/Demos/Device/AudioOutput/AudioOutput.c
+++ b/Demos/Device/AudioOutput/AudioOutput.c
@@ -158,18 +158,16 @@ EVENT_HANDLER(USB_ConfigurationChanged)
EVENT_HANDLER(USB_UnhandledControlPacket)
{
/* Process General and Audio specific control requests */
- switch (bRequest)
+ switch (USB_ControlRequest.bRequest)
{
case REQ_SetInterface:
/* Set Interface is not handled by the library, as its function is application-specific */
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_INTERFACE))
{
- uint16_t wValue = Endpoint_Read_Word_LE();
-
Endpoint_ClearSETUP();
/* Check if the host is enabling the audio interface (setting AlternateSetting to 1) */
- if (wValue)
+ if (USB_ControlRequest.wValue)
{
/* Start audio task */
Scheduler_SetTaskMode(USB_Audio_Task, TASK_RUN);
diff --git a/Demos/Device/CDC/CDC.c b/Demos/Device/CDC/CDC.c
index fb7d74b07..28bce1ebc 100644
--- a/Demos/Device/CDC/CDC.c
+++ b/Demos/Device/CDC/CDC.c
@@ -160,10 +160,10 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
uint8_t* LineCodingData = (uint8_t*)&LineCoding;
/* Process CDC specific control requests */
- switch (bRequest)
+ switch (USB_ControlRequest.bRequest)
{
case REQ_GetLineEncoding:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
/* Acknowledge the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
@@ -177,7 +177,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_SetLineEncoding:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
/* Acknowledge the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
@@ -191,18 +191,12 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_SetControlLineState:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
-#if 0
/* NOTE: Here you can read in the line state mask from the host, to get the current state of the output handshake
- lines. The mask is read in from the wValue parameter, and can be masked against the CONTROL_LINE_OUT_* masks
- to determine the RTS and DTR line states using the following code:
+ lines. The mask is read in from the wValue parameter in USB_ControlRequest, and can be masked against the
+ CONTROL_LINE_OUT_* masks to determine the RTS and DTR line states using the following code:
*/
-
- uint16_t wIndex = Endpoint_Read_Word_LE();
-
- // Do something with the given line states in wIndex
-#endif
/* Acknowledge the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
diff --git a/Demos/Device/DualCDC/DualCDC.c b/Demos/Device/DualCDC/DualCDC.c
index bbcbecc3d..4185a76bd 100644
--- a/Demos/Device/DualCDC/DualCDC.c
+++ b/Demos/Device/DualCDC/DualCDC.c
@@ -198,10 +198,10 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
LineCodingData = (wIndex == 0) ? (uint8_t*)&LineCoding1 : (uint8_t*)&LineCoding2;
/* Process CDC specific control requests */
- switch (bRequest)
+ switch (USB_ControlRequest.bRequest)
{
case REQ_GetLineEncoding:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
/* Acknowledge the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
@@ -215,7 +215,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_SetLineEncoding:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
/* Acknowledge the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
@@ -229,7 +229,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_SetControlLineState:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
/* Acknowledge the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
diff --git a/Demos/Device/GenericHID/GenericHID.c b/Demos/Device/GenericHID/GenericHID.c
index 207f63c26..245ddaafc 100644
--- a/Demos/Device/GenericHID/GenericHID.c
+++ b/Demos/Device/GenericHID/GenericHID.c
@@ -160,10 +160,10 @@ EVENT_HANDLER(USB_ConfigurationChanged)
EVENT_HANDLER(USB_UnhandledControlPacket)
{
/* Handle HID Class specific requests */
- switch (bRequest)
+ switch (USB_ControlRequest.bRequest)
{
case REQ_GetReport:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
Endpoint_ClearSETUP();
@@ -180,7 +180,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_SetReport:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
Endpoint_ClearSETUP();
diff --git a/Demos/Device/Joystick/Joystick.c b/Demos/Device/Joystick/Joystick.c
index e5d23bd6d..ee4bc6ad0 100644
--- a/Demos/Device/Joystick/Joystick.c
+++ b/Demos/Device/Joystick/Joystick.c
@@ -122,33 +122,20 @@ EVENT_HANDLER(USB_ConfigurationChanged)
EVENT_HANDLER(USB_UnhandledControlPacket)
{
/* Handle HID Class specific requests */
- switch (bRequest)
+ switch (USB_ControlRequest.bRequest)
{
case REQ_GetReport:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
USB_JoystickReport_Data_t JoystickReportData;
/* Create the next HID report to send to the host */
GetNextReport(&JoystickReportData);
-
- /* Ignore report type and ID number value */
- Endpoint_Discard_Word();
-
- /* Ignore unused Interface number value */
- Endpoint_Discard_Word();
-
- /* Read in the number of bytes in the report to send to the host */
- uint16_t wLength = Endpoint_Read_Word_LE();
- /* If trying to send more bytes than exist to the host, clamp the value at the report size */
- if (wLength > sizeof(JoystickReportData))
- wLength = sizeof(JoystickReportData);
-
Endpoint_ClearSETUP();
/* Write the report data to the control endpoint */
- Endpoint_Write_Control_Stream_LE(&JoystickReportData, wLength);
+ Endpoint_Write_Control_Stream_LE(&JoystickReportData, sizeof(JoystickReportData));
/* Finalize the stream transfer to send the last packet or clear the host abort */
Endpoint_ClearOUT();
diff --git a/Demos/Device/Keyboard/Keyboard.c b/Demos/Device/Keyboard/Keyboard.c
index 6d7ee3fcd..088943bce 100644
--- a/Demos/Device/Keyboard/Keyboard.c
+++ b/Demos/Device/Keyboard/Keyboard.c
@@ -193,33 +193,20 @@ EVENT_HANDLER(USB_ConfigurationChanged)
EVENT_HANDLER(USB_UnhandledControlPacket)
{
/* Handle HID Class specific requests */
- switch (bRequest)
+ switch (USB_ControlRequest.bRequest)
{
case REQ_GetReport:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
USB_KeyboardReport_Data_t KeyboardReportData;
/* Create the next keyboard report for transmission to the host */
CreateKeyboardReport(&KeyboardReportData);
- /* Ignore report type and ID number value */
- Endpoint_Discard_Word();
-
- /* Ignore unused Interface number value */
- Endpoint_Discard_Word();
-
- /* Read in the number of bytes in the report to send to the host */
- uint16_t wLength = Endpoint_Read_Word_LE();
-
- /* If trying to send more bytes than exist to the host, clamp the value at the report size */
- if (wLength > sizeof(KeyboardReportData))
- wLength = sizeof(KeyboardReportData);
-
Endpoint_ClearSETUP();
/* Write the report data to the control endpoint */
- Endpoint_Write_Control_Stream_LE(&KeyboardReportData, wLength);
+ Endpoint_Write_Control_Stream_LE(&KeyboardReportData, sizeof(KeyboardReportData));
/* Finalize the stream transfer to send the last packet or clear the host abort */
Endpoint_ClearOUT();
@@ -227,7 +214,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_SetReport:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
Endpoint_ClearSETUP();
@@ -250,7 +237,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_GetProtocol:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
Endpoint_ClearSETUP();
@@ -267,15 +254,12 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_SetProtocol:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
- /* Read in the wValue parameter containing the new protocol mode */
- uint16_t wValue = Endpoint_Read_Word_LE();
-
Endpoint_ClearSETUP();
/* Set or clear the flag depending on what the host indicates that the current Protocol should be */
- UsingReportProtocol = (wValue != 0x0000);
+ UsingReportProtocol = (USB_ControlRequest.wValue != 0x0000);
/* Acknowledge status stage */
while (!(Endpoint_IsINReady()));
@@ -284,15 +268,12 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_SetIdle:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
- /* Read in the wValue parameter containing the idle period */
- uint16_t wValue = Endpoint_Read_Word_LE();
-
Endpoint_ClearSETUP();
/* Get idle period in MSB */
- IdleCount = (wValue >> 8);
+ IdleCount = (USB_ControlRequest.wValue >> 8);
/* Acknowledge status stage */
while (!(Endpoint_IsINReady()));
@@ -301,7 +282,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_GetIdle:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
Endpoint_ClearSETUP();
diff --git a/Demos/Device/KeyboardMouse/KeyboardMouse.c b/Demos/Device/KeyboardMouse/KeyboardMouse.c
index 9cae69a5e..a85a3786d 100644
--- a/Demos/Device/KeyboardMouse/KeyboardMouse.c
+++ b/Demos/Device/KeyboardMouse/KeyboardMouse.c
@@ -139,17 +139,13 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
uint8_t ReportSize;
/* Handle HID Class specific requests */
- switch (bRequest)
+ switch (USB_ControlRequest.bRequest)
{
case REQ_GetReport:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
- Endpoint_Discard_Word();
-
- uint16_t wIndex = Endpoint_Read_Word_LE();
-
/* Determine if it is the mouse or the keyboard data that is being requested */
- if (!(wIndex))
+ if (!(USB_ControlRequest.wIndex))
{
ReportData = (uint8_t*)&KeyboardReportData;
ReportSize = sizeof(KeyboardReportData);
@@ -160,17 +156,10 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
ReportSize = sizeof(MouseReportData);
}
- /* Read in the number of bytes in the report to send to the host */
- uint16_t wLength = Endpoint_Read_Word_LE();
-
- /* If trying to send more bytes than exist to the host, clamp the value at the report size */
- if (wLength > ReportSize)
- wLength = ReportSize;
-
Endpoint_ClearSETUP();
/* Write the report data to the control endpoint */
- Endpoint_Write_Control_Stream_LE(ReportData, wLength);
+ Endpoint_Write_Control_Stream_LE(ReportData, ReportSize);
/* Clear the report data afterwards */
memset(ReportData, 0, ReportSize);
@@ -181,7 +170,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_SetReport:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
Endpoint_ClearSETUP();
diff --git a/Demos/Device/MassStorage/MassStorage.c b/Demos/Device/MassStorage/MassStorage.c
index 8c7db9322..e2c242499 100644
--- a/Demos/Device/MassStorage/MassStorage.c
+++ b/Demos/Device/MassStorage/MassStorage.c
@@ -148,10 +148,10 @@ EVENT_HANDLER(USB_ConfigurationChanged)
EVENT_HANDLER(USB_UnhandledControlPacket)
{
/* Process UFI specific control requests */
- switch (bRequest)
+ switch (USB_ControlRequest.bRequest)
{
case REQ_MassStorageReset:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
Endpoint_ClearSETUP();
@@ -165,7 +165,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_GetMaxLUN:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
Endpoint_ClearSETUP();
diff --git a/Demos/Device/Mouse/Mouse.c b/Demos/Device/Mouse/Mouse.c
index 0959a4a12..2e5f05b42 100644
--- a/Demos/Device/Mouse/Mouse.c
+++ b/Demos/Device/Mouse/Mouse.c
@@ -183,33 +183,20 @@ EVENT_HANDLER(USB_ConfigurationChanged)
EVENT_HANDLER(USB_UnhandledControlPacket)
{
/* Handle HID Class specific requests */
- switch (bRequest)
+ switch (USB_ControlRequest.bRequest)
{
case REQ_GetReport:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
USB_MouseReport_Data_t MouseReportData;
/* Create the next mouse report for transmission to the host */
CreateMouseReport(&MouseReportData);
- /* Ignore report type and ID number value */
- Endpoint_Discard_Word();
-
- /* Ignore unused Interface number value */
- Endpoint_Discard_Word();
-
- /* Read in the number of bytes in the report to send to the host */
- uint16_t wLength = Endpoint_Read_Word_LE();
-
- /* If trying to send more bytes than exist to the host, clamp the value at the report size */
- if (wLength > sizeof(MouseReportData))
- wLength = sizeof(MouseReportData);
-
Endpoint_ClearSETUP();
/* Write the report data to the control endpoint */
- Endpoint_Write_Control_Stream_LE(&MouseReportData, wLength);
+ Endpoint_Write_Control_Stream_LE(&MouseReportData, sizeof(MouseReportData));
/* Clear the report data afterwards */
memset(&MouseReportData, 0, sizeof(MouseReportData));
@@ -220,7 +207,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_GetProtocol:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
Endpoint_ClearSETUP();
@@ -237,15 +224,12 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_SetProtocol:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
- /* Read in the wValue parameter containing the new protocol mode */
- uint16_t wValue = Endpoint_Read_Word_LE();
-
Endpoint_ClearSETUP();
/* Set or clear the flag depending on what the host indicates that the current Protocol should be */
- UsingReportProtocol = (wValue != 0x0000);
+ UsingReportProtocol = (USB_ControlRequest.wValue != 0x0000);
/* Acknowledge status stage */
while (!(Endpoint_IsINReady()));
@@ -254,15 +238,12 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_SetIdle:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
- /* Read in the wValue parameter containing the idle period */
- uint16_t wValue = Endpoint_Read_Word_LE();
-
Endpoint_ClearSETUP();
/* Get idle period in MSB */
- IdleCount = (wValue >> 8);
+ IdleCount = (USB_ControlRequest.wValue >> 8);
/* Acknowledge status stage */
while (!(Endpoint_IsINReady()));
@@ -271,7 +252,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_GetIdle:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
Endpoint_ClearSETUP();
diff --git a/Demos/Device/RNDISEthernet/RNDISEthernet.c b/Demos/Device/RNDISEthernet/RNDISEthernet.c
index ec8eb7b87..7b81ad85f 100644
--- a/Demos/Device/RNDISEthernet/RNDISEthernet.c
+++ b/Demos/Device/RNDISEthernet/RNDISEthernet.c
@@ -150,10 +150,10 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
uint16_t wLength = Endpoint_Read_Word_LE();
/* Process RNDIS class commands */
- switch (bRequest)
+ switch (USB_ControlRequest.bRequest)
{
case REQ_SendEncapsulatedCommand:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
/* Clear the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
@@ -170,7 +170,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_GetEncapsulatedResponse:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
/* Check if a response to the last message is ready */
if (!(MessageHeader->MessageLength))
@@ -180,15 +180,11 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
MessageHeader->MessageLength = 1;
}
- /* Check if less than the requested number of bytes to transfer */
- if (MessageHeader->MessageLength < wLength)
- wLength = MessageHeader->MessageLength;
-
/* Clear the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
/* Write the message response data to the endpoint */
- Endpoint_Write_Control_Stream_LE(RNDISMessageBuffer, wLength);
+ Endpoint_Write_Control_Stream_LE(RNDISMessageBuffer, MessageHeader->MessageLength);
/* Finalize the stream transfer to send the last packet or clear the host abort */
Endpoint_ClearOUT();
diff --git a/Demos/Device/USBtoSerial/USBtoSerial.c b/Demos/Device/USBtoSerial/USBtoSerial.c
index e1c22fc13..dbf4b1b0d 100644
--- a/Demos/Device/USBtoSerial/USBtoSerial.c
+++ b/Demos/Device/USBtoSerial/USBtoSerial.c
@@ -153,10 +153,10 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
uint8_t* LineCodingData = (uint8_t*)&LineCoding;
/* Process CDC specific control requests */
- switch (bRequest)
+ switch (USB_ControlRequest.bRequest)
{
case REQ_GetLineEncoding:
- if (bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE))
{
/* Acknowledge the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
@@ -170,7 +170,7 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_SetLineEncoding:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
/* Acknowledge the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
@@ -187,18 +187,12 @@ EVENT_HANDLER(USB_UnhandledControlPacket)
break;
case REQ_SetControlLineState:
- if (bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
+ if (USB_ControlRequest.bmRequestType == (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE))
{
-#if 0
/* NOTE: Here you can read in the line state mask from the host, to get the current state of the output handshake
- lines. The mask is read in from the wValue parameter, and can be masked against the CONTROL_LINE_OUT_* masks
- to determine the RTS and DTR line states using the following code:
+ lines. The mask is read in from the wValue parameter in USB_ControlRequest, and can be masked against the
+ CONTROL_LINE_OUT_* masks to determine the RTS and DTR line states using the following code:
*/
-
- uint16_t wIndex = Endpoint_Read_Word_LE();
-
- // Do something with the given line states in wIndex
-#endif
/* Acknowledge the SETUP packet, ready for data transfer */
Endpoint_ClearSETUP();
diff --git a/Demos/Host/CDCHost/CDCHost.c b/Demos/Host/CDCHost/CDCHost.c
index aa999645a..b499a275e 100644
--- a/Demos/Host/CDCHost/CDCHost.c
+++ b/Demos/Host/CDCHost/CDCHost.c
@@ -181,7 +181,7 @@ TASK(USB_CDC_Host)
{
case HOST_STATE_Addressed:
/* Standard request to set the device configuration to configuration 1 */
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE),
.bRequest = REQ_SetConfiguration,
diff --git a/Demos/Host/GenericHIDHost/GenericHIDHost.c b/Demos/Host/GenericHIDHost/GenericHIDHost.c
index f0d196768..9f419ad6d 100644
--- a/Demos/Host/GenericHIDHost/GenericHIDHost.c
+++ b/Demos/Host/GenericHIDHost/GenericHIDHost.c
@@ -257,7 +257,7 @@ void WriteNextReport(uint8_t* ReportOUTData, uint8_t ReportIndex, uint8_t Report
else
{
/* Class specific request to send a HID report to the device */
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
.bRequest = REQ_SetReport,
@@ -286,7 +286,7 @@ TASK(USB_HID_Host)
{
case HOST_STATE_Addressed:
/* Standard request to set the device configuration to configuration 1 */
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE),
.bRequest = REQ_SetConfiguration,
diff --git a/Demos/Host/KeyboardHost/KeyboardHost.c b/Demos/Host/KeyboardHost/KeyboardHost.c
index bc75bd3f3..f17f950be 100644
--- a/Demos/Host/KeyboardHost/KeyboardHost.c
+++ b/Demos/Host/KeyboardHost/KeyboardHost.c
@@ -253,7 +253,7 @@ TASK(USB_Keyboard_Host)
{
case HOST_STATE_Addressed:
/* Standard request to set the device configuration to configuration 1 */
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE),
.bRequest = REQ_SetConfiguration,
@@ -303,7 +303,7 @@ TASK(USB_Keyboard_Host)
}
/* HID class request to set the keyboard protocol to the Boot Protocol */
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
.bRequest = REQ_SetProtocol,
diff --git a/Demos/Host/KeyboardHostWithParser/HIDReport.c b/Demos/Host/KeyboardHostWithParser/HIDReport.c
index 14b803840..6ac1f5a65 100644
--- a/Demos/Host/KeyboardHostWithParser/HIDReport.c
+++ b/Demos/Host/KeyboardHostWithParser/HIDReport.c
@@ -47,7 +47,7 @@ uint8_t GetHIDReportData(void)
/* Create a buffer big enough to hold the entire returned HID report */
uint8_t HIDReportData[HIDReportSize];
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_INTERFACE),
.bRequest = REQ_GetDescriptor,
diff --git a/Demos/Host/KeyboardHostWithParser/KeyboardHostWithParser.c b/Demos/Host/KeyboardHostWithParser/KeyboardHostWithParser.c
index 76ad5f258..9eb3d108a 100644
--- a/Demos/Host/KeyboardHostWithParser/KeyboardHostWithParser.c
+++ b/Demos/Host/KeyboardHostWithParser/KeyboardHostWithParser.c
@@ -184,7 +184,7 @@ TASK(USB_Keyboard_Host)
{
case HOST_STATE_Addressed:
/* Standard request to set the device configuration to configuration 1 */
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE),
.bRequest = REQ_SetConfiguration,
diff --git a/Demos/Host/MassStorageHost/MassStorageHost.c b/Demos/Host/MassStorageHost/MassStorageHost.c
index 9352562de..c55a167cc 100644
--- a/Demos/Host/MassStorageHost/MassStorageHost.c
+++ b/Demos/Host/MassStorageHost/MassStorageHost.c
@@ -155,7 +155,7 @@ TASK(USB_MassStore_Host)
{
case HOST_STATE_Addressed:
/* Standard request to set the device configuration to configuration 1 */
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE),
.bRequest = REQ_SetConfiguration,
diff --git a/Demos/Host/MassStorageHost/MassStoreCommands.c b/Demos/Host/MassStorageHost/MassStoreCommands.c
index 864edf30c..d4df205b1 100644
--- a/Demos/Host/MassStorageHost/MassStoreCommands.c
+++ b/Demos/Host/MassStorageHost/MassStoreCommands.c
@@ -250,7 +250,7 @@ static uint8_t MassStore_GetReturnedStatus(void)
*/
uint8_t MassStore_ClearPipeStall(const uint8_t EndpointNum)
{
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT),
.bRequest = REQ_ClearFeature,
@@ -272,7 +272,7 @@ uint8_t MassStore_ClearPipeStall(const uint8_t EndpointNum)
*/
uint8_t MassStore_MassStorageReset(void)
{
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
.bRequest = REQ_MassStorageReset,
@@ -298,7 +298,7 @@ uint8_t MassStore_GetMaxLUN(uint8_t* const MaxLUNIndex)
{
uint8_t ErrorCode;
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE),
.bRequest = REQ_GetMaxLUN,
diff --git a/Demos/Host/MouseHost/MouseHost.c b/Demos/Host/MouseHost/MouseHost.c
index a11ecc86b..3c858a890 100644
--- a/Demos/Host/MouseHost/MouseHost.c
+++ b/Demos/Host/MouseHost/MouseHost.c
@@ -248,7 +248,7 @@ TASK(USB_Mouse_Host)
{
case HOST_STATE_Addressed:
/* Standard request to set the device configuration to configuration 1 */
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE),
.bRequest = REQ_SetConfiguration,
@@ -298,7 +298,7 @@ TASK(USB_Mouse_Host)
}
/* HID class request to set the mouse protocol to the Boot Protocol */
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),
.bRequest = REQ_SetProtocol,
diff --git a/Demos/Host/MouseHostWithParser/HIDReport.c b/Demos/Host/MouseHostWithParser/HIDReport.c
index 68d6580f4..4d895908e 100644
--- a/Demos/Host/MouseHostWithParser/HIDReport.c
+++ b/Demos/Host/MouseHostWithParser/HIDReport.c
@@ -47,7 +47,7 @@ uint8_t GetHIDReportData(void)
/* Create a buffer big enough to hold the entire returned HID report */
uint8_t HIDReportData[HIDReportSize];
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_INTERFACE),
.bRequest = REQ_GetDescriptor,
diff --git a/Demos/Host/MouseHostWithParser/MouseHostWithParser.c b/Demos/Host/MouseHostWithParser/MouseHostWithParser.c
index df063dab3..58a189f6b 100644
--- a/Demos/Host/MouseHostWithParser/MouseHostWithParser.c
+++ b/Demos/Host/MouseHostWithParser/MouseHostWithParser.c
@@ -185,7 +185,7 @@ TASK(USB_Mouse_Host)
{
case HOST_STATE_Addressed:
/* Standard request to set the device configuration to configuration 1 */
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE),
.bRequest = REQ_SetConfiguration,
diff --git a/Demos/Host/StillImageHost/StillImageCommands.c b/Demos/Host/StillImageHost/StillImageCommands.c
index 233e5b116..49ab0df01 100644
--- a/Demos/Host/StillImageHost/StillImageCommands.c
+++ b/Demos/Host/StillImageHost/StillImageCommands.c
@@ -263,7 +263,7 @@ bool SImage_IsEventReceived(void)
*/
uint8_t SImage_ClearPipeStall(const uint8_t EndpointNum)
{
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT),
.bRequest = REQ_ClearFeature,
diff --git a/Demos/Host/StillImageHost/StillImageHost.c b/Demos/Host/StillImageHost/StillImageHost.c
index 4b196c3ed..ca5292ba2 100644
--- a/Demos/Host/StillImageHost/StillImageHost.c
+++ b/Demos/Host/StillImageHost/StillImageHost.c
@@ -151,7 +151,7 @@ TASK(USB_SImage_Host)
{
case HOST_STATE_Addressed:
/* Standard request to set the device configuration to configuration 1 */
- USB_HostRequest = (USB_Host_Request_Header_t)
+ USB_ControlRequest = (USB_Request_Header_t)
{
.bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_DEVICE),
.bRequest = REQ_SetConfiguration,
diff --git a/Demos/OTG/TestApp/TestEvents.c b/Demos/OTG/TestApp/TestEvents.c
index 8f05b8208..17514774f 100644
--- a/Demos/OTG/TestApp/TestEvents.c
+++ b/Demos/OTG/TestApp/TestEvents.c
@@ -193,8 +193,9 @@ EVENT_HANDLER(USB_DeviceError)
EVENT_HANDLER(USB_UnhandledControlPacket)
{
puts_P(PSTR(EVENT_PREFIX "Ctrl Request\r\n"));
- printf_P(PSTR(" -- Req Data %d\r\n"), bRequest);
- printf_P(PSTR(" -- Req Type %d\r\n"), bmRequestType);
+ printf_P(PSTR(" -- Req Data %d\r\n"), USB_ControlRequest.bRequest);
+ printf_P(PSTR(" -- Req Type %d\r\n"), USB_ControlRequest.bmRequestType);
+ printf_P(PSTR(" -- Req Length %d\r\n"), USB_ControlRequest.wLength);
}
/** Event handler for the USB_ConfigurationChanged event. When fired, the event is logged to the USART. */