libdrmconf 0.13.3
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
10class Channel;
11class DMRContact;
12class Zone;
13class RXGroupList;
14class ScanList;
15class GPSSystem;
16class RoamingChannel;
17
18
46{
47 Q_OBJECT
48
49protected:
51 struct NameColor {
52 public:
54 static AnytoneDisplaySettingsExtension::Color decode(uint8_t code);
56 static uint8_t encode(AnytoneDisplaySettingsExtension::Color color);
57
58 protected:
60 typedef enum {
61 Orange=0, Red=1, Yellow=2, Green=3, Turquoise=4, Blue=5, White = 6
62 } CodedColor;
63 };
64
66 struct TextColor {
67 public:
69 static AnytoneDisplaySettingsExtension::Color decode(uint8_t code);
71 static uint8_t encode(AnytoneDisplaySettingsExtension::Color color);
72
73 protected:
75 typedef enum {
76 White=0, Black=1, Orange=2, Red=3, Yellow=4, Green=5, Turquoise=6, Blue=7
77 } CodedColor;
78 };
79
80public:
90 {
91 public:
93 enum class PTTId {
94 Off = 0,
95 Start = 1,
96 End = 2,
97 Both = 3
98 };
99
101 enum class APRSType {
102 Off = 0, FM = 1, DMR = 2
103 };
104
106 enum class APRSPTT {
107 Off = 0,
108 Start = 1,
109 End = 2
110 };
111
114 AES, ARC4
115 };
116
117 protected:
119 ChannelElement(uint8_t *ptr, unsigned size);
120
121 public:
123 explicit ChannelElement(uint8_t *ptr);
124
126 void clear() override;
127
129 virtual PTTId pttIDSetting() const;
131 virtual void setPTTIDSetting(PTTId ptt);
132
134 virtual bool roamingEnabled() const;
136 virtual void enableRoaming(bool enable);
137 // Moved
139 bool dataACK() const override;
141 void enableDataACK(bool enable) override;
143 virtual bool autoScan() const ;
145 virtual void enableAutoScan(bool enable);
146
148 APRSType txAPRSType() const;
150 void setTXAPRSType(APRSType aprsType);
151
160
162 unsigned digitalAPRSSystemIndex() const override;
164 void setDigitalAPRSSystemIndex(unsigned idx) override;
165
167 virtual int frequenyCorrection() const;
169 virtual void setFrequencyCorrection(int corr);
170
172 virtual unsigned int fmAPRSFrequencyIndex() const;
174 virtual void setFMAPRSFrequencyIndex(unsigned int idx);
175
177 virtual bool sendTalkerAlias() const;
179 virtual void enableSendTalkerAlias(bool enable);
180
184 virtual void setEncryptionType(AdvancedEncryptionType type);
185
187 virtual bool hasAESEncryptionKeyIndex() const;
190 virtual unsigned int aesEncryptionKeyIndex() const;
192 virtual void setAESEncryptionKeyIndex(unsigned int index);
194 virtual void clearAESEncryptionKeyIndex();
195
197 virtual bool hasARC4EncryptionKeyIndex() const;
200 virtual unsigned int arc4EncryptionKeyIndex() const;
202 virtual void setARC4EncryptionKeyIndex(unsigned int index);
204 virtual void clearARC4EncryptionKeyIndex();
205
207 DMREncryptionType dmrEncryptionType() const override;
209 void setDMREncryptionType(DMREncryptionType type) override;
211 bool hasDMREncryptionKeyIndex() const override;
213 unsigned dmrEncryptionKeyIndex() const override;
215 void setDMREncryptionKeyIndex(unsigned idx) override;
217 void clearDMREncryptionKeyIndex() override;
218
220 Channel *toChannelObj(Context &ctx) const override;
222 bool linkChannelObj(Channel *c, Context &ctx) const override;
224 bool fromChannelObj(const Channel *c, Context &ctx) override;
225
226 protected:
230 static constexpr unsigned int pttIDSetting() { return 0x0019; }
231 static constexpr unsigned int aesKeyIndex() { return 0x0022; }
232 static constexpr Bit roaming() { return {0x034, 2}; }
233 static constexpr Bit dataACK() { return {0x0034, 3}; }
234 static constexpr Bit autoScan() { return {0x0034, 4}; }
235 static constexpr unsigned int fmAPRSPTTSetting() { return 0x0036; }
236 static constexpr unsigned int dmrAPRSPTTSetting() { return 0x0037; }
237 static constexpr unsigned int dmrAPRSSystemIndex() { return 0x0038; }
238 static constexpr unsigned int frequenyCorrection() { return 0x0039; }
239 static constexpr unsigned int dmrEncryptionKey() { return 0x003a; }
240 static constexpr Bit muteFMAPRS() { return {0x003b, 3}; }
241 static constexpr Bit talkerAlias() { return {0x003b, 4}; }
242 static constexpr Bit advancedEncryptionType() { return {0x003b, 5}; }
243 static constexpr unsigned int fmAPRSFrequencyIndex() { return 0x003c; }
244 static constexpr unsigned int arc4KeyIndex() { return 0x003d; }
246 };
247 };
248
249
257 {
258 protected:
260 ChannelExtensionElement(uint8_t *ptr, size_t size);
261
262 public:
264 ChannelExtensionElement(uint8_t *ptr);
265
267 static constexpr unsigned int size() { return ChannelElement::size(); }
268
270 void clear();
271
273 virtual unsigned int bot5ToneIDIndex() const;
275 virtual void setBOT5ToneIDIndex(unsigned int idx);
276
278 virtual unsigned int eot5ToneIDIndex() const;
280 virtual void setEOT5ToneIDIndex(unsigned int idx);
281
283 virtual unsigned int txColorCode() const;
285 virtual void setTXColorCode(unsigned int cc);
286
288 virtual bool updateChannelObj(Channel *c, Context &ctx) const;
290 virtual bool linkChannelObj(Channel *c, Context &ctx) const;
292 virtual bool fromChannelObj(const Channel *c, Context &ctx);
293
294 protected:
296 struct Offset: public Element::Offset {
298 static constexpr unsigned int bot5ToneIDIndex() { return 0x0000; }
299 static constexpr unsigned int eot5ToneIDIndex() { return 0x0001; }
300 static constexpr unsigned int txColorCode() { return 0x0003; }
302 };
303 };
304
305
314 {
315 protected:
317 struct KeyFunction {
318 public:
323
324 protected:
326 typedef enum {
327 Off = 0x00, Voltage = 0x01, Power = 0x02, Repeater = 0x03, Reverse = 0x04,
328 Encryption = 0x05, Call = 0x06, VOX = 0x07, ToggleVFO = 0x08, SubPTT = 0x09,
329 Scan = 0x0a, WFM = 0x0b, Alarm = 0x0c, RecordSwitch = 0x0d, Record = 0x0e, SMS = 0x0f,
330 Dial = 0x10, Monitor = 0x12, ToggleMainChannel = 0x13, HotKey1 = 0x14,
331 HotKey2 = 0x15, HotKey3 = 0x16, HotKey4 = 0x17, HotKey5 = 0x18, HotKey6 = 0x19,
332 WorkAlone = 0x1a, SkipChannel = 0x1b, DMRMonitor = 0x1c, SubChannel = 0x1d,
333 PriorityZone = 0x1e, VFOScan = 0x1f, MICSoundQuality = 0x20, LastCallReply = 0x21,
334 ChannelType = 0x22, Roaming = 0x24, ChannelRanging = 0x25, MaxVolume = 0x26, Slot = 0x27,
335 APRSType = 0x28, Zone = 0x29, RoamingSet = 0x2a, APRSSet = 0x2b, Mute=0x2c,
336 CtcssDcsSet=0x2d, TBSTSend = 0x2e, Bluetooth = 0x2f, GPS = 0x30,
337 ChannelName = 0x31, CDTScan = 0x32, APRSSend = 0x33, APRSInfo = 0x34
339 };
340
342 struct TimeZone {
343 public:
345 static uint8_t encode(const QTimeZone& zone);
347 static QTimeZone decode(uint8_t code);
348
349 protected:
351 static QVector<QTimeZone> _timeZones;
352 };
353
354 protected:
367
370 DTMF_DUR_50ms = 0, DTMF_DUR_100ms = 1, DTMF_DUR_200ms = 2, DTMF_DUR_300ms = 3, DTMF_DUR_500ms = 4
371 };
372
374 enum class TBSTFrequency {
375 Hz1000 = 0, Hz1450 = 1, Hz1750 = 2, Hz2100 = 3
376 };
377
379 enum class STEFrequency {
380 Off = 0, Hz55_2 = 1, Hz259_2 = 2
381 };
382
384 enum class BackgroundImage {
385 Default=0, Custom1=1, Custom2=2
386 };
387
389 enum class BacklightDuration {
390 Infinite = 0, _5s = 1, _10s = 2, _15s = 3, _20s = 4, _25s = 5, _30s = 6, _1min=7, _2min=8,
391 _3min = 9, _4min = 10, _5min = 11, _15min = 12, _30min = 13, _45min = 14, _1h = 15
392 };
393
394 protected:
396 GeneralSettingsElement(uint8_t *ptr, unsigned size);
397
398 public:
400 GeneralSettingsElement(uint8_t *ptr);
401
403 static constexpr unsigned int size() { return 0x00f0; }
404
406 void clear() override;
407
409 virtual unsigned transmitTimeout() const;
411 virtual void setTransmitTimeout(unsigned tot);
412
414 virtual AnytoneDisplaySettingsExtension::Language language() const;
416 virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang);
417
418 QTimeZone gpsTimeZone() const override;
419 void setGPSTimeZone(const QTimeZone &zone) override;
420
422 virtual Frequency vfoFrequencyStep() const;
424 virtual void setVFOFrequencyStep(Frequency kHz);
425
446
453 virtual double steFrequency() const;
456 virtual void setSTEFrequency(double freq);
457
459 virtual Interval groupCallHangTime() const;
461 virtual void setGroupCallHangTime(Interval sec);
463 virtual Interval privateCallHangTime() const;
465 virtual void setPrivateCallHangTime(Interval sec);
466
468 virtual Interval preWaveDelay() const;
470 virtual void setPreWaveDelay(Interval ms);
472 virtual Interval wakeHeadPeriod() const;
474 virtual void setWakeHeadPeriod(Interval ms);
475
477 virtual unsigned wfmChannelIndex() const;
479 virtual void setWFMChannelIndex(unsigned idx);
481 virtual bool wfmVFOEnabled() const;
483 virtual void enableWFMVFO(bool enable);
484
485 Interval backlightDuration() const override;
486 void setBacklightDuration(Interval intv) override;
487
489 virtual unsigned dtmfToneDuration() const;
491 virtual void setDTMFToneDuration(unsigned ms);
492
494 virtual bool manDown() const;
496 virtual void enableManDown(bool enable);
497
499 virtual bool wfmMonitor() const;
501 virtual void enableWFMMonitor(bool enable);
502
504 virtual Frequency tbstFrequency() const;
506 virtual void setTBSTFrequency(Frequency freq);
507
509 virtual bool proMode() const;
511 virtual void enableProMode(bool enable);
512
514 virtual bool filterOwnID() const;
516 virtual void enableFilterOwnID(bool enable);
518 virtual bool remoteStunKill() const;
520 virtual void enableRemoteStunKill(bool enable);
522 virtual bool remoteMonitor() const;
524 virtual void enableRemoteMonitor(bool enable);
525
527 virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const;
529 virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match);
531 virtual bool monitorColorCodeMatch() const;
533 virtual void enableMonitorColorCodeMatch(bool enable);
535 virtual bool monitorIDMatch() const;
537 virtual void enableMonitorIDMatch(bool enable);
539 virtual bool monitorTimeSlotHold() const;
541 virtual void enableMonitorTimeSlotHold(bool enable);
542
544 virtual Interval manDownDelay() const;
546 virtual void setManDownDelay(Interval sec);
548 virtual unsigned fmCallHold() const;
550 virtual void setFMCallHold(unsigned sec);
551
553 virtual bool gpsMessageEnabled() const;
555 virtual void enableGPSMessage(bool enable);
556
558 virtual bool maintainCallChannel() const;
560 virtual void enableMaintainCallChannel(bool enable);
561
563 virtual unsigned priorityZoneAIndex() const;
565 virtual void setPriorityZoneAIndex(unsigned idx);
567 virtual unsigned priorityZoneBIndex() const;
569 virtual void setPriorityZoneBIndex(unsigned idx);
570
572 virtual bool bluetooth() const;
574 virtual void enableBluetooth(bool enable);
575
577 virtual bool btAndInternalMic() const;
579 virtual void enableBTAndInternalMic(bool enable);
580
582 virtual bool btAndInternalSpeaker() const;
584 virtual void enableBTAndInternalSpeaker(bool enable);
585
587 virtual bool pluginRecTone() const;
589 virtual void enablePluginRecTone(bool enable);
590
592 virtual Interval gpsUpdatePeriod() const override;
594 virtual void setGPSUpdatePeriod(Interval sec) override;
595
597 virtual unsigned int btMicGain() const;
599 virtual void setBTMicGain(unsigned int gain);
601 virtual unsigned int btSpeakerGain() const;
603 virtual void setBTSpeakerGain(unsigned int gain);
604
606 virtual bool displayChannelNumber() const;
608 virtual void enableDisplayChannelNumber(bool enable);
609
610 bool showCurrentContact() const override;
611 void enableShowCurrentContact(bool enable) override;
612
614 virtual Interval autoRoamPeriod() const;
616 virtual void setAutoRoamPeriod(Interval min);
617
618 bool keyToneLevelAdjustable() const override;
619 unsigned keyToneLevel() const override;
620 void setKeyToneLevel(unsigned level) override;
621 void setKeyToneLevelAdjustable() override;
622
623 AnytoneDisplaySettingsExtension::Color callDisplayColor() const override;
624 void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color) override;
625
626 bool gpsUnitsImperial() const override;
627 void enableGPSUnitsImperial(bool enable) override;
628
629 bool knobLock() const override;
630 void enableKnobLock(bool enable) override;
631 bool keypadLock() const override;
632 void enableKeypadLock(bool enable) override;
633 bool sidekeysLock() const override;
634 void enableSidekeysLock(bool enable) override;
635 bool keyLockForced() const override;
636 void enableKeyLockForced(bool enable) override;
637
639 virtual Interval autoRoamDelay() const;
641 virtual void setAutoRoamDelay(Interval sec);
642
644 virtual AnytoneDisplaySettingsExtension::Color standbyTextColor() const;
646 virtual void setStandbyTextColor(AnytoneDisplaySettingsExtension::Color color);
651
652 bool showLastHeard() const override;
653 void enableShowLastHeard(bool enable) override;
654
656 virtual AnytoneDMRSettingsExtension::SMSFormat smsFormat() const;
658 virtual void setSMSFormat(AnytoneDMRSettingsExtension::SMSFormat fmt);
659
661 virtual Frequency autoRepeaterMinFrequencyVHF() const override;
663 virtual void setAutoRepeaterMinFrequencyVHF(Frequency Hz) override;
665 virtual Frequency autoRepeaterMaxFrequencyVHF() const override;
667 virtual void setAutoRepeaterMaxFrequencyVHF(Frequency Hz) override;
668
670 virtual Frequency autoRepeaterMinFrequencyUHF() const override;
672 virtual void setAutoRepeaterMinFrequencyUHF(Frequency Hz) override;
674 virtual Frequency autoRepeaterMaxFrequencyUHF() const override;
676 virtual void setAutoRepeaterMaxFrequencyUHF(Frequency Hz) override;
677
682
684 virtual bool fmSendIDAndContact() const;
686 virtual void enableFMSendIDAndContact(bool enable);
687
688 bool defaultChannel() const override;
689 void enableDefaultChannel(bool enable) override;
690 unsigned defaultZoneIndexA() const override;
691 void setDefaultZoneIndexA(unsigned idx) override;
692 unsigned defaultZoneIndexB() const override;
693 void setDefaultZoneIndexB(unsigned idx) override;
694 bool defaultChannelAIsVFO() const override;
695 unsigned defaultChannelAIndex() const override;
696 void setDefaultChannelAIndex(unsigned idx) override;
697 void setDefaultChannelAToVFO() override;
698 bool defaultChannelBIsVFO() const override;
699 unsigned defaultChannelBIndex() const override;
700 void setDefaultChannelBIndex(unsigned idx) override;
701 void setDefaultChannelBToVFO() override;
702
704 virtual unsigned defaultRoamingZoneIndex() const;
706 virtual void setDefaultRoamingZoneIndex(unsigned idx);
707
709 virtual bool repeaterRangeCheck() const;
711 virtual void enableRepeaterRangeCheck(bool enable);
713 virtual Interval repeaterRangeCheckInterval() const;
715 virtual void setRepeaterRangeCheckInterval(Interval sec);
717 virtual unsigned repeaterRangeCheckCount() const;
719 virtual void setRepeaterRangeCheckCount(unsigned n);
720
725
727 virtual Interval txBacklightDuration() const;
729 virtual void setTXBacklightDuration(Interval sec);
730
732 virtual bool separateDisplay() const;
734 virtual void enableSeparateDisplay(bool enable);
735
736 bool keepLastCaller() const override;
737 void enableKeepLastCaller(bool enable) override;
738
740 virtual AnytoneDisplaySettingsExtension::Color channelNameColor() const;
742 virtual void setChannelNameColor(AnytoneDisplaySettingsExtension::Color color);
743
745 virtual bool repeaterCheckNotification() const;
747 virtual void enableRepeaterCheckNotification(bool enable);
748
753
755 virtual bool roaming() const;
757 virtual void enableRoaming(bool enable);
758
760 virtual Interval muteDelay() const;
762 virtual void setMuteDelay(Interval min);
763
765 virtual unsigned repeaterCheckNumNotifications() const;
767 virtual void setRepeaterCheckNumNotifications(unsigned num);
768
770 virtual bool bootGPSCheck() const;
772 virtual void enableBootGPSCheck(bool enable);
774 virtual bool bootReset() const;
776 virtual void enableBootReset(bool enable);
777
779 virtual bool btHoldTimeEnabled() const;
781 virtual bool btHoldTimeInfinite() const;
783 virtual Interval btHoldTime() const;
785 virtual void setBTHoldTime(Interval interval);
787 virtual void setBTHoldTimeInfinite();
789 virtual void disableBTHoldTime();
790
792 virtual Interval btRXDelay() const;
794 virtual void setBTRXDelay(Interval delay);
795
796 bool fromConfig(const Flags &flags, Context &ctx) override;
797 bool updateConfig(Context &ctx) override;
798 bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err) override;
799
800 protected:
804 static constexpr unsigned int transmitTimeout() { return 0x0004; }
805 static constexpr unsigned int language() { return 0x0005; }
806 static constexpr unsigned int vfoFrequencyStep() { return 0x0008; }
807 static constexpr unsigned int steType() { return 0x0017; }
808 static constexpr unsigned int steFrequency() { return 0x0018; }
809 static constexpr unsigned int groupCallHangTime() { return 0x0019; }
810 static constexpr unsigned int privateCallHangTime() { return 0x001a; }
811 static constexpr unsigned int preWaveDelay() { return 0x001b; }
812 static constexpr unsigned int wakeHeadPeriod() { return 0x001c; }
813 static constexpr unsigned int wfmChannelIndex() { return 0x001d; }
814 static constexpr unsigned int wfmVFOEnabled() { return 0x001e; }
815 static constexpr unsigned int dtmfToneDuration() { return 0x0023; }
816 static constexpr unsigned int manDown() { return 0x0024; }
817 static constexpr unsigned int wfmMonitor() { return 0x002b; }
818 static constexpr unsigned int tbstFrequency() { return 0x002e; }
819 static constexpr unsigned int proMode() { return 0x0034; }
820 static constexpr unsigned int filterOwnID() { return 0x0038; }
821 static constexpr unsigned int remoteStunKill() { return 0x003c; }
822 static constexpr unsigned int remoteMonitor() { return 0x003e; }
823 static constexpr unsigned int monSlotMatch() { return 0x0049; }
824 static constexpr unsigned int monColorCodeMatch() { return 0x004a; }
825 static constexpr unsigned int monIDMatch() { return 0x004b; }
826 static constexpr unsigned int monTimeSlotHold() { return 0x004c; }
827 static constexpr unsigned int manDownDelay() { return 0x004f; }
828 static constexpr unsigned int fmCallHold() { return 0x0050; }
829 static constexpr unsigned int enableGPSMessage() { return 0x0053; }
830 static constexpr unsigned int maintainCallChannel() { return 0x006e; }
831 static constexpr unsigned int priorityZoneA() { return 0x006f; }
832 static constexpr unsigned int priorityZoneB() { return 0x0070; }
833 static constexpr unsigned int bluetooth() { return 0x00b1; }
834 static constexpr unsigned int btAndInternalMic() { return 0x00b2; }
835 static constexpr unsigned int btAndInternalSpeaker(){ return 0x00b3; }
836 static constexpr unsigned int pluginRecTone() { return 0x00b4; }
837 static constexpr unsigned int gpsRangingInterval() { return 0x00b5; }
838 static constexpr unsigned int btMicGain() { return 0x00b6; }
839 static constexpr unsigned int btSpeakerGain() { return 0x00b7; }
840 static constexpr unsigned int showChannelNumber() { return 0x00b8; }
841 static constexpr unsigned int showCurrentContact() { return 0x00b9; }
842 static constexpr unsigned int autoRoamPeriod() { return 0x00ba; }
843 static constexpr unsigned int keyToneLevel() { return 0x00bb; }
844 static constexpr unsigned int callColor() { return 0x00bc; }
845 static constexpr unsigned int gpsUnits() { return 0x00bd; }
846 static constexpr unsigned int knobLock() { return 0x00be; }
847 static constexpr unsigned int keypadLock() { return 0x00be; }
848 static constexpr unsigned int sideKeyLock() { return 0x00be; }
849 static constexpr unsigned int forceKeyLock() { return 0x00be; }
850 static constexpr unsigned int autoRoamDelay() { return 0x00bf; }
851 static constexpr unsigned int standbyTextColor() { return 0x00c0; }
852 static constexpr unsigned int standbyBackground() { return 0x00c1; }
853 static constexpr unsigned int showLastHeard() { return 0x00c2; }
854 static constexpr unsigned int smsFormat() { return 0x00c3; }
855 static constexpr unsigned int autoRepMinVHF() { return 0x00c4; }
856 static constexpr unsigned int autoRepMaxVHF() { return 0x00c8; }
857 static constexpr unsigned int autoRepMinUHF() { return 0x00cc; }
858 static constexpr unsigned int autoRepMaxUHF() { return 0x00d0; }
859 static constexpr unsigned int autoRepeaterDirB() { return 0x00d4; }
860 static constexpr unsigned int fmSendIDAndContact() { return 0x00d5; }
861 static constexpr unsigned int defaultChannels() { return 0x00d7; }
862 static constexpr unsigned int defaultZoneA() { return 0x00d8; }
863 static constexpr unsigned int defaultZoneB() { return 0x00d9; }
864 static constexpr unsigned int defaultChannelA() { return 0x00da; }
865 static constexpr unsigned int defaultChannelB() { return 0x00db; }
866 static constexpr unsigned int defaultRoamingZone() { return 0x00dc; }
867 static constexpr unsigned int repRangeCheck() { return 0x00dd; }
868 static constexpr unsigned int rangeCheckInterval() { return 0x00de; }
869 static constexpr unsigned int rangeCheckCount() { return 0x00df; }
870 static constexpr unsigned int roamStartCondition() { return 0x00e0; }
871 static constexpr unsigned int txBacklightDuration() { return 0x00e1; }
872 static constexpr unsigned int displaySeparator() { return 0x00e2; }
873 static constexpr unsigned int keepLastCaller() { return 0x00e3; }
874 static constexpr unsigned int channelNameColor() { return 0x00e4; }
875 static constexpr unsigned int repCheckNotify() { return 0x00e5; }
876 static constexpr unsigned int rxBacklightDuration() { return 0x00e6; }
877 static constexpr unsigned int roaming() { return 0x00e7; }
878 static constexpr unsigned int muteDelay() { return 0x00e9; }
879 static constexpr unsigned int repCheckNumNotify() { return 0x00ea; }
880 static constexpr unsigned int bootGPSCheck() { return 0x00eb; }
881 static constexpr unsigned int bootReset() { return 0x00ec; }
882 static constexpr unsigned int btHoldTime() { return 0x00ed; }
883 static constexpr unsigned int btRXDelay() { return 0x00ee; }
885 };
886 };
887
893 {
894 protected:
896 ExtendedSettingsElement(uint8_t *ptr, unsigned size);
897
898 public:
900 explicit ExtendedSettingsElement(uint8_t *ptr);
901
903 static constexpr unsigned int size() { return 0x00000200; }
904
906 void clear();
907
909 virtual bool sendTalkerAlias() const;
911 virtual void enableSendTalkerAlias(bool enable);
912
914 virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const;
916 virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode);
917
919 virtual AnytoneDMRSettingsExtension::TalkerAliasEncoding talkerAliasEncoding() const;
921 virtual void setTalkerAliasEncoding(AnytoneDMRSettingsExtension::TalkerAliasEncoding encoding);
922
924 virtual bool bluetoothPTTLatch() const;
926 virtual void enableBluetoothPTTLatch(bool enable);
927
929 virtual bool infiniteBluetoothPTTSleepDelay() const;
931 virtual Interval bluetoothPTTSleepDelay() const;
933 virtual void setBluetoothPTTSleepDelay(Interval delay);
936
938 virtual bool hasAutoRepeaterUHF2OffsetIndex() const;
940 virtual unsigned autoRepeaterUHF2OffsetIndex() const;
942 virtual void setAutoRepeaterUHF2OffsetIndex(unsigned idx);
945
947 virtual bool hasAutoRepeaterVHF2OffsetIndex() const;
949 virtual unsigned autoRepeaterVHF2OffsetIndex() const;
951 virtual void setAutoRepeaterVHF2OffsetIndex(unsigned idx);
954
971
976
978 virtual Interval steDuration() const;
980 virtual void setSTEDuration(Interval dur);
981
983 virtual bool infiniteManDialGroupCallHangTime() const;
985 virtual Interval manDialGroupCallHangTime() const;
986 /** Sets the manual dial group call hang time. */
987 virtual void setManDialGroupCallHangTime(Interval dur);
990
992 virtual bool infiniteManDialPrivateCallHangTime() const;
994 virtual Interval manDialPrivateCallHangTime() const;
996 virtual void setManDialPrivateCallHangTime(Interval dur);
999
1000 AnytoneDisplaySettingsExtension::Color channelBNameColor() const;
1001 void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color);
1002
1004 virtual AnytoneDMRSettingsExtension::EncryptionType encryption() const;
1006 virtual void setEncryption(AnytoneDMRSettingsExtension::EncryptionType mode);
1007
1009 virtual bool totNotification() const;
1011 virtual void enableTOTNotification(bool enable);
1012
1014 virtual bool atpc() const;
1016 virtual void enableATPC(bool enable);
1017
1018 AnytoneDisplaySettingsExtension::Color zoneANameColor() const;
1019 void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color);
1020 AnytoneDisplaySettingsExtension::Color zoneBNameColor() const;
1021 void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color);
1022
1024 virtual bool resetAutoShutdownOnCall() const;
1026 virtual void enableResetAutoShutdownOnCall(bool enable);
1027
1029 virtual bool showColorCode() const;
1031 virtual void enableShowColorCode(bool enable);
1033 virtual bool showTimeSlot() const;
1035 virtual void enableShowTimeSlot(bool enable);
1037 virtual bool showChannelType() const;
1039 virtual void enableShowChannelType(bool enable);
1040
1042 virtual bool fmIdleTone() const;
1044 virtual void enableFMIdleTone(bool enable);
1045
1047 virtual AnytoneDisplaySettingsExtension::DateFormat dateFormat() const;
1049 virtual void setDateFormat(AnytoneDisplaySettingsExtension::DateFormat format);
1050
1052 virtual unsigned int fmMicGain() const;
1054 virtual void setFMMicGain(unsigned int gain);
1055
1057 virtual bool gpsRoaming() const;
1059 virtual void enableGPSRoaming(bool enable);
1060
1062 virtual void callEndToneMelody(Melody &melody) const;
1064 virtual void setCallEndToneMelody(const Melody &melody);
1066 virtual void allCallToneMelody(Melody &melody) const;
1068 virtual void setAllCallToneMelody(const Melody &melody);
1069
1071 virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1073 virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1075 virtual bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1076
1077 public:
1079 struct Limit {
1080 static constexpr unsigned int maxBluetoothPTTSleepDelay() { return 4; }
1081 };
1082
1083 protected:
1087 static constexpr unsigned int sendTalkerAlias() { return 0x0000; }
1088 static constexpr unsigned int talkerAliasDisplay() { return 0x001e; }
1089 static constexpr unsigned int talkerAliasEncoding() { return 0x001f; }
1090 static constexpr unsigned int btPTTLatch() { return 0x0020; }
1091 static constexpr unsigned int autoRepeaterUHF2OffsetIndex() { return 0x0022; }
1092 static constexpr unsigned int autoRepeaterVHF2OffsetIndex() { return 0x0023; }
1093 static constexpr unsigned int autoRepeaterVHF2MinFrequency() { return 0x0024; }
1094 static constexpr unsigned int autoRepeaterVHF2MaxFrequency() { return 0x0028; }
1095 static constexpr unsigned int autoRepeaterUHF2MinFrequency() { return 0x002c; }
1096 static constexpr unsigned int autoRepeaterUHF2MaxFrequency() { return 0x0030; }
1097 static constexpr unsigned int btPTTSleepDelay() { return 0x0034; }
1098 static constexpr unsigned int gpsMode() { return 0x0035; }
1099 static constexpr unsigned int steDuration() { return 0x0036; }
1100 static constexpr unsigned int manGrpCallHangTime() { return 0x0037; }
1101 static constexpr unsigned int manPrivCallHangTime() { return 0x0038; }
1102 static constexpr unsigned int channelBNameColor() { return 0x0039; }
1103 static constexpr unsigned int encryptionType() { return 0x003a; }
1104 static constexpr unsigned int totNotification() { return 0x003b; }
1105 static constexpr unsigned int atpc() { return 0x003c; }
1106 static constexpr unsigned int zoneANameColor() { return 0x003d; }
1107 static constexpr unsigned int zoneBNameColor() { return 0x003e; }
1108 static constexpr unsigned int autoShutdownMode() { return 0x003f; }
1109 static constexpr Bit displayColorCode() { return {0x0040, 2}; }
1110 static constexpr Bit displayTimeSlot() { return {0x0040, 1}; }
1111 static constexpr Bit displayChannelType() { return {0x0040, 0}; }
1112 static constexpr unsigned int fmIdleTone() { return 0x0041; }
1113 static constexpr unsigned int dateFormat() { return 0x0042; }
1114 static constexpr unsigned int analogMicGain() { return 0x0043; }
1115 static constexpr unsigned int gpsRoaming() { return 0x0044; }
1116 static constexpr unsigned int callEndTones() { return 0x0046; }
1117 static constexpr unsigned int callEndDurations() { return 0x0050; }
1118 static constexpr unsigned int allCallTones() { return 0x005a; }
1119 static constexpr unsigned int allCallDurations() { return 0x0064; }
1121 };
1122 };
1123
1124
1127 {
1128 protected:
1130 FMAPRSFrequencyNamesElement(uint8_t *ptr, size_t size);
1131
1132 public:
1134 explicit FMAPRSFrequencyNamesElement(uint8_t *ptr);
1135
1137 static constexpr unsigned int size() { return 0x0080; }
1138
1139 void clear();
1140
1142 virtual QString name(unsigned int n) const;
1144 virtual void setName(unsigned int n, const QString &name);
1145
1146 public:
1148 struct Limit {
1149 static constexpr unsigned int nameLength() { return 16; }
1150 };
1151
1152 protected:
1154 struct Offset {
1156 static constexpr unsigned int betweenNames() { return 0x0010; }
1158 };
1159 };
1160
1161
1168 {
1169 protected:
1171 APRSSettingsElement(uint8_t *ptr, unsigned size);
1172
1174 enum class SignalingType {
1175 Off=0, CTCSS=1, DCS=2
1176 };
1177
1178 public:
1180 explicit APRSSettingsElement(uint8_t *ptr);
1181
1183 static constexpr unsigned int size() { return 0x0100; }
1184
1186 void clear();
1187 bool isValid() const;
1188
1190 virtual Interval fmTXDelay() const;
1192 virtual void setFMTXDelay(Interval ms);
1193
1195 virtual SelectiveCall txTone() const;
1197 virtual void setTXTone(const SelectiveCall &code);
1198
1200 virtual Interval manualTXInterval() const;
1202 virtual void setManualTXInterval(Interval sec);
1203
1205 virtual bool autoTX() const;
1207 virtual Interval autoTXInterval() const;
1209 virtual void setAutoTXInterval(Interval sec);
1211 virtual void disableAutoTX();
1212
1214 virtual bool fixedLocationEnabled() const;
1216 virtual QGeoCoordinate fixedLocation() const;
1218 virtual void setFixedLocation(QGeoCoordinate &loc);
1220 virtual void disableFixedLocation();
1221
1223 virtual QString destination() const;
1225 virtual unsigned destinationSSID() const;
1227 virtual void setDestination(const QString &call, unsigned ssid);
1229 virtual QString source() const;
1231 virtual unsigned sourceSSID() const;
1233 virtual void setSource(const QString &call, unsigned ssid);
1234
1236 virtual QString path() const;
1238 virtual void setPath(const QString &path);
1239
1241 virtual APRSSystem::Icon icon() const;
1243 virtual void setIcon(APRSSystem::Icon icon);
1244
1246 virtual Channel::Power power() const;
1248 virtual void setPower(Channel::Power power);
1249
1251 virtual Interval fmPreWaveDelay() const;
1253 virtual void setFMPreWaveDelay(Interval ms);
1254
1256 virtual bool dmrChannelIsSelected(unsigned n) const;
1258 virtual unsigned dmrChannelIndex(unsigned n) const;
1260 virtual void setDMRChannelIndex(unsigned n, unsigned idx);
1262 virtual void setDMRChannelSelected(unsigned n);
1263
1265 virtual unsigned dmrDestination(unsigned n) const;
1267 virtual void setDMRDestination(unsigned n, unsigned idx);
1268
1270 virtual DMRContact::Type dmrCallType(unsigned n) const;
1272 virtual void setDMRCallType(unsigned n, DMRContact::Type type);
1273
1275 virtual bool dmrTimeSlotOverride(unsigned n);
1277 virtual DMRChannel::TimeSlot dmrTimeSlot(unsigned n) const;
1279 virtual void setDMRTimeSlot(unsigned n, DMRChannel::TimeSlot ts);
1281 virtual void clearDMRTimeSlotOverride(unsigned n);
1282
1284 virtual bool dmrRoaming() const;
1286 virtual void enableDMRRoaming(bool enable);
1287
1289 virtual Interval dmrPreWaveDelay() const;
1291 virtual void setDMRPreWaveDelay(Interval ms);
1292
1294 virtual bool infiniteDisplayTime() const;
1296 virtual Interval displayTime() const;
1298 virtual void setDisplayTime(Interval dur);
1300 virtual void setDisplayTimeInifinite();
1301
1306
1308 virtual bool fmPassAll() const;
1310 virtual void enableFMPassAll(bool enable);
1311
1313 virtual bool fmFrequencySet(unsigned int n) const;
1315 virtual Frequency fmFrequency(unsigned int n) const;
1317 virtual void setFMFrequency(unsigned int n, Frequency f);
1319 virtual void clearFMFrequency(unsigned int n);
1320
1322 virtual bool reportPosition() const;
1324 virtual void enableReportPosition(bool enable);
1326 virtual bool reportMicE() const;
1328 virtual void enableReportMicE(bool enable);
1330 virtual bool reportObject() const;
1332 virtual void enableReportObject(bool enable);
1334 virtual bool reportItem() const;
1336 virtual void enableReportItem(bool enable);
1338 virtual bool reportMessage() const;
1340 virtual void enableReportMessage(bool enable);
1342 virtual bool reportWeather() const;
1344 virtual void enableReportWeather(bool enable);
1346 virtual bool reportNMEA() const;
1348 virtual void enableReportNMEA(bool enable);
1350 virtual bool reportStatus() const;
1352 virtual void enableReportStatus(bool enable);
1354 virtual bool reportOther() const;
1356 virtual void enableReportOther(bool enable);
1357
1359 virtual bool fromFMAPRSSystem(const APRSSystem *sys, Context &ctx,
1361 const ErrorStack &err=ErrorStack());
1363 virtual APRSSystem *toFMAPRSSystem(
1364 Context &ctx, const FMAPRSFrequencyNamesElement &names, const ErrorStack &err=ErrorStack());
1367 virtual bool linkFMAPRSSystem(APRSSystem *sys, Context &ctx);
1368
1370 virtual bool fromDMRAPRSSystems(Context &ctx);
1372 virtual bool fromDMRAPRSSystemObj(unsigned int idx, GPSSystem *sys, Context &ctx);
1374 virtual GPSSystem *toDMRAPRSSystemObj(int idx) const;
1376 virtual bool linkDMRAPRSSystem(int idx, GPSSystem *sys, Context &ctx) const;
1377
1378 public:
1380 struct Limit {
1382 static constexpr unsigned int callLength() { return 0x0006; }
1384 static constexpr unsigned int pathLength() { return 0x0020; }
1386 static constexpr unsigned int dmrSystems() { return 0x0008; }
1388 static constexpr unsigned int fmFrequencies() { return 0x0008; }
1389 };
1390
1391 protected:
1393 struct Offset {
1395 static constexpr unsigned int fmTXDelay() { return 0x0005; }
1396 static constexpr unsigned int fmSigType() { return 0x0006; }
1397 static constexpr unsigned int fmCTCSS() { return 0x0007; }
1398 static constexpr unsigned int fmDCS() { return 0x0008; }
1399 static constexpr unsigned int manualTXInterval() { return 0x000a; }
1400 static constexpr unsigned int autoTXInterval() { return 0x000b; }
1401 static constexpr unsigned int fmTXMonitor() { return 0x000c; }
1402 static constexpr unsigned int fixedLocation() { return 0x000d; }
1403 static constexpr unsigned int fixedLatDeg() { return 0x000e; }
1404 static constexpr unsigned int fixedLatMin() { return 0x000f; }
1405 static constexpr unsigned int fixedLatSec() { return 0x0010; }
1406 static constexpr unsigned int fixedLatSouth() { return 0x0011; }
1407 static constexpr unsigned int fixedLonDeg() { return 0x0012; }
1408 static constexpr unsigned int fixedLonMin() { return 0x0013; }
1409 static constexpr unsigned int fixedLonSec() { return 0x0014; }
1410 static constexpr unsigned int fixedLonWest() { return 0x0015; }
1411 static constexpr unsigned int destinationCall() { return 0x0016; }
1412 static constexpr unsigned int destinationSSID() { return 0x001c; }
1413 static constexpr unsigned int sourceCall() { return 0x001d; }
1414 static constexpr unsigned int sourceSSID() { return 0x0023; }
1415 static constexpr unsigned int path() { return 0x0024; }
1416 static constexpr unsigned int symbolTable() { return 0x0039; }
1417 static constexpr unsigned int symbol() { return 0x003a; }
1418 static constexpr unsigned int fmPower() { return 0x003b; }
1419 static constexpr unsigned int fmPrewaveDelay() { return 0x003c; }
1420 static constexpr unsigned int dmrChannelIndices() { return 0x0040; }
1421 static constexpr unsigned int betweenDMRChannelIndices() { return 0x0002; }
1422 static constexpr unsigned int dmrDestinations() { return 0x0050; }
1423 static constexpr unsigned int betweenDMRDestinations() { return 0x0004; }
1424 static constexpr unsigned int dmrCallTypes() { return 0x0070; }
1425 static constexpr unsigned int betweenDMRCallTypes() { return 0x0001; }
1426 static constexpr unsigned int roamingSupport() { return 0x0078; }
1427 static constexpr unsigned int dmrTimeSlots() { return 0x0079; }
1428 static constexpr unsigned int betweenDMRTimeSlots() { return 0x0001; }
1429 static constexpr unsigned int dmrPrewaveDelay() { return 0x0081; }
1430 static constexpr unsigned int displayInterval() { return 0x0082; }
1431 static constexpr unsigned int fixedHeight() { return 0x00a6; }
1432 static constexpr unsigned int reportPosition() { return 0x00a8; }
1433 static constexpr unsigned int reportMicE() { return 0x00a8; }
1434 static constexpr unsigned int reportObject() { return 0x00a8; }
1435 static constexpr unsigned int reportItem() { return 0x00a8; }
1436 static constexpr unsigned int reportMessage() { return 0x00a8; }
1437 static constexpr unsigned int reportWeather() { return 0x00a8; }
1438 static constexpr unsigned int reportNMEA() { return 0x00a8; }
1439 static constexpr unsigned int reportStatus() { return 0x00a8; }
1440 static constexpr unsigned int reportOther() { return 0x00a9; }
1441 static constexpr unsigned int fmWidth() { return 0x00aa; }
1442 static constexpr unsigned int passAll() { return 0x00ab; }
1443 static constexpr unsigned int fmFrequencies() { return 0x00ac; }
1444 static constexpr unsigned int betweenFMFrequencies() { return 0x0004; }
1445
1447 };
1448 };
1449
1452 {
1453 protected:
1455 AnalogAPRSMessageElement(uint8_t *ptr, size_t size);
1456
1457 public:
1459 AnalogAPRSMessageElement(uint8_t *ptr);
1460
1462 static constexpr unsigned int size() { return 0x0040; }
1463
1464 void clear();
1465
1467 virtual QString message() const;
1469 virtual void setMessage(const QString &msg);
1470
1471 public:
1473 struct Limit {
1474 static constexpr unsigned int length() { return 60; }
1475 };
1476 };
1477
1483 {
1484 protected:
1486 AnalogAPRSRXEntryElement(uint8_t *ptr, unsigned size);
1487
1488 public:
1490 AnalogAPRSRXEntryElement(uint8_t *ptr);
1491
1493 static constexpr unsigned int size() { return 0x0008; }
1494
1496 void clear();
1498 bool isValid() const;
1499
1501 virtual QString call() const;
1503 virtual unsigned ssid() const;
1505 virtual void setCall(const QString &call, unsigned ssid);
1506 };
1507
1513 {
1514 protected:
1516 RoamingChannelElement(uint8_t *ptr, unsigned size);
1517
1518 protected:
1521 Disabled = 16
1522 };
1523
1526 TS1 = 0,
1527 TS2 = 1
1528 };
1529
1530 public:
1532 RoamingChannelElement(uint8_t *ptr);
1533
1535 static constexpr unsigned int size() { return 0x0020; }
1536
1538 void clear();
1539
1541 virtual unsigned rxFrequency() const;
1543 virtual void setRXFrequency(unsigned hz);
1545 virtual unsigned txFrequency() const;
1547 virtual void setTXFrequency(unsigned hz);
1548
1550 virtual bool hasColorCode() const;
1552 virtual unsigned colorCode() const;
1554 virtual void setColorCode(unsigned cc);
1556 virtual void disableColorCode();
1557
1559 virtual DMRChannel::TimeSlot timeSlot() const;
1561 virtual void setTimeSlot(DMRChannel::TimeSlot ts);
1562
1564 virtual QString name() const;
1566 virtual void setName(const QString &name);
1567
1569 virtual bool fromChannel(const RoamingChannel *ch);
1571 virtual RoamingChannel *toChannel(Context &ctx);
1572
1573 public:
1575 struct Limit {
1576 static constexpr unsigned int nameLength() { return 16; }
1577 };
1578
1579 protected:
1581 struct Offset {
1583 static constexpr unsigned int rxFrequency() { return 0x0000; }
1584 static constexpr unsigned int txFrequency() { return 0x0004; }
1585 static constexpr unsigned int colorCode() { return 0x0008; }
1586 static constexpr unsigned int timeSlot() { return 0x0009; }
1587 static constexpr unsigned int name() { return 0x000a; }
1589 };
1590 };
1591
1592
1595 {
1596 protected:
1598 RoamingChannelBitmapElement(uint8_t *ptr, size_t size);
1599
1600 public:
1602 RoamingChannelBitmapElement(uint8_t *ptr);
1603
1605 static constexpr unsigned int size() { return 0x0020; }
1606 };
1607
1613 {
1614 protected:
1616 RoamingZoneElement(uint8_t *ptr, unsigned size);
1617
1618 public:
1620 RoamingZoneElement(uint8_t *ptr);
1621
1623 static constexpr unsigned int size() { return 0x0080; }
1624
1626 void clear();
1627
1629 virtual bool hasMember(unsigned n) const;
1631 virtual unsigned member(unsigned n) const;
1633 virtual void setMember(unsigned n, unsigned idx);
1635 virtual void clearMember(unsigned n);
1636
1638 virtual QString name() const;
1640 virtual void setName(const QString &name);
1641
1643 virtual bool fromRoamingZone(RoamingZone *zone, Context& ctx, const ErrorStack &err=ErrorStack());
1645 virtual RoamingZone *toRoamingZone(Context& ctx, const ErrorStack &err=ErrorStack()) const;
1647 virtual bool linkRoamingZone(RoamingZone *zone, Context& ctx, const ErrorStack& err=ErrorStack());
1648
1649 public:
1651 struct Limit {
1652 static constexpr unsigned int nameLength() { return 16; }
1653 static constexpr unsigned int numMembers() { return 64; }
1654 };
1655
1656 protected:
1658 struct Offset {
1660 static constexpr unsigned int members() { return 0x0000; }
1661 static constexpr unsigned int betweenMembers() { return 0x0001; }
1662 static constexpr unsigned int name() { return 0x0040; }
1664 };
1665 };
1666
1669 {
1670 protected:
1672 RoamingZoneBitmapElement(uint8_t *ptr, size_t size);
1673
1674 public:
1676 RoamingZoneBitmapElement(uint8_t *ptr);
1677
1679 static constexpr unsigned int size() { return 0x0010; }
1680 };
1681
1682
1687 {
1688 protected:
1690 AESEncryptionKeyElement(uint8_t *ptr, unsigned size);
1691
1692 public:
1694 AESEncryptionKeyElement(uint8_t *ptr);
1695
1697 static constexpr unsigned int size() { return 0x0040; }
1698
1700 void clear();
1701
1703 bool isValid() const;
1704
1706 virtual unsigned index() const;
1708 virtual void setIndex(unsigned idx);
1709
1711 virtual QByteArray key() const;
1713 virtual void setKey(const QByteArray &key);
1714
1715 public:
1717 struct Limit: public Element::Limit {
1719 static constexpr unsigned int maxIndex() { return 254; }
1721 static constexpr unsigned int keySize() { return 32; }
1722 };
1723
1724 protected:
1726 struct Offset: public Element::Offset {
1728 static constexpr unsigned int index() { return 0x0000; }
1729 static constexpr unsigned int key() { return 0x0001; }
1730 static constexpr unsigned int size() { return 0x0022; }
1732 };
1733 };
1734
1737 {
1738 protected:
1740 AESEncryptionKeyBitmapElement(uint8_t *ptr, size_t size);
1741
1742 public:
1744 AESEncryptionKeyBitmapElement(uint8_t *ptr);
1745
1747 static constexpr unsigned int size() { return 0x0020; }
1748 };
1749
1750
1755 {
1756 protected:
1758 ARC4EncryptionKeyElement(uint8_t *ptr, size_t size);
1759
1760 public:
1762 ARC4EncryptionKeyElement(uint8_t *ptr);
1763
1765 static constexpr unsigned int size() { return 0x0010; }
1766
1767 void clear();
1768 bool isValid() const;
1769
1771 virtual unsigned index() const;
1773 virtual void setIndex(unsigned idx);
1774
1776 virtual QByteArray key() const;
1778 virtual void setKey(const QByteArray &key);
1779
1780 public:
1782 struct Limit: public Element::Limit {
1784 static constexpr unsigned int maxIndex() { return 254; }
1786 static constexpr unsigned int keySize() { return 5; }
1787 };
1788
1789 protected:
1791 struct Offset: public Element::Offset {
1793 static constexpr unsigned int index() { return 0x0000; }
1794 static constexpr unsigned int key() { return 0x0001; }
1796 };
1797 };
1798
1801 {
1802 protected:
1804 ARC4EncryptionKeyBitmapElement(uint8_t *ptr, size_t size);
1805
1806 public:
1808 ARC4EncryptionKeyBitmapElement(uint8_t *ptr);
1809
1811 static constexpr unsigned int size() { return 0x0020; }
1812 };
1813
1814
1817 {
1818 protected:
1820 HiddenZoneBitmapElement(uint8_t *ptr, size_t size);
1821
1822 public:
1824 HiddenZoneBitmapElement(uint8_t *ptr);
1825
1827 static constexpr unsigned int size() { return 0x0020; }
1828 };
1829
1835 {
1836 public:
1839 RX_400_480_136_174_TX_400_480_136_174 = 0,
1840 RX_400_480_136_174_TX_400_480_136_174_STEP_12_5kHz = 1,
1841 RX_430_440_136_174_TX_430_440_136_174 = 2,
1842 RX_400_480_136_174_TX_430_440_144_146 = 3,
1843 RX_440_480_136_174_TX_440_480_136_174 = 4,
1844 RX_440_480_144_146_TX_440_480_144_146 = 5,
1845 RX_446_447_136_174_TX_446_447_136_174 = 6,
1846 RX_400_480_136_174_TX_420_450_136_174 = 7,
1847 RX_400_470_136_174_TX_400_470_136_174 = 8,
1848 RX_430_432_144_146_TX_430_432_144_146 = 9,
1849 RX_400_480_136_174_TX_430_450_144_148 = 10,
1850 RX_400_520_136_174_TX_400_520_136_174 = 11,
1851 RX_400_490_136_174_TX_400_490_136_174 = 12,
1852 RX_400_480_136_174_TX_403_470_136_174 = 13,
1853 RX_400_520_220_225_136_174_TX_400_520_220_225_136_174 = 14,
1854 RX_420_520_144_148_TX_420_520_144_148 = 15,
1855 RX_430_440_144_147_TX_430_440_144_147 = 16,
1856 RX_430_440_136_174_TX_136_174 = 17
1857 };
1858
1859 protected:
1861 RadioInfoElement(uint8_t *ptr, unsigned size);
1862
1863 public:
1865 explicit RadioInfoElement(uint8_t *ptr);
1866
1868 void clear();
1869
1872 virtual bool fullTest() const;
1873
1875 virtual FrequencyRange frequencyRange() const;
1877 virtual void setFrequencyRange(FrequencyRange range);
1878
1880 virtual bool international() const;
1882 virtual void enableInternational(bool enable);
1883
1885 virtual bool bandSelect() const;
1887 virtual void enableBandSelect(bool enable);
1888
1890 virtual QString bandSelectPassword() const;
1892 virtual void setBandSelectPassword(const QString &passwd);
1893
1895 virtual QString radioType() const;
1896
1898 virtual QString programPassword() const;
1900 virtual void setProgramPassword(const QString &passwd);
1901
1903 virtual QString areaCode() const;
1905 virtual QString serialNumber() const;
1907 virtual QString productionDate() const;
1909 virtual QString manufacturerCode() const;
1911 virtual QString maintainedDate() const;
1913 virtual QString dealerCode() const;
1915 virtual QString stockDate() const;
1917 virtual QString sellDate() const;
1919 virtual QString seller() const;
1921 virtual QString maintainerNote() const;
1922 };
1923
1924protected:
1926 explicit D878UVCodeplug(const QString &label, QObject *parent = nullptr);
1927
1928public:
1930 explicit D878UVCodeplug(QObject *parent = nullptr);
1931
1932 Config *preprocess(Config *config, const ErrorStack &err) const;
1933
1934protected:
1935 bool allocateBitmaps();
1936 void setBitmaps(Context &ctx);
1937 void allocateForDecoding();
1938 void allocateUpdated();
1939 void allocateForEncoding();
1940
1941 bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1942 bool createElements(Context &ctx, const ErrorStack &err=ErrorStack());
1943 bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack());
1944
1945 void allocateChannels();
1946 bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1947 bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1948 bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1949
1950 virtual void allocateZones();
1951 virtual bool encodeZone(int i, Zone *zone, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1952 virtual bool decodeZone(int i, Zone *zone, Context &ctx, const ErrorStack &err=ErrorStack());
1953
1955 bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1956 bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1957 bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1958
1959 void allocateGPSSystems();
1960 bool encodeGPSSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1961 bool createGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack());
1962 bool linkGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack());
1963
1965 virtual void allocateRoaming();
1967 virtual bool encodeRoaming(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1969 virtual bool createRoaming(Context &ctx, const ErrorStack &err=ErrorStack());
1971 virtual bool linkRoaming(Context &ctx, const ErrorStack &err=ErrorStack());
1972
1974 virtual void allocateAESKeys();
1976 virtual bool encodeAESKeys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1978 virtual bool createAESKeys(Context &ctx, const ErrorStack &err=ErrorStack());
1979
1981 virtual void allocateARC4Keys();
1983 virtual bool encodeARC4Keys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1985 virtual bool createARC4Keys(Context &ctx, const ErrorStack &err=ErrorStack());
1986
1987
1988public:
1991 static constexpr unsigned int analogAPRSRXEntries() { return 32; }
1992 static constexpr unsigned int roamingChannels() { return 250; }
1993 static constexpr unsigned int roamingZones() { return 64; }
1994 static constexpr unsigned int aesKeys() { return 255; }
1995 static constexpr unsigned int arc4Keys() { return 255; }
1996 };
1997
1998protected:
2002 static constexpr unsigned int toChannelExtension() { return 0x00002000; }
2003 static constexpr unsigned int settingsExtension() { return 0x02501400; }
2004 static constexpr unsigned int aprsSettings() { return 0x02501000; }
2005 static constexpr unsigned int analogAPRSMessage() { return 0x02501200; }
2006 static constexpr unsigned int analogAPRSRXEntries() { return 0x02501800; }
2007 static constexpr unsigned int fmAPRSFrequencyNames() { return 0x02502000; }
2008 static constexpr unsigned int hiddenZoneBitmap() { return 0x024c1360; }
2009 static constexpr unsigned int roamingChannelBitmap() { return 0x01042000; }
2010 static constexpr unsigned int roamingChannels() { return 0x01040000; }
2011 static constexpr unsigned int roamingZoneBitmap() { return 0x01042080; }
2012 static constexpr unsigned int roamingZones() { return 0x01043000; }
2013 static constexpr unsigned int aesKeys() { return 0x024C4000; }
2014 static constexpr unsigned int aesKeyBitmap() { return 0x024C8000; }
2015 static constexpr unsigned int arc4Keys() { return 0x025C0C00; }
2016 static constexpr unsigned int arc4KeyBitmap() { return 0x025C1C00; }
2018 };
2019};
2020
2021#endif // D878UVCODEPLUG_HH
Represents an APRS system within the generic config.
Definition gpssystem.hh:134
Icon
All implemented APRS icons.
Definition gpssystem.hh:166
Direction
Encodes the auto-repeater offset sign.
Definition anytone_settingsextension.hh:1191
APRSPTT
Possible APRS PTT modes.
Definition anytone_extension.hh:91
BitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:59
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:168
Represents the base class for the extended settings element in many AnyTone codeplugs.
Definition anytone_codeplug.hh:1320
virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition anytone_codeplug.cc:4491
Bandwidth
Possible bandwidth settings.
Definition anytone_extension.hh:401
GPSMode
Possible GPS modes.
Definition anytone_settingsextension.hh:1524
KeyFunction
All possible key functions.
Definition anytone_settingsextension.hh:267
RoamStart
Possible roaming start conditions.
Definition anytone_settingsextension.hh:1633
STEType
All possible STE (squelch tail eliminate) types.
Definition anytone_settingsextension.hh:2244
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:34
Power
Specifies the prefix for every ID assigned to every channel during serialization.
Definition channel.hh:61
Base class for all codeplug contexts.
Definition codeplug.hh:291
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:216
DMREncryptionType
Possible encryption types.
Definition d868uv_codeplug.hh:219
Represents the general config of the radio within the D868UV binary codeplug.
Definition d868uv_codeplug.hh:319
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:1747
AESEncryptionKeyBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3596
virtual unsigned index() const
Returns the key index.
Definition d878uv_codeplug.cc:3560
virtual void setKey(const QByteArray &key)
Sets the key.
Definition d878uv_codeplug.cc:3584
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1697
AESEncryptionKeyElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:3536
bool isValid() const
Returns true if the key is set.
Definition d878uv_codeplug.cc:3554
virtual QByteArray key() const
Returns the actual key.
Definition d878uv_codeplug.cc:3569
virtual void setIndex(unsigned idx)
Sets the key index.
Definition d878uv_codeplug.cc:3564
void clear()
Resets the key.
Definition d878uv_codeplug.cc:3549
virtual Interval dmrPreWaveDelay() const
Returns the the repeater activation delay in ms.
Definition d878uv_codeplug.cc:3138
virtual bool reportMessage() const
Returns true if the report message flag is set.
Definition d878uv_codeplug.cc:3202
virtual void setDMRChannelIndex(unsigned n, unsigned idx)
Sets the digital channel index for the n-th system.
Definition d878uv_codeplug.cc:3069
virtual void enableReportNMEA(bool enable)
Enables/disables report NMEA flag.
Definition d878uv_codeplug.cc:3224
virtual bool reportWeather() const
Returns true if the report weather flag is set.
Definition d878uv_codeplug.cc:3211
virtual bool reportPosition() const
Returns true if the report position flag is set.
Definition d878uv_codeplug.cc:3166
bool isValid() const
Returns true if the pointer is not null.
Definition d878uv_codeplug.cc:2862
virtual void enableReportMessage(bool enable)
Enables/disables report message flag.
Definition d878uv_codeplug.cc:3206
virtual void setSource(const QString &call, unsigned ssid)
Sets the source call & SSID.
Definition d878uv_codeplug.cc:3005
virtual bool reportMicE() const
Returns true if the report Mic-E flag is set.
Definition d878uv_codeplug.cc:3175
virtual void setFMTXDelay(Interval ms)
Sets the TX delay in ms.
Definition d878uv_codeplug.cc:2873
virtual Interval fmTXDelay() const
Returns the TX delay in ms.
Definition d878uv_codeplug.cc:2869
virtual bool reportOther() const
Returns true if the report other flag is set.
Definition d878uv_codeplug.cc:3238
virtual void setDMRTimeSlot(unsigned n, DMRChannel::TimeSlot ts)
Overrides the time slot of the n-th selected channel.
Definition d878uv_codeplug.cc:3117
virtual bool dmrChannelIsSelected(unsigned n) const
Returns true if the channel points to the current/selected channel.
Definition d878uv_codeplug.cc:3061
virtual void setFMPreWaveDelay(Interval ms)
Sets the pre-wave delay in ms.
Definition d878uv_codeplug.cc:3056
virtual QGeoCoordinate fixedLocation() const
Returns the fixed location send.
Definition d878uv_codeplug.cc:2936
virtual unsigned sourceSSID() const
Returns the source SSID.
Definition d878uv_codeplug.cc:3001
virtual bool reportNMEA() const
Returns true if the report NMEA flag is set.
Definition d878uv_codeplug.cc:3220
SignalingType
Possible settings for the FM APRS subtone type.
Definition d878uv_codeplug.hh:1174
virtual bool infiniteDisplayTime() const
Returns true if a received APRS message is shown indefinitely.
Definition d878uv_codeplug.cc:3147
void clear()
Resets the settings.
Definition d878uv_codeplug.cc:2854
virtual void setManualTXInterval(Interval sec)
Sets the manual TX interval in seconds.
Definition d878uv_codeplug.cc:2910
virtual void enableReportWeather(bool enable)
Enables/disables report weather flag.
Definition d878uv_codeplug.cc:3215
virtual bool fixedLocationEnabled() const
Returns true if a fixed location is sent.
Definition d878uv_codeplug.cc:2932
virtual void enableReportObject(bool enable)
Enables/disables report object flag.
Definition d878uv_codeplug.cc:3188
virtual void enableReportPosition(bool enable)
Enables/disables report position flag.
Definition d878uv_codeplug.cc:3170
virtual Interval autoTXInterval() const
Returns the auto TX interval in seconds.
Definition d878uv_codeplug.cc:2919
virtual bool reportStatus() const
Returns true if the report status flag is set.
Definition d878uv_codeplug.cc:3229
virtual void setFMChannelWidth(AnytoneFMAPRSSettingsExtension::Bandwidth width)
Sets the FM APRS channel width.
Definition d878uv_codeplug.cc:3251
virtual void setDMRChannelSelected(unsigned n)
Sets the channel to the current/selected channel.
Definition d878uv_codeplug.cc:3073
virtual Channel::Power power() const
Returns the transmit power.
Definition d878uv_codeplug.cc:3031
virtual QString source() const
Returns the source call.
Definition d878uv_codeplug.cc:2996
virtual bool linkFMAPRSSystem(APRSSystem *sys, Context &ctx)
Links the transmit channel within the generic APRS system based on the transmit frequency defined wit...
Definition d878uv_codeplug.cc:3386
virtual void disableFixedLocation()
Disables sending a fixed location.
Definition d878uv_codeplug.cc:2976
virtual void setIcon(APRSSystem::Icon icon)
Sets the APRS icon.
Definition d878uv_codeplug.cc:3025
virtual void setFixedLocation(QGeoCoordinate &loc)
Sets the fixed location to send.
Definition d878uv_codeplug.cc:2951
virtual bool reportItem() const
Returns true if the report item flag is set.
Definition d878uv_codeplug.cc:3193
virtual APRSSystem::Icon icon() const
Returns the APRS icon.
Definition d878uv_codeplug.cc:3021
virtual bool fromDMRAPRSSystemObj(unsigned int idx, GPSSystem *sys, Context &ctx)
Encodes the given GPS system.
Definition d878uv_codeplug.cc:3416
virtual void clearFMFrequency(unsigned int n)
Clears the n-th of 8 FM APRS frequencies.
Definition d878uv_codeplug.cc:3280
virtual bool dmrTimeSlotOverride(unsigned n)
Returns true if the n-th system overrides the channel time-slot.
Definition d878uv_codeplug.cc:3105
virtual void clearDMRTimeSlotOverride(unsigned n)
Clears the time-slot override.
Definition d878uv_codeplug.cc:3124
virtual void setPath(const QString &path)
Sets the path string.
Definition d878uv_codeplug.cc:3016
virtual void disableAutoTX()
Disables auto tx.
Definition d878uv_codeplug.cc:2927
virtual void enableFMPassAll(bool enable)
Enables/disables "pass all", that is the CRC check on FM APRS messages is disabled.
Definition d878uv_codeplug.cc:3260
virtual APRSSystem * toFMAPRSSystem(Context &ctx, const FMAPRSFrequencyNamesElement &names, const ErrorStack &err=ErrorStack())
Constructs a generic APRS system configuration from this APRS system.
Definition d878uv_codeplug.cc:3341
virtual bool fromFMAPRSSystem(const APRSSystem *sys, Context &ctx, FMAPRSFrequencyNamesElement &names, const ErrorStack &err=ErrorStack())
Configures this APRS system from the given generic config.
Definition d878uv_codeplug.cc:3286
virtual QString destination() const
Returns the destination call.
Definition d878uv_codeplug.cc:2981
virtual bool autoTX() const
Returns true if the auto transmit is enabled.
Definition d878uv_codeplug.cc:2915
virtual Interval manualTXInterval() const
Returns the manual TX interval in seconds.
Definition d878uv_codeplug.cc:2906
APRSSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:2841
virtual bool fmFrequencySet(unsigned int n) const
Returns true if the n-th of 8 FM APRS frequencies is set.
Definition d878uv_codeplug.cc:3265
virtual void enableDMRRoaming(bool enable)
Enables/disables roaming.
Definition d878uv_codeplug.cc:3133
virtual Interval displayTime() const
Returns the time, a received APRS message is shown.
Definition d878uv_codeplug.cc:3151
virtual void setTXTone(const SelectiveCall &code)
Sets the sub tone settings.
Definition d878uv_codeplug.cc:2893
virtual DMRChannel::TimeSlot dmrTimeSlot(unsigned n) const
Returns the time slot if overridden (only valid if timeSlot returns true).
Definition d878uv_codeplug.cc:3109
virtual void enableReportOther(bool enable)
Enables/disables report other flag.
Definition d878uv_codeplug.cc:3242
virtual void setDisplayTimeInifinite()
Sets the APRS display time to infinite.
Definition d878uv_codeplug.cc:3161
virtual Interval fmPreWaveDelay() const
Returns the pre-wave delay in ms.
Definition d878uv_codeplug.cc:3052
virtual Frequency fmFrequency(unsigned int n) const
Returns the n-th of 8 FM APRS frequencies.
Definition d878uv_codeplug.cc:3270
virtual void setPower(Channel::Power power)
Sets the transmit power.
Definition d878uv_codeplug.cc:3041
virtual void setAutoTXInterval(Interval sec)
Sets the auto TX interval in seconds.
Definition d878uv_codeplug.cc:2923
virtual bool dmrRoaming() const
Returns true if the roaming is enabled.
Definition d878uv_codeplug.cc:3129
virtual void setDMRCallType(unsigned n, DMRContact::Type type)
Sets the call type for the n-th system.
Definition d878uv_codeplug.cc:3096
virtual void setDMRDestination(unsigned n, unsigned idx)
Sets the destination contact for the n-th system.
Definition d878uv_codeplug.cc:3082
virtual bool reportObject() const
Returns true if the report object flag is set.
Definition d878uv_codeplug.cc:3184
virtual GPSSystem * toDMRAPRSSystemObj(int idx) const
Constructs a generic GPS system from the idx-th encoded GPS system.
Definition d878uv_codeplug.cc:3431
virtual void enableReportItem(bool enable)
Enables/disables report item flag.
Definition d878uv_codeplug.cc:3197
virtual unsigned dmrDestination(unsigned n) const
Returns the destination contact for the n-th system.
Definition d878uv_codeplug.cc:3078
virtual bool linkDMRAPRSSystem(int idx, GPSSystem *sys, Context &ctx) const
Links the specified generic GPS system.
Definition d878uv_codeplug.cc:3438
virtual bool fmPassAll() const
Returns true if the CRC check on received FM APRS messages is disabled.
Definition d878uv_codeplug.cc:3256
virtual void setDMRPreWaveDelay(Interval ms)
Sets the repeater activation delay in ms.
Definition d878uv_codeplug.cc:3142
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1183
virtual QString path() const
Returns the path string.
Definition d878uv_codeplug.cc:3012
virtual AnytoneFMAPRSSettingsExtension::Bandwidth fmChannelWidth() const
Returns the FM APRS channel width.
Definition d878uv_codeplug.cc:3247
virtual void setDisplayTime(Interval dur)
Sets the time, a received APRS is shown.
Definition d878uv_codeplug.cc:3155
virtual SelectiveCall txTone() const
Returns the sub tone settings.
Definition d878uv_codeplug.cc:2878
virtual void setDestination(const QString &call, unsigned ssid)
Sets the destination call & SSID.
Definition d878uv_codeplug.cc:2990
virtual unsigned destinationSSID() const
Returns the destination SSID.
Definition d878uv_codeplug.cc:2986
virtual void setFMFrequency(unsigned int n, Frequency f)
Sets the n-th of 8 FM APRS frequencies.
Definition d878uv_codeplug.cc:3275
virtual void enableReportStatus(bool enable)
Enables/disables report status flag.
Definition d878uv_codeplug.cc:3233
virtual void enableReportMicE(bool enable)
Enables/disables report Mic-E flag.
Definition d878uv_codeplug.cc:3179
virtual bool fromDMRAPRSSystems(Context &ctx)
Constructs all GPS system from the generic configuration.
Definition d878uv_codeplug.cc:3408
virtual DMRContact::Type dmrCallType(unsigned n) const
Returns the call type for the n-th system.
Definition d878uv_codeplug.cc:3087
virtual unsigned dmrChannelIndex(unsigned n) const
Returns the digital channel index for the n-th system.
Definition d878uv_codeplug.cc:3065
ARC4EncryptionKeyBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3663
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1811
ARC4EncryptionKeyElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3613
virtual QByteArray key() const
Returns the actual key.
Definition d878uv_codeplug.cc:3645
virtual unsigned index() const
Returns the key index.
Definition d878uv_codeplug.cc:3636
void clear()
Abstract method to reset the element within the codeplug.
Definition d878uv_codeplug.cc:3626
bool isValid() const
Returns true if the pointer is not null.
Definition d878uv_codeplug.cc:3631
virtual void setKey(const QByteArray &key)
Sets the key.
Definition d878uv_codeplug.cc:3652
static constexpr unsigned int size()
Returns the size of the element.
Definition d878uv_codeplug.hh:1765
virtual void setIndex(unsigned idx)
Sets the key index.
Definition d878uv_codeplug.cc:3640
virtual QString message() const
Returns the message.
Definition d878uv_codeplug.cc:3481
AnalogAPRSMessageElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3463
void clear()
Abstract method to reset the element within the codeplug.
Definition d878uv_codeplug.cc:3476
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1462
virtual void setMessage(const QString &msg)
Sets the message.
Definition d878uv_codeplug.cc:3486
virtual void setCall(const QString &call, unsigned ssid)
Sets the call, SSID and enables the entry.
Definition d878uv_codeplug.cc:3525
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1493
AnalogAPRSRXEntryElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:3494
bool isValid() const
Returns true if the APRS RX entry is valid.
Definition d878uv_codeplug.cc:3512
virtual unsigned ssid() const
Returns the SSID.
Definition d878uv_codeplug.cc:3521
void clear()
Resets the entry.
Definition d878uv_codeplug.cc:3507
virtual QString call() const
Returns the call sign.
Definition d878uv_codeplug.cc:3517
virtual AdvancedEncryptionType advancedEncryptionType() const
Returns the encryption type.
Definition d878uv_codeplug.cc:230
bool fromChannelObj(const Channel *c, Context &ctx) override
Encodes the given channel object.
Definition d878uv_codeplug.cc:423
APRSPTT
Defines all possible APRS PTT settings.
Definition d878uv_codeplug.hh:106
virtual void setARC4EncryptionKeyIndex(unsigned int index)
Sets the ARC4 encryption key index.
Definition d878uv_codeplug.cc:293
unsigned dmrEncryptionKeyIndex() const override
Returns the DMR encryption key index (+1), 0=Off.
Definition d878uv_codeplug.cc:253
virtual bool hasARC4EncryptionKeyIndex() const
Returns true, if an ARC4 encryption key index is set.
Definition d878uv_codeplug.cc:285
virtual bool sendTalkerAlias() const
If set, transmission of talker alias for this channel is enabled.
Definition d878uv_codeplug.cc:219
virtual int frequenyCorrection() const
Returns the frequency correction in ?
Definition d878uv_codeplug.cc:200
bool hasDMREncryptionKeyIndex() const override
Returns true if a DMR encryption key is set.
Definition d878uv_codeplug.cc:249
virtual AnytoneChannelExtension::APRSPTT digitalAPRSPTTSetting() const
Returns the digital APRS PTT setting.
Definition d878uv_codeplug.cc:175
virtual void enableRoaming(bool enable)
Enables/disables roaming.
Definition d878uv_codeplug.cc:122
virtual void setFrequencyCorrection(int corr)
Sets the frequency correction in ?
Definition d878uv_codeplug.cc:204
void clearDMREncryptionKeyIndex() override
Clears the DMR encryption key index.
Definition d878uv_codeplug.cc:261
virtual void enableSendTalkerAlias(bool enable)
Enable transmission of talker alias.
Definition d878uv_codeplug.cc:224
virtual void setDigitalAPRSPTTSetting(AnytoneChannelExtension::APRSPTT ptt)
Sets the digital APRS PTT setting.
Definition d878uv_codeplug.cc:181
void setDMREncryptionType(DMREncryptionType type) override
Sets the encryption type.
Definition d878uv_codeplug.cc:245
virtual void enableAutoScan(bool enable)
Enable/disable auto scan.
Definition d878uv_codeplug.cc:142
APRSType
Possible APRS modes.
Definition d878uv_codeplug.hh:101
virtual unsigned int aesEncryptionKeyIndex() const
Returns the AES encryption key index.
Definition d878uv_codeplug.cc:271
virtual void setPTTIDSetting(PTTId ptt)
Sets the PTT ID setting.
Definition d878uv_codeplug.cc:112
ChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:89
bool dataACK() const override
Returns true if the data ACK is enabled.
Definition d878uv_codeplug.cc:127
DMREncryptionType dmrEncryptionType() const override
Returns the encryption type.
Definition d878uv_codeplug.cc:241
void setDigitalAPRSSystemIndex(unsigned idx) override
Sets the DMR APRS system index.
Definition d878uv_codeplug.cc:195
void enableDataACK(bool enable) override
Enables/disables data ACK.
Definition d878uv_codeplug.cc:132
virtual PTTId pttIDSetting() const
Returns the PTT ID settings.
Definition d878uv_codeplug.cc:108
virtual bool roamingEnabled() const
Returns true if roaming is enabled.
Definition d878uv_codeplug.cc:117
void setDMREncryptionKeyIndex(unsigned idx) override
Sets the DMR encryption key index (+1), 0=Off.
Definition d878uv_codeplug.cc:257
virtual void setAnalogAPRSPTTSetting(AnytoneChannelExtension::APRSPTT ptt)
Sets the analog APRS PTT setting.
Definition d878uv_codeplug.cc:165
Channel * toChannelObj(Context &ctx) const override
Constructs a Channel object from this element.
Definition d878uv_codeplug.cc:303
virtual bool hasAESEncryptionKeyIndex() const
Returns true, if an AES encryption key index is set.
Definition d878uv_codeplug.cc:267
virtual bool autoScan() const
Returns true, if auto scan is enabled.
Definition d878uv_codeplug.cc:138
void setTXAPRSType(APRSType aprsType)
Sets APRS type for reporting the position.
Definition d878uv_codeplug.cc:151
APRSType txAPRSType() const
Returns APRS type for reporting the position.
Definition d878uv_codeplug.cc:147
virtual void clearAESEncryptionKeyIndex()
Clears the AES encryption key index.
Definition d878uv_codeplug.cc:279
virtual unsigned int fmAPRSFrequencyIndex() const
Returns the index of the FM APRS frequency [0,7].
Definition d878uv_codeplug.cc:209
bool linkChannelObj(Channel *c, Context &ctx) const override
Links a previously created channel object.
Definition d878uv_codeplug.cc:332
PTTId
Possible PTT ID settings.
Definition d878uv_codeplug.hh:93
@ Both
Send PTT-ID at start and end.
Definition d878uv_codeplug.hh:97
@ End
Send PTT-ID at end.
Definition d878uv_codeplug.hh:96
@ Start
Send PTT-ID at start.
Definition d878uv_codeplug.hh:95
@ Off
Never send PTT-ID.
Definition d878uv_codeplug.hh:94
virtual void setEncryptionType(AdvancedEncryptionType type)
Sets the encryptionType.
Definition d878uv_codeplug.cc:235
unsigned digitalAPRSSystemIndex() const override
Returns the DMR APRS system index.
Definition d878uv_codeplug.cc:191
virtual unsigned int arc4EncryptionKeyIndex() const
Returns the ARC4 encryption key index.
Definition d878uv_codeplug.cc:289
AdvancedEncryptionType
Possible encryption types.
Definition d878uv_codeplug.hh:113
virtual void setAESEncryptionKeyIndex(unsigned int index)
Sets the AES encryption key index.
Definition d878uv_codeplug.cc:275
void clear() override
Resets the channel.
Definition d878uv_codeplug.cc:102
virtual void clearARC4EncryptionKeyIndex()
Clears the ARC4 encryption key index.
Definition d878uv_codeplug.cc:297
virtual AnytoneChannelExtension::APRSPTT analogAPRSPTTSetting() const
Returns the analog APRS PTT setting.
Definition d878uv_codeplug.cc:156
virtual void setFMAPRSFrequencyIndex(unsigned int idx)
Sets the FM APRS frequency index [0,7].
Definition d878uv_codeplug.cc:213
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:267
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:2500
static constexpr unsigned int size()
Returns the size of the element.
Definition d878uv_codeplug.hh:903
virtual bool infiniteManDialPrivateCallHangTime() const
Returns true if the manual dialed private call hang time is infinite.
Definition d878uv_codeplug.cc:2455
virtual void enableShowChannelType(bool enable)
Enables/disables display of channel type.
Definition d878uv_codeplug.cc:2564
virtual void clearAutoRepeaterUHF2OffsetIndex()
Clears the auto repeater UHF 2 offset frequency index.
Definition d878uv_codeplug.cc:2354
virtual void setAutoRepeaterUHF2OffsetIndex(unsigned idx)
Sets the index of the UHF 2 offset frequency.
Definition d878uv_codeplug.cc:2350
virtual void enableSendTalkerAlias(bool enable)
Enables/disables sending the talker alias.
Definition d878uv_codeplug.cc:2292
virtual void setBluetoothPTTSleepDelay(Interval delay)
Sets the bluetooth PTT sleep delay in minutes.
Definition d878uv_codeplug.cc:2332
virtual void setManDialGroupCallHangTimeInfinite()
Sets the manual dial group call hang time to infinite.
Definition d878uv_codeplug.cc:2450
virtual bool hasAutoRepeaterVHF2OffsetIndex() const
Returns true if the auto repeater VHF 2 offset index is set.
Definition d878uv_codeplug.cc:2359
virtual void setGPSMode(AnytoneGPSSettingsExtension::GPSMode mode)
Sets the GPS mode.
Definition d878uv_codeplug.cc:2413
virtual void enableTOTNotification(bool enable)
Enables/disables transmit timeout notification.
Definition d878uv_codeplug.cc:2504
virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the settings from the config.
Definition d878uv_codeplug.cc:2646
void clear()
Resets the settings.
Definition d878uv_codeplug.cc:2280
virtual Frequency autoRepeaterUHF2MinFrequency() const
Returns the minimum frequency in Hz for the auto-repeater UHF 2 band.
Definition d878uv_codeplug.cc:2392
virtual bool resetAutoShutdownOnCall() const
Returns true if the auto-shutdown timer is reset on a call.
Definition d878uv_codeplug.cc:2535
AnytoneDisplaySettingsExtension::Color zoneBNameColor() const
Returns the color of the zone name for VFO B.
Definition d878uv_codeplug.cc:2526
virtual void setFMMicGain(unsigned int gain)
Sets the analog mic gain [1,10].
Definition d878uv_codeplug.cc:2591
virtual void clearAutoRepeaterVHF2OffsetIndex()
Clears the auto repeater VHF 2 offset frequency index.
Definition d878uv_codeplug.cc:2371
virtual bool infiniteManDialGroupCallHangTime() const
Returns true if the manual dialed group call hang time is infinite.
Definition d878uv_codeplug.cc:2428
virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode)
Sets the talker alias source.
Definition d878uv_codeplug.cc:2301
virtual void setAutoRepeaterVHF2MinFrequency(Frequency hz)
Sets the minimum frequency in Hz for the auto-repeater VHF 2 band.
Definition d878uv_codeplug.cc:2380
virtual void setCallEndToneMelody(const Melody &melody)
Sets the call-end tone melody.
Definition d878uv_codeplug.cc:2616
virtual Interval manDialGroupCallHangTime() const
Returns the manual dial group call hang time.
Definition d878uv_codeplug.cc:2432
virtual void setEncryption(AnytoneDMRSettingsExtension::EncryptionType mode)
Sets the encryption mode.
Definition d878uv_codeplug.cc:2495
virtual void setDateFormat(AnytoneDisplaySettingsExtension::DateFormat format)
Sets the date format.
Definition d878uv_codeplug.cc:2582
virtual bool showColorCode() const
Returns true if the color code is shown.
Definition d878uv_codeplug.cc:2544
virtual void enableResetAutoShutdownOnCall(bool enable)
Enables/disables reset on call of the auto-shutdown timer.
Definition d878uv_codeplug.cc:2539
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Update config from settings.
Definition d878uv_codeplug.cc:2732
virtual void enableFMIdleTone(bool enable)
Enables/disables FM idle channel tone.
Definition d878uv_codeplug.cc:2573
virtual bool gpsRoaming() const
Returns true if the GPS roaming is enabled.
Definition d878uv_codeplug.cc:2597
AnytoneDisplaySettingsExtension::Color channelBNameColor() const
Returns the color of the channel name for VFO B.
Definition d878uv_codeplug.cc:2482
virtual bool fmIdleTone() const
Returns true if the FM idle channel tone is enabled.
Definition d878uv_codeplug.cc:2569
virtual void setAutoRepeaterVHF2MaxFrequency(Frequency hz)
Sets the maximum frequency in Hz for the auto-repeater VHF 2 band.
Definition d878uv_codeplug.cc:2388
virtual void setManDialPrivateCallHangTime(Interval dur)
Sets the manual dial private call hang time.
Definition d878uv_codeplug.cc:2468
virtual AnytoneDMRSettingsExtension::TalkerAliasEncoding talkerAliasEncoding() const
Returns the talker alias encoding.
Definition d878uv_codeplug.cc:2306
virtual Frequency autoRepeaterUHF2MaxFrequency() const
Returns the maximum frequency in Hz for the auto-repeater UHF 2 band.
Definition d878uv_codeplug.cc:2400
virtual void enableATPC(bool enable)
Enables/disables the ATPC (Adaptiv Transmission Power Control).
Definition d878uv_codeplug.cc:2513
virtual void enableGPSRoaming(bool enable)
Enables/disables GPS roaming.
Definition d878uv_codeplug.cc:2601
virtual bool sendTalkerAlias() const
Returns true if the talker alias is sent.
Definition d878uv_codeplug.cc:2288
virtual bool showTimeSlot() const
Returns true if the time slot is shown.
Definition d878uv_codeplug.cc:2552
virtual bool atpc() const
Returns true if the ATPC (Adaptiv Transmission Power Control) is enabled.
Definition d878uv_codeplug.cc:2509
virtual unsigned autoRepeaterUHF2OffsetIndex() const
Returns the index of the UHF 2 offset frequency.
Definition d878uv_codeplug.cc:2346
virtual Interval steDuration() const
Returns the STE (squelch tail elimination) duration.
Definition d878uv_codeplug.cc:2418
virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const
Returns the talker alias source.
Definition d878uv_codeplug.cc:2297
virtual unsigned int fmMicGain() const
Returns the FM Mic gain [1,10].
Definition d878uv_codeplug.cc:2587
virtual void setAutoRepeaterVHF2OffsetIndex(unsigned idx)
Sets the index of the VHF 2 offset frequency.
Definition d878uv_codeplug.cc:2367
virtual void setAutoRepeaterUHF2MaxFrequency(Frequency hz)
Sets the maximum frequency in Hz for the auto-repeater UHF 2 band.
Definition d878uv_codeplug.cc:2404
virtual void setManDialGroupCallHangTime(Interval dur)
Sets the manual dial group call hang time.
Definition d878uv_codeplug.cc:2441
virtual void enableBluetoothPTTLatch(bool enable)
Enables/disables bluetooth PTT latch.
Definition d878uv_codeplug.cc:2319
void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color for the VFO B.
Definition d878uv_codeplug.cc:2486
virtual void enableShowTimeSlot(bool enable)
Enables/disables display of time slot.
Definition d878uv_codeplug.cc:2556
virtual void setInfiniteBluetoothPTTSleepDelay()
Sets the bluetooth PTT sleep delay to infinite/disabled.
Definition d878uv_codeplug.cc:2337
virtual AnytoneGPSSettingsExtension::GPSMode gpsMode() const
Returns the GPS mode.
Definition d878uv_codeplug.cc:2409
void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO A.
Definition d878uv_codeplug.cc:2522
virtual void enableShowColorCode(bool enable)
Enables/disables display of color code.
Definition d878uv_codeplug.cc:2548
AnytoneDisplaySettingsExtension::Color zoneANameColor() const
Returns the color of the zone name for VFO A.
Definition d878uv_codeplug.cc:2518
virtual Interval manDialPrivateCallHangTime() const
Returns the manual dial private call hang time.
Definition d878uv_codeplug.cc:2459
virtual void setSTEDuration(Interval dur)
Sets the STE (squelch tail elimination) duration.
Definition d878uv_codeplug.cc:2422
virtual void callEndToneMelody(Melody &melody) const
Returns the call-end tone melody.
Definition d878uv_codeplug.cc:2606
virtual void setAllCallToneMelody(const Melody &melody)
Sets the all-call tone melody.
Definition d878uv_codeplug.cc:2636
virtual void allCallToneMelody(Melody &melody) const
Returns the all-call tone melody.
Definition d878uv_codeplug.cc:2626
ExtendedSettingsElement(uint8_t *ptr, unsigned size)
Hidden Constructor.
Definition d878uv_codeplug.cc:2267
virtual AnytoneDMRSettingsExtension::EncryptionType encryption() const
Returns the encryption mode.
Definition d878uv_codeplug.cc:2491
virtual bool bluetoothPTTLatch() const
Returns true if the BT PTT latch is enabled.
Definition d878uv_codeplug.cc:2315
virtual unsigned autoRepeaterVHF2OffsetIndex() const
Returns the index of the VHF 2 offset frequency.
Definition d878uv_codeplug.cc:2363
virtual Frequency autoRepeaterVHF2MinFrequency() const
Returns the minimum frequency in Hz for the auto-repeater VHF 2 band.
Definition d878uv_codeplug.cc:2376
virtual bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Link config from settings extension.
Definition d878uv_codeplug.cc:2799
virtual Frequency autoRepeaterVHF2MaxFrequency() const
Returns the maximum frequency in Hz for the auto-repeater VHF 2 band.
Definition d878uv_codeplug.cc:2384
virtual bool showChannelType() const
Returns true if the channel type is shown.
Definition d878uv_codeplug.cc:2560
virtual void setTalkerAliasEncoding(AnytoneDMRSettingsExtension::TalkerAliasEncoding encoding)
Sets the talker alias encoding.
Definition d878uv_codeplug.cc:2310
virtual void setAutoRepeaterUHF2MinFrequency(Frequency hz)
Sets the minimum frequency in Hz for the auto-repeater UHF 2 band.
Definition d878uv_codeplug.cc:2396
virtual Interval bluetoothPTTSleepDelay() const
Returns the bluetooth PTT sleep delay in minutes, 0=off.
Definition d878uv_codeplug.cc:2328
virtual bool hasAutoRepeaterUHF2OffsetIndex() const
Returns true if the auto repeater UHF 2 offset index is set.
Definition d878uv_codeplug.cc:2342
virtual AnytoneDisplaySettingsExtension::DateFormat dateFormat() const
Returns the date format.
Definition d878uv_codeplug.cc:2578
virtual bool infiniteBluetoothPTTSleepDelay() const
Returns true if the bluetooth PTT sleep delay is disabled (infinite).
Definition d878uv_codeplug.cc:2324
virtual void setManDialPrivateCallHangTimeInfinite()
Sets the manual dial private call hang time to infinite.
Definition d878uv_codeplug.cc:2477
void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO B.
Definition d878uv_codeplug.cc:2530
Implements some storage to hold the names for the FM APRS frequencies.
Definition d878uv_codeplug.hh:1127
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:1137
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:2012
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:1792
virtual void setAutoRepeaterMaxFrequencyVHF(Frequency Hz) override
Sets the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition d878uv_codeplug.cc:1734
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:1991
TBSTFrequency
TBST (open repeater) frequencies.
Definition d878uv_codeplug.hh:374
virtual bool bootReset() const
Returns true if boot reset is enabled.
Definition d878uv_codeplug.cc:1982
DTMFDuration
DTMF signalling durations.
Definition d878uv_codeplug.hh:369
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:2033
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:1778
virtual bool gpsMessageEnabled() const
Returns true if the GPS range reporting is enabled.
Definition d878uv_codeplug.cc:1482
virtual bool roaming() const
Returns true if roaming is enabled.
Definition d878uv_codeplug.cc:1946
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:1722
virtual void setDefaultRoamingZoneIndex(unsigned idx)
Sets the default roaming zone index.
Definition d878uv_codeplug.cc:1839
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:1871
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:1765
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:1739
virtual AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionB() const override
Returns the auto-repeater direction for VFO B.
Definition d878uv_codeplug.cc:1756
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:2017
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:1857
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:384
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:2233
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:1977
FreqStep
Possible VFO frequency steps.
Definition d878uv_codeplug.hh:356
@ FREQ_STEP_20kHz
20kHz
Definition d878uv_codeplug.hh:363
@ FREQ_STEP_2_5kHz
2.5kHz
Definition d878uv_codeplug.hh:357
@ FREQ_STEP_50kHz
50kHz
Definition d878uv_codeplug.hh:365
@ FREQ_STEP_10kHz
10kHz
Definition d878uv_codeplug.hh:361
@ FREQ_STEP_6_25kHz
6.25kHz
Definition d878uv_codeplug.hh:359
@ FREQ_STEP_8_33kHz
8.33kHz
Definition d878uv_codeplug.hh:360
@ FREQ_STEP_5kHz
5kHz
Definition d878uv_codeplug.hh:358
@ FREQ_STEP_12_5kHz
12.5kHz
Definition d878uv_codeplug.hh:362
@ FREQ_STEP_25kHz
25kHz
Definition d878uv_codeplug.hh:364
void setDefaultZoneIndexB(unsigned idx) override
Sets the default zone (0-based) for VFO B.
Definition d878uv_codeplug.cc:1796
virtual bool repeaterRangeCheck() const
Returns true if repeater range check is enabled.
Definition d878uv_codeplug.cc:1844
virtual void setAutoRepeaterDirectionB(AnytoneAutoRepeaterSettingsExtension::Direction dir) override
Sets the auto-repeater direction for VFO B.
Definition d878uv_codeplug.cc:1760
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:2003
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:1747
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
void setDefaultChannelBToVFO() override
Sets the default channel for VFO B to be VFO.
Definition d878uv_codeplug.cc:1830
virtual void setAutoRepeaterMaxFrequencyUHF(Frequency Hz) override
Sets the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition d878uv_codeplug.cc:1751
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:1930
virtual void enableRoaming(bool enable)
Enables/disables repeater check notification.
Definition d878uv_codeplug.cc:1950
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:1915
void setDefaultChannelAIndex(unsigned idx) override
Sets the default channel index for VFO A.
Definition d878uv_codeplug.cc:1809
virtual bool btHoldTimeInfinite() const
Returns true, if the bluetooth hold time is infinite.
Definition d878uv_codeplug.cc:1995
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:1897
virtual void setBTHoldTimeInfinite()
Sets the Bluetooth hold time to infinite.
Definition d878uv_codeplug.cc:2008
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:1835
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:1911
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:1787
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:379
virtual Interval btHoldTime() const
Returns the bluetooth hold time.
Definition d878uv_codeplug.cc:1999
virtual void setAutoRepeaterMinFrequencyUHF(Frequency Hz) override
Sets the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition d878uv_codeplug.cc:1743
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 setTransmitTimeout(unsigned tot)
Sets the transmit timeout in seconds.
Definition d878uv_codeplug.cc:1045
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:1783
unsigned defaultChannelBIndex() const override
Returns the default channel index for VFO B.
Definition d878uv_codeplug.cc:1822
virtual bool separateDisplay() const
Returns true if the "separate display" is enabled.
Definition d878uv_codeplug.cc:1893
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:403
virtual void enableRepeaterRangeCheck(bool enable)
Enables/disables repeater range check.
Definition d878uv_codeplug.cc:1848
virtual unsigned repeaterRangeCheckCount() const
Returns the number of repeater range checks.
Definition d878uv_codeplug.cc:1862
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:1959
virtual void enableBootReset(bool enable)
Enables/disables boot reset.
Definition d878uv_codeplug.cc:1986
virtual unsigned transmitTimeout() const
Returns the transmit timeout in seconds.
Definition d878uv_codeplug.cc:1041
virtual void setTXBacklightDuration(Interval sec)
Sets the backlight duration during TX in seconds.
Definition d878uv_codeplug.cc:1886
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:1938
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:1973
void setDefaultChannelAToVFO() override
Sets the default channel for VFO A to be VFO.
Definition d878uv_codeplug.cc:1813
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:1920
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 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
virtual void setSMSFormat(AnytoneDMRSettingsExtension::SMSFormat fmt)
Sets the SMS format.
Definition d878uv_codeplug.cc:1717
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:389
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:1726
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:1826
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:2023
virtual unsigned repeaterCheckNumNotifications() const
Returns the number of repeater check notifications.
Definition d878uv_codeplug.cc:1964
bool defaultChannelBIsVFO() const override
Returns true if the default channel for VFO B is VFO.
Definition d878uv_codeplug.cc:1818
bool defaultChannelAIsVFO() const override
Returns true if the default channel for VFO A is VFO.
Definition d878uv_codeplug.cc:1801
unsigned defaultChannelAIndex() const override
Returns the default channel index for VFO A.
Definition d878uv_codeplug.cc:1805
virtual Interval repeaterRangeCheckInterval() const
Returns the repeater range check period in seconds.
Definition d878uv_codeplug.cc:1853
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:1881
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:1902
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:1730
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:1769
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:1906
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:1866
virtual AnytoneDMRSettingsExtension::SMSFormat smsFormat() const
Returns the SMS format.
Definition d878uv_codeplug.cc:1713
bool updateConfig(Context &ctx) override
Updates the abstract config from general settings.
Definition d878uv_codeplug.cc:2136
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:1875
virtual Interval muteDelay() const
Returns the mute delay in minutes.
Definition d878uv_codeplug.cc:1955
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:1968
bool defaultChannel() const override
Returns true if the default boot channel is enabled.
Definition d878uv_codeplug.cc:1774
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:1924
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:3680
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1827
virtual QString seller() const
Returns the seller.
Definition d878uv_codeplug.cc:3810
virtual QString dealerCode() const
Returns the dealer code.
Definition d878uv_codeplug.cc:3795
virtual bool bandSelect() const
Returns true if band select is enabled.
Definition d878uv_codeplug.cc:3738
virtual void setProgramPassword(const QString &passwd)
Sets the program password.
Definition d878uv_codeplug.cc:3765
RadioInfoElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:3696
virtual QString maintainedDate() const
Returns the maintained date.
Definition d878uv_codeplug.cc:3790
virtual QString productionDate() const
Returns the production date.
Definition d878uv_codeplug.cc:3780
virtual QString manufacturerCode() const
Returns the manufacturer code.
Definition d878uv_codeplug.cc:3785
virtual QString areaCode() const
Returns the area code.
Definition d878uv_codeplug.cc:3770
virtual bool international() const
Returns true if "international" is enabled.
Definition d878uv_codeplug.cc:3729
virtual bool fullTest() const
Returns true if full test is enabled.
Definition d878uv_codeplug.cc:3715
FrequencyRange
Possible frequency ranges for the AT-D878UV.
Definition d878uv_codeplug.hh:1838
virtual void setBandSelectPassword(const QString &passwd)
Sets the band-select password.
Definition d878uv_codeplug.cc:3751
virtual void enableInternational(bool enable)
Enables/disables "international".
Definition d878uv_codeplug.cc:3733
virtual QString sellDate() const
Returns the sell date.
Definition d878uv_codeplug.cc:3805
virtual void setFrequencyRange(FrequencyRange range)
Sets the frequency range.
Definition d878uv_codeplug.cc:3724
virtual QString programPassword() const
Returns the program password.
Definition d878uv_codeplug.cc:3761
virtual QString serialNumber() const
Returns the serial number.
Definition d878uv_codeplug.cc:3775
virtual QString radioType() const
Returns the radio type.
Definition d878uv_codeplug.cc:3756
virtual FrequencyRange frequencyRange() const
Returns the frequency range.
Definition d878uv_codeplug.cc:3720
virtual QString bandSelectPassword() const
Returns the band-select password.
Definition d878uv_codeplug.cc:3747
void clear()
Resets the info.
Definition d878uv_codeplug.cc:3709
virtual void enableBandSelect(bool enable)
Enables/disables band select.
Definition d878uv_codeplug.cc:3742
virtual QString maintainerNote() const
Returns the maintainer note.
Definition d878uv_codeplug.cc:3815
virtual QString stockDate() const
Returns the stock date.
Definition d878uv_codeplug.cc:3800
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1605
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:1525
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:1535
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:1520
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:1679
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:1623
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:4326
void setBitmaps(Context &ctx)
Sets all bitmaps for the given config.
Definition d878uv_codeplug.cc:3886
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:3938
D878UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition d878uv_codeplug.cc:3823
bool encodeGPSSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the GPS settings section.
Definition d878uv_codeplug.cc:4168
bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Link the general settings.
Definition d878uv_codeplug.cc:4144
void allocateGPSSystems()
Allocates GPS settings memory section.
Definition d878uv_codeplug.cc:4159
bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Create channels from codeplug.
Definition d878uv_codeplug.cc:4029
virtual void allocateAESKeys()
Allocates memory to encode/decode AES keys.
Definition d878uv_codeplug.cc:4364
bool createElements(Context &ctx, const ErrorStack &err=ErrorStack())
Creates all config objects from the downloaded codeplug.
Definition d878uv_codeplug.cc:3958
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:4087
virtual bool createARC4Keys(Context &ctx, const ErrorStack &err=ErrorStack())
Decode ARC4 keys from the codeplug.
Definition d878uv_codeplug.cc:4463
virtual bool createAESKeys(Context &ctx, const ErrorStack &err=ErrorStack())
Decode AES keys from the codeplug.
Definition d878uv_codeplug.cc:4396
void allocateChannels()
Allocate channels from bitmap.
Definition d878uv_codeplug.cc:3989
void allocateForEncoding()
Allocate all code-plug elements that are defined through the common Config.
Definition d878uv_codeplug.cc:3866
bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Link channels.
Definition d878uv_codeplug.cc:4055
bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the general settings section.
Definition d878uv_codeplug.cc:4126
void allocateGeneralSettings()
Allocates general settings memory section.
Definition d878uv_codeplug.cc:4118
bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack())
Links all previously created config objects.
Definition d878uv_codeplug.cc:3976
virtual bool encodeARC4Keys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode all ARC4 keys.
Definition d878uv_codeplug.cc:4446
void allocateForDecoding()
Allocate all code-plug elements that must be downloaded for decoding.
Definition d878uv_codeplug.cc:3875
virtual bool linkRoaming(Context &ctx, const ErrorStack &err=ErrorStack())
Links roaming channels and zones.
Definition d878uv_codeplug.cc:4356
virtual bool encodeRoaming(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the roaming channels and zones.
Definition d878uv_codeplug.cc:4292
bool allocateBitmaps()
Allocates the bitmaps.
Definition d878uv_codeplug.cc:3836
void allocateUpdated()
Allocate all code-plug elements that must be written back to the device to maintain a working codeplu...
Definition d878uv_codeplug.cc:3853
Config * preprocess(Config *config, const ErrorStack &err) const
Returns a prepared configuration for this particular radio.
Definition d878uv_codeplug.cc:3914
bool linkGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack())
Link GPS systems.
Definition d878uv_codeplug.cc:4237
bool createGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack())
Create GPS systems from codeplug.
Definition d878uv_codeplug.cc:4196
virtual bool encodeAESKeys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode all AES keys.
Definition d878uv_codeplug.cc:4379
virtual void allocateRoaming()
Allocates memory to store all roaming channels and zones.
Definition d878uv_codeplug.cc:4259
bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode channels into codeplug.
Definition d878uv_codeplug.cc:4011
virtual bool decodeZone(int i, Zone *zone, Context &ctx, const ErrorStack &err=ErrorStack())
Function to decode a single zone.
Definition d878uv_codeplug.cc:4101
bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the general settings section.
Definition d878uv_codeplug.cc:4135
virtual void allocateZones()
Allocate zones from bitmaps.
Definition d878uv_codeplug.cc:4080
virtual void allocateARC4Keys()
Allocates memory to encode/decode ARC4 keys.
Definition d878uv_codeplug.cc:4431
uint32_t size() const
Returns the total size of the DFU file.
Definition dfufile.cc:52
TimeSlot
Possible timeslots for digital channels.
Definition channel.hh:398
Represents a digital contact, that is a DMR number.
Definition contact.hh:141
Type
Possible call types for a contact.
Definition contact.hh:155
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition errorstack.hh:43
This class represents a GPS signalling system within the codeplug.
Definition gpssystem.hh:65
Represents a time interval.
Definition interval.hh:11
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:15
Represents a roaming channel.
Definition roamingchannel.hh:16
Represents a RoamingZone within the abstract device configuration.
Definition roamingzone.hh:15
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
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:294
Some internal used offsets within the element.
Definition d868uv_codeplug.hh:578
Some limits for the codeplug.
Definition d868uv_codeplug.hh:836
Some internal used offsets within the codeplug.
Definition d868uv_codeplug.hh:860
Some limits of the key element.
Definition d878uv_codeplug.hh:1717
static constexpr unsigned int keySize()
The maximum key length in bytes.
Definition d878uv_codeplug.hh:1721
static constexpr unsigned int maxIndex()
The maximum index.
Definition d878uv_codeplug.hh:1719
Some internal offsets.
Definition d878uv_codeplug.hh:1726
Some static limits for this element.
Definition d878uv_codeplug.hh:1380
static constexpr unsigned int fmFrequencies()
Maximum number of FM APRS frequencies.
Definition d878uv_codeplug.hh:1388
static constexpr unsigned int dmrSystems()
Maximum number of DMR APRS systems.
Definition d878uv_codeplug.hh:1386
static constexpr unsigned int callLength()
Maximum length of call signs.
Definition d878uv_codeplug.hh:1382
static constexpr unsigned int pathLength()
Maximum length of the repeater path string.
Definition d878uv_codeplug.hh:1384
Internal used offsets within the codeplug element.
Definition d878uv_codeplug.hh:1393
Some limits of the key element.
Definition d878uv_codeplug.hh:1782
static constexpr unsigned int keySize()
The maximum key length in bytes.
Definition d878uv_codeplug.hh:1786
static constexpr unsigned int maxIndex()
The maximum index.
Definition d878uv_codeplug.hh:1784
Some internal offsets.
Definition d878uv_codeplug.hh:1791
Some limits.
Definition d878uv_codeplug.hh:1473
static constexpr unsigned int length()
Maximum message length.
Definition d878uv_codeplug.hh:1474
Internal used offsets within the channel element.
Definition d878uv_codeplug.hh:228
Some internal used offsets.
Definition d878uv_codeplug.hh:296
Some limits for the settings.
Definition d878uv_codeplug.hh:1079
static constexpr unsigned int maxBluetoothPTTSleepDelay()
Maximum delay in minutes.
Definition d878uv_codeplug.hh:1080
Internal used offset within the element.
Definition d878uv_codeplug.hh:1085
Some limits for the element.
Definition d878uv_codeplug.hh:1148
static constexpr unsigned int nameLength()
Maximum name length.
Definition d878uv_codeplug.hh:1149
Some internal offsets within the element.
Definition d878uv_codeplug.hh:1154
Device specific key functions.
Definition d878uv_codeplug.hh:317
static uint8_t encode(AnytoneKeySettingsExtension::KeyFunction tone)
Encodes key function.
Definition d878uv_codeplug.cc:866
KeyFunctionCode
Device specific key functions.
Definition d878uv_codeplug.hh:326
static AnytoneKeySettingsExtension::KeyFunction decode(uint8_t code)
Decodes key function.
Definition d878uv_codeplug.cc:924
Some internal used offsets within the element.
Definition d878uv_codeplug.hh:802
Device specific time zones.
Definition d878uv_codeplug.hh:342
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:1990
static constexpr unsigned int analogAPRSRXEntries()
Maximum number of analog APRS RX entries.
Definition d878uv_codeplug.hh:1991
static constexpr unsigned int roamingChannels()
Maximum number of roaming channels.
Definition d878uv_codeplug.hh:1992
static constexpr unsigned int arc4Keys()
Maximum number of ARC4 keys.
Definition d878uv_codeplug.hh:1995
static constexpr unsigned int roamingZones()
Maximum number of roaming zones.
Definition d878uv_codeplug.hh:1993
static constexpr unsigned int aesKeys()
Maximum number of AES keys.
Definition d878uv_codeplug.hh:1994
Channel name and call-sign colors supported by the D878UV.
Definition d878uv_codeplug.hh:51
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition d878uv_codeplug.cc:37
CodedColor
Encoding of the supported colors.
Definition d878uv_codeplug.hh:60
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition d878uv_codeplug.cc:22
Internal offsets within the codeplug.
Definition d878uv_codeplug.hh:2000
Some limits.
Definition d878uv_codeplug.hh:1575
static constexpr unsigned int nameLength()
Maximum name length.
Definition d878uv_codeplug.hh:1576
Some internal offsets within the element.
Definition d878uv_codeplug.hh:1581
Some limits.
Definition d878uv_codeplug.hh:1651
static constexpr unsigned int nameLength()
Maximum name length.
Definition d878uv_codeplug.hh:1652
static constexpr unsigned int numMembers()
Maximum number of roaming channel in zone.
Definition d878uv_codeplug.hh:1653
Some internal offsets within the element.
Definition d878uv_codeplug.hh:1658
Text colors supported by the D878UV.
Definition d878uv_codeplug.hh:66
CodedColor
Encoding of the supported colors.
Definition d878uv_codeplug.hh:75
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition d878uv_codeplug.cc:56
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition d878uv_codeplug.cc:71
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:107
Encodes a selective call.
Definition signaling.hh:13