libdrmconf 0.12.3
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;
123 void setAPRSPTT(APRSPTT mode);
124
125protected:
136};
137
138
142{
143 Q_OBJECT
144
146 Q_PROPERTY(bool reverseBurst READ reverseBurst WRITE enableReverseBurst)
152 Q_PROPERTY(double customCTCSS READ customCTCSS WRITE setCustomCTCSS)
156 Q_PROPERTY(bool scrambler READ scrambler WRITE enableScrambler)
157
158public:
160 enum class SquelchMode {
161 Carrier = 0,
162 SubTone = 1,
163 OptSig = 2,
164 SubToneAndOptSig = 3,
165 SubToneOrOptSig = 4
166 };
167 Q_ENUM(SquelchMode)
168
169public:
171 Q_INVOKABLE explicit AnytoneFMChannelExtension(QObject *parent=nullptr);
172
173 ConfigItem *clone() const;
174
176 bool reverseBurst() const;
178 void enableReverseBurst(bool enable);
179
181 bool rxCustomCTCSS() const;
183 void enableRXCustomCTCSS(bool enable);
185 bool txCustomCTCSS() const;
187 void enableTXCustomCTCSS(bool enable);
189 double customCTCSS() const;
191 void setCustomCTCSS(double freq);
192
194 SquelchMode squelchMode() const;
196 void setSquelchMode(SquelchMode mode);
197
199 bool scrambler() const;
201 void enableScrambler(bool enable);
202
203protected:
216};
217
218
222{
223 Q_OBJECT
224
226 Q_PROPERTY(bool callConfirm READ callConfirm WRITE enableCallConfirm)
228 Q_PROPERTY(bool sms READ sms WRITE enableSMS)
230 Q_PROPERTY(bool smsConfirm READ smsConfirm WRITE enableSMSConfirm)
232 Q_PROPERTY(bool dataACK READ dataACK WRITE enableDataACK)
234 Q_PROPERTY(bool simplexTDMA READ simplexTDMA WRITE enableSimplexTDMA)
238 Q_PROPERTY(bool adaptiveTDMA READ adaptiveTDMA WRITE enableAdaptiveTDMA)
240 Q_PROPERTY(bool loneWorker READ loneWorker WRITE enableLoneWorker)
242 Q_PROPERTY(bool throughMode READ throughMode WRITE enableThroughMode)
243
244public:
246 Q_INVOKABLE explicit AnytoneDMRChannelExtension(QObject *parent=nullptr);
247
248 ConfigItem *clone() const;
249
251 bool callConfirm() const;
253 void enableCallConfirm(bool enabled);
255 bool sms() const;
257 void enableSMS(bool enable);
259 bool smsConfirm() const;
261 void enableSMSConfirm(bool enabled);
263 bool dataACK() const;
265 void enableDataACK(bool enable);
267 bool simplexTDMA() const;
269 void enableSimplexTDMA(bool enable);
271 bool adaptiveTDMA() const;
273 void enableAdaptiveTDMA(bool enable);
275 bool loneWorker() const;
277 void enableLoneWorker(bool enable);
279 bool throughMode() const;
281 void enableThroughMode(bool enable);
282
283protected:
287 bool _sms;
300};
301
302
306{
307 Q_OBJECT
308
310 Q_PROPERTY(bool hidden READ hidden WRITE enableHidden)
311
312public:
314 Q_INVOKABLE explicit AnytoneZoneExtension(QObject *parent=nullptr);
315
316 ConfigItem *clone() const;
317
319 bool hidden() const;
321 void enableHidden(bool enable);
322
323protected:
326};
327
328
332{
333 Q_OBJECT
334
336 Q_PROPERTY(AlertType alertType READ alertType WRITE setAlertType)
337
338public:
340 enum class AlertType {
341 None = 0,
342 Ring = 1,
343 Online = 2
344 };
345 Q_ENUM(AlertType)
346
347public:
349 Q_INVOKABLE explicit AnytoneContactExtension(QObject *parent=nullptr);
350
351 ConfigItem *clone() const;
352
354 AlertType alertType() const;
356 void setAlertType(AlertType type);
357
358protected:
361};
362
363
369{
370 Q_OBJECT
371
373 Q_PROPERTY(BootDisplay bootDisplay READ bootDisplay WRITE setBootDisplay)
375 Q_PROPERTY(bool bootPasswordEnabled READ bootPasswordEnabled WRITE enableBootPassword)
377 Q_PROPERTY(QString bootPassword READ bootPassword WRITE setBootPassword)
378
379 Q_CLASSINFO("defaultChannelDescription", "If enabled, the default channels are selected at boot.")
381 Q_PROPERTY(bool defaultChannel READ defaultChannelEnabled WRITE enableDefaultChannel)
382 Q_CLASSINFO("zoneADescription", "The default zone for VFO A.")
384 Q_PROPERTY(ZoneReference* zoneA READ zoneA)
385 Q_CLASSINFO("channelADescription", "The default channel for VFO A. Must be within zone A.")
387 Q_PROPERTY(ChannelReference* channelA READ channelA)
388 Q_CLASSINFO("zoneBDescription", "The default zone for VFO B.")
390 Q_PROPERTY(ZoneReference* zoneB READ zoneB)
391 Q_CLASSINFO("channelBDescription", "The default channel for VFO B. Must be within zone B.")
393 Q_PROPERTY(ChannelReference* channelB READ channelB)
395 Q_PROPERTY(ZoneReference* priorityZoneA READ priorityZoneA)
397 Q_PROPERTY(ZoneReference* priorityZoneB READ priorityZoneB)
398
400 Q_PROPERTY(bool gpsCheck READ gpsCheckEnabled WRITE enableGPSCheck)
402 Q_PROPERTY(bool reset READ resetEnabled WRITE enableReset)
403
404public:
406 enum class BootDisplay {
407 Default = 0, CustomText = 1, CustomImage = 2
408 };
409 Q_ENUM(BootDisplay)
410
411public:
413 explicit AnytoneBootSettingsExtension(QObject *parent=nullptr);
414
415 ConfigItem *clone() const;
416
418 BootDisplay bootDisplay() const;
420 void setBootDisplay(BootDisplay mode);
422 bool bootPasswordEnabled() const;
424 void enableBootPassword(bool enable);
426 const QString &bootPassword() const;
428 void setBootPassword(const QString &pass);
429
431 bool defaultChannelEnabled() const;
433 void enableDefaultChannel(bool enable);
435 ZoneReference *zoneA() const;
437 ChannelReference *channelA() const;
439 ZoneReference *zoneB() const;
441 ChannelReference *channelB() const;
443 ZoneReference *priorityZoneA() const;
445 ZoneReference *priorityZoneB() const;
446
448 bool gpsCheckEnabled() const;
450 void enableGPSCheck(bool enable);
451
453 bool resetEnabled() const;
455 void enableReset(bool enable);
456
457protected:
469 bool _reset;
470};
471
472
478{
479 Q_OBJECT
480
481 Q_CLASSINFO("autoShutDownDelayDescription", "The auto shut-down delay in minutes.")
483 Q_PROPERTY(Interval autoShutdown READ autoShutdown WRITE setAutoShutdown)
484
486 Q_PROPERTY(bool resetAutoShutdownOnCall READ resetAutoShutdownOnCall WRITE enableResetAutoShutdownOnCall)
487
488 Q_CLASSINFO("powerSaveDescription", "Specifies the power save mode. "
489 "D686UV, D878UV(2) and DMR-6X2UV only.")
491 Q_PROPERTY(PowerSave powerSave READ powerSave WRITE setPowerSave)
492
494 Q_PROPERTY(bool atpc READ atpc WRITE enableATPC)
495
496public:
498 enum class PowerSave {
499 Off = 0, Save50 = 1, Save66 = 2
500 };
501 Q_ENUM(PowerSave)
502
503public:
505 explicit AnytonePowerSaveSettingsExtension(QObject *parent=nullptr);
506
507 ConfigItem *clone() const;
508
510 Interval autoShutdown() const;
512 void setAutoShutdown(Interval min);
513
515 bool resetAutoShutdownOnCall() const;
517 void enableResetAutoShutdownOnCall(bool enable);
518
520 PowerSave powerSave() const;
522 void setPowerSave(PowerSave mode);
523
525 bool atpc() const;
527 void enableATPC(bool enable);
528
529protected:
532 PowerSave _powerSave;
533 bool _atpc;
534};
535
536
542{
543 Q_OBJECT
544
546 Q_PROPERTY(KeyFunction funcKey1Short READ funcKey1Short WRITE setFuncKey1Short)
548 Q_PROPERTY(KeyFunction funcKey1Long READ funcKey1Long WRITE setFuncKey1Long)
550 Q_PROPERTY(KeyFunction funcKey2Short READ funcKey2Short WRITE setFuncKey2Short)
552 Q_PROPERTY(KeyFunction funcKey2Long READ funcKey2Long WRITE setFuncKey2Long)
554 Q_PROPERTY(KeyFunction funcKey3Short READ funcKey3Short WRITE setFuncKey3Short)
556 Q_PROPERTY(KeyFunction funcKey3Long READ funcKey3Long WRITE setFuncKey3Long)
558 Q_PROPERTY(KeyFunction funcKey4Short READ funcKey4Short WRITE setFuncKey4Short)
560 Q_PROPERTY(KeyFunction funcKey4Long READ funcKey4Long WRITE setFuncKey4Long)
562 Q_PROPERTY(KeyFunction funcKey5Short READ funcKey5Short WRITE setFuncKey5Short)
564 Q_PROPERTY(KeyFunction funcKey5Long READ funcKey5Long WRITE setFuncKey5Long)
566 Q_PROPERTY(KeyFunction funcKey6Short READ funcKey6Short WRITE setFuncKey6Short)
568 Q_PROPERTY(KeyFunction funcKey6Long READ funcKey6Long WRITE setFuncKey6Long)
570 Q_PROPERTY(KeyFunction funcKeyAShort READ funcKeyAShort WRITE setFuncKeyAShort)
572 Q_PROPERTY(KeyFunction funcKeyALong READ funcKeyALong WRITE setFuncKeyALong)
574 Q_PROPERTY(KeyFunction funcKeyBShort READ funcKeyBShort WRITE setFuncKeyBShort)
576 Q_PROPERTY(KeyFunction funcKeyBLong READ funcKeyBLong WRITE setFuncKeyBLong)
578 Q_PROPERTY(KeyFunction funcKeyCShort READ funcKeyCShort WRITE setFuncKeyCShort)
580 Q_PROPERTY(KeyFunction funcKeyCLong READ funcKeyCLong WRITE setFuncKeyCLong)
582 Q_PROPERTY(KeyFunction funcKeyDShort READ funcKeyDShort WRITE setFuncKeyDShort)
584 Q_PROPERTY(KeyFunction funcKeyDLong READ funcKeyDLong WRITE setFuncKeyDLong)
586 Q_PROPERTY(Interval longPressDuration READ longPressDuration WRITE setLongPressDuration)
587
589 Q_PROPERTY(bool autoKeyLock READ autoKeyLockEnabled WRITE enableAutoKeyLock)
590
591 Q_CLASSINFO("knobLockDescription", "If enabled, the knob gets locked too.")
593 Q_PROPERTY(bool knobLock READ knobLockEnabled WRITE enableKnobLock)
594
595 Q_CLASSINFO("keypadLockDescription", "If enabled, the key-pad gets locked.")
597 Q_PROPERTY(bool keypadLock READ keypadLockEnabled WRITE enableKeypadLock)
598
599 Q_CLASSINFO("sideKeysLockDescription", "If enabled, the side-keys get locked.")
601 Q_PROPERTY(bool sideKeysLock READ sideKeysLockEnabled WRITE enableSideKeysLock)
602
603 Q_CLASSINFO("forcedKeyLockDescription", "If enabled, the key-lock is forced.")
605 Q_PROPERTY(bool forcedKeyLock READ forcedKeyLockEnabled WRITE enableForcedKeyLock)
606
607public:
609 enum class KeyFunction {
610 Off, Voltage, Power, Repeater, Reverse, Encryption, Call, VOX, ToggleVFO, SubPTT,
611 Scan, WFM, Alarm, RecordSwitch, Record, SMS, Dial, GPSInformation, Monitor, ToggleMainChannel,
612 HotKey1, HotKey2, HotKey3, HotKey4, HotKey5, HotKey6, WorkAlone, SkipChannel, DMRMonitor,
613 SubChannel, PriorityZone, VFOScan, MICSoundQuality, LastCallReply, ChannelType, Ranging,
614 Roaming, ChannelRanging, MaxVolume, Slot, APRSTypeSwitch, Zone, ZoneUp, ZoneDown, RoamingSet,
615 APRSSet, Mute, MuteA, MuteB, CtcssDcsSet, TBSTSend, Bluetooth, GPS, ChannelName, CDTScan,
616 APRSSend, APRSInfo, Speaker, XBandRepeater, SimplexRepeater, GPSRoaming, Squelch, NoiseReductionTX
617 };
618 Q_ENUM(KeyFunction)
619
620public:
622 explicit AnytoneKeySettingsExtension(QObject *parent=nullptr);
623
624 ConfigItem *clone() const;
625
627 KeyFunction funcKey1Short() const;
629 void setFuncKey1Short(KeyFunction func);
631 KeyFunction funcKey1Long() const;
633 void setFuncKey1Long(KeyFunction func);
634
636 KeyFunction funcKey2Short() const;
638 void setFuncKey2Short(KeyFunction func);
640 KeyFunction funcKey2Long() const;
642 void setFuncKey2Long(KeyFunction func);
643
645 KeyFunction funcKey3Short() const;
647 void setFuncKey3Short(KeyFunction func);
649 KeyFunction funcKey3Long() const;
651 void setFuncKey3Long(KeyFunction func);
652
654 KeyFunction funcKey4Short() const;
656 void setFuncKey4Short(KeyFunction func);
658 KeyFunction funcKey4Long() const;
660 void setFuncKey4Long(KeyFunction func);
661
663 KeyFunction funcKey5Short() const;
665 void setFuncKey5Short(KeyFunction func);
667 KeyFunction funcKey5Long() const;
669 void setFuncKey5Long(KeyFunction func);
670
672 KeyFunction funcKey6Short() const;
674 void setFuncKey6Short(KeyFunction func);
676 KeyFunction funcKey6Long() const;
678 void setFuncKey6Long(KeyFunction func);
679
681 KeyFunction funcKeyAShort() const;
683 void setFuncKeyAShort(KeyFunction func);
685 KeyFunction funcKeyALong() const;
687 void setFuncKeyALong(KeyFunction func);
688
690 KeyFunction funcKeyBShort() const;
692 void setFuncKeyBShort(KeyFunction func);
694 KeyFunction funcKeyBLong() const;
696 void setFuncKeyBLong(KeyFunction func);
697
699 KeyFunction funcKeyCShort() const;
701 void setFuncKeyCShort(KeyFunction func);
703 KeyFunction funcKeyCLong() const;
705 void setFuncKeyCLong(KeyFunction func);
706
708 KeyFunction funcKeyDShort() const;
710 void setFuncKeyDShort(KeyFunction func);
712 KeyFunction funcKeyDLong() const;
714 void setFuncKeyDLong(KeyFunction func);
715
717 Interval longPressDuration() const;
719 void setLongPressDuration(Interval ms);
720
722 bool autoKeyLockEnabled() const;
724 void enableAutoKeyLock(bool enabled);
725
727 bool knobLockEnabled() const;
729 void enableKnobLock(bool enable);
731 bool keypadLockEnabled() const;
733 void enableKeypadLock(bool enable);
735 bool sideKeysLockEnabled() const;
737 void enableSideKeysLock(bool enable);
739 bool forcedKeyLockEnabled() const;
741 void enableForcedKeyLock(bool enable);
742
743protected:
770};
771
772
778{
779 Q_OBJECT
780 Q_CLASSINFO("description", "Tone settings for AnyTone devices.")
781
782 Q_CLASSINFO("keyToneDescription", "If true, enables the key tones.")
784 Q_PROPERTY(bool keyTone READ keyToneEnabled WRITE enableKeyTone)
785
786 Q_CLASSINFO("keyToneLevelDescription", "Specifies the key-tone level, 0=user adjustable.")
788 Q_PROPERTY(unsigned int keyToneLevel READ keyToneLevel WRITE setKeyToneLevel)
789
790 Q_CLASSINFO("smsAlertDescription", "Enables/disables the SMS alert tone.")
792 Q_PROPERTY(bool smsAlert READ smsAlertEnabled WRITE enableSMSAlert)
793
794 Q_CLASSINFO("callAlertDescription", "Enables/disables the call alert tone.")
796 Q_PROPERTY(bool callAlert READ callAlertEnabled WRITE enableCallAlert)
797
798 Q_CLASSINFO("dmrTalkPermitDescription", "Enables/disables the talk-permit tone for DMR channels.")
800 Q_PROPERTY(bool dmrTalkPermit READ talkPermitDigitalEnabled WRITE enableTalkPermitDigital)
801
802 Q_CLASSINFO("dmrResetDescription", "Enables/disables the reset tone for DMR channels.")
804 Q_PROPERTY(bool dmrReset READ digitalResetToneEnabled WRITE enableDigitalResetTone)
805
806 Q_CLASSINFO("fmTalkPermitDescription", "Enables/disables the talk-permit tone for FM channels.")
808 Q_PROPERTY(bool fmTalkPermit READ talkPermitAnalogEnabled WRITE enableTalkPermitAnalog)
809
811 Q_PROPERTY(bool dmrIdle READ dmrIdleChannelToneEnabled WRITE enableDMRIdleChannelTone)
813 Q_PROPERTY(bool fmIdle READ fmIdleChannelToneEnabled WRITE enableFMIdleChannelTone)
815 Q_PROPERTY(bool startup READ startupToneEnabled WRITE enableStartupTone)
817 Q_PROPERTY(bool tot READ totNotification WRITE enableTOTNotification)
818
820 Q_PROPERTY(Melody * callMelody READ callMelody)
822 Q_PROPERTY(Melody * idleMelody READ idleMelody)
824 Q_PROPERTY(Melody * resetMelody READ resetMelody)
826 Q_PROPERTY(Melody * callEndMelody READ callEndMelody)
827
828public:
830 explicit AnytoneToneSettingsExtension(QObject *parent=nullptr);
831
832 ConfigItem *clone() const;
833
835 bool keyToneEnabled() const;
837 void enableKeyTone(bool enable);
838
840 bool smsAlertEnabled() const;
842 void enableSMSAlert(bool enable);
844 bool callAlertEnabled() const;
846 void enableCallAlert(bool enable);
847
849 bool talkPermitDigitalEnabled() const;
851 void enableTalkPermitDigital(bool enable);
853 bool talkPermitAnalogEnabled() const;
855 void enableTalkPermitAnalog(bool enable);
857 bool digitalResetToneEnabled() const;
859 void enableDigitalResetTone(bool enable);
861 bool dmrIdleChannelToneEnabled() const;
863 void enableDMRIdleChannelTone(bool enable);
865 bool fmIdleChannelToneEnabled() const;
867 void enableFMIdleChannelTone(bool enable);
869 bool startupToneEnabled() const;
871 void enableStartupTone(bool enable);
873 bool totNotification() const;
875 void enableTOTNotification(bool enable);
876
878 Melody *callMelody() const;
880 Melody *idleMelody() const;
882 Melody *resetMelody() const;
884 Melody *callEndMelody() const;
885
887 unsigned int keyToneLevel() const;
889 void setKeyToneLevel(unsigned int level);
890
891protected:
892 bool _keyTone;
893 bool _smsAlert;
894 bool _callAlert;
895 bool _talkPermitDigital;
896 bool _talkPermitAnalog;
897 bool _resetToneDigital;
898 bool _dmrIdleChannelTone;
899 bool _fmIdleChannelTone;
900 bool _startupTone;
901 bool _totNotification;
902 Melody *_callMelody;
903 Melody *_idleMelody;
904 Melody *_resetMelody;
905 Melody *_callEndMelody;
906 unsigned int _keyToneLevel;
907
908};
909
910
916{
917 Q_OBJECT
918
920 Q_PROPERTY(bool displayFrequency READ displayFrequencyEnabled WRITE enableDisplayFrequency)
922 Q_PROPERTY(unsigned int brightness READ brightness WRITE setBrightness)
923
925 Q_PROPERTY(Interval backlightDuration READ backlightDuration WRITE setBacklightDuration)
926
927 Q_CLASSINFO("backlightDurationTX", "The duration in seconds, the backlight is lit during TX. "
928 "A value of 0 means off.")
930 Q_PROPERTY(Interval backlightDurationTX READ backlightDurationTX WRITE setBacklightDurationTX)
931
932 Q_CLASSINFO("backlightDurationRX", "The duration in seconds, the backlight is lit during RX. "
933 "A value of 0 means always on.")
935 Q_PROPERTY(Interval backlightDurationRX READ backlightDurationRX WRITE setBacklightDurationRX)
936
938 Q_PROPERTY(bool customChannelBackground READ customChannelBackground WRITE enableCustomChannelBackground)
939
941 Q_PROPERTY(bool volumeChangePrompt READ volumeChangePromptEnabled WRITE enableVolumeChangePrompt)
943 Q_PROPERTY(bool callEndPrompt READ callEndPromptEnabled WRITE enableCallEndPrompt)
944
946 Q_PROPERTY(bool showClock READ showClockEnabled WRITE enableShowClock)
948 Q_PROPERTY(bool showCall READ showCallEnabled WRITE enableShowCall)
950 Q_PROPERTY(bool showContact READ showContact WRITE enableShowContact)
952 Q_PROPERTY(bool showChannelNumber READ showChannelNumberEnabled WRITE enableShowChannelNumber)
954 Q_PROPERTY(bool showColorCode READ showColorCode WRITE enableShowColorCode)
956 Q_PROPERTY(bool showTimeSlot READ showTimeSlot WRITE enableShowTimeSlot)
958 Q_PROPERTY(bool showChannelType READ showChannelType WRITE enableShowChannelType)
960 Q_PROPERTY(bool showLastHeard READ showLastHeardEnabled WRITE enableShowLastHeard)
962 Q_PROPERTY(LastCallerDisplayMode lastCallerDisplay READ lastCallerDisplay WRITE setLastCallerDisplay)
963
965 Q_PROPERTY(Color callColor READ callColor WRITE setCallColor)
967 Q_PROPERTY(Color standbyTextColor READ standbyTextColor WRITE setStandbyTextColor)
969 Q_PROPERTY(Color standbyBackgroundColor READ standbyBackgroundColor WRITE setStandbyBackgroundColor)
970
971 Q_CLASSINFO("channelNameColorDescription", "Specifies the color of the channel name.")
973 Q_PROPERTY(Color channelNameColor READ channelNameColor WRITE setChannelNameColor)
974 Q_CLASSINFO("channelBNameColorDescription", "Specifies the color of the channel name for VFO B.")
976 Q_PROPERTY(Color channelBNameColor READ channelBNameColor WRITE setChannelBNameColor)
977
978 Q_CLASSINFO("zoneNameColorDescription", "Specifies the color of the zone name.")
980 Q_PROPERTY(Color zoneNameColor READ zoneNameColor WRITE setZoneNameColor)
981 Q_CLASSINFO("zoneBNameColorDescription", "Specifies the color of the zone name for VFO B.")
983 Q_PROPERTY(Color zoneBNameColor READ zoneBNameColor WRITE setZoneBNameColor)
984
986 Q_PROPERTY(Language language READ language WRITE setLanguage)
988 Q_PROPERTY(DateFormat dateFormat READ dateFormat WRITE setDateFormat)
989
990public:
993 Off = 0, ID = 1, Call = 2, Both = 3
994 };
995 Q_ENUM(LastCallerDisplayMode)
996
997
998 enum class Color {
999 White = 0, Black = 1, Orange=2, Red=3, Yellow=4, Green=5, Turquoise=6, Blue=7
1000 };
1001 Q_ENUM(Color)
1002
1003
1004 enum class Language {
1005 English = 0,
1006 German = 1
1007 };
1008 Q_ENUM(Language)
1009
1010
1011 enum class DateFormat {
1012 YearFirst = 0,
1013 DayFirst = 1
1014 };
1015 Q_ENUM(DateFormat)
1016
1017public:
1019 explicit AnytoneDisplaySettingsExtension(QObject *parent=nullptr);
1020
1021 ConfigItem *clone() const;
1022
1024 bool displayFrequencyEnabled() const;
1026 void enableDisplayFrequency(bool enable);
1027
1029 unsigned int brightness() const;
1031 void setBrightness(unsigned int level);
1032
1034 Interval backlightDuration() const;
1036 void setBacklightDuration(Interval sec);
1037
1039 bool volumeChangePromptEnabled() const;
1041 void enableVolumeChangePrompt(bool enable);
1042
1044 bool callEndPromptEnabled() const;
1046 void enableCallEndPrompt(bool enable);
1047
1049 LastCallerDisplayMode lastCallerDisplay() const;
1051 void setLastCallerDisplay(LastCallerDisplayMode mode);
1052
1054 bool showClockEnabled() const;
1056 void enableShowClock(bool enable);
1057
1059 bool showCallEnabled() const;
1061 void enableShowCall(bool enable);
1062
1064 Color callColor() const;
1066 void setCallColor(Color color);
1067
1069 Language language() const;
1071 void setLanguage(Language lang);
1073 DateFormat dateFormat() const;
1075 void setDateFormat(DateFormat format);
1076
1078 bool showChannelNumberEnabled() const;
1080 void enableShowChannelNumber(bool enable);
1082 bool showColorCode() const;
1084 void enableShowColorCode(bool enable);
1086 bool showTimeSlot() const;
1088 void enableShowTimeSlot(bool enable);
1090 bool showChannelType() const;
1092 void enableShowChannelType(bool enable);
1093
1095 bool showContact() const;
1097 void enableShowContact(bool enable);
1098
1100 Color standbyTextColor() const;
1102 void setStandbyTextColor(Color color);
1104 Color standbyBackgroundColor() const;
1106 void setStandbyBackgroundColor(Color color);
1107
1109 bool showLastHeardEnabled() const;
1111 void enableShowLastHeard(bool enable);
1112
1114 Interval backlightDurationTX() const;
1116 void setBacklightDurationTX(Interval sec);
1117
1119 Color channelNameColor() const;
1121 void setChannelNameColor(Color color);
1123 Color channelBNameColor() const;
1125 void setChannelBNameColor(Color color);
1126
1128 Color zoneNameColor() const;
1130 void setZoneNameColor(Color color);
1132 Color zoneBNameColor() const;
1134 void setZoneBNameColor(Color color);
1135
1137 Interval backlightDurationRX() const;
1139 void setBacklightDurationRX(Interval sec);
1141 bool customChannelBackground() const;
1143 void enableCustomChannelBackground(bool enable);
1144
1145protected:
1147 unsigned int _brightness;
1172};
1173
1174
1180{
1181 Q_OBJECT
1182
1184 Q_PROPERTY(Interval voxDelay READ voxDelay WRITE setVOXDelay)
1186 Q_PROPERTY(VoxSource voxSource READ voxSource WRITE setVOXSource)
1187
1189 Q_PROPERTY(bool recording READ recordingEnabled WRITE enableRecording)
1190
1192 Q_PROPERTY(bool enhance READ enhanceAudioEnabled WRITE enableEnhanceAudio)
1193
1195 Q_PROPERTY(Interval muteDelay READ muteDelay WRITE setMuteDelay)
1196
1198 Q_PROPERTY(unsigned int maxVolume READ maxVolume WRITE setMaxVolume)
1200 Q_PROPERTY(unsigned int maxHeadPhoneVolume READ maxHeadPhoneVolume WRITE setMaxHeadPhoneVolume)
1201
1203 Q_PROPERTY(bool enableFMMicGain READ fmMicGainEnabled WRITE enableFMMicGain)
1205 Q_PROPERTY(unsigned int fmMicGain READ fmMicGain WRITE setFMMicGain)
1206
1207public:
1209 enum class VoxSource {
1210 Internal = 0, External = 1, Both = 2
1211 };
1212 Q_ENUM(VoxSource)
1213
1214public:
1216 explicit AnytoneAudioSettingsExtension(QObject *parent=nullptr);
1217
1218 ConfigItem *clone() const;
1219
1221 Interval voxDelay() const;
1223 void setVOXDelay(Interval ms);
1224
1226 VoxSource voxSource() const;
1228 void setVOXSource(VoxSource source);
1229
1231 bool recordingEnabled() const;
1233 void enableRecording(bool enable);
1234
1236 unsigned int maxVolume() const;
1238 void setMaxVolume(unsigned int vol);
1240 unsigned int maxHeadPhoneVolume() const;
1242 void setMaxHeadPhoneVolume(unsigned int vol);
1243
1245 bool enhanceAudioEnabled() const;
1247 void enableEnhanceAudio(bool enable);
1248
1250 Interval muteDelay() const;
1252 void setMuteDelay(Interval intv);
1253
1255 bool fmMicGainEnabled() const;
1257 void enableFMMicGain(bool enable);
1259 unsigned int fmMicGain() const;
1261 void setFMMicGain(unsigned int gain);
1262
1263protected:
1267 unsigned int _maxVolume;
1268 unsigned int _maxHeadPhoneVolume;
1272 unsigned int _analogMicGain;
1273};
1274
1275
1281{
1282 Q_OBJECT
1283
1284 Q_CLASSINFO("durationDescription", "The time in seconds, the menu is shown.")
1286 Q_PROPERTY(Interval duration READ duration WRITE setDuration)
1287
1288 Q_CLASSINFO("separatorDescription", "If enabled, the menu items are separated by a line.")
1290 Q_PROPERTY(bool separator READ separatorEnabled WRITE enableSeparator)
1291
1292public:
1294 explicit AnytoneMenuSettingsExtension(QObject *parent=nullptr);
1295
1296 ConfigItem *clone() const;
1297
1299 Interval duration() const;
1301 void setDuration(Interval sec);
1303 bool separatorEnabled() const;
1305 void enableSeparator(bool enable);
1306
1307protected:
1308 Interval _menuDuration;
1309 bool _showSeparator;
1310};
1311
1312
1317{
1318 Q_OBJECT
1319 Q_CLASSINFO("IdPrefix", "off")
1320
1321 Q_CLASSINFO("offsetDecription",
1322 "Transmit-frequency offset in Hz.")
1323 Q_CLASSINFO("offsetLongDecription",
1324 "The transmit-frequency offset is specified as a positive integer in Hz. The offset "
1325 "direction is specified for each VFO separately.")
1327 Q_PROPERTY(Frequency offset READ offset WRITE setOffset)
1328
1329public:
1331 explicit Q_INVOKABLE AnytoneAutoRepeaterOffset(QObject *parent=nullptr);
1332
1333 ConfigItem *clone() const;
1334
1336 Frequency offset() const;
1338 void setOffset(Frequency offset);
1339
1340protected:
1342 Frequency _offset;
1343};
1344
1345
1349{
1350 Q_OBJECT
1351
1352public:
1354 explicit AnytoneAutoRepeaterOffsetRef(QObject *parent=nullptr);
1355};
1356
1357
1361{
1362 Q_OBJECT
1363
1364public:
1366 explicit AnytoneAutoRepeaterOffsetList(QObject *parent=nullptr);
1367
1368 ConfigItem *allocateChild(const YAML::Node &node, ConfigItem::Context &ctx, const ErrorStack &err);
1369};
1370
1371
1377{
1378 Q_OBJECT
1379 Q_CLASSINFO("description", "Auto-repeater settings for AnyTone devices.")
1380
1381 Q_CLASSINFO("directionADescription", "Auto-repeater transmit-frequency offset direction for VFO A.")
1383 Q_PROPERTY(Direction directionA READ directionA WRITE setDirectionA)
1384
1385 Q_CLASSINFO("directionBDescription", "Auto-repeater transmit-frequency offset direction for VFO B.")
1387 Q_PROPERTY(Direction directionB READ directionB WRITE setDirectionB)
1388
1389 Q_CLASSINFO("vhfMin", "The minimum frequency in Hz of the VHF auto-repeater frequency range.")
1391 Q_PROPERTY(Frequency vhfMin READ vhfMin WRITE setVHFMin)
1392
1393 Q_CLASSINFO("vhfMax", "The maximum frequency in Hz of the VHF auto-repeater frequency range.")
1395 Q_PROPERTY(Frequency vhfMax READ vhfMax WRITE setVHFMax)
1396
1397 Q_CLASSINFO("uhfMin", "The minimum frequency in Hz of the UHF auto-repeater frequency range.")
1399 Q_PROPERTY(Frequency uhfMin READ uhfMin WRITE setUHFMin)
1400
1401 Q_CLASSINFO("uhfMax", "The maximum frequency in Hz of the UHF auto-repeater frequency range.")
1403 Q_PROPERTY(Frequency uhfMax READ uhfMax WRITE setUHFMax)
1404
1405 Q_CLASSINFO("vhfDescription", "A reference to an offset frequency for the VHF band.")
1407 Q_PROPERTY(AnytoneAutoRepeaterOffsetRef* vhf READ vhfRef)
1408
1409 Q_CLASSINFO("uhfDescription", "A reference to an offset frequency for the UHF band.")
1411 Q_PROPERTY(AnytoneAutoRepeaterOffsetRef* uhf READ uhfRef)
1412
1413 Q_CLASSINFO("vhf2Min", "The minimum frequency in Hz of the second VHF auto-repeater frequency range.")
1415 Q_PROPERTY(Frequency vhf2Min READ vhf2Min WRITE setVHF2Min)
1416
1417 Q_CLASSINFO("vhf2Max", "The maximum frequency in Hz of the second VHF auto-repeater frequency range.")
1419 Q_PROPERTY(Frequency vhf2Max READ vhf2Max WRITE setVHF2Max)
1420
1421 Q_CLASSINFO("uhf2Min", "The minimum frequency in Hz of the second UHF auto-repeater frequency range.")
1423 Q_PROPERTY(Frequency uhf2Min READ uhf2Min WRITE setUHF2Min)
1424
1425 Q_CLASSINFO("uhf2Max", "The maximum frequency in Hz of the second UHF auto-repeater frequency range.")
1427 Q_PROPERTY(Frequency uhf2Max READ uhf2Max WRITE setUHF2Max)
1428
1429 Q_CLASSINFO("vhf2Description", "A reference to an offset frequency for the second VHF band.")
1431 Q_PROPERTY(AnytoneAutoRepeaterOffsetRef* vhf2 READ vhf2Ref)
1432
1433 Q_CLASSINFO("uhf2Description", "A reference to an offset frequency for the second UHF band.")
1435 Q_PROPERTY(AnytoneAutoRepeaterOffsetRef* uhf2 READ uhf2Ref)
1436
1437 Q_CLASSINFO("offsetDescription", "The lists of offset frequencies.")
1439 Q_PROPERTY(AnytoneAutoRepeaterOffsetList* offsets READ offsets)
1440
1441public:
1443 enum class Direction {
1444 Off = 0,
1445 Positive = 1,
1446 Negative = 2
1447 };
1448 Q_ENUM(Direction)
1449
1450public:
1452 explicit AnytoneAutoRepeaterSettingsExtension(QObject *parent=nullptr);
1453
1454 ConfigItem *clone() const;
1455
1457 Direction directionA() const;
1459 void setDirectionA(Direction dir);
1461 Direction directionB() const;
1463 void setDirectionB(Direction dir);
1464
1466 Frequency vhfMin() const;
1468 void setVHFMin(Frequency Hz);
1470 Frequency vhfMax() const;
1472 void setVHFMax(Frequency Hz);
1474 Frequency uhfMin() const;
1476 void setUHFMin(Frequency Hz);
1478 Frequency uhfMax() const;
1480 void setUHFMax(Frequency Hz);
1481
1483 AnytoneAutoRepeaterOffsetRef *uhfRef() const;
1485 AnytoneAutoRepeaterOffsetRef *vhfRef() const;
1486
1488 Frequency vhf2Min() const;
1490 void setVHF2Min(Frequency Hz);
1492 Frequency vhf2Max() const;
1494 void setVHF2Max(Frequency Hz);
1496 Frequency uhf2Min() const;
1498 void setUHF2Min(Frequency Hz);
1500 Frequency uhf2Max() const;
1502 void setUHF2Max(Frequency Hz);
1503
1505 AnytoneAutoRepeaterOffsetRef *uhf2Ref() const;
1507 AnytoneAutoRepeaterOffsetRef *vhf2Ref() const;
1508
1510 AnytoneAutoRepeaterOffsetList *offsets() const;
1511
1512protected:
1543};
1544
1545
1551{
1552 Q_OBJECT
1553
1554 Q_CLASSINFO("groupCallHangTimeDescription", "Specifies the hang- or hold-time for group calls.")
1556 Q_PROPERTY(Interval groupCallHangTime READ groupCallHangTime WRITE setGroupCallHangTime)
1558 Q_PROPERTY(Interval manualGroupCallHangTime READ manualGroupCallHangTime WRITE setManualGroupCallHangTime)
1559
1560 Q_CLASSINFO("privateCallHangTimeDescription", "Specifies the hang- or hold-time for private calls.")
1562 Q_PROPERTY(Interval privateCallHangTime READ privateCallHangTime WRITE setPrivateCallHangTime)
1564 Q_PROPERTY(Interval manualPrivateCallHangTime READ manualPrivateCallHangTime WRITE setManualPrivateCallHangTime)
1565
1566 Q_CLASSINFO("preWaveDelay", "Sets the pre-wave delay in ms. Should be set to 100ms.")
1568 Q_PROPERTY(Interval preWaveDelay READ preWaveDelay WRITE setPreWaveDelay)
1569
1570 Q_CLASSINFO("wakeHeadPeriod", "Sets the wake head-period in ms. Should be set to 100ms.")
1572 Q_PROPERTY(Interval wakeHeadPeriod READ wakeHeadPeriod WRITE setWakeHeadPeriod)
1573
1574 Q_CLASSINFO("filterOwnIDDescription", "If enabled, own ID is not shown in call lists.")
1576 Q_PROPERTY(bool filterOwnID READ filterOwnIDEnabled WRITE enableFilterOwnID)
1577
1578 Q_CLASSINFO("monitorSlotMatchDescription", "Time-slot match-mode for DMR monitor.")
1580 Q_PROPERTY(SlotMatch monitorSlotMatch READ monitorSlotMatch WRITE setMonitorSlotMatch)
1581
1582 Q_CLASSINFO("monitorColorCodeMatchDescription", "If enabled, the DMR monitor will only open for "
1583 "matching color-codes.")
1585 Q_PROPERTY(bool monitorColorCodeMatch READ monitorColorCodeMatchEnabled WRITE enableMonitorColorCodeMatch)
1586
1587 Q_CLASSINFO("monitorIDMatchDescription", "If enabled, the DMR monitor will only open for matching IDs.")
1589 Q_PROPERTY(bool monitorIDMatch READ monitorIDMatchEnabled WRITE enableMonitorIDMatch)
1590
1591 Q_CLASSINFO("monitorTimeSlotHold", "Whether the DMR monitor holds the time-slot.")
1593 Q_PROPERTY(bool monitorTimeSlotHold READ monitorTimeSlotHoldEnabled WRITE enableMonitorTimeSlotHold)
1594
1595 Q_CLASSINFO("smsFormatDescription", "Specifies the SMS format, select Motorola here.")
1597 Q_PROPERTY(SMSFormat smsFormat READ smsFormat WRITE setSMSFormat)
1598
1599 Q_CLASSINFO("sendTalkerAliasDescription", "Sends the radio name as talker alias over the air.")
1601 Q_PROPERTY(bool sendTalkerAlias READ sendTalkerAlias WRITE enableSendTalkerAlias)
1603 Q_PROPERTY(TalkerAliasSource talkerAliasSource READ talkerAliasSource WRITE setTalkerAliasSource)
1605 Q_PROPERTY(TalkerAliasEncoding talkerAliasEncoding READ talkerAliasEncoding WRITE setTalkerAliasEncoding)
1606
1608 Q_PROPERTY(EncryptionType encryption READ encryption WRITE setEncryption)
1609
1610
1611public:
1613 enum class SlotMatch {
1614 Off = 0, Single = 1, Both = 2
1615 };
1616 Q_ENUM(SlotMatch)
1617
1618
1619 enum class SMSFormat {
1620 Motorola = 0, Hytera = 1, DMR = 2
1621 };
1622 Q_ENUM(SMSFormat)
1623
1624
1625 enum class TalkerAliasSource {
1626 Off = 0, UserDB = 1, Air = 2
1627 };
1628 Q_ENUM(TalkerAliasSource)
1629
1630
1631 enum class TalkerAliasEncoding {
1632 ISO8 = 0, ISO7 = 1, Unicode = 2,
1633 };
1634 Q_ENUM(TalkerAliasEncoding)
1635
1636
1637 enum class EncryptionType {
1638 AES=0, DMR=1
1639 };
1640 Q_ENUM(EncryptionType)
1641
1642public:
1644 explicit AnytoneDMRSettingsExtension(QObject *parent = nullptr);
1645
1646 ConfigItem *clone() const;
1647
1649 Interval groupCallHangTime() const;
1651 void setGroupCallHangTime(Interval sec);
1653 Interval manualGroupCallHangTime() const;
1655 void setManualGroupCallHangTime(Interval sec);
1657 Interval privateCallHangTime() const;
1659 void setPrivateCallHangTime(Interval sec);
1661 Interval manualPrivateCallHangTime() const;
1663 void setManualPrivateCallHangTime(Interval sec);
1664
1666 Interval preWaveDelay() const;
1668 void setPreWaveDelay(Interval ms);
1670 Interval wakeHeadPeriod() const;
1672 void setWakeHeadPeriod(Interval ms);
1673
1675 bool filterOwnIDEnabled() const;
1677 void enableFilterOwnID(bool enable);
1678
1680 SlotMatch monitorSlotMatch() const;
1682 void setMonitorSlotMatch(SlotMatch match);
1684 bool monitorColorCodeMatchEnabled() const;
1686 void enableMonitorColorCodeMatch(bool enable);
1688 bool monitorIDMatchEnabled() const;
1690 void enableMonitorIDMatch(bool enable);
1692 bool monitorTimeSlotHoldEnabled() const;
1694 void enableMonitorTimeSlotHold(bool enable);
1695
1697 SMSFormat smsFormat() const;
1699 void setSMSFormat(SMSFormat format);
1700
1702 bool sendTalkerAlias() const;
1704 void enableSendTalkerAlias(bool enable);
1705
1707 TalkerAliasSource talkerAliasSource() const;
1709 void setTalkerAliasSource(TalkerAliasSource mode);
1710
1712 TalkerAliasEncoding talkerAliasEncoding() const ;
1714 void setTalkerAliasEncoding(TalkerAliasEncoding encoding);
1715
1717 EncryptionType encryption() const;
1719 void setEncryption(EncryptionType type);
1720
1721protected:
1733 SMSFormat _smsFormat;
1735 TalkerAliasSource _talkerAliasSource;
1736 TalkerAliasEncoding _talkerAliasEncoding;
1737 EncryptionType _encryption;
1738};
1739
1740
1746{
1747 Q_OBJECT
1748
1749 Q_CLASSINFO("unitsDescription", "Specifies the GPS units.")
1751 Q_PROPERTY(Units units READ units WRITE setUnits)
1752
1753 Q_CLASSINFO("timeZoneDescription", "Specifies the GPS time-zone (IANA name).")
1755 Q_PROPERTY(QString timeZone READ ianaTimeZone WRITE setIANATimeZone)
1756
1757 Q_CLASSINFO("positionReportingDescription", "Enables GPS range reporting.")
1759 Q_PROPERTY(bool reportPosition READ positionReportingEnabled WRITE enablePositionReporting)
1760
1761 Q_CLASSINFO("updatePeriodDescription", "Specifies the GPS reporting interval in seconds.")
1763 Q_PROPERTY(Interval updatePeriod READ updatePeriod WRITE setUpdatePeriod)
1764
1766 Q_PROPERTY(GPSMode mode READ mode WRITE setMode)
1767
1768public:
1770 enum class Units {
1771 Metric = 0, Archaic = 1
1772 };
1773 Q_ENUM(Units)
1774
1775
1776 enum class GPSMode {
1777 GPS=0, Beidou=1, GPS_Beidou=2, Glonass=3, GPS_Glonas=4, Beidou_Glonass=5, All=6
1778 };
1779 Q_ENUM(GPSMode)
1780
1781public:
1783 explicit AnytoneGPSSettingsExtension(QObject *parent=nullptr);
1784
1785 ConfigItem *clone() const;
1786
1788 Units units() const;
1790 void setUnits(Units units);
1791
1793 QString ianaTimeZone() const;
1795 QTimeZone timeZone() const;
1797 void setIANATimeZone(const QString &id);
1799 void setTimeZone(const QTimeZone &zone);
1800
1802 bool positionReportingEnabled() const;
1804 void enablePositionReporting(bool enable);
1805
1807 Interval updatePeriod() const;
1809 void setUpdatePeriod(Interval sec);
1810
1812 GPSMode mode() const;
1814 void setMode(GPSMode mode);
1815
1816protected:
1818 QTimeZone _timeZone;
1822};
1823
1824
1830{
1831 Q_OBJECT
1832
1833 Q_CLASSINFO("Description", "Collects all ranging/roaming settings for AnyTone devices.")
1834
1835
1836 Q_PROPERTY(bool autoRoam READ autoRoam WRITE enableAutoRoam)
1837
1838 Q_CLASSINFO("autoRoamPeriodDescription", "Specifies the auto-roaming period in minutes.")
1840 Q_PROPERTY(Interval autoRoamPeriod READ autoRoamPeriod WRITE setAutoRoamPeriod)
1841
1842 Q_CLASSINFO("autoRoamDelayDescription", "A delay in seconds before starting the auto-roaming.")
1844 Q_PROPERTY(Interval autoRoamDelay READ autoRoamDelay WRITE setAutoRoamDelay)
1845
1846 Q_CLASSINFO("roamStart", "Start condition for auto-roaming.")
1848 Q_PROPERTY(RoamStart roamStart READ roamingStartCondition WRITE setRoamingStartCondition)
1849
1850 Q_CLASSINFO("roamReturn", "Condition to return to the original repeater.")
1852 Q_PROPERTY(RoamStart roamReturn READ roamingReturnCondition WRITE setRoamingReturnCondition)
1853
1854 Q_CLASSINFO("rangeCheckDescription", "Repeater range check.")
1856 Q_PROPERTY(bool rangeCheck READ repeaterRangeCheckEnabled WRITE enableRepeaterRangeCheck)
1857
1858 Q_CLASSINFO("checkIntervalDescription", "Repeater range check interval in seconds.")
1860 Q_PROPERTY(Interval checkInterval READ repeaterCheckInterval WRITE setRepeaterCheckInterval)
1861
1862 Q_CLASSINFO("retryCount", "Number of retries to connect to a repeater before giving up.")
1864 Q_PROPERTY(unsigned int retryCount READ repeaterRangeCheckCount WRITE setRepeaterRangeCheckCount)
1865
1867 Q_PROPERTY(OutOfRangeAlert outOfRangeAlert READ outOfRangeAlert WRITE setOutOfRangeAlert)
1868
1869 Q_CLASSINFO("notificationDescription", "Enables the repeater-check notification.")
1871 Q_PROPERTY(bool notification READ notificationEnabled WRITE enableNotification)
1872
1873 Q_CLASSINFO("notificationCountDescription", "The number of repeater-check notifications.")
1875 Q_PROPERTY(unsigned int notificationCount READ notificationCount WRITE setNotificationCount)
1876
1878 Q_PROPERTY(RoamingZoneReference* defaultZone READ defaultZone)
1879
1881 Q_PROPERTY(bool gpsRoaming READ gpsRoaming WRITE enableGPSRoaming)
1882
1883public:
1885 enum class RoamStart {
1886 Periodic=0, OutOfRange=1
1887 };
1888 Q_ENUM(RoamStart)
1889
1890
1891 enum class OutOfRangeAlert {
1892 None = 0x00, Bell = 0x01, Voice = 0x02
1893 };
1894 Q_ENUM(OutOfRangeAlert)
1895
1896public:
1898 explicit AnytoneRoamingSettingsExtension(QObject *parent=nullptr);
1899
1900 ConfigItem *clone() const;
1901
1903 bool autoRoam() const;
1905 void enableAutoRoam(bool enable);
1906
1908 Interval autoRoamPeriod() const;
1910 void setAutoRoamPeriod(Interval min);
1912 Interval autoRoamDelay() const;
1914 void setAutoRoamDelay(Interval sec);
1915
1917 bool repeaterRangeCheckEnabled() const;
1919 void enableRepeaterRangeCheck(bool enable);
1921 Interval repeaterCheckInterval() const;
1923 void setRepeaterCheckInterval(Interval sec);
1925 unsigned int repeaterRangeCheckCount() const;
1927 void setRepeaterRangeCheckCount(unsigned int count);
1929 OutOfRangeAlert outOfRangeAlert() const;
1931 void setOutOfRangeAlert(OutOfRangeAlert type);
1932
1934 RoamStart roamingStartCondition() const;
1936 void setRoamingStartCondition(RoamStart start);
1938 RoamStart roamingReturnCondition() const;
1940 void setRoamingReturnCondition(RoamStart start);
1941
1943 bool notificationEnabled() const;
1945 void enableNotification(bool enable);
1947 unsigned int notificationCount() const;
1949 void setNotificationCount(unsigned int n);
1950
1952 bool gpsRoaming() const;
1954 void enableGPSRoaming(bool enable);
1955
1957 RoamingZoneReference *defaultZone() const;
1958
1959protected:
1970 unsigned int _notificationCount;
1973};
1974
1975
1981{
1982 Q_OBJECT
1983
1984 Q_CLASSINFO("Description", "Collects all bluetooth settings for AnyTone devices.")
1985
1986
1987 Q_PROPERTY(bool pttLatch READ pttLatch WRITE enablePTTLatch)
1989 Q_PROPERTY(Interval pttSleepTimer READ pttSleepTimer WRITE setPTTSleepTimer)
1990
1991public:
1993 explicit AnytoneBluetoothSettingsExtension(QObject *parent=nullptr);
1994
1995 ConfigItem *clone() const;
1996
1998 bool pttLatch() const;
2000 void enablePTTLatch(bool enable);
2001
2003 Interval pttSleepTimer() const;
2005 void setPTTSleepTimer(Interval intv);
2006
2007protected:
2008 bool _pttLatch;
2009 Interval _pttSleep;
2010};
2011
2012
2018{
2019 Q_OBJECT
2020
2021 Q_CLASSINFO("enabledDescription", "If true, the simplex-repeater feature is enabled.")
2023 Q_PROPERTY(bool enabled READ enabled WRITE enable)
2024
2025 Q_CLASSINFO("monitorDescription", "If true, the repeater-monitoring is enabled.")
2027 Q_PROPERTY(bool monitor READ monitorEnabled WRITE enableMonitor)
2028
2029 Q_CLASSINFO("timeSlotDescription", "Specifies the time-slot of the repeater.")
2031 Q_PROPERTY(TimeSlot timeSlot READ timeSlot WRITE setTimeSlot)
2032
2033public:
2035 enum class TimeSlot {
2036 TS1 = 0, TS2 = 1, Channel = 2
2037 };
2038 Q_ENUM(TimeSlot)
2039
2040public:
2042 explicit AnytoneSimplexRepeaterSettingsExtension(QObject *parent=nullptr);
2043
2044 ConfigItem *clone() const;
2045
2047 bool enabled() const;
2049 void enable(bool enable);
2050
2052 bool monitorEnabled() const;
2054 void enableMonitor(bool enable);
2055
2057 TimeSlot timeSlot() const;
2059 void setTimeSlot(TimeSlot ts);
2060
2061protected:
2065};
2066
2067
2075{
2076 Q_OBJECT
2077
2078 Q_CLASSINFO("description", "Device specific settings for AnyTone devices.")
2079
2080 Q_CLASSINFO("subChannelDescription", "Enables/disables the sub-channel.")
2082 Q_PROPERTY(bool subChannel READ subChannelEnabled WRITE enableSubChannel)
2083
2084 Q_CLASSINFO("selectedVFODecription", "Specifies the currently selected VFO (A or B).")
2086 Q_PROPERTY(VFO selectedVFO READ selectedVFO WRITE setSelectedVFO)
2087
2088 Q_CLASSINFO("modeADescription", "Specifies the mode (memory or VFO) for VFO A.")
2089 Q_CLASSINFO("modeBDescription", "Specifies the mode (memory or VFO) for VFO B.")
2091 Q_PROPERTY(VFOMode modeA READ modeA WRITE setModeA)
2093 Q_PROPERTY(VFOMode modeB READ modeB WRITE setModeB)
2094
2095 Q_CLASSINFO("zoneADescription", "Specifies the current zone for VFO A.")
2096 Q_CLASSINFO("zoneBDescription", "Specifies the current zone for VFO B.")
2098 Q_PROPERTY(ZoneReference* zoneA READ zoneA)
2100 Q_PROPERTY(ZoneReference* zoneB READ zoneB)
2101
2103 Q_PROPERTY(VFOScanType vfoScanType READ vfoScanType WRITE setVFOScanType)
2105 Q_PROPERTY(Frequency minVFOScanFrequencyUHF READ minVFOScanFrequencyUHF WRITE setMinVFOScanFrequencyUHF)
2107 Q_PROPERTY(Frequency maxVFOScanFrequencyUHF READ maxVFOScanFrequencyUHF WRITE setMaxVFOScanFrequencyUHF)
2109 Q_PROPERTY(Frequency minVFOScanFrequencyVHF READ minVFOScanFrequencyVHF WRITE setMinVFOScanFrequencyVHF)
2111 Q_PROPERTY(Frequency maxVFOScanFrequencyVHF READ maxVFOScanFrequencyVHF WRITE setMaxVFOScanFrequencyVHF)
2112
2113 Q_CLASSINFO("keepLastCallerDescription", "Keeps the last caller on channel switch")
2115 Q_PROPERTY(bool keepLastCaller READ keepLastCallerEnabled WRITE enableKeepLastCaller)
2116
2117 Q_CLASSINFO("vfoStepDescription", "Specifies the VFO tuning steps in kHz.")
2119 Q_PROPERTY(Frequency vfoStep READ vfoStep WRITE setVFOStep)
2120
2121 Q_CLASSINFO("steTypeDescription", "Specifies the STE (squelch tail elimination) type.")
2122 Q_CLASSINFO("steTypeLongDescription", "Can also be used to disable the STE entirely.")
2124 Q_PROPERTY(STEType steType READ steType WRITE setSTEType)
2125
2126 Q_CLASSINFO("steFrequencyDescription", "Specifies the STE (squelch tail elimination) frequency in Hz.")
2128 Q_PROPERTY(double steFrequency READ steFrequency WRITE setSTEFrequency)
2129
2130 Q_CLASSINFO("steDurationDescription", "Specifies the duration of the STE (squelch tail elimination) tone.")
2131 Q_CLASSINFO("steDurationLongDescription", "Valid values are usually in the range between 10 and 1000ms.")
2133 Q_PROPERTY(Interval steDuration READ steDuration WRITE setSTEDuration)
2134
2135 Q_CLASSINFO("tbstFrequencyDescription", "Specifies the TBST frequency in Hz.")
2136 Q_CLASSINFO("tbstFrequencyDescription", "Should be one of 1000, 1450, 1750 and 2100 Hz. "
2137 "D878UV(2), D578UV and DMR-6X2UV only.")
2139 Q_PROPERTY(Frequency tbstFrequency READ tbstFrequency WRITE setTBSTFrequency)
2140
2141 Q_CLASSINFO("proModeDescription", "Enables 'professional' mode. This limits the option reachable via the menu.")
2143 Q_PROPERTY(bool proMode READ proModeEnabled WRITE enableProMode)
2144
2146 Q_PROPERTY(bool maintainCallChannel READ maintainCallChannelEnabled WRITE enableMaintainCallChannel)
2147
2149 Q_PROPERTY(AnytoneBootSettingsExtension* bootSettings READ bootSettings)
2151 Q_PROPERTY(AnytonePowerSaveSettingsExtension* powerSaveSettings READ powerSaveSettings)
2153 Q_PROPERTY(AnytoneKeySettingsExtension* keySettings READ keySettings)
2155 Q_PROPERTY(AnytoneToneSettingsExtension* toneSettings READ toneSettings)
2157 Q_PROPERTY(AnytoneDisplaySettingsExtension* displaySettings READ displaySettings)
2159 Q_PROPERTY(AnytoneAudioSettingsExtension* audioSettings READ audioSettings)
2161 Q_PROPERTY(AnytoneMenuSettingsExtension* menuSettings READ menuSettings)
2163 Q_PROPERTY(AnytoneAutoRepeaterSettingsExtension* autoRepeaterSettings READ autoRepeaterSettings)
2165 Q_PROPERTY(AnytoneDMRSettingsExtension* dmrSettings READ dmrSettings)
2167 Q_PROPERTY(AnytoneGPSSettingsExtension* gpsSettings READ gpsSettings)
2169 Q_PROPERTY(AnytoneRoamingSettingsExtension* roamingSettings READ roamingSettings)
2171 Q_PROPERTY(AnytoneBluetoothSettingsExtension* bluetoothSettings READ bluetoothSettings)
2172
2173 Q_CLASSINFO("simplexRepeaterSettingsDescription",
2174 "Configuration for the DMR-6X2UV simplex-repeater feature.")
2176 Q_PROPERTY(AnytoneSimplexRepeaterSettingsExtension * simplexRepeaterSettings READ simplexRepeaterSettings)
2177
2178public:
2180 enum class VFOScanType {
2181 Time = 0, Carrier = 1, Stop = 2
2182 };
2183 Q_ENUM(VFOScanType)
2184
2185
2186 enum class VFOMode {
2187 Memory = 0, VFO = 1
2188 };
2189 Q_ENUM(VFOMode)
2190
2191
2192 enum class VFO {
2193 A = 0, B = 1
2194 };
2195 Q_ENUM(VFO)
2196
2197
2198 enum class STEType {
2199 Off = 0, Silent = 1, Deg120 = 2, Deg180 = 3, Deg240 = 4
2200 };
2201 Q_ENUM(STEType)
2202
2203
2204public:
2206 Q_INVOKABLE explicit AnytoneSettingsExtension(QObject *parent=nullptr);
2207
2208 ConfigItem *clone() const;
2209
2211 AnytoneBootSettingsExtension *bootSettings() const;
2213 AnytonePowerSaveSettingsExtension *powerSaveSettings() const;
2215 AnytoneKeySettingsExtension *keySettings() const;
2217 AnytoneToneSettingsExtension *toneSettings() const;
2219 AnytoneDisplaySettingsExtension *displaySettings() const;
2221 AnytoneAudioSettingsExtension *audioSettings() const;
2223 AnytoneMenuSettingsExtension *menuSettings() const;
2225 AnytoneAutoRepeaterSettingsExtension *autoRepeaterSettings() const;
2227 AnytoneDMRSettingsExtension *dmrSettings() const;
2229 AnytoneGPSSettingsExtension *gpsSettings() const;
2231 AnytoneRoamingSettingsExtension *roamingSettings() const;
2233 AnytoneBluetoothSettingsExtension *bluetoothSettings() const;
2235 AnytoneSimplexRepeaterSettingsExtension *simplexRepeaterSettings() const;
2236
2238 VFOScanType vfoScanType() const;
2240 void setVFOScanType(VFOScanType type);
2241
2243 VFOMode modeA() const;
2245 void setModeA(VFOMode mode);
2247 VFOMode modeB() const;
2249 void setModeB(VFOMode mode);
2250
2254 const ZoneReference *zoneA() const;
2258 const ZoneReference *zoneB() const;
2259
2261 VFO selectedVFO() const;
2263 void setSelectedVFO(VFO vfo);
2264
2266 bool subChannelEnabled() const;
2268 void enableSubChannel(bool enable);
2269
2271 Frequency minVFOScanFrequencyUHF() const;
2273 void setMinVFOScanFrequencyUHF(Frequency hz);
2275 Frequency maxVFOScanFrequencyUHF() const;
2277 void setMaxVFOScanFrequencyUHF(Frequency hz);
2278
2280 Frequency minVFOScanFrequencyVHF() const;
2282 void setMinVFOScanFrequencyVHF(Frequency hz);
2284 Frequency maxVFOScanFrequencyVHF() const;
2286 void setMaxVFOScanFrequencyVHF(Frequency hz);
2287
2289 bool keepLastCallerEnabled() const;
2291 void enableKeepLastCaller(bool enable);
2292
2294 Frequency vfoStep() const;
2296 void setVFOStep(Frequency step);
2297
2299 STEType steType() const;
2301 void setSTEType(STEType type);
2304 double steFrequency() const;
2307 void setSTEFrequency(double freq);
2309 Interval steDuration() const;
2311 void setSTEDuration(Interval intv);
2312
2314 Frequency tbstFrequency() const;
2316 void setTBSTFrequency(Frequency Hz);
2317
2319 bool proModeEnabled() const;
2321 void enableProMode(bool enable);
2322
2324 bool maintainCallChannelEnabled() const;
2326 void enableMaintainCallChannel(bool enable);
2327
2328protected:
2355
2375};
2376
2377
2382{
2383 Q_OBJECT
2384
2386 Q_PROPERTY(Interval txDelay READ txDelay WRITE setTXDelay)
2388 Q_PROPERTY(Interval preWaveDelay READ preWaveDelay WRITE setPreWaveDelay)
2390 Q_PROPERTY(bool passAll READ passAll WRITE enablePassAll)
2392 Q_PROPERTY(bool reportPosition READ reportPosition WRITE enableReportPosition)
2394 Q_PROPERTY(bool reportMicE READ reportMicE WRITE enableReportMicE)
2396 Q_PROPERTY(bool reportObject READ reportObject WRITE enableReportObject)
2398 Q_PROPERTY(bool reportItem READ reportItem WRITE enableReportItem)
2400 Q_PROPERTY(bool reportMessage READ reportMessage WRITE enableReportMessage)
2402 Q_PROPERTY(bool reportWeather READ reportWeather WRITE enableReportWeather)
2404 Q_PROPERTY(bool reportNMEA READ reportNMEA WRITE enableReportNMEA)
2406 Q_PROPERTY(bool reportStatus READ reportStatus WRITE enableReportStatus)
2408 Q_PROPERTY(bool reportOther READ reportOther WRITE enableReportOther)
2409
2411 Q_PROPERTY(AnytoneAPRSFrequencyList *frequencies READ frequencies)
2412
2413public:
2415 enum class Bandwidth {
2416 Narrow = 0, Wide = 1
2417 };
2418 Q_ENUM(Bandwidth)
2419
2420public:
2422 explicit Q_INVOKABLE AnytoneFMAPRSSettingsExtension(QObject *parent=nullptr);
2423
2424 ConfigItem *clone() const;
2425
2427 Interval txDelay() const;
2429 void setTXDelay(Interval intv);
2430
2432 Interval preWaveDelay() const;
2434 void setPreWaveDelay(Interval ms);
2435
2437 bool passAll() const;
2439 void enablePassAll(bool enable);
2440
2442 bool reportPosition() const;
2444 void enableReportPosition(bool enable);
2446 bool reportMicE() const;
2448 void enableReportMicE(bool enable);
2450 bool reportObject() const;
2452 void enableReportObject(bool enable);
2454 bool reportItem() const;
2456 void enableReportItem(bool enable);
2458 bool reportMessage() const;
2460 void enableReportMessage(bool enable);
2462 bool reportWeather() const;
2464 void enableReportWeather(bool enable);
2466 bool reportNMEA() const;
2468 void enableReportNMEA(bool enable);
2470 bool reportStatus() const;
2472 void enableReportStatus(bool enable);
2474 bool reportOther() const;
2476 void enableReportOther(bool enable);
2477
2479 AnytoneAPRSFrequencyList *frequencies() const;
2480
2481protected:
2508};
2509
2510#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:1180
bool _recording
Recording enabled.
Definition anytone_extension.hh:1265
Interval _voxDelay
VOX delay in ms.
Definition anytone_extension.hh:1264
VoxSource
Source for the VOX.
Definition anytone_extension.hh:1209
bool _enhanceAudio
Enhance audio.
Definition anytone_extension.hh:1269
unsigned int _maxVolume
The maximum volume.
Definition anytone_extension.hh:1267
bool _enableAnalogMicGain
Enables separate analog mic gain.
Definition anytone_extension.hh:1271
Interval _muteDelay
Mute delay in minutes.
Definition anytone_extension.hh:1270
unsigned int _maxHeadPhoneVolume
The maximum head-phone volume.
Definition anytone_extension.hh:1268
VoxSource _voxSource
The VOX source.
Definition anytone_extension.hh:1266
unsigned int _analogMicGain
The FM mic gain.
Definition anytone_extension.hh:1272
Represents a list of auto-repeater offsets.
Definition anytone_extension.hh:1361
Represents a reference to a repeater offset.
Definition anytone_extension.hh:1349
Implements the config representation of a repeater offset.
Definition anytone_extension.hh:1317
Implements the auto-repeater settings extension of AnyTone devices.
Definition anytone_extension.hh:1377
Frequency _minUHF2
Minimum frequency of the second UHF auto-repeater range.
Definition anytone_extension.hh:1534
Frequency _maxUHF2
Maximum frequency of the second UHF auto-repeater range.
Definition anytone_extension.hh:1536
Frequency _maxVHF
Maximum frequency of the VHF auto-repeater range.
Definition anytone_extension.hh:1520
Direction _directionA
The auto-repeater direction for VFO A.
Definition anytone_extension.hh:1514
Frequency _minVHF
Minimum frequency of the VHF auto-repeater range.
Definition anytone_extension.hh:1518
AnytoneAutoRepeaterOffsetRef * _uhf2Offset
A reference to the second UHF offset frequency.
Definition anytone_extension.hh:1540
Direction _directionB
The auto-repeater direction for VFO B.
Definition anytone_extension.hh:1516
Direction
Encodes the auto-repeater offset sign.
Definition anytone_extension.hh:1443
AnytoneAutoRepeaterOffsetRef * _vhfOffset
A reference to the VHF offset frequency.
Definition anytone_extension.hh:1526
Frequency _maxVHF2
Maximum frequency of the second VHF auto-repeater range.
Definition anytone_extension.hh:1532
AnytoneAutoRepeaterOffsetRef * _uhfOffset
A reference to the UHF offset frequency.
Definition anytone_extension.hh:1528
Frequency _minUHF
Minimum frequency of the UHF auto-repeater range.
Definition anytone_extension.hh:1522
AnytoneAutoRepeaterOffsetList * _offsets
The list of repeater offsets.
Definition anytone_extension.hh:1542
Frequency _maxUHF
Maximum frequency of the UHF auto-repeater range.
Definition anytone_extension.hh:1524
Frequency _minVHF2
Minimum frequency of the second VHF auto-repeater range.
Definition anytone_extension.hh:1530
AnytoneAutoRepeaterOffsetRef * _vhf2Offset
A reference to the second VHF offset frequency.
Definition anytone_extension.hh:1538
Implements the bluetooth settings for some AnyTone devices.
Definition anytone_extension.hh:1981
Implements the boot settings extension of AnyTone devices.
Definition anytone_extension.hh:369
bool _reset
Enables MCU reset on boot.
Definition anytone_extension.hh:469
ChannelReference * _channelB
Default channel for VFO B, must be member of zone for VFO B.
Definition anytone_extension.hh:465
bool _bootPasswordEnabled
If true, the boot password is enabled.
Definition anytone_extension.hh:459
BootDisplay _bootDisplay
The boot display property.
Definition anytone_extension.hh:458
ZoneReference * _priorityZoneA
Priority zone for VFO A.
Definition anytone_extension.hh:466
bool _defaultChannel
Change to the default channel on boot.
Definition anytone_extension.hh:461
bool _gpsCheck
Enables GPS check.
Definition anytone_extension.hh:468
ZoneReference * _zoneA
Default zone for VFO A.
Definition anytone_extension.hh:462
ZoneReference * _priorityZoneB
Priority zone for VFO B.
Definition anytone_extension.hh:467
BootDisplay
What to display during boot.
Definition anytone_extension.hh:406
ZoneReference * _zoneB
Default zone for VFO B.
Definition anytone_extension.hh:464
ChannelReference * _channelA
Default channel for VFO A, must be member of zone for VFO A.
Definition anytone_extension.hh:463
QString _bootPassword
The boot password.
Definition anytone_extension.hh:460
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:127
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:131
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:129
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
void setAPRSPTT(APRSPTT mode)
Sets the APRS PTT mode.
Definition anytone_extension.cc:118
APRSPTT _aprsPTT
Holds the APRS PTT mode.
Definition anytone_extension.hh:135
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:133
Implements the AnyTone contact extension.
Definition anytone_extension.hh:332
AlertType _alertType
Holds the alert type for the contact.
Definition anytone_extension.hh:360
AlertType
Possible ring-tone types.
Definition anytone_extension.hh:340
Implements the settings extension for DMR channels on AnyTone devices.
Definition anytone_extension.hh:222
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:299
bool loneWorker
If true, the lone-worker feature is enabled for this channel.
Definition anytone_extension.hh:240
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:234
ConfigItem * clone() const
Clones this item.
Definition anytone_extension.cc:229
bool _smsConfirm
If true, the SMS confirmation is enabled.
Definition anytone_extension.hh:289
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:293
bool sms
If true, SMS reception is enabled.
Definition anytone_extension.hh:228
bool _dataACK
If true, the data acknowledgement is enabled.
Definition anytone_extension.hh:291
bool _sms
If true, the SMS reception is enabled.
Definition anytone_extension.hh:287
bool adaptiveTDMA
If true, the adaptive TDMA mode is enabled.
Definition anytone_extension.hh:238
bool callConfirm
If true, the call confirmation is enabled.
Definition anytone_extension.hh:226
bool smsConfirm
If true, the SMS confirmation is enabled.
Definition anytone_extension.hh:230
bool throughMode
If true, the through mode is enabled (what ever that means).
Definition anytone_extension.hh:242
bool dataACK
If true, the radio will response to received data packages.
Definition anytone_extension.hh:232
bool _callConfirm
If true, the call confirmation is enabled.
Definition anytone_extension.hh:285
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:295
bool _loneWorker
If true the lone-worker feature is enabled.
Definition anytone_extension.hh:297
Implements the DMR settings extension of AnyTone devices.
Definition anytone_extension.hh:1551
SMSFormat _smsFormat
Sets the SMS format.
Definition anytone_extension.hh:1733
Interval _preWaveDelay
Pre-wave time in ms, should be 100ms.
Definition anytone_extension.hh:1726
bool _monitorColorCodeMatch
Enables CC match for DMR monitor.
Definition anytone_extension.hh:1730
bool _monitorIDMatch
Enables ID match for DMR monitor.
Definition anytone_extension.hh:1731
EncryptionType _encryption
DMR encryption type.
Definition anytone_extension.hh:1737
bool _monitorTimeSlotHold
Enables the time-slot hold for the DMR monitor.
Definition anytone_extension.hh:1732
Interval _manualGroupCallHangTime
Hang-time for manual dialed group-calls in seconds.
Definition anytone_extension.hh:1723
bool _filterOwnID
If enabled, the own ID is not shown in call lists.
Definition anytone_extension.hh:1728
TalkerAliasEncoding _talkerAliasEncoding
Encoding for the talker alias.
Definition anytone_extension.hh:1736
Interval _privateCallHangTime
Hang-time for private-calls in seconds.
Definition anytone_extension.hh:1724
bool _sendTalkerAlias
Enables sending talker alias.
Definition anytone_extension.hh:1734
Interval _groupCallHangTime
Hang-time for group-calls in seconds.
Definition anytone_extension.hh:1722
SlotMatch _monitorSlotMatch
Slot-match mode for DMR monitor.
Definition anytone_extension.hh:1729
Interval _wakeHeadPeriod
Wake head-period in ms, should be 100ms.
Definition anytone_extension.hh:1727
TalkerAliasSource _talkerAliasSource
Source for the talker alias.
Definition anytone_extension.hh:1735
Interval _manualPrivateCallHangTime
Hang-time for manual dialed private-calls in seconds.
Definition anytone_extension.hh:1725
Implements the display settings extension of AnyTone devices.
Definition anytone_extension.hh:916
Color _zoneNameColor
Color of zone name.
Definition anytone_extension.hh:1170
bool _callEndPrompt
Call-end prompt enabled.
Definition anytone_extension.hh:1150
bool _showLastHeard
Shows the last caller.
Definition anytone_extension.hh:1164
bool _showTimeSlot
Show time slot.
Definition anytone_extension.hh:1159
LastCallerDisplayMode _lastCallerDisplay
Last-caller display mode.
Definition anytone_extension.hh:1151
bool _showColorCode
Show color code.
Definition anytone_extension.hh:1158
bool _showContact
Enables showing the contact.
Definition anytone_extension.hh:1161
Color _callColor
Color of call.
Definition anytone_extension.hh:1154
bool _customChannelBackground
Custom channel background enabled.
Definition anytone_extension.hh:1167
Color
Possible display colors.
Definition anytone_extension.hh:998
Color _channelNameColor
Color of channel name.
Definition anytone_extension.hh:1168
unsigned int _brightness
The display brightness.
Definition anytone_extension.hh:1147
Color _zoneBNameColor
Color of zone name for VFO B.
Definition anytone_extension.hh:1171
Color _standbyBackgroundColor
Standby background color.
Definition anytone_extension.hh:1163
Interval _backlightDuration
Backlight duration in seconds, 0=permanent.
Definition anytone_extension.hh:1148
Color _standbyTextColor
Standby text color.
Definition anytone_extension.hh:1162
bool _volumeChangePrompt
Volume-change prompt enabled.
Definition anytone_extension.hh:1149
bool _showChannelNumber
Show channel number.
Definition anytone_extension.hh:1157
Interval _backlightDurationTX
Backlight duration in seconds during TX.
Definition anytone_extension.hh:1165
DateFormat
Possible date formats.
Definition anytone_extension.hh:1011
bool _showClock
Display clock.
Definition anytone_extension.hh:1152
bool _showCall
Display call.
Definition anytone_extension.hh:1153
bool _displayFrequency
Display frequency property.
Definition anytone_extension.hh:1146
Language
Possible UI languages.
Definition anytone_extension.hh:1004
Language _language
UI language.
Definition anytone_extension.hh:1155
DateFormat _dateFormat
The date format.
Definition anytone_extension.hh:1156
bool _showChannelType
Show channel type.
Definition anytone_extension.hh:1160
Interval _backlightDurationRX
Backlight duration in seconds during RX.
Definition anytone_extension.hh:1166
LastCallerDisplayMode
What to show from the last caller.
Definition anytone_extension.hh:992
Color _channelBNameColor
Color of channel name for VFO B.
Definition anytone_extension.hh:1169
Implements some additional settings for the FM APRS system.
Definition anytone_extension.hh:2382
bool _reportWeather
The report weather flag.
Definition anytone_extension.hh:2499
bool _reportMessage
The report message flag.
Definition anytone_extension.hh:2497
bool _reportMicE
The report Mic-E flag.
Definition anytone_extension.hh:2491
bool _reportStatus
The report status flag.
Definition anytone_extension.hh:2503
Interval _preWaveDelay
The pre-wave delay.
Definition anytone_extension.hh:2485
Interval _txDelay
The transmit delay.
Definition anytone_extension.hh:2483
bool _reportOther
The report other flag.
Definition anytone_extension.hh:2505
bool _reportItem
The report item flag.
Definition anytone_extension.hh:2495
bool _reportNMEA
The report NMEA flag.
Definition anytone_extension.hh:2501
bool _reportPosition
If true the report position flag is set.
Definition anytone_extension.hh:2489
bool _passAll
If true, all APRS messages are processed.
Definition anytone_extension.hh:2487
bool _reportObject
The report object flag.
Definition anytone_extension.hh:2493
Bandwidth
Possible bandwidth settings.
Definition anytone_extension.hh:2415
AnytoneAPRSFrequencyList * _frequencies
The list of additional FM APRS frequencies.
Definition anytone_extension.hh:2507
Implements the settings extension for FM channels on AnyTone devices.
Definition anytone_extension.hh:142
SquelchMode squelchMode
Holds the squelch mode.
Definition anytone_extension.hh:154
bool txCustomCTCSS
If true, the custom CTCSS tone is transmitted.
Definition anytone_extension.hh:150
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:156
SquelchMode _squelchMode
Holds the squelch mode.
Definition anytone_extension.hh:213
bool _reverseBurst
If true, the CTCSS phase-reverse burst at the end of transmission is enabled.
Definition anytone_extension.hh:205
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:160
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:146
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:152
bool _rxCustomCTCSS
If true, the custom CTCSS tone is used for RX (open squelch).
Definition anytone_extension.hh:207
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:215
bool _txCustomCTCSS
If true, the custom CTCSS tone is transmitted.
Definition anytone_extension.hh:209
double _customCTCSS
Holds the custom CTCSS tone frequency in Hz.
Definition anytone_extension.hh:211
bool rxCustomCTCSS
If true, the custom CTCSS tone is used for RX (open squelch).
Definition anytone_extension.hh:148
Implements the GPS settings extension of AnyTone devices.
Definition anytone_extension.hh:1746
bool _gpsRangeReporting
Enables GPS range reporting.
Definition anytone_extension.hh:1819
Units _gpsUnits
The GPS units.
Definition anytone_extension.hh:1817
QTimeZone _timeZone
The time zone.
Definition anytone_extension.hh:1818
GPSMode _mode
The GPS mode (GPS, Baidu, both).
Definition anytone_extension.hh:1821
Interval _gpsRangingInterval
The GPS ranging interval in seconds.
Definition anytone_extension.hh:1820
GPSMode
Possible GPS modes.
Definition anytone_extension.hh:1776
Units
Possible unit systems.
Definition anytone_extension.hh:1770
Implements the key settings extension of AnyTone devices.
Definition anytone_extension.hh:542
KeyFunction _funcKey6Short
Function of the function key 6, short press.
Definition anytone_extension.hh:754
KeyFunction _funcKey3Short
Function of the function key 3, short press.
Definition anytone_extension.hh:748
KeyFunction _funcKey1Long
Function of the function key 1, long press.
Definition anytone_extension.hh:745
KeyFunction _funcKeyAShort
Function of the function key A, short press.
Definition anytone_extension.hh:756
KeyFunction _funcKeyBShort
Function of the function key B, short press.
Definition anytone_extension.hh:758
bool _sideKeysLock
Side-keys are locked.
Definition anytone_extension.hh:768
KeyFunction _funcKey5Long
Function of the function key 5, long press.
Definition anytone_extension.hh:753
KeyFunction _funcKey2Long
Function of the function key 2, long press.
Definition anytone_extension.hh:747
KeyFunction _funcKeyALong
Function of the function key A, long press.
Definition anytone_extension.hh:757
KeyFunction _funcKey2Short
Function of the function key 2, short press.
Definition anytone_extension.hh:746
KeyFunction
All possible key functions.
Definition anytone_extension.hh:609
KeyFunction _funcKeyDShort
Function of the function key D, short press.
Definition anytone_extension.hh:762
Interval _longPressDuration
The long-press duration in ms.
Definition anytone_extension.hh:764
KeyFunction _funcKey4Long
Function of the function key 4, long press.
Definition anytone_extension.hh:751
bool _forcedKeyLock
Forced key-lock.
Definition anytone_extension.hh:769
KeyFunction _funcKey5Short
Function of the function key 5, short press.
Definition anytone_extension.hh:752
KeyFunction _funcKeyCLong
Function of the function key C, long press.
Definition anytone_extension.hh:761
KeyFunction _funcKey1Short
Function of the function key 1, short press.
Definition anytone_extension.hh:744
KeyFunction _funcKeyDLong
Function of the function key D, long press.
Definition anytone_extension.hh:763
KeyFunction _funcKeyBLong
Function of the function key B, long press.
Definition anytone_extension.hh:759
bool _autoKeyLock
Auto key-lock property.
Definition anytone_extension.hh:765
KeyFunction _funcKey4Short
Function of the function key 4, short press.
Definition anytone_extension.hh:750
bool _knobLock
Knob locked too.
Definition anytone_extension.hh:766
KeyFunction _funcKey3Long
Function of the function key 3, long press.
Definition anytone_extension.hh:749
KeyFunction _funcKeyCShort
Function of the function key C, short press.
Definition anytone_extension.hh:760
KeyFunction _funcKey6Long
Function of the function key 6, long press.
Definition anytone_extension.hh:755
bool _keypadLock
Key-pad is locked.
Definition anytone_extension.hh:767
Implements the menu settings extension of AnyTone devices.
Definition anytone_extension.hh:1281
Implements the power-save settings for AnyTone devices.
Definition anytone_extension.hh:478
Interval _autoShutDownDelay
The auto shut-down delay in minutes.
Definition anytone_extension.hh:530
PowerSave _powerSave
Power save mode property.
Definition anytone_extension.hh:532
bool _resetAutoShutdownOnCall
Enables reset of auto shut-down timer on every call.
Definition anytone_extension.hh:531
bool _atpc
Adaptive Transmission Power Control.
Definition anytone_extension.hh:533
Implements the ranging/roaming settings extension of AnyTone devices.
Definition anytone_extension.hh:1830
Interval _repeaterCheckInterval
The repeater check interval in seconds.
Definition anytone_extension.hh:1964
RoamingZoneReference * _defaultRoamingZone
The default roaming zone.
Definition anytone_extension.hh:1972
RoamStart _roamingReturnCondition
Auto-roaming return condition.
Definition anytone_extension.hh:1968
unsigned int _notificationCount
Number of notifications.
Definition anytone_extension.hh:1970
bool _notification
Repeater check notification.
Definition anytone_extension.hh:1969
RoamStart _roamingStartCondition
Auto-roaming start condition.
Definition anytone_extension.hh:1967
RoamStart
Possible roaming start conditions.
Definition anytone_extension.hh:1885
Interval _autoRoamDelay
The auto-roam delay in seconds.
Definition anytone_extension.hh:1962
Interval _autoRoamPeriod
The auto-roam period in minutes.
Definition anytone_extension.hh:1961
bool _autoRoam
Enables auto roaming.
Definition anytone_extension.hh:1960
bool _gpsRoaming
Enables GPS roaming.
Definition anytone_extension.hh:1971
OutOfRangeAlert _outOfRangeAlert
Type of the out-out-range alert.
Definition anytone_extension.hh:1966
OutOfRangeAlert
Possible repeater out-of-range alerts.
Definition anytone_extension.hh:1891
unsigned int _repeaterRangeCheckCount
Number of range checks before giving up.
Definition anytone_extension.hh:1965
bool _repeaterRangeCheck
Enables the repeater range-check.
Definition anytone_extension.hh:1963
Implements the device specific extension for the general settings of AnyTone devices.
Definition anytone_extension.hh:2075
AnytoneToneSettingsExtension * _toneSettings
The tone settings.
Definition anytone_extension.hh:2336
Frequency _maxVFOScanFrequencyVHF
The maximum VHF VFO-scan frequency in Hz.
Definition anytone_extension.hh:2366
VFOMode
Possible VFO modes.
Definition anytone_extension.hh:2186
STEType
All possible STE (squelch tail eliminate) types.
Definition anytone_extension.hh:2198
ZoneReference _zoneB
The current zone for VFO B.
Definition anytone_extension.hh:2360
AnytoneKeySettingsExtension * _keySettings
The key settings.
Definition anytone_extension.hh:2334
ZoneReference * zoneB()
Returns a reference to the current zone for VFO B.
bool _proMode
The "pro mode" flag.
Definition anytone_extension.hh:2373
bool _maintainCallChannel
Maintains the call channel.
Definition anytone_extension.hh:2374
ZoneReference _zoneA
The current zone for VFO A.
Definition anytone_extension.hh:2359
VFOScanType
Encodes the possible VFO scan types.
Definition anytone_extension.hh:2180
AnytonePowerSaveSettingsExtension * _powerSaveSettings
The power-save settings.
Definition anytone_extension.hh:2332
AnytoneBootSettingsExtension * _bootSettings
The boot settings.
Definition anytone_extension.hh:2330
VFO
Possible VFOs.
Definition anytone_extension.hh:2192
AnytoneAutoRepeaterSettingsExtension * _autoRepeaterSettings
The auto-repeater settings.
Definition anytone_extension.hh:2344
bool _subChannel
If true, the sub-channel is enabled.
Definition anytone_extension.hh:2362
VFOScanType _vfoScanType
The VFO scan-type property.
Definition anytone_extension.hh:2356
AnytoneAudioSettingsExtension * _audioSettings
The audio settings.
Definition anytone_extension.hh:2340
AnytoneMenuSettingsExtension * _menuSettings
The menu settings.
Definition anytone_extension.hh:2342
bool _keepLastCaller
If true, the last caller is kept on channel switch.
Definition anytone_extension.hh:2367
AnytoneGPSSettingsExtension * _gpsSettings
The GSP settings.
Definition anytone_extension.hh:2348
AnytoneSimplexRepeaterSettingsExtension * _simplexRepeaterSettings
The simplex-repeater settings.
Definition anytone_extension.hh:2354
Interval _steDuration
STE duration.
Definition anytone_extension.hh:2371
AnytoneRoamingSettingsExtension * _roamingSettings
The roaming settings.
Definition anytone_extension.hh:2350
AnytoneBluetoothSettingsExtension * _bluetoothSettings
The bluetooth settings.
Definition anytone_extension.hh:2352
Frequency _vfoStep
The VFO tuning step in kHz.
Definition anytone_extension.hh:2368
VFOMode _modeB
Mode of VFO B.
Definition anytone_extension.hh:2358
AnytoneDMRSettingsExtension * _dmrSettings
The DMR settings.
Definition anytone_extension.hh:2346
Frequency _maxVFOScanFrequencyUHF
The maximum UHF VFO-scan frequency in Hz.
Definition anytone_extension.hh:2364
VFO _selectedVFO
The current VFO.
Definition anytone_extension.hh:2361
Frequency _minVFOScanFrequencyUHF
The minimum UHF VFO-scan frequency in Hz.
Definition anytone_extension.hh:2363
Frequency _minVFOScanFrequencyVHF
The minimum VHF VFO-scan frequency in Hz.
Definition anytone_extension.hh:2365
STEType _steType
The STE type.
Definition anytone_extension.hh:2369
AnytoneDisplaySettingsExtension * _displaySettings
The display settings.
Definition anytone_extension.hh:2338
ZoneReference * zoneA()
Returns a reference to the current zone for VFO A.
double _steFrequency
STE frequency in Hz.
Definition anytone_extension.hh:2370
VFOMode _modeA
Mode of VFO A.
Definition anytone_extension.hh:2357
Frequency _tbstFrequency
The TBST frequency in Hz.
Definition anytone_extension.hh:2372
Implements the simplex repeater settings for the BTECH DMR-6X2UV.
Definition anytone_extension.hh:2018
TimeSlot
Possible simplex repeater time-slots.
Definition anytone_extension.hh:2035
bool _monitor
If enabled, the radio will monitor the channel.
Definition anytone_extension.hh:2063
TimeSlot _timeSlot
The repeater time-slot.
Definition anytone_extension.hh:2064
bool _enabled
If true, the simplex repeater is enabled.
Definition anytone_extension.hh:2062
Implements the tone settings extension of AnyTone devices.
Definition anytone_extension.hh:778
Implements the AnyTone extensions for zones.
Definition anytone_extension.hh:306
bool _hidden
If true, the zone is hidden in the menu.
Definition anytone_extension.hh:325
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