Skip to content
CLI tools

canopenctl

Monitor and decode CANopen traffic, read and write object dictionaries over SDO or USDO, manage nodes with NMT, assign node-IDs with LSS, boot a network as a CiA 302 manager, configure PDOs and MPDOs, work with EDS, DCF and concise DCF files, drive CiA 402 axes and simulate devices. Read-only by default; changes on a real bus need --yes.

Protocols

Works with

The README on GitHub has the full feature list, examples and changelog.

go-canopen

CANopen (CiA 301) and CANopen FD on go-canbus: object dictionary, SDO and USDO, NMT, heartbeat, PDOs and MPDOs, SYNC, EMCY, TIME, LSS, a complete device and a CiA 302 network manager, EDS/DCF files, typed Go from an EDS and the CiA 402 drive profile. No cgo.

go get github.com/otfabric/go-canopen
  • CANopen
GitHub

canbusctl

Monitor, record, convert and replay CAN, CAN FD and CAN XL traffic, decode and encode with DBC, KCD or ARXML, run ISO-TP, simulate a database and test under faults. Passive by default; transmitting on a real bus needs --yes.

go-canbus

The CAN transport for Go: classical CAN, CAN FD and CAN XL frames on Linux SocketCAN, serial-line (slcan) adapters on every OS and a virtual bus, with ISO-TP, capture and replay in seven trace formats, and DBC, KCD and ARXML databases with a signal codec and a Go code generator. go-canopen runs on it. No cgo.

go get github.com/otfabric/go-canbus

canbus-interop

Seven independent CAN references in containers behind one contract: can-utils with the kernel's ISO-TP, python-can, socketcan-rs, Scapy, python-can-isotp, cantools and canmatrix, on Linux virtual CAN.

canopen-interop

Three independent CANopen stacks in containers behind one contract, as devices and masters: CANopenNode, Lely CANopen and python canopen, with EDS checkers, LSS, MPDOs and the CiA 302 boot-up, on Linux virtual CAN.