TGViewer
C++ - Reddit C++ - Reddit @r_cpp · 229 subscribers
Post #24330 17
Showcase HyCAN: A Modern C++20 CAN Framework for Linux (Non-root access, Epoll-based)

Hi everyone,

I'd like to share an open-source project I've been working on: HyCAN. It's a high-performance C++ CAN communication framework designed for Linux.

GitHub: HyCAN

Why did I build this? Working with SocketCAN on Linux often involves two pain points:

Root Privileges: You usually need sudo to bring up interfaces or configure bitrates, which is a security risk for user-space control algorithms.
Boilerplate: Writing raw socket / bind / epoll code is tedious and error-prone.Key Features:
🚀 Daemon Architecture: A system service manages the interfaces, allowing your app to run without root privileges.
⚡ High Performance: Based on epoll, handling 100k+ msgs/s with low CPU usage (\~20% on Ryzen 7) and 10µs latency.
🛠 Modern C++: Written in C++20, utilizing tl::expected for error handling and concepts for cleaner APIs.
🔒 Real-time Ready: Built-in support for SCHED_FIFO, CPU affinity, and memory locking.I'm looking for feedback on the architecture and API design. Feel free to roast my code!Thanks!

https://redd.it/1p5fkn1
@r_cpp
GitHub GitHub - RoboMaster-DLMU-CONE/HyCAN: Modern High-Performance Linux C++ CAN Communication Framework Modern High-Performance Linux C++ CAN Communication Framework - RoboMaster-DLMU-CONE/HyCAN
More from @r_cpp
  1. Oct 11, 2026wxWidgets 3.2.12 and 3.3.4 Released https://wxwidgets.org/news/2026/10/wxwidgets-3.2.12-an…
  2. Oct 11, 2026VKRT NES Remaster — an open-source C++20 NES emulator with an observation-driven remasteri…
  3. Oct 11, 2026Right way to test async code https://redd.it/1x2wqgz @r_cpp
  4. Oct 10, 2026Yantra: an LALR(1) parser generator for C++23 Yantra: an LALR(1) parser generator for C++2…
  5. Oct 10, 2026Opting in, and back out again https://dryperspective.github.io/posts/opting-in/ https://re…
  6. Oct 10, 2026I’m Building Bursztyn OS a Polish Operating System From Scratch I’m building Bursztyn OS,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →