jeffective/gatorcat
An EtherCAT MainDevice for Zig
2d62be30ff33661a2a3c6743ac922a78302d78a087dc6116be0777841a8107283698dba01f364ecea460a97634f68609fbaf89e832d423087dc72f4a98ba585d6fac1c66535de481142b18601068a702WARNING this project has migrated to codeberg. you can find it at https://codeberg.org/jeffective/gatorcat
┌────────────────────────┐
│ │
│ Join us on Codeberg! │
│ │
└────────────────────────┘
gatorcat is an EtherCAT maindevice written in the Zig programming language.
WARNING
gatorcatis alpha software. Using it today means participating in its development. You may find bugs or need features implemented before you can usegatorcateffectively.
gatorcat provides the following:
See doc.
automatic configuration via SII and CoE
process data published on zenoh
network operation and topology verification against a config file
multi-OS support (Linux and Windows)
distributed clocks
cable redundancy
Ethernet Over EtherCAT (EoE), also AoE, FoE, SoE, VoE
user configurable processing of CoE emergency messages
mapping the mailbox status into the process data
async / event loop frames, multi-threading friendly API
linux XDP, mac-os, embedded support
Segmented SDO transfer
EEPROM write access
Network diagnosis in the CLI (CRC counters etc.)
resilient mailbox state machine
change deserialization of embedded protocols to do zero backtracking
tech debt
remove external dependency for CLI parsing
arbitrary maximum mailbox size
simulator should use simulated time (std.Io eventually)
Please consider ❤️ Sponsoring if you depend on this project or just want to see it succeed.
Please open an issue before contributing so we can discuss.