Skip to content

Commit

Permalink
usb_host: Update docs and comments regarding first configuration enum…
Browse files Browse the repository at this point in the history
…eration

This commit updates some comments and documentation regarding changes made in
PR #11113.
  • Loading branch information
Dazza0 committed Apr 21, 2023
1 parent 4102628 commit 71786a7
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion components/usb/hub.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ implement the bare minimum to control the root HCD port.

#define ENUM_CTRL_TRANSFER_MAX_DATA_LEN CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE
#define ENUM_DEV_ADDR 1 //Device address used in enumeration
#define ENUM_CONFIG_INDEX 0 //Index of the first configuration of the device
#define ENUM_CONFIG_INDEX 0 //Index used to get the first configuration descriptor of the device
#define ENUM_SHORT_DESC_REQ_LEN 8 //Number of bytes to request when getting a short descriptor (just enough to get bMaxPacketSize0 or wTotalLength)
#define ENUM_WORST_CASE_MPS_LS 8 //The worst case MPS of EP0 for a LS device
#define ENUM_WORST_CASE_MPS_FS 64 //The worst case MPS of EP0 for a FS device
Expand Down
2 changes: 1 addition & 1 deletion docs/en/api-reference/peripherals/usb_host.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ Therefore, in addition to the client tasks, the Host Library also requires a tas
Devices
^^^^^^^

The Host Library hides the details of device handling (such as connection, memory allocation, and enumeration) from the clients. The clients are provided only with a list of already connected and enumerated devices to choose from. During enumeration, each device is configured to use configuration 1.
The Host Library hides the details of device handling (such as connection, memory allocation, and enumeration) from the clients. The clients are provided only with a list of already connected and enumerated devices to choose from. During enumeration, each device is automatically configured to use the first configuration found (i.e., the first configuration descriptor returned on a Get Configuration Descriptor request). For most standard devices, the first configuration will have a ``bConfigurationValue`` of ``1``.

It is possible for a two or more clients to simultaneously communicate with the same device as long as they are not communicating to the same interface. However, multiple clients can simultaneously communicate with the same device's default endpoint (EP0), which will result in their control transfers being serialized.

Expand Down

0 comments on commit 71786a7

Please sign in to comment.