CANbus Splitter Stage

This stage allows you to receive a stream of CAN packets from an upstream source (such as a SocketCAN stage), and then split them up into multiple channels based on their identifier.


The stage is configured with CanSplitterStageConfig. This allows you to configure the comms namespace you listen on along with a set of filters.

Each filter allows you to specify the comms namespace you want to output the packets on, along with a set of CAN identifiers to send onto that channel. CAN identifiers can only be applied to one channel at a time.

The packets that are being emitted from the splitter will be in the filter comms namespace, under the packets channel. The packets that are being consumed (and forwarded onto the CANbus) are subscribed to on the egress channel.


The stage runs automatically, receiving packets and breaking them up.


The stage periodically (at 1Hz) emits a ‘CanSpliiterStageStatistics’ structure containing numbers of packets processed and dropped. A packet is only dropped if it does not match any existing filter.