Socket Stage (CAN)
This stage allows you to receive CAN packets from a CANbus via the Linux SocketCAN
interface. Packets will be grouped together into
CanPacketGroup messages before publishing.
Grouping is intended as a mechanism to batch messages on high-rate sensors, reducing
performance overhead of publishing and logging individual CAN packets. If your data rates
are low, just leave the
group_size parameter set to one (or zero for the default).
Basic configuration is in the
device_name- Device name to connect to (ie,
group_size- The number of packets to bundle before publishing a group.
thread_priority- Priority to set the for the reading thread.
data_receive_timeout_ms- Reconnects if data hasn’t been received in this interval.
All packet groups are published under
packet_group in the stage’s namespace.
The stage listens for data to publish on the
egress_packets channel. Anything received
will be written over the CANbus when connected (or dropped otherwise). Packets are
NoticeCAN-FD is not currently supported by this interface.
The stage periodically (at 1Hz) emits a
SocketStats structure containing
rate and size information. This is published under the
within the stage’s namespace.