7class QNetworkAccessManager;
29 QGCCameraOptionRange(QObject* parent, QString param_, QString value_, QString targetParam_, QString condition_, QStringList optNames_, QStringList optValues_);
57 Q_INVOKABLE
void formatCard (
int id = 1)
override;
58 Q_INVOKABLE
void stepZoom (
int direction)
override;
59 Q_INVOKABLE
void startZoom (
int direction)
override;
60 Q_INVOKABLE
void stopZoom ()
override;
61 Q_INVOKABLE
void stepFocus (
int direction)
override;
62 Q_INVOKABLE
void startFocus (
int direction)
override;
164 static constexpr const char*
kLocale =
"locale";
166 static constexpr const char*
kMax =
"max";
167 static constexpr const char*
kMin =
"min";
168 static constexpr const char*
kModel =
"model";
169 static constexpr const char*
kName =
"name";
170 static constexpr const char*
kOption =
"option";
180 static constexpr const char*
kStep =
"step";
184 static constexpr const char*
kType =
"type";
185 static constexpr const char*
kUnit =
"unit";
186 static constexpr const char*
kUpdate =
"update";
188 static constexpr const char*
kValue =
"value";
189 static constexpr const char*
kVendor =
"vendor";
192 static constexpr const char*
kPhotoMode =
"PhotoCaptureMode";
200 static constexpr const char*
kCAM_EV =
"CAM_EV";
226 virtual void _mavCommandResult (
int vehicleId,
int component,
int command,
int result,
int failureCode);
238 bool _handleLocalization (QByteArray& bytes);
239 bool _replaceLocaleStrings (
const QDomNode node, QByteArray& bytes);
240 bool _loadCameraDefinitionFile (QByteArray& bytes);
241 bool _loadConstants (
const QDomNodeList nodeList);
242 bool _loadSettings (
const QDomNodeList nodeList);
243 void _processRanges ();
244 bool _processCondition (
const QString condition);
245 bool _processConditionTest (
const QString conditionTest);
246 bool _loadNameValue (QDomNode option,
const QString factName,
FactMetaData* metaData, QString& optName, QString& optValue, QVariant& optVariant);
247 bool _loadRanges (QDomNode option,
const QString factName, QString paramValue);
248 void _updateActiveList ();
249 void _updateRanges (
Fact* pFact);
250 void _httpRequest (
const QString& url);
251 void _handleDefinitionFile (
const QString& url);
252 void _ftpDownloadComplete (
const QString& fileName,
const QString& errorMsg);
254 QStringList _loadExclusions (QDomNode option);
255 QStringList _loadUpdates (QDomNode option);
256 QString _getParamName (
const char* param_id);
struct __mavlink_camera_information_t mavlink_camera_information_t
A Fact is used to hold a single value within the system.
Abstract base class for all camera controls: real and simulated.
virtual CameraMode cameraMode() const
Camera option exclusions.
Encapsulates the contents of a VIDEO_STREAM_INFORMATION message.
MAVLink Camera API controller - connected to a real mavlink v2 camera.
virtual void _storageInfoTimeout()
QStringList _updatesToRequest
QRectF _trackingImageRect
void handleParamExtValue(const mavlink_param_ext_value_t ¶mExtValue) override
Fact * shutterSpeed() override
static constexpr const char * kCAM_ISO
bool trackingImageIsPoint() const override
void setPhotoLapse(qreal interval) override
virtual void _downloadFinished()
virtual void _streamInfoTimeout()
static constexpr const char * kRoption
virtual void _streamStatusTimeout()
virtual void _requestAllParameters()
QSize resolution() const override
bool incomingParameter(Fact *pFact, QVariant &newValue) override
Allow controller to modify or invalidate incoming parameter.
QTimer _cameraSettingsTimer
QString storageFreeStr() const override
bool capturesPhotos() const override
Q_INVOKABLE void startZoom(int direction) override
static constexpr const char * kName
QStringList streamLabels() const override
Stream names to show the user (for selection)
void setTrackingEnabled(bool set) override
bool supportsTrackingRect() const override
QStringList activeSettings() const override
QList< QGCCameraOptionRange * > _optionRanges
static constexpr const char * kType
static constexpr const char * kModel
void setCameraMode(CameraMode cameraMode) override
Q_INVOKABLE void startTrackingRect(QRectF rec) override
Q_INVOKABLE void startTrackingPoint(QPointF point, double radius) override
bool validateParameter(Fact *pFact, QVariant &newValue) override
Allow controller to modify or invalidate parameter change.
mavlink_camera_tracking_image_status_t _trackingImageStatus
QGCVideoStreamInfo * thermalStreamInstance() override
static constexpr const char * kDescription
virtual void _checkForVideoStreams()
QString recordTimeStr() const override
Q_INVOKABLE void formatCard(int id=1) override
bool hasVideoStream() const override
virtual void _onVideoManagerRecordingChanged(bool recording)
bool _trackingImageIsPoint
int compID() const override
static constexpr const char * kUpdate
void setPhotoCaptureMode(PhotoCaptureMode mode) override
QmlObjectListModel _streams
CapturePhotosState capturePhotosState() const override
Q_INVOKABLE void toggleCameraMode() override
Fact * exposureMode() override
void setFocusLevel(qreal level) override
virtual void _requestStorageInfo()
bool _hasTrackingPointCapability
Q_INVOKABLE void stepFocus(int direction) override
Q_INVOKABLE void stepZoom(int direction) override
static constexpr const char * kDecimalPlaces
static constexpr const char * kOptions
bool hasTracking() const override
bool _hasTrackingRectCapability
Q_INVOKABLE bool toggleVideoRecording() override
virtual void _dataReady(QByteArray data)
QRectF trackingImageRect() const override
virtual void _initWhenReady()
virtual void _requestParamUpdates()
bool supportsTrackingPoint() const override
quint32 storageFree() const override
int _videoStreamInfoRetries
QPointF trackingImagePoint() const override
Q_INVOKABLE bool takePhoto() override
static constexpr const char * kControl
static constexpr const char * kVersion
void setZoomLevel(qreal level) override
void handleVideoStreamInformation(const mavlink_video_stream_information_t &videoStreamInformation) override
QString vendor() const override
int _videoStreamStatusRetries
QmlObjectListModel * streams() override
bool capturesVideo() const override
int batteryRemaining() const override
static constexpr const char * kWriteOnly
QString batteryRemainingStr() const override
static constexpr const char * kCAM_EXPMODE
virtual void _cameraSettingsTimeout()
static constexpr const char * kPhotoLapse
quint32 storageTotal() const override
void handleCameraCaptureStatus(const mavlink_camera_capture_status_t &cameraCaptureStatus) override
static constexpr const char * kCAM_APERTURE
static constexpr const char * kTranslated
Q_INVOKABLE void startFocus(int direction) override
bool autoStream() const override
static constexpr const char * kParameterranges
void setThermalOpacity(double val) override
void handleBatteryStatus(const mavlink_battery_status_t &bs) override
ThermalViewMode _thermalMode
ThermalViewMode thermalMode() const override
QTimer _streamStatusTimer
static constexpr const char * kUnit
Q_INVOKABLE void stopFocus() override
qreal focusLevel() const override
static constexpr const char * kDefnition
static constexpr const char * kVendor
static constexpr const char * kOriginal
void setPhotoLapseCount(int count) override
QList< QGCCameraOptionExclusion * > _valueExclusions
QSizeF sensorSize() const override
Q_INVOKABLE void setCameraModePhoto() override
static constexpr const char * kCAM_SHUTTERSPD
virtual void _requestTrackingStatus()
static constexpr const char * kDefault
static constexpr const char * kMin
qreal focalLength() const override
virtual void _setCameraMode(CameraMode mode)
double thermalOpacity() const override
virtual void _requestStreamInfo(uint8_t streamID)
Q_INVOKABLE bool stopVideoRecording() override
void factChanged(Fact *pFact) override
Notify controller a parameter has changed.
QStringList _activeSettings
void handleVideoStreamStatus(const mavlink_video_stream_status_t &videoStreamStatus) override
QMap< QString, QGCCameraParamIO * > _paramIO
static constexpr const char * kPhotoLapseCount
static constexpr const char * kExclusions
static constexpr const char * kLocale
int version() const override
static constexpr const char * kCondition
qreal trackingImageRadius() const override
static constexpr const char * kThermalMode
bool hasFocus() const override
Q_INVOKABLE void stopStream() override
static constexpr const char * kMax
QString firmwareVersion() const override
virtual void _mavCommandResult(int vehicleId, int component, int command, int result, int failureCode)
static constexpr const char * kStep
Q_INVOKABLE void resetSettings() override
virtual void _requestStreamStatus(uint8_t streamID)
Q_INVOKABLE bool startVideoRecording() override
Q_INVOKABLE void setCameraModeVideo() override
void handleParamExtAck(const mavlink_param_ext_ack_t ¶mExtAck) override
int currentStream() const override
static constexpr const char * kOption
void handleTrackingImageStatus(const mavlink_camera_tracking_image_status_t &trackingImageStatus) override
QTimer _captureStatusTimer
bool paramComplete() const override
virtual void _recTimerHandler()
static constexpr const char * kExclusion
void setThermalMode(ThermalViewMode mode) override
static constexpr const char * kStrings
QMap< QString, QVariantList > _originalOptValues
QMap< QString, QStringList > _originalOptNames
qreal zoomLevel() const override
static constexpr const char * kPhotoMode
QStringList _streamLabels
static constexpr const char * kReadOnly
virtual void _requestCaptureStatus()
void handleStorageInformation(const mavlink_storage_information_t &storageInformation) override
bool hasModes() const override
bool trackingEnabled() const override
bool trackingImageIsActive() const override
static constexpr const char * kParameter
StorageStatus storageStatus() const override
static constexpr const char * kValue
virtual QGCVideoStreamInfo * _findStream(uint8_t streamID, bool report=true)
qreal _trackingImageRadius
CaptureVideoState captureVideoState() const override
static constexpr const char * kUpdates
int _cameraCaptureStatusRetries
void handleCameraSettings(const mavlink_camera_settings_t &settings) override
QMap< QString, QStringList > _requestUpdates
void _paramDone() override
Q_INVOKABLE void stopTracking() override
~VehicleCameraControl() override
Fact * aperture() override
static constexpr const char * kParameterrange
static constexpr const char * kParameters
Q_INVOKABLE void resumeStream() override
bool photosInVideoMode() const override
quint32 recordTime() const override
virtual void _requestCameraSettings()
static constexpr const char * kCAM_EV
bool isBasic() const override
int _cameraSettingsRetries
bool hasZoom() const override
StorageStatus _storageStatus
Q_INVOKABLE bool stopTakePhoto() override
void setCurrentStream(int stream) override
QNetworkAccessManager * _netManager
bool videoInPhotoMode() const override
Q_INVOKABLE void stopZoom() override
static constexpr const char * kLocalization
QString modelName() const override
virtual void _setPhotoCaptureStatus(PhotoCaptureStatus captureStatus)
static constexpr const char * kCAM_WBMODE
QGCVideoStreamInfo * currentStreamInstance() override
QPointF _trackingImagePoint
virtual void _setVideoCaptureStatus(VideoCaptureStatus captureStatus)
bool _trackingImageIsActive
mavlink_camera_information_t _mavlinkCameraInfo
static constexpr const char * kCAM_MODE
static constexpr const char * kThermalOpacity