Chapter 4 Software Development
4-1-10. Device Requests
Device requests represent commands from the host to USB functions using control transfers. The USB function parses the request, performs the necessary action, and returns the appropriate response.
There are three types of device requests.
| Table 4.1.6. Device Request Types |
|
|
Standard | Requests that all USB devices must support because they hold the key to hot plugging |
| (a.k.a. dynamic insertion and removal) |
Requests required by the USB Device Class Specifications for the general application | |
Requests implemented by the vendor for accessing functionality particular to the USB | |
| device |
|
|
A control transfer starts with a SETUP token packet followed by an
Table 4.1.7. Control Transfer Data Packet
bmRequestType | 1byte | Transfer direction, request type, and endpoint address |
bRequest | 1byte | Request number |
wValue | 2byte | Value (meaning depends on the request type) |
wIndex | 2byte | Index or offset (which depends on the request type) |
wLength | 2byte | Number of bytes transferred during the Data stage |
A control transfer consists of up to three stages.
1.Setup stage: The data packet following the SETUP token packet is an
2.Data stage: The pipe transfers the specified data in the direction specified by the command. Note that commands that do not involve data transfer skip this stage.
3.Status stage: The host initiates a transaction, in the direction opposite the immediately preceding data transfer, for reporting command success or failure from the device to the host.
4-1-11. Standard Device Requests
The standard device requests are common ones to all USB devices. Most important are those that support hot plugging (a.k.a. dynamic insertion and removal). Detailed descriptions are in Section 9.- 4 of the USB version 1.1 specifications.
Table 4.1.8. Standard Device Requests
No. Request Name | Description |
0GET_STATUS
1CLEAR_FEA TURE
3 SET_FEATURE
5SET_ADDRESS
6GET_DESCRIPTOR
Return status for specified recipient Clear or disable a specific feature Set or enable a specific feature
Set device address for al future device accesses Return the specified descriptor, if it exists
page