From 5e17259dbf5e68ba3e072cbb73661579eacc7f48 Mon Sep 17 00:00:00 2001 From: coderask Date: Mon, 20 Jul 2026 17:29:42 +0100 Subject: [PATCH 1/4] Add Physical Bus Wiring To `GRCAN.CANdo` As `physical topology` Section Import the physical CAN bus topology (which nodes are physically wired to each bus) from GRCAN-Web's `can_topology.json` into a new hand-editable `physical topology:` top-level section in `GRCAN.CANdo`. CANdo is the authoritative source of truth; topology is enforced only in the web viewer, so no Perl parser consumes this section. Verified inert: all generated headers are byte-identical before and after the change. Reconciled against the authoritative `routing` section: added `HV DC-DC` and `LV DC-DC` to `Primary` (both transmit `DC-DC Status` there per routing, but were absent from the viewer's `can_topology.json`). --- Autogen/CAN/Doc/GRCAN.CANdo | 47 +++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/Autogen/CAN/Doc/GRCAN.CANdo b/Autogen/CAN/Doc/GRCAN.CANdo index fff052888..d8ee2e98e 100644 --- a/Autogen/CAN/Doc/GRCAN.CANdo +++ b/Autogen/CAN/Doc/GRCAN.CANdo @@ -12,6 +12,53 @@ Bus ID: id: 3 max_dlc: 8 +# physical topology: which devices are physically wired to each CAN bus. +# Hand-editable by design. Device names must match the GR ID section and bus +# names must match the Bus ID section above. Buses omitted here (e.g. Testing) +# are treated as unrestricted. Mirrors can_topology.json from the GRCAN-Web viewer. +physical topology: + Primary: + - ECU + - TCM + - ACU + - DGPS + - GR Inv + - DTI Inv + - Fan Ctrl 1 + - Fan Ctrl 2 + - Fan Ctrl 3 + - EM + - Dash Panel + - HV DC-DC + - LV DC-DC + Data: + - ECU + - TCM + - ACU + - DGPS + - TireTemp FL + - TireTemp FR + - TireTemp RL + - TireTemp RR + - BrakeTemp FL + - BrakeTemp FR + - BrakeTemp RL + - BrakeTemp RR + - Suspension FL + - Suspension FR + - Suspension RL + - Suspension RR + - InboardFloor FL + - InboardFloor FR + - InboardFloor RL + - InboardFloor RR + Charger: + - CCU + - ACU + - Charger + - IMD + - EM + routing: messages: ACU: From ce538efcb84eb4fe48895905c172c926f6b23b59 Mon Sep 17 00:00:00 2001 From: Aarnav Koushik Date: Thu, 30 Jul 2026 21:17:36 -0700 Subject: [PATCH 2/4] Remove comment above physical topology section --- Autogen/CAN/Doc/GRCAN.CANdo | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Autogen/CAN/Doc/GRCAN.CANdo b/Autogen/CAN/Doc/GRCAN.CANdo index d8ee2e98e..c2a6f5211 100644 --- a/Autogen/CAN/Doc/GRCAN.CANdo +++ b/Autogen/CAN/Doc/GRCAN.CANdo @@ -12,10 +12,6 @@ Bus ID: id: 3 max_dlc: 8 -# physical topology: which devices are physically wired to each CAN bus. -# Hand-editable by design. Device names must match the GR ID section and bus -# names must match the Bus ID section above. Buses omitted here (e.g. Testing) -# are treated as unrestricted. Mirrors can_topology.json from the GRCAN-Web viewer. physical topology: Primary: - ECU From f230dba2fa4a046724c7061c8b55530f87682cec Mon Sep 17 00:00:00 2001 From: coderask <62189577+coderask@users.noreply.github.com> Date: Wed, 12 Aug 2026 08:23:14 -0700 Subject: [PATCH 3/4] Move Physical Wiring Into `Bus ID` As Per-Bus `nodes` Lists MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Folds the `physical topology` top-level section into `Bus ID` as a `nodes` list on each bus, so bus membership sits on the bus record it constrains instead of repeating the bus names as a second, unreconciled key set. A topology key that drifts from its `Bus ID` name would not relax the check — the viewer's `isOnBus` returns false for a bus it does not know, locking the whole bus out of the routing form — so the duplicate keys were the risk. Data unchanged. All parsers (Bus/CAN/DBC/GR/MSG/STRUCT) emit byte-identical headers and DBCs against this file and against main. --- Autogen/CAN/Doc/GRCAN.CANdo | 84 ++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 43 deletions(-) diff --git a/Autogen/CAN/Doc/GRCAN.CANdo b/Autogen/CAN/Doc/GRCAN.CANdo index c2a6f5211..9fdd5dd48 100644 --- a/Autogen/CAN/Doc/GRCAN.CANdo +++ b/Autogen/CAN/Doc/GRCAN.CANdo @@ -5,55 +5,53 @@ Bus ID: Primary: id: 1 max_dlc: 8 + nodes: + - ECU + - TCM + - ACU + - DGPS + - GR Inv + - DTI Inv + - Fan Ctrl 1 + - Fan Ctrl 2 + - Fan Ctrl 3 + - EM + - Dash Panel + - HV DC-DC + - LV DC-DC Data: id: 2 max_dlc: 64 + nodes: + - ECU + - TCM + - ACU + - DGPS + - TireTemp FL + - TireTemp FR + - TireTemp RL + - TireTemp RR + - BrakeTemp FL + - BrakeTemp FR + - BrakeTemp RL + - BrakeTemp RR + - Suspension FL + - Suspension FR + - Suspension RL + - Suspension RR + - InboardFloor FL + - InboardFloor FR + - InboardFloor RL + - InboardFloor RR Charger: id: 3 max_dlc: 8 - -physical topology: - Primary: - - ECU - - TCM - - ACU - - DGPS - - GR Inv - - DTI Inv - - Fan Ctrl 1 - - Fan Ctrl 2 - - Fan Ctrl 3 - - EM - - Dash Panel - - HV DC-DC - - LV DC-DC - Data: - - ECU - - TCM - - ACU - - DGPS - - TireTemp FL - - TireTemp FR - - TireTemp RL - - TireTemp RR - - BrakeTemp FL - - BrakeTemp FR - - BrakeTemp RL - - BrakeTemp RR - - Suspension FL - - Suspension FR - - Suspension RL - - Suspension RR - - InboardFloor FL - - InboardFloor FR - - InboardFloor RL - - InboardFloor RR - Charger: - - CCU - - ACU - - Charger - - IMD - - EM + nodes: + - CCU + - ACU + - Charger + - IMD + - EM routing: messages: From 18a97000c285bdd7a96f06163741f1012ee3a144 Mon Sep 17 00:00:00 2001 From: Daniel Hansen <105574022+dchansen06@users.noreply.github.com> Date: Wed, 12 Aug 2026 23:39:14 -0700 Subject: [PATCH 4/4] Add `Charging SDC` to topology under `Charger` bus Signed-off-by: Daniel Hansen <105574022+dchansen06@users.noreply.github.com> --- Autogen/CAN/Doc/GRCAN.CANdo | 1 + 1 file changed, 1 insertion(+) diff --git a/Autogen/CAN/Doc/GRCAN.CANdo b/Autogen/CAN/Doc/GRCAN.CANdo index 9fdd5dd48..5f4db61f9 100644 --- a/Autogen/CAN/Doc/GRCAN.CANdo +++ b/Autogen/CAN/Doc/GRCAN.CANdo @@ -52,6 +52,7 @@ Bus ID: - Charger - IMD - EM + - Charging SDC routing: messages: