Petal QGC Mission Server
The petal-qgc-mission-server is a Petal plugin that acts as a bridge between QGroundControl (QGC) and the Petal ecosystem. It simulates a MAVLink vehicle to receive mission plans, converts them into Petal-compatible mission graphs, and publishes them for execution by the LeafSDK.
Key Features
- MAVLink Adapter: Acts as a MAVLink server (TCP/UDP) to connect with QGC.
- Mission Translation: Converts MAVLink waypoints into Petal Mission Plans (JSON graph format).
- Silent Adapter Mode: Intercepts vehicle commands (Takeoff, Land, RTL) without interfering with the physical vehicle's direct link, while still updating internal state for QGC feedback.
- Rally & Fence Support: Handles QGC's Rally Point and Geofence protocols by accepting and discarding them (to satisfy protocol requirements) or forwarding them as needed.
- Redis Integration: Publishes mission plans and commands to Redis for consumption by LeafSDK.
Architecture
plugin.py: Entry point, manages theQGCMissionAdapterPetalplugin lifecycle.mavlink_server.py: Handles the MAVLink connection and message routing.mission_handler.py: Manages the MAVLink mission protocol (upload/download) and translation.adapter_state.py: Tracks the minimal vehicle state required for QGC interaction (position, mode, battery).
Usage
- Start the Service: The plugin is started by the Petal App Manager.
- Connect QGC: Configure QGC to connect to the server's IP/Port (default TCP 5760 or as configured).
- Upload Mission: Create a mission in QGC and upload it. The server will convert and publish it to Redis.
- Monitor: QGC will receive status updates (position, current waypoint) from the server.
Documentation
- Architecture Overview: Detailed architecture analysis with class diagrams.
- Coordinate Systems & Conversion: GPS to local ENU coordinate conversion logic with diagrams.
- Mission Types Architecture: Comprehensive mission types, execution flow, and QGC translation.
- Mission Command Flow: How commands are handled including GoTo and continue-from-waypoint.
- Rally & Fence Implementation: Details on special mission types handling.
- MAVLink Methods Reference: Justification for MAVLink protocol methods.
- Redis Integration: Redis proxy usage and QGC mission adapter plan.
- Refactoring Walkthrough: History of simulation removal and adapter transition.
Metadata
Release files for petal-qgc-mission-server 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| petal_qgc_mission_server-0.1.4.tar.gz | 51.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| petal_qgc_mission_server-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 116.5 kB
Release files / petal_qgc_mission_server-0.1.4.tar.gz
| Download URL | petal_qgc_mission_server-0.1.4.tar.gz |
|---|---|
| Size | 51.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e75161586a7b0126f7990872b0f71eb5d5c1e04d8d17cd4de860815be624ec41
|
|
BLAKE2b-256 checksum How to use checksums |
94bbe7ce3c4f771e97586dcfc795e8f2f46d4ccb07a04d66a5b2b907405e0f88
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / petal_qgc_mission_server-0.1.4-py3-none-any.whl
| Download URL | petal_qgc_mission_server-0.1.4-py3-none-any.whl |
|---|---|
| Size | 64.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8bc2fedc2a5179e538b5393c4ecc259869e040b33374a74cad58d937ca5e6a53
|
|
BLAKE2b-256 checksum How to use checksums |
0e9c2ba8b80002e5d413cf528819549ba419e42dfa59d6978f8921d6441df463
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|