31 Q_MOC_INCLUDE(
"Joystick.h")
32 Q_MOC_INCLUDE(
"MavlinkCameraControl.h")
37 Q_PROPERTY(
int currentCamera READ currentCamera WRITE setCurrentCamera NOTIFY
currentCameraChanged)
40#ifdef QGC_UNITTEST_BUILD
41 friend class QGCCameraManagerTest;
52 bool infoReceived =
false;
55 QElapsedTimer lastHeartbeat;
57 QPointer<Vehicle> vehicle;
58 QPointer<QGCCameraManager> manager;
61 Q_DISABLE_COPY_MOVE(CameraStruct)
66 QStringList cameraLabels()
const {
return _cameraLabels; }
67 int currentCamera()
const {
return _currentCameraIndex; }
69 void setCurrentCamera(
int sel);
73 const QVariantList& cameraList()
const;
75 Vehicle* vehicle()
const {
return _vehicle; }
77 CameraStruct* findCameraStruct(uint8_t compId)
const {
return _cameraInfoRequest.value(QString::number(compId),
nullptr); }
79 int currentZoomLevel()
const;
80 double aspectForComp(
int compId)
const;
81 double currentCameraAspect();
82 Q_INVOKABLE
void requestCameraFovForComp(
int compId);
85 int _zoomValueCurrent = 0;
111 void _initialConnectCompleted();
112 void _setCurrentZoomLevel(
int level);
116 void _requestCameraInfo(CameraStruct* cameraInfo);
131 QPointer<Vehicle> _vehicle;
132 QPointer<SimulatedCameraControl> _simulatedCameraControl;
133 QPointer<Joystick> _activeJoystick;
134 bool _vehicleReadyState =
false;
135 int _currentTask = 0;
137 QStringList _cameraLabels;
138 int _currentCameraIndex = 0;
139 QElapsedTimer _lastZoomChange;
140 QElapsedTimer _lastCameraChange;
141 QTimer _camerasLostHeartbeatTimer;
142 QMap<QString, CameraStruct*> _cameraInfoRequest;
143 static QVariantList _cameraList;
144 bool _initialConnectComplete =
false;
146 QHash<int, double> _aspectByCompId;