Access Restricted
This page contains internal documentation that is not publicly available.
DHWCtrl.EthRecvFrame
Block until the next Ethernet frame is received on
Index, or until TimeoutMs milliseconds elapse.
Promiscuous: any frame on the wire is returned; host
filters. Returns the L2 frame without CRC plus per-frame
metadata.
Properties
- Command code: 0xE103
- Command timeout: 100 ms
- Possible status codes: General status codes, DHWCtrl.ErrInvalidIndex, DHWCtrl.ErrNotActive, DHWCtrl.ErrTimeout, 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. |
| TimeoutMs | Integer (16 bits) | Maximum time to wait for a frame, in milliseconds. |
Returned values (response frame)
| Name | Type/Size | Description | |
|---|---|---|---|
| TimestampUs | Integer (32 bits) | Boot-relative monotonic microseconds at RX completion. Wraps every ~71 minutes; caller must handle wrap. | |
| Seq | Integer (32 bits) | Monotonic frame counter since EthActivate(Index). Increments by 1 per delivered frame; gaps imply RX-queue drops since the previous EthRecvFrame. | |
| Flags | Bit mask (8 bits) | - | |
| RxOverflow | Boolean (bit 0x80) | Firmware dropped frames between the previous EthRecvFrame and this one. | |
| CrcError | Boolean (bit 0x40) | Frame had a CRC error. Only set when firmware is in error-frame-accept mode; normally such frames are dropped silently in hardware. | |
| Truncated | Boolean (bit 0x20) | Frame exceeded firmware's RX buffer; Payload contains the leading bytes only. | |
| RFU | Integer (bit mask area 0x1F) |
Zero padding |
|
| DstMac | Raw data (length 6 Bytes) | Destination MAC address (6 bytes). | |
| SrcMac | Raw data (length 6 Bytes) | Source MAC address (6 bytes). | |
| EtherType | Enumeration (16 bits) |
Outer EtherType of the received frame.
EtherType field of an Ethernet II frame header, identifying the upper-layer protocol carried in the payload. IEEE 802.3 distinguishes by value: <= 1500 (0x05DC) is interpreted as a legacy LLC frame length; >= 1536 (0x0600) is an EtherType per the IANA registry. The enum lists the common values seen on the bench; the field is extendable so any 16-bit value can be sent / received for bench tests (malformed-frame scenarios, experimental protocols). Values (12):
|
|
| Payload | Raw data (until end of frame) | Bytes following the EtherType, up to the end of the captured frame. | |