libdrmconf 0.12.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
191{
192 Q_OBJECT
193
194protected:
196 struct Color {
197 public:
202
203 protected:
205 typedef enum {
206 Orange=0, Red=1, Yellow=2, Green=3, Turquoise=4, Blue=5, White = 6, Black = 7
207 } CodedColor;
208 };
209
212 public:
217
218 protected:
220 typedef enum {
221 Black = 0, Blue = 1
222 } CodedColor;
223 };
224
226 struct FontColor {
227 public:
232
233 protected:
235 typedef enum {
236 White = 0, Black = 1, Orange=2, Red=3, Yellow=4, Green=5, Turquoise=6, Blue=7
237 } CodedColor;
238 };
239
240public:
249 {
250 protected:
252 struct KeyFunction {
253 public:
258
259 protected:
261 typedef enum {
262 Off = 0x00, Voltage = 0x01, Power = 0x02, Repeater = 0x03, Reverse = 0x04,
263 Encryption = 0x05, Call = 0x06, VOX = 0x07, ToggleVFO = 0x08, SubPTT = 0x09,
264 Scan = 0x0a, WFM = 0x0b, Alarm = 0x0c, RecordSwitch = 0x0d, Record = 0x0e, SMS = 0x0f,
265 Dial = 0x10, GPSInformation = 0x11, Monitor = 0x12, ToggleMainChannel = 0x13, HotKey1 = 0x14,
266 HotKey2 = 0x15, HotKey3 = 0x16, HotKey4 = 0x17, HotKey5 = 0x18, HotKey6 = 0x19,
267 WorkAlone = 0x1a, SkipChannel = 0x1b, DMRMonitor = 0x1c, SubChannel = 0x1d,
268 PriorityZone = 0x1e, VFOScan = 0x1f, MICSoundQuality = 0x20, LastCallReply = 0x21,
269 ChannelType = 0x22, SimplexRepeater = 0x23, Ranging = 0x24, ChannelRanging = 0x25,
270 MaxVolume = 0x26, Slot = 0x27, Squelch = 0x28, Roaming = 0x29, Zone = 0x2a, RoamingSet = 0x2b,
271 Mute = 0x02c, CtcssDcsSet=0x2d, APRSSet = 0x2e, APRSSend = 0x2f
273 };
274
286
289 DTMF_DUR_50ms = 0, DTMF_DUR_100ms = 1, DTMF_DUR_200ms = 2, DTMF_DUR_300ms = 3, DTMF_DUR_500ms = 4
290 };
291
293 enum class TBSTFrequency {
294 Hz1000 = 0, Hz1450 = 1, Hz1750 = 2, Hz2100 = 3
295 };
296
298 enum class STEFrequency {
299 Off = 0, Hz55_2 = 1, Hz259_2 = 2
300 };
301
302
303 protected:
305 GeneralSettingsElement(uint8_t *ptr, unsigned size);
306
307 public:
309 explicit GeneralSettingsElement(uint8_t *ptr);
310
312 static constexpr unsigned int size() { return 0x00e0; }
313
314 bool idleChannelTone() const;
315 void enableIdleChannelTone(bool enable);
316
318 virtual unsigned transmitTimeout() const;
320 virtual void setTransmitTimeout(unsigned tot);
321
326
328 virtual Frequency vfoFrequencyStep() const;
330 virtual void setVFOFrequencyStep(Frequency kHz);
331
352
353 bool vfoModeA() const;
354 void enableVFOModeA(bool enable);
355 bool vfoModeB() const;
356 void enableVFOModeB(bool enable);
357
364 virtual double steFrequency() const;
367 virtual void setSTEFrequency(double freq);
368
370 virtual Interval groupCallHangTime() const;
372 virtual void setGroupCallHangTime(Interval sec);
374 virtual Interval privateCallHangTime() const;
376 virtual void setPrivateCallHangTime(Interval sec);
377
379 virtual Interval preWaveDelay() const;
381 virtual void setPreWaveDelay(Interval ms);
383 virtual Interval wakeHeadPeriod() const;
385 virtual void setWakeHeadPeriod(Interval ms);
386
388 virtual unsigned wfmChannelIndex() const;
390 virtual void setWFMChannelIndex(unsigned idx);
392 virtual bool wfmVFOEnabled() const;
394 virtual void enableWFMVFO(bool enable);
395
397 virtual unsigned dtmfToneDuration() const;
399 virtual void setDTMFToneDuration(unsigned ms);
400
402 virtual bool manDown() const;
404 virtual void enableManDown(bool enable);
405
407 virtual bool wfmMonitor() const;
409 virtual void enableWFMMonitor(bool enable);
410
412 virtual Frequency tbstFrequency() const;
414 virtual void setTBSTFrequency(Frequency freq);
415
417 virtual bool proMode() const;
419 virtual void enableProMode(bool enable);
420
421 bool keyToneEnabled() const;
422 void enableKeyTone(bool enable);
423
425 virtual bool filterOwnID() const;
427 virtual void enableFilterOwnID(bool enable);
428
430 virtual bool remoteStunKill() const;
432 virtual void enableRemoteStunKill(bool enable);
434 virtual bool remoteMonitor() const;
436 virtual void enableRemoteMonitor(bool enable);
437
439 virtual bool selectTXContactEnabled() const;
441 virtual void enableSelectTXContact(bool enable);
442
444 virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const;
446 virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match);
448 virtual bool monitorColorCodeMatch() const;
450 virtual void enableMonitorColorCodeMatch(bool enable);
452 virtual bool monitorIDMatch() const;
454 virtual void enableMonitorIDMatch(bool enable);
456 virtual bool monitorTimeSlotHold() const;
458 virtual void enableMonitorTimeSlotHold(bool enable);
459
461 virtual Interval manDownDelay() const;
463 virtual void setManDownDelay(Interval sec);
464
466 virtual unsigned fmCallHold() const;
468 virtual void setFMCallHold(unsigned sec);
469
471 virtual bool gpsMessageEnabled() const;
473 virtual void enableGPSMessage(bool enable);
474
476 virtual bool maintainCallChannel() const;
478 virtual void enableMaintainCallChannel(bool enable);
479
481 virtual unsigned priorityZoneAIndex() const;
483 virtual void setPriorityZoneAIndex(unsigned idx);
485 virtual unsigned priorityZoneBIndex() const;
487 virtual void setPriorityZoneBIndex(unsigned idx);
488
490 virtual bool smsConfirmEnabled() const;
492 virtual void enableSMSConfirm(bool enable);
493
495 virtual bool simplexRepeaterEnabled() const;
497 virtual void enableSimplexRepeater(bool enable);
498
501
504 virtual bool monitorSimplexRepeaterEnabled() const;
506 virtual void enableMonitorSimplexRepeater(bool enable);
507
508 bool showCurrentContact() const;
509 void enableShowCurrentContact(bool enable);
510
511 bool keyToneLevelAdjustable() const;
512 unsigned keyToneLevel() const;
513 void setKeyToneLevel(unsigned level);
515
516 bool knobLock() const;
517 void enableKnobLock(bool enable);
518 bool keypadLock() const;
519 void enableKeypadLock(bool enable);
520 bool sidekeysLock() const;
521 void enableSidekeysLock(bool enable);
522 bool keyLockForced() const;
523 void enableKeyLockForced(bool enable);
524
529
530 bool showLastHeard() const;
531 void enableShowLastHeard(bool enable);
532
534 virtual AnytoneDMRSettingsExtension::SMSFormat smsFormat() const;
536 virtual void setSMSFormat(AnytoneDMRSettingsExtension::SMSFormat fmt);
537
538 bool gpsUnitsImperial() const;
539 void enableGPSUnitsImperial(bool enable);
540
549
552
554 virtual bool fmSendIDAndContact() const;
556 virtual void enableFMSendIDAndContact(bool enable);
557
558 bool defaultChannel() const;
559 void enableDefaultChannel(bool enable);
560 unsigned defaultZoneIndexA() const;
561 void setDefaultZoneIndexA(unsigned idx);
562 unsigned defaultZoneIndexB() const;
563 void setDefaultZoneIndexB(unsigned idx);
564 bool defaultChannelAIsVFO() const;
565 unsigned defaultChannelAIndex() const;
566 void setDefaultChannelAIndex(unsigned idx);
568 bool defaultChannelBIsVFO() const;
569 unsigned defaultChannelBIndex() const;
570 void setDefaultChannelBIndex(unsigned idx);
572
573 bool keepLastCaller() const;
574 void enableKeepLastCaller(bool enable);
575
578
583
585 virtual unsigned int manualDialedGroupCallHangTime() const;
587 virtual void setManualDialedGroupCallHangTime(unsigned int dur);
589 virtual unsigned int manualDialedPrivateCallHangTime() const;
591 virtual void setManualDialedPrivateCallHangTime(unsigned int dur);
592
593
594 bool fromConfig(const Flags &flags, Context &ctx);
595 bool updateConfig(Context &ctx);
596
597 protected:
601 static constexpr unsigned int idleChannelTone() { return 0x0000; }
602 static constexpr unsigned int transmitTimeout() { return 0x0004; }
603 static constexpr unsigned int language() { return 0x0005; }
604 static constexpr unsigned int vfoFrequencyStep() { return 0x0008; }
605 static constexpr unsigned int vfoModeB() { return 0x0015; }
606 static constexpr unsigned int vfoModeA() { return 0x0016; }
607 static constexpr unsigned int steType() { return 0x0017; }
608 static constexpr unsigned int steFrequency() { return 0x0018; }
609 static constexpr unsigned int groupCallHangTime() { return 0x0019; }
610 static constexpr unsigned int privateCallHangTime() { return 0x001a; }
611 static constexpr unsigned int preWaveDelay() { return 0x001b; }
612 static constexpr unsigned int wakeHeadPeriod() { return 0x001c; }
613 static constexpr unsigned int wfmChannelIndex() { return 0x001d; }
614 static constexpr unsigned int wfmVFOEnabled() { return 0x001e; }
615 static constexpr unsigned int dtmfToneDuration() { return 0x0023; }
616 static constexpr unsigned int manDown() { return 0x0024; }
617 static constexpr unsigned int wfmMonitor() { return 0x002b; }
618 static constexpr unsigned int tbstFrequency() { return 0x002e; }
619 static constexpr unsigned int proMode() { return 0x0034; }
620 static constexpr unsigned int enableKeyTone() { return 0x0036; }
621 static constexpr unsigned int filterOwnID() { return 0x0038; }
622 static constexpr unsigned int remoteStunKill() { return 0x003c; }
623 static constexpr unsigned int remoteMonitor() { return 0x003e; }
624 static constexpr unsigned int selectTXContact() { return 0x0040; }
625 static constexpr unsigned int monSlotMatch() { return 0x0049; }
626 static constexpr unsigned int monColorCodeMatch() { return 0x004a; }
627 static constexpr unsigned int monIDMatch() { return 0x004b; }
628 static constexpr unsigned int monTimeSlotHold() { return 0x004c; }
629 static constexpr unsigned int manDownDelay() { return 0x004f; }
630 static constexpr unsigned int fmCallHold() { return 0x0050; }
631 static constexpr unsigned int enableGPSMessage() { return 0x0053; }
632 static constexpr unsigned int maintainCallChannel() { return 0x006e; }
633 static constexpr unsigned int priorityZoneA() { return 0x006f; }
634 static constexpr unsigned int priorityZoneB() { return 0x0070; }
635 static constexpr unsigned int smsConfirm() { return 0x0071; }
636 static constexpr unsigned int simplexRepEnable() { return 0x00b1; }
637 static constexpr unsigned int gpsUpdatePeriod() { return 0x00b2; }
638 static constexpr unsigned int simplxRepSpeaker() { return 0x00b3; }
639 static constexpr unsigned int showContact() { return 0x00b4; }
640 static constexpr unsigned int keyToneLevel() { return 0x00b5; }
641 static constexpr Bit knobLock() { return {0x00b6, 0}; }
642 static constexpr Bit keypadLock() { return {0x00b6, 1}; }
643 static constexpr Bit sideKeyLock() { return {0x00b6, 3}; }
644 static constexpr Bit forceKeyLock() { return {0x00b6, 4}; }
645 static constexpr unsigned int simplxRepSlot() { return 0x00b7; }
646 static constexpr unsigned int showLastHeard() { return 0x00b8; }
647 static constexpr unsigned int smsFormat() { return 0x00b9; }
648 static constexpr unsigned int gpsUnits() { return 0x00ba; }
649 static constexpr unsigned int autoRepMinVHF() { return 0x00bc; }
650 static constexpr unsigned int autoRepMaxVHF() { return 0x00c0; }
651 static constexpr unsigned int autoRepMinUHF() { return 0x00c4; }
652 static constexpr unsigned int autoRepMaxUHF() { return 0x00c8; }
653 static constexpr unsigned int autoRepeaterDirB() { return 0x00cc; }
654 static constexpr unsigned int fmSendIDAndContact() { return 0x00cd; }
655 static constexpr unsigned int defaultChannels() { return 0x00ce; }
656 static constexpr unsigned int defaultZoneA() { return 0x00cf; }
657 static constexpr unsigned int defaultZoneB() { return 0x00d0; }
658 static constexpr unsigned int defaultChannelA() { return 0x00d1; }
659 static constexpr unsigned int defaultChannelB() { return 0x00d2; }
660 static constexpr unsigned int keepLastCaller() { return 0x00d3; }
661 static constexpr unsigned int rxBacklightDuration() { return 0x00d4; }
662 static constexpr unsigned int standbyBackground() { return 0x00d5; }
663 static constexpr unsigned int manGrpCallHangTime() { return 0x00d6; }
664 static constexpr unsigned int manPrvCallHangTime() { return 0x00d7; }
666 };
667
668 };
669
675 {
676 protected:
678 ExtendedSettingsElement(uint8_t *ptr, unsigned size);
679
680 public:
682 explicit ExtendedSettingsElement(uint8_t *ptr);
683
685 static constexpr unsigned int size() { return 0x0030; }
686
688 void clear();
689
690 bool sendTalkerAlias() const;
691 void enableSendTalkerAlias(bool enable);
692
693 AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const;
694 void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource source);
695 AnytoneDMRSettingsExtension::TalkerAliasEncoding talkerAliasEncoding() const;
696 void setTalkerAliasEncoding(AnytoneDMRSettingsExtension::TalkerAliasEncoding encoding);
697
702
704 virtual bool customChannelBackgroundEnabled() const;
706 virtual void enableCustomChannelBackground(bool enable);
707
709 virtual bool autoRoamingEnabled() const;
711 virtual void enableAutoRoaming(bool enable);
712
714 virtual bool repeaterRangeCheckEnabled() const;
716 virtual void enableRepeaterRangeCheck(bool enable);
718 virtual unsigned int repeaterCheckNumNotifications() const;
720 virtual void setRepeaterCheckNumNotifications(unsigned int n);
722 virtual Interval repeaterRangeCheckInterval() const;
724 virtual void setRepeaterRangeCheckInterval(Interval intv);
730 virtual unsigned int repeaterRangeCheckCount() const;
732 virtual void setRepeaterRangeCheckCount(unsigned int n);
733
735 virtual unsigned int defaultRoamingZoneIndex() const;
737 virtual void setDefaultRoamingZoneIndex(unsigned int index);
743 virtual Interval autoRoamPeriod() const;
745 virtual void setAutoRoamPeriod(Interval minutes);
747 virtual Interval autoRoamDelay() const;
749 virtual void setAutoRoamDelay(Interval sec);
754
756 virtual Interval muteTimer() const;
758 virtual void setMuteTimer(Interval minutes);
759
761 virtual AnytoneDMRSettingsExtension::EncryptionType encryptionType() const;
763 virtual void setEncryptionType(AnytoneDMRSettingsExtension::EncryptionType type);
764
775
776 bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
777 bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
778 bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack());
779
780 public:
782 struct Limit {
784 static constexpr IntRange repRangeReminder() { return {1, 10}; }
790 static constexpr IntRange repeaterReconnections() { return {3,5}; }
796 static constexpr TimeRange autoRoamDelay() {
798 }
800 static constexpr TimeRange muteTimer() {
802 }
803 };
804
805 protected:
807 struct Offset {
809 static constexpr unsigned int sendTalkerAlias() { return 0x0000; }
810 static constexpr unsigned int talkerAliasDisplay() { return 0x0001; }
811 static constexpr unsigned int talkerAliasEncoding() { return 0x0002; }
812 static constexpr unsigned int fontColor() { return 0x0003; }
813 static constexpr unsigned int customChannelBackground() { return 0x0004; }
814 static constexpr unsigned int defaultRoamingZone() { return 0x0005; }
815 static constexpr unsigned int roaming() { return 0x0006; }
816 static constexpr unsigned int repRangeCheck() { return 0x0007; }
817 static constexpr unsigned int repRangeAlert() { return 0x0008; }
818 static constexpr unsigned int repRangeReminder() { return 0x0009; }
819 static constexpr unsigned int rangeCheckInterval() { return 0x000a; }
820 static constexpr unsigned int rangeCheckCount() { return 0x000b; }
821 static constexpr unsigned int roamStartCondition() { return 0x000c; }
822 static constexpr unsigned int autoRoamPeriod() { return 0x000d; }
823 static constexpr unsigned int autoRoamDelay() { return 0x000e; }
824 static constexpr unsigned int roamReturnCondition() { return 0x000f; }
825 static constexpr unsigned int muteDelay() { return 0x0010; }
826 static constexpr unsigned int encryptionType() { return 0x0011; }
827 static constexpr unsigned int zoneANameColor() { return 0x0012; }
828 static constexpr unsigned int zoneBNameColor() { return 0x0013; }
829 static constexpr unsigned int channelANameColor() { return 0x0014; }
830 static constexpr unsigned int channelBNameColor() { return 0x0015; }
832 };
833 };
834
842 {
843 public:
845 enum class FMAPRSPTTMode {
846 Off = 0, Start = 1, End = 2
847 };
848
850 enum class APRSType{
851 Off = 0, FM = 1, DMR = 2
852 };
853
854 protected:
856 ChannelElement(uint8_t *ptr, unsigned size);
857
858 public:
860 ChannelElement(uint8_t *ptr);
861
863 bool hasScanListIndex() const;
865 unsigned scanListIndex() const;
867 void setScanListIndex(unsigned idx);
869 void clearScanListIndex();
870
872 virtual bool hasScanListIndex(unsigned int n) const;
874 virtual unsigned scanListIndex(unsigned int n) const;
876 virtual void setScanListIndex(unsigned int n, unsigned idx);
878 virtual void clearScanListIndex(unsigned int n);
879
881 virtual bool roamingEnabled() const;
883 virtual void enableRoaming(bool enable);
884
886 virtual bool ranging() const;
888 virtual void enableRanging(bool enable);
889
891 virtual unsigned int dmrAPRSChannelIndex() const;
893 virtual void setDMRAPRSChannelIndex(unsigned int idx);
894
896 virtual bool dmrAPRSRXEnabled() const;
898 virtual void enableDMRARPSRX(bool enable);
899
901 virtual bool dmrAPRSPTTEnabled() const;
903 virtual void enableDMRAPRSPTT(bool enable);
904
906 virtual FMAPRSPTTMode fmAPRSPTTMode() const;
908 virtual void setFMAPRSPTTMode(FMAPRSPTTMode mode);
909
911 virtual APRSType aprsType() const;
913 virtual void setAPRSType(APRSType aprstype);
914
915 bool linkChannelObj(Channel *c, Context &ctx) const;
916 bool fromChannelObj(const Channel *c, Context &ctx);
917
918public:
919 struct Limit {
920 // Maximum number of scan list indices.
921 static constexpr unsigned int scanListIndices() { return 8; }
922 };
923
924protected:
926 struct Offset: public Element::Offset {
927 static constexpr Bit roaming() { return {0x001b, 2}; }
928 static constexpr Bit ranging() { return {0x001b, 0}; }
929 static constexpr unsigned int scanListIndices() { return 0x0036; }
930 static constexpr unsigned int betweenScanListIndices() { return 0x0001; }
931 static constexpr unsigned int dmrAPRSChannelIndex() { return 0x003e; }
932 static constexpr Bit dmrAPRSRXEnable() { return {0x003f, 5}; }
933 static constexpr Bit dmrAPRSPTTEnable() { return {0x003f, 4}; }
934 static constexpr Bit fmAPRSPTTMode() { return {0x003f, 2}; }
935 static constexpr Bit aprsType() { return {0x003f, 0}; }
936 };
938 };
939
946 {
947 protected:
949 APRSSettingsElement(uint8_t *ptr, unsigned size);
950
952 enum class SignalingType {
953 Off=0, CTCSS=1, DCS=2
954 };
955
956 public:
958 explicit APRSSettingsElement(uint8_t *ptr);
959
961 static constexpr unsigned int size() { return 0x00a0; }
962
964 void clear();
965 bool isValid() const;
966
968 virtual Frequency fmFrequency() const;
970 virtual void setFMFrequency(Frequency f);
971
973 virtual Interval fmTXDelay() const;
975 virtual void setFMTXDelay(const Interval intv);
976
978 virtual SelectiveCall txTone() const;
980 virtual void setTXTone(const SelectiveCall &code);
981
983 virtual Interval manualTXInterval() const;
985 virtual void setManualTXInterval(Interval sec);
986
988 virtual bool autoTX() const;
990 virtual Interval autoTXInterval() const;
992 virtual void setAutoTXInterval(Interval sec);
994 virtual void disableAutoTX();
995
997 virtual bool fixedLocationEnabled() const;
999 virtual QGeoCoordinate fixedLocation() const;
1001 virtual void setFixedLocation(QGeoCoordinate &loc);
1003 virtual void disableFixedLocation();
1004
1006 virtual QString destination() const;
1008 virtual unsigned destinationSSID() const;
1010 virtual void setDestination(const QString &call, unsigned ssid);
1012 virtual QString source() const;
1014 virtual unsigned sourceSSID() const;
1016 virtual void setSource(const QString &call, unsigned ssid);
1017
1019 virtual QString path() const;
1021 virtual void setPath(const QString &path);
1022
1024 virtual APRSSystem::Icon icon() const;
1026 virtual void setIcon(APRSSystem::Icon icon);
1027
1029 virtual Channel::Power power() const;
1031 virtual void setPower(Channel::Power power);
1032
1034 virtual Interval fmPreWaveDelay() const;
1036 virtual void setFMPreWaveDelay(Interval ms);
1037
1039 virtual bool dmrChannelIsSelected(unsigned n) const;
1041 virtual unsigned dmrChannelIndex(unsigned n) const;
1043 virtual void setDMRChannelIndex(unsigned n, unsigned idx);
1045 virtual void setDMRChannelSelected(unsigned n);
1046
1048 virtual unsigned dmrDestination(unsigned n) const;
1050 virtual void setDMRDestination(unsigned n, unsigned idx);
1051
1053 virtual DMRContact::Type dmrCallType(unsigned n) const;
1055 virtual void setDMRCallType(unsigned n, DMRContact::Type type);
1056
1058 virtual bool dmrTimeSlotOverride(unsigned n);
1060 virtual DMRChannel::TimeSlot dmrTimeSlot(unsigned n) const;
1062 virtual void setDMRTimeSlot(unsigned n, DMRChannel::TimeSlot ts);
1064 virtual void clearDMRTimeSlotOverride(unsigned n);
1065
1067 virtual bool dmrRoaming() const;
1069 virtual void enableDMRRoaming(bool enable);
1070
1072 virtual Interval dmrPreWaveDelay() const;
1074 virtual void setDMRPreWaveDelay(Interval ms);
1075
1077 virtual bool fromFMAPRSSystem(const APRSSystem *sys, Context &ctx,
1078 const ErrorStack &err=ErrorStack());
1080 virtual APRSSystem *toFMAPRSSystem();
1083 virtual bool linkFMAPRSSystem(APRSSystem *sys, Context &ctx);
1084
1086 virtual bool fromDMRAPRSSystems(Context &ctx);
1088 virtual bool fromDMRAPRSSystemObj(unsigned int idx, GPSSystem *sys, Context &ctx);
1090 virtual GPSSystem *toDMRAPRSSystemObj(int idx) const;
1092 virtual bool linkDMRAPRSSystem(int idx, GPSSystem *sys, Context &ctx) const;
1093
1094 public:
1096 struct Limit {
1098 static constexpr unsigned int callLength() { return 0x0006; }
1100 static constexpr unsigned int pathLength() { return 0x0020; }
1102 static constexpr unsigned int dmrSystems() { return 0x0008; }
1103 };
1104
1105 protected:
1107 struct Offset {
1109 static constexpr unsigned int fmFrequency() { return 0x0001; }
1110 static constexpr unsigned int fmTXDelay() { return 0x0005; }
1111 static constexpr unsigned int fmSigType() { return 0x0006; }
1112 static constexpr unsigned int fmCTCSS() { return 0x0007; }
1113 static constexpr unsigned int fmDCS() { return 0x0008; }
1114 static constexpr unsigned int manualTXInterval() { return 0x000a; }
1115 static constexpr unsigned int autoTXInterval() { return 0x000b; }
1116 static constexpr unsigned int fmTXMonitor() { return 0x000c; }
1117 static constexpr unsigned int fixedLocation() { return 0x000d; }
1118 static constexpr unsigned int fixedLatDeg() { return 0x000e; }
1119 static constexpr unsigned int fixedLatMin() { return 0x000f; }
1120 static constexpr unsigned int fixedLatSec() { return 0x0010; }
1121 static constexpr unsigned int fixedLatSouth() { return 0x0011; }
1122 static constexpr unsigned int fixedLonDeg() { return 0x0012; }
1123 static constexpr unsigned int fixedLonMin() { return 0x0013; }
1124 static constexpr unsigned int fixedLonSec() { return 0x0014; }
1125 static constexpr unsigned int fixedLonWest() { return 0x0015; }
1126 static constexpr unsigned int destinationCall() { return 0x0016; }
1127 static constexpr unsigned int destinationSSID() { return 0x001c; }
1128 static constexpr unsigned int sourceCall() { return 0x001d; }
1129 static constexpr unsigned int sourceSSID() { return 0x0023; }
1130 static constexpr unsigned int path() { return 0x0024; }
1131 static constexpr unsigned int symbolTable() { return 0x0039; }
1132 static constexpr unsigned int symbol() { return 0x003a; }
1133 static constexpr unsigned int fmPower() { return 0x003b; }
1134 static constexpr unsigned int fmPrewaveDelay() { return 0x003c; }
1135 static constexpr unsigned int dmrChannelIndices() { return 0x0040; }
1136 static constexpr unsigned int betweenDMRChannelIndices() { return 0x0002; }
1137 static constexpr unsigned int dmrDestinations() { return 0x0050; }
1138 static constexpr unsigned int betweenDMRDestinations() { return 0x0004; }
1139 static constexpr unsigned int dmrCallTypes() { return 0x0070; }
1140 static constexpr unsigned int betweenDMRCallTypes() { return 0x0001; }
1141 static constexpr unsigned int roamingSupport() { return 0x0078; }
1142 static constexpr unsigned int dmrTimeSlots() { return 0x0079; }
1143 static constexpr unsigned int betweenDMRTimeSlots() { return 0x0001; }
1144 static constexpr unsigned int dmrPrewaveDelay() { return 0x0081; }
1146 };
1147 };
1148
1157
1158public:
1160 explicit DMR6X2UVCodeplug(const QString &label, QObject *parent=nullptr);
1161
1162public:
1164 explicit DMR6X2UVCodeplug(QObject *parent=nullptr);
1165
1166protected:
1167 bool allocateBitmaps();
1168 void setBitmaps(Context &ctx);
1169 void allocateForDecoding();
1170 void allocateForEncoding();
1171
1172 bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack());
1173 bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1174
1176 bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1177 bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1178 bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1179
1180 virtual bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1181 virtual bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1182 virtual bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1183
1184 void allocateGPSSystems();
1185 bool encodeGPSSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1186 bool createGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack());
1187 bool linkGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack());
1188
1190 virtual void allocateRoaming();
1192 virtual bool encodeRoaming(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1194 virtual bool createRoaming(Context &ctx, const ErrorStack &err=ErrorStack());
1196 virtual bool linkRoaming(Context &ctx, const ErrorStack &err=ErrorStack());
1197
1198public:
1202 static constexpr unsigned int fmAPRSMessage() { return 60; }
1204 static constexpr unsigned int roamingChannels() { return 250; }
1206 static constexpr unsigned int roamingZones() { return 64; }
1207 };
1208
1209protected:
1213 static constexpr unsigned int roamingChannelBitmap() { return 0x01042000; }
1214 static constexpr unsigned int roamingChannels() { return 0x01040000; }
1215 static constexpr unsigned int roamingZoneBitmap() { return 0x01042080; }
1216 static constexpr unsigned int roamingZones() { return 0x01043000; }
1217
1218 static constexpr unsigned int fmAPRSMessage() { return 0x02501200; }
1219 static constexpr unsigned int fmAPRSFrequencyNames() { return 0x02502000; }
1220 static constexpr unsigned int settingsExtension() { return 0x02501400; }
1222 };
1223
1227 static constexpr unsigned int fmAPRSMessage() { return 0x00000040; }
1229 };
1230};
1231
1232#endif // DMR6X2UVCODEPLUG_HH
Represents an APRS system within the generic config.
Definition gpssystem.hh:132
Icon
All implemented APRS icons.
Definition gpssystem.hh:162
Direction
Encodes the auto-repeater offset sign.
Definition anytone_extension.hh:1437
Represents the base class for channel encodings in all AnyTone codeplugs.
Definition anytone_codeplug.hh:107
virtual Mode mode() const
Returns the channel mode (analog, digtital, etc).
Definition anytone_codeplug.cc:240
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:168
Represents the base class for the extended settings element in many AnyTone codeplugs.
Definition anytone_codeplug.hh:1202
virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition anytone_codeplug.cc:4499
Color
Possible display colors.
Definition anytone_extension.hh:992
Language
Possible UI languages.
Definition anytone_extension.hh:998
KeyFunction
All possible key functions.
Definition anytone_extension.hh:603
RoamStart
Possible roaming start conditions.
Definition anytone_extension.hh:1879
OutOfRangeAlert
Possible repeater out-of-range alerts.
Definition anytone_extension.hh:1885
STEType
All possible STE (squelch tail eliminate) types.
Definition anytone_extension.hh:2184
TimeSlot
Possible simplex repeater time-slots.
Definition anytone_extension.hh:2029
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:34
Power
Specifies the prefix for every ID assigned to every channel during serialization.
Definition channel.hh:61
Base class for all codeplug contexts.
Definition codeplug.hh:273
Represents the abstract base class of all codeplug elements.
Definition codeplug.hh:52
Certain flags passed to CodePlug::encode to control the transfer and encoding of the codeplug.
Definition codeplug.hh:26
Represents the general config of the radio within the D868UV binary codeplug.
Definition d868uv_codeplug.hh:288
Represents the device specific binary codeplug for Anytone AT-D868UV radios.
Definition d868uv_codeplug.hh:189
Represents the bitmap, indicating which roaming channel is valid.
Definition d878uv_codeplug.hh:1650
Implements the binary representation of a roaming channel within the codeplug.
Definition d878uv_codeplug.hh:1568
Represents the bitmap, indicating which roaming zone is valid.
Definition d878uv_codeplug.hh:1724
Represents a roaming zone within the binary codeplug.
Definition d878uv_codeplug.hh:1668
Represents the APRS settings within the binary DMR-6X2UV codeplug.
Definition dmr6x2uv_codeplug.hh:946
virtual Frequency fmFrequency() const
Returns the FM APRS frequency.
Definition dmr6x2uv_codeplug.cc:1689
virtual void setIcon(APRSSystem::Icon icon)
Sets the APRS icon.
Definition dmr6x2uv_codeplug.cc:1850
virtual bool dmrTimeSlotOverride(unsigned n)
Returns true if the n-th system overrides the channel time-slot.
Definition dmr6x2uv_codeplug.cc:1930
virtual QString path() const
Returns the path string.
Definition dmr6x2uv_codeplug.cc:1837
virtual Interval autoTXInterval() const
Returns the auto TX interval in seconds.
Definition dmr6x2uv_codeplug.cc:1747
virtual DMRContact::Type dmrCallType(unsigned n) const
Returns the call type for the n-th system.
Definition dmr6x2uv_codeplug.cc:1912
virtual QString source() const
Returns the source call.
Definition dmr6x2uv_codeplug.cc:1821
virtual bool fromDMRAPRSSystemObj(unsigned int idx, GPSSystem *sys, Context &ctx)
Encodes the given GPS system.
Definition dmr6x2uv_codeplug.cc:2045
virtual DMRChannel::TimeSlot dmrTimeSlot(unsigned n) const
Returns the time slot if overridden (only valid if timeSlot returns true).
Definition dmr6x2uv_codeplug.cc:1934
virtual void setFMTXDelay(const Interval intv)
Sets the TX delay in ms.
Definition dmr6x2uv_codeplug.cc:1701
SignalingType
Possible settings for the FM APRS subtone type.
Definition dmr6x2uv_codeplug.hh:952
virtual void setFixedLocation(QGeoCoordinate &loc)
Sets the fixed location to send.
Definition dmr6x2uv_codeplug.cc:1778
static constexpr unsigned int size()
The size of the element.
Definition dmr6x2uv_codeplug.hh:961
virtual bool fromFMAPRSSystem(const APRSSystem *sys, Context &ctx, const ErrorStack &err=ErrorStack())
Configures this APRS system from the given generic config.
Definition dmr6x2uv_codeplug.cc:1972
virtual void disableFixedLocation()
Disables sending a fixed location.
Definition dmr6x2uv_codeplug.cc:1801
virtual void setPath(const QString &path)
Sets the path string.
Definition dmr6x2uv_codeplug.cc:1841
virtual Channel::Power power() const
Returns the transmit power.
Definition dmr6x2uv_codeplug.cc:1856
virtual Interval fmTXDelay() const
Returns the TX delay in ms.
Definition dmr6x2uv_codeplug.cc:1697
virtual void setDMRChannelSelected(unsigned n)
Sets the channel to the current/selected channel.
Definition dmr6x2uv_codeplug.cc:1898
virtual unsigned dmrDestination(unsigned n) const
Returns the destination contact for the n-th system.
Definition dmr6x2uv_codeplug.cc:1903
virtual QString destination() const
Returns the destination call.
Definition dmr6x2uv_codeplug.cc:1806
virtual unsigned destinationSSID() const
Returns the destination SSID.
Definition dmr6x2uv_codeplug.cc:1811
virtual void clearDMRTimeSlotOverride(unsigned n)
Clears the time-slot override.
Definition dmr6x2uv_codeplug.cc:1949
virtual bool fromDMRAPRSSystems(Context &ctx)
Constructs all GPS system from the generic configuration.
Definition dmr6x2uv_codeplug.cc:2037
virtual void setPower(Channel::Power power)
Sets the transmit power.
Definition dmr6x2uv_codeplug.cc:1866
virtual QGeoCoordinate fixedLocation() const
Returns the fixed location send.
Definition dmr6x2uv_codeplug.cc:1764
virtual SelectiveCall txTone() const
Returns the sub tone settings.
Definition dmr6x2uv_codeplug.cc:1706
virtual void setDMRPreWaveDelay(Interval ms)
Sets the repeater activation delay in ms.
Definition dmr6x2uv_codeplug.cc:1967
virtual Interval dmrPreWaveDelay() const
Returns the the repeater activation delay in ms.
Definition dmr6x2uv_codeplug.cc:1963
virtual bool fixedLocationEnabled() const
Returns true if a fixed location is send.
Definition dmr6x2uv_codeplug.cc:1760
virtual void enableDMRRoaming(bool enable)
Enables/disables roaming.
Definition dmr6x2uv_codeplug.cc:1958
virtual void setDMRDestination(unsigned n, unsigned idx)
Sets the destination contact for the n-th system.
Definition dmr6x2uv_codeplug.cc:1907
virtual void setTXTone(const SelectiveCall &code)
Sets the sub tone settings.
Definition dmr6x2uv_codeplug.cc:1721
virtual Interval fmPreWaveDelay() const
Returns the pre-wave delay in ms.
Definition dmr6x2uv_codeplug.cc:1877
virtual bool dmrRoaming() const
Returns true if the roaming is enabled.
Definition dmr6x2uv_codeplug.cc:1954
virtual void setDMRChannelIndex(unsigned n, unsigned idx)
Sets the digital channel index for the n-th system.
Definition dmr6x2uv_codeplug.cc:1894
virtual void setFMPreWaveDelay(Interval ms)
Sets the pre-wave delay in ms.
Definition dmr6x2uv_codeplug.cc:1881
APRSSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition dmr6x2uv_codeplug.cc:1660
void clear()
Resets the settings.
Definition dmr6x2uv_codeplug.cc:1673
virtual void setDestination(const QString &call, unsigned ssid)
Sets the destination call & SSID.
Definition dmr6x2uv_codeplug.cc:1815
virtual bool linkFMAPRSSystem(APRSSystem *sys, Context &ctx)
Links the transmit channel within the generic APRS system based on the transmit frequency defined wit...
Definition dmr6x2uv_codeplug.cc:2016
virtual Interval manualTXInterval() const
Returns the manual TX interval in seconds.
Definition dmr6x2uv_codeplug.cc:1734
virtual unsigned sourceSSID() const
Returns the source SSID.
Definition dmr6x2uv_codeplug.cc:1826
virtual bool autoTX() const
Returns true if the auto transmit is enabled.
Definition dmr6x2uv_codeplug.cc:1743
bool isValid() const
Returns true if the pointer is not null.
Definition dmr6x2uv_codeplug.cc:1681
virtual bool linkDMRAPRSSystem(int idx, GPSSystem *sys, Context &ctx) const
Links the specified generic GPS system.
Definition dmr6x2uv_codeplug.cc:2067
virtual bool dmrChannelIsSelected(unsigned n) const
Returns true if the channel points to the current/selected channel.
Definition dmr6x2uv_codeplug.cc:1886
virtual APRSSystem::Icon icon() const
Returns the APRS icon.
Definition dmr6x2uv_codeplug.cc:1846
virtual void disableAutoTX()
Disables auto tx.
Definition dmr6x2uv_codeplug.cc:1755
virtual GPSSystem * toDMRAPRSSystemObj(int idx) const
Constructs a generic GPS system from the idx-th encoded GPS system.
Definition dmr6x2uv_codeplug.cc:2060
virtual void setFMFrequency(Frequency f)
Sets the FM APRS frequency.
Definition dmr6x2uv_codeplug.cc:1693
virtual void setSource(const QString &call, unsigned ssid)
Sets the source call & SSID.
Definition dmr6x2uv_codeplug.cc:1830
virtual unsigned dmrChannelIndex(unsigned n) const
Returns the digital channel index for the n-th system.
Definition dmr6x2uv_codeplug.cc:1890
virtual void setDMRCallType(unsigned n, DMRContact::Type type)
Sets the call type for the n-th system.
Definition dmr6x2uv_codeplug.cc:1921
virtual APRSSystem * toFMAPRSSystem()
Constructs a generic APRS system configuration from this APRS system.
Definition dmr6x2uv_codeplug.cc:2001
virtual void setManualTXInterval(Interval sec)
Sets the manual TX interval in seconds.
Definition dmr6x2uv_codeplug.cc:1738
virtual void setAutoTXInterval(Interval sec)
Sets the auto TX interval in seconds.
Definition dmr6x2uv_codeplug.cc:1751
virtual void setDMRTimeSlot(unsigned n, DMRChannel::TimeSlot ts)
Overrides the time slot of the n-th selected channel.
Definition dmr6x2uv_codeplug.cc:1942
Implements the channel element for the BTECH DMR-6X2UV.
Definition dmr6x2uv_codeplug.hh:842
virtual void enableDMRARPSRX(bool enable)
Enables/disables the reception of DMR APRS messages.
Definition dmr6x2uv_codeplug.cc:1548
virtual APRSType aprsType() const
Returns the APRS type.
Definition dmr6x2uv_codeplug.cc:1571
ChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition dmr6x2uv_codeplug.cc:1464
virtual bool ranging() const
Returns true, if ranging is enabled.
Definition dmr6x2uv_codeplug.cc:1526
void setScanListIndex(unsigned idx)
Sets the first scan list index (0-based).
Definition dmr6x2uv_codeplug.cc:1485
FMAPRSPTTMode
Possible PTT modes for FM APRS.
Definition dmr6x2uv_codeplug.hh:845
bool hasScanListIndex() const
Returns true, if the first scan list index is set.
Definition dmr6x2uv_codeplug.cc:1477
virtual void setFMAPRSPTTMode(FMAPRSPTTMode mode)
Sets the FM APRS PTT mode.
Definition dmr6x2uv_codeplug.cc:1566
unsigned scanListIndex() const
Returns the first scan list index (0-based).
Definition dmr6x2uv_codeplug.cc:1481
virtual bool dmrAPRSPTTEnabled() const
Returns true, if the position is reported via DMR APRS on PTT.
Definition dmr6x2uv_codeplug.cc:1553
virtual void enableRoaming(bool enable)
Enables/disables roaming.
Definition dmr6x2uv_codeplug.cc:1520
virtual unsigned int dmrAPRSChannelIndex() const
Returns the DMR APRS report channel index.
Definition dmr6x2uv_codeplug.cc:1535
bool linkChannelObj(Channel *c, Context &ctx) const
Links a previously constructed channel to the rest of the configuration.
Definition dmr6x2uv_codeplug.cc:1621
virtual FMAPRSPTTMode fmAPRSPTTMode() const
Returns teh FM APRS PTT mode.
Definition dmr6x2uv_codeplug.cc:1562
virtual bool roamingEnabled() const
Returns true if roaming is enabled for this channel.
Definition dmr6x2uv_codeplug.cc:1515
virtual void enableRanging(bool enable)
Enables/disables ranging.
Definition dmr6x2uv_codeplug.cc:1530
virtual void setDMRAPRSChannelIndex(unsigned int idx)
Sets the DMR APRS report channel index.
Definition dmr6x2uv_codeplug.cc:1539
void clearScanListIndex()
Clears the first scan list index.
Definition dmr6x2uv_codeplug.cc:1489
virtual void setAPRSType(APRSType aprstype)
Sets the APRS type.
Definition dmr6x2uv_codeplug.cc:1575
APRSType
Possible APRS report types.
Definition dmr6x2uv_codeplug.hh:850
bool fromChannelObj(const Channel *c, Context &ctx)
Initializes this codeplug channel from the given generic configuration.
Definition dmr6x2uv_codeplug.cc:1580
virtual void enableDMRAPRSPTT(bool enable)
Enables/disables reporting the position via DMR APRS on PTT.
Definition dmr6x2uv_codeplug.cc:1557
virtual bool dmrAPRSRXEnabled() const
Returns true, if the reception of DMR APRS messages is enabled.
Definition dmr6x2uv_codeplug.cc:1544
Implements some settings extension for the BTECH DMR-6X2UV.
Definition dmr6x2uv_codeplug.hh:675
virtual Interval autoRoamDelay() const
Returns the effective roaming waiting time in seconds (0-30s).
Definition dmr6x2uv_codeplug.cc:1279
void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO A.
Definition dmr6x2uv_codeplug.cc:1326
virtual void enableCustomChannelBackground(bool enable)
Enables/disables the custom channel background.
Definition dmr6x2uv_codeplug.cc:1195
virtual void setEncryptionType(AnytoneDMRSettingsExtension::EncryptionType type)
Sets the encryption type.
Definition dmr6x2uv_codeplug.cc:1314
virtual Interval autoRoamPeriod() const
Returns the auto-roaming interval in minutes (1-256).
Definition dmr6x2uv_codeplug.cc:1269
ExtendedSettingsElement(uint8_t *ptr, unsigned size)
Hidden Constructor.
Definition dmr6x2uv_codeplug.cc:1137
virtual void setRepeaterOutOfRangeAlert(AnytoneRoamingSettingsExtension::OutOfRangeAlert alert)
Sets the repeater out-of-range alert type.
Definition dmr6x2uv_codeplug.cc:1228
AnytoneDisplaySettingsExtension::Color zoneANameColor() const
Returns the color of the zone name for VFO A.
Definition dmr6x2uv_codeplug.cc:1322
virtual void setMuteTimer(Interval minutes)
Sets the mute timer in minutes.
Definition dmr6x2uv_codeplug.cc:1302
virtual void setFontColor(AnytoneDisplaySettingsExtension::Color color)
Sets the font color.
Definition dmr6x2uv_codeplug.cc:1186
virtual void setRepeaterRangeCheckInterval(Interval intv)
Sets the repeater check interval in seconds (5-50s).
Definition dmr6x2uv_codeplug.cc:1245
static constexpr unsigned int size()
Returns the size of the element.
Definition dmr6x2uv_codeplug.hh:685
virtual unsigned int defaultRoamingZoneIndex() const
Returns the roaming zone index.
Definition dmr6x2uv_codeplug.cc:1200
AnytoneDMRSettingsExtension::TalkerAliasEncoding talkerAliasEncoding() const
Returns the talker alias encoding.
Definition dmr6x2uv_codeplug.cc:1173
void clear()
Resets the general settings.
Definition dmr6x2uv_codeplug.cc:1150
virtual void setAutoRoamDelay(Interval sec)
Sets the effective roaming waiting time in seconds (0-30s).
Definition dmr6x2uv_codeplug.cc:1283
void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color for the VFO B.
Definition dmr6x2uv_codeplug.cc:1351
virtual void setAutoRoamPeriod(Interval minutes)
Sets the auto-roaming interval in minutes (1-256).
Definition dmr6x2uv_codeplug.cc:1273
virtual bool repeaterRangeCheckEnabled() const
Returns true if repeater check is enabled.
Definition dmr6x2uv_codeplug.cc:1216
virtual void setRoamingStartCondition(AnytoneRoamingSettingsExtension::RoamStart cond)
Sets the condition to start roaming.
Definition dmr6x2uv_codeplug.cc:1264
virtual void setRoamingReturnCondition(AnytoneRoamingSettingsExtension::RoamStart cond)
Sets the roaming return condition.
Definition dmr6x2uv_codeplug.cc:1293
void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO B.
Definition dmr6x2uv_codeplug.cc:1334
virtual AnytoneRoamingSettingsExtension::OutOfRangeAlert repeaterOutOfRangeAlert() const
Returns the repeater out-of-range alert type.
Definition dmr6x2uv_codeplug.cc:1224
virtual AnytoneRoamingSettingsExtension::RoamStart roamingReturnCondition() const
Returns the roaming return condition.
Definition dmr6x2uv_codeplug.cc:1289
void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource source)
Sets the talker alias source.
Definition dmr6x2uv_codeplug.cc:1168
AnytoneDisplaySettingsExtension::Color zoneBNameColor() const
Returns the color of the zone name for VFO B.
Definition dmr6x2uv_codeplug.cc:1330
virtual unsigned int repeaterRangeCheckCount() const
Returns the number of times, a repeater reconnection is tried (3-5).
Definition dmr6x2uv_codeplug.cc:1250
virtual void enableRepeaterRangeCheck(bool enable)
Enables/disables repeater check.
Definition dmr6x2uv_codeplug.cc:1220
virtual Interval repeaterRangeCheckInterval() const
Returns the repeater check interval in seconds (5-50s).
Definition dmr6x2uv_codeplug.cc:1241
virtual void enableAutoRoaming(bool enable)
Enables/disables auto roaming.
Definition dmr6x2uv_codeplug.cc:1212
bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Link config from settings extension.
Definition dmr6x2uv_codeplug.cc:1437
AnytoneDisplaySettingsExtension::Color channelBNameColor() const
Returns the color of the channel name for VFO B.
Definition dmr6x2uv_codeplug.cc:1347
bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Update config from settings.
Definition dmr6x2uv_codeplug.cc:1398
virtual unsigned int repeaterCheckNumNotifications() const
Returns the number of times, the repeater out-of-range reminder is shown (1-10).
Definition dmr6x2uv_codeplug.cc:1232
virtual bool autoRoamingEnabled() const
Returns true if auto roaming is enabled.
Definition dmr6x2uv_codeplug.cc:1208
virtual AnytoneDMRSettingsExtension::EncryptionType encryptionType() const
Returns the encryption type.
Definition dmr6x2uv_codeplug.cc:1308
virtual void setChannelANameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the name color for channel A.
Definition dmr6x2uv_codeplug.cc:1343
void setTalkerAliasEncoding(AnytoneDMRSettingsExtension::TalkerAliasEncoding encoding)
Sets the talker alias encoding.
Definition dmr6x2uv_codeplug.cc:1177
virtual AnytoneDisplaySettingsExtension::Color fontColor() const
Returns the font color.
Definition dmr6x2uv_codeplug.cc:1182
virtual AnytoneRoamingSettingsExtension::RoamStart roamingStartCondition() const
Returns the condition to start roaming.
Definition dmr6x2uv_codeplug.cc:1260
virtual void setDefaultRoamingZoneIndex(unsigned int index)
Sets the roaming zone index.
Definition dmr6x2uv_codeplug.cc:1204
AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const
Returns the talker alias source.
Definition dmr6x2uv_codeplug.cc:1164
virtual Interval muteTimer() const
Returns the mute timer in minutes.
Definition dmr6x2uv_codeplug.cc:1298
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:1236
bool sendTalkerAlias() const
Returns true if the talker alias is sent.
Definition dmr6x2uv_codeplug.cc:1155
bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the settings from the config.
Definition dmr6x2uv_codeplug.cc:1356
virtual void setRepeaterRangeCheckCount(unsigned int n)
Sets the number of times, a repeater reconnection is tried (3-5).
Definition dmr6x2uv_codeplug.cc:1254
virtual AnytoneDisplaySettingsExtension::Color channelANameColor() const
Returns the name color for channel A.
Definition dmr6x2uv_codeplug.cc:1339
void enableSendTalkerAlias(bool enable)
Enables/disables sending the talker alias.
Definition dmr6x2uv_codeplug.cc:1159
virtual bool customChannelBackgroundEnabled() const
Returns true if the custom channel background is enabled.
Definition dmr6x2uv_codeplug.cc:1191
General settings element for the DMR-6X2UV.
Definition dmr6x2uv_codeplug.hh:249
void enableShowCurrentContact(bool enable)
Enables/disables display of current contact.
Definition dmr6x2uv_codeplug.cc:731
virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const
Returns the monitor slot match.
Definition dmr6x2uv_codeplug.cc:602
bool keepLastCaller() const
Returns true if the last caller is kept when changing channel.
Definition dmr6x2uv_codeplug.cc:934
void setFuncKeyCLong(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 3.
Definition dmr6x2uv_codeplug.cc:360
bool gpsUnitsImperial() const
Returns true if the GPS units are imperial.
Definition dmr6x2uv_codeplug.cc:814
Interval rxBacklightDuration() const
Returns the backlight duration in seconds.
Definition dmr6x2uv_codeplug.cc:943
unsigned keyToneLevel() const
Returns the key-tone level (0=adjustable).
Definition dmr6x2uv_codeplug.cc:740
unsigned defaultChannelAIndex() const
Returns the default channel index for VFO A.
Definition dmr6x2uv_codeplug.cc:896
AnytoneKeySettingsExtension::KeyFunction funcKey1Short() const
Returns the key function for a short press on the function key 1.
Definition dmr6x2uv_codeplug.cc:320
void enableSidekeysLock(bool enable)
Enables/disables the sidekeys lock.
Definition dmr6x2uv_codeplug.cc:773
virtual void enableFMSendIDAndContact(bool enable)
Enables/disables sending contact with FM ID.
Definition dmr6x2uv_codeplug.cc:870
Interval gpsUpdatePeriod() const
Returns the GPS update period in seconds.
Definition dmr6x2uv_codeplug.cc:709
virtual unsigned dtmfToneDuration() const
Returns the DTMF tone duration in ms.
Definition dmr6x2uv_codeplug.cc:479
void enableKnobLock(bool enable)
Enables/disables the knob lock.
Definition dmr6x2uv_codeplug.cc:757
bool idleChannelTone() const
Returns true if the idle channel tone is enabled.
Definition dmr6x2uv_codeplug.cc:232
virtual AnytoneDisplaySettingsExtension::Language language() const
Returns the UI language.
Definition dmr6x2uv_codeplug.cc:250
void enableDefaultChannel(bool enable)
Enables/disables default boot channel.
Definition dmr6x2uv_codeplug.cc:879
virtual void setVFOFrequencyStep(Frequency kHz)
Sets the VFO frequency step in kHz.
Definition dmr6x2uv_codeplug.cc:273
virtual Interval groupCallHangTime() const
Returns the group call hang time in seconds.
Definition dmr6x2uv_codeplug.cc:429
virtual unsigned transmitTimeout() const
Returns the transmit timeout in seconds.
Definition dmr6x2uv_codeplug.cc:241
virtual void setSTEFrequency(double freq)
Sets the STE (squelch tail eliminate) frequency setting.
Definition dmr6x2uv_codeplug.cc:418
void setFuncKey2Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 2.
Definition dmr6x2uv_codeplug.cc:378
virtual void setTransmitTimeout(unsigned tot)
Sets the transmit timeout in seconds.
Definition dmr6x2uv_codeplug.cc:245
Frequency autoRepeaterMaxFrequencyVHF() const
Returns the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition dmr6x2uv_codeplug.cc:831
void setAutoRepeaterMaxFrequencyVHF(Frequency Hz)
Sets the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition dmr6x2uv_codeplug.cc:835
virtual void setGroupCallHangTime(Interval sec)
Sets the group call hang time in seconds.
Definition dmr6x2uv_codeplug.cc:433
bool sidekeysLock() const
Returns true if the sidekeys are locked.
Definition dmr6x2uv_codeplug.cc:769
virtual bool proMode() const
Returns true if the "pro mode" is enabled.
Definition dmr6x2uv_codeplug.cc:548
virtual void setWakeHeadPeriod(Interval ms)
Sets the wake head-period in ms.
Definition dmr6x2uv_codeplug.cc:457
void setRXBacklightDuration(Interval sec)
Sets the backlight duration in seconds.
Definition dmr6x2uv_codeplug.cc:947
unsigned defaultZoneIndexB() const
Returns the default zone index (0-based) for VFO B.
Definition dmr6x2uv_codeplug.cc:909
void setFuncKeyAShort(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 1/A.
Definition dmr6x2uv_codeplug.cc:297
virtual void enableRemoteStunKill(bool enable)
Enables/disables remote stun/kill.
Definition dmr6x2uv_codeplug.cc:579
virtual bool selectTXContactEnabled() const
Returns true, if the selection of a TX contact is enabled.
Definition dmr6x2uv_codeplug.cc:593
virtual void enableFilterOwnID(bool enable)
Enables/disables filter of own ID in call lists.
Definition dmr6x2uv_codeplug.cc:561
virtual void setStandbyBackgroundColor(AnytoneDisplaySettingsExtension::Color color)
Sets the stand-by background color.
Definition dmr6x2uv_codeplug.cc:957
virtual bool filterOwnID() const
Returns true if the own ID is filtered in call lists.
Definition dmr6x2uv_codeplug.cc:557
AnytoneKeySettingsExtension::KeyFunction funcKey2Long() const
Returns the key function for a long press on the function key 2.
Definition dmr6x2uv_codeplug.cc:374
virtual void enableSMSConfirm(bool enable)
Enables/disables SMS confirmation.
Definition dmr6x2uv_codeplug.cc:695
void enableVFOModeA(bool enable)
Enables/disables VFO mode for VFO A.
Definition dmr6x2uv_codeplug.cc:387
void setAutoRepeaterDirectionB(AnytoneAutoRepeaterSettingsExtension::Direction dir)
Sets the auto-repeater direction for VFO B.
Definition dmr6x2uv_codeplug.cc:861
void setFuncKeyALong(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 1.
Definition dmr6x2uv_codeplug.cc:342
virtual void enableMonitorColorCodeMatch(bool enable)
Enables/disables monitor color code match.
Definition dmr6x2uv_codeplug.cc:615
virtual AnytoneSettingsExtension::STEType steType() const
Returns the STE (squelch tail eliminate) type.
Definition dmr6x2uv_codeplug.cc:401
virtual void setManDownDelay(Interval sec)
Sets the "man down" delay in seconds.
Definition dmr6x2uv_codeplug.cc:642
virtual bool remoteMonitor() const
Returns true remote monitor is enabled.
Definition dmr6x2uv_codeplug.cc:584
virtual void setFMCallHold(unsigned sec)
Sets the analog call hold in seconds.
Definition dmr6x2uv_codeplug.cc:651
void enableKeepLastCaller(bool enable)
Enables/disables keeping the last caller when changing the channel.
Definition dmr6x2uv_codeplug.cc:938
bool keyToneEnabled() const
Returns true, if the key tone is enabled.
Definition dmr6x2uv_codeplug.cc:566
void setDefaultChannelAToVFO()
Sets the default channel for VFO A to be VFO.
Definition dmr6x2uv_codeplug.cc:904
void setFuncKeyBShort(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 2/B.
Definition dmr6x2uv_codeplug.cc:306
bool knobLock() const
Returns true if the knob is locked.
Definition dmr6x2uv_codeplug.cc:753
bool defaultChannelBIsVFO() const
Returns true if the default channel for VFO B is VFO.
Definition dmr6x2uv_codeplug.cc:917
bool updateConfig(Context &ctx)
Updates the abstract config from general settings.
Definition dmr6x2uv_codeplug.cc:1060
bool keyToneLevelAdjustable() const
Returns true if the key-tone level is adjustable.
Definition dmr6x2uv_codeplug.cc:736
virtual bool maintainCallChannel() const
Returns true if the call channel is maintained.
Definition dmr6x2uv_codeplug.cc:665
virtual Interval preWaveDelay() const
Returns the pre-wave time in ms.
Definition dmr6x2uv_codeplug.cc:445
virtual void enableSelectTXContact(bool enable)
Enables/disables selection of the TX contact.
Definition dmr6x2uv_codeplug.cc:597
virtual unsigned fmCallHold() const
Returns the analog call hold in seconds.
Definition dmr6x2uv_codeplug.cc:647
static constexpr unsigned int size()
Returns the size of the element.
Definition dmr6x2uv_codeplug.hh:312
virtual double steFrequency() const
Returns the STE (squelch tail eliminate) frequency setting in Hz.
Definition dmr6x2uv_codeplug.cc:409
void setFuncKey2Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 2.
Definition dmr6x2uv_codeplug.cc:333
virtual void enableMonitorIDMatch(bool enable)
Enables/disables monitor ID match.
Definition dmr6x2uv_codeplug.cc:624
virtual void enableManDown(bool enable)
Enables/disables "man down".
Definition dmr6x2uv_codeplug.cc:509
TBSTFrequency
TBST (open repeater) frequencies.
Definition dmr6x2uv_codeplug.hh:293
virtual void setPrivateCallHangTime(Interval sec)
Sets the private call hang time in seconds.
Definition dmr6x2uv_codeplug.cc:441
unsigned defaultChannelBIndex() const
Returns the default channel index for VFO B.
Definition dmr6x2uv_codeplug.cc:921
virtual void setDTMFToneDuration(unsigned ms)
Sets the DTMF tone duration in ms.
Definition dmr6x2uv_codeplug.cc:490
bool showCurrentContact() const
Returns true if the current contact is shown.
Definition dmr6x2uv_codeplug.cc:727
virtual void enableMaintainCallChannel(bool enable)
Enables/disables maintaining the call channel.
Definition dmr6x2uv_codeplug.cc:669
Frequency autoRepeaterMinFrequencyVHF() const
Returns the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition dmr6x2uv_codeplug.cc:823
AnytoneKeySettingsExtension::KeyFunction funcKey1Long() const
Returns the key function for a long press on the function key 1.
Definition dmr6x2uv_codeplug.cc:365
virtual bool wfmVFOEnabled() const
Returns true if the WFM RX is in VFO mode.
Definition dmr6x2uv_codeplug.cc:470
virtual unsigned priorityZoneBIndex() const
Returns the priority Zone B index.
Definition dmr6x2uv_codeplug.cc:682
virtual void setSimplexRepeaterTimeslot(AnytoneSimplexRepeaterSettingsExtension::TimeSlot slot)
Sets the time-slot in simplex repeater mode.
Definition dmr6x2uv_codeplug.cc:791
virtual bool monitorColorCodeMatch() const
Returns true if the monitor matches color code.
Definition dmr6x2uv_codeplug.cc:611
void enableGPSUnitsImperial(bool enable)
Enables/disables imperial GPS units.
Definition dmr6x2uv_codeplug.cc:818
virtual bool fmSendIDAndContact() const
If enabled, the FM ID is sent together with selected contact.
Definition dmr6x2uv_codeplug.cc:866
bool vfoModeA() const
Returns true if the VFO A is in VFO mode.
Definition dmr6x2uv_codeplug.cc:383
virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match)
Sets the monitor slot match.
Definition dmr6x2uv_codeplug.cc:606
virtual Frequency tbstFrequency() const
Returns the TBST frequency.
Definition dmr6x2uv_codeplug.cc:523
virtual bool gpsMessageEnabled() const
Returns true if the GPS range reporting is enabled.
Definition dmr6x2uv_codeplug.cc:656
DTMFDuration
DTMF signalling durations.
Definition dmr6x2uv_codeplug.hh:288
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor.
Definition dmr6x2uv_codeplug.cc:588
AnytoneKeySettingsExtension::KeyFunction funcKeyAShort() const
Returns the key function for a short press on the function key 1/A.
Definition dmr6x2uv_codeplug.cc:293
void setAutoRepeaterMaxFrequencyUHF(Frequency Hz)
Sets the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition dmr6x2uv_codeplug.cc:852
void enableVFOModeB(bool enable)
Enables/disables VFO mode for VFO B.
Definition dmr6x2uv_codeplug.cc:396
virtual void setPreWaveDelay(Interval ms)
Sets the pre-wave time in ms.
Definition dmr6x2uv_codeplug.cc:449
virtual Interval wakeHeadPeriod() const
Returns the wake head-period in ms.
Definition dmr6x2uv_codeplug.cc:453
virtual unsigned int manualDialedPrivateCallHangTime() const
Returns the private-call hang time, if private call was dialed manually.
Definition dmr6x2uv_codeplug.cc:970
virtual bool remoteStunKill() const
Returns true remote stun/kill is enabled.
Definition dmr6x2uv_codeplug.cc:575
virtual bool monitorTimeSlotHold() const
Returns true if the monitor holds the time slot.
Definition dmr6x2uv_codeplug.cc:629
virtual void setTBSTFrequency(Frequency freq)
Sets the TBST frequency.
Definition dmr6x2uv_codeplug.cc:533
AnytoneKeySettingsExtension::KeyFunction funcKeyBShort() const
Returns the key function for a short press on the function key 2/B.
Definition dmr6x2uv_codeplug.cc:302
virtual bool smsConfirmEnabled() const
Returns true, if a SMS confirmation is sent.
Definition dmr6x2uv_codeplug.cc:691
bool keypadLock() const
Returns true if the keypad is locked.
Definition dmr6x2uv_codeplug.cc:761
AnytoneKeySettingsExtension::KeyFunction funcKey2Short() const
Returns the key function for a short press on the function key 2.
Definition dmr6x2uv_codeplug.cc:329
bool vfoModeB() const
Returns true if the VFO B is in VFO mode.
Definition dmr6x2uv_codeplug.cc:392
Frequency autoRepeaterMaxFrequencyUHF() const
Returns the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition dmr6x2uv_codeplug.cc:848
virtual void setManualDialedPrivateCallHangTime(unsigned int dur)
Sets the private-call hang time, if the private call was dialed maually.
Definition dmr6x2uv_codeplug.cc:974
Frequency autoRepeaterMinFrequencyUHF() const
Returns the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition dmr6x2uv_codeplug.cc:840
virtual Interval privateCallHangTime() const
Returns the private call hang time in seconds.
Definition dmr6x2uv_codeplug.cc:437
virtual void enableMonitorTimeSlotHold(bool enable)
Enables/disables monitor time slot hold.
Definition dmr6x2uv_codeplug.cc:633
bool showLastHeard() const
Returns true if the last heard is shown while pressing PTT.
Definition dmr6x2uv_codeplug.cc:796
virtual Frequency vfoFrequencyStep() const
Returns the VFO frequency step in kHz.
Definition dmr6x2uv_codeplug.cc:259
void setDefaultChannelAIndex(unsigned idx)
Sets the default channel index for VFO A.
Definition dmr6x2uv_codeplug.cc:900
virtual void enableGPSMessage(bool enable)
Enables/disables GPS range reporting.
Definition dmr6x2uv_codeplug.cc:660
void enableKeyLockForced(bool enable)
Enables/disables the "professional" key lock.
Definition dmr6x2uv_codeplug.cc:781
void setFuncKey1Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 1.
Definition dmr6x2uv_codeplug.cc:369
virtual AnytoneDMRSettingsExtension::SMSFormat smsFormat() const
Returns the SMS format.
Definition dmr6x2uv_codeplug.cc:805
void enableKeyTone(bool enable)
Enables/disables the key-tone.
Definition dmr6x2uv_codeplug.cc:570
AnytoneKeySettingsExtension::KeyFunction funcKeyCShort() const
Returns the key function for a short press on the function key 3/C.
Definition dmr6x2uv_codeplug.cc:311
virtual void setPriorityZoneAIndex(unsigned idx)
Sets the priority zone A index.
Definition dmr6x2uv_codeplug.cc:678
FreqStep
Possible VFO frequency steps.
Definition dmr6x2uv_codeplug.hh:276
@ FREQ_STEP_2_5kHz
2.5kHz
Definition dmr6x2uv_codeplug.hh:277
@ FREQ_STEP_50kHz
50kHz
Definition dmr6x2uv_codeplug.hh:284
@ FREQ_STEP_12_5kHz
12.5kHz
Definition dmr6x2uv_codeplug.hh:281
@ FREQ_STEP_6_25kHz
6.25kHz
Definition dmr6x2uv_codeplug.hh:279
@ FREQ_STEP_25kHz
25kHz
Definition dmr6x2uv_codeplug.hh:283
@ FREQ_STEP_5kHz
5kHz
Definition dmr6x2uv_codeplug.hh:278
@ FREQ_STEP_20kHz
20kHz
Definition dmr6x2uv_codeplug.hh:282
@ FREQ_STEP_10kHz
10kHz
Definition dmr6x2uv_codeplug.hh:280
virtual void setManualDialedGroupCallHangTime(unsigned int dur)
Sets the group-call hang time, if the group call was dialed maually.
Definition dmr6x2uv_codeplug.cc:966
void enableKeypadLock(bool enable)
Enables/disables the keypad lock.
Definition dmr6x2uv_codeplug.cc:765
AnytoneKeySettingsExtension::KeyFunction funcKeyCLong() const
Returns the key function for a long press on the function key 3.
Definition dmr6x2uv_codeplug.cc:356
virtual void enableMonitorSimplexRepeater(bool enable)
Enables/disables the speaker during RX in simplex repeater mode.
Definition dmr6x2uv_codeplug.cc:722
void setDefaultZoneIndexB(unsigned idx)
Sets the default zone (0-based) for VFO B.
Definition dmr6x2uv_codeplug.cc:913
virtual void setPriorityZoneBIndex(unsigned idx)
Sets the priority zone B index.
Definition dmr6x2uv_codeplug.cc:686
void setDefaultChannelBToVFO()
Sets the default channel for VFO B to be VFO.
Definition dmr6x2uv_codeplug.cc:929
AnytoneKeySettingsExtension::KeyFunction funcKeyALong() const
Returns the key function for a long press on the function key 1.
Definition dmr6x2uv_codeplug.cc:338
virtual void enableSimplexRepeater(bool enable)
Enables disables the simplex repeater feature.
Definition dmr6x2uv_codeplug.cc:704
AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionB() const
Returns the auto-repeater direction for VFO B.
Definition dmr6x2uv_codeplug.cc:857
virtual bool monitorIDMatch() const
Returns true if the monitor matches ID.
Definition dmr6x2uv_codeplug.cc:620
void setDefaultZoneIndexA(unsigned idx)
Sets the default zone (0-based) for VFO A.
Definition dmr6x2uv_codeplug.cc:888
void setFuncKeyBLong(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 2.
Definition dmr6x2uv_codeplug.cc:351
virtual void enableWFMMonitor(bool enable)
Enables/disables WFM monitor.
Definition dmr6x2uv_codeplug.cc:518
void setFuncKey1Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 1.
Definition dmr6x2uv_codeplug.cc:324
GeneralSettingsElement(uint8_t *ptr, unsigned size)
Hidden Constructor.
Definition dmr6x2uv_codeplug.cc:219
virtual bool wfmMonitor() const
Returns true if WFM monitor is enabled.
Definition dmr6x2uv_codeplug.cc:514
virtual unsigned priorityZoneAIndex() const
Returns the priority Zone A index.
Definition dmr6x2uv_codeplug.cc:674
virtual bool simplexRepeaterEnabled() const
Returns true if the simplex repeater feature is enabled.
Definition dmr6x2uv_codeplug.cc:700
AnytoneKeySettingsExtension::KeyFunction funcKeyBLong() const
Returns the key function for a long press on the function key 2.
Definition dmr6x2uv_codeplug.cc:347
void enableShowLastHeard(bool enable)
Enables/disables showing last heard.
Definition dmr6x2uv_codeplug.cc:800
virtual void enableProMode(bool enable)
Enables/disables the "pro mode".
Definition dmr6x2uv_codeplug.cc:552
void setKeyToneLevel(unsigned level)
Sets the key-tone level.
Definition dmr6x2uv_codeplug.cc:744
void setDefaultChannelBIndex(unsigned idx)
Sets the default channel index for VFO B.
Definition dmr6x2uv_codeplug.cc:925
virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang)
Sets the UI language.
Definition dmr6x2uv_codeplug.cc:254
virtual bool monitorSimplexRepeaterEnabled() const
Returns true if the speaker is switched on during RX in simplex repeater mode, see simplexRepeaterEna...
Definition dmr6x2uv_codeplug.cc:718
virtual bool manDown() const
Returns true if "man down" is enabled.
Definition dmr6x2uv_codeplug.cc:505
void setKeyToneLevelAdjustable()
Sets the key-tone level adjustable.
Definition dmr6x2uv_codeplug.cc:748
virtual unsigned int manualDialedGroupCallHangTime() const
Returns the group-call hang time, if group call was dialed manually.
Definition dmr6x2uv_codeplug.cc:962
bool defaultChannel() const
Returns true if the default boot channel is enabled.
Definition dmr6x2uv_codeplug.cc:875
void setAutoRepeaterMinFrequencyUHF(Frequency Hz)
Sets the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition dmr6x2uv_codeplug.cc:844
bool keyLockForced() const
Returns true if the "professional" key is locked.
Definition dmr6x2uv_codeplug.cc:777
virtual AnytoneDisplaySettingsExtension::Color standbyBackgroundColor() const
Returns the stand-by background color.
Definition dmr6x2uv_codeplug.cc:953
void setGPSUpdatePeriod(Interval sec)
Sets the GPS update period in seconds.
Definition dmr6x2uv_codeplug.cc:713
virtual Interval manDownDelay() const
Returns the "man down" delay in seconds.
Definition dmr6x2uv_codeplug.cc:638
bool defaultChannelAIsVFO() const
Returns true if the default channel for VFO A is VFO.
Definition dmr6x2uv_codeplug.cc:892
virtual AnytoneSimplexRepeaterSettingsExtension::TimeSlot simplexRepeaterTimeslot() const
Returns the time-slot in simplex repeater mode.
Definition dmr6x2uv_codeplug.cc:786
virtual void setWFMChannelIndex(unsigned idx)
Sets the wide-FM (broadcast) channel index.
Definition dmr6x2uv_codeplug.cc:466
bool fromConfig(const Flags &flags, Context &ctx)
Encodes the general settings.
Definition dmr6x2uv_codeplug.cc:980
STEFrequency
All possible STE (squelch tail eliminate) frequencies.
Definition dmr6x2uv_codeplug.hh:298
virtual unsigned wfmChannelIndex() const
Returns the wide-FM (broadcast) channel index.
Definition dmr6x2uv_codeplug.cc:462
virtual void setSTEType(AnytoneSettingsExtension::STEType type)
Sets the STE (squelch tail eliminate) type.
Definition dmr6x2uv_codeplug.cc:405
virtual void enableWFMVFO(bool enable)
Enables/disables VFO mode for WFM RX.
Definition dmr6x2uv_codeplug.cc:474
unsigned defaultZoneIndexA() const
Returns the default zone index (0-based) for VFO A.
Definition dmr6x2uv_codeplug.cc:884
void setAutoRepeaterMinFrequencyVHF(Frequency Hz)
Sets the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition dmr6x2uv_codeplug.cc:827
virtual void setSMSFormat(AnytoneDMRSettingsExtension::SMSFormat fmt)
Sets the SMS format.
Definition dmr6x2uv_codeplug.cc:809
void enableIdleChannelTone(bool enable)
Enables/disables the idle channel tone.
Definition dmr6x2uv_codeplug.cc:236
void setFuncKeyCShort(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 3/C.
Definition dmr6x2uv_codeplug.cc:315
Represents the device specific binary codeplug for BTECH DMR-6X2UV radios.
Definition dmr6x2uv_codeplug.hh:191
void allocateForDecoding()
Allocate all code-plug elements that must be downloaded for decoding.
Definition dmr6x2uv_codeplug.cc:2147
void allocateGPSSystems()
Allocates GPS settings memory section.
Definition dmr6x2uv_codeplug.cc:2282
virtual bool linkRoaming(Context &ctx, const ErrorStack &err=ErrorStack())
Links roaming channels and zones.
Definition dmr6x2uv_codeplug.cc:2472
bool createGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack())
Create GPS systems from codeplug.
Definition dmr6x2uv_codeplug.cc:2318
D878UVCodeplug::RoamingChannelElement RoamingChannelElement
Reuse roaming channel from D878UV.
Definition dmr6x2uv_codeplug.hh:1152
bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the downloaded codeplug.
Definition dmr6x2uv_codeplug.cc:2169
bool allocateBitmaps()
Allocates the bitmaps.
Definition dmr6x2uv_codeplug.cc:2108
virtual bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Create channels from codeplug.
Definition dmr6x2uv_codeplug.cc:2243
virtual bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode channels into codeplug.
Definition dmr6x2uv_codeplug.cc:2227
DMR6X2UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition dmr6x2uv_codeplug.cc:2095
bool linkGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack())
Link GPS systems.
Definition dmr6x2uv_codeplug.cc:2355
virtual void allocateRoaming()
Allocates memory to store all roaming channels and zones.
Definition dmr6x2uv_codeplug.cc:2377
void setBitmaps(Context &ctx)
Sets all bitmaps for the given config.
Definition dmr6x2uv_codeplug.cc:2121
bool encodeGPSSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the GPS settings section.
Definition dmr6x2uv_codeplug.cc:2291
bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the general settings section.
Definition dmr6x2uv_codeplug.cc:2207
D878UVCodeplug::RoamingChannelBitmapElement RoamingChannelBitmapElement
Reuse roaming channel bitmap from D878UV.
Definition dmr6x2uv_codeplug.hh:1150
bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Link the general settings.
Definition dmr6x2uv_codeplug.cc:2221
void allocateForEncoding()
Allocate all code-plug elements that are defined through the common Config.
Definition dmr6x2uv_codeplug.cc:2139
D878UVCodeplug::RoamingZoneBitmapElement RoamingZoneBitmapElement
Reuse roaming zone bitmap from D878UV.
Definition dmr6x2uv_codeplug.hh:1154
virtual bool createRoaming(Context &ctx, const ErrorStack &err=ErrorStack())
Creates roaming channels and zones from codeplug.
Definition dmr6x2uv_codeplug.cc:2442
bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the general settings section.
Definition dmr6x2uv_codeplug.cc:2192
D878UVCodeplug::RoamingZoneElement RoamingZoneElement
Reuse roaming zone from D878UV.
Definition dmr6x2uv_codeplug.hh:1156
void allocateGeneralSettings()
Allocates general settings memory section.
Definition dmr6x2uv_codeplug.cc:2186
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:2155
virtual bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Link channels.
Definition dmr6x2uv_codeplug.cc:2262
virtual bool encodeRoaming(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the roaming channels and zones.
Definition dmr6x2uv_codeplug.cc:2408
TimeSlot
Possible timeslots for digital channels.
Definition channel.hh:389
Type
Possible call types for a contact.
Definition contact.hh:155
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition errorstack.hh:41
This class represents a GPS signalling system within the codeplug.
Definition gpssystem.hh:64
Represents a time interval.
Definition interval.hh:11
static constexpr Interval fromMinutes(unsigned long long min)
Definition interval.hh:63
static constexpr Interval fromSeconds(unsigned long long s)
Definition interval.hh:60
Simple range class representing some range in some data type.
Definition ranges.hh:14
Represents a zone within the generic configuration.
Definition zone.hh:15
Implements encoding of CTCSS tones.
Definition anytone_codeplug.hh:25
Internal used offsets within the channel element.
Definition anytone_codeplug.hh:398
Some internal used offsets within the element.
Definition d868uv_codeplug.hh:541
Some limits for the codeplug.
Definition d868uv_codeplug.hh:786
Some internal used offsets within the codeplug.
Definition d868uv_codeplug.hh:810
Internal used sizes.
Definition d868uv_codeplug.hh:891
Some static limits for this element.
Definition dmr6x2uv_codeplug.hh:1096
static constexpr unsigned int dmrSystems()
Maximum number of DMR APRS systems.
Definition dmr6x2uv_codeplug.hh:1102
static constexpr unsigned int pathLength()
Maximum length of the repeater path string.
Definition dmr6x2uv_codeplug.hh:1100
static constexpr unsigned int callLength()
Maximum length of call signs.
Definition dmr6x2uv_codeplug.hh:1098
Internal used offsets within the codeplug element.
Definition dmr6x2uv_codeplug.hh:1107
Background colors supported by the DMR-6X2UV.
Definition dmr6x2uv_codeplug.hh:211
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition dmr6x2uv_codeplug.cc:58
CodedColor
Encoding of the supported colors.
Definition dmr6x2uv_codeplug.hh:220
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition dmr6x2uv_codeplug.cc:48
Definition dmr6x2uv_codeplug.hh:919
Colors supported by the DMR-6X2UV.
Definition dmr6x2uv_codeplug.hh:196
CodedColor
Encoding of the supported colors.
Definition dmr6x2uv_codeplug.hh:205
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition dmr6x2uv_codeplug.cc:29
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition dmr6x2uv_codeplug.cc:13
Some limits for entries.
Definition dmr6x2uv_codeplug.hh:782
static constexpr TimeRange autoRoamDelay()
Auto-roaming delay limits.
Definition dmr6x2uv_codeplug.hh:796
static constexpr IntRange repRangeReminder()
Out of range reminder count limits.
Definition dmr6x2uv_codeplug.hh:784
static constexpr TimeRange autoRoamingInterval()
Auto-roaming interval limits.
Definition dmr6x2uv_codeplug.hh:792
static constexpr IntRange repeaterReconnections()
Repeater reconnection count limits.
Definition dmr6x2uv_codeplug.hh:790
static constexpr TimeRange muteTimer()
Mute-timer limits.
Definition dmr6x2uv_codeplug.hh:800
static constexpr TimeRange rangeCheckInterval()
Repeater range check interval limits.
Definition dmr6x2uv_codeplug.hh:786
Some internal offset within the codeplug element.
Definition dmr6x2uv_codeplug.hh:807
Font colors supported by the DMR-6X2UV.
Definition dmr6x2uv_codeplug.hh:226
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition dmr6x2uv_codeplug.cc:71
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition dmr6x2uv_codeplug.cc:87
CodedColor
Encoding of the supported colors.
Definition dmr6x2uv_codeplug.hh:235
Device specific encoding of the key functions.
Definition dmr6x2uv_codeplug.hh:252
static uint8_t encode(AnytoneKeySettingsExtension::KeyFunction tone)
Encodes key function.
Definition dmr6x2uv_codeplug.cc:107
static AnytoneKeySettingsExtension::KeyFunction decode(uint8_t code)
Decodes key function.
Definition dmr6x2uv_codeplug.cc:162
KeyFunctionCode
Device specific key functions.
Definition dmr6x2uv_codeplug.hh:261
Some internal used offsets within the element.
Definition dmr6x2uv_codeplug.hh:599
Some limits for the codeplug.
Definition dmr6x2uv_codeplug.hh:1200
static constexpr unsigned int fmAPRSMessage()
Maximum length of the FM APRS message.
Definition dmr6x2uv_codeplug.hh:1202
static constexpr unsigned int roamingChannels()
Maximum number of roaming channels.
Definition dmr6x2uv_codeplug.hh:1204
static constexpr unsigned int roamingZones()
Maximum number of roaming zones.
Definition dmr6x2uv_codeplug.hh:1206
Some internal used offsets within the codeplug.
Definition dmr6x2uv_codeplug.hh:1211
Some internal used sizes.
Definition dmr6x2uv_codeplug.hh:1225
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:11
Encodes a selective call.
Definition signaling.hh:13