Crate canopeners

source ·
Expand description

Canopeners

Partial implementation of a CANOpen client 🔪🥫 on top of socketcan Examples in readme

CANOpen

As a layer 1 and 2 protocol, CAN does not support addressing - all messages arrive at all nodes. CANOpen mainly adds addressing (layer 3) support to CAN in a standardized way. All CANOpen nodes have an ID, there’s a standard way to address a message to a node. Various CANOpen specs also include tons of other features, this repo just focuses on CiA301.

Progress

So far, we have: ✅ rusty types for most CANOpen messages ✅ send/receive messages via socketcan ✅ nice SDO wrapper. we’re still missing: ❌CANOpen node (read/writable Object Dictionary, respecting the OD configs) ❌MPDO support

Modules

Structs

Enums