CANModule: a lightweight, vendor-neutral CAN bus abstraction library for simplified integration and diagnostics

This paper presents CANModule, an open‑source, cross‑platform library that provides a unified abstraction layer for vendor‑specific Controller Area Network (CAN) bus implementations. It supports ethernet‑CAN gateways from Analytica and Linux’s SocketCAN out of the box, and offers an open architecture for adding further gateways. Requiring only standard C++17, CANModule is lightweight and framework‑independent, unlike Qt CAN support, which introduces extra dependencies. The library standardises CAN communication via a generic API in C++ and Python, reducing the effort of integrating multiple vendor APIs. Built‑in diagnostic tools mirror SocketCAN’s canutils but work transparently with many vendors and OS, easing development for heterogeneous CAN environments. CANModule is integrated into CERN’s Quasar Framework, enabling numerous OPC UA servers that control large‑scale experiments and infrastructure. It has proven reliable in settings such as ATLAS detector control and power‑supply control. Beyond CERN, the library suits industrial applications—including automotive and robotics—by providing a scalable, extensible foundation for CAN‑based systems and abstracting vendor‑specific complexities. CANModule streamlines CAN bus integration, providing a flexible, dependable, and efficient foundation for both research and industrial use cases.

Publication Details

Journal
JACOW
Published
2025-12-05
DOI
https://doi.org/10.18429/jacow-icalepcs2025-wepd039
Primary Topic
Real-Time Systems Scheduling
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

CANModule: a lightweight, vendor-neutral CAN bus abstraction library for simplified integration and diagnostics

JACOW
Real-Time Systems Scheduling
article

CANModule: a lightweight, vendor-neutral CAN bus abstraction library for simplified integration and diagnostics

article en

Abstract

This paper presents CANModule, an open‑source, cross‑platform library that provides a unified abstraction layer for vendor‑specific Controller Area Network (CAN) bus implementations. It supports ethernet‑CAN gateways from Analytica and Linux’s SocketCAN out of the box, and offers an open architecture for adding further gateways. Requiring only standard C++17, CANModule is lightweight and framework‑independent, unlike Qt CAN support, which introduces extra dependencies. The library standardises CAN communication via a generic API in C++ and Python, reducing the effort of integrating multiple vendor APIs. Built‑in diagnostic tools mirror SocketCAN’s canutils but work transparently with many vendors and OS, easing development for heterogeneous CAN environments. CANModule is integrated into CERN’s Quasar Framework, enabling numerous OPC UA servers that control large‑scale experiments and infrastructure. It has proven reliable in settings such as ATLAS detector control and power‑supply control. Beyond CERN, the library suits industrial applications—including automotive and robotics—by providing a scalable, extensible foundation for CAN‑based systems and abstracting vendor‑specific complexities. CANModule streamlines CAN bus integration, providing a flexible, dependable, and efficient foundation for both research and industrial use cases.

JACOW
Industry, innovation and infrastructure
Openalex Percentile: Top 38%
Real-Time Systems Scheduling
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.