Skip to content

Managers

The Vehicle object exposes several manager sub-objects that provide access to specific vehicle subsystems. These are accessed as properties on the vehicle instance.

property var vehicle: QGroundControl.multiVehicleManager.activeVehicle

GimbalManager

Access: vehicle.gimbalManager

Controls and monitors gimbal hardware attached to the vehicle.

Key properties

Property Type Description
hasGimbal bool True if a gimbal is connected
gimbalRoll double Current gimbal roll (degrees)
gimbalPitch double Current gimbal pitch (degrees)
gimbalYaw double Current gimbal yaw (degrees)
roiSupported bool True if region-of-interest is supported
roiActive bool True if ROI mode is active
roiCoordinate QGeoCoordinate Current ROI target coordinate
cfovCoordinate QGeoCoordinate Camera field-of-view center coordinate
cfovAzimuth double Camera FOV azimuth
cfovDistance double Camera FOV distance
spiCoordinate QGeoCoordinate Surface point of interest coordinate
vendor QString Gimbal vendor name
gimbalModel QString Gimbal model name
firmwareVersion QString Gimbal firmware version
focusPoint FocusPoint* Focus point object

Key methods

Method Parameters Description
gimbalControlValue(pitch, yaw, pitchRate, yawRate) double, double, double, double Send gimbal angle and rate commands
gimbalControlManual(pitch, yaw) double, double Manual gimbal control (unitless -1 to 1)
gimbalPitchStep(direction) int Step gimbal pitch (+1 or -1)
gimbalYawStep(direction) int Step gimbal yaw (+1 or -1)
centerGimbal() -- Center the gimbal
pilotView() -- Point gimbal forward (pilot view)
toNadir() -- Point gimbal straight down
setRoiNone() -- Clear the ROI target

Example

Column {
    visible: vehicle && vehicle.gimbalManager.hasGimbal

    QGCLabel { text: "Pitch: " + vehicle.gimbalManager.gimbalPitch.toFixed(1) + "°" }
    QGCLabel { text: "Yaw: " + vehicle.gimbalManager.gimbalYaw.toFixed(1) + "°" }

    QGCButton {
        text: "Center"
        onClicked: vehicle.gimbalManager.centerGimbal()
    }
}

Camera Manager

Access: vehicle.dynamicCameras

Manages cameras discovered via the MAVLink camera protocol.

Key properties

Property Type Description
cameras QmlObjectListModel* List of all cameras
cameraLabels QStringList Display names for each camera
currentCameraInstance QGCCameraControl* The currently selected camera
currentCamera int Index of the current camera (read/write)
imagesToDownload qint64 Number of images queued for download
downloadStatus QString Download progress text
storeOnBoard bool Store images on vehicle (read/write)

Key methods

Method Description
startVideoRecording() Start recording video
stopVideoRecording() Stop recording video
isRecording() Returns true if currently recording

Camera control (QGCCameraControl)

The currentCameraInstance provides detailed control over the selected camera:

Property Type Description
modelName QString Camera model name
vendor QString Camera vendor
capturesVideo bool Can capture video
capturesPhotos bool Can capture photos
hasZoom bool Supports zoom
hasFocus bool Supports focus
hasTracking bool Supports object tracking
zoomLevel qreal Current zoom level (read/write)
focusLevel qreal Current focus level (read/write)
cameraMode CameraMode Current mode: photo or video (read/write)
videoStatus VideoStatus Video recording status
photoStatus PhotoStatus Photo capture status
recordTime quint32 Current recording duration
recordTimeStr QString Recording duration as string
trackingEnabled bool Object tracking enabled (read/write)
Method Parameters Description
takePhoto() -- Take a photo
stopTakePhoto() -- Stop photo capture (burst/lapse)
startVideo() -- Start video recording
stopVideo() -- Stop video recording
toggleVideo() -- Toggle video recording
stepZoom(direction) int Step zoom (+1 in, -1 out)
startZoom(direction) int Start continuous zoom
stopZoom() -- Stop zooming
startTracking(rect) QRectF Start tracking a region
startTracking(point, radius) QPointF, double Start tracking a point
stopTracking() -- Stop object tracking
resetSettings() -- Reset camera to defaults
formatCard(id) int Format storage card

