Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
lufa
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Erik Strand
lufa
Commits
e915d968
Commit
e915d968
authored
Nov 24, 2011
by
Dean Camera
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added new USB_Host_GetDeviceConfiguration() and USB_Host_GetInterfaceAltSetting() functions.
parent
7f8dbb49
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
71 additions
and
11 deletions
+71
-11
LUFA/Common/Attributes.h
LUFA/Common/Attributes.h
+7
-7
LUFA/DoxygenPages/ChangeLog.txt
LUFA/DoxygenPages/ChangeLog.txt
+1
-0
LUFA/DoxygenPages/FutureChanges.txt
LUFA/DoxygenPages/FutureChanges.txt
+0
-3
LUFA/Drivers/USB/Core/HostStandardReq.c
LUFA/Drivers/USB/Core/HostStandardReq.c
+34
-1
LUFA/Drivers/USB/Core/HostStandardReq.h
LUFA/Drivers/USB/Core/HostStandardReq.h
+29
-0
No files found.
LUFA/Common/Attributes.h
View file @
e915d968
...
...
@@ -112,6 +112,7 @@
* identical name (in which case the weak reference is discarded at link time).
*/
#define ATTR_WEAK __attribute__ ((weak))
#endif
/** Forces the compiler to not automatically zero the given global variable on startup, so that the
* current RAM contents is retained. Under most conditions this value will be random due to the
...
...
@@ -119,7 +120,6 @@
* like the passing of values back after a system watchdog reset.
*/
#define ATTR_NO_INIT __attribute__ ((section (".noinit")))
#endif
/** Places the function in one of the initialization sections, which execute before the main function
* of the application. Refer to the avr-libc manual for more information on the initialization sections.
...
...
LUFA/DoxygenPages/ChangeLog.txt
View file @
e915d968
...
...
@@ -13,6 +13,7 @@
* - Added support for the new B series XMEGA devices
* - Added support for version 2 of the Teensy boards (thanks to Christoph Redecker)
* - Added new Android Accessory Host class driver
* - Added new USB_Host_GetDeviceConfiguration() and USB_Host_GetInterfaceAltSetting() functions
* - Library Applications:
* - Added User Application APIs to the CDC and DFU class bootloaders
* - Added INVERTED_ISP_MISO compile time option to the AVRISP-MKII clone project (thanks to Chuck Rohs)
...
...
LUFA/DoxygenPages/FutureChanges.txt
View file @
e915d968
...
...
@@ -24,8 +24,6 @@
* -# Abstract out Mass Storage byte send/receive to prevent low level API use in projects
* -# Consider switch from endpoint numbers to full endpoint addresses to ease future architecture expansion
* -# Fix HID report parser usage support for array types
* -# Add additional standard request helper functions to host mode
* -# Add Dataflash_SendCommand()
* -# Make HOST_DEVICE_SETTLE_DELAY_MS a global variable that can be changed
* -# Add MANDATORY_EVENT_FUNCTIONS compile time option
* -# Add watchdog support to the library and apps/bootloaders
...
...
@@ -40,7 +38,6 @@
* -# Add class driver support for Test and Measurement class
* -# Add class driver support for EEM class
* -# Add class driver support for ECM class
* -# Add class driver support for the Android Accessory Host class
* -# Port all demos to multiple architectures
* - Ports
* -# Finish USB XMEGA port
...
...
LUFA/Drivers/USB/Core/HostStandardReq.c
View file @
e915d968
...
...
@@ -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
LUFA/Drivers/USB/Core/HostStandardReq.h
View file @
e915d968
...
...
@@ -131,6 +131,19 @@
*/
uint8_t
USB_Host_SetDeviceConfiguration
(
const
uint8_t
ConfigNumber
);
/** Sends a GET CONFIGURATION standard request to the attached device, to retrieve the currently selected
* device configuration index.
*
* \note After this routine returns, the control pipe will be selected.
*
* \ingroup Group_PipeControlReq
*
* \param[out] ConfigNumber Pointer to a location where the retrieved configuration index should be stored.
*
* \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result.
*/
uint8_t
USB_Host_GetDeviceConfiguration
(
uint8_t
*
const
ConfigNumber
)
ATTR_NON_NULL_PTR_ARG
(
1
);
/** Sends a GET DESCRIPTOR standard request to the attached device, requesting the device descriptor.
* This can be used to easily retrieve information about the device such as its VID, PID and power
* requirements.
...
...
@@ -206,6 +219,22 @@
uint8_t
USB_Host_SetInterfaceAltSetting
(
const
uint8_t
InterfaceIndex
,
const
uint8_t
AltSetting
);
/** Retrieves the current alternative setting for the specified interface, via a GET INTERFACE standard request to
* the attached device.
*
* \note After this routine returns, the control pipe will be selected.
*
* \ingroup Group_PipeControlReq
*
* \param[in] InterfaceIndex Index of the interface whose alternative setting is to be altered.
* \param[out] AltSetting Pointer to a location where the retrieved alternative setting value should be stored.
*
* \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result.
*/
uint8_t
USB_Host_GetInterfaceAltSetting
(
const
uint8_t
InterfaceIndex
,
uint8_t
*
const
AltSetting
)
ATTR_NON_NULL_PTR_ARG
(
2
);
/* Private Interface - For use in library only: */
#if !defined(__DOXYGEN__)
/* Enums: */
...
...
Write
Preview
Markdown
is supported
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