TrainRBCSim
ADR-029 Train (EVC) simulator — dual-homed TCP client speaking the RBC wire protocol
Loading...
Searching...
No Matches
TrainRBCSim

The Train (EVC) simulator of the ADR-029 sim trio — a real, dual-homed TCP client speaking the RBC's own rbc_envelope_t wire protocol against both WEST and EAST sites at once, built on SimCore's shared transport plumbing. Originates position reports (M136), acknowledges Movement Authority grants (M146), receives M24/M15/M3. One instance per train slot.

Driven by safeAPIRBC2oo2TestEnv/robot/ over SimCore's control port, not a fixed wall-clock schedule.

What's here

Building

python -m build --outdir dist

Depends on simcore (pyproject.toml's dependencies), resolved from SimCore/dist/ or Conan — see SimCore's README.

Running

pip install --find-links ../SimCore/dist --find-links dist trainrbcsim
train-sim # reads config from SIM_CONFIG_PATH, default /app/config.json

Dockerfile (context: the SAPI workspace root, since it needs the sibling SimCore/) builds a multi-stage image: stage 1 builds both the SimCore and this project's own wheel, stage 2 installs both into the runtime image. Normally run as part of the full stack via safeAPIRBC2oo2TestEnv/docker-compose.yml.