Crate zencan_client

Crate zencan_client 

Source
Expand description

A client for communicating with zencan nodes

The crate provides utilities for communicating with nodes, including:

  • An SDO client for reading/writing a node’s object dictionary via it’s SDO server
  • An LSS master for discovering and configuring un-configured nodes with IDs
  • A BusManager which is intended to be the engine behind an application, such as zencan-cli, keeping track of nodes, and providing an API for managing them.
  • Defining a NodeConfig TOML file format, which allows for storing and loading node configuration (primarily PDOs, but any objects can be written)

This library is currently based on tokio/async. The plan is to also include blocking APIs in the future.

This should be considered very alpha, with important missing features, and potentially frequent breaking API changes.

Re-exports§

pub use zencan_common as common;

Modules§

nmt_master
Simple interface for sending NMT commands to a bus

Structs§

BusManager
Manage a zencan bus
LssMaster
Struct to interact with nodes using the LSS protocol
SdoClient
A client for accessing a node’s SDO server

Enums§

LssError
Error returned by LssMaster
RawAbortCode
A wrapper around the AbortCode enum to allow for unknown values
SdoClientError
Error returned by SdoClient methods

Functions§

open_socketcan
Open a socketcan device and split it into a sender and receiver object for use with zencan library