Skip to content

Conversation

@julled
Copy link
Contributor

@julled julled commented Jan 12, 2026

Description

Problem

When a vehicle is in flight on very low telemetry bandwidth and QGC is (re)started, the automatic parameter and mission downloads can consume lots of the link capacity for a long time (e.g., 1–2 minutes just for parameters on ELRS MAVLink or RFD900). This can slow or even stall live mavlink telemetry at a critical time!

Solution

Add button and settings (can be discussed if this is necessary then) to optionally skip parameter and / or mission downloads on connect, allowing operators to prioritize live telemetry/streaming during in‑flight reconnects.

Fly view
image
Config view
image

What changed

  • Added a live “Skip parameter download” / “Skip mission download” button in the Fly view toolbar, allowing operators to abort an in‑progress download without changing settings.
  • New AppSettings flags: disable parameter download on connect, disable mission download on connect.
  • UI toggles in Telemetry Settings.
  • Initial connect flow respects the toggles; when enabled, QGC marks parameters ready/missions complete and proceeds without downloading.

Why this helps

Provides a smooth, responsive experience during in‑flight reconnects on constrained links by avoiding long download bursts that can choke the telemetry mavlink live stream.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)
  • CI/Build changes
  • Other

Testing

  • Tested locally
  • Added/updated unit tests
  • Tested with simulator (SITL)
  • Tested with hardware

Platforms Tested

  • Linux
  • Windows
  • macOS
  • Android
  • iOS

Flight Stacks Tested

  • PX4
  • ArduPilot

Screenshots

Checklist

  • I have read the Contribution Guidelines
  • I have read the Code of Conduct
  • My code follows the project's coding standards
  • I have added tests that prove my fix/feature works
  • New and existing unit tests pass locally

Related Issues


By submitting this pull request, I confirm that my contribution is made under the terms of the project's dual license (Apache 2.0 and GPL v3).

@julled julled force-pushed the disable-telemetry-params-mission branch from 008da61 to 1a22e4c Compare January 12, 2026 14:05
@julled
Copy link
Contributor Author

julled commented Jan 12, 2026

When running precommit i get error on unchanged places in the code, how can i handle this?

Check vehicle null safety................................................Failed
- hook id: vehicle-null-check
- exit code: 1

src/Vehicle/Vehicle.cc:915:32: warning: unsafe_get_parameter
  _parameterManager->getParameter(ParameterManager::defaultComponentId, armingRequireParam)->rawValue().toInt() == 0;
  Suggestion: getParameter() can return nullptr. Store result and check:
  Fact *param = vehicle->parameterManager()->getParameter(...);
  if (!param) { qCWarning(...) << "Parameter not found"; return; }

src/Vehicle/Vehicle.cc:1451:41: warning: unsafe_get_parameter
  frameType = parameterManager()->getParameter(_compID, "FRAME_CONFIG")->rawValue().toInt();
  Suggestion: getParameter() can return nullptr. Store result and check:
  Fact *param = vehicle->parameterManager()->getParameter(...);
  if (!param) { qCWarning(...) << "Parameter not found"; return; }


Found 2 potential null-safety issue(s).

@julled julled marked this pull request as ready for review January 12, 2026 14:10
@DonLakeFlyer DonLakeFlyer self-requested a review January 23, 2026 18:27
@DonLakeFlyer
Copy link
Collaborator

QGC already has the concept of a "High Latency" link. The initial connect state machine already skips some stuff on high latency links. I think this concept should be tied into that. So for example the settings would be skip the additional downloads on high latency links, maybe even with the option to only skip when the vehicle is in flight. I need to poke around the existing code a bit to see if that's the way to go. If you've already looked there and found it not to make sense, let me know.

@julled
Copy link
Contributor Author

julled commented Jan 23, 2026

QGC already has the concept of a "High Latency" link. The initial connect state machine already skips some stuff on high latency links. I think this concept should be tied into that. So for example the settings would be skip the additional downloads on high latency links, maybe even with the option to only skip when the vehicle is in flight. I need to poke around the existing code a bit to see if that's the way to go. If you've already looked there and found it not to make sense, let me know.

Thanks for having a look at the PR!

I get your point, it is a good idea to tie it to specific modes like the "High Latency" link (maybe optional?).

But for other links it could be that the link quality highly depends on the distance to GCS. So in the case i described in the PR description that a (re)start of QGC at high distances can really be a problem. So it would be good from a user point of view to manually skip the download of params and / or mission in such critical situations. In Missionplanner there is also a "Stop" button when downloading those.

I would be totally fine to not have this option in settings for regular links or at all, but i really think a manual skip button is a real benefit and there is space in the top bar for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants