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.

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