+
+
diff --git a/doc/links.md b/doc/links.md
index 82bfe68..ce47ce1 100644
--- a/doc/links.md
+++ b/doc/links.md
@@ -12,5 +12,5 @@ LinkInterface::bytesReceived signal and when data needs to be sent back to a veh
LinkInterface::writeBytesSafe method.
-
+
\ No newline at end of file
diff --git a/doc/links.svg b/doc/links.svg
index 6c2fcc4..d08d6db 100644
--- a/doc/links.svg
+++ b/doc/links.svg
@@ -1,7 +1,17 @@
-
diff --git a/src/AnalyzeView/MAVLinkInspectorController.h b/src/AnalyzeView/MAVLinkInspectorController.h
index d7b08c2..2f13aaa 100644
--- a/src/AnalyzeView/MAVLinkInspectorController.h
+++ b/src/AnalyzeView/MAVLinkInspectorController.h
@@ -7,6 +7,10 @@
*
****************************************************************************/
+/// @file
+/// @brief MAVLink message inspector and charting controller
+/// @author Gus Grubba
+
#pragma once
#include "MAVLinkProtocol.h"
@@ -28,6 +32,7 @@ class MAVLinkChartController;
class MAVLinkInspectorController;
//-----------------------------------------------------------------------------
+/// MAVLink message field
class QGCMAVLinkMessageField : public QObject {
Q_OBJECT
public:
@@ -81,6 +86,7 @@ private:
};
//-----------------------------------------------------------------------------
+/// MAVLink message
class QGCMAVLinkMessage : public QObject {
Q_OBJECT
public:
@@ -130,6 +136,7 @@ private:
};
//-----------------------------------------------------------------------------
+/// Vehicle MAVLink message belongs to
class QGCMAVLinkVehicle : public QObject {
Q_OBJECT
public:
@@ -172,6 +179,7 @@ private:
};
//-----------------------------------------------------------------------------
+/// MAVLink message charting controller
class MAVLinkChartController : public QObject {
Q_OBJECT
public:
@@ -232,6 +240,7 @@ private:
};
//-----------------------------------------------------------------------------
+/// MAVLink message inspector controller (provides the logic for UI display)
class MAVLinkInspectorController : public QObject
{
Q_OBJECT
diff --git a/src/Camera/QGCCameraControl.h b/src/Camera/QGCCameraControl.h
index 6fa78dd..7bf2f4c 100644
--- a/src/Camera/QGCCameraControl.h
+++ b/src/Camera/QGCCameraControl.h
@@ -5,6 +5,10 @@
*
*/
+/// @file
+/// @brief MAVLink Camera API
+/// @author Gus Grubba
+
#pragma once
#include "QGCApplication.h"
@@ -18,6 +22,8 @@ Q_DECLARE_LOGGING_CATEGORY(CameraControlLog)
Q_DECLARE_LOGGING_CATEGORY(CameraControlVerboseLog)
//-----------------------------------------------------------------------------
+/// Video Stream Info
+/// Encapsulates the contents of a [VIDEO_STREAM_INFORMATION](https://mavlink.io/en/messages/common.html#VIDEO_STREAM_INFORMATION) message
class QGCVideoStreamInfo : public QObject
{
Q_OBJECT
@@ -50,6 +56,7 @@ private:
};
//-----------------------------------------------------------------------------
+/// Camera option exclusions
class QGCCameraOptionExclusion : public QObject
{
public:
@@ -60,6 +67,7 @@ public:
};
//-----------------------------------------------------------------------------
+/// Camera option ranges
class QGCCameraOptionRange : public QObject
{
public:
@@ -74,6 +82,7 @@ public:
};
//-----------------------------------------------------------------------------
+/// MAVLink Camera API controller
class QGCCameraControl : public FactGroup
{
Q_OBJECT
@@ -257,7 +266,7 @@ public:
virtual Fact* wb ();
virtual Fact* mode ();
- //-- Stream names to show the user (for selection)
+ /// Stream names to show the user (for selection)
virtual QStringList streamLabels () { return _streamLabels; }
virtual ThermalViewMode thermalMode () { return _thermalMode; }
@@ -281,11 +290,11 @@ public:
virtual void handleVideoInfo (const mavlink_video_stream_information_t *vi);
virtual void handleVideoStatus (const mavlink_video_stream_status_t *vs);
- //-- Notify controller a parameter has changed
+ /// Notify controller a parameter has changed
virtual void factChanged (Fact* pFact);
- //-- Allow controller to modify or invalidate incoming parameter
+ /// Allow controller to modify or invalidate incoming parameter
virtual bool incomingParameter (Fact* pFact, QVariant& newValue);
- //-- Allow controller to modify or invalidate parameter change
+ /// Allow controller to modify or invalidate parameter change
virtual bool validateParameter (Fact* pFact, QVariant& newValue);
// Known Parameters
diff --git a/src/Camera/QGCCameraIO.h b/src/Camera/QGCCameraIO.h
index cd2b349..6141c9b 100644
--- a/src/Camera/QGCCameraIO.h
+++ b/src/Camera/QGCCameraIO.h
@@ -5,6 +5,10 @@
*
*/
+/// @file
+/// @brief MAVLink Camera API. Camera parameter handler.
+/// @author Gus Grubba
+
#pragma once
#include "QGCApplication.h"
@@ -34,6 +38,7 @@ typedef struct {
}) param_ext_union_t;
//-----------------------------------------------------------------------------
+/// Camera parameter handler.
class QGCCameraParamIO : public QObject
{
public:
diff --git a/src/Camera/QGCCameraManager.h b/src/Camera/QGCCameraManager.h
index bcc79bf..ea81685 100644
--- a/src/Camera/QGCCameraManager.h
+++ b/src/Camera/QGCCameraManager.h
@@ -5,6 +5,10 @@
*
*/
+/// @file
+/// @brief MAVLink Camera API. Camera Manager.
+/// @author Gus Grubba
+
#pragma once
#include "QGCApplication.h"
@@ -20,6 +24,7 @@ Q_DECLARE_LOGGING_CATEGORY(CameraManagerLog)
class Joystick;
//-----------------------------------------------------------------------------
+/// Camera Manager
class QGCCameraManager : public QObject
{
Q_OBJECT
diff --git a/src/Joystick/Joystick.h b/src/Joystick/Joystick.h
index 274e572..5f8aef0 100644
--- a/src/Joystick/Joystick.h
+++ b/src/Joystick/Joystick.h
@@ -7,9 +7,10 @@
*
****************************************************************************/
+/// @file
+/// @brief Joystick Controller
-#ifndef Joystick_H
-#define Joystick_H
+#pragma once
#include
#include
@@ -21,7 +22,7 @@
Q_DECLARE_LOGGING_CATEGORY(JoystickLog)
Q_DECLARE_LOGGING_CATEGORY(JoystickValuesLog)
-//-- Action assigned to button
+/// Action assigned to button
class AssignedButtonAction : public QObject {
Q_OBJECT
public:
@@ -31,7 +32,7 @@ public:
bool repeat = false;
};
-//-- Assignable Button Action
+/// Assignable Button Action
class AssignableButtonAction : public QObject {
Q_OBJECT
public:
@@ -45,6 +46,7 @@ private:
bool _repeat = false;
};
+/// Joystick Controller
class Joystick : public QThread
{
Q_OBJECT
@@ -168,10 +170,14 @@ public:
/// Set the current calibration mode
void setCalibrationMode (bool calibrating);
+ /// Get joystick message rate (in Hz)
float axisFrequency () { return _axisFrequency; }
+ /// Set joystick message rate (in Hz)
void setAxisFrequency (float val);
+ /// Get joystick button repeat rate (in Hz)
float buttonFrequency () { return _buttonFrequency; }
+ /// Set joystick button repeat rate (in Hz)
void setButtonFrequency(float val);
signals:
@@ -349,5 +355,3 @@ private:
private slots:
void _activeVehicleChanged(Vehicle* activeVehicle);
};
-
-#endif
diff --git a/src/Joystick/JoystickManager.h b/src/Joystick/JoystickManager.h
index a96599b..6547970 100644
--- a/src/Joystick/JoystickManager.h
+++ b/src/Joystick/JoystickManager.h
@@ -7,9 +7,10 @@
*
****************************************************************************/
+/// @file
+/// @brief Joystick Manager
-#ifndef JoystickManager_H
-#define JoystickManager_H
+#pragma once
#include "QGCLoggingCategory.h"
#include "Joystick.h"
@@ -20,6 +21,7 @@
Q_DECLARE_LOGGING_CATEGORY(JoystickManagerLog)
+/// Joystick Manager
class JoystickManager : public QGCTool
{
Q_OBJECT
@@ -28,18 +30,20 @@ public:
JoystickManager(QGCApplication* app, QGCToolbox* toolbox);
~JoystickManager();
- /// List of available joysticks
Q_PROPERTY(QVariantList joysticks READ joysticks NOTIFY availableJoysticksChanged)
Q_PROPERTY(QStringList joystickNames READ joystickNames NOTIFY availableJoysticksChanged)
- /// Active joystick
Q_PROPERTY(Joystick* activeJoystick READ activeJoystick WRITE setActiveJoystick NOTIFY activeJoystickChanged)
Q_PROPERTY(QString activeJoystickName READ activeJoystickName WRITE setActiveJoystickName NOTIFY activeJoystickNameChanged)
+ /// List of available joysticks
QVariantList joysticks();
+ /// List of available joystick names
QStringList joystickNames(void);
+ /// Get active joystick
Joystick* activeJoystick(void);
+ /// Set active joystick
void setActiveJoystick(Joystick* joystick);
QString activeJoystickName(void);
@@ -76,5 +80,3 @@ private:
int _joystickCheckTimerCounter;
QTimer _joystickCheckTimer;
};
-
-#endif
diff --git a/src/Joystick/JoystickSDL.h b/src/Joystick/JoystickSDL.h
index df56552..76a6b75 100644
--- a/src/Joystick/JoystickSDL.h
+++ b/src/Joystick/JoystickSDL.h
@@ -1,5 +1,16 @@
-#ifndef JOYSTICKSDL_H
-#define JOYSTICKSDL_H
+/****************************************************************************
+ *
+ * (c) 2009-2020 QGROUNDCONTROL PROJECT
+ *
+ * QGroundControl is licensed according to the terms in the file
+ * COPYING.md in the root of the source code directory.
+ *
+ ****************************************************************************/
+
+/// @file
+/// @brief SDL Joystick Interface
+
+#pragma once
#include "Joystick.h"
#include "Vehicle.h"
@@ -7,6 +18,7 @@
#include
+/// @brief SDL Joystick Interface
class JoystickSDL : public Joystick
{
public:
@@ -39,5 +51,3 @@ private:
int _index; ///< Index for SDL_JoystickOpen
};
-
-#endif // JOYSTICKSDL_H
diff --git a/src/Settings/AppSettings.h b/src/Settings/AppSettings.h
index 591ea90..b81d0b4 100644
--- a/src/Settings/AppSettings.h
+++ b/src/Settings/AppSettings.h
@@ -6,12 +6,17 @@
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
+
+/// @file
+/// @brief Application Settings
+
#pragma once
#include
#include "SettingsGroup.h"
#include "QGCMAVLink.h"
+/// Application Settings
class AppSettings : public SettingsGroup
{
Q_OBJECT
diff --git a/src/Settings/AutoConnectSettings.h b/src/Settings/AutoConnectSettings.h
index 90bcf50..e8df538 100644
--- a/src/Settings/AutoConnectSettings.h
+++ b/src/Settings/AutoConnectSettings.h
@@ -7,10 +7,15 @@
*
****************************************************************************/
+/// @file
+/// @brief Auto connect settings
+
#pragma once
#include "SettingsGroup.h"
+/// Auto connect settings
+/// Defines which links should be automatically created and started at runtime
class AutoConnectSettings : public SettingsGroup
{
Q_OBJECT
diff --git a/src/Settings/BrandImageSettings.h b/src/Settings/BrandImageSettings.h
index a6ba90e..3849a8f 100644
--- a/src/Settings/BrandImageSettings.h
+++ b/src/Settings/BrandImageSettings.h
@@ -7,10 +7,14 @@
*
****************************************************************************/
+/// @file
+/// @brief Branding settings
+
#pragma once
#include "SettingsGroup.h"
+/// Simple branding. Allows to define icon to use on main toolbar.
class BrandImageSettings : public SettingsGroup
{
Q_OBJECT
diff --git a/src/api/QGCCorePlugin.h b/src/api/QGCCorePlugin.h
index e12ad14..122fc88 100644
--- a/src/api/QGCCorePlugin.h
+++ b/src/api/QGCCorePlugin.h
@@ -18,8 +18,8 @@
#include
/// @file
-/// @brief Core Plugin Interface for QGroundControl
-/// @author Gus Grubba
+/// @brief Core Plugin Interface for QGroundControl
+/// @author Gus Grubba
class QGCApplication;
class QGCOptions;
@@ -98,7 +98,7 @@ public:
virtual QString showAdvancedUIMessage() const;
/// @return An instance of an alternate position source (or NULL if not available)
- virtual QGeoPositionInfoSource* createPositionSource(QObject* parent) { Q_UNUSED(parent); return nullptr; }
+ virtual QGeoPositionInfoSource* createPositionSource(QObject* /*parent*/) { return nullptr; }
/// Allows a plugin to override the specified color name from the palette
virtual void paletteOverride(QString colorName, QGCPalette::PaletteColorInfo_t& colorInfo);
@@ -118,23 +118,23 @@ public:
/// @return true: Allow vehicle to continue processing, false: Vehicle should not process message
virtual bool mavlinkMessage(Vehicle* vehicle, LinkInterface* link, mavlink_message_t message);
- /// Allows custom builds to add custom items to the FlightMap. Objects put into QmlObjectListModel
- /// should derive from QmlComponentInfo and set the url property.
+ /// Allows custom builds to add custom items to the FlightMap. Objects put into QmlObjectListModel should derive from QmlComponentInfo and set the url property.
virtual QmlObjectListModel* customMapItems();
- /// Allows custom builds to add custom items to the plan file. Either before the document is
- /// created or after.
- virtual void preSaveToJson (PlanMasterController* pController, QJsonObject& json) { Q_UNUSED(pController); Q_UNUSED(json); }
- virtual void postSaveToJson (PlanMasterController* pController, QJsonObject& json) { Q_UNUSED(pController); Q_UNUSED(json); }
+ /// Allows custom builds to add custom items to the plan file before the document is created.
+ virtual void preSaveToJson (PlanMasterController* /*pController*/, QJsonObject& /*json*/) {}
+ /// Allows custom builds to add custom items to the plan file after the document is created.
+ virtual void postSaveToJson (PlanMasterController* /*pController*/, QJsonObject& /*json*/) {}
- /// Same for the specific "mission" portion
- virtual void preSaveToMissionJson (PlanMasterController* pController, QJsonObject& missionJson) { Q_UNUSED(pController); Q_UNUSED(missionJson); }
- virtual void postSaveToMissionJson (PlanMasterController* pController, QJsonObject& missionJson) { Q_UNUSED(pController); Q_UNUSED(missionJson); }
+ /// Allows custom builds to add custom items to the mission section of the plan file before the item is created.
+ virtual void preSaveToMissionJson (PlanMasterController* /*pController*/, QJsonObject& /*missionJson*/) {}
+ /// Allows custom builds to add custom items to the mission section of the plan file after the item is created.
+ virtual void postSaveToMissionJson (PlanMasterController* /*pController*/, QJsonObject& /*missionJson*/) {}
- /// Allows custom builds to load custom items from the plan file. Either before the document is
- /// parsed or after.
- virtual void preLoadFromJson (PlanMasterController* pController, QJsonObject& json) { Q_UNUSED(pController); Q_UNUSED(json); }
- virtual void postLoadFromJson (PlanMasterController* pController, QJsonObject& json) { Q_UNUSED(pController); Q_UNUSED(json); }
+ /// Allows custom builds to load custom items from the plan file before the document is parsed.
+ virtual void preLoadFromJson (PlanMasterController* /*pController*/, QJsonObject& /*json*/) {}
+ /// Allows custom builds to load custom items from the plan file after the document is parsed.
+ virtual void postLoadFromJson (PlanMasterController* /*pController*/, QJsonObject& /*json*/) {}
/// Returns the url to download the stable version check file. Return QString() to indicate no version check should be performed.
/// Default QGC mainline implemenentation returns QGC Stable file location. Default QGC custom build code returns QString().
@@ -149,9 +149,9 @@ public:
virtual QString stableDownloadLocation() const { return QString("qgroundcontrol.com"); }
/// Returns the complex mission items to display in the Plan UI
- /// @param complexMissionItemNames Default set of complex items
+ /// @param complexMissionItemNames Default set of complex items
/// @return Complex items to be made available to user
- virtual QStringList complexMissionItemNames(Vehicle* vehicle, const QStringList& complexMissionItemNames) { Q_UNUSED(vehicle); return complexMissionItemNames; }
+ virtual QStringList complexMissionItemNames(Vehicle* /*vehicle*/, const QStringList& complexMissionItemNames) { return complexMissionItemNames; }
bool showTouchAreas() const { return _showTouchAreas; }
bool showAdvancedUI() const { return _showAdvancedUI; }
diff --git a/src/api/QGCOptions.h b/src/api/QGCOptions.h
index d439e59..acd72f9 100644
--- a/src/api/QGCOptions.h
+++ b/src/api/QGCOptions.h
@@ -15,8 +15,8 @@
#include
/// @file
-/// @brief Core Plugin Interface for QGroundControl - Application Options
-/// @author Gus Grubba
+/// @brief Core Plugin Interface for QGroundControl - Application Options
+/// @author Gus Grubba
class CustomInstrumentWidget;
class QGCOptions : public QObject
@@ -93,10 +93,13 @@ public:
/// Provides an optional preflight checklist
virtual QUrl preFlightChecklistUrl () const { return QUrl(); }
- /// Allows replacing the toolbar
+ /// Allows replacing the Main toolbar
virtual QUrl mainToolbarUrl () const;
+ /// Allows replacing the Plan View toolbar
virtual QUrl planToolbarUrl () const;
+ /// Allows replacing the toolbar Light Theme color
virtual QColor toolbarBackgroundLight () const;
+ /// Allows replacing the toolbar Dark Theme color
virtual QColor toolbarBackgroundDark () const;
/// Allows replacing the Plan View toolbar container
virtual QUrl planToolbarIndicatorsUrl () const;
diff --git a/src/api/QGCSettings.h b/src/api/QGCSettings.h
index f22cdde..593a178 100644
--- a/src/api/QGCSettings.h
+++ b/src/api/QGCSettings.h
@@ -13,8 +13,8 @@
#include
/// @file
-/// @brief Core Plugin Interface for QGroundControl. Settings element.
-/// @author Gus Grubba
+/// @brief Core Plugin Interface for QGroundControl. Settings element.
+/// @author Gus Grubba
class QGCSettings : public QObject
{
diff --git a/src/ui/MainRootWindow.qml b/src/ui/MainRootWindow.qml
index e7d0604..19950e7 100644
--- a/src/ui/MainRootWindow.qml
+++ b/src/ui/MainRootWindow.qml
@@ -21,7 +21,8 @@ import QGroundControl.ScreenTools 1.0
import QGroundControl.FlightDisplay 1.0
import QGroundControl.FlightMap 1.0
-/// Native QML top level window
+/// @brief Native QML top level window
+/// All properties defined here are visible to all QML pages.
ApplicationWindow {
id: mainWindow
minimumWidth: ScreenTools.isMobile ? Screen.width : Math.min(215 * Screen.pixelDensity, Screen.width)
@@ -48,9 +49,12 @@ ApplicationWindow {
//-------------------------------------------------------------------------
//-- Global Scope Variables
+ /// Current active Vehicle
property var activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
+ /// Indicates communication with vehicle is list (no heartbeats)
property bool communicationLost: activeVehicle ? activeVehicle.connectionLost : false
property string formatedMessage: activeVehicle ? activeVehicle.formatedMessage : ""
+ /// Indicates usable height between toolbar and footer
property real availableHeight: mainWindow.height - mainWindow.header.height - mainWindow.footer.height
property var currentPlanMissionItem: planMasterControllerPlan ? planMasterControllerPlan.missionController.currentPlanViewItem : null
@@ -62,6 +66,7 @@ ApplicationWindow {
readonly property real defaultTextHeight: ScreenTools.defaultFontPixelHeight
readonly property real defaultTextWidth: ScreenTools.defaultFontPixelWidth
+ /// Default color palette used throughout the UI
QGCPalette { id: qgcPal; colorGroupEnabled: true }
//-------------------------------------------------------------------------
@@ -144,6 +149,7 @@ ApplicationWindow {
simpleMessageDialog.open()
}
+ /// Saves main window position and size
MainWindowSavedState {
window: mainWindow
}
@@ -287,14 +293,14 @@ ApplicationWindow {
}
//-------------------------------------------------------------------------
- //-- Main, full window background (Fly View)
+ /// Main, full window background (Fly View)
background: Item {
id: rootBackground
anchors.fill: parent
}
//-------------------------------------------------------------------------
- //-- Toolbar
+ /// Toolbar
header: ToolBar {
height: ScreenTools.toolbarHeight
visible: !QGroundControl.videoManager.fullScreen
@@ -325,7 +331,7 @@ ApplicationWindow {
}
//-------------------------------------------------------------------------
- //-- Fly View
+ /// Fly View
FlightDisplayView {
id: flightView
anchors.fill: parent
@@ -339,7 +345,7 @@ ApplicationWindow {
}
//-------------------------------------------------------------------------
- //-- Plan View
+ /// Plan View
Loader {
id: planViewLoader
anchors.fill: parent
@@ -348,7 +354,7 @@ ApplicationWindow {
}
//-------------------------------------------------------------------------
- //-- Settings
+ /// Settings
Loader {
id: settingsWindow
anchors.fill: parent
@@ -357,7 +363,7 @@ ApplicationWindow {
}
//-------------------------------------------------------------------------
- //-- Setup
+ /// Setup
Loader {
id: setupWindow
anchors.fill: parent
@@ -366,7 +372,7 @@ ApplicationWindow {
}
//-------------------------------------------------------------------------
- //-- Analyze
+ /// Analyze
Loader {
id: analyzeWindow
anchors.fill: parent
@@ -375,7 +381,7 @@ ApplicationWindow {
}
//-------------------------------------------------------------------------
- //-- Loader helper for any child, no matter how deep, to display elements
+ // @brief Loader helper for any child, no matter how deep, to display elements
// on top of the main window.
// This is DEPRECATED. Use Popup instead.
Loader {