libdrmconf 0.14.1
A library to program DMR radios.
Loading...
Searching...
No Matches
d878uv_codeplug.hh
1#ifndef D878UV_CODEPLUG_HH
2#define D878UV_CODEPLUG_HH
3
4#include <QDateTime>
5
6#include "d868uv_codeplug.hh"
7#include "signaling.hh"
8#include "gpssystem.hh"
9#include "gnsssettings.hh"
10#include "dmrsettings.hh"
11#include "smsextension.hh"
12
13class Channel;
14class DMRContact;
15class Zone;
16class RXGroupList;
17class ScanList;
18class DMRAPRSSystem;
19class RoamingChannel;
20
21
49{
50 Q_OBJECT
51
52protected:
54 struct NameColor {
55 public:
57 static AnytoneDisplaySettingsExtension::Color decode(uint8_t code);
59 static uint8_t encode(AnytoneDisplaySettingsExtension::Color color);
60
61 protected:
63 typedef enum {
64 Orange=0, Red=1, Yellow=2, Green=3, Turquoise=4, Blue=5, White = 6
65 } CodedColor;
66 };
67
69 struct TextColor {
70 public:
72 static AnytoneDisplaySettingsExtension::Color decode(uint8_t code);
74 static uint8_t encode(AnytoneDisplaySettingsExtension::Color color);
75
76 protected:
78 typedef enum {
79 White=0, Black=1, Orange=2, Red=3, Yellow=4, Green=5, Turquoise=6, Blue=7
80 } CodedColor;
81 };
82
83public:
93 {
94 public:
96 enum class PTTId {
97 Off = 0,
98 Start = 1,
99 End = 2,
100 Both = 3
101 };
102
104 enum class APRSType {
105 Off = 0, FM = 1, DMR = 2
106 };
107
109 enum class APRSPTT {
110 Off = 0,
111 Start = 1,
112 End = 2
113 };
114
117 AES, ARC4
118 };
119
120 protected:
122 ChannelElement(uint8_t *ptr, unsigned size);
123
124 public:
126 explicit ChannelElement(uint8_t *ptr);
127
129 void clear() override;
130
132 virtual PTTId pttIDSetting() const;
134 virtual void setPTTIDSetting(PTTId ptt);
135
137 virtual bool roamingEnabled() const;
139 virtual void enableRoaming(bool enable);
140 // Moved
142 bool dataACK() const override;
144 void enableDataACK(bool enable) override;
146 virtual bool autoScan() const ;
148 virtual void enableAutoScan(bool enable);
149
151 APRSType txAPRSType() const;
153 void setTXAPRSType(APRSType aprsType);
154
163
165 unsigned digitalAPRSSystemIndex() const override;
167 void setDigitalAPRSSystemIndex(unsigned idx) override;
168
170 virtual int frequenyCorrection() const;
172 virtual void setFrequencyCorrection(int corr);
173
175 virtual unsigned int fmAPRSFrequencyIndex() const;
177 virtual void setFMAPRSFrequencyIndex(unsigned int idx);
178
180 virtual bool sendTalkerAlias() const;
182 virtual void enableSendTalkerAlias(bool enable);
183
187 virtual void setEncryptionType(AdvancedEncryptionType type);
188
190 virtual bool hasAESEncryptionKeyIndex() const;
193 virtual unsigned int aesEncryptionKeyIndex() const;
195 virtual void setAESEncryptionKeyIndex(unsigned int index);
197 virtual void clearAESEncryptionKeyIndex();
198
200 virtual bool hasARC4EncryptionKeyIndex() const;
203 virtual unsigned int arc4EncryptionKeyIndex() const;
205 virtual void setARC4EncryptionKeyIndex(unsigned int index);
207 virtual void clearARC4EncryptionKeyIndex();
208
210 DMREncryptionType dmrEncryptionType() const override;
212 void setDMREncryptionType(DMREncryptionType type) override;
214 bool hasDMREncryptionKeyIndex() const override;
216 unsigned dmrEncryptionKeyIndex() const override;
218 void setDMREncryptionKeyIndex(unsigned idx) override;
220 void clearDMREncryptionKeyIndex() override;
221
223 Channel *toChannelObj(Context &ctx) const override;
225 bool linkChannelObj(Channel *c, Context &ctx) const override;
227 bool fromChannelObj(const Channel *c, Context &ctx) override;
228
229 protected:
233 static constexpr unsigned int pttIDSetting() { return 0x0019; }
234 static constexpr unsigned int aesKeyIndex() { return 0x0022; }
235 static constexpr Bit roaming() { return {0x0034, 2}; }
236 static constexpr Bit dataACK() { return {0x0034, 3}; }
237 static constexpr Bit autoScan() { return {0x0034, 4}; }
238 static constexpr unsigned int fmAPRSPTTSetting() { return 0x0036; }
239 static constexpr unsigned int dmrAPRSPTTSetting() { return 0x0037; }
240 static constexpr unsigned int dmrAPRSSystemIndex() { return 0x0038; }
241 static constexpr unsigned int frequenyCorrection() { return 0x0039; }
242 static constexpr unsigned int dmrEncryptionKey() { return 0x003a; }
243 static constexpr Bit muteFMAPRS() { return {0x003b, 3}; }
244 static constexpr Bit talkerAlias() { return {0x003b, 4}; }
245 static constexpr Bit advancedEncryptionType() { return {0x003b, 5}; }
246 static constexpr unsigned int fmAPRSFrequencyIndex() { return 0x003c; }
247 static constexpr unsigned int arc4KeyIndex() { return 0x003d; }
249 };
250 };
251
252
260 {
261 protected:
263 ChannelExtensionElement(uint8_t *ptr, size_t size);
264
265 public:
267 ChannelExtensionElement(uint8_t *ptr);
268
270 static constexpr unsigned int size() { return ChannelElement::size(); }
271
273 void clear();
274
276 virtual unsigned int bot5ToneIDIndex() const;
278 virtual void setBOT5ToneIDIndex(unsigned int idx);
279
281 virtual unsigned int eot5ToneIDIndex() const;
283 virtual void setEOT5ToneIDIndex(unsigned int idx);
284
286 virtual unsigned int txColorCode() const;
288 virtual void setTXColorCode(unsigned int cc);
289
291 virtual bool updateChannelObj(Channel *c, Context &ctx) const;
293 virtual bool linkChannelObj(Channel *c, Context &ctx) const;
295 virtual bool fromChannelObj(const Channel *c, Context &ctx);
296
297 protected:
299 struct Offset: public Element::Offset {
301 static constexpr unsigned int bot5ToneIDIndex() { return 0x0000; }
302 static constexpr unsigned int eot5ToneIDIndex() { return 0x0001; }
303 static constexpr unsigned int txColorCode() { return 0x0003; }
305 };
306 };
307
308
317 {
318 protected:
320 struct KeyFunction {
321 public:
326
327 protected:
329 typedef enum {
330 Off = 0x00, Voltage = 0x01, Power = 0x02, Repeater = 0x03, Reverse = 0x04,
331 Encryption = 0x05, Call = 0x06, VOX = 0x07, ToggleVFO = 0x08, SubPTT = 0x09,
332 Scan = 0x0a, WFM = 0x0b, Alarm = 0x0c, RecordSwitch = 0x0d, Record = 0x0e, SMS = 0x0f,
333 Dial = 0x10, Monitor = 0x12, ToggleMainChannel = 0x13, HotKey1 = 0x14,
334 HotKey2 = 0x15, HotKey3 = 0x16, HotKey4 = 0x17, HotKey5 = 0x18, HotKey6 = 0x19,
335 WorkAlone = 0x1a, SkipChannel = 0x1b, DMRMonitor = 0x1c, SubChannel = 0x1d,
336 PriorityZone = 0x1e, VFOScan = 0x1f, MICSoundQuality = 0x20, LastCallReply = 0x21,
337 ChannelType = 0x22, Roaming = 0x24, ChannelRanging = 0x25, MaxVolume = 0x26, Slot = 0x27,
338 APRSType = 0x28, Zone = 0x29, RoamingSet = 0x2a, APRSSet = 0x2b, Mute=0x2c,
339 CtcssDcsSet=0x2d, TBSTSend = 0x2e, Bluetooth = 0x2f, GPS = 0x30,
340 ChannelName = 0x31, CDTScan = 0x32, APRSSend = 0x33, APRSInfo = 0x34
342 };
343
345 struct TimeZone {
346 public:
348 static uint8_t encode(const QTimeZone& zone);
350 static QTimeZone decode(uint8_t code);
351
352 protected:
354 static QVector<QTimeZone> _timeZones;
355 };
356
357 protected:
370
373 DTMF_DUR_50ms = 0, DTMF_DUR_100ms = 1, DTMF_DUR_200ms = 2, DTMF_DUR_300ms = 3, DTMF_DUR_500ms = 4
374 };
375
377 enum class TBSTFrequency {
378 Hz1000 = 0, Hz1450 = 1, Hz1750 = 2, Hz2100 = 3
379 };
380
382 enum class STEFrequency {
383 Off = 0, Hz55_2 = 1, Hz259_2 = 2
384 };
385
387 enum class BackgroundImage {
388 Default=0, Custom1=1, Custom2=2
389 };
390
392 enum class BacklightDuration {
393 Infinite = 0, _5s = 1, _10s = 2, _15s = 3, _20s = 4, _25s = 5, _30s = 6, _1min=7, _2min=8,
394 _3min = 9, _4min = 10, _5min = 11, _15min = 12, _30min = 13, _45min = 14, _1h = 15
395 };
396
398 enum class SMSFormat {
399 Motorola = 0, Hytera = 1, DMR = 2
400 };
401
402 protected:
404 GeneralSettingsElement(uint8_t *ptr, unsigned size);
405
406 public:
408 GeneralSettingsElement(uint8_t *ptr);
409
411 static constexpr unsigned int size() { return 0x00f0; }
412
414 void clear() override;
415
417 virtual Interval transmitTimeout() const;
419 virtual void setTransmitTimeout(const Interval &tot);
420
422 virtual AnytoneDisplaySettingsExtension::Language language() const;
424 virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang);
425
426 QTimeZone gpsTimeZone() const override;
427 void setGPSTimeZone(const QTimeZone &zone) override;
428
430 virtual Frequency vfoFrequencyStep() const;
432 virtual void setVFOFrequencyStep(Frequency kHz);
433
454
461 virtual double steFrequency() const;
464 virtual void setSTEFrequency(double freq);
465
467 virtual Interval groupCallHangTime() const;
469 virtual void setGroupCallHangTime(Interval sec);
471 virtual Interval privateCallHangTime() const;
473 virtual void setPrivateCallHangTime(Interval sec);
474
476 virtual Interval preWaveDelay() const;
478 virtual void setPreWaveDelay(Interval ms);
480 virtual Interval wakeHeadPeriod() const;
482 virtual void setWakeHeadPeriod(Interval ms);
483
485 virtual unsigned wfmChannelIndex() const;
487 virtual void setWFMChannelIndex(unsigned idx);
489 virtual bool wfmVFOEnabled() const;
491 virtual void enableWFMVFO(bool enable);
492
493 Interval backlightDuration() const override;
494 void setBacklightDuration(Interval intv) override;
495
497 virtual unsigned dtmfToneDuration() const;
499 virtual void setDTMFToneDuration(unsigned ms);
500
502 virtual bool manDown() const;
504 virtual void enableManDown(bool enable);
505
507 virtual bool wfmMonitor() const;
509 virtual void enableWFMMonitor(bool enable);
510
512 virtual Frequency tbstFrequency() const;
514 virtual void setTBSTFrequency(Frequency freq);
515
517 virtual bool proMode() const;
519 virtual void enableProMode(bool enable);
520
522 virtual bool filterOwnID() const;
524 virtual void enableFilterOwnID(bool enable);
526 virtual bool remoteStunKill() const;
528 virtual void enableRemoteStunKill(bool enable);
530 virtual bool remoteMonitor() const;
532 virtual void enableRemoteMonitor(bool enable);
533
535 virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const;
537 virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match);
539 virtual bool monitorColorCodeMatch() const;
541 virtual void enableMonitorColorCodeMatch(bool enable);
543 virtual bool monitorIDMatch() const;
545 virtual void enableMonitorIDMatch(bool enable);
547 virtual bool monitorTimeSlotHold() const;
549 virtual void enableMonitorTimeSlotHold(bool enable);
550
552 virtual Interval manDownDelay() const;
554 virtual void setManDownDelay(Interval sec);
556 virtual unsigned fmCallHold() const;
558 virtual void setFMCallHold(unsigned sec);
559
561 virtual bool gpsMessageEnabled() const;
563 virtual void enableGPSMessage(bool enable);
564
566 virtual bool maintainCallChannel() const;
568 virtual void enableMaintainCallChannel(bool enable);
569
571 virtual unsigned priorityZoneAIndex() const;
573 virtual void setPriorityZoneAIndex(unsigned idx);
575 virtual unsigned priorityZoneBIndex() const;
577 virtual void setPriorityZoneBIndex(unsigned idx);
578
580 virtual bool bluetooth() const;
582 virtual void enableBluetooth(bool enable);
583
585 virtual bool btAndInternalMic() const;
587 virtual void enableBTAndInternalMic(bool enable);
588
590 virtual bool btAndInternalSpeaker() const;
592 virtual void enableBTAndInternalSpeaker(bool enable);
593
595 virtual bool pluginRecTone() const;
597 virtual void enablePluginRecTone(bool enable);
598
600 virtual Interval gpsUpdatePeriod() const override;
602 virtual void setGPSUpdatePeriod(Interval sec) override;
603
605 virtual unsigned int btMicGain() const;
607 virtual void setBTMicGain(unsigned int gain);
609 virtual unsigned int btSpeakerGain() const;
611 virtual void setBTSpeakerGain(unsigned int gain);
612
614 virtual bool displayChannelNumber() const;
616 virtual void enableDisplayChannelNumber(bool enable);
617
618 bool showCurrentContact() const override;
619 void enableShowCurrentContact(bool enable) override;
620
622 virtual Interval autoRoamPeriod() const;
624 virtual void setAutoRoamPeriod(Interval min);
625
626 bool keyToneLevelAdjustable() const override;
627 unsigned keyToneLevel() const override;
628 void setKeyToneLevel(unsigned level) override;
629 void setKeyToneLevelAdjustable() override;
630
631 AnytoneDisplaySettingsExtension::Color callDisplayColor() const override;
632 void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color) override;
633
634 bool gpsUnitsImperial() const override;
635 void enableGPSUnitsImperial(bool enable) override;
636
637 bool knobLock() const override;
638 void enableKnobLock(bool enable) override;
639 bool keypadLock() const override;
640 void enableKeypadLock(bool enable) override;
641 bool sidekeysLock() const override;
642 void enableSidekeysLock(bool enable) override;
643 bool keyLockForced() const override;
644 void enableKeyLockForced(bool enable) override;
645
647 virtual Interval autoRoamDelay() const;
649 virtual void setAutoRoamDelay(Interval sec);
650
652 virtual AnytoneDisplaySettingsExtension::Color standbyTextColor() const;
654 virtual void setStandbyTextColor(AnytoneDisplaySettingsExtension::Color color);
659
660 bool showLastHeard() const override;
661 void enableShowLastHeard(bool enable) override;
662
664 virtual SMSExtension::Format smsFormat() const;
666 virtual void setSMSFormat(SMSExtension::Format fmt);
667
669 virtual Frequency autoRepeaterMinFrequencyVHF() const override;
671 virtual void setAutoRepeaterMinFrequencyVHF(Frequency Hz) override;
673 virtual Frequency autoRepeaterMaxFrequencyVHF() const override;
675 virtual void setAutoRepeaterMaxFrequencyVHF(Frequency Hz) override;
676
678 virtual Frequency autoRepeaterMinFrequencyUHF() const override;
680 virtual void setAutoRepeaterMinFrequencyUHF(Frequency Hz) override;
682 virtual Frequency autoRepeaterMaxFrequencyUHF() const override;
684 virtual void setAutoRepeaterMaxFrequencyUHF(Frequency Hz) override;
685
690
692 virtual bool fmSendIDAndContact() const;
694 virtual void enableFMSendIDAndContact(bool enable);
695
696 bool defaultChannel() const override;
697 void enableDefaultChannel(bool enable) override;
698 unsigned defaultZoneIndexA() const override;
699 void setDefaultZoneIndexA(unsigned idx) override;
700 unsigned defaultZoneIndexB() const override;
701 void setDefaultZoneIndexB(unsigned idx) override;
702 bool defaultChannelAIsVFO() const override;
703 unsigned defaultChannelAIndex() const override;
704 void setDefaultChannelAIndex(unsigned idx) override;
705 void setDefaultChannelAToVFO() override;
706 bool defaultChannelBIsVFO() const override;
707 unsigned defaultChannelBIndex() const override;
708 void setDefaultChannelBIndex(unsigned idx) override;
709 void setDefaultChannelBToVFO() override;
710
712 virtual unsigned defaultRoamingZoneIndex() const;
714 virtual void setDefaultRoamingZoneIndex(unsigned idx);
715
717 virtual bool repeaterRangeCheck() const;
719 virtual void enableRepeaterRangeCheck(bool enable);
721 virtual Interval repeaterRangeCheckInterval() const;
723 virtual void setRepeaterRangeCheckInterval(Interval sec);
725 virtual unsigned repeaterRangeCheckCount() const;
727 virtual void setRepeaterRangeCheckCount(unsigned n);
728
733
735 virtual Interval txBacklightDuration() const;
737 virtual void setTXBacklightDuration(Interval sec);
738
740 virtual bool separateDisplay() const;
742 virtual void enableSeparateDisplay(bool enable);
743
744 bool keepLastCaller() const override;
745 void enableKeepLastCaller(bool enable) override;
746
748 virtual AnytoneDisplaySettingsExtension::Color channelNameColor() const;
750 virtual void setChannelNameColor(AnytoneDisplaySettingsExtension::Color color);
751
753 virtual bool repeaterCheckNotification() const;
755 virtual void enableRepeaterCheckNotification(bool enable);
756
761
763 virtual bool roaming() const;
765 virtual void enableRoaming(bool enable);
766
768 virtual Interval muteDelay() const;
770 virtual void setMuteDelay(Interval min);
771
773 virtual unsigned repeaterCheckNumNotifications() const;
775 virtual void setRepeaterCheckNumNotifications(unsigned num);
776
778 virtual bool bootGPSCheck() const;
780 virtual void enableBootGPSCheck(bool enable);
782 virtual bool bootReset() const;
784 virtual void enableBootReset(bool enable);
785
787 virtual bool btHoldTimeEnabled() const;
789 virtual bool btHoldTimeInfinite() const;
791 virtual Interval btHoldTime() const;
793 virtual void setBTHoldTime(Interval interval);
795 virtual void setBTHoldTimeInfinite();
797 virtual void disableBTHoldTime();
798
800 virtual Interval btRXDelay() const;
802 virtual void setBTRXDelay(Interval delay);
803
804 bool fromConfig(const Flags &flags, Context &ctx) override;
805 bool updateConfig(Context &ctx) override;
806 bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err) override;
807
808 public:
811 // Valid repeater-out-of-range notification counts.
812 static constexpr Range<unsigned int> repeaterOORNotificationCount() { return {1, 10}; }
813 };
814
815 protected:
819 static constexpr unsigned int transmitTimeout() { return 0x0004; }
820 static constexpr unsigned int language() { return 0x0005; }
821 static constexpr unsigned int vfoFrequencyStep() { return 0x0008; }
822 static constexpr unsigned int steType() { return 0x0017; }
823 static constexpr unsigned int steFrequency() { return 0x0018; }
824 static constexpr unsigned int groupCallHangTime() { return 0x0019; }
825 static constexpr unsigned int privateCallHangTime() { return 0x001a; }
826 static constexpr unsigned int preWaveDelay() { return 0x001b; }
827 static constexpr unsigned int wakeHeadPeriod() { return 0x001c; }
828 static constexpr unsigned int wfmChannelIndex() { return 0x001d; }
829 static constexpr unsigned int wfmVFOEnabled() { return 0x001e; }
830 static constexpr unsigned int dtmfToneDuration() { return 0x0023; }
831 static constexpr unsigned int manDown() { return 0x0024; }
832 static constexpr unsigned int wfmMonitor() { return 0x002b; }
833 static constexpr unsigned int tbstFrequency() { return 0x002e; }
834 static constexpr unsigned int proMode() { return 0x0034; }
835 static constexpr unsigned int filterOwnID() { return 0x0038; }
836 static constexpr unsigned int remoteStunKill() { return 0x003c; }
837 static constexpr unsigned int remoteMonitor() { return 0x003e; }
838 static constexpr unsigned int monSlotMatch() { return 0x0049; }
839 static constexpr unsigned int monColorCodeMatch() { return 0x004a; }
840 static constexpr unsigned int monIDMatch() { return 0x004b; }
841 static constexpr unsigned int monTimeSlotHold() { return 0x004c; }
842 static constexpr unsigned int manDownDelay() { return 0x004f; }
843 static constexpr unsigned int fmCallHold() { return 0x0050; }
844 static constexpr unsigned int enableGPSMessage() { return 0x0053; }
845 static constexpr unsigned int maintainCallChannel() { return 0x006e; }
846 static constexpr unsigned int priorityZoneA() { return 0x006f; }
847 static constexpr unsigned int priorityZoneB() { return 0x0070; }
848 static constexpr unsigned int bluetooth() { return 0x00b1; }
849 static constexpr unsigned int btAndInternalMic() { return 0x00b2; }
850 static constexpr unsigned int btAndInternalSpeaker(){ return 0x00b3; }
851 static constexpr unsigned int pluginRecTone() { return 0x00b4; }
852 static constexpr unsigned int gpsRangingInterval() { return 0x00b5; }
853 static constexpr unsigned int btMicGain() { return 0x00b6; }
854 static constexpr unsigned int btSpeakerGain() { return 0x00b7; }
855 static constexpr unsigned int showChannelNumber() { return 0x00b8; }
856 static constexpr unsigned int showCurrentContact() { return 0x00b9; }
857 static constexpr unsigned int autoRoamPeriod() { return 0x00ba; }
858 static constexpr unsigned int keyToneLevel() { return 0x00bb; }
859 static constexpr unsigned int callColor() { return 0x00bc; }
860 static constexpr unsigned int gpsUnits() { return 0x00bd; }
861 static constexpr unsigned int knobLock() { return 0x00be; }
862 static constexpr unsigned int keypadLock() { return 0x00be; }
863 static constexpr unsigned int sideKeyLock() { return 0x00be; }
864 static constexpr unsigned int forceKeyLock() { return 0x00be; }
865 static constexpr unsigned int autoRoamDelay() { return 0x00bf; }
866 static constexpr unsigned int standbyTextColor() { return 0x00c0; }
867 static constexpr unsigned int standbyBackground() { return 0x00c1; }
868 static constexpr unsigned int showLastHeard() { return 0x00c2; }
869 static constexpr unsigned int smsFormat() { return 0x00c3; }
870 static constexpr unsigned int autoRepMinVHF() { return 0x00c4; }
871 static constexpr unsigned int autoRepMaxVHF() { return 0x00c8; }
872 static constexpr unsigned int autoRepMinUHF() { return 0x00cc; }
873 static constexpr unsigned int autoRepMaxUHF() { return 0x00d0; }
874 static constexpr unsigned int autoRepeaterDirB() { return 0x00d4; }
875 static constexpr unsigned int fmSendIDAndContact() { return 0x00d5; }
876 static constexpr unsigned int defaultChannels() { return 0x00d7; }
877 static constexpr unsigned int defaultZoneA() { return 0x00d8; }
878 static constexpr unsigned int defaultZoneB() { return 0x00d9; }
879 static constexpr unsigned int defaultChannelA() { return 0x00da; }
880 static constexpr unsigned int defaultChannelB() { return 0x00db; }
881 static constexpr unsigned int defaultRoamingZone() { return 0x00dc; }
882 static constexpr unsigned int repRangeCheck() { return 0x00dd; }
883 static constexpr unsigned int rangeCheckInterval() { return 0x00de; }
884 static constexpr unsigned int rangeCheckCount() { return 0x00df; }
885 static constexpr unsigned int roamStartCondition() { return 0x00e0; }
886 static constexpr unsigned int txBacklightDuration() { return 0x00e1; }
887 static constexpr unsigned int displaySeparator() { return 0x00e2; }
888 static constexpr unsigned int keepLastCaller() { return 0x00e3; }
889 static constexpr unsigned int channelNameColor() { return 0x00e4; }
890 static constexpr unsigned int repCheckNotify() { return 0x00e5; }
891 static constexpr unsigned int rxBacklightDuration() { return 0x00e6; }
892 static constexpr unsigned int roaming() { return 0x00e7; }
893 static constexpr unsigned int muteDelay() { return 0x00e9; }
894 static constexpr unsigned int repCheckNumNotify() { return 0x00ea; }
895 static constexpr unsigned int bootGPSCheck() { return 0x00eb; }
896 static constexpr unsigned int bootReset() { return 0x00ec; }
897 static constexpr unsigned int btHoldTime() { return 0x00ed; }
898 static constexpr unsigned int btRXDelay() { return 0x00ee; }
900 };
901 };
902
908 {
909 protected:
911 enum class GNSS {
912 GPS=0, Beidou=1, Both = 2
913 };
914
917 ISO8 = 0, ISO7 = 1, Unicode = 2,
918 };
919
920 protected:
922 ExtendedSettingsElement(uint8_t *ptr, unsigned size);
923
924 public:
926 explicit ExtendedSettingsElement(uint8_t *ptr);
927
929 static constexpr unsigned int size() { return 0x00000200; }
930
932 void clear();
933
935 virtual bool sendTalkerAlias() const;
937 virtual void enableSendTalkerAlias(bool enable);
938
940 virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const;
942 virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode);
943
948
950 virtual bool bluetoothPTTLatch() const;
952 virtual void enableBluetoothPTTLatch(bool enable);
953
955 virtual bool infiniteBluetoothPTTSleepDelay() const;
957 virtual Interval bluetoothPTTSleepDelay() const;
959 virtual void setBluetoothPTTSleepDelay(Interval delay);
962
964 virtual bool hasAutoRepeaterUHF2OffsetIndex() const;
966 virtual unsigned autoRepeaterUHF2OffsetIndex() const;
968 virtual void setAutoRepeaterUHF2OffsetIndex(unsigned idx);
971
973 virtual bool hasAutoRepeaterVHF2OffsetIndex() const;
975 virtual unsigned autoRepeaterVHF2OffsetIndex() const;
977 virtual void setAutoRepeaterVHF2OffsetIndex(unsigned idx);
980
997
999 virtual GNSSSettings::Systems gnss() const;
1001 virtual void setGNSS(GNSSSettings::Systems mode);
1002
1004 virtual Interval steDuration() const;
1006 virtual void setSTEDuration(Interval dur);
1007
1009 virtual bool infiniteManDialGroupCallHangTime() const;
1011 virtual Interval manDialGroupCallHangTime() const;
1013 virtual void setManDialGroupCallHangTime(Interval dur);
1016
1018 virtual bool infiniteManDialPrivateCallHangTime() const;
1020 virtual Interval manDialPrivateCallHangTime() const;
1022 virtual void setManDialPrivateCallHangTime(Interval dur);
1025
1026 AnytoneDisplaySettingsExtension::Color channelBNameColor() const;
1027 void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color);
1028
1030 virtual AnytoneDMRSettingsExtension::EncryptionType encryption() const;
1032 virtual void setEncryption(AnytoneDMRSettingsExtension::EncryptionType mode);
1033
1035 virtual bool totNotification() const;
1037 virtual void enableTOTNotification(bool enable);
1038
1040 virtual bool atpc() const;
1042 virtual void enableATPC(bool enable);
1043
1044 AnytoneDisplaySettingsExtension::Color zoneANameColor() const;
1045 void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color);
1046 AnytoneDisplaySettingsExtension::Color zoneBNameColor() const;
1047 void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color);
1048
1050 virtual bool resetAutoShutdownOnCall() const;
1052 virtual void enableResetAutoShutdownOnCall(bool enable);
1053
1055 virtual bool showColorCode() const;
1057 virtual void enableShowColorCode(bool enable);
1059 virtual bool showTimeSlot() const;
1061 virtual void enableShowTimeSlot(bool enable);
1063 virtual bool showChannelType() const;
1065 virtual void enableShowChannelType(bool enable);
1066
1068 virtual bool fmIdleTone() const;
1070 virtual void enableFMIdleTone(bool enable);
1071
1073 virtual AnytoneDisplaySettingsExtension::DateFormat dateFormat() const;
1075 virtual void setDateFormat(AnytoneDisplaySettingsExtension::DateFormat format);
1076
1078 virtual Level fmMicGain() const;
1080 virtual void setFMMicGain(Level gain);
1081
1083 virtual bool gpsRoaming() const;
1085 virtual void enableGPSRoaming(bool enable);
1086
1088 virtual void callEndToneMelody(Melody &melody) const;
1090 virtual void setCallEndToneMelody(const Melody &melody);
1092 virtual void allCallToneMelody(Melody &melody) const;
1094 virtual void setAllCallToneMelody(const Melody &melody);
1095
1097 virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1099 virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1101 virtual bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1102
1103 public:
1106 static constexpr unsigned int maxBluetoothPTTSleepDelay() { return 4; }
1107 static constexpr Range<unsigned int> micGain() { return {0,4}; }
1108 };
1109
1110 protected:
1114 static constexpr unsigned int sendTalkerAlias() { return 0x0000; }
1115 static constexpr unsigned int talkerAliasDisplay() { return 0x001e; }
1116 static constexpr unsigned int talkerAliasEncoding() { return 0x001f; }
1117 static constexpr unsigned int btPTTLatch() { return 0x0020; }
1118 static constexpr unsigned int autoRepeaterUHF2OffsetIndex() { return 0x0022; }
1119 static constexpr unsigned int autoRepeaterVHF2OffsetIndex() { return 0x0023; }
1120 static constexpr unsigned int autoRepeaterVHF2MinFrequency() { return 0x0024; }
1121 static constexpr unsigned int autoRepeaterVHF2MaxFrequency() { return 0x0028; }
1122 static constexpr unsigned int autoRepeaterUHF2MinFrequency() { return 0x002c; }
1123 static constexpr unsigned int autoRepeaterUHF2MaxFrequency() { return 0x0030; }
1124 static constexpr unsigned int btPTTSleepDelay() { return 0x0034; }
1125 static constexpr unsigned int gpsMode() { return 0x0035; }
1126 static constexpr unsigned int steDuration() { return 0x0036; }
1127 static constexpr unsigned int manGrpCallHangTime() { return 0x0037; }
1128 static constexpr unsigned int manPrivCallHangTime() { return 0x0038; }
1129 static constexpr unsigned int channelBNameColor() { return 0x0039; }
1130 static constexpr unsigned int encryptionType() { return 0x003a; }
1131 static constexpr unsigned int totNotification() { return 0x003b; }
1132 static constexpr unsigned int atpc() { return 0x003c; }
1133 static constexpr unsigned int zoneANameColor() { return 0x003d; }
1134 static constexpr unsigned int zoneBNameColor() { return 0x003e; }
1135 static constexpr unsigned int autoShutdownMode() { return 0x003f; }
1136 static constexpr Bit displayColorCode() { return {0x0040, 2}; }
1137 static constexpr Bit displayTimeSlot() { return {0x0040, 1}; }
1138 static constexpr Bit displayChannelType() { return {0x0040, 0}; }
1139 static constexpr unsigned int fmIdleTone() { return 0x0041; }
1140 static constexpr unsigned int dateFormat() { return 0x0042; }
1141 static constexpr unsigned int analogMicGain() { return 0x0043; }
1142 static constexpr unsigned int gpsRoaming() { return 0x0044; }
1143 static constexpr unsigned int callEndTones() { return 0x0046; }
1144 static constexpr unsigned int callEndDurations() { return 0x0050; }
1145 static constexpr unsigned int allCallTones() { return 0x005a; }
1146 static constexpr unsigned int allCallDurations() { return 0x0064; }
1148 };
1149 };
1150
1151
1154 {
1155 protected:
1157 FMAPRSFrequencyNamesElement(uint8_t *ptr, size_t size);
1158
1159 public:
1161 explicit FMAPRSFrequencyNamesElement(uint8_t *ptr);
1162
1164 static constexpr unsigned int size() { return 0x0080; }
1165
1166 void clear();
1167
1169 virtual QString name(unsigned int n) const;
1171 virtual void setName(unsigned int n, const QString &name);
1172
1173 public:
1175 struct Limit {
1176 static constexpr unsigned int nameLength() { return 16; }
1177 };
1178
1179 protected:
1181 struct Offset {
1183 static constexpr unsigned int betweenNames() { return 0x0010; }
1185 };
1186 };
1187
1188
1195 {
1196 protected:
1198 APRSSettingsElement(uint8_t *ptr, unsigned size);
1199
1201 enum class SignalingType {
1202 Off=0, CTCSS=1, DCS=2
1203 };
1204
1205 public:
1207 explicit APRSSettingsElement(uint8_t *ptr);
1208
1210 static constexpr unsigned int size() { return 0x0100; }
1211
1213 void clear();
1214 bool isValid() const;
1215
1217 virtual Interval fmTXDelay() const;
1219 virtual void setFMTXDelay(Interval ms);
1220
1222 virtual SelectiveCall txTone() const;
1224 virtual void setTXTone(const SelectiveCall &code);
1225
1227 virtual Interval manualTXInterval() const;
1229 virtual void setManualTXInterval(Interval sec);
1230
1232 virtual bool autoTX() const;
1234 virtual Interval autoTXInterval() const;
1236 virtual void setAutoTXInterval(Interval sec);
1238 virtual void disableAutoTX();
1239
1241 virtual bool fixedLocationEnabled() const;
1243 virtual QGeoCoordinate fixedLocation() const;
1245 virtual void setFixedLocation(const QGeoCoordinate& loc);
1247 virtual void enableFixedLocation(bool enable);
1248
1250 virtual QString destination() const;
1252 virtual unsigned destinationSSID() const;
1254 virtual void setDestination(const QString &call, unsigned ssid);
1256 virtual QString source() const;
1258 virtual unsigned sourceSSID() const;
1260 virtual void setSource(const QString &call, unsigned ssid);
1261
1263 virtual QString path() const;
1265 virtual void setPath(const QString &path);
1266
1268 virtual FMAPRSSystem::Icon icon() const;
1270 virtual void setIcon(FMAPRSSystem::Icon icon);
1271
1273 virtual Channel::Power power() const;
1275 virtual void setPower(Channel::Power power);
1276
1278 virtual Interval fmPreWaveDelay() const;
1280 virtual void setFMPreWaveDelay(Interval ms);
1281
1283 virtual bool dmrChannelIsSelected(unsigned n) const;
1285 virtual unsigned dmrChannelIndex(unsigned n) const;
1287 virtual void setDMRChannelIndex(unsigned n, unsigned idx);
1289 virtual void setDMRChannelSelected(unsigned n);
1290
1292 virtual unsigned dmrDestination(unsigned n) const;
1294 virtual void setDMRDestination(unsigned n, unsigned idx);
1295
1297 virtual DMRContact::Type dmrCallType(unsigned n) const;
1299 virtual void setDMRCallType(unsigned n, DMRContact::Type type);
1300
1302 virtual bool dmrTimeSlotOverride(unsigned n);
1304 virtual DMRChannel::TimeSlot dmrTimeSlot(unsigned n) const;
1306 virtual void setDMRTimeSlot(unsigned n, DMRChannel::TimeSlot ts);
1308 virtual void clearDMRTimeSlotOverride(unsigned n);
1309
1311 virtual bool dmrRoaming() const;
1313 virtual void enableDMRRoaming(bool enable);
1314
1316 virtual Interval dmrPreWaveDelay() const;
1318 virtual void setDMRPreWaveDelay(Interval ms);
1319
1321 virtual bool infiniteDisplayTime() const;
1323 virtual Interval displayTime() const;
1325 virtual void setDisplayTime(Interval dur);
1327 virtual void setDisplayTimeInifinite();
1328
1333
1335 virtual bool fmPassAll() const;
1337 virtual void enableFMPassAll(bool enable);
1338
1340 virtual bool fmFrequencySet(unsigned int n) const;
1342 virtual Frequency fmFrequency(unsigned int n) const;
1344 virtual void setFMFrequency(unsigned int n, Frequency f);
1346 virtual void clearFMFrequency(unsigned int n);
1347
1349 virtual bool reportPosition() const;
1351 virtual void enableReportPosition(bool enable);
1353 virtual bool reportMicE() const;
1355 virtual void enableReportMicE(bool enable);
1357 virtual bool reportObject() const;
1359 virtual void enableReportObject(bool enable);
1361 virtual bool reportItem() const;
1363 virtual void enableReportItem(bool enable);
1365 virtual bool reportMessage() const;
1367 virtual void enableReportMessage(bool enable);
1369 virtual bool reportWeather() const;
1371 virtual void enableReportWeather(bool enable);
1373 virtual bool reportNMEA() const;
1375 virtual void enableReportNMEA(bool enable);
1377 virtual bool reportStatus() const;
1379 virtual void enableReportStatus(bool enable);
1381 virtual bool reportOther() const;
1383 virtual void enableReportOther(bool enable);
1384
1386 virtual bool fromConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1388 virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1389
1391 virtual bool fromFMAPRSSystem(const FMAPRSSystem *sys, Context &ctx,
1393 const ErrorStack &err=ErrorStack());
1396 Context &ctx, const FMAPRSFrequencyNamesElement &names, const ErrorStack &err=ErrorStack());
1399 virtual bool linkFMAPRSSystem(FMAPRSSystem *sys, Context &ctx);
1400
1402 virtual bool fromDMRAPRSSystems(Context &ctx);
1404 virtual bool fromDMRAPRSSystemObj(unsigned int idx, DMRAPRSSystem *sys, Context &ctx);
1406 virtual DMRAPRSSystem *toDMRAPRSSystemObj(int idx) const;
1408 virtual bool linkDMRAPRSSystem(int idx, DMRAPRSSystem *sys, Context &ctx) const;
1409
1410 public:
1412 struct Limit {
1414 static constexpr unsigned int callLength() { return 0x0006; }
1416 static constexpr unsigned int pathLength() { return 0x0020; }
1418 static constexpr unsigned int dmrSystems() { return 0x0008; }
1420 static constexpr unsigned int fmFrequencies() { return 0x0008; }
1421 };
1422
1423 protected:
1425 struct Offset {
1427 static constexpr unsigned int fmTXDelay() { return 0x0005; }
1428 static constexpr unsigned int fmSigType() { return 0x0006; }
1429 static constexpr unsigned int fmCTCSS() { return 0x0007; }
1430 static constexpr unsigned int fmDCS() { return 0x0008; }
1431 static constexpr unsigned int manualTXInterval() { return 0x000a; }
1432 static constexpr unsigned int autoTXInterval() { return 0x000b; }
1433 static constexpr unsigned int fmTXMonitor() { return 0x000c; }
1434 static constexpr unsigned int fixedLocation() { return 0x000d; }
1435 static constexpr unsigned int fixedLatDeg() { return 0x000e; }
1436 static constexpr unsigned int fixedLatMin() { return 0x000f; }
1437 static constexpr unsigned int fixedLatSec() { return 0x0010; }
1438 static constexpr unsigned int fixedLatSouth() { return 0x0011; }
1439 static constexpr unsigned int fixedLonDeg() { return 0x0012; }
1440 static constexpr unsigned int fixedLonMin() { return 0x0013; }
1441 static constexpr unsigned int fixedLonSec() { return 0x0014; }
1442 static constexpr unsigned int fixedLonWest() { return 0x0015; }
1443 static constexpr unsigned int destinationCall() { return 0x0016; }
1444 static constexpr unsigned int destinationSSID() { return 0x001c; }
1445 static constexpr unsigned int sourceCall() { return 0x001d; }
1446 static constexpr unsigned int sourceSSID() { return 0x0023; }
1447 static constexpr unsigned int path() { return 0x0024; }
1448 static constexpr unsigned int symbolTable() { return 0x0039; }
1449 static constexpr unsigned int symbol() { return 0x003a; }
1450 static constexpr unsigned int fmPower() { return 0x003b; }
1451 static constexpr unsigned int fmPrewaveDelay() { return 0x003c; }
1452 static constexpr unsigned int dmrChannelIndices() { return 0x0040; }
1453 static constexpr unsigned int betweenDMRChannelIndices() { return 0x0002; }
1454 static constexpr unsigned int dmrDestinations() { return 0x0050; }
1455 static constexpr unsigned int betweenDMRDestinations() { return 0x0004; }
1456 static constexpr unsigned int dmrCallTypes() { return 0x0070; }
1457 static constexpr unsigned int betweenDMRCallTypes() { return 0x0001; }
1458 static constexpr unsigned int roamingSupport() { return 0x0078; }
1459 static constexpr unsigned int dmrTimeSlots() { return 0x0079; }
1460 static constexpr unsigned int betweenDMRTimeSlots() { return 0x0001; }
1461 static constexpr unsigned int dmrPrewaveDelay() { return 0x0081; }
1462 static constexpr unsigned int displayInterval() { return 0x0082; }
1463 static constexpr unsigned int fixedHeight() { return 0x00a6; }
1464 static constexpr unsigned int reportPosition() { return 0x00a8; }
1465 static constexpr unsigned int reportMicE() { return 0x00a8; }
1466 static constexpr unsigned int reportObject() { return 0x00a8; }
1467 static constexpr unsigned int reportItem() { return 0x00a8; }
1468 static constexpr unsigned int reportMessage() { return 0x00a8; }
1469 static constexpr unsigned int reportWeather() { return 0x00a8; }
1470 static constexpr unsigned int reportNMEA() { return 0x00a8; }
1471 static constexpr unsigned int reportStatus() { return 0x00a8; }
1472 static constexpr unsigned int reportOther() { return 0x00a9; }
1473 static constexpr unsigned int fmWidth() { return 0x00aa; }
1474 static constexpr unsigned int passAll() { return 0x00ab; }
1475 static constexpr unsigned int fmFrequencies() { return 0x00ac; }
1476 static constexpr unsigned int betweenFMFrequencies() { return 0x0004; }
1477
1479 };
1480 };
1481
1484 {
1485 protected:
1487 AnalogAPRSMessageElement(uint8_t *ptr, size_t size);
1488
1489 public:
1491 AnalogAPRSMessageElement(uint8_t *ptr);
1492
1494 static constexpr unsigned int size() { return 0x0040; }
1495
1496 void clear();
1497
1499 virtual QString message() const;
1501 virtual void setMessage(const QString &msg);
1502
1503 public:
1505 struct Limit {
1506 static constexpr unsigned int length() { return 60; }
1507 };
1508 };
1509
1515 {
1516 protected:
1518 AnalogAPRSRXEntryElement(uint8_t *ptr, unsigned size);
1519
1520 public:
1522 AnalogAPRSRXEntryElement(uint8_t *ptr);
1523
1525 static constexpr unsigned int size() { return 0x0008; }
1526
1528 void clear();
1530 bool isValid() const;
1531
1533 virtual QString call() const;
1535 virtual unsigned ssid() const;
1537 virtual void setCall(const QString &call, unsigned ssid);
1538 };
1539
1545 {
1546 protected:
1548 RoamingChannelElement(uint8_t *ptr, unsigned size);
1549
1550 protected:
1553 Disabled = 16
1554 };
1555
1558 TS1 = 0,
1559 TS2 = 1
1560 };
1561
1562 public:
1564 RoamingChannelElement(uint8_t *ptr);
1565
1567 static constexpr unsigned int size() { return 0x0020; }
1568
1570 void clear();
1571
1573 virtual unsigned rxFrequency() const;
1575 virtual void setRXFrequency(unsigned hz);
1577 virtual unsigned txFrequency() const;
1579 virtual void setTXFrequency(unsigned hz);
1580
1582 virtual bool hasColorCode() const;
1584 virtual unsigned colorCode() const;
1586 virtual void setColorCode(unsigned cc);
1588 virtual void disableColorCode();
1589
1591 virtual DMRChannel::TimeSlot timeSlot() const;
1593 virtual void setTimeSlot(DMRChannel::TimeSlot ts);
1594
1596 virtual QString name() const;
1598 virtual void setName(const QString &name);
1599
1601 virtual bool fromChannel(const RoamingChannel *ch);
1603 virtual RoamingChannel *toChannel(Context &ctx);
1604
1605 public:
1607 struct Limit {
1608 static constexpr unsigned int nameLength() { return 16; }
1609 };
1610
1611 protected:
1613 struct Offset {
1615 static constexpr unsigned int rxFrequency() { return 0x0000; }
1616 static constexpr unsigned int txFrequency() { return 0x0004; }
1617 static constexpr unsigned int colorCode() { return 0x0008; }
1618 static constexpr unsigned int timeSlot() { return 0x0009; }
1619 static constexpr unsigned int name() { return 0x000a; }
1621 };
1622 };
1623
1624
1627 {
1628 protected:
1630 RoamingChannelBitmapElement(uint8_t *ptr, size_t size);
1631
1632 public:
1634 RoamingChannelBitmapElement(uint8_t *ptr);
1635
1637 static constexpr unsigned int size() { return 0x0020; }
1638 };
1639
1645 {
1646 protected:
1648 RoamingZoneElement(uint8_t *ptr, unsigned size);
1649
1650 public:
1652 RoamingZoneElement(uint8_t *ptr);
1653
1655 static constexpr unsigned int size() { return 0x0080; }
1656
1658 void clear();
1659
1661 virtual bool hasMember(unsigned n) const;
1663 virtual unsigned member(unsigned n) const;
1665 virtual void setMember(unsigned n, unsigned idx);
1667 virtual void clearMember(unsigned n);
1668
1670 virtual QString name() const;
1672 virtual void setName(const QString &name);
1673
1675 virtual bool fromRoamingZone(RoamingZone *zone, Context& ctx, const ErrorStack &err=ErrorStack());
1677 virtual RoamingZone *toRoamingZone(Context& ctx, const ErrorStack &err=ErrorStack()) const;
1679 virtual bool linkRoamingZone(RoamingZone *zone, Context& ctx, const ErrorStack& err=ErrorStack());
1680
1681 public:
1683 struct Limit {
1684 static constexpr unsigned int nameLength() { return 16; }
1685 static constexpr unsigned int numMembers() { return 64; }
1686 };
1687
1688 protected:
1690 struct Offset {
1692 static constexpr unsigned int members() { return 0x0000; }
1693 static constexpr unsigned int betweenMembers() { return 0x0001; }
1694 static constexpr unsigned int name() { return 0x0040; }
1696 };
1697 };
1698
1701 {
1702 protected:
1704 RoamingZoneBitmapElement(uint8_t *ptr, size_t size);
1705
1706 public:
1708 RoamingZoneBitmapElement(uint8_t *ptr);
1709
1711 static constexpr unsigned int size() { return 0x0010; }
1712 };
1713
1714
1719 {
1720 protected:
1722 AESEncryptionKeyElement(uint8_t *ptr, unsigned size);
1723
1724 public:
1726 AESEncryptionKeyElement(uint8_t *ptr);
1727
1729 static constexpr unsigned int size() { return 0x0040; }
1730
1732 void clear();
1733
1735 bool isValid() const;
1736
1738 virtual unsigned index() const;
1740 virtual void setIndex(unsigned idx);
1741
1743 virtual QByteArray key() const;
1745 virtual void setKey(const QByteArray &key);
1746
1747 public:
1749 struct Limit: public Element::Limit {
1751 static constexpr unsigned int maxIndex() { return 254; }
1753 static constexpr unsigned int keySize() { return 32; }
1754 };
1755
1756 protected:
1758 struct Offset: public Element::Offset {
1760 static constexpr unsigned int index() { return 0x0000; }
1761 static constexpr unsigned int key() { return 0x0001; }
1762 static constexpr unsigned int size() { return 0x0022; }
1764 };
1765 };
1766
1769 {
1770 protected:
1772 AESEncryptionKeyBitmapElement(uint8_t *ptr, size_t size);
1773
1774 public:
1776 AESEncryptionKeyBitmapElement(uint8_t *ptr);
1777
1779 static constexpr unsigned int size() { return 0x0020; }
1780 };
1781
1782
1787 {
1788 protected:
1790 ARC4EncryptionKeyElement(uint8_t *ptr, size_t size);
1791
1792 public:
1794 ARC4EncryptionKeyElement(uint8_t *ptr);
1795
1797 static constexpr unsigned int size() { return 0x0010; }
1798
1799 void clear();
1800 bool isValid() const;
1801
1803 virtual unsigned index() const;
1805 virtual void setIndex(unsigned idx);
1806
1808 virtual QByteArray key() const;
1810 virtual void setKey(const QByteArray &key);
1811
1812 public:
1814 struct Limit: public Element::Limit {
1816 static constexpr unsigned int maxIndex() { return 254; }
1818 static constexpr unsigned int keySize() { return 5; }
1819 };
1820
1821 protected:
1823 struct Offset: public Element::Offset {
1825 static constexpr unsigned int index() { return 0x0000; }
1826 static constexpr unsigned int key() { return 0x0001; }
1828 };
1829 };
1830
1833 {
1834 protected:
1836 ARC4EncryptionKeyBitmapElement(uint8_t *ptr, size_t size);
1837
1838 public:
1840 ARC4EncryptionKeyBitmapElement(uint8_t *ptr);
1841
1843 static constexpr unsigned int size() { return 0x0020; }
1844 };
1845
1846
1849 {
1850 protected:
1852 HiddenZoneBitmapElement(uint8_t *ptr, size_t size);
1853
1854 public:
1856 HiddenZoneBitmapElement(uint8_t *ptr);
1857
1859 static constexpr unsigned int size() { return 0x0020; }
1860 };
1861
1867 {
1868 public:
1871 RX_400_480_136_174_TX_400_480_136_174 = 0,
1872 RX_400_480_136_174_TX_400_480_136_174_STEP_12_5kHz = 1,
1873 RX_430_440_136_174_TX_430_440_136_174 = 2,
1874 RX_400_480_136_174_TX_430_440_144_146 = 3,
1875 RX_440_480_136_174_TX_440_480_136_174 = 4,
1876 RX_440_480_144_146_TX_440_480_144_146 = 5,
1877 RX_446_447_136_174_TX_446_447_136_174 = 6,
1878 RX_400_480_136_174_TX_420_450_136_174 = 7,
1879 RX_400_470_136_174_TX_400_470_136_174 = 8,
1880 RX_430_432_144_146_TX_430_432_144_146 = 9,
1881 RX_400_480_136_174_TX_430_450_144_148 = 10,
1882 RX_400_520_136_174_TX_400_520_136_174 = 11,
1883 RX_400_490_136_174_TX_400_490_136_174 = 12,
1884 RX_400_480_136_174_TX_403_470_136_174 = 13,
1885 RX_400_520_220_225_136_174_TX_400_520_220_225_136_174 = 14,
1886 RX_420_520_144_148_TX_420_520_144_148 = 15,
1887 RX_430_440_144_147_TX_430_440_144_147 = 16,
1888 RX_430_440_136_174_TX_136_174 = 17
1889 };
1890
1891 protected:
1893 RadioInfoElement(uint8_t *ptr, unsigned size);
1894
1895 public:
1897 explicit RadioInfoElement(uint8_t *ptr);
1898
1900 void clear();
1901
1904 virtual bool fullTest() const;
1905
1907 virtual FrequencyRange frequencyRange() const;
1909 virtual void setFrequencyRange(FrequencyRange range);
1910
1912 virtual bool international() const;
1914 virtual void enableInternational(bool enable);
1915
1917 virtual bool bandSelect() const;
1919 virtual void enableBandSelect(bool enable);
1920
1922 virtual QString bandSelectPassword() const;
1924 virtual void setBandSelectPassword(const QString &passwd);
1925
1927 virtual QString radioType() const;
1928
1930 virtual QString programPassword() const;
1932 virtual void setProgramPassword(const QString &passwd);
1933
1935 virtual QString areaCode() const;
1937 virtual QString serialNumber() const;
1939 virtual QString productionDate() const;
1941 virtual QString manufacturerCode() const;
1943 virtual QString maintainedDate() const;
1945 virtual QString dealerCode() const;
1947 virtual QString stockDate() const;
1949 virtual QString sellDate() const;
1951 virtual QString seller() const;
1953 virtual QString maintainerNote() const;
1954 };
1955
1956protected:
1958 explicit D878UVCodeplug(const QString &label, QObject *parent = nullptr);
1959
1960public:
1962 explicit D878UVCodeplug(QObject *parent = nullptr);
1963
1964 Config *preprocess(Config *config, const ErrorStack &err) const;
1965
1966protected:
1967 bool allocateBitmaps();
1968 void setBitmaps(Context &ctx);
1969 void allocateForDecoding();
1970 void allocateUpdated();
1971 void allocateForEncoding();
1972
1973 bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1974 bool createElements(Context &ctx, const ErrorStack &err=ErrorStack());
1975 bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack());
1976
1977 void allocateChannels();
1978 bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1979 bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1980 bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1981
1982 virtual void allocateZones();
1983 virtual bool encodeZone(int i, Zone *zone, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1984 virtual bool decodeZone(int i, Zone *zone, Context &ctx, const ErrorStack &err=ErrorStack());
1985
1987 bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1988 bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1989 bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1990
1991 void allocateGPSSystems();
1992 bool encodeGPSSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1993 bool createGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack());
1994 bool linkGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack());
1995
1997 virtual void allocateRoaming();
1999 virtual bool encodeRoaming(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
2001 virtual bool createRoaming(Context &ctx, const ErrorStack &err=ErrorStack());
2003 virtual bool linkRoaming(Context &ctx, const ErrorStack &err=ErrorStack());
2004
2006 virtual void allocateAESKeys();
2008 virtual bool encodeAESKeys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
2010 virtual bool createAESKeys(Context &ctx, const ErrorStack &err=ErrorStack());
2011
2013 virtual void allocateARC4Keys();
2015 virtual bool encodeARC4Keys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
2017 virtual bool createARC4Keys(Context &ctx, const ErrorStack &err=ErrorStack());
2018
2019
2020public:
2023 static constexpr unsigned int analogAPRSRXEntries() { return 32; }
2024 static constexpr unsigned int roamingChannels() { return 250; }
2025 static constexpr unsigned int roamingZones() { return 64; }
2026 static constexpr unsigned int aesKeys() { return 255; }
2027 static constexpr unsigned int arc4Keys() { return 255; }
2028 };
2029
2030protected:
2034 static constexpr unsigned int toChannelExtension() { return 0x00002000; }
2035 static constexpr unsigned int settingsExtension() { return 0x02501400; }
2036 static constexpr unsigned int aprsSettings() { return 0x02501000; }
2037 static constexpr unsigned int analogAPRSMessage() { return 0x02501200; }
2038 static constexpr unsigned int analogAPRSRXEntries() { return 0x02501800; }
2039 static constexpr unsigned int fmAPRSFrequencyNames() { return 0x02502000; }
2040 static constexpr unsigned int hiddenZoneBitmap() { return 0x024c1360; }
2041 static constexpr unsigned int roamingChannelBitmap() { return 0x01042000; }
2042 static constexpr unsigned int roamingChannels() { return 0x01040000; }
2043 static constexpr unsigned int roamingZoneBitmap() { return 0x01042080; }
2044 static constexpr unsigned int roamingZones() { return 0x01043000; }
2045 static constexpr unsigned int aesKeys() { return 0x024C4000; }
2046 static constexpr unsigned int aesKeyBitmap() { return 0x024C8000; }
2047 static constexpr unsigned int arc4Keys() { return 0x025C0C00; }
2048 static constexpr unsigned int arc4KeyBitmap() { return 0x025C1C00; }
2050 };
2051};
2052
2053#endif // D878UVCODEPLUG_HH
Direction
Encodes the auto-repeater offset sign.
Definition anytone_settingsextension.hh:1188
APRSPTT
Possible APRS PTT modes.
Definition anytone_extension.hh:89
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:130
Represents the base class for the extended settings element in many AnyTone codeplugs.
Definition anytone_codeplug.hh:1282
virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition anytone_codeplug.cc:4428
Bandwidth
Possible bandwidth settings.
Definition anytone_extension.hh:335
KeyFunction
All possible key functions.
Definition anytone_settingsextension.hh:267
RoamStart
Possible roaming start conditions.
Definition anytone_settingsextension.hh:1533
STEType
All possible STE (squelch tail eliminate) types.
Definition anytone_settingsextension.hh:2144
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:37
Power
Specifies the prefix for every ID assigned to every channel during serialization.
Definition channel.hh:64
BitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition codeplug.cc:692
Base class for all codeplug contexts.
Definition codeplug.hh:331
Represents the abstract base class of all codeplug elements.
Definition codeplug.hh:65
Element(uint8_t *ptr, size_t size)
Hidden constructor.
Definition codeplug.cc:56
Certain flags passed to CodePlug::encode to control the transfer and encoding of the codeplug.
Definition codeplug.hh:24
The config class, representing the codeplug configuration.
Definition config.hh:70
Represents the channel element for AnyTone D868UV devices.
Definition d868uv_codeplug.hh:65
DMREncryptionType
Possible encryption types.
Definition d868uv_codeplug.hh:68
Represents the general config of the radio within the D868UV binary codeplug.
Definition d868uv_codeplug.hh:168
D868UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor constructor.
Definition d868uv_codeplug.cc:1305
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1779
AESEncryptionKeyBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3675
virtual unsigned index() const
Returns the key index.
Definition d878uv_codeplug.cc:3639
virtual void setKey(const QByteArray &key)
Sets the key.
Definition d878uv_codeplug.cc:3663
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1729
AESEncryptionKeyElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:3615
bool isValid() const
Returns true if the key is set.
Definition d878uv_codeplug.cc:3633
virtual QByteArray key() const
Returns the actual key.
Definition d878uv_codeplug.cc:3648
virtual void setIndex(unsigned idx)
Sets the key index.
Definition d878uv_codeplug.cc:3643
void clear()
Resets the key.
Definition d878uv_codeplug.cc:3628
virtual Interval dmrPreWaveDelay() const
Returns the the repeater activation delay in ms.
Definition d878uv_codeplug.cc:3189
virtual bool reportMessage() const
Returns true if the report message flag is set.
Definition d878uv_codeplug.cc:3253
virtual void setDMRChannelIndex(unsigned n, unsigned idx)
Sets the digital channel index for the n-th system.
Definition d878uv_codeplug.cc:3120
virtual void enableReportNMEA(bool enable)
Enables/disables report NMEA flag.
Definition d878uv_codeplug.cc:3275
virtual bool reportWeather() const
Returns true if the report weather flag is set.
Definition d878uv_codeplug.cc:3262
virtual bool reportPosition() const
Returns true if the report position flag is set.
Definition d878uv_codeplug.cc:3217
bool isValid() const
Returns true if the pointer is not null.
Definition d878uv_codeplug.cc:2915
virtual void enableReportMessage(bool enable)
Enables/disables report message flag.
Definition d878uv_codeplug.cc:3257
virtual void setSource(const QString &call, unsigned ssid)
Sets the source call & SSID.
Definition d878uv_codeplug.cc:3056
virtual bool reportMicE() const
Returns true if the report Mic-E flag is set.
Definition d878uv_codeplug.cc:3226
virtual void setFMTXDelay(Interval ms)
Sets the TX delay in ms.
Definition d878uv_codeplug.cc:2926
virtual Interval fmTXDelay() const
Returns the TX delay in ms.
Definition d878uv_codeplug.cc:2922
virtual bool reportOther() const
Returns true if the report other flag is set.
Definition d878uv_codeplug.cc:3289
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Updates global APRS settings.
Definition d878uv_codeplug.cc:3352
virtual void setDMRTimeSlot(unsigned n, DMRChannel::TimeSlot ts)
Overrides the time slot of the n-th selected channel.
Definition d878uv_codeplug.cc:3168
virtual bool dmrChannelIsSelected(unsigned n) const
Returns true if the channel points to the current/selected channel.
Definition d878uv_codeplug.cc:3112
virtual void setFMPreWaveDelay(Interval ms)
Sets the pre-wave delay in ms.
Definition d878uv_codeplug.cc:3107
virtual QGeoCoordinate fixedLocation() const
Returns the fixed location send.
Definition d878uv_codeplug.cc:2989
virtual unsigned sourceSSID() const
Returns the source SSID.
Definition d878uv_codeplug.cc:3052
virtual bool reportNMEA() const
Returns true if the report NMEA flag is set.
Definition d878uv_codeplug.cc:3271
SignalingType
Possible settings for the FM APRS subtone type.
Definition d878uv_codeplug.hh:1201
virtual bool infiniteDisplayTime() const
Returns true if a received APRS message is shown indefinitely.
Definition d878uv_codeplug.cc:3198
void clear()
Resets the settings.
Definition d878uv_codeplug.cc:2907
virtual void setManualTXInterval(Interval sec)
Sets the manual TX interval in seconds.
Definition d878uv_codeplug.cc:2963
virtual void enableReportWeather(bool enable)
Enables/disables report weather flag.
Definition d878uv_codeplug.cc:3266
virtual bool fromFMAPRSSystem(const FMAPRSSystem *sys, Context &ctx, FMAPRSFrequencyNamesElement &names, const ErrorStack &err=ErrorStack())
Configures this APRS system from the given generic config.
Definition d878uv_codeplug.cc:3365
virtual bool fixedLocationEnabled() const
Returns true if a fixed location is sent.
Definition d878uv_codeplug.cc:2985
virtual void enableReportObject(bool enable)
Enables/disables report object flag.
Definition d878uv_codeplug.cc:3239
virtual void enableReportPosition(bool enable)
Enables/disables report position flag.
Definition d878uv_codeplug.cc:3221
virtual Interval autoTXInterval() const
Returns the auto TX interval in seconds.
Definition d878uv_codeplug.cc:2972
virtual bool reportStatus() const
Returns true if the report status flag is set.
Definition d878uv_codeplug.cc:3280
virtual void setFixedLocation(const QGeoCoordinate &loc)
Sets the fixed location to send.
Definition d878uv_codeplug.cc:3004
virtual void setFMChannelWidth(AnytoneFMAPRSSettingsExtension::Bandwidth width)
Sets the FM APRS channel width.
Definition d878uv_codeplug.cc:3302
virtual void setDMRChannelSelected(unsigned n)
Sets the channel to the current/selected channel.
Definition d878uv_codeplug.cc:3124
virtual Channel::Power power() const
Returns the transmit power.
Definition d878uv_codeplug.cc:3082
virtual QString source() const
Returns the source call.
Definition d878uv_codeplug.cc:3047
virtual bool reportItem() const
Returns true if the report item flag is set.
Definition d878uv_codeplug.cc:3244
virtual void clearFMFrequency(unsigned int n)
Clears the n-th of 8 FM APRS frequencies.
Definition d878uv_codeplug.cc:3331
virtual bool dmrTimeSlotOverride(unsigned n)
Returns true if the n-th system overrides the channel time-slot.
Definition d878uv_codeplug.cc:3156
virtual bool fromDMRAPRSSystemObj(unsigned int idx, DMRAPRSSystem *sys, Context &ctx)
Encodes the given GPS system.
Definition d878uv_codeplug.cc:3495
virtual void clearDMRTimeSlotOverride(unsigned n)
Clears the time-slot override.
Definition d878uv_codeplug.cc:3175
virtual void setPath(const QString &path)
Sets the path string.
Definition d878uv_codeplug.cc:3067
virtual void disableAutoTX()
Disables auto tx.
Definition d878uv_codeplug.cc:2980
virtual void enableFMPassAll(bool enable)
Enables/disables "pass all", that is the CRC check on FM APRS messages is disabled.
Definition d878uv_codeplug.cc:3311
virtual void enableFixedLocation(bool enable)
Disables sending a fixed location.
Definition d878uv_codeplug.cc:3027
virtual bool linkFMAPRSSystem(FMAPRSSystem *sys, Context &ctx)
Links the transmit channel within the generic APRS system based on the transmit frequency defined wit...
Definition d878uv_codeplug.cc:3465
virtual QString destination() const
Returns the destination call.
Definition d878uv_codeplug.cc:3032
virtual bool fromConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes global APRS settings.
Definition d878uv_codeplug.cc:3338
virtual bool autoTX() const
Returns true if the auto transmit is enabled.
Definition d878uv_codeplug.cc:2968
virtual Interval manualTXInterval() const
Returns the manual TX interval in seconds.
Definition d878uv_codeplug.cc:2959
APRSSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:2894
virtual bool fmFrequencySet(unsigned int n) const
Returns true if the n-th of 8 FM APRS frequencies is set.
Definition d878uv_codeplug.cc:3316
virtual void enableDMRRoaming(bool enable)
Enables/disables roaming.
Definition d878uv_codeplug.cc:3184
virtual Interval displayTime() const
Returns the time, a received APRS message is shown.
Definition d878uv_codeplug.cc:3202
virtual bool linkDMRAPRSSystem(int idx, DMRAPRSSystem *sys, Context &ctx) const
Links the specified generic GPS system.
Definition d878uv_codeplug.cc:3517
virtual void setTXTone(const SelectiveCall &code)
Sets the sub tone settings.
Definition d878uv_codeplug.cc:2946
virtual DMRAPRSSystem * toDMRAPRSSystemObj(int idx) const
Constructs a generic GPS system from the idx-th encoded GPS system.
Definition d878uv_codeplug.cc:3510
virtual DMRChannel::TimeSlot dmrTimeSlot(unsigned n) const
Returns the time slot if overridden (only valid if timeSlot returns true).
Definition d878uv_codeplug.cc:3160
virtual void enableReportOther(bool enable)
Enables/disables report other flag.
Definition d878uv_codeplug.cc:3293
virtual void setDisplayTimeInifinite()
Sets the APRS display time to infinite.
Definition d878uv_codeplug.cc:3212
virtual void setIcon(FMAPRSSystem::Icon icon)
Sets the APRS icon.
Definition d878uv_codeplug.cc:3076
virtual Interval fmPreWaveDelay() const
Returns the pre-wave delay in ms.
Definition d878uv_codeplug.cc:3103
virtual Frequency fmFrequency(unsigned int n) const
Returns the n-th of 8 FM APRS frequencies.
Definition d878uv_codeplug.cc:3321
virtual void setPower(Channel::Power power)
Sets the transmit power.
Definition d878uv_codeplug.cc:3092
virtual void setAutoTXInterval(Interval sec)
Sets the auto TX interval in seconds.
Definition d878uv_codeplug.cc:2976
virtual bool dmrRoaming() const
Returns true if the roaming is enabled.
Definition d878uv_codeplug.cc:3180
virtual void setDMRCallType(unsigned n, DMRContact::Type type)
Sets the call type for the n-th system.
Definition d878uv_codeplug.cc:3147
virtual void setDMRDestination(unsigned n, unsigned idx)
Sets the destination contact for the n-th system.
Definition d878uv_codeplug.cc:3133
virtual bool reportObject() const
Returns true if the report object flag is set.
Definition d878uv_codeplug.cc:3235
virtual void enableReportItem(bool enable)
Enables/disables report item flag.
Definition d878uv_codeplug.cc:3248
virtual unsigned dmrDestination(unsigned n) const
Returns the destination contact for the n-th system.
Definition d878uv_codeplug.cc:3129
virtual FMAPRSSystem * toFMAPRSSystem(Context &ctx, const FMAPRSFrequencyNamesElement &names, const ErrorStack &err=ErrorStack())
Constructs a generic APRS system configuration from this APRS system.
Definition d878uv_codeplug.cc:3420
virtual bool fmPassAll() const
Returns true if the CRC check on received FM APRS messages is disabled.
Definition d878uv_codeplug.cc:3307
virtual void setDMRPreWaveDelay(Interval ms)
Sets the repeater activation delay in ms.
Definition d878uv_codeplug.cc:3193
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1210
virtual QString path() const
Returns the path string.
Definition d878uv_codeplug.cc:3063
virtual AnytoneFMAPRSSettingsExtension::Bandwidth fmChannelWidth() const
Returns the FM APRS channel width.
Definition d878uv_codeplug.cc:3298
virtual void setDisplayTime(Interval dur)
Sets the time, a received APRS is shown.
Definition d878uv_codeplug.cc:3206
virtual SelectiveCall txTone() const
Returns the sub tone settings.
Definition d878uv_codeplug.cc:2931
virtual void setDestination(const QString &call, unsigned ssid)
Sets the destination call & SSID.
Definition d878uv_codeplug.cc:3041
virtual unsigned destinationSSID() const
Returns the destination SSID.
Definition d878uv_codeplug.cc:3037
virtual void setFMFrequency(unsigned int n, Frequency f)
Sets the n-th of 8 FM APRS frequencies.
Definition d878uv_codeplug.cc:3326
virtual void enableReportStatus(bool enable)
Enables/disables report status flag.
Definition d878uv_codeplug.cc:3284
virtual void enableReportMicE(bool enable)
Enables/disables report Mic-E flag.
Definition d878uv_codeplug.cc:3230
virtual bool fromDMRAPRSSystems(Context &ctx)
Constructs all GPS system from the generic configuration.
Definition d878uv_codeplug.cc:3487
virtual DMRContact::Type dmrCallType(unsigned n) const
Returns the call type for the n-th system.
Definition d878uv_codeplug.cc:3138
virtual unsigned dmrChannelIndex(unsigned n) const
Returns the digital channel index for the n-th system.
Definition d878uv_codeplug.cc:3116
virtual FMAPRSSystem::Icon icon() const
Returns the APRS icon.
Definition d878uv_codeplug.cc:3072
ARC4EncryptionKeyBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3742
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1843
ARC4EncryptionKeyElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3692
virtual QByteArray key() const
Returns the actual key.
Definition d878uv_codeplug.cc:3724
virtual unsigned index() const
Returns the key index.
Definition d878uv_codeplug.cc:3715
void clear()
Abstract method to reset the element within the codeplug.
Definition d878uv_codeplug.cc:3705
bool isValid() const
Returns true if the pointer is not null.
Definition d878uv_codeplug.cc:3710
virtual void setKey(const QByteArray &key)
Sets the key.
Definition d878uv_codeplug.cc:3731
static constexpr unsigned int size()
Returns the size of the element.
Definition d878uv_codeplug.hh:1797
virtual void setIndex(unsigned idx)
Sets the key index.
Definition d878uv_codeplug.cc:3719
virtual QString message() const
Returns the message.
Definition d878uv_codeplug.cc:3560
AnalogAPRSMessageElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3542
void clear()
Abstract method to reset the element within the codeplug.
Definition d878uv_codeplug.cc:3555
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1494
virtual void setMessage(const QString &msg)
Sets the message.
Definition d878uv_codeplug.cc:3565
virtual void setCall(const QString &call, unsigned ssid)
Sets the call, SSID and enables the entry.
Definition d878uv_codeplug.cc:3604
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1525
AnalogAPRSRXEntryElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:3573
bool isValid() const
Returns true if the APRS RX entry is valid.
Definition d878uv_codeplug.cc:3591
virtual unsigned ssid() const
Returns the SSID.
Definition d878uv_codeplug.cc:3600
void clear()
Resets the entry.
Definition d878uv_codeplug.cc:3586
virtual QString call() const
Returns the call sign.
Definition d878uv_codeplug.cc:3596
virtual AdvancedEncryptionType advancedEncryptionType() const
Returns the encryption type.
Definition d878uv_codeplug.cc:233
bool fromChannelObj(const Channel *c, Context &ctx) override
Encodes the given channel object.
Definition d878uv_codeplug.cc:426
APRSPTT
Defines all possible APRS PTT settings.
Definition d878uv_codeplug.hh:109
virtual void setARC4EncryptionKeyIndex(unsigned int index)
Sets the ARC4 encryption key index.
Definition d878uv_codeplug.cc:296
unsigned dmrEncryptionKeyIndex() const override
Returns the DMR encryption key index (+1), 0=Off.
Definition d878uv_codeplug.cc:256
virtual bool hasARC4EncryptionKeyIndex() const
Returns true, if an ARC4 encryption key index is set.
Definition d878uv_codeplug.cc:288
virtual bool sendTalkerAlias() const
If set, transmission of talker alias for this channel is enabled.
Definition d878uv_codeplug.cc:222
virtual int frequenyCorrection() const
Returns the frequency correction in ?
Definition d878uv_codeplug.cc:203
bool hasDMREncryptionKeyIndex() const override
Returns true if a DMR encryption key is set.
Definition d878uv_codeplug.cc:252
virtual AnytoneChannelExtension::APRSPTT digitalAPRSPTTSetting() const
Returns the digital APRS PTT setting.
Definition d878uv_codeplug.cc:178
virtual void enableRoaming(bool enable)
Enables/disables roaming.
Definition d878uv_codeplug.cc:121
virtual void setFrequencyCorrection(int corr)
Sets the frequency correction in ?
Definition d878uv_codeplug.cc:207
void clearDMREncryptionKeyIndex() override
Clears the DMR encryption key index.
Definition d878uv_codeplug.cc:264
virtual void enableSendTalkerAlias(bool enable)
Enable transmission of talker alias.
Definition d878uv_codeplug.cc:227
virtual void setDigitalAPRSPTTSetting(AnytoneChannelExtension::APRSPTT ptt)
Sets the digital APRS PTT setting.
Definition d878uv_codeplug.cc:184
void setDMREncryptionType(DMREncryptionType type) override
Sets the encryption type.
Definition d878uv_codeplug.cc:248
virtual void enableAutoScan(bool enable)
Enable/disable auto scan.
Definition d878uv_codeplug.cc:145
APRSType
Possible APRS modes.
Definition d878uv_codeplug.hh:104
virtual unsigned int aesEncryptionKeyIndex() const
Returns the AES encryption key index.
Definition d878uv_codeplug.cc:274
virtual void setPTTIDSetting(PTTId ptt)
Sets the PTT ID setting.
Definition d878uv_codeplug.cc:111
ChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:88
bool dataACK() const override
Returns true if the data ACK is enabled.
Definition d878uv_codeplug.cc:128
DMREncryptionType dmrEncryptionType() const override
Returns the encryption type.
Definition d878uv_codeplug.cc:244
void setDigitalAPRSSystemIndex(unsigned idx) override
Sets the DMR APRS system index.
Definition d878uv_codeplug.cc:198
void enableDataACK(bool enable) override
Enables/disables data ACK.
Definition d878uv_codeplug.cc:134
virtual PTTId pttIDSetting() const
Returns the PTT ID settings.
Definition d878uv_codeplug.cc:107
virtual bool roamingEnabled() const
Returns true if roaming is enabled.
Definition d878uv_codeplug.cc:116
void setDMREncryptionKeyIndex(unsigned idx) override
Sets the DMR encryption key index (+1), 0=Off.
Definition d878uv_codeplug.cc:260
virtual void setAnalogAPRSPTTSetting(AnytoneChannelExtension::APRSPTT ptt)
Sets the analog APRS PTT setting.
Definition d878uv_codeplug.cc:168
Channel * toChannelObj(Context &ctx) const override
Constructs a Channel object from this element.
Definition d878uv_codeplug.cc:306
virtual bool hasAESEncryptionKeyIndex() const
Returns true, if an AES encryption key index is set.
Definition d878uv_codeplug.cc:270
virtual bool autoScan() const
Returns true, if auto scan is enabled.
Definition d878uv_codeplug.cc:141
void setTXAPRSType(APRSType aprsType)
Sets APRS type for reporting the position.
Definition d878uv_codeplug.cc:154
APRSType txAPRSType() const
Returns APRS type for reporting the position.
Definition d878uv_codeplug.cc:150
virtual void clearAESEncryptionKeyIndex()
Clears the AES encryption key index.
Definition d878uv_codeplug.cc:282
virtual unsigned int fmAPRSFrequencyIndex() const
Returns the index of the FM APRS frequency [0,7].
Definition d878uv_codeplug.cc:212
bool linkChannelObj(Channel *c, Context &ctx) const override
Links a previously created channel object.
Definition d878uv_codeplug.cc:335
PTTId
Possible PTT ID settings.
Definition d878uv_codeplug.hh:96
@ Both
Send PTT-ID at start and end.
Definition d878uv_codeplug.hh:100
@ End
Send PTT-ID at end.
Definition d878uv_codeplug.hh:99
@ Start
Send PTT-ID at start.
Definition d878uv_codeplug.hh:98
@ Off
Never send PTT-ID.
Definition d878uv_codeplug.hh:97
virtual void setEncryptionType(AdvancedEncryptionType type)
Sets the encryptionType.
Definition d878uv_codeplug.cc:238
unsigned digitalAPRSSystemIndex() const override
Returns the DMR APRS system index.
Definition d878uv_codeplug.cc:194
virtual unsigned int arc4EncryptionKeyIndex() const
Returns the ARC4 encryption key index.
Definition d878uv_codeplug.cc:292
AdvancedEncryptionType
Possible encryption types.
Definition d878uv_codeplug.hh:116
virtual void setAESEncryptionKeyIndex(unsigned int index)
Sets the AES encryption key index.
Definition d878uv_codeplug.cc:278
void clear() override
Resets the channel.
Definition d878uv_codeplug.cc:101
virtual void clearARC4EncryptionKeyIndex()
Clears the ARC4 encryption key index.
Definition d878uv_codeplug.cc:300
virtual AnytoneChannelExtension::APRSPTT analogAPRSPTTSetting() const
Returns the analog APRS PTT setting.
Definition d878uv_codeplug.cc:159
virtual void setFMAPRSFrequencyIndex(unsigned int idx)
Sets the FM APRS frequency index [0,7].
Definition d878uv_codeplug.cc:216
virtual void setBOT5ToneIDIndex(unsigned int idx)
Sets the BOT 5-tone ID index.
Definition d878uv_codeplug.cc:547
virtual bool linkChannelObj(Channel *c, Context &ctx) const
Links a previously created channel object.
Definition d878uv_codeplug.cc:581
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:270
virtual unsigned int txColorCode() const
Returns the transmit color code.
Definition d878uv_codeplug.cc:564
ChannelExtensionElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:521
virtual unsigned int eot5ToneIDIndex() const
Returns the EOT 5-tone ID index.
Definition d878uv_codeplug.cc:553
virtual bool updateChannelObj(Channel *c, Context &ctx) const
Constructs a Channel object from this element.
Definition d878uv_codeplug.cc:575
void clear()
Resets the channel extension.
Definition d878uv_codeplug.cc:535
virtual void setTXColorCode(unsigned int cc)
Sets the transmit color code.
Definition d878uv_codeplug.cc:569
virtual void setEOT5ToneIDIndex(unsigned int idx)
Sets the EOT 5-tone ID index.
Definition d878uv_codeplug.cc:558
virtual bool fromChannelObj(const Channel *c, Context &ctx)
Encodes the given channel object.
Definition d878uv_codeplug.cc:587
virtual unsigned int bot5ToneIDIndex() const
Returns the BOT 5-tone ID index.
Definition d878uv_codeplug.cc:542
virtual bool totNotification() const
Returns true if the transmit timeout notification is enabled.
Definition d878uv_codeplug.cc:2552
static constexpr unsigned int size()
Returns the size of the element.
Definition d878uv_codeplug.hh:929
virtual bool infiniteManDialPrivateCallHangTime() const
Returns true if the manual dialed private call hang time is infinite.
Definition d878uv_codeplug.cc:2507
virtual void enableShowChannelType(bool enable)
Enables/disables display of channel type.
Definition d878uv_codeplug.cc:2616
virtual void clearAutoRepeaterUHF2OffsetIndex()
Clears the auto repeater UHF 2 offset frequency index.
Definition d878uv_codeplug.cc:2394
virtual void setAutoRepeaterUHF2OffsetIndex(unsigned idx)
Sets the index of the UHF 2 offset frequency.
Definition d878uv_codeplug.cc:2390
virtual void enableSendTalkerAlias(bool enable)
Enables/disables sending the talker alias.
Definition d878uv_codeplug.cc:2314
virtual void setBluetoothPTTSleepDelay(Interval delay)
Sets the bluetooth PTT sleep delay in minutes.
Definition d878uv_codeplug.cc:2372
virtual void setManDialGroupCallHangTimeInfinite()
Sets the manual dial group call hang time to infinite.
Definition d878uv_codeplug.cc:2502
TalkerAliasEncoding
Talker alias encoding.
Definition d878uv_codeplug.hh:916
virtual void setTalkerAliasEncoding(DMRSettings::TalkerAliasEncoding encoding)
Sets the talker alias encoding.
Definition d878uv_codeplug.cc:2339
virtual bool hasAutoRepeaterVHF2OffsetIndex() const
Returns true if the auto repeater VHF 2 offset index is set.
Definition d878uv_codeplug.cc:2399
virtual void enableTOTNotification(bool enable)
Enables/disables transmit timeout notification.
Definition d878uv_codeplug.cc:2556
virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the settings from the config.
Definition d878uv_codeplug.cc:2697
void clear()
Resets the settings.
Definition d878uv_codeplug.cc:2302
virtual Frequency autoRepeaterUHF2MinFrequency() const
Returns the minimum frequency in Hz for the auto-repeater UHF 2 band.
Definition d878uv_codeplug.cc:2432
virtual bool resetAutoShutdownOnCall() const
Returns true if the auto-shutdown timer is reset on a call.
Definition d878uv_codeplug.cc:2587
virtual Level fmMicGain() const
Returns the FM Mic gain [1,10].
Definition d878uv_codeplug.cc:2639
virtual GNSSSettings::Systems gnss() const
Returns the GPS mode.
Definition d878uv_codeplug.cc:2449
AnytoneDisplaySettingsExtension::Color zoneBNameColor() const
Returns the color of the zone name for VFO B.
Definition d878uv_codeplug.cc:2578
virtual void clearAutoRepeaterVHF2OffsetIndex()
Clears the auto repeater VHF 2 offset frequency index.
Definition d878uv_codeplug.cc:2411
virtual bool infiniteManDialGroupCallHangTime() const
Returns true if the manual dialed group call hang time is infinite.
Definition d878uv_codeplug.cc:2480
virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode)
Sets the talker alias source.
Definition d878uv_codeplug.cc:2323
virtual void setAutoRepeaterVHF2MinFrequency(Frequency hz)
Sets the minimum frequency in Hz for the auto-repeater VHF 2 band.
Definition d878uv_codeplug.cc:2420
virtual void setCallEndToneMelody(const Melody &melody)
Sets the call-end tone melody.
Definition d878uv_codeplug.cc:2667
virtual Interval manDialGroupCallHangTime() const
Returns the manual dial group call hang time.
Definition d878uv_codeplug.cc:2484
virtual void setEncryption(AnytoneDMRSettingsExtension::EncryptionType mode)
Sets the encryption mode.
Definition d878uv_codeplug.cc:2547
virtual void setDateFormat(AnytoneDisplaySettingsExtension::DateFormat format)
Sets the date format.
Definition d878uv_codeplug.cc:2634
virtual bool showColorCode() const
Returns true if the color code is shown.
Definition d878uv_codeplug.cc:2596
virtual void enableResetAutoShutdownOnCall(bool enable)
Enables/disables reset on call of the auto-shutdown timer.
Definition d878uv_codeplug.cc:2591
GNSS
Encoding of possible GNSSs.
Definition d878uv_codeplug.hh:911
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Update config from settings.
Definition d878uv_codeplug.cc:2784
virtual void enableFMIdleTone(bool enable)
Enables/disables FM idle channel tone.
Definition d878uv_codeplug.cc:2625
virtual bool gpsRoaming() const
Returns true if the GPS roaming is enabled.
Definition d878uv_codeplug.cc:2648
AnytoneDisplaySettingsExtension::Color channelBNameColor() const
Returns the color of the channel name for VFO B.
Definition d878uv_codeplug.cc:2534
virtual bool fmIdleTone() const
Returns true if the FM idle channel tone is enabled.
Definition d878uv_codeplug.cc:2621
virtual void setAutoRepeaterVHF2MaxFrequency(Frequency hz)
Sets the maximum frequency in Hz for the auto-repeater VHF 2 band.
Definition d878uv_codeplug.cc:2428
virtual void setManDialPrivateCallHangTime(Interval dur)
Sets the manual dial private call hang time.
Definition d878uv_codeplug.cc:2520
virtual DMRSettings::TalkerAliasEncoding talkerAliasEncoding() const
Returns the talker alias encoding.
Definition d878uv_codeplug.cc:2329
virtual void setGNSS(GNSSSettings::Systems mode)
Sets the GPS mode.
Definition d878uv_codeplug.cc:2458
virtual Frequency autoRepeaterUHF2MaxFrequency() const
Returns the maximum frequency in Hz for the auto-repeater UHF 2 band.
Definition d878uv_codeplug.cc:2440
virtual void enableATPC(bool enable)
Enables/disables the ATPC (Adaptiv Transmission Power Control).
Definition d878uv_codeplug.cc:2565
virtual void enableGPSRoaming(bool enable)
Enables/disables GPS roaming.
Definition d878uv_codeplug.cc:2652
virtual bool sendTalkerAlias() const
Returns true if the talker alias is sent.
Definition d878uv_codeplug.cc:2310
virtual bool showTimeSlot() const
Returns true if the time slot is shown.
Definition d878uv_codeplug.cc:2604
virtual bool atpc() const
Returns true if the ATPC (Adaptiv Transmission Power Control) is enabled.
Definition d878uv_codeplug.cc:2561
virtual unsigned autoRepeaterUHF2OffsetIndex() const
Returns the index of the UHF 2 offset frequency.
Definition d878uv_codeplug.cc:2386
virtual Interval steDuration() const
Returns the STE (squelch tail elimination) duration.
Definition d878uv_codeplug.cc:2470
virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const
Returns the talker alias source.
Definition d878uv_codeplug.cc:2319
virtual void setAutoRepeaterVHF2OffsetIndex(unsigned idx)
Sets the index of the VHF 2 offset frequency.
Definition d878uv_codeplug.cc:2407
virtual void setAutoRepeaterUHF2MaxFrequency(Frequency hz)
Sets the maximum frequency in Hz for the auto-repeater UHF 2 band.
Definition d878uv_codeplug.cc:2444
virtual void setManDialGroupCallHangTime(Interval dur)
Sets the manual dial group call hang time.
Definition d878uv_codeplug.cc:2493
virtual void enableBluetoothPTTLatch(bool enable)
Enables/disables bluetooth PTT latch.
Definition d878uv_codeplug.cc:2359
void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color for the VFO B.
Definition d878uv_codeplug.cc:2538
virtual void enableShowTimeSlot(bool enable)
Enables/disables display of time slot.
Definition d878uv_codeplug.cc:2608
virtual void setInfiniteBluetoothPTTSleepDelay()
Sets the bluetooth PTT sleep delay to infinite/disabled.
Definition d878uv_codeplug.cc:2377
void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO A.
Definition d878uv_codeplug.cc:2574
virtual void enableShowColorCode(bool enable)
Enables/disables display of color code.
Definition d878uv_codeplug.cc:2600
AnytoneDisplaySettingsExtension::Color zoneANameColor() const
Returns the color of the zone name for VFO A.
Definition d878uv_codeplug.cc:2570
virtual Interval manDialPrivateCallHangTime() const
Returns the manual dial private call hang time.
Definition d878uv_codeplug.cc:2511
virtual void setSTEDuration(Interval dur)
Sets the STE (squelch tail elimination) duration.
Definition d878uv_codeplug.cc:2474
virtual void callEndToneMelody(Melody &melody) const
Returns the call-end tone melody.
Definition d878uv_codeplug.cc:2657
virtual void setAllCallToneMelody(const Melody &melody)
Sets the all-call tone melody.
Definition d878uv_codeplug.cc:2687
virtual void allCallToneMelody(Melody &melody) const
Returns the all-call tone melody.
Definition d878uv_codeplug.cc:2677
ExtendedSettingsElement(uint8_t *ptr, unsigned size)
Hidden Constructor.
Definition d878uv_codeplug.cc:2289
virtual AnytoneDMRSettingsExtension::EncryptionType encryption() const
Returns the encryption mode.
Definition d878uv_codeplug.cc:2543
virtual void setFMMicGain(Level gain)
Sets the analog mic gain [1,10].
Definition d878uv_codeplug.cc:2643
virtual bool bluetoothPTTLatch() const
Returns true if the BT PTT latch is enabled.
Definition d878uv_codeplug.cc:2355
virtual unsigned autoRepeaterVHF2OffsetIndex() const
Returns the index of the VHF 2 offset frequency.
Definition d878uv_codeplug.cc:2403
virtual Frequency autoRepeaterVHF2MinFrequency() const
Returns the minimum frequency in Hz for the auto-repeater VHF 2 band.
Definition d878uv_codeplug.cc:2416
virtual bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Link config from settings extension.
Definition d878uv_codeplug.cc:2852
virtual Frequency autoRepeaterVHF2MaxFrequency() const
Returns the maximum frequency in Hz for the auto-repeater VHF 2 band.
Definition d878uv_codeplug.cc:2424
virtual bool showChannelType() const
Returns true if the channel type is shown.
Definition d878uv_codeplug.cc:2612
virtual void setAutoRepeaterUHF2MinFrequency(Frequency hz)
Sets the minimum frequency in Hz for the auto-repeater UHF 2 band.
Definition d878uv_codeplug.cc:2436
virtual Interval bluetoothPTTSleepDelay() const
Returns the bluetooth PTT sleep delay in minutes, 0=off.
Definition d878uv_codeplug.cc:2368
virtual bool hasAutoRepeaterUHF2OffsetIndex() const
Returns true if the auto repeater UHF 2 offset index is set.
Definition d878uv_codeplug.cc:2382
virtual AnytoneDisplaySettingsExtension::DateFormat dateFormat() const
Returns the date format.
Definition d878uv_codeplug.cc:2630
virtual bool infiniteBluetoothPTTSleepDelay() const
Returns true if the bluetooth PTT sleep delay is disabled (infinite).
Definition d878uv_codeplug.cc:2364
virtual void setManDialPrivateCallHangTimeInfinite()
Sets the manual dial private call hang time to infinite.
Definition d878uv_codeplug.cc:2529
void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO B.
Definition d878uv_codeplug.cc:2582
Implements some storage to hold the names for the FM APRS frequencies.
Definition d878uv_codeplug.hh:1154
FMAPRSFrequencyNamesElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:603
virtual void setName(unsigned int n, const QString &name)
Sets the n-th name.
Definition d878uv_codeplug.cc:627
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1164
virtual QString name(unsigned int n) const
Returns the n-th name.
Definition d878uv_codeplug.cc:621
void clear()
Abstract method to reset the element within the codeplug.
Definition d878uv_codeplug.cc:616
AnytoneDisplaySettingsExtension::Color callDisplayColor() const override
Returns the display color for callsigns.
Definition d878uv_codeplug.cc:1626
virtual bool monitorColorCodeMatch() const
Returns true if the monitor matches color code.
Definition d878uv_codeplug.cc:1437
virtual void disableBTHoldTime()
Sets the Bluetooth hold time to infinite.
Definition d878uv_codeplug.cc:2031
virtual unsigned priorityZoneBIndex() const
Returns the priority Zone B index.
Definition d878uv_codeplug.cc:1508
void enableKnobLock(bool enable) override
Enables/disables the knob lock.
Definition d878uv_codeplug.cc:1648
virtual void setSTEType(AnytoneSettingsExtension::STEType type)
Sets the STE (squelch tail eliminate) type.
Definition d878uv_codeplug.cc:1188
void setKeyToneLevel(unsigned level) override
Sets the key-tone level.
Definition d878uv_codeplug.cc:1617
virtual Interval privateCallHangTime() const
Returns the private call hang time in seconds.
Definition d878uv_codeplug.cc:1220
virtual bool remoteStunKill() const
Returns true remote stun/kill is enabled.
Definition d878uv_codeplug.cc:1410
unsigned defaultZoneIndexB() const override
Returns the default zone index (0-based) for VFO B.
Definition d878uv_codeplug.cc:1810
virtual void setAutoRepeaterMaxFrequencyVHF(Frequency Hz) override
Sets the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition d878uv_codeplug.cc:1752
virtual bool bluetooth() const
Returns true if bluetooth is enabled.
Definition d878uv_codeplug.cc:1517
virtual void enablePluginRecTone(bool enable)
Enables/disables the plug-in record tone.
Definition d878uv_codeplug.cc:1548
void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color) override
Sets the display color for callsigns.
Definition d878uv_codeplug.cc:1630
virtual bool btHoldTimeEnabled() const
Returns true, if the bluetooth hold time is enabled.
Definition d878uv_codeplug.cc:2010
TBSTFrequency
TBST (open repeater) frequencies.
Definition d878uv_codeplug.hh:377
virtual bool bootReset() const
Returns true if boot reset is enabled.
Definition d878uv_codeplug.cc:2001
DTMFDuration
DTMF signalling durations.
Definition d878uv_codeplug.hh:372
virtual void setSTEFrequency(double freq)
Sets the STE (squelch tail eliminate) frequency setting.
Definition d878uv_codeplug.cc:1201
void setFuncKey2Short(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 2.
Definition d878uv_codeplug.cc:1134
AnytoneKeySettingsExtension::KeyFunction funcKeyCShort() const override
Returns the key function for a short press on the function key 3/C.
Definition d878uv_codeplug.cc:1112
AnytoneKeySettingsExtension::KeyFunction funcKeyBLong() const override
Returns the key function for a long press on the function key 2.
Definition d878uv_codeplug.cc:1148
virtual bool remoteMonitor() const
Returns true remote monitor is enabled.
Definition d878uv_codeplug.cc:1419
virtual void setDTMFToneDuration(unsigned ms)
Sets the DTMF tone duration in ms.
Definition d878uv_codeplug.cc:1334
bool fromConfig(const Flags &flags, Context &ctx) override
Encodes the general settings.
Definition d878uv_codeplug.cc:2052
virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang)
Sets the UI language.
Definition d878uv_codeplug.cc:1054
virtual void setBTMicGain(unsigned int gain)
Sets the bluetooth microphone gain [1,10].
Definition d878uv_codeplug.cc:1566
AnytoneKeySettingsExtension::KeyFunction funcKey1Short() const override
Returns the key function for a short press on the function key 1.
Definition d878uv_codeplug.cc:1121
void enableDefaultChannel(bool enable) override
Enables/disables default boot channel.
Definition d878uv_codeplug.cc:1796
virtual bool gpsMessageEnabled() const
Returns true if the GPS range reporting is enabled.
Definition d878uv_codeplug.cc:1482
virtual SMSExtension::Format smsFormat() const
Returns the SMS format.
Definition d878uv_codeplug.cc:1714
virtual bool roaming() const
Returns true if roaming is enabled.
Definition d878uv_codeplug.cc:1964
virtual bool proMode() const
Returns true if the "pro mode" is enabled.
Definition d878uv_codeplug.cc:1392
virtual Frequency autoRepeaterMinFrequencyVHF() const override
Returns the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition d878uv_codeplug.cc:1740
virtual void setDefaultRoamingZoneIndex(unsigned idx)
Sets the default roaming zone index.
Definition d878uv_codeplug.cc:1857
virtual void enableProMode(bool enable)
Enables/disables the "pro mode".
Definition d878uv_codeplug.cc:1396
void setBacklightDuration(Interval intv) override
Sets the backlight duration in seconds.
Definition d878uv_codeplug.cc:1286
virtual Interval gpsUpdatePeriod() const override
Returns the GPS ranging interval in seconds.
Definition d878uv_codeplug.cc:1553
virtual AnytoneRoamingSettingsExtension::RoamStart roamingStartCondition() const
Returns the roaming start condition.
Definition d878uv_codeplug.cc:1889
void clear() override
Resets the general settings.
Definition d878uv_codeplug.cc:1027
virtual bool fmSendIDAndContact() const
If enabled, the FM ID is sent together with selected contact.
Definition d878uv_codeplug.cc:1783
void setFuncKeyAShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 1/A.
Definition d878uv_codeplug.cc:1098
virtual Frequency autoRepeaterMinFrequencyUHF() const override
Returns the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition d878uv_codeplug.cc:1757
virtual AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionB() const override
Returns the auto-repeater direction for VFO B.
Definition d878uv_codeplug.cc:1774
void enableShowCurrentContact(bool enable) override
Enables/disables display of current contact.
Definition d878uv_codeplug.cc:1595
virtual Interval btRXDelay() const
Returns the bluetooth RX delay in ms.
Definition d878uv_codeplug.cc:2036
virtual unsigned priorityZoneAIndex() const
Returns the priority Zone A index.
Definition d878uv_codeplug.cc:1500
virtual void setRepeaterRangeCheckInterval(Interval sec)
Sets the repeater range check interval in seconds.
Definition d878uv_codeplug.cc:1875
void setFuncKeyBShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 2/B.
Definition d878uv_codeplug.cc:1107
virtual bool monitorTimeSlotHold() const
Returns true if the monitor holds the time slot.
Definition d878uv_codeplug.cc:1455
virtual void setPrivateCallHangTime(Interval sec)
Sets the private call hang time in seconds.
Definition d878uv_codeplug.cc:1224
BackgroundImage
Possible background images.
Definition d878uv_codeplug.hh:387
QTimeZone gpsTimeZone() const override
Returns the GPS time zone.
Definition d878uv_codeplug.cc:1032
bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err) override
Links the general settings.
Definition d878uv_codeplug.cc:2255
virtual void setGPSUpdatePeriod(Interval sec) override
Sets the GPS ranging interval in seconds.
Definition d878uv_codeplug.cc:1557
virtual Interval groupCallHangTime() const
Returns the group call hang time in seconds.
Definition d878uv_codeplug.cc:1212
virtual bool monitorIDMatch() const
Returns true if the monitor matches ID.
Definition d878uv_codeplug.cc:1446
virtual bool wfmVFOEnabled() const
Returns true if the WFM RX is in VFO mode.
Definition d878uv_codeplug.cc:1253
virtual void enableBootGPSCheck(bool enable)
Enables/disables boot GPS check.
Definition d878uv_codeplug.cc:1996
FreqStep
Possible VFO frequency steps.
Definition d878uv_codeplug.hh:359
@ FREQ_STEP_20kHz
20kHz
Definition d878uv_codeplug.hh:366
@ FREQ_STEP_2_5kHz
2.5kHz
Definition d878uv_codeplug.hh:360
@ FREQ_STEP_50kHz
50kHz
Definition d878uv_codeplug.hh:368
@ FREQ_STEP_10kHz
10kHz
Definition d878uv_codeplug.hh:364
@ FREQ_STEP_6_25kHz
6.25kHz
Definition d878uv_codeplug.hh:362
@ FREQ_STEP_8_33kHz
8.33kHz
Definition d878uv_codeplug.hh:363
@ FREQ_STEP_5kHz
5kHz
Definition d878uv_codeplug.hh:361
@ FREQ_STEP_12_5kHz
12.5kHz
Definition d878uv_codeplug.hh:365
@ FREQ_STEP_25kHz
25kHz
Definition d878uv_codeplug.hh:367
void setDefaultZoneIndexB(unsigned idx) override
Sets the default zone (0-based) for VFO B.
Definition d878uv_codeplug.cc:1814
virtual bool repeaterRangeCheck() const
Returns true if repeater range check is enabled.
Definition d878uv_codeplug.cc:1862
virtual void setAutoRepeaterDirectionB(AnytoneAutoRepeaterSettingsExtension::Direction dir) override
Sets the auto-repeater direction for VFO B.
Definition d878uv_codeplug.cc:1778
void enableKeypadLock(bool enable) override
Enables/disables the keypad lock.
Definition d878uv_codeplug.cc:1656
virtual void enableBTAndInternalMic(bool enable)
Enables/disables the internal mic when BT is active.
Definition d878uv_codeplug.cc:1530
virtual void setBTHoldTime(Interval interval)
Sets the Bluetooth hold time (1-120s).
Definition d878uv_codeplug.cc:2022
bool knobLock() const override
Returns true if the knob is locked.
Definition d878uv_codeplug.cc:1644
virtual void setWakeHeadPeriod(Interval ms)
Sets the wake head-period in ms.
Definition d878uv_codeplug.cc:1240
virtual bool filterOwnID() const
Returns true if the own ID is filtered in call lists.
Definition d878uv_codeplug.cc:1401
virtual Frequency autoRepeaterMaxFrequencyUHF() const override
Returns the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition d878uv_codeplug.cc:1765
virtual void setPriorityZoneAIndex(unsigned idx)
Sets the priority zone A index.
Definition d878uv_codeplug.cc:1504
virtual void enableRemoteStunKill(bool enable)
Enables/disables remote stun/kill.
Definition d878uv_codeplug.cc:1414
virtual void setTransmitTimeout(const Interval &tot)
Sets the transmit timeout in seconds.
Definition d878uv_codeplug.cc:1045
void setDefaultChannelBToVFO() override
Sets the default channel for VFO B to be VFO.
Definition d878uv_codeplug.cc:1848
virtual void setAutoRepeaterMaxFrequencyUHF(Frequency Hz) override
Sets the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition d878uv_codeplug.cc:1769
virtual void setStandbyTextColor(AnytoneDisplaySettingsExtension::Color color)
Sets the standby text color.
Definition d878uv_codeplug.cc:1690
virtual void enableBluetooth(bool enable)
Enables/disables bluetooth.
Definition d878uv_codeplug.cc:1521
Interval rxBacklightDuration() const
Returns the backlight duration during RX in seconds.
Definition d878uv_codeplug.cc:1948
virtual void enableRoaming(bool enable)
Enables/disables repeater check notification.
Definition d878uv_codeplug.cc:1968
virtual void enableManDown(bool enable)
Enables/disables "man down".
Definition d878uv_codeplug.cc:1353
virtual void setChannelNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color.
Definition d878uv_codeplug.cc:1933
void setDefaultChannelAIndex(unsigned idx) override
Sets the default channel index for VFO A.
Definition d878uv_codeplug.cc:1827
virtual bool btHoldTimeInfinite() const
Returns true, if the bluetooth hold time is infinite.
Definition d878uv_codeplug.cc:2014
virtual bool manDown() const
Returns true if "man down" is enabled.
Definition d878uv_codeplug.cc:1349
virtual unsigned int btSpeakerGain() const
Returns the bluetooth speaker gain [1,10].
Definition d878uv_codeplug.cc:1572
virtual void enableSeparateDisplay(bool enable)
Enables/disables "separate display.
Definition d878uv_codeplug.cc:1915
virtual void setBTHoldTimeInfinite()
Sets the Bluetooth hold time to infinite.
Definition d878uv_codeplug.cc:2027
virtual void setPriorityZoneBIndex(unsigned idx)
Sets the priority zone B index.
Definition d878uv_codeplug.cc:1512
virtual unsigned fmCallHold() const
Returns the analog call hold in seconds.
Definition d878uv_codeplug.cc:1473
virtual unsigned defaultRoamingZoneIndex() const
Returns the default roaming zone index.
Definition d878uv_codeplug.cc:1853
virtual void setSMSFormat(SMSExtension::Format fmt)
Sets the SMS format.
Definition d878uv_codeplug.cc:1724
virtual unsigned dtmfToneDuration() const
Returns the DTMF tone duration in ms.
Definition d878uv_codeplug.cc:1323
AnytoneKeySettingsExtension::KeyFunction funcKey2Short() const override
Returns the key function for a short press on the function key 2.
Definition d878uv_codeplug.cc:1130
bool keypadLock() const override
Returns true if the keypad is locked.
Definition d878uv_codeplug.cc:1652
void setFuncKeyBLong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 2.
Definition d878uv_codeplug.cc:1152
void enableKeyLockForced(bool enable) override
Enables/disables the "professional" key lock.
Definition d878uv_codeplug.cc:1672
virtual void enableDisplayChannelNumber(bool enable)
Enables/disables display of channel number.
Definition d878uv_codeplug.cc:1586
virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const
Returns the monitor slot match.
Definition d878uv_codeplug.cc:1428
virtual AnytoneDisplaySettingsExtension::Language language() const
Returns the UI language.
Definition d878uv_codeplug.cc:1050
void enableGPSUnitsImperial(bool enable) override
Enables/disables imperial GPS units.
Definition d878uv_codeplug.cc:1639
virtual bool displayChannelNumber() const
Returns true if the channel number is displayed.
Definition d878uv_codeplug.cc:1582
virtual Interval manDownDelay() const
Returns the "man down" delay in seconds.
Definition d878uv_codeplug.cc:1464
virtual AnytoneDisplaySettingsExtension::Color channelNameColor() const
Returns the channel name color.
Definition d878uv_codeplug.cc:1929
void setFuncKey1Long(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 1.
Definition d878uv_codeplug.cc:1170
AnytoneKeySettingsExtension::KeyFunction funcKeyAShort() const override
Returns the key function for a short press on the function key 1/A.
Definition d878uv_codeplug.cc:1094
virtual void setGroupCallHangTime(Interval sec)
Sets the group call hang time in seconds.
Definition d878uv_codeplug.cc:1216
virtual void setPreWaveDelay(Interval ms)
Sets the pre-wave time in ms.
Definition d878uv_codeplug.cc:1232
AnytoneKeySettingsExtension::KeyFunction funcKeyCLong() const override
Returns the key function for a long press on the function key 3.
Definition d878uv_codeplug.cc:1157
virtual void setStandbyBackgroundImage(D878UVCodeplug::GeneralSettingsElement::BackgroundImage img)
Sets the standby background image.
Definition d878uv_codeplug.cc:1699
bool keyLockForced() const override
Returns true if the "professional" key is locked.
Definition d878uv_codeplug.cc:1668
void setDefaultZoneIndexA(unsigned idx) override
Sets the default zone (0-based) for VFO A.
Definition d878uv_codeplug.cc:1805
virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match)
Sets the monitor slot match.
Definition d878uv_codeplug.cc:1432
virtual void enableWFMVFO(bool enable)
Enables/disables VFO mode for WFM RX.
Definition d878uv_codeplug.cc:1257
virtual bool btAndInternalMic() const
Returns true if the internal mic is additionally active when BT is active.
Definition d878uv_codeplug.cc:1526
virtual Frequency tbstFrequency() const
Returns the TBST frequency.
Definition d878uv_codeplug.cc:1367
virtual void setTBSTFrequency(Frequency freq)
Sets the TBST frequency.
Definition d878uv_codeplug.cc:1377
virtual AnytoneSettingsExtension::STEType steType() const
Returns the STE (squelch tail eliminate) type.
Definition d878uv_codeplug.cc:1184
STEFrequency
All possible STE (squelch tail eliminate) frequencies.
Definition d878uv_codeplug.hh:382
virtual Interval btHoldTime() const
Returns the bluetooth hold time.
Definition d878uv_codeplug.cc:2018
virtual void setAutoRepeaterMinFrequencyUHF(Frequency Hz) override
Sets the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition d878uv_codeplug.cc:1761
void setFuncKey1Short(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 1.
Definition d878uv_codeplug.cc:1125
AnytoneKeySettingsExtension::KeyFunction funcKey2Long() const override
Returns the key function for a long press on the function key 2.
Definition d878uv_codeplug.cc:1175
virtual void setFMCallHold(unsigned sec)
Sets the analog call hold in seconds.
Definition d878uv_codeplug.cc:1477
void setFuncKeyCShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 3/C.
Definition d878uv_codeplug.cc:1116
unsigned defaultZoneIndexA() const override
Returns the default zone index (0-based) for VFO A.
Definition d878uv_codeplug.cc:1801
unsigned defaultChannelBIndex() const override
Returns the default channel index for VFO B.
Definition d878uv_codeplug.cc:1840
virtual bool separateDisplay() const
Returns true if the "separate display" is enabled.
Definition d878uv_codeplug.cc:1911
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor.
Definition d878uv_codeplug.cc:1423
virtual Frequency vfoFrequencyStep() const
Returns the VFO frequency step in kHz.
Definition d878uv_codeplug.cc:1059
static constexpr unsigned int size()
Returns the size of the element.
Definition d878uv_codeplug.hh:411
virtual void enableRepeaterRangeCheck(bool enable)
Enables/disables repeater range check.
Definition d878uv_codeplug.cc:1866
virtual unsigned repeaterRangeCheckCount() const
Returns the number of repeater range checks.
Definition d878uv_codeplug.cc:1880
virtual void enableMonitorIDMatch(bool enable)
Enables/disables monitor ID match.
Definition d878uv_codeplug.cc:1450
virtual void setMuteDelay(Interval min)
Sets the mute delay in minutes.
Definition d878uv_codeplug.cc:1977
virtual void enableBootReset(bool enable)
Enables/disables boot reset.
Definition d878uv_codeplug.cc:2005
virtual void setTXBacklightDuration(Interval sec)
Sets the backlight duration during TX in seconds.
Definition d878uv_codeplug.cc:1904
void setFuncKeyCLong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 3.
Definition d878uv_codeplug.cc:1161
virtual void setManDownDelay(Interval sec)
Sets the "man down" delay in seconds.
Definition d878uv_codeplug.cc:1468
virtual void enableMonitorColorCodeMatch(bool enable)
Enables/disables monitor color code match.
Definition d878uv_codeplug.cc:1441
virtual void enableMonitorTimeSlotHold(bool enable)
Enables/disables monitor time slot hold.
Definition d878uv_codeplug.cc:1459
void enableShowLastHeard(bool enable) override
Enables/disables showing last heard.
Definition d878uv_codeplug.cc:1708
void setRXBacklightDuration(Interval sec)
Sets the backlight duration during RX in seconds.
Definition d878uv_codeplug.cc:1956
void enableSidekeysLock(bool enable) override
Enables/disables the sidekeys lock.
Definition d878uv_codeplug.cc:1664
virtual bool bootGPSCheck() const
Returns true if boot GPS check is enabled.
Definition d878uv_codeplug.cc:1992
void setDefaultChannelAToVFO() override
Sets the default channel for VFO A to be VFO.
Definition d878uv_codeplug.cc:1831
unsigned keyToneLevel() const override
Returns the key-tone level (0=adjustable).
Definition d878uv_codeplug.cc:1613
virtual bool repeaterCheckNotification() const
Returns true if repeater check notification is enabled.
Definition d878uv_codeplug.cc:1938
AnytoneKeySettingsExtension::KeyFunction funcKeyBShort() const override
Returns the key function for a short press on the function key 2/B.
Definition d878uv_codeplug.cc:1103
virtual Interval transmitTimeout() const
Returns the transmit timeout in seconds.
Definition d878uv_codeplug.cc:1041
SMSFormat
Possible SMS formats.
Definition d878uv_codeplug.hh:398
virtual Interval wakeHeadPeriod() const
Returns the wake head-period in ms.
Definition d878uv_codeplug.cc:1236
bool showLastHeard() const override
Returns true if the last heard is shown while pressing PTT.
Definition d878uv_codeplug.cc:1704
Interval backlightDuration() const override
Returns the backlight duration in seconds.
Definition d878uv_codeplug.cc:1263
virtual void enableWFMMonitor(bool enable)
Enables/disables WFM monitor.
Definition d878uv_codeplug.cc:1362
bool showCurrentContact() const override
Returns true if the current contact is shown.
Definition d878uv_codeplug.cc:1591
virtual void setAutoRoamDelay(Interval sec)
Sets the auto-roam delay in seconds.
Definition d878uv_codeplug.cc:1681
bool keyToneLevelAdjustable() const override
Returns true if the key-tone level is adjustable.
Definition d878uv_codeplug.cc:1609
BacklightDuration
Encoding of possible backlight durations.
Definition d878uv_codeplug.hh:392
void setGPSTimeZone(const QTimeZone &zone) override
Sets the GPS time zone.
Definition d878uv_codeplug.cc:1036
virtual bool wfmMonitor() const
Returns true if WFM monitor is enabled.
Definition d878uv_codeplug.cc:1358
virtual Interval preWaveDelay() const
Returns the pre-wave time in ms.
Definition d878uv_codeplug.cc:1228
virtual Interval autoRoamDelay() const
Returns the auto-roam delay in seconds.
Definition d878uv_codeplug.cc:1677
virtual unsigned wfmChannelIndex() const
Returns the wide-FM (broadcast) channel index.
Definition d878uv_codeplug.cc:1245
virtual double steFrequency() const
Returns the STE (squelch tail eliminate) frequency setting in Hz.
Definition d878uv_codeplug.cc:1192
virtual bool maintainCallChannel() const
Returns true if the call channel is maintained.
Definition d878uv_codeplug.cc:1491
AnytoneKeySettingsExtension::KeyFunction funcKeyALong() const override
Returns the key function for a long press on the function key 1.
Definition d878uv_codeplug.cc:1139
virtual void setWFMChannelIndex(unsigned idx)
Sets the wide-FM (broadcast) channel index.
Definition d878uv_codeplug.cc:1249
virtual void setAutoRepeaterMinFrequencyVHF(Frequency Hz) override
Sets the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition d878uv_codeplug.cc:1744
bool gpsUnitsImperial() const override
Returns true if the GPS units are imperial.
Definition d878uv_codeplug.cc:1635
AnytoneKeySettingsExtension::KeyFunction funcKey1Long() const override
Returns the key function for a long press on the function key 1.
Definition d878uv_codeplug.cc:1166
virtual void enableMaintainCallChannel(bool enable)
Enables/disables maintaining the call channel.
Definition d878uv_codeplug.cc:1495
bool sidekeysLock() const override
Returns true if the sidekeys are locked.
Definition d878uv_codeplug.cc:1660
void setDefaultChannelBIndex(unsigned idx) override
Sets the default channel index for VFO B.
Definition d878uv_codeplug.cc:1844
virtual void setVFOFrequencyStep(Frequency kHz)
Sets the VFO frequency step in kHz.
Definition d878uv_codeplug.cc:1076
virtual void setBTRXDelay(Interval delay)
Sets the bluetooth RX delay in ms.
Definition d878uv_codeplug.cc:2042
virtual unsigned repeaterCheckNumNotifications() const
Returns the number of repeater check notifications.
Definition d878uv_codeplug.cc:1982
bool defaultChannelBIsVFO() const override
Returns true if the default channel for VFO B is VFO.
Definition d878uv_codeplug.cc:1836
bool defaultChannelAIsVFO() const override
Returns true if the default channel for VFO A is VFO.
Definition d878uv_codeplug.cc:1819
unsigned defaultChannelAIndex() const override
Returns the default channel index for VFO A.
Definition d878uv_codeplug.cc:1823
virtual Interval repeaterRangeCheckInterval() const
Returns the repeater range check period in seconds.
Definition d878uv_codeplug.cc:1871
virtual bool btAndInternalSpeaker() const
Returns true if the internal speaker is additionally active when BT is active.
Definition d878uv_codeplug.cc:1535
virtual void enableBTAndInternalSpeaker(bool enable)
Enables/disables the internal speaker when BT is active.
Definition d878uv_codeplug.cc:1539
void setKeyToneLevelAdjustable() override
Sets the key-tone level adjustable.
Definition d878uv_codeplug.cc:1621
virtual Interval txBacklightDuration() const
Returns the backlight duration during TX in seconds.
Definition d878uv_codeplug.cc:1899
virtual void enableFilterOwnID(bool enable)
Enables/disables filter of own ID in call lists.
Definition d878uv_codeplug.cc:1405
bool keepLastCaller() const override
Returns true if the last caller is kept when changing channel.
Definition d878uv_codeplug.cc:1920
void setFuncKeyALong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 1.
Definition d878uv_codeplug.cc:1143
virtual Frequency autoRepeaterMaxFrequencyVHF() const override
Returns the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition d878uv_codeplug.cc:1748
void setFuncKey2Long(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 2.
Definition d878uv_codeplug.cc:1179
virtual void enableFMSendIDAndContact(bool enable)
Enables/disables sending contact with FM ID.
Definition d878uv_codeplug.cc:1787
virtual void setAutoRoamPeriod(Interval min)
Sets the auto roaming period in minutes.
Definition d878uv_codeplug.cc:1604
void enableKeepLastCaller(bool enable) override
Enables/disables keeping the last caller when changing the channel.
Definition d878uv_codeplug.cc:1924
virtual unsigned int btMicGain() const
Returns the bluetooth microphone gain [1,10].
Definition d878uv_codeplug.cc:1562
virtual void setRepeaterRangeCheckCount(unsigned n)
Sets the number of repeater range checks.
Definition d878uv_codeplug.cc:1884
bool updateConfig(Context &ctx) override
Updates the abstract config from general settings.
Definition d878uv_codeplug.cc:2155
virtual void setBTSpeakerGain(unsigned int gain)
Sets the bluetooth speaker gain [1,10].
Definition d878uv_codeplug.cc:1576
virtual void setRoamingStartCondition(AnytoneRoamingSettingsExtension::RoamStart cond)
Sets the roaming start condition.
Definition d878uv_codeplug.cc:1893
virtual Interval muteDelay() const
Returns the mute delay in minutes.
Definition d878uv_codeplug.cc:1973
virtual bool pluginRecTone() const
Returns true if the plug-in record tone is enabled.
Definition d878uv_codeplug.cc:1544
virtual BackgroundImage standbyBackgroundImage() const
Returns the standby background image.
Definition d878uv_codeplug.cc:1695
virtual AnytoneDisplaySettingsExtension::Color standbyTextColor() const
Returns the standby text color.
Definition d878uv_codeplug.cc:1686
GeneralSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:1014
virtual void setRepeaterCheckNumNotifications(unsigned num)
Sets the number of repeater check notifications.
Definition d878uv_codeplug.cc:1986
bool defaultChannel() const override
Returns true if the default boot channel is enabled.
Definition d878uv_codeplug.cc:1792
virtual Interval autoRoamPeriod() const
Returns the auto roaming period in minutes.
Definition d878uv_codeplug.cc:1600
virtual void enableRepeaterCheckNotification(bool enable)
Enables/disables repeater check notification.
Definition d878uv_codeplug.cc:1942
virtual void enableGPSMessage(bool enable)
Enables/disables GPS range reporting.
Definition d878uv_codeplug.cc:1486
HiddenZoneBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3759
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1859
virtual QString seller() const
Returns the seller.
Definition d878uv_codeplug.cc:3889
virtual QString dealerCode() const
Returns the dealer code.
Definition d878uv_codeplug.cc:3874
virtual bool bandSelect() const
Returns true if band select is enabled.
Definition d878uv_codeplug.cc:3817
virtual void setProgramPassword(const QString &passwd)
Sets the program password.
Definition d878uv_codeplug.cc:3844
RadioInfoElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:3775
virtual QString maintainedDate() const
Returns the maintained date.
Definition d878uv_codeplug.cc:3869
virtual QString productionDate() const
Returns the production date.
Definition d878uv_codeplug.cc:3859
virtual QString manufacturerCode() const
Returns the manufacturer code.
Definition d878uv_codeplug.cc:3864
virtual QString areaCode() const
Returns the area code.
Definition d878uv_codeplug.cc:3849
virtual bool international() const
Returns true if "international" is enabled.
Definition d878uv_codeplug.cc:3808
virtual bool fullTest() const
Returns true if full test is enabled.
Definition d878uv_codeplug.cc:3794
FrequencyRange
Possible frequency ranges for the AT-D878UV.
Definition d878uv_codeplug.hh:1870
virtual void setBandSelectPassword(const QString &passwd)
Sets the band-select password.
Definition d878uv_codeplug.cc:3830
virtual void enableInternational(bool enable)
Enables/disables "international".
Definition d878uv_codeplug.cc:3812
virtual QString sellDate() const
Returns the sell date.
Definition d878uv_codeplug.cc:3884
virtual void setFrequencyRange(FrequencyRange range)
Sets the frequency range.
Definition d878uv_codeplug.cc:3803
virtual QString programPassword() const
Returns the program password.
Definition d878uv_codeplug.cc:3840
virtual QString serialNumber() const
Returns the serial number.
Definition d878uv_codeplug.cc:3854
virtual QString radioType() const
Returns the radio type.
Definition d878uv_codeplug.cc:3835
virtual FrequencyRange frequencyRange() const
Returns the frequency range.
Definition d878uv_codeplug.cc:3799
virtual QString bandSelectPassword() const
Returns the band-select password.
Definition d878uv_codeplug.cc:3826
void clear()
Resets the info.
Definition d878uv_codeplug.cc:3788
virtual void enableBandSelect(bool enable)
Enables/disables band select.
Definition d878uv_codeplug.cc:3821
virtual QString maintainerNote() const
Returns the maintainer note.
Definition d878uv_codeplug.cc:3894
virtual QString stockDate() const
Returns the stock date.
Definition d878uv_codeplug.cc:3879
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1637
RoamingChannelBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:747
TimeSlotValue
Encoded values for the time slot.
Definition d878uv_codeplug.hh:1557
virtual void setTXFrequency(unsigned hz)
Sets the TX frequency in Hz.
Definition d878uv_codeplug.cc:666
RoamingChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:636
void clear()
Resets the roaming channel.
Definition d878uv_codeplug.cc:649
virtual bool hasColorCode() const
Returns true if the color code is set.
Definition d878uv_codeplug.cc:671
virtual unsigned txFrequency() const
Returns the TX frequency in Hz.
Definition d878uv_codeplug.cc:662
virtual void disableColorCode()
Disables the color code for the roaming channel.
Definition d878uv_codeplug.cc:683
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1567
virtual void setColorCode(unsigned cc)
Sets the color code.
Definition d878uv_codeplug.cc:679
virtual void setRXFrequency(unsigned hz)
Sets the RX frequency in Hz.
Definition d878uv_codeplug.cc:658
virtual void setTimeSlot(DMRChannel::TimeSlot ts)
Sets the time slot.
Definition d878uv_codeplug.cc:696
virtual RoamingChannel * toChannel(Context &ctx)
Constructs a RoamingChannel instance for this roaming channel.
Definition d878uv_codeplug.cc:726
virtual unsigned rxFrequency() const
Returns the RX frequency in Hz.
Definition d878uv_codeplug.cc:654
virtual unsigned colorCode() const
Returns the color code.
Definition d878uv_codeplug.cc:675
virtual void setName(const QString &name)
Sets the name of the channel.
Definition d878uv_codeplug.cc:708
ColorCodeValue
Special values for the color code.
Definition d878uv_codeplug.hh:1552
virtual QString name() const
Returns the name of the channel.
Definition d878uv_codeplug.cc:704
virtual bool fromChannel(const RoamingChannel *ch)
Constructs a roaming channel from the given digital channel.
Definition d878uv_codeplug.cc:713
virtual DMRChannel::TimeSlot timeSlot() const
Returns the time slot.
Definition d878uv_codeplug.cc:688
RoamingZoneBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:849
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1711
virtual bool fromRoamingZone(RoamingZone *zone, Context &ctx, const ErrorStack &err=ErrorStack())
Assembles a binary representation of the given RoamingZone instance.
Definition d878uv_codeplug.cc:812
virtual void setName(const QString &name)
Sets the name of the zone.
Definition d878uv_codeplug.cc:807
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1655
virtual bool hasMember(unsigned n) const
Returns true if the n-th member is set.
Definition d878uv_codeplug.cc:782
virtual void setMember(unsigned n, unsigned idx)
Sets the n-th member index.
Definition d878uv_codeplug.cc:790
virtual RoamingZone * toRoamingZone(Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a RoamingZone instance from this configuration.
Definition d878uv_codeplug.cc:825
void clear()
Clears the roaming zone.
Definition d878uv_codeplug.cc:776
virtual bool linkRoamingZone(RoamingZone *zone, Context &ctx, const ErrorStack &err=ErrorStack())
Links the given RoamingZone.
Definition d878uv_codeplug.cc:831
RoamingZoneElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:763
virtual QString name() const
Returns the name of the zone.
Definition d878uv_codeplug.cc:803
virtual void clearMember(unsigned n)
Clears the n-th member.
Definition d878uv_codeplug.cc:796
virtual unsigned member(unsigned n) const
Returns the n-th member index.
Definition d878uv_codeplug.cc:786
virtual bool createRoaming(Context &ctx, const ErrorStack &err=ErrorStack())
Creates roaming channels and zones from codeplug.
Definition d878uv_codeplug.cc:4414
void setBitmaps(Context &ctx)
Sets all bitmaps for the given config.
Definition d878uv_codeplug.cc:3965
bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the given config (via context) to the binary codeplug.
Definition d878uv_codeplug.cc:4017
D878UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition d878uv_codeplug.cc:3902
bool encodeGPSSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the GPS settings section.
Definition d878uv_codeplug.cc:4247
bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Link the general settings.
Definition d878uv_codeplug.cc:4223
void allocateGPSSystems()
Allocates GPS settings memory section.
Definition d878uv_codeplug.cc:4238
bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Create channels from codeplug.
Definition d878uv_codeplug.cc:4108
virtual void allocateAESKeys()
Allocates memory to encode/decode AES keys.
Definition d878uv_codeplug.cc:4452
bool createElements(Context &ctx, const ErrorStack &err=ErrorStack())
Creates all config objects from the downloaded codeplug.
Definition d878uv_codeplug.cc:4037
virtual bool encodeZone(int i, Zone *zone, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Function to encode a single zone.
Definition d878uv_codeplug.cc:4166
virtual bool createARC4Keys(Context &ctx, const ErrorStack &err=ErrorStack())
Decode ARC4 keys from the codeplug.
Definition d878uv_codeplug.cc:4551
virtual bool createAESKeys(Context &ctx, const ErrorStack &err=ErrorStack())
Decode AES keys from the codeplug.
Definition d878uv_codeplug.cc:4484
void allocateChannels()
Allocate channels from bitmap.
Definition d878uv_codeplug.cc:4068
void allocateForEncoding()
Allocate all code-plug elements that are defined through the common Config.
Definition d878uv_codeplug.cc:3945
bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Link channels.
Definition d878uv_codeplug.cc:4134
bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the general settings section.
Definition d878uv_codeplug.cc:4205
void allocateGeneralSettings()
Allocates general settings memory section.
Definition d878uv_codeplug.cc:4197
bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack())
Links all previously created config objects.
Definition d878uv_codeplug.cc:4055
virtual bool encodeARC4Keys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode all ARC4 keys.
Definition d878uv_codeplug.cc:4534
void allocateForDecoding()
Allocate all code-plug elements that must be downloaded for decoding.
Definition d878uv_codeplug.cc:3954
virtual bool linkRoaming(Context &ctx, const ErrorStack &err=ErrorStack())
Links roaming channels and zones.
Definition d878uv_codeplug.cc:4444
virtual bool encodeRoaming(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the roaming channels and zones.
Definition d878uv_codeplug.cc:4380
bool allocateBitmaps()
Allocates the bitmaps.
Definition d878uv_codeplug.cc:3915
void allocateUpdated()
Allocate all code-plug elements that must be written back to the device to maintain a working codeplu...
Definition d878uv_codeplug.cc:3932
Config * preprocess(Config *config, const ErrorStack &err) const
Returns a prepared configuration for this particular radio.
Definition d878uv_codeplug.cc:3993
bool linkGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack())
Link GPS systems.
Definition d878uv_codeplug.cc:4325
bool createGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack())
Create GPS systems from codeplug.
Definition d878uv_codeplug.cc:4280
virtual bool encodeAESKeys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode all AES keys.
Definition d878uv_codeplug.cc:4467
virtual void allocateRoaming()
Allocates memory to store all roaming channels and zones.
Definition d878uv_codeplug.cc:4347
bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode channels into codeplug.
Definition d878uv_codeplug.cc:4090
virtual bool decodeZone(int i, Zone *zone, Context &ctx, const ErrorStack &err=ErrorStack())
Function to decode a single zone.
Definition d878uv_codeplug.cc:4180
bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the general settings section.
Definition d878uv_codeplug.cc:4214
virtual void allocateZones()
Allocate zones from bitmaps.
Definition d878uv_codeplug.cc:4159
virtual void allocateARC4Keys()
Allocates memory to encode/decode ARC4 keys.
Definition d878uv_codeplug.cc:4519
uint32_t size() const
Returns the total size of the DFU file.
Definition dfufile.cc:52
This class represents a DMR position reporting system within the codeplug.
Definition gpssystem.hh:69
TimeSlot
Possible timeslots for digital channels.
Definition channel.hh:439
Represents a digital contact, that is a DMR number.
Definition contact.hh:141
Type
Possible call types for a contact.
Definition contact.hh:155
TalkerAliasEncoding
Possible talker alias encodings.
Definition dmrsettings.hh:35
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition errorstack.hh:43
Represents an APRS system within the generic config.
Definition gpssystem.hh:136
Icon
All implemented APRS icons.
Definition gpssystem.hh:166
Represents a time interval.
Definition interval.hh:11
Some simple class implementing a [1-10] level setting.
Definition level.hh:15
A config item that encodes a melody.
Definition melody.hh:20
Generic representation of a RX group list.
Definition rxgrouplist.hh:14
Represents the common radio-global settings.
Definition radiosettings.hh:17
Simple range class representing some range in some data type.
Definition ranges.hh:14
Represents a roaming channel.
Definition roamingchannel.hh:16
Represents a RoamingZone within the abstract device configuration.
Definition roamingzone.hh:15
Format
Possible SMS formats, DMR is usually a good idea.
Definition smsextension.hh:65
Generic representation of a scan list.
Definition scanlist.hh:15
Represents a zone within the generic configuration.
Definition zone.hh:15
Implements encoding of CTCSS tones.
Definition anytone_codeplug.hh:27
Base class for Limits.
Definition codeplug.hh:92
Some type to specify a bit offset.
Definition codeplug.hh:70
Base class for Offsets.
Definition codeplug.hh:68
Internal used offsets within the channel element.
Definition d868uv_codeplug.hh:143
Some limits for the settings.
Definition d868uv_codeplug.hh:427
Some internal used offsets within the element.
Definition d868uv_codeplug.hh:436
Some limits for the codeplug.
Definition d868uv_codeplug.hh:694
Some internal used offsets within the codeplug.
Definition d868uv_codeplug.hh:718
Some limits of the key element.
Definition d878uv_codeplug.hh:1749
static constexpr unsigned int keySize()
The maximum key length in bytes.
Definition d878uv_codeplug.hh:1753
static constexpr unsigned int maxIndex()
The maximum index.
Definition d878uv_codeplug.hh:1751
Some internal offsets.
Definition d878uv_codeplug.hh:1758
Some static limits for this element.
Definition d878uv_codeplug.hh:1412
static constexpr unsigned int fmFrequencies()
Maximum number of FM APRS frequencies.
Definition d878uv_codeplug.hh:1420
static constexpr unsigned int dmrSystems()
Maximum number of DMR APRS systems.
Definition d878uv_codeplug.hh:1418
static constexpr unsigned int callLength()
Maximum length of call signs.
Definition d878uv_codeplug.hh:1414
static constexpr unsigned int pathLength()
Maximum length of the repeater path string.
Definition d878uv_codeplug.hh:1416
Internal used offsets within the codeplug element.
Definition d878uv_codeplug.hh:1425
Some limits of the key element.
Definition d878uv_codeplug.hh:1814
static constexpr unsigned int keySize()
The maximum key length in bytes.
Definition d878uv_codeplug.hh:1818
static constexpr unsigned int maxIndex()
The maximum index.
Definition d878uv_codeplug.hh:1816
Some internal offsets.
Definition d878uv_codeplug.hh:1823
Some limits.
Definition d878uv_codeplug.hh:1505
static constexpr unsigned int length()
Maximum message length.
Definition d878uv_codeplug.hh:1506
Internal used offsets within the channel element.
Definition d878uv_codeplug.hh:231
Some internal used offsets.
Definition d878uv_codeplug.hh:299
Some limits for the settings.
Definition d878uv_codeplug.hh:1105
static constexpr unsigned int maxBluetoothPTTSleepDelay()
Maximum delay in minutes.
Definition d878uv_codeplug.hh:1106
Internal used offset within the element.
Definition d878uv_codeplug.hh:1112
Some limits for the element.
Definition d878uv_codeplug.hh:1175
static constexpr unsigned int nameLength()
Maximum name length.
Definition d878uv_codeplug.hh:1176
Some internal offsets within the element.
Definition d878uv_codeplug.hh:1181
Device specific key functions.
Definition d878uv_codeplug.hh:320
static uint8_t encode(AnytoneKeySettingsExtension::KeyFunction tone)
Encodes key function.
Definition d878uv_codeplug.cc:866
KeyFunctionCode
Device specific key functions.
Definition d878uv_codeplug.hh:329
static AnytoneKeySettingsExtension::KeyFunction decode(uint8_t code)
Decodes key function.
Definition d878uv_codeplug.cc:924
Some limits for the settings.
Definition d878uv_codeplug.hh:810
Some internal used offsets within the element.
Definition d878uv_codeplug.hh:817
Device specific time zones.
Definition d878uv_codeplug.hh:345
static QVector< QTimeZone > _timeZones
Vector of possible time-zones.
Definition d878uv_codeplug.hh:986
static uint8_t encode(const QTimeZone &zone)
Encodes time zone.
Definition d878uv_codeplug.cc:1004
static QTimeZone decode(uint8_t code)
Decodes time zone.
Definition d878uv_codeplug.cc:998
Some limits.
Definition d878uv_codeplug.hh:2022
static constexpr unsigned int analogAPRSRXEntries()
Maximum number of analog APRS RX entries.
Definition d878uv_codeplug.hh:2023
static constexpr unsigned int roamingChannels()
Maximum number of roaming channels.
Definition d878uv_codeplug.hh:2024
static constexpr unsigned int arc4Keys()
Maximum number of ARC4 keys.
Definition d878uv_codeplug.hh:2027
static constexpr unsigned int roamingZones()
Maximum number of roaming zones.
Definition d878uv_codeplug.hh:2025
static constexpr unsigned int aesKeys()
Maximum number of AES keys.
Definition d878uv_codeplug.hh:2026
Channel name and call-sign colors supported by the D878UV.
Definition d878uv_codeplug.hh:54
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition d878uv_codeplug.cc:36
CodedColor
Encoding of the supported colors.
Definition d878uv_codeplug.hh:63
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition d878uv_codeplug.cc:21
Internal offsets within the codeplug.
Definition d878uv_codeplug.hh:2032
Some limits.
Definition d878uv_codeplug.hh:1607
static constexpr unsigned int nameLength()
Maximum name length.
Definition d878uv_codeplug.hh:1608
Some internal offsets within the element.
Definition d878uv_codeplug.hh:1613
Some limits.
Definition d878uv_codeplug.hh:1683
static constexpr unsigned int nameLength()
Maximum name length.
Definition d878uv_codeplug.hh:1684
static constexpr unsigned int numMembers()
Maximum number of roaming channel in zone.
Definition d878uv_codeplug.hh:1685
Some internal offsets within the element.
Definition d878uv_codeplug.hh:1690
Text colors supported by the D878UV.
Definition d878uv_codeplug.hh:69
CodedColor
Encoding of the supported colors.
Definition d878uv_codeplug.hh:78
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition d878uv_codeplug.cc:55
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition d878uv_codeplug.cc:70
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:107
Encodes a selective call.
Definition signaling.hh:13