Skip to content

Firmware Upgrade: gate PX4 firmware download and UI on PX4 firmware class support #14790

Description

@DonLakeFlyer

Background

PR #14786 moved firmware support from compile-time exclusion to runtime factory registration. During review, Copilot noted that the runtime gating in FirmwareUpgradeController is asymmetric — this is pre-existing behavior (there was never a PX4-side guard, even compile-time), so it was deferred out of that PR.

Problem

With QGC_DISABLE_PX4_PLUGIN_FACTORY set (APM-only custom build):

  • FirmwareUpgradeController still unconditionally calls _determinePX4StableVersion(), downloading PX4 release metadata.
  • FirmwareUpgrade.qml still exposes and defaults to PX4 firmware choices, allowing users to select firmware for a class the build reports as unsupported.

ArduPilot is already gated correctly via FirmwarePluginManager::instance()->firmwareClassSupported(QGCMAVLink::FirmwareClassArduPilot).

Fix

Gate the PX4 stable-version download and the PX4 firmware selection UI on firmwareClassSupported(QGCMAVLink::FirmwareClassPX4), mirroring the existing ArduPilot gating.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions