Re-implementation of rustbootd's ecat_el6695_* examples as a single binary with fixes found in review and on hardware: - DC-follow PLL hardened against period-2 hunting: slew-limited anchor (+/-50us/cycle), bistable-trap snap re-anchor, re-prime on stale deadline - drift-free absolute-grid ticker mode; probe mode for timestamp forensics - bounded-memory online stats (histograms), graceful SIGINT/SIGTERM shutdown with full report, error-streak abort - timestamp plausibility filter comparing against the previous raw sample (avoids the deadlock after a startup outlier) - XFC scope waveform options: --el2202 (with --el2202-dual), --el2262, --el1252 latch timestamp readback with per-channel edge statistics - register access unified in regs.rs: named bit constants everywhere, read-modify-write for enable/activation bytes - vendored patched ethercrab 0.7.1 (sdo_write_complete, send_raw_coe) Verified on J1900 (PREEMPT_RT 6.6.135): 600k cycles/600s exact 1 kHz, tx/rx zero errors, phase_err p50=164us std=5us; EL2202<->EL1252 loopback edge interval mean 2000.24us std=24.65us.
72 lines
1.6 KiB
Markdown
72 lines
1.6 KiB
Markdown
# FAQ
|
||
|
||
This is a **draft**/living document and will be rough in places as it is currently just used to note
|
||
down common stub questions. It will be added to over time as more questions come in.
|
||
|
||
## How do I list available network interfaces?
|
||
|
||
### Linux
|
||
|
||
```bash
|
||
ip a
|
||
```
|
||
|
||
### macOS
|
||
|
||
```bash
|
||
networksetup -listallhardwareports
|
||
```
|
||
|
||
Example output:
|
||
|
||
```
|
||
❯ networksetup -listallhardwareports
|
||
|
||
Hardware Port: Ethernet Adapter (en3)
|
||
Device: en3
|
||
Ethernet Address: 76:0d:c4:5d:0c:e6
|
||
```
|
||
|
||
Use `en3` as command line arguments to run examples, etc.
|
||
|
||
### Windows
|
||
|
||
```batch
|
||
getmac????
|
||
|
||
TODO
|
||
```
|
||
|
||
Jeff says maybe `getmac /fo csv /v`
|
||
|
||
or:
|
||
|
||
```
|
||
Get-NetAdapter -Name * -IncludeHidden | Format-List -Property *
|
||
|
||
Select-Object Name, InterfaceGuid
|
||
```
|
||
|
||
## Does EtherCrab work on Windows?
|
||
|
||
Yes, but performance is not very good unlike Linux and to a large extend macOS, which can both do
|
||
realtime transfers.
|
||
|
||
Windows performance is potentially improved by
|
||
[`xdp-for-windows`](https://github.com/microsoft/xdp-for-windows), but EtherCrab doesn't have
|
||
support for it at time of writing.
|
||
|
||
## Does EtherCrab support ESI XML files?
|
||
|
||
Not yet. This is an often requested feature, but needs some thought into how the ESI file can
|
||
integrate into a safe API for SubDevices. This may be a derive macro, `build.rs` codegen, or
|
||
something else.
|
||
|
||
## Why won't my SubDevice go into OP?
|
||
|
||
TODO: Maybe this should be a separate "troubleshooting" doc?
|
||
|
||
- SDOs might not be configured correctly
|
||
- Some SubDevices need cyclic data before they'll go into op. Try `request_into_op` like in the
|
||
`dc.rs` example instead of `into_op` and see if that helps.
|