Crate canadensis_can

Source
Expand description

§CAN and CAN FD transport for Cyphal

This library implements the Cyphal/CAN transport layer. It splits transfers into frames, reassembles frames into transfers, and keeps track of subscriptions.

Modules§

driver
CAN driver traits
queue
Queues of outgoing CAN frames
redundant
Utilities for use with redundant transports

Structs§

CanId
A 29-bit extended CAN ID
CanNodeId
Node ID
CanReceiver
Handles subscriptions and assembles incoming frames into transfers
CanTransferId
Transfer ID, 5 bits, in range 0..=31
CanTransferIds
A wrapper for an array of CanTransferIds that implements Default
CanTransmitter
Splits outgoing transfers into frames
CanTransport
The Cyphal/CAN transport
Frame
CAN or CAN FD data frame with up to 64 bytes of data and an extended 29-bit ID
TransferCrc
Calculates the 32-bit transfer CRC

Enums§

Error
CAN transport errors
Mtu
Allowed maximum transmission unit (MTU) values

Constants§

FRAME_CAPACITY
Maximum number of bytes in a frame

Type Aliases§

Header
Convenience type alias for a transfer header
Transfer
Convenience type alias for a transfer