On this page:
- Binary plugins
- QML plugins
- Main window layout customization
- Keyboard Shortcuts
- Firmware Loader
- Joystick interface
- Application updates
- Location Service
- Mission Planner
- KML overlay import
- Datalink Inspector
- Video Streaming
- Vehicle Configuration Window
- Telemetry Chart
- Compass Calibration
- Serial Port Console
- Servo Configurator
- Mandala Tree View
- Backend Tree View
All user plugins should be installed in
The application loads plugins provided with the app bundle and any other file from user plugins folder. The supported file types are:
gcs. If a user plugin has the same name as any app bundle plugin - it overrides the original.
.qml file existing in the user plugins root folder will be loaded and created in the QML context of the application.
Main window layout customization
The main UI layout is defined in
GroundControl.qml. When this file exists in
Documents/UAVOS/Plugins/main folder - it overrides the main window layout and UI.
See the source code of the GCS application for plugins examples.
Reads out autopilot warnings and messages with defined voice and TTS engines, available to the system, and emits emergency alarm sounds.
Plugin searches for X-Plane flight simulator installation and performs the following actions:
- copies bundled aircraft models from GCS resources;
- copies XPL plugin to the simulator from GCS bundle;
- launches X-Plane simulator application;
- launches SIL node simulation utility (provided by the firmware package);
Plugin manages keyboard shortcuts configuration. Any configured keyboard shortcut is triggering JS script evaluation, which is assigned to the shortcut.
B button press will call
btn_BRAKE() JS function defined in app bundle system
gcs.js file resource.
The shortcuts configuration is split in two parts:
- System shortcuts - defined in app bundle, but can be disabled individually or overridden by user shortcuts;
- User shortcuts - completely configured by user;
Additional JS functions can be defined in
Documents/UAVOS/Scripts/gcs.js user file.
Firmware files are published in apx-ap repository releases and are downloaded automatically by the GCS.
The plugin makes SDL2 controls available to the UAV control logic.
Automatic application update support. The plugin is checking for the new releases of the software and makes updates. Currently, the following platforms are supported:
Geo map tiles downloader and offline cache, optimized for UAV applications.
QML map with mission editor.
Map view plugin to add named areas to missions and airspaces.
KML overlay import
Imports Google Earth KML files to the map view. Used to display reference items only, i.e. geofences, airspace planning etc.
QML widget for inspecting of datalink packets. Displays data packets decoded by the protocol plugin.
QML widget to show live chart of defined UAV physical values for easy tuning.
GStreamer based video streaming.
- low-latency video display;
- UAV gimbal controls;
- video stream recording.
Vehicle Configuration Window
UAV parameters tree view and extended editor.
QWT based widget to visualize telemetry database records.
Helper widget for hard-iron compass calibration and magnetic disturbances visualization.
Serial Port Console
A tool to debug and trace serial data from onboard serial ports (VCP);
A tool to configure some specific servo drives.
Mandala Tree View
Tree view window of UAV state in real-time.
Backend Tree View
GCS application backend objects tree view, used for debugging purposes.