Quick Start¶
Get up and running with the Astute Systems GVA product line in minutes.
This guide assumes you've already installed one or more product lines via apt (see Installation) — everything runs from installed binaries and systemd units, there is nothing to build.
Prerequisites¶
- [x] Installed a product line —
atlas,talos, and/orhermes(Installation Guide) - [x] Configured your licence, if you're also using
ldmxorbohemian(Licensing Guide)
Starting the Core Services¶
ATLAS ships three service daemons that most GVA applications depend on: the Registry, Alarms, and UACM services. Start the Registry first, since the others depend on it:
sudo systemctl start gva-registry.service
sudo systemctl start gva-alarms.service
sudo systemctl start gva-uacm.service
Enable them to start automatically on boot:
Check status or logs for any service:
See ATLAS Services Overview for what each service does.
Running the HMI¶
The GVA HMI is the ATLAS crew-station display. It needs a graphical session (X11/Wayland), so it isn't started automatically by default — launch it directly, or via its service unit:
Useful flags:
See ATLAS HMI for the full functional-area reference.
Running TALOS (BMS)¶
See TALOS for map sources and offline-caching details.
Running HERMES (VoIP)¶
See HERMES for the full VoIP/AI voice-agent setup.
Exploring the Demos¶
A set of arcade-style demonstration applications (Drone Invaders, Defense
Grid Run, Shield Protocol) exercise the full GVA stack end-to-end and are
a good way to see registration, alarms, and DDS traffic in action. They
ship in the atlas-demos package:
See Examples for a walkthrough of each demo.
Writing Your Own Application¶
To build a GVA-compliant DDS client of your own, install the LDM SDK:
This gives you the LDM 10.0.0 IDL headers, the AstuteDDS runtime,
ldmx/bohemian diagnostic tools, and a set of source-only examples
installed under /usr/share/ldm-sdk/examples/ covering registration,
the registry, alarms, and UACM.
See the SDK Reference for the full examples
index and a minimal CMakeLists.txt you can copy to build against
ldm-sdk.
DDS Domain¶
All applications on the same vehicle must use the same DDS domain ID,
passed via --domain=<N> (default 0):
If applications on the same domain aren't seeing each other, the domain ID is the first thing to check.