Skip to content

docs: roadmap — future LIN bus simulator planning - #46

Merged
SoundMatt merged 1 commit into
mainfrom
docs/roadmap-lin-simulator
Jul 28, 2026
Merged

docs: roadmap — future LIN bus simulator planning#46
SoundMatt merged 1 commit into
mainfrom
docs/roadmap-lin-simulator

Conversation

@SoundMatt

Copy link
Copy Markdown
Owner

Summary

  • Adds a "Future — LIN Bus Simulator" section to ROADMAP.md: planning only, no simulator code in this PR.
  • Grounded in the current codebase: confirms virtual.Bus is a single shared map (no fault-injection path), slave.Node has no independent per-slave behavior, and master.Node.Run already implements a real schedule-table engine that a future simulator transport could reuse unmodified.
  • Scopes a phased plan: (1) in-process multi-goroutine slave simulation reusing master.Node, (2) fault injection (wrong checksum, wrong PID, silent slave, injected delay) via a decorator pattern mirroring go-DDS's FaultPublisher, (3) multi-slave conflict detection incl. LDF cross-validation, (4) stretch-goal cross-process transport (Unix domain socket) that would double as a go-LIN/cpp-LIN/rust-LIN interop-testing mechanism — explicitly not a prerequisite for the simulator's core dev/test value.

Test plan

  • Docs-only change; gh pr checks run to confirm CI is green.

Capture a concrete, phased plan for a LIN bus simulator: independent
per-slave goroutines with pluggable/faultable response behavior (wrong
checksum, wrong PID, silent slave), multi-slave conflict detection, and
a stretch-goal cross-process transport (Unix domain socket) that would
double as a mechanism for go-LIN/cpp-LIN/rust-LIN interop testing —
mirroring what vcan+can-utils gives go-CAN and CycloneDDS gives the DDS
family, neither of which LIN has an equivalent for today.

Grounded in the current codebase: virtual.Bus is a single shared map
with no fault-injection path, slave.Node has no independent behavior,
and master.Node already has a real schedule-table engine that a
simulator transport can reuse unmodified.

Signed-off-by: Matt Jones <47545907+SoundMatt@users.noreply.github.com>
@SoundMatt
SoundMatt merged commit 0e8a933 into main Jul 28, 2026
14 checks passed
@SoundMatt
SoundMatt deleted the docs/roadmap-lin-simulator branch July 28, 2026 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant