https://github.com/jeffective/gatorcat
An EtherCAT MainDevice Written in Zig
https://github.com/jeffective/gatorcat
ethercat zig zig-package
Last synced: 8 months ago
JSON representation
An EtherCAT MainDevice Written in Zig
- Host: GitHub
- URL: https://github.com/jeffective/gatorcat
- Owner: kj4tmp
- License: mit
- Created: 2024-06-24T02:49:33.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-06T05:25:08.000Z (over 1 year ago)
- Last Synced: 2025-02-06T05:29:48.276Z (over 1 year ago)
- Topics: ethercat, zig, zig-package
- Language: Zig
- Homepage:
- Size: 356 KB
- Stars: 13
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-zenoh - `gatorcat` - EtherCAT maindevice written in Zig with Zenoh connectivity. (Connectors)
README
# gatorcat
`gatorcat` is an EtherCAT maindevice written in the Zig programming language.
> [!WARNING]
> `gatorcat` is **alpha** software. Using it today means participating in its development.
> You may find bugs or need features implemented before you can use `gatorcat` effectively.
gatorcat provides the following:
- CLI: a pre-built executable for running and scanning ethercat networks.
- module: zig module for writing applications that interact with ethercat networks.
## Documentation
See [doc](doc/README.md).
### Notably Working Features
- [x] automatic configuration via SII and CoE
- [x] process data published on zenoh
- [x] network operation and topology verification against a config file
- [x] multi-OS support (Linux and Windows)
### Notably Missing Features
- [ ] 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.)
## TODO
- [ ] delete everything in stdx
- [ ] change deserialization of embedded protocols to do zero backtracking
## Sponsors

Please consider [❤️ Sponsoring](https://github.com/sponsors/jeffective) if you depend on this project or just want to see it succeed.
## Release Procedure
1. roll version in build.zig.zon
2. commit
3. tag commit
4. push commit, push tags
5. wait for CI pass
6. click release in github
## Contributing
Please open an issue before contributing so we can discuss.
