Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
f9ab001
HostSim: restore base image from hostsim-foc-platform-api-v2, drop co…
datacrystals Sep 9, 2026
6a78c53
HostSim: fix ngspice backend perf (bg_resume, CV sync, quiet output),…
datacrystals Sep 9, 2026
5c9dc41
HostSIL: firmware-in-the-loop SIL - unmodified Gen6FW app code runs F…
datacrystals Sep 9, 2026
8dc4067
rte: add `rte sim` command (emit+build+run HostSim from CLI)
datacrystals Sep 9, 2026
6f16a7e
HostSim: real plant-coupled platform models (ADC/CAN/config/temps/fau…
datacrystals Sep 9, 2026
96be8e5
HostSim ngspice: UIC cold start, in-circuit back-EMF netlist + detect…
datacrystals Sep 9, 2026
9e43708
RTEStudio: port --tcp live-telemetry client (IVP/COBS over TCP) with …
datacrystals Sep 9, 2026
2821332
tests: sim smoke harness (HostSim/ngspice/HostSIL/rte sim) + CI steps…
datacrystals Sep 9, 2026
34dc9aa
docs: docs/simulation.md authoritative sim guide; README roadmap refl…
datacrystals Sep 9, 2026
2030ae3
HostSIL: --live IVP/COBS TCP server proxying firmware USART3 telemetr…
datacrystals Sep 9, 2026
8a500ce
RTEStudio: Simulation menu - Build&Run via rte sim --live, scenario p…
datacrystals Sep 9, 2026
b9bad52
plants: induction machine (stationary-frame dq) + salient PMSM verifi…
datacrystals Sep 9, 2026
035cdf6
docs: capture dc-microgrid / multi-inverter sim roadmap (dc/dc plants…
datacrystals Sep 9, 2026
7682a66
HostSIL: TCP client bytes routed into firmware UART RX - real Command…
datacrystals Sep 9, 2026
dae2423
HostSim: complete platform_api (rpm/encoder-raw/burst/adaptive-sample…
datacrystals Sep 9, 2026
6aeefbc
HostSim dcdc mode: 3-leg sync buck netlists (3-bus + paralleled), dut…
datacrystals Sep 9, 2026
1c7d1d9
HostSim: multi-instance CAN bridge (hub/spoke TCP, selftest channel),…
datacrystals Sep 10, 2026
efdb096
ci: add plants + dcdc smoke legs to sim coverage
datacrystals Sep 10, 2026
80fe354
graph-level CAN: CanRx template validator fix, can_bus_demo cross-ins…
datacrystals Sep 10, 2026
b53c8bb
HostSIL: scenario fault injection (OC/UV/OT/encoder stall+loss) tripp…
datacrystals Sep 10, 2026
6e92c0c
HostSim: current-observer platform block (faithful Gen6 CurrentObserv…
datacrystals Sep 10, 2026
cd2720f
review fixes: CAN bridge erase/burst safety, double time anchors, par…
datacrystals Sep 10, 2026
0d987cc
review fixes: preset window stomp, stale-PID SIGKILL race, close UAF,…
datacrystals Sep 10, 2026
e53e07b
HostSIL review fixes: FIFO post queue, time-true trace cadence, live-…
datacrystals Sep 10, 2026
3585225
HostSIL: stop tracking runtime trace CSVs (churn on every run)
datacrystals Sep 10, 2026
0ad598f
review fixes: rte sim name sanitize/orphan-signal/endpoint truth, smo…
datacrystals Sep 10, 2026
139922b
emitter/graph review fixes: loud load failures, single-wire inputs, b…
datacrystals Sep 10, 2026
fb01825
runtime review fixes: bounded session archive + coalescing queue, sim…
datacrystals Sep 10, 2026
0f7d759
HostSim: wire the vsense domain (4th Gen6 domain) + emitter warns on …
datacrystals Sep 10, 2026
ecaddca
HostSIL: induction machine via real OpenLoopController V/Hz (sil_indu…
datacrystals Sep 10, 2026
88e6b3d
tests: run_all_examples suite (8/8 graphs PASS in sim incl. 2-instanc…
datacrystals Sep 10, 2026
dfc3d77
NodeAPI: bridges are unit delays — allow bridge-mediated feedback cyc…
datacrystals Sep 10, 2026
bc59eac
sensorless observer feedback: PhaseCurrents honors use_observer (Gen6…
datacrystals Sep 11, 2026
c2b2b7a
protocol review fixes: per-client DEFINE tracking (multi-client stale…
datacrystals Sep 11, 2026
49fca7a
template math fixes: MTPA id sign closed-form fix (bird-throttle anti…
datacrystals Sep 11, 2026
68099b3
NodeTemplates: normalize CRLF->LF on code-block load (Windows CI fix)
datacrystals Sep 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions .github/workflows/build-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,60 @@ jobs:
--clean
--build-type Release

# Simulator smoke tests (Tools/tests/run_sim_smoke.sh). Linux leg only:
# the harness is bash+python3 and the ngspice backend dlopens
# libngspice.so, so the Windows/macOS legs cannot run these parts.
# Each part reuses the host tools built above (build/bin/RTECodeEmitter,
# build/bin/rte) — the script rebuilds them if missing. Locally the same
# script runs from any cwd with no args and covers all six parts,
# including ngspice against a locally installed libngspice.
- name: HostSim simulator smoke
if: runner.os == 'Linux'
shell: bash
run: Tools/tests/run_sim_smoke.sh --only hostsim

# ngspice backend smoke: the dev package provides the libngspice.so
# linker name that host_sim dlopens first (plus the libngspice0 runtime
# as a dependency). The run also asserts a wall-time ceiling that guards
# against the old O(n^2) resume regression.
- name: Install ngspice
if: runner.os == 'Linux'
shell: bash
run: sudo apt-get update && sudo apt-get install -y libngspice0-dev

- name: HostSim ngspice-backend smoke
if: runner.os == 'Linux'
shell: bash
run: Tools/tests/run_sim_smoke.sh --only ngspice

# Machine/plant coverage: salient PMSM field-lock and the induction
# machine under V/Hz (slip bounds), plus DC/DC mode — three-leg sync
# buck to separate buses and the paralleled variant (bus voltage
# tracks duty x Vdc within 5%).
- name: HostSim machine-plant smoke
if: runner.os == 'Linux'
shell: bash
run: Tools/tests/run_sim_smoke.sh --only plants

- name: HostSim dcdc-mode smoke
if: runner.os == 'Linux'
shell: bash
run: Tools/tests/run_sim_smoke.sh --only dcdc

# HostSIL: builds Images/HostSIL (real Gen6FW app on the host shims)
# and validates the sil_foc_demo trace with scripts/validate_trace.py.
# The `rte sim` part reuses the emitted host_sim tree from the hostsim
# smoke step (rebuilt inside this job if it is absent).
- name: HostSIL firmware-in-the-loop smoke
if: runner.os == 'Linux'
shell: bash
run: Tools/tests/run_sim_smoke.sh --only hostsil

- name: rte sim CLI smoke
if: runner.os == 'Linux'
shell: bash
run: Tools/tests/run_sim_smoke.sh --only rte

- name: Stage portable install
shell: bash
run: cmake --install build --prefix "${{ github.workspace }}/stage"
Expand Down
Loading
Loading