Access Restricted
This page contains internal documentation that is not publicly available.
DHWCtrl.UsbHostTransferCtrlOut
Control transfer to (Addr, EP0) with a host-to-device
data stage (or no data stage). Firmware must reject
SETUPs whose bmRequestType[7] = 1 with ErrInvalidParam.
OutData may be empty - this is the canonical encoding
for no-data-stage SETUPs (e.g. SET_ADDRESS,
SET_CONFIGURATION) where bmRequestType[7] = 0 and
wLength = 0.
Properties
- Command code: 0xE127
- Command timeout: 100 ms
- Possible status codes: General status codes, DHWCtrl.ErrInvalidIndex, DHWCtrl.ErrNotActive, DHWCtrl.ErrUsbNotConnected, DHWCtrl.ErrUsbStall, DHWCtrl.ErrUsbTransfer, DHWCtrl.ErrUsbBufferOverflow, DHWCtrl.ErrTimeout, DHWCtrl.ErrInvalidParam, DHWCtrl.ErrHardware
Parameters (request frame)
| Name | Type/Size | Description |
|---|---|---|
| Index | Integer (8 bits) | Zero-based instance index within this peripheral category. The valid range is firmware / hardware-variant specific; discoverable via ListPeripherals. |
| Addr | Integer (8 bits) |
USB device address on the host port.
(Minimum value: 0, maximum value: 127) |
| Mps | Integer (8 bits) | Device's bMaxPacketSize0 for EP0 (typically 8, 16, 32 or 64). |
| Setup | Raw data (length 8 Bytes) | 8-byte USB SETUP packet: bmRequestType, bRequest, wValue, wIndex, wLength. The wXxx fields are little-endian per USB spec (not BRP convention) and are transmitted as opaque bytes. |
| Length of OutData | Integer (16 bits) |
Length of OutData in bytes |
| OutData | Raw data | Bytes to send in the OUT data stage. Empty for no-data-stage SETUPs (e.g. SET_ADDRESS). |
| TimeoutMs | Integer (16 bits) | Maximum time the firmware will wait for the operation to complete, in milliseconds. |
Returned values (response frame)
None