docs: add Future — LIN Bus Simulator planning section to ROADMAP - #8
Merged
Conversation
LIN has no OS-native virtual bus (unlike CAN's vcan) and no third-party LIN stack in this ecosystem to test against (unlike DDS's CycloneDDS peer). Scope a phased plan for a master+multi-slave simulator with configurable slave behavior and fault injection (Phase 1-3, in-process, built on the existing VirtualBus/MasterNode/ldf schedule-table plumbing), plus a stretch-goal cross-process transport (Phase 4) that would double as the mechanism for real go-LIN/cpp-LIN interop testing, mirroring rust-DDS's two-process rtps-interop-peer pattern. Planning only — no implementation. Signed-off-by: Matt Jones <47545907+SoundMatt@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ROADMAP.md, planning-only (no implementation).virtual_bus(684 LOC),mock(273 LOC),master(291 LOC —MasterNodealready does real schedule-table execution),slave(175 LOC — thin registration wrapper only),ldf(697 LOC —Db::schedule()already emits the sameScheduleEntrytypeMasterNodeconsumes),safety(434 LOC E2E). Confirms zerounsafeinsrc/and the tokio/async-trait-based async model.vcan) and no third-party LIN stack in this ecosystem to test against (unlike DDS's CycloneDDS peer).simmodule (multi-slave, schedule-driven, built on existingVirtualBus/MasterNode/LDF plumbing), Phase 2 fault injection (wrong checksum, silence, wrong PID, delayed response), Phase 3 multi-slave scheduling conflicts + LIN 2.x event-triggered/sporadic slot modeling, Phase 4 (stretch goal) cross-process transport over a Unix domain socket.rtps-interop-peerpattern.Test plan
ROADMAP.md). No code, no behavior change.