Parameter Manager

Access: vehicle.parameterManager

Manages the vehicle's parameter set. You can also use vehicle.fetchParameter() and vehicle.setParameter() directly for simpler access.

Key properties

Property Type Description
parametersReady bool True when all parameters have been downloaded
missingParameters bool True if any parameters failed to download
pendingWrites bool True if parameter writes are pending
appsParametersReady bool True when apps parameters are ready

Remote ID Manager

Access: vehicle.remoteIDManager

Manages Remote ID (drone identification) broadcasting status.

Key properties

Property Type Description
status RemoteIDStatus Current Remote ID status
statusText QString Human-readable status
showRemoteID bool True if Remote ID UI should be shown
gcsCoordinate QGeoCoordinate GCS position for Remote ID
gcsPositionValid bool True if GCS position is valid

Object Avoidance

Access: vehicle.objectAvoidance

Obstacle avoidance status and control.

Key properties

Property Type Description
present bool True if obstacle avoidance hardware is present
statusColor Colors Status color indicator
statusText QString Human-readable status
colorDistances QList<int> Distance values per direction sector

Key methods

Method Parameters Description
start(minDistance) int Start obstacle avoidance with minimum distance (cm)
stop() -- Stop obstacle avoidance

Sensors

Access: vehicle.sensors

Health and calibration status of onboard sensors.

Key properties

Property Type Description
unhealthySensors QStringList Names of unhealthy sensors
readyToFly bool True if all critical sensors are healthy
setupState bool True if sensors need setup
warningState bool True if sensor warnings are active
errorState bool True if sensor errors are active

Example

QGCLabel {
    text: vehicle.sensors.readyToFly ? "Sensors OK" : "Sensor issues"
    color: vehicle.sensors.errorState ? qgcPal.colorRed :
           vehicle.sensors.warningState ? qgcPal.colorOrange :
           qgcPal.colorGreen
}

Radio

Access: vehicle.radio (primary), vehicle.radios (all)

Radio link status and signal quality.

Key properties (VehicleRadio)

Property Type Description
name QString Radio link name
localRSSI int Local signal strength
remoteRSSI int Remote signal strength
snr int Signal-to-noise ratio
txBuffer unsigned int TX buffer usage
rxErrors unsigned int Receive error count
timedOut bool True if link has timed out

Autotune

Access: vehicle.autotune

PID autotuning interface.

Key properties

Property Type Description
autotuneEnabled bool True if autotune is available
autotuneInProgress bool True if autotuning is running
autotuneProgress float Progress (0.0 to 1.0)
autotuneStatus QString Human-readable status

Key methods

Method Description
autotuneRequest() Start autotuning

Generator Status

Access: vehicle.generatorStatus

Hybrid generator status (if present).

Key properties

Property Type Description
status Status Generator status enum
statusString QString Human-readable status
charging bool True if generator is charging
hasFault bool True if a fault is present

Compass UI Adapter

Access: vehicle.compassUiAdapter

Pre-computed convenience values for building custom compass or HUD widgets. All properties are read-only.

Key properties

Property Type Description
heading double Vehicle heading (degrees)
headingToHome double Heading to home position (degrees)
roll double Roll angle (degrees)
pitch double Pitch angle (degrees)
gimbalYaw double Gimbal yaw angle (degrees)
groundSpeed double Ground speed
airSpeed double Airspeed
climbRate double Vertical speed
throttle int Throttle percentage
windSpeed double Wind speed
windDirection double Wind direction (degrees)
altitudeRelative double Altitude relative to home
altitudeAMSL double Altitude above mean sea level
altitudeAGL double Altitude above ground level
distanceToHome double Distance to home position
fovDirection int Camera field-of-view direction

Winch Status UI Adapter

Access: vehicle.winchStatusUiAdapter

Winch telemetry for delivery drone plugins.

Key properties

Property Type Description
lineLength float Line length deployed
speed float Winch speed
tension float Line tension
voltage float Winch voltage
current float Winch current draw
temperature int Winch temperature
status int Status code
healthy bool True if winch is healthy
moving bool True if winch is moving
loadPayload bool True if payload is loaded
arrested bool True if winch is arrested
extraStatus QString Additional status text