libdrmconf 0.15.0
A library to program DMR radios.
Loading...
Searching...
No Matches
d878uv_codeplug.hh
1#ifndef D878UV_CODEPLUG_HH
2#define D878UV_CODEPLUG_HH
3
4#include <QDateTime>
5
6#include "d868uv_codeplug.hh"
7#include "signaling.hh"
8#include "gpssystem.hh"
9#include "gnsssettings.hh"
10#include "dmrsettings.hh"
11#include "smsextension.hh"
12
13class Channel;
14class DMRContact;
15class Zone;
16class RXGroupList;
17class ScanList;
18class DMRAPRSSystem;
19class RoamingChannel;
20
21
49{
50 Q_OBJECT
51
52protected:
54 struct NameColor {
55 public:
57 static AnytoneDisplaySettingsExtension::Color decode(uint8_t code);
59 static uint8_t encode(AnytoneDisplaySettingsExtension::Color color);
60
61 protected:
63 typedef enum {
64 Orange=0, Red=1, Yellow=2, Green=3, Turquoise=4, Blue=5, White = 6
65 } CodedColor;
66 };
67
69 struct TextColor {
70 public:
72 static AnytoneDisplaySettingsExtension::Color decode(uint8_t code);
74 static uint8_t encode(AnytoneDisplaySettingsExtension::Color color);
75
76 protected:
78 typedef enum {
79 White=0, Black=1, Orange=2, Red=3, Yellow=4, Green=5, Turquoise=6, Blue=7
80 } CodedColor;
81 };
82
83public:
93 {
94 public:
96 enum class PTTId {
97 Off = 0,
98 Start = 1,
99 End = 2,
100 Both = 3
101 };
102
104 enum class APRSType {
105 Off = 0, FM = 1, DMR = 2
106 };
107
109 enum class APRSPTT {
110 Off = 0,
111 Start = 1,
112 End = 2
113 };
114
117 AES, ARC4
118 };
119
120 protected:
122 ChannelElement(uint8_t *ptr, unsigned size);
123
124 public:
126 explicit ChannelElement(uint8_t *ptr);
127
129 void clear() override;
130
132 virtual PTTId pttIDSetting() const;
134 virtual void setPTTIDSetting(PTTId ptt);
135
137 virtual bool roamingEnabled() const;
139 virtual void enableRoaming(bool enable);
140 // Moved
142 bool dataACK() const override;
144 void enableDataACK(bool enable) override;
146 virtual bool autoScan() const ;
148 virtual void enableAutoScan(bool enable);
149
151 APRSType txAPRSType() const;
153 void setTXAPRSType(APRSType aprsType);
154
163
165 unsigned digitalAPRSSystemIndex() const override;
167 void setDigitalAPRSSystemIndex(unsigned idx) override;
168
170 virtual int frequenyCorrection() const;
172 virtual void setFrequencyCorrection(int corr);
173
175 virtual unsigned int fmAPRSFrequencyIndex() const;
177 virtual void setFMAPRSFrequencyIndex(unsigned int idx);
178
180 virtual bool sendTalkerAlias() const;
182 virtual void enableSendTalkerAlias(bool enable);
183
187 virtual void setEncryptionType(AdvancedEncryptionType type);
188
190 virtual bool hasAESEncryptionKeyIndex() const;
193 virtual unsigned int aesEncryptionKeyIndex() const;
195 virtual void setAESEncryptionKeyIndex(unsigned int index);
197 virtual void clearAESEncryptionKeyIndex();
198
200 virtual bool hasARC4EncryptionKeyIndex() const;
203 virtual unsigned int arc4EncryptionKeyIndex() const;
205 virtual void setARC4EncryptionKeyIndex(unsigned int index);
207 virtual void clearARC4EncryptionKeyIndex();
208
210 DMREncryptionType dmrEncryptionType() const override;
212 void setDMREncryptionType(DMREncryptionType type) override;
214 bool hasDMREncryptionKeyIndex() const override;
216 unsigned dmrEncryptionKeyIndex() const override;
218 void setDMREncryptionKeyIndex(unsigned idx) override;
220 void clearDMREncryptionKeyIndex() override;
221
222 bool adaptiveTDMA() const override;
223 void enableAdaptiveTDMA(bool enable) override;
224
226 Channel *toChannelObj(Context &ctx) const override;
228 bool linkChannelObj(Channel *c, Context &ctx) const override;
230 bool fromChannelObj(const Channel *c, Context &ctx) override;
231
232 protected:
236 static constexpr unsigned int pttIDSetting() { return 0x0019; }
237 static constexpr unsigned int aesKeyIndex() { return 0x0022; }
238 static constexpr Bit roaming() { return {0x0034, 2}; }
239 static constexpr Bit dataACK() { return {0x0034, 3}; }
240 static constexpr Bit autoScan() { return {0x0034, 4}; }
241 static constexpr unsigned int fmAPRSPTTSetting() { return 0x0036; }
242 static constexpr unsigned int dmrAPRSPTTSetting() { return 0x0037; }
243 static constexpr unsigned int dmrAPRSSystemIndex() { return 0x0038; }
244 static constexpr unsigned int frequenyCorrection() { return 0x0039; }
245 static constexpr unsigned int dmrEncryptionKey() { return 0x003a; }
246 static constexpr Bit muteFMAPRS() { return {0x003b, 3}; }
247 static constexpr Bit talkerAlias() { return {0x003b, 4}; }
248 static constexpr Bit advancedEncryptionType() { return {0x003b, 5}; }
249 static constexpr unsigned int fmAPRSFrequencyIndex() { return 0x003c; }
250 static constexpr unsigned int arc4KeyIndex() { return 0x003d; }
251 // Removed
252 static constexpr Bit adaptiveTDMA() { return {0, 0}; }
254 };
255 };
256
257
265 {
266 protected:
268 ChannelExtensionElement(uint8_t *ptr, size_t size);
269
270 public:
272 ChannelExtensionElement(uint8_t *ptr);
273
275 static constexpr unsigned int size() { return ChannelElement::size(); }
276
278 void clear();
279
281 virtual unsigned int bot5ToneIDIndex() const;
283 virtual void setBOT5ToneIDIndex(unsigned int idx);
284
286 virtual unsigned int eot5ToneIDIndex() const;
288 virtual void setEOT5ToneIDIndex(unsigned int idx);
289
291 virtual unsigned int txColorCode() const;
293 virtual void setTXColorCode(unsigned int cc);
294
296 virtual bool updateChannelObj(Channel *c, Context &ctx) const;
298 virtual bool linkChannelObj(Channel *c, Context &ctx) const;
300 virtual bool fromChannelObj(const Channel *c, Context &ctx);
301
302 protected:
304 struct Offset: public Element::Offset {
306 static constexpr unsigned int bot5ToneIDIndex() { return 0x0000; }
307 static constexpr unsigned int eot5ToneIDIndex() { return 0x0001; }
308 static constexpr unsigned int txColorCode() { return 0x0003; }
310 };
311 };
312
313
322 {
323 protected:
325 struct KeyFunction {
326 public:
331
332 protected:
334 typedef enum {
335 Off = 0x00, Voltage = 0x01, Power = 0x02, Repeater = 0x03, Reverse = 0x04,
336 Encryption = 0x05, Call = 0x06, VOX = 0x07, ToggleVFO = 0x08, SubPTT = 0x09,
337 Scan = 0x0a, WFM = 0x0b, Alarm = 0x0c, RecordSwitch = 0x0d, Record = 0x0e, SMS = 0x0f,
338 Dial = 0x10, GPSInformation = 0x11, Monitor = 0x12, ToggleMainChannel = 0x13, HotKey1 = 0x14,
339 HotKey2 = 0x15, HotKey3 = 0x16, HotKey4 = 0x17, HotKey5 = 0x18, HotKey6 = 0x19,
340 WorkAlone = 0x1a, SkipChannel = 0x1b, DMRMonitor = 0x1c, SubChannel = 0x1d,
341 PriorityZone = 0x1e, VFOScan = 0x1f, MICSoundQuality = 0x20, LastCallReply = 0x21,
342 ChannelType = 0x22, Ranging = 0x23, Roaming = 0x24, ChannelRanging = 0x25,
343 MaxVolume = 0x26, Slot = 0x27, APRSType = 0x28, Zone = 0x29, RoamingSet = 0x2a,
344 APRSSet = 0x2b, Mute=0x2c, CtcssDcsSet=0x2d, TBSTSend = 0x2e, Bluetooth = 0x2f,
345 GPS = 0x30, ChannelName = 0x31, CDTScan = 0x32, APRSSend = 0x33, APRSInfo = 0x34,
346 GPSRoaming = 0x35, DIMShut = 0x36, Squelch = 0x38
348 };
349
351 struct TimeZone {
352 public:
354 static uint8_t encode(const QTimeZone& zone);
356 static QTimeZone decode(uint8_t code);
357
358 protected:
360 static QVector<QTimeZone> _timeZones;
361 };
362
363 protected:
376
379 DTMF_DUR_50ms = 0, DTMF_DUR_100ms = 1, DTMF_DUR_200ms = 2, DTMF_DUR_300ms = 3, DTMF_DUR_500ms = 4
380 };
381
383 enum class TBSTFrequency {
384 Hz1000 = 0, Hz1450 = 1, Hz1750 = 2, Hz2100 = 3
385 };
386
388 enum class STEFrequency {
389 Off = 0, Hz55_2 = 1, Hz259_2 = 2
390 };
391
393 enum class BackgroundImage {
394 Default=0, Custom1=1, Custom2=2
395 };
396
398 enum class BacklightDuration {
399 Infinite = 0, _5s = 1, _10s = 2, _15s = 3, _20s = 4, _25s = 5, _30s = 6, _1min=7, _2min=8,
400 _3min = 9, _4min = 10, _5min = 11, _15min = 12, _30min = 13, _45min = 14, _1h = 15
401 };
402
404 enum class SMSFormat {
405 Motorola = 0, Hytera = 1, DMR = 2
406 };
407
408 protected:
410 GeneralSettingsElement(uint8_t *ptr, unsigned size);
411
412 public:
414 GeneralSettingsElement(uint8_t *ptr);
415
417 static constexpr unsigned int size() { return 0x00f0; }
418
420 void clear() override;
421
423 virtual Interval transmitTimeout() const;
425 virtual void setTransmitTimeout(const Interval &tot);
426
428 virtual AnytoneDisplaySettingsExtension::Language language() const;
430 virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang);
431
432 QTimeZone gpsTimeZone() const override;
433 void setGPSTimeZone(const QTimeZone &zone) override;
434
436 virtual Frequency vfoFrequencyStep() const;
438 virtual void setVFOFrequencyStep(Frequency kHz);
439
460
467 virtual double steFrequency() const;
470 virtual void setSTEFrequency(double freq);
471
473 virtual Interval groupCallHangTime() const;
475 virtual void setGroupCallHangTime(Interval sec);
477 virtual Interval privateCallHangTime() const;
479 virtual void setPrivateCallHangTime(Interval sec);
480
482 virtual Interval preWaveDelay() const;
484 virtual void setPreWaveDelay(Interval ms);
486 virtual Interval wakeHeadPeriod() const;
488 virtual void setWakeHeadPeriod(Interval ms);
489
491 virtual unsigned wfmChannelIndex() const;
493 virtual void setWFMChannelIndex(unsigned idx);
495 virtual bool wfmVFOEnabled() const;
497 virtual void enableWFMVFO(bool enable);
498
499 Interval backlightDuration() const override;
500 void setBacklightDuration(Interval intv) override;
501
503 virtual unsigned dtmfToneDuration() const;
505 virtual void setDTMFToneDuration(unsigned ms);
506
508 virtual bool manDown() const;
510 virtual void enableManDown(bool enable);
511
513 virtual bool wfmMonitor() const;
515 virtual void enableWFMMonitor(bool enable);
516
518 virtual Frequency tbstFrequency() const;
520 virtual void setTBSTFrequency(Frequency freq);
521
523 virtual bool proMode() const;
525 virtual void enableProMode(bool enable);
526
528 virtual bool filterOwnID() const;
530 virtual void enableFilterOwnID(bool enable);
532 virtual bool remoteStunKill() const;
534 virtual void enableRemoteStunKill(bool enable);
536 virtual bool remoteMonitor() const;
538 virtual void enableRemoteMonitor(bool enable);
539
541 virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const;
543 virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match);
545 virtual bool monitorColorCodeMatch() const;
547 virtual void enableMonitorColorCodeMatch(bool enable);
549 virtual bool monitorIDMatch() const;
551 virtual void enableMonitorIDMatch(bool enable);
553 virtual bool monitorTimeSlotHold() const;
555 virtual void enableMonitorTimeSlotHold(bool enable);
556
558 virtual Interval manDownDelay() const;
560 virtual void setManDownDelay(Interval sec);
562 virtual unsigned fmCallHold() const;
564 virtual void setFMCallHold(unsigned sec);
565
567 virtual bool gpsMessageEnabled() const;
569 virtual void enableGPSMessage(bool enable);
570
572 virtual bool maintainCallChannel() const;
574 virtual void enableMaintainCallChannel(bool enable);
575
577 virtual unsigned priorityZoneAIndex() const;
579 virtual void setPriorityZoneAIndex(unsigned idx);
581 virtual unsigned priorityZoneBIndex() const;
583 virtual void setPriorityZoneBIndex(unsigned idx);
584
586 virtual bool bluetooth() const;
588 virtual void enableBluetooth(bool enable);
589
591 virtual bool btAndInternalMic() const;
593 virtual void enableBTAndInternalMic(bool enable);
594
596 virtual bool btAndInternalSpeaker() const;
598 virtual void enableBTAndInternalSpeaker(bool enable);
599
601 virtual bool pluginRecTone() const;
603 virtual void enablePluginRecTone(bool enable);
604
606 virtual Interval gpsUpdatePeriod() const override;
608 virtual void setGPSUpdatePeriod(Interval sec) override;
609
611 virtual unsigned int btMicGain() const;
613 virtual void setBTMicGain(unsigned int gain);
615 virtual unsigned int btSpeakerGain() const;
617 virtual void setBTSpeakerGain(unsigned int gain);
618
620 virtual bool displayChannelNumber() const;
622 virtual void enableDisplayChannelNumber(bool enable);
623
624 bool showCurrentContact() const override;
625 void enableShowCurrentContact(bool enable) override;
626
628 virtual Interval autoRoamPeriod() const;
630 virtual void setAutoRoamPeriod(Interval min);
631
632 bool keyToneLevelAdjustable() const override;
633 Level keyToneLevel() const override;
634 void setKeyToneLevel(Level level) override;
635 void setKeyToneLevelAdjustable() override;
636
637 AnytoneDisplaySettingsExtension::Color callDisplayColor() const override;
638 void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color) override;
639
640 bool gpsUnitsImperial() const override;
641 void enableGPSUnitsImperial(bool enable) override;
642
643 bool knobLock() const override;
644 void enableKnobLock(bool enable) override;
645 bool keypadLock() const override;
646 void enableKeypadLock(bool enable) override;
647 bool sidekeysLock() const override;
648 void enableSidekeysLock(bool enable) override;
649 bool keyLockForced() const override;
650 void enableKeyLockForced(bool enable) override;
651
653 virtual Interval autoRoamDelay() const;
655 virtual void setAutoRoamDelay(Interval sec);
656
658 virtual AnytoneDisplaySettingsExtension::Color standbyTextColor() const;
660 virtual void setStandbyTextColor(AnytoneDisplaySettingsExtension::Color color);
665
666 bool showLastHeard() const override;
667 void enableShowLastHeard(bool enable) override;
668
670 virtual SMSExtension::Format smsFormat() const;
672 virtual void setSMSFormat(SMSExtension::Format fmt);
673
675 virtual Frequency autoRepeaterMinFrequencyVHF() const override;
677 virtual void setAutoRepeaterMinFrequencyVHF(Frequency Hz) override;
679 virtual Frequency autoRepeaterMaxFrequencyVHF() const override;
681 virtual void setAutoRepeaterMaxFrequencyVHF(Frequency Hz) override;
682
684 virtual Frequency autoRepeaterMinFrequencyUHF() const override;
686 virtual void setAutoRepeaterMinFrequencyUHF(Frequency Hz) override;
688 virtual Frequency autoRepeaterMaxFrequencyUHF() const override;
690 virtual void setAutoRepeaterMaxFrequencyUHF(Frequency Hz) override;
691
696
698 virtual bool fmSendIDAndContact() const;
700 virtual void enableFMSendIDAndContact(bool enable);
701
702 bool defaultChannel() const override;
703 void enableDefaultChannel(bool enable) override;
704 unsigned defaultZoneIndexA() const override;
705 void setDefaultZoneIndexA(unsigned idx) override;
706 unsigned defaultZoneIndexB() const override;
707 void setDefaultZoneIndexB(unsigned idx) override;
708 bool defaultChannelAIsVFO() const override;
709 unsigned defaultChannelAIndex() const override;
710 void setDefaultChannelAIndex(unsigned idx) override;
711 void setDefaultChannelAToVFO() override;
712 bool defaultChannelBIsVFO() const override;
713 unsigned defaultChannelBIndex() const override;
714 void setDefaultChannelBIndex(unsigned idx) override;
715 void setDefaultChannelBToVFO() override;
716
718 virtual unsigned defaultRoamingZoneIndex() const;
720 virtual void setDefaultRoamingZoneIndex(unsigned idx);
721
723 virtual bool repeaterRangeCheck() const;
725 virtual void enableRepeaterRangeCheck(bool enable);
727 virtual Interval repeaterRangeCheckInterval() const;
729 virtual void setRepeaterRangeCheckInterval(Interval sec);
731 virtual unsigned repeaterRangeCheckCount() const;
733 virtual void setRepeaterRangeCheckCount(unsigned n);
734
739
741 virtual Interval txBacklightDuration() const;
743 virtual void setTXBacklightDuration(Interval sec);
744
746 virtual bool separateDisplay() const;
748 virtual void enableSeparateDisplay(bool enable);
749
750 bool keepLastCaller() const override;
751 void enableKeepLastCaller(bool enable) override;
752
754 virtual AnytoneDisplaySettingsExtension::Color channelNameColor() const;
756 virtual void setChannelNameColor(AnytoneDisplaySettingsExtension::Color color);
757
759 virtual bool repeaterCheckNotification() const;
761 virtual void enableRepeaterCheckNotification(bool enable);
762
767
769 virtual bool roaming() const;
771 virtual void enableRoaming(bool enable);
772
774 virtual Interval muteDelay() const;
776 virtual void setMuteDelay(Interval min);
777
779 virtual unsigned repeaterCheckNumNotifications() const;
781 virtual void setRepeaterCheckNumNotifications(unsigned num);
782
784 virtual bool bootGPSCheck() const;
786 virtual void enableBootGPSCheck(bool enable);
788 virtual bool bootReset() const;
790 virtual void enableBootReset(bool enable);
791
793 virtual bool btHoldTimeEnabled() const;
795 virtual bool btHoldTimeInfinite() const;
797 virtual Interval btHoldTime() const;
799 virtual void setBTHoldTime(Interval interval);
801 virtual void setBTHoldTimeInfinite();
803 virtual void disableBTHoldTime();
804
806 virtual Interval btRXDelay() const;
808 virtual void setBTRXDelay(Interval delay);
809
810 bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err) override;
811 bool updateConfig(Context &ctx, const ErrorStack &err) override;
812 bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err) override;
813
814 public:
817 // Valid repeater-out-of-range notification counts.
818 static constexpr Range<unsigned int> repeaterOORNotificationCount() { return {1, 10}; }
819 };
820
821 protected:
825 static constexpr unsigned int transmitTimeout() { return 0x0004; }
826 static constexpr unsigned int language() { return 0x0005; }
827 static constexpr unsigned int vfoFrequencyStep() { return 0x0008; }
828 static constexpr unsigned int steType() { return 0x0017; }
829 static constexpr unsigned int steFrequency() { return 0x0018; }
830 static constexpr unsigned int groupCallHangTime() { return 0x0019; }
831 static constexpr unsigned int privateCallHangTime() { return 0x001a; }
832 static constexpr unsigned int preWaveDelay() { return 0x001b; }
833 static constexpr unsigned int wakeHeadPeriod() { return 0x001c; }
834 static constexpr unsigned int wfmChannelIndex() { return 0x001d; }
835 static constexpr unsigned int wfmVFOEnabled() { return 0x001e; }
836 static constexpr unsigned int dtmfToneDuration() { return 0x0023; }
837 static constexpr unsigned int manDown() { return 0x0024; }
838 static constexpr unsigned int wfmMonitor() { return 0x002b; }
839 static constexpr unsigned int tbstFrequency() { return 0x002e; }
840 static constexpr unsigned int proMode() { return 0x0034; }
841 static constexpr unsigned int filterOwnID() { return 0x0038; }
842 static constexpr unsigned int remoteStunKill() { return 0x003c; }
843 static constexpr unsigned int remoteMonitor() { return 0x003e; }
844 static constexpr unsigned int monSlotMatch() { return 0x0049; }
845 static constexpr unsigned int monColorCodeMatch() { return 0x004a; }
846 static constexpr unsigned int monIDMatch() { return 0x004b; }
847 static constexpr unsigned int monTimeSlotHold() { return 0x004c; }
848 static constexpr unsigned int manDownDelay() { return 0x004f; }
849 static constexpr unsigned int fmCallHold() { return 0x0050; }
850 static constexpr unsigned int enableGPSMessage() { return 0x0053; }
851 static constexpr unsigned int maintainCallChannel() { return 0x006e; }
852 static constexpr unsigned int priorityZoneA() { return 0x006f; }
853 static constexpr unsigned int priorityZoneB() { return 0x0070; }
854 static constexpr unsigned int bluetooth() { return 0x00b1; }
855 static constexpr unsigned int btAndInternalMic() { return 0x00b2; }
856 static constexpr unsigned int btAndInternalSpeaker(){ return 0x00b3; }
857 static constexpr unsigned int pluginRecTone() { return 0x00b4; }
858 static constexpr unsigned int gpsRangingInterval() { return 0x00b5; }
859 static constexpr unsigned int btMicGain() { return 0x00b6; }
860 static constexpr unsigned int btSpeakerGain() { return 0x00b7; }
861 static constexpr unsigned int showChannelNumber() { return 0x00b8; }
862 static constexpr unsigned int showCurrentContact() { return 0x00b9; }
863 static constexpr unsigned int autoRoamPeriod() { return 0x00ba; }
864 static constexpr unsigned int keyToneLevel() { return 0x00bb; }
865 static constexpr unsigned int callColor() { return 0x00bc; }
866 static constexpr unsigned int gpsUnits() { return 0x00bd; }
867 static constexpr unsigned int knobLock() { return 0x00be; }
868 static constexpr unsigned int keypadLock() { return 0x00be; }
869 static constexpr unsigned int sideKeyLock() { return 0x00be; }
870 static constexpr unsigned int forceKeyLock() { return 0x00be; }
871 static constexpr unsigned int autoRoamDelay() { return 0x00bf; }
872 static constexpr unsigned int standbyTextColor() { return 0x00c0; }
873 static constexpr unsigned int standbyBackground() { return 0x00c1; }
874 static constexpr unsigned int showLastHeard() { return 0x00c2; }
875 static constexpr unsigned int smsFormat() { return 0x00c3; }
876 static constexpr unsigned int autoRepMinVHF() { return 0x00c4; }
877 static constexpr unsigned int autoRepMaxVHF() { return 0x00c8; }
878 static constexpr unsigned int autoRepMinUHF() { return 0x00cc; }
879 static constexpr unsigned int autoRepMaxUHF() { return 0x00d0; }
880 static constexpr unsigned int autoRepeaterDirB() { return 0x00d4; }
881 static constexpr unsigned int fmSendIDAndContact() { return 0x00d5; }
882 static constexpr unsigned int defaultChannels() { return 0x00d7; }
883 static constexpr unsigned int defaultZoneA() { return 0x00d8; }
884 static constexpr unsigned int defaultZoneB() { return 0x00d9; }
885 static constexpr unsigned int defaultChannelA() { return 0x00da; }
886 static constexpr unsigned int defaultChannelB() { return 0x00db; }
887 static constexpr unsigned int defaultRoamingZone() { return 0x00dc; }
888 static constexpr unsigned int repRangeCheck() { return 0x00dd; }
889 static constexpr unsigned int rangeCheckInterval() { return 0x00de; }
890 static constexpr unsigned int rangeCheckCount() { return 0x00df; }
891 static constexpr unsigned int roamStartCondition() { return 0x00e0; }
892 static constexpr unsigned int txBacklightDuration() { return 0x00e1; }
893 static constexpr unsigned int displaySeparator() { return 0x00e2; }
894 static constexpr unsigned int keepLastCaller() { return 0x00e3; }
895 static constexpr unsigned int channelNameColor() { return 0x00e4; }
896 static constexpr unsigned int repCheckNotify() { return 0x00e5; }
897 static constexpr unsigned int rxBacklightDuration() { return 0x00e6; }
898 static constexpr unsigned int roaming() { return 0x00e7; }
899 static constexpr unsigned int muteDelay() { return 0x00e9; }
900 static constexpr unsigned int repCheckNumNotify() { return 0x00ea; }
901 static constexpr unsigned int bootGPSCheck() { return 0x00eb; }
902 static constexpr unsigned int bootReset() { return 0x00ec; }
903 static constexpr unsigned int btHoldTime() { return 0x00ed; }
904 static constexpr unsigned int btRXDelay() { return 0x00ee; }
906 };
907 };
908
914 {
915 protected:
918 enum class GNSS {
919 GPS = 0, Beidou = 1, GPS_Beidou = 2, Glonass = 3, GPS_Glonass = 4, Beidou_Glonass = 5,
920 GPS_Beidou_Glonass = 6
921 };
922
925 ISO8 = 0, ISO7 = 1, Unicode = 2,
926 };
927
928 protected:
930 ExtendedSettingsElement(uint8_t *ptr, unsigned size);
931
932 public:
934 explicit ExtendedSettingsElement(uint8_t *ptr);
935
937 static constexpr unsigned int size() { return 0x00000200; }
938
940 void clear();
941
943 virtual bool sendTalkerAlias() const;
945 virtual void enableSendTalkerAlias(bool enable);
946
948 virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const;
950 virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode);
951
956
958 virtual bool bluetoothPTTLatch() const;
960 virtual void enableBluetoothPTTLatch(bool enable);
961
963 virtual bool infiniteBluetoothPTTSleepDelay() const;
965 virtual Interval bluetoothPTTSleepDelay() const;
967 virtual void setBluetoothPTTSleepDelay(Interval delay);
970
972 virtual bool hasAutoRepeaterUHF2OffsetIndex() const;
974 virtual unsigned autoRepeaterUHF2OffsetIndex() const;
976 virtual void setAutoRepeaterUHF2OffsetIndex(unsigned idx);
981 virtual bool hasAutoRepeaterVHF2OffsetIndex() const;
983 virtual unsigned autoRepeaterVHF2OffsetIndex() const;
985 virtual void setAutoRepeaterVHF2OffsetIndex(unsigned idx);
988
1005
1007 virtual GNSSSettings::Systems gnss() const;
1009 virtual void setGNSS(GNSSSettings::Systems mode);
1010
1012 virtual Interval steDuration() const;
1014 virtual void setSTEDuration(Interval dur);
1015
1017 virtual bool infiniteManDialGroupCallHangTime() const;
1019 virtual Interval manDialGroupCallHangTime() const;
1021 virtual void setManDialGroupCallHangTime(Interval dur);
1024
1026 virtual bool infiniteManDialPrivateCallHangTime() const;
1028 virtual Interval manDialPrivateCallHangTime() const;
1030 virtual void setManDialPrivateCallHangTime(Interval dur);
1033
1034 AnytoneDisplaySettingsExtension::Color channelBNameColor() const;
1035 void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color);
1036
1038 virtual AnytoneDMRSettingsExtension::EncryptionType encryption() const;
1040 virtual void setEncryption(AnytoneDMRSettingsExtension::EncryptionType mode);
1041
1043 virtual bool totNotification() const;
1045 virtual void enableTOTNotification(bool enable);
1046
1048 virtual bool atpc() const;
1050 virtual void enableATPC(bool enable);
1051
1052 AnytoneDisplaySettingsExtension::Color zoneANameColor() const;
1053 void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color);
1054 AnytoneDisplaySettingsExtension::Color zoneBNameColor() const;
1055 void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color);
1056
1058 virtual bool resetAutoShutdownOnCall() const;
1060 virtual void enableResetAutoShutdownOnCall(bool enable);
1061
1063 virtual bool showColorCode() const;
1065 virtual void enableShowColorCode(bool enable);
1067 virtual bool showTimeSlot() const;
1069 virtual void enableShowTimeSlot(bool enable);
1071 virtual bool showChannelType() const;
1073 virtual void enableShowChannelType(bool enable);
1074
1076 virtual bool fmIdleTone() const;
1078 virtual void enableFMIdleTone(bool enable);
1079
1081 virtual AnytoneDisplaySettingsExtension::DateFormat dateFormat() const;
1083 virtual void setDateFormat(AnytoneDisplaySettingsExtension::DateFormat format);
1084
1086 virtual Level fmMicGain() const;
1088 virtual void setFMMicGain(Level gain);
1089
1091 virtual bool gpsRoaming() const;
1093 virtual void enableGPSRoaming(bool enable);
1094
1096 virtual void callEndToneMelody(Melody &melody) const;
1098 virtual void setCallEndToneMelody(const Melody &melody);
1100 virtual void allCallToneMelody(Melody &melody) const;
1102 virtual void setAllCallToneMelody(const Melody &melody);
1103
1105 virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err);
1107 virtual bool updateConfig(Context &ctx, const ErrorStack &err);
1109 virtual bool linkConfig(Context &ctx, const ErrorStack &err);
1110
1111 public:
1114 static constexpr unsigned int maxBluetoothPTTSleepDelay() { return 4; }
1115 static constexpr Range<unsigned int> micGain() { return {0,4}; }
1116 };
1117
1118 protected:
1122 static constexpr unsigned int sendTalkerAlias() { return 0x0000; }
1123 static constexpr unsigned int talkerAliasDisplay() { return 0x001e; }
1124 static constexpr unsigned int talkerAliasEncoding() { return 0x001f; }
1125 static constexpr unsigned int btPTTLatch() { return 0x0020; }
1126 static constexpr unsigned int autoRepeaterUHF2OffsetIndex() { return 0x0022; }
1127 static constexpr unsigned int autoRepeaterVHF2OffsetIndex() { return 0x0023; }
1128 static constexpr unsigned int autoRepeaterVHF2MinFrequency() { return 0x0024; }
1129 static constexpr unsigned int autoRepeaterVHF2MaxFrequency() { return 0x0028; }
1130 static constexpr unsigned int autoRepeaterUHF2MinFrequency() { return 0x002c; }
1131 static constexpr unsigned int autoRepeaterUHF2MaxFrequency() { return 0x0030; }
1132 static constexpr unsigned int btPTTSleepDelay() { return 0x0034; }
1133 static constexpr unsigned int gpsMode() { return 0x0035; }
1134 static constexpr unsigned int steDuration() { return 0x0036; }
1135 static constexpr unsigned int manGrpCallHangTime() { return 0x0037; }
1136 static constexpr unsigned int manPrivCallHangTime() { return 0x0038; }
1137 static constexpr unsigned int channelBNameColor() { return 0x0039; }
1138 static constexpr unsigned int encryptionType() { return 0x003a; }
1139 static constexpr unsigned int totNotification() { return 0x003b; }
1140 static constexpr unsigned int atpc() { return 0x003c; }
1141 static constexpr unsigned int zoneANameColor() { return 0x003d; }
1142 static constexpr unsigned int zoneBNameColor() { return 0x003e; }
1143 static constexpr unsigned int autoShutdownMode() { return 0x003f; }
1144 static constexpr Bit displayColorCode() { return {0x0040, 2}; }
1145 static constexpr Bit displayTimeSlot() { return {0x0040, 1}; }
1146 static constexpr Bit displayChannelType() { return {0x0040, 0}; }
1147 static constexpr unsigned int fmIdleTone() { return 0x0041; }
1148 static constexpr unsigned int dateFormat() { return 0x0042; }
1149 static constexpr unsigned int analogMicGain() { return 0x0043; }
1150 static constexpr unsigned int gpsRoaming() { return 0x0044; }
1151 static constexpr unsigned int callEndTones() { return 0x0046; }
1152 static constexpr unsigned int callEndDurations() { return 0x0050; }
1153 static constexpr unsigned int allCallTones() { return 0x005a; }
1154 static constexpr unsigned int allCallDurations() { return 0x0064; }
1156 };
1157 };
1158
1159
1166 {
1167 protected:
1169 APRSSettingsElement(uint8_t *ptr, unsigned size);
1170
1172 enum class SignalingType {
1173 Off=0, CTCSS=1, DCS=2
1174 };
1175
1176 public:
1178 explicit APRSSettingsElement(uint8_t *ptr);
1179
1181 static constexpr unsigned int size() { return 0x0100; }
1182
1184 void clear();
1185 bool isValid() const;
1186
1188 virtual Interval fmTXDelay() const;
1190 virtual void setFMTXDelay(Interval ms);
1191
1193 virtual SelectiveCall txTone() const;
1195 virtual void setTXTone(const SelectiveCall &code);
1196
1198 virtual Interval manualTXInterval() const;
1200 virtual void setManualTXInterval(Interval sec);
1201
1203 virtual bool autoTX() const;
1205 virtual Interval autoTXInterval() const;
1207 virtual void setAutoTXInterval(Interval sec);
1209 virtual void disableAutoTX();
1210
1212 virtual bool fixedLocationEnabled() const;
1214 virtual QGeoCoordinate fixedLocation() const;
1216 virtual void setFixedLocation(const QGeoCoordinate& loc);
1218 virtual void enableFixedLocation(bool enable);
1219
1221 virtual QString destination() const;
1223 virtual unsigned destinationSSID() const;
1225 virtual void setDestination(const QString &call, unsigned ssid);
1227 virtual QString source() const;
1229 virtual unsigned sourceSSID() const;
1231 virtual void setSource(const QString &call, unsigned ssid);
1232
1234 virtual QString path() const;
1236 virtual void setPath(const QString &path);
1237
1239 virtual FMAPRSSystem::Icon icon() const;
1241 virtual void setIcon(FMAPRSSystem::Icon icon);
1242
1244 virtual Channel::Power power() const;
1246 virtual void setPower(Channel::Power power);
1247
1249 virtual Interval fmPreWaveDelay() const;
1251 virtual void setFMPreWaveDelay(Interval ms);
1252
1254 virtual bool dmrChannelIsSelected(unsigned n) const;
1256 virtual unsigned dmrChannelIndex(unsigned n) const;
1258 virtual void setDMRChannelIndex(unsigned n, unsigned idx);
1260 virtual void setDMRChannelSelected(unsigned n);
1261
1263 virtual unsigned dmrDestination(unsigned n) const;
1265 virtual void setDMRDestination(unsigned n, unsigned idx);
1266
1268 virtual DMRContact::Type dmrCallType(unsigned n) const;
1270 virtual void setDMRCallType(unsigned n, DMRContact::Type type);
1271
1273 virtual bool dmrTimeSlotOverride(unsigned n);
1275 virtual DMRChannel::TimeSlot dmrTimeSlot(unsigned n) const;
1277 virtual void setDMRTimeSlot(unsigned n, DMRChannel::TimeSlot ts);
1279 virtual void clearDMRTimeSlotOverride(unsigned n);
1280
1282 virtual bool dmrRoaming() const;
1284 virtual void enableDMRRoaming(bool enable);
1285
1287 virtual Interval dmrPreWaveDelay() const;
1289 virtual void setDMRPreWaveDelay(Interval ms);
1290
1292 virtual bool infiniteDisplayTime() const;
1294 virtual Interval displayTime() const;
1296 virtual void setDisplayTime(Interval dur);
1298 virtual void setDisplayTimeInifinite();
1299
1304
1306 virtual bool fmPassAll() const;
1308 virtual void enableFMPassAll(bool enable);
1309
1311 virtual bool fmFrequencySet(unsigned int n) const;
1313 virtual Frequency fmFrequency(unsigned int n) const;
1315 virtual void setFMFrequency(unsigned int n, Frequency f);
1317 virtual void clearFMFrequency(unsigned int n);
1318
1320 virtual bool reportPosition() const;
1322 virtual void enableReportPosition(bool enable);
1324 virtual bool reportMicE() const;
1326 virtual void enableReportMicE(bool enable);
1328 virtual bool reportObject() const;
1330 virtual void enableReportObject(bool enable);
1332 virtual bool reportItem() const;
1334 virtual void enableReportItem(bool enable);
1336 virtual bool reportMessage() const;
1338 virtual void enableReportMessage(bool enable);
1340 virtual bool reportWeather() const;
1342 virtual void enableReportWeather(bool enable);
1344 virtual bool reportNMEA() const;
1346 virtual void enableReportNMEA(bool enable);
1348 virtual bool reportStatus() const;
1350 virtual void enableReportStatus(bool enable);
1352 virtual bool reportOther() const;
1354 virtual void enableReportOther(bool enable);
1355
1357 virtual bool fromConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1359 virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1360
1362 virtual bool fromFMAPRSSystem(const FMAPRSSystem *sys, Context &ctx,
1363 const ErrorStack &err=ErrorStack());
1365 virtual FMAPRSSystem *toFMAPRSSystem(Context &ctx, const ErrorStack &err=ErrorStack());
1368 virtual bool linkFMAPRSSystem(FMAPRSSystem *sys, Context &ctx);
1369
1371 virtual bool fromDMRAPRSSystems(Context &ctx);
1373 virtual bool fromDMRAPRSSystemObj(unsigned int idx, DMRAPRSSystem *sys, Context &ctx);
1375 virtual DMRAPRSSystem *toDMRAPRSSystemObj(int idx) const;
1377 virtual bool linkDMRAPRSSystem(int idx, DMRAPRSSystem *sys, Context &ctx) const;
1378
1379 public:
1381 struct Limit {
1383 static constexpr unsigned int callLength() { return 0x0006; }
1385 static constexpr unsigned int pathLength() { return 0x0020; }
1387 static constexpr unsigned int dmrSystems() { return 0x0008; }
1389 static constexpr unsigned int fmFrequencies() { return 0x0008; }
1390 };
1391
1392 protected:
1394 struct Offset {
1396 static constexpr unsigned int fmTXDelay() { return 0x0005; }
1397 static constexpr unsigned int fmSigType() { return 0x0006; }
1398 static constexpr unsigned int fmCTCSS() { return 0x0007; }
1399 static constexpr unsigned int fmDCS() { return 0x0008; }
1400 static constexpr unsigned int manualTXInterval() { return 0x000a; }
1401 static constexpr unsigned int autoTXInterval() { return 0x000b; }
1402 static constexpr unsigned int fmTXMonitor() { return 0x000c; }
1403 static constexpr unsigned int fixedLocation() { return 0x000d; }
1404 static constexpr unsigned int fixedLatDeg() { return 0x000e; }
1405 static constexpr unsigned int fixedLatMin() { return 0x000f; }
1406 static constexpr unsigned int fixedLatSec() { return 0x0010; }
1407 static constexpr unsigned int fixedLatSouth() { return 0x0011; }
1408 static constexpr unsigned int fixedLonDeg() { return 0x0012; }
1409 static constexpr unsigned int fixedLonMin() { return 0x0013; }
1410 static constexpr unsigned int fixedLonSec() { return 0x0014; }
1411 static constexpr unsigned int fixedLonWest() { return 0x0015; }
1412 static constexpr unsigned int destinationCall() { return 0x0016; }
1413 static constexpr unsigned int destinationSSID() { return 0x001c; }
1414 static constexpr unsigned int sourceCall() { return 0x001d; }
1415 static constexpr unsigned int sourceSSID() { return 0x0023; }
1416 static constexpr unsigned int path() { return 0x0024; }
1417 static constexpr unsigned int symbolTable() { return 0x0039; }
1418 static constexpr unsigned int symbol() { return 0x003a; }
1419 static constexpr unsigned int fmPower() { return 0x003b; }
1420 static constexpr unsigned int fmPrewaveDelay() { return 0x003c; }
1421 static constexpr unsigned int dmrChannelIndices() { return 0x0040; }
1422 static constexpr unsigned int betweenDMRChannelIndices() { return 0x0002; }
1423 static constexpr unsigned int dmrDestinations() { return 0x0050; }
1424 static constexpr unsigned int betweenDMRDestinations() { return 0x0004; }
1425 static constexpr unsigned int dmrCallTypes() { return 0x0070; }
1426 static constexpr unsigned int betweenDMRCallTypes() { return 0x0001; }
1427 static constexpr unsigned int roamingSupport() { return 0x0078; }
1428 static constexpr unsigned int dmrTimeSlots() { return 0x0079; }
1429 static constexpr unsigned int betweenDMRTimeSlots() { return 0x0001; }
1430 static constexpr unsigned int dmrPrewaveDelay() { return 0x0081; }
1431 static constexpr unsigned int displayInterval() { return 0x0082; }
1432 static constexpr unsigned int fixedHeight() { return 0x00a6; }
1433 static constexpr unsigned int reportPosition() { return 0x00a8; }
1434 static constexpr unsigned int reportMicE() { return 0x00a8; }
1435 static constexpr unsigned int reportObject() { return 0x00a8; }
1436 static constexpr unsigned int reportItem() { return 0x00a8; }
1437 static constexpr unsigned int reportMessage() { return 0x00a8; }
1438 static constexpr unsigned int reportWeather() { return 0x00a8; }
1439 static constexpr unsigned int reportNMEA() { return 0x00a8; }
1440 static constexpr unsigned int reportStatus() { return 0x00a8; }
1441 static constexpr unsigned int reportOther() { return 0x00a9; }
1442 static constexpr unsigned int fmWidth() { return 0x00aa; }
1443 static constexpr unsigned int passAll() { return 0x00ab; }
1444 static constexpr unsigned int fmFrequencies() { return 0x00ac; }
1445 static constexpr unsigned int betweenFMFrequencies() { return 0x0004; }
1446
1448 };
1449 };
1450
1453 {
1454 protected:
1456 AnalogAPRSMessageElement(uint8_t *ptr, size_t size);
1457
1458 public:
1460 AnalogAPRSMessageElement(uint8_t *ptr);
1461
1463 static constexpr unsigned int size() { return 0x0040; }
1464
1465 void clear();
1466
1468 virtual QString message() const;
1470 virtual void setMessage(const QString &msg);
1471
1472 public:
1474 struct Limit {
1475 static constexpr unsigned int length() { return 60; }
1476 };
1477 };
1478
1484 {
1485 protected:
1487 AnalogAPRSRXEntryElement(uint8_t *ptr, unsigned size);
1488
1489 public:
1491 AnalogAPRSRXEntryElement(uint8_t *ptr);
1492
1494 static constexpr unsigned int size() { return 0x0008; }
1495
1497 void clear();
1499 bool isValid() const;
1500
1502 virtual QString call() const;
1504 virtual unsigned ssid() const;
1506 virtual void setCall(const QString &call, unsigned ssid);
1507 };
1508
1514 {
1515 protected:
1517 RoamingChannelElement(uint8_t *ptr, unsigned size);
1518
1519 protected:
1522 Disabled = 16
1523 };
1524
1527 TS1 = 0,
1528 TS2 = 1
1529 };
1530
1531 public:
1533 RoamingChannelElement(uint8_t *ptr);
1534
1536 static constexpr unsigned int size() { return 0x0020; }
1537
1539 void clear();
1540
1542 virtual unsigned rxFrequency() const;
1544 virtual void setRXFrequency(unsigned hz);
1546 virtual unsigned txFrequency() const;
1548 virtual void setTXFrequency(unsigned hz);
1549
1551 virtual bool hasColorCode() const;
1553 virtual unsigned colorCode() const;
1555 virtual void setColorCode(unsigned cc);
1557 virtual void disableColorCode();
1558
1560 virtual DMRChannel::TimeSlot timeSlot() const;
1562 virtual void setTimeSlot(DMRChannel::TimeSlot ts);
1563
1565 virtual QString name() const;
1567 virtual void setName(const QString &name);
1568
1570 virtual bool fromChannel(const RoamingChannel *ch);
1572 virtual RoamingChannel *toChannel(Context &ctx);
1573
1574 public:
1576 struct Limit {
1577 static constexpr unsigned int nameLength() { return 16; }
1578 };
1579
1580 protected:
1582 struct Offset {
1584 static constexpr unsigned int rxFrequency() { return 0x0000; }
1585 static constexpr unsigned int txFrequency() { return 0x0004; }
1586 static constexpr unsigned int colorCode() { return 0x0008; }
1587 static constexpr unsigned int timeSlot() { return 0x0009; }
1588 static constexpr unsigned int name() { return 0x000a; }
1590 };
1591 };
1592
1593
1596 {
1597 protected:
1599 RoamingChannelBitmapElement(uint8_t *ptr, size_t size);
1600
1601 public:
1603 RoamingChannelBitmapElement(uint8_t *ptr);
1604
1606 static constexpr unsigned int size() { return 0x0020; }
1607 };
1608
1614 {
1615 protected:
1617 RoamingZoneElement(uint8_t *ptr, unsigned size);
1618
1619 public:
1621 RoamingZoneElement(uint8_t *ptr);
1622
1624 static constexpr unsigned int size() { return 0x0080; }
1625
1627 void clear();
1628
1630 virtual bool hasMember(unsigned n) const;
1632 virtual unsigned member(unsigned n) const;
1634 virtual void setMember(unsigned n, unsigned idx);
1636 virtual void clearMember(unsigned n);
1637
1639 virtual QString name() const;
1641 virtual void setName(const QString &name);
1642
1644 virtual bool fromRoamingZone(RoamingZone *zone, Context& ctx, const ErrorStack &err=ErrorStack());
1646 virtual RoamingZone *toRoamingZone(Context& ctx, const ErrorStack &err=ErrorStack()) const;
1648 virtual bool linkRoamingZone(RoamingZone *zone, Context& ctx, const ErrorStack& err=ErrorStack());
1649
1650 public:
1652 struct Limit {
1653 static constexpr unsigned int nameLength() { return 16; }
1654 static constexpr unsigned int numMembers() { return 64; }
1655 };
1656
1657 protected:
1659 struct Offset {
1661 static constexpr unsigned int members() { return 0x0000; }
1662 static constexpr unsigned int betweenMembers() { return 0x0001; }
1663 static constexpr unsigned int name() { return 0x0040; }
1665 };
1666 };
1667
1670 {
1671 protected:
1673 RoamingZoneBitmapElement(uint8_t *ptr, size_t size);
1674
1675 public:
1677 RoamingZoneBitmapElement(uint8_t *ptr);
1678
1680 static constexpr unsigned int size() { return 0x0010; }
1681 };
1682
1683
1688 {
1689 protected:
1691 AESEncryptionKeyElement(uint8_t *ptr, unsigned size);
1692
1693 public:
1695 AESEncryptionKeyElement(uint8_t *ptr);
1696
1698 static constexpr unsigned int size() { return 0x0040; }
1699
1701 void clear();
1702
1704 bool isValid() const;
1705
1707 virtual unsigned index() const;
1709 virtual void setIndex(unsigned idx);
1710
1712 virtual QByteArray key() const;
1714 virtual void setKey(const QByteArray &key);
1715
1716 public:
1718 struct Limit: public Element::Limit {
1720 static constexpr unsigned int maxIndex() { return 254; }
1722 static constexpr unsigned int keySize() { return 32; }
1723 };
1724
1725 protected:
1727 struct Offset: public Element::Offset {
1729 static constexpr unsigned int index() { return 0x0000; }
1730 static constexpr unsigned int key() { return 0x0001; }
1731 static constexpr unsigned int size() { return 0x0022; }
1733 };
1734 };
1735
1738 {
1739 protected:
1741 AESEncryptionKeyBitmapElement(uint8_t *ptr, size_t size);
1742
1743 public:
1745 AESEncryptionKeyBitmapElement(uint8_t *ptr);
1746
1748 static constexpr unsigned int size() { return 0x0020; }
1749 };
1750
1751
1756 {
1757 protected:
1759 ARC4EncryptionKeyElement(uint8_t *ptr, size_t size);
1760
1761 public:
1763 ARC4EncryptionKeyElement(uint8_t *ptr);
1764
1766 static constexpr unsigned int size() { return 0x0010; }
1767
1768 void clear();
1769 bool isValid() const;
1770
1772 virtual unsigned index() const;
1774 virtual void setIndex(unsigned idx);
1775
1777 virtual QByteArray key() const;
1779 virtual void setKey(const QByteArray &key);
1780
1781 public:
1783 struct Limit: public Element::Limit {
1785 static constexpr unsigned int maxIndex() { return 254; }
1787 static constexpr unsigned int keySize() { return 5; }
1788 };
1789
1790 protected:
1792 struct Offset: public Element::Offset {
1794 static constexpr unsigned int index() { return 0x0000; }
1795 static constexpr unsigned int key() { return 0x0001; }
1797 };
1798 };
1799
1802 {
1803 protected:
1805 ARC4EncryptionKeyBitmapElement(uint8_t *ptr, size_t size);
1806
1807 public:
1809 ARC4EncryptionKeyBitmapElement(uint8_t *ptr);
1810
1812 static constexpr unsigned int size() { return 0x0020; }
1813 };
1814
1815
1818 {
1819 protected:
1821 HiddenZoneBitmapElement(uint8_t *ptr, size_t size);
1822
1823 public:
1825 HiddenZoneBitmapElement(uint8_t *ptr);
1826
1828 static constexpr unsigned int size() { return 0x0020; }
1829 };
1830
1836 {
1837 public:
1840 RX_400_480_136_174_TX_400_480_136_174 = 0,
1841 RX_400_480_136_174_TX_400_480_136_174_STEP_12_5kHz = 1,
1842 RX_430_440_136_174_TX_430_440_136_174 = 2,
1843 RX_400_480_136_174_TX_430_440_144_146 = 3,
1844 RX_440_480_136_174_TX_440_480_136_174 = 4,
1845 RX_440_480_144_146_TX_440_480_144_146 = 5,
1846 RX_446_447_136_174_TX_446_447_136_174 = 6,
1847 RX_400_480_136_174_TX_420_450_136_174 = 7,
1848 RX_400_470_136_174_TX_400_470_136_174 = 8,
1849 RX_430_432_144_146_TX_430_432_144_146 = 9,
1850 RX_400_480_136_174_TX_430_450_144_148 = 10,
1851 RX_400_520_136_174_TX_400_520_136_174 = 11,
1852 RX_400_490_136_174_TX_400_490_136_174 = 12,
1853 RX_400_480_136_174_TX_403_470_136_174 = 13,
1854 RX_400_520_220_225_136_174_TX_400_520_220_225_136_174 = 14,
1855 RX_420_520_144_148_TX_420_520_144_148 = 15,
1856 RX_430_440_144_147_TX_430_440_144_147 = 16,
1857 RX_430_440_136_174_TX_136_174 = 17
1858 };
1859
1860 protected:
1862 RadioInfoElement(uint8_t *ptr, unsigned size);
1863
1864 public:
1866 explicit RadioInfoElement(uint8_t *ptr);
1867
1869 void clear();
1870
1873 virtual bool fullTest() const;
1874
1876 virtual FrequencyRange frequencyRange() const;
1878 virtual void setFrequencyRange(FrequencyRange range);
1879
1881 virtual bool international() const;
1883 virtual void enableInternational(bool enable);
1884
1886 virtual bool bandSelect() const;
1888 virtual void enableBandSelect(bool enable);
1889
1891 virtual QString bandSelectPassword() const;
1893 virtual void setBandSelectPassword(const QString &passwd);
1894
1896 virtual QString radioType() const;
1897
1899 virtual QString programPassword() const;
1901 virtual void setProgramPassword(const QString &passwd);
1902
1904 virtual QString areaCode() const;
1906 virtual QString serialNumber() const;
1908 virtual QString productionDate() const;
1910 virtual QString manufacturerCode() const;
1912 virtual QString maintainedDate() const;
1914 virtual QString dealerCode() const;
1916 virtual QString stockDate() const;
1918 virtual QString sellDate() const;
1920 virtual QString seller() const;
1922 virtual QString maintainerNote() const;
1923 };
1924
1925protected:
1927 explicit D878UVCodeplug(const QString &label, QObject *parent = nullptr);
1928
1929public:
1931 explicit D878UVCodeplug(QObject *parent = nullptr);
1932
1933 Config *preprocess(Config *config, const ErrorStack &err) const;
1934
1935protected:
1936 bool allocateBitmaps();
1937 void setBitmaps(Context &ctx);
1938 void allocateForDecoding();
1939 void allocateUpdated();
1940 void allocateForEncoding();
1941
1942 bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1943 bool createElements(Context &ctx, const ErrorStack &err=ErrorStack());
1944 bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack());
1945
1946 void allocateChannels();
1947 bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1948 bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1949 bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1950
1951 virtual void allocateZones();
1952 virtual bool encodeZone(int i, Zone *zone, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1953 virtual bool decodeZone(int i, Zone *zone, Context &ctx, const ErrorStack &err=ErrorStack());
1954
1956 bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1957 bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1958 bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1959
1960 void allocateGPSSystems();
1961 bool encodeGPSSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1962 bool createGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack());
1963 bool linkGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack());
1964
1966 virtual void allocateRoaming();
1968 virtual bool encodeRoaming(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1970 virtual bool createRoaming(Context &ctx, const ErrorStack &err=ErrorStack());
1972 virtual bool linkRoaming(Context &ctx, const ErrorStack &err=ErrorStack());
1973
1975 virtual void allocateAESKeys();
1977 virtual bool encodeAESKeys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1979 virtual bool createAESKeys(Context &ctx, const ErrorStack &err=ErrorStack());
1980
1982 virtual void allocateARC4Keys();
1984 virtual bool encodeARC4Keys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1986 virtual bool createARC4Keys(Context &ctx, const ErrorStack &err=ErrorStack());
1987
1988
1989public:
1992 static constexpr unsigned int analogAPRSRXEntries() { return 32; }
1993 static constexpr unsigned int roamingChannels() { return 250; }
1994 static constexpr unsigned int roamingZones() { return 64; }
1995 static constexpr unsigned int aesKeys() { return 255; }
1996 static constexpr unsigned int arc4Keys() { return 255; }
1997 };
1998
1999protected:
2003 static constexpr unsigned int toChannelExtension() { return 0x00002000; }
2004 static constexpr unsigned int settingsExtension() { return 0x02501400; }
2005 static constexpr unsigned int aprsSettings() { return 0x02501000; }
2006 static constexpr unsigned int analogAPRSMessage() { return 0x02501200; }
2007 static constexpr unsigned int analogAPRSRXEntries() { return 0x02501800; }
2008 //static constexpr unsigned int fmAPRSFrequencyNames() { return 0x02502000; }
2009 static constexpr unsigned int hiddenZoneBitmap() { return 0x024c1360; }
2010 static constexpr unsigned int roamingChannelBitmap() { return 0x01042000; }
2011 static constexpr unsigned int roamingChannels() { return 0x01040000; }
2012 static constexpr unsigned int roamingZoneBitmap() { return 0x01042080; }
2013 static constexpr unsigned int roamingZones() { return 0x01043000; }
2014 static constexpr unsigned int aesKeys() { return 0x024C4000; }
2015 static constexpr unsigned int aesKeyBitmap() { return 0x024C8000; }
2016 static constexpr unsigned int primaryId() { return 0x02582000; }
2017 static constexpr unsigned int arc4Keys() { return 0x025C0C00; }
2018 static constexpr unsigned int arc4KeyBitmap() { return 0x025C1C00; }
2020 };
2021};
2022
2023#endif // D878UVCODEPLUG_HH
Direction
Encodes the auto-repeater offset sign.
Definition anytone_settingsextension.hh:966
APRSPTT
Possible APRS PTT modes.
Definition anytone_extension.hh:89
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:130
Represents the base class for the extended settings element in many AnyTone codeplugs.
Definition anytone_codeplug.hh:1339
virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition anytone_codeplug.cc:4544
Bandwidth
Possible bandwidth settings.
Definition anytone_extension.hh:343
KeyFunction
All possible key functions.
Definition anytone_settingsextension.hh:197
RoamStart
Possible roaming start conditions.
Definition anytone_settingsextension.hh:1311
STEType
All possible STE (squelch tail eliminate) types.
Definition anytone_settingsextension.hh:1922
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:38
Power
Specifies the prefix for every ID assigned to every channel during serialization.
Definition channel.hh:65
BitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition codeplug.cc:692
Base class for all codeplug contexts.
Definition codeplug.hh:331
Represents the abstract base class of all codeplug elements.
Definition codeplug.hh:65
Element(uint8_t *ptr, size_t size)
Hidden constructor.
Definition codeplug.cc:56
Certain flags passed to CodePlug::encode to control the transfer and encoding of the codeplug.
Definition codeplug.hh:24
The config class, representing the codeplug configuration.
Definition config.hh:70
Represents the channel element for AnyTone D868UV devices.
Definition d868uv_codeplug.hh:65
DMREncryptionType
Possible encryption types.
Definition d868uv_codeplug.hh:68
Represents the general config of the radio within the D868UV binary codeplug.
Definition d868uv_codeplug.hh:168
D868UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor constructor.
Definition d868uv_codeplug.cc:1311
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1748
AESEncryptionKeyBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3708
virtual unsigned index() const
Returns the key index.
Definition d878uv_codeplug.cc:3672
virtual void setKey(const QByteArray &key)
Sets the key.
Definition d878uv_codeplug.cc:3696
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1698
AESEncryptionKeyElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:3648
bool isValid() const
Returns true if the key is set.
Definition d878uv_codeplug.cc:3666
virtual QByteArray key() const
Returns the actual key.
Definition d878uv_codeplug.cc:3681
virtual void setIndex(unsigned idx)
Sets the key index.
Definition d878uv_codeplug.cc:3676
void clear()
Resets the key.
Definition d878uv_codeplug.cc:3661
virtual Interval dmrPreWaveDelay() const
Returns the the repeater activation delay in ms.
Definition d878uv_codeplug.cc:3224
virtual bool reportMessage() const
Returns true if the report message flag is set.
Definition d878uv_codeplug.cc:3288
virtual void setDMRChannelIndex(unsigned n, unsigned idx)
Sets the digital channel index for the n-th system.
Definition d878uv_codeplug.cc:3155
virtual void enableReportNMEA(bool enable)
Enables/disables report NMEA flag.
Definition d878uv_codeplug.cc:3310
virtual bool reportWeather() const
Returns true if the report weather flag is set.
Definition d878uv_codeplug.cc:3297
virtual bool reportPosition() const
Returns true if the report position flag is set.
Definition d878uv_codeplug.cc:3252
bool isValid() const
Returns true if the pointer is not null.
Definition d878uv_codeplug.cc:2946
virtual void enableReportMessage(bool enable)
Enables/disables report message flag.
Definition d878uv_codeplug.cc:3292
virtual void setSource(const QString &call, unsigned ssid)
Sets the source call & SSID.
Definition d878uv_codeplug.cc:3091
virtual bool reportMicE() const
Returns true if the report Mic-E flag is set.
Definition d878uv_codeplug.cc:3261
virtual void setFMTXDelay(Interval ms)
Sets the TX delay in ms.
Definition d878uv_codeplug.cc:2957
virtual Interval fmTXDelay() const
Returns the TX delay in ms.
Definition d878uv_codeplug.cc:2953
virtual bool reportOther() const
Returns true if the report other flag is set.
Definition d878uv_codeplug.cc:3324
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Updates global APRS settings.
Definition d878uv_codeplug.cc:3387
virtual void setDMRTimeSlot(unsigned n, DMRChannel::TimeSlot ts)
Overrides the time slot of the n-th selected channel.
Definition d878uv_codeplug.cc:3203
virtual bool dmrChannelIsSelected(unsigned n) const
Returns true if the channel points to the current/selected channel.
Definition d878uv_codeplug.cc:3147
virtual void setFMPreWaveDelay(Interval ms)
Sets the pre-wave delay in ms.
Definition d878uv_codeplug.cc:3142
virtual QGeoCoordinate fixedLocation() const
Returns the fixed location send.
Definition d878uv_codeplug.cc:3022
virtual unsigned sourceSSID() const
Returns the source SSID.
Definition d878uv_codeplug.cc:3087
virtual bool reportNMEA() const
Returns true if the report NMEA flag is set.
Definition d878uv_codeplug.cc:3306
SignalingType
Possible settings for the FM APRS subtone type.
Definition d878uv_codeplug.hh:1172
virtual bool infiniteDisplayTime() const
Returns true if a received APRS message is shown indefinitely.
Definition d878uv_codeplug.cc:3233
void clear()
Resets the settings.
Definition d878uv_codeplug.cc:2938
virtual void setManualTXInterval(Interval sec)
Sets the manual TX interval in seconds.
Definition d878uv_codeplug.cc:2994
virtual void enableReportWeather(bool enable)
Enables/disables report weather flag.
Definition d878uv_codeplug.cc:3301
virtual bool fixedLocationEnabled() const
Returns true if a fixed location is sent.
Definition d878uv_codeplug.cc:3017
virtual void enableReportObject(bool enable)
Enables/disables report object flag.
Definition d878uv_codeplug.cc:3274
virtual void enableReportPosition(bool enable)
Enables/disables report position flag.
Definition d878uv_codeplug.cc:3256
virtual Interval autoTXInterval() const
Returns the auto TX interval in seconds.
Definition d878uv_codeplug.cc:3003
virtual bool reportStatus() const
Returns true if the report status flag is set.
Definition d878uv_codeplug.cc:3315
virtual void setFixedLocation(const QGeoCoordinate &loc)
Sets the fixed location to send.
Definition d878uv_codeplug.cc:3037
virtual void setFMChannelWidth(AnytoneFMAPRSSettingsExtension::Bandwidth width)
Sets the FM APRS channel width.
Definition d878uv_codeplug.cc:3337
virtual void setDMRChannelSelected(unsigned n)
Sets the channel to the current/selected channel.
Definition d878uv_codeplug.cc:3159
virtual Channel::Power power() const
Returns the transmit power.
Definition d878uv_codeplug.cc:3117
virtual QString source() const
Returns the source call.
Definition d878uv_codeplug.cc:3082
virtual bool reportItem() const
Returns true if the report item flag is set.
Definition d878uv_codeplug.cc:3279
virtual void clearFMFrequency(unsigned int n)
Clears the n-th of 8 FM APRS frequencies.
Definition d878uv_codeplug.cc:3366
virtual bool dmrTimeSlotOverride(unsigned n)
Returns true if the n-th system overrides the channel time-slot.
Definition d878uv_codeplug.cc:3191
virtual bool fromDMRAPRSSystemObj(unsigned int idx, DMRAPRSSystem *sys, Context &ctx)
Encodes the given GPS system.
Definition d878uv_codeplug.cc:3522
virtual void clearDMRTimeSlotOverride(unsigned n)
Clears the time-slot override.
Definition d878uv_codeplug.cc:3210
virtual void setPath(const QString &path)
Sets the path string.
Definition d878uv_codeplug.cc:3102
virtual void disableAutoTX()
Disables auto tx.
Definition d878uv_codeplug.cc:3011
virtual void enableFMPassAll(bool enable)
Enables/disables "pass all", that is the CRC check on FM APRS messages is disabled.
Definition d878uv_codeplug.cc:3346
virtual void enableFixedLocation(bool enable)
Disables sending a fixed location.
Definition d878uv_codeplug.cc:3062
virtual bool linkFMAPRSSystem(FMAPRSSystem *sys, Context &ctx)
Links the transmit channel within the generic APRS system based on the transmit frequency defined wit...
Definition d878uv_codeplug.cc:3492
virtual QString destination() const
Returns the destination call.
Definition d878uv_codeplug.cc:3067
virtual bool fromConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes global APRS settings.
Definition d878uv_codeplug.cc:3373
virtual bool autoTX() const
Returns true if the auto transmit is enabled.
Definition d878uv_codeplug.cc:2999
virtual Interval manualTXInterval() const
Returns the manual TX interval in seconds.
Definition d878uv_codeplug.cc:2990
APRSSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:2925
virtual bool fmFrequencySet(unsigned int n) const
Returns true if the n-th of 8 FM APRS frequencies is set.
Definition d878uv_codeplug.cc:3351
virtual void enableDMRRoaming(bool enable)
Enables/disables roaming.
Definition d878uv_codeplug.cc:3219
virtual Interval displayTime() const
Returns the time, a received APRS message is shown.
Definition d878uv_codeplug.cc:3237
virtual bool linkDMRAPRSSystem(int idx, DMRAPRSSystem *sys, Context &ctx) const
Links the specified generic GPS system.
Definition d878uv_codeplug.cc:3544
virtual void setTXTone(const SelectiveCall &code)
Sets the sub tone settings.
Definition d878uv_codeplug.cc:2977
virtual DMRAPRSSystem * toDMRAPRSSystemObj(int idx) const
Constructs a generic GPS system from the idx-th encoded GPS system.
Definition d878uv_codeplug.cc:3537
virtual bool fromFMAPRSSystem(const FMAPRSSystem *sys, Context &ctx, const ErrorStack &err=ErrorStack())
Configures this APRS system from the given generic config.
Definition d878uv_codeplug.cc:3400
virtual DMRChannel::TimeSlot dmrTimeSlot(unsigned n) const
Returns the time slot if overridden (only valid if timeSlot returns true).
Definition d878uv_codeplug.cc:3195
virtual void enableReportOther(bool enable)
Enables/disables report other flag.
Definition d878uv_codeplug.cc:3328
virtual void setDisplayTimeInifinite()
Sets the APRS display time to infinite.
Definition d878uv_codeplug.cc:3247
virtual void setIcon(FMAPRSSystem::Icon icon)
Sets the APRS icon.
Definition d878uv_codeplug.cc:3111
virtual Interval fmPreWaveDelay() const
Returns the pre-wave delay in ms.
Definition d878uv_codeplug.cc:3138
virtual Frequency fmFrequency(unsigned int n) const
Returns the n-th of 8 FM APRS frequencies.
Definition d878uv_codeplug.cc:3356
virtual void setPower(Channel::Power power)
Sets the transmit power.
Definition d878uv_codeplug.cc:3127
virtual void setAutoTXInterval(Interval sec)
Sets the auto TX interval in seconds.
Definition d878uv_codeplug.cc:3007
virtual bool dmrRoaming() const
Returns true if the roaming is enabled.
Definition d878uv_codeplug.cc:3215
virtual void setDMRCallType(unsigned n, DMRContact::Type type)
Sets the call type for the n-th system.
Definition d878uv_codeplug.cc:3182
virtual void setDMRDestination(unsigned n, unsigned idx)
Sets the destination contact for the n-th system.
Definition d878uv_codeplug.cc:3168
virtual bool reportObject() const
Returns true if the report object flag is set.
Definition d878uv_codeplug.cc:3270
virtual void enableReportItem(bool enable)
Enables/disables report item flag.
Definition d878uv_codeplug.cc:3283
virtual unsigned dmrDestination(unsigned n) const
Returns the destination contact for the n-th system.
Definition d878uv_codeplug.cc:3164
virtual bool fmPassAll() const
Returns true if the CRC check on received FM APRS messages is disabled.
Definition d878uv_codeplug.cc:3342
virtual FMAPRSSystem * toFMAPRSSystem(Context &ctx, const ErrorStack &err=ErrorStack())
Constructs a generic APRS system configuration from this APRS system.
Definition d878uv_codeplug.cc:3452
virtual void setDMRPreWaveDelay(Interval ms)
Sets the repeater activation delay in ms.
Definition d878uv_codeplug.cc:3228
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1181
virtual QString path() const
Returns the path string.
Definition d878uv_codeplug.cc:3098
virtual AnytoneFMAPRSSettingsExtension::Bandwidth fmChannelWidth() const
Returns the FM APRS channel width.
Definition d878uv_codeplug.cc:3333
virtual void setDisplayTime(Interval dur)
Sets the time, a received APRS is shown.
Definition d878uv_codeplug.cc:3241
virtual SelectiveCall txTone() const
Returns the sub tone settings.
Definition d878uv_codeplug.cc:2962
virtual void setDestination(const QString &call, unsigned ssid)
Sets the destination call & SSID.
Definition d878uv_codeplug.cc:3076
virtual unsigned destinationSSID() const
Returns the destination SSID.
Definition d878uv_codeplug.cc:3072
virtual void setFMFrequency(unsigned int n, Frequency f)
Sets the n-th of 8 FM APRS frequencies.
Definition d878uv_codeplug.cc:3361
virtual void enableReportStatus(bool enable)
Enables/disables report status flag.
Definition d878uv_codeplug.cc:3319
virtual void enableReportMicE(bool enable)
Enables/disables report Mic-E flag.
Definition d878uv_codeplug.cc:3265
virtual bool fromDMRAPRSSystems(Context &ctx)
Constructs all GPS system from the generic configuration.
Definition d878uv_codeplug.cc:3514
virtual DMRContact::Type dmrCallType(unsigned n) const
Returns the call type for the n-th system.
Definition d878uv_codeplug.cc:3173
virtual unsigned dmrChannelIndex(unsigned n) const
Returns the digital channel index for the n-th system.
Definition d878uv_codeplug.cc:3151
virtual FMAPRSSystem::Icon icon() const
Returns the APRS icon.
Definition d878uv_codeplug.cc:3107
ARC4EncryptionKeyBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3775
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1812
ARC4EncryptionKeyElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3725
virtual QByteArray key() const
Returns the actual key.
Definition d878uv_codeplug.cc:3757
virtual unsigned index() const
Returns the key index.
Definition d878uv_codeplug.cc:3748
void clear()
Abstract method to reset the element within the codeplug.
Definition d878uv_codeplug.cc:3738
bool isValid() const
Returns true if the pointer is not null.
Definition d878uv_codeplug.cc:3743
virtual void setKey(const QByteArray &key)
Sets the key.
Definition d878uv_codeplug.cc:3764
static constexpr unsigned int size()
Returns the size of the element.
Definition d878uv_codeplug.hh:1766
virtual void setIndex(unsigned idx)
Sets the key index.
Definition d878uv_codeplug.cc:3752
virtual QString message() const
Returns the message.
Definition d878uv_codeplug.cc:3593
AnalogAPRSMessageElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3575
void clear()
Abstract method to reset the element within the codeplug.
Definition d878uv_codeplug.cc:3588
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1463
virtual void setMessage(const QString &msg)
Sets the message.
Definition d878uv_codeplug.cc:3598
virtual void setCall(const QString &call, unsigned ssid)
Sets the call, SSID and enables the entry.
Definition d878uv_codeplug.cc:3637
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1494
AnalogAPRSRXEntryElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:3606
bool isValid() const
Returns true if the APRS RX entry is valid.
Definition d878uv_codeplug.cc:3624
virtual unsigned ssid() const
Returns the SSID.
Definition d878uv_codeplug.cc:3633
void clear()
Resets the entry.
Definition d878uv_codeplug.cc:3619
virtual QString call() const
Returns the call sign.
Definition d878uv_codeplug.cc:3629
virtual AdvancedEncryptionType advancedEncryptionType() const
Returns the encryption type.
Definition d878uv_codeplug.cc:233
bool fromChannelObj(const Channel *c, Context &ctx) override
Encodes the given channel object.
Definition d878uv_codeplug.cc:439
APRSPTT
Defines all possible APRS PTT settings.
Definition d878uv_codeplug.hh:109
virtual void setARC4EncryptionKeyIndex(unsigned int index)
Sets the ARC4 encryption key index.
Definition d878uv_codeplug.cc:309
unsigned dmrEncryptionKeyIndex() const override
Returns the DMR encryption key index (+1), 0=Off.
Definition d878uv_codeplug.cc:256
virtual bool hasARC4EncryptionKeyIndex() const
Returns true, if an ARC4 encryption key index is set.
Definition d878uv_codeplug.cc:301
virtual bool sendTalkerAlias() const
If set, transmission of talker alias for this channel is enabled.
Definition d878uv_codeplug.cc:222
virtual int frequenyCorrection() const
Returns the frequency correction in ?
Definition d878uv_codeplug.cc:203
bool hasDMREncryptionKeyIndex() const override
Returns true if a DMR encryption key is set.
Definition d878uv_codeplug.cc:252
virtual AnytoneChannelExtension::APRSPTT digitalAPRSPTTSetting() const
Returns the digital APRS PTT setting.
Definition d878uv_codeplug.cc:178
virtual void enableRoaming(bool enable)
Enables/disables roaming.
Definition d878uv_codeplug.cc:121
virtual void setFrequencyCorrection(int corr)
Sets the frequency correction in ?
Definition d878uv_codeplug.cc:207
void clearDMREncryptionKeyIndex() override
Clears the DMR encryption key index.
Definition d878uv_codeplug.cc:264
virtual void enableSendTalkerAlias(bool enable)
Enable transmission of talker alias.
Definition d878uv_codeplug.cc:227
virtual void setDigitalAPRSPTTSetting(AnytoneChannelExtension::APRSPTT ptt)
Sets the digital APRS PTT setting.
Definition d878uv_codeplug.cc:184
void setDMREncryptionType(DMREncryptionType type) override
Sets the encryption type.
Definition d878uv_codeplug.cc:248
virtual void enableAutoScan(bool enable)
Enable/disable auto scan.
Definition d878uv_codeplug.cc:145
APRSType
Possible APRS modes.
Definition d878uv_codeplug.hh:104
virtual unsigned int aesEncryptionKeyIndex() const
Returns the AES encryption key index.
Definition d878uv_codeplug.cc:287
virtual void setPTTIDSetting(PTTId ptt)
Sets the PTT ID setting.
Definition d878uv_codeplug.cc:111
void enableAdaptiveTDMA(bool enable) override
Enables/disables adaptive TDMA.
Definition d878uv_codeplug.cc:276
ChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:88
bool adaptiveTDMA() const override
Returns true if adaptive TDMA is enabled.
Definition d878uv_codeplug.cc:270
bool dataACK() const override
Returns true if the data ACK is enabled.
Definition d878uv_codeplug.cc:128
DMREncryptionType dmrEncryptionType() const override
Returns the encryption type.
Definition d878uv_codeplug.cc:244
void setDigitalAPRSSystemIndex(unsigned idx) override
Sets the DMR APRS system index.
Definition d878uv_codeplug.cc:198
void enableDataACK(bool enable) override
Enables/disables data ACK.
Definition d878uv_codeplug.cc:134
virtual PTTId pttIDSetting() const
Returns the PTT ID settings.
Definition d878uv_codeplug.cc:107
virtual bool roamingEnabled() const
Returns true if roaming is enabled.
Definition d878uv_codeplug.cc:116
void setDMREncryptionKeyIndex(unsigned idx) override
Sets the DMR encryption key index (+1), 0=Off.
Definition d878uv_codeplug.cc:260
virtual void setAnalogAPRSPTTSetting(AnytoneChannelExtension::APRSPTT ptt)
Sets the analog APRS PTT setting.
Definition d878uv_codeplug.cc:168
Channel * toChannelObj(Context &ctx) const override
Constructs a Channel object from this element.
Definition d878uv_codeplug.cc:319
virtual bool hasAESEncryptionKeyIndex() const
Returns true, if an AES encryption key index is set.
Definition d878uv_codeplug.cc:283
virtual bool autoScan() const
Returns true, if auto scan is enabled.
Definition d878uv_codeplug.cc:141
void setTXAPRSType(APRSType aprsType)
Sets APRS type for reporting the position.
Definition d878uv_codeplug.cc:154
APRSType txAPRSType() const
Returns APRS type for reporting the position.
Definition d878uv_codeplug.cc:150
virtual void clearAESEncryptionKeyIndex()
Clears the AES encryption key index.
Definition d878uv_codeplug.cc:295
virtual unsigned int fmAPRSFrequencyIndex() const
Returns the index of the FM APRS frequency [0,7].
Definition d878uv_codeplug.cc:212
bool linkChannelObj(Channel *c, Context &ctx) const override
Links a previously created channel object.
Definition d878uv_codeplug.cc:348
PTTId
Possible PTT ID settings.
Definition d878uv_codeplug.hh:96
@ Both
Send PTT-ID at start and end.
Definition d878uv_codeplug.hh:100
@ End
Send PTT-ID at end.
Definition d878uv_codeplug.hh:99
@ Start
Send PTT-ID at start.
Definition d878uv_codeplug.hh:98
@ Off
Never send PTT-ID.
Definition d878uv_codeplug.hh:97
virtual void setEncryptionType(AdvancedEncryptionType type)
Sets the encryptionType.
Definition d878uv_codeplug.cc:238
unsigned digitalAPRSSystemIndex() const override
Returns the DMR APRS system index.
Definition d878uv_codeplug.cc:194
virtual unsigned int arc4EncryptionKeyIndex() const
Returns the ARC4 encryption key index.
Definition d878uv_codeplug.cc:305
AdvancedEncryptionType
Possible encryption types.
Definition d878uv_codeplug.hh:116
virtual void setAESEncryptionKeyIndex(unsigned int index)
Sets the AES encryption key index.
Definition d878uv_codeplug.cc:291
void clear() override
Resets the channel.
Definition d878uv_codeplug.cc:101
virtual void clearARC4EncryptionKeyIndex()
Clears the ARC4 encryption key index.
Definition d878uv_codeplug.cc:313
virtual AnytoneChannelExtension::APRSPTT analogAPRSPTTSetting() const
Returns the analog APRS PTT setting.
Definition d878uv_codeplug.cc:159
virtual void setFMAPRSFrequencyIndex(unsigned int idx)
Sets the FM APRS frequency index [0,7].
Definition d878uv_codeplug.cc:216
virtual void setBOT5ToneIDIndex(unsigned int idx)
Sets the BOT 5-tone ID index.
Definition d878uv_codeplug.cc:560
virtual bool linkChannelObj(Channel *c, Context &ctx) const
Links a previously created channel object.
Definition d878uv_codeplug.cc:594
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:275
virtual unsigned int txColorCode() const
Returns the transmit color code.
Definition d878uv_codeplug.cc:577
ChannelExtensionElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:534
virtual unsigned int eot5ToneIDIndex() const
Returns the EOT 5-tone ID index.
Definition d878uv_codeplug.cc:566
virtual bool updateChannelObj(Channel *c, Context &ctx) const
Constructs a Channel object from this element.
Definition d878uv_codeplug.cc:588
void clear()
Resets the channel extension.
Definition d878uv_codeplug.cc:548
virtual void setTXColorCode(unsigned int cc)
Sets the transmit color code.
Definition d878uv_codeplug.cc:582
virtual void setEOT5ToneIDIndex(unsigned int idx)
Sets the EOT 5-tone ID index.
Definition d878uv_codeplug.cc:571
virtual bool fromChannelObj(const Channel *c, Context &ctx)
Encodes the given channel object.
Definition d878uv_codeplug.cc:600
virtual unsigned int bot5ToneIDIndex() const
Returns the BOT 5-tone ID index.
Definition d878uv_codeplug.cc:555
virtual bool totNotification() const
Returns true if the transmit timeout notification is enabled.
Definition d878uv_codeplug.cc:2580
static constexpr unsigned int size()
Returns the size of the element.
Definition d878uv_codeplug.hh:937
virtual bool infiniteManDialPrivateCallHangTime() const
Returns true if the manual dialed private call hang time is infinite.
Definition d878uv_codeplug.cc:2535
virtual void enableShowChannelType(bool enable)
Enables/disables display of channel type.
Definition d878uv_codeplug.cc:2644
virtual void clearAutoRepeaterUHF2OffsetIndex()
Clears the auto repeater UHF 2 offset frequency index.
Definition d878uv_codeplug.cc:2400
virtual void setAutoRepeaterUHF2OffsetIndex(unsigned idx)
Sets the index of the UHF 2 offset frequency.
Definition d878uv_codeplug.cc:2396
virtual void enableSendTalkerAlias(bool enable)
Enables/disables sending the talker alias.
Definition d878uv_codeplug.cc:2320
virtual void setBluetoothPTTSleepDelay(Interval delay)
Sets the bluetooth PTT sleep delay in minutes.
Definition d878uv_codeplug.cc:2378
virtual void setManDialGroupCallHangTimeInfinite()
Sets the manual dial group call hang time to infinite.
Definition d878uv_codeplug.cc:2530
TalkerAliasEncoding
Talker alias encoding.
Definition d878uv_codeplug.hh:924
virtual void setTalkerAliasEncoding(DMRSettings::TalkerAliasEncoding encoding)
Sets the talker alias encoding.
Definition d878uv_codeplug.cc:2345
virtual bool hasAutoRepeaterVHF2OffsetIndex() const
Returns true if the auto repeater VHF 2 offset index is set.
Definition d878uv_codeplug.cc:2405
virtual void enableTOTNotification(bool enable)
Enables/disables transmit timeout notification.
Definition d878uv_codeplug.cc:2584
void clear()
Resets the settings.
Definition d878uv_codeplug.cc:2308
virtual Frequency autoRepeaterUHF2MinFrequency() const
Returns the minimum frequency in Hz for the auto-repeater UHF 2 band.
Definition d878uv_codeplug.cc:2438
virtual bool resetAutoShutdownOnCall() const
Returns true if the auto-shutdown timer is reset on a call.
Definition d878uv_codeplug.cc:2615
virtual Level fmMicGain() const
Returns the FM Mic gain [1,10].
Definition d878uv_codeplug.cc:2667
virtual GNSSSettings::Systems gnss() const
Returns the GPS mode.
Definition d878uv_codeplug.cc:2456
AnytoneDisplaySettingsExtension::Color zoneBNameColor() const
Returns the color of the zone name for VFO B.
Definition d878uv_codeplug.cc:2606
virtual void clearAutoRepeaterVHF2OffsetIndex()
Clears the auto repeater VHF 2 offset frequency index.
Definition d878uv_codeplug.cc:2417
virtual bool infiniteManDialGroupCallHangTime() const
Returns true if the manual dialed group call hang time is infinite.
Definition d878uv_codeplug.cc:2508
virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode)
Sets the talker alias source.
Definition d878uv_codeplug.cc:2329
virtual void setAutoRepeaterVHF2MinFrequency(Frequency hz)
Sets the minimum frequency in Hz for the auto-repeater VHF 2 band.
Definition d878uv_codeplug.cc:2426
virtual void setCallEndToneMelody(const Melody &melody)
Sets the call-end tone melody.
Definition d878uv_codeplug.cc:2695
virtual Interval manDialGroupCallHangTime() const
Returns the manual dial group call hang time.
Definition d878uv_codeplug.cc:2512
virtual void setEncryption(AnytoneDMRSettingsExtension::EncryptionType mode)
Sets the encryption mode.
Definition d878uv_codeplug.cc:2575
virtual void setDateFormat(AnytoneDisplaySettingsExtension::DateFormat format)
Sets the date format.
Definition d878uv_codeplug.cc:2662
virtual bool showColorCode() const
Returns true if the color code is shown.
Definition d878uv_codeplug.cc:2624
virtual void enableResetAutoShutdownOnCall(bool enable)
Enables/disables reset on call of the auto-shutdown timer.
Definition d878uv_codeplug.cc:2619
GNSS
Encoding of possible GNSSs.
Definition d878uv_codeplug.hh:918
virtual void enableFMIdleTone(bool enable)
Enables/disables FM idle channel tone.
Definition d878uv_codeplug.cc:2653
virtual bool gpsRoaming() const
Returns true if the GPS roaming is enabled.
Definition d878uv_codeplug.cc:2676
AnytoneDisplaySettingsExtension::Color channelBNameColor() const
Returns the color of the channel name for VFO B.
Definition d878uv_codeplug.cc:2562
virtual bool fmIdleTone() const
Returns true if the FM idle channel tone is enabled.
Definition d878uv_codeplug.cc:2649
virtual void setAutoRepeaterVHF2MaxFrequency(Frequency hz)
Sets the maximum frequency in Hz for the auto-repeater VHF 2 band.
Definition d878uv_codeplug.cc:2434
virtual void setManDialPrivateCallHangTime(Interval dur)
Sets the manual dial private call hang time.
Definition d878uv_codeplug.cc:2548
virtual DMRSettings::TalkerAliasEncoding talkerAliasEncoding() const
Returns the talker alias encoding.
Definition d878uv_codeplug.cc:2335
virtual void setGNSS(GNSSSettings::Systems mode)
Sets the GPS mode.
Definition d878uv_codeplug.cc:2477
virtual bool linkConfig(Context &ctx, const ErrorStack &err)
Link config from settings extension.
Definition d878uv_codeplug.cc:2877
virtual Frequency autoRepeaterUHF2MaxFrequency() const
Returns the maximum frequency in Hz for the auto-repeater UHF 2 band.
Definition d878uv_codeplug.cc:2446
virtual void enableATPC(bool enable)
Enables/disables the ATPC (Adaptiv Transmission Power Control).
Definition d878uv_codeplug.cc:2593
virtual void enableGPSRoaming(bool enable)
Enables/disables GPS roaming.
Definition d878uv_codeplug.cc:2680
virtual bool sendTalkerAlias() const
Returns true if the talker alias is sent.
Definition d878uv_codeplug.cc:2316
virtual bool showTimeSlot() const
Returns true if the time slot is shown.
Definition d878uv_codeplug.cc:2632
virtual bool atpc() const
Returns true if the ATPC (Adaptiv Transmission Power Control) is enabled.
Definition d878uv_codeplug.cc:2589
virtual unsigned autoRepeaterUHF2OffsetIndex() const
Returns the index of the UHF 2 offset frequency.
Definition d878uv_codeplug.cc:2392
virtual Interval steDuration() const
Returns the STE (squelch tail elimination) duration.
Definition d878uv_codeplug.cc:2498
virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const
Returns the talker alias source.
Definition d878uv_codeplug.cc:2325
virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err)
Encodes the settings from the config.
Definition d878uv_codeplug.cc:2725
virtual void setAutoRepeaterVHF2OffsetIndex(unsigned idx)
Sets the index of the VHF 2 offset frequency.
Definition d878uv_codeplug.cc:2413
virtual void setAutoRepeaterUHF2MaxFrequency(Frequency hz)
Sets the maximum frequency in Hz for the auto-repeater UHF 2 band.
Definition d878uv_codeplug.cc:2450
virtual void setManDialGroupCallHangTime(Interval dur)
Sets the manual dial group call hang time.
Definition d878uv_codeplug.cc:2521
virtual void enableBluetoothPTTLatch(bool enable)
Enables/disables bluetooth PTT latch.
Definition d878uv_codeplug.cc:2365
void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color for the VFO B.
Definition d878uv_codeplug.cc:2566
virtual void enableShowTimeSlot(bool enable)
Enables/disables display of time slot.
Definition d878uv_codeplug.cc:2636
virtual void setInfiniteBluetoothPTTSleepDelay()
Sets the bluetooth PTT sleep delay to infinite/disabled.
Definition d878uv_codeplug.cc:2383
void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO A.
Definition d878uv_codeplug.cc:2602
virtual void enableShowColorCode(bool enable)
Enables/disables display of color code.
Definition d878uv_codeplug.cc:2628
AnytoneDisplaySettingsExtension::Color zoneANameColor() const
Returns the color of the zone name for VFO A.
Definition d878uv_codeplug.cc:2598
virtual Interval manDialPrivateCallHangTime() const
Returns the manual dial private call hang time.
Definition d878uv_codeplug.cc:2539
virtual void setSTEDuration(Interval dur)
Sets the STE (squelch tail elimination) duration.
Definition d878uv_codeplug.cc:2502
virtual void callEndToneMelody(Melody &melody) const
Returns the call-end tone melody.
Definition d878uv_codeplug.cc:2685
virtual void setAllCallToneMelody(const Melody &melody)
Sets the all-call tone melody.
Definition d878uv_codeplug.cc:2715
virtual void allCallToneMelody(Melody &melody) const
Returns the all-call tone melody.
Definition d878uv_codeplug.cc:2705
ExtendedSettingsElement(uint8_t *ptr, unsigned size)
Hidden Constructor.
Definition d878uv_codeplug.cc:2295
virtual AnytoneDMRSettingsExtension::EncryptionType encryption() const
Returns the encryption mode.
Definition d878uv_codeplug.cc:2571
virtual void setFMMicGain(Level gain)
Sets the analog mic gain [1,10].
Definition d878uv_codeplug.cc:2671
virtual bool bluetoothPTTLatch() const
Returns true if the BT PTT latch is enabled.
Definition d878uv_codeplug.cc:2361
virtual unsigned autoRepeaterVHF2OffsetIndex() const
Returns the index of the VHF 2 offset frequency.
Definition d878uv_codeplug.cc:2409
virtual Frequency autoRepeaterVHF2MinFrequency() const
Returns the minimum frequency in Hz for the auto-repeater VHF 2 band.
Definition d878uv_codeplug.cc:2422
virtual Frequency autoRepeaterVHF2MaxFrequency() const
Returns the maximum frequency in Hz for the auto-repeater VHF 2 band.
Definition d878uv_codeplug.cc:2430
virtual bool showChannelType() const
Returns true if the channel type is shown.
Definition d878uv_codeplug.cc:2640
virtual bool updateConfig(Context &ctx, const ErrorStack &err)
Update config from settings.
Definition d878uv_codeplug.cc:2810
virtual void setAutoRepeaterUHF2MinFrequency(Frequency hz)
Sets the minimum frequency in Hz for the auto-repeater UHF 2 band.
Definition d878uv_codeplug.cc:2442
virtual Interval bluetoothPTTSleepDelay() const
Returns the bluetooth PTT sleep delay in minutes, 0=off.
Definition d878uv_codeplug.cc:2374
virtual bool hasAutoRepeaterUHF2OffsetIndex() const
Returns true if the auto repeater UHF 2 offset index is set.
Definition d878uv_codeplug.cc:2388
virtual AnytoneDisplaySettingsExtension::DateFormat dateFormat() const
Returns the date format.
Definition d878uv_codeplug.cc:2658
virtual bool infiniteBluetoothPTTSleepDelay() const
Returns true if the bluetooth PTT sleep delay is disabled (infinite).
Definition d878uv_codeplug.cc:2370
virtual void setManDialPrivateCallHangTimeInfinite()
Sets the manual dial private call hang time to infinite.
Definition d878uv_codeplug.cc:2557
void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO B.
Definition d878uv_codeplug.cc:2610
AnytoneDisplaySettingsExtension::Color callDisplayColor() const override
Returns the display color for callsigns.
Definition d878uv_codeplug.cc:1624
virtual bool monitorColorCodeMatch() const
Returns true if the monitor matches color code.
Definition d878uv_codeplug.cc:1435
virtual void disableBTHoldTime()
Sets the Bluetooth hold time to infinite.
Definition d878uv_codeplug.cc:2029
virtual unsigned priorityZoneBIndex() const
Returns the priority Zone B index.
Definition d878uv_codeplug.cc:1506
void enableKnobLock(bool enable) override
Enables/disables the knob lock.
Definition d878uv_codeplug.cc:1646
virtual void setSTEType(AnytoneSettingsExtension::STEType type)
Sets the STE (squelch tail eliminate) type.
Definition d878uv_codeplug.cc:1186
virtual Interval privateCallHangTime() const
Returns the private call hang time in seconds.
Definition d878uv_codeplug.cc:1218
virtual bool remoteStunKill() const
Returns true remote stun/kill is enabled.
Definition d878uv_codeplug.cc:1408
unsigned defaultZoneIndexB() const override
Returns the default zone index (0-based) for VFO B.
Definition d878uv_codeplug.cc:1808
virtual void setAutoRepeaterMaxFrequencyVHF(Frequency Hz) override
Sets the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition d878uv_codeplug.cc:1750
virtual bool bluetooth() const
Returns true if bluetooth is enabled.
Definition d878uv_codeplug.cc:1515
virtual void enablePluginRecTone(bool enable)
Enables/disables the plug-in record tone.
Definition d878uv_codeplug.cc:1546
void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color) override
Sets the display color for callsigns.
Definition d878uv_codeplug.cc:1628
virtual bool btHoldTimeEnabled() const
Returns true, if the bluetooth hold time is enabled.
Definition d878uv_codeplug.cc:2008
TBSTFrequency
TBST (open repeater) frequencies.
Definition d878uv_codeplug.hh:383
virtual bool bootReset() const
Returns true if boot reset is enabled.
Definition d878uv_codeplug.cc:1999
DTMFDuration
DTMF signalling durations.
Definition d878uv_codeplug.hh:378
virtual void setSTEFrequency(double freq)
Sets the STE (squelch tail eliminate) frequency setting.
Definition d878uv_codeplug.cc:1199
void setFuncKey2Short(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 2.
Definition d878uv_codeplug.cc:1132
AnytoneKeySettingsExtension::KeyFunction funcKeyCShort() const override
Returns the key function for a short press on the function key 3/C.
Definition d878uv_codeplug.cc:1110
AnytoneKeySettingsExtension::KeyFunction funcKeyBLong() const override
Returns the key function for a long press on the function key 2.
Definition d878uv_codeplug.cc:1146
virtual bool remoteMonitor() const
Returns true remote monitor is enabled.
Definition d878uv_codeplug.cc:1417
virtual void setDTMFToneDuration(unsigned ms)
Sets the DTMF tone duration in ms.
Definition d878uv_codeplug.cc:1332
virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang)
Sets the UI language.
Definition d878uv_codeplug.cc:1052
virtual void setBTMicGain(unsigned int gain)
Sets the bluetooth microphone gain [1,10].
Definition d878uv_codeplug.cc:1564
AnytoneKeySettingsExtension::KeyFunction funcKey1Short() const override
Returns the key function for a short press on the function key 1.
Definition d878uv_codeplug.cc:1119
void enableDefaultChannel(bool enable) override
Enables/disables default boot channel.
Definition d878uv_codeplug.cc:1794
virtual bool gpsMessageEnabled() const
Returns true if the GPS range reporting is enabled.
Definition d878uv_codeplug.cc:1480
virtual SMSExtension::Format smsFormat() const
Returns the SMS format.
Definition d878uv_codeplug.cc:1712
virtual bool roaming() const
Returns true if roaming is enabled.
Definition d878uv_codeplug.cc:1962
virtual bool proMode() const
Returns true if the "pro mode" is enabled.
Definition d878uv_codeplug.cc:1390
virtual Frequency autoRepeaterMinFrequencyVHF() const override
Returns the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition d878uv_codeplug.cc:1738
virtual void setDefaultRoamingZoneIndex(unsigned idx)
Sets the default roaming zone index.
Definition d878uv_codeplug.cc:1855
virtual void enableProMode(bool enable)
Enables/disables the "pro mode".
Definition d878uv_codeplug.cc:1394
void setBacklightDuration(Interval intv) override
Sets the backlight duration in seconds.
Definition d878uv_codeplug.cc:1284
virtual Interval gpsUpdatePeriod() const override
Returns the GPS ranging interval in seconds.
Definition d878uv_codeplug.cc:1551
virtual AnytoneRoamingSettingsExtension::RoamStart roamingStartCondition() const
Returns the roaming start condition.
Definition d878uv_codeplug.cc:1887
void clear() override
Resets the general settings.
Definition d878uv_codeplug.cc:1025
virtual bool fmSendIDAndContact() const
If enabled, the FM ID is sent together with selected contact.
Definition d878uv_codeplug.cc:1781
void setFuncKeyAShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 1/A.
Definition d878uv_codeplug.cc:1096
virtual Frequency autoRepeaterMinFrequencyUHF() const override
Returns the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition d878uv_codeplug.cc:1755
virtual AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionB() const override
Returns the auto-repeater direction for VFO B.
Definition d878uv_codeplug.cc:1772
void enableShowCurrentContact(bool enable) override
Enables/disables display of current contact.
Definition d878uv_codeplug.cc:1593
virtual Interval btRXDelay() const
Returns the bluetooth RX delay in ms.
Definition d878uv_codeplug.cc:2034
virtual unsigned priorityZoneAIndex() const
Returns the priority Zone A index.
Definition d878uv_codeplug.cc:1498
bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err) override
Encodes the general settings.
Definition d878uv_codeplug.cc:2050
virtual void setRepeaterRangeCheckInterval(Interval sec)
Sets the repeater range check interval in seconds.
Definition d878uv_codeplug.cc:1873
void setFuncKeyBShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 2/B.
Definition d878uv_codeplug.cc:1105
virtual bool monitorTimeSlotHold() const
Returns true if the monitor holds the time slot.
Definition d878uv_codeplug.cc:1453
virtual void setPrivateCallHangTime(Interval sec)
Sets the private call hang time in seconds.
Definition d878uv_codeplug.cc:1222
BackgroundImage
Possible background images.
Definition d878uv_codeplug.hh:393
QTimeZone gpsTimeZone() const override
Returns the GPS time zone.
Definition d878uv_codeplug.cc:1030
bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err) override
Links the general settings.
Definition d878uv_codeplug.cc:2261
virtual void setGPSUpdatePeriod(Interval sec) override
Sets the GPS ranging interval in seconds.
Definition d878uv_codeplug.cc:1555
virtual Interval groupCallHangTime() const
Returns the group call hang time in seconds.
Definition d878uv_codeplug.cc:1210
virtual bool monitorIDMatch() const
Returns true if the monitor matches ID.
Definition d878uv_codeplug.cc:1444
virtual bool wfmVFOEnabled() const
Returns true if the WFM RX is in VFO mode.
Definition d878uv_codeplug.cc:1251
virtual void enableBootGPSCheck(bool enable)
Enables/disables boot GPS check.
Definition d878uv_codeplug.cc:1994
FreqStep
Possible VFO frequency steps.
Definition d878uv_codeplug.hh:365
@ FREQ_STEP_20kHz
20kHz
Definition d878uv_codeplug.hh:372
@ FREQ_STEP_2_5kHz
2.5kHz
Definition d878uv_codeplug.hh:366
@ FREQ_STEP_50kHz
50kHz
Definition d878uv_codeplug.hh:374
@ FREQ_STEP_10kHz
10kHz
Definition d878uv_codeplug.hh:370
@ FREQ_STEP_6_25kHz
6.25kHz
Definition d878uv_codeplug.hh:368
@ FREQ_STEP_8_33kHz
8.33kHz
Definition d878uv_codeplug.hh:369
@ FREQ_STEP_5kHz
5kHz
Definition d878uv_codeplug.hh:367
@ FREQ_STEP_12_5kHz
12.5kHz
Definition d878uv_codeplug.hh:371
@ FREQ_STEP_25kHz
25kHz
Definition d878uv_codeplug.hh:373
void setDefaultZoneIndexB(unsigned idx) override
Sets the default zone (0-based) for VFO B.
Definition d878uv_codeplug.cc:1812
virtual bool repeaterRangeCheck() const
Returns true if repeater range check is enabled.
Definition d878uv_codeplug.cc:1860
virtual void setAutoRepeaterDirectionB(AnytoneAutoRepeaterSettingsExtension::Direction dir) override
Sets the auto-repeater direction for VFO B.
Definition d878uv_codeplug.cc:1776
Level keyToneLevel() const override
Returns the key-tone level (0=adjustable).
Definition d878uv_codeplug.cc:1611
void enableKeypadLock(bool enable) override
Enables/disables the keypad lock.
Definition d878uv_codeplug.cc:1654
virtual void enableBTAndInternalMic(bool enable)
Enables/disables the internal mic when BT is active.
Definition d878uv_codeplug.cc:1528
virtual void setBTHoldTime(Interval interval)
Sets the Bluetooth hold time (1-120s).
Definition d878uv_codeplug.cc:2020
bool knobLock() const override
Returns true if the knob is locked.
Definition d878uv_codeplug.cc:1642
virtual void setWakeHeadPeriod(Interval ms)
Sets the wake head-period in ms.
Definition d878uv_codeplug.cc:1238
virtual bool filterOwnID() const
Returns true if the own ID is filtered in call lists.
Definition d878uv_codeplug.cc:1399
virtual Frequency autoRepeaterMaxFrequencyUHF() const override
Returns the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition d878uv_codeplug.cc:1763
virtual void setPriorityZoneAIndex(unsigned idx)
Sets the priority zone A index.
Definition d878uv_codeplug.cc:1502
virtual void enableRemoteStunKill(bool enable)
Enables/disables remote stun/kill.
Definition d878uv_codeplug.cc:1412
virtual void setTransmitTimeout(const Interval &tot)
Sets the transmit timeout in seconds.
Definition d878uv_codeplug.cc:1043
void setDefaultChannelBToVFO() override
Sets the default channel for VFO B to be VFO.
Definition d878uv_codeplug.cc:1846
virtual void setAutoRepeaterMaxFrequencyUHF(Frequency Hz) override
Sets the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition d878uv_codeplug.cc:1767
virtual void setStandbyTextColor(AnytoneDisplaySettingsExtension::Color color)
Sets the standby text color.
Definition d878uv_codeplug.cc:1688
virtual void enableBluetooth(bool enable)
Enables/disables bluetooth.
Definition d878uv_codeplug.cc:1519
Interval rxBacklightDuration() const
Returns the backlight duration during RX in seconds.
Definition d878uv_codeplug.cc:1946
virtual void enableRoaming(bool enable)
Enables/disables repeater check notification.
Definition d878uv_codeplug.cc:1966
virtual void enableManDown(bool enable)
Enables/disables "man down".
Definition d878uv_codeplug.cc:1351
virtual void setChannelNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color.
Definition d878uv_codeplug.cc:1931
void setDefaultChannelAIndex(unsigned idx) override
Sets the default channel index for VFO A.
Definition d878uv_codeplug.cc:1825
virtual bool btHoldTimeInfinite() const
Returns true, if the bluetooth hold time is infinite.
Definition d878uv_codeplug.cc:2012
virtual bool manDown() const
Returns true if "man down" is enabled.
Definition d878uv_codeplug.cc:1347
virtual unsigned int btSpeakerGain() const
Returns the bluetooth speaker gain [1,10].
Definition d878uv_codeplug.cc:1570
virtual void enableSeparateDisplay(bool enable)
Enables/disables "separate display.
Definition d878uv_codeplug.cc:1913
virtual void setBTHoldTimeInfinite()
Sets the Bluetooth hold time to infinite.
Definition d878uv_codeplug.cc:2025
virtual void setPriorityZoneBIndex(unsigned idx)
Sets the priority zone B index.
Definition d878uv_codeplug.cc:1510
virtual unsigned fmCallHold() const
Returns the analog call hold in seconds.
Definition d878uv_codeplug.cc:1471
virtual unsigned defaultRoamingZoneIndex() const
Returns the default roaming zone index.
Definition d878uv_codeplug.cc:1851
virtual void setSMSFormat(SMSExtension::Format fmt)
Sets the SMS format.
Definition d878uv_codeplug.cc:1722
virtual unsigned dtmfToneDuration() const
Returns the DTMF tone duration in ms.
Definition d878uv_codeplug.cc:1321
AnytoneKeySettingsExtension::KeyFunction funcKey2Short() const override
Returns the key function for a short press on the function key 2.
Definition d878uv_codeplug.cc:1128
bool keypadLock() const override
Returns true if the keypad is locked.
Definition d878uv_codeplug.cc:1650
void setFuncKeyBLong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 2.
Definition d878uv_codeplug.cc:1150
void enableKeyLockForced(bool enable) override
Enables/disables the "professional" key lock.
Definition d878uv_codeplug.cc:1670
virtual void enableDisplayChannelNumber(bool enable)
Enables/disables display of channel number.
Definition d878uv_codeplug.cc:1584
virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const
Returns the monitor slot match.
Definition d878uv_codeplug.cc:1426
virtual AnytoneDisplaySettingsExtension::Language language() const
Returns the UI language.
Definition d878uv_codeplug.cc:1048
void enableGPSUnitsImperial(bool enable) override
Enables/disables imperial GPS units.
Definition d878uv_codeplug.cc:1637
virtual bool displayChannelNumber() const
Returns true if the channel number is displayed.
Definition d878uv_codeplug.cc:1580
virtual Interval manDownDelay() const
Returns the "man down" delay in seconds.
Definition d878uv_codeplug.cc:1462
virtual AnytoneDisplaySettingsExtension::Color channelNameColor() const
Returns the channel name color.
Definition d878uv_codeplug.cc:1927
void setFuncKey1Long(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 1.
Definition d878uv_codeplug.cc:1168
AnytoneKeySettingsExtension::KeyFunction funcKeyAShort() const override
Returns the key function for a short press on the function key 1/A.
Definition d878uv_codeplug.cc:1092
virtual void setGroupCallHangTime(Interval sec)
Sets the group call hang time in seconds.
Definition d878uv_codeplug.cc:1214
virtual void setPreWaveDelay(Interval ms)
Sets the pre-wave time in ms.
Definition d878uv_codeplug.cc:1230
AnytoneKeySettingsExtension::KeyFunction funcKeyCLong() const override
Returns the key function for a long press on the function key 3.
Definition d878uv_codeplug.cc:1155
virtual void setStandbyBackgroundImage(D878UVCodeplug::GeneralSettingsElement::BackgroundImage img)
Sets the standby background image.
Definition d878uv_codeplug.cc:1697
bool keyLockForced() const override
Returns true if the "professional" key is locked.
Definition d878uv_codeplug.cc:1666
void setDefaultZoneIndexA(unsigned idx) override
Sets the default zone (0-based) for VFO A.
Definition d878uv_codeplug.cc:1803
virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match)
Sets the monitor slot match.
Definition d878uv_codeplug.cc:1430
virtual void enableWFMVFO(bool enable)
Enables/disables VFO mode for WFM RX.
Definition d878uv_codeplug.cc:1255
virtual bool btAndInternalMic() const
Returns true if the internal mic is additionally active when BT is active.
Definition d878uv_codeplug.cc:1524
virtual Frequency tbstFrequency() const
Returns the TBST frequency.
Definition d878uv_codeplug.cc:1365
virtual void setTBSTFrequency(Frequency freq)
Sets the TBST frequency.
Definition d878uv_codeplug.cc:1375
virtual AnytoneSettingsExtension::STEType steType() const
Returns the STE (squelch tail eliminate) type.
Definition d878uv_codeplug.cc:1182
STEFrequency
All possible STE (squelch tail eliminate) frequencies.
Definition d878uv_codeplug.hh:388
virtual Interval btHoldTime() const
Returns the bluetooth hold time.
Definition d878uv_codeplug.cc:2016
virtual void setAutoRepeaterMinFrequencyUHF(Frequency Hz) override
Sets the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition d878uv_codeplug.cc:1759
void setFuncKey1Short(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 1.
Definition d878uv_codeplug.cc:1123
AnytoneKeySettingsExtension::KeyFunction funcKey2Long() const override
Returns the key function for a long press on the function key 2.
Definition d878uv_codeplug.cc:1173
virtual void setFMCallHold(unsigned sec)
Sets the analog call hold in seconds.
Definition d878uv_codeplug.cc:1475
void setFuncKeyCShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 3/C.
Definition d878uv_codeplug.cc:1114
unsigned defaultZoneIndexA() const override
Returns the default zone index (0-based) for VFO A.
Definition d878uv_codeplug.cc:1799
unsigned defaultChannelBIndex() const override
Returns the default channel index for VFO B.
Definition d878uv_codeplug.cc:1838
virtual bool separateDisplay() const
Returns true if the "separate display" is enabled.
Definition d878uv_codeplug.cc:1909
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor.
Definition d878uv_codeplug.cc:1421
virtual Frequency vfoFrequencyStep() const
Returns the VFO frequency step in kHz.
Definition d878uv_codeplug.cc:1057
static constexpr unsigned int size()
Returns the size of the element.
Definition d878uv_codeplug.hh:417
virtual void enableRepeaterRangeCheck(bool enable)
Enables/disables repeater range check.
Definition d878uv_codeplug.cc:1864
virtual unsigned repeaterRangeCheckCount() const
Returns the number of repeater range checks.
Definition d878uv_codeplug.cc:1878
virtual void enableMonitorIDMatch(bool enable)
Enables/disables monitor ID match.
Definition d878uv_codeplug.cc:1448
virtual void setMuteDelay(Interval min)
Sets the mute delay in minutes.
Definition d878uv_codeplug.cc:1975
virtual void enableBootReset(bool enable)
Enables/disables boot reset.
Definition d878uv_codeplug.cc:2003
virtual void setTXBacklightDuration(Interval sec)
Sets the backlight duration during TX in seconds.
Definition d878uv_codeplug.cc:1902
void setFuncKeyCLong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 3.
Definition d878uv_codeplug.cc:1159
virtual void setManDownDelay(Interval sec)
Sets the "man down" delay in seconds.
Definition d878uv_codeplug.cc:1466
virtual void enableMonitorColorCodeMatch(bool enable)
Enables/disables monitor color code match.
Definition d878uv_codeplug.cc:1439
virtual void enableMonitorTimeSlotHold(bool enable)
Enables/disables monitor time slot hold.
Definition d878uv_codeplug.cc:1457
void enableShowLastHeard(bool enable) override
Enables/disables showing last heard.
Definition d878uv_codeplug.cc:1706
void setRXBacklightDuration(Interval sec)
Sets the backlight duration during RX in seconds.
Definition d878uv_codeplug.cc:1954
void enableSidekeysLock(bool enable) override
Enables/disables the sidekeys lock.
Definition d878uv_codeplug.cc:1662
virtual bool bootGPSCheck() const
Returns true if boot GPS check is enabled.
Definition d878uv_codeplug.cc:1990
void setDefaultChannelAToVFO() override
Sets the default channel for VFO A to be VFO.
Definition d878uv_codeplug.cc:1829
virtual bool repeaterCheckNotification() const
Returns true if repeater check notification is enabled.
Definition d878uv_codeplug.cc:1936
AnytoneKeySettingsExtension::KeyFunction funcKeyBShort() const override
Returns the key function for a short press on the function key 2/B.
Definition d878uv_codeplug.cc:1101
virtual Interval transmitTimeout() const
Returns the transmit timeout in seconds.
Definition d878uv_codeplug.cc:1039
SMSFormat
Possible SMS formats.
Definition d878uv_codeplug.hh:404
virtual Interval wakeHeadPeriod() const
Returns the wake head-period in ms.
Definition d878uv_codeplug.cc:1234
bool showLastHeard() const override
Returns true if the last heard is shown while pressing PTT.
Definition d878uv_codeplug.cc:1702
Interval backlightDuration() const override
Returns the backlight duration in seconds.
Definition d878uv_codeplug.cc:1261
virtual void enableWFMMonitor(bool enable)
Enables/disables WFM monitor.
Definition d878uv_codeplug.cc:1360
bool showCurrentContact() const override
Returns true if the current contact is shown.
Definition d878uv_codeplug.cc:1589
virtual void setAutoRoamDelay(Interval sec)
Sets the auto-roam delay in seconds.
Definition d878uv_codeplug.cc:1679
bool keyToneLevelAdjustable() const override
Returns true if the key-tone level is adjustable.
Definition d878uv_codeplug.cc:1607
BacklightDuration
Encoding of possible backlight durations.
Definition d878uv_codeplug.hh:398
void setGPSTimeZone(const QTimeZone &zone) override
Sets the GPS time zone.
Definition d878uv_codeplug.cc:1034
virtual bool wfmMonitor() const
Returns true if WFM monitor is enabled.
Definition d878uv_codeplug.cc:1356
virtual Interval preWaveDelay() const
Returns the pre-wave time in ms.
Definition d878uv_codeplug.cc:1226
virtual Interval autoRoamDelay() const
Returns the auto-roam delay in seconds.
Definition d878uv_codeplug.cc:1675
virtual unsigned wfmChannelIndex() const
Returns the wide-FM (broadcast) channel index.
Definition d878uv_codeplug.cc:1243
virtual double steFrequency() const
Returns the STE (squelch tail eliminate) frequency setting in Hz.
Definition d878uv_codeplug.cc:1190
virtual bool maintainCallChannel() const
Returns true if the call channel is maintained.
Definition d878uv_codeplug.cc:1489
AnytoneKeySettingsExtension::KeyFunction funcKeyALong() const override
Returns the key function for a long press on the function key 1.
Definition d878uv_codeplug.cc:1137
virtual void setWFMChannelIndex(unsigned idx)
Sets the wide-FM (broadcast) channel index.
Definition d878uv_codeplug.cc:1247
virtual void setAutoRepeaterMinFrequencyVHF(Frequency Hz) override
Sets the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition d878uv_codeplug.cc:1742
bool gpsUnitsImperial() const override
Returns true if the GPS units are imperial.
Definition d878uv_codeplug.cc:1633
AnytoneKeySettingsExtension::KeyFunction funcKey1Long() const override
Returns the key function for a long press on the function key 1.
Definition d878uv_codeplug.cc:1164
virtual void enableMaintainCallChannel(bool enable)
Enables/disables maintaining the call channel.
Definition d878uv_codeplug.cc:1493
bool sidekeysLock() const override
Returns true if the sidekeys are locked.
Definition d878uv_codeplug.cc:1658
void setDefaultChannelBIndex(unsigned idx) override
Sets the default channel index for VFO B.
Definition d878uv_codeplug.cc:1842
virtual void setVFOFrequencyStep(Frequency kHz)
Sets the VFO frequency step in kHz.
Definition d878uv_codeplug.cc:1074
virtual void setBTRXDelay(Interval delay)
Sets the bluetooth RX delay in ms.
Definition d878uv_codeplug.cc:2040
virtual unsigned repeaterCheckNumNotifications() const
Returns the number of repeater check notifications.
Definition d878uv_codeplug.cc:1980
bool defaultChannelBIsVFO() const override
Returns true if the default channel for VFO B is VFO.
Definition d878uv_codeplug.cc:1834
bool defaultChannelAIsVFO() const override
Returns true if the default channel for VFO A is VFO.
Definition d878uv_codeplug.cc:1817
unsigned defaultChannelAIndex() const override
Returns the default channel index for VFO A.
Definition d878uv_codeplug.cc:1821
virtual Interval repeaterRangeCheckInterval() const
Returns the repeater range check period in seconds.
Definition d878uv_codeplug.cc:1869
virtual bool btAndInternalSpeaker() const
Returns true if the internal speaker is additionally active when BT is active.
Definition d878uv_codeplug.cc:1533
virtual void enableBTAndInternalSpeaker(bool enable)
Enables/disables the internal speaker when BT is active.
Definition d878uv_codeplug.cc:1537
void setKeyToneLevelAdjustable() override
Sets the key-tone level adjustable.
Definition d878uv_codeplug.cc:1619
bool updateConfig(Context &ctx, const ErrorStack &err) override
Updates the abstract config from general settings.
Definition d878uv_codeplug.cc:2157
virtual Interval txBacklightDuration() const
Returns the backlight duration during TX in seconds.
Definition d878uv_codeplug.cc:1897
virtual void enableFilterOwnID(bool enable)
Enables/disables filter of own ID in call lists.
Definition d878uv_codeplug.cc:1403
bool keepLastCaller() const override
Returns true if the last caller is kept when changing channel.
Definition d878uv_codeplug.cc:1918
void setFuncKeyALong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 1.
Definition d878uv_codeplug.cc:1141
virtual Frequency autoRepeaterMaxFrequencyVHF() const override
Returns the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition d878uv_codeplug.cc:1746
void setFuncKey2Long(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 2.
Definition d878uv_codeplug.cc:1177
virtual void enableFMSendIDAndContact(bool enable)
Enables/disables sending contact with FM ID.
Definition d878uv_codeplug.cc:1785
virtual void setAutoRoamPeriod(Interval min)
Sets the auto roaming period in minutes.
Definition d878uv_codeplug.cc:1602
void enableKeepLastCaller(bool enable) override
Enables/disables keeping the last caller when changing the channel.
Definition d878uv_codeplug.cc:1922
virtual unsigned int btMicGain() const
Returns the bluetooth microphone gain [1,10].
Definition d878uv_codeplug.cc:1560
virtual void setRepeaterRangeCheckCount(unsigned n)
Sets the number of repeater range checks.
Definition d878uv_codeplug.cc:1882
virtual void setBTSpeakerGain(unsigned int gain)
Sets the bluetooth speaker gain [1,10].
Definition d878uv_codeplug.cc:1574
virtual void setRoamingStartCondition(AnytoneRoamingSettingsExtension::RoamStart cond)
Sets the roaming start condition.
Definition d878uv_codeplug.cc:1891
virtual Interval muteDelay() const
Returns the mute delay in minutes.
Definition d878uv_codeplug.cc:1971
virtual bool pluginRecTone() const
Returns true if the plug-in record tone is enabled.
Definition d878uv_codeplug.cc:1542
virtual BackgroundImage standbyBackgroundImage() const
Returns the standby background image.
Definition d878uv_codeplug.cc:1693
virtual AnytoneDisplaySettingsExtension::Color standbyTextColor() const
Returns the standby text color.
Definition d878uv_codeplug.cc:1684
GeneralSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:1012
virtual void setRepeaterCheckNumNotifications(unsigned num)
Sets the number of repeater check notifications.
Definition d878uv_codeplug.cc:1984
void setKeyToneLevel(Level level) override
Sets the key-tone level.
Definition d878uv_codeplug.cc:1615
bool defaultChannel() const override
Returns true if the default boot channel is enabled.
Definition d878uv_codeplug.cc:1790
virtual Interval autoRoamPeriod() const
Returns the auto roaming period in minutes.
Definition d878uv_codeplug.cc:1598
virtual void enableRepeaterCheckNotification(bool enable)
Enables/disables repeater check notification.
Definition d878uv_codeplug.cc:1940
virtual void enableGPSMessage(bool enable)
Enables/disables GPS range reporting.
Definition d878uv_codeplug.cc:1484
HiddenZoneBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:3792
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1828
virtual QString seller() const
Returns the seller.
Definition d878uv_codeplug.cc:3922
virtual QString dealerCode() const
Returns the dealer code.
Definition d878uv_codeplug.cc:3907
virtual bool bandSelect() const
Returns true if band select is enabled.
Definition d878uv_codeplug.cc:3850
virtual void setProgramPassword(const QString &passwd)
Sets the program password.
Definition d878uv_codeplug.cc:3877
RadioInfoElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:3808
virtual QString maintainedDate() const
Returns the maintained date.
Definition d878uv_codeplug.cc:3902
virtual QString productionDate() const
Returns the production date.
Definition d878uv_codeplug.cc:3892
virtual QString manufacturerCode() const
Returns the manufacturer code.
Definition d878uv_codeplug.cc:3897
virtual QString areaCode() const
Returns the area code.
Definition d878uv_codeplug.cc:3882
virtual bool international() const
Returns true if "international" is enabled.
Definition d878uv_codeplug.cc:3841
virtual bool fullTest() const
Returns true if full test is enabled.
Definition d878uv_codeplug.cc:3827
FrequencyRange
Possible frequency ranges for the AT-D878UV.
Definition d878uv_codeplug.hh:1839
virtual void setBandSelectPassword(const QString &passwd)
Sets the band-select password.
Definition d878uv_codeplug.cc:3863
virtual void enableInternational(bool enable)
Enables/disables "international".
Definition d878uv_codeplug.cc:3845
virtual QString sellDate() const
Returns the sell date.
Definition d878uv_codeplug.cc:3917
virtual void setFrequencyRange(FrequencyRange range)
Sets the frequency range.
Definition d878uv_codeplug.cc:3836
virtual QString programPassword() const
Returns the program password.
Definition d878uv_codeplug.cc:3873
virtual QString serialNumber() const
Returns the serial number.
Definition d878uv_codeplug.cc:3887
virtual QString radioType() const
Returns the radio type.
Definition d878uv_codeplug.cc:3868
virtual FrequencyRange frequencyRange() const
Returns the frequency range.
Definition d878uv_codeplug.cc:3832
virtual QString bandSelectPassword() const
Returns the band-select password.
Definition d878uv_codeplug.cc:3859
void clear()
Resets the info.
Definition d878uv_codeplug.cc:3821
virtual void enableBandSelect(bool enable)
Enables/disables band select.
Definition d878uv_codeplug.cc:3854
virtual QString maintainerNote() const
Returns the maintainer note.
Definition d878uv_codeplug.cc:3927
virtual QString stockDate() const
Returns the stock date.
Definition d878uv_codeplug.cc:3912
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1606
RoamingChannelBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:727
TimeSlotValue
Encoded values for the time slot.
Definition d878uv_codeplug.hh:1526
virtual void setTXFrequency(unsigned hz)
Sets the TX frequency in Hz.
Definition d878uv_codeplug.cc:646
RoamingChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:616
void clear()
Resets the roaming channel.
Definition d878uv_codeplug.cc:629
virtual bool hasColorCode() const
Returns true if the color code is set.
Definition d878uv_codeplug.cc:651
virtual unsigned txFrequency() const
Returns the TX frequency in Hz.
Definition d878uv_codeplug.cc:642
virtual void disableColorCode()
Disables the color code for the roaming channel.
Definition d878uv_codeplug.cc:663
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1536
virtual void setColorCode(unsigned cc)
Sets the color code.
Definition d878uv_codeplug.cc:659
virtual void setRXFrequency(unsigned hz)
Sets the RX frequency in Hz.
Definition d878uv_codeplug.cc:638
virtual void setTimeSlot(DMRChannel::TimeSlot ts)
Sets the time slot.
Definition d878uv_codeplug.cc:676
virtual RoamingChannel * toChannel(Context &ctx)
Constructs a RoamingChannel instance for this roaming channel.
Definition d878uv_codeplug.cc:706
virtual unsigned rxFrequency() const
Returns the RX frequency in Hz.
Definition d878uv_codeplug.cc:634
virtual unsigned colorCode() const
Returns the color code.
Definition d878uv_codeplug.cc:655
virtual void setName(const QString &name)
Sets the name of the channel.
Definition d878uv_codeplug.cc:688
ColorCodeValue
Special values for the color code.
Definition d878uv_codeplug.hh:1521
virtual QString name() const
Returns the name of the channel.
Definition d878uv_codeplug.cc:684
virtual bool fromChannel(const RoamingChannel *ch)
Constructs a roaming channel from the given digital channel.
Definition d878uv_codeplug.cc:693
virtual DMRChannel::TimeSlot timeSlot() const
Returns the time slot.
Definition d878uv_codeplug.cc:668
RoamingZoneBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d878uv_codeplug.cc:829
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1680
virtual bool fromRoamingZone(RoamingZone *zone, Context &ctx, const ErrorStack &err=ErrorStack())
Assembles a binary representation of the given RoamingZone instance.
Definition d878uv_codeplug.cc:792
virtual void setName(const QString &name)
Sets the name of the zone.
Definition d878uv_codeplug.cc:787
static constexpr unsigned int size()
The size of the element.
Definition d878uv_codeplug.hh:1624
virtual bool hasMember(unsigned n) const
Returns true if the n-th member is set.
Definition d878uv_codeplug.cc:762
virtual void setMember(unsigned n, unsigned idx)
Sets the n-th member index.
Definition d878uv_codeplug.cc:770
virtual RoamingZone * toRoamingZone(Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a RoamingZone instance from this configuration.
Definition d878uv_codeplug.cc:805
void clear()
Clears the roaming zone.
Definition d878uv_codeplug.cc:756
virtual bool linkRoamingZone(RoamingZone *zone, Context &ctx, const ErrorStack &err=ErrorStack())
Links the given RoamingZone.
Definition d878uv_codeplug.cc:811
RoamingZoneElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d878uv_codeplug.cc:743
virtual QString name() const
Returns the name of the zone.
Definition d878uv_codeplug.cc:783
virtual void clearMember(unsigned n)
Clears the n-th member.
Definition d878uv_codeplug.cc:776
virtual unsigned member(unsigned n) const
Returns the n-th member index.
Definition d878uv_codeplug.cc:766
virtual bool createRoaming(Context &ctx, const ErrorStack &err=ErrorStack())
Creates roaming channels and zones from codeplug.
Definition d878uv_codeplug.cc:4438
void setBitmaps(Context &ctx)
Sets all bitmaps for the given config.
Definition d878uv_codeplug.cc:3993
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:4045
D878UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition d878uv_codeplug.cc:3935
bool encodeGPSSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the GPS settings section.
Definition d878uv_codeplug.cc:4276
bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Link the general settings.
Definition d878uv_codeplug.cc:4252
void allocateGPSSystems()
Allocates GPS settings memory section.
Definition d878uv_codeplug.cc:4267
bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Create channels from codeplug.
Definition d878uv_codeplug.cc:4136
virtual void allocateAESKeys()
Allocates memory to encode/decode AES keys.
Definition d878uv_codeplug.cc:4476
bool createElements(Context &ctx, const ErrorStack &err=ErrorStack())
Creates all config objects from the downloaded codeplug.
Definition d878uv_codeplug.cc:4065
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:4194
virtual bool createARC4Keys(Context &ctx, const ErrorStack &err=ErrorStack())
Decode ARC4 keys from the codeplug.
Definition d878uv_codeplug.cc:4575
virtual bool createAESKeys(Context &ctx, const ErrorStack &err=ErrorStack())
Decode AES keys from the codeplug.
Definition d878uv_codeplug.cc:4508
void allocateChannels()
Allocate channels from bitmap.
Definition d878uv_codeplug.cc:4096
void allocateForEncoding()
Allocate all code-plug elements that are defined through the common Config.
Definition d878uv_codeplug.cc:3975
bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Link channels.
Definition d878uv_codeplug.cc:4162
bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the general settings section.
Definition d878uv_codeplug.cc:4233
void allocateGeneralSettings()
Allocates general settings memory section.
Definition d878uv_codeplug.cc:4225
bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack())
Links all previously created config objects.
Definition d878uv_codeplug.cc:4083
virtual bool encodeARC4Keys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode all ARC4 keys.
Definition d878uv_codeplug.cc:4558
void allocateForDecoding()
Allocate all code-plug elements that must be downloaded for decoding.
Definition d878uv_codeplug.cc:3984
virtual bool linkRoaming(Context &ctx, const ErrorStack &err=ErrorStack())
Links roaming channels and zones.
Definition d878uv_codeplug.cc:4468
virtual bool encodeRoaming(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the roaming channels and zones.
Definition d878uv_codeplug.cc:4404
bool allocateBitmaps()
Allocates the bitmaps.
Definition d878uv_codeplug.cc:3948
void allocateUpdated()
Allocate all code-plug elements that must be written back to the device to maintain a working codeplu...
Definition d878uv_codeplug.cc:3965
Config * preprocess(Config *config, const ErrorStack &err) const
Returns a prepared configuration for this particular radio.
Definition d878uv_codeplug.cc:4021
bool linkGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack())
Link GPS systems.
Definition d878uv_codeplug.cc:4349
bool createGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack())
Create GPS systems from codeplug.
Definition d878uv_codeplug.cc:4307
virtual bool encodeAESKeys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode all AES keys.
Definition d878uv_codeplug.cc:4491
virtual void allocateRoaming()
Allocates memory to store all roaming channels and zones.
Definition d878uv_codeplug.cc:4371
bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode channels into codeplug.
Definition d878uv_codeplug.cc:4118
virtual bool decodeZone(int i, Zone *zone, Context &ctx, const ErrorStack &err=ErrorStack())
Function to decode a single zone.
Definition d878uv_codeplug.cc:4208
bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the general settings section.
Definition d878uv_codeplug.cc:4243
virtual void allocateZones()
Allocate zones from bitmaps.
Definition d878uv_codeplug.cc:4187
virtual void allocateARC4Keys()
Allocates memory to encode/decode ARC4 keys.
Definition d878uv_codeplug.cc:4543
uint32_t size() const
Returns the total size of the DFU file.
Definition dfufile.cc:52
This class represents a DMR position reporting system within the codeplug.
Definition gpssystem.hh:69
TimeSlot
Possible timeslots for digital channels.
Definition channel.hh:448
Represents a digital contact, that is a DMR number.
Definition contact.hh:141
Type
Possible call types for a contact.
Definition contact.hh:155
TalkerAliasEncoding
Possible talker alias encodings.
Definition dmrsettings.hh:35
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition errorstack.hh:43
Represents an APRS system within the generic config.
Definition gpssystem.hh:136
Icon
All implemented APRS icons.
Definition gpssystem.hh:166
Represents a time interval.
Definition interval.hh:11
Some simple class implementing a [1-10] level setting.
Definition level.hh:15
A config item that encodes a melody.
Definition melody.hh:20
Generic representation of a RX group list.
Definition rxgrouplist.hh:14
Represents the common radio-global settings.
Definition radiosettings.hh:20
Simple range class representing some range in some data type.
Definition ranges.hh:14
Represents a roaming channel.
Definition roamingchannel.hh:16
Represents a RoamingZone within the abstract device configuration.
Definition roamingzone.hh:15
Format
Possible SMS formats, DMR is usually a good idea.
Definition smsextension.hh:65
Generic representation of a scan list.
Definition scanlist.hh:15
Represents a zone within the generic configuration.
Definition zone.hh:15
Implements encoding of CTCSS tones.
Definition anytone_codeplug.hh:27
Base class for Limits.
Definition codeplug.hh:92
Some type to specify a bit offset.
Definition codeplug.hh:70
Base class for Offsets.
Definition codeplug.hh:68
Internal used offsets within the channel element.
Definition d868uv_codeplug.hh:143
Some limits for the settings.
Definition d868uv_codeplug.hh:427
Some internal used offsets within the element.
Definition d868uv_codeplug.hh:440
Some limits for the codeplug.
Definition d868uv_codeplug.hh:698
Some internal used offsets within the codeplug.
Definition d868uv_codeplug.hh:722
Some limits of the key element.
Definition d878uv_codeplug.hh:1718
static constexpr unsigned int keySize()
The maximum key length in bytes.
Definition d878uv_codeplug.hh:1722
static constexpr unsigned int maxIndex()
The maximum index.
Definition d878uv_codeplug.hh:1720
Some internal offsets.
Definition d878uv_codeplug.hh:1727
Some static limits for this element.
Definition d878uv_codeplug.hh:1381
static constexpr unsigned int fmFrequencies()
Maximum number of FM APRS frequencies.
Definition d878uv_codeplug.hh:1389
static constexpr unsigned int dmrSystems()
Maximum number of DMR APRS systems.
Definition d878uv_codeplug.hh:1387
static constexpr unsigned int callLength()
Maximum length of call signs.
Definition d878uv_codeplug.hh:1383
static constexpr unsigned int pathLength()
Maximum length of the repeater path string.
Definition d878uv_codeplug.hh:1385
Internal used offsets within the codeplug element.
Definition d878uv_codeplug.hh:1394
Some limits of the key element.
Definition d878uv_codeplug.hh:1783
static constexpr unsigned int keySize()
The maximum key length in bytes.
Definition d878uv_codeplug.hh:1787
static constexpr unsigned int maxIndex()
The maximum index.
Definition d878uv_codeplug.hh:1785
Some internal offsets.
Definition d878uv_codeplug.hh:1792
Some limits.
Definition d878uv_codeplug.hh:1474
static constexpr unsigned int length()
Maximum message length.
Definition d878uv_codeplug.hh:1475
Internal used offsets within the channel element.
Definition d878uv_codeplug.hh:234
Some internal used offsets.
Definition d878uv_codeplug.hh:304
Some limits for the settings.
Definition d878uv_codeplug.hh:1113
static constexpr unsigned int maxBluetoothPTTSleepDelay()
Maximum delay in minutes.
Definition d878uv_codeplug.hh:1114
Internal used offset within the element.
Definition d878uv_codeplug.hh:1120
Device specific key functions.
Definition d878uv_codeplug.hh:325
static uint8_t encode(AnytoneKeySettingsExtension::KeyFunction tone)
Encodes key function.
Definition d878uv_codeplug.cc:846
KeyFunctionCode
Device specific key functions.
Definition d878uv_codeplug.hh:334
static AnytoneKeySettingsExtension::KeyFunction decode(uint8_t code)
Decodes key function.
Definition d878uv_codeplug.cc:909
Some limits for the settings.
Definition d878uv_codeplug.hh:816
Some internal used offsets within the element.
Definition d878uv_codeplug.hh:823
Device specific time zones.
Definition d878uv_codeplug.hh:351
static QVector< QTimeZone > _timeZones
Vector of possible time-zones.
Definition d878uv_codeplug.hh:979
static uint8_t encode(const QTimeZone &zone)
Encodes time zone.
Definition d878uv_codeplug.cc:1002
static QTimeZone decode(uint8_t code)
Decodes time zone.
Definition d878uv_codeplug.cc:996
Some limits.
Definition d878uv_codeplug.hh:1991
static constexpr unsigned int analogAPRSRXEntries()
Maximum number of analog APRS RX entries.
Definition d878uv_codeplug.hh:1992
static constexpr unsigned int roamingChannels()
Maximum number of roaming channels.
Definition d878uv_codeplug.hh:1993
static constexpr unsigned int arc4Keys()
Maximum number of ARC4 keys.
Definition d878uv_codeplug.hh:1996
static constexpr unsigned int roamingZones()
Maximum number of roaming zones.
Definition d878uv_codeplug.hh:1994
static constexpr unsigned int aesKeys()
Maximum number of AES keys.
Definition d878uv_codeplug.hh:1995
Channel name and call-sign colors supported by the D878UV.
Definition d878uv_codeplug.hh:54
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition d878uv_codeplug.cc:36
CodedColor
Encoding of the supported colors.
Definition d878uv_codeplug.hh:63
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition d878uv_codeplug.cc:21
Internal offsets within the codeplug.
Definition d878uv_codeplug.hh:2001
Some limits.
Definition d878uv_codeplug.hh:1576
static constexpr unsigned int nameLength()
Maximum name length.
Definition d878uv_codeplug.hh:1577
Some internal offsets within the element.
Definition d878uv_codeplug.hh:1582
Some limits.
Definition d878uv_codeplug.hh:1652
static constexpr unsigned int nameLength()
Maximum name length.
Definition d878uv_codeplug.hh:1653
static constexpr unsigned int numMembers()
Maximum number of roaming channel in zone.
Definition d878uv_codeplug.hh:1654
Some internal offsets within the element.
Definition d878uv_codeplug.hh:1659
Text colors supported by the D878UV.
Definition d878uv_codeplug.hh:69
CodedColor
Encoding of the supported colors.
Definition d878uv_codeplug.hh:78
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition d878uv_codeplug.cc:55
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition d878uv_codeplug.cc:70
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:107
Encodes a selective call.
Definition signaling.hh:13