aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/Core/HostStandardReq.c
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2011-11-24 11:33:10 +0000
committerDean Camera <dean@fourwalledcubicle.com>2011-11-24 11:33:10 +0000
commite915d968a5bdb8619c465b94d21a3801446a6539 (patch)
treee7cbe86dfc1d6a88c448ca759d70a9eb34a46bce /LUFA/Drivers/USB/Core/HostStandardReq.c
parent7f8dbb4908abd33b5ee8bfba7cc3870fa14f7366 (diff)
downloadlufa-e915d968a5bdb8619c465b94d21a3801446a6539.tar.gz
lufa-e915d968a5bdb8619c465b94d21a3801446a6539.tar.bz2
lufa-e915d968a5bdb8619c465b94d21a3801446a6539.zip
Added new USB_Host_GetDeviceConfiguration() and USB_Host_GetInterfaceAltSetting() functions.
Diffstat (limited to 'LUFA/Drivers/USB/Core/HostStandardReq.c')
-rw-r--r--LUFA/Drivers/USB/Core/HostStandardReq.c35
1 files changed, 34 insertions, 1 deletions
diff --git a/LUFA/Drivers/USB/Core/HostStandardReq.c b/LUFA/Drivers/USB/Core/HostStandardReq.c
index ee5d8cb42..d7e7e3eba 100644
--- a/LUFA/Drivers/USB/Core/HostStandardReq.c
+++ b/LUFA/Drivers/USB/Core/HostStandardReq.c
@@ -211,6 +211,22 @@ uint8_t USB_Host_SetDeviceConfiguration(const uint8_t ConfigNumber)
return ErrorCode;
}
+uint8_t USB_Host_GetDeviceConfiguration(uint8_t* const ConfigNumber)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE),
+ .bRequest = REQ_GetConfiguration,
+ .wValue = 0,
+ .wIndex = 0,
+ .wLength = sizeof(uint8_t),
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(ConfigNumber);
+}
+
uint8_t USB_Host_GetDeviceDescriptor(void* const DeviceDescriptorPtr)
{
USB_ControlRequest = (USB_Request_Header_t)
@@ -235,7 +251,7 @@ uint8_t USB_Host_GetDeviceStringDescriptor(const uint8_t Index,
{
.bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE),
.bRequest = REQ_GetDescriptor,
- .wValue = (DTYPE_String << 8) | Index,
+ .wValue = ((DTYPE_String << 8) | Index),
.wIndex = 0,
.wLength = BufferLength,
};
@@ -294,5 +310,22 @@ uint8_t USB_Host_SetInterfaceAltSetting(const uint8_t InterfaceIndex,
return USB_Host_SendControlRequest(NULL);
}
+uint8_t USB_Host_GetInterfaceAltSetting(const uint8_t InterfaceIndex,
+ uint8_t* const AltSetting)
+{
+ USB_ControlRequest = (USB_Request_Header_t)
+ {
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_INTERFACE),
+ .bRequest = REQ_GetInterface,
+ .wValue = 0,
+ .wIndex = InterfaceIndex,
+ .wLength = sizeof(uint8_t),
+ };
+
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);
+
+ return USB_Host_SendControlRequest(AltSetting);
+}
+
#endif