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

72 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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