QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
RemoteIDSettings.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtQmlIntegration/QtQmlIntegration>
4
5#include "SettingsGroup.h"
6
8{
9 Q_OBJECT
10 QML_ELEMENT
11 QML_UNCREATABLE("")
12
13public:
14 enum class RegionOperation {
15 FAA,
16 EU
17 };
18 Q_ENUM(RegionOperation)
19
20 enum class LocationType {
21 TAKEOFF,
22 LIVE,
23 FIXED
24 };
25 Q_ENUM(LocationType)
26
27 enum class ClassificationType {
29 EU
30 };
31 Q_ENUM(ClassificationType)
32
33 RemoteIDSettings(QObject* parent = nullptr);
35
39 bool operatorIDValidForRegion() const { return _operatorIDValidForRegion; }
40
42 Q_PROPERTY(bool basicIDValid READ basicIDValid NOTIFY basicIDValidChanged)
43 bool basicIDValid() const { return _basicIDValid; }
44
51
52 DEFINE_SETTINGFACT(operatorIDEU)
53 DEFINE_SETTINGFACT(operatorIDFAA)
54 DEFINE_SETTINGFACT(operatorIDType)
55 DEFINE_SETTINGFACT(sendOperatorID)
56 DEFINE_SETTINGFACT(selfIDFree)
57 DEFINE_SETTINGFACT(selfIDEmergency)
58 DEFINE_SETTINGFACT(selfIDExtended)
59 DEFINE_SETTINGFACT(selfIDType)
60 DEFINE_SETTINGFACT(sendSelfID)
61 DEFINE_SETTINGFACT(basicID)
62 DEFINE_SETTINGFACT(basicIDType)
63 DEFINE_SETTINGFACT(basicIDUaType)
64 DEFINE_SETTINGFACT(sendBasicID)
65 DEFINE_SETTINGFACT(region)
66 DEFINE_SETTINGFACT(locationType)
67 DEFINE_SETTINGFACT(latitudeFixed)
68 DEFINE_SETTINGFACT(longitudeFixed)
69 DEFINE_SETTINGFACT(altitudeFixed)
70 DEFINE_SETTINGFACT(classificationType)
71 DEFINE_SETTINGFACT(categoryEU)
72 DEFINE_SETTINGFACT(classEU)
73
74signals:
77
78private:
79 void _operatorIDEUChanged();
80 void _regionChanged();
81 void _updateOperatorIDValidForRegion();
82 void _updateBasicIDValidity();
83
86 static QString _euOperatorIDCookedValidator(const QVariant& cookedValue);
87
89 static bool _isEUOperatorIDValid(const QString& operatorID);
90 static QChar _calculateLuhnMod36(const QString& input);
91
92 bool _operatorIDValidForRegion = false;
93 bool _basicIDValid = false;
94 bool _updatingOperatorID = false;
95};
#define DEFINE_SETTING_NAME_GROUP()
#define DEFINE_SETTINGFACT(NAME)
void basicIDValidChanged()
void operatorIDValidForRegionChanged()
bool operatorIDValidForRegion() const
bool basicIDValid() const
true: the basic ID entered in settings is complete enough to broadcast
Provides access to group of settings.