GVA HMI - Human Machine Interface¶
The GVA HMI (gva-qt6-hmi) is the core display rendering application for DEF STAN 23-009 compliant
military vehicle Human Machine Interfaces. It provides a fully functional display with all eight
functional areas, DDS integration, and support for third-party external applications.

Overview¶
The GVA HMI application provides:
- DEF STAN 23-009 Compliance: Full implementation of GVA display layout and functional areas
- Eight Functional Areas: SA, WPN, DEF, SYS, DRV, STR, COM, BMS with dedicated screens
- DDS Integration: Real-time alarm display, registration services, and device management
- External App Support: Third-party applications can render to WPN, STR, and BMS screens
- Video Playback: Camera/video stream display on SA (Situational Awareness) screen
- Widget Rendering: Custom Qt widgets for PPI, vehicle status, speedometer, and more
Running the HMI¶
Basic Usage¶
# Start the HMI on default SA screen
./build/bin/gva-qt6-hmi
# Start on a specific functional area
./build/bin/gva-qt6-hmi --area=4 # Start on SYS screen
./build/bin/gva-qt6-hmi -a 5 # Start on DRV screen
# Play video on SA screen
./build/bin/gva-qt6-hmi /path/to/video.mp4
Command Line Options¶
| Option | Description |
|---|---|
-a, --area <N> |
Start in functional area (1=SA, 2=WPN, 3=DEF, 4=SYS, 5=DRV, 6=STR, 7=COM, 8=BMS) |
<video> |
Video file to play on SA screen (positional argument) |
-h, --help |
Display help information |
--version |
Display version information |
Functional Areas¶
The HMI implements all eight GVA functional areas accessible via the control buttons:
| Area | Key | Description |
|---|---|---|
| SA | F1 | Situational Awareness - Video/camera feed with PPI overlay |
| WPN | F2 | Weapons - Extensible screen for weapon systems |
| DEF | F3 | Defensive Aids - Countermeasures display |
| SYS | F4 | System - 3D vehicle status and configuration |
| DRV | F5 | Driver - Speedometer, RPM, and camera feed |
| STR | F6 | Stores - Extensible screen for stores management |
| COM | F7 | Communications - Radio and comms management |
| BMS | F8 | Battlespace Management - Extensible screen for mapping |
SYS Screen¶
The System screen displays the vehicle status with an interactive 3D model and system information:

Keyboard Controls¶
Global Controls¶
| Key | Action |
|---|---|
F1-F8 |
Switch to functional area (SA, WPN, DEF, SYS, DRV, STR, COM, BMS) |
F11 |
Toggle fullscreen mode |
L |
Toggle label visibility |
Escape |
Exit fullscreen / Close alarms view |
Alarms View Controls¶
| Key | Action |
|---|---|
A |
Show/hide alarms table |
F1 |
Toggle sort by Time/Category |
F2 |
Toggle sort Ascending/Descending |
Up/Down |
Navigate alarm list |
Enter |
Acknowledge selected alarm |
DRV Screen Controls¶
| Key | Action |
|---|---|
F12 |
Toggle RPM gauge mode (Full/Compact) |
External Applications¶
The HMI supports third-party external applications on three extensible screens:
- WPN (F2) - Weapon system applications
- STR (F6) - Stores management applications
- BMS (F8) - Battlespace management / mapping applications
When no external application is connected, these screens display "Waiting for External Application".
Running with BMS¶
To run the HMI with the BMS (Battlespace Management System) external application:
# Terminal 1: Start the registry service
./build/bin/gva-qt6-registry --domain=0 &
# Terminal 2: Start the HMI
./build/bin/gva-qt6-hmi --area=8
# Terminal 3: Start the BMS application
./build/bin/gva-qt6-app-bms --domain=0
See the BMS Application documentation for more details.
Running with Shield Protocol¶
# Terminal 1: Start the registry service
./build/bin/gva-qt6-registry --domain=0 &
# Terminal 2: Start the HMI on WPN screen
./build/bin/gva-qt6-hmi --area=2
# Terminal 3: Start the Shield Protocol game
./build/bin/gva-qt6-app-shield-protocol --domain=0
See the Shield Protocol documentation for more details.
DDS Integration¶
The HMI integrates with the GVA DDS services for:
Alarms¶
Real-time alarm display from the GVA Alarm Service. Alarms are categorized by severity:
- Warning (Red) - Critical conditions requiring immediate attention
- Caution (Amber) - Important conditions requiring attention
- Advisory (Cyan) - Informational messages
- Override (Green) - System override status
The status bar displays alarm counts. Press A to view the full alarms table.
Registration¶
The HMI registers with the GVA Registry Service to:
- Announce itself as a display device
- Receive third-party session registrations
- Manage button label updates from external applications
Display Extension Service¶
External applications use the Display Extension Service to:
- Register their session with the HMI
- Stream rendered frames to extensible screens
- Receive touch/mouse events forwarded from the HMI
- Update soft key (bezel button) labels
Architecture¶
┌─────────────────────────────────────────────────────────────┐
│ GVA HMI Window │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Main Display Area │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ Functional Area Content │ │ │
│ │ │ - SA: Video + PPI Widget │ │ │
│ │ │ - SYS: 3D Vehicle + Wheels Widget │ │ │
│ │ │ - DRV: Camera + Speed/RPM Widgets │ │ │
│ │ │ - BMS/WPN/STR: External App Frame │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Status Bar: DTG | Grid Ref | Heading | Alarms │ │
│ └─────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Function Keys (Bezel Buttons): F1-F20 │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Building¶
The HMI is built as part of the main LDM SDK build:
Build Options¶
| CMake Option | Description |
|---|---|
HAS_MULTIMEDIA |
Enable Qt Multimedia for video playback |
HAS_OPENGL_VEHICLE |
Enable 3D vehicle rendering on SYS screen |
HAS_DDS_ALARMS |
Enable DDS alarm and registration integration |
LICENCE_CHECK_ENABLED |
Enable runtime licence validation |
Related Documentation¶
- External Applications Service - DDS interface for third-party apps
- BMS Application - Example mapping application
- Shield Protocol - Example game application
- Functional Areas - Detailed functional area reference
- Widgets - HMI widget components