Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Erik Strand
lufa
Commits
cc9b1909
Commit
cc9b1909
authored
May 27, 2011
by
Dean Camera
Browse files
Add new USB_Host_SetInterfaceAltSetting() convenience function.
parent
348bf33b
Changes
7
Hide whitespace changes
Inline
Side-by-side
Demos/Host/LowLevel/PrinterHost/PrinterHost.c
View file @
cc9b1909
...
...
@@ -177,16 +177,7 @@ void USB_Printer_Host(void)
* request to switch to the interface alternate setting with the Bidirectional protocol */
if
(
PrinterAltSetting
)
{
USB_ControlRequest
=
(
USB_Request_Header_t
)
{
.
bmRequestType
=
(
REQDIR_HOSTTODEVICE
|
REQTYPE_STANDARD
|
REQREC_INTERFACE
),
.
bRequest
=
REQ_SetInterface
,
.
wValue
=
PrinterAltSetting
,
.
wIndex
=
PrinterInterfaceNumber
,
.
wLength
=
0
,
};
if
((
ErrorCode
=
USB_Host_SendControlRequest
(
NULL
))
!=
HOST_SENDCONTROL_Successful
)
if
((
ErrorCode
=
USB_Host_SetInterfaceAltSetting
(
PrinterInterfaceNumber
,
PrinterAltSetting
))
!=
HOST_SENDCONTROL_Successful
)
{
printf_P
(
PSTR
(
ESC_FG_RED
"Control Error (Set Interface).
\r\n
"
" -- Error Code: %d
\r\n
"
ESC_FG_WHITE
),
ErrorCode
);
...
...
LUFA/Drivers/USB/Class/Host/Printer.c
View file @
cc9b1909
...
...
@@ -181,19 +181,11 @@ uint8_t PRNT_Host_SetBidirectionalMode(USB_ClassInfo_PRNT_Host_t* const PRNTInte
{
uint8_t
ErrorCode
;
USB_ControlRequest
=
(
USB_Request_Header_t
)
{
.
bmRequestType
=
(
REQDIR_HOSTTODEVICE
|
REQTYPE_STANDARD
|
REQREC_INTERFACE
),
.
bRequest
=
REQ_SetInterface
,
.
wValue
=
PRNTInterfaceInfo
->
State
.
AlternateSetting
,
.
wIndex
=
PRNTInterfaceInfo
->
State
.
InterfaceNumber
,
.
wLength
=
0
,
};
Pipe_SelectPipe
(
PIPE_CONTROLPIPE
);
if
((
ErrorCode
=
USB_Host_SendControlRequest
(
NULL
))
!=
HOST_SENDCONTROL_Successful
)
return
ErrorCode
;
if
((
ErrorCode
=
USB_Host_SetInterfaceAltSetting
(
PRNTInterfaceInfo
->
State
.
InterfaceNumber
,
PRNTInterfaceInfo
->
State
.
AlternateSetting
))
!=
HOST_SENDCONTROL_Successful
)
{
return
ErrorCode
;
}
}
return
HOST_SENDCONTROL_Successful
;
...
...
LUFA/Drivers/USB/Core/AVR8/Host_AVR8.c
View file @
cc9b1909
...
...
@@ -351,5 +351,22 @@ uint8_t USB_Host_ClearPipeStall(const uint8_t EndpointNum)
return
USB_Host_SendControlRequest
(
NULL
);
}
uint8_t
USB_Host_SetInterfaceAltSetting
(
const
uint8_t
InterfaceNum
,
const
uint8_t
AltSetting
)
{
USB_ControlRequest
=
(
USB_Request_Header_t
)
{
.
bmRequestType
=
(
REQDIR_HOSTTODEVICE
|
REQTYPE_STANDARD
|
REQREC_INTERFACE
),
.
bRequest
=
REQ_SetInterface
,
.
wValue
=
AltSetting
,
.
wIndex
=
InterfaceNum
,
.
wLength
=
0
,
};
Pipe_SelectPipe
(
PIPE_CONTROLPIPE
);
return
USB_Host_SendControlRequest
(
NULL
);
}
#endif
LUFA/Drivers/USB/Core/AVR8/Host_AVR8.h
View file @
cc9b1909
...
...
@@ -330,6 +330,19 @@
*/
uint8_t
USB_Host_ClearPipeStall
(
const
uint8_t
EndpointIndex
);
/** Selects a given alternative setting for the specfied interface, via a SET INTERFACE standard request to
* the attached device.
*
* \note After this routine returns, the control pipe will be selected.
*
* \param[in] InterfaceIndex Index of the interface whose alternative setting is to be altered.
* \param[in] AltSetting Index of the interface's alternative setting which is to be selected.
*
* \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result.
*/
uint8_t
USB_Host_SetInterfaceAltSetting
(
const
uint8_t
InterfaceNum
,
const
uint8_t
AltSetting
);
/* Private Interface - For use in library only: */
#if !defined(__DOXYGEN__)
/* Macros: */
...
...
LUFA/Drivers/USB/Core/UC3/Host_UC3.c
View file @
cc9b1909
...
...
@@ -351,5 +351,22 @@ uint8_t USB_Host_ClearPipeStall(const uint8_t EndpointNum)
return
USB_Host_SendControlRequest
(
NULL
);
}
uint8_t
USB_Host_SetInterfaceAltSetting
(
const
uint8_t
InterfaceNum
,
const
uint8_t
AltSetting
)
{
USB_ControlRequest
=
(
USB_Request_Header_t
)
{
.
bmRequestType
=
(
REQDIR_HOSTTODEVICE
|
REQTYPE_STANDARD
|
REQREC_INTERFACE
),
.
bRequest
=
REQ_SetInterface
,
.
wValue
=
AltSetting
,
.
wIndex
=
InterfaceNum
,
.
wLength
=
0
,
};
Pipe_SelectPipe
(
PIPE_CONTROLPIPE
);
return
USB_Host_SendControlRequest
(
NULL
);
}
#endif
LUFA/Drivers/USB/Core/UC3/Host_UC3.h
View file @
cc9b1909
...
...
@@ -331,6 +331,19 @@
*/
uint8_t
USB_Host_ClearPipeStall
(
const
uint8_t
EndpointIndex
);
/** Selects a given alternative setting for the specfied interface, via a SET INTERFACE standard request to
* the attached device.
*
* \note After this routine returns, the control pipe will be selected.
*
* \param[in] InterfaceIndex Index of the interface whose alternative setting is to be altered.
* \param[in] AltSetting Index of the interface's alternative setting which is to be selected.
*
* \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result.
*/
uint8_t
USB_Host_SetInterfaceAltSetting
(
const
uint8_t
InterfaceNum
,
const
uint8_t
AltSetting
);
/* Private Interface - For use in library only: */
#if !defined(__DOXYGEN__)
/* Macros: */
...
...
LUFA/ManPages/ChangeLog.txt
View file @
cc9b1909
...
...
@@ -11,7 +11,7 @@
* - Core:
* - Added USE_LUFA_CONFIG_HEADER compile time option to include a LUFAConfig.h header in the user director for LUFA configuration
* tokens as an alternative to tokens defined in the project makefile
* - Added new
RNDIS Device Classs Driver packet send and receive functions
* - Added new
USB_Host_SetInterfaceAltSetting() convenience function for the selection of an interface's alternative setting
* - Library Applications:
* - Added new MediaControl project
* - Added new incomplete AndroidAccessoryHost Host LowLevel demo
...
...
@@ -50,6 +50,7 @@
* - Internal restructuring for eventual multiple architecture ports
* - Added AVR32 UC3 architecture port (currently incomplete/experimental)
* - Added new architecture independant functions to enable, disable, save and restore the Global Interrupt Enable flags
* - Added new RNDIS Device Classs Driver packet send and receive functions
* - Library Applications:
* - Added ability to write protect Mass Storage disk write operations from the host OS
* - Added new MIDIToneGenerator project
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment