libdrmconf  0.12.0
A library to program DMR radios.
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 
27 public:
29  Q_INVOKABLE explicit AnytoneAPRSFrequency(QObject *parent=nullptr);
30 
31  ConfigItem *clone() const;
32 
34  Frequency frequency() const;
36  void setFrequency(Frequency freq);
37 
38 protected:
41 };
42 
43 
47 {
48  Q_OBJECT
49 
50 public:
52  explicit AnytoneAPRSFrequencyRef(QObject *parent=nullptr);
53 };
54 
55 
59 {
60  Q_OBJECT
61 
62 public:
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)
85 
86 protected:
88  explicit AnytoneChannelExtension(QObject *parent=nullptr);
89 
90 public:
92  bool talkaround() const;
94  void enableTalkaround(bool enable);
95 
97  int frequencyCorrection() const;
99  void setFrequencyCorrection(int corr);
100 
102  bool handsFree() const;
104  void enableHandsFree(bool enable);
105 
108 
109 protected:
118 };
119 
120 
124 {
125  Q_OBJECT
126 
128  Q_PROPERTY(bool reverseBurst READ reverseBurst WRITE enableReverseBurst)
130  Q_PROPERTY(bool rxCustomCTCSS READ rxCustomCTCSS WRITE enableRXCustomCTCSS)
132  Q_PROPERTY(bool txCustomCTCSS READ txCustomCTCSS WRITE enableTXCustomCTCSS)
134  Q_PROPERTY(double customCTCSS READ customCTCSS WRITE setCustomCTCSS)
136  Q_PROPERTY(SquelchMode squelchMode READ squelchMode WRITE setSquelchMode)
138  Q_PROPERTY(bool scrambler READ scrambler WRITE enableScrambler)
139 
140 public:
142  enum class SquelchMode {
143  Carrier = 0,
144  SubTone = 1,
145  OptSig = 2,
146  SubToneAndOptSig = 3,
147  SubToneOrOptSig = 4
148  };
149  Q_ENUM(SquelchMode)
150 
151 public:
153  Q_INVOKABLE explicit AnytoneFMChannelExtension(QObject *parent=nullptr);
154 
155  ConfigItem *clone() const;
156 
158  bool reverseBurst() const;
160  void enableReverseBurst(bool enable);
161 
163  bool rxCustomCTCSS() const;
165  void enableRXCustomCTCSS(bool enable);
167  bool txCustomCTCSS() const;
169  void enableTXCustomCTCSS(bool enable);
171  double customCTCSS() const;
173  void setCustomCTCSS(double freq);
174 
176  SquelchMode squelchMode() const;
178  void setSquelchMode(SquelchMode mode);
179 
181  bool scrambler() const;
183  void enableScrambler(bool enable);
184 
185 protected:
193  double _customCTCSS;
198 };
199 
200 
204 {
205  Q_OBJECT
206 
208  Q_PROPERTY(bool callConfirm READ callConfirm WRITE enableCallConfirm)
210  Q_PROPERTY(bool sms READ sms WRITE enableSMS)
212  Q_PROPERTY(bool smsConfirm READ smsConfirm WRITE enableSMSConfirm)
214  Q_PROPERTY(bool dataACK READ dataACK WRITE enableDataACK)
216  Q_PROPERTY(bool simplexTDMA READ simplexTDMA WRITE enableSimplexTDMA)
220  Q_PROPERTY(bool adaptiveTDMA READ adaptiveTDMA WRITE enableAdaptiveTDMA)
222  Q_PROPERTY(bool loneWorker READ loneWorker WRITE enableLoneWorker)
224  Q_PROPERTY(bool throughMode READ throughMode WRITE enableThroughMode)
225 
226 public:
228  Q_INVOKABLE explicit AnytoneDMRChannelExtension(QObject *parent=nullptr);
229 
230  ConfigItem *clone() const;
231 
233  bool callConfirm() const;
235  void enableCallConfirm(bool enabled);
237  bool sms() const;
239  void enableSMS(bool enable);
241  bool smsConfirm() const;
243  void enableSMSConfirm(bool enabled);
245  bool dataACK() const;
247  void enableDataACK(bool enable);
249  bool simplexTDMA() const;
251  void enableSimplexTDMA(bool enable);
253  bool adaptiveTDMA() const;
255  void enableAdaptiveTDMA(bool enable);
257  bool loneWorker() const;
259  void enableLoneWorker(bool enable);
261  bool throughMode() const;
263  void enableThroughMode(bool enable);
264 
265 protected:
269  bool _sms;
273  bool _dataACK;
282 };
283 
284 
288 {
289  Q_OBJECT
290 
292  Q_PROPERTY(bool hidden READ hidden WRITE enableHidden)
293 
294 public:
296  Q_INVOKABLE explicit AnytoneZoneExtension(QObject *parent=nullptr);
297 
298  ConfigItem *clone() const;
299 
301  bool hidden() const;
303  void enableHidden(bool enable);
304 
305 protected:
307  bool _hidden;
308 };
309 
310 
314 {
315  Q_OBJECT
316 
318  Q_PROPERTY(AlertType alertType READ alertType WRITE setAlertType)
319 
320 public:
322  enum class AlertType {
323  None = 0,
324  Ring = 1,
325  Online = 2
326  };
327  Q_ENUM(AlertType)
328 
329 public:
331  Q_INVOKABLE explicit AnytoneContactExtension(QObject *parent=nullptr);
332 
333  ConfigItem *clone() const;
334 
336  AlertType alertType() const;
338  void setAlertType(AlertType type);
339 
340 protected:
343 };
344 
345 
351 {
352  Q_OBJECT
353 
355  Q_PROPERTY(BootDisplay bootDisplay READ bootDisplay WRITE setBootDisplay)
359  Q_PROPERTY(QString bootPassword READ bootPassword WRITE setBootPassword)
360 
361 
362  Q_PROPERTY(bool defaultChannel READ defaultChannelEnabled WRITE enableDefaultChannel)
364  Q_PROPERTY(ZoneReference* zoneA READ zoneA)
366  Q_PROPERTY(ChannelReference* channelA READ channelA)
368  Q_PROPERTY(ZoneReference* zoneB READ zoneB)
370  Q_PROPERTY(ChannelReference* channelB READ channelB)
372  Q_PROPERTY(ZoneReference* priorityZoneA READ priorityZoneA)
374  Q_PROPERTY(ZoneReference* priorityZoneB READ priorityZoneB)
375 
376 
377  Q_PROPERTY(bool gpsCheck READ gpsCheckEnabled WRITE enableGPSCheck)
379  Q_PROPERTY(bool reset READ resetEnabled WRITE enableReset)
380 
381 public:
383  enum class BootDisplay {
384  Default = 0, CustomText = 1, CustomImage = 2
385  };
386  Q_ENUM(BootDisplay)
387 
388 public:
390  explicit AnytoneBootSettingsExtension(QObject *parent=nullptr);
391 
392  ConfigItem *clone() const;
393 
395  BootDisplay bootDisplay() const;
397  void setBootDisplay(BootDisplay mode);
399  bool bootPasswordEnabled() const;
401  void enableBootPassword(bool enable);
403  const QString &bootPassword() const;
405  void setBootPassword(const QString &pass);
406 
408  bool defaultChannelEnabled() const;
410  void enableDefaultChannel(bool enable);
412  ZoneReference *zoneA() const;
414  ChannelReference *channelA() const;
416  ZoneReference *zoneB() const;
418  ChannelReference *channelB() const;
420  ZoneReference *priorityZoneA() const;
422  ZoneReference *priorityZoneB() const;
423 
425  bool gpsCheckEnabled() const;
427  void enableGPSCheck(bool enable);
428 
430  bool resetEnabled() const;
432  void enableReset(bool enable);
433 
434 protected:
437  QString _bootPassword;
445  bool _gpsCheck;
446  bool _reset;
447 };
448 
449 
455 {
456  Q_OBJECT
457 
458  Q_CLASSINFO("autoShutDownDelayDescription", "The auto shut-down delay in minutes.")
460  Q_PROPERTY(Interval autoShutdown READ autoShutdown WRITE setAutoShutdown)
461 
462 
464 
465  Q_CLASSINFO("powerSaveDescription", "Specifies the power save mode. "
466  "D686UV, D878UV(2) and DMR-6X2UV only.")
468  Q_PROPERTY(PowerSave powerSave READ powerSave WRITE setPowerSave)
469 
470 
471  Q_PROPERTY(bool atpc READ atpc WRITE enableATPC)
472 
473 public:
475  enum class PowerSave {
476  Off = 0, Save50 = 1, Save66 = 2
477  };
478  Q_ENUM(PowerSave)
479 
480 public:
482  explicit AnytonePowerSaveSettingsExtension(QObject *parent=nullptr);
483 
484  ConfigItem *clone() const;
485 
487  Interval autoShutdown() const;
489  void setAutoShutdown(Interval min);
490 
492  bool resetAutoShutdownOnCall() const;
494  void enableResetAutoShutdownOnCall(bool enable);
495 
497  PowerSave powerSave() const;
499  void setPowerSave(PowerSave mode);
500 
502  bool atpc() const;
504  void enableATPC(bool enable);
505 
506 protected:
509  PowerSave _powerSave;
510  bool _atpc;
511 };
512 
513 
519 {
520  Q_OBJECT
521 
564 
565 
566  Q_PROPERTY(bool autoKeyLock READ autoKeyLockEnabled WRITE enableAutoKeyLock)
567 
568  Q_CLASSINFO("knobLockDescription", "If enabled, the knob gets locked too.")
570  Q_PROPERTY(bool knobLock READ knobLockEnabled WRITE enableKnobLock)
571 
572  Q_CLASSINFO("keypadLockDescription", "If enabled, the key-pad gets locked.")
574  Q_PROPERTY(bool keypadLock READ keypadLockEnabled WRITE enableKeypadLock)
575 
576  Q_CLASSINFO("sideKeysLockDescription", "If enabled, the side-keys get locked.")
578  Q_PROPERTY(bool sideKeysLock READ sideKeysLockEnabled WRITE enableSideKeysLock)
579 
580  Q_CLASSINFO("forcedKeyLockDescription", "If enabled, the key-lock is forced.")
582  Q_PROPERTY(bool forcedKeyLock READ forcedKeyLockEnabled WRITE enableForcedKeyLock)
583 
584 public:
586  enum class KeyFunction {
587  Off, Voltage, Power, Repeater, Reverse, Encryption, Call, VOX, ToggleVFO, SubPTT,
588  Scan, WFM, Alarm, RecordSwitch, Record, SMS, Dial, GPSInformation, Monitor, ToggleMainChannel,
589  HotKey1, HotKey2, HotKey3, HotKey4, HotKey5, HotKey6, WorkAlone, SkipChannel, DMRMonitor,
590  SubChannel, PriorityZone, VFOScan, MICSoundQuality, LastCallReply, ChannelType, Ranging,
591  Roaming, ChannelRanging, MaxVolume, Slot, APRSTypeSwitch, Zone, ZoneUp, ZoneDown, RoamingSet,
592  APRSSet, Mute, MuteA, MuteB, CtcssDcsSet, TBSTSend, Bluetooth, GPS, ChannelName, CDTScan,
593  APRSSend, APRSInfo, Speaker, XBandRepeater, SimplexRepeater, GPSRoaming, Squelch, NoiseReductionTX
594  };
595  Q_ENUM(KeyFunction)
596 
597 public:
599  explicit AnytoneKeySettingsExtension(QObject *parent=nullptr);
600 
601  ConfigItem *clone() const;
602 
604  KeyFunction funcKey1Short() const;
606  void setFuncKey1Short(KeyFunction func);
608  KeyFunction funcKey1Long() const;
610  void setFuncKey1Long(KeyFunction func);
611 
613  KeyFunction funcKey2Short() const;
615  void setFuncKey2Short(KeyFunction func);
617  KeyFunction funcKey2Long() const;
619  void setFuncKey2Long(KeyFunction func);
620 
622  KeyFunction funcKey3Short() const;
624  void setFuncKey3Short(KeyFunction func);
626  KeyFunction funcKey3Long() const;
628  void setFuncKey3Long(KeyFunction func);
629 
631  KeyFunction funcKey4Short() const;
633  void setFuncKey4Short(KeyFunction func);
635  KeyFunction funcKey4Long() const;
637  void setFuncKey4Long(KeyFunction func);
638 
640  KeyFunction funcKey5Short() const;
642  void setFuncKey5Short(KeyFunction func);
644  KeyFunction funcKey5Long() const;
646  void setFuncKey5Long(KeyFunction func);
647 
649  KeyFunction funcKey6Short() const;
651  void setFuncKey6Short(KeyFunction func);
653  KeyFunction funcKey6Long() const;
655  void setFuncKey6Long(KeyFunction func);
656 
658  KeyFunction funcKeyAShort() const;
660  void setFuncKeyAShort(KeyFunction func);
662  KeyFunction funcKeyALong() const;
664  void setFuncKeyALong(KeyFunction func);
665 
667  KeyFunction funcKeyBShort() const;
669  void setFuncKeyBShort(KeyFunction func);
671  KeyFunction funcKeyBLong() const;
673  void setFuncKeyBLong(KeyFunction func);
674 
676  KeyFunction funcKeyCShort() const;
678  void setFuncKeyCShort(KeyFunction func);
680  KeyFunction funcKeyCLong() const;
682  void setFuncKeyCLong(KeyFunction func);
683 
685  KeyFunction funcKeyDShort() const;
687  void setFuncKeyDShort(KeyFunction func);
689  KeyFunction funcKeyDLong() const;
691  void setFuncKeyDLong(KeyFunction func);
692 
694  Interval longPressDuration() const;
697 
699  bool autoKeyLockEnabled() const;
701  void enableAutoKeyLock(bool enabled);
702 
704  bool knobLockEnabled() const;
706  void enableKnobLock(bool enable);
708  bool keypadLockEnabled() const;
710  void enableKeypadLock(bool enable);
712  bool sideKeysLockEnabled() const;
714  void enableSideKeysLock(bool enable);
716  bool forcedKeyLockEnabled() const;
718  void enableForcedKeyLock(bool enable);
719 
720 protected:
743  bool _knobLock;
744  bool _keypadLock;
747 };
748 
749 
755 {
756  Q_OBJECT
757  Q_CLASSINFO("description", "Tone settings for AnyTone devices.")
758 
759  Q_CLASSINFO("keyToneDescription", "If true, enables the key tones.")
761  Q_PROPERTY(bool keyTone READ keyToneEnabled WRITE enableKeyTone)
762 
763  Q_CLASSINFO("keyToneLevelDescription", "Specifies the key-tone level, 0=user adjustable.")
765  Q_PROPERTY(unsigned int keyToneLevel READ keyToneLevel WRITE setKeyToneLevel)
766 
767  Q_CLASSINFO("smsAlertDescription", "Enables/disables the SMS alert tone.")
769  Q_PROPERTY(bool smsAlert READ smsAlertEnabled WRITE enableSMSAlert)
770 
771  Q_CLASSINFO("callAlertDescription", "Enables/disables the call alert tone.")
773  Q_PROPERTY(bool callAlert READ callAlertEnabled WRITE enableCallAlert)
774 
775  Q_CLASSINFO("dmrTalkPermitDescription", "Enables/disables the talk-permit tone for DMR channels.")
778 
779  Q_CLASSINFO("dmrResetDescription", "Enables/disables the reset tone for DMR channels.")
781  Q_PROPERTY(bool dmrReset READ digitalResetToneEnabled WRITE enableDigitalResetTone)
782 
783  Q_CLASSINFO("fmTalkPermitDescription", "Enables/disables the talk-permit tone for FM channels.")
786 
787 
790  Q_PROPERTY(bool fmIdle READ fmIdleChannelToneEnabled WRITE enableFMIdleChannelTone)
792  Q_PROPERTY(bool startup READ startupToneEnabled WRITE enableStartupTone)
794  Q_PROPERTY(bool tot READ totNotification WRITE enableTOTNotification)
795 
796 
797  Q_PROPERTY(Melody * callMelody READ callMelody)
799  Q_PROPERTY(Melody * idleMelody READ idleMelody)
801  Q_PROPERTY(Melody * resetMelody READ resetMelody)
803  Q_PROPERTY(Melody * callEndMelody READ callEndMelody)
804 
805 public:
807  explicit AnytoneToneSettingsExtension(QObject *parent=nullptr);
808 
809  ConfigItem *clone() const;
810 
812  bool keyToneEnabled() const;
814  void enableKeyTone(bool enable);
815 
817  bool smsAlertEnabled() const;
819  void enableSMSAlert(bool enable);
821  bool callAlertEnabled() const;
823  void enableCallAlert(bool enable);
824 
826  bool talkPermitDigitalEnabled() const;
828  void enableTalkPermitDigital(bool enable);
830  bool talkPermitAnalogEnabled() const;
832  void enableTalkPermitAnalog(bool enable);
834  bool digitalResetToneEnabled() const;
836  void enableDigitalResetTone(bool enable);
838  bool dmrIdleChannelToneEnabled() const;
840  void enableDMRIdleChannelTone(bool enable);
842  bool fmIdleChannelToneEnabled() const;
844  void enableFMIdleChannelTone(bool enable);
846  bool startupToneEnabled() const;
848  void enableStartupTone(bool enable);
850  bool totNotification() const;
852  void enableTOTNotification(bool enable);
853 
855  Melody *callMelody() const;
857  Melody *idleMelody() const;
859  Melody *resetMelody() const;
861  Melody *callEndMelody() const;
862 
864  unsigned int keyToneLevel() const;
866  void setKeyToneLevel(unsigned int level);
867 
868 protected:
869  bool _keyTone;
870  bool _smsAlert;
871  bool _callAlert;
883  unsigned int _keyToneLevel;
884 
885 };
886 
887 
893 {
894  Q_OBJECT
895 
899  Q_PROPERTY(unsigned int brightness READ brightness WRITE setBrightness)
900 
901 
903 
904  Q_CLASSINFO("backlightDurationTX", "The duration in seconds, the backlight is lit during TX. "
905  "A value of 0 means off.")
908 
909  Q_CLASSINFO("backlightDurationRX", "The duration in seconds, the backlight is lit during RX. "
910  "A value of 0 means off.")
913 
916 
920  Q_PROPERTY(bool callEndPrompt READ callEndPromptEnabled WRITE enableCallEndPrompt)
921 
923  Q_PROPERTY(bool showClock READ showClockEnabled WRITE enableShowClock)
925  Q_PROPERTY(bool showCall READ showCallEnabled WRITE enableShowCall)
927  Q_PROPERTY(bool showContact READ showContact WRITE enableShowContact)
931  Q_PROPERTY(bool showColorCode READ showColorCode WRITE enableShowColorCode)
933  Q_PROPERTY(bool showTimeSlot READ showTimeSlot WRITE enableShowTimeSlot)
935  Q_PROPERTY(bool showChannelType READ showChannelType WRITE enableShowChannelType)
937  Q_PROPERTY(bool showLastHeard READ showLastHeardEnabled WRITE enableShowLastHeard)
940 
942  Q_PROPERTY(Color callColor READ callColor WRITE setCallColor)
947 
948  Q_CLASSINFO("channelNameColorDescription", "Specifies the color of the channel name.")
951  Q_CLASSINFO("channelBNameColorDescription", "Specifies the color of the channel name for VFO B.")
954 
955  Q_CLASSINFO("zoneNameColorDescription", "Specifies the color of the zone name.")
957  Q_PROPERTY(Color zoneNameColor READ zoneNameColor WRITE setZoneNameColor)
958  Q_CLASSINFO("zoneBNameColorDescription", "Specifies the color of the zone name for VFO B.")
961 
963  Q_PROPERTY(Language language READ language WRITE setLanguage)
965  Q_PROPERTY(DateFormat dateFormat READ dateFormat WRITE setDateFormat)
966 
967 public:
970  Off = 0, ID = 1, Call = 2, Both = 3
971  };
972  Q_ENUM(LastCallerDisplayMode)
973 
974 
975  enum class Color {
976  White = 0, Black = 1, Orange=2, Red=3, Yellow=4, Green=5, Turquoise=6, Blue=7
977  };
978  Q_ENUM(Color)
979 
980 
981  enum class Language {
982  English = 0,
983  German = 1
984  };
985  Q_ENUM(Language)
986 
987 
988  enum class DateFormat {
989  YearFirst = 0,
990  DayFirst = 1
991  };
992  Q_ENUM(DateFormat)
993 
994 public:
996  explicit AnytoneDisplaySettingsExtension(QObject *parent=nullptr);
997 
998  ConfigItem *clone() const;
999 
1001  bool displayFrequencyEnabled() const;
1003  void enableDisplayFrequency(bool enable);
1004 
1006  unsigned int brightness() const;
1008  void setBrightness(unsigned int level);
1009 
1011  Interval backlightDuration() const;
1013  void setBacklightDuration(Interval sec);
1014 
1016  bool volumeChangePromptEnabled() const;
1018  void enableVolumeChangePrompt(bool enable);
1019 
1021  bool callEndPromptEnabled() const;
1023  void enableCallEndPrompt(bool enable);
1024 
1029 
1031  bool showClockEnabled() const;
1033  void enableShowClock(bool enable);
1034 
1036  bool showCallEnabled() const;
1038  void enableShowCall(bool enable);
1039 
1041  Color callColor() const;
1043  void setCallColor(Color color);
1044 
1046  Language language() const;
1048  void setLanguage(Language lang);
1050  DateFormat dateFormat() const;
1052  void setDateFormat(DateFormat format);
1053 
1055  bool showChannelNumberEnabled() const;
1057  void enableShowChannelNumber(bool enable);
1059  bool showColorCode() const;
1061  void enableShowColorCode(bool enable);
1063  bool showTimeSlot() const;
1065  void enableShowTimeSlot(bool enable);
1067  bool showChannelType() const;
1069  void enableShowChannelType(bool enable);
1070 
1072  bool showContact() const;
1074  void enableShowContact(bool enable);
1075 
1077  Color standbyTextColor() const;
1079  void setStandbyTextColor(Color color);
1081  Color standbyBackgroundColor() const;
1083  void setStandbyBackgroundColor(Color color);
1084 
1086  bool showLastHeardEnabled() const;
1088  void enableShowLastHeard(bool enable);
1089 
1091  Interval backlightDurationTX() const;
1093  void setBacklightDurationTX(Interval sec);
1094 
1096  Color channelNameColor() const;
1098  void setChannelNameColor(Color color);
1100  Color channelBNameColor() const;
1102  void setChannelBNameColor(Color color);
1103 
1105  Color zoneNameColor() const;
1107  void setZoneNameColor(Color color);
1109  Color zoneBNameColor() const;
1111  void setZoneBNameColor(Color color);
1112 
1114  Interval backlightDurationRX() const;
1116  void setBacklightDurationRX(Interval sec);
1118  bool customChannelBackground() const;
1120  void enableCustomChannelBackground(bool enable);
1121 
1122 protected:
1124  unsigned int _brightness;
1129  bool _showClock;
1130  bool _showCall;
1149 };
1150 
1151 
1157 {
1158  Q_OBJECT
1159 
1161  Q_PROPERTY(Interval voxDelay READ voxDelay WRITE setVOXDelay)
1163  Q_PROPERTY(VoxSource voxSource READ voxSource WRITE setVOXSource)
1164 
1165 
1166  Q_PROPERTY(bool recording READ recordingEnabled WRITE enableRecording)
1167 
1168 
1169  Q_PROPERTY(bool enhance READ enhanceAudioEnabled WRITE enableEnhanceAudio)
1170 
1171 
1172  Q_PROPERTY(Interval muteDelay READ muteDelay WRITE setMuteDelay)
1173 
1174 
1175  Q_PROPERTY(unsigned int maxVolume READ maxVolume WRITE setMaxVolume)
1177  Q_PROPERTY(unsigned int maxHeadPhoneVolume READ maxHeadPhoneVolume WRITE setMaxHeadPhoneVolume)
1178 
1179 
1180  Q_PROPERTY(bool enableFMMicGain READ fmMicGainEnabled WRITE enableFMMicGain)
1182  Q_PROPERTY(unsigned int fmMicGain READ fmMicGain WRITE setFMMicGain)
1183 
1184 public:
1186  enum class VoxSource {
1187  Internal = 0, External = 1, Both = 2
1188  };
1189  Q_ENUM(VoxSource)
1190 
1191 public:
1193  explicit AnytoneAudioSettingsExtension(QObject *parent=nullptr);
1194 
1195  ConfigItem *clone() const;
1196 
1198  Interval voxDelay() const;
1200  void setVOXDelay(Interval ms);
1201 
1203  VoxSource voxSource() const;
1205  void setVOXSource(VoxSource source);
1206 
1208  bool recordingEnabled() const;
1210  void enableRecording(bool enable);
1211 
1213  unsigned int maxVolume() const;
1215  void setMaxVolume(unsigned int vol);
1217  unsigned int maxHeadPhoneVolume() const;
1219  void setMaxHeadPhoneVolume(unsigned int vol);
1220 
1222  bool enhanceAudioEnabled() const;
1224  void enableEnhanceAudio(bool enable);
1225 
1227  Interval muteDelay() const;
1229  void setMuteDelay(Interval intv);
1230 
1232  bool fmMicGainEnabled() const;
1234  void enableFMMicGain(bool enable);
1236  unsigned int fmMicGain() const;
1238  void setFMMicGain(unsigned int gain);
1239 
1240 protected:
1242  bool _recording;
1244  unsigned int _maxVolume;
1245  unsigned int _maxHeadPhoneVolume;
1249  unsigned int _analogMicGain;
1250 };
1251 
1252 
1258 {
1259  Q_OBJECT
1260 
1261  Q_CLASSINFO("durationDescription", "The time in seconds, the menu is shown.")
1263  Q_PROPERTY(Interval duration READ duration WRITE setDuration)
1264 
1265  Q_CLASSINFO("separatorDescription", "If enabled, the menu items are separated by a line.")
1267  Q_PROPERTY(bool separator READ separatorEnabled WRITE enableSeparator)
1268 
1269 public:
1271  explicit AnytoneMenuSettingsExtension(QObject *parent=nullptr);
1272 
1273  ConfigItem *clone() const;
1274 
1276  Interval duration() const;
1278  void setDuration(Interval sec);
1280  bool separatorEnabled() const;
1282  void enableSeparator(bool enable);
1283 
1284 protected:
1287 };
1288 
1289 
1294 {
1295  Q_OBJECT
1296  Q_CLASSINFO("IdPrefix", "off")
1297 
1298  Q_CLASSINFO("offsetDecription",
1299  "Transmit-frequency offset in Hz.")
1300  Q_CLASSINFO("offsetLongDecription",
1301  "The transmit-frequency offset is specified as a positive integer in Hz. The offset "
1302  "direction is specified for each VFO separately.")
1304  Q_PROPERTY(Frequency offset READ offset WRITE setOffset)
1305 
1306 public:
1308  explicit Q_INVOKABLE AnytoneAutoRepeaterOffset(QObject *parent=nullptr);
1309 
1310  ConfigItem *clone() const;
1311 
1313  Frequency offset() const;
1315  void setOffset(Frequency offset);
1316 
1317 protected:
1320 };
1321 
1322 
1326 {
1327  Q_OBJECT
1328 
1329 public:
1331  explicit AnytoneAutoRepeaterOffsetRef(QObject *parent=nullptr);
1332 };
1333 
1334 
1338 {
1339  Q_OBJECT
1340 
1341 public:
1343  explicit AnytoneAutoRepeaterOffsetList(QObject *parent=nullptr);
1344 
1345  ConfigItem *allocateChild(const YAML::Node &node, ConfigItem::Context &ctx, const ErrorStack &err);
1346 };
1347 
1348 
1354 {
1355  Q_OBJECT
1356  Q_CLASSINFO("description", "Auto-repeater settings for AnyTone devices.")
1357 
1358  Q_CLASSINFO("directionADescription", "Auto-repeater transmit-frequency offset direction for VFO A.")
1360  Q_PROPERTY(Direction directionA READ directionA WRITE setDirectionA)
1361 
1362  Q_CLASSINFO("directionBDescription", "Auto-repeater transmit-frequency offset direction for VFO B.")
1364  Q_PROPERTY(Direction directionB READ directionB WRITE setDirectionB)
1365 
1366  Q_CLASSINFO("vhfMin", "The minimum frequency in Hz of the VHF auto-repeater frequency range.")
1368  Q_PROPERTY(Frequency vhfMin READ vhfMin WRITE setVHFMin)
1369 
1370  Q_CLASSINFO("vhfMax", "The maximum frequency in Hz of the VHF auto-repeater frequency range.")
1372  Q_PROPERTY(Frequency vhfMax READ vhfMax WRITE setVHFMax)
1373 
1374  Q_CLASSINFO("uhfMin", "The minimum frequency in Hz of the UHF auto-repeater frequency range.")
1376  Q_PROPERTY(Frequency uhfMin READ uhfMin WRITE setUHFMin)
1377 
1378  Q_CLASSINFO("uhfMax", "The maximum frequency in Hz of the UHF auto-repeater frequency range.")
1380  Q_PROPERTY(Frequency uhfMax READ uhfMax WRITE setUHFMax)
1381 
1382  Q_CLASSINFO("vhfDescription", "A reference to an offset frequency for the VHF band.")
1384  Q_PROPERTY(AnytoneAutoRepeaterOffsetRef* vhf READ vhfRef)
1385 
1386  Q_CLASSINFO("uhfDescription", "A reference to an offset frequency for the UHF band.")
1388  Q_PROPERTY(AnytoneAutoRepeaterOffsetRef* uhf READ uhfRef)
1389 
1390  Q_CLASSINFO("vhf2Min", "The minimum frequency in Hz of the second VHF auto-repeater frequency range.")
1392  Q_PROPERTY(Frequency vhf2Min READ vhf2Min WRITE setVHF2Min)
1393 
1394  Q_CLASSINFO("vhf2Max", "The maximum frequency in Hz of the second VHF auto-repeater frequency range.")
1396  Q_PROPERTY(Frequency vhf2Max READ vhf2Max WRITE setVHF2Max)
1397 
1398  Q_CLASSINFO("uhf2Min", "The minimum frequency in Hz of the second UHF auto-repeater frequency range.")
1400  Q_PROPERTY(Frequency uhf2Min READ uhf2Min WRITE setUHF2Min)
1401 
1402  Q_CLASSINFO("uhf2Max", "The maximum frequency in Hz of the second UHF auto-repeater frequency range.")
1404  Q_PROPERTY(Frequency uhf2Max READ uhf2Max WRITE setUHF2Max)
1405 
1406  Q_CLASSINFO("vhf2Description", "A reference to an offset frequency for the second VHF band.")
1408  Q_PROPERTY(AnytoneAutoRepeaterOffsetRef* vhf2 READ vhf2Ref)
1409 
1410  Q_CLASSINFO("uhf2Description", "A reference to an offset frequency for the second UHF band.")
1412  Q_PROPERTY(AnytoneAutoRepeaterOffsetRef* uhf2 READ uhf2Ref)
1413 
1414  Q_CLASSINFO("offsetDescription", "The lists of offset frequencies.")
1416  Q_PROPERTY(AnytoneAutoRepeaterOffsetList* offsets READ offsets)
1417 
1418 public:
1420  enum class Direction {
1421  Off = 0,
1422  Positive = 1,
1423  Negative = 2
1424  };
1425  Q_ENUM(Direction)
1426 
1427 public:
1429  explicit AnytoneAutoRepeaterSettingsExtension(QObject *parent=nullptr);
1430 
1431  ConfigItem *clone() const;
1432 
1434  Direction directionA() const;
1436  void setDirectionA(Direction dir);
1438  Direction directionB() const;
1440  void setDirectionB(Direction dir);
1441 
1443  Frequency vhfMin() const;
1445  void setVHFMin(Frequency Hz);
1447  Frequency vhfMax() const;
1449  void setVHFMax(Frequency Hz);
1451  Frequency uhfMin() const;
1453  void setUHFMin(Frequency Hz);
1455  Frequency uhfMax() const;
1457  void setUHFMax(Frequency Hz);
1458 
1460  AnytoneAutoRepeaterOffsetRef *uhfRef() const;
1462  AnytoneAutoRepeaterOffsetRef *vhfRef() const;
1463 
1465  Frequency vhf2Min() const;
1467  void setVHF2Min(Frequency Hz);
1469  Frequency vhf2Max() const;
1471  void setVHF2Max(Frequency Hz);
1473  Frequency uhf2Min() const;
1475  void setUHF2Min(Frequency Hz);
1477  Frequency uhf2Max() const;
1479  void setUHF2Max(Frequency Hz);
1480 
1482  AnytoneAutoRepeaterOffsetRef *uhf2Ref() const;
1484  AnytoneAutoRepeaterOffsetRef *vhf2Ref() const;
1485 
1487  AnytoneAutoRepeaterOffsetList *offsets() const;
1488 
1489 protected:
1520 };
1521 
1522 
1528 {
1529  Q_OBJECT
1530 
1531  Q_CLASSINFO("groupCallHangTimeDescription", "Specifies the hang- or hold-time for group calls.")
1533  Q_PROPERTY(Interval groupCallHangTime READ groupCallHangTime WRITE setGroupCallHangTime)
1535  Q_PROPERTY(Interval manualGroupCallHangTime READ manualGroupCallHangTime WRITE setManualGroupCallHangTime)
1536 
1537  Q_CLASSINFO("privateCallHangTimeDescription", "Specifies the hang- or hold-time for private calls.")
1539  Q_PROPERTY(Interval privateCallHangTime READ privateCallHangTime WRITE setPrivateCallHangTime)
1541  Q_PROPERTY(Interval manualPrivateCallHangTime READ manualPrivateCallHangTime WRITE setManualPrivateCallHangTime)
1542 
1543  Q_CLASSINFO("preWaveDelay", "Sets the pre-wave delay in ms. Should be set to 100ms.")
1545  Q_PROPERTY(Interval preWaveDelay READ preWaveDelay WRITE setPreWaveDelay)
1546 
1547  Q_CLASSINFO("wakeHeadPeriod", "Sets the wake head-period in ms. Should be set to 100ms.")
1549  Q_PROPERTY(Interval wakeHeadPeriod READ wakeHeadPeriod WRITE setWakeHeadPeriod)
1550 
1551  Q_CLASSINFO("filterOwnIDDescription", "If enabled, own ID is not shown in call lists.")
1553  Q_PROPERTY(bool filterOwnID READ filterOwnIDEnabled WRITE enableFilterOwnID)
1554 
1555  Q_CLASSINFO("monitorSlotMatchDescription", "Time-slot match-mode for DMR monitor.")
1557  Q_PROPERTY(SlotMatch monitorSlotMatch READ monitorSlotMatch WRITE setMonitorSlotMatch)
1558 
1559  Q_CLASSINFO("monitorColorCodeMatchDescription", "If enabled, the DMR monitor will only open for "
1560  "matching color-codes.")
1562  Q_PROPERTY(bool monitorColorCodeMatch READ monitorColorCodeMatchEnabled WRITE enableMonitorColorCodeMatch)
1563 
1564  Q_CLASSINFO("monitorIDMatchDescription", "If enabled, the DMR monitor will only open for matching IDs.")
1566  Q_PROPERTY(bool monitorIDMatch READ monitorIDMatchEnabled WRITE enableMonitorIDMatch)
1567 
1568  Q_CLASSINFO("monitorTimeSlotHold", "Whether the DMR monitor holds the time-slot.")
1570  Q_PROPERTY(bool monitorTimeSlotHold READ monitorTimeSlotHoldEnabled WRITE enableMonitorTimeSlotHold)
1571 
1572  Q_CLASSINFO("smsFormatDescription", "Specifies the SMS format, select Motorola here.")
1574  Q_PROPERTY(SMSFormat smsFormat READ smsFormat WRITE setSMSFormat)
1575 
1576  Q_CLASSINFO("sendTalkerAliasDescription", "Sends the radio name as talker alias over the air.")
1578  Q_PROPERTY(bool sendTalkerAlias READ sendTalkerAlias WRITE enableSendTalkerAlias)
1580  Q_PROPERTY(TalkerAliasSource talkerAliasSource READ talkerAliasSource WRITE setTalkerAliasSource)
1582  Q_PROPERTY(TalkerAliasEncoding talkerAliasEncoding READ talkerAliasEncoding WRITE setTalkerAliasEncoding)
1583 
1584 
1585  Q_PROPERTY(EncryptionType encryption READ encryption WRITE setEncryption)
1586 
1587 
1588 public:
1590  enum class SlotMatch {
1591  Off = 0, Single = 1, Both = 2
1592  };
1593  Q_ENUM(SlotMatch)
1594 
1595 
1596  enum class SMSFormat {
1597  Motorola = 0, Hytera = 1, DMR = 2
1598  };
1599  Q_ENUM(SMSFormat)
1600 
1601 
1602  enum class TalkerAliasSource {
1603  Off = 0, UserDB = 1, Air = 2
1604  };
1605  Q_ENUM(TalkerAliasSource)
1606 
1607 
1608  enum class TalkerAliasEncoding {
1609  ISO8 = 0, ISO7 = 1, Unicode = 2,
1610  };
1611  Q_ENUM(TalkerAliasEncoding)
1612 
1613 
1614  enum class EncryptionType {
1615  AES=0, DMR=1
1616  };
1617  Q_ENUM(EncryptionType)
1618 
1619 public:
1621  explicit AnytoneDMRSettingsExtension(QObject *parent = nullptr);
1622 
1623  ConfigItem *clone() const;
1624 
1626  Interval groupCallHangTime() const;
1628  void setGroupCallHangTime(Interval sec);
1630  Interval manualGroupCallHangTime() const;
1632  void setManualGroupCallHangTime(Interval sec);
1634  Interval privateCallHangTime() const;
1636  void setPrivateCallHangTime(Interval sec);
1638  Interval manualPrivateCallHangTime() const;
1640  void setManualPrivateCallHangTime(Interval sec);
1641 
1643  Interval preWaveDelay() const;
1645  void setPreWaveDelay(Interval ms);
1647  Interval wakeHeadPeriod() const;
1649  void setWakeHeadPeriod(Interval ms);
1650 
1652  bool filterOwnIDEnabled() const;
1654  void enableFilterOwnID(bool enable);
1655 
1657  SlotMatch monitorSlotMatch() const;
1659  void setMonitorSlotMatch(SlotMatch match);
1661  bool monitorColorCodeMatchEnabled() const;
1663  void enableMonitorColorCodeMatch(bool enable);
1665  bool monitorIDMatchEnabled() const;
1667  void enableMonitorIDMatch(bool enable);
1669  bool monitorTimeSlotHoldEnabled() const;
1671  void enableMonitorTimeSlotHold(bool enable);
1672 
1674  SMSFormat smsFormat() const;
1676  void setSMSFormat(SMSFormat format);
1677 
1679  bool sendTalkerAlias() const;
1681  void enableSendTalkerAlias(bool enable);
1682 
1684  TalkerAliasSource talkerAliasSource() const;
1686  void setTalkerAliasSource(TalkerAliasSource mode);
1687 
1689  TalkerAliasEncoding talkerAliasEncoding() const ;
1691  void setTalkerAliasEncoding(TalkerAliasEncoding encoding);
1692 
1694  EncryptionType encryption() const;
1696  void setEncryption(EncryptionType type);
1697 
1698 protected:
1706  SlotMatch _monitorSlotMatch;
1710  SMSFormat _smsFormat;
1712  TalkerAliasSource _talkerAliasSource;
1713  TalkerAliasEncoding _talkerAliasEncoding;
1714  EncryptionType _encryption;
1715 };
1716 
1717 
1723 {
1724  Q_OBJECT
1725 
1726  Q_CLASSINFO("unitsDescription", "Specifies the GPS units.")
1728  Q_PROPERTY(Units units READ units WRITE setUnits)
1729 
1730  Q_CLASSINFO("timeZoneDescription", "Specifies the GPS time-zone (IANA name).")
1732  Q_PROPERTY(QString timeZone READ ianaTimeZone WRITE setIANATimeZone)
1733 
1734  Q_CLASSINFO("positionReportingDescription", "Enables GPS range reporting.")
1736  Q_PROPERTY(bool reportPosition READ positionReportingEnabled WRITE enablePositionReporting)
1737 
1738  Q_CLASSINFO("updatePeriodDescription", "Specifies the GPS reporting interval in seconds.")
1740  Q_PROPERTY(Interval updatePeriod READ updatePeriod WRITE setUpdatePeriod)
1741 
1742 
1743  Q_PROPERTY(GPSMode mode READ mode WRITE setMode)
1744 
1745 public:
1747  enum class Units {
1748  Metric = 0, Archaic = 1
1749  };
1750  Q_ENUM(Units)
1751 
1752 
1753  enum class GPSMode {
1754  GPS=0, Beidou=1, GPS_Beidou=2, Glonass=3, GPS_Glonas=4, Beidou_Glonass=5, All=6
1755  };
1756  Q_ENUM(GPSMode)
1757 
1758 public:
1760  explicit AnytoneGPSSettingsExtension(QObject *parent=nullptr);
1761 
1762  ConfigItem *clone() const;
1763 
1765  Units units() const;
1767  void setUnits(Units units);
1768 
1770  QString ianaTimeZone() const;
1772  QTimeZone timeZone() const;
1774  void setIANATimeZone(const QString &id);
1776  void setTimeZone(const QTimeZone &zone);
1777 
1779  bool positionReportingEnabled() const;
1781  void enablePositionReporting(bool enable);
1782 
1784  Interval updatePeriod() const;
1786  void setUpdatePeriod(Interval sec);
1787 
1789  GPSMode mode() const;
1791  void setMode(GPSMode mode);
1792 
1793 protected:
1795  QTimeZone _timeZone;
1799 };
1800 
1801 
1807 {
1808  Q_OBJECT
1809 
1810  Q_CLASSINFO("Description", "Collects all ranging/roaming settings for AnyTone devices.")
1811 
1812 
1813  Q_PROPERTY(bool autoRoam READ autoRoam WRITE enableAutoRoam)
1814 
1815  Q_CLASSINFO("autoRoamPeriodDescription", "Specifies the auto-roaming period in minutes.")
1817  Q_PROPERTY(Interval autoRoamPeriod READ autoRoamPeriod WRITE setAutoRoamPeriod)
1818 
1819  Q_CLASSINFO("autoRoamDelayDescription", "A delay in seconds before starting the auto-roaming.")
1821  Q_PROPERTY(Interval autoRoamDelay READ autoRoamDelay WRITE setAutoRoamDelay)
1822 
1823  Q_CLASSINFO("roamStart", "Start condition for auto-roaming.")
1825  Q_PROPERTY(RoamStart roamStart READ roamingStartCondition WRITE setRoamingStartCondition)
1826 
1827  Q_CLASSINFO("roamReturn", "Condition to return to the original repeater.")
1829  Q_PROPERTY(RoamStart roamReturn READ roamingReturnCondition WRITE setRoamingReturnCondition)
1830 
1831  Q_CLASSINFO("rangeCheckDescription", "Repeater range check.")
1833  Q_PROPERTY(bool rangeCheck READ repeaterRangeCheckEnabled WRITE enableRepeaterRangeCheck)
1834 
1835  Q_CLASSINFO("checkIntervalDescription", "Repeater range check interval in seconds.")
1837  Q_PROPERTY(Interval checkInterval READ repeaterCheckInterval WRITE setRepeaterCheckInterval)
1838 
1839  Q_CLASSINFO("retryCount", "Number of retries to connect to a repeater before giving up.")
1841  Q_PROPERTY(unsigned int retryCount READ repeaterRangeCheckCount WRITE setRepeaterRangeCheckCount)
1842 
1843 
1844  Q_PROPERTY(OutOfRangeAlert outOfRangeAlert READ outOfRangeAlert WRITE setOutOfRangeAlert)
1845 
1846  Q_CLASSINFO("notificationDescription", "Enables the repeater-check notification.")
1848  Q_PROPERTY(bool notification READ notificationEnabled WRITE enableNotification)
1849 
1850  Q_CLASSINFO("notificationCountDescription", "The number of repeater-check notifications.")
1852  Q_PROPERTY(unsigned int notificationCount READ notificationCount WRITE setNotificationCount)
1853 
1854 
1855  Q_PROPERTY(RoamingZoneReference* defaultZone READ defaultZone)
1856 
1857 
1858  Q_PROPERTY(bool gpsRoaming READ gpsRoaming WRITE enableGPSRoaming)
1859 
1860 public:
1862  enum class RoamStart {
1863  Periodic=0, OutOfRange=1
1864  };
1865  Q_ENUM(RoamStart)
1866 
1867 
1868  enum class OutOfRangeAlert {
1869  None = 0x00, Bell = 0x01, Voice = 0x02
1870  };
1871  Q_ENUM(OutOfRangeAlert)
1872 
1873 public:
1875  explicit AnytoneRoamingSettingsExtension(QObject *parent=nullptr);
1876 
1877  ConfigItem *clone() const;
1878 
1880  bool autoRoam() const;
1882  void enableAutoRoam(bool enable);
1883 
1885  Interval autoRoamPeriod() const;
1887  void setAutoRoamPeriod(Interval min);
1889  Interval autoRoamDelay() const;
1891  void setAutoRoamDelay(Interval sec);
1892 
1894  bool repeaterRangeCheckEnabled() const;
1896  void enableRepeaterRangeCheck(bool enable);
1898  Interval repeaterCheckInterval() const;
1900  void setRepeaterCheckInterval(Interval sec);
1902  unsigned int repeaterRangeCheckCount() const;
1904  void setRepeaterRangeCheckCount(unsigned int count);
1906  OutOfRangeAlert outOfRangeAlert() const;
1908  void setOutOfRangeAlert(OutOfRangeAlert type);
1909 
1911  RoamStart roamingStartCondition() const;
1913  void setRoamingStartCondition(RoamStart start);
1915  RoamStart roamingReturnCondition() const;
1917  void setRoamingReturnCondition(RoamStart start);
1918 
1920  bool notificationEnabled() const;
1922  void enableNotification(bool enable);
1924  unsigned int notificationCount() const;
1926  void setNotificationCount(unsigned int n);
1927 
1929  bool gpsRoaming() const;
1931  void enableGPSRoaming(bool enable);
1932 
1934  RoamingZoneReference *defaultZone() const;
1935 
1936 protected:
1937  bool _autoRoam;
1947  unsigned int _notificationCount;
1950 };
1951 
1952 
1958 {
1959  Q_OBJECT
1960 
1961  Q_CLASSINFO("Description", "Collects all bluetooth settings for AnyTone devices.")
1962 
1963 
1964  Q_PROPERTY(bool pttLatch READ pttLatch WRITE enablePTTLatch)
1966  Q_PROPERTY(Interval pttSleepTimer READ pttSleepTimer WRITE setPTTSleepTimer)
1967 
1968 public:
1970  explicit AnytoneBluetoothSettingsExtension(QObject *parent=nullptr);
1971 
1972  ConfigItem *clone() const;
1973 
1975  bool pttLatch() const;
1977  void enablePTTLatch(bool enable);
1978 
1980  Interval pttSleepTimer() const;
1982  void setPTTSleepTimer(Interval intv);
1983 
1984 protected:
1985  bool _pttLatch;
1987 };
1988 
1989 
1995 {
1996  Q_OBJECT
1997 
1998  Q_CLASSINFO("enabledDescription", "If true, the simplex-repeater feature is enabled.")
2000  Q_PROPERTY(bool enabled READ enabled WRITE enable)
2001 
2002  Q_CLASSINFO("monitorDescription", "If true, the repeater-monitoring is enabled.")
2004  Q_PROPERTY(bool monitor READ monitorEnabled WRITE enableMonitor)
2005 
2006  Q_CLASSINFO("timeSlotDescription", "Specifies the time-slot of the repeater.")
2008  Q_PROPERTY(TimeSlot timeSlot READ timeSlot WRITE setTimeSlot)
2009 
2010 public:
2012  enum class TimeSlot {
2013  TS1 = 0, TS2 = 1, Channel = 2
2014  };
2015  Q_ENUM(TimeSlot)
2016 
2017 public:
2019  explicit AnytoneSimplexRepeaterSettingsExtension(QObject *parent=nullptr);
2020 
2021  ConfigItem *clone() const;
2022 
2024  bool enabled() const;
2026  void enable(bool enable);
2027 
2029  bool monitorEnabled() const;
2031  void enableMonitor(bool enable);
2032 
2034  TimeSlot timeSlot() const;
2036  void setTimeSlot(TimeSlot ts);
2037 
2038 protected:
2039  bool _enabled;
2040  bool _monitor;
2042 };
2043 
2044 
2052 {
2053  Q_OBJECT
2054 
2055  Q_CLASSINFO("description", "Device specific settings for AnyTone devices.")
2056 
2057  Q_CLASSINFO("subChannelDescription", "Enables/disables the sub-channel.")
2059  Q_PROPERTY(bool subChannel READ subChannelEnabled WRITE enableSubChannel)
2060 
2061 
2062  Q_PROPERTY(VFO selectedVFO READ selectedVFO WRITE setSelectedVFO)
2063 
2064 
2065  Q_PROPERTY(VFOMode modeA READ modeA WRITE setModeA)
2066 
2067 
2068  Q_PROPERTY(VFOMode modeB READ modeB WRITE setModeB)
2069 
2070 
2071  Q_PROPERTY(ZoneReference* zoneA READ zoneA)
2072 
2073 
2074  Q_PROPERTY(ZoneReference* zoneB READ zoneB)
2075 
2076 
2077  Q_PROPERTY(VFOScanType vfoScanType READ vfoScanType WRITE setVFOScanType)
2079  Q_PROPERTY(Frequency minVFOScanFrequencyUHF READ minVFOScanFrequencyUHF WRITE setMinVFOScanFrequencyUHF)
2081  Q_PROPERTY(Frequency maxVFOScanFrequencyUHF READ maxVFOScanFrequencyUHF WRITE setMaxVFOScanFrequencyUHF)
2083  Q_PROPERTY(Frequency minVFOScanFrequencyVHF READ minVFOScanFrequencyVHF WRITE setMinVFOScanFrequencyVHF)
2085  Q_PROPERTY(Frequency maxVFOScanFrequencyVHF READ maxVFOScanFrequencyVHF WRITE setMaxVFOScanFrequencyVHF)
2086 
2087  Q_CLASSINFO("keepLastCallerDescription", "Keeps the last caller on channel switch")
2089  Q_PROPERTY(bool keepLastCaller READ keepLastCallerEnabled WRITE enableKeepLastCaller)
2090 
2091  Q_CLASSINFO("vfoStepDescription", "Specifies the VFO tuning steps in kHz.")
2093  Q_PROPERTY(Frequency vfoStep READ vfoStep WRITE setVFOStep)
2094 
2095  Q_CLASSINFO("steTypeDescription", "Specifies the STE (squelch tail elimination) type.")
2097  Q_PROPERTY(STEType steType READ steType WRITE setSTEType)
2098  Q_CLASSINFO("steFrequencyDescription", "Specifies the STE (squelch tail elimination) frequency in Hz.")
2100  Q_PROPERTY(double steFrequency READ steFrequency WRITE setSTEFrequency)
2102  Q_PROPERTY(Interval steDuration READ steDuration WRITE setSTEDuration)
2103 
2104  Q_CLASSINFO("tbstFrequencyDescription", "Specifies the TBST frequency in Hz. Should be one of "
2105  "1000, 1450, 1750 and 2100 Hz. "
2106  "D878UV(2), D578UV and DMR-6X2UV only.")
2108  Q_PROPERTY(Frequency tbstFrequency READ tbstFrequency WRITE setTBSTFrequency)
2109 
2110  Q_CLASSINFO("proModeDescription", "Enables 'professional' mode. This limits the option reachable via the menu.")
2112  Q_PROPERTY(bool proMode READ proModeEnabled WRITE enableProMode)
2113 
2114 
2115  Q_PROPERTY(bool maintainCallChannel READ maintainCallChannelEnabled WRITE enableMaintainCallChannel)
2116 
2117 
2118  Q_PROPERTY(AnytoneBootSettingsExtension* bootSettings READ bootSettings)
2120  Q_PROPERTY(AnytonePowerSaveSettingsExtension* powerSaveSettings READ powerSaveSettings)
2122  Q_PROPERTY(AnytoneKeySettingsExtension* keySettings READ keySettings)
2124  Q_PROPERTY(AnytoneToneSettingsExtension* toneSettings READ toneSettings)
2126  Q_PROPERTY(AnytoneDisplaySettingsExtension* displaySettings READ displaySettings)
2128  Q_PROPERTY(AnytoneAudioSettingsExtension* audioSettings READ audioSettings)
2130  Q_PROPERTY(AnytoneMenuSettingsExtension* menuSettings READ menuSettings)
2132  Q_PROPERTY(AnytoneAutoRepeaterSettingsExtension* autoRepeaterSettings READ autoRepeaterSettings)
2134  Q_PROPERTY(AnytoneDMRSettingsExtension* dmrSettings READ dmrSettings)
2136  Q_PROPERTY(AnytoneGPSSettingsExtension* gpsSettings READ gpsSettings)
2138  Q_PROPERTY(AnytoneRoamingSettingsExtension* roamingSettings READ roamingSettings)
2140  Q_PROPERTY(AnytoneBluetoothSettingsExtension* bluetoothSettings READ bluetoothSettings)
2141 
2142  Q_CLASSINFO("simplexRepeaterSettingsDescription",
2143  "Configuration for the DMR-6X2UV simplex-repeater feature.")
2145  Q_PROPERTY(AnytoneSimplexRepeaterSettingsExtension * simplexRepeaterSettings READ simplexRepeaterSettings)
2146 
2147 public:
2149  enum class VFOScanType {
2150  Time = 0, Carrier = 1, Stop = 2
2151  };
2152  Q_ENUM(VFOScanType)
2153 
2154 
2155  enum class VFOMode {
2156  Memory = 0, VFO = 1
2157  };
2158  Q_ENUM(VFOMode)
2159 
2160 
2161  enum class VFO {
2162  A = 0, B = 1
2163  };
2164  Q_ENUM(VFO)
2165 
2166 
2167  enum class STEType {
2168  Off = 0, Silent = 1, Deg120 = 2, Deg180 = 3, Deg240 = 4
2169  };
2170  Q_ENUM(STEType)
2171 
2172 
2173 public:
2175  Q_INVOKABLE explicit AnytoneSettingsExtension(QObject *parent=nullptr);
2176 
2177  ConfigItem *clone() const;
2178 
2180  AnytoneBootSettingsExtension *bootSettings() const;
2182  AnytonePowerSaveSettingsExtension *powerSaveSettings() const;
2184  AnytoneKeySettingsExtension *keySettings() const;
2186  AnytoneToneSettingsExtension *toneSettings() const;
2188  AnytoneDisplaySettingsExtension *displaySettings() const;
2190  AnytoneAudioSettingsExtension *audioSettings() const;
2192  AnytoneMenuSettingsExtension *menuSettings() const;
2194  AnytoneAutoRepeaterSettingsExtension *autoRepeaterSettings() const;
2196  AnytoneDMRSettingsExtension *dmrSettings() const;
2198  AnytoneGPSSettingsExtension *gpsSettings() const;
2200  AnytoneRoamingSettingsExtension *roamingSettings() const;
2202  AnytoneBluetoothSettingsExtension *bluetoothSettings() const;
2204  AnytoneSimplexRepeaterSettingsExtension *simplexRepeaterSettings() const;
2205 
2207  VFOScanType vfoScanType() const;
2209  void setVFOScanType(VFOScanType type);
2210 
2212  VFOMode modeA() const;
2214  void setModeA(VFOMode mode);
2216  VFOMode modeB() const;
2218  void setModeB(VFOMode mode);
2219 
2223  const ZoneReference *zoneA() const;
2227  const ZoneReference *zoneB() const;
2228 
2230  VFO selectedVFO() const;
2232  void setSelectedVFO(VFO vfo);
2233 
2235  bool subChannelEnabled() const;
2237  void enableSubChannel(bool enable);
2238 
2240  Frequency minVFOScanFrequencyUHF() const;
2242  void setMinVFOScanFrequencyUHF(Frequency hz);
2244  Frequency maxVFOScanFrequencyUHF() const;
2246  void setMaxVFOScanFrequencyUHF(Frequency hz);
2247 
2249  Frequency minVFOScanFrequencyVHF() const;
2251  void setMinVFOScanFrequencyVHF(Frequency hz);
2253  Frequency maxVFOScanFrequencyVHF() const;
2255  void setMaxVFOScanFrequencyVHF(Frequency hz);
2256 
2258  bool keepLastCallerEnabled() const;
2260  void enableKeepLastCaller(bool enable);
2261 
2263  Frequency vfoStep() const;
2265  void setVFOStep(Frequency step);
2266 
2268  STEType steType() const;
2270  void setSTEType(STEType type);
2273  double steFrequency() const;
2276  void setSTEFrequency(double freq);
2278  Interval steDuration() const;
2280  void setSTEDuration(Interval intv);
2281 
2283  Frequency tbstFrequency() const;
2285  void setTBSTFrequency(Frequency Hz);
2286 
2288  bool proModeEnabled() const;
2290  void enableProMode(bool enable);
2291 
2293  bool maintainCallChannelEnabled() const;
2295  void enableMaintainCallChannel(bool enable);
2296 
2297 protected:
2324 
2339  double _steFrequency;
2342  bool _proMode;
2344 };
2345 
2346 
2351 {
2352  Q_OBJECT
2353 
2355  Q_PROPERTY(Interval txDelay READ txDelay WRITE setTXDelay)
2357  Q_PROPERTY(Interval preWaveDelay READ preWaveDelay WRITE setPreWaveDelay)
2359  Q_PROPERTY(bool passAll READ passAll WRITE enablePassAll)
2361  Q_PROPERTY(bool reportPosition READ reportPosition WRITE enableReportPosition)
2363  Q_PROPERTY(bool reportMicE READ reportMicE WRITE enableReportMicE)
2365  Q_PROPERTY(bool reportObject READ reportObject WRITE enableReportObject)
2367  Q_PROPERTY(bool reportItem READ reportItem WRITE enableReportItem)
2369  Q_PROPERTY(bool reportMessage READ reportMessage WRITE enableReportMessage)
2371  Q_PROPERTY(bool reportWeather READ reportWeather WRITE enableReportWeather)
2373  Q_PROPERTY(bool reportNMEA READ reportNMEA WRITE enableReportNMEA)
2375  Q_PROPERTY(bool reportStatus READ reportStatus WRITE enableReportStatus)
2377  Q_PROPERTY(bool reportOther READ reportOther WRITE enableReportOther)
2378 
2379 
2380  Q_PROPERTY(AnytoneAPRSFrequencyList *frequencies READ frequencies)
2381 
2382 public:
2384  enum class Bandwidth {
2385  Narrow = 0, Wide = 1
2386  };
2387  Q_ENUM(Bandwidth)
2388 
2389 public:
2391  explicit Q_INVOKABLE AnytoneFMAPRSSettingsExtension(QObject *parent=nullptr);
2392 
2393  ConfigItem *clone() const;
2394 
2396  Interval txDelay() const;
2398  void setTXDelay(Interval intv);
2399 
2401  Interval preWaveDelay() const;
2403  void setPreWaveDelay(Interval ms);
2404 
2406  bool passAll() const;
2408  void enablePassAll(bool enable);
2409 
2411  bool reportPosition() const;
2413  void enableReportPosition(bool enable);
2415  bool reportMicE() const;
2417  void enableReportMicE(bool enable);
2419  bool reportObject() const;
2421  void enableReportObject(bool enable);
2423  bool reportItem() const;
2425  void enableReportItem(bool enable);
2427  bool reportMessage() const;
2429  void enableReportMessage(bool enable);
2431  bool reportWeather() const;
2433  void enableReportWeather(bool enable);
2435  bool reportNMEA() const;
2437  void enableReportNMEA(bool enable);
2439  bool reportStatus() const;
2441  void enableReportStatus(bool enable);
2443  bool reportOther() const;
2445  void enableReportOther(bool enable);
2446 
2448  AnytoneAPRSFrequencyList *frequencies() const;
2449 
2450 protected:
2456  bool _passAll;
2477 };
2478 
2479 #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:1157
ConfigItem * clone() const
Clones this item.
Definition: anytone_extension.cc:2261
bool _recording
Recording enabled.
Definition: anytone_extension.hh:1242
void enableRecording(bool enable)
Enables/disables recording.
Definition: anytone_extension.cc:2287
void setFMMicGain(unsigned int gain)
Sets the FM mic gain.
Definition: anytone_extension.cc:2369
void enableEnhanceAudio(bool enable)
Enables/disables enhanced audio.
Definition: anytone_extension.cc:2334
Interval muteDelay
The mute delay in minutes.
Definition: anytone_extension.hh:1172
bool enhance
If true, the audio is "enhanced".
Definition: anytone_extension.hh:1169
AnytoneAudioSettingsExtension(QObject *parent=nullptr)
Default constructor.
Definition: anytone_extension.cc:2252
Interval voxDelay
The VOX delay in ms.
Definition: anytone_extension.hh:1161
bool recording
If true, recording is enabled.
Definition: anytone_extension.hh:1166
unsigned int maxHeadPhoneVolume
The maximum head-phone volume setting [0-10].
Definition: anytone_extension.hh:1177
Interval _voxDelay
VOX delay in ms.
Definition: anytone_extension.hh:1241
VoxSource
Source for the VOX.
Definition: anytone_extension.hh:1186
unsigned int fmMicGain
The FM mic gain [1,10].
Definition: anytone_extension.hh:1182
unsigned int maxVolume
The maximum volume setting [0-10].
Definition: anytone_extension.hh:1175
bool _enhanceAudio
Enhance audio.
Definition: anytone_extension.hh:1246
void setVOXDelay(Interval ms)
Sets the VOX delay in ms.
Definition: anytone_extension.cc:2275
void setVOXSource(VoxSource source)
Sets the VOX source.
Definition: anytone_extension.cc:2299
bool recordingEnabled() const
Returns true if recording is enabled.
Definition: anytone_extension.cc:2283
VoxSource voxSource
The VOX source.
Definition: anytone_extension.hh:1163
void setMaxHeadPhoneVolume(unsigned int vol)
Sets the maximum head-phone volume.
Definition: anytone_extension.cc:2322
bool fmMicGainEnabled() const
Returns true, if the FM mic gain is set independently.
Definition: anytone_extension.cc:2354
unsigned int _maxVolume
The maximum volume.
Definition: anytone_extension.hh:1244
bool _enableAnalogMicGain
Enables separate analog mic gain.
Definition: anytone_extension.hh:1248
bool enhanceAudioEnabled() const
Returns true if the audio is "enhanced".
Definition: anytone_extension.cc:2330
void setMuteDelay(Interval intv)
Sets the mute delay.
Definition: anytone_extension.cc:2346
Interval _muteDelay
Mute delay in minutes.
Definition: anytone_extension.hh:1247
unsigned int _maxHeadPhoneVolume
The maximum head-phone volume.
Definition: anytone_extension.hh:1245
bool enableFMMicGain
Enables the separate FM mic gain.
Definition: anytone_extension.hh:1180
VoxSource _voxSource
The VOX source.
Definition: anytone_extension.hh:1243
void setMaxVolume(unsigned int vol)
Sets the maximum volume.
Definition: anytone_extension.cc:2311
unsigned int _analogMicGain
The FM mic gain.
Definition: anytone_extension.hh:1249
Represents a list of auto-repeater offsets.
Definition: anytone_extension.hh:1338
Represents a reference to a repeater offset.
Definition: anytone_extension.hh:1326
Implements the config representation of a repeater offset.
Definition: anytone_extension.hh:1294
separatelyFrequency offset
The offset frequency.
Definition: anytone_extension.hh:1304
Frequency _offset
The transmit frequency offset in Hz.
Definition: anytone_extension.hh:1319
void setOffset(Frequency offset)
Sets the transmit frequency offset in Hz.
Definition: anytone_extension.cc:2612
ConfigItem * clone() const
Clones this item.
Definition: anytone_extension.cc:2598
Implements the auto-repeater settings extension of AnyTone devices.
Definition: anytone_extension.hh:1354
Frequency _minUHF2
Minimum frequency of the second UHF auto-repeater range.
Definition: anytone_extension.hh:1511
Frequency _maxUHF2
Maximum frequency of the second UHF auto-repeater range.
Definition: anytone_extension.hh:1513
Frequency _maxVHF
Maximum frequency of the VHF auto-repeater range.
Definition: anytone_extension.hh:1497
Direction _directionA
The auto-repeater direction for VFO A.
Definition: anytone_extension.hh:1491
Frequency _minVHF
Minimum frequency of the VHF auto-repeater range.
Definition: anytone_extension.hh:1495
AnytoneAutoRepeaterOffsetRef * _uhf2Offset
A reference to the second UHF offset frequency.
Definition: anytone_extension.hh:1517
Direction _directionB
The auto-repeater direction for VFO B.
Definition: anytone_extension.hh:1493
Direction
Encodes the auto-repeater offset sign.
Definition: anytone_extension.hh:1420
AnytoneAutoRepeaterOffsetRef * _vhfOffset
A reference to the VHF offset frequency.
Definition: anytone_extension.hh:1503
Frequency _maxVHF2
Maximum frequency of the second VHF auto-repeater range.
Definition: anytone_extension.hh:1509
AnytoneAutoRepeaterOffsetRef * _uhfOffset
A reference to the UHF offset frequency.
Definition: anytone_extension.hh:1505
Frequency _minUHF
Minimum frequency of the UHF auto-repeater range.
Definition: anytone_extension.hh:1499
AnytoneAutoRepeaterOffsetList * _offsets
The list of repeater offsets.
Definition: anytone_extension.hh:1519
Frequency _maxUHF
Maximum frequency of the UHF auto-repeater range.
Definition: anytone_extension.hh:1501
Frequency _minVHF2
Minimum frequency of the second VHF auto-repeater range.
Definition: anytone_extension.hh:1507
AnytoneAutoRepeaterOffsetRef * _vhf2Offset
A reference to the second VHF offset frequency.
Definition: anytone_extension.hh:1515
Implements the bluetooth settings for some AnyTone devices.
Definition: anytone_extension.hh:1958
Interval _pttSleep
PTT sleep timer, 0 is off.
Definition: anytone_extension.hh:1986
bool _pttLatch
PTT latch flag.
Definition: anytone_extension.hh:1985
Implements the boot settings extension of AnyTone devices.
Definition: anytone_extension.hh:351
void enableBootPassword(bool enable)
Enables the boot password.
Definition: anytone_extension.cc:1249
bool resetEnabled() const
Returns true if the MCU is reset on boot.
Definition: anytone_extension.cc:1319
bool _reset
Enables MCU reset on boot.
Definition: anytone_extension.hh:446
bool defaultChannel
If enables, the default channels are selected at boot.
Definition: anytone_extension.hh:362
ChannelReference * channelA
The default channel for VFO A.
Definition: anytone_extension.hh:366
ChannelReference * _channelB
Default channel for VFO B, must be member of zone for VFO B.
Definition: anytone_extension.hh:442
ZoneReference * priorityZoneB
The priority zone for VFO B.
Definition: anytone_extension.hh:374
bool _bootPasswordEnabled
If true, the boot password is enabled.
Definition: anytone_extension.hh:436
ZoneReference * zoneB
The current zone for VFO B.
Definition: anytone_extension.hh:368
BootDisplay _bootDisplay
The boot display property.
Definition: anytone_extension.hh:435
AnytoneBootSettingsExtension(QObject *parent=nullptr)
Constructor.
Definition: anytone_extension.cc:1212
void enableReset(bool enable)
Enables/disables MCU reset on boot.
Definition: anytone_extension.cc:1323
ConfigItem * clone() const
Clones this item.
Definition: anytone_extension.cc:1223
ZoneReference * _priorityZoneA
Priority zone for VFO A.
Definition: anytone_extension.hh:443
bool _defaultChannel
Change to the default channel on boot.
Definition: anytone_extension.hh:438
QString bootPassword
Holds the boot password.
Definition: anytone_extension.hh:359
void enableDefaultChannel(bool enable)
Enables/disables boot default channel.
Definition: anytone_extension.cc:1273
bool bootPasswordEnabled
If true, the boot password is enabled.
Definition: anytone_extension.hh:357
bool gpsCheckEnabled() const
Returns true if the GPS check is enabled.
Definition: anytone_extension.cc:1307
bool _gpsCheck
Enables GPS check.
Definition: anytone_extension.hh:445
ZoneReference * _zoneA
Default zone for VFO A.
Definition: anytone_extension.hh:439
ChannelReference * channelB
The default channel for VFO B.
Definition: anytone_extension.hh:370
ZoneReference * zoneA
The default zone for VFO A.
Definition: anytone_extension.hh:364
ZoneReference * _priorityZoneB
Priority zone for VFO B.
Definition: anytone_extension.hh:444
void enableGPSCheck(bool enable)
Enables/disables the GPS check.
Definition: anytone_extension.cc:1311
bool defaultChannelEnabled() const
If true, the radio switches to the default channel at boot.
Definition: anytone_extension.cc:1269
BootDisplay
What to display during boot.
Definition: anytone_extension.hh:383
void setBootDisplay(BootDisplay mode)
Sets the boot display.
Definition: anytone_extension.cc:1237
bool reset
Enables the MCU reset on boot.
Definition: anytone_extension.hh:379
BootDisplay bootDisplay
The boot display setting.
Definition: anytone_extension.hh:355
void setBootPassword(const QString &pass)
Sets the boot password.
Definition: anytone_extension.cc:1261
bool gpsCheck
Enables the GPS check.
Definition: anytone_extension.hh:377
ZoneReference * _zoneB
Default zone for VFO B.
Definition: anytone_extension.hh:441
ChannelReference * _channelA
Default channel for VFO A, must be member of zone for VFO A.
Definition: anytone_extension.hh:440
QString _bootPassword
The boot password.
Definition: anytone_extension.hh:437
ZoneReference * priorityZoneA
The priority zone for VFO A.
Definition: anytone_extension.hh:372
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:111
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
bool _handsFree
If true, the hands-free featrue is enabled for this channel.
Definition: anytone_extension.hh:115
void enableTalkaround(bool enable)
Enables/disables talkaround.
Definition: anytone_extension.cc:77
int _frequencyCorrection
The frequency correction.
Definition: anytone_extension.hh:113
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
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:117
Implements the AnyTone contact extension.
Definition: anytone_extension.hh:314
void setAlertType(AlertType type)
Sets the alert type for the contact.
Definition: anytone_extension.cc:379
Q_INVOKABLE AnytoneContactExtension(QObject *parent=nullptr)
Default constructor.
Definition: anytone_extension.cc:358
AlertType _alertType
Holds the alert type for the contact.
Definition: anytone_extension.hh:342
AlertType
Possible ring-tone types.
Definition: anytone_extension.hh:322
AlertType alertType
Overrides the ring flag, allows to set None, Ring and Online.
Definition: anytone_extension.hh:318
ConfigItem * clone() const
Clones this item.
Definition: anytone_extension.cc:365
Implements the settings extension for DMR channels on AnyTone devices.
Definition: anytone_extension.hh:204
void enableAdaptiveTDMA(bool enable)
Enables/disables the adaptive TDMA mode.
Definition: anytone_extension.cc:291
void enableDataACK(bool enable)
Enables/disables the data acknowledgement.
Definition: anytone_extension.cc:267
void enableSMS(bool enable)
Enables/disables SMS reception.
Definition: anytone_extension.cc:243
bool _throughMode
If true the through mode is enabled.
Definition: anytone_extension.hh:281
bool loneWorker
If true, the lone-worker feature is enabled for this channel.
Definition: anytone_extension.hh:222
void enableLoneWorker(bool enable)
Enables the lone-worker feature for this channel.
Definition: anytone_extension.cc:303
Q_INVOKABLE AnytoneDMRChannelExtension(QObject *parent=nullptr)
Default constructor.
Definition: anytone_extension.cc:208
void enableThroughMode(bool enable)
Enables/disables the through mode.
Definition: anytone_extension.cc:315
void enableSMSConfirm(bool enabled)
Enables/disables the SMS confirmation.
Definition: anytone_extension.cc:255
bool simplexTDMA
If true, the simplex TDMA mode is enabled (aka DCDM).
Definition: anytone_extension.hh:216
ConfigItem * clone() const
Clones this item.
Definition: anytone_extension.cc:217
bool _smsConfirm
If true, the SMS confirmation is enabled.
Definition: anytone_extension.hh:271
void enableSimplexTDMA(bool enable)
Enables/disables the simplex TDMA (DCDM) mode.
Definition: anytone_extension.cc:279
bool _simplexTDMA
If true, the simplex TDMA mode is enabled.
Definition: anytone_extension.hh:275
bool sms
If true, SMS reception is enabled.
Definition: anytone_extension.hh:210
bool _dataACK
If true, the data acknowledgement is enabled.
Definition: anytone_extension.hh:273
bool _sms
If true, the SMS reception is enabled.
Definition: anytone_extension.hh:269
bool adaptiveTDMA
If true, the adaptive TDMA mode is enabled.
Definition: anytone_extension.hh:220
bool callConfirm
If true, the call confirmation is enabled.
Definition: anytone_extension.hh:208
bool smsConfirm
If true, the SMS confirmation is enabled.
Definition: anytone_extension.hh:212
bool throughMode
If true, the through mode is enabled (what ever that means).
Definition: anytone_extension.hh:224
bool dataACK
If true, the radio will response to received data packages.
Definition: anytone_extension.hh:214
bool _callConfirm
If true, the call confirmation is enabled.
Definition: anytone_extension.hh:267
void enableCallConfirm(bool enabled)
Enables/disables the call confirmation.
Definition: anytone_extension.cc:231
bool _adaptiveTDMA
If true, the adaptive TDMA mode is enabled.
Definition: anytone_extension.hh:277
bool _loneWorker
If true the lone-worker feature is enabled.
Definition: anytone_extension.hh:279
Implements the DMR settings extension of AnyTone devices.
Definition: anytone_extension.hh:1528
SMSFormat _smsFormat
Sets the SMS format.
Definition: anytone_extension.hh:1710
Interval _preWaveDelay
Pre-wave time in ms, should be 100ms.
Definition: anytone_extension.hh:1703
bool _monitorColorCodeMatch
Enables CC match for DMR monitor.
Definition: anytone_extension.hh:1707
bool _monitorIDMatch
Enables ID match for DMR monitor.
Definition: anytone_extension.hh:1708
EncryptionType _encryption
DMR encryption type.
Definition: anytone_extension.hh:1714
bool _monitorTimeSlotHold
Enables the time-slot hold for the DMR monitor.
Definition: anytone_extension.hh:1709
Interval _manualGroupCallHangTime
Hang-time for manual dialed group-calls in seconds.
Definition: anytone_extension.hh:1700
bool _filterOwnID
If enabled, the own ID is not shown in call lists.
Definition: anytone_extension.hh:1705
TalkerAliasEncoding _talkerAliasEncoding
Encoding for the talker alias.
Definition: anytone_extension.hh:1713
Interval _privateCallHangTime
Hang-time for private-calls in seconds.
Definition: anytone_extension.hh:1701
bool _sendTalkerAlias
Enables sending talker alias.
Definition: anytone_extension.hh:1711
Interval _groupCallHangTime
Hang-time for group-calls in seconds.
Definition: anytone_extension.hh:1699
SlotMatch _monitorSlotMatch
Slot-match mode for DMR monitor.
Definition: anytone_extension.hh:1706
Interval _wakeHeadPeriod
Wake head-period in ms, should be 100ms.
Definition: anytone_extension.hh:1704
TalkerAliasSource _talkerAliasSource
Source for the talker alias.
Definition: anytone_extension.hh:1712
Interval _manualPrivateCallHangTime
Hang-time for manual dialed private-calls in seconds.
Definition: anytone_extension.hh:1702
Implements the display settings extension of AnyTone devices.
Definition: anytone_extension.hh:893
bool showCallEnabled() const
Returns true if the call is shown.
Definition: anytone_extension.cc:2021
bool showChannelType
Shows the channel type.
Definition: anytone_extension.hh:935
void setZoneBNameColor(Color color)
Sets the zone name color for VFO B.
Definition: anytone_extension.cc:2217
void setDateFormat(DateFormat format)
Sets the date format.
Definition: anytone_extension.cc:2061
void setChannelNameColor(Color color)
Sets the color of the channel name.
Definition: anytone_extension.cc:2181
bool showChannelNumber
Shows the channel number.
Definition: anytone_extension.hh:929
Color _zoneNameColor
Color of zone name.
Definition: anytone_extension.hh:1147
bool showLastHeardEnabled() const
Shows the last caller.
Definition: anytone_extension.cc:2129
bool _callEndPrompt
Call-end prompt enabled.
Definition: anytone_extension.hh:1127
bool _showLastHeard
Shows the last caller.
Definition: anytone_extension.hh:1141
bool _showTimeSlot
Show time slot.
Definition: anytone_extension.hh:1136
LastCallerDisplayMode _lastCallerDisplay
Last-caller display mode.
Definition: anytone_extension.hh:1128
bool _showColorCode
Show color code.
Definition: anytone_extension.hh:1135
Color channelNameColor
The channel name color.
Definition: anytone_extension.hh:950
bool _showContact
Enables showing the contact.
Definition: anytone_extension.hh:1138
void enableCallEndPrompt(bool enable)
Enables/disables the call-end prompt.
Definition: anytone_extension.cc:1989
bool displayFrequencyEnabled() const
Returns true, if the frequency is displayed instead of the channel name.
Definition: anytone_extension.cc:1949
Color _callColor
Color of call.
Definition: anytone_extension.hh:1131
void enableDisplayFrequency(bool enable)
Enables/disables display of frequency.
Definition: anytone_extension.cc:1953
Color callColor
The color of the call.
Definition: anytone_extension.hh:942
void setStandbyTextColor(Color color)
Sets the standby text color.
Definition: anytone_extension.cc:2145
bool _customChannelBackground
Custom channel background enabled.
Definition: anytone_extension.hh:1144
Color
Possible display colors.
Definition: anytone_extension.hh:975
AnytoneDisplaySettingsExtension(QObject *parent=nullptr)
Constructor.
Definition: anytone_extension.cc:1912
Color zoneNameColor
The zone name color.
Definition: anytone_extension.hh:957
bool showClockEnabled() const
Returns true if the clock is shown.
Definition: anytone_extension.cc:2009
void enableShowTimeSlot(bool enable)
Shows/hides time slot.
Definition: anytone_extension.cc:2097
Color zoneBNameColor
The zone name color for VFO B.
Definition: anytone_extension.hh:960
Language language
Specifies the UI language.
Definition: anytone_extension.hh:963
void enableShowColorCode(bool enable)
Shows/hides color code.
Definition: anytone_extension.cc:2085
unsigned int brightness
The display brightness [1-10].
Definition: anytone_extension.hh:899
Color _channelNameColor
Color of channel name.
Definition: anytone_extension.hh:1145
void setLastCallerDisplay(LastCallerDisplayMode mode)
Sets the last caller display mode.
Definition: anytone_extension.cc:2001
bool showClock
If true, the clock is shown.
Definition: anytone_extension.hh:923
bool showCall
If true, the call is shown.
Definition: anytone_extension.hh:925
bool customChannelBackground
Enables custom channel background.
Definition: anytone_extension.hh:915
void enableShowChannelNumber(bool enable)
Enables/disables the display of the channel number.
Definition: anytone_extension.cc:2073
unsigned int _brightness
The display brightness.
Definition: anytone_extension.hh:1124
Color _zoneBNameColor
Color of zone name for VFO B.
Definition: anytone_extension.hh:1148
bool showContact
Shows the contact.
Definition: anytone_extension.hh:927
Color _standbyBackgroundColor
Standby background color.
Definition: anytone_extension.hh:1140
void setStandbyBackgroundColor(Color color)
Sets the standby background color.
Definition: anytone_extension.cc:2157
bool callEndPromptEnabled() const
Returns true if the call-end prompt is shown.
Definition: anytone_extension.cc:1985
Interval _backlightDuration
Backlight duration in seconds, 0=permanent.
Definition: anytone_extension.hh:1125
bool showColorCode
Shows the color code.
Definition: anytone_extension.hh:931
void enableShowChannelType(bool enable)
Shows/hides channel type.
Definition: anytone_extension.cc:2109
bool showTimeSlot
Shows the time slot.
Definition: anytone_extension.hh:933
bool displayFrequency
The display frequency setting.
Definition: anytone_extension.hh:897
Color _standbyTextColor
Standby text color.
Definition: anytone_extension.hh:1139
bool callEndPrompt
The call-end prompt is shown.
Definition: anytone_extension.hh:920
ConfigItem * clone() const
Clones this item.
Definition: anytone_extension.cc:1927
LastCallerDisplayMode lastCallerDisplay
The last-caller display mode.
Definition: anytone_extension.hh:939
offInterval backlightDurationRX
RX backlight duration.
Definition: anytone_extension.hh:912
bool _volumeChangePrompt
Volume-change prompt enabled.
Definition: anytone_extension.hh:1126
bool _showChannelNumber
Show channel number.
Definition: anytone_extension.hh:1134
Interval _backlightDurationTX
Backlight duration in seconds during TX.
Definition: anytone_extension.hh:1142
DateFormat
Possible date formats.
Definition: anytone_extension.hh:988
void setBacklightDuration(Interval sec)
Sets the backlight duration in seconds, 0 means permanent.
Definition: anytone_extension.cc:1965
void setBacklightDurationTX(Interval sec)
Sets the backlight duration during TX in seconds.
Definition: anytone_extension.cc:2169
bool showChannelNumberEnabled() const
Returns true if the channel number is shown.
Definition: anytone_extension.cc:2069
void enableShowLastHeard(bool enable)
Enables/disables display of last caller.
Definition: anytone_extension.cc:2133
DateFormat dateFormat
Specifies the date format.
Definition: anytone_extension.hh:965
bool _showClock
Display clock.
Definition: anytone_extension.hh:1129
Color channelBNameColor
The channel name color for VFO B.
Definition: anytone_extension.hh:953
Color standbyBackgroundColor
The standby background color.
Definition: anytone_extension.hh:946
bool _showCall
Display call.
Definition: anytone_extension.hh:1130
Interval backlightDurationTX() const
Returns backlight duration during TX.
Definition: anytone_extension.cc:2165
bool _displayFrequency
Display frequency property.
Definition: anytone_extension.hh:1123
bool volumeChangePromptEnabled() const
Returns true if the volume-change prompt is shown.
Definition: anytone_extension.cc:1973
Color standbyTextColor
The standby text color.
Definition: anytone_extension.hh:944
Language
Possible UI languages.
Definition: anytone_extension.hh:981
void setBacklightDurationRX(Interval sec)
Sets the backlight duration during RX in seconds.
Definition: anytone_extension.cc:2229
bool showLastHeard
Shows the last caller.
Definition: anytone_extension.hh:937
void enableCustomChannelBackground(bool enable)
Enables/disables the custom channel background.
Definition: anytone_extension.cc:2241
void setCallColor(Color color)
Sets the color of the call.
Definition: anytone_extension.cc:2037
void enableShowCall(bool enable)
Enables/disables display of call.
Definition: anytone_extension.cc:2025
void enableShowClock(bool enable)
Enables/disables clock.
Definition: anytone_extension.cc:2013
void setZoneNameColor(Color color)
Sets the color of the zone name.
Definition: anytone_extension.cc:2205
bool volumeChangePrompt
The volume-change prompt is shown.
Definition: anytone_extension.hh:918
Language _language
UI language.
Definition: anytone_extension.hh:1132
void setLanguage(Language lang)
Sets the UI language.
Definition: anytone_extension.cc:2049
void setChannelBNameColor(Color color)
Sets the channel name color for VFO B.
Definition: anytone_extension.cc:2193
void setBrightness(unsigned int level)
Sets the display brightness [1-10].
Definition: anytone_extension.cc:1941
DateFormat _dateFormat
The date format.
Definition: anytone_extension.hh:1133
Interval backlightDuration
The backlight duration in seconds.
Definition: anytone_extension.hh:902
bool _showChannelType
Show channel type.
Definition: anytone_extension.hh:1137
void enableVolumeChangePrompt(bool enable)
Enables/disables the volume-change prompt.
Definition: anytone_extension.cc:1977
Interval _backlightDurationRX
Backlight duration in seconds during RX.
Definition: anytone_extension.hh:1143
void enableShowContact(bool enable)
Enables/disables the display of calling contact.
Definition: anytone_extension.cc:2121
LastCallerDisplayMode
What to show from the last caller.
Definition: anytone_extension.hh:969
Color _channelBNameColor
Color of channel name for VFO B.
Definition: anytone_extension.hh:1146
Implements some additional settings for the FM APRS system.
Definition: anytone_extension.hh:2351
bool _reportWeather
The report weather flag.
Definition: anytone_extension.hh:2468
bool _reportMessage
The report message flag.
Definition: anytone_extension.hh:2466
bool _reportMicE
The report Mic-E flag.
Definition: anytone_extension.hh:2460
bool _reportStatus
The report status flag.
Definition: anytone_extension.hh:2472
Interval _preWaveDelay
The pre-wave delay.
Definition: anytone_extension.hh:2454
Interval _txDelay
The transmit delay.
Definition: anytone_extension.hh:2452
bool _reportOther
The report other flag.
Definition: anytone_extension.hh:2474
bool _reportItem
The report item flag.
Definition: anytone_extension.hh:2464
bool _reportNMEA
The report NMEA flag.
Definition: anytone_extension.hh:2470
bool _reportPosition
If true the report position flag is set.
Definition: anytone_extension.hh:2458
bool _passAll
If true, all APRS messages are processed.
Definition: anytone_extension.hh:2456
bool _reportObject
The report object flag.
Definition: anytone_extension.hh:2462
Bandwidth
Possible bandwidth settings.
Definition: anytone_extension.hh:2384
AnytoneAPRSFrequencyList * _frequencies
The list of additional FM APRS frequencies.
Definition: anytone_extension.hh:2476
Implements the settings extension for FM channels on AnyTone devices.
Definition: anytone_extension.hh:124
SquelchMode squelchMode
Holds the squelch mode.
Definition: anytone_extension.hh:136
bool txCustomCTCSS
If true, the custom CTCSS tone is transmitted.
Definition: anytone_extension.hh:132
void enableScrambler(bool enable)
Enables/disables the analog scrambler.
Definition: anytone_extension.cc:197
bool scrambler
If true, the analog scrabler is enabled.
Definition: anytone_extension.hh:138
SquelchMode _squelchMode
Holds the squelch mode.
Definition: anytone_extension.hh:195
bool _reverseBurst
If true, the CTCSS phase-reverse burst at the end of transmission is enabled.
Definition: anytone_extension.hh:187
void enableRXCustomCTCSS(bool enable)
Enables/disables usage of custom CTCSS frequency for RX.
Definition: anytone_extension.cc:151
ConfigItem * clone() const
Clones this item.
Definition: anytone_extension.cc:125
SquelchMode
Possible squelch mode settings.
Definition: anytone_extension.hh:142
void enableTXCustomCTCSS(bool enable)
Enables/disables usage of custom CTCSS frequency for TX.
Definition: anytone_extension.cc:162
void setSquelchMode(SquelchMode mode)
Sets the squelch mode.
Definition: anytone_extension.cc:185
Q_INVOKABLE AnytoneFMChannelExtension(QObject *parent=nullptr)
Default constructor.
Definition: anytone_extension.cc:117
bool reverseBurst
If true, the CTCSS phase-reverse burst at the end of transmission is enabled.
Definition: anytone_extension.hh:128
void enableReverseBurst(bool enable)
Enables/disables the CTCSS phase-reverse burst.
Definition: anytone_extension.cc:139
double customCTCSS
Holds the custom CTCSS tone frequency in Hz.
Definition: anytone_extension.hh:134
bool _rxCustomCTCSS
If true, the custom CTCSS tone is used for RX (open squelch).
Definition: anytone_extension.hh:189
void setCustomCTCSS(double freq)
Sets the custom CTCSS frequency in Hz.
Definition: anytone_extension.cc:173
bool _scrambler
If true, the analog scrambler is enabled for this channel.
Definition: anytone_extension.hh:197
bool _txCustomCTCSS
If true, the custom CTCSS tone is transmitted.
Definition: anytone_extension.hh:191
double _customCTCSS
Holds the custom CTCSS tone frequency in Hz.
Definition: anytone_extension.hh:193
bool rxCustomCTCSS
If true, the custom CTCSS tone is used for RX (open squelch).
Definition: anytone_extension.hh:130
Implements the GPS settings extension of AnyTone devices.
Definition: anytone_extension.hh:1723
bool _gpsRangeReporting
Enables GPS range reporting.
Definition: anytone_extension.hh:1796
Units _gpsUnits
The GPS units.
Definition: anytone_extension.hh:1794
QTimeZone _timeZone
The time zone.
Definition: anytone_extension.hh:1795
GPSMode _mode
The GPS mode (GPS, Baidu, both).
Definition: anytone_extension.hh:1798
Interval _gpsRangingInterval
The GPS ranging interval in seconds.
Definition: anytone_extension.hh:1797
GPSMode
Possible GPS modes.
Definition: anytone_extension.hh:1753
Units
Possible unit systems.
Definition: anytone_extension.hh:1747
Implements the key settings extension of AnyTone devices.
Definition: anytone_extension.hh:519
KeyFunction _funcKey6Short
Function of the function key 6, short press.
Definition: anytone_extension.hh:731
KeyFunction _funcKey3Short
Function of the function key 3, short press.
Definition: anytone_extension.hh:725
void setFuncKeyBLong(KeyFunction func)
Sets the key function for a long press on the function key B.
Definition: anytone_extension.cc:1608
KeyFunction funcKey6Short
Function key 6 (P6 next to screen, D578UV only), short press function.
Definition: anytone_extension.hh:543
KeyFunction funcKeyCLong
Function key C (PF3 on top or B on mic), long press function.
Definition: anytone_extension.hh:557
void setFuncKeyCLong(KeyFunction func)
Sets the key function for a long press on the function key C.
Definition: anytone_extension.cc:1631
void setFuncKey5Short(KeyFunction func)
Sets the key function for a short press on the programmable function key 5.
Definition: anytone_extension.cc:1528
void enableKeypadLock(bool enable)
Enables/disables the key-pad lock.
Definition: anytone_extension.cc:1701
KeyFunction _funcKey1Long
Function of the function key 1, long press.
Definition: anytone_extension.hh:722
bool sideKeysLockEnabled() const
Returns true if the side-keys gets locked too.
Definition: anytone_extension.cc:1708
bool autoKeyLock
The auto key-lock property.
Definition: anytone_extension.hh:566
KeyFunction _funcKeyAShort
Function of the function key A, short press.
Definition: anytone_extension.hh:733
void setFuncKey2Short(KeyFunction func)
Sets the key function for a short press on the programmable function key 2.
Definition: anytone_extension.cc:1459
KeyFunction funcKey1Short
Function key 1 (P1 below or next to screen), short press function.
Definition: anytone_extension.hh:523
KeyFunction _funcKeyBShort
Function of the function key B, short press.
Definition: anytone_extension.hh:735
KeyFunction funcKey3Long
Function key 3 (P3 next to screen, D578UV only), long press function.
Definition: anytone_extension.hh:533
KeyFunction funcKey2Short
Function key 2 (P2 below or next to screen), short press function.
Definition: anytone_extension.hh:527
KeyFunction funcKey6Long
Function key 6 (P6 next to screen, D578UV only), long press function.
Definition: anytone_extension.hh:545
void enableKnobLock(bool enable)
Enables/disables the knob lock.
Definition: anytone_extension.cc:1690
bool _sideKeysLock
Side-keys are locked.
Definition: anytone_extension.hh:745
KeyFunction funcKey2Long
Function key 2 (P2 below or next to screen), long press function.
Definition: anytone_extension.hh:529
KeyFunction _funcKey5Long
Function of the function key 5, long press.
Definition: anytone_extension.hh:730
void setFuncKeyDLong(KeyFunction func)
Sets the key function for a long press on the function key D.
Definition: anytone_extension.cc:1654
KeyFunction funcKey1Long
Function key 1 (P1 below or next to screen), long press function.
Definition: anytone_extension.hh:525
KeyFunction _funcKey2Long
Function of the function key 2, long press.
Definition: anytone_extension.hh:724
KeyFunction funcKeyCShort
Function key C (PF3 on top or C on mic), short press function.
Definition: anytone_extension.hh:555
KeyFunction _funcKeyALong
Function of the function key A, long press.
Definition: anytone_extension.hh:734
KeyFunction _funcKey2Short
Function of the function key 2, short press.
Definition: anytone_extension.hh:723
KeyFunction
All possible key functions.
Definition: anytone_extension.hh:586
void setLongPressDuration(Interval ms)
Sets the long-press duration in ms.
Definition: anytone_extension.cc:1666
AnytoneKeySettingsExtension(QObject *parent=nullptr)
Empty constructor.
Definition: anytone_extension.cc:1403
void setFuncKey4Short(KeyFunction func)
Sets the key function for a short press on the programmable function key 4.
Definition: anytone_extension.cc:1505
void setFuncKeyDShort(KeyFunction func)
Sets the key function for a short press on the function key D.
Definition: anytone_extension.cc:1643
void setFuncKeyAShort(KeyFunction func)
Sets the key function for a short press on the function key A.
Definition: anytone_extension.cc:1574
KeyFunction funcKeyBShort
Function key B (PF2 second below PTT or B on mic), short press function.
Definition: anytone_extension.hh:551
KeyFunction funcKey5Long
Function key 5 (P5 next to screen, D578UV only), long press function.
Definition: anytone_extension.hh:541
KeyFunction funcKeyAShort
Function key A (PF1 below PTT or A on mic), short press function.
Definition: anytone_extension.hh:547
KeyFunction _funcKeyDShort
Function of the function key D, short press.
Definition: anytone_extension.hh:739
void setFuncKey3Short(KeyFunction func)
Sets the key function for a short press on the programmable function key 3.
Definition: anytone_extension.cc:1482
bool knobLockEnabled() const
Returns true if the knob gets locked too.
Definition: anytone_extension.cc:1686
Interval _longPressDuration
The long-press duration in ms.
Definition: anytone_extension.hh:741
KeyFunction funcKeyDShort
Function key D (D on mic, D578UV only), short press function.
Definition: anytone_extension.hh:559
bool autoKeyLockEnabled() const
Returns true, if the automatic key-lock feature is enabled.
Definition: anytone_extension.cc:1674
void setFuncKey1Short(KeyFunction func)
Sets the key function for a short press on the function key 1.
Definition: anytone_extension.cc:1436
KeyFunction _funcKey4Long
Function of the function key 4, long press.
Definition: anytone_extension.hh:728
void setFuncKey4Long(KeyFunction func)
Sets the key function for a long press on the programmable function key 4.
Definition: anytone_extension.cc:1516
void setFuncKeyALong(KeyFunction func)
Sets the key function for a long press on the function key A.
Definition: anytone_extension.cc:1585
bool forcedKeyLock
If true, the key-lock is forced.
Definition: anytone_extension.hh:582
KeyFunction funcKey5Short
Function key 5 (P5 next to screen, D578UV only), short press function.
Definition: anytone_extension.hh:539
bool _forcedKeyLock
Forced key-lock.
Definition: anytone_extension.hh:746
void setFuncKeyBShort(KeyFunction func)
Sets the key function for a short press on the function key B.
Definition: anytone_extension.cc:1597
void enableAutoKeyLock(bool enabled)
Enables/disables auto key-lock.
Definition: anytone_extension.cc:1678
KeyFunction _funcKey5Short
Function of the function key 5, short press.
Definition: anytone_extension.hh:729
void setFuncKey2Long(KeyFunction func)
Sets the key function for a long press on the programmable function key 2.
Definition: anytone_extension.cc:1470
KeyFunction _funcKeyCLong
Function of the function key C, long press.
Definition: anytone_extension.hh:738
KeyFunction funcKey4Short
Function key 4 (P4 next to screen, D578UV only), short press function.
Definition: anytone_extension.hh:535
void setFuncKey3Long(KeyFunction func)
Sets the key function for a long press on the programmable function key 3.
Definition: anytone_extension.cc:1493
KeyFunction _funcKey1Short
Function of the function key 1, short press.
Definition: anytone_extension.hh:721
KeyFunction funcKey3Short
Function key 3 (P3 next to screen, D578UV only), short press function.
Definition: anytone_extension.hh:531
bool keypadLockEnabled() const
Returns true if the key-pad gets locked too.
Definition: anytone_extension.cc:1697
ConfigItem * clone() const
Clones this item.
Definition: anytone_extension.cc:1422
Interval longPressDuration
The long press duration in ms.
Definition: anytone_extension.hh:563
KeyFunction _funcKeyDLong
Function of the function key D, long press.
Definition: anytone_extension.hh:740
KeyFunction funcKeyBLong
Function key B (PF2 second below PTT or B on mic), long press function.
Definition: anytone_extension.hh:553
bool sideKeysLock
If true, the side-keys get locked too.
Definition: anytone_extension.hh:578
void setFuncKey5Long(KeyFunction func)
Sets the key function for a long press on the programmable function key 5.
Definition: anytone_extension.cc:1539
KeyFunction _funcKeyBLong
Function of the function key B, long press.
Definition: anytone_extension.hh:736
KeyFunction funcKeyDLong
Function key D (D on mic, D578UV only), long press function.
Definition: anytone_extension.hh:561
bool _autoKeyLock
Auto key-lock property.
Definition: anytone_extension.hh:742
KeyFunction _funcKey4Short
Function of the function key 4, short press.
Definition: anytone_extension.hh:727
bool _knobLock
Knob locked too.
Definition: anytone_extension.hh:743
KeyFunction _funcKey3Long
Function of the function key 3, long press.
Definition: anytone_extension.hh:726
bool forcedKeyLockEnabled() const
Returns true if the key-lock is forced.
Definition: anytone_extension.cc:1719
KeyFunction _funcKeyCShort
Function of the function key C, short press.
Definition: anytone_extension.hh:737
KeyFunction funcKeyALong
Function key A (PF1 below PTT or A on mic), long press function.
Definition: anytone_extension.hh:549
void enableForcedKeyLock(bool enable)
Enables/disables the forced key-lock.
Definition: anytone_extension.cc:1723
bool knobLock
If true, the knob gets locked too.
Definition: anytone_extension.hh:570
KeyFunction funcKey4Long
Function key 4 (P4 next to screen, D578UV only), long press function.
Definition: anytone_extension.hh:537
void setFuncKey1Long(KeyFunction func)
Sets the key function for a long press on the function key 1.
Definition: anytone_extension.cc:1447
KeyFunction _funcKey6Long
Function of the function key 6, long press.
Definition: anytone_extension.hh:732
bool keypadLock
If true, the key-pad gets locked too.
Definition: anytone_extension.hh:574
void enableSideKeysLock(bool enable)
Enables/disables the side-keys lock.
Definition: anytone_extension.cc:1712
void setFuncKey6Short(KeyFunction func)
Sets the key function for a short press on the programmable function key 6.
Definition: anytone_extension.cc:1551
void setFuncKey6Long(KeyFunction func)
Sets the key function for a long press on the programmable function key 6.
Definition: anytone_extension.cc:1562
void setFuncKeyCShort(KeyFunction func)
Sets the key function for a short press on the function key C.
Definition: anytone_extension.cc:1620
bool _keypadLock
Key-pad is locked.
Definition: anytone_extension.hh:744
Implements the menu settings extension of AnyTone devices.
Definition: anytone_extension.hh:1258
Interval duration
Menu exit time in seconds.
Definition: anytone_extension.hh:1263
void setDuration(Interval sec)
Sets the menu duration in seconds.
Definition: anytone_extension.cc:2401
bool _showSeparator
Show menu separator lines.
Definition: anytone_extension.hh:1286
void enableSeparator(bool enable)
Enables/disables the menu separator lines.
Definition: anytone_extension.cc:2413
AnytoneMenuSettingsExtension(QObject *parent=nullptr)
Default constructor.
Definition: anytone_extension.cc:2380
bool separator
Menu separator.
Definition: anytone_extension.hh:1267
Interval _menuDuration
Menu display duration in seconds.
Definition: anytone_extension.hh:1285
ConfigItem * clone() const
Clones this item.
Definition: anytone_extension.cc:2387
bool separatorEnabled() const
Returns true, if the menu separator lines are shown.
Definition: anytone_extension.cc:2409
Implements the power-save settings for AnyTone devices.
Definition: anytone_extension.hh:455
PowerSave powerSave() const
Returns the power-save mode.
Definition: anytone_extension.cc:1376
void setAutoShutdown(Interval min)
Sets the auto shut-down delay.
Definition: anytone_extension.cc:1356
bool resetAutoShutdownOnCall
Resets the auto shut-down timer on every call.
Definition: anytone_extension.hh:463
Interval _autoShutDownDelay
The auto shut-down delay in minutes.
Definition: anytone_extension.hh:507
AnytonePowerSaveSettingsExtension(QObject *parent=nullptr)
The power-save mode.
Definition: anytone_extension.cc:1334
ConfigItem * clone() const
Clones this item.
Definition: anytone_extension.cc:1342
void enableResetAutoShutdownOnCall(bool enable)
Enables/disables reset of auto shut-down timer on every call.
Definition: anytone_extension.cc:1368
Interval autoShutdown
The auto shut-down delay in minutes.
Definition: anytone_extension.hh:460
bool atpc() const
Returns true if the adaptive transmission power control is enabled.
Definition: anytone_extension.cc:1388
PowerSave _powerSave
Power save mode property.
Definition: anytone_extension.hh:509
bool _resetAutoShutdownOnCall
Enables reset of auto shut-down timer on every call.
Definition: anytone_extension.hh:508
void enableATPC(bool enable)
Enables/disables the adaptive transmission power control.
Definition: anytone_extension.cc:1392
bool _atpc
Adaptive Transmission Power Control.
Definition: anytone_extension.hh:510
void setPowerSave(PowerSave mode)
Sets the power-save mode.
Definition: anytone_extension.cc:1380
Implements the ranging/roaming settings extension of AnyTone devices.
Definition: anytone_extension.hh:1807
Interval _repeaterCheckInterval
The repeater check interval in seconds.
Definition: anytone_extension.hh:1941
RoamingZoneReference * _defaultRoamingZone
The default roaming zone.
Definition: anytone_extension.hh:1949
RoamStart _roamingReturnCondition
Auto-roaming return condition.
Definition: anytone_extension.hh:1945
unsigned int _notificationCount
Number of notifications.
Definition: anytone_extension.hh:1947
bool _notification
Repeater check notification.
Definition: anytone_extension.hh:1946
RoamStart _roamingStartCondition
Auto-roaming start condition.
Definition: anytone_extension.hh:1944
RoamStart
Possible roaming start conditions.
Definition: anytone_extension.hh:1862
Interval _autoRoamDelay
The auto-roam delay in seconds.
Definition: anytone_extension.hh:1939
Interval _autoRoamPeriod
The auto-roam period in minutes.
Definition: anytone_extension.hh:1938
bool _autoRoam
Enables auto roaming.
Definition: anytone_extension.hh:1937
bool _gpsRoaming
Enables GPS roaming.
Definition: anytone_extension.hh:1948
OutOfRangeAlert _outOfRangeAlert
Type of the out-out-range alert.
Definition: anytone_extension.hh:1943
OutOfRangeAlert
Possible repeater out-of-range alerts.
Definition: anytone_extension.hh:1868
unsigned int _repeaterRangeCheckCount
Number of range checks before giving up.
Definition: anytone_extension.hh:1942
bool _repeaterRangeCheck
Enables the repeater range-check.
Definition: anytone_extension.hh:1940
Implements the device specific extension for the general settings of AnyTone devices.
Definition: anytone_extension.hh:2052
AnytoneToneSettingsExtension * _toneSettings
The tone settings.
Definition: anytone_extension.hh:2305
ZoneReference * zoneB()
Returns a reference to the current zone for VFO B.
Frequency _maxVFOScanFrequencyVHF
The maximum VHF VFO-scan frequency in Hz.
Definition: anytone_extension.hh:2335
VFOMode
Possible VFO modes.
Definition: anytone_extension.hh:2155
STEType
All possible STE (squelch tail eliminate) types.
Definition: anytone_extension.hh:2167
ZoneReference _zoneB
The current zone for VFO B.
Definition: anytone_extension.hh:2329
AnytoneKeySettingsExtension * _keySettings
The key settings.
Definition: anytone_extension.hh:2303
bool _proMode
The "pro mode" flag.
Definition: anytone_extension.hh:2342
bool _maintainCallChannel
Maintains the call channel.
Definition: anytone_extension.hh:2343
ZoneReference _zoneA
The current zone for VFO A.
Definition: anytone_extension.hh:2328
VFOScanType
Encodes the possible VFO scan types.
Definition: anytone_extension.hh:2149
AnytonePowerSaveSettingsExtension * _powerSaveSettings
The power-save settings.
Definition: anytone_extension.hh:2301
AnytoneBootSettingsExtension * _bootSettings
The boot settings.
Definition: anytone_extension.hh:2299
VFO
Possible VFOs.
Definition: anytone_extension.hh:2161
AnytoneAutoRepeaterSettingsExtension * _autoRepeaterSettings
The auto-repeater settings.
Definition: anytone_extension.hh:2313
bool _subChannel
If true, the sub-channel is enabled.
Definition: anytone_extension.hh:2331
VFOScanType _vfoScanType
The VFO scan-type property.
Definition: anytone_extension.hh:2325
AnytoneAudioSettingsExtension * _audioSettings
The audio settings.
Definition: anytone_extension.hh:2309
AnytoneMenuSettingsExtension * _menuSettings
The menu settings.
Definition: anytone_extension.hh:2311
bool _keepLastCaller
If true, the last caller is kept on channel switch.
Definition: anytone_extension.hh:2336
AnytoneGPSSettingsExtension * _gpsSettings
The GSP settings.
Definition: anytone_extension.hh:2317
AnytoneSimplexRepeaterSettingsExtension * _simplexRepeaterSettings
The simplex-repeater settings.
Definition: anytone_extension.hh:2323
Interval _steDuration
STE duration.
Definition: anytone_extension.hh:2340
AnytoneRoamingSettingsExtension * _roamingSettings
The roaming settings.
Definition: anytone_extension.hh:2319
AnytoneBluetoothSettingsExtension * _bluetoothSettings
The bluetooth settings.
Definition: anytone_extension.hh:2321
Frequency _vfoStep
The VFO tuning step in kHz.
Definition: anytone_extension.hh:2337
VFOMode _modeB
Mode of VFO B.
Definition: anytone_extension.hh:2327
AnytoneDMRSettingsExtension * _dmrSettings
The DMR settings.
Definition: anytone_extension.hh:2315
Frequency _maxVFOScanFrequencyUHF
The maximum UHF VFO-scan frequency in Hz.
Definition: anytone_extension.hh:2333
VFO _selectedVFO
The current VFO.
Definition: anytone_extension.hh:2330
Frequency _minVFOScanFrequencyUHF
The minimum UHF VFO-scan frequency in Hz.
Definition: anytone_extension.hh:2332
Frequency _minVFOScanFrequencyVHF
The minimum VHF VFO-scan frequency in Hz.
Definition: anytone_extension.hh:2334
STEType _steType
The STE type.
Definition: anytone_extension.hh:2338
ZoneReference * zoneA()
Returns a reference to the current zone for VFO A.
AnytoneDisplaySettingsExtension * _displaySettings
The display settings.
Definition: anytone_extension.hh:2307
double _steFrequency
STE frequency in Hz.
Definition: anytone_extension.hh:2339
VFOMode _modeA
Mode of VFO A.
Definition: anytone_extension.hh:2326
Frequency _tbstFrequency
The TBST frequency in Hz.
Definition: anytone_extension.hh:2341
Implements the simplex repeater settings for the BTECH DMR-6X2UV.
Definition: anytone_extension.hh:1995
TimeSlot
Possible simplex repeater time-slots.
Definition: anytone_extension.hh:2012
bool _monitor
If enabled, the radio will monitor the channel.
Definition: anytone_extension.hh:2040
TimeSlot _timeSlot
The repeater time-slot.
Definition: anytone_extension.hh:2041
bool _enabled
If true, the simplex repeater is enabled.
Definition: anytone_extension.hh:2039
Implements the tone settings extension of AnyTone devices.
Definition: anytone_extension.hh:755
bool startupToneEnabled() const
Returns true if the startup tone is enabled.
Definition: anytone_extension.cc:1856
bool startup
If true, the startup tone is enabled.
Definition: anytone_extension.hh:792
unsigned int keyToneLevel
The key tone level setting.
Definition: anytone_extension.hh:765
bool _talkPermitDigital
DMR talk permit tone.
Definition: anytone_extension.hh:872
bool _totNotification
TOT notification enabled.
Definition: anytone_extension.hh:878
void enableFMIdleChannelTone(bool enable)
Enables/disables the idle FM channel tone.
Definition: anytone_extension.cc:1848
bool callAlertEnabled() const
Returns true if call alert is enabled.
Definition: anytone_extension.cc:1784
AnytoneToneSettingsExtension(QObject *parent=nullptr)
Empty constructor.
Definition: anytone_extension.cc:1735
Melody * _callMelody
Call melody.
Definition: anytone_extension.hh:879
bool _callAlert
Call alert tone enabled.
Definition: anytone_extension.hh:871
bool dmrIdle
If true, the idle tone is enabled for DMR channels.
Definition: anytone_extension.hh:788
bool dmrIdleChannelToneEnabled() const
Returns true if the idle channel tone is enabled for DMR channel.
Definition: anytone_extension.cc:1832
Melody * idleMelody
The idle melody.
Definition: anytone_extension.hh:799
bool _talkPermitAnalog
FM talk permit tone.
Definition: anytone_extension.hh:873
void enableDigitalResetTone(bool enable)
Enables/disables the reset tone for digital calls.
Definition: anytone_extension.cc:1824
Melody * callEndMelody
The call-end melody.
Definition: anytone_extension.hh:803
bool keyTone
The key tone setting.
Definition: anytone_extension.hh:761
bool fmIdle
If true, the idle tone is enabled for FM channels.
Definition: anytone_extension.hh:790
unsigned int _keyToneLevel
The level of key-tones, 0=user adjustable.
Definition: anytone_extension.hh:883
Melody * _callEndMelody
Call end melody.
Definition: anytone_extension.hh:882
bool talkPermitDigitalEnabled() const
Returns true if the talk permit tone is enabled for digital channels.
Definition: anytone_extension.cc:1796
bool tot
Enables transmit timeout notification (5s before TOT).
Definition: anytone_extension.hh:794
bool smsAlert
If true, the SMS alert tone is enabled.
Definition: anytone_extension.hh:769
bool smsAlertEnabled() const
Returns true if SMS alert is enabled.
Definition: anytone_extension.cc:1772
void enableCallAlert(bool enable)
Enables/disables call alert.
Definition: anytone_extension.cc:1788
bool keyToneEnabled() const
Returns true if the key tone is enabled.
Definition: anytone_extension.cc:1760
void enableTOTNotification(bool enable)
Enables/disables the transmit timeout notification (5s before TOT).
Definition: anytone_extension.cc:1872
bool talkPermitAnalogEnabled() const
Returns true if the talk permit tone is enabled for digital channels.
Definition: anytone_extension.cc:1808
void setKeyToneLevel(unsigned int level)
Sets the key-tone level.
Definition: anytone_extension.cc:1901
void enableDMRIdleChannelTone(bool enable)
Enables/disables the idle DMR channel tone.
Definition: anytone_extension.cc:1836
Melody * callMelody
The call melody.
Definition: anytone_extension.hh:797
Melody * _idleMelody
Idle melody.
Definition: anytone_extension.hh:880
bool _smsAlert
SMS alert tone enabled.
Definition: anytone_extension.hh:870
bool _dmrIdleChannelTone
Idle channel tone (DMR).
Definition: anytone_extension.hh:875
bool digitalResetToneEnabled() const
Returns true if the reset tone is enabled for digital calls.
Definition: anytone_extension.cc:1820
Melody * resetMelody
The reset melody.
Definition: anytone_extension.hh:801
ConfigItem * clone() const
Clones this item.
Definition: anytone_extension.cc:1750
void enableTalkPermitDigital(bool enable)
Enables/disables the talk permit tone for digital channels.
Definition: anytone_extension.cc:1800
bool dmrTalkPermit
If true, the DMR talk permit tone is enabled.
Definition: anytone_extension.hh:777
bool totNotification() const
Returns true if the transmit timeout notification is enabled (5s before TOT).
Definition: anytone_extension.cc:1868
bool _startupTone
Startup tone enabled.
Definition: anytone_extension.hh:877
void enableTalkPermitAnalog(bool enable)
Enables/disables the talk permit tone for analog channels.
Definition: anytone_extension.cc:1812
void enableStartupTone(bool enable)
Enables/disables the startup tone.
Definition: anytone_extension.cc:1860
bool fmIdleChannelToneEnabled() const
Returns true if the idle channel tone is enabled for FM channel.
Definition: anytone_extension.cc:1844
bool _resetToneDigital
DMR reset tone.
Definition: anytone_extension.hh:874
bool fmTalkPermit
If true, the FM talk permit tone is enabled.
Definition: anytone_extension.hh:785
void enableKeyTone(bool enable)
Enables/disables the key tone.
Definition: anytone_extension.cc:1764
bool _fmIdleChannelTone
Idle channel tone (FM).
Definition: anytone_extension.hh:876
bool callAlert
If true, the call alert tone is enabled.
Definition: anytone_extension.hh:773
bool _keyTone
Key tone property.
Definition: anytone_extension.hh:869
Melody * _resetMelody
Reset melody.
Definition: anytone_extension.hh:881
void enableSMSAlert(bool enable)
Enables/disables SMS alert.
Definition: anytone_extension.cc:1776
bool dmrReset
If true, the DMR reset tone is enabled.
Definition: anytone_extension.hh:781
Implements the AnyTone extensions for zones.
Definition: anytone_extension.hh:288
bool _hidden
If true, the zone is hidden in the menu.
Definition: anytone_extension.hh:307
void enableHidden(bool enable)
Enables/disables hidden zone.
Definition: anytone_extension.cc:347
ConfigItem * clone() const
Clones this item.
Definition: anytone_extension.cc:333
Q_INVOKABLE AnytoneZoneExtension(QObject *parent=nullptr)
Default constructor.
Definition: anytone_extension.cc:326
bool hidden
If true, the zone is hidden in the menu.
Definition: anytone_extension.hh:292
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
virtual ConfigItem * clone() const =0
Clones this item.
virtual ConfigItem * allocateChild(QMetaProperty &prop, const YAML::Node &node, const Context &ctx, const ErrorStack &err=ErrorStack())
Allocates an instance for the given property on the given YAML node.
Definition: configobject.cc:487
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 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