3#include <QtCore/QObject>
4#include <QtQmlIntegration/QtQmlIntegration>
19 Q_MOC_INCLUDE(
"QmlObjectListModel.h")
21#ifdef QGC_UNITTEST_BUILD
22 friend class APMAirframeComponentControllerTest;
32 void _githubJsonDownloadComplete(
bool success,
const QString &localFile,
const QString &errorMsg);
33 void _paramFileDownloadComplete(
bool success,
const QString &localFile,
const QString &errorMsg);
36 void _fillFrameClasses();
37 void _loadParametersFromDownloadFile(
const QString &downloadedParamFile);
39 Fact *_frameClassFact =
nullptr;
40 Fact *_frameTypeFact =
nullptr;
49 Q_PROPERTY(QString name MEMBER
_name CONSTANT)
50 Q_PROPERTY(
int frameClass MEMBER
_frameClass CONSTANT)
60 explicit APMFrameClass(
const QString &name,
bool copter,
int frameClass,
Fact *frameTypeFact, QObject *parent =
nullptr);
83 static QString _findImageResourceCopter(
int frameClass,
int &
frameType);
84 static QString _findImageResourceRover(
int frameClass,
int frameType);
86 const Fact *_frameTypeFact =
nullptr;
89 #define FRAME_CLASS_UNDEFINED 0
90 #define FRAME_CLASS_QUAD 1
91 #define FRAME_CLASS_HEX 2
92 #define FRAME_CLASS_OCTA 3
93 #define FRAME_CLASS_OCTAQUAD 4
94 #define FRAME_CLASS_Y6 5
95 #define FRAME_CLASS_HELI 6
96 #define FRAME_CLASS_TRI 7
97 #define FRAME_CLASS_SINGLECOPTER 8
98 #define FRAME_CLASS_COAXCOPTER 9
99 #define FRAME_CLASS_BICOPTER 10
100 #define FRAME_CLASS_HELI_DUAL 11
101 #define FRAME_CLASS_DODECAHEXA 12
102 #define FRAME_CLASS_HELIQUAD 13
105 #define FRAME_TYPE_PLUS 0
106 #define FRAME_TYPE_X 1
107 #define FRAME_TYPE_V 2
108 #define FRAME_TYPE_H 3
109 #define FRAME_TYPE_V_TAIL 4
110 #define FRAME_TYPE_A_TAIL 5
111 #define FRAME_TYPE_Y6B 10
112 #define FRAME_TYPE_Y6F 11
113 #define FRAME_TYPE_BETAFLIGHTX 12
114 #define FRAME_TYPE_DJIX 13
115 #define FRAME_TYPE_CLOCKWISEX 14
118 #define FRAME_CLASS_ROVER 1
119 #define FRAME_CLASS_BOAT 2
120 #define FRAME_CLASS_BALANCEBOT 3
123 #define FRAME_TYPE_UNDEFINED 0
124 #define FRAME_TYPE_OMNI3 1
125 #define FRAME_TYPE_OMNIX 2
126 #define FRAME_TYPE_OMNIPLUS 3
128 struct FrameToImageInfo {
129 const int frameClass;
131 const char *imageResource;
133 static constexpr const FrameToImageInfo _rgFrameToImageCopter[] = {
#define FRAME_CLASS_DODECAHEXA
#define FRAME_TYPE_A_TAIL
#define FRAME_TYPE_V_TAIL
#define FRAME_CLASS_OCTAQUAD
MVC Controller for APMAirframeComponent.qml.
Q_INVOKABLE void loadParameters(const QString ¶mFile)
~APMAirframeComponentController()
QString imageResource() const
void imageResourceChanged()
QString _imageResourceDefault
QVariantList _frameTypeEnumValues
QStringList _frameTypeEnumStrings
Used for handling missing Facts from C++ code.
A Fact is used to hold a single value within the system.