9 unstable releases (3 breaking)

0.3.3 Dec 11, 2024
0.3.1 Nov 11, 2024
0.1.4 May 13, 2024
0.1.1 Mar 28, 2024
0.0.1-alpha2 Oct 5, 2023

#39 in Robotics

Download history 172/week @ 2024-11-20 107/week @ 2024-11-27 345/week @ 2024-12-04 520/week @ 2024-12-11 106/week @ 2024-12-18 20/week @ 2024-12-25 6/week @ 2025-01-01 139/week @ 2025-01-08 76/week @ 2025-01-15 85/week @ 2025-01-22 136/week @ 2025-01-29 66/week @ 2025-02-05 101/week @ 2025-02-12 91/week @ 2025-02-19 86/week @ 2025-02-26 154/week @ 2025-03-05

450 downloads per month
Used in canopen-tokio

BSD-2-Clause

74KB
1.5K SLoC

CAN socket

This library exposes a CanSocket and related types, allowing you to communicate over a Controller Area Network (CAN) bus.

The is a standard blocking or non-blocking CanSocket, and an asynchronous tokio::CanSocket.

This library uses the SocketCAN interface and only works on Linux.

Supported features:

  • Bind sockets to specific interfaces by name or index.
  • Bind sockets to all CAN interfaces at the same time.
  • Send and receive data frames and RTR frames.
  • Send and receive standard frames and extended frames.
  • Setting per-socket filters.
  • Control over the loopback and recv_own_msgs options.
  • Constructing compile-time checked CAN IDs.

lib.rs:

CAN socket

This library exposes a CanSocket and related types, allowing you to communicate over a Controller Area Network (CAN) bus.

The is a standard blocking or non-blocking CanSocket, and an asynchronous tokio::CanSocket.

This library uses the SocketCAN interface and only works on Linux.

Supported features:

  • Bind sockets to specific interfaces by name or index.
  • Bind sockets to all CAN interfaces at the same time.
  • Send and receive data frames and RTR frames.
  • Send and receive standard frames and extended frames.
  • Setting per-socket filters.
  • Control over the loopback and recv_own_msgs options.
  • Constructing compile-time checked CAN IDs.

Dependencies

~0–8.5MB
~61K SLoC