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.
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 |