A Deep Dive into Qt CAN Bus
summary
A QtCanBus-based middleware handles ~1100 frames/sec hitting a harvester HMI that stutters above ~250; it reduces incoming traffic to <300 by combining kernel raw filters with a frame cache that time‑decouples delivery (emit every 100–250 ms), aggregates duplicates and forwards only the latest per ID, and routes frames to ECU proxies. Outgoing writes avoid socket TX overflow by using receive own frames as acknowledgements; setup uses SocketCAN, QCanBusDevice, and a code generator for thousands of J1939 frame codecs.
AI-written summary · about
chapters (18)
- 0:00Intro
- 6:14Sugar Beet Harvester: Home Screen
- 10:04CAN Bus Architecture
- 11:27CAN Frame = Frameld # Payload
- 13:07Standardising CAN Frames: SAE J1939
- 15:02J1939 Broadcast Frames (PDU2 Format)
- 17:15J1939 Peer-to-peer Frames (PDU1 Format)
- 19:32CanBusRouter and ECU Proxies
- 22:52Setting Up CAN Network Interface
- 24:56Connect to CAN Network Interface
- 32:02Receiving CAN Frames
- 37:16Decoding Payload of 1939 Frames
- 38:58Filtering in CAN Frame Cache
- 41:15Raw Filters in SocketCAN
- 43:25WriteProperty Request and Response
- 46:22Encoding Payload of 1939 Frames
- 47:51TX Buffer Overflow in SocketCAN
- 51:09Receive Own Frame Before Next Write
related talks
57mWhat Qt CAN Bus improvements mean for Controller Area Networks (CANs)
39mCAN Bus in Control, Automotive and Satellites
49mHopping on the CAN Bus
50mCAN - Deep Dive into Baud Rate & Error Handling Model
42mCanspy: A Platform for Auditing Can Devices
33mQtinUse - Networked, GUI-Driven Automation
32mNo cars were harmed for this talk: Automotive Rust, amateur style
13mChallenges in High Performance Robotics Systems
