Access Restricted
This page contains internal documentation that is not publicly available.
DHWCtrl.ListPeripherals
Enumerate every non-GPIO peripheral declared on this
firmware, together with the pin configurations it
supports and the physical GPIO pins each configuration
consumes. One entry per (peripheral, pinset)
combination - a peripheral with N supported pinsets
appears N times. GPIO itself is not enumerated:
addressing is SoC-native via
DHWCtrlGpioPin
(port + pin number) and
the caller is expected to know their SoC.
The Pins array on each entry lets the host
detect pin conflicts between activated peripherals
client-side.
Properties
- Command code: 0xE1F0
- Command timeout: 100 ms
- Possible status codes: General status codes
Parameters (request frame)
None
Returned values (response frame)
| Name | Type/Size | Description | |||
|---|---|---|---|---|---|
| Length of Entries | Integer (8 bits) |
Number of elements in the Entries array |
|||
| Entries | Array | One entry per (peripheral, pinset) combination. | |||
| Category | Enumeration (8 bits) |
Peripheral category; selects which Activate / transfer commands apply.
Values (3):
|
|||
| Index | Integer (8 bits) | Zero-based instance index for this peripheral category; passable as Index to the category's commands. | |||
| Pinset | Enumeration (8 bits) |
One of the pinset variants supported for this
peripheral; passable as Pinset to
EthActivate
or
UsbHostActivate.
Ordinal index into the firmware's per-peripheral pinset array (mirrors a pinctrl-names entry). The valid set per peripheral instance is discoverable via ListPeripherals. Values (8):
|
|||
| Length of Pins | Integer (8 bits) |
Number of elements in the Pins array |
|||
| Pins | Array | Physical GPIO pins this (peripheral, pinset) consumes. | |||
| Pin.Port | Enumeration (8 bits) |
GPIO bank letter (A..Z).
SoC-native GPIO bank identifier. The keyword letters mirror the bank designators on STM32-style parts; not every part implements the full A..Z range. The firmware rejects banks it doesn't support with ErrInvalidParam. Values (26):
|
|||
| Pin.Number | Integer (8 bits) | Pin number within the bank. Practical range is SoC-specific (typically 0..15 on STM32). Named Number rather than Index to avoid a NameChecker collision with the peripheral-instance Index in ListPeripherals's Pins array (struct parents don't currently participate in field-name namespacing). | |||