Skip to content

kj4tmp/gatorcat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gatorcat

tests

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.

Documentation

See doc.

Status

Notably Working Features

  • no config, "just works" executable
    • automatic configuration to reach OP for most subdevices, via SII and CoE
    • process data published on zenoh
  • verifcation of the network contents against an ethercat network information struct (ENI)
  • cli for scanning a network to generate ENI
  • can manipulate process data
  • CoE startup parameters
  • CLI for scanning networks and getting information about subdevices
  • multi-OS support (Linux and Windows)

Notably Missing Features

  • distributed clocks
  • 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
  • allocation-free API
  • cable redundancy
  • EtherCAT Network Information(ENI) XML Parsing
  • Segmented SDO transfer
  • EEPROM write access
  • Embedded friendly API / timers
  • Network diagnosis in the CLI (CRC counters etc.)

TODO

  • validate individual pdo types at runtime (not just size of pdos)
  • revise error handling
  • python package: hello world
  • make a custom @tagName that requires the parameter to be exhaustive

Sponsors

GitHub Sponsors

Please consider ❤️ Sponsoring if you depend on this project or just want to see it succeed.