libdrmconf 0.12.1
A library to program DMR radios.
Loading...
Searching...
No Matches
anytone_extension.hh
1#ifndef ANYTONEEXTENSION_HH
2#define ANYTONEEXTENSION_HH
3
4#include "configobject.hh"
5#include "configreference.hh"
6#include "melody.hh"
7#include "frequency.hh"
8#include "interval.hh"
9#include "signaling.hh"
10
11#include <QTimeZone>
12
16{
17 Q_OBJECT
18
19 Q_CLASSINFO("IdPrefix", "af")
20
21 Q_CLASSINFO("frequencyDecription",
22 "Transmit-frequency.")
23
24
25 Q_PROPERTY(Frequency frequency READ frequency WRITE setFrequency)
26
27public:
29 Q_INVOKABLE explicit AnytoneAPRSFrequency(QObject *parent=nullptr);
30
31 ConfigItem *clone() const;
32
34 Frequency frequency() const;
36 void setFrequency(Frequency freq);
37
38protected:
41};
42
43
47{
48 Q_OBJECT
49
50public:
52 explicit AnytoneAPRSFrequencyRef(QObject *parent=nullptr);
53};
54
55
59{
60 Q_OBJECT
61
62public:
64 explicit AnytoneAPRSFrequencyList(QObject *parent=nullptr);
65
66 ConfigItem *allocateChild(const YAML::Node &node, ConfigItem::Context &ctx, const ErrorStack &err);
67};
68
69
74{
75 Q_OBJECT
76
78 Q_PROPERTY(bool talkaround READ talkaround WRITE enableTalkaround)
82 Q_PROPERTY(bool handsFree READ handsFree WRITE enableHandsFree)
87 Q_PROPERTY(APRSPTT aprsPTT READ aprsPTT WRITE setAPRSPTT)
88
89public:
91 enum class APRSPTT{
92 Off, Start, End
93 };
94 Q_ENUM(APRSPTT)
95
96protected:
98 explicit AnytoneChannelExtension(QObject *parent=nullptr);
99
100public:
102 bool talkaround() const;
104 void enableTalkaround(bool enable);
105
107 int frequencyCorrection() const;
109 void setFrequencyCorrection(int corr);
110
112 bool handsFree() const;
114 void enableHandsFree(bool enable);
115
118
121 APRSPTT aprsPTT() const;
122 void setAPRSPTT(APRSPTT mode);
123
124protected:
135};
136
137
141{
142 Q_OBJECT
143
145 Q_PROPERTY(bool reverseBurst READ reverseBurst WRITE enableReverseBurst)
151 Q_PROPERTY(double customCTCSS READ customCTCSS WRITE setCustomCTCSS)
155 Q_PROPERTY(bool scrambler READ scrambler WRITE enableScrambler)
156
157public:
159 enum class SquelchMode {
160 Carrier = 0,
161 SubTone = 1,
162 OptSig = 2,
163 SubToneAndOptSig = 3,
164 SubToneOrOptSig = 4
165 };
166 Q_ENUM(SquelchMode)
167
168public:
170 Q_INVOKABLE explicit AnytoneFMChannelExtension(QObject *parent=nullptr);
171
172 ConfigItem *clone() const;
173
175 bool reverseBurst() const;
177 void enableReverseBurst(bool enable);
178
180 bool rxCustomCTCSS() const;
182 void enableRXCustomCTCSS(bool enable);
184 bool txCustomCTCSS() const;
186 void enableTXCustomCTCSS(bool enable);
188 double customCTCSS() const;
190 void setCustomCTCSS(double freq);
191
193 SquelchMode squelchMode() const;
195 void setSquelchMode(SquelchMode mode);
196
198 bool scrambler() const;
200 void enableScrambler(bool enable);
201
202protected:
215};
216
217
221{
222 Q_OBJECT
223
225 Q_PROPERTY(bool callConfirm READ callConfirm WRITE enableCallConfirm)
227 Q_PROPERTY(bool sms READ sms WRITE enableSMS)
229 Q_PROPERTY(bool smsConfirm READ smsConfirm WRITE enableSMSConfirm)
231 Q_PROPERTY(bool dataACK READ dataACK WRITE enableDataACK)
233 Q_PROPERTY(bool simplexTDMA READ simplexTDMA WRITE enableSimplexTDMA)
237 Q_PROPERTY(bool adaptiveTDMA READ adaptiveTDMA WRITE enableAdaptiveTDMA)
239 Q_PROPERTY(bool loneWorker READ loneWorker WRITE enableLoneWorker)
241 Q_PROPERTY(bool throughMode READ throughMode WRITE enableThroughMode)
242
243public:
245 Q_INVOKABLE explicit AnytoneDMRChannelExtension(QObject *parent=nullptr);
246
247 ConfigItem *clone() const;
248
250 bool callConfirm() const;
252 void enableCallConfirm(bool enabled);
254 bool sms() const;
256 void enableSMS(bool enable);
258 bool smsConfirm() const;
260 void enableSMSConfirm(bool enabled);
262 bool dataACK() const;
264 void enableDataACK(bool enable);
266 bool simplexTDMA() const;
268 void enableSimplexTDMA(bool enable);
270 bool adaptiveTDMA() const;
272 void enableAdaptiveTDMA(bool enable);
274 bool loneWorker() const;
276 void enableLoneWorker(bool enable);
278 bool throughMode() const;
280 void enableThroughMode(bool enable);
281
282protected:
286 bool _sms;
299};
300
301
305{
306 Q_OBJECT
307
309 Q_PROPERTY(bool hidden READ hidden WRITE enableHidden)
310
311public:
313 Q_INVOKABLE explicit AnytoneZoneExtension(QObject *parent=nullptr);
314
315 ConfigItem *clone() const;
316
318 bool hidden() const;
320 void enableHidden(bool enable);
321
322protected:
325};
326
327
331{
332 Q_OBJECT
333
335 Q_PROPERTY(AlertType alertType READ alertType WRITE setAlertType)
336
337public:
339 enum class AlertType {
340 None = 0,
341 Ring = 1,
342 Online = 2
343 };
344 Q_ENUM(AlertType)
345
346public:
348 Q_INVOKABLE explicit AnytoneContactExtension(QObject *parent=nullptr);
349
350 ConfigItem *clone() const;
351
353 AlertType alertType() const;
355 void setAlertType(AlertType type);
356
357protected:
360};
361
362
368{
369 Q_OBJECT
370
372 Q_PROPERTY(BootDisplay bootDisplay READ bootDisplay WRITE setBootDisplay)
374 Q_PROPERTY(bool bootPasswordEnabled READ bootPasswordEnabled WRITE enableBootPassword)
376 Q_PROPERTY(QString bootPassword READ bootPassword WRITE setBootPassword)
377
379 Q_PROPERTY(bool defaultChannel READ defaultChannelEnabled WRITE enableDefaultChannel)
381 Q_PROPERTY(ZoneReference* zoneA READ zoneA)
383 Q_PROPERTY(ChannelReference* channelA READ channelA)
385 Q_PROPERTY(ZoneReference* zoneB READ zoneB)
387 Q_PROPERTY(ChannelReference* channelB READ channelB)
389 Q_PROPERTY(ZoneReference* priorityZoneA READ priorityZoneA)
391 Q_PROPERTY(ZoneReference* priorityZoneB READ priorityZoneB)
392
394 Q_PROPERTY(bool gpsCheck READ gpsCheckEnabled WRITE enableGPSCheck)
396 Q_PROPERTY(bool reset READ resetEnabled WRITE enableReset)
397
398public:
400 enum class BootDisplay {
401 Default = 0, CustomText = 1, CustomImage = 2
402 };
403 Q_ENUM(BootDisplay)
404
405public:
407 explicit AnytoneBootSettingsExtension(QObject *parent=nullptr);
408
409 ConfigItem *clone() const;
410
412 BootDisplay bootDisplay() const;
414 void setBootDisplay(BootDisplay mode);
416 bool bootPasswordEnabled() const;
418 void enableBootPassword(bool enable);
420 const QString &bootPassword() const;
422 void setBootPassword(const QString &pass);
423
425 bool defaultChannelEnabled() const;
427 void enableDefaultChannel(bool enable);
429 ZoneReference *zoneA() const;
431 ChannelReference *channelA() const;
433 ZoneReference *zoneB() const;
435 ChannelReference *channelB() const;
437 ZoneReference *priorityZoneA() const;
439 ZoneReference *priorityZoneB() const;
440
442 bool gpsCheckEnabled() const;
444 void enableGPSCheck(bool enable);
445
447 bool resetEnabled() const;
449 void enableReset(bool enable);
450
451protected:
463 bool _reset;
464};
465
466
472{
473 Q_OBJECT
474
475 Q_CLASSINFO("autoShutDownDelayDescription", "The auto shut-down delay in minutes.")
477 Q_PROPERTY(Interval autoShutdown READ autoShutdown WRITE setAutoShutdown)
478
480 Q_PROPERTY(bool resetAutoShutdownOnCall READ resetAutoShutdownOnCall WRITE enableResetAutoShutdownOnCall)
481
482 Q_CLASSINFO("powerSaveDescription", "Specifies the power save mode. "
483 "D686UV, D878UV(2) and DMR-6X2UV only.")
485 Q_PROPERTY(PowerSave powerSave READ powerSave WRITE setPowerSave)
486
488 Q_PROPERTY(bool atpc READ atpc WRITE enableATPC)
489
490public:
492 enum class PowerSave {
493 Off = 0, Save50 = 1, Save66 = 2
494 };
495 Q_ENUM(PowerSave)
496
497public:
499 explicit AnytonePowerSaveSettingsExtension(QObject *parent=nullptr);
500
501 ConfigItem *clone() const;
502
504 Interval autoShutdown() const;
506 void setAutoShutdown(Interval min);
507
509 bool resetAutoShutdownOnCall() const;
511 void enableResetAutoShutdownOnCall(bool enable);
512
514 PowerSave powerSave() const;
516 void setPowerSave(PowerSave mode);
517
519 bool atpc() const;
521 void enableATPC(bool enable);
522
523protected:
526 PowerSave _powerSave;
527 bool _atpc;
528};
529
530
536{
537 Q_OBJECT
538
540 Q_PROPERTY(KeyFunction funcKey1Short READ funcKey1Short WRITE setFuncKey1Short)
542 Q_PROPERTY(KeyFunction funcKey1Long READ funcKey1Long WRITE setFuncKey1Long)
544 Q_PROPERTY(KeyFunction funcKey2Short READ funcKey2Short WRITE setFuncKey2Short)
546 Q_PROPERTY(KeyFunction funcKey2Long READ funcKey2Long WRITE setFuncKey2Long)
548 Q_PROPERTY(KeyFunction funcKey3Short READ funcKey3Short WRITE setFuncKey3Short)
550 Q_PROPERTY(KeyFunction funcKey3Long READ funcKey3Long WRITE setFuncKey3Long)
552 Q_PROPERTY(KeyFunction funcKey4Short READ funcKey4Short WRITE setFuncKey4Short)
554 Q_PROPERTY(KeyFunction funcKey4Long READ funcKey4Long WRITE setFuncKey4Long)
556 Q_PROPERTY(KeyFunction funcKey5Short READ funcKey5Short WRITE setFuncKey5Short)
558 Q_PROPERTY(KeyFunction funcKey5Long READ funcKey5Long WRITE setFuncKey5Long)
560 Q_PROPERTY(KeyFunction funcKey6Short READ funcKey6Short WRITE setFuncKey6Short)
562 Q_PROPERTY(KeyFunction funcKey6Long READ funcKey6Long WRITE setFuncKey6Long)
564 Q_PROPERTY(KeyFunction funcKeyAShort READ funcKeyAShort WRITE setFuncKeyAShort)
566 Q_PROPERTY(KeyFunction funcKeyALong READ funcKeyALong WRITE setFuncKeyALong)
568 Q_PROPERTY(KeyFunction funcKeyBShort READ funcKeyBShort WRITE setFuncKeyBShort)
570 Q_PROPERTY(KeyFunction funcKeyBLong READ funcKeyBLong WRITE setFuncKeyBLong)
572 Q_PROPERTY(KeyFunction funcKeyCShort READ funcKeyCShort WRITE setFuncKeyCShort)
574 Q_PROPERTY(KeyFunction funcKeyCLong READ funcKeyCLong WRITE setFuncKeyCLong)
576 Q_PROPERTY(KeyFunction funcKeyDShort READ funcKeyDShort WRITE setFuncKeyDShort)
578 Q_PROPERTY(KeyFunction funcKeyDLong READ funcKeyDLong WRITE setFuncKeyDLong)
580 Q_PROPERTY(Interval longPressDuration READ longPressDuration WRITE setLongPressDuration)
581
583 Q_PROPERTY(bool autoKeyLock READ autoKeyLockEnabled WRITE enableAutoKeyLock)
584
585 Q_CLASSINFO("knobLockDescription", "If enabled, the knob gets locked too.")
587 Q_PROPERTY(bool knobLock READ knobLockEnabled WRITE enableKnobLock)
588
589 Q_CLASSINFO("keypadLockDescription", "If enabled, the key-pad gets locked.")
591 Q_PROPERTY(bool keypadLock READ keypadLockEnabled WRITE enableKeypadLock)
592
593 Q_CLASSINFO("sideKeysLockDescription", "If enabled, the side-keys get locked.")
595 Q_PROPERTY(bool sideKeysLock READ sideKeysLockEnabled WRITE enableSideKeysLock)
596
597 Q_CLASSINFO("forcedKeyLockDescription", "If enabled, the key-lock is forced.")
599 Q_PROPERTY(bool forcedKeyLock READ forcedKeyLockEnabled WRITE enableForcedKeyLock)
600
601public:
603 enum class KeyFunction {
604 Off, Voltage, Power, Repeater, Reverse, Encryption, Call, VOX, ToggleVFO, SubPTT,
605 Scan, WFM, Alarm, RecordSwitch, Record, SMS, Dial, GPSInformation, Monitor, ToggleMainChannel,
606 HotKey1, HotKey2, HotKey3, HotKey4, HotKey5, HotKey6, WorkAlone, SkipChannel, DMRMonitor,
607 SubChannel, PriorityZone, VFOScan, MICSoundQuality, LastCallReply, ChannelType, Ranging,
608 Roaming, ChannelRanging, MaxVolume, Slot, APRSTypeSwitch, Zone, ZoneUp, ZoneDown, RoamingSet,
609 APRSSet, Mute, MuteA, MuteB, CtcssDcsSet, TBSTSend, Bluetooth, GPS, ChannelName, CDTScan,
610 APRSSend, APRSInfo, Speaker, XBandRepeater, SimplexRepeater, GPSRoaming, Squelch, NoiseReductionTX
611 };
612 Q_ENUM(KeyFunction)
613
614public:
616 explicit AnytoneKeySettingsExtension(QObject *parent=nullptr);
617
618 ConfigItem *clone() const;
619
621 KeyFunction funcKey1Short() const;
623 void setFuncKey1Short(KeyFunction func);
625 KeyFunction funcKey1Long() const;
627 void setFuncKey1Long(KeyFunction func);
628
630 KeyFunction funcKey2Short() const;
632 void setFuncKey2Short(KeyFunction func);
634 KeyFunction funcKey2Long() const;
636 void setFuncKey2Long(KeyFunction func);
637
639 KeyFunction funcKey3Short() const;
641 void setFuncKey3Short(KeyFunction func);
643 KeyFunction funcKey3Long() const;
645 void setFuncKey3Long(KeyFunction func);
646
648 KeyFunction funcKey4Short() const;
650 void setFuncKey4Short(KeyFunction func);
652 KeyFunction funcKey4Long() const;
654 void setFuncKey4Long(KeyFunction func);
655
657 KeyFunction funcKey5Short() const;
659 void setFuncKey5Short(KeyFunction func);
661 KeyFunction funcKey5Long() const;
663 void setFuncKey5Long(KeyFunction func);
664
666 KeyFunction funcKey6Short() const;
668 void setFuncKey6Short(KeyFunction func);
670 KeyFunction funcKey6Long() const;
672 void setFuncKey6Long(KeyFunction func);
673
675 KeyFunction funcKeyAShort() const;
677 void setFuncKeyAShort(KeyFunction func);
679 KeyFunction funcKeyALong() const;
681 void setFuncKeyALong(KeyFunction func);
682
684 KeyFunction funcKeyBShort() const;
686 void setFuncKeyBShort(KeyFunction func);
688 KeyFunction funcKeyBLong() const;
690 void setFuncKeyBLong(KeyFunction func);
691
693 KeyFunction funcKeyCShort() const;
695 void setFuncKeyCShort(KeyFunction func);
697 KeyFunction funcKeyCLong() const;
699 void setFuncKeyCLong(KeyFunction func);
700
702 KeyFunction funcKeyDShort() const;
704 void setFuncKeyDShort(KeyFunction func);
706 KeyFunction funcKeyDLong() const;
708 void setFuncKeyDLong(KeyFunction func);
709
711 Interval longPressDuration() const;
713 void setLongPressDuration(Interval ms);
714
716 bool autoKeyLockEnabled() const;
718 void enableAutoKeyLock(bool enabled);
719
721 bool knobLockEnabled() const;
723 void enableKnobLock(bool enable);
725 bool keypadLockEnabled() const;
727 void enableKeypadLock(bool enable);
729 bool sideKeysLockEnabled() const;
731 void enableSideKeysLock(bool enable);
733 bool forcedKeyLockEnabled() const;
735 void enableForcedKeyLock(bool enable);
736
737protected:
764};
765
766
772{
773 Q_OBJECT
774 Q_CLASSINFO("description", "Tone settings for AnyTone devices.")
775
776 Q_CLASSINFO("keyToneDescription", "If true, enables the key tones.")
778 Q_PROPERTY(bool keyTone READ keyToneEnabled WRITE enableKeyTone)
779
780 Q_CLASSINFO("keyToneLevelDescription", "Specifies the key-tone level, 0=user adjustable.")
782 Q_PROPERTY(unsigned int keyToneLevel READ keyToneLevel WRITE setKeyToneLevel)
783
784 Q_CLASSINFO("smsAlertDescription", "Enables/disables the SMS alert tone.")
786 Q_PROPERTY(bool smsAlert READ smsAlertEnabled WRITE enableSMSAlert)
787
788 Q_CLASSINFO("callAlertDescription", "Enables/disables the call alert tone.")
790 Q_PROPERTY(bool callAlert READ callAlertEnabled WRITE enableCallAlert)
791
792 Q_CLASSINFO("dmrTalkPermitDescription", "Enables/disables the talk-permit tone for DMR channels.")
794 Q_PROPERTY(bool dmrTalkPermit READ talkPermitDigitalEnabled WRITE enableTalkPermitDigital)
795
796 Q_CLASSINFO("dmrResetDescription", "Enables/disables the reset tone for DMR channels.")
798 Q_PROPERTY(bool dmrReset READ digitalResetToneEnabled WRITE enableDigitalResetTone)
799
800 Q_CLASSINFO("fmTalkPermitDescription", "Enables/disables the talk-permit tone for FM channels.")
802 Q_PROPERTY(bool fmTalkPermit READ talkPermitAnalogEnabled WRITE enableTalkPermitAnalog)
803
805 Q_PROPERTY(bool dmrIdle READ dmrIdleChannelToneEnabled WRITE enableDMRIdleChannelTone)
807 Q_PROPERTY(bool fmIdle READ fmIdleChannelToneEnabled WRITE enableFMIdleChannelTone)
809 Q_PROPERTY(bool startup READ startupToneEnabled WRITE enableStartupTone)
811 Q_PROPERTY(bool tot READ totNotification WRITE enableTOTNotification)
812
814 Q_PROPERTY(Melody * callMelody READ callMelody)
816 Q_PROPERTY(Melody * idleMelody READ idleMelody)
818 Q_PROPERTY(Melody * resetMelody READ resetMelody)
820 Q_PROPERTY(Melody * callEndMelody READ callEndMelody)
821
822public:
824 explicit AnytoneToneSettingsExtension(QObject *parent=nullptr);
825
826 ConfigItem *clone() const;
827
829 bool keyToneEnabled() const;
831 void enableKeyTone(bool enable);
832
834 bool smsAlertEnabled() const;
836 void enableSMSAlert(bool enable);
838 bool callAlertEnabled() const;
840 void enableCallAlert(bool enable);
841
843 bool talkPermitDigitalEnabled() const;
845 void enableTalkPermitDigital(bool enable);
847 bool talkPermitAnalogEnabled() const;
849 void enableTalkPermitAnalog(bool enable);
851 bool digitalResetToneEnabled() const;
853 void enableDigitalResetTone(bool enable);
855 bool dmrIdleChannelToneEnabled() const;
857 void enableDMRIdleChannelTone(bool enable);
859 bool fmIdleChannelToneEnabled() const;
861 void enableFMIdleChannelTone(bool enable);
863 bool startupToneEnabled() const;
865 void enableStartupTone(bool enable);
867 bool totNotification() const;
869 void enableTOTNotification(bool enable);
870
872 Melody *callMelody() const;
874 Melody *idleMelody() const;
876 Melody *resetMelody() const;
878 Melody *callEndMelody() const;
879
881 unsigned int keyToneLevel() const;
883 void setKeyToneLevel(unsigned int level);
884
885protected:
886 bool _keyTone;
887 bool _smsAlert;
888 bool _callAlert;
889 bool _talkPermitDigital;
890 bool _talkPermitAnalog;
891 bool _resetToneDigital;
892 bool _dmrIdleChannelTone;
893 bool _fmIdleChannelTone;
894 bool _startupTone;
895 bool _totNotification;
896 Melody *_callMelody;
897 Melody *_idleMelody;
898 Melody *_resetMelody;
899 Melody *_callEndMelody;
900 unsigned int _keyToneLevel;
901
902};
903
904
910{
911 Q_OBJECT
912
914 Q_PROPERTY(bool displayFrequency READ displayFrequencyEnabled WRITE enableDisplayFrequency)
916 Q_PROPERTY(unsigned int brightness READ brightness WRITE setBrightness)
917
919 Q_PROPERTY(Interval backlightDuration READ backlightDuration WRITE setBacklightDuration)
920
921 Q_CLASSINFO("backlightDurationTX", "The duration in seconds, the backlight is lit during TX. "
922 "A value of 0 means off.")
924 Q_PROPERTY(Interval backlightDurationTX READ backlightDurationTX WRITE setBacklightDurationTX)
925
926 Q_CLASSINFO("backlightDurationRX", "The duration in seconds, the backlight is lit during RX. "
927 "A value of 0 means off.")
929 Q_PROPERTY(Interval backlightDurationRX READ backlightDurationRX WRITE setBacklightDurationRX)
930
932 Q_PROPERTY(bool customChannelBackground READ customChannelBackground WRITE enableCustomChannelBackground)
933
935 Q_PROPERTY(bool volumeChangePrompt READ volumeChangePromptEnabled WRITE enableVolumeChangePrompt)
937 Q_PROPERTY(bool callEndPrompt READ callEndPromptEnabled WRITE enableCallEndPrompt)
938
940 Q_PROPERTY(bool showClock READ showClockEnabled WRITE enableShowClock)
942 Q_PROPERTY(bool showCall READ showCallEnabled WRITE enableShowCall)
944 Q_PROPERTY(bool showContact READ showContact WRITE enableShowContact)
946 Q_PROPERTY(bool showChannelNumber READ showChannelNumberEnabled WRITE enableShowChannelNumber)
948 Q_PROPERTY(bool showColorCode READ showColorCode WRITE enableShowColorCode)
950 Q_PROPERTY(bool showTimeSlot READ showTimeSlot WRITE enableShowTimeSlot)
952 Q_PROPERTY(bool showChannelType READ showChannelType WRITE enableShowChannelType)
954 Q_PROPERTY(bool showLastHeard READ showLastHeardEnabled WRITE enableShowLastHeard)
956 Q_PROPERTY(LastCallerDisplayMode lastCallerDisplay READ lastCallerDisplay WRITE setLastCallerDisplay)
957
959 Q_PROPERTY(Color callColor READ callColor WRITE setCallColor)
961 Q_PROPERTY(Color standbyTextColor READ standbyTextColor WRITE setStandbyTextColor)
963 Q_PROPERTY(Color standbyBackgroundColor READ standbyBackgroundColor WRITE setStandbyBackgroundColor)
964
965 Q_CLASSINFO("channelNameColorDescription", "Specifies the color of the channel name.")
967 Q_PROPERTY(Color channelNameColor READ channelNameColor WRITE setChannelNameColor)
968 Q_CLASSINFO("channelBNameColorDescription", "Specifies the color of the channel name for VFO B.")
970 Q_PROPERTY(Color channelBNameColor READ channelBNameColor WRITE setChannelBNameColor)
971
972 Q_CLASSINFO("zoneNameColorDescription", "Specifies the color of the zone name.")
974 Q_PROPERTY(Color zoneNameColor READ zoneNameColor WRITE setZoneNameColor)
975 Q_CLASSINFO("zoneBNameColorDescription", "Specifies the color of the zone name for VFO B.")
977 Q_PROPERTY(Color zoneBNameColor READ zoneBNameColor WRITE setZoneBNameColor)
978
980 Q_PROPERTY(Language language READ language WRITE setLanguage)
982 Q_PROPERTY(DateFormat dateFormat READ dateFormat WRITE setDateFormat)
983
984public:
987 Off = 0, ID = 1, Call = 2, Both = 3
988 };
989 Q_ENUM(LastCallerDisplayMode)
990
991
992 enum class Color {
993 White = 0, Black = 1, Orange=2, Red=3, Yellow=4, Green=5, Turquoise=6, Blue=7
994 };
995 Q_ENUM(Color)
996
997
998 enum class Language {
999 English = 0,
1000 German = 1
1001 };
1002 Q_ENUM(Language)
1003
1004
1005 enum class DateFormat {
1006 YearFirst = 0,
1007 DayFirst = 1
1008 };
1009 Q_ENUM(DateFormat)
1010
1011public:
1013 explicit AnytoneDisplaySettingsExtension(QObject *parent=nullptr);
1014
1015 ConfigItem *clone() const;
1016
1018 bool displayFrequencyEnabled() const;
1020 void enableDisplayFrequency(bool enable);
1021
1023 unsigned int brightness() const;
1025 void setBrightness(unsigned int level);
1026
1028 Interval backlightDuration() const;
1030 void setBacklightDuration(Interval sec);
1031
1033 bool volumeChangePromptEnabled() const;
1035 void enableVolumeChangePrompt(bool enable);
1036
1038 bool callEndPromptEnabled() const;
1040 void enableCallEndPrompt(bool enable);
1041
1043 LastCallerDisplayMode lastCallerDisplay() const;
1045 void setLastCallerDisplay(LastCallerDisplayMode mode);
1046
1048 bool showClockEnabled() const;
1050 void enableShowClock(bool enable);
1051
1053 bool showCallEnabled() const;
1055 void enableShowCall(bool enable);
1056
1058 Color callColor() const;
1060 void setCallColor(Color color);
1061
1063 Language language() const;
1065 void setLanguage(Language lang);
1067 DateFormat dateFormat() const;
1069 void setDateFormat(DateFormat format);
1070
1072 bool showChannelNumberEnabled() const;
1074 void enableShowChannelNumber(bool enable);
1076 bool showColorCode() const;
1078 void enableShowColorCode(bool enable);
1080 bool showTimeSlot() const;
1082 void enableShowTimeSlot(bool enable);
1084 bool showChannelType() const;
1086 void enableShowChannelType(bool enable);
1087
1089 bool showContact() const;
1091 void enableShowContact(bool enable);
1092
1094 Color standbyTextColor() const;
1096 void setStandbyTextColor(Color color);
1098 Color standbyBackgroundColor() const;
1100 void setStandbyBackgroundColor(Color color);
1101
1103 bool showLastHeardEnabled() const;
1105 void enableShowLastHeard(bool enable);
1106
1108 Interval backlightDurationTX() const;
1110 void setBacklightDurationTX(Interval sec);
1111
1113 Color channelNameColor() const;
1115 void setChannelNameColor(Color color);
1117 Color channelBNameColor() const;
1119 void setChannelBNameColor(Color color);
1120
1122 Color zoneNameColor() const;
1124 void setZoneNameColor(Color color);
1126 Color zoneBNameColor() const;
1128 void setZoneBNameColor(Color color);
1129
1131 Interval backlightDurationRX() const;
1133 void setBacklightDurationRX(Interval sec);
1135 bool customChannelBackground() const;
1137 void enableCustomChannelBackground(bool enable);
1138
1139protected:
1141 unsigned int _brightness;
1166};
1167
1168
1174{
1175 Q_OBJECT
1176
1178 Q_PROPERTY(Interval voxDelay READ voxDelay WRITE setVOXDelay)
1180 Q_PROPERTY(VoxSource voxSource READ voxSource WRITE setVOXSource)
1181
1183 Q_PROPERTY(bool recording READ recordingEnabled WRITE enableRecording)
1184
1186 Q_PROPERTY(bool enhance READ enhanceAudioEnabled WRITE enableEnhanceAudio)
1187
1189 Q_PROPERTY(Interval muteDelay READ muteDelay WRITE setMuteDelay)
1190
1192 Q_PROPERTY(unsigned int maxVolume READ maxVolume WRITE setMaxVolume)
1194 Q_PROPERTY(unsigned int maxHeadPhoneVolume READ maxHeadPhoneVolume WRITE setMaxHeadPhoneVolume)
1195
1197 Q_PROPERTY(bool enableFMMicGain READ fmMicGainEnabled WRITE enableFMMicGain)
1199 Q_PROPERTY(unsigned int fmMicGain READ fmMicGain WRITE setFMMicGain)
1200
1201public:
1203 enum class VoxSource {
1204 Internal = 0, External = 1, Both = 2
1205 };
1206 Q_ENUM(VoxSource)
1207
1208public:
1210 explicit AnytoneAudioSettingsExtension(QObject *parent=nullptr);
1211
1212 ConfigItem *clone() const;
1213
1215 Interval voxDelay() const;
1217 void setVOXDelay(Interval ms);
1218
1220 VoxSource voxSource() const;
1222 void setVOXSource(VoxSource source);
1223
1225 bool recordingEnabled() const;
1227 void enableRecording(bool enable);
1228
1230 unsigned int maxVolume() const;
1232 void setMaxVolume(unsigned int vol);
1234 unsigned int maxHeadPhoneVolume() const;
1236 void setMaxHeadPhoneVolume(unsigned int vol);
1237
1239 bool enhanceAudioEnabled() const;
1241 void enableEnhanceAudio(bool enable);
1242
1244 Interval muteDelay() const;
1246 void setMuteDelay(Interval intv);
1247
1249 bool fmMicGainEnabled() const;
1251 void enableFMMicGain(bool enable);
1253 unsigned int fmMicGain() const;
1255 void setFMMicGain(unsigned int gain);
1256
1257protected:
1261 unsigned int _maxVolume;
1262 unsigned int _maxHeadPhoneVolume;
1266 unsigned int _analogMicGain;
1267};
1268
1269
1275{
1276 Q_OBJECT
1277
1278 Q_CLASSINFO("durationDescription", "The time in seconds, the menu is shown.")
1280 Q_PROPERTY(Interval duration READ duration WRITE setDuration)
1281
1282 Q_CLASSINFO("separatorDescription", "If enabled, the menu items are separated by a line.")
1284 Q_PROPERTY(bool separator READ separatorEnabled WRITE enableSeparator)
1285
1286public:
1288 explicit AnytoneMenuSettingsExtension(QObject *parent=nullptr);
1289
1290 ConfigItem *clone() const;
1291
1293 Interval duration() const;
1295 void setDuration(Interval sec);
1297 bool separatorEnabled() const;
1299 void enableSeparator(bool enable);
1300
1301protected:
1302 Interval _menuDuration;
1303 bool _showSeparator;
1304};
1305
1306
1311{
1312 Q_OBJECT
1313 Q_CLASSINFO("IdPrefix", "off")
1314
1315 Q_CLASSINFO("offsetDecription",
1316 "Transmit-frequency offset in Hz.")
1317 Q_CLASSINFO("offsetLongDecription",
1318 "The transmit-frequency offset is specified as a positive integer in Hz. The offset "
1319 "direction is specified for each VFO separately.")
1321 Q_PROPERTY(Frequency offset READ offset WRITE setOffset)
1322
1323public:
1325 explicit Q_INVOKABLE AnytoneAutoRepeaterOffset(QObject *parent=nullptr);
1326
1327 ConfigItem *clone() const;
1328
1330 Frequency offset() const;
1332 void setOffset(Frequency offset);
1333
1334protected:
1336 Frequency _offset;
1337};
1338
1339
1343{
1344 Q_OBJECT
1345
1346public:
1348 explicit AnytoneAutoRepeaterOffsetRef(QObject *parent=nullptr);
1349};
1350
1351
1355{
1356 Q_OBJECT
1357
1358public:
1360 explicit AnytoneAutoRepeaterOffsetList(QObject *parent=nullptr);
1361
1362 ConfigItem *allocateChild(const YAML::Node &node, ConfigItem::Context &ctx, const ErrorStack &err);
1363};
1364
1365
1371{
1372 Q_OBJECT
1373 Q_CLASSINFO("description", "Auto-repeater settings for AnyTone devices.")
1374
1375 Q_CLASSINFO("directionADescription", "Auto-repeater transmit-frequency offset direction for VFO A.")
1377 Q_PROPERTY(Direction directionA READ directionA WRITE setDirectionA)
1378
1379 Q_CLASSINFO("directionBDescription", "Auto-repeater transmit-frequency offset direction for VFO B.")
1381 Q_PROPERTY(Direction directionB READ directionB WRITE setDirectionB)
1382
1383 Q_CLASSINFO("vhfMin", "The minimum frequency in Hz of the VHF auto-repeater frequency range.")
1385 Q_PROPERTY(Frequency vhfMin READ vhfMin WRITE setVHFMin)
1386
1387 Q_CLASSINFO("vhfMax", "The maximum frequency in Hz of the VHF auto-repeater frequency range.")
1389 Q_PROPERTY(Frequency vhfMax READ vhfMax WRITE setVHFMax)
1390
1391 Q_CLASSINFO("uhfMin", "The minimum frequency in Hz of the UHF auto-repeater frequency range.")
1393 Q_PROPERTY(Frequency uhfMin READ uhfMin WRITE setUHFMin)
1394
1395 Q_CLASSINFO("uhfMax", "The maximum frequency in Hz of the UHF auto-repeater frequency range.")
1397 Q_PROPERTY(Frequency uhfMax READ uhfMax WRITE setUHFMax)
1398
1399 Q_CLASSINFO("vhfDescription", "A reference to an offset frequency for the VHF band.")
1401 Q_PROPERTY(AnytoneAutoRepeaterOffsetRef* vhf READ vhfRef)
1402
1403 Q_CLASSINFO("uhfDescription", "A reference to an offset frequency for the UHF band.")
1405 Q_PROPERTY(AnytoneAutoRepeaterOffsetRef* uhf READ uhfRef)
1406
1407 Q_CLASSINFO("vhf2Min", "The minimum frequency in Hz of the second VHF auto-repeater frequency range.")
1409 Q_PROPERTY(Frequency vhf2Min READ vhf2Min WRITE setVHF2Min)
1410
1411 Q_CLASSINFO("vhf2Max", "The maximum frequency in Hz of the second VHF auto-repeater frequency range.")
1413 Q_PROPERTY(Frequency vhf2Max READ vhf2Max WRITE setVHF2Max)
1414
1415 Q_CLASSINFO("uhf2Min", "The minimum frequency in Hz of the second UHF auto-repeater frequency range.")
1417 Q_PROPERTY(Frequency uhf2Min READ uhf2Min WRITE setUHF2Min)
1418
1419 Q_CLASSINFO("uhf2Max", "The maximum frequency in Hz of the second UHF auto-repeater frequency range.")
1421 Q_PROPERTY(Frequency uhf2Max READ uhf2Max WRITE setUHF2Max)
1422
1423 Q_CLASSINFO("vhf2Description", "A reference to an offset frequency for the second VHF band.")
1425 Q_PROPERTY(AnytoneAutoRepeaterOffsetRef* vhf2 READ vhf2Ref)
1426
1427 Q_CLASSINFO("uhf2Description", "A reference to an offset frequency for the second UHF band.")
1429 Q_PROPERTY(AnytoneAutoRepeaterOffsetRef* uhf2 READ uhf2Ref)
1430
1431 Q_CLASSINFO("offsetDescription", "The lists of offset frequencies.")
1433 Q_PROPERTY(AnytoneAutoRepeaterOffsetList* offsets READ offsets)
1434
1435public:
1437 enum class Direction {
1438 Off = 0,
1439 Positive = 1,
1440 Negative = 2
1441 };
1442 Q_ENUM(Direction)
1443
1444public:
1446 explicit AnytoneAutoRepeaterSettingsExtension(QObject *parent=nullptr);
1447
1448 ConfigItem *clone() const;
1449
1451 Direction directionA() const;
1453 void setDirectionA(Direction dir);
1455 Direction directionB() const;
1457 void setDirectionB(Direction dir);
1458
1460 Frequency vhfMin() const;
1462 void setVHFMin(Frequency Hz);
1464 Frequency vhfMax() const;
1466 void setVHFMax(Frequency Hz);
1468 Frequency uhfMin() const;
1470 void setUHFMin(Frequency Hz);
1472 Frequency uhfMax() const;
1474 void setUHFMax(Frequency Hz);
1475
1477 AnytoneAutoRepeaterOffsetRef *uhfRef() const;
1479 AnytoneAutoRepeaterOffsetRef *vhfRef() const;
1480
1482 Frequency vhf2Min() const;
1484 void setVHF2Min(Frequency Hz);
1486 Frequency vhf2Max() const;
1488 void setVHF2Max(Frequency Hz);
1490 Frequency uhf2Min() const;
1492 void setUHF2Min(Frequency Hz);
1494 Frequency uhf2Max() const;
1496 void setUHF2Max(Frequency Hz);
1497
1499 AnytoneAutoRepeaterOffsetRef *uhf2Ref() const;
1501 AnytoneAutoRepeaterOffsetRef *vhf2Ref() const;
1502
1504 AnytoneAutoRepeaterOffsetList *offsets() const;
1505
1506protected:
1537};
1538
1539
1545{
1546 Q_OBJECT
1547
1548 Q_CLASSINFO("groupCallHangTimeDescription", "Specifies the hang- or hold-time for group calls.")
1550 Q_PROPERTY(Interval groupCallHangTime READ groupCallHangTime WRITE setGroupCallHangTime)
1552 Q_PROPERTY(Interval manualGroupCallHangTime READ manualGroupCallHangTime WRITE setManualGroupCallHangTime)
1553
1554 Q_CLASSINFO("privateCallHangTimeDescription", "Specifies the hang- or hold-time for private calls.")
1556 Q_PROPERTY(Interval privateCallHangTime READ privateCallHangTime WRITE setPrivateCallHangTime)
1558 Q_PROPERTY(Interval manualPrivateCallHangTime READ manualPrivateCallHangTime WRITE setManualPrivateCallHangTime)
1559
1560 Q_CLASSINFO("preWaveDelay", "Sets the pre-wave delay in ms. Should be set to 100ms.")
1562 Q_PROPERTY(Interval preWaveDelay READ preWaveDelay WRITE setPreWaveDelay)
1563
1564 Q_CLASSINFO("wakeHeadPeriod", "Sets the wake head-period in ms. Should be set to 100ms.")
1566 Q_PROPERTY(Interval wakeHeadPeriod READ wakeHeadPeriod WRITE setWakeHeadPeriod)
1567
1568 Q_CLASSINFO("filterOwnIDDescription", "If enabled, own ID is not shown in call lists.")
1570 Q_PROPERTY(bool filterOwnID READ filterOwnIDEnabled WRITE enableFilterOwnID)
1571
1572 Q_CLASSINFO("monitorSlotMatchDescription", "Time-slot match-mode for DMR monitor.")
1574 Q_PROPERTY(SlotMatch monitorSlotMatch READ monitorSlotMatch WRITE setMonitorSlotMatch)
1575
1576 Q_CLASSINFO("monitorColorCodeMatchDescription", "If enabled, the DMR monitor will only open for "
1577 "matching color-codes.")
1579 Q_PROPERTY(bool monitorColorCodeMatch READ monitorColorCodeMatchEnabled WRITE enableMonitorColorCodeMatch)
1580
1581 Q_CLASSINFO("monitorIDMatchDescription", "If enabled, the DMR monitor will only open for matching IDs.")
1583 Q_PROPERTY(bool monitorIDMatch READ monitorIDMatchEnabled WRITE enableMonitorIDMatch)
1584
1585 Q_CLASSINFO("monitorTimeSlotHold", "Whether the DMR monitor holds the time-slot.")
1587 Q_PROPERTY(bool monitorTimeSlotHold READ monitorTimeSlotHoldEnabled WRITE enableMonitorTimeSlotHold)
1588
1589 Q_CLASSINFO("smsFormatDescription", "Specifies the SMS format, select Motorola here.")
1591 Q_PROPERTY(SMSFormat smsFormat READ smsFormat WRITE setSMSFormat)
1592
1593 Q_CLASSINFO("sendTalkerAliasDescription", "Sends the radio name as talker alias over the air.")
1595 Q_PROPERTY(bool sendTalkerAlias READ sendTalkerAlias WRITE enableSendTalkerAlias)
1597 Q_PROPERTY(TalkerAliasSource talkerAliasSource READ talkerAliasSource WRITE setTalkerAliasSource)
1599 Q_PROPERTY(TalkerAliasEncoding talkerAliasEncoding READ talkerAliasEncoding WRITE setTalkerAliasEncoding)
1600
1602 Q_PROPERTY(EncryptionType encryption READ encryption WRITE setEncryption)
1603
1604
1605public:
1607 enum class SlotMatch {
1608 Off = 0, Single = 1, Both = 2
1609 };
1610 Q_ENUM(SlotMatch)
1611
1612
1613 enum class SMSFormat {
1614 Motorola = 0, Hytera = 1, DMR = 2
1615 };
1616 Q_ENUM(SMSFormat)
1617
1618
1619 enum class TalkerAliasSource {
1620 Off = 0, UserDB = 1, Air = 2
1621 };
1622 Q_ENUM(TalkerAliasSource)
1623
1624
1625 enum class TalkerAliasEncoding {
1626 ISO8 = 0, ISO7 = 1, Unicode = 2,
1627 };
1628 Q_ENUM(TalkerAliasEncoding)
1629
1630
1631 enum class EncryptionType {
1632 AES=0, DMR=1
1633 };
1634 Q_ENUM(EncryptionType)
1635
1636public:
1638 explicit AnytoneDMRSettingsExtension(QObject *parent = nullptr);
1639
1640 ConfigItem *clone() const;
1641
1643 Interval groupCallHangTime() const;
1645 void setGroupCallHangTime(Interval sec);
1647 Interval manualGroupCallHangTime() const;
1649 void setManualGroupCallHangTime(Interval sec);
1651 Interval privateCallHangTime() const;
1653 void setPrivateCallHangTime(Interval sec);
1655 Interval manualPrivateCallHangTime() const;
1657 void setManualPrivateCallHangTime(Interval sec);
1658
1660 Interval preWaveDelay() const;
1662 void setPreWaveDelay(Interval ms);
1664 Interval wakeHeadPeriod() const;
1666 void setWakeHeadPeriod(Interval ms);
1667
1669 bool filterOwnIDEnabled() const;
1671 void enableFilterOwnID(bool enable);
1672
1674 SlotMatch monitorSlotMatch() const;
1676 void setMonitorSlotMatch(SlotMatch match);
1678 bool monitorColorCodeMatchEnabled() const;
1680 void enableMonitorColorCodeMatch(bool enable);
1682 bool monitorIDMatchEnabled() const;
1684 void enableMonitorIDMatch(bool enable);
1686 bool monitorTimeSlotHoldEnabled() const;
1688 void enableMonitorTimeSlotHold(bool enable);
1689
1691 SMSFormat smsFormat() const;
1693 void setSMSFormat(SMSFormat format);
1694
1696 bool sendTalkerAlias() const;
1698 void enableSendTalkerAlias(bool enable);
1699
1701 TalkerAliasSource talkerAliasSource() const;
1703 void setTalkerAliasSource(TalkerAliasSource mode);
1704
1706 TalkerAliasEncoding talkerAliasEncoding() const ;
1708 void setTalkerAliasEncoding(TalkerAliasEncoding encoding);
1709
1711 EncryptionType encryption() const;
1713 void setEncryption(EncryptionType type);
1714
1715protected:
1727 SMSFormat _smsFormat;
1729 TalkerAliasSource _talkerAliasSource;
1730 TalkerAliasEncoding _talkerAliasEncoding;
1731 EncryptionType _encryption;
1732};
1733
1734
1740{
1741 Q_OBJECT
1742
1743 Q_CLASSINFO("unitsDescription", "Specifies the GPS units.")
1745 Q_PROPERTY(Units units READ units WRITE setUnits)
1746
1747 Q_CLASSINFO("timeZoneDescription", "Specifies the GPS time-zone (IANA name).")
1749 Q_PROPERTY(QString timeZone READ ianaTimeZone WRITE setIANATimeZone)
1750
1751 Q_CLASSINFO("positionReportingDescription", "Enables GPS range reporting.")
1753 Q_PROPERTY(bool reportPosition READ positionReportingEnabled WRITE enablePositionReporting)
1754
1755 Q_CLASSINFO("updatePeriodDescription", "Specifies the GPS reporting interval in seconds.")
1757 Q_PROPERTY(Interval updatePeriod READ updatePeriod WRITE setUpdatePeriod)
1758
1760 Q_PROPERTY(GPSMode mode READ mode WRITE setMode)
1761
1762public:
1764 enum class Units {
1765 Metric = 0, Archaic = 1
1766 };
1767 Q_ENUM(Units)
1768
1769
1770 enum class GPSMode {
1771 GPS=0, Beidou=1, GPS_Beidou=2, Glonass=3, GPS_Glonas=4, Beidou_Glonass=5, All=6
1772 };
1773 Q_ENUM(GPSMode)
1774
1775public:
1777 explicit AnytoneGPSSettingsExtension(QObject *parent=nullptr);
1778
1779 ConfigItem *clone() const;
1780
1782 Units units() const;
1784 void setUnits(Units units);
1785
1787 QString ianaTimeZone() const;
1789 QTimeZone timeZone() const;
1791 void setIANATimeZone(const QString &id);
1793 void setTimeZone(const QTimeZone &zone);
1794
1796 bool positionReportingEnabled() const;
1798 void enablePositionReporting(bool enable);
1799
1801 Interval updatePeriod() const;
1803 void setUpdatePeriod(Interval sec);
1804
1806 GPSMode mode() const;
1808 void setMode(GPSMode mode);
1809
1810protected:
1812 QTimeZone _timeZone;
1816};
1817
1818
1824{
1825 Q_OBJECT
1826
1827 Q_CLASSINFO("Description", "Collects all ranging/roaming settings for AnyTone devices.")
1828
1829
1830 Q_PROPERTY(bool autoRoam READ autoRoam WRITE enableAutoRoam)
1831
1832 Q_CLASSINFO("autoRoamPeriodDescription", "Specifies the auto-roaming period in minutes.")
1834 Q_PROPERTY(Interval autoRoamPeriod READ autoRoamPeriod WRITE setAutoRoamPeriod)
1835
1836 Q_CLASSINFO("autoRoamDelayDescription", "A delay in seconds before starting the auto-roaming.")
1838 Q_PROPERTY(Interval autoRoamDelay READ autoRoamDelay WRITE setAutoRoamDelay)
1839
1840 Q_CLASSINFO("roamStart", "Start condition for auto-roaming.")
1842 Q_PROPERTY(RoamStart roamStart READ roamingStartCondition WRITE setRoamingStartCondition)
1843
1844 Q_CLASSINFO("roamReturn", "Condition to return to the original repeater.")
1846 Q_PROPERTY(RoamStart roamReturn READ roamingReturnCondition WRITE setRoamingReturnCondition)
1847
1848 Q_CLASSINFO("rangeCheckDescription", "Repeater range check.")
1850 Q_PROPERTY(bool rangeCheck READ repeaterRangeCheckEnabled WRITE enableRepeaterRangeCheck)
1851
1852 Q_CLASSINFO("checkIntervalDescription", "Repeater range check interval in seconds.")
1854 Q_PROPERTY(Interval checkInterval READ repeaterCheckInterval WRITE setRepeaterCheckInterval)
1855
1856 Q_CLASSINFO("retryCount", "Number of retries to connect to a repeater before giving up.")
1858 Q_PROPERTY(unsigned int retryCount READ repeaterRangeCheckCount WRITE setRepeaterRangeCheckCount)
1859
1861 Q_PROPERTY(OutOfRangeAlert outOfRangeAlert READ outOfRangeAlert WRITE setOutOfRangeAlert)
1862
1863 Q_CLASSINFO("notificationDescription", "Enables the repeater-check notification.")
1865 Q_PROPERTY(bool notification READ notificationEnabled WRITE enableNotification)
1866
1867 Q_CLASSINFO("notificationCountDescription", "The number of repeater-check notifications.")
1869 Q_PROPERTY(unsigned int notificationCount READ notificationCount WRITE setNotificationCount)
1870
1872 Q_PROPERTY(RoamingZoneReference* defaultZone READ defaultZone)
1873
1875 Q_PROPERTY(bool gpsRoaming READ gpsRoaming WRITE enableGPSRoaming)
1876
1877public:
1879 enum class RoamStart {
1880 Periodic=0, OutOfRange=1
1881 };
1882 Q_ENUM(RoamStart)
1883
1884
1885 enum class OutOfRangeAlert {
1886 None = 0x00, Bell = 0x01, Voice = 0x02
1887 };
1888 Q_ENUM(OutOfRangeAlert)
1889
1890public:
1892 explicit AnytoneRoamingSettingsExtension(QObject *parent=nullptr);
1893
1894 ConfigItem *clone() const;
1895
1897 bool autoRoam() const;
1899 void enableAutoRoam(bool enable);
1900
1902 Interval autoRoamPeriod() const;
1904 void setAutoRoamPeriod(Interval min);
1906 Interval autoRoamDelay() const;
1908 void setAutoRoamDelay(Interval sec);
1909
1911 bool repeaterRangeCheckEnabled() const;
1913 void enableRepeaterRangeCheck(bool enable);
1915 Interval repeaterCheckInterval() const;
1917 void setRepeaterCheckInterval(Interval sec);
1919 unsigned int repeaterRangeCheckCount() const;
1921 void setRepeaterRangeCheckCount(unsigned int count);
1923 OutOfRangeAlert outOfRangeAlert() const;
1925 void setOutOfRangeAlert(OutOfRangeAlert type);
1926
1928 RoamStart roamingStartCondition() const;
1930 void setRoamingStartCondition(RoamStart start);
1932 RoamStart roamingReturnCondition() const;
1934 void setRoamingReturnCondition(RoamStart start);
1935
1937 bool notificationEnabled() const;
1939 void enableNotification(bool enable);
1941 unsigned int notificationCount() const;
1943 void setNotificationCount(unsigned int n);
1944
1946 bool gpsRoaming() const;
1948 void enableGPSRoaming(bool enable);
1949
1951 RoamingZoneReference *defaultZone() const;
1952
1953protected:
1964 unsigned int _notificationCount;
1967};
1968
1969
1975{
1976 Q_OBJECT
1977
1978 Q_CLASSINFO("Description", "Collects all bluetooth settings for AnyTone devices.")
1979
1980
1981 Q_PROPERTY(bool pttLatch READ pttLatch WRITE enablePTTLatch)
1983 Q_PROPERTY(Interval pttSleepTimer READ pttSleepTimer WRITE setPTTSleepTimer)
1984
1985public:
1987 explicit AnytoneBluetoothSettingsExtension(QObject *parent=nullptr);
1988
1989 ConfigItem *clone() const;
1990
1992 bool pttLatch() const;
1994 void enablePTTLatch(bool enable);
1995
1997 Interval pttSleepTimer() const;
1999 void setPTTSleepTimer(Interval intv);
2000
2001protected:
2002 bool _pttLatch;
2003 Interval _pttSleep;
2004};
2005
2006
2012{
2013 Q_OBJECT
2014
2015 Q_CLASSINFO("enabledDescription", "If true, the simplex-repeater feature is enabled.")
2017 Q_PROPERTY(bool enabled READ enabled WRITE enable)
2018
2019 Q_CLASSINFO("monitorDescription", "If true, the repeater-monitoring is enabled.")
2021 Q_PROPERTY(bool monitor READ monitorEnabled WRITE enableMonitor)
2022
2023 Q_CLASSINFO("timeSlotDescription", "Specifies the time-slot of the repeater.")
2025 Q_PROPERTY(TimeSlot timeSlot READ timeSlot WRITE setTimeSlot)
2026
2027public:
2029 enum class TimeSlot {
2030 TS1 = 0, TS2 = 1, Channel = 2
2031 };
2032 Q_ENUM(TimeSlot)
2033
2034public:
2036 explicit AnytoneSimplexRepeaterSettingsExtension(QObject *parent=nullptr);
2037
2038 ConfigItem *clone() const;
2039
2041 bool enabled() const;
2043 void enable(bool enable);
2044
2046 bool monitorEnabled() const;
2048 void enableMonitor(bool enable);
2049
2051 TimeSlot timeSlot() const;
2053 void setTimeSlot(TimeSlot ts);
2054
2055protected:
2059};
2060
2061
2069{
2070 Q_OBJECT
2071
2072 Q_CLASSINFO("description", "Device specific settings for AnyTone devices.")
2073
2074 Q_CLASSINFO("subChannelDescription", "Enables/disables the sub-channel.")
2076 Q_PROPERTY(bool subChannel READ subChannelEnabled WRITE enableSubChannel)
2077
2079 Q_PROPERTY(VFO selectedVFO READ selectedVFO WRITE setSelectedVFO)
2080
2082 Q_PROPERTY(VFOMode modeA READ modeA WRITE setModeA)
2083
2085 Q_PROPERTY(VFOMode modeB READ modeB WRITE setModeB)
2086
2088 Q_PROPERTY(ZoneReference* zoneA READ zoneA)
2089
2091 Q_PROPERTY(ZoneReference* zoneB READ zoneB)
2092
2094 Q_PROPERTY(VFOScanType vfoScanType READ vfoScanType WRITE setVFOScanType)
2096 Q_PROPERTY(Frequency minVFOScanFrequencyUHF READ minVFOScanFrequencyUHF WRITE setMinVFOScanFrequencyUHF)
2098 Q_PROPERTY(Frequency maxVFOScanFrequencyUHF READ maxVFOScanFrequencyUHF WRITE setMaxVFOScanFrequencyUHF)
2100 Q_PROPERTY(Frequency minVFOScanFrequencyVHF READ minVFOScanFrequencyVHF WRITE setMinVFOScanFrequencyVHF)
2102 Q_PROPERTY(Frequency maxVFOScanFrequencyVHF READ maxVFOScanFrequencyVHF WRITE setMaxVFOScanFrequencyVHF)
2103
2104 Q_CLASSINFO("keepLastCallerDescription", "Keeps the last caller on channel switch")
2106 Q_PROPERTY(bool keepLastCaller READ keepLastCallerEnabled WRITE enableKeepLastCaller)
2107
2108 Q_CLASSINFO("vfoStepDescription", "Specifies the VFO tuning steps in kHz.")
2110 Q_PROPERTY(Frequency vfoStep READ vfoStep WRITE setVFOStep)
2111
2112 Q_CLASSINFO("steTypeDescription", "Specifies the STE (squelch tail elimination) type.")
2114 Q_PROPERTY(STEType steType READ steType WRITE setSTEType)
2115 Q_CLASSINFO("steFrequencyDescription", "Specifies the STE (squelch tail elimination) frequency in Hz.")
2117 Q_PROPERTY(double steFrequency READ steFrequency WRITE setSTEFrequency)
2119 Q_PROPERTY(Interval steDuration READ steDuration WRITE setSTEDuration)
2120
2121 Q_CLASSINFO("tbstFrequencyDescription", "Specifies the TBST frequency in Hz. Should be one of "
2122 "1000, 1450, 1750 and 2100 Hz. "
2123 "D878UV(2), D578UV and DMR-6X2UV only.")
2125 Q_PROPERTY(Frequency tbstFrequency READ tbstFrequency WRITE setTBSTFrequency)
2126
2127 Q_CLASSINFO("proModeDescription", "Enables 'professional' mode. This limits the option reachable via the menu.")
2129 Q_PROPERTY(bool proMode READ proModeEnabled WRITE enableProMode)
2130
2132 Q_PROPERTY(bool maintainCallChannel READ maintainCallChannelEnabled WRITE enableMaintainCallChannel)
2133
2135 Q_PROPERTY(AnytoneBootSettingsExtension* bootSettings READ bootSettings)
2137 Q_PROPERTY(AnytonePowerSaveSettingsExtension* powerSaveSettings READ powerSaveSettings)
2139 Q_PROPERTY(AnytoneKeySettingsExtension* keySettings READ keySettings)
2141 Q_PROPERTY(AnytoneToneSettingsExtension* toneSettings READ toneSettings)
2143 Q_PROPERTY(AnytoneDisplaySettingsExtension* displaySettings READ displaySettings)
2145 Q_PROPERTY(AnytoneAudioSettingsExtension* audioSettings READ audioSettings)
2147 Q_PROPERTY(AnytoneMenuSettingsExtension* menuSettings READ menuSettings)
2149 Q_PROPERTY(AnytoneAutoRepeaterSettingsExtension* autoRepeaterSettings READ autoRepeaterSettings)
2151 Q_PROPERTY(AnytoneDMRSettingsExtension* dmrSettings READ dmrSettings)
2153 Q_PROPERTY(AnytoneGPSSettingsExtension* gpsSettings READ gpsSettings)
2155 Q_PROPERTY(AnytoneRoamingSettingsExtension* roamingSettings READ roamingSettings)
2157 Q_PROPERTY(AnytoneBluetoothSettingsExtension* bluetoothSettings READ bluetoothSettings)
2158
2159 Q_CLASSINFO("simplexRepeaterSettingsDescription",
2160 "Configuration for the DMR-6X2UV simplex-repeater feature.")
2162 Q_PROPERTY(AnytoneSimplexRepeaterSettingsExtension * simplexRepeaterSettings READ simplexRepeaterSettings)
2163
2164public:
2166 enum class VFOScanType {
2167 Time = 0, Carrier = 1, Stop = 2
2168 };
2169 Q_ENUM(VFOScanType)
2170
2171
2172 enum class VFOMode {
2173 Memory = 0, VFO = 1
2174 };
2175 Q_ENUM(VFOMode)
2176
2177
2178 enum class VFO {
2179 A = 0, B = 1
2180 };
2181 Q_ENUM(VFO)
2182
2183
2184 enum class STEType {
2185 Off = 0, Silent = 1, Deg120 = 2, Deg180 = 3, Deg240 = 4
2186 };
2187 Q_ENUM(STEType)
2188
2189
2190public:
2192 Q_INVOKABLE explicit AnytoneSettingsExtension(QObject *parent=nullptr);
2193
2194 ConfigItem *clone() const;
2195
2197 AnytoneBootSettingsExtension *bootSettings() const;
2199 AnytonePowerSaveSettingsExtension *powerSaveSettings() const;
2201 AnytoneKeySettingsExtension *keySettings() const;
2203 AnytoneToneSettingsExtension *toneSettings() const;
2205 AnytoneDisplaySettingsExtension *displaySettings() const;
2207 AnytoneAudioSettingsExtension *audioSettings() const;
2209 AnytoneMenuSettingsExtension *menuSettings() const;
2211 AnytoneAutoRepeaterSettingsExtension *autoRepeaterSettings() const;
2213 AnytoneDMRSettingsExtension *dmrSettings() const;
2215 AnytoneGPSSettingsExtension *gpsSettings() const;
2217 AnytoneRoamingSettingsExtension *roamingSettings() const;
2219 AnytoneBluetoothSettingsExtension *bluetoothSettings() const;
2221 AnytoneSimplexRepeaterSettingsExtension *simplexRepeaterSettings() const;
2222
2224 VFOScanType vfoScanType() const;
2226 void setVFOScanType(VFOScanType type);
2227
2229 VFOMode modeA() const;
2231 void setModeA(VFOMode mode);
2233 VFOMode modeB() const;
2235 void setModeB(VFOMode mode);
2236
2240 const ZoneReference *zoneA() const;
2244 const ZoneReference *zoneB() const;
2245
2247 VFO selectedVFO() const;
2249 void setSelectedVFO(VFO vfo);
2250
2252 bool subChannelEnabled() const;
2254 void enableSubChannel(bool enable);
2255
2257 Frequency minVFOScanFrequencyUHF() const;
2259 void setMinVFOScanFrequencyUHF(Frequency hz);
2261 Frequency maxVFOScanFrequencyUHF() const;
2263 void setMaxVFOScanFrequencyUHF(Frequency hz);
2264
2266 Frequency minVFOScanFrequencyVHF() const;
2268 void setMinVFOScanFrequencyVHF(Frequency hz);
2270 Frequency maxVFOScanFrequencyVHF() const;
2272 void setMaxVFOScanFrequencyVHF(Frequency hz);
2273
2275 bool keepLastCallerEnabled() const;
2277 void enableKeepLastCaller(bool enable);
2278
2280 Frequency vfoStep() const;
2282 void setVFOStep(Frequency step);
2283
2285 STEType steType() const;
2287 void setSTEType(STEType type);
2290 double steFrequency() const;
2293 void setSTEFrequency(double freq);
2295 Interval steDuration() const;
2297 void setSTEDuration(Interval intv);
2298
2300 Frequency tbstFrequency() const;
2302 void setTBSTFrequency(Frequency Hz);
2303
2305 bool proModeEnabled() const;
2307 void enableProMode(bool enable);
2308
2310 bool maintainCallChannelEnabled() const;
2312 void enableMaintainCallChannel(bool enable);
2313
2314protected:
2341
2361};
2362
2363
2368{
2369 Q_OBJECT
2370
2372 Q_PROPERTY(Interval txDelay READ txDelay WRITE setTXDelay)
2374 Q_PROPERTY(Interval preWaveDelay READ preWaveDelay WRITE setPreWaveDelay)
2376 Q_PROPERTY(bool passAll READ passAll WRITE enablePassAll)
2378 Q_PROPERTY(bool reportPosition READ reportPosition WRITE enableReportPosition)
2380 Q_PROPERTY(bool reportMicE READ reportMicE WRITE enableReportMicE)
2382 Q_PROPERTY(bool reportObject READ reportObject WRITE enableReportObject)
2384 Q_PROPERTY(bool reportItem READ reportItem WRITE enableReportItem)
2386 Q_PROPERTY(bool reportMessage READ reportMessage WRITE enableReportMessage)
2388 Q_PROPERTY(bool reportWeather READ reportWeather WRITE enableReportWeather)
2390 Q_PROPERTY(bool reportNMEA READ reportNMEA WRITE enableReportNMEA)
2392 Q_PROPERTY(bool reportStatus READ reportStatus WRITE enableReportStatus)
2394 Q_PROPERTY(bool reportOther READ reportOther WRITE enableReportOther)
2395
2397 Q_PROPERTY(AnytoneAPRSFrequencyList *frequencies READ frequencies)
2398
2399public:
2401 enum class Bandwidth {
2402 Narrow = 0, Wide = 1
2403 };
2404 Q_ENUM(Bandwidth)
2405
2406public:
2408 explicit Q_INVOKABLE AnytoneFMAPRSSettingsExtension(QObject *parent=nullptr);
2409
2410 ConfigItem *clone() const;
2411
2413 Interval txDelay() const;
2415 void setTXDelay(Interval intv);
2416
2418 Interval preWaveDelay() const;
2420 void setPreWaveDelay(Interval ms);
2421
2423 bool passAll() const;
2425 void enablePassAll(bool enable);
2426
2428 bool reportPosition() const;
2430 void enableReportPosition(bool enable);
2432 bool reportMicE() const;
2434 void enableReportMicE(bool enable);
2436 bool reportObject() const;
2438 void enableReportObject(bool enable);
2440 bool reportItem() const;
2442 void enableReportItem(bool enable);
2444 bool reportMessage() const;
2446 void enableReportMessage(bool enable);
2448 bool reportWeather() const;
2450 void enableReportWeather(bool enable);
2452 bool reportNMEA() const;
2454 void enableReportNMEA(bool enable);
2456 bool reportStatus() const;
2458 void enableReportStatus(bool enable);
2460 bool reportOther() const;
2462 void enableReportOther(bool enable);
2463
2465 AnytoneAPRSFrequencyList *frequencies() const;
2466
2467protected:
2494};
2495
2496#endif // ANYTONEEXTENSION_HH
Represents a list of APRS transmit frequencies.
Definition anytone_extension.hh:59
ConfigItem * allocateChild(const YAML::Node &node, ConfigItem::Context &ctx, const ErrorStack &err)
Allocates a member objects for the given YAML node.
Definition anytone_extension.cc:56
AnytoneAPRSFrequencyList(QObject *parent=nullptr)
Empty constructor.
Definition anytone_extension.cc:49
Represents a reference to an APRS frequency.
Definition anytone_extension.hh:47
AnytoneAPRSFrequencyRef(QObject *parent=nullptr)
Default constructor.
Definition anytone_extension.cc:39
Implements the config representation of an FM APRS frequency.
Definition anytone_extension.hh:16
Frequency _frequency
The transmit frequency.
Definition anytone_extension.hh:40
Implements the audio settings extension of AnyTone devices.
Definition anytone_extension.hh:1174
bool _recording
Recording enabled.
Definition anytone_extension.hh:1259
Interval _voxDelay
VOX delay in ms.
Definition anytone_extension.hh:1258
VoxSource
Source for the VOX.
Definition anytone_extension.hh:1203
bool _enhanceAudio
Enhance audio.
Definition anytone_extension.hh:1263
unsigned int _maxVolume
The maximum volume.
Definition anytone_extension.hh:1261
bool _enableAnalogMicGain
Enables separate analog mic gain.
Definition anytone_extension.hh:1265
Interval _muteDelay
Mute delay in minutes.
Definition anytone_extension.hh:1264
unsigned int _maxHeadPhoneVolume
The maximum head-phone volume.
Definition anytone_extension.hh:1262
VoxSource _voxSource
The VOX source.
Definition anytone_extension.hh:1260
unsigned int _analogMicGain
The FM mic gain.
Definition anytone_extension.hh:1266
Represents a list of auto-repeater offsets.
Definition anytone_extension.hh:1355
Represents a reference to a repeater offset.
Definition anytone_extension.hh:1343
Implements the config representation of a repeater offset.
Definition anytone_extension.hh:1311
Implements the auto-repeater settings extension of AnyTone devices.
Definition anytone_extension.hh:1371
Frequency _minUHF2
Minimum frequency of the second UHF auto-repeater range.
Definition anytone_extension.hh:1528
Frequency _maxUHF2
Maximum frequency of the second UHF auto-repeater range.
Definition anytone_extension.hh:1530
Frequency _maxVHF
Maximum frequency of the VHF auto-repeater range.
Definition anytone_extension.hh:1514
Direction _directionA
The auto-repeater direction for VFO A.
Definition anytone_extension.hh:1508
Frequency _minVHF
Minimum frequency of the VHF auto-repeater range.
Definition anytone_extension.hh:1512
AnytoneAutoRepeaterOffsetRef * _uhf2Offset
A reference to the second UHF offset frequency.
Definition anytone_extension.hh:1534
Direction _directionB
The auto-repeater direction for VFO B.
Definition anytone_extension.hh:1510
Direction
Encodes the auto-repeater offset sign.
Definition anytone_extension.hh:1437
AnytoneAutoRepeaterOffsetRef * _vhfOffset
A reference to the VHF offset frequency.
Definition anytone_extension.hh:1520
Frequency _maxVHF2
Maximum frequency of the second VHF auto-repeater range.
Definition anytone_extension.hh:1526
AnytoneAutoRepeaterOffsetRef * _uhfOffset
A reference to the UHF offset frequency.
Definition anytone_extension.hh:1522
Frequency _minUHF
Minimum frequency of the UHF auto-repeater range.
Definition anytone_extension.hh:1516
AnytoneAutoRepeaterOffsetList * _offsets
The list of repeater offsets.
Definition anytone_extension.hh:1536
Frequency _maxUHF
Maximum frequency of the UHF auto-repeater range.
Definition anytone_extension.hh:1518
Frequency _minVHF2
Minimum frequency of the second VHF auto-repeater range.
Definition anytone_extension.hh:1524
AnytoneAutoRepeaterOffsetRef * _vhf2Offset
A reference to the second VHF offset frequency.
Definition anytone_extension.hh:1532
Implements the bluetooth settings for some AnyTone devices.
Definition anytone_extension.hh:1975
Implements the boot settings extension of AnyTone devices.
Definition anytone_extension.hh:368
bool _reset
Enables MCU reset on boot.
Definition anytone_extension.hh:463
ChannelReference * _channelB
Default channel for VFO B, must be member of zone for VFO B.
Definition anytone_extension.hh:459
bool _bootPasswordEnabled
If true, the boot password is enabled.
Definition anytone_extension.hh:453
BootDisplay _bootDisplay
The boot display property.
Definition anytone_extension.hh:452
ZoneReference * _priorityZoneA
Priority zone for VFO A.
Definition anytone_extension.hh:460
bool _defaultChannel
Change to the default channel on boot.
Definition anytone_extension.hh:455
bool _gpsCheck
Enables GPS check.
Definition anytone_extension.hh:462
ZoneReference * _zoneA
Default zone for VFO A.
Definition anytone_extension.hh:456
ZoneReference * _priorityZoneB
Priority zone for VFO B.
Definition anytone_extension.hh:461
BootDisplay
What to display during boot.
Definition anytone_extension.hh:400
ZoneReference * _zoneB
Default zone for VFO B.
Definition anytone_extension.hh:458
ChannelReference * _channelA
Default channel for VFO A, must be member of zone for VFO A.
Definition anytone_extension.hh:457
QString _bootPassword
The boot password.
Definition anytone_extension.hh:454
Implements the common properties for analog and digital AnyTone channels.
Definition anytone_extension.hh:74
bool _talkaround
If true, talkaround is enabled.
Definition anytone_extension.hh:126
bool handsFree
If true, the hands-free featrue is enabled for this channel.
Definition anytone_extension.hh:82
AnytoneChannelExtension(QObject *parent=nullptr)
Hidden constructor.
Definition anytone_extension.cc:65
void setFrequencyCorrection(int corr)
Sets the frequency correction.
Definition anytone_extension.cc:89
APRSPTT aprsPTT
Specifies if and when the position is send via the associated APRS system, once the PTT is pressed.
Definition anytone_extension.hh:87
bool _handsFree
If true, the hands-free featrue is enabled for this channel.
Definition anytone_extension.hh:130
APRSPTT
Possible APRS PTT modes.
Definition anytone_extension.hh:91
void enableTalkaround(bool enable)
Enables/disables talkaround.
Definition anytone_extension.cc:77
int _frequencyCorrection
The frequency correction.
Definition anytone_extension.hh:128
int frequencyCorrection
Holds the frequency correction in some unknown units.
Definition anytone_extension.hh:80
void enableHandsFree(bool enable)
Enables/disables the hands-free feature for this channel.
Definition anytone_extension.cc:101
APRSPTT _aprsPTT
Holds the APRS PTT mode.
Definition anytone_extension.hh:134
bool talkaround
If true, talkaround is enabled.
Definition anytone_extension.hh:78
AnytoneAPRSFrequencyRef * fmAPRSFrequency
A reference to the FM APRS frequency.
Definition anytone_extension.hh:84
AnytoneAPRSFrequencyRef * _fmAPRSFrequency
A reference to the FM APRS frequency.
Definition anytone_extension.hh:132
Implements the AnyTone contact extension.
Definition anytone_extension.hh:331
AlertType _alertType
Holds the alert type for the contact.
Definition anytone_extension.hh:359
AlertType
Possible ring-tone types.
Definition anytone_extension.hh:339
Implements the settings extension for DMR channels on AnyTone devices.
Definition anytone_extension.hh:221
void enableAdaptiveTDMA(bool enable)
Enables/disables the adaptive TDMA mode.
Definition anytone_extension.cc:303
void enableDataACK(bool enable)
Enables/disables the data acknowledgement.
Definition anytone_extension.cc:279
void enableSMS(bool enable)
Enables/disables SMS reception.
Definition anytone_extension.cc:255
bool _throughMode
If true the through mode is enabled.
Definition anytone_extension.hh:298
bool loneWorker
If true, the lone-worker feature is enabled for this channel.
Definition anytone_extension.hh:239
void enableLoneWorker(bool enable)
Enables the lone-worker feature for this channel.
Definition anytone_extension.cc:315
void enableThroughMode(bool enable)
Enables/disables the through mode.
Definition anytone_extension.cc:327
void enableSMSConfirm(bool enabled)
Enables/disables the SMS confirmation.
Definition anytone_extension.cc:267
bool simplexTDMA
If true, the simplex TDMA mode is enabled (aka DCDM).
Definition anytone_extension.hh:233
ConfigItem * clone() const
Clones this item.
Definition anytone_extension.cc:229
bool _smsConfirm
If true, the SMS confirmation is enabled.
Definition anytone_extension.hh:288
void enableSimplexTDMA(bool enable)
Enables/disables the simplex TDMA (DCDM) mode.
Definition anytone_extension.cc:291
bool _simplexTDMA
If true, the simplex TDMA mode is enabled.
Definition anytone_extension.hh:292
bool sms
If true, SMS reception is enabled.
Definition anytone_extension.hh:227
bool _dataACK
If true, the data acknowledgement is enabled.
Definition anytone_extension.hh:290
bool _sms
If true, the SMS reception is enabled.
Definition anytone_extension.hh:286
bool adaptiveTDMA
If true, the adaptive TDMA mode is enabled.
Definition anytone_extension.hh:237
bool callConfirm
If true, the call confirmation is enabled.
Definition anytone_extension.hh:225
bool smsConfirm
If true, the SMS confirmation is enabled.
Definition anytone_extension.hh:229
bool throughMode
If true, the through mode is enabled (what ever that means).
Definition anytone_extension.hh:241
bool dataACK
If true, the radio will response to received data packages.
Definition anytone_extension.hh:231
bool _callConfirm
If true, the call confirmation is enabled.
Definition anytone_extension.hh:284
void enableCallConfirm(bool enabled)
Enables/disables the call confirmation.
Definition anytone_extension.cc:243
bool _adaptiveTDMA
If true, the adaptive TDMA mode is enabled.
Definition anytone_extension.hh:294
bool _loneWorker
If true the lone-worker feature is enabled.
Definition anytone_extension.hh:296
Implements the DMR settings extension of AnyTone devices.
Definition anytone_extension.hh:1545
SMSFormat _smsFormat
Sets the SMS format.
Definition anytone_extension.hh:1727
Interval _preWaveDelay
Pre-wave time in ms, should be 100ms.
Definition anytone_extension.hh:1720
bool _monitorColorCodeMatch
Enables CC match for DMR monitor.
Definition anytone_extension.hh:1724
bool _monitorIDMatch
Enables ID match for DMR monitor.
Definition anytone_extension.hh:1725
EncryptionType _encryption
DMR encryption type.
Definition anytone_extension.hh:1731
bool _monitorTimeSlotHold
Enables the time-slot hold for the DMR monitor.
Definition anytone_extension.hh:1726
Interval _manualGroupCallHangTime
Hang-time for manual dialed group-calls in seconds.
Definition anytone_extension.hh:1717
bool _filterOwnID
If enabled, the own ID is not shown in call lists.
Definition anytone_extension.hh:1722
TalkerAliasEncoding _talkerAliasEncoding
Encoding for the talker alias.
Definition anytone_extension.hh:1730
Interval _privateCallHangTime
Hang-time for private-calls in seconds.
Definition anytone_extension.hh:1718
bool _sendTalkerAlias
Enables sending talker alias.
Definition anytone_extension.hh:1728
Interval _groupCallHangTime
Hang-time for group-calls in seconds.
Definition anytone_extension.hh:1716
SlotMatch _monitorSlotMatch
Slot-match mode for DMR monitor.
Definition anytone_extension.hh:1723
Interval _wakeHeadPeriod
Wake head-period in ms, should be 100ms.
Definition anytone_extension.hh:1721
TalkerAliasSource _talkerAliasSource
Source for the talker alias.
Definition anytone_extension.hh:1729
Interval _manualPrivateCallHangTime
Hang-time for manual dialed private-calls in seconds.
Definition anytone_extension.hh:1719
Implements the display settings extension of AnyTone devices.
Definition anytone_extension.hh:910
Color _zoneNameColor
Color of zone name.
Definition anytone_extension.hh:1164
bool _callEndPrompt
Call-end prompt enabled.
Definition anytone_extension.hh:1144
bool _showLastHeard
Shows the last caller.
Definition anytone_extension.hh:1158
bool _showTimeSlot
Show time slot.
Definition anytone_extension.hh:1153
LastCallerDisplayMode _lastCallerDisplay
Last-caller display mode.
Definition anytone_extension.hh:1145
bool _showColorCode
Show color code.
Definition anytone_extension.hh:1152
bool _showContact
Enables showing the contact.
Definition anytone_extension.hh:1155
Color _callColor
Color of call.
Definition anytone_extension.hh:1148
bool _customChannelBackground
Custom channel background enabled.
Definition anytone_extension.hh:1161
Color
Possible display colors.
Definition anytone_extension.hh:992
Color _channelNameColor
Color of channel name.
Definition anytone_extension.hh:1162
unsigned int _brightness
The display brightness.
Definition anytone_extension.hh:1141
Color _zoneBNameColor
Color of zone name for VFO B.
Definition anytone_extension.hh:1165
Color _standbyBackgroundColor
Standby background color.
Definition anytone_extension.hh:1157
Interval _backlightDuration
Backlight duration in seconds, 0=permanent.
Definition anytone_extension.hh:1142
Color _standbyTextColor
Standby text color.
Definition anytone_extension.hh:1156
bool _volumeChangePrompt
Volume-change prompt enabled.
Definition anytone_extension.hh:1143
bool _showChannelNumber
Show channel number.
Definition anytone_extension.hh:1151
Interval _backlightDurationTX
Backlight duration in seconds during TX.
Definition anytone_extension.hh:1159
DateFormat
Possible date formats.
Definition anytone_extension.hh:1005
bool _showClock
Display clock.
Definition anytone_extension.hh:1146
bool _showCall
Display call.
Definition anytone_extension.hh:1147
bool _displayFrequency
Display frequency property.
Definition anytone_extension.hh:1140
Language
Possible UI languages.
Definition anytone_extension.hh:998
Language _language
UI language.
Definition anytone_extension.hh:1149
DateFormat _dateFormat
The date format.
Definition anytone_extension.hh:1150
bool _showChannelType
Show channel type.
Definition anytone_extension.hh:1154
Interval _backlightDurationRX
Backlight duration in seconds during RX.
Definition anytone_extension.hh:1160
LastCallerDisplayMode
What to show from the last caller.
Definition anytone_extension.hh:986
Color _channelBNameColor
Color of channel name for VFO B.
Definition anytone_extension.hh:1163
Implements some additional settings for the FM APRS system.
Definition anytone_extension.hh:2368
bool _reportWeather
The report weather flag.
Definition anytone_extension.hh:2485
bool _reportMessage
The report message flag.
Definition anytone_extension.hh:2483
bool _reportMicE
The report Mic-E flag.
Definition anytone_extension.hh:2477
bool _reportStatus
The report status flag.
Definition anytone_extension.hh:2489
Interval _preWaveDelay
The pre-wave delay.
Definition anytone_extension.hh:2471
Interval _txDelay
The transmit delay.
Definition anytone_extension.hh:2469
bool _reportOther
The report other flag.
Definition anytone_extension.hh:2491
bool _reportItem
The report item flag.
Definition anytone_extension.hh:2481
bool _reportNMEA
The report NMEA flag.
Definition anytone_extension.hh:2487
bool _reportPosition
If true the report position flag is set.
Definition anytone_extension.hh:2475
bool _passAll
If true, all APRS messages are processed.
Definition anytone_extension.hh:2473
bool _reportObject
The report object flag.
Definition anytone_extension.hh:2479
Bandwidth
Possible bandwidth settings.
Definition anytone_extension.hh:2401
AnytoneAPRSFrequencyList * _frequencies
The list of additional FM APRS frequencies.
Definition anytone_extension.hh:2493
Implements the settings extension for FM channels on AnyTone devices.
Definition anytone_extension.hh:141
SquelchMode squelchMode
Holds the squelch mode.
Definition anytone_extension.hh:153
bool txCustomCTCSS
If true, the custom CTCSS tone is transmitted.
Definition anytone_extension.hh:149
void enableScrambler(bool enable)
Enables/disables the analog scrambler.
Definition anytone_extension.cc:209
bool scrambler
If true, the analog scrabler is enabled.
Definition anytone_extension.hh:155
SquelchMode _squelchMode
Holds the squelch mode.
Definition anytone_extension.hh:212
bool _reverseBurst
If true, the CTCSS phase-reverse burst at the end of transmission is enabled.
Definition anytone_extension.hh:204
void enableRXCustomCTCSS(bool enable)
Enables/disables usage of custom CTCSS frequency for RX.
Definition anytone_extension.cc:163
ConfigItem * clone() const
Clones this item.
Definition anytone_extension.cc:137
SquelchMode
Possible squelch mode settings.
Definition anytone_extension.hh:159
void enableTXCustomCTCSS(bool enable)
Enables/disables usage of custom CTCSS frequency for TX.
Definition anytone_extension.cc:174
void setSquelchMode(SquelchMode mode)
Sets the squelch mode.
Definition anytone_extension.cc:197
Q_INVOKABLE AnytoneFMChannelExtension(QObject *parent=nullptr)
Default constructor.
Definition anytone_extension.cc:129
bool reverseBurst
If true, the CTCSS phase-reverse burst at the end of transmission is enabled.
Definition anytone_extension.hh:145
void enableReverseBurst(bool enable)
Enables/disables the CTCSS phase-reverse burst.
Definition anytone_extension.cc:151
double customCTCSS
Holds the custom CTCSS tone frequency in Hz.
Definition anytone_extension.hh:151
bool _rxCustomCTCSS
If true, the custom CTCSS tone is used for RX (open squelch).
Definition anytone_extension.hh:206
void setCustomCTCSS(double freq)
Sets the custom CTCSS frequency in Hz.
Definition anytone_extension.cc:185
bool _scrambler
If true, the analog scrambler is enabled for this channel.
Definition anytone_extension.hh:214
bool _txCustomCTCSS
If true, the custom CTCSS tone is transmitted.
Definition anytone_extension.hh:208
double _customCTCSS
Holds the custom CTCSS tone frequency in Hz.
Definition anytone_extension.hh:210
bool rxCustomCTCSS
If true, the custom CTCSS tone is used for RX (open squelch).
Definition anytone_extension.hh:147
Implements the GPS settings extension of AnyTone devices.
Definition anytone_extension.hh:1740
bool _gpsRangeReporting
Enables GPS range reporting.
Definition anytone_extension.hh:1813
Units _gpsUnits
The GPS units.
Definition anytone_extension.hh:1811
QTimeZone _timeZone
The time zone.
Definition anytone_extension.hh:1812
GPSMode _mode
The GPS mode (GPS, Baidu, both).
Definition anytone_extension.hh:1815
Interval _gpsRangingInterval
The GPS ranging interval in seconds.
Definition anytone_extension.hh:1814
GPSMode
Possible GPS modes.
Definition anytone_extension.hh:1770
Units
Possible unit systems.
Definition anytone_extension.hh:1764
Implements the key settings extension of AnyTone devices.
Definition anytone_extension.hh:536
KeyFunction _funcKey6Short
Function of the function key 6, short press.
Definition anytone_extension.hh:748
KeyFunction _funcKey3Short
Function of the function key 3, short press.
Definition anytone_extension.hh:742
KeyFunction _funcKey1Long
Function of the function key 1, long press.
Definition anytone_extension.hh:739
KeyFunction _funcKeyAShort
Function of the function key A, short press.
Definition anytone_extension.hh:750
KeyFunction _funcKeyBShort
Function of the function key B, short press.
Definition anytone_extension.hh:752
bool _sideKeysLock
Side-keys are locked.
Definition anytone_extension.hh:762
KeyFunction _funcKey5Long
Function of the function key 5, long press.
Definition anytone_extension.hh:747
KeyFunction _funcKey2Long
Function of the function key 2, long press.
Definition anytone_extension.hh:741
KeyFunction _funcKeyALong
Function of the function key A, long press.
Definition anytone_extension.hh:751
KeyFunction _funcKey2Short
Function of the function key 2, short press.
Definition anytone_extension.hh:740
KeyFunction
All possible key functions.
Definition anytone_extension.hh:603
KeyFunction _funcKeyDShort
Function of the function key D, short press.
Definition anytone_extension.hh:756
Interval _longPressDuration
The long-press duration in ms.
Definition anytone_extension.hh:758
KeyFunction _funcKey4Long
Function of the function key 4, long press.
Definition anytone_extension.hh:745
bool _forcedKeyLock
Forced key-lock.
Definition anytone_extension.hh:763
KeyFunction _funcKey5Short
Function of the function key 5, short press.
Definition anytone_extension.hh:746
KeyFunction _funcKeyCLong
Function of the function key C, long press.
Definition anytone_extension.hh:755
KeyFunction _funcKey1Short
Function of the function key 1, short press.
Definition anytone_extension.hh:738
KeyFunction _funcKeyDLong
Function of the function key D, long press.
Definition anytone_extension.hh:757
KeyFunction _funcKeyBLong
Function of the function key B, long press.
Definition anytone_extension.hh:753
bool _autoKeyLock
Auto key-lock property.
Definition anytone_extension.hh:759
KeyFunction _funcKey4Short
Function of the function key 4, short press.
Definition anytone_extension.hh:744
bool _knobLock
Knob locked too.
Definition anytone_extension.hh:760
KeyFunction _funcKey3Long
Function of the function key 3, long press.
Definition anytone_extension.hh:743
KeyFunction _funcKeyCShort
Function of the function key C, short press.
Definition anytone_extension.hh:754
KeyFunction _funcKey6Long
Function of the function key 6, long press.
Definition anytone_extension.hh:749
bool _keypadLock
Key-pad is locked.
Definition anytone_extension.hh:761
Implements the menu settings extension of AnyTone devices.
Definition anytone_extension.hh:1275
Implements the power-save settings for AnyTone devices.
Definition anytone_extension.hh:472
Interval _autoShutDownDelay
The auto shut-down delay in minutes.
Definition anytone_extension.hh:524
PowerSave _powerSave
Power save mode property.
Definition anytone_extension.hh:526
bool _resetAutoShutdownOnCall
Enables reset of auto shut-down timer on every call.
Definition anytone_extension.hh:525
bool _atpc
Adaptive Transmission Power Control.
Definition anytone_extension.hh:527
Implements the ranging/roaming settings extension of AnyTone devices.
Definition anytone_extension.hh:1824
Interval _repeaterCheckInterval
The repeater check interval in seconds.
Definition anytone_extension.hh:1958
RoamingZoneReference * _defaultRoamingZone
The default roaming zone.
Definition anytone_extension.hh:1966
RoamStart _roamingReturnCondition
Auto-roaming return condition.
Definition anytone_extension.hh:1962
unsigned int _notificationCount
Number of notifications.
Definition anytone_extension.hh:1964
bool _notification
Repeater check notification.
Definition anytone_extension.hh:1963
RoamStart _roamingStartCondition
Auto-roaming start condition.
Definition anytone_extension.hh:1961
RoamStart
Possible roaming start conditions.
Definition anytone_extension.hh:1879
Interval _autoRoamDelay
The auto-roam delay in seconds.
Definition anytone_extension.hh:1956
Interval _autoRoamPeriod
The auto-roam period in minutes.
Definition anytone_extension.hh:1955
bool _autoRoam
Enables auto roaming.
Definition anytone_extension.hh:1954
bool _gpsRoaming
Enables GPS roaming.
Definition anytone_extension.hh:1965
OutOfRangeAlert _outOfRangeAlert
Type of the out-out-range alert.
Definition anytone_extension.hh:1960
OutOfRangeAlert
Possible repeater out-of-range alerts.
Definition anytone_extension.hh:1885
unsigned int _repeaterRangeCheckCount
Number of range checks before giving up.
Definition anytone_extension.hh:1959
bool _repeaterRangeCheck
Enables the repeater range-check.
Definition anytone_extension.hh:1957
Implements the device specific extension for the general settings of AnyTone devices.
Definition anytone_extension.hh:2069
AnytoneToneSettingsExtension * _toneSettings
The tone settings.
Definition anytone_extension.hh:2322
Frequency _maxVFOScanFrequencyVHF
The maximum VHF VFO-scan frequency in Hz.
Definition anytone_extension.hh:2352
VFOMode
Possible VFO modes.
Definition anytone_extension.hh:2172
STEType
All possible STE (squelch tail eliminate) types.
Definition anytone_extension.hh:2184
ZoneReference _zoneB
The current zone for VFO B.
Definition anytone_extension.hh:2346
AnytoneKeySettingsExtension * _keySettings
The key settings.
Definition anytone_extension.hh:2320
ZoneReference * zoneB()
Returns a reference to the current zone for VFO B.
bool _proMode
The "pro mode" flag.
Definition anytone_extension.hh:2359
bool _maintainCallChannel
Maintains the call channel.
Definition anytone_extension.hh:2360
ZoneReference _zoneA
The current zone for VFO A.
Definition anytone_extension.hh:2345
VFOScanType
Encodes the possible VFO scan types.
Definition anytone_extension.hh:2166
AnytonePowerSaveSettingsExtension * _powerSaveSettings
The power-save settings.
Definition anytone_extension.hh:2318
AnytoneBootSettingsExtension * _bootSettings
The boot settings.
Definition anytone_extension.hh:2316
VFO
Possible VFOs.
Definition anytone_extension.hh:2178
AnytoneAutoRepeaterSettingsExtension * _autoRepeaterSettings
The auto-repeater settings.
Definition anytone_extension.hh:2330
bool _subChannel
If true, the sub-channel is enabled.
Definition anytone_extension.hh:2348
VFOScanType _vfoScanType
The VFO scan-type property.
Definition anytone_extension.hh:2342
AnytoneAudioSettingsExtension * _audioSettings
The audio settings.
Definition anytone_extension.hh:2326
AnytoneMenuSettingsExtension * _menuSettings
The menu settings.
Definition anytone_extension.hh:2328
bool _keepLastCaller
If true, the last caller is kept on channel switch.
Definition anytone_extension.hh:2353
AnytoneGPSSettingsExtension * _gpsSettings
The GSP settings.
Definition anytone_extension.hh:2334
AnytoneSimplexRepeaterSettingsExtension * _simplexRepeaterSettings
The simplex-repeater settings.
Definition anytone_extension.hh:2340
Interval _steDuration
STE duration.
Definition anytone_extension.hh:2357
AnytoneRoamingSettingsExtension * _roamingSettings
The roaming settings.
Definition anytone_extension.hh:2336
AnytoneBluetoothSettingsExtension * _bluetoothSettings
The bluetooth settings.
Definition anytone_extension.hh:2338
Frequency _vfoStep
The VFO tuning step in kHz.
Definition anytone_extension.hh:2354
VFOMode _modeB
Mode of VFO B.
Definition anytone_extension.hh:2344
AnytoneDMRSettingsExtension * _dmrSettings
The DMR settings.
Definition anytone_extension.hh:2332
Frequency _maxVFOScanFrequencyUHF
The maximum UHF VFO-scan frequency in Hz.
Definition anytone_extension.hh:2350
VFO _selectedVFO
The current VFO.
Definition anytone_extension.hh:2347
Frequency _minVFOScanFrequencyUHF
The minimum UHF VFO-scan frequency in Hz.
Definition anytone_extension.hh:2349
Frequency _minVFOScanFrequencyVHF
The minimum VHF VFO-scan frequency in Hz.
Definition anytone_extension.hh:2351
STEType _steType
The STE type.
Definition anytone_extension.hh:2355
AnytoneDisplaySettingsExtension * _displaySettings
The display settings.
Definition anytone_extension.hh:2324
ZoneReference * zoneA()
Returns a reference to the current zone for VFO A.
double _steFrequency
STE frequency in Hz.
Definition anytone_extension.hh:2356
VFOMode _modeA
Mode of VFO A.
Definition anytone_extension.hh:2343
Frequency _tbstFrequency
The TBST frequency in Hz.
Definition anytone_extension.hh:2358
Implements the simplex repeater settings for the BTECH DMR-6X2UV.
Definition anytone_extension.hh:2012
TimeSlot
Possible simplex repeater time-slots.
Definition anytone_extension.hh:2029
bool _monitor
If enabled, the radio will monitor the channel.
Definition anytone_extension.hh:2057
TimeSlot _timeSlot
The repeater time-slot.
Definition anytone_extension.hh:2058
bool _enabled
If true, the simplex repeater is enabled.
Definition anytone_extension.hh:2056
Implements the tone settings extension of AnyTone devices.
Definition anytone_extension.hh:772
Implements the AnyTone extensions for zones.
Definition anytone_extension.hh:305
bool _hidden
If true, the zone is hidden in the menu.
Definition anytone_extension.hh:324
Represents a reference to a channel.
Definition configreference.hh:123
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:34
Base class of all device/vendor specific confiuration extensions.
Definition configobject.hh:246
Parse context for config objects.
Definition configobject.hh:48
Base class for all configuration objects (channels, zones, contacts, etc).
Definition configobject.hh:40
List class for config objects.
Definition configobject.hh:349
Implements a reference to a config object.
Definition configreference.hh:17
Base class of all labeled and named objects.
Definition configobject.hh:199
Implements an interface to Anytone AT-D578UV VHF/UHF 50W DMR (Tier I & II) radios.
Definition d578uv.hh:19
Implements an interface to Anytone AT-D878UV VHF/UHF 7W DMR (Tier I & II) radios.
Definition d878uv.hh:36
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition errorstack.hh:41
Represents a time interval.
Definition interval.hh:11
A config item that encodes a melody.
Definition melody.hh:20
Implements a reference to a roaming zone.
Definition configreference.hh:273
Implements a reference to a zone.
Definition configreference.hh:295
Represents a zone within the generic configuration.
Definition zone.hh:15
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:11