Communication
The communication layer is the board's translation point between internal state and the CAN bus. It is where filtered sensor values become periodic frames and where selected incoming messages turn into board commands.
NOTE
This is not a generic message router. The board only understands the traffic it needs for its own job, which keeps the code small and the behavior easier to reason about.
What it does
On the transmit side, the board packs the latest processed sensor values into the CAN frames that belong to the active gateway variant. On the receive side, it watches for a small set of command frames and updates shared runtime state such as NMOS control, recalibration requests, and bootloader entry.
Pages in this section
A quick mental model
Think of the communication layer as two one-way lanes:
- The sensor and FSM code update board state.
- The CAN packing code turns that state into frames.
- The RX path takes a few command frames and feeds them back into the board logic.
That split keeps the runtime flow readable even though the board has different front and rear variants.
