ethercat-linux/vendor/ethercrab/FAQ.md
Tony Cao 21b2d3bf99 J1900 <-> TwinCAT 1 kHz verification over EL6695 bridge
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.
2026-07-22 08:55:41 +08:00

1.6 KiB
Raw Permalink Blame History

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

ip a

macOS

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

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, 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.