Documentation hub and submodule index for the Hyperloop UPV control team.
This repo contains almost no MATLAB code. It holds the writing that explains
the team's control work, and it points at the repositories that actually contain
the algorithms and models, as Git submodules under src/.
There are three kinds of repo. Mixing them up is the main source of mess here.
| Kind | Where | What it is |
|---|---|---|
| This hub | Hyperloop-UPV/control |
Cross-project docs, decisions, and the submodule index. This repo. |
| Project | Hyperloop-UPV/<project> |
One control algorithm or model. Bootstrapped from control-template. Holds all .slx/.m/.ssc. |
| Library | Hyperloop-UPV/<library> |
Simscape block libraries and shared function libraries, shared across projects. |
Project conventions — layout, coding standards, LFS, codegen, testing — are
owned by control-template and are not repeated here. Each project repo
carries its own copy, so a project can be read and cloned on its own. This repo
only documents what spans more than one project.
| Repo | Path | Kind | Purpose | Maintainer |
|---|---|---|---|---|
| — | src/algorithms/ |
project | ||
| — | src/models/ |
project | ||
| — | src/libraries/ |
library |
Keep this table current. For most people it is the only thing they read.
git clone --recurse-submodules git@github.com:Hyperloop-UPV/control.gitAlready cloned without submodules? Run:
./tools/sync-all.shA git pull in this repo does not advance your submodules. It only moves
the pointers. Run ./tools/sync-all.sh afterwards to actually get the new
commits.
| Section | Contents |
|---|---|
docs/submodules.md |
How the submodule index works, and how to add a project |
docs/decisions/ |
Decisions that span more than one project |
docs/hil/ |
Team-wide hardware-in-the-loop rig notes |
docs/meeting-notes/ |
Notes and pointers to decisions |
docs/templates/ |
Starting points for new documents |
Per-project documentation lives in that project's own docs/ folder, per
control-template. Design rationale for a single loop belongs with the loop.
| Script | Purpose |
|---|---|
tools/add-submodule.sh |
Register a new project repo as a submodule |
tools/sync-all.sh |
Init/update all submodules |
tools/check-repo.sh |
Hygiene check: no MATLAB committed here, pointers sane |