Commit f6c49f99 authored by Gus Grubba's avatar Gus Grubba

More code documentation

parent 347a8552
......@@ -191,7 +191,7 @@ IGNORE_PREFIX =
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_HEADER = ./header.html
HTML_FOOTER =
HTML_STYLESHEET =
HTML_EXTRA_STYLESHEET =
......
No preview for this file type
<!-- HTML header for doxygen 1.8.16-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen $doxygenversion"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="$relpath^jquery.js"></script>
<script type="text/javascript" src="$relpath^dynsections.js"></script>
$treeview
$search
$mathjax
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
$extrastylesheet
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!--BEGIN TITLEAREA-->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<!--BEGIN PROJECT_LOGO-->
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo" style="width:64px;height:64px;"/></td>
<!--END PROJECT_LOGO-->
<!--BEGIN PROJECT_NAME-->
<td id="projectalign" style="padding-left: 0.5em;">
<div style="font: 200% Tahoma, Arial,sans-serif; margin: 0px; padding: 2px 0px;">$projectname
<!--BEGIN PROJECT_NUMBER-->&#160;<span id="projectnumber">$projectnumber</span><!--END PROJECT_NUMBER-->
</div>
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
</td>
<!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME-->
<!--BEGIN PROJECT_BRIEF-->
<td style="padding-left: 0.5em;">
<div id="projectbrief">$projectbrief</div>
</td>
<!--END PROJECT_BRIEF-->
<!--END !PROJECT_NAME-->
<!--BEGIN DISABLE_INDEX-->
<!--BEGIN SEARCHENGINE-->
<td>$searchbox</td>
<!--END SEARCHENGINE-->
<!--END DISABLE_INDEX-->
</tr>
</tbody>
</table>
</div>
<!--END TITLEAREA-->
<!-- end header part -->
......@@ -12,5 +12,5 @@ LinkInterface::bytesReceived signal and when data needs to be sent back to a veh
LinkInterface::writeBytesSafe method.
<div align="center">
<img src="../links.svg">
<img src="../links.svg" style="width:80%; height=auto;">
</div>
\ No newline at end of file
This diff is collapsed.
......@@ -10,5 +10,5 @@ signal for the first time, it creates a vehicle instance, recording the vehicle
The Vehicle class holds all the functionality to handle vehicles. It receives all messages sent from the vehicle and manage all messages and commands to that vehicle.
<div align="center">
<img src="../vehicleMgmt.svg">
</div>
\ No newline at end of file
<img src="../vehicleMgmt.svg" style="width:80%; height=auto;">
</div>
......@@ -7,6 +7,10 @@
*
****************************************************************************/
/// @file
/// @brief MAVLink message inspector and charting controller
/// @author Gus Grubba <gus@auterion.com>
#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
......
......@@ -5,6 +5,10 @@
*
*/
/// @file
/// @brief MAVLink Camera API
/// @author Gus Grubba <gus@auterion.com>
#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
......
......@@ -5,6 +5,10 @@
*
*/
/// @file
/// @brief MAVLink Camera API. Camera parameter handler.
/// @author Gus Grubba <gus@auterion.com>
#pragma once
#include "QGCApplication.h"
......@@ -34,6 +38,7 @@ typedef struct {
}) param_ext_union_t;
//-----------------------------------------------------------------------------
/// Camera parameter handler.
class QGCCameraParamIO : public QObject
{
public:
......
......@@ -5,6 +5,10 @@
*
*/
/// @file
/// @brief MAVLink Camera API. Camera Manager.
/// @author Gus Grubba <gus@auterion.com>
#pragma once
#include "QGCApplication.h"
......@@ -20,6 +24,7 @@ Q_DECLARE_LOGGING_CATEGORY(CameraManagerLog)
class Joystick;
//-----------------------------------------------------------------------------
/// Camera Manager
class QGCCameraManager : public QObject
{
Q_OBJECT
......
......@@ -7,9 +7,10 @@
*
****************************************************************************/
/// @file
/// @brief Joystick Controller
#ifndef Joystick_H
#define Joystick_H
#pragma once
#include <QObject>
#include <QThread>
......@@ -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
......@@ -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
#ifndef JOYSTICKSDL_H
#define JOYSTICKSDL_H
/****************************************************************************
*
* (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* 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 <SDL.h>
/// @brief SDL Joystick Interface
class JoystickSDL : public Joystick
{
public:
......@@ -39,5 +51,3 @@ private:
int _index; ///< Index for SDL_JoystickOpen
};
#endif // JOYSTICKSDL_H
......@@ -6,12 +6,17 @@
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
/// @file
/// @brief Application Settings
#pragma once
#include <QTranslator>
#include "SettingsGroup.h"
#include "QGCMAVLink.h"
/// Application Settings
class AppSettings : public SettingsGroup
{
Q_OBJECT
......
......@@ -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
......
......@@ -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
......
......@@ -18,8 +18,8 @@
#include <QVariantList>
/// @file
/// @brief Core Plugin Interface for QGroundControl
/// @author Gus Grubba <gus@auterion.com>
/// @brief Core Plugin Interface for QGroundControl
/// @author Gus Grubba <gus@auterion.com>
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; }
......
......@@ -15,8 +15,8 @@
#include <QColor>
/// @file
/// @brief Core Plugin Interface for QGroundControl - Application Options
/// @author Gus Grubba <gus@auterion.com>
/// @brief Core Plugin Interface for QGroundControl - Application Options
/// @author Gus Grubba <gus@auterion.com>
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;
......
......@@ -13,8 +13,8 @@
#include <QUrl>
/// @file
/// @brief Core Plugin Interface for QGroundControl. Settings element.
/// @author Gus Grubba <gus@auterion.com>
/// @brief Core Plugin Interface for QGroundControl. Settings element.
/// @author Gus Grubba <gus@auterion.com>
class QGCSettings : public QObject
{
......
......@@ -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 {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment