diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2009-04-14 08:35:47 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2009-04-14 08:35:47 +0000 |
commit | 6a5a37d7d141f109dc02d0bb6d8f4757b533408d (patch) | |
tree | 6ec5a4528b25d8531d508348caa8f297d3aa5b1d /Demos/Host | |
parent | fea5d085122bb386f1ec293b2e51036e29c7dc30 (diff) | |
download | lufa-6a5a37d7d141f109dc02d0bb6d8f4757b533408d.tar.gz lufa-6a5a37d7d141f109dc02d0bb6d8f4757b533408d.tar.bz2 lufa-6a5a37d7d141f109dc02d0bb6d8f4757b533408d.zip |
The USB_Host_SendControlRequest() function no longer automatically selects the Control pipe (pipe 0), so that other control type pipes can be used with the function.
The USB Host management task now saves and restores the currently selected pipe before and after the task completes.
Diffstat (limited to 'Demos/Host')
-rw-r--r-- | Demos/Host/CDCHost/CDCHost.c | 3 | ||||
-rw-r--r-- | Demos/Host/GenericHIDHost/GenericHIDHost.c | 6 | ||||
-rw-r--r-- | Demos/Host/KeyboardHost/KeyboardHost.c | 6 | ||||
-rw-r--r-- | Demos/Host/KeyboardHostWithParser/HIDReport.c | 3 | ||||
-rw-r--r-- | Demos/Host/KeyboardHostWithParser/KeyboardHostWithParser.c | 3 | ||||
-rw-r--r-- | Demos/Host/MassStorageHost/MassStorageHost.c | 3 | ||||
-rw-r--r-- | Demos/Host/MassStorageHost/MassStoreCommands.c | 9 | ||||
-rw-r--r-- | Demos/Host/MouseHost/MouseHost.c | 6 | ||||
-rw-r--r-- | Demos/Host/MouseHostWithParser/HIDReport.c | 3 | ||||
-rw-r--r-- | Demos/Host/MouseHostWithParser/MouseHostWithParser.c | 3 | ||||
-rw-r--r-- | Demos/Host/StillImageHost/StillImageCommands.c | 3 | ||||
-rw-r--r-- | Demos/Host/StillImageHost/StillImageHost.c | 3 |
12 files changed, 51 insertions, 0 deletions
diff --git a/Demos/Host/CDCHost/CDCHost.c b/Demos/Host/CDCHost/CDCHost.c index a51f597a2..9ecf060b3 100644 --- a/Demos/Host/CDCHost/CDCHost.c +++ b/Demos/Host/CDCHost/CDCHost.c @@ -196,6 +196,9 @@ TASK(USB_CDC_Host) wLength: 0,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
/* Send the request, display error and wait for device detach if request fails */
if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
{
diff --git a/Demos/Host/GenericHIDHost/GenericHIDHost.c b/Demos/Host/GenericHIDHost/GenericHIDHost.c index 605fc6f67..4d2fefb38 100644 --- a/Demos/Host/GenericHIDHost/GenericHIDHost.c +++ b/Demos/Host/GenericHIDHost/GenericHIDHost.c @@ -262,6 +262,9 @@ void WriteNextReport(uint8_t* ReportOUTData, uint16_t ReportLength) wLength: ReportLength,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
/* Send the request to the device */
USB_Host_SendControlRequest(ReportOUTData);
}
@@ -288,6 +291,9 @@ TASK(USB_HID_Host) wLength: 0,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
/* Send the request, display error and wait for device detach if request fails */
if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
{
diff --git a/Demos/Host/KeyboardHost/KeyboardHost.c b/Demos/Host/KeyboardHost/KeyboardHost.c index f73e56893..947f23281 100644 --- a/Demos/Host/KeyboardHost/KeyboardHost.c +++ b/Demos/Host/KeyboardHost/KeyboardHost.c @@ -263,6 +263,9 @@ TASK(USB_Keyboard_Host) wLength: 0,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
/* Send the request, display error and wait for device detach if request fails */
if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
{
@@ -310,6 +313,9 @@ TASK(USB_Keyboard_Host) wLength: 0,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
/* Send the request, display error and wait for device detach if request fails */
if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
{
diff --git a/Demos/Host/KeyboardHostWithParser/HIDReport.c b/Demos/Host/KeyboardHostWithParser/HIDReport.c index 89bd1c866..d177a8877 100644 --- a/Demos/Host/KeyboardHostWithParser/HIDReport.c +++ b/Demos/Host/KeyboardHostWithParser/HIDReport.c @@ -56,6 +56,9 @@ uint8_t GetHIDReportData(void) wLength: HIDReportSize,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
/* Send control request to retrieve the HID report from the attached device */
if (USB_Host_SendControlRequest(HIDReportData) != HOST_SENDCONTROL_Successful)
return ParseControlError;
diff --git a/Demos/Host/KeyboardHostWithParser/KeyboardHostWithParser.c b/Demos/Host/KeyboardHostWithParser/KeyboardHostWithParser.c index eefd2fa56..d19929d4d 100644 --- a/Demos/Host/KeyboardHostWithParser/KeyboardHostWithParser.c +++ b/Demos/Host/KeyboardHostWithParser/KeyboardHostWithParser.c @@ -199,6 +199,9 @@ TASK(USB_Keyboard_Host) wLength: 0,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
/* Send the request, display error and wait for device detach if request fails */
if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
{
diff --git a/Demos/Host/MassStorageHost/MassStorageHost.c b/Demos/Host/MassStorageHost/MassStorageHost.c index a7b550ca7..ec5bc6107 100644 --- a/Demos/Host/MassStorageHost/MassStorageHost.c +++ b/Demos/Host/MassStorageHost/MassStorageHost.c @@ -170,6 +170,9 @@ TASK(USB_MassStore_Host) wLength: 0,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
/* Send the request, display error and wait for device detach if request fails */
if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
{
diff --git a/Demos/Host/MassStorageHost/MassStoreCommands.c b/Demos/Host/MassStorageHost/MassStoreCommands.c index 0d88acbd5..bf736e79c 100644 --- a/Demos/Host/MassStorageHost/MassStoreCommands.c +++ b/Demos/Host/MassStorageHost/MassStoreCommands.c @@ -256,6 +256,9 @@ uint8_t MassStore_ClearPipeStall(const uint8_t EndpointNum) wLength: 0,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
return USB_Host_SendControlRequest(NULL);
}
@@ -275,6 +278,9 @@ uint8_t MassStore_MassStorageReset(void) wLength: 0,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
return USB_Host_SendControlRequest(NULL);
}
@@ -298,6 +304,9 @@ uint8_t MassStore_GetMaxLUN(uint8_t* const MaxLUNIndex) wLength: 1,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
if ((ErrorCode = USB_Host_SendControlRequest(MaxLUNIndex)) == HOST_SENDCONTROL_SetupStalled)
{
/* Clear the pipe stall */
diff --git a/Demos/Host/MouseHost/MouseHost.c b/Demos/Host/MouseHost/MouseHost.c index 29cbd8741..ff2542834 100644 --- a/Demos/Host/MouseHost/MouseHost.c +++ b/Demos/Host/MouseHost/MouseHost.c @@ -259,6 +259,9 @@ TASK(USB_Mouse_Host) wLength: 0,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
/* Send the request, display error and wait for device detach if request fails */
if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
{
@@ -306,6 +309,9 @@ TASK(USB_Mouse_Host) wLength: 0,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
/* Send the request, display error and wait for device detach if request fails */
if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
{
diff --git a/Demos/Host/MouseHostWithParser/HIDReport.c b/Demos/Host/MouseHostWithParser/HIDReport.c index 55f250dd9..3d06bb140 100644 --- a/Demos/Host/MouseHostWithParser/HIDReport.c +++ b/Demos/Host/MouseHostWithParser/HIDReport.c @@ -56,6 +56,9 @@ uint8_t GetHIDReportData(void) wLength: HIDReportSize,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
/* Send control request to retrieve the HID report from the attached device */
if (USB_Host_SendControlRequest(HIDReportData) != HOST_SENDCONTROL_Successful)
return ParseControlError;
diff --git a/Demos/Host/MouseHostWithParser/MouseHostWithParser.c b/Demos/Host/MouseHostWithParser/MouseHostWithParser.c index 79cecdf5b..6aeca4ba5 100644 --- a/Demos/Host/MouseHostWithParser/MouseHostWithParser.c +++ b/Demos/Host/MouseHostWithParser/MouseHostWithParser.c @@ -200,6 +200,9 @@ TASK(USB_Mouse_Host) wLength: 0,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
/* Send the request, display error and wait for device detach if request fails */
if ((ErrorCode = USB_Host_SendControlRequest(NULL)) != HOST_SENDCONTROL_Successful)
{
diff --git a/Demos/Host/StillImageHost/StillImageCommands.c b/Demos/Host/StillImageHost/StillImageCommands.c index be6f7482d..43e57e126 100644 --- a/Demos/Host/StillImageHost/StillImageCommands.c +++ b/Demos/Host/StillImageHost/StillImageCommands.c @@ -272,5 +272,8 @@ uint8_t SImage_ClearPipeStall(const uint8_t PipeEndpointNum) wLength: 0,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
return USB_Host_SendControlRequest(NULL);
}
diff --git a/Demos/Host/StillImageHost/StillImageHost.c b/Demos/Host/StillImageHost/StillImageHost.c index 787629c3b..1694322ee 100644 --- a/Demos/Host/StillImageHost/StillImageHost.c +++ b/Demos/Host/StillImageHost/StillImageHost.c @@ -165,6 +165,9 @@ TASK(USB_SImage_Host) wLength: 0,
};
+ /* Select the control pipe for the request transfer */
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
/* Send the request, display error and wait for device detach if request fails */
if (USB_Host_SendControlRequest(NULL) != HOST_SENDCONTROL_Successful)
{
|