libdrmconf 0.14.1
A library to program DMR radios.
Loading...
Searching...
No Matches
dmr6x2uv_codeplug.hh
1#ifndef DMR6X2UVCODEPLUG_HH
2#define DMR6X2UVCODEPLUG_HH
3
4#include "d878uv_codeplug.hh"
5#include "ranges.hh"
6
7
15{
16 Q_OBJECT
17
18protected:
20 struct Color {
21 public:
23 static AnytoneDisplaySettingsExtension::Color decode(uint8_t code);
25 static uint8_t encode(AnytoneDisplaySettingsExtension::Color color);
26
27 protected:
29 typedef enum {
30 Orange=0, Red=1, Yellow=2, Green=3, Turquoise=4, Blue=5, White = 6, Black = 7
31 } CodedColor;
32 };
33
36 public:
38 static AnytoneDisplaySettingsExtension::Color decode(uint8_t code);
40 static uint8_t encode(AnytoneDisplaySettingsExtension::Color color);
41
42 protected:
44 typedef enum {
45 Black = 0, Blue = 1
46 } CodedColor;
47 };
48
50 struct FontColor {
51 public:
53 static AnytoneDisplaySettingsExtension::Color decode(uint8_t code);
55 static uint8_t encode(AnytoneDisplaySettingsExtension::Color color);
56
57 protected:
59 typedef enum {
60 White = 0, Black = 1, Orange=2, Red=3, Yellow=4, Green=5, Turquoise=6, Blue=7
61 } CodedColor;
62 };
63
64public:
73 {
74 protected:
76 struct KeyFunction {
77 public:
82
83 protected:
85 typedef enum {
86 Off = 0x00, Voltage = 0x01, Power = 0x02, Repeater = 0x03, Reverse = 0x04,
87 Encryption = 0x05, Call = 0x06, VOX = 0x07, ToggleVFO = 0x08, SubPTT = 0x09,
88 Scan = 0x0a, WFM = 0x0b, Alarm = 0x0c, RecordSwitch = 0x0d, Record = 0x0e, SMS = 0x0f,
89 Dial = 0x10, GPSInformation = 0x11, Monitor = 0x12, ToggleMainChannel = 0x13, HotKey1 = 0x14,
90 HotKey2 = 0x15, HotKey3 = 0x16, HotKey4 = 0x17, HotKey5 = 0x18, HotKey6 = 0x19,
91 WorkAlone = 0x1a, SkipChannel = 0x1b, DMRMonitor = 0x1c, SubChannel = 0x1d,
92 PriorityZone = 0x1e, VFOScan = 0x1f, MICSoundQuality = 0x20, LastCallReply = 0x21,
93 ChannelType = 0x22, SimplexRepeater = 0x23, Ranging = 0x24, ChannelRanging = 0x25,
94 MaxVolume = 0x26, Slot = 0x27, Squelch = 0x28, Roaming = 0x29, Zone = 0x2a, RoamingSet = 0x2b,
95 Mute = 0x02c, CtcssDcsSet=0x2d, APRSType = 0x2e, APRSSet = 0x2f, DIMShut = 0x30,
96 GPSToggle = 0x31, SatPredict = 0x32
98 };
99
111
114 DTMF_DUR_50ms = 0, DTMF_DUR_100ms = 1, DTMF_DUR_200ms = 2, DTMF_DUR_300ms = 3, DTMF_DUR_500ms = 4
115 };
116
118 enum class TBSTFrequency {
119 Hz1000 = 0, Hz1450 = 1, Hz1750 = 2, Hz2100 = 3
120 };
121
123 enum class STEFrequency {
124 Off = 0, Hz55_2 = 1, Hz259_2 = 2
125 };
126
128 enum class RepeaterTimeSlot {
129 TS1 = 0, TS2 = 1, Channel = 2
130 };
131
133 enum class SMSFormat {
134 Motorola = 0, Hytera = 1, DMR = 2
135 };
136
137 protected:
139 GeneralSettingsElement(uint8_t *ptr, unsigned size);
140
141 public:
143 explicit GeneralSettingsElement(uint8_t *ptr);
144
146 static constexpr unsigned int size() { return 0x00e0; }
147
148 bool idleChannelTone() const override;
149 void enableIdleChannelTone(bool enable) override;
150
152 virtual unsigned transmitTimeout() const;
154 virtual void setTransmitTimeout(unsigned tot);
155
157 virtual AnytoneDisplaySettingsExtension::Language language() const;
159 virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang);
160
162 virtual Frequency vfoFrequencyStep() const;
164 virtual void setVFOFrequencyStep(Frequency kHz);
165
186
187 bool vfoModeA() const override;
188 void enableVFOModeA(bool enable) override;
189 bool vfoModeB() const override;
190 void enableVFOModeB(bool enable) override;
191
198 virtual double steFrequency() const;
201 virtual void setSTEFrequency(double freq);
202
204 virtual Interval groupCallHangTime() const;
206 virtual void setGroupCallHangTime(Interval sec);
208 virtual Interval privateCallHangTime() const;
210 virtual void setPrivateCallHangTime(Interval sec);
211
213 virtual Interval preWaveDelay() const;
215 virtual void setPreWaveDelay(Interval ms);
217 virtual Interval wakeHeadPeriod() const;
219 virtual void setWakeHeadPeriod(Interval ms);
220
222 virtual unsigned wfmChannelIndex() const;
224 virtual void setWFMChannelIndex(unsigned idx);
226 virtual bool wfmVFOEnabled() const;
228 virtual void enableWFMVFO(bool enable);
229
231 virtual unsigned dtmfToneDuration() const;
233 virtual void setDTMFToneDuration(unsigned ms);
234
236 virtual bool manDown() const;
238 virtual void enableManDown(bool enable);
239
241 virtual bool wfmMonitor() const;
243 virtual void enableWFMMonitor(bool enable);
244
246 virtual Frequency tbstFrequency() const;
248 virtual void setTBSTFrequency(Frequency freq);
249
251 virtual bool proMode() const;
253 virtual void enableProMode(bool enable);
254
255 bool keyToneEnabled() const override;
256 void enableKeyTone(bool enable) override;
257
259 virtual bool filterOwnID() const;
261 virtual void enableFilterOwnID(bool enable);
262
264 virtual bool remoteStunKill() const;
266 virtual void enableRemoteStunKill(bool enable);
268 virtual bool remoteMonitor() const;
270 virtual void enableRemoteMonitor(bool enable);
271
273 virtual bool selectTXContactEnabled() const;
275 virtual void enableSelectTXContact(bool enable);
276
278 virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const;
280 virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match);
282 virtual bool monitorColorCodeMatch() const;
284 virtual void enableMonitorColorCodeMatch(bool enable);
286 virtual bool monitorIDMatch() const;
288 virtual void enableMonitorIDMatch(bool enable);
290 virtual bool monitorTimeSlotHold() const;
292 virtual void enableMonitorTimeSlotHold(bool enable);
293
295 virtual Interval manDownDelay() const;
297 virtual void setManDownDelay(Interval sec);
298
300 virtual unsigned fmCallHold() const;
302 virtual void setFMCallHold(unsigned sec);
303
305 virtual bool gpsMessageEnabled() const;
307 virtual void enableGPSMessage(bool enable);
308
310 virtual bool maintainCallChannel() const;
312 virtual void enableMaintainCallChannel(bool enable);
313
315 virtual unsigned priorityZoneAIndex() const;
317 virtual void setPriorityZoneAIndex(unsigned idx);
319 virtual unsigned priorityZoneBIndex() const;
321 virtual void setPriorityZoneBIndex(unsigned idx);
322
324 virtual bool smsConfirmEnabled() const;
326 virtual void enableSMSConfirm(bool enable);
327
329 virtual bool simplexRepeaterEnabled() const;
331 virtual void enableSimplexRepeater(bool enable);
332
333 Interval gpsUpdatePeriod() const override;
334 void setGPSUpdatePeriod(Interval sec) override;
335
338 virtual bool monitorSimplexRepeaterEnabled() const;
340 virtual void enableMonitorSimplexRepeater(bool enable);
341
342 bool showCurrentContact() const override;
343 void enableShowCurrentContact(bool enable) override;
344
345 bool keyToneLevelAdjustable() const override;
346 unsigned keyToneLevel() const override;
347 void setKeyToneLevel(unsigned level) override;
348 void setKeyToneLevelAdjustable() override;
349
350 bool knobLock() const override;
351 void enableKnobLock(bool enable) override;
352 bool keypadLock() const override;
353 void enableKeypadLock(bool enable) override;
354 bool sidekeysLock() const override;
355 void enableSidekeysLock(bool enable) override;
356 bool keyLockForced() const override;
357 void enableKeyLockForced(bool enable) override;
358
363
364 bool showLastHeard() const override;
365 void enableShowLastHeard(bool enable) override;
366
368 virtual SMSExtension::Format smsFormat() const;
370 virtual void setSMSFormat(SMSExtension::Format fmt);
371
372 bool gpsUnitsImperial() const override;
373 void enableGPSUnitsImperial(bool enable) override;
374
375 Frequency autoRepeaterMinFrequencyVHF() const override;
377 Frequency autoRepeaterMaxFrequencyVHF() const override;
379 Frequency autoRepeaterMinFrequencyUHF() const override;
381 Frequency autoRepeaterMaxFrequencyUHF() const override;
383
386
388 virtual bool fmSendIDAndContact() const;
390 virtual void enableFMSendIDAndContact(bool enable);
391
392 bool defaultChannel() const override;
393 void enableDefaultChannel(bool enable) override;
394 unsigned defaultZoneIndexA() const override;
395 void setDefaultZoneIndexA(unsigned idx) override;
396 unsigned defaultZoneIndexB() const override;
397 void setDefaultZoneIndexB(unsigned idx) override;
398 bool defaultChannelAIsVFO() const override;
399 unsigned defaultChannelAIndex() const override;
400 void setDefaultChannelAIndex(unsigned idx) override;
401 void setDefaultChannelAToVFO() override;
402 bool defaultChannelBIsVFO() const override;
403 unsigned defaultChannelBIndex() const override;
404 void setDefaultChannelBIndex(unsigned idx) override;
405 void setDefaultChannelBToVFO() override;
406
407 bool keepLastCaller() const override;
408 void enableKeepLastCaller(bool enable) override;
409
411 virtual Interval rxBacklightDuration() const;
413 virtual void setRXBacklightDuration(Interval sec);
414
416 virtual AnytoneDisplaySettingsExtension::Color standbyBackgroundColor() const;
418 virtual void setStandbyBackgroundColor(AnytoneDisplaySettingsExtension::Color color);
419
421 virtual unsigned int manualDialedGroupCallHangTime() const;
423 virtual void setManualDialedGroupCallHangTime(unsigned int dur);
425 virtual unsigned int manualDialedPrivateCallHangTime() const;
427 virtual void setManualDialedPrivateCallHangTime(unsigned int dur);
428
429
430 bool fromConfig(const Flags &flags, Context &ctx) override;
431 bool updateConfig(Context &ctx) override;
432
433 protected:
437 static constexpr unsigned int idleChannelTone() { return 0x0000; }
438 static constexpr unsigned int transmitTimeout() { return 0x0004; }
439 static constexpr unsigned int language() { return 0x0005; }
440 static constexpr unsigned int vfoFrequencyStep() { return 0x0008; }
441 static constexpr unsigned int vfoModeB() { return 0x0015; }
442 static constexpr unsigned int vfoModeA() { return 0x0016; }
443 static constexpr unsigned int steType() { return 0x0017; }
444 static constexpr unsigned int steFrequency() { return 0x0018; }
445 static constexpr unsigned int groupCallHangTime() { return 0x0019; }
446 static constexpr unsigned int privateCallHangTime() { return 0x001a; }
447 static constexpr unsigned int preWaveDelay() { return 0x001b; }
448 static constexpr unsigned int wakeHeadPeriod() { return 0x001c; }
449 static constexpr unsigned int wfmChannelIndex() { return 0x001d; }
450 static constexpr unsigned int wfmVFOEnabled() { return 0x001e; }
451 static constexpr unsigned int dtmfToneDuration() { return 0x0023; }
452 static constexpr unsigned int manDown() { return 0x0024; }
453 static constexpr unsigned int wfmMonitor() { return 0x002b; }
454 static constexpr unsigned int tbstFrequency() { return 0x002e; }
455 static constexpr unsigned int proMode() { return 0x0034; }
456 static constexpr unsigned int enableKeyTone() { return 0x0036; }
457 static constexpr unsigned int filterOwnID() { return 0x0038; }
458 static constexpr unsigned int remoteStunKill() { return 0x003c; }
459 static constexpr unsigned int remoteMonitor() { return 0x003e; }
460 static constexpr unsigned int selectTXContact() { return 0x0040; }
461 static constexpr unsigned int monSlotMatch() { return 0x0049; }
462 static constexpr unsigned int monColorCodeMatch() { return 0x004a; }
463 static constexpr unsigned int monIDMatch() { return 0x004b; }
464 static constexpr unsigned int monTimeSlotHold() { return 0x004c; }
465 static constexpr unsigned int manDownDelay() { return 0x004f; }
466 static constexpr unsigned int fmCallHold() { return 0x0050; }
467 static constexpr unsigned int enableGPSMessage() { return 0x0053; }
468 static constexpr unsigned int maintainCallChannel() { return 0x006e; }
469 static constexpr unsigned int priorityZoneA() { return 0x006f; }
470 static constexpr unsigned int priorityZoneB() { return 0x0070; }
471 static constexpr unsigned int smsConfirm() { return 0x0071; }
472 static constexpr unsigned int simplexRepEnable() { return 0x00b1; }
473 static constexpr unsigned int gpsUpdatePeriod() { return 0x00b2; }
474 static constexpr unsigned int simplxRepSpeaker() { return 0x00b3; }
475 static constexpr unsigned int showContact() { return 0x00b4; }
476 static constexpr unsigned int keyToneLevel() { return 0x00b5; }
477 static constexpr Bit knobLock() { return {0x00b6, 0}; }
478 static constexpr Bit keypadLock() { return {0x00b6, 1}; }
479 static constexpr Bit sideKeyLock() { return {0x00b6, 3}; }
480 static constexpr Bit forceKeyLock() { return {0x00b6, 4}; }
481 static constexpr unsigned int simplxRepSlot() { return 0x00b7; }
482 static constexpr unsigned int showLastHeard() { return 0x00b8; }
483 static constexpr unsigned int smsFormat() { return 0x00b9; }
484 static constexpr unsigned int gpsUnits() { return 0x00ba; }
485 static constexpr unsigned int autoRepMinVHF() { return 0x00bc; }
486 static constexpr unsigned int autoRepMaxVHF() { return 0x00c0; }
487 static constexpr unsigned int autoRepMinUHF() { return 0x00c4; }
488 static constexpr unsigned int autoRepMaxUHF() { return 0x00c8; }
489 static constexpr unsigned int autoRepeaterDirB() { return 0x00cc; }
490 static constexpr unsigned int fmSendIDAndContact() { return 0x00cd; }
491 static constexpr unsigned int defaultChannels() { return 0x00ce; }
492 static constexpr unsigned int defaultZoneA() { return 0x00cf; }
493 static constexpr unsigned int defaultZoneB() { return 0x00d0; }
494 static constexpr unsigned int defaultChannelA() { return 0x00d1; }
495 static constexpr unsigned int defaultChannelB() { return 0x00d2; }
496 static constexpr unsigned int keepLastCaller() { return 0x00d3; }
497 static constexpr unsigned int rxBacklightDuration() { return 0x00d4; }
498 static constexpr unsigned int standbyBackground() { return 0x00d5; }
499 static constexpr unsigned int manGrpCallHangTime() { return 0x00d6; }
500 static constexpr unsigned int manPrvCallHangTime() { return 0x00d7; }
502 };
503
504 };
505
511 {
512 protected:
515 ISO8 = 0, ISO7 = 1, Unicode = 2,
516 };
517
518 protected:
520 ExtendedSettingsElement(uint8_t *ptr, unsigned size);
521
522 public:
524 explicit ExtendedSettingsElement(uint8_t *ptr);
525
527 static constexpr unsigned int size() { return 0x0030; }
528
530 void clear();
531
533 virtual bool sendTalkerAlias() const;
535 virtual void enableSendTalkerAlias(bool enable);
536
538 virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const;
540 virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode);
541
546
548 virtual AnytoneDisplaySettingsExtension::Color fontColor() const;
550 virtual void setFontColor(AnytoneDisplaySettingsExtension::Color color);
551
553 virtual bool customChannelBackgroundEnabled() const;
555 virtual void enableCustomChannelBackground(bool enable);
556
558 virtual bool autoRoamingEnabled() const;
560 virtual void enableAutoRoaming(bool enable);
561
563 virtual bool repeaterRangeCheckEnabled() const;
565 virtual void enableRepeaterRangeCheck(bool enable);
567 virtual unsigned int repeaterCheckNumNotifications() const;
569 virtual void setRepeaterCheckNumNotifications(unsigned int n);
571 virtual Interval repeaterRangeCheckInterval() const;
573 virtual void setRepeaterRangeCheckInterval(Interval intv);
579 virtual unsigned int repeaterRangeCheckCount() const;
581 virtual void setRepeaterRangeCheckCount(unsigned int n);
582
584 virtual unsigned int defaultRoamingZoneIndex() const;
586 virtual void setDefaultRoamingZoneIndex(unsigned int index);
592 virtual Interval autoRoamPeriod() const;
594 virtual void setAutoRoamPeriod(Interval minutes);
596 virtual Interval autoRoamDelay() const;
598 virtual void setAutoRoamDelay(Interval sec);
603
605 virtual Interval muteTimer() const;
607 virtual void setMuteTimer(Interval minutes);
608
610 virtual AnytoneDMRSettingsExtension::EncryptionType encryptionType() const;
612 virtual void setEncryptionType(AnytoneDMRSettingsExtension::EncryptionType type);
613
614 AnytoneDisplaySettingsExtension::Color zoneANameColor() const;
615 void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color);
616 AnytoneDisplaySettingsExtension::Color zoneBNameColor() const;
617 void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color);
619 virtual AnytoneDisplaySettingsExtension::Color channelANameColor() const;
621 virtual void setChannelANameColor(AnytoneDisplaySettingsExtension::Color color);
622 AnytoneDisplaySettingsExtension::Color channelBNameColor() const;
623 void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color);
624
625 bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
626 bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
627 bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack());
628
629 public:
633 static constexpr IntRange repRangeReminder() { return {1, 10}; }
635 static constexpr TimeRange rangeCheckInterval() {
636 return TimeRange{Interval::fromSeconds(1), Interval::fromSeconds(50)};
637 }
638
639 static constexpr IntRange repeaterReconnections() { return {3,5}; }
641 static constexpr TimeRange autoRoamingInterval() {
642 return TimeRange{Interval::fromMinutes(1), Interval::fromMinutes(256)};
643 }
644
645 static constexpr TimeRange autoRoamDelay() {
646 return TimeRange{Interval::fromSeconds(0), Interval::fromSeconds(30)};
647 }
648
649 static constexpr TimeRange muteTimer() {
650 return TimeRange{Interval::fromMinutes(1), Interval::fromMinutes(256)};
651 }
652 };
653
654 protected:
656 struct Offset {
658 static constexpr unsigned int sendTalkerAlias() { return 0x0000; }
659 static constexpr unsigned int talkerAliasDisplay() { return 0x0001; }
660 static constexpr unsigned int talkerAliasEncoding() { return 0x0002; }
661 static constexpr unsigned int fontColor() { return 0x0003; }
662 static constexpr unsigned int customChannelBackground() { return 0x0004; }
663 static constexpr unsigned int defaultRoamingZone() { return 0x0005; }
664 static constexpr unsigned int roaming() { return 0x0006; }
665 static constexpr unsigned int repRangeCheck() { return 0x0007; }
666 static constexpr unsigned int repRangeAlert() { return 0x0008; }
667 static constexpr unsigned int repRangeReminder() { return 0x0009; }
668 static constexpr unsigned int rangeCheckInterval() { return 0x000a; }
669 static constexpr unsigned int rangeCheckCount() { return 0x000b; }
670 static constexpr unsigned int roamStartCondition() { return 0x000c; }
671 static constexpr unsigned int autoRoamPeriod() { return 0x000d; }
672 static constexpr unsigned int autoRoamDelay() { return 0x000e; }
673 static constexpr unsigned int roamReturnCondition() { return 0x000f; }
674 static constexpr unsigned int muteDelay() { return 0x0010; }
675 static constexpr unsigned int encryptionType() { return 0x0011; }
676 static constexpr unsigned int zoneANameColor() { return 0x0012; }
677 static constexpr unsigned int zoneBNameColor() { return 0x0013; }
678 static constexpr unsigned int channelANameColor() { return 0x0014; }
679 static constexpr unsigned int channelBNameColor() { return 0x0015; }
681 };
682 };
683
691 {
692 public:
694 enum class FMAPRSPTTMode {
695 Off = 0, Start = 1, End = 2
696 };
697
699 enum class APRSType{
700 Off = 0, FM = 1, DMR = 2
701 };
702
704 enum class DMREncryptionType {
705 Basic = 0, Enhanced = 1
706 };
707
708 protected:
710 ChannelElement(uint8_t *ptr, unsigned size);
711
712 public:
714 ChannelElement(uint8_t *ptr);
715
717 bool hasAESEncryptionKeyIndex() const;
720 unsigned int aesEncryptionKeyIndex() const;
722 void setAESEncryptionKeyIndex(unsigned int index);
725
730
732 bool hasDMREncryptionKeyIndex() const;
735 unsigned int dmrEncryptionKeyIndex() const;
737 void setDMREncryptionKeyIndex(unsigned int index);
740
742 bool hasScanListIndex() const;
744 unsigned scanListIndex() const;
746 void setScanListIndex(unsigned idx);
748 void clearScanListIndex();
749
751 virtual bool hasScanListIndex(unsigned int n) const;
753 virtual unsigned scanListIndex(unsigned int n) const;
755 virtual void setScanListIndex(unsigned int n, unsigned idx);
757 virtual void clearScanListIndex(unsigned int n);
758
760 virtual bool roamingEnabled() const;
762 virtual void enableRoaming(bool enable);
763
765 virtual bool ranging() const;
767 virtual void enableRanging(bool enable);
768
770 virtual unsigned int dmrAPRSChannelIndex() const;
772 virtual void setDMRAPRSChannelIndex(unsigned int idx);
773
775 virtual bool dmrAPRSRXEnabled() const;
777 virtual void enableDMRARPSRX(bool enable);
778
780 virtual bool dmrAPRSPTTEnabled() const;
782 virtual void enableDMRAPRSPTT(bool enable);
783
785 virtual FMAPRSPTTMode fmAPRSPTTMode() const;
787 virtual void setFMAPRSPTTMode(FMAPRSPTTMode mode);
788
790 virtual APRSType aprsType() const;
792 virtual void setAPRSType(APRSType aprstype);
793
794 bool linkChannelObj(Channel *c, Context &ctx) const;
795 bool fromChannelObj(const Channel *c, Context &ctx);
796
797public:
799 struct Limit {
801 static constexpr unsigned int scanListIndices() { return 8; }
802 };
803
804protected:
807 static constexpr unsigned int aesEncryptionKeyIndex() { return 0x0013; }
808 static constexpr Bit roaming() { return {0x001b, 2}; }
809 static constexpr Bit ranging() { return {0x001b, 0}; }
810 static constexpr Bit dmrEncryptionType() { return {0x0021, 6}; }
811 static constexpr unsigned int dmrEncryptionKeyIndex() { return 0x0022; }
812 static constexpr unsigned int scanListIndices() { return 0x0036; }
813 static constexpr unsigned int betweenScanListIndices() { return 0x0001; }
814 static constexpr unsigned int dmrAPRSChannelIndex() { return 0x003e; }
815 static constexpr Bit dmrAPRSRXEnable() { return {0x003f, 5}; }
816 static constexpr Bit dmrAPRSPTTEnable() { return {0x003f, 4}; }
817 static constexpr Bit fmAPRSPTTMode() { return {0x003f, 2}; }
818 static constexpr Bit aprsType() { return {0x003f, 0}; }
819 };
821 };
822
830 {
831 protected:
833 ChannelExtensionElement(uint8_t *ptr, size_t size);
834
835 public:
837 ChannelExtensionElement(uint8_t *ptr);
838
840 static constexpr unsigned int size() { return ChannelElement::size(); }
841
843 void clear();
844
846 virtual bool hasARC4KeyIndex() const;
848 virtual unsigned int arc4KeyIndex() const;
850 virtual void setARC4KeyIndex(unsigned int idx);
852 virtual void clearARC4KeyIndex();
853
855 virtual bool linkChannelObj(Channel *c, Context &ctx, const ErrorStack &err=ErrorStack()) const;
857 virtual bool fromChannelObj(const Channel *c, Context &ctx, const ErrorStack &err=ErrorStack());
858
859 protected:
861 struct Offset: public Element::Offset {
863 static constexpr unsigned int arc4KeyIndex() { return 0x0000; }
865 };
866 };
867
874 {
875 protected:
877 APRSSettingsElement(uint8_t *ptr, unsigned size);
878
880 enum class SignalingType {
881 Off=0, CTCSS=1, DCS=2
882 };
883
884 public:
886 explicit APRSSettingsElement(uint8_t *ptr);
887
889 static constexpr unsigned int size() { return 0x00a0; }
890
892 void clear();
893 bool isValid() const;
894
896 virtual Frequency fmFrequency() const;
898 virtual void setFMFrequency(Frequency f);
899
901 virtual Interval fmTXDelay() const;
903 virtual void setFMTXDelay(const Interval intv);
904
906 virtual SelectiveCall txTone() const;
908 virtual void setTXTone(const SelectiveCall &code);
909
911 virtual Interval manualTXInterval() const;
913 virtual void setManualTXInterval(Interval sec);
914
916 virtual bool autoTX() const;
918 virtual Interval autoTXInterval() const;
920 virtual void setAutoTXInterval(Interval sec);
922 virtual void disableAutoTX();
923
925 virtual bool fixedLocationEnabled() const;
927 virtual QGeoCoordinate fixedLocation() const;
929 virtual void setFixedLocation(QGeoCoordinate &loc);
931 virtual void disableFixedLocation();
932
934 virtual QString destination() const;
936 virtual unsigned destinationSSID() const;
938 virtual void setDestination(const QString &call, unsigned ssid);
940 virtual QString source() const;
942 virtual unsigned sourceSSID() const;
944 virtual void setSource(const QString &call, unsigned ssid);
945
947 virtual QString path() const;
949 virtual void setPath(const QString &path);
950
952 virtual FMAPRSSystem::Icon icon() const;
954 virtual void setIcon(FMAPRSSystem::Icon icon);
955
957 virtual Channel::Power power() const;
959 virtual void setPower(Channel::Power power);
960
962 virtual Interval fmPreWaveDelay() const;
964 virtual void setFMPreWaveDelay(Interval ms);
965
967 virtual bool dmrChannelIsSelected(unsigned n) const;
969 virtual unsigned dmrChannelIndex(unsigned n) const;
971 virtual void setDMRChannelIndex(unsigned n, unsigned idx);
973 virtual void setDMRChannelSelected(unsigned n);
974
976 virtual unsigned dmrDestination(unsigned n) const;
978 virtual void setDMRDestination(unsigned n, unsigned idx);
979
981 virtual DMRContact::Type dmrCallType(unsigned n) const;
983 virtual void setDMRCallType(unsigned n, DMRContact::Type type);
984
986 virtual bool dmrTimeSlotOverride(unsigned n);
988 virtual DMRChannel::TimeSlot dmrTimeSlot(unsigned n) const;
990 virtual void setDMRTimeSlot(unsigned n, DMRChannel::TimeSlot ts);
992 virtual void clearDMRTimeSlotOverride(unsigned n);
993
995 virtual bool dmrRoaming() const;
997 virtual void enableDMRRoaming(bool enable);
998
1000 virtual Interval dmrPreWaveDelay() const;
1002 virtual void setDMRPreWaveDelay(Interval ms);
1003
1005 virtual bool fromFMAPRSSystem(const FMAPRSSystem *sys, Context &ctx,
1006 const ErrorStack &err=ErrorStack());
1008 virtual FMAPRSSystem *toFMAPRSSystem();
1011 virtual bool linkFMAPRSSystem(FMAPRSSystem *sys, Context &ctx);
1012
1014 virtual bool fromDMRAPRSSystems(Context &ctx);
1016 virtual bool fromDMRAPRSSystemObj(unsigned int idx, DMRAPRSSystem *sys, Context &ctx);
1018 virtual DMRAPRSSystem *toDMRAPRSSystemObj(int idx) const;
1020 virtual bool linkDMRAPRSSystem(int idx, DMRAPRSSystem *sys, Context &ctx) const;
1021
1022 public:
1024 struct Limit {
1026 static constexpr unsigned int callLength() { return 0x0006; }
1028 static constexpr unsigned int pathLength() { return 0x0020; }
1030 static constexpr unsigned int dmrSystems() { return 0x0008; }
1031 };
1032
1033 protected:
1035 struct Offset {
1037 static constexpr unsigned int fmFrequency() { return 0x0001; }
1038 static constexpr unsigned int fmTXDelay() { return 0x0005; }
1039 static constexpr unsigned int fmSigType() { return 0x0006; }
1040 static constexpr unsigned int fmCTCSS() { return 0x0007; }
1041 static constexpr unsigned int fmDCS() { return 0x0008; }
1042 static constexpr unsigned int manualTXInterval() { return 0x000a; }
1043 static constexpr unsigned int autoTXInterval() { return 0x000b; }
1044 static constexpr unsigned int fmTXMonitor() { return 0x000c; }
1045 static constexpr unsigned int fixedLocation() { return 0x000d; }
1046 static constexpr unsigned int fixedLatDeg() { return 0x000e; }
1047 static constexpr unsigned int fixedLatMin() { return 0x000f; }
1048 static constexpr unsigned int fixedLatSec() { return 0x0010; }
1049 static constexpr unsigned int fixedLatSouth() { return 0x0011; }
1050 static constexpr unsigned int fixedLonDeg() { return 0x0012; }
1051 static constexpr unsigned int fixedLonMin() { return 0x0013; }
1052 static constexpr unsigned int fixedLonSec() { return 0x0014; }
1053 static constexpr unsigned int fixedLonWest() { return 0x0015; }
1054 static constexpr unsigned int destinationCall() { return 0x0016; }
1055 static constexpr unsigned int destinationSSID() { return 0x001c; }
1056 static constexpr unsigned int sourceCall() { return 0x001d; }
1057 static constexpr unsigned int sourceSSID() { return 0x0023; }
1058 static constexpr unsigned int path() { return 0x0024; }
1059 static constexpr unsigned int symbolTable() { return 0x0039; }
1060 static constexpr unsigned int symbol() { return 0x003a; }
1061 static constexpr unsigned int fmPower() { return 0x003b; }
1062 static constexpr unsigned int fmPrewaveDelay() { return 0x003c; }
1063 static constexpr unsigned int dmrChannelIndices() { return 0x0040; }
1064 static constexpr unsigned int betweenDMRChannelIndices() { return 0x0002; }
1065 static constexpr unsigned int dmrDestinations() { return 0x0050; }
1066 static constexpr unsigned int betweenDMRDestinations() { return 0x0004; }
1067 static constexpr unsigned int dmrCallTypes() { return 0x0070; }
1068 static constexpr unsigned int betweenDMRCallTypes() { return 0x0001; }
1069 static constexpr unsigned int roamingSupport() { return 0x0078; }
1070 static constexpr unsigned int dmrTimeSlots() { return 0x0079; }
1071 static constexpr unsigned int betweenDMRTimeSlots() { return 0x0001; }
1072 static constexpr unsigned int dmrPrewaveDelay() { return 0x0081; }
1074 };
1075 };
1076
1085
1090
1091public:
1093 explicit DMR6X2UVCodeplug(const QString &label, QObject *parent=nullptr);
1094
1095public:
1097 explicit DMR6X2UVCodeplug(QObject *parent=nullptr);
1098
1099 Config *preprocess(Config *config, const ErrorStack &err) const;
1100
1101protected:
1102 bool allocateBitmaps();
1103 void setBitmaps(Context &ctx);
1104 void allocateForDecoding();
1105 void allocateForEncoding();
1106
1107 bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1108 bool createElements(Context &ctx, const ErrorStack &err=ErrorStack());
1109 bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack());
1110
1112 bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1113 bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1114 bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1115
1116 void allocateChannels();
1117 bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1118 bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1119 bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1120
1121 void allocateGPSSystems();
1122 bool encodeGPSSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1123 bool createGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack());
1124 bool linkGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack());
1125
1127 virtual void allocateRoaming();
1129 virtual bool encodeRoaming(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1131 virtual bool createRoaming(Context &ctx, const ErrorStack &err=ErrorStack());
1133 virtual bool linkRoaming(Context &ctx, const ErrorStack &err=ErrorStack());
1134
1136 virtual void allocateAESKeys();
1138 virtual bool encodeAESKeys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1140 virtual bool createAESKeys(Context &ctx, const ErrorStack &err=ErrorStack());
1141
1143 virtual void allocateARC4Keys();
1145 virtual bool encodeARC4Keys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1147 virtual bool createARC4Keys(Context &ctx, const ErrorStack &err=ErrorStack());
1148
1149
1150public:
1154 static constexpr unsigned int fmAPRSMessage() { return 60; }
1156 static constexpr unsigned int roamingChannels() { return 250; }
1158 static constexpr unsigned int roamingZones() { return 64; }
1160 static constexpr unsigned int aesEncryptionKeys() { return 254; }
1162 static constexpr unsigned int arc4EncryptionKeys() { return 254; }
1163 };
1164
1165protected:
1169 static constexpr unsigned int toChannelExtension() { return 0x00002000; }
1170 static constexpr unsigned int roamingChannelBitmap() { return 0x01042000; }
1171 static constexpr unsigned int roamingChannels() { return 0x01040000; }
1172 static constexpr unsigned int roamingZoneBitmap() { return 0x01042080; }
1173 static constexpr unsigned int roamingZones() { return 0x01043000; }
1174
1175 static constexpr unsigned int fmAPRSMessage() { return 0x02501200; }
1176 static constexpr unsigned int fmAPRSFrequencyNames() { return 0x02502000; }
1177 static constexpr unsigned int settingsExtension() { return 0x02501400; }
1178
1179 static constexpr unsigned int aesEncryptionKeys() { return 0x025c1000; }
1180 static constexpr unsigned int arc4EncryptionKeys() { return 0x025c5000; }
1182 };
1183
1187 static constexpr unsigned int fmAPRSMessage() { return 0x00000040; }
1189 };
1190};
1191
1192#endif // DMR6X2UVCODEPLUG_HH
Direction
Encodes the auto-repeater offset sign.
Definition anytone_settingsextension.hh:1188
Represents the base class for channel encodings in all AnyTone codeplugs.
Definition anytone_codeplug.hh:69
virtual Mode mode() const
Returns the channel mode (analog, digtital, etc).
Definition anytone_codeplug.cc:163
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:130
Represents the base class for the extended settings element in many AnyTone codeplugs.
Definition anytone_codeplug.hh:1282
virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition anytone_codeplug.cc:4428
KeyFunction
All possible key functions.
Definition anytone_settingsextension.hh:267
TimeSlot
Possible repeater time-slots.
Definition anytone_settingsextension.hh:1914
RoamStart
Possible roaming start conditions.
Definition anytone_settingsextension.hh:1533
OutOfRangeAlert
Possible repeater out-of-range alerts.
Definition anytone_settingsextension.hh:1539
STEType
All possible STE (squelch tail eliminate) types.
Definition anytone_settingsextension.hh:2144
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:37
Power
Specifies the prefix for every ID assigned to every channel during serialization.
Definition channel.hh:64
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 general config of the radio within the D868UV binary codeplug.
Definition d868uv_codeplug.hh:168
D868UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor constructor.
Definition d868uv_codeplug.cc:1305
Represents an AES encryption key.
Definition d878uv_codeplug.hh:1719
Represents an ARC4 encryption key.
Definition d878uv_codeplug.hh:1787
Represents the bitmap, indicating which roaming channel is valid.
Definition d878uv_codeplug.hh:1627
Implements the binary representation of a roaming channel within the codeplug.
Definition d878uv_codeplug.hh:1545
Represents the bitmap, indicating which roaming zone is valid.
Definition d878uv_codeplug.hh:1701
Represents a roaming zone within the binary codeplug.
Definition d878uv_codeplug.hh:1645
uint32_t size() const
Returns the total size of the DFU file.
Definition dfufile.cc:52
virtual Frequency fmFrequency() const
Returns the FM APRS frequency.
Definition dmr6x2uv_codeplug.cc:1962
virtual bool dmrTimeSlotOverride(unsigned n)
Returns true if the n-th system overrides the channel time-slot.
Definition dmr6x2uv_codeplug.cc:2203
virtual QString path() const
Returns the path string.
Definition dmr6x2uv_codeplug.cc:2110
virtual Interval autoTXInterval() const
Returns the auto TX interval in seconds.
Definition dmr6x2uv_codeplug.cc:2020
virtual DMRContact::Type dmrCallType(unsigned n) const
Returns the call type for the n-th system.
Definition dmr6x2uv_codeplug.cc:2185
virtual QString source() const
Returns the source call.
Definition dmr6x2uv_codeplug.cc:2094
virtual DMRChannel::TimeSlot dmrTimeSlot(unsigned n) const
Returns the time slot if overridden (only valid if timeSlot returns true).
Definition dmr6x2uv_codeplug.cc:2207
virtual void setFMTXDelay(const Interval intv)
Sets the TX delay in ms.
Definition dmr6x2uv_codeplug.cc:1974
SignalingType
Possible settings for the FM APRS subtone type.
Definition dmr6x2uv_codeplug.hh:880
virtual void setFixedLocation(QGeoCoordinate &loc)
Sets the fixed location to send.
Definition dmr6x2uv_codeplug.cc:2051
static constexpr unsigned int size()
The size of the element.
Definition dmr6x2uv_codeplug.hh:889
virtual void disableFixedLocation()
Disables sending a fixed location.
Definition dmr6x2uv_codeplug.cc:2074
virtual void setPath(const QString &path)
Sets the path string.
Definition dmr6x2uv_codeplug.cc:2114
virtual Channel::Power power() const
Returns the transmit power.
Definition dmr6x2uv_codeplug.cc:2129
virtual bool fromFMAPRSSystem(const FMAPRSSystem *sys, Context &ctx, const ErrorStack &err=ErrorStack())
Configures this APRS system from the given generic config.
Definition dmr6x2uv_codeplug.cc:2245
virtual Interval fmTXDelay() const
Returns the TX delay in ms.
Definition dmr6x2uv_codeplug.cc:1970
virtual void setDMRChannelSelected(unsigned n)
Sets the channel to the current/selected channel.
Definition dmr6x2uv_codeplug.cc:2171
virtual unsigned dmrDestination(unsigned n) const
Returns the destination contact for the n-th system.
Definition dmr6x2uv_codeplug.cc:2176
virtual QString destination() const
Returns the destination call.
Definition dmr6x2uv_codeplug.cc:2079
virtual unsigned destinationSSID() const
Returns the destination SSID.
Definition dmr6x2uv_codeplug.cc:2084
virtual void clearDMRTimeSlotOverride(unsigned n)
Clears the time-slot override.
Definition dmr6x2uv_codeplug.cc:2222
virtual FMAPRSSystem * toFMAPRSSystem()
Constructs a generic APRS system configuration from this APRS system.
Definition dmr6x2uv_codeplug.cc:2275
virtual bool fromDMRAPRSSystems(Context &ctx)
Constructs all GPS system from the generic configuration.
Definition dmr6x2uv_codeplug.cc:2311
virtual void setPower(Channel::Power power)
Sets the transmit power.
Definition dmr6x2uv_codeplug.cc:2139
virtual QGeoCoordinate fixedLocation() const
Returns the fixed location send.
Definition dmr6x2uv_codeplug.cc:2037
virtual SelectiveCall txTone() const
Returns the sub tone settings.
Definition dmr6x2uv_codeplug.cc:1979
virtual bool fromDMRAPRSSystemObj(unsigned int idx, DMRAPRSSystem *sys, Context &ctx)
Encodes the given GPS system.
Definition dmr6x2uv_codeplug.cc:2319
virtual DMRAPRSSystem * toDMRAPRSSystemObj(int idx) const
Constructs a generic GPS system from the idx-th encoded GPS system.
Definition dmr6x2uv_codeplug.cc:2334
virtual void setDMRPreWaveDelay(Interval ms)
Sets the repeater activation delay in ms.
Definition dmr6x2uv_codeplug.cc:2240
virtual Interval dmrPreWaveDelay() const
Returns the repeater activation delay in ms.
Definition dmr6x2uv_codeplug.cc:2236
virtual bool fixedLocationEnabled() const
Returns true if a fixed location is send.
Definition dmr6x2uv_codeplug.cc:2033
virtual void enableDMRRoaming(bool enable)
Enables/disables roaming.
Definition dmr6x2uv_codeplug.cc:2231
virtual void setDMRDestination(unsigned n, unsigned idx)
Sets the destination contact for the n-th system.
Definition dmr6x2uv_codeplug.cc:2180
virtual void setTXTone(const SelectiveCall &code)
Sets the sub tone settings.
Definition dmr6x2uv_codeplug.cc:1994
virtual Interval fmPreWaveDelay() const
Returns the pre-wave delay in ms.
Definition dmr6x2uv_codeplug.cc:2150
virtual bool dmrRoaming() const
Returns true if the roaming is enabled.
Definition dmr6x2uv_codeplug.cc:2227
virtual void setDMRChannelIndex(unsigned n, unsigned idx)
Sets the digital channel index for the n-th system.
Definition dmr6x2uv_codeplug.cc:2167
virtual void setFMPreWaveDelay(Interval ms)
Sets the pre-wave delay in ms.
Definition dmr6x2uv_codeplug.cc:2154
APRSSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition dmr6x2uv_codeplug.cc:1933
virtual bool linkFMAPRSSystem(FMAPRSSystem *sys, Context &ctx)
Links the transmit channel within the generic APRS system based on the transmit frequency defined wit...
Definition dmr6x2uv_codeplug.cc:2290
void clear()
Resets the settings.
Definition dmr6x2uv_codeplug.cc:1946
virtual void setDestination(const QString &call, unsigned ssid)
Sets the destination call & SSID.
Definition dmr6x2uv_codeplug.cc:2088
virtual Interval manualTXInterval() const
Returns the manual TX interval in seconds.
Definition dmr6x2uv_codeplug.cc:2007
virtual unsigned sourceSSID() const
Returns the source SSID.
Definition dmr6x2uv_codeplug.cc:2099
virtual bool autoTX() const
Returns true if the auto transmit is enabled.
Definition dmr6x2uv_codeplug.cc:2016
virtual void setIcon(FMAPRSSystem::Icon icon)
Sets the APRS icon.
Definition dmr6x2uv_codeplug.cc:2123
bool isValid() const
Returns true if the pointer is not null.
Definition dmr6x2uv_codeplug.cc:1954
virtual bool dmrChannelIsSelected(unsigned n) const
Returns true if the channel points to the current/selected channel.
Definition dmr6x2uv_codeplug.cc:2159
virtual void disableAutoTX()
Disables auto tx.
Definition dmr6x2uv_codeplug.cc:2028
virtual bool linkDMRAPRSSystem(int idx, DMRAPRSSystem *sys, Context &ctx) const
Links the specified generic GPS system.
Definition dmr6x2uv_codeplug.cc:2341
virtual FMAPRSSystem::Icon icon() const
Returns the APRS icon.
Definition dmr6x2uv_codeplug.cc:2119
virtual void setFMFrequency(Frequency f)
Sets the FM APRS frequency.
Definition dmr6x2uv_codeplug.cc:1966
virtual void setSource(const QString &call, unsigned ssid)
Sets the source call & SSID.
Definition dmr6x2uv_codeplug.cc:2103
virtual unsigned dmrChannelIndex(unsigned n) const
Returns the digital channel index for the n-th system.
Definition dmr6x2uv_codeplug.cc:2163
virtual void setDMRCallType(unsigned n, DMRContact::Type type)
Sets the call type for the n-th system.
Definition dmr6x2uv_codeplug.cc:2194
virtual void setManualTXInterval(Interval sec)
Sets the manual TX interval in seconds.
Definition dmr6x2uv_codeplug.cc:2011
virtual void setAutoTXInterval(Interval sec)
Sets the auto TX interval in seconds.
Definition dmr6x2uv_codeplug.cc:2024
virtual void setDMRTimeSlot(unsigned n, DMRChannel::TimeSlot ts)
Overrides the time slot of the n-th selected channel.
Definition dmr6x2uv_codeplug.cc:2215
bool hasDMREncryptionKeyIndex() const
Returns true, if an DMR encryption key index is set.
Definition dmr6x2uv_codeplug.cc:1601
unsigned int aesEncryptionKeyIndex() const
Returns the AES encryption key index.
Definition dmr6x2uv_codeplug.cc:1573
virtual void enableDMRARPSRX(bool enable)
Enables/disables the reception of DMR APRS messages.
Definition dmr6x2uv_codeplug.cc:1693
virtual APRSType aprsType() const
Returns the APRS type.
Definition dmr6x2uv_codeplug.cc:1716
ChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition dmr6x2uv_codeplug.cc:1554
virtual bool ranging() const
Returns true, if ranging is enabled.
Definition dmr6x2uv_codeplug.cc:1671
void setScanListIndex(unsigned idx)
Sets the first scan list index (0-based).
Definition dmr6x2uv_codeplug.cc:1630
FMAPRSPTTMode
Possible PTT modes for FM APRS.
Definition dmr6x2uv_codeplug.hh:694
void clearAESEncryptionKeyIndex()
Clears the AES encryption key index.
Definition dmr6x2uv_codeplug.cc:1583
bool hasScanListIndex() const
Returns true, if the first scan list index is set.
Definition dmr6x2uv_codeplug.cc:1622
virtual void setFMAPRSPTTMode(FMAPRSPTTMode mode)
Sets the FM APRS PTT mode.
Definition dmr6x2uv_codeplug.cc:1711
void setDMREncryptionType(DMREncryptionType type)
Sets the DMR encryption type.
Definition dmr6x2uv_codeplug.cc:1595
unsigned scanListIndex() const
Returns the first scan list index (0-based).
Definition dmr6x2uv_codeplug.cc:1626
virtual bool dmrAPRSPTTEnabled() const
Returns true, if the position is reported via DMR APRS on PTT.
Definition dmr6x2uv_codeplug.cc:1698
virtual void enableRoaming(bool enable)
Enables/disables roaming.
Definition dmr6x2uv_codeplug.cc:1665
virtual unsigned int dmrAPRSChannelIndex() const
Returns the DMR APRS report channel index.
Definition dmr6x2uv_codeplug.cc:1680
bool linkChannelObj(Channel *c, Context &ctx) const
Links a previously constructed channel to the rest of the configuration.
Definition dmr6x2uv_codeplug.cc:1784
virtual FMAPRSPTTMode fmAPRSPTTMode() const
Returns the FM APRS PTT mode.
Definition dmr6x2uv_codeplug.cc:1707
virtual bool roamingEnabled() const
Returns true if roaming is enabled for this channel.
Definition dmr6x2uv_codeplug.cc:1660
bool hasAESEncryptionKeyIndex() const
Returns true, if an AES encryption key index is set.
Definition dmr6x2uv_codeplug.cc:1568
virtual void enableRanging(bool enable)
Enables/disables ranging.
Definition dmr6x2uv_codeplug.cc:1675
virtual void setDMRAPRSChannelIndex(unsigned int idx)
Sets the DMR APRS report channel index.
Definition dmr6x2uv_codeplug.cc:1684
DMREncryptionType
Possible encryption types.
Definition dmr6x2uv_codeplug.hh:704
void clearScanListIndex()
Clears the first scan list index.
Definition dmr6x2uv_codeplug.cc:1634
void setAESEncryptionKeyIndex(unsigned int index)
Sets the AES encryption key index.
Definition dmr6x2uv_codeplug.cc:1578
virtual void setAPRSType(APRSType aprstype)
Sets the APRS type.
Definition dmr6x2uv_codeplug.cc:1720
APRSType
Possible APRS report types.
Definition dmr6x2uv_codeplug.hh:699
bool fromChannelObj(const Channel *c, Context &ctx)
Initializes this codeplug channel from the given generic configuration.
Definition dmr6x2uv_codeplug.cc:1725
unsigned int dmrEncryptionKeyIndex() const
Returns the DMR encryption key index.
Definition dmr6x2uv_codeplug.cc:1606
DMREncryptionType dmrEncryptionType() const
Returns the DMR encryption type.
Definition dmr6x2uv_codeplug.cc:1589
virtual void enableDMRAPRSPTT(bool enable)
Enables/disables reporting the position via DMR APRS on PTT.
Definition dmr6x2uv_codeplug.cc:1702
virtual bool dmrAPRSRXEnabled() const
Returns true, if the reception of DMR APRS messages is enabled.
Definition dmr6x2uv_codeplug.cc:1689
void clearDMREncryptionKeyIndex()
Clears the DMR encryption key index.
Definition dmr6x2uv_codeplug.cc:1616
void setDMREncryptionKeyIndex(unsigned int index)
Sets the DMR encryption key index.
Definition dmr6x2uv_codeplug.cc:1611
virtual unsigned int arc4KeyIndex() const
Returns the 0-based ARC4 key index.
Definition dmr6x2uv_codeplug.cc:1869
virtual void clearARC4KeyIndex()
Clears the ARC4 key index.
Definition dmr6x2uv_codeplug.cc:1879
virtual void setARC4KeyIndex(unsigned int idx)
Sets the ARC4 key index.
Definition dmr6x2uv_codeplug.cc:1874
virtual bool linkChannelObj(Channel *c, Context &ctx, const ErrorStack &err=ErrorStack()) const
Links a previously created channel object.
Definition dmr6x2uv_codeplug.cc:1885
ChannelExtensionElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dmr6x2uv_codeplug.cc:1844
virtual bool hasARC4KeyIndex() const
Returns true, if the channel has an ARC4 key index assigned.
Definition dmr6x2uv_codeplug.cc:1864
void clear()
Resets the channel extension.
Definition dmr6x2uv_codeplug.cc:1857
virtual bool fromChannelObj(const Channel *c, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the given channel object.
Definition dmr6x2uv_codeplug.cc:1908
static constexpr unsigned int size()
The size of the element.
Definition dmr6x2uv_codeplug.hh:840
virtual Interval autoRoamDelay() const
Returns the effective roaming waiting time in seconds (0-30s).
Definition dmr6x2uv_codeplug.cc:1354
void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO A.
Definition dmr6x2uv_codeplug.cc:1401
virtual void enableCustomChannelBackground(bool enable)
Enables/disables the custom channel background.
Definition dmr6x2uv_codeplug.cc:1270
virtual void setEncryptionType(AnytoneDMRSettingsExtension::EncryptionType type)
Sets the encryption type.
Definition dmr6x2uv_codeplug.cc:1389
virtual Interval autoRoamPeriod() const
Returns the auto-roaming interval in minutes (1-256).
Definition dmr6x2uv_codeplug.cc:1344
ExtendedSettingsElement(uint8_t *ptr, unsigned size)
Hidden Constructor.
Definition dmr6x2uv_codeplug.cc:1193
virtual void setRepeaterOutOfRangeAlert(AnytoneRoamingSettingsExtension::OutOfRangeAlert alert)
Sets the repeater out-of-range alert type.
Definition dmr6x2uv_codeplug.cc:1303
AnytoneDisplaySettingsExtension::Color zoneANameColor() const
Returns the color of the zone name for VFO A.
Definition dmr6x2uv_codeplug.cc:1397
virtual void setMuteTimer(Interval minutes)
Sets the mute timer in minutes.
Definition dmr6x2uv_codeplug.cc:1377
virtual void setFontColor(AnytoneDisplaySettingsExtension::Color color)
Sets the font color.
Definition dmr6x2uv_codeplug.cc:1261
virtual void setRepeaterRangeCheckInterval(Interval intv)
Sets the repeater check interval in seconds (5-50s).
Definition dmr6x2uv_codeplug.cc:1320
static constexpr unsigned int size()
Returns the size of the element.
Definition dmr6x2uv_codeplug.hh:527
virtual unsigned int defaultRoamingZoneIndex() const
Returns the roaming zone index.
Definition dmr6x2uv_codeplug.cc:1275
void clear()
Resets the general settings.
Definition dmr6x2uv_codeplug.cc:1206
virtual void setAutoRoamDelay(Interval sec)
Sets the effective roaming waiting time in seconds (0-30s).
Definition dmr6x2uv_codeplug.cc:1358
void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color for the VFO B.
Definition dmr6x2uv_codeplug.cc:1426
virtual void setAutoRoamPeriod(Interval minutes)
Sets the auto-roaming interval in minutes (1-256).
Definition dmr6x2uv_codeplug.cc:1348
virtual bool repeaterRangeCheckEnabled() const
Returns true if repeater check is enabled.
Definition dmr6x2uv_codeplug.cc:1291
virtual void setRoamingStartCondition(AnytoneRoamingSettingsExtension::RoamStart cond)
Sets the condition to start roaming.
Definition dmr6x2uv_codeplug.cc:1339
virtual void setRoamingReturnCondition(AnytoneRoamingSettingsExtension::RoamStart cond)
Sets the roaming return condition.
Definition dmr6x2uv_codeplug.cc:1368
void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO B.
Definition dmr6x2uv_codeplug.cc:1409
virtual AnytoneRoamingSettingsExtension::OutOfRangeAlert repeaterOutOfRangeAlert() const
Returns the repeater out-of-range alert type.
Definition dmr6x2uv_codeplug.cc:1299
virtual AnytoneRoamingSettingsExtension::RoamStart roamingReturnCondition() const
Returns the roaming return condition.
Definition dmr6x2uv_codeplug.cc:1364
AnytoneDisplaySettingsExtension::Color zoneBNameColor() const
Returns the color of the zone name for VFO B.
Definition dmr6x2uv_codeplug.cc:1405
virtual unsigned int repeaterRangeCheckCount() const
Returns the number of times, a repeater reconnection is tried (3-5).
Definition dmr6x2uv_codeplug.cc:1325
virtual void enableRepeaterRangeCheck(bool enable)
Enables/disables repeater check.
Definition dmr6x2uv_codeplug.cc:1295
virtual Interval repeaterRangeCheckInterval() const
Returns the repeater check interval in seconds (5-50s).
Definition dmr6x2uv_codeplug.cc:1316
virtual void enableAutoRoaming(bool enable)
Enables/disables auto roaming.
Definition dmr6x2uv_codeplug.cc:1287
bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Link config from settings extension.
Definition dmr6x2uv_codeplug.cc:1527
AnytoneDisplaySettingsExtension::Color channelBNameColor() const
Returns the color of the channel name for VFO B.
Definition dmr6x2uv_codeplug.cc:1422
virtual DMRSettings::TalkerAliasEncoding talkerAliasEncoding() const
Returns the talker alias encoding.
Definition dmr6x2uv_codeplug.cc:1230
bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Update config from settings.
Definition dmr6x2uv_codeplug.cc:1482
virtual unsigned int repeaterCheckNumNotifications() const
Returns the number of times, the repeater out-of-range reminder is shown (1-10).
Definition dmr6x2uv_codeplug.cc:1307
virtual bool autoRoamingEnabled() const
Returns true if auto roaming is enabled.
Definition dmr6x2uv_codeplug.cc:1283
virtual AnytoneDMRSettingsExtension::EncryptionType encryptionType() const
Returns the encryption type.
Definition dmr6x2uv_codeplug.cc:1383
virtual void setChannelANameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the name color for channel A.
Definition dmr6x2uv_codeplug.cc:1418
virtual AnytoneDisplaySettingsExtension::Color fontColor() const
Returns the font color.
Definition dmr6x2uv_codeplug.cc:1257
virtual AnytoneRoamingSettingsExtension::RoamStart roamingStartCondition() const
Returns the condition to start roaming.
Definition dmr6x2uv_codeplug.cc:1335
virtual void setDefaultRoamingZoneIndex(unsigned int index)
Sets the roaming zone index.
Definition dmr6x2uv_codeplug.cc:1279
virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const
Returns the talker alias source.
Definition dmr6x2uv_codeplug.cc:1220
virtual Interval muteTimer() const
Returns the mute timer in minutes.
Definition dmr6x2uv_codeplug.cc:1373
virtual void setRepeaterCheckNumNotifications(unsigned int n)
Sets the number of times, the repeater out-of-range reminder is shown (1-10).
Definition dmr6x2uv_codeplug.cc:1311
virtual bool sendTalkerAlias() const
Returns true if the talker alias is sent.
Definition dmr6x2uv_codeplug.cc:1211
virtual void setTalkerAliasEncoding(DMRSettings::TalkerAliasEncoding encoding)
Sets the talker alias encoding.
Definition dmr6x2uv_codeplug.cc:1241
TalkerAliasEncoding
Talker alias encoding.
Definition dmr6x2uv_codeplug.hh:514
bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the settings from the config.
Definition dmr6x2uv_codeplug.cc:1431
virtual void setRepeaterRangeCheckCount(unsigned int n)
Sets the number of times, a repeater reconnection is tried (3-5).
Definition dmr6x2uv_codeplug.cc:1329
virtual AnytoneDisplaySettingsExtension::Color channelANameColor() const
Returns the name color for channel A.
Definition dmr6x2uv_codeplug.cc:1414
virtual void enableSendTalkerAlias(bool enable)
Enables/disables sending the talker alias.
Definition dmr6x2uv_codeplug.cc:1215
virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode)
Sets the talker alias source.
Definition dmr6x2uv_codeplug.cc:1224
virtual bool customChannelBackgroundEnabled() const
Returns true if the custom channel background is enabled.
Definition dmr6x2uv_codeplug.cc:1266
void setKeyToneLevelAdjustable() override
Sets the key-tone level adjustable.
Definition dmr6x2uv_codeplug.cc:754
AnytoneKeySettingsExtension::KeyFunction funcKey2Long() const override
Returns the key function for a long press on the function key 2.
Definition dmr6x2uv_codeplug.cc:380
virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const
Returns the monitor slot match.
Definition dmr6x2uv_codeplug.cc:608
void setFuncKeyAShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 1/A.
Definition dmr6x2uv_codeplug.cc:303
virtual Interval rxBacklightDuration() const
Returns backlight duration during RX.
Definition dmr6x2uv_codeplug.cc:989
void setFuncKey2Long(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 2.
Definition dmr6x2uv_codeplug.cc:384
AnytoneKeySettingsExtension::KeyFunction funcKeyBLong() const override
Returns the key function for a long press on the function key 2.
Definition dmr6x2uv_codeplug.cc:353
virtual void enableFMSendIDAndContact(bool enable)
Enables/disables sending contact with FM ID.
Definition dmr6x2uv_codeplug.cc:915
virtual unsigned dtmfToneDuration() const
Returns the DTMF tone duration in ms.
Definition dmr6x2uv_codeplug.cc:485
unsigned defaultChannelBIndex() const override
Returns the default channel index for VFO B.
Definition dmr6x2uv_codeplug.cc:966
virtual AnytoneDisplaySettingsExtension::Language language() const
Returns the UI language.
Definition dmr6x2uv_codeplug.cc:256
void setFuncKey1Long(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 1.
Definition dmr6x2uv_codeplug.cc:375
bool keyLockForced() const override
Returns true if the "professional" key is locked.
Definition dmr6x2uv_codeplug.cc:783
void setDefaultChannelAIndex(unsigned idx) override
Sets the default channel index for VFO A.
Definition dmr6x2uv_codeplug.cc:945
bool defaultChannel() const override
Returns true if the default boot channel is enabled.
Definition dmr6x2uv_codeplug.cc:920
void enableShowLastHeard(bool enable) override
Enables/disables showing last heard.
Definition dmr6x2uv_codeplug.cc:826
void enableVFOModeA(bool enable) override
Enables/disables VFO mode for VFO A.
Definition dmr6x2uv_codeplug.cc:393
void enableGPSUnitsImperial(bool enable) override
Enables/disables imperial GPS units.
Definition dmr6x2uv_codeplug.cc:863
virtual void setVFOFrequencyStep(Frequency kHz)
Sets the VFO frequency step in kHz.
Definition dmr6x2uv_codeplug.cc:279
virtual Interval groupCallHangTime() const
Returns the group call hang time in seconds.
Definition dmr6x2uv_codeplug.cc:435
virtual unsigned transmitTimeout() const
Returns the transmit timeout in seconds.
Definition dmr6x2uv_codeplug.cc:247
void setAutoRepeaterMaxFrequencyUHF(Frequency Hz) override
Sets the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition dmr6x2uv_codeplug.cc:897
virtual void setSTEFrequency(double freq)
Sets the STE (squelch tail eliminate) frequency setting.
Definition dmr6x2uv_codeplug.cc:424
virtual void setTransmitTimeout(unsigned tot)
Sets the transmit timeout in seconds.
Definition dmr6x2uv_codeplug.cc:251
bool knobLock() const override
Returns true if the knob is locked.
Definition dmr6x2uv_codeplug.cc:759
bool showLastHeard() const override
Returns true if the last heard is shown while pressing PTT.
Definition dmr6x2uv_codeplug.cc:822
AnytoneKeySettingsExtension::KeyFunction funcKeyCShort() const override
Returns the key function for a short press on the function key 3/C.
Definition dmr6x2uv_codeplug.cc:317
virtual void setGroupCallHangTime(Interval sec)
Sets the group call hang time in seconds.
Definition dmr6x2uv_codeplug.cc:439
virtual bool proMode() const
Returns true if the "pro mode" is enabled.
Definition dmr6x2uv_codeplug.cc:554
virtual void setWakeHeadPeriod(Interval ms)
Sets the wake head-period in ms.
Definition dmr6x2uv_codeplug.cc:463
virtual void setRXBacklightDuration(Interval sec)
Sets the backlight duration during RX.
Definition dmr6x2uv_codeplug.cc:997
void enableShowCurrentContact(bool enable) override
Enables/disables display of current contact.
Definition dmr6x2uv_codeplug.cc:737
void enableIdleChannelTone(bool enable) override
Enables/disables the idle channel tone.
Definition dmr6x2uv_codeplug.cc:242
virtual void enableRemoteStunKill(bool enable)
Enables/disables remote stun/kill.
Definition dmr6x2uv_codeplug.cc:585
virtual bool selectTXContactEnabled() const
Returns true, if the selection of a TX contact is enabled.
Definition dmr6x2uv_codeplug.cc:599
void setFuncKeyCLong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 3.
Definition dmr6x2uv_codeplug.cc:366
void setFuncKeyBLong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 2.
Definition dmr6x2uv_codeplug.cc:357
void setFuncKeyALong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 1.
Definition dmr6x2uv_codeplug.cc:348
virtual void enableFilterOwnID(bool enable)
Enables/disables filter of own ID in call lists.
Definition dmr6x2uv_codeplug.cc:567
virtual void setStandbyBackgroundColor(AnytoneDisplaySettingsExtension::Color color)
Sets the stand-by background color.
Definition dmr6x2uv_codeplug.cc:1009
virtual bool filterOwnID() const
Returns true if the own ID is filtered in call lists.
Definition dmr6x2uv_codeplug.cc:563
virtual void enableSMSConfirm(bool enable)
Enables/disables SMS confirmation.
Definition dmr6x2uv_codeplug.cc:701
bool keyToneLevelAdjustable() const override
Returns true if the key-tone level is adjustable.
Definition dmr6x2uv_codeplug.cc:742
virtual void enableMonitorColorCodeMatch(bool enable)
Enables/disables monitor color code match.
Definition dmr6x2uv_codeplug.cc:621
bool keepLastCaller() const override
Returns true if the last caller is kept when changing channel.
Definition dmr6x2uv_codeplug.cc:979
void enableKnobLock(bool enable) override
Enables/disables the knob lock.
Definition dmr6x2uv_codeplug.cc:763
virtual AnytoneSettingsExtension::STEType steType() const
Returns the STE (squelch tail eliminate) type.
Definition dmr6x2uv_codeplug.cc:407
virtual void setManDownDelay(Interval sec)
Sets the "man down" delay in seconds.
Definition dmr6x2uv_codeplug.cc:648
virtual bool remoteMonitor() const
Returns true remote monitor is enabled.
Definition dmr6x2uv_codeplug.cc:590
virtual void setFMCallHold(unsigned sec)
Sets the analog call hold in seconds.
Definition dmr6x2uv_codeplug.cc:657
bool sidekeysLock() const override
Returns true if the sidekeys are locked.
Definition dmr6x2uv_codeplug.cc:775
void setFuncKeyBShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 2/B.
Definition dmr6x2uv_codeplug.cc:312
void setAutoRepeaterMinFrequencyVHF(Frequency Hz) override
Sets the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition dmr6x2uv_codeplug.cc:872
void setDefaultChannelBToVFO() override
Sets the default channel for VFO B to be VFO.
Definition dmr6x2uv_codeplug.cc:974
virtual bool maintainCallChannel() const
Returns true if the call channel is maintained.
Definition dmr6x2uv_codeplug.cc:671
AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionB() const override
Returns the auto-repeater direction for VFO B.
Definition dmr6x2uv_codeplug.cc:902
virtual Interval preWaveDelay() const
Returns the pre-wave time in ms.
Definition dmr6x2uv_codeplug.cc:451
virtual void enableSelectTXContact(bool enable)
Enables/disables selection of the TX contact.
Definition dmr6x2uv_codeplug.cc:603
virtual unsigned fmCallHold() const
Returns the analog call hold in seconds.
Definition dmr6x2uv_codeplug.cc:653
static constexpr unsigned int size()
Returns the size of the element.
Definition dmr6x2uv_codeplug.hh:146
virtual double steFrequency() const
Returns the STE (squelch tail eliminate) frequency setting in Hz.
Definition dmr6x2uv_codeplug.cc:415
bool keyToneEnabled() const override
Returns true, if the key tone is enabled.
Definition dmr6x2uv_codeplug.cc:572
virtual void enableMonitorIDMatch(bool enable)
Enables/disables monitor ID match.
Definition dmr6x2uv_codeplug.cc:630
virtual void enableManDown(bool enable)
Enables/disables "man down".
Definition dmr6x2uv_codeplug.cc:515
TBSTFrequency
TBST (open repeater) frequencies.
Definition dmr6x2uv_codeplug.hh:118
virtual void setPrivateCallHangTime(Interval sec)
Sets the private call hang time in seconds.
Definition dmr6x2uv_codeplug.cc:447
virtual void setDTMFToneDuration(unsigned ms)
Sets the DTMF tone duration in ms.
Definition dmr6x2uv_codeplug.cc:496
void setDefaultChannelBIndex(unsigned idx) override
Sets the default channel index for VFO B.
Definition dmr6x2uv_codeplug.cc:970
virtual void enableMaintainCallChannel(bool enable)
Enables/disables maintaining the call channel.
Definition dmr6x2uv_codeplug.cc:675
void setDefaultChannelAToVFO() override
Sets the default channel for VFO A to be VFO.
Definition dmr6x2uv_codeplug.cc:949
bool vfoModeA() const override
Returns true if the VFO A is in VFO mode.
Definition dmr6x2uv_codeplug.cc:389
virtual bool wfmVFOEnabled() const
Returns true if the WFM RX is in VFO mode.
Definition dmr6x2uv_codeplug.cc:476
void enableSidekeysLock(bool enable) override
Enables/disables the sidekeys lock.
Definition dmr6x2uv_codeplug.cc:779
virtual unsigned priorityZoneBIndex() const
Returns the priority Zone B index.
Definition dmr6x2uv_codeplug.cc:688
virtual bool monitorColorCodeMatch() const
Returns true if the monitor matches color code.
Definition dmr6x2uv_codeplug.cc:617
virtual bool fmSendIDAndContact() const
If enabled, the FM ID is sent together with selected contact.
Definition dmr6x2uv_codeplug.cc:911
bool vfoModeB() const override
Returns true if the VFO B is in VFO mode.
Definition dmr6x2uv_codeplug.cc:398
virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match)
Sets the monitor slot match.
Definition dmr6x2uv_codeplug.cc:612
unsigned defaultChannelAIndex() const override
Returns the default channel index for VFO A.
Definition dmr6x2uv_codeplug.cc:941
virtual Frequency tbstFrequency() const
Returns the TBST frequency.
Definition dmr6x2uv_codeplug.cc:529
virtual bool gpsMessageEnabled() const
Returns true if the GPS range reporting is enabled.
Definition dmr6x2uv_codeplug.cc:662
void enableKeypadLock(bool enable) override
Enables/disables the keypad lock.
Definition dmr6x2uv_codeplug.cc:771
DTMFDuration
DTMF signalling durations.
Definition dmr6x2uv_codeplug.hh:113
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor.
Definition dmr6x2uv_codeplug.cc:594
unsigned defaultZoneIndexA() const override
Returns the default zone index (0-based) for VFO A.
Definition dmr6x2uv_codeplug.cc:929
AnytoneKeySettingsExtension::KeyFunction funcKey2Short() const override
Returns the key function for a short press on the function key 2.
Definition dmr6x2uv_codeplug.cc:335
virtual void setPreWaveDelay(Interval ms)
Sets the pre-wave time in ms.
Definition dmr6x2uv_codeplug.cc:455
void enableKeepLastCaller(bool enable) override
Enables/disables keeping the last caller when changing the channel.
Definition dmr6x2uv_codeplug.cc:983
virtual Interval wakeHeadPeriod() const
Returns the wake head-period in ms.
Definition dmr6x2uv_codeplug.cc:459
virtual unsigned int manualDialedPrivateCallHangTime() const
Returns the private-call hang time, if private call was dialed manually.
Definition dmr6x2uv_codeplug.cc:1022
bool keypadLock() const override
Returns true if the keypad is locked.
Definition dmr6x2uv_codeplug.cc:767
void enableVFOModeB(bool enable) override
Enables/disables VFO mode for VFO B.
Definition dmr6x2uv_codeplug.cc:402
void setAutoRepeaterMaxFrequencyVHF(Frequency Hz) override
Sets the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition dmr6x2uv_codeplug.cc:880
virtual bool remoteStunKill() const
Returns true remote stun/kill is enabled.
Definition dmr6x2uv_codeplug.cc:581
virtual bool monitorTimeSlotHold() const
Returns true if the monitor holds the time slot.
Definition dmr6x2uv_codeplug.cc:635
virtual AnytoneRepeaterSettingsExtension::TimeSlot simplexRepeaterTimeslot() const
Returns the time-slot in simplex repeater mode.
Definition dmr6x2uv_codeplug.cc:793
AnytoneKeySettingsExtension::KeyFunction funcKey1Short() const override
Returns the key function for a short press on the function key 1.
Definition dmr6x2uv_codeplug.cc:326
bool showCurrentContact() const override
Returns true if the current contact is shown.
Definition dmr6x2uv_codeplug.cc:733
virtual void setTBSTFrequency(Frequency freq)
Sets the TBST frequency.
Definition dmr6x2uv_codeplug.cc:539
bool idleChannelTone() const override
Returns true if the idle channel tone is enabled.
Definition dmr6x2uv_codeplug.cc:238
virtual bool smsConfirmEnabled() const
Returns true, if a SMS confirmation is sent.
Definition dmr6x2uv_codeplug.cc:697
Frequency autoRepeaterMinFrequencyUHF() const override
Returns the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition dmr6x2uv_codeplug.cc:885
virtual void setManualDialedPrivateCallHangTime(unsigned int dur)
Sets the private-call hang time, if the private call was dialed manually.
Definition dmr6x2uv_codeplug.cc:1026
virtual Interval privateCallHangTime() const
Returns the private call hang time in seconds.
Definition dmr6x2uv_codeplug.cc:443
virtual void setSimplexRepeaterTimeslot(AnytoneRepeaterSettingsExtension::TimeSlot slot)
Sets the time-slot in simplex repeater mode.
Definition dmr6x2uv_codeplug.cc:803
virtual void enableMonitorTimeSlotHold(bool enable)
Enables/disables monitor time slot hold.
Definition dmr6x2uv_codeplug.cc:639
virtual Frequency vfoFrequencyStep() const
Returns the VFO frequency step in kHz.
Definition dmr6x2uv_codeplug.cc:265
virtual void enableGPSMessage(bool enable)
Enables/disables GPS range reporting.
Definition dmr6x2uv_codeplug.cc:666
bool gpsUnitsImperial() const override
Returns true if the GPS units are imperial.
Definition dmr6x2uv_codeplug.cc:859
AnytoneKeySettingsExtension::KeyFunction funcKeyAShort() const override
Returns the key function for a short press on the function key 1/A.
Definition dmr6x2uv_codeplug.cc:299
Interval gpsUpdatePeriod() const override
Returns the GPS update period in seconds.
Definition dmr6x2uv_codeplug.cc:715
bool defaultChannelAIsVFO() const override
Returns true if the default channel for VFO A is VFO.
Definition dmr6x2uv_codeplug.cc:937
virtual void setPriorityZoneAIndex(unsigned idx)
Sets the priority zone A index.
Definition dmr6x2uv_codeplug.cc:684
FreqStep
Possible VFO frequency steps.
Definition dmr6x2uv_codeplug.hh:101
@ FREQ_STEP_2_5kHz
2.5kHz
Definition dmr6x2uv_codeplug.hh:102
@ FREQ_STEP_50kHz
50kHz
Definition dmr6x2uv_codeplug.hh:109
@ FREQ_STEP_12_5kHz
12.5kHz
Definition dmr6x2uv_codeplug.hh:106
@ FREQ_STEP_6_25kHz
6.25kHz
Definition dmr6x2uv_codeplug.hh:104
@ FREQ_STEP_25kHz
25kHz
Definition dmr6x2uv_codeplug.hh:108
@ FREQ_STEP_5kHz
5kHz
Definition dmr6x2uv_codeplug.hh:103
@ FREQ_STEP_20kHz
20kHz
Definition dmr6x2uv_codeplug.hh:107
@ FREQ_STEP_10kHz
10kHz
Definition dmr6x2uv_codeplug.hh:105
virtual void setManualDialedGroupCallHangTime(unsigned int dur)
Sets the group-call hang time, if the group call was dialed manually.
Definition dmr6x2uv_codeplug.cc:1018
bool updateConfig(Context &ctx) override
Updates the abstract config from general settings.
Definition dmr6x2uv_codeplug.cc:1113
virtual void enableMonitorSimplexRepeater(bool enable)
Enables/disables the speaker during RX in simplex repeater mode.
Definition dmr6x2uv_codeplug.cc:728
AnytoneKeySettingsExtension::KeyFunction funcKeyBShort() const override
Returns the key function for a short press on the function key 2/B.
Definition dmr6x2uv_codeplug.cc:308
void setAutoRepeaterMinFrequencyUHF(Frequency Hz) override
Sets the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition dmr6x2uv_codeplug.cc:889
AnytoneKeySettingsExtension::KeyFunction funcKeyALong() const override
Returns the key function for a long press on the function key 1.
Definition dmr6x2uv_codeplug.cc:344
void setGPSUpdatePeriod(Interval sec) override
Sets the GPS update period in seconds.
Definition dmr6x2uv_codeplug.cc:719
virtual void setPriorityZoneBIndex(unsigned idx)
Sets the priority zone B index.
Definition dmr6x2uv_codeplug.cc:692
void enableKeyTone(bool enable) override
Enables/disables the key-tone.
Definition dmr6x2uv_codeplug.cc:576
virtual void enableSimplexRepeater(bool enable)
Enables disables the simplex repeater feature.
Definition dmr6x2uv_codeplug.cc:710
AnytoneKeySettingsExtension::KeyFunction funcKeyCLong() const override
Returns the key function for a long press on the function key 3.
Definition dmr6x2uv_codeplug.cc:362
virtual bool monitorIDMatch() const
Returns true if the monitor matches ID.
Definition dmr6x2uv_codeplug.cc:626
void setKeyToneLevel(unsigned level) override
Sets the key-tone level.
Definition dmr6x2uv_codeplug.cc:750
virtual void enableWFMMonitor(bool enable)
Enables/disables WFM monitor.
Definition dmr6x2uv_codeplug.cc:524
bool fromConfig(const Flags &flags, Context &ctx) override
Encodes the general settings.
Definition dmr6x2uv_codeplug.cc:1032
GeneralSettingsElement(uint8_t *ptr, unsigned size)
Hidden Constructor.
Definition dmr6x2uv_codeplug.cc:225
Frequency autoRepeaterMinFrequencyVHF() const override
Returns the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition dmr6x2uv_codeplug.cc:868
virtual bool wfmMonitor() const
Returns true if WFM monitor is enabled.
Definition dmr6x2uv_codeplug.cc:520
bool defaultChannelBIsVFO() const override
Returns true if the default channel for VFO B is VFO.
Definition dmr6x2uv_codeplug.cc:962
virtual unsigned priorityZoneAIndex() const
Returns the priority Zone A index.
Definition dmr6x2uv_codeplug.cc:680
virtual bool simplexRepeaterEnabled() const
Returns true if the simplex repeater feature is enabled.
Definition dmr6x2uv_codeplug.cc:706
unsigned defaultZoneIndexB() const override
Returns the default zone index (0-based) for VFO B.
Definition dmr6x2uv_codeplug.cc:954
virtual void enableProMode(bool enable)
Enables/disables the "pro mode".
Definition dmr6x2uv_codeplug.cc:558
Frequency autoRepeaterMaxFrequencyVHF() const override
Returns the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition dmr6x2uv_codeplug.cc:876
AnytoneKeySettingsExtension::KeyFunction funcKey1Long() const override
Returns the key function for a long press on the function key 1.
Definition dmr6x2uv_codeplug.cc:371
void setFuncKey1Short(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 1.
Definition dmr6x2uv_codeplug.cc:330
virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang)
Sets the UI language.
Definition dmr6x2uv_codeplug.cc:260
RepeaterTimeSlot
Encoding of repeater timeslot.
Definition dmr6x2uv_codeplug.hh:128
virtual bool monitorSimplexRepeaterEnabled() const
Returns true if the speaker is switched on during RX in simplex repeater mode, see simplexRepeaterEna...
Definition dmr6x2uv_codeplug.cc:724
virtual bool manDown() const
Returns true if "man down" is enabled.
Definition dmr6x2uv_codeplug.cc:511
virtual unsigned int manualDialedGroupCallHangTime() const
Returns the group-call hang time, if group call was dialed manually.
Definition dmr6x2uv_codeplug.cc:1014
Frequency autoRepeaterMaxFrequencyUHF() const override
Returns the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition dmr6x2uv_codeplug.cc:893
void setDefaultZoneIndexB(unsigned idx) override
Sets the default zone (0-based) for VFO B.
Definition dmr6x2uv_codeplug.cc:958
void setFuncKey2Short(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 2.
Definition dmr6x2uv_codeplug.cc:339
virtual AnytoneDisplaySettingsExtension::Color standbyBackgroundColor() const
Returns the stand-by background color.
Definition dmr6x2uv_codeplug.cc:1005
void setAutoRepeaterDirectionB(AnytoneAutoRepeaterSettingsExtension::Direction dir) override
Sets the auto-repeater direction for VFO B.
Definition dmr6x2uv_codeplug.cc:906
virtual Interval manDownDelay() const
Returns the "man down" delay in seconds.
Definition dmr6x2uv_codeplug.cc:644
void enableKeyLockForced(bool enable) override
Enables/disables the "professional" key lock.
Definition dmr6x2uv_codeplug.cc:787
virtual void setWFMChannelIndex(unsigned idx)
Sets the wide-FM (broadcast) channel index.
Definition dmr6x2uv_codeplug.cc:472
STEFrequency
All possible STE (squelch tail eliminate) frequencies.
Definition dmr6x2uv_codeplug.hh:123
void setFuncKeyCShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 3/C.
Definition dmr6x2uv_codeplug.cc:321
virtual unsigned wfmChannelIndex() const
Returns the wide-FM (broadcast) channel index.
Definition dmr6x2uv_codeplug.cc:468
virtual void setSTEType(AnytoneSettingsExtension::STEType type)
Sets the STE (squelch tail eliminate) type.
Definition dmr6x2uv_codeplug.cc:411
virtual void enableWFMVFO(bool enable)
Enables/disables VFO mode for WFM RX.
Definition dmr6x2uv_codeplug.cc:480
virtual void setSMSFormat(SMSExtension::Format fmt)
Sets the SMS format.
Definition dmr6x2uv_codeplug.cc:843
void setDefaultZoneIndexA(unsigned idx) override
Sets the default zone (0-based) for VFO A.
Definition dmr6x2uv_codeplug.cc:933
SMSFormat
Possible SMS formats.
Definition dmr6x2uv_codeplug.hh:133
unsigned keyToneLevel() const override
Returns the key-tone level (0=adjustable).
Definition dmr6x2uv_codeplug.cc:746
void enableDefaultChannel(bool enable) override
Enables/disables default boot channel.
Definition dmr6x2uv_codeplug.cc:924
virtual SMSExtension::Format smsFormat() const
Returns the SMS format.
Definition dmr6x2uv_codeplug.cc:832
void allocateForDecoding()
Allocate all code-plug elements that must be downloaded for decoding.
Definition dmr6x2uv_codeplug.cc:2447
void allocateGPSSystems()
Allocates GPS settings memory section.
Definition dmr6x2uv_codeplug.cc:2635
virtual bool linkRoaming(Context &ctx, const ErrorStack &err=ErrorStack())
Links roaming channels and zones.
Definition dmr6x2uv_codeplug.cc:2824
bool createGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack())
Create GPS systems from codeplug.
Definition dmr6x2uv_codeplug.cc:2671
virtual void allocateAESKeys()
Allocates memory to encode/decode AES keys.
Definition dmr6x2uv_codeplug.cc:2832
virtual bool createAESKeys(Context &ctx, const ErrorStack &err=ErrorStack())
Decode AES keys from the codeplug.
Definition dmr6x2uv_codeplug.cc:2857
bool allocateBitmaps()
Allocates the bitmaps.
Definition dmr6x2uv_codeplug.cc:2406
bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Create channels from codeplug.
Definition dmr6x2uv_codeplug.cc:2588
virtual bool encodeARC4Keys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode all ARC4 keys.
Definition dmr6x2uv_codeplug.cc:2891
bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode channels into codeplug.
Definition dmr6x2uv_codeplug.cc:2569
DMR6X2UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition dmr6x2uv_codeplug.cc:2367
bool linkGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack())
Link GPS systems.
Definition dmr6x2uv_codeplug.cc:2707
Config * preprocess(Config *config, const ErrorStack &err) const
Returns a prepared configuration for this particular radio.
Definition dmr6x2uv_codeplug.cc:2381
virtual void allocateRoaming()
Allocates memory to store all roaming channels and zones.
Definition dmr6x2uv_codeplug.cc:2729
void setBitmaps(Context &ctx)
Sets all bitmaps for the given config.
Definition dmr6x2uv_codeplug.cc:2419
bool encodeGPSSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the GPS settings section.
Definition dmr6x2uv_codeplug.cc:2644
D878UVCodeplug::RoamingZoneBitmapElement RoamingZoneBitmapElement
Reuse roaming zone bitmap from D878UV.
Definition dmr6x2uv_codeplug.hh:1082
bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the general settings section.
Definition dmr6x2uv_codeplug.cc:2529
D878UVCodeplug::AESEncryptionKeyElement AESEncryptionKeyElement
Reuse AES encryption key from D878UV.
Definition dmr6x2uv_codeplug.hh:1087
D878UVCodeplug::RoamingZoneElement RoamingZoneElement
Reuse roaming zone from D878UV.
Definition dmr6x2uv_codeplug.hh:1084
bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Link the general settings.
Definition dmr6x2uv_codeplug.cc:2543
virtual void allocateARC4Keys()
Allocates memory to encode/decode ARC4 keys.
Definition dmr6x2uv_codeplug.cc:2882
bool createElements(Context &ctx, const ErrorStack &err=ErrorStack())
Creates all config objects from the downloaded codeplug.
Definition dmr6x2uv_codeplug.cc:2477
void allocateChannels()
Allocate channels from bitmap.
Definition dmr6x2uv_codeplug.cc:2549
D878UVCodeplug::RoamingChannelElement RoamingChannelElement
Reuse roaming channel from D878UV.
Definition dmr6x2uv_codeplug.hh:1080
void allocateForEncoding()
Allocate all code-plug elements that are defined through the common Config.
Definition dmr6x2uv_codeplug.cc:2437
virtual bool createARC4Keys(Context &ctx, const ErrorStack &err=ErrorStack())
Decode ARC4 keys from the codeplug.
Definition dmr6x2uv_codeplug.cc:2907
virtual bool encodeAESKeys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode all AES keys.
Definition dmr6x2uv_codeplug.cc:2841
virtual bool createRoaming(Context &ctx, const ErrorStack &err=ErrorStack())
Creates roaming channels and zones from codeplug.
Definition dmr6x2uv_codeplug.cc:2794
bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the general settings section.
Definition dmr6x2uv_codeplug.cc:2514
void allocateGeneralSettings()
Allocates general settings memory section.
Definition dmr6x2uv_codeplug.cc:2508
D878UVCodeplug::ARC4EncryptionKeyElement ARC4EncryptionKeyElement
Reuse ARC4 encryption key from D878UV.
Definition dmr6x2uv_codeplug.hh:1089
D878UVCodeplug::RoamingChannelBitmapElement RoamingChannelBitmapElement
Reuse roaming channel bitmap from D878UV.
Definition dmr6x2uv_codeplug.hh:1078
bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the given config (via context) to the binary codeplug.
Definition dmr6x2uv_codeplug.cc:2457
bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack())
Links all previously created config objects.
Definition dmr6x2uv_codeplug.cc:2495
bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Link channels.
Definition dmr6x2uv_codeplug.cc:2608
virtual bool encodeRoaming(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the roaming channels and zones.
Definition dmr6x2uv_codeplug.cc:2760
This class represents a DMR position reporting system within the codeplug.
Definition gpssystem.hh:69
TimeSlot
Possible timeslots for digital channels.
Definition channel.hh:439
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
static constexpr Interval fromMinutes(unsigned long long min)
Definition interval.hh:79
static constexpr Interval fromSeconds(unsigned long long s)
Definition interval.hh:76
Format
Possible SMS formats, DMR is usually a good idea.
Definition smsextension.hh:65
Implements encoding of CTCSS tones.
Definition anytone_codeplug.hh:27
Internal used offsets within the channel element.
Definition anytone_codeplug.hh:354
Base class for Limits.
Definition codeplug.hh:92
Some internal used offsets within the element.
Definition d868uv_codeplug.hh:436
Some limits for the codeplug.
Definition d868uv_codeplug.hh:694
Some internal used offsets within the codeplug.
Definition d868uv_codeplug.hh:718
Internal used sizes.
Definition d868uv_codeplug.hh:799
Some static limits for this element.
Definition dmr6x2uv_codeplug.hh:1024
static constexpr unsigned int dmrSystems()
Maximum number of DMR APRS systems.
Definition dmr6x2uv_codeplug.hh:1030
static constexpr unsigned int pathLength()
Maximum length of the repeater path string.
Definition dmr6x2uv_codeplug.hh:1028
static constexpr unsigned int callLength()
Maximum length of call signs.
Definition dmr6x2uv_codeplug.hh:1026
Internal used offsets within the codeplug element.
Definition dmr6x2uv_codeplug.hh:1035
Background colors supported by the DMR-6X2UV.
Definition dmr6x2uv_codeplug.hh:35
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition dmr6x2uv_codeplug.cc:59
CodedColor
Encoding of the supported colors.
Definition dmr6x2uv_codeplug.hh:44
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition dmr6x2uv_codeplug.cc:49
Some limits of this element.
Definition dmr6x2uv_codeplug.hh:799
static constexpr unsigned int scanListIndices()
Maximum number of scan list indices.
Definition dmr6x2uv_codeplug.hh:801
Some internal used offsets.
Definition dmr6x2uv_codeplug.hh:861
Colors supported by the DMR-6X2UV.
Definition dmr6x2uv_codeplug.hh:20
CodedColor
Encoding of the supported colors.
Definition dmr6x2uv_codeplug.hh:29
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition dmr6x2uv_codeplug.cc:30
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition dmr6x2uv_codeplug.cc:14
Some limits for entries.
Definition dmr6x2uv_codeplug.hh:631
static constexpr TimeRange autoRoamDelay()
Auto-roaming delay limits.
Definition dmr6x2uv_codeplug.hh:645
static constexpr IntRange repRangeReminder()
Out of range reminder count limits.
Definition dmr6x2uv_codeplug.hh:633
static constexpr TimeRange autoRoamingInterval()
Auto-roaming interval limits.
Definition dmr6x2uv_codeplug.hh:641
static constexpr IntRange repeaterReconnections()
Repeater reconnection count limits.
Definition dmr6x2uv_codeplug.hh:639
static constexpr TimeRange muteTimer()
Mute-timer limits.
Definition dmr6x2uv_codeplug.hh:649
static constexpr TimeRange rangeCheckInterval()
Repeater range check interval limits.
Definition dmr6x2uv_codeplug.hh:635
Some internal offset within the codeplug element.
Definition dmr6x2uv_codeplug.hh:656
Font colors supported by the DMR-6X2UV.
Definition dmr6x2uv_codeplug.hh:50
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition dmr6x2uv_codeplug.cc:72
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition dmr6x2uv_codeplug.cc:88
CodedColor
Encoding of the supported colors.
Definition dmr6x2uv_codeplug.hh:59
Device specific encoding of the key functions.
Definition dmr6x2uv_codeplug.hh:76
static uint8_t encode(AnytoneKeySettingsExtension::KeyFunction tone)
Encodes key function.
Definition dmr6x2uv_codeplug.cc:108
static AnytoneKeySettingsExtension::KeyFunction decode(uint8_t code)
Decodes key function.
Definition dmr6x2uv_codeplug.cc:165
KeyFunctionCode
Device specific key functions.
Definition dmr6x2uv_codeplug.hh:85
Some internal used offsets within the element.
Definition dmr6x2uv_codeplug.hh:435
Some limits for the codeplug.
Definition dmr6x2uv_codeplug.hh:1152
static constexpr unsigned int fmAPRSMessage()
Maximum length of the FM APRS message.
Definition dmr6x2uv_codeplug.hh:1154
static constexpr unsigned int roamingChannels()
Maximum number of roaming channels.
Definition dmr6x2uv_codeplug.hh:1156
static constexpr unsigned int roamingZones()
Maximum number of roaming zones.
Definition dmr6x2uv_codeplug.hh:1158
static constexpr unsigned int aesEncryptionKeys()
Maximum number of AES encryption keys.
Definition dmr6x2uv_codeplug.hh:1160
static constexpr unsigned int arc4EncryptionKeys()
Maximum number of ARC4 encryption keys.
Definition dmr6x2uv_codeplug.hh:1162
Some internal used offsets within the codeplug.
Definition dmr6x2uv_codeplug.hh:1167
Some internal used sizes.
Definition dmr6x2uv_codeplug.hh:1185
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:107
Encodes a selective call.
Definition signaling.hh:13