libdrmconf 0.15.0
A library to program DMR radios.
Loading...
Searching...
No Matches
dr1801uv_codeplug.hh
1#ifndef DR1801UVCODEPLUG_HH
2#define DR1801UVCODEPLUG_HH
3
4#include "channel.hh"
5#include "codeplug.hh"
6#include "contact.hh"
7#include "bootsettings.hh"
8
9class Zone;
10
11
65{
66 Q_OBJECT
67
68public:
73 class ChannelElement: public Element
74 {
75 public:
77 enum class Type {
78 FM = 1, DMR = 3
79 };
80
81 enum class Power {
82 Low = 0, High = 1
83 };
84
85 enum class Admit {
86 Always = 0, ColorCode_or_Tone = 1, ChannelFree = 2
87 };
88
89 enum class TimeSlot {
90 TS1 = 1, TS2 = 2
91 };
92
93 enum class SignalingMode {
94 None = 0, DTMF = 1
95 };
96
97 enum class Bandwidth {
98 Narrow = 1, Wide = 2
99 };
100
101 enum class SubToneType {
102 None = 0, CTCSS = 1, DCS = 2
103 };
104
105 enum class DCSMode {
106 Normal = 0, Inverted = 1
107 };
108
109 protected:
111 ChannelElement(uint8_t *ptr, size_t size);
112
113 public:
115 ChannelElement(uint8_t *ptr);
116
117 bool isValid() const;
118 void clear();
119
121 static constexpr unsigned int size() { return 0x00034; }
122
124 virtual unsigned int index() const;
126 virtual void setIndex(unsigned int idx);
127
129 virtual Type channelType() const;
131 virtual void setChannelType(Type type);
132
134 virtual Channel::Power power() const;
136 virtual void setPower(Channel::Power pwr);
137
139 virtual Frequency rxFrequency() const;
141 virtual void setRXFrequency(Frequency MHz);
143 virtual Frequency txFrequency() const;
145 virtual void setTXFrequency(Frequency MHz);
146
148 virtual bool hasTransmitContact() const;
150 virtual unsigned int transmitContactIndex() const;
152 virtual void setTransmitContactIndex(unsigned int index);
154 virtual void clearTransmitContactIndex();
155
157 virtual Admit admitCriterion() const;
159 virtual void setAdmitCriterion(Admit admit);
160
162 virtual unsigned int colorCode() const;
164 virtual void setColorCode(unsigned int cc);
166 virtual DMRChannel::TimeSlot timeSlot() const;
168 virtual void setTimeSlot(DMRChannel::TimeSlot ts);
169
171 virtual bool hasEncryptionKey() const;
173 virtual unsigned int encryptionKeyIndex() const;
175 virtual void setEncryptionKeyIndex(unsigned int index);
177 virtual void clearEncryptionKeyIndex();
178
180 virtual bool dcdm() const;
182 virtual void enableDCDM(bool enable);
184 virtual bool confirmPrivateCall() const;
186 virtual void enablePrivateCallConfirmation(bool enable);
187
189 virtual SignalingMode signalingMode() const;
191 virtual void setSignalingMode(SignalingMode mode);
192
194 virtual bool hasAlarmSystem() const;
196 virtual unsigned int alarmSystemIndex() const;
198 virtual void setAlarmSystemIndex(unsigned int index);
200 virtual void clearAlarmSystemIndex();
201
203 virtual FMChannel::Bandwidth bandwidth() const;
205 virtual void setBandwidth(FMChannel::Bandwidth bw);
206
208 virtual bool autoScanEnabled() const;
210 virtual void enableAutoScan(bool enable);
212 virtual bool hasScanList() const;
214 virtual unsigned int scanListIndex() const;
216 virtual void setScanListIndex(unsigned int index);
218 virtual void clearScanListIndex();
219
221 virtual SelectiveCall rxTone() const;
223 virtual void setRXTone(const SelectiveCall &code);
225 virtual SelectiveCall txTone() const;
227 virtual void setTXTone(const SelectiveCall &code);
228
230 virtual bool talkaround() const;
232 virtual void enableTalkaround(bool enable);
233
235 virtual bool hasPTTID() const;
237 virtual unsigned int pttIDIndex() const;
239 virtual void setPTTIDIndex(unsigned int idx);
241 virtual void clearPTTID();
242
244 virtual bool hasGroupList() const;
246 virtual unsigned int groupListIndex() const;
248 virtual void setGroupListIndex(unsigned int index);
250 virtual void clearGroupListIndex();
251
253 virtual bool loneWorker() const;
255 virtual void enableLoneWorker(bool enable);
256
258 virtual Channel *toChannelObj(Context &ctx, const ErrorStack &err=ErrorStack()) const;
260 virtual bool linkChannelObj(Channel *channel, Context &ctx, const ErrorStack &err=ErrorStack()) const;
262 virtual bool encode(Channel *channel, Context &ctx, const ErrorStack &err=ErrorStack());
263
264 protected:
266 struct Offset: Element::Offset {
268 static constexpr unsigned int index() { return 0x0000; }
269 static constexpr unsigned int channelType() { return 0x0002; }
270 static constexpr unsigned int power() { return 0x0003; }
271 static constexpr unsigned int rxFrequency() { return 0x0004; }
272 static constexpr unsigned int txFrequency() { return 0x0008; }
273 static constexpr unsigned int transmitContactIndex() { return 0x000c; }
274 static constexpr unsigned int admitCriterion() { return 0x000e; }
275 static constexpr unsigned int colorCode() { return 0x0010; }
276 static constexpr unsigned int timeSlot() { return 0x0011; }
277 static constexpr unsigned int encryptionKeyIndex() { return 0x0014; }
278 static constexpr Bit dcdm() { return {0x0015, 1} ; }
279 static constexpr Bit confirmPivateCall() { return {0x0015, 0}; }
280 static constexpr unsigned int signalingMode() { return 0x0016; }
281 static constexpr unsigned int alarmSystemIndex() { return 0x0018; }
282 static constexpr unsigned int bandwidth() { return 0x0019; }
283 static constexpr unsigned int autoScan() { return 0x001a; }
284 static constexpr unsigned int scanListIndex() { return 0x001b; }
285 static constexpr unsigned int rxSubtoneCode() { return 0x001c; }
286 static constexpr unsigned int rxSubtoneType() { return 0x001e; }
287 static constexpr unsigned int rxDCSMode() { return 0x001f; }
288 static constexpr unsigned int txSubtoneCode() { return 0x0020; }
289 static constexpr unsigned int txSubtoneType() { return 0x0022; }
290 static constexpr unsigned int txDCSMode() { return 0x0023; }
291 static constexpr unsigned int talkaround() { return 0x0025; }
292 static constexpr unsigned int pttIDIndex() { return 0x0028; }
293 static constexpr unsigned int groupListIndex() { return 0x002a; }
294 static constexpr unsigned int loneWorker() { return 0x002f; }
296 };
297 };
298
306 {
307 protected:
309 ChannelBankElement(uint8_t *ptr, size_t size);
310
311 public:
313 ChannelBankElement(uint8_t *ptr);
314
315 void clear();
316
318 static constexpr unsigned int size() { return 0x12004; }
319
321 virtual unsigned int channelCount() const;
323 virtual void setChannelCount(unsigned int count);
324
326 virtual ChannelElement channel(unsigned int index) const;
327
329 virtual QString channelName(unsigned int index) const;
331 virtual void setChannelName(unsigned int index, const QString &name);
332
334 virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const;
336 virtual bool link(Context &ctx, const ErrorStack &err=ErrorStack()) const;
338 virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack());
339
340 public:
342 struct Limit {
344 static constexpr unsigned int channelCount() { return 1024; }
346 static constexpr unsigned int channelNameLength() { return 0x00014; }
347 };
348
349 protected:
351 struct Offset {
353 static constexpr unsigned int channelCount() { return 0x00000; }
354 static constexpr unsigned int channel() { return 0x00004; }
355 static constexpr unsigned int channelName() { return 0x0d004; }
357 };
358 };
359
360
366 {
367 public:
369 enum class CallType {
370 AllCall = 0x20, PrivateCall = 0x40, GroupCall = 0x80
371 };
372
373 protected:
375 ContactElement(uint8_t *ptr, size_t size);
376
377 public:
379 ContactElement(uint8_t *ptr);
380
381 bool isValid() const;
382 void clear();
383
385 static constexpr unsigned int size() { return 0x00018; }
386
388 virtual bool hasSuccessor() const;
390 virtual uint16_t successorIndex() const;
392 virtual void setSuccessorIndex(uint16_t index);
394 virtual void clearSuccessorIndex();
395
397 virtual uint32_t dmrID() const;
399 virtual void setDMRID(uint32_t id);
400
402 virtual DMRContact::Type type() const;
404 virtual void setCallType(DMRContact::Type type);
405
407 virtual QString name() const;
409 virtual void setName(const QString &name);
410
412 virtual DMRContact *toContactObj(Context &ctx, const ErrorStack &err=ErrorStack()) const;
414 virtual bool linkContactObj(DMRContact *contact, Context &ctx, const ErrorStack &err=ErrorStack());
416 virtual bool encode(DMRContact *contact, Context &ctx, const ErrorStack &err=ErrorStack());
417
418 public:
420 struct Limit {
422 static constexpr unsigned int nameLength() { return 16; }
423 };
424
425 protected:
427 struct Offset : public Element::Offset {
429 static constexpr unsigned int successorIndex() { return 0x0000; }
430 static constexpr unsigned int nameLength() { return 0x0002; }
431 static constexpr unsigned int dmrID() { return 0x0004; }
432 static constexpr unsigned int callType() { return 0x0007; }
433 static constexpr unsigned int name() { return 0x0008; }
435 };
436 };
437
446 {
447 protected:
449 ContactBankElement(uint8_t *ptr, size_t size);
450
451 public:
453 ContactBankElement(uint8_t *ptr);
454
455 void clear();
456
458 static constexpr unsigned int size() { return 0x06004; }
459
461 virtual unsigned int contactCount() const;
463 virtual void setContactCount(unsigned int count);
464
466 virtual unsigned int firstIndex() const;
468 virtual void setFirstIndex(unsigned int index);
469
471 virtual ContactElement contact(unsigned int index) const;
472
474 virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const;
476 virtual bool link(Context &ctx, const ErrorStack &err=ErrorStack()) const;
478 virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack());
479
480 public:
482 struct Limit {
484 static constexpr unsigned int contactCount() { return 1024; }
485 };
486
487 protected:
489 struct Offset : public Element::Offset{
491 static constexpr unsigned int contactCount() { return 0x0000; }
492 static constexpr unsigned int firstIndex() { return 0x0002; }
493 static constexpr unsigned int contacts() { return 0x0004; }
495 };
496 };
497
498
504 {
505 protected:
507 GroupListElement(uint8_t *ptr, size_t size);
508
509 public:
511 GroupListElement(uint8_t *ptr);
512
513 bool isValid() const;
514 void clear();
515
517 static constexpr unsigned int size() { return 0x00044; }
518
520 virtual unsigned int index() const;
522 virtual void setIndex(unsigned int index);
523
525 virtual unsigned int count() const;
527 virtual void setCount(unsigned int n);
528
530 virtual bool hasMemberIndex(unsigned int n) const;
532 virtual unsigned int memberIndex(unsigned int n) const;
534 virtual void setMemberIndex(unsigned int n, unsigned int index);
536 virtual void clearMemberIndex(unsigned int n);
537
539 virtual RXGroupList *toGroupListObj(Context &ctx, const ErrorStack &err=ErrorStack()) const;
541 virtual bool linkGroupListObj(RXGroupList *list, Context &ctx, const ErrorStack &err=ErrorStack()) const;
543 virtual bool encode(RXGroupList *list, Context &ctx, const ErrorStack &err=ErrorStack());
544
545 protected:
547 struct Offset: public Element::Offset {
549 static constexpr unsigned int count() { return 0x0000; }
550 static constexpr unsigned int index() { return 0x0002; }
551 static constexpr unsigned int members() { return 0x0004; }
553 };
554
555 struct Limit {
557 static constexpr unsigned int members() { return 10; }
559 };
560 };
561
567 {
568 protected:
570 GroupListBankElement(uint8_t *ptr, size_t size);
571
572 public:
574 GroupListBankElement(uint8_t *ptr);
575
576 void clear();
577
579 static constexpr unsigned int size() { return 0x01104; }
580
582 virtual unsigned int groupListCount() const;
584 virtual void setGroupListCount(unsigned int count);
585
587 virtual GroupListElement groupList(unsigned int index) const;
588
590 virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const;
592 virtual bool link(Context &ctx, const ErrorStack &err=ErrorStack()) const;
594 virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack());
595
596 public:
598 struct Limit {
600 static constexpr unsigned int groupListCount() { return 64; }
601 };
602
603 protected:
605 struct Offset {
607 static constexpr unsigned int groupListCount() { return 0x0000; }
608 static constexpr unsigned int groupLists() { return 0x00004; }
610 };
611 };
612
613
618 class ZoneElement: public Element
619 {
620 protected:
622 ZoneElement(uint8_t *ptr, size_t size);
623
624 public:
626 ZoneElement(uint8_t *ptr);
627
628 bool isValid() const;
629 void clear();
630
632 static constexpr unsigned int size() { return 0x00068; }
633
635 virtual QString name() const;
637 virtual void setName(const QString &name);
638
640 virtual unsigned int numEntries() const;
642 virtual unsigned int entryIndex(unsigned int n);
644 virtual void setEntryIndex(unsigned int n, unsigned int index);
645
647 virtual unsigned int index() const;
649 virtual void setIndex(unsigned int index);
650
652 virtual Zone *toZoneObj(Context &ctx, const ErrorStack &err=ErrorStack());
654 virtual bool linkZoneObj(Zone *obj, Context &ctx, const ErrorStack &err=ErrorStack());
656 virtual bool encode(Zone *obj, Context &ctx, const ErrorStack &err=ErrorStack());
657
659 struct Limit {
661 static constexpr unsigned int nameLength() { return 32; }
663 static constexpr unsigned int memberCount() { return 32; }
664 };
665
666 protected:
668 struct Offset {
670 static constexpr unsigned int name() { return 0x0000; }
671 static constexpr unsigned int nameLength() { return 0x0020; }
672 static constexpr unsigned int numEntries() { return 0x0022; }
673 static constexpr unsigned int index() { return 0x0024; }
674 static constexpr unsigned int members() { return 0x0028; }
676 };
677 };
678
684 {
685 protected:
687 ZoneBankElement(uint8_t *ptr, size_t size);
688
689 public:
691 ZoneBankElement(uint8_t *ptr);
692
693 void clear();
694
696 static constexpr unsigned int size() { return 0x03cf8; }
697
699 virtual unsigned int zoneCount() const;
701 virtual void setZoneCount(unsigned int count);
702
704 virtual unsigned int upZoneIndex() const;
706 virtual void setUpZoneIndex(unsigned int index);
708 virtual unsigned int downZoneIndex() const;
710 virtual void setDownZoneIndex(unsigned int index);
711
713 virtual ZoneElement zone(unsigned int index) const;
714
716 virtual bool decode(Context &ctx, const ErrorStack &err = ErrorStack()) const;
718 virtual bool link(Context &ctx, const ErrorStack &err = ErrorStack()) const;
720 virtual bool encode(Context &ctx, const ErrorStack &err = ErrorStack());
721
722 public:
724 struct Limit {
726 static constexpr unsigned int zoneCount() { return 150; }
727 };
728
729 protected:
731 struct Offset {
733 static constexpr unsigned int zoneCount() { return 0x0000; }
734 static constexpr unsigned int upZoneIndex() { return 0x0002; }
735 static constexpr unsigned int downZoneIndex() { return 0x0004; }
736 static constexpr unsigned int zones() { return 0x0008; }
738 };
739 };
740
741
747 {
748 public:
750 enum class PowerSaveMode {
751 Off = 0, Save50 = 1, Save25 = 2, Save12 = 3
752 };
753
755 enum class Language {
756 SimplifiedChinese = 0, English = 1
757 };
758
760 enum class SquelchMode {
761 Normal = 0, Silent = 1
762 };
763
765 enum class RingTone {
766 Off = 0, RingTone1 = 1, RingTone2 = 2, RingTone3 = 3, RingTone4 = 4, RingTone5 = 5,
767 RingTone6 = 6, RingTone7 = 7, RingTone8 = 8, RingTone9 = 9, RingTone10 = 10, RingTone11 = 11,
768 RingTone12 = 12, RingTone13 = 13, RingTone14 = 14, RingTone15 = 15, RingTone16 = 16,
769 RingTone17 = 17, RingTone18 = 18, RingTone19 = 19, RingTone20 = 20
770 };
771
773 enum class BacklightTime {
774 Infinite = 0, Off = 1, On5s = 2, On10s = 3
775 };
776
778 enum class TuningMode {
779 Channel = 0, VFO = 1
780 };
781
783 enum class DisplayMode {
784 Number = 0, Name = 1, Frequency = 2
785 };
786
788 enum class DualWatchMode {
789 Off = 0, DoubleDouble = 1, DoubleSingle = 2
790 };
791
793 enum class ScanMode {
794 Time = 0, Carrier = 1, Search = 2
795 };
796
798 enum class BootScreen {
799 Picture = 0, Text = 1
800 };
801
802 protected:
804 SettingsElement(uint8_t *ptr, size_t size);
805
806 public:
808 SettingsElement(uint8_t *ptr);
809
810 void clear();
811
813 static constexpr unsigned int size() { return 0x00064; }
814
816 virtual unsigned int dmrID() const;
818 virtual void setDMRID(unsigned int id);
819
821 virtual PowerSaveMode powerSaveMode() const;
823 virtual void setPowerSaveMode(PowerSaveMode mode);
824
827 virtual Level voxSensitivity() const;
830 virtual void setVOXSensitivity(Level sens);
832 virtual Interval voxDelay() const;
834 virtual void setVOXDelay(Interval ms);
835
837 virtual bool encryptionEnabled() const;
839 virtual void enableEncryption(bool enable);
840
842 virtual bool keyLockEnabled() const;
844 virtual void enableKeyLock(bool enable);
846 virtual unsigned int keyLockDelay() const;
848 virtual void setKeyLockDelay(unsigned int sec);
850 virtual bool lockSideKey1() const;
852 virtual void enableLockSideKey1(bool enable);
854 virtual bool lockSideKey2() const;
856 virtual void enableLockSideKey2(bool enable);
858 virtual bool lockPTT() const;
860 virtual void enableLockPTT(bool enable);
861
863 virtual Language language() const;
865 virtual void setLanguage(Language lang);
866
868 virtual SquelchMode squelchMode() const;
870 virtual void setSquelchMode(SquelchMode mode);
871
873 virtual bool rogerTonesEnabled() const;
875 virtual void enableRogerTones(bool enable);
877 virtual bool dmrCallOutToneEnabled() const;
879 virtual void enableDMRCallOutTone(bool enable);
881 virtual bool dmrVoiceEndToneEnabled() const;
883 virtual void enableDMRVoiceEndTone(bool enable);
885 virtual bool dmrCallEndToneEnabled() const;
887 virtual void enableDMRCallEndTone(bool enable);
889 virtual bool fmVoiceEndToneEnabled() const;
891 virtual void enableFMVoiceEndTone(bool enable);
893 virtual bool fmCallOutToneEnabled() const;
895 virtual void enableFMCallOutTone(bool enable);
897 virtual bool messageToneEnabled() const;
899 virtual void enableMessageTone(bool enable);
900
902 virtual RingTone ringTone() const;
904 virtual void setRingTone(RingTone tone);
905
907 virtual QString radioName() const;
909 virtual void setRadioName(const QString &name);
910
912 virtual float reverseBurstFrequency() const;
914 virtual void setReverseBurstFrequency(float Hz);
915
917 virtual BacklightTime backlightTime() const;
919 virtual void setBacklightTime(BacklightTime time);
920
922 virtual bool campandingEnabled() const;
924 virtual void enableCampanding(bool enable);
925
927 virtual TuningMode tuningModeUp() const;
929 virtual void setTuningModeUp(TuningMode mode);
931 virtual TuningMode tuningModeDown() const;
933 virtual void setTuningModeDown(TuningMode mode);
934
936 virtual DisplayMode displayMode() const;
938 virtual void setDisplayMode(DisplayMode mode);
939
941 virtual DualWatchMode dualWatchMode() const;
943 virtual void setDualWatchMode(DualWatchMode mode);
944
946 virtual ScanMode scanMode() const;
948 virtual void setScanMode(ScanMode mode);
949
953 virtual void setBootScreen(BootSettings::BootDisplay mode);
954
956 virtual QString bootLine1() const;
958 virtual void setBootLine1(const QString &line);
960 virtual QString bootLine2() const;
962 virtual void setBootLine2(const QString &line);
963
965 virtual bool ledEnabled() const;
967 virtual void enableLED(bool enabled);
968
970 virtual unsigned int loneWorkerResponseTime() const;
972 virtual void setLoneWorkerResponseTime(unsigned int sec);
974 virtual unsigned int loneWorkerReminderTime() const;
976 virtual void setLoneWorkerReminderTime(unsigned int sec);
977
979 virtual bool bootPasswordEnabled() const;
981 virtual QString bootPassword() const;
983 virtual void setBootPassword(const QString &passwd);
985 virtual void clearBootPassword();
986
988 virtual bool progPasswordEnabled() const;
990 virtual QString progPassword() const;
992 virtual void setProgPassword(const QString &passwd);
994 virtual void clearProgPassword();
995
997 virtual bool decode(Config *config, const ErrorStack &err=ErrorStack());
999 virtual bool encode(Config *config, const ErrorStack &err=ErrorStack());
1000
1001 protected:
1003 struct Offset: Element::Offset {
1005 static constexpr unsigned int dmrID() { return 0x0000; }
1006 static constexpr unsigned int powerSaveEnabled() { return 0x0008; }
1007 static constexpr unsigned int powerSaveMode() { return 0x0009; }
1008 static constexpr unsigned int voxSensitivity() { return 0x000a; }
1009 static constexpr unsigned int voxDelay() { return 0x000c; }
1010 static constexpr unsigned int encryptionEnabled() { return 0x000d; }
1011 static constexpr unsigned int keyLockDelay() { return 0x000e; }
1012 static constexpr Bit lockPTT() { return {0x000f, 0}; }
1013 static constexpr Bit lockSideKey1() { return {0x000f, 1}; }
1014 static constexpr Bit lockSideKey2() { return {0x000f, 2}; }
1015 static constexpr unsigned int language() { return 0x0010; }
1016 static constexpr unsigned int squelchMode() { return 0x0011; }
1017 static constexpr unsigned int rogerTonesEnabled() { return 0x0013; }
1018 static constexpr unsigned int keyLockEnabled() { return 0x0017; }
1019 static constexpr unsigned int ringTone() { return 0x0016; }
1020 static constexpr unsigned int radioName() { return 0x0018; }
1021 static constexpr Bit dmrCallOutToneEnabled() { return {0x0028, 1}; }
1022 static constexpr Bit fmCallOutToneEnabled() { return {0x0028, 2}; }
1023 static constexpr Bit dmrVoiceEndToneEnabled() { return {0x0028, 3}; }
1024 static constexpr Bit fmVoiceEndToneEnabled() { return {0x0028, 4}; }
1025 static constexpr Bit dmrCallEndToneEnabled() { return {0x0028, 5}; }
1026 static constexpr Bit messageToneEnabled() { return {0x0028, 6}; }
1027 static constexpr unsigned int reverseBurstFrequency() { return 0x002c; }
1028 static constexpr unsigned int backlightTime() { return 0x002f; }
1029 static constexpr unsigned int voxEnabled() { return 0x0030; }
1030 static constexpr unsigned int campandingEnabled() { return 0x0032; }
1031 static constexpr unsigned int tuningModeUp() { return 0x0036; }
1032 static constexpr unsigned int tunigModeDown() { return 0x0037; }
1033 static constexpr unsigned int displayMode() { return 0x003c; }
1034 static constexpr unsigned int dualWatchMode() { return 0x003d; }
1035 static constexpr unsigned int scanMode() { return 0x003e; }
1036 static constexpr unsigned int bootScreen() { return 0x003f; }
1037 static constexpr unsigned int bootLine1() { return 0x0040; }
1038 static constexpr unsigned int bootLine2() { return 0x0048; }
1039 static constexpr unsigned int ledEnabled() { return 0x0050; }
1040 static constexpr unsigned int loneWorkerResponseTime() { return 0x0051; }
1041 static constexpr unsigned int loneWorkerReminderTime() { return 0x005c; }
1042 static constexpr Bit progPasswordEnabled() { return {0x0052, 0}; }
1043 static constexpr Bit bootPasswordEnabled() { return {0x0052, 1}; }
1044 static constexpr unsigned int progPasswordLength() { return 0x0053; }
1045 static constexpr unsigned int progPassword() { return 0x0054; }
1046 static constexpr unsigned int boolPasswordLength() { return 0x005d; }
1047 static constexpr unsigned int bootPassword() { return 0x005e; }
1049 };
1050
1051 public:
1053 struct Limit: Element::Limit {
1055 static constexpr unsigned int radioNameLength() { return 16; }
1057 static constexpr unsigned int bootLineLength() { return 8; }
1059 static constexpr unsigned int bootPasswordLength() { return 6; }
1061 static constexpr unsigned int progPasswordLength() { return 6; }
1063 static constexpr Range<unsigned int> vox() { return {1, 3}; }
1064 };
1065 };
1066
1067
1073 {
1074 public:
1076 enum class PriorityChannel {
1077 None = 0, Fixed = 1, Selected = 2
1078 };
1079
1081 enum class RevertChannel {
1082 LastActive = 0, Fixed = 1, Selected = 2
1083 };
1084
1085 protected:
1087 ScanListElement(uint8_t *ptr, size_t size);
1088
1089 public:
1091 ScanListElement(uint8_t *ptr);
1092
1093 bool isValid() const;
1094 void clear();
1095
1097 static constexpr unsigned int size() { return 0x00050; }
1098
1100 virtual unsigned int index() const;
1102 virtual void setIndex(unsigned int idx);
1103
1105 virtual unsigned int entryCount() const;
1107 virtual void setEntryCount(unsigned int num);
1108
1110 virtual PriorityChannel priorityChannel1() const;
1112 virtual void setPriorityChannel1(PriorityChannel mode);
1114 virtual unsigned int priorityChannel1Index() const;
1116 virtual void setPriorityChannel1Index(unsigned int index);
1117
1119 virtual PriorityChannel priorityChannel2() const;
1121 virtual void setPriorityChannel2(PriorityChannel mode);
1123 virtual unsigned int priorityChannel2Index() const;
1125 virtual void setPriorityChannel2Index(unsigned int index);
1126
1128 virtual RevertChannel revertChannel() const;
1130 virtual void setRevertChannel(RevertChannel mode);
1132 virtual unsigned int revertChannelIndex() const;
1134 virtual void setRevertChannelIndex(unsigned int index);
1135
1137 virtual QString name() const;
1139 virtual void setName(const QString &name);
1140
1142 virtual unsigned int entryIndex(unsigned int n);
1144 virtual void setEntryIndex(unsigned int n, unsigned int index);
1145
1147 virtual ScanList *toScanListObj(Context &ctx, const ErrorStack &err=ErrorStack());
1149 virtual bool linkScanListObj(ScanList *obj, Context &ctx, const ErrorStack &err=ErrorStack());
1151 virtual bool encode(ScanList *obj, Context &ctx, const ErrorStack &err=ErrorStack());
1152
1153 protected:
1155 struct Offset {
1157 static constexpr unsigned int index() { return 0x0000; }
1158 static constexpr unsigned int name() { return 0x0010; }
1159 static constexpr unsigned int priorityChannel1() { return 0x0002; }
1160 static constexpr unsigned int priorityChannel1Index() { return 0x0004; }
1161 static constexpr unsigned int priorityChannel2() { return 0x0003; }
1162 static constexpr unsigned int priorityChannel2Index() { return 0x0006; }
1163 static constexpr unsigned int revertChannel() { return 0x0008; }
1164 static constexpr unsigned int revertChannelIndex() { return 0x000a; }
1165 static constexpr unsigned int memberCount() { return 0x0001; }
1166 static constexpr unsigned int memberIndices() { return 0x0030; }
1168 };
1169
1170 public:
1172 struct Limit {
1174 static constexpr unsigned int nameLength() { return 32; }
1176 static constexpr unsigned int memberCount() { return 16; }
1177 };
1178 };
1179
1187 {
1188 protected:
1190 ScanListBankElement(uint8_t *ptr, size_t size);
1191
1192 public:
1194 ScanListBankElement(uint8_t *ptr);
1195
1196 void clear();
1197
1199 static constexpr unsigned int size() { return 0x00324; }
1200
1202 virtual unsigned int scanListCount() const;
1204 virtual void setScanListCount(unsigned int count);
1205
1207 virtual ScanListElement scanList(unsigned int index) const;
1208
1210 virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const;
1212 virtual bool link(Context &ctx, const ErrorStack &err=ErrorStack()) const;
1214 virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack());
1215
1216 protected:
1218 struct Offset {
1220 static constexpr unsigned int scanListCount() { return 0x0000; }
1221 static constexpr unsigned int scanLists() { return 0x0004; }
1223 };
1224
1225 public:
1227 struct Limit {
1229 static constexpr unsigned int scanListCount() { return 10; }
1230 };
1231 };
1232
1233
1239 {
1240 protected:
1242 MessageElement(uint8_t *ptr, size_t size);
1243
1244 public:
1246 MessageElement(uint8_t *ptr);
1247
1248 void clear();
1249 bool isValid() const;
1250
1252 static constexpr unsigned int size() { return 0x0044; }
1253
1255 virtual unsigned int index() const;
1257 virtual void setIndex(unsigned int index);
1258
1260 virtual QString text() const;
1262 virtual void setText(const QString &text);
1263
1264 protected:
1266 struct Offset {
1268 static constexpr unsigned int index() { return 0x0000; }
1269 static constexpr unsigned int textLength() { return 0x0001; }
1270 static constexpr unsigned int text() { return 0x0004; }
1272 };
1273
1274 public:
1276 struct Limit {
1278 static constexpr unsigned int textLength() { return 64; }
1279 };
1280 };
1281
1290 {
1291 protected:
1293 MessageBankElement(uint8_t *ptr, size_t size);
1294
1295 public:
1297 MessageBankElement(uint8_t *ptr);
1298
1299 void clear();
1300
1302 static constexpr unsigned int size() { return 0x00164; }
1303
1305 virtual unsigned int messageCount() const;
1307 virtual void setMessageCount(unsigned int count);
1308
1310 virtual MessageElement message(unsigned int n) const;
1311
1313 virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const;
1315 virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack());
1316
1317 public:
1319 struct Limit {
1320 static constexpr unsigned int messageCount() { return 8; }
1321 };
1322
1323 protected:
1325 struct Offset {
1327 static constexpr unsigned int messageCount() { return 0x0000; }
1328 static constexpr unsigned int messages() { return 0x0004; }
1330 };
1331 };
1332
1333
1339 {
1340 public:
1342 enum class Function {
1343 None = 0, ToggleAlertTones = 1, EmergencyOn = 2, EmergencyOff = 3, TogglePower = 4,
1344 Monitor = 5, DeleteNuisance = 6, OneTouch1 = 7, OneTouch2 = 8, OneTouch3 = 9, OneTouch4 = 10,
1345 OneTouch5 = 11, ToggleTalkaround = 13, ToggleScan = 14, ToggleEncryption = 15, ToggleVOX = 16,
1346 ZoneSelect = 17, ToggleLoneWorker = 19, PhoneExit = 20
1347 };
1348
1349 protected:
1351 KeySettingsElement(uint8_t *ptr, size_t size);
1352
1353 public:
1355 KeySettingsElement(uint8_t *ptr);
1356
1357 void clear();
1358
1360 static constexpr unsigned int size() { return 0x00018; }
1361
1363 virtual Function sideKey1Short() const;
1365 virtual void setSideKey1Short(Function func);
1367 virtual Function sideKey1Long() const;
1369 virtual void setSideKey1Long(Function func);
1371 virtual Function sideKey2Short() const;
1373 virtual void setSideKey2Short(Function func);
1375 virtual Function sideKey2Long() const;
1377 virtual void setSideKey2Long(Function func);
1379 virtual Function topKeyShort() const;
1381 virtual void setTopKeyShort(Function func);
1383 virtual Function topKeyLong() const;
1385 virtual void setTopKeyLong(Function func);
1386
1387 protected:
1389 struct Offset {
1391 static constexpr unsigned int sideKey1Short() { return 0x0001; }
1392 static constexpr unsigned int sideKey1Long() { return 0x0002; }
1393 static constexpr unsigned int sideKey2Short() { return 0x0005; }
1394 static constexpr unsigned int sideKey2Long() { return 0x0006; }
1395 static constexpr unsigned int topKeyShort() { return 0x0009; }
1396 static constexpr unsigned int topKeyLong() { return 0x000a; }
1398 };
1399 };
1400
1401
1407 {
1408 protected:
1410 VFOBankElement(uint8_t *ptr, size_t size);
1411
1412 public:
1414 VFOBankElement(uint8_t *ptr);
1415
1416 void clear();
1417
1419 static constexpr unsigned int size() { return 0x0090; }
1420
1422 virtual ChannelElement vfoA() const;
1424 virtual ChannelElement vfoB() const;
1425
1427 virtual QString nameA() const;
1429 virtual void setNameA(const QString &name);
1431 virtual QString nameB() const;
1433 virtual void setNameB(const QString &name);
1434
1435 public:
1437 struct Limit {
1439 static constexpr unsigned int nameLength() { return 20; }
1440 };
1441
1442 protected:
1444 struct Offset {
1446 static constexpr unsigned int vfoA() { return 0x0000; }
1447 static constexpr unsigned int vfoB() { return 0x0034; }
1448 static constexpr unsigned int nameA() { return 0x0068; }
1449 static constexpr unsigned int nameB() { return 0x007c; }
1451 };
1452 };
1453
1454
1460 {
1461 protected:
1463 EncryptionKeyElement(uint8_t *ptr, size_t size);
1464
1465 public:
1467 EncryptionKeyElement(uint8_t *ptr);
1468
1469 void clear();
1470 bool isValid() const;
1471
1473 static constexpr unsigned int size() { return 0x000c; }
1474
1476 virtual unsigned int index() const;
1478 virtual void setIndex(unsigned int index);
1479
1481 virtual unsigned int keyLength() const;
1482
1484 virtual QString key() const;
1486 virtual void setKey(const QString &key);
1487
1489 virtual EncryptionKey *toKeyObj(Context &ctx, const ErrorStack &err=ErrorStack());
1491 virtual bool linkKeyObj(EncryptionKey *obj, Context &ctx, const ErrorStack &err=ErrorStack());
1493 virtual bool encode(EncryptionKey *obj, Context &ctx, const ErrorStack &err=ErrorStack());
1494
1495 public:
1497 struct Limit {
1499 static constexpr unsigned int keyLength() { return 8; }
1500 };
1501
1502 protected:
1504 struct Offset {
1506 static constexpr unsigned int index() { return 0x0000; }
1507 static constexpr unsigned int length() { return 0x0001; }
1508 static constexpr unsigned int key() { return 0x0004; }
1510 };
1511 };
1512
1518 {
1519 protected:
1521 EncryptionKeyBankElement(uint8_t *ptr, size_t size);
1522
1523 public:
1525 EncryptionKeyBankElement(uint8_t *ptr);
1526
1527 void clear();
1528
1530 static constexpr unsigned int size() { return 0x0078;}
1531
1533 virtual EncryptionKeyElement key(unsigned int index) const;
1534
1536 virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const;
1538 virtual bool link(Context &ctx, const ErrorStack &err=ErrorStack()) const;
1540 virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack());
1541
1542 public:
1544 struct Limit {
1546 static constexpr unsigned int keyCount() { return 10; }
1547 };
1548 };
1549
1550
1556 {
1557 protected:
1559 DTMFSystemElement(uint8_t *ptr, size_t size);
1560
1561 public:
1563 DTMFSystemElement(uint8_t *ptr);
1564
1565 void clear();
1566
1568 static constexpr unsigned int size() { return 0x0c; }
1569
1571 virtual bool sideToneEnabled() const;
1573 virtual void enableSideTone(bool enable);
1574
1576 virtual unsigned int preTime() const;
1578 virtual void setPreTime(unsigned int ms);
1579
1581 virtual unsigned int codeDuration() const;
1583 virtual void setCodeDuration(unsigned int ms);
1584
1586 virtual unsigned int codeItervall() const;
1588 virtual void setCodeItervall(unsigned int ms);
1589
1591 virtual unsigned int resetTime() const;
1593 virtual void setResetTime(unsigned int ms);
1594
1595 protected:
1597 struct Offset {
1599 static constexpr unsigned int sideTone() { return 0x0000; }
1600 static constexpr unsigned int preTime() { return 0x0002; }
1601 static constexpr unsigned int codeDuration() { return 0x0004; }
1602 static constexpr unsigned int codeIntervall() { return 0x0006; }
1603 static constexpr unsigned int resetTime() { return 0x0008; }
1605 };
1606 };
1607
1614 {
1615 protected:
1617 DTMFSystemBankElement(uint8_t *ptr, size_t size);
1618
1619 public:
1621 DTMFSystemBankElement(uint8_t *ptr);
1622
1623 void clear();
1624
1626 static constexpr unsigned int size() { return 0x34; }
1627
1629 virtual unsigned int systemCount() const;
1631 virtual void setSystemCount(unsigned int count);
1632
1634 virtual DTMFSystemElement system(unsigned int n) const;
1635
1636 public:
1638 struct Limit {
1640 static constexpr unsigned int systemCount() { return 4; }
1641 };
1642
1643 protected:
1645 struct Offset {
1647 static constexpr unsigned int systemCount() { return 0x0000; }
1648 static constexpr unsigned int systems() { return 0x0004; }
1650 };
1651 };
1652
1653
1659 {
1660 protected:
1662 DTMFIDElement(uint8_t *ptr, size_t size);
1663
1664 public:
1666 DTMFIDElement(uint8_t *ptr);
1667
1668 void clear();
1669
1671 static constexpr unsigned int size() { return 0x0014; }
1672
1673 public:
1675 virtual QString number() const;
1677 virtual void setNumber(const QString &number);
1678
1680 struct Limit {
1682 static constexpr unsigned int numberLength() { return 16; }
1683 };
1684
1685 protected:
1687 virtual unsigned int numberLength() const;
1689 virtual void setNumberLength(unsigned int len);
1690
1692 struct Offset {
1694 static constexpr unsigned int numberLength() { return 0x0000; }
1695 static constexpr unsigned int number() { return 0x0004; }
1697 };
1698
1700 static QVector<QChar> _bin_dtmf_tab;
1701 };
1702
1709 {
1710 protected:
1712 DTMFIDBankElement(uint8_t *ptr, size_t size);
1713
1714 public:
1716 DTMFIDBankElement(uint8_t *ptr);
1717
1718 void clear();
1719
1721 static constexpr unsigned int size() { return 0x0144; }
1722
1724 virtual unsigned int idCount() const;
1726 virtual void setIDCount(unsigned int n);
1727
1729 virtual DTMFIDElement id(unsigned int n) const;
1730
1731 public:
1733 struct Limit {
1735 static constexpr unsigned int idCount() { return 16; }
1736 };
1737
1738 protected:
1740 struct Offset {
1742 static constexpr unsigned int idCount() { return 0x0000; }
1743 static constexpr unsigned int ids() { return 0x0004; }
1745 };
1746 };
1747
1748
1753 class PTTIDElement: public Element
1754 {
1755 public:
1757 enum class Transmit {
1758 None = 0, Start = 1, End = 2, Both = 3
1759 };
1760
1761 enum class IDMode {
1762 Forbidden = 0, Each = 1, Once = 2
1763 };
1764
1765 protected:
1767 PTTIDElement(uint8_t *ptr, size_t size);
1768
1769 public:
1771 PTTIDElement(uint8_t *ptr);
1772
1773 void clear();
1774
1776 static constexpr unsigned int size() { return 0x14; }
1777
1779 virtual bool hasDTMFSystem() const;
1781 virtual unsigned int dtmfSystemIndex() const;
1783 virtual void setDTMFSystemIndex(unsigned int index);
1785 virtual void clearDTMFSystem();
1786
1788 virtual Transmit transmitMode() const;
1790 virtual void setTransmitMode(Transmit mode);
1791
1793 virtual IDMode idMode() const;
1795 virtual void setIDMode(IDMode mode);
1796
1798 virtual bool hasBOTID() const;
1800 virtual unsigned int botIDIndex() const;
1802 virtual void setBOTIDIndex(unsigned int index);
1804 virtual void clearBOTID();
1805
1807 virtual bool hasEOTID() const;
1809 virtual unsigned int eotIDIndex() const;
1811 virtual void setEOTIDIndex(unsigned int index);
1813 virtual void clearEOTID();
1814
1815 protected:
1817 struct Offset {
1819 static constexpr unsigned int dtmfSystemIndex() { return 0x0000; }
1820 static constexpr unsigned int transmitMode() { return 0x0001; }
1821 static constexpr unsigned int idMode() { return 0x0002; }
1822 static constexpr unsigned int botIDIndex() { return 0x0003; }
1823 static constexpr unsigned int eotIDIndex() { return 0x0004; }
1825 };
1826 };
1827
1834 {
1835 protected:
1837 PTTIDBankElement(uint8_t *ptr, size_t size);
1838
1839 public:
1841 PTTIDBankElement(uint8_t *ptr);
1842
1843 void clear();
1844
1846 static constexpr unsigned int size() { return 0x0104; }
1847
1849 virtual unsigned int idCount() const;
1851 virtual void setPTTIDCount(unsigned int n);
1852
1854 virtual PTTIDElement pttID(unsigned int n);
1855
1856 public:
1858 struct Limit {
1860 static constexpr unsigned int idCount() { return 16; }
1861 };
1862
1863 protected:
1865 struct Offset {
1867 static constexpr unsigned int idCount() { return 0x0000; }
1868 static constexpr unsigned int ids() { return 0x0004; }
1870 };
1871 };
1872
1873
1879 {
1880 public:
1882 enum class NonNumber {
1883 None = 0, A=0xa, B=0xb, C=0xc, D=0xd, Asterisk=0xe, Gate=0xf
1884 };
1885
1886 enum class Response {
1887 None=0, Reminder=1, Reply=2, Both=3
1888 };
1889
1890 enum class Kill {
1891 DisableTX = 0, DisableRXandTX = 1
1892 };
1893
1894 protected:
1896 DTMFSettingsElement(uint8_t *ptr, size_t size);
1897
1898 public:
1900 DTMFSettingsElement(uint8_t *ptr);
1901
1902 void clear();
1903
1905 static constexpr unsigned int size() { return 0x029c; }
1906
1908 virtual QString radioID() const;
1910 virtual void setRadioID(const QString &id);
1912 virtual QString killCode() const;
1914 virtual void setKillCode(const QString &code);
1916 virtual QString wakeCode() const;
1918 virtual void setWakeCode(const QString &code);
1919
1921 virtual NonNumber delimiter() const;
1923 virtual void setDelimiter(NonNumber code);
1925 virtual NonNumber groupCode() const;
1927 virtual void setGroupCode(NonNumber code);
1928
1930 virtual Response response() const;
1932 virtual void setResponse(Response resp);
1933
1935 virtual unsigned int autoResetTime() const;
1937 virtual void setAutoResetTime(unsigned int sec);
1938
1940 virtual bool killWakeEnabled() const;
1942 virtual void enableKillWake(bool enable);
1943
1945 virtual Kill killType() const;
1947 virtual void setKillType(Kill type);
1948
1950 virtual DTMFSystemBankElement dtmfSystems() const;
1952 virtual DTMFIDBankElement dtmfIDs() const;
1954 virtual PTTIDBankElement pttIDs() const;
1955
1956 public:
1958 struct Limit {
1960 static constexpr unsigned int radioIDLength() { return 5; }
1962 static constexpr unsigned int killCodeLength() { return 6; }
1964 static constexpr unsigned int wakeCodeLength() { return 6; }
1965 };
1966
1967 protected:
1969 struct Offset {
1971 static constexpr unsigned int radioID() { return 0x0000; }
1972 static constexpr unsigned int radioIDLength() { return 0x0005; }
1973 static constexpr unsigned int killCode() { return 0x0008; }
1974 static constexpr unsigned int killCodeLength() { return 0x000e; }
1975 static constexpr unsigned int wakeCode() { return 0x0010; }
1976 static constexpr unsigned int wakeCodeLength() { return 0x0016; }
1977 static constexpr unsigned int delimiter() { return 0x0018; }
1978 static constexpr unsigned int groupCode() { return 0x0019; }
1979 static constexpr unsigned int response() { return 0x001a; }
1980 static constexpr unsigned int autoResetTime() { return 0x001b; }
1981 static constexpr unsigned int killWake() { return 0x001c; }
1982 static constexpr unsigned int killType() { return 0x001d; }
1983 static constexpr unsigned int dtmfSystems() { return 0x0020; }
1984 static constexpr unsigned int dtmfIDs() { return 0x0054; }
1985 static constexpr unsigned int pttIDs() { return 0x0198; }
1987 };
1988 };
1989
1990
1996 {
1997 protected:
1999 AlarmSystemElement(uint8_t *ptr, size_t size);
2000
2001 public:
2003 AlarmSystemElement(uint8_t *ptr);
2004
2005 void clear();
2006 bool isValid() const;
2007
2009 static constexpr unsigned int size() { return 0x0018; }
2010
2012 virtual unsigned int index() const;
2014 virtual void setIndex(unsigned int index);
2016 virtual void clearIndex();
2017
2019 virtual bool alarmEnabled() const;
2021 virtual void enableAlarm(bool enable);
2022
2024 virtual bool noAlarmChannel() const;
2026 virtual bool alarmChannelIsSelected() const;
2028 virtual unsigned int alarmChannelIndex() const;
2030 virtual void setAlarmChannelIndex(unsigned int index);
2032 virtual void setAlarmChannelSelected();
2034 virtual void clearAlarmChannel();
2035
2037 virtual QString name() const;
2039 virtual void setName(const QString &name);
2040
2041 public:
2043 struct Limit {
2045 static constexpr unsigned int nameLength() { return 16; }
2046 };
2047
2048 protected:
2050 struct Offset {
2052 static constexpr unsigned int index() { return 0x0000; }
2053 static constexpr unsigned int alarmEnabled() { return 0x0001; }
2054 static constexpr unsigned int alarmChannelIndex() { return 0x0004; }
2055 static constexpr unsigned int name() { return 0x0008; }
2057 };
2058 };
2059
2067 {
2068 protected:
2070 AlarmSystemBankElement(uint8_t *ptr, size_t size);
2071
2072 public:
2074 AlarmSystemBankElement(uint8_t *ptr);
2075
2076 void clear();
2077
2079 static constexpr unsigned int size() { return 0x00c4; }
2080
2082 virtual unsigned int alarmSystemCount() const;
2084 virtual void setAlarmSystemCount(unsigned int n);
2085
2087 virtual AlarmSystemElement alarmSystem(unsigned int n) const;
2088
2089 public:
2091 struct Limit {
2093 static constexpr unsigned int alarmSystemCount() { return 8; }
2094 };
2095
2096 protected:
2098 struct Offset {
2100 static constexpr unsigned int alarmSystemCount() { return 0x0000; }
2101 static constexpr unsigned int alarmSystems() { return 0x0004; }
2103 };
2104 };
2105
2106
2112 {
2113 public:
2115 enum class SMSFormat {
2116 CompressedIP = 0, DefinedData = 1, IPData = 2
2117 };
2118
2119 protected:
2121 DMRSettingsElement(uint8_t *ptr, size_t size);
2122
2123 public:
2125 DMRSettingsElement(uint8_t *ptr);
2126
2127 void clear();
2128
2130 static constexpr unsigned int size() { return 0x0010; }
2131
2133 virtual Interval callHangTime() const;
2135 virtual void setCallHangTime(const Interval &dur);
2136
2138 virtual unsigned int remoteListen() const;
2140 virtual void setRemoteListen(unsigned int sec);
2141
2143 virtual unsigned int activeWait() const;
2145 virtual void setActiveWait(unsigned int ms);
2146
2148 virtual unsigned int activeResend() const;
2150 virtual void setActiveResend(unsigned int count);
2151
2153 virtual unsigned int preSend() const;
2155 virtual void setPreSend(unsigned int count);
2156
2158 virtual unsigned int voiceHead() const;
2160 virtual void setVoiceHead(unsigned int count);
2161
2163 virtual SMSFormat smsFormat() const;
2165 virtual void setSMSFormat(SMSFormat format);
2166
2168 virtual bool killEnc() const;
2170 virtual void enableKillEnc(bool enable);
2172 virtual bool killDec() const;
2174 virtual void enableKillDec(bool enable);
2175
2177 virtual bool activeEnc() const;
2179 virtual void enableActiveEnc(bool enable);
2181 virtual bool activeDec() const;
2183 virtual void enableActiveDec(bool enable);
2184
2186 virtual bool checkEnc() const;
2188 virtual void enableCheckEnc(bool enable);
2190 virtual bool checkDec() const;
2192 virtual void enableCheckDec(bool enable);
2193
2195 virtual bool callAlterEnc() const;
2197 virtual void enableCallAlterEnc(bool enable);
2199 virtual bool callAlterDec() const;
2201 virtual void enableCallAlterDec(bool enable);
2202
2204 virtual bool remoteMonitorEnc() const;
2206 virtual void enableRemoteMonitorEnc(bool enable);
2208 virtual bool remoteMonitorDec() const;
2210 virtual void enableRemoteMonitorDec(bool enable);
2211
2213 virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const;
2215 virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack());
2216
2217
2218 public:
2220 struct Limit: public Element::Limit {
2222 static constexpr Range<Interval> holdTime() {
2224
2225 static constexpr Range<unsigned int> remoteListen() { return {10, 120}; }
2227 static constexpr Range<unsigned int> activeWait() { return {120, 600}; }
2229 static constexpr Range<unsigned int> activeResend() { return {1, 10}; }
2231 static constexpr Range<unsigned int> preSend() { return {4, 15}; }
2233 static constexpr Range<unsigned int> voiceHead() { return {0, 20}; }
2234 };
2235
2236 protected:
2238 struct Offset: public Element::Offset {
2240 static constexpr unsigned int holdTime() { return 0x0000; }
2241 static constexpr unsigned int remoteListen() { return 0x0001; }
2242 static constexpr unsigned int activeWait() { return 0x0002; }
2243 static constexpr unsigned int activeResend() { return 0x0003; }
2244 static constexpr unsigned int preSend() { return 0x0004; }
2245 static constexpr unsigned int killEnc() { return 0x0005; }
2246 static constexpr unsigned int activeEnc() { return 0x0006; }
2247 static constexpr unsigned int checkEnc() { return 0x0007; }
2248 static constexpr unsigned int killDec() { return 0x0008; }
2249 static constexpr unsigned int activeDec() { return 0x0009; }
2250 static constexpr unsigned int checkDec() { return 0x000a; }
2251 static constexpr unsigned int smsFormat() { return 0x000b; }
2252 static constexpr unsigned int voiceHead() { return 0x000c; }
2253 static constexpr Bit callAlterEnc() { return {0x000d, 0}; }
2254 static constexpr Bit callAlterDec() { return {0x000d, 1}; }
2255 static constexpr Bit remoteMonitorEnc() { return {0x000d, 2}; }
2256 static constexpr Bit remoteMonitorDec() { return {0x000d, 3}; }
2258 };
2259 };
2260
2261
2267 {
2268 public:
2270 enum class Action {
2271 Call = 0, Message = 1
2272 };
2273
2274 enum class Type {
2275 Disabled = 0, DMR=1, FM=2
2276 };
2277
2278 protected:
2280 OneTouchSettingElement(uint8_t *ptr, size_t size);
2281
2282 public:
2284 OneTouchSettingElement(uint8_t *ptr);
2285
2286 void clear();
2287
2289 static constexpr unsigned int size() { return 0x0008; }
2290
2292 bool isValid() const;
2293
2295 virtual bool hasContact() const;
2297 virtual unsigned int contactIndex() const;
2299 virtual void setContactIndex(unsigned int index);
2301 virtual void clearContact();
2302
2304 virtual Action action() const;
2306 virtual void setAction(Action action);
2307
2309 virtual bool hasMessage() const;
2311 virtual unsigned int messageIndex() const;
2313 virtual void setMessageIndex(unsigned int index);
2315 virtual void clearMessage();
2316
2318 virtual Type type() const;
2320 virtual void setType(Type type);
2321
2323 virtual bool hasDTMFID() const;
2325 virtual unsigned int dtmfIDIndex() const;
2327 virtual void setDTMFIDIndex(unsigned int index);
2329 virtual void clearDTMFIDIndex();
2330
2331 protected:
2333 struct Offset {
2335 static constexpr unsigned int contactIndex() { return 0x0000; }
2336 static constexpr unsigned int action() { return 0x0002; }
2337 static constexpr unsigned int messageIndex() { return 0x0003; }
2338 static constexpr unsigned int type() { return 0x0004; }
2339 static constexpr unsigned int dtmfIDIndex() { return 0x0005; }
2341 };
2342 };
2343
2351 {
2352 protected:
2354 OneTouchSettingsElement(uint8_t *ptr, size_t size);
2355
2356 public:
2358 OneTouchSettingsElement(uint8_t *ptr);
2359
2360 void clear();
2361
2363 static constexpr unsigned int size() { return 0x0028; }
2364
2366 virtual unsigned int settingsCount() const;
2367
2369 virtual OneTouchSettingElement setting(unsigned int n) const;
2370
2371 public:
2373 struct Limit {
2375 static constexpr unsigned int settingsCount() { return 5; }
2376 };
2377
2378 protected:
2380 struct Offset {
2382 static constexpr unsigned int settings() { return 0x0000; }
2384 };
2385 };
2386
2387
2388public:
2390 explicit DR1801UVCodeplug(QObject *parent = nullptr);
2391
2392 Config * preprocess(Config *config, const ErrorStack &err) const;
2393 bool postprocess(Config *config, const ErrorStack &err) const;
2394
2395 bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const;
2396 bool encode(Config *config, const Flags &flags, const ErrorStack &err=ErrorStack());
2397 bool decode(Config *config, const ErrorStack &err=ErrorStack());
2398
2399protected:
2401 virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack());
2403 virtual bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack());
2405 virtual bool encodeElements(Context &ctx, const ErrorStack &err=ErrorStack());
2406
2407protected:
2409 struct Offset {
2411 static constexpr unsigned int size() { return 0x1dd90; }
2412 static constexpr unsigned int settings() { return 0x003b4; }
2413 static constexpr unsigned int zoneBank() { return 0x00418; }
2414 static constexpr unsigned int messageBank() { return 0x04110; }
2415 static constexpr unsigned int contactBank() { return 0x04334; }
2416 static constexpr unsigned int scanListBank() { return 0x0a338; }
2417 static constexpr unsigned int channelBank() { return 0x0a65c; }
2418 static constexpr unsigned int keySettings() { return 0x1c6c4; }
2419 static constexpr unsigned int groupListBank() { return 0x1c6dc; }
2420 static constexpr unsigned int encryptionKeyBank() { return 0x1d7e0; }
2421 static constexpr unsigned int dtmfSettings() { return 0x1d858; }
2422 static constexpr unsigned int alarmSettings() { return 0x1daf4; }
2423 static constexpr unsigned int dmrSettings() { return 0x1dbb8; }
2424 static constexpr unsigned int vfoBank() { return 0x1dd00; }
2426 };
2427};
2428
2429#endif // DR1801UVCODEPLUG_HH
BootDisplay
What to display during boot.
Definition bootsettings.hh:50
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:38
Power
Specifies the prefix for every ID assigned to every channel during serialization.
Definition channel.hh:65
Base class for all codeplug contexts.
Definition codeplug.hh:331
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
Codeplug(QObject *parent=nullptr)
Hidden default constructor.
Definition codeplug.cc:872
The config class, representing the codeplug configuration.
Definition config.hh:70
uint32_t size() const
Returns the total size of the DFU file.
Definition dfufile.cc:52
TimeSlot
Possible timeslots for digital channels.
Definition channel.hh:448
Represents a digital contact, that is a DMR number.
Definition contact.hh:141
Type
Possible call types for a contact.
Definition contact.hh:155
virtual AlarmSystemElement alarmSystem(unsigned int n) const
Returns a reference to the n-th alarm system.
Definition dr1801uv_codeplug.cc:2853
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2839
virtual void setAlarmSystemCount(unsigned int n)
Sets the number of alarm systems.
Definition dr1801uv_codeplug.cc:2848
virtual unsigned int alarmSystemCount() const
Returns the number of alarm systems defined.
Definition dr1801uv_codeplug.cc:2844
AlarmSystemBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2826
static constexpr unsigned int size()
The size of the alarm system bank.
Definition dr1801uv_codeplug.hh:2079
Implements the binary encoding of the alarm system.
Definition dr1801uv_codeplug.hh:1996
virtual bool noAlarmChannel() const
Returns true if no alarm channel is specified.
Definition dr1801uv_codeplug.cc:2906
virtual QString name() const
Returns the name.
Definition dr1801uv_codeplug.cc:2931
virtual void setAlarmChannelIndex(unsigned int index)
Sets the alarm channel index.
Definition dr1801uv_codeplug.cc:2918
AlarmSystemElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2861
virtual void clearAlarmChannel()
Clears the alarm channel.
Definition dr1801uv_codeplug.cc:2926
virtual unsigned int index() const
Returns the index of the system.
Definition dr1801uv_codeplug.cc:2884
virtual void enableAlarm(bool enable)
Enables/disables the alarm.
Definition dr1801uv_codeplug.cc:2901
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2874
bool isValid() const
Returns true if the pointer is not null.
Definition dr1801uv_codeplug.cc:2879
virtual bool alarmChannelIsSelected() const
Returns true if the alarm channel is the current channel.
Definition dr1801uv_codeplug.cc:2910
virtual void setIndex(unsigned int index)
Sets the index of the element.
Definition dr1801uv_codeplug.cc:2888
virtual unsigned int alarmChannelIndex() const
Returns the index of the alarm channel.
Definition dr1801uv_codeplug.cc:2914
virtual void setAlarmChannelSelected()
Sets the alarm channel to the selected channel.
Definition dr1801uv_codeplug.cc:2922
virtual void setName(const QString &name)
Sets the system name.
Definition dr1801uv_codeplug.cc:2935
virtual void clearIndex()
Clears the index.
Definition dr1801uv_codeplug.cc:2892
virtual bool alarmEnabled() const
Returns true if the alarm is enabled.
Definition dr1801uv_codeplug.cc:2897
static constexpr unsigned int size()
The size of the alarm system element.
Definition dr1801uv_codeplug.hh:2009
virtual void setChannelCount(unsigned int count)
Sets the number of channels.
Definition dr1801uv_codeplug.cc:35
virtual unsigned int channelCount() const
Returns the number of channels.
Definition dr1801uv_codeplug.cc:31
static constexpr unsigned int size()
Returns the size of the element.
Definition dr1801uv_codeplug.hh:318
ChannelBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:13
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:26
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const
Decodes all defined channels.
Definition dr1801uv_codeplug.cc:55
virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes all channels.
Definition dr1801uv_codeplug.cc:99
virtual QString channelName(unsigned int index) const
Returns the name of the channel at the given index.
Definition dr1801uv_codeplug.cc:46
virtual ChannelElement channel(unsigned int index) const
Returns a reference to the channel element that the given index.
Definition dr1801uv_codeplug.cc:41
virtual bool link(Context &ctx, const ErrorStack &err=ErrorStack()) const
Links channels.
Definition dr1801uv_codeplug.cc:77
virtual void setChannelName(unsigned int index, const QString &name)
Sets the name of the channel at the given index.
Definition dr1801uv_codeplug.cc:50
Implements the binary encoding of the channels settings.
Definition dr1801uv_codeplug.hh:74
virtual void clearPTTID()
Clears the PTT ID.
Definition dr1801uv_codeplug.cc:437
virtual SelectiveCall txTone() const
Returns the TX CTCSS/DCS signaling.
Definition dr1801uv_codeplug.cc:386
virtual unsigned int scanListIndex() const
Returns the scan list index.
Definition dr1801uv_codeplug.cc:343
virtual DMRChannel::TimeSlot timeSlot() const
Returns the time slot.
Definition dr1801uv_codeplug.cc:239
virtual Frequency rxFrequency() const
Returns the RX frequency in MHz.
Definition dr1801uv_codeplug.cc:187
virtual void setIndex(unsigned int idx)
Sets the index.
Definition dr1801uv_codeplug.cc:149
virtual unsigned int encryptionKeyIndex() const
Returns the encryption key index.
Definition dr1801uv_codeplug.cc:259
virtual void clearTransmitContactIndex()
Clears the contact index.
Definition dr1801uv_codeplug.cc:216
bool isValid() const
Returns true if the pointer is not null.
Definition dr1801uv_codeplug.cc:134
virtual void setGroupListIndex(unsigned int index)
Sets the group-list index.
Definition dr1801uv_codeplug.cc:450
Type
Possible channel types.
Definition dr1801uv_codeplug.hh:77
virtual void setAdmitCriterion(Admit admit)
Sets the admit criterion.
Definition dr1801uv_codeplug.cc:225
virtual void setChannelType(Type type)
Sets the channel type.
Definition dr1801uv_codeplug.cc:158
virtual void setPTTIDIndex(unsigned int idx)
Sets the PTT-ID index.
Definition dr1801uv_codeplug.cc:433
virtual bool hasAlarmSystem() const
Returns true if the alarm system index is set.
Definition dr1801uv_codeplug.cc:298
virtual SignalingMode signalingMode() const
Returns the FM signaling mode.
Definition dr1801uv_codeplug.cc:289
virtual void setRXFrequency(Frequency MHz)
Sets the RX frequency in MHz.
Definition dr1801uv_codeplug.cc:191
virtual bool linkChannelObj(Channel *channel, Context &ctx, const ErrorStack &err=ErrorStack()) const
Links the channel object.
Definition dr1801uv_codeplug.cc:510
virtual void setBandwidth(FMChannel::Bandwidth bw)
Sets the band width for FM channels.
Definition dr1801uv_codeplug.cc:323
virtual void setTimeSlot(DMRChannel::TimeSlot ts)
Sets the time slot.
Definition dr1801uv_codeplug.cc:247
virtual void setScanListIndex(unsigned int index)
Sets the scan list index.
Definition dr1801uv_codeplug.cc:347
virtual void setPower(Channel::Power pwr)
Sets the power for the channel.
Definition dr1801uv_codeplug.cc:172
virtual bool talkaround() const
Returns true if talkaround is enabled.
Definition dr1801uv_codeplug.cc:416
virtual bool confirmPrivateCall() const
Returns true if private-call confirmation is enabled.
Definition dr1801uv_codeplug.cc:280
virtual Admit admitCriterion() const
Returns the admit criterion.
Definition dr1801uv_codeplug.cc:221
virtual bool loneWorker() const
Returns true if lone-worker is enabled.
Definition dr1801uv_codeplug.cc:459
virtual unsigned int transmitContactIndex() const
Returns the contact index.
Definition dr1801uv_codeplug.cc:208
virtual unsigned int colorCode() const
Returns the color code (0-15).
Definition dr1801uv_codeplug.cc:230
SignalingMode
Possible FM signaling modes.
Definition dr1801uv_codeplug.hh:93
SubToneType
Possible subtone types.
Definition dr1801uv_codeplug.hh:101
virtual void setSignalingMode(SignalingMode mode)
Sets the FM signaling mode.
Definition dr1801uv_codeplug.cc:293
virtual Frequency txFrequency() const
Returns the TX frequency in MHz.
Definition dr1801uv_codeplug.cc:195
virtual Channel::Power power() const
Returns the power settings of the channel.
Definition dr1801uv_codeplug.cc:163
virtual Type channelType() const
Returns the channel type.
Definition dr1801uv_codeplug.cc:154
virtual void setTXTone(const SelectiveCall &code)
Sets the TX CTCSS/DCS signaling.
Definition dr1801uv_codeplug.cc:398
Bandwidth
Possible band width settings.
Definition dr1801uv_codeplug.hh:97
virtual void clearGroupListIndex()
Clears the group list index.
Definition dr1801uv_codeplug.cc:454
virtual bool hasGroupList() const
Returns true if a group list is assigned.
Definition dr1801uv_codeplug.cc:442
virtual void setColorCode(unsigned int cc)
Sets the color code (0-15).
Definition dr1801uv_codeplug.cc:234
virtual void clearScanListIndex()
Clears the scan list index.
Definition dr1801uv_codeplug.cc:351
virtual bool hasScanList() const
Returns true if a scan list is assigned.
Definition dr1801uv_codeplug.cc:339
virtual void setAlarmSystemIndex(unsigned int index)
Sets the alarm system index.
Definition dr1801uv_codeplug.cc:306
virtual void clearEncryptionKeyIndex()
Clears the encryption key index.
Definition dr1801uv_codeplug.cc:267
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:139
TimeSlot
Possible time-slot values.
Definition dr1801uv_codeplug.hh:89
virtual unsigned int pttIDIndex() const
Returns the PTT-ID index.
Definition dr1801uv_codeplug.cc:429
Admit
Possible values for the admid criterion.
Definition dr1801uv_codeplug.hh:85
virtual void enableDCDM(bool enable)
Enables/disables dual-capacity direct mode.
Definition dr1801uv_codeplug.cc:276
virtual bool hasEncryptionKey() const
Returns true if an ecryption key index is set.
Definition dr1801uv_codeplug.cc:255
virtual void enablePrivateCallConfirmation(bool enable)
Enables/disables private-call confirmation.
Definition dr1801uv_codeplug.cc:284
virtual FMChannel::Bandwidth bandwidth() const
Returns the band width for FM channels.
Definition dr1801uv_codeplug.cc:315
virtual bool dcdm() const
Returns true if dual-capacity direct mode is enabled.
Definition dr1801uv_codeplug.cc:272
virtual Channel * toChannelObj(Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a channel object.
Definition dr1801uv_codeplug.cc:469
virtual void clearAlarmSystemIndex()
Clears the alarm system index.
Definition dr1801uv_codeplug.cc:310
static constexpr unsigned int size()
Returns the size of the element.
Definition dr1801uv_codeplug.hh:121
virtual void setEncryptionKeyIndex(unsigned int index)
Sets the encryption key index.
Definition dr1801uv_codeplug.cc:263
virtual unsigned int groupListIndex() const
Returns the group-list index.
Definition dr1801uv_codeplug.cc:446
virtual bool autoScanEnabled() const
Returns true, if the auto-scan is enabled.
Definition dr1801uv_codeplug.cc:331
virtual void setTransmitContactIndex(unsigned int index)
Sets the transmit contact index.
Definition dr1801uv_codeplug.cc:212
virtual SelectiveCall rxTone() const
Returns the RX CTCSS/DCS signaling.
Definition dr1801uv_codeplug.cc:356
virtual void enableLoneWorker(bool enable)
Enables/disables lone-worker.
Definition dr1801uv_codeplug.cc:463
virtual unsigned int alarmSystemIndex() const
Returns the index of the alarm system.
Definition dr1801uv_codeplug.cc:302
virtual unsigned int index() const
Returns the 0-based index of the channel.
Definition dr1801uv_codeplug.cc:145
virtual bool hasTransmitContact() const
Returns true if a contact index is set.
Definition dr1801uv_codeplug.cc:204
virtual void enableAutoScan(bool enable)
Enables/disables auto-scan.
Definition dr1801uv_codeplug.cc:335
Power
Possible power settings.
Definition dr1801uv_codeplug.hh:81
virtual bool hasPTTID() const
Returns true if a PTT ID is set.
Definition dr1801uv_codeplug.cc:425
virtual bool encode(Channel *channel, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the given channel.
Definition dr1801uv_codeplug.cc:543
DCSMode
Possible DCS modes.
Definition dr1801uv_codeplug.hh:105
ChannelElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:121
virtual void setRXTone(const SelectiveCall &code)
Sets the RX CTCSS/DCS signaling.
Definition dr1801uv_codeplug.cc:368
virtual void enableTalkaround(bool enable)
Enables/disables talkaround.
Definition dr1801uv_codeplug.cc:420
virtual void setTXFrequency(Frequency MHz)
Sets the TX frequency in MHz.
Definition dr1801uv_codeplug.cc:199
virtual void setFirstIndex(unsigned int index)
Sets the index of the first element.
Definition dr1801uv_codeplug.cc:636
virtual bool link(Context &ctx, const ErrorStack &err=ErrorStack()) const
Links all contacts.
Definition dr1801uv_codeplug.cc:671
virtual unsigned int firstIndex() const
Returns the index of the first contact.
Definition dr1801uv_codeplug.cc:632
virtual void setContactCount(unsigned int count)
Sets the number of contacts.
Definition dr1801uv_codeplug.cc:626
virtual unsigned int contactCount() const
Returns the number of contacts.
Definition dr1801uv_codeplug.cc:622
virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes all contacts.
Definition dr1801uv_codeplug.cc:693
virtual ContactElement contact(unsigned int index) const
Returns a reference to the n-th contact.
Definition dr1801uv_codeplug.cc:641
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const
Decodes all contacts and stores them into the given context and config.
Definition dr1801uv_codeplug.cc:646
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:617
static constexpr unsigned int size()
Returns the size of the element.
Definition dr1801uv_codeplug.hh:458
ContactBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:604
Implements the binary encoding of a contact.
Definition dr1801uv_codeplug.hh:366
virtual void setSuccessorIndex(uint16_t index)
Sets successor index.
Definition dr1801uv_codeplug.cc:747
ContactElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:714
virtual DMRContact * toContactObj(Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a DMR contact object from this contact elmeent.
Definition dr1801uv_codeplug.cc:799
virtual bool linkContactObj(DMRContact *contact, Context &ctx, const ErrorStack &err=ErrorStack())
Links the DMR contact object.
Definition dr1801uv_codeplug.cc:805
virtual void setCallType(DMRContact::Type type)
Sets the call type.
Definition dr1801uv_codeplug.cc:776
virtual void setDMRID(uint32_t id)
Sets the number.
Definition dr1801uv_codeplug.cc:762
virtual QString name() const
Returns the name of the contact.
Definition dr1801uv_codeplug.cc:788
virtual bool encode(DMRContact *contact, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the contact.
Definition dr1801uv_codeplug.cc:811
bool isValid() const
Returns true if the pointer is not null.
Definition dr1801uv_codeplug.cc:727
virtual uint16_t successorIndex() const
Returns the index of the next element.
Definition dr1801uv_codeplug.cc:743
virtual bool hasSuccessor() const
Returns true if the contact has a successor.
Definition dr1801uv_codeplug.cc:739
CallType
Possible call types.
Definition dr1801uv_codeplug.hh:369
virtual void setName(const QString &name)
Sets the name of the contact.
Definition dr1801uv_codeplug.cc:792
virtual void clearSuccessorIndex()
Clears the successor index.
Definition dr1801uv_codeplug.cc:751
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:734
static constexpr unsigned int size()
Returns the size of the element.
Definition dr1801uv_codeplug.hh:385
virtual DMRContact::Type type() const
Returns the call type.
Definition dr1801uv_codeplug.cc:767
virtual uint32_t dmrID() const
Returns the number.
Definition dr1801uv_codeplug.cc:756
virtual void enableActiveDec(bool enable)
Enables active decoding.
Definition dr1801uv_codeplug.cc:3062
virtual bool callAlterEnc() const
Returns true if the call alter encoding is enabled.
Definition dr1801uv_codeplug.cc:3084
virtual Interval callHangTime() const
Returns the hold-time in seconds.
Definition dr1801uv_codeplug.cc:2962
virtual bool activeDec() const
Returns true if the active decoding is enabled.
Definition dr1801uv_codeplug.cc:3058
virtual unsigned int activeResend() const
Returns the active resend count.
Definition dr1801uv_codeplug.cc:2994
virtual void enableRemoteMonitorEnc(bool enable)
Enables remote monitor encoding.
Definition dr1801uv_codeplug.cc:3105
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2956
virtual void setRemoteListen(unsigned int sec)
Sets the remote-listen duration in seconds.
Definition dr1801uv_codeplug.cc:2978
virtual void enableActiveEnc(bool enable)
Enables active encoding.
Definition dr1801uv_codeplug.cc:3054
virtual bool activeEnc() const
Returns true if the active encoding is enabled.
Definition dr1801uv_codeplug.cc:3050
virtual bool checkEnc() const
Returns true if the check encoding is enabled.
Definition dr1801uv_codeplug.cc:3067
virtual void setSMSFormat(SMSFormat format)
Sets the SMS format.
Definition dr1801uv_codeplug.cc:3028
virtual void enableCheckDec(bool enable)
Enables check decoding.
Definition dr1801uv_codeplug.cc:3079
virtual void setActiveResend(unsigned int count)
Sets the active resend count.
Definition dr1801uv_codeplug.cc:2998
virtual void enableRemoteMonitorDec(bool enable)
Enables remote monitor decoding.
Definition dr1801uv_codeplug.cc:3113
virtual void enableCallAlterEnc(bool enable)
Enables call alter encoding.
Definition dr1801uv_codeplug.cc:3088
virtual void setCallHangTime(const Interval &dur)
Sets the hold-time in seconds.
Definition dr1801uv_codeplug.cc:2967
virtual void enableCheckEnc(bool enable)
Enables check encoding.
Definition dr1801uv_codeplug.cc:3071
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:2130
virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes all keys.
Definition dr1801uv_codeplug.cc:3134
virtual void enableCallAlterDec(bool enable)
Enables call alter decoding.
Definition dr1801uv_codeplug.cc:3096
virtual void enableKillDec(bool enable)
Enables kill decoding.
Definition dr1801uv_codeplug.cc:3045
virtual bool remoteMonitorEnc() const
Returns true if the remote monitor encoding is enabled.
Definition dr1801uv_codeplug.cc:3101
virtual SMSFormat smsFormat() const
Returns the SMS format.
Definition dr1801uv_codeplug.cc:3024
virtual unsigned int remoteListen() const
Returns the remote-listen duration in seconds.
Definition dr1801uv_codeplug.cc:2974
virtual bool remoteMonitorDec() const
Returns true if the remote monitor decoding is enabled.
Definition dr1801uv_codeplug.cc:3109
virtual unsigned int voiceHead() const
Returns the voice head count.
Definition dr1801uv_codeplug.cc:3014
virtual void setVoiceHead(unsigned int count)
Sets the voice head count.
Definition dr1801uv_codeplug.cc:3018
virtual bool checkDec() const
Returns true if the check decoding is enabled.
Definition dr1801uv_codeplug.cc:3075
virtual bool killDec() const
Returns true if the kill decoding is enabled.
Definition dr1801uv_codeplug.cc:3041
DMRSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2943
SMSFormat
Possible SMS encodings.
Definition dr1801uv_codeplug.hh:2115
virtual void setActiveWait(unsigned int ms)
Sets the active wait period in ms.
Definition dr1801uv_codeplug.cc:2988
virtual bool killEnc() const
Returns true if the kill encoding is enabled.
Definition dr1801uv_codeplug.cc:3033
virtual void enableKillEnc(bool enable)
Enables kill encoding.
Definition dr1801uv_codeplug.cc:3037
virtual bool callAlterDec() const
Returns true if the call alter decoding is enabled.
Definition dr1801uv_codeplug.cc:3092
virtual void setPreSend(unsigned int count)
Sets the pre-send count.
Definition dr1801uv_codeplug.cc:3008
virtual unsigned int activeWait() const
Returns the active wait period in ms.
Definition dr1801uv_codeplug.cc:2984
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const
Decodes the DMR settings.
Definition dr1801uv_codeplug.cc:3118
virtual unsigned int preSend() const
Returns the pre-send count.
Definition dr1801uv_codeplug.cc:3004
Implements the DTMF ID bank.
Definition dr1801uv_codeplug.hh:1709
DTMFIDBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2611
virtual unsigned int idCount() const
Returns the number of IDs encoded.
Definition dr1801uv_codeplug.cc:2629
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:1721
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2624
virtual DTMFIDElement id(unsigned int n) const
Returns a reference to the n-th ID.
Definition dr1801uv_codeplug.cc:2638
virtual void setIDCount(unsigned int n)
Sets the ID count.
Definition dr1801uv_codeplug.cc:2633
Implements the DTMF ID.
Definition dr1801uv_codeplug.hh:1659
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2663
virtual void setNumberLength(unsigned int len)
Sets the number length.
Definition dr1801uv_codeplug.cc:2672
virtual unsigned int numberLength() const
Returns the length of the number.
Definition dr1801uv_codeplug.cc:2668
DTMFIDElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2650
virtual QString number() const
Returns the DTMF code/number.
Definition dr1801uv_codeplug.cc:2677
virtual void setNumber(const QString &number)
Sets the DTMF code/number.
Definition dr1801uv_codeplug.cc:2686
static constexpr unsigned int size()
Size of the element.
Definition dr1801uv_codeplug.hh:1671
static QVector< QChar > _bin_dtmf_tab
Translation table.
Definition dr1801uv_codeplug.hh:2646
virtual PTTIDBankElement pttIDs() const
Returns a reference to the PTT ID bank.
Definition dr1801uv_codeplug.cc:2502
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2400
Kill
Possible kill actions.
Definition dr1801uv_codeplug.hh:1890
virtual QString wakeCode() const
Returns the DTMF wake code as a string.
Definition dr1801uv_codeplug.cc:2427
virtual unsigned int autoResetTime() const
Returns the auto-reset time in seconds [5,60s].
Definition dr1801uv_codeplug.cc:2465
virtual void setAutoResetTime(unsigned int sec)
Set the auto-reset time in seconds.
Definition dr1801uv_codeplug.cc:2469
virtual void setKillType(Kill type)
Sets the kill type.
Definition dr1801uv_codeplug.cc:2487
virtual NonNumber groupCode() const
Returns the group code.
Definition dr1801uv_codeplug.cc:2447
virtual Kill killType() const
Returns the kill type.
Definition dr1801uv_codeplug.cc:2483
virtual void setRadioID(const QString &id)
Sets the DTMF radio ID as a string.
Definition dr1801uv_codeplug.cc:2409
NonNumber
Possible DTMF non-number codes.
Definition dr1801uv_codeplug.hh:1882
Response
Possible responses.
Definition dr1801uv_codeplug.hh:1886
virtual void setResponse(Response resp)
Sets the decode response.
Definition dr1801uv_codeplug.cc:2460
DTMFSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2387
virtual void setDelimiter(NonNumber code)
Sets the delimiter code.
Definition dr1801uv_codeplug.cc:2442
virtual QString radioID() const
Returns the DTMF radio ID as a string.
Definition dr1801uv_codeplug.cc:2405
virtual void setKillCode(const QString &code)
Sets the DTMF kill code as a string.
Definition dr1801uv_codeplug.cc:2420
virtual void setWakeCode(const QString &code)
Sets the DTMF wake code as a string.
Definition dr1801uv_codeplug.cc:2431
virtual DTMFIDBankElement dtmfIDs() const
Returns a reference to the DTMF IDs.
Definition dr1801uv_codeplug.cc:2497
virtual NonNumber delimiter() const
Returns the delimiter code.
Definition dr1801uv_codeplug.cc:2438
virtual bool killWakeEnabled() const
Returns true if the kill/wake decoding is endabled.
Definition dr1801uv_codeplug.cc:2474
virtual QString killCode() const
Returns the DTMF kill code as a string.
Definition dr1801uv_codeplug.cc:2416
virtual void setGroupCode(NonNumber code)
Sets the group code.
Definition dr1801uv_codeplug.cc:2451
virtual void enableKillWake(bool enable)
Enables/disables the kill/wake decoding.
Definition dr1801uv_codeplug.cc:2478
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:1905
virtual DTMFSystemBankElement dtmfSystems() const
Returns a reference to the DTMF systems.
Definition dr1801uv_codeplug.cc:2492
virtual Response response() const
Returns the decode response.
Definition dr1801uv_codeplug.cc:2456
Implements the DTMF systems bank.
Definition dr1801uv_codeplug.hh:1614
virtual void setSystemCount(unsigned int count)
Sets the number of DTMF systems.
Definition dr1801uv_codeplug.cc:2532
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:1626
virtual unsigned int systemCount() const
Returns the number of DTMF systems.
Definition dr1801uv_codeplug.cc:2528
virtual DTMFSystemElement system(unsigned int n) const
Returns a reference to the n-th system.
Definition dr1801uv_codeplug.cc:2537
DTMFSystemBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2510
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2523
Implements the DTMF system.
Definition dr1801uv_codeplug.hh:1556
virtual void setCodeItervall(unsigned int ms)
Sets the code interval in milliseconds.
Definition dr1801uv_codeplug.cc:2594
virtual unsigned int codeDuration() const
Returns the code duration in milliseconds.
Definition dr1801uv_codeplug.cc:2581
virtual bool sideToneEnabled() const
Returns true if the side-tone is enabled.
Definition dr1801uv_codeplug.cc:2563
virtual void setResetTime(unsigned int ms)
Sets the reset time in milliseconds.
Definition dr1801uv_codeplug.cc:2603
virtual unsigned int codeItervall() const
Returns the code interval in milliseconds.
Definition dr1801uv_codeplug.cc:2590
virtual void setPreTime(unsigned int ms)
Sets the pre-time in milliseconds.
Definition dr1801uv_codeplug.cc:2576
virtual void setCodeDuration(unsigned int ms)
Sets the code duration in milliseconds.
Definition dr1801uv_codeplug.cc:2585
virtual unsigned int resetTime() const
Returns the reset time in milliseconds.
Definition dr1801uv_codeplug.cc:2599
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:1568
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2558
virtual unsigned int preTime() const
Returns the pre-time in milliseconds.
Definition dr1801uv_codeplug.cc:2572
DTMFSystemElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2545
virtual void enableSideTone(bool enable)
Enables/disable side-tone.
Definition dr1801uv_codeplug.cc:2567
virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes all keys.
Definition dr1801uv_codeplug.cc:2276
virtual EncryptionKeyElement key(unsigned int index) const
Returns a reference to the encryption key.
Definition dr1801uv_codeplug.cc:2247
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const
Decodes the all encryption keys defined.
Definition dr1801uv_codeplug.cc:2252
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:1530
EncryptionKeyBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2229
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2242
virtual bool link(Context &ctx, const ErrorStack &err=ErrorStack()) const
Links all encryption keys.
Definition dr1801uv_codeplug.cc:2267
Implements the binary encoding of an encryption key.
Definition dr1801uv_codeplug.hh:1460
virtual unsigned int keyLength() const
Returns the length of the key.
Definition dr1801uv_codeplug.cc:2330
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2311
virtual bool encode(EncryptionKey *obj, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the key.
Definition dr1801uv_codeplug.cc:2371
virtual void setIndex(unsigned int index)
Sets the index of the key.
Definition dr1801uv_codeplug.cc:2325
virtual void setKey(const QString &key)
Sets the key.
Definition dr1801uv_codeplug.cc:2339
virtual bool linkKeyObj(EncryptionKey *obj, Context &ctx, const ErrorStack &err=ErrorStack())
Links the key object.
Definition dr1801uv_codeplug.cc:2364
virtual QString key() const
Returns the key as a string.
Definition dr1801uv_codeplug.cc:2335
static constexpr unsigned int size()
Returns the size of the element.
Definition dr1801uv_codeplug.hh:1473
virtual EncryptionKey * toKeyObj(Context &ctx, const ErrorStack &err=ErrorStack())
Creates a key object for this element.
Definition dr1801uv_codeplug.cc:2345
EncryptionKeyElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2298
virtual unsigned int index() const
Returns the index of the key.
Definition dr1801uv_codeplug.cc:2321
bool isValid() const
Returns true if the pointer is not null.
Definition dr1801uv_codeplug.cc:2316
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:836
virtual bool link(Context &ctx, const ErrorStack &err=ErrorStack()) const
Links all group lists.
Definition dr1801uv_codeplug.cc:876
virtual unsigned int groupListCount() const
Returns the number of group lists defined.
Definition dr1801uv_codeplug.cc:841
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const
Decodes all group lists.
Definition dr1801uv_codeplug.cc:856
virtual GroupListElement groupList(unsigned int index) const
Returns a reference to the group list at the given index.
Definition dr1801uv_codeplug.cc:851
virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes all group lists.
Definition dr1801uv_codeplug.cc:897
static constexpr unsigned int size()
Returns the size of the element.
Definition dr1801uv_codeplug.hh:579
GroupListBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:823
virtual void setGroupListCount(unsigned int count)
Sets the number of group lists.
Definition dr1801uv_codeplug.cc:845
Implements the binary encoding of a group list.
Definition dr1801uv_codeplug.hh:504
virtual unsigned int index() const
Returns the index of the group list.
Definition dr1801uv_codeplug.cc:940
virtual unsigned int count() const
Returns the number of elements in the list.
Definition dr1801uv_codeplug.cc:949
virtual void setCount(unsigned int n)
Sets the number of elements in the list.
Definition dr1801uv_codeplug.cc:953
GroupListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:917
virtual unsigned int memberIndex(unsigned int n) const
Returns the n-th member index.
Definition dr1801uv_codeplug.cc:962
virtual bool linkGroupListObj(RXGroupList *list, Context &ctx, const ErrorStack &err=ErrorStack()) const
Links the group list object.
Definition dr1801uv_codeplug.cc:982
virtual void setMemberIndex(unsigned int n, unsigned int index)
Sets the n-th member index.
Definition dr1801uv_codeplug.cc:966
virtual void setIndex(unsigned int index)
Sets the index of the group list.
Definition dr1801uv_codeplug.cc:944
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:517
virtual RXGroupList * toGroupListObj(Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a group list object from this elmeent.
Definition dr1801uv_codeplug.cc:975
virtual void clearMemberIndex(unsigned int n)
Clears the n-th member index.
Definition dr1801uv_codeplug.cc:970
virtual bool hasMemberIndex(unsigned int n) const
Returns true if the n-th member index is set.
Definition dr1801uv_codeplug.cc:959
bool isValid() const
Returns true if the pointer is not null.
Definition dr1801uv_codeplug.cc:935
virtual bool encode(RXGroupList *list, Context &ctx, const ErrorStack &err=ErrorStack())
Links the group list object.
Definition dr1801uv_codeplug.cc:1000
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:930
virtual Function sideKey1Long() const
Returns the function for the side-key 1, long press.
Definition dr1801uv_codeplug.cc:2132
virtual Function sideKey2Long() const
Returns the function for the side-key 2, long press.
Definition dr1801uv_codeplug.cc:2150
virtual Function topKeyLong() const
Returns the function for the top-key, long press.
Definition dr1801uv_codeplug.cc:2168
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:1360
virtual void setSideKey1Short(Function func)
Sets the function for the side-key 1, short press.
Definition dr1801uv_codeplug.cc:2127
virtual void setSideKey1Long(Function func)
Sets the function for the side-key 1, long press.
Definition dr1801uv_codeplug.cc:2136
KeySettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2105
virtual Function topKeyShort() const
Returns the function for the top-key, short press.
Definition dr1801uv_codeplug.cc:2159
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2118
virtual void setSideKey2Short(Function func)
Sets the function for the side-key 2, short press.
Definition dr1801uv_codeplug.cc:2145
virtual void setTopKeyShort(Function func)
Sets the function for the top-key, short press.
Definition dr1801uv_codeplug.cc:2163
virtual Function sideKey2Short() const
Returns the function for the side-key 2, short press.
Definition dr1801uv_codeplug.cc:2141
virtual void setSideKey2Long(Function func)
Sets the function for the side-key 2, long press.
Definition dr1801uv_codeplug.cc:2154
Function
Possible key functions.
Definition dr1801uv_codeplug.hh:1342
virtual void setTopKeyLong(Function func)
Sets the function for the side-key, long press.
Definition dr1801uv_codeplug.cc:2172
virtual Function sideKey1Short() const
Returns the function for the side-key 1, short press.
Definition dr1801uv_codeplug.cc:2123
virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes all scan lists.
Definition dr1801uv_codeplug.cc:2038
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const
Decodes all scan lists.
Definition dr1801uv_codeplug.cc:2018
virtual MessageElement message(unsigned int n) const
Returns a reference to the n-th message.
Definition dr1801uv_codeplug.cc:2013
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:1999
static constexpr unsigned int size()
Size of the element.
Definition dr1801uv_codeplug.hh:1302
virtual void setMessageCount(unsigned int count)
Sets the number of messages.
Definition dr1801uv_codeplug.cc:2008
MessageBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:1986
virtual unsigned int messageCount() const
Returns the number of elements in the bank.
Definition dr1801uv_codeplug.cc:2004
Implements the binary representation of a single message.
Definition dr1801uv_codeplug.hh:1239
virtual unsigned int index() const
Returns the index of the message.
Definition dr1801uv_codeplug.cc:2082
virtual void setIndex(unsigned int index)
Sets the index of the message.
Definition dr1801uv_codeplug.cc:2086
MessageElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2059
bool isValid() const
Returns true if the pointer is not null.
Definition dr1801uv_codeplug.cc:2077
virtual void setText(const QString &text)
Sets the message text.
Definition dr1801uv_codeplug.cc:2095
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:1252
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2072
virtual QString text() const
Returns the message text.
Definition dr1801uv_codeplug.cc:2091
Implements the binary encoding of a one-touch setting.
Definition dr1801uv_codeplug.hh:2267
virtual bool hasDTMFID() const
Returns true if a DTMF ID is set.
Definition dr1801uv_codeplug.cc:3257
virtual void setContactIndex(unsigned int index)
Sets the contact index.
Definition dr1801uv_codeplug.cc:3213
virtual void clearDTMFIDIndex()
Clears the DTMF ID index.
Definition dr1801uv_codeplug.cc:3269
virtual void clearContact()
Clears the contact.
Definition dr1801uv_codeplug.cc:3217
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:2289
virtual void setDTMFIDIndex(unsigned int index)
Sets the DTMF ID index.
Definition dr1801uv_codeplug.cc:3265
virtual void clearMessage()
Clears the message.
Definition dr1801uv_codeplug.cc:3243
virtual unsigned int messageIndex() const
Returns the message index.
Definition dr1801uv_codeplug.cc:3235
virtual void setMessageIndex(unsigned int index)
Sets the message index.
Definition dr1801uv_codeplug.cc:3239
virtual bool hasContact() const
Returns true if a contact is set.
Definition dr1801uv_codeplug.cc:3205
virtual unsigned int dtmfIDIndex() const
Returns the DTMF ID index.
Definition dr1801uv_codeplug.cc:3261
virtual Type type() const
Returns the type of the one-touch setting.
Definition dr1801uv_codeplug.cc:3248
OneTouchSettingElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:3182
virtual unsigned int contactIndex() const
Returns the DMR contact index.
Definition dr1801uv_codeplug.cc:3209
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:3195
bool isValid() const
Returns true if the setting is enabled.
Definition dr1801uv_codeplug.cc:3200
virtual void setType(Type type)
Sets the type of the one-touch setting.
Definition dr1801uv_codeplug.cc:3252
Action
Possible actions to perform.
Definition dr1801uv_codeplug.hh:2270
virtual void setAction(Action action)
Sets the one-touch action.
Definition dr1801uv_codeplug.cc:3226
Type
Possible one-touch types.
Definition dr1801uv_codeplug.hh:2274
virtual Action action() const
Returns the one-touch action.
Definition dr1801uv_codeplug.cc:3222
virtual bool hasMessage() const
Returns true, if a message is set.
Definition dr1801uv_codeplug.cc:3231
virtual OneTouchSettingElement setting(unsigned int n) const
Returns a reference to the n-th one-touch setting.
Definition dr1801uv_codeplug.cc:3174
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:3165
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:2363
OneTouchSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:3152
virtual unsigned int settingsCount() const
Returns the number of one-touch settings.
Definition dr1801uv_codeplug.cc:3169
Implements the encoding of the DTMF PTT IDs.
Definition dr1801uv_codeplug.hh:1834
virtual void setPTTIDCount(unsigned int n)
Set the number of PTT IDs.
Definition dr1801uv_codeplug.cc:2723
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:1846
virtual PTTIDElement pttID(unsigned int n)
Returns a reference to the n-th PTT ID.
Definition dr1801uv_codeplug.cc:2728
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2714
virtual unsigned int idCount() const
Returns the number of PTT IDs defined.
Definition dr1801uv_codeplug.cc:2719
PTTIDBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2701
Implements the PTT ID.
Definition dr1801uv_codeplug.hh:1754
virtual bool hasEOTID() const
Returns true if the EOT DTMF ID is set.
Definition dr1801uv_codeplug.cc:2806
virtual void setIDMode(IDMode mode)
Sets the ID mode.
Definition dr1801uv_codeplug.cc:2784
PTTIDElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2736
Transmit
Possible modes of transmission.
Definition dr1801uv_codeplug.hh:1757
virtual unsigned int dtmfSystemIndex() const
Returns the DTMF system index.
Definition dr1801uv_codeplug.cc:2758
virtual void setBOTIDIndex(unsigned int index)
Sets the BOT DTMF ID index.
Definition dr1801uv_codeplug.cc:2797
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2749
virtual unsigned int botIDIndex() const
Returns the BOT DTMF ID index.
Definition dr1801uv_codeplug.cc:2793
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:1776
virtual void clearDTMFSystem()
Clears the DTMF system.
Definition dr1801uv_codeplug.cc:2766
virtual void setTransmitMode(Transmit mode)
Sets the ID transmission mode.
Definition dr1801uv_codeplug.cc:2775
virtual void clearBOTID()
Clears the BOT DTMF ID index.
Definition dr1801uv_codeplug.cc:2801
virtual void setDTMFSystemIndex(unsigned int index)
Sets the DTMF system index.
Definition dr1801uv_codeplug.cc:2762
virtual void setEOTIDIndex(unsigned int index)
Sets the EOT DTMF ID index.
Definition dr1801uv_codeplug.cc:2814
virtual Transmit transmitMode() const
Returns the ID transmission mode.
Definition dr1801uv_codeplug.cc:2771
virtual unsigned int eotIDIndex() const
Returns the EOT DTMF ID index.
Definition dr1801uv_codeplug.cc:2810
virtual bool hasBOTID() const
Returns true if the BOT DTMF ID is set.
Definition dr1801uv_codeplug.cc:2789
IDMode
Possible ID modes.
Definition dr1801uv_codeplug.hh:1761
virtual void clearEOTID()
Clears the EOT DTMF ID index.
Definition dr1801uv_codeplug.cc:2818
virtual bool hasDTMFSystem() const
Returns true, if the DTMF system is set.
Definition dr1801uv_codeplug.cc:2754
virtual IDMode idMode() const
Returns the ID mode.
Definition dr1801uv_codeplug.cc:2780
virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes all scan lists.
Definition dr1801uv_codeplug.cc:1763
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:1199
virtual ScanListElement scanList(unsigned int index) const
Returns a reference to the n-th scan list.
Definition dr1801uv_codeplug.cc:1715
virtual void setScanListCount(unsigned int count)
Sets the number of scan lists.
Definition dr1801uv_codeplug.cc:1709
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:1700
virtual unsigned int scanListCount() const
Returns the number of scan lists.
Definition dr1801uv_codeplug.cc:1705
virtual bool link(Context &ctx, const ErrorStack &err=ErrorStack()) const
Links the scan lists.
Definition dr1801uv_codeplug.cc:1741
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const
Decodes all scan lists.
Definition dr1801uv_codeplug.cc:1720
ScanListBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:1687
Implements the binary encoding of a scan list element.
Definition dr1801uv_codeplug.hh:1073
PriorityChannel
Possible priority channel modes.
Definition dr1801uv_codeplug.hh:1076
virtual bool linkScanListObj(ScanList *obj, Context &ctx, const ErrorStack &err=ErrorStack())
Links the scan-list object.
Definition dr1801uv_codeplug.cc:1898
virtual void setName(const QString &name)
Sets the name of the scan list.
Definition dr1801uv_codeplug.cc:1878
virtual unsigned int priorityChannel2Index() const
Returns the priority channel 2 index.
Definition dr1801uv_codeplug.cc:1848
ScanListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:1782
virtual void setPriorityChannel2(PriorityChannel mode)
Sets the priority channel 2 setting.
Definition dr1801uv_codeplug.cc:1844
virtual unsigned int entryIndex(unsigned int n)
Returns the n-th entry index.
Definition dr1801uv_codeplug.cc:1883
virtual unsigned int priorityChannel1Index() const
Returns the priority channel 1 index.
Definition dr1801uv_codeplug.cc:1831
virtual void setPriorityChannel2Index(unsigned int index)
Sets the priority channel 2 index.
Definition dr1801uv_codeplug.cc:1852
virtual bool encode(ScanList *obj, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the scan list.
Definition dr1801uv_codeplug.cc:1941
virtual void setEntryCount(unsigned int num)
Sets the number of entries.
Definition dr1801uv_codeplug.cc:1818
bool isValid() const
Returns true if the pointer is not null.
Definition dr1801uv_codeplug.cc:1800
virtual void setPriorityChannel1Index(unsigned int index)
Sets the priority channel 1 index.
Definition dr1801uv_codeplug.cc:1835
virtual PriorityChannel priorityChannel1() const
Returns the priority channel 1 setting.
Definition dr1801uv_codeplug.cc:1823
virtual ScanList * toScanListObj(Context &ctx, const ErrorStack &err=ErrorStack())
Constructs a scan-list object from this element.
Definition dr1801uv_codeplug.cc:1892
virtual PriorityChannel priorityChannel2() const
Returns the priority channel 2 setting.
Definition dr1801uv_codeplug.cc:1840
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:1097
RevertChannel
Possible revert channel modes.
Definition dr1801uv_codeplug.hh:1081
virtual QString name() const
Returns the name of the scan list.
Definition dr1801uv_codeplug.cc:1874
virtual void setEntryIndex(unsigned int n, unsigned int index)
Sets the n-th entry index.
Definition dr1801uv_codeplug.cc:1887
virtual unsigned int revertChannelIndex() const
Returns the revert channel index.
Definition dr1801uv_codeplug.cc:1865
virtual void setRevertChannelIndex(unsigned int index)
Sets the revert channel index.
Definition dr1801uv_codeplug.cc:1869
virtual RevertChannel revertChannel() const
Returns the revert channel setting.
Definition dr1801uv_codeplug.cc:1857
virtual void setRevertChannel(RevertChannel mode)
Sets the revert channel setting.
Definition dr1801uv_codeplug.cc:1861
virtual unsigned int index() const
Returns the index of the scan list.
Definition dr1801uv_codeplug.cc:1805
virtual void setIndex(unsigned int idx)
Sets the index of the scan list.
Definition dr1801uv_codeplug.cc:1809
virtual unsigned int entryCount() const
Returns the number of entries.
Definition dr1801uv_codeplug.cc:1814
virtual void setPriorityChannel1(PriorityChannel mode)
Sets the priority channel 1 setting.
Definition dr1801uv_codeplug.cc:1827
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:1795
virtual unsigned int dmrID() const
Returns the radios DMR ID.
Definition dr1801uv_codeplug.cc:1252
virtual float reverseBurstFrequency() const
Returns the reverse burst frequency in Hz.
Definition dr1801uv_codeplug.cc:1451
virtual void enableDMRVoiceEndTone(bool enable)
Enables/disables the DMR voice end roger tone.
Definition dr1801uv_codeplug.cc:1404
virtual void setBootLine2(const QString &line)
Sets the boot-screen line 2.
Definition dr1801uv_codeplug.cc:1554
virtual unsigned int loneWorkerReminderTime() const
Returns the lone-worker reminder time in seconds.
Definition dr1801uv_codeplug.cc:1576
virtual bool dmrCallEndToneEnabled() const
Returns true if the DMR call end roger tone is enabled.
Definition dr1801uv_codeplug.cc:1416
BacklightTime
Possible backlight time settings.
Definition dr1801uv_codeplug.hh:773
SquelchMode
Possible squelch modes.
Definition dr1801uv_codeplug.hh:760
virtual void setRingTone(RingTone tone)
Sets the ringtone.
Definition dr1801uv_codeplug.cc:1437
ScanMode
Possible scan modes.
Definition dr1801uv_codeplug.hh:793
virtual void enableEncryption(bool enable)
Enables/disables encryption globally.
Definition dr1801uv_codeplug.cc:1312
virtual bool lockSideKey2() const
Returns true if the side-key 2 gets locked too.
Definition dr1801uv_codeplug.cc:1341
virtual void setBootPassword(const QString &passwd)
Sets and enables boot password.
Definition dr1801uv_codeplug.cc:1593
virtual bool decode(Config *config, const ErrorStack &err=ErrorStack())
Updates configuration.
Definition dr1801uv_codeplug.cc:1629
virtual bool campandingEnabled() const
Returns true, if campanding is enabled.
Definition dr1801uv_codeplug.cc:1469
virtual void setScanMode(ScanMode mode)
Sets the scan mode.
Definition dr1801uv_codeplug.cc:1517
virtual bool encryptionEnabled() const
Returns true if encryption is enabled.
Definition dr1801uv_codeplug.cc:1308
DisplayMode
Possible display modes.
Definition dr1801uv_codeplug.hh:783
DualWatchMode
Possible dual-watch modes.
Definition dr1801uv_codeplug.hh:788
virtual RingTone ringTone() const
Returns the ringtone.
Definition dr1801uv_codeplug.cc:1433
virtual void setRadioName(const QString &name)
Sets the radio name.
Definition dr1801uv_codeplug.cc:1446
virtual DualWatchMode dualWatchMode() const
Returns the dual-watch mode.
Definition dr1801uv_codeplug.cc:1504
virtual void enableLockSideKey2(bool enable)
Enables/disables locking the side-key 2.
Definition dr1801uv_codeplug.cc:1345
virtual bool lockSideKey1() const
Returns true if the side-key 1 gets locked too.
Definition dr1801uv_codeplug.cc:1333
virtual void setTuningModeUp(TuningMode mode)
Sets the tuning mode up-direction.
Definition dr1801uv_codeplug.cc:1482
virtual void setProgPassword(const QString &passwd)
Sets and enables programming password.
Definition dr1801uv_codeplug.cc:1615
BootScreen
Possible boot screen modes.
Definition dr1801uv_codeplug.hh:798
virtual void setLoneWorkerReminderTime(unsigned int sec)
Sets the lone-worker resminder time in seconds.
Definition dr1801uv_codeplug.cc:1580
PowerSaveMode
Possible power-save modes.
Definition dr1801uv_codeplug.hh:750
virtual void setLoneWorkerResponseTime(unsigned int sec)
Sets the lone-worker response time in seconds.
Definition dr1801uv_codeplug.cc:1572
virtual BacklightTime backlightTime() const
Returns the backlight time settings.
Definition dr1801uv_codeplug.cc:1460
virtual bool keyLockEnabled() const
Returns true if the key-lock is enabled.
Definition dr1801uv_codeplug.cc:1317
virtual void setBacklightTime(BacklightTime time)
Sets the backlight time.
Definition dr1801uv_codeplug.cc:1464
virtual void enableLockPTT(bool enable)
Enables/disables locking the PTT.
Definition dr1801uv_codeplug.cc:1353
SettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:1234
virtual TuningMode tuningModeDown() const
Returns the tuning mode down-direction.
Definition dr1801uv_codeplug.cc:1486
virtual bool fmCallOutToneEnabled() const
Returns true if the FM call out roger tone is enabled.
Definition dr1801uv_codeplug.cc:1392
virtual bool bootPasswordEnabled() const
Returns true if the boot password is enabled.
Definition dr1801uv_codeplug.cc:1585
virtual bool ledEnabled() const
Returns true if the LED is enabled.
Definition dr1801uv_codeplug.cc:1559
virtual void setDualWatchMode(DualWatchMode mode)
Sets the dual-watch mode.
Definition dr1801uv_codeplug.cc:1508
virtual Level voxSensitivity() const
Returns the VOX sensitivity [0,10].
Definition dr1801uv_codeplug.cc:1276
virtual Interval voxDelay() const
Returns the VOX delay in ms.
Definition dr1801uv_codeplug.cc:1295
virtual BootSettings::BootDisplay bootScreen() const
Returns the boot-screen mode.
Definition dr1801uv_codeplug.cc:1523
virtual void enableLED(bool enabled)
Enables/disables the LED.
Definition dr1801uv_codeplug.cc:1563
virtual void enableDMRCallOutTone(bool enable)
Enables/disables the DMR call out roger tone.
Definition dr1801uv_codeplug.cc:1388
virtual bool dmrVoiceEndToneEnabled() const
Returns true if the DMR voice end roger tone is enabled.
Definition dr1801uv_codeplug.cc:1400
virtual void enableFMCallOutTone(bool enable)
Enables/disables the FM call out roger tone.
Definition dr1801uv_codeplug.cc:1396
virtual void enableCampanding(bool enable)
Enables/disables campanding.
Definition dr1801uv_codeplug.cc:1473
virtual void setKeyLockDelay(unsigned int sec)
Sets the key-lock delay in seconds.
Definition dr1801uv_codeplug.cc:1329
virtual QString bootLine1() const
Returns the boot-screen line 1.
Definition dr1801uv_codeplug.cc:1542
virtual QString bootPassword() const
Returns the boot password.
Definition dr1801uv_codeplug.cc:1589
virtual bool progPasswordEnabled() const
Returns true if the programming password is enabled.
Definition dr1801uv_codeplug.cc:1607
virtual void enableMessageTone(bool enable)
Enables/disables message tone.
Definition dr1801uv_codeplug.cc:1428
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:813
virtual void enableDMRCallEndTone(bool enable)
Enables/disables the DMR call end roger tone.
Definition dr1801uv_codeplug.cc:1420
virtual bool messageToneEnabled() const
Returns true if the message tone is enabled.
Definition dr1801uv_codeplug.cc:1424
virtual QString progPassword() const
Returns the programming password.
Definition dr1801uv_codeplug.cc:1611
virtual void setTuningModeDown(TuningMode mode)
Sets the tuning mode down-direction.
Definition dr1801uv_codeplug.cc:1490
virtual DisplayMode displayMode() const
Returns the display mode.
Definition dr1801uv_codeplug.cc:1495
virtual void setDMRID(unsigned int id)
Sets the radios DMR ID.
Definition dr1801uv_codeplug.cc:1256
virtual PowerSaveMode powerSaveMode() const
Returns the the power-save mode.
Definition dr1801uv_codeplug.cc:1261
virtual QString radioName() const
Returns the radio name.
Definition dr1801uv_codeplug.cc:1442
virtual bool dmrCallOutToneEnabled() const
Returns true if the DMR call out roger tone is enabled.
Definition dr1801uv_codeplug.cc:1384
virtual void setVOXDelay(Interval ms)
Sets the VOX delay in ms.
Definition dr1801uv_codeplug.cc:1300
virtual void setReverseBurstFrequency(float Hz)
Sets the reverse burst frequency in Hz.
Definition dr1801uv_codeplug.cc:1455
TuningMode
Possible tuning modes.
Definition dr1801uv_codeplug.hh:778
virtual void setBootScreen(BootSettings::BootDisplay mode)
Sets the boot-screen mode.
Definition dr1801uv_codeplug.cc:1532
virtual void enableFMVoiceEndTone(bool enable)
Enables/disables the FM voice end roger tone.
Definition dr1801uv_codeplug.cc:1412
virtual void enableRogerTones(bool enable)
Enables/disables roger tones.
Definition dr1801uv_codeplug.cc:1380
virtual void setBootLine1(const QString &line)
Sets the boot-screen line 1.
Definition dr1801uv_codeplug.cc:1546
virtual ScanMode scanMode() const
Returns the scan mode.
Definition dr1801uv_codeplug.cc:1513
virtual QString bootLine2() const
Returns the boot-screen line 2.
Definition dr1801uv_codeplug.cc:1550
virtual void setVOXSensitivity(Level sens)
Sets the VOX sensitivity [0,10].
Definition dr1801uv_codeplug.cc:1284
virtual void setPowerSaveMode(PowerSaveMode mode)
Sets the power-save mode.
Definition dr1801uv_codeplug.cc:1269
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:1247
virtual void enableLockSideKey1(bool enable)
Enables/disables locking the side-key 1.
Definition dr1801uv_codeplug.cc:1337
virtual void enableKeyLock(bool enable)
Enable/disable key-lock.
Definition dr1801uv_codeplug.cc:1321
virtual bool lockPTT() const
Returns true if the PTT gets locked too.
Definition dr1801uv_codeplug.cc:1349
virtual unsigned int keyLockDelay() const
Returns the key-lock delay in seconds.
Definition dr1801uv_codeplug.cc:1325
virtual void setDisplayMode(DisplayMode mode)
Sets the display mode.
Definition dr1801uv_codeplug.cc:1499
virtual bool rogerTonesEnabled() const
Returns true, if the roger tones are enabled.
Definition dr1801uv_codeplug.cc:1376
Language
Possible UI languages.
Definition dr1801uv_codeplug.hh:755
virtual void setLanguage(Language lang)
Sets the UI language.
Definition dr1801uv_codeplug.cc:1362
virtual unsigned int loneWorkerResponseTime() const
Returns the lone-worker response time in seconds.
Definition dr1801uv_codeplug.cc:1568
virtual SquelchMode squelchMode() const
Returns the squelch mode.
Definition dr1801uv_codeplug.cc:1367
RingTone
Possible ring tone variants.
Definition dr1801uv_codeplug.hh:765
virtual void clearProgPassword()
Clears and disables programming password.
Definition dr1801uv_codeplug.cc:1622
virtual bool encode(Config *config, const ErrorStack &err=ErrorStack())
Encode from config.
Definition dr1801uv_codeplug.cc:1655
virtual void clearBootPassword()
Clears and disables boot password.
Definition dr1801uv_codeplug.cc:1600
virtual Language language() const
Returns the UI language.
Definition dr1801uv_codeplug.cc:1358
virtual void setSquelchMode(SquelchMode mode)
Sets the squelch mode.
Definition dr1801uv_codeplug.cc:1371
virtual TuningMode tuningModeUp() const
Returns the tuning mode up-direction.
Definition dr1801uv_codeplug.cc:1478
virtual bool fmVoiceEndToneEnabled() const
Returns true if the FM voice end roger tone is enabled.
Definition dr1801uv_codeplug.cc:1408
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:2193
virtual ChannelElement vfoB() const
Returns a reference to the VFO A settings.
Definition dr1801uv_codeplug.cc:2203
virtual QString nameA() const
Returns the name of the first VFO.
Definition dr1801uv_codeplug.cc:2208
virtual void setNameB(const QString &name)
Sets the name for the second VFO.
Definition dr1801uv_codeplug.cc:2221
virtual QString nameB() const
Returns the name of the second VFO.
Definition dr1801uv_codeplug.cc:2217
VFOBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:2180
static constexpr unsigned int size()
Returns the size of the element.
Definition dr1801uv_codeplug.hh:1419
virtual ChannelElement vfoA() const
Returns a reference to the VFO A settings.
Definition dr1801uv_codeplug.cc:2198
virtual void setNameA(const QString &name)
Sets the name for the first VFO.
Definition dr1801uv_codeplug.cc:2212
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:696
virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes all zones.
Definition dr1801uv_codeplug.cc:1110
virtual void setUpZoneIndex(unsigned int index)
Sets the so-called up-zone index.
Definition dr1801uv_codeplug.cc:1046
virtual bool link(Context &ctx, const ErrorStack &err=ErrorStack()) const
Links all zones.
Definition dr1801uv_codeplug.cc:1088
virtual unsigned int upZoneIndex() const
Returns the so-called up-zone index.
Definition dr1801uv_codeplug.cc:1042
virtual void setZoneCount(unsigned int count)
Sets the number of zones.
Definition dr1801uv_codeplug.cc:1036
ZoneBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:1014
virtual ZoneElement zone(unsigned int index) const
Returns a reference to the n-th zone.
Definition dr1801uv_codeplug.cc:1060
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const
Decodes all zones.
Definition dr1801uv_codeplug.cc:1065
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:1027
virtual unsigned int downZoneIndex() const
Returns the so-called down-zone index.
Definition dr1801uv_codeplug.cc:1051
virtual unsigned int zoneCount() const
Returns the number of zones.
Definition dr1801uv_codeplug.cc:1032
virtual void setDownZoneIndex(unsigned int index)
Sets the so-called down-zone index.
Definition dr1801uv_codeplug.cc:1055
Implements the binary encoding of a zone.
Definition dr1801uv_codeplug.hh:619
virtual bool encode(Zone *obj, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the zone.
Definition dr1801uv_codeplug.cc:1217
virtual void setName(const QString &name)
Sets the name of the zone.
Definition dr1801uv_codeplug.cc:1156
void clear()
Abstract method to reset the element within the codeplug.
Definition dr1801uv_codeplug.cc:1140
ZoneElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition dr1801uv_codeplug.cc:1127
virtual QString name() const
Returns the name of the zone.
Definition dr1801uv_codeplug.cc:1151
virtual unsigned int index() const
Returns the index of the zone.
Definition dr1801uv_codeplug.cc:1163
virtual void setIndex(unsigned int index)
Sets the index of the zone.
Definition dr1801uv_codeplug.cc:1167
virtual bool linkZoneObj(Zone *obj, Context &ctx, const ErrorStack &err=ErrorStack())
Links the zone object.
Definition dr1801uv_codeplug.cc:1199
bool isValid() const
Returns true if the pointer is not null.
Definition dr1801uv_codeplug.cc:1145
static constexpr unsigned int size()
The size of the element.
Definition dr1801uv_codeplug.hh:632
virtual Zone * toZoneObj(Context &ctx, const ErrorStack &err=ErrorStack())
Constructs a zone object from this element.
Definition dr1801uv_codeplug.cc:1187
virtual unsigned int numEntries() const
Returns the number of entries.
Definition dr1801uv_codeplug.cc:1172
virtual void setEntryIndex(unsigned int n, unsigned int index)
Sets the n-th entry index.
Definition dr1801uv_codeplug.cc:1181
virtual unsigned int entryIndex(unsigned int n)
Returns the channel index of the n-th entry.
Definition dr1801uv_codeplug.cc:1176
bool decode(Config *config, const ErrorStack &err=ErrorStack())
Decodes a binary codeplug to the given abstract configuration config.
Definition dr1801uv_codeplug.cc:3392
bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition dr1801uv_codeplug.cc:3329
virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack())
Decode codeplug elements.
Definition dr1801uv_codeplug.cc:3409
virtual bool encodeElements(Context &ctx, const ErrorStack &err=ErrorStack())
Encode all elements.
Definition dr1801uv_codeplug.cc:3490
Config * preprocess(Config *config, const ErrorStack &err) const
Returns a prepared configuration for this particular radio.
Definition dr1801uv_codeplug.cc:3285
virtual bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack())
Link decoded elements.
Definition dr1801uv_codeplug.cc:3460
bool encode(Config *config, const Flags &flags, const ErrorStack &err=ErrorStack())
Encodes a given abstract configuration (config) to the device specific binary code-plug.
Definition dr1801uv_codeplug.cc:3374
bool postprocess(Config *config, const ErrorStack &err) const
Returns a post-processed configuration of the decoded config.
Definition dr1801uv_codeplug.cc:3312
DR1801UVCodeplug(QObject *parent=nullptr)
Default constructor.
Definition dr1801uv_codeplug.cc:3277
Base class of all encryption keys.
Definition encryptionextension.hh:10
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition errorstack.hh:43
Bandwidth
Possible bandwidth of an analog channel.
Definition channel.hh:288
Represents a time interval.
Definition interval.hh:11
static constexpr Interval fromSeconds(unsigned long long s)
Definition interval.hh:76
Some simple class implementing a [1-10] level setting.
Definition level.hh:15
Generic representation of a RX group list.
Definition rxgrouplist.hh:14
Simple range class representing some range in some data type.
Definition ranges.hh:14
Generic representation of a scan list.
Definition scanlist.hh:15
Represents a zone within the generic configuration.
Definition zone.hh:15
Some limits.
Definition dr1801uv_codeplug.hh:2091
static constexpr unsigned int alarmSystemCount()
The maximum number of alarm systems.
Definition dr1801uv_codeplug.hh:2093
Some internal offsets within the element.
Definition dr1801uv_codeplug.hh:2098
Some limits.
Definition dr1801uv_codeplug.hh:2043
static constexpr unsigned int nameLength()
The maximum name length.
Definition dr1801uv_codeplug.hh:2045
Some internal offsets within the codeplug.
Definition dr1801uv_codeplug.hh:2050
Limits of some elements.
Definition dr1801uv_codeplug.hh:342
static constexpr unsigned int channelNameLength()
Returns the maximum length of a channel name.
Definition dr1801uv_codeplug.hh:346
static constexpr unsigned int channelCount()
Returns the maximum number of channels.
Definition dr1801uv_codeplug.hh:344
Offsets within the element.
Definition dr1801uv_codeplug.hh:351
Some offsets within the codeplug.
Definition dr1801uv_codeplug.hh:266
Some Limits.
Definition dr1801uv_codeplug.hh:482
static constexpr unsigned int contactCount()
The maximum number of contacts.
Definition dr1801uv_codeplug.hh:484
Offsets within the element.
Definition dr1801uv_codeplug.hh:489
Some limits.
Definition dr1801uv_codeplug.hh:420
static constexpr unsigned int nameLength()
Maximum length of the contact name.
Definition dr1801uv_codeplug.hh:422
Defines offsets within the element.
Definition dr1801uv_codeplug.hh:427
Some limits.
Definition dr1801uv_codeplug.hh:2220
static constexpr Range< unsigned int > activeWait()
The range of active wait period.
Definition dr1801uv_codeplug.hh:2227
static constexpr Range< unsigned int > activeResend()
The range of active resend count.
Definition dr1801uv_codeplug.hh:2229
static constexpr Range< unsigned int > preSend()
The range of pre-send count.
Definition dr1801uv_codeplug.hh:2231
static constexpr Range< Interval > holdTime()
The range of hold time.
Definition dr1801uv_codeplug.hh:2222
static constexpr Range< unsigned int > remoteListen()
The range of remote listen duration.
Definition dr1801uv_codeplug.hh:2225
static constexpr Range< unsigned int > voiceHead()
The range of voice head count.
Definition dr1801uv_codeplug.hh:2233
Internal offsets within the element.
Definition dr1801uv_codeplug.hh:2238
Some limits.
Definition dr1801uv_codeplug.hh:1733
static constexpr unsigned int idCount()
The maximum number of IDs.
Definition dr1801uv_codeplug.hh:1735
Some offsets within the codeplug.
Definition dr1801uv_codeplug.hh:1740
Some limits.
Definition dr1801uv_codeplug.hh:1680
static constexpr unsigned int numberLength()
The maximum number of digits of the number.
Definition dr1801uv_codeplug.hh:1682
Some internal offset within the element.
Definition dr1801uv_codeplug.hh:1692
Some limits.
Definition dr1801uv_codeplug.hh:1958
static constexpr unsigned int radioIDLength()
The maximum length of the radio ID.
Definition dr1801uv_codeplug.hh:1960
static constexpr unsigned int killCodeLength()
The maximum length of the kill code.
Definition dr1801uv_codeplug.hh:1962
static constexpr unsigned int wakeCodeLength()
The maximum length of the wake code.
Definition dr1801uv_codeplug.hh:1964
Internal offsets within the settings element.
Definition dr1801uv_codeplug.hh:1969
Some limits.
Definition dr1801uv_codeplug.hh:1638
static constexpr unsigned int systemCount()
The maximum number of DTMF systems.
Definition dr1801uv_codeplug.hh:1640
Some offsets within the element.
Definition dr1801uv_codeplug.hh:1645
Some offsets within the element.
Definition dr1801uv_codeplug.hh:1597
Some limits for the key bank.
Definition dr1801uv_codeplug.hh:1544
static constexpr unsigned int keyCount()
The number of keys.
Definition dr1801uv_codeplug.hh:1546
Some limits for the element.
Definition dr1801uv_codeplug.hh:1497
static constexpr unsigned int keyLength()
The maximum length of the key.
Definition dr1801uv_codeplug.hh:1499
Some internal offsets within the element.
Definition dr1801uv_codeplug.hh:1504
Some limits.
Definition dr1801uv_codeplug.hh:598
static constexpr unsigned int groupListCount()
The maximum number of group lists.
Definition dr1801uv_codeplug.hh:600
Some offsets within the element.
Definition dr1801uv_codeplug.hh:605
Some limits.
Definition dr1801uv_codeplug.hh:555
Some offset within the codeplug.
Definition dr1801uv_codeplug.hh:547
Internal offsets within the element.
Definition dr1801uv_codeplug.hh:1389
Some limits.
Definition dr1801uv_codeplug.hh:1319
static constexpr unsigned int messageCount()
Maximum number of messages.
Definition dr1801uv_codeplug.hh:1320
Offsets within the element.
Definition dr1801uv_codeplug.hh:1325
Some limits.
Definition dr1801uv_codeplug.hh:1276
static constexpr unsigned int textLength()
The maximum message length.
Definition dr1801uv_codeplug.hh:1278
Some offsets within the element.
Definition dr1801uv_codeplug.hh:1266
Defines the offsets within the codeplug.
Definition dr1801uv_codeplug.hh:2409
Some internal offsets.
Definition dr1801uv_codeplug.hh:2333
Some limits.
Definition dr1801uv_codeplug.hh:2373
static constexpr unsigned int settingsCount()
Returns the maximum number of one-touch settings.
Definition dr1801uv_codeplug.hh:2375
Some internal offset.
Definition dr1801uv_codeplug.hh:2380
Some limits.
Definition dr1801uv_codeplug.hh:1858
static constexpr unsigned int idCount()
The maximum number of PTT IDs.
Definition dr1801uv_codeplug.hh:1860
Some internal offsets within the element.
Definition dr1801uv_codeplug.hh:1865
Some internal offsets within the element.
Definition dr1801uv_codeplug.hh:1817
Some limits.
Definition dr1801uv_codeplug.hh:1227
static constexpr unsigned int scanListCount()
Maximum number of scan lists.
Definition dr1801uv_codeplug.hh:1229
Some offsets within the element.
Definition dr1801uv_codeplug.hh:1218
Some limits.
Definition dr1801uv_codeplug.hh:1172
static constexpr unsigned int nameLength()
Maximum length of the name.
Definition dr1801uv_codeplug.hh:1174
static constexpr unsigned int memberCount()
Maximum number of channels in scan list.
Definition dr1801uv_codeplug.hh:1176
Some offsets within the element.
Definition dr1801uv_codeplug.hh:1155
Some limits.
Definition dr1801uv_codeplug.hh:1053
static constexpr unsigned int bootLineLength()
Maximum boot-text lines length.
Definition dr1801uv_codeplug.hh:1057
static constexpr unsigned int bootPasswordLength()
Maximum boot password length.
Definition dr1801uv_codeplug.hh:1059
static constexpr unsigned int radioNameLength()
Maximum radio name length.
Definition dr1801uv_codeplug.hh:1055
static constexpr unsigned int progPasswordLength()
Maximum programming password length.
Definition dr1801uv_codeplug.hh:1061
static constexpr Range< unsigned int > vox()
VOX sensitivity levels.
Definition dr1801uv_codeplug.hh:1063
Some offsets within the element.
Definition dr1801uv_codeplug.hh:1003
Some limits for the element.
Definition dr1801uv_codeplug.hh:1437
static constexpr unsigned int nameLength()
The maximum length of the VFO names (not set).
Definition dr1801uv_codeplug.hh:1439
Some offsets within the element.
Definition dr1801uv_codeplug.hh:1444
Some limits.
Definition dr1801uv_codeplug.hh:724
static constexpr unsigned int zoneCount()
The maximum number of zones.
Definition dr1801uv_codeplug.hh:726
Some offsets within the element.
Definition dr1801uv_codeplug.hh:731
Some limits.
Definition dr1801uv_codeplug.hh:659
static constexpr unsigned int nameLength()
The maximum name length.
Definition dr1801uv_codeplug.hh:661
static constexpr unsigned int memberCount()
The maximum number of channels in the zone.
Definition dr1801uv_codeplug.hh:663
Some offset within the element.
Definition dr1801uv_codeplug.hh:668
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:107
Encodes a selective call.
Definition signaling.hh:13