libdrmconf 0.13.3
A library to program DMR radios.
Loading...
Searching...
No Matches
anytone_codeplug.hh
1#ifndef ANYTONECODEPLUG_HH
2#define ANYTONECODEPLUG_HH
3
4#include "codeplug.hh"
5#include <QGeoCoordinate>
6#include "channel.hh"
7#include "contact.hh"
8#include "anytone_settingsextension.hh"
9
10
11class RadioSettings;
12
13
23 Q_OBJECT
24
25public:
27 struct CTCSS {
28 public:
30 static uint8_t encode(const SelectiveCall &tone);
32 static SelectiveCall decode(uint8_t code);
33
34 protected:
36 static SelectiveCall _codeTable[52];
37 };
38
40 class BitmapElement: public Element
41 {
42 protected:
44 BitmapElement(uint8_t *ptr, size_t size);
45
46 public:
48 void clear();
49
51 virtual bool isEncoded(unsigned int idx) const ;
53 virtual void setEncoded(unsigned int idx, bool enable);
55 virtual void enableFirst(unsigned int n);
56 };
57
60 {
61 protected:
63 InvertedBitmapElement(uint8_t *ptr, size_t size);
64
65 public:
67 void clear();
68
70 virtual bool isEncoded(unsigned int idx) const ;
72 virtual void setEncoded(unsigned int idx, bool enable);
74 virtual void enableFirst(unsigned int n);
75 };
76
84 {
85 protected:
87 InvertedBytemapElement(uint8_t *ptr, size_t size);
88
89 public:
91 void clear();
92
94 virtual bool isEncoded(unsigned int idx) const ;
96 virtual void setEncoded(unsigned int idx, bool enable);
98 virtual void enableFirst(unsigned int n);
99 };
100
107 {
108 public:
110 enum class Mode {
111 Analog = 0,
112 Digital = 1,
113 MixedAnalog = 2,
114 MixedDigital = 3
115 };
116
124
126 enum class RepeaterMode {
127 Simplex = 0,
128 Positive = 1,
129 Negative = 2
130 };
131
133 enum class SignalingMode {
134 None = 0,
135 CTCSS = 1,
136 DCS = 2
137 };
138
140 enum class Admit {
141 Always = 0,
142 Free = 1,
144 SameColorCode = 3,
145 Tone = 1,
146 Busy = 2
147 };
148
150 enum class OptSignaling {
151 Off = 0,
152 DTMF = 1,
153 TwoTone = 2,
154 FiveTone = 3
155 };
156
157 protected:
159 ChannelElement(uint8_t *ptr, unsigned size);
160
161 public:
163 ChannelElement(uint8_t *ptr);
165 virtual ~ChannelElement();
166
168 static constexpr unsigned int size() { return 0x0040; }
169
171 void clear();
172
174 virtual unsigned rxFrequency() const;
176 virtual void setRXFrequency(unsigned hz);
177
181 virtual unsigned txOffset() const;
185 virtual void setTXOffset(unsigned hz);
187 virtual unsigned txFrequency() const;
190 virtual void setTXFrequency(unsigned hz);
191
193 virtual Mode mode() const;
195 virtual void setMode(Mode mode);
196
198 virtual Channel::Power power() const;
200 virtual void setPower(Channel::Power power);
201
203 virtual FMChannel::Bandwidth bandwidth() const;
205 virtual void setBandwidth(FMChannel::Bandwidth bw);
206
208 virtual RepeaterMode repeaterMode() const;
210 virtual void setRepeaterMode(RepeaterMode mode);
211
213 virtual SignalingMode rxSignalingMode() const;
217 virtual SelectiveCall rxTone() const;
219 virtual void setRXTone(const SelectiveCall &code);
220
222 virtual SignalingMode txSignalingMode() const;
226 virtual SelectiveCall txTone() const;
228 virtual void setTXTone(const SelectiveCall &code);
229
231 virtual bool ctcssPhaseReversal() const;
233 virtual void enableCTCSSPhaseReversal(bool enable);
234
236 virtual bool rxOnly() const;
238 virtual void enableRXOnly(bool enable);
240 virtual bool callConfirm() const;
242 virtual void enableCallConfirm(bool enable);
244 virtual bool talkaround() const;
246 virtual void enableTalkaround(bool enable);
247
249 virtual bool txCTCSSIsCustom() const;
251 virtual SelectiveCall txCTCSS() const;
253 virtual void setTXCTCSS(const SelectiveCall &tone);
255 virtual void enableTXCustomCTCSS();
257 virtual bool rxCTCSSIsCustom() const;
259 virtual SelectiveCall rxCTCSS() const;
261 virtual void setRXCTCSS(const SelectiveCall &tone);
263 virtual void enableRXCustomCTCSS();
264
266 virtual SelectiveCall txDCS() const;
268 virtual void setTXDCS(const SelectiveCall &code);
270 virtual SelectiveCall rxDCS() const;
272 virtual void setRXDCS(const SelectiveCall &code);
273
275 virtual double customCTCSSFrequency() const;
277 virtual void setCustomCTCSSFrequency(double hz);
278
280 virtual unsigned twoToneDecodeIndex() const;
282 virtual void setTwoToneDecodeIndex(unsigned idx);
283
285 virtual unsigned contactIndex() const;
287 virtual void setContactIndex(unsigned idx);
288
290 virtual unsigned radioIDIndex() const;
292 virtual void setRadioIDIndex(unsigned idx);
293
298
300 virtual Admit admit() const;
302 virtual void setAdmit(Admit admit);
303
305 virtual OptSignaling optionalSignaling() const;
307 virtual void setOptionalSignaling(OptSignaling sig);
308
310 virtual bool hasScanListIndex() const;
312 virtual unsigned scanListIndex() const;
314 virtual void setScanListIndex(unsigned idx);
316 virtual void clearScanListIndex();
317
319 virtual bool hasGroupListIndex() const;
321 virtual unsigned groupListIndex() const;
323 virtual void setGroupListIndex(unsigned idx);
325 virtual void clearGroupListIndex();
326
328 virtual unsigned twoToneIDIndex() const;
330 virtual void setTwoToneIDIndex(unsigned idx);
332 virtual unsigned fiveToneIDIndex() const;
334 virtual void setFiveToneIDIndex(unsigned idx);
336 virtual unsigned dtmfIDIndex() const;
338 virtual void setDTMFIDIndex(unsigned idx);
339
341 virtual unsigned colorCode() const;
343 virtual void setColorCode(unsigned code);
344
346 virtual DMRChannel::TimeSlot timeSlot() const;
348 virtual void setTimeSlot(DMRChannel::TimeSlot ts);
349
351 virtual bool smsConfirm() const;
353 virtual void enableSMSConfirm(bool enable);
355 virtual bool simplexTDMA() const;
357 virtual void enableSimplexTDMA(bool enable);
359 virtual bool adaptiveTDMA() const;
361 virtual void enableAdaptiveTDMA(bool enable);
363 virtual bool rxAPRS() const;
365 virtual void enableRXAPRS(bool enable);
367 virtual bool loneWorker() const;
369 virtual void enableLoneWorker(bool enable);
370
372 virtual QString name() const;
374 virtual void setName(const QString &name);
375
377 virtual Channel *toChannelObj(Context &ctx) const;
379 virtual bool linkChannelObj(Channel *c, Context &ctx) const;
381 virtual bool fromChannelObj(const Channel *c, Context &ctx);
382
383 public:
385 struct Limit: Element::Limit {
387 static constexpr unsigned int nameLength() { return 16; }
388 };
389
390 protected:
392 struct Offset: public Element::Offset {
394 static constexpr unsigned int rxFrequency() { return 0x0000; }
395 static constexpr unsigned int txFrequencyOffset() { return 0x0004; }
396 static constexpr Bit channelMode() { return {0x0008, 0}; }
397 static constexpr Bit power() { return {0x0008, 2}; }
398 static constexpr Bit bandwidth() { return {0x0008, 4}; }
399 static constexpr Bit repeaterMode() { return {0x0008, 6}; }
400 static constexpr Bit rxSignalingMode() { return {0x0009, 0}; }
401 static constexpr Bit txSignalingMode() { return {0x0009, 2}; }
402 static constexpr Bit ctcssPhaseReversal() { return {0x0009, 4}; }
403 static constexpr Bit rxOnly() { return {0x0009, 5}; }
404 static constexpr Bit callConfirm() { return {0x0009, 6}; }
405 static constexpr Bit talkaround() { return {0x0009, 7}; }
406 static constexpr unsigned int txCTCSS() { return 0x000a; }
407 static constexpr unsigned int rxCTCSS() { return 0x000b; }
408 static constexpr unsigned int txDCS() { return 0x000c; }
409 static constexpr unsigned int rxDCS() { return 0x000e; }
410 static constexpr unsigned int customCTCSS() { return 0x0010; }
411 static constexpr unsigned int twoFunctionIndex() { return 0x0012; }
412 static constexpr unsigned int contactIndex() { return 0x0014; }
413 static constexpr unsigned int radioIdIndex() { return 0x0018; }
414 static constexpr Bit squelchMode() { return {0x0019, 4}; }
415 static constexpr Bit admitCriterion() { return {0x001a, 0}; }
416 static constexpr Bit optionalSingnaling() { return {0x001a, 4}; }
417 static constexpr unsigned int scanListIndex() { return 0x001b; }
418 static constexpr unsigned int groupListIndex() { return 0x001c; }
419 static constexpr unsigned int twoToneIDIndex() { return 0x001d; }
420 static constexpr unsigned int fiveToneIDIndex() { return 0x001e; }
421 static constexpr unsigned int dtmfIDIndex() { return 0x001f; }
422 static constexpr unsigned int colorCode() { return 0x0020; }
423 static constexpr Bit timeSlot() { return {0x0021, 0}; }
424 static constexpr Bit smsConfirm() { return {0x0021, 1}; }
425 static constexpr Bit simplexTDMA() { return {0x0021, 2}; }
426 static constexpr Bit adaptiveTDMA() { return {0x0021, 4}; }
427 static constexpr Bit rxAPRS() { return {0x0021, 5}; }
428 static constexpr Bit loneWorker() { return {0x0021, 7}; }
429 static constexpr unsigned int name() { return 0x0023; }
431 };
432 };
433
436 {
437 protected:
439 ChannelBitmapElement(uint8_t *ptr, size_t size);
440
441 public:
443 ChannelBitmapElement(uint8_t *ptr);
444
446 static constexpr unsigned int size() { return 0x0200; }
447 };
448
449
456 {
457 protected:
459 ContactElement(uint8_t *ptr, unsigned size);
460
461 public:
463 explicit ContactElement(uint8_t *ptr);
465 virtual ~ContactElement();
466
468 static constexpr unsigned int size() { return 0x0064; }
469
471 void clear();
473 bool isValid() const;
474
476 virtual DMRContact::Type type() const;
478 virtual void setType(DMRContact::Type type);
479
481 virtual QString name() const;
483 virtual void setName(const QString &name);
484
486 virtual unsigned number() const;
488 virtual void setNumber(unsigned number);
489
494
496 virtual DMRContact *toContactObj(Context &ctx) const;
498 virtual bool fromContactObj(const DMRContact *contact, Context &ctx);
499
500 public:
502 struct Limit: public Element::Limit {
504 static constexpr unsigned int nameLength() { return 16; }
505 };
506
507 protected:
509 struct Offset: public Element::Offset {
511 static constexpr unsigned int type() { return 0x0000; }
512 static constexpr unsigned int name() { return 0x0001; }
513 static constexpr unsigned int number() { return 0x0023; }
514 static constexpr unsigned int alertType() { return 0x0027; }
516 };
517 };
518
521 {
522 protected:
524 ContactBitmapElement(uint8_t *ptr, size_t size);
525
526 public:
528 ContactBitmapElement(uint8_t *ptr);
529
531 static constexpr unsigned int size() { return 0x0500; }
532 };
533
534
540 {
541 protected:
543 DTMFContactElement(uint8_t *ptr, unsigned size);
544
545 public:
547 explicit DTMFContactElement(uint8_t *ptr);
549 virtual ~DTMFContactElement();
550
552 static constexpr unsigned int size() { return 0x0018; }
553
555 void clear();
556
558 virtual QString number() const;
560 virtual void setNumber(const QString &number);
561
563 virtual QString name() const;
565 virtual void setName(const QString &name);
566
568 virtual DTMFContact *toContact() const;
570 virtual bool fromContact(const DTMFContact *contact);
571
572 public:
574 struct Limit {
575 static constexpr unsigned int digitCount() { return 14; }
576 static constexpr unsigned int nameLength() { return 15; }
577 };
578
579 protected:
581 struct Offset {
583 static constexpr unsigned int digits() { return 0x0000; }
584 static constexpr unsigned int numDigits() { return 0x0007; }
585 static constexpr unsigned int name() { return 0x0008; }
587 };
588 };
589
592 {
593 protected:
595 DTMFContactBytemapElement(uint8_t *ptr, size_t size);
596
597 public:
599 explicit DTMFContactBytemapElement(uint8_t *ptr);
600
602 static constexpr unsigned int size() { return 0x0100; }
603 };
604
605
611 {
612 protected:
614 GroupListElement(uint8_t *ptr, unsigned size);
615
616 public:
618 GroupListElement(uint8_t *ptr);
619
621 static constexpr unsigned int size() { return 0x0120; }
622
624 void clear();
626 bool isValid() const;
627
629 virtual QString name() const;
631 virtual void setName(const QString &name);
632
634 virtual bool hasMemberIndex(unsigned n) const;
636 virtual unsigned memberIndex(unsigned n) const;
638 virtual void setMemberIndex(unsigned n, unsigned idx);
640 virtual void clearMemberIndex(unsigned n);
641
645 virtual RXGroupList *toGroupListObj() const;
648 virtual bool linkGroupList(RXGroupList *lst, Context &ctx) const;
650 virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx);
651
652 public:
654 struct Limit: public Element::Limit {
656 static constexpr unsigned int members() { return 64; }
658 static constexpr unsigned int nameLength() { return 16; }
659 };
660
661 protected:
663 struct Offset: public Element::Offset {
665 static constexpr unsigned int members() { return 0x0000; }
666 static constexpr unsigned int betweenMembers() { return 0x0004; }
667 static constexpr unsigned int name() { return 0x0100; }
669 };
670 };
671
674 {
675 protected:
677 GroupListBitmapElement(uint8_t *ptr, size_t size);
678
679 public:
681 explicit GroupListBitmapElement(uint8_t *ptr);
682
684 static constexpr unsigned int size() { return 0x0020; }
685 };
686
687
693 {
694 public:
696 enum class PriChannel {
697 Off = 0,
698 Primary = 1,
699 Secondary = 2,
700 Both = 3
701 };
702
704 enum class RevertChannel {
705 Selected = 0,
706 SelectedActive = 1,
707 Primary = 2,
708 Secondary = 3,
709 LastCalled = 4,
710 LastUsed = 5,
711 PrimaryActive = 6,
712 SecondaryActive = 7
713 };
714
715 protected:
717 ScanListElement(uint8_t *ptr, unsigned size);
718
719 public:
721 ScanListElement(uint8_t *ptr);
722
724 static constexpr unsigned int size() { return 0x0090; }
725
727 void clear();
728
730 virtual PriChannel priorityChannels() const;
732 virtual void setPriorityChannels(PriChannel sel);
733
735 virtual bool hasPrimary() const;
737 virtual bool primaryIsSelected() const;
739 virtual unsigned primary() const;
741 virtual void setPrimary(unsigned idx);
743 virtual void setPrimarySelected();
745 virtual void clearPrimaryChannel();
746
748 virtual bool hasSecondary() const;
750 virtual bool secondaryIsSelected() const;
752 virtual unsigned secondary() const;
754 virtual void setSecondary(unsigned idx);
756 virtual void setSecondarySelected();
758 virtual void clearSecondaryChannel();
759
761 virtual Interval lookBackTimeA() const;
763 virtual void setLookBackTimeA(const Interval &sec);
765 virtual Interval lookBackTimeB() const;
767 virtual void setLookBackTimeB(const Interval& sec);
769 virtual Interval dropOutDelay() const;
771 virtual void setDropOutDelay(const Interval& sec);
773 virtual Interval dwellTime() const;
775 virtual void setDwellTime(const Interval& sec);
776
778 virtual RevertChannel revertChannel() const;
780 virtual void setRevertChannel(RevertChannel type);
781
783 virtual QString name() const;
785 virtual void setName(const QString &name);
786
788 virtual bool hasMemberIndex(unsigned n) const;
790 virtual unsigned memberIndex(unsigned n) const;
792 virtual void setMemberIndex(unsigned n, unsigned idx);
794 virtual void clearMemberIndex(unsigned n);
795
798 virtual ScanList *toScanListObj() const;
800 virtual bool linkScanListObj(ScanList *lst, Context &ctx) const;
802 virtual bool fromScanListObj(ScanList *lst, Context &ctx);
803
804 public:
806 struct Limit: public Element::Limit {
808 static constexpr unsigned int members() { return 50; }
810 static constexpr unsigned int nameLength() { return 16; }
811 };
812
813 protected:
815 struct Offset: public Element::Offset {
817 static constexpr unsigned int priorityChannel() { return 0x0001; }
818 static constexpr unsigned int primaryChannel() { return 0x0002; }
819 static constexpr unsigned int secondaryChannel() { return 0x0004; }
820 static constexpr unsigned int lookBackTimeA() { return 0x0006; }
821 static constexpr unsigned int lookBackTimeB() { return 0x0008; }
822 static constexpr unsigned int dropOutDelay() { return 0x000a; }
823 static constexpr unsigned int dwellTime() { return 0x000c; }
824 static constexpr unsigned int revertChannel() { return 0x000e; }
825 static constexpr unsigned int name() { return 0x000f; }
826 static constexpr unsigned int members() { return 0x0020; }
827 static constexpr unsigned int betweenMembers() { return 0x0002; }
829 };
830 };
831
834 {
835 protected:
837 ScanListBitmapElement(uint8_t *ptr, size_t size);
838
839 public:
841 ScanListBitmapElement(uint8_t *ptr);
842
844 static constexpr unsigned int size() { return 0x00000020; }
845 };
846
847
853 {
854 protected:
856 RadioIDElement(uint8_t *ptr, unsigned size);
857
858 public:
860 RadioIDElement(uint8_t *ptr);
861
863 static constexpr unsigned int size() { return 0x0020; }
864
866 void clear();
867
869 virtual unsigned number() const;
871 virtual void setNumber(unsigned number);
872
874 virtual QString name() const;
876 virtual void setName(const QString &name);
877
879 virtual bool fromRadioID(DMRRadioID *id);
881 virtual DMRRadioID *toRadioID() const;
882
883 public:
885 struct Limit: public Element::Limit {
887 static constexpr unsigned int nameLength() { return 16; }
888 };
889
890 protected:
892 struct Offset: public Element::Offset {
894 static constexpr unsigned int number() { return 0x0000; }
895 static constexpr unsigned int name() { return 0x0005; }
897 };
898 };
899
902 {
903 protected:
905 RadioIDBitmapElement(uint8_t *ptr, size_t size);
906
907 public:
909 RadioIDBitmapElement(uint8_t *ptr);
910
912 static constexpr unsigned int size() { return 0x0020; }
913 };
914
915
924 {
925 public:
927 enum class AutoShutdown {
928 Off = 0, After10min = 1, After30min = 2, After60min = 3, After120min = 4,
929 };
930
931 protected:
933 GeneralSettingsElement(uint8_t *ptr, unsigned size);
934
935 public:
937 void clear();
938
940 virtual bool keyToneEnabled() const = 0;
942 virtual void enableKeyTone(bool enable) = 0;
943
945 virtual bool displayFrequency() const;
947 virtual void enableDisplayFrequency(bool enable);
949 virtual bool autoKeyLock() const;
951 virtual void enableAutoKeyLock(bool enable);
953 virtual Interval autoShutdownDelay() const;
955 virtual void setAutoShutdownDelay(Interval min);
961 virtual bool bootPassword() const;
963 virtual void enableBootPassword(bool enable);
965 virtual unsigned squelchLevelA() const;
967 virtual void setSquelchLevelA(unsigned level);
969 virtual unsigned squelchLevelB() const;
971 virtual void setSquelchLevelB(unsigned level);
972
978 virtual unsigned dmrMicGain() const = 0;
980 virtual void setDMRMicGain(unsigned int gain) = 0;
981
1002
1023
1025 virtual Interval longPressDuration() const = 0;
1027 virtual void setLongPressDuration(Interval ms) = 0;
1028
1030 virtual bool knobLock() const = 0;
1032 virtual void enableKnobLock(bool enable) = 0;
1034 virtual bool keypadLock() const = 0;
1036 virtual void enableKeypadLock(bool enable) = 0;
1038 virtual bool sidekeysLock() const = 0;
1040 virtual void enableSidekeysLock(bool enable) = 0;
1042 virtual bool keyLockForced() const = 0;
1044 virtual void enableKeyLockForced(bool enable) = 0;
1045
1046 public:
1048 virtual bool vfoModeA() const = 0;
1050 virtual void enableVFOModeA(bool enable) = 0;
1052 virtual bool vfoModeB() const = 0;
1054 virtual void enableVFOModeB(bool enable) = 0;
1055
1057 virtual unsigned memoryZoneA() const = 0;
1059 virtual void setMemoryZoneA(unsigned zone) = 0;
1061 virtual unsigned memoryZoneB() const = 0;
1063 virtual void setMemoryZoneB(unsigned zone) = 0;
1064
1066 virtual bool recording() const = 0;
1068 virtual void enableRecording(bool enable) = 0;
1069
1071 virtual unsigned brightness() const = 0;
1073 virtual void setBrightness(unsigned level) = 0;
1074
1076 virtual bool gps() const = 0;
1078 virtual void enableGPS(bool enable) = 0;
1080 virtual bool smsAlert() const = 0;
1082 virtual void enableSMSAlert(bool enable) = 0;
1084 virtual bool activeChannelB() const = 0;
1086 virtual void enableActiveChannelB(bool enable) = 0;
1088 virtual bool subChannel() const = 0;
1090 virtual void enableSubChannel(bool enable) = 0;
1092 virtual bool callAlert() const = 0;
1094 virtual void enableCallAlert(bool enable) = 0;
1095
1097 virtual QTimeZone gpsTimeZone() const = 0;
1099 virtual void setGPSTimeZone(const QTimeZone &zone) = 0;
1101 virtual bool dmrTalkPermit() const = 0;
1103 virtual bool fmTalkPermit() const = 0;
1105 virtual void enableDMRTalkPermit(bool enable) = 0;
1107 virtual void enableFMTalkPermit(bool enable) = 0;
1109 virtual bool dmrResetTone() const = 0;
1111 virtual void enableDMRResetTone(bool enable) = 0;
1112
1114 virtual bool idleChannelTone() const = 0;
1116 virtual void enableIdleChannelTone(bool enable) = 0;
1118 virtual Interval menuExitTime() const = 0;
1120 virtual void setMenuExitTime(Interval intv) = 0;
1122 virtual bool startupTone() const = 0;
1124 virtual void enableStartupTone(bool enable) = 0;
1126 virtual bool callEndPrompt() const = 0;
1128 virtual void enableCallEndPrompt(bool enable) = 0;
1130 virtual unsigned maxSpeakerVolume() const = 0;
1132 virtual void setMaxSpeakerVolume(unsigned level) = 0;
1134 virtual bool getGPSPosition() const = 0;
1136 virtual void enableGetGPSPosition(bool enable) = 0;
1137
1139 virtual bool volumeChangePrompt() const = 0;
1141 virtual void enableVolumeChangePrompt(bool enable) = 0;
1147 virtual AnytoneDisplaySettingsExtension::LastCallerDisplayMode lastCallerDisplayMode() const = 0;
1149 virtual void setLastCallerDisplayMode(AnytoneDisplaySettingsExtension::LastCallerDisplayMode mode) = 0;
1150
1152 virtual bool displayClock() const = 0;
1154 virtual void enableDisplayClock(bool enable) = 0;
1156 virtual bool enhanceAudio() const = 0;
1158 virtual void enableEnhancedAudio(bool enable) = 0;
1167
1176
1180 virtual unsigned autoRepeaterOffsetFrequencyIndexUHF() const = 0;
1182 virtual void setAutoRepeaterOffsetFrequenyIndexUHF(unsigned idx) = 0;
1188 virtual unsigned autoRepeaterOffsetFrequencyIndexVHF() const = 0;
1190 virtual void setAutoRepeaterOffsetFrequenyIndexVHF(unsigned idx) = 0;
1193
1195 virtual bool showCurrentContact() const = 0;
1197 virtual void enableShowCurrentContact(bool enable) = 0;
1198
1200 virtual void callToneMelody(Melody &melody) const = 0;
1202 virtual void setCallToneMelody(const Melody &melody) = 0;
1204 virtual void idleToneMelody(Melody &melody) const = 0;
1206 virtual void setIdleToneMelody(const Melody &melody) = 0;
1208 virtual void resetToneMelody(Melody &melody) const = 0;
1210 virtual void setResetToneMelody(const Melody &melody) = 0;
1211
1213 virtual bool defaultChannel() const = 0;
1215 virtual void enableDefaultChannel(bool enable) = 0;
1217 virtual unsigned defaultZoneIndexA() const = 0;
1219 virtual void setDefaultZoneIndexA(unsigned idx) = 0;
1221 virtual unsigned defaultZoneIndexB() const = 0;
1223 virtual void setDefaultZoneIndexB(unsigned idx) = 0;
1225 virtual bool defaultChannelAIsVFO() const = 0;
1228 virtual unsigned defaultChannelAIndex() const = 0;
1230 virtual void setDefaultChannelAIndex(unsigned idx) = 0;
1232 virtual void setDefaultChannelAToVFO() = 0;
1234 virtual bool defaultChannelBIsVFO() const = 0;
1237 virtual unsigned defaultChannelBIndex() const = 0;
1239 virtual void setDefaultChannelBIndex(unsigned idx) = 0;
1241 virtual void setDefaultChannelBToVFO() = 0;
1242
1244 virtual bool displayCall() const = 0;
1246 virtual void enableDisplayCall(bool enable) = 0;
1247
1249 virtual AnytoneDisplaySettingsExtension::Color callDisplayColor() const = 0;
1251 virtual void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color) = 0;
1252
1254 virtual bool gpsUnitsImperial() const = 0;
1256 virtual void enableGPSUnitsImperial(bool enable) = 0;
1257
1266
1279
1281 virtual bool showLastHeard() const = 0;
1283 virtual void enableShowLastHeard(bool enable) = 0;
1284
1286 virtual bool keepLastCaller() const = 0;
1288 virtual void enableKeepLastCaller(bool enable) = 0;
1289
1291 virtual bool fromConfig(const Flags &flags, Context &ctx);
1293 virtual bool updateConfig(Context &ctx);
1295 virtual bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err=ErrorStack());
1296
1297 protected:
1299 struct Offset : public Element::Offset {
1301 static constexpr unsigned int displayMode() { return 0x0001; }
1302 static constexpr unsigned int autoKeyLock() { return 0x0002; }
1303 static constexpr unsigned int autoShutDown() { return 0x0003; }
1304 static constexpr unsigned int bootDisplay() { return 0x0006; }
1305 static constexpr unsigned int bootPassword() { return 0x0007; }
1306 static constexpr unsigned int squelchLevelA() { return 0x0009; }
1307 static constexpr unsigned int squelchLevelB() { return 0x000a; }
1309 };
1310 };
1311
1312
1320 {
1321 protected:
1323 ExtendedSettingsElement(uint8_t *ptr, unsigned size);
1324
1325 public:
1327 virtual AnytoneDisplaySettingsExtension::Color channelBNameColor() const = 0;
1329 virtual void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color) = 0;
1330
1332 virtual AnytoneDisplaySettingsExtension::Color zoneANameColor() const = 0;
1334 virtual void setZoneANameColor(AnytoneDisplaySettingsExtension::Color) = 0;
1335
1337 virtual AnytoneDisplaySettingsExtension::Color zoneBNameColor() const = 0;
1339 virtual void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color) = 0;
1340
1342 virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1344 virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1346 virtual bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1347 };
1348
1349
1356 {
1357 protected:
1359 ZoneChannelListElement(uint8_t *ptr, unsigned size);
1360
1361 public:
1363 ZoneChannelListElement(uint8_t *ptr);
1364
1366 static constexpr unsigned int size() { return 0x0400; }
1367
1369 void clear();
1370
1372 virtual bool hasChannelA(unsigned n) const;
1374 virtual unsigned channelIndexA(unsigned n) const;
1376 virtual void setChannelIndexA(unsigned n, unsigned idx);
1378 virtual void clearChannelIndexA(unsigned n);
1379
1381 virtual bool hasChannelB(unsigned n) const;
1383 virtual unsigned channelIndexB(unsigned n) const;
1385 virtual void setChannelIndexB(unsigned n, unsigned idx);
1387 virtual void clearChannelIndexB(unsigned n);
1388
1389 public:
1391 struct Limit: public Element::Limit {
1393 static constexpr unsigned int zones() { return 250; }
1394 };
1395
1396 protected:
1398 struct Offset: public Element::Offset {
1400 static constexpr unsigned int channelsA() { return 0x0000;}
1401 static constexpr unsigned int channelsB() { return 0x0200;}
1402 static constexpr unsigned int betweenChannels() { return 0x0002;}
1404 };
1405 };
1406
1409 {
1410 protected:
1412 ZoneBitmapElement(uint8_t *ptr, size_t size);
1413
1414 public:
1416 ZoneBitmapElement(uint8_t *ptr);
1417
1419 static constexpr unsigned int size() { return 0x0020; }
1420 };
1421
1422
1428 {
1429 protected:
1431 BootSettingsElement(uint8_t *ptr, unsigned size);
1432
1433 public:
1435 BootSettingsElement(uint8_t *ptr);
1436
1438 static constexpr unsigned int size() { return 0x0030; }
1439
1441 void clear();
1442
1444 virtual QString introLine1() const;
1446 virtual void setIntroLine1(const QString &txt);
1448 virtual QString introLine2() const;
1450 virtual void setIntroLine2(const QString &txt);
1451
1453 virtual QString password() const;
1455 virtual void setPassword(const QString &txt);
1456
1458 virtual bool fromConfig(const Flags &flags, Context &ctx);
1460 virtual bool updateConfig(Context &ctx);
1461
1462 public:
1464 struct Limit: public Element::Limit {
1466 static constexpr unsigned int introLineLength() { return 16; }
1468 static constexpr unsigned int passwordLength() { return 8; }
1469 };
1470
1471 protected:
1473 struct Offset: public Element::Offset {
1475 static constexpr unsigned int introLine1() { return 0x0000; }
1476 static constexpr unsigned int introLine2() { return 0x0010; }
1477 static constexpr unsigned int password() { return 0x0020; }
1479 };
1480 };
1481
1482
1488 {
1489 protected:
1491 DMRAPRSSettingsElement(uint8_t *ptr, unsigned size);
1492
1493 public:
1495 explicit DMRAPRSSettingsElement(uint8_t *ptr);
1496
1498 static constexpr unsigned int size() { return 0x0030; }
1499
1501 void clear();
1502
1504 virtual Interval manualInterval() const;
1506 virtual void setManualInterval(const Interval& sec);
1507
1509 virtual bool automatic() const;
1511 virtual Interval automaticInterval() const;
1513 virtual void setAutomaticInterval(const Interval& sec);
1515 virtual void disableAutomatic();
1516
1518 virtual bool fixedLocation() const;
1520 virtual QGeoCoordinate location() const;
1522 virtual void setLocation(const QGeoCoordinate &pos);
1524 virtual void enableFixedLocation(bool enable);
1525
1527 virtual Channel::Power power() const;
1529 virtual void setPower(Channel::Power power);
1530
1532 virtual bool hasChannel(unsigned n) const;
1534 virtual bool channelIsVFOA(unsigned n) const;
1536 virtual bool channelIsVFOB(unsigned n) const;
1538 virtual bool channelIsSelected(unsigned n) const;
1540 virtual unsigned channelIndex(unsigned n) const;
1542 virtual void setChannelIndex(unsigned n, unsigned idx);
1544 virtual void setChannelVFOA(unsigned n);
1546 virtual void setChannelVFOB(unsigned n);
1548 virtual void setChannelSelected(unsigned n);
1550 virtual void clearChannel(unsigned n);
1551
1553 virtual unsigned destination() const;
1555 virtual void setDestination(unsigned id);
1556
1558 virtual DMRContact::Type callType() const;
1560 virtual void setCallType(DMRContact::Type type);
1561
1563 virtual bool timeSlotOverride() const;
1565 virtual DMRChannel::TimeSlot timeslot() const;
1567 virtual void overrideTimeSlot(DMRChannel::TimeSlot ts);
1569 virtual void disableTimeSlotOverride();
1570
1572 virtual bool fromConfig(const Flags &flags, Context &ctx);
1574 virtual bool createGPSSystem(uint8_t i, Context &ctx);
1576 virtual bool linkGPSSystem(uint8_t i, Context &ctx);
1577
1578 protected:
1580 struct Offset: public Element::Offset {
1582 static constexpr unsigned int manualInterval() { return 0x0000; }
1583 static constexpr unsigned int automaticInterval() { return 0x0001; }
1584 static constexpr unsigned int fixedLocation() { return 0x0002; }
1585 static constexpr unsigned int latitudeDeg() { return 0x0003; }
1586 static constexpr unsigned int latitudeMin() { return 0x0004; }
1587 static constexpr unsigned int latitudeSec() { return 0x0005; }
1588 static constexpr unsigned int latitudeHemi() { return 0x0006; }
1589 static constexpr unsigned int longitudeDeg() { return 0x0007; }
1590 static constexpr unsigned int longitudeMin() { return 0x0008; }
1591 static constexpr unsigned int longitudeSec() { return 0x0009; }
1592 static constexpr unsigned int longitudeHemi() { return 0x000a; }
1593 static constexpr unsigned int power() { return 0x000b; }
1594 static constexpr unsigned int channelIndices() { return 0x000c; }
1595 static constexpr unsigned int betweenChannelIndices() { return 0x0002; }
1596 static constexpr unsigned int destinationId() { return 0x001c; }
1597 static constexpr unsigned int callType() { return 0x0020; }
1598 static constexpr unsigned int timeSlot() { return 0x0021; }
1600 };
1601 };
1602
1603
1606 {
1607 protected:
1609 DMRAPRSMessageElement(uint8_t *ptr, size_t size);
1610
1611 public:
1613 DMRAPRSMessageElement(uint8_t *ptr);
1614
1616 static constexpr unsigned int size() { return 0x0030; }
1617
1618 void clear();
1619
1621 virtual QString message() const;
1623 void setMessage(const QString &message);
1624
1626 virtual bool fromConfig(Codeplug::Flags flags, Context &ctx);
1628 virtual bool updateConfig(Context &ctx) const;
1629
1630 public:
1632 struct Limit {
1633 static constexpr unsigned int length() { return 32; }
1634 };
1635
1636 protected:
1638 struct Offset {
1640 static constexpr unsigned int message() { return 0x0000; }
1642 };
1643 };
1644
1650 {
1651 protected:
1653 RepeaterOffsetListElement(uint8_t *ptr, size_t size);
1654
1655 public:
1657 explicit RepeaterOffsetListElement(uint8_t *ptr);
1658
1660 static constexpr unsigned int size() { return 0x03f0; }
1661
1662 void clear();
1663
1665 virtual bool isSet(unsigned int n) const;
1667 virtual Frequency offset(unsigned int n) const;
1669 virtual void setOffset(unsigned int n, Frequency freq);
1671 virtual void clearOffset(unsigned int n);
1672
1673 public:
1675 struct Limit {
1676 static constexpr unsigned int numEntries() { return 250; }
1677 };
1678
1679 protected:
1681 struct Offset {
1683 static constexpr unsigned int frequencies() { return 0x0000; }
1684 static constexpr unsigned int betweenFrequencies() { return sizeof(uint32_t); }
1686 };
1687 };
1688
1696 {
1697 protected:
1699 MessageListElement(uint8_t *ptr, unsigned size);
1700
1701 public:
1703 explicit MessageListElement(uint8_t *ptr);
1704
1706 static constexpr unsigned int size() { return 0x0010; }
1707
1709 void clear();
1710
1712 virtual bool hasNext() const;
1714 virtual unsigned next() const;
1716 virtual void setNext(unsigned idx);
1718 virtual void clearNext();
1719
1721 virtual bool hasIndex() const;
1723 virtual unsigned index() const;
1725 virtual void setIndex(unsigned idx);
1727 virtual void clearIndex();
1728
1729 protected:
1731 struct Offset: public Element::Offset {
1732 static constexpr unsigned int next() { return 0x0002; }
1733 static constexpr unsigned int index() { return 0x0003; }
1734 };
1735 };
1736
1737
1743 {
1744 protected:
1746 MessageElement(uint8_t *ptr, unsigned size);
1747
1748 public:
1750 MessageElement(uint8_t *ptr);
1751
1753 static constexpr unsigned int size() { return 0x0100; }
1754
1756 void clear();
1757
1759 virtual QString message() const;
1761 virtual void setMessage(const QString &msg);
1762
1763 public:
1765 struct Limit: public Element::Limit {
1767 static constexpr unsigned int messageLength() { return 99; }
1768 };
1769
1770 protected:
1772 struct Offset: public Element::Offset {
1774 static constexpr unsigned int message() { return 0x0000; }
1776 };
1777 };
1778
1781 {
1782 protected:
1784 MessageBytemapElement(uint8_t *ptr, size_t size);
1785
1786 public:
1788 MessageBytemapElement(uint8_t *ptr);
1789
1791 static constexpr unsigned int size() { return 0x0090; }
1792 };
1793
1799 {
1800 public:
1802 enum class Type {
1803 None = 0,
1804 DTMF = 1,
1805 TwoTone = 2,
1806 FiveTone = 3
1807 };
1808
1809 protected:
1811 AnalogQuickCallElement(uint8_t *ptr, unsigned size);
1812
1813 public:
1815 explicit AnalogQuickCallElement(uint8_t *ptr);
1816
1818 static constexpr unsigned int size() { return 0x0002; }
1819
1821 void clear();
1822
1824 virtual Type type() const;
1826 virtual void setType(Type type);
1827
1829 virtual bool hasContactIndex() const;
1831 virtual unsigned contactIndex() const;
1833 virtual void setContactIndex(unsigned idx);
1835 virtual void clearContactIndex();
1836
1837 protected:
1839 struct Offset: public Element::Offset {
1841 static constexpr unsigned int type() { return 0x0000; }
1842 static constexpr unsigned int contactIndex() { return 0x0001; }
1844 };
1845 };
1846
1847
1853 {
1854 protected:
1856 AnalogQuickCallsElement(uint8_t *ptr, size_t size);
1857
1858 public:
1860 AnalogQuickCallsElement(uint8_t *ptr);
1861
1863 static constexpr unsigned int size() { return 0x0100; }
1864
1866 void clear();
1867
1869 uint8_t *quickCall(unsigned int n) const;
1870
1871 public:
1873 struct Limit {
1874 static constexpr unsigned int numEntries() { return 4; }
1875 };
1876
1877 protected:
1879 struct Offset {
1881 static constexpr unsigned int quickCalls() { return 0x0000; }
1883 };
1884 };
1885
1886
1892 {
1893 protected:
1895 StatusMessagesElement(uint8_t *ptr, size_t size);
1896
1897 public:
1899 StatusMessagesElement(uint8_t *ptr);
1900
1902 static constexpr unsigned int size() { return 0x0400; }
1903
1904 void clear();
1905
1907 virtual QString message(unsigned int n) const;
1909 virtual void setMessage(unsigned int n, const QString &msg);
1910
1911 public:
1913 struct Limit {
1914 static constexpr unsigned int numMessages() { return 32; }
1915 static constexpr unsigned int messageLength() { return 32; }
1916 };
1917
1918 protected:
1920 struct Offset {
1922 static constexpr unsigned int messages() { return 0x0000; }
1923 static constexpr unsigned int betweenMessages() { return 0x0020; }
1925 };
1926 };
1927
1930 {
1931 protected:
1933 StatusMessageBitmapElement(uint8_t *ptr, size_t size);
1934
1935 public:
1937 StatusMessageBitmapElement(uint8_t *ptr);
1938
1940 static constexpr unsigned int size() { return 0x0010; }
1941 };
1942
1943
1949 {
1950 public:
1952 enum class Type {
1953 Call = 0,
1954 Menu = 1
1955 };
1956
1958 enum class MenuItem {
1959 SMS = 1,
1960 NewSMS = 2,
1961 HotText = 3,
1962 Inbox = 4,
1963 Outbox = 5,
1964 Contacts = 6,
1965 ManualDial = 7,
1966 CallLog = 8
1967 };
1968
1970 enum class CallType {
1971 Analog = 0,
1972 Digital = 1
1973 };
1974
1976 enum class DigiCallType {
1977 Off = 0xff,
1978 GroupCall = 0,
1979 PrivateCall= 1,
1980 AllCall = 2,
1981 HotText = 3,
1982 CallTip = 4,
1983 StatusMessage = 5
1984 };
1985
1986 protected:
1988 HotKeyElement(uint8_t *ptr, unsigned size);
1989
1990 public:
1992 explicit HotKeyElement(uint8_t *ptr);
1993
1995 static constexpr unsigned int size() { return 0x0030; }
1996
1998 void clear();
1999
2001 virtual Type type() const;
2003 virtual void setType(Type type);
2004
2006 virtual MenuItem menuItem() const;
2009 virtual void setMenuItem(MenuItem item);
2010
2012 virtual CallType callType() const;
2015 virtual void setCallType(CallType type);
2016
2019 virtual DigiCallType digiCallType() const;
2022 virtual void setDigiCallType(DigiCallType type);
2023
2025 virtual bool hasContactIndex() const;
2029 virtual unsigned contactIndex() const;
2032 virtual void setContactIndex(unsigned idx);
2034 virtual void clearContactIndex();
2035
2037 virtual bool hasMessageIndex() const;
2040 virtual unsigned messageIndex() const;
2042 virtual void setMessageIndex(unsigned idx);
2044 virtual void clearMessageIndex();
2045
2046 protected:
2048 struct Offset: public Element::Offset {
2050 static constexpr unsigned int type() { return 0x0000; }
2051 static constexpr unsigned int menuItem() { return 0x0001; }
2052 static constexpr unsigned int callType() { return 0x0002; }
2053 static constexpr unsigned int digiCallType() { return 0x0003; }
2054 static constexpr unsigned int contactIndex() { return 0x0004; }
2055 static constexpr unsigned int messageIndex() { return 0x0008; }
2057 };
2058 };
2059
2060
2068 {
2069 protected:
2071 HotKeySettingsElement(uint8_t *ptr, size_t size);
2072
2073 public:
2075 HotKeySettingsElement(uint8_t *ptr);
2076
2078 static constexpr unsigned int size() { return 0x0360; }
2079
2080 void clear();
2081
2083 virtual uint8_t *hotKeySetting(unsigned int n) const;
2084
2085 public:
2087 struct Limit {
2088 static constexpr unsigned int numEntries() { return 18; }
2089 };
2090
2091 protected:
2093 struct Offset {
2095 static constexpr unsigned int hotKeySettings() { return 0x0000; }
2096 static constexpr unsigned int betweenHotKeySettings() { return HotKeySettingsElement::size(); }
2098 };
2099 };
2100
2106 {
2107 public:
2112 class AnalogAlarm: public Element
2113 {
2114 public:
2116 enum class Action {
2117 None = 0,
2118 Background = 1,
2119 TXAlarm = 2,
2120 Both = 3,
2121 };
2122
2124 enum class ENIType {
2125 None = 0,
2126 DTMF = 1,
2127 FiveTone = 2
2128 };
2129
2130 protected:
2132 AnalogAlarm(uint8_t *ptr, unsigned size);
2133
2134 public:
2136 AnalogAlarm(uint8_t *ptr);
2137
2139 static constexpr unsigned int size() { return 0x000a; }
2140
2142 void clear();
2143
2145 virtual Action action() const;
2147 virtual void setAction(Action action);
2148
2150 virtual ENIType encodingType() const;
2152 virtual void setEncodingType(ENIType type);
2153
2155 virtual unsigned emergencyIndex() const;
2157 virtual void setEmergencyIndex(unsigned idx);
2158
2160 virtual Interval duration() const;
2162 virtual void setDuration(const Interval &sec);
2164 virtual Interval txDuration() const;
2166 virtual void setTXDuration(const Interval &sec);
2168 virtual Interval rxDuration() const;
2170 virtual void setRXDuration(const Interval &sec);
2171
2173 virtual bool channelIsSelected() const;
2175 virtual unsigned channelIndex() const;
2177 virtual void setChannelIndex(unsigned idx);
2179 virtual void setChannelSelected();
2180
2182 virtual bool repeatContinuously() const;
2184 virtual unsigned repetitions() const;
2186 virtual void setRepetitions(unsigned num);
2188 virtual void setRepatContinuously();
2189
2190 protected:
2192 struct Offset: public Element::Offset {
2194 static constexpr unsigned int action() { return 0x0000; }
2195 static constexpr unsigned int encodingType() { return 0x0001; }
2196 static constexpr unsigned int emergencyIndex() { return 0x0002; }
2197 static constexpr unsigned int duration() { return 0x0003; }
2198 static constexpr unsigned int txDuration() { return 0x0004; }
2199 static constexpr unsigned int rxDuration() { return 0x0005; }
2200 static constexpr unsigned int channelIndex() { return 0x0006; }
2201 static constexpr unsigned int channelIsSelected() { return 0x0008; }
2202 static constexpr unsigned int repetitions() { return 0x0009; }
2204 };
2205 };
2206
2207
2212 class DigitalAlarm: public Element
2213 {
2214 public:
2216 enum class Action {
2217 None = 0,
2218 Background = 1,
2219 NonLocal = 2,
2220 Local = 3,
2221 };
2222
2223 protected:
2225 DigitalAlarm(uint8_t *ptr, unsigned size);
2226
2227 public:
2229 explicit DigitalAlarm(uint8_t *ptr);
2230
2232 static constexpr unsigned int size() { return 0x000c; }
2233
2235 void clear();
2236
2238 virtual Action action() const;
2240 virtual void setAction(Action action);
2241
2243 virtual Interval duration() const;
2245 virtual void setDuration(const Interval &sec);
2247 virtual Interval txDuration() const;
2249 virtual void setTXDuration(const Interval &sec);
2251 virtual Interval rxDuration() const;
2253 virtual void setRXDuration(const Interval &sec);
2254
2256 virtual bool channelIsSelected() const;
2258 virtual unsigned channelIndex() const;
2260 virtual void setChannelIndex(unsigned idx);
2262 virtual void setChannelSelected();
2263
2265 virtual bool repeatContinuously() const;
2267 virtual unsigned repetitions() const;
2269 virtual void setRepetitions(unsigned num);
2271 virtual void setRepatContinuously();
2272
2274 virtual Interval voiceBroadcastDuration() const;
2276 virtual void setVoiceBroadcastDuration(const Interval &min);
2278 virtual Interval areaBroadcastDuration() const;
2280 virtual void setAreaBroadcastDuration(const Interval &min);
2281
2283 virtual bool vox() const;
2285 virtual void enableVOX(bool enable);
2287 virtual bool rxAlarm() const;
2289 virtual void enableRXAlarm(bool enable);
2290
2291 protected:
2293 struct Offset: public Element::Offset {
2295 static constexpr unsigned int action() { return 0x0000; }
2296 static constexpr unsigned int duration() { return 0x0001; }
2297 static constexpr unsigned int txDuration() { return 0x0002; }
2298 static constexpr unsigned int rxDuration() { return 0x0003; }
2299 static constexpr unsigned int channelIndex() { return 0x0004; }
2300 static constexpr unsigned int channelIsSelected() { return 0x0006; }
2301 static constexpr unsigned int repetitions() { return 0x0007; }
2302 static constexpr unsigned int voiceBroadcastDuration() { return 0x0008; }
2303 static constexpr unsigned int areaBroadcastDuration() { return 0x0009; }
2304 static constexpr unsigned int vox() { return 0x000a; }
2305 static constexpr unsigned int rxAlarm() { return 0x000b; }
2307 };
2308 };
2309
2310 protected:
2312 AlarmSettingElement(uint8_t *ptr, unsigned size);
2313
2314 public:
2316 AlarmSettingElement(uint8_t *ptr);
2317
2319 static constexpr unsigned int size() { return 0x0020; }
2320
2322 void clear();
2323
2325 virtual uint8_t *analog() const;
2327 virtual uint8_t *digital() const;
2328
2329 protected:
2331 struct Offset {
2333 static constexpr unsigned int analog() { return 0x0000; }
2334 static constexpr unsigned int digital() { return 0x000a; }
2336 };
2337 };
2338
2339
2345 {
2346 protected:
2348 DigitalAlarmExtensionElement(uint8_t *ptr, unsigned size);
2349
2350 public:
2352 DigitalAlarmExtensionElement(uint8_t *ptr);
2353
2355 static constexpr unsigned int size() { return 0x0030; }
2356
2358 void clear();
2359
2361 virtual DMRContact::Type callType() const;
2363 virtual void setCallType(DMRContact::Type type);
2364
2366 virtual unsigned destination() const;
2368 virtual void setDestination(unsigned number);
2369
2370 protected:
2372 struct Offset {
2374 static constexpr unsigned int callType() { return 0x0000; }
2375 static constexpr unsigned int destination() { return 0x0023; }
2377 };
2378 };
2379
2380
2386 {
2387 public:
2389 enum class Standard {
2390 ZVEI1 = 0, ZVEI2, ZVEI3, PZVEI, DZVEI, PDZVEI, CCIR1, CCIR2, PCCIR, EEA, EuroSignal, NATEL,
2391 MODAT, CCITT, EIA
2392 };
2393
2394 protected:
2396 FiveToneIDElement(uint8_t *ptr, unsigned size);
2397
2398 public:
2400 FiveToneIDElement(uint8_t *ptr);
2401
2403 static constexpr unsigned int size() { return 0x0020; }
2404
2406 void clear();
2407
2409 virtual Standard standard() const;
2411 virtual void setStandard(Standard std);
2412
2414 virtual Interval toneDuration() const;
2416 virtual void setToneDuration(const Interval &ms);
2417
2419 virtual QString id() const;
2421 virtual void setID(const QString &id);
2422
2424 virtual QString name() const;
2426 virtual void setName(const QString &name);
2427
2428 public:
2430 struct Limit: public Element::Limit {
2432 static constexpr unsigned int idLength() { return 80; }
2434 static constexpr unsigned int nameLength() { return 7; }
2435 };
2436
2437 protected:
2439 struct Offset: public Element::Offset {
2441 static constexpr unsigned int standard() { return 0x0001; }
2442 static constexpr unsigned int idLength() { return 0x0002; }
2443 static constexpr unsigned int toneDuration() { return 0x0003; }
2444 static constexpr unsigned int id() { return 0x0004; }
2445 static constexpr unsigned int name() { return 0x0018; }
2447 };
2448 };
2449
2452 {
2453 protected:
2455 FiveToneIDBitmapElement(uint8_t *ptr, size_t size);
2456
2457 public:
2459 FiveToneIDBitmapElement(uint8_t *ptr);
2460
2462 static constexpr unsigned int size() { return 0x0010; }
2463 };
2464
2470 {
2471 protected:
2473 FiveToneIDListElement(uint8_t *ptr, size_t size);
2474
2475 public:
2477 FiveToneIDListElement(uint8_t *ptr);
2478
2480 static constexpr unsigned int size() { return 0x0c80; }
2481
2482 void clear();
2483
2485 virtual uint8_t *member(unsigned int n) const;
2486
2487 public:
2489 struct Limit {
2490 static constexpr unsigned int numEntries() { return 100; }
2491 };
2492 };
2493
2499 {
2500 public:
2502 enum class Function {
2503 OpenSquelch=0, CallAll, EmergencyAlarm, RemoteKill, RemoteStun, RemoteWakeup,
2504 GroupCall
2505 };
2506
2508 enum class Response {
2509 None=0, Tone, ToneRespond
2510 };
2511
2512 protected:
2514 FiveToneFunctionElement(uint8_t *ptr, unsigned size);
2515
2516 public:
2518 explicit FiveToneFunctionElement(uint8_t *ptr);
2519
2521 static constexpr unsigned int size() { return 0x0020; }
2522
2524 void clear();
2525
2527 virtual Function function() const;
2529 virtual void setFunction(Function function);
2531 virtual Response response() const;
2533 virtual void setResponse(Response response);
2534
2536 virtual QString id() const;
2538 virtual void setID(const QString &id);
2539
2541 virtual QString name() const;
2543 virtual void setName(const QString &name);
2544
2545 public:
2547 struct Limit: public Element::Limit {
2549 static constexpr unsigned int idLength() { return 24; }
2551 static constexpr unsigned int nameLength() { return 7; }
2552 };
2553
2554 protected:
2556 struct Offset: public Element::Offset {
2558 static constexpr unsigned int function() { return 0x0000; }
2559 static constexpr unsigned int response() { return 0x0001; }
2560 static constexpr unsigned int idLength() { return 0x0002; }
2561 static constexpr unsigned int id() { return 0x0003; }
2562 static constexpr unsigned int name() { return 0x000f; }
2564 };
2565 };
2566
2572 {
2573 protected:
2575 FiveToneFunctionListElement(uint8_t *ptr, size_t size);
2576
2577 public:
2579 FiveToneFunctionListElement(uint8_t *ptr);
2580
2582 static constexpr unsigned int size() { return 0x0200; }
2583
2584 void clear();
2585
2587 virtual uint8_t *function(unsigned int n) const;
2588
2589 public:
2591 struct Limit {
2592 static constexpr unsigned int numFunctions() { return 16; }
2593 };
2594 };
2595
2596
2602 {
2603 public:
2605 enum class Response {
2606 None = 0, Tone, ToneRespond
2607 };
2610
2611 protected:
2613 FiveToneSettingsElement(uint8_t *ptr, unsigned size);
2614
2615 public:
2617 FiveToneSettingsElement(uint8_t *ptr);
2618
2620 static constexpr unsigned int size() { return 0x0080; }
2621
2623 void clear();
2624
2626 virtual Response decodingResponse() const;
2628 virtual void setDecodingResponse(Response response);
2629
2631 virtual Standard decodingStandard() const;
2633 virtual void setDecodingStandard(Standard standard);
2634
2636 virtual Interval decodingToneDuration() const;
2638 virtual void setDecodingToneDuration(const Interval &ms);
2639
2641 virtual QString id() const;
2643 virtual void setID(const QString &id);
2644
2646 virtual Interval postEncodeDelay() const;
2648 virtual void setPostEncodeDelay(const Interval &ms);
2649
2651 virtual bool hasPTTID() const;
2653 virtual unsigned pttID() const;
2655 virtual void setPTTID(unsigned id);
2657 virtual void clearPTTID();
2658
2660 virtual Interval autoResetTime() const;
2662 virtual void setAutoResetTime(const Interval &s);
2663
2665 virtual Interval firstDelay() const;
2667 virtual void setFirstDelay(const Interval &ms);
2668
2670 virtual bool sidetoneEnabled() const;
2672 virtual void enableSidetone(bool enable);
2674 virtual unsigned stopCode() const;
2676 virtual void setStopCode(unsigned code);
2678 virtual Interval stopTime() const;
2680 virtual void setStopTime(const Interval &ms);
2682 virtual Interval decodeTime() const;
2684 virtual void setDecodeTime(const Interval &ms);
2686 virtual Interval delayAfterStop() const;
2688 virtual void setDelayAfterStop(const Interval &ms);
2690 virtual Interval preTime() const;
2692 virtual void setPreTime(const Interval &ms);
2693
2695 virtual Standard botStandard() const;
2697 virtual void setBOTStandard(Standard standard);
2699 virtual Interval botToneDuration() const;
2701 virtual void setBOTToneDuration(const Interval &ms);
2703 virtual QString botID() const;
2705 virtual void setBOTID(const QString &id);
2706
2708 virtual Standard eotStandard() const;
2710 virtual void setEOTStandard(Standard standard);
2712 virtual Interval eotToneDuration() const;
2714 virtual void setEOTToneDuration(const Interval &ms);
2716 virtual QString eotID() const;
2718 virtual void setEOTID(const QString &id);
2719
2720 public:
2722 struct Limit: public Element::Limit {
2724 static constexpr unsigned int idLength() { return 14; }
2726 static constexpr unsigned int botIdLength() { return 24; }
2728 static constexpr unsigned int eotIdLength() { return 24; }
2729 };
2730
2731 protected:
2733 struct Offset: public Element::Offset {
2735 static constexpr unsigned int decodingResponse() { return 0x0021; }
2736 static constexpr unsigned int decodingStandard() { return 0x0022; }
2737 static constexpr unsigned int idLength() { return 0x0023; }
2738 static constexpr unsigned int decodingToneDuration() { return 0x0024; }
2739 static constexpr unsigned int id() { return 0x0025; }
2740 static constexpr unsigned int postDecodeDelay() { return 0x002c; }
2741 static constexpr unsigned int pttId() { return 0x002d; }
2742 static constexpr unsigned int autoResetTime() { return 0x002e; }
2743 static constexpr unsigned int firstDelay() { return 0x002f; }
2744 static constexpr unsigned int sidetoneEnabled() { return 0x0030; }
2745 static constexpr unsigned int stopCode() { return 0x0032; }
2746 static constexpr unsigned int stopTime() { return 0x0033; }
2747 static constexpr unsigned int decodeTime() { return 0x0034; }
2748 static constexpr unsigned int delayAfterStop() { return 0x0035; }
2749 static constexpr unsigned int preTime() { return 0x0036; }
2750 static constexpr unsigned int botStandard() { return 0x0041; }
2751 static constexpr unsigned int botIdLength() { return 0x0042; }
2752 static constexpr unsigned int botToneDuration() { return 0x0043; }
2753 static constexpr unsigned int botId() { return 0x0044; }
2754 static constexpr unsigned int eotStandard() { return 0x0061; }
2755 static constexpr unsigned int eotIdLength() { return 0x0062; }
2756 static constexpr unsigned int eotToneDuration() { return 0x0063; }
2757 static constexpr unsigned int eotId() { return 0x0064; }
2759 };
2760 };
2761
2762
2768 {
2769 protected:
2771 TwoToneIDElement(uint8_t *ptr, unsigned size);
2772
2773 public:
2775 TwoToneIDElement(uint8_t *ptr);
2776
2778 static constexpr unsigned int size() { return 0x0010; }
2779
2781 void clear();
2782
2784 virtual double firstTone() const;
2786 virtual void setFirstTone(double f);
2787
2789 virtual double secondTone() const;
2791 virtual void setSecondTone(double f);
2792
2794 virtual QString name() const;
2796 virtual void setName(const QString &name);
2797
2798 public:
2800 struct Limit {
2801 static constexpr unsigned int nameLength() { return 7; }
2802 };
2803
2804 protected:
2806 struct Offset {
2808 static constexpr unsigned int firstTone() { return 0x0000; }
2809 static constexpr unsigned int secondTone() { return 0x0002; }
2810 static constexpr unsigned int name() { return 0x0008; }
2812 };
2813 };
2814
2817 {
2818 protected:
2820 TwoToneIDBitmapElement(uint8_t *ptr, size_t size);
2821
2822 public:
2824 TwoToneIDBitmapElement(uint8_t *ptr);
2825
2827 static constexpr unsigned int size() { return 0x0010; }
2828 };
2829
2835 {
2836 public:
2838 enum class Response {
2839 None = 0, Tone, ToneRespond
2840 };
2841
2842 protected:
2844 TwoToneFunctionElement(uint8_t *ptr, unsigned size);
2845
2846 public:
2848 TwoToneFunctionElement(uint8_t *ptr);
2849
2851 static constexpr unsigned int size() { return 0x0020; }
2852
2854 void clear();
2855
2857 virtual double firstTone() const;
2859 virtual void setFirstTone(double f);
2860
2862 virtual double secondTone() const;
2864 virtual void setSecondTone(double f);
2865
2867 virtual Response response() const;
2869 virtual void setResponse(Response resp);
2870
2872 virtual QString name() const;
2874 virtual void setName(const QString &name);
2875
2876 public:
2878 struct Limit {
2879 static constexpr unsigned int nameLength() { return 7; }
2880 };
2881
2882 protected:
2884 struct Offset {
2886 static constexpr unsigned int firstTone() { return 0x0000; }
2887 static constexpr unsigned int secondTone() { return 0x0002; }
2888 static constexpr unsigned int response() { return 0x0004; }
2889 static constexpr unsigned int name() { return 0x0005; }
2891 };
2892 };
2893
2896 {
2897 protected:
2899 TwoToneFunctionBitmapElement(uint8_t *ptr, size_t size);
2900
2901 public:
2903 TwoToneFunctionBitmapElement(uint8_t *ptr);
2904
2906 static constexpr unsigned int size() { return 0x0010; }
2907 };
2908
2914 {
2915 protected:
2917 TwoToneSettingsElement(uint8_t *ptr, unsigned size);
2918
2919 public:
2921 TwoToneSettingsElement(uint8_t *ptr);
2922
2924 static constexpr unsigned int size() { return 0x0010; }
2925
2927 void clear();
2928
2930 virtual Interval firstToneDuration() const;
2932 virtual void setFirstToneDuration(const Interval &ms);
2933
2935 virtual Interval secondToneDuration() const;
2937 virtual void setSecondToneDuration(const Interval &ms);
2938
2940 virtual Interval longToneDuration() const;
2942 virtual void setLongToneDuration(const Interval &ms);
2943
2945 virtual Interval gapDuration() const;
2947 virtual void setGapDuration(const Interval &ms);
2948
2950 virtual Interval autoResetTime() const;
2952 virtual void setAutoResetTime(const Interval &sec);
2953
2955 virtual bool sidetone() const;
2957 virtual void enableSidetone(bool enable);
2958
2959 protected:
2961 struct Offset: public Element::Offset {
2963 static constexpr unsigned int firstToneDuration() { return 0x0009; }
2964 static constexpr unsigned int secondToneDuration() { return 0x000a; }
2965 static constexpr unsigned int longToneDuration() { return 0x000b; }
2966 static constexpr unsigned int gapDuration() { return 0x000c; }
2967 static constexpr unsigned int autoResetTime() { return 0x000d; }
2968 static constexpr unsigned int sidetone() { return 0x000e; }
2970 };
2971 };
2972
2973
2979 {
2980 public:
2983 None=0, Tone, ToneRespond
2984 };
2985
2986 protected:
2988 DTMFSettingsElement(uint8_t *ptr, unsigned size);
2989
2990 public:
2992 explicit DTMFSettingsElement(uint8_t *ptr);
2993
2995 static constexpr unsigned int size() { return 0x0050; }
2996
2998 void clear();
2999
3001 virtual unsigned intervalSymbol() const;
3003 virtual void setIntervalSymbol(unsigned symb);
3004
3006 virtual unsigned groupCode() const;
3008 virtual void setGroupCode(unsigned symb);
3009
3011 virtual Response response() const;
3013 virtual void setResponse(Response resp);
3014
3016 virtual Interval preTime() const;
3018 virtual void setPreTime(const Interval &ms);
3019
3021 virtual Interval firstDigitDuration() const;
3023 virtual void setFirstDigitDuration(const Interval &ms);
3024
3026 virtual Interval autoResetTime() const;
3028 virtual void setAutoResetTime(const Interval &sec);
3029
3031 virtual QString id() const;
3033 virtual void setID(const QString &id);
3034
3036 virtual Interval postEncodingDelay() const;
3038 virtual void setPostEncodingDelay(const Interval &ms);
3039
3041 virtual Interval pttIDPause() const;
3043 virtual void setPTTIDPause(const Interval &sec);
3044
3046 virtual bool pttIDEnabled() const;
3048 virtual void enablePTTID(bool enable);
3049
3051 virtual Interval dCodePause() const;
3053 virtual void setDCodePause(const Interval &sec);
3054
3056 virtual bool sidetone() const;
3058 virtual void enableSidetone(bool enable);
3059
3061 virtual QString botID() const;
3063 virtual void setBOTID(const QString &id);
3064
3066 virtual QString eotID() const;
3068 virtual void setEOTID(const QString &id);
3069
3071 virtual QString remoteKillID() const;
3073 virtual void setRemoteKillID(const QString &id);
3074
3076 virtual QString remoteStunID() const;
3078 virtual void setRemoteStunID(const QString &id);
3079
3080 public:
3082 struct Limit: public Element::Limit {
3084 static constexpr unsigned int idLength() { return 3; }
3086 static constexpr unsigned int botIdLength() { return 16; }
3088 static constexpr unsigned int eotIdLength() { return 16; }
3090 static constexpr unsigned int remoteKillIdLength() { return 16; }
3092 static constexpr unsigned int remteStunIdLength() { return 16; }
3093 };
3094
3095 protected:
3097 struct Offset: public Element::Offset {
3099 static constexpr unsigned int intervalSymbol() { return 0x0000; }
3100 static constexpr unsigned int groupCode() { return 0x0001; }
3101 static constexpr unsigned int response() { return 0x0002; }
3102 static constexpr unsigned int preTime() { return 0x0003; }
3103 static constexpr unsigned int firstDigitDuration() { return 0x0004; }
3104 static constexpr unsigned int autoResetTime() { return 0x0005; }
3105 static constexpr unsigned int id() { return 0x0006; }
3106 static constexpr unsigned int postEncodingDelay() { return 0x0009; }
3107 static constexpr unsigned int pttIDPause() { return 0x000a; }
3108 static constexpr unsigned int pttIDEnabled() { return 0x000b; }
3109 static constexpr unsigned int dCodePause() { return 0x000c; }
3110 static constexpr unsigned int sidetone() { return 0x000d; }
3111 static constexpr unsigned int botID() { return 0x0010; }
3112 static constexpr unsigned int eotID() { return 0x0020; }
3113 static constexpr unsigned int remoteKillID() { return 0x0030; }
3114 static constexpr unsigned int remoteStunID() { return 0x0040; }
3116 };
3117 };
3118
3124 {
3125 protected:
3127 DTMFIDListElement(uint8_t *ptr, size_t size);
3128
3129 public:
3131 DTMFIDListElement(uint8_t *ptr);
3132
3134 static constexpr unsigned int size() { return 0x0100; }
3135
3136 void clear();
3137
3139 virtual bool hasNumber(unsigned int n) const;
3141 virtual QString number(unsigned int n) const;
3143 virtual void setNumber(unsigned int n, const QString &number);
3145 virtual void clearNumber(unsigned int n);
3146
3147 public:
3149 struct Limit {
3150 static constexpr unsigned int numEntries() { return 16; }
3151 static constexpr unsigned int numberLength() { return 16; }
3152 };
3153 };
3154
3155
3161 {
3162 protected:
3164 WFMChannelListElement(uint8_t *ptr, size_t size);
3165
3166 public:
3168 explicit WFMChannelListElement(uint8_t *ptr);
3169
3171 static constexpr unsigned int size() { return 0x0200; }
3172
3173 void clear();
3174
3176 virtual bool hasChannel(unsigned int n) const;
3178 virtual Frequency channel(unsigned int n) const;
3180 virtual void setChannel(unsigned int n, Frequency freq);
3182 virtual void clearChannel(unsigned int n);
3183
3184 public:
3186 struct Limit {
3187 static constexpr unsigned int numEntries() { return 100; }
3188 };
3189
3190 protected:
3192 struct Offset {
3194 static constexpr unsigned int betweenChannels() { return 0x0004; }
3196 };
3197 };
3198
3201 {
3202 protected:
3204 WFMChannelBitmapElement(uint8_t *ptr, size_t size);
3205
3206 public:
3208 WFMChannelBitmapElement(uint8_t *ptr);
3209
3211 static constexpr unsigned int size() { return 0x0020; }
3212 };
3213
3216 {
3217 protected:
3219 WFMVFOElement(uint8_t *ptr, size_t size);
3220
3221 public:
3223 WFMVFOElement(uint8_t *ptr);
3224
3226 static constexpr unsigned int size() { return 0x0010; }
3227
3228 void clear();
3229
3231 virtual Frequency frequency() const;
3233 virtual void setFrequency(Frequency freq);
3234 };
3235
3236
3239 {
3240 protected:
3242 DMREncryptionKeyListElement(uint8_t *ptr, size_t size);
3243
3244 public:
3246 DMREncryptionKeyListElement(uint8_t *ptr);
3247
3249 static constexpr unsigned int size() { return 0x0040; }
3250
3251 void clear();
3252
3254 virtual bool hasKey(unsigned int n) const;
3256 virtual QByteArray key(unsigned int n) const;
3258 virtual void setKey(unsigned int n, const BasicEncryptionKey &key);
3260 virtual void clearKey(unsigned int n);
3261
3262 public:
3264 struct Limit {
3265 static constexpr unsigned int numEntries() { return 32; }
3266 };
3267
3268 protected:
3270 struct Offset {
3272 static constexpr unsigned int betweenKeys() { return 0x0002; }
3274 };
3275 };
3276
3277
3282 {
3283 protected:
3285 EnhancedEncryptionKeyListElement(uint8_t *ptr, size_t size);
3286
3287 public:
3290
3292 static constexpr unsigned int size() { return 0x0500; }
3293
3294 void clear();
3295
3297 QByteArray key(unsigned int n) const;
3299 void setKey(unsigned int n, const QByteArray &key);
3300
3301 public:
3303 struct Limit {
3304 static constexpr unsigned numEntries() { return DMREncryptionKeyListElement::Limit::numEntries(); }
3305 };
3306
3307 protected:
3309 struct Offset {
3311 static constexpr unsigned int keys() { return 0x0010; }
3312 static constexpr unsigned int betweenKeys() { return 0x0028; }
3314 };
3315 };
3316
3317
3323 {
3324 protected:
3326 ContactMapElement(uint8_t *ptr, unsigned size);
3327
3328 public:
3330 ContactMapElement(uint8_t *ptr);
3331
3333 static constexpr unsigned int size() { return 0x0008; }
3334
3336 void clear();
3338 bool isValid() const;
3339
3341 virtual bool isGroup() const;
3343 virtual unsigned id() const;
3345 virtual void setID(unsigned id, bool group=false);
3347 virtual unsigned index() const;
3349 virtual void setIndex(unsigned idx);
3350
3351 protected:
3353 struct Offset: public Element::Offset {
3355 static constexpr unsigned int id() { return 0x0000; }
3356 static constexpr unsigned int index() { return 0x0004; }
3358 };
3359 };
3360
3361
3362protected:
3364 AnytoneCodeplug(const QString &label, QObject *parent=nullptr);
3365
3366public:
3368 virtual ~AnytoneCodeplug();
3369
3371 virtual void clear();
3372
3373 Config *preprocess(Config *config, const ErrorStack &err) const;
3374 bool encode(Config *config, const Flags &flags, const ErrorStack &err);
3375
3376 bool decode(Config *config, const ErrorStack &err);
3377 bool postprocess(Config *config, const ErrorStack &err) const;
3378
3379protected:
3380 virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const;
3381
3383 virtual bool allocateBitmaps() = 0;
3385 virtual void setBitmaps(Context &ctx) = 0;
3386
3389 virtual void allocateUpdated() = 0;
3392 virtual void allocateForDecoding() = 0;
3394 virtual void allocateForEncoding() = 0;
3395
3397 virtual bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
3402 virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack());
3404 virtual bool createElements(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
3406 virtual bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
3407
3408protected:
3410 QString _label;
3411
3412 // Allow access to protected allocation methods.
3413 friend class AnytoneRadio;
3414};
3415
3416#endif // ANYTONECODEPLUG_HH
Direction
Encodes the auto-repeater offset sign.
Definition anytone_settingsextension.hh:1191
BootDisplay
What to display during boot.
Definition anytone_settingsextension.hh:57
Represents the base class of an analog alarm setting for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2113
virtual Interval txDuration() const
Returns the TX duration in seconds.
Definition anytone_codeplug.cc:2999
virtual void setAction(Action action)
Sets the alarm action.
Definition anytone_codeplug.cc:2967
virtual void setEmergencyIndex(unsigned idx)
Sets the emergency ID index.
Definition anytone_codeplug.cc:2985
virtual void setDuration(const Interval &sec)
Sets the alarm duration in seconds.
Definition anytone_codeplug.cc:2994
virtual unsigned emergencyIndex() const
Returns the emergency ID index.
Definition anytone_codeplug.cc:2981
virtual void setRXDuration(const Interval &sec)
Sets the RX duration in seconds.
Definition anytone_codeplug.cc:3012
virtual void setEncodingType(ENIType type)
Sets the encoding type.
Definition anytone_codeplug.cc:2976
virtual Interval rxDuration() const
Returns the RX duration in seconds.
Definition anytone_codeplug.cc:3008
virtual void setChannelIndex(unsigned idx)
Sets the channel index.
Definition anytone_codeplug.cc:3025
Action
Possible analog alarm types.
Definition anytone_codeplug.hh:2116
virtual Action action() const
Returns the alarm action.
Definition anytone_codeplug.cc:2963
virtual bool repeatContinuously() const
Returns true if the alarm is repeated continuously.
Definition anytone_codeplug.cc:3035
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2139
virtual Interval duration() const
Returns the alarm duration in seconds.
Definition anytone_codeplug.cc:2990
virtual void setRepatContinuously()
Sets the alarm to be repeated continuously.
Definition anytone_codeplug.cc:3047
virtual void setChannelSelected()
Sets the alarm channel to the selected channel.
Definition anytone_codeplug.cc:3030
ENIType
Possible alarm signalling types.
Definition anytone_codeplug.hh:2124
void clear()
Resets the alarm.
Definition anytone_codeplug.cc:2957
virtual unsigned channelIndex() const
Returns the channel index.
Definition anytone_codeplug.cc:3021
virtual unsigned repetitions() const
Returns the number of alarm repetitions.
Definition anytone_codeplug.cc:3039
virtual ENIType encodingType() const
Returns the encoding type.
Definition anytone_codeplug.cc:2972
virtual void setRepetitions(unsigned num)
Sets the number of alarm repetitions.
Definition anytone_codeplug.cc:3043
virtual bool channelIsSelected() const
Returns true if the alarm channel is the selected channel.
Definition anytone_codeplug.cc:3017
virtual void setTXDuration(const Interval &sec)
Sets the TX duration in seconds.
Definition anytone_codeplug.cc:3003
Represents the base class of an digital alarm setting for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2213
virtual void enableRXAlarm(bool enable)
Enables/disables the reception of alarms.
Definition anytone_codeplug.cc:3181
virtual void enableVOX(bool enable)
Enables/disables the VOX for alarms.
Definition anytone_codeplug.cc:3172
virtual void setVoiceBroadcastDuration(const Interval &min)
Sets voice broadcast duration in minutes.
Definition anytone_codeplug.cc:3150
virtual Interval txDuration() const
Returns the TX duration in seconds.
Definition anytone_codeplug.cc:3093
virtual bool rxAlarm() const
Returns true if alarms gets received enabled.
Definition anytone_codeplug.cc:3177
virtual void setRepatContinuously()
Sets the alarm to be repeated continuously.
Definition anytone_codeplug.cc:3141
virtual unsigned repetitions() const
Returns the number of alarm repetitions.
Definition anytone_codeplug.cc:3133
Action
Possible alarm types.
Definition anytone_codeplug.hh:2216
virtual Interval areaBroadcastDuration() const
Returns area broadcast duration in minutes.
Definition anytone_codeplug.cc:3157
virtual bool channelIsSelected() const
Returns true if the alarm channel is the selected channel.
Definition anytone_codeplug.cc:3111
virtual void setRepetitions(unsigned num)
Sets the number of alarm repetitions.
Definition anytone_codeplug.cc:3137
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2232
virtual bool repeatContinuously() const
Returns true if the alarm is repeated continuously.
Definition anytone_codeplug.cc:3129
virtual void setRXDuration(const Interval &sec)
Sets the RX duration in seconds.
Definition anytone_codeplug.cc:3106
virtual void setTXDuration(const Interval &sec)
Sets the TX duration in seconds.
Definition anytone_codeplug.cc:3097
virtual Interval duration() const
Returns the alarm duration in seconds.
Definition anytone_codeplug.cc:3084
virtual Action action() const
Returns the alarm action.
Definition anytone_codeplug.cc:3075
virtual Interval rxDuration() const
Returns the RX duration in seconds.
Definition anytone_codeplug.cc:3102
virtual void setChannelIndex(unsigned idx)
Sets the channel index.
Definition anytone_codeplug.cc:3119
virtual bool vox() const
Returns true if the VOX gets enabled.
Definition anytone_codeplug.cc:3168
virtual void setDuration(const Interval &sec)
Sets the alarm duration in seconds.
Definition anytone_codeplug.cc:3088
virtual void setAction(Action action)
Sets the alarm action.
Definition anytone_codeplug.cc:3079
virtual unsigned channelIndex() const
Returns the channel index.
Definition anytone_codeplug.cc:3115
virtual void setChannelSelected()
Sets the alarm channel to the selected channel.
Definition anytone_codeplug.cc:3124
virtual void setAreaBroadcastDuration(const Interval &min)
Sets area broadcast duration in minutes.
Definition anytone_codeplug.cc:3161
virtual Interval voiceBroadcastDuration() const
Returns voice broadcast duration in minutes.
Definition anytone_codeplug.cc:3146
void clear()
Resets the digital alarm settings.
Definition anytone_codeplug.cc:3069
Represents the base class of alarm setting entry for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2106
virtual uint8_t * digital() const
Returns a pointer to the digital alarm settings.
Definition anytone_codeplug.cc:3213
void clear()
Clears the alarm settings.
Definition anytone_codeplug.cc:3203
virtual uint8_t * analog() const
Returns a pointer to the analog alarm settings.
Definition anytone_codeplug.cc:3209
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2319
Represents base class of a analog quick call entry for all AnyTone codeplugs.
Definition anytone_codeplug.hh:1799
Type
Analog quick-call types.
Definition anytone_codeplug.hh:1802
virtual void setContactIndex(unsigned idx)
Sets the analog contact index.
Definition anytone_codeplug.cc:2730
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1818
virtual void clearContactIndex()
Clears the contact index.
Definition anytone_codeplug.cc:2734
virtual unsigned contactIndex() const
Returns the analog contact index.
Definition anytone_codeplug.cc:2726
void clear()
Resets the quick call entry.
Definition anytone_codeplug.cc:2707
virtual bool hasContactIndex() const
Returns true if an analog contact index is set.
Definition anytone_codeplug.cc:2722
virtual void setType(Type type)
Sets the type of the quick call.
Definition anytone_codeplug.cc:2717
virtual Type type() const
Returns the call type.
Definition anytone_codeplug.cc:2713
Implements the list of analog quick-call settings for all AnyTone codeplugs.
Definition anytone_codeplug.hh:1853
uint8_t * quickCall(unsigned int n) const
Returns a pointer to the n-th entry.
Definition anytone_codeplug.cc:2762
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1863
void clear()
Clears the quick calls.
Definition anytone_codeplug.cc:2755
Represents the base class for bitmaps in all AnyTone codeplugs.
Definition anytone_codeplug.hh:41
virtual void enableFirst(unsigned int n)
Enables the first n elements.
Definition anytone_codeplug.cc:86
virtual void setEncoded(unsigned int idx, bool enable)
Enables/disables the specified index.
Definition anytone_codeplug.cc:77
virtual bool isEncoded(unsigned int idx) const
Returns true if the given index is valid.
Definition anytone_codeplug.cc:71
void clear()
Clears the bitmap, disables all channels.
Definition anytone_codeplug.cc:66
Represents the base class of the boot settings for all AnyTone codeplug.
Definition anytone_codeplug.hh:1428
virtual bool updateConfig(Context &ctx)
Updates the abstract configuration from this general settings.
Definition anytone_codeplug.cc:2215
virtual void setIntroLine2(const QString &txt)
Sets the second intro line.
Definition anytone_codeplug.cc:2184
virtual void setIntroLine1(const QString &txt)
Sets the first intro line.
Definition anytone_codeplug.cc:2176
void clear()
Resets the boot settings.
Definition anytone_codeplug.cc:2167
virtual QString introLine2() const
Returns the second intro line.
Definition anytone_codeplug.cc:2180
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1438
virtual bool fromConfig(const Flags &flags, Context &ctx)
Updates the general settings from the given abstract configuration.
Definition anytone_codeplug.cc:2200
virtual QString password() const
Returns the password.
Definition anytone_codeplug.cc:2189
virtual QString introLine1() const
Returns the first intro line.
Definition anytone_codeplug.cc:2172
virtual void setPassword(const QString &txt)
Sets the password.
Definition anytone_codeplug.cc:2193
Represents the channel bitmaps in all AnyTone codeplugs.
Definition anytone_codeplug.hh:436
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:446
Represents the base class for channel encodings in all AnyTone codeplugs.
Definition anytone_codeplug.hh:107
virtual bool talkaround() const
Returns true if the talkaround is enabled.
Definition anytone_codeplug.cc:388
virtual void setTXCTCSS(const SelectiveCall &tone)
Sets the TX CTCSS tone.
Definition anytone_codeplug.cc:405
virtual void setTXOffset(unsigned hz)
Sets the TX frequency offset in Hz.
Definition anytone_codeplug.cc:213
virtual void setScanListIndex(unsigned idx)
Sets the scan list index (0-based).
Definition anytone_codeplug.cc:531
virtual SelectiveCall txCTCSS() const
Returns the TX CTCSS tone.
Definition anytone_codeplug.cc:401
virtual SelectiveCall txTone() const
Simplified access to TX signaling (tone).
Definition anytone_codeplug.cc:341
virtual void setGroupListIndex(unsigned idx)
Sets the group list index (0-based).
Definition anytone_codeplug.cc:548
virtual bool simplexTDMA() const
Returns true if simplex TDMA is enabled.
Definition anytone_codeplug.cc:613
virtual unsigned twoToneIDIndex() const
Returns the two-tone ID index (0-based).
Definition anytone_codeplug.cc:557
virtual bool adaptiveTDMA() const
Returns true if adaptive TDMA is enabled.
Definition anytone_codeplug.cc:621
virtual unsigned scanListIndex() const
Returns the scan list index (0-based).
Definition anytone_codeplug.cc:527
virtual void setTwoToneDecodeIndex(unsigned idx)
Sets the 2-tone decode index (0-based).
Definition anytone_codeplug.cc:473
virtual void setRXTone(const SelectiveCall &code)
Sets the RX signaling (tone).
Definition anytone_codeplug.cc:319
virtual SignalingMode rxSignalingMode() const
Returns the RX signaling mode.
Definition anytone_codeplug.cc:300
virtual bool rxAPRS() const
Returns true if RX APRS is enabled.
Definition anytone_codeplug.cc:629
virtual void setPower(Channel::Power power)
Sets the channel power.
Definition anytone_codeplug.cc:258
virtual void enableCTCSSPhaseReversal(bool enable)
Enables/disables CTCSS phase reversal.
Definition anytone_codeplug.cc:368
virtual unsigned twoToneDecodeIndex() const
Returns the 2-tone decode index (0-based).
Definition anytone_codeplug.cc:469
virtual void setDTMFIDIndex(unsigned idx)
Sets the DTMF ID index (0-based).
Definition anytone_codeplug.cc:577
virtual DMRChannel::TimeSlot timeSlot() const
Returns the time slot.
Definition anytone_codeplug.cc:591
virtual void setTimeSlot(DMRChannel::TimeSlot ts)
Sets the time slot.
Definition anytone_codeplug.cc:597
virtual OptSignaling optionalSignaling() const
Returns the optional signalling type.
Definition anytone_codeplug.cc:514
Mode
Defines all possible channel modes, see channelMode.
Definition anytone_codeplug.hh:110
@ Digital
Digital (DMR) channel.
@ MixedAnalog
Mixed, analog channel with digital RX.
@ MixedDigital
Mixed, digital channel with analog RX.
virtual void setTXFrequency(unsigned hz)
Sets the TX frequency indirectly.
Definition anytone_codeplug.cc:227
virtual bool ctcssPhaseReversal() const
Returns true if the CTCSS phase reversal is enabled.
Definition anytone_codeplug.cc:364
virtual void setTXDCS(const SelectiveCall &code)
Sets the TX DCS code.
Definition anytone_codeplug.cc:437
virtual void setContactIndex(unsigned idx)
Sets the transmit contact index (0-based).
Definition anytone_codeplug.cc:482
virtual ~ChannelElement()
Destructor.
Definition anytone_codeplug.cc:183
virtual void setColorCode(unsigned code)
Sets the color code.
Definition anytone_codeplug.cc:586
virtual QString name() const
Returns the channel name.
Definition anytone_codeplug.cc:647
virtual Channel * toChannelObj(Context &ctx) const
Constructs a generic Channel object from the codeplug channel.
Definition anytone_codeplug.cc:657
virtual Mode mode() const
Returns the channel mode (analog, digtital, etc).
Definition anytone_codeplug.cc:239
virtual bool loneWorker() const
Returns true if lone worker is enabled.
Definition anytone_codeplug.cc:638
virtual void enableRXCustomCTCSS()
Enables RX custom CTCSS frequency.
Definition anytone_codeplug.cc:425
virtual SelectiveCall rxDCS() const
Returns the RX DCS code.
Definition anytone_codeplug.cc:445
virtual void setRXDCS(const SelectiveCall &code)
Sets the RX DCS code.
Definition anytone_codeplug.cc:452
virtual void enableSimplexTDMA(bool enable)
Enables/disables simplex TDMA confirmation.
Definition anytone_codeplug.cc:617
virtual unsigned txFrequency() const
Returns the TX frequency in Hz.
Definition anytone_codeplug.cc:218
virtual void setMode(Mode mode)
Sets the channel mode.
Definition anytone_codeplug.cc:243
Power
Defines all possible power settings.
Definition anytone_codeplug.hh:118
@ POWER_HIGH
High power, usually 5W.
Definition anytone_codeplug.hh:121
@ POWER_LOW
Low power, usually 1W.
Definition anytone_codeplug.hh:119
@ POWER_MIDDLE
Medium power, usually 2.5W.
Definition anytone_codeplug.hh:120
@ POWER_TURBO
Higher power, usually 7W on VHF and 6W on UHF.
Definition anytone_codeplug.hh:122
virtual unsigned dtmfIDIndex() const
Returns the DTFM ID index (0-based).
Definition anytone_codeplug.cc:573
virtual void setTXTone(const SelectiveCall &code)
Sets the RX signaling (tone).
Definition anytone_codeplug.cc:351
virtual void setRXSignalingMode(SignalingMode mode)
Sets the RX signaling mode.
Definition anytone_codeplug.cc:304
virtual void setRXCTCSS(const SelectiveCall &tone)
Sets the RX CTCSS tone.
Definition anytone_codeplug.cc:421
virtual bool hasGroupListIndex() const
Returns true, if a group list index is set.
Definition anytone_codeplug.cc:540
virtual bool callConfirm() const
Returns true if the call confirm is enabled.
Definition anytone_codeplug.cc:380
virtual unsigned txOffset() const
Returns the TX frequency offset in Hz.
Definition anytone_codeplug.cc:209
virtual Admit admit() const
Returns the admit criterion.
Definition anytone_codeplug.cc:505
virtual SelectiveCall txDCS() const
Returns the TX DCS code.
Definition anytone_codeplug.cc:430
virtual bool hasScanListIndex() const
Returns true, if a scan list index is set.
Definition anytone_codeplug.cc:523
virtual void setCustomCTCSSFrequency(double hz)
Sets the custom CTCSS frequency in Hz.
Definition anytone_codeplug.cc:464
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:168
virtual SignalingMode txSignalingMode() const
Returns the TX signaling mode.
Definition anytone_codeplug.cc:332
virtual SelectiveCall rxCTCSS() const
Returns the RX CTCSS tone.
Definition anytone_codeplug.cc:417
RepeaterMode
Defines all possible repeater modes.
Definition anytone_codeplug.hh:126
@ Simplex
Simplex mode, that is TX frequency = RX frequency. tx_offset is ignored.
@ Positive
Repeater mode with positive tx_offset.
@ Negative
Repeater mode with negative tx_offset.
virtual void enableSMSConfirm(bool enable)
Enables/disables SMS confirmation.
Definition anytone_codeplug.cc:609
virtual unsigned rxFrequency() const
Returns the RX frequency in Hz.
Definition anytone_codeplug.cc:200
virtual void setTXSignalingMode(SignalingMode mode)
Sets the TX signaling mode.
Definition anytone_codeplug.cc:336
virtual void setRXFrequency(unsigned hz)
Sets the RX frequency in Hz.
Definition anytone_codeplug.cc:204
virtual bool smsConfirm() const
Returns true if SMS confirmation is enabled.
Definition anytone_codeplug.cc:605
virtual AnytoneFMChannelExtension::SquelchMode squelchMode() const
Returns true if the sequelch is silent and false if open.
Definition anytone_codeplug.cc:496
virtual void enableAdaptiveTDMA(bool enable)
Enables/disables adaptive TDMA.
Definition anytone_codeplug.cc:625
virtual void enableCallConfirm(bool enable)
Enables/disables call confirm.
Definition anytone_codeplug.cc:384
virtual bool rxCTCSSIsCustom() const
Returns true if the RX CTCSS tone frequency is custom (non standard).
Definition anytone_codeplug.cc:413
virtual void enableRXAPRS(bool enable)
Enables/disables RX APRS.
Definition anytone_codeplug.cc:633
virtual void setSquelchMode(AnytoneFMChannelExtension::SquelchMode mode)
Enables/disables silent squelch.
Definition anytone_codeplug.cc:500
virtual bool fromChannelObj(const Channel *c, Context &ctx)
Initializes this codeplug channel from the given generic configuration.
Definition anytone_codeplug.cc:785
virtual void setRepeaterMode(RepeaterMode mode)
Sets the transmit offset direction.
Definition anytone_codeplug.cc:295
Admit
Defines possible admit criteria.
Definition anytone_codeplug.hh:140
@ DifferentColorCode
For digital channels.
@ SameColorCode
For digital channels.
@ Always
For both channel types.
virtual void setFiveToneIDIndex(unsigned idx)
Sets the five-tone ID index (0-based).
Definition anytone_codeplug.cc:569
virtual bool linkChannelObj(Channel *c, Context &ctx) const
Links a previously constructed channel to the rest of the configuration.
Definition anytone_codeplug.cc:743
virtual unsigned contactIndex() const
Returns the transmit contact index (0-based).
Definition anytone_codeplug.cc:478
virtual void clearScanListIndex()
Clears the scan list index.
Definition anytone_codeplug.cc:535
OptSignaling
Defines all possible optional signalling settings.
Definition anytone_codeplug.hh:150
virtual void clearGroupListIndex()
Clears the group list index.
Definition anytone_codeplug.cc:552
virtual unsigned radioIDIndex() const
Returns the radio ID index (0-based).
Definition anytone_codeplug.cc:487
virtual void enableRXOnly(bool enable)
Enables/disables RX only.
Definition anytone_codeplug.cc:376
virtual double customCTCSSFrequency() const
Returns the custom CTCSS frequency in Hz.
Definition anytone_codeplug.cc:460
virtual unsigned fiveToneIDIndex() const
Returns the five-tone ID index (0-based).
Definition anytone_codeplug.cc:565
virtual Channel::Power power() const
Returns the channel power.
Definition anytone_codeplug.cc:248
virtual FMChannel::Bandwidth bandwidth() const
Returns the band width of the channel.
Definition anytone_codeplug.cc:277
virtual bool txCTCSSIsCustom() const
Returns true if the TX CTCSS tone frequency is custom (non standard).
Definition anytone_codeplug.cc:397
virtual RepeaterMode repeaterMode() const
Returns the transmit offset direction.
Definition anytone_codeplug.cc:291
virtual void enableTXCustomCTCSS()
Enables TX custom CTCSS frequency.
Definition anytone_codeplug.cc:409
virtual void setAdmit(Admit admit)
Sets the admit criterion.
Definition anytone_codeplug.cc:509
virtual void setName(const QString &name)
Sets the channel name.
Definition anytone_codeplug.cc:651
virtual void enableLoneWorker(bool enable)
Enables/disables lone worker.
Definition anytone_codeplug.cc:642
virtual void setTwoToneIDIndex(unsigned idx)
Sets the two-tone ID index (0-based).
Definition anytone_codeplug.cc:561
virtual void setBandwidth(FMChannel::Bandwidth bw)
Sets the band width of the channel.
Definition anytone_codeplug.cc:283
virtual unsigned colorCode() const
Returns the color code.
Definition anytone_codeplug.cc:582
virtual SelectiveCall rxTone() const
Simplified access to RX signaling (tone).
Definition anytone_codeplug.cc:309
virtual void setOptionalSignaling(OptSignaling sig)
Sets the optional signaling type.
Definition anytone_codeplug.cc:518
virtual void enableTalkaround(bool enable)
Enables/disables talkaround.
Definition anytone_codeplug.cc:392
virtual void setRadioIDIndex(unsigned idx)
Sets the radio ID index (0-based).
Definition anytone_codeplug.cc:491
virtual unsigned groupListIndex() const
Returns the scan list index (0-based).
Definition anytone_codeplug.cc:544
SignalingMode
Possible analog signaling modes.
Definition anytone_codeplug.hh:133
void clear()
Resets the channel.
Definition anytone_codeplug.cc:188
virtual bool rxOnly() const
Returns true if the RX only is enabled.
Definition anytone_codeplug.cc:372
Represents the contact bitmaps in all AnyTone codeplugs.
Definition anytone_codeplug.hh:521
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:531
Represents the base class for contacts in all AnyTone codeplugs.
Definition anytone_codeplug.hh:456
virtual void setNumber(unsigned number)
Sets the contact number.
Definition anytone_codeplug.cc:967
virtual void setName(const QString &name)
Sets the name of the contact.
Definition anytone_codeplug.cc:958
virtual ~ContactElement()
Destructor.
Definition anytone_codeplug.cc:921
virtual bool fromContactObj(const DMRContact *contact, Context &ctx)
Constructs this contact from the give DigitalContact.
Definition anytone_codeplug.cc:1013
virtual DMRContact::Type type() const
Returns the contact type.
Definition anytone_codeplug.cc:936
virtual void setType(DMRContact::Type type)
Sets the contact type.
Definition anytone_codeplug.cc:945
virtual DMRContact * toContactObj(Context &ctx) const
Assembles a DigitalContact from this contact.
Definition anytone_codeplug.cc:994
virtual void setAlertType(AnytoneContactExtension::AlertType type)
Sets the alert type.
Definition anytone_codeplug.cc:989
virtual unsigned number() const
Returns the contact number.
Definition anytone_codeplug.cc:963
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:468
virtual QString name() const
Returns the name of the contact.
Definition anytone_codeplug.cc:954
bool isValid() const
Returns true if the element is valid.
Definition anytone_codeplug.cc:931
virtual AnytoneContactExtension::AlertType alertType() const
Returns the alert type.
Definition anytone_codeplug.cc:972
void clear()
Resets the contact element.
Definition anytone_codeplug.cc:926
Represents the base class for entries to the contact indices in all AnyTone codeplugs.
Definition anytone_codeplug.hh:3323
virtual void setIndex(unsigned idx)
Sets the index.
Definition anytone_codeplug.cc:4460
virtual unsigned id() const
Returns the id.
Definition anytone_codeplug.cc:4443
bool isValid() const
Returns true if the contact map is valid.
Definition anytone_codeplug.cc:4432
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:3333
virtual bool isGroup() const
Returns true if the entry is a group call.
Definition anytone_codeplug.cc:4438
void clear()
Clears the entry.
Definition anytone_codeplug.cc:4427
virtual void setID(unsigned id, bool group=false)
Encodes ID and group call flag.
Definition anytone_codeplug.cc:4449
virtual unsigned index() const
Returns the index.
Definition anytone_codeplug.cc:4456
Represents the base class of a DMR APRS message for all AnyTone codeplugs.
Definition anytone_codeplug.hh:1606
virtual QString message() const
Returns the message.
Definition anytone_codeplug.cc:2511
virtual bool updateConfig(Context &ctx) const
Decodes the message.
Definition anytone_codeplug.cc:2527
void setMessage(const QString &message)
Sets the message.
Definition anytone_codeplug.cc:2516
virtual bool fromConfig(Codeplug::Flags flags, Context &ctx)
Encodes the message.
Definition anytone_codeplug.cc:2521
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2506
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1616
Represents the base class of DMR APRS settings for all AnyTone codeplugs.
Definition anytone_codeplug.hh:1488
virtual Interval automaticInterval() const
Returns the automatic transmit interval in seconds.
Definition anytone_codeplug.cc:2265
virtual Channel::Power power() const
Returns the transmit power.
Definition anytone_codeplug.cc:2316
virtual bool automatic() const
Returns true if the automatic APRS is enabled.
Definition anytone_codeplug.cc:2261
virtual void setChannelSelected(unsigned n)
Sets the n-th channel to selected channel.
Definition anytone_codeplug.cc:2377
virtual void setDestination(unsigned id)
Sets the destination DMR ID to send the APRS information to.
Definition anytone_codeplug.cc:2390
virtual void overrideTimeSlot(DMRChannel::TimeSlot ts)
Sets the timeslot.
Definition anytone_codeplug.cc:2425
virtual void setManualInterval(const Interval &sec)
Sets the manual TX interval in seconds.
Definition anytone_codeplug.cc:2256
virtual void setCallType(DMRContact::Type type)
Sets the call type.
Definition anytone_codeplug.cc:2404
virtual bool fixedLocation() const
Returns true if the fixed location beacon is enabled.
Definition anytone_codeplug.cc:2280
virtual void setChannelIndex(unsigned n, unsigned idx)
Sets the n-th channel index.
Definition anytone_codeplug.cc:2365
virtual bool hasChannel(unsigned n) const
Returns true if the n-th channel is set.
Definition anytone_codeplug.cc:2345
virtual Interval manualInterval() const
Returns the Manual TX interval in seconds.
Definition anytone_codeplug.cc:2252
virtual void setLocation(const QGeoCoordinate &pos)
Sets the location of the fixed position.
Definition anytone_codeplug.cc:2294
virtual void disableAutomatic()
Disables the automatic APRS.
Definition anytone_codeplug.cc:2275
virtual bool channelIsSelected(unsigned n) const
Returns true if the n-th channel is selected channel.
Definition anytone_codeplug.cc:2357
virtual void enableFixedLocation(bool enable)
Enables/disables fixed location beacon.
Definition anytone_codeplug.cc:2311
virtual bool timeSlotOverride() const
Returns true if the timeslot of the channel is overridden.
Definition anytone_codeplug.cc:2413
virtual void setAutomaticInterval(const Interval &sec)
Sets the automatic transmit interval in seconds.
Definition anytone_codeplug.cc:2269
virtual DMRChannel::TimeSlot timeslot() const
Returns the timeslot (only valid if timeSlotOverride returns true).
Definition anytone_codeplug.cc:2417
virtual DMRContact::Type callType() const
Returns the call type.
Definition anytone_codeplug.cc:2395
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1498
virtual void disableTimeSlotOverride()
Disables TS override.
Definition anytone_codeplug.cc:2432
void clear()
Resets the APRS settings.
Definition anytone_codeplug.cc:2247
virtual bool channelIsVFOB(unsigned n) const
Returns true if the n-th channel is VFO B.
Definition anytone_codeplug.cc:2353
virtual void setChannelVFOA(unsigned n)
Sets the n-th channel to VFO A.
Definition anytone_codeplug.cc:2369
virtual void clearChannel(unsigned n)
Resets the n-th channel.
Definition anytone_codeplug.cc:2381
virtual void setPower(Channel::Power power)
Sets the transmit power.
Definition anytone_codeplug.cc:2326
virtual unsigned destination() const
Returns the destination DMR ID to send the APRS information to.
Definition anytone_codeplug.cc:2386
virtual bool channelIsVFOA(unsigned n) const
Returns true if the n-th channel is VFO A.
Definition anytone_codeplug.cc:2349
virtual QGeoCoordinate location() const
Returns the location of the fixed position.
Definition anytone_codeplug.cc:2284
virtual bool fromConfig(const Flags &flags, Context &ctx)
Updates the GPS settings from the given config.
Definition anytone_codeplug.cc:2437
virtual bool linkGPSSystem(uint8_t i, Context &ctx)
Links GPS system from this GPS settings.
Definition anytone_codeplug.cc:2470
virtual unsigned channelIndex(unsigned n) const
Returns the index of the n-th channel.
Definition anytone_codeplug.cc:2361
virtual void setChannelVFOB(unsigned n)
Sets the n-th channel to VFO B.
Definition anytone_codeplug.cc:2373
virtual bool createGPSSystem(uint8_t i, Context &ctx)
Creates GPS system from this GPS settings.
Definition anytone_codeplug.cc:2463
Represents a list of DMR encryption keys.
Definition anytone_codeplug.hh:3239
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4339
virtual bool hasKey(unsigned int n) const
Returns true if the n-th id is set.
Definition anytone_codeplug.cc:4344
virtual QByteArray key(unsigned int n) const
Returns the ID of the encryption key.
Definition anytone_codeplug.cc:4351
virtual void clearKey(unsigned int n)
Clears the n-th id.
Definition anytone_codeplug.cc:4365
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3249
virtual void setKey(unsigned int n, const BasicEncryptionKey &key)
Sets the ID of the encryption key.
Definition anytone_codeplug.cc:4358
Represents the DTMF contact byte map, indicating which contacts are valid.
Definition anytone_codeplug.hh:592
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:602
Represents the base class for analog (DTMF) contacts in all AnyTone codeplugs.
Definition anytone_codeplug.hh:540
virtual bool fromContact(const DTMFContact *contact)
Encodes an DTMF contact from the given one.
Definition anytone_codeplug.cc:1115
virtual void setNumber(const QString &number)
Sets the number of the contact.
Definition anytone_codeplug.cc:1086
virtual DTMFContact * toContact() const
Creates an DTMF contact from the entry.
Definition anytone_codeplug.cc:1110
virtual QString number() const
Returns the number of the contact.
Definition anytone_codeplug.cc:1073
virtual void setName(const QString &name)
Sets the name of the contact.
Definition anytone_codeplug.cc:1105
void clear()
Resets the contact element.
Definition anytone_codeplug.cc:1068
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:552
virtual ~DTMFContactElement()
Destructor.
Definition anytone_codeplug.cc:1063
virtual QString name() const
Returns the name of the contact.
Definition anytone_codeplug.cc:1101
Represents a list of DTMF IDs to be send.
Definition anytone_codeplug.hh:3124
virtual void clearNumber(unsigned int n)
Clears the n-th number.
Definition anytone_codeplug.cc:4217
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3134
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4189
virtual bool hasNumber(unsigned int n) const
Returns true, if the n-th number is set.
Definition anytone_codeplug.cc:4194
virtual QString number(unsigned int n) const
Returns the n-th number.
Definition anytone_codeplug.cc:4201
virtual void setNumber(unsigned int n, const QString &number)
Sets the n-th number.
Definition anytone_codeplug.cc:4209
Represents the base class of DTMF settings for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2979
Response
Possible responses to a DTMF decode.
Definition anytone_codeplug.hh:2982
virtual void setDCodePause(const Interval &sec)
Sets the D-code pause in seconds.
Definition anytone_codeplug.cc:4093
virtual void setFirstDigitDuration(const Interval &ms)
Sets the first digit duration in ms.
Definition anytone_codeplug.cc:4032
virtual QString botID() const
Returns the BOT ID.
Definition anytone_codeplug.cc:4107
virtual Interval postEncodingDelay() const
Returns the post encoding delay in ms.
Definition anytone_codeplug.cc:4062
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2995
virtual unsigned groupCode() const
Returns the group code [0,15].
Definition anytone_codeplug.cc:4001
virtual Interval firstDigitDuration() const
Returns the first digit duration in ms.
Definition anytone_codeplug.cc:4028
virtual void setRemoteStunID(const QString &id)
Sets the remote stun ID.
Definition anytone_codeplug.cc:4164
virtual QString id() const
Returns the radio ID.
Definition anytone_codeplug.cc:4046
virtual void setResponse(Response resp)
Sets the response to a DTMF decode.
Definition anytone_codeplug.cc:4014
virtual void setGroupCode(unsigned symb)
Sets the group code [0,15].
Definition anytone_codeplug.cc:4005
virtual void setPostEncodingDelay(const Interval &ms)
Sets the post encoding delay in ms.
Definition anytone_codeplug.cc:4066
virtual void enablePTTID(bool enable)
Enables/disables the PTT ID.
Definition anytone_codeplug.cc:4084
virtual bool pttIDEnabled() const
Returns true if the PTT ID is enabled.
Definition anytone_codeplug.cc:4080
virtual void setIntervalSymbol(unsigned symb)
Sets the interval/repeat symbol [0,15].
Definition anytone_codeplug.cc:3996
virtual void setPreTime(const Interval &ms)
Sets the pre time in ms.
Definition anytone_codeplug.cc:4023
virtual void setRemoteKillID(const QString &id)
Sets the remote kill ID.
Definition anytone_codeplug.cc:4147
virtual void setID(const QString &id)
Sets the radio ID.
Definition anytone_codeplug.cc:4054
virtual Interval preTime() const
Returns the pre time in ms.
Definition anytone_codeplug.cc:4019
virtual void setAutoResetTime(const Interval &sec)
Sets the auto reset time in seconds.
Definition anytone_codeplug.cc:4041
virtual Interval autoResetTime() const
Returns the auto reset time in seconds.
Definition anytone_codeplug.cc:4037
virtual void setBOTID(const QString &id)
Sets the BOT ID.
Definition anytone_codeplug.cc:4115
virtual Interval dCodePause() const
Returns the D-code pause in seconds.
Definition anytone_codeplug.cc:4089
virtual Interval pttIDPause() const
Returns the PTT ID pause in seconds.
Definition anytone_codeplug.cc:4071
virtual QString eotID() const
Returns the EOT ID.
Definition anytone_codeplug.cc:4123
virtual void setPTTIDPause(const Interval &sec)
Sets the PTT ID pause in seconds.
Definition anytone_codeplug.cc:4075
virtual QString remoteKillID() const
Returns the remote kill ID.
Definition anytone_codeplug.cc:4139
virtual QString remoteStunID() const
Returns the remote stun ID.
Definition anytone_codeplug.cc:4156
void clear()
Resets the settings.
Definition anytone_codeplug.cc:3986
virtual bool sidetone() const
Returns true if the sidetone is enabled.
Definition anytone_codeplug.cc:4098
virtual void enableSidetone(bool enable)
Enables/disables the sidetone.
Definition anytone_codeplug.cc:4102
virtual Response response() const
Returns the response to a DMTF decode.
Definition anytone_codeplug.cc:4010
virtual unsigned intervalSymbol() const
Returns the interval/repeat symbol [0,15].
Definition anytone_codeplug.cc:3992
virtual void setEOTID(const QString &id)
Sets the EOT ID.
Definition anytone_codeplug.cc:4131
Represents the base class of digital alarm setting extension for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2345
virtual DMRContact::Type callType() const
Returns the call type.
Definition anytone_codeplug.cc:3239
virtual unsigned destination() const
Returns the destination DMR number.
Definition anytone_codeplug.cc:3257
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2355
void clear()
Clears the settings.
Definition anytone_codeplug.cc:3234
virtual void setDestination(unsigned number)
Sets the destination DMR number.
Definition anytone_codeplug.cc:3261
virtual void setCallType(DMRContact::Type type)
Sets the call type.
Definition anytone_codeplug.cc:3248
Represents a list of 'enhanced' DMR encryption keys.
Definition anytone_codeplug.hh:3282
QByteArray key(unsigned int n) const
Returns the n-th key.
Definition anytone_codeplug.cc:4397
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4389
void setKey(unsigned int n, const QByteArray &key)
Sets the n-th key.
Definition anytone_codeplug.cc:4404
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3292
Represents the base class for the extended settings element in many AnyTone codeplugs.
Definition anytone_codeplug.hh:1320
virtual void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color)=0
Sets the channel name color for the VFO B.
virtual bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Link config from settings extension.
Definition anytone_codeplug.cc:2066
virtual void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color)=0
Sets the zone name color for the VFO B.
virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the settings from the config.
Definition anytone_codeplug.cc:2024
virtual AnytoneDisplaySettingsExtension::Color zoneBNameColor() const =0
Returns the color of the zone name for VFO B.
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Update config from settings.
Definition anytone_codeplug.cc:2047
virtual void setZoneANameColor(AnytoneDisplaySettingsExtension::Color)=0
Sets the zone name color for the VFO A.
virtual AnytoneDisplaySettingsExtension::Color zoneANameColor() const =0
Returns the color of the zone name for VFO A.
virtual AnytoneDisplaySettingsExtension::Color channelBNameColor() const =0
Returns the color of the channel name for VFO B.
Represents the base-class for 5Tone function for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2499
virtual void setFunction(Function function)
Sets the function.
Definition anytone_codeplug.cc:3411
virtual QString name() const
Returns the name.
Definition anytone_codeplug.cc:3453
void clear()
Clears the function settings.
Definition anytone_codeplug.cc:3402
virtual Function function() const
Returns the function.
Definition anytone_codeplug.cc:3407
Function
Possible function being performed on 5-tone decoding.
Definition anytone_codeplug.hh:2502
Response
Possible responses to 5-tone decoding.
Definition anytone_codeplug.hh:2508
virtual void setName(const QString &name)
Sets the name.
Definition anytone_codeplug.cc:3457
virtual void setID(const QString &id)
Sets the ID.
Definition anytone_codeplug.cc:3438
virtual void setResponse(Response response)
Sets the response.
Definition anytone_codeplug.cc:3420
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2521
virtual Response response() const
Returns the response.
Definition anytone_codeplug.cc:3416
virtual QString id() const
Returns the ID.
Definition anytone_codeplug.cc:3425
Represents the list of five-tone functions for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2572
virtual uint8_t * function(unsigned int n) const
Returns the pointer to the n-th function setting.
Definition anytone_codeplug.cc:3483
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:3478
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2582
Represents the bitmap indicating which five-tone IDs are valid.
Definition anytone_codeplug.hh:2452
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2462
Represents the base-class for 5Tone IDs for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2386
virtual void setStandard(Standard std)
Sets the encoding standard.
Definition anytone_codeplug.cc:3291
virtual Interval toneDuration() const
Returns the tone duration in ms.
Definition anytone_codeplug.cc:3296
void clear()
Clears the ID.
Definition anytone_codeplug.cc:3282
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2403
virtual void setID(const QString &id)
Sets the ID.
Definition anytone_codeplug.cc:3318
virtual QString name() const
Returns the name.
Definition anytone_codeplug.cc:3333
virtual void setToneDuration(const Interval &ms)
Sets the tone duration in ms.
Definition anytone_codeplug.cc:3300
Standard
Possible 5-tone encoding standards.
Definition anytone_codeplug.hh:2389
virtual void setName(const QString &name)
Sets the name.
Definition anytone_codeplug.cc:3337
virtual Standard standard() const
Returns the 5Tone encoding standard.
Definition anytone_codeplug.cc:3287
virtual QString id() const
Returns the ID.
Definition anytone_codeplug.cc:3305
Represents the list of five-tone IDs.
Definition anytone_codeplug.hh:2470
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2480
virtual uint8_t * member(unsigned int n) const
Returns a pointer to the n-th five-tone ID.
Definition anytone_codeplug.cc:3379
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:3374
Represents the base-class for 5Tone settings for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2602
virtual Standard decodingStandard() const
Returns the decoding standard.
Definition anytone_codeplug.cc:3520
void clear()
Resets the 5tone settings.
Definition anytone_codeplug.cc:3506
enum FiveToneIDElement::Standard Standard
Possible 5-tone encoding standards.
Definition anytone_codeplug.hh:2609
virtual QString eotID() const
Returns the 5tone EOT ID.
Definition anytone_codeplug.cc:3728
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2620
virtual unsigned stopCode() const
Returns the stop code [0,15].
Definition anytone_codeplug.cc:3619
virtual Interval autoResetTime() const
Returns the auto-reset time in seconds.
Definition anytone_codeplug.cc:3592
virtual void setPreTime(const Interval &ms)
Sets the pre time in ms.
Definition anytone_codeplug.cc:3659
virtual void setStopCode(unsigned code)
Sets the stop code.
Definition anytone_codeplug.cc:3623
virtual void setDecodingResponse(Response response)
Sets the decoding response.
Definition anytone_codeplug.cc:3515
virtual Interval preTime() const
Returns the pre time in ms.
Definition anytone_codeplug.cc:3655
virtual QString botID() const
Returns the 5tone BOT ID.
Definition anytone_codeplug.cc:3682
virtual bool hasPTTID() const
Returns true if the PTT ID is set.
Definition anytone_codeplug.cc:3575
virtual void setID(const QString &id)
Sets the 5tone radio ID.
Definition anytone_codeplug.cc:3551
virtual void setStopTime(const Interval &ms)
Sets the stop time in ms.
Definition anytone_codeplug.cc:3632
virtual void setBOTToneDuration(const Interval &ms)
Sets the BOT tone duration in ms.
Definition anytone_codeplug.cc:3677
virtual QString id() const
Returns the 5tone radio ID.
Definition anytone_codeplug.cc:3538
virtual Interval decodeTime() const
Returns the decode time in ms.
Definition anytone_codeplug.cc:3637
virtual Interval decodingToneDuration() const
Returns the decoding tone duration in ms.
Definition anytone_codeplug.cc:3529
virtual void setEOTToneDuration(const Interval &ms)
Sets the EOT tone duration in ms.
Definition anytone_codeplug.cc:3723
virtual Interval stopTime() const
Returns the stop time in ms.
Definition anytone_codeplug.cc:3628
virtual bool sidetoneEnabled() const
Returns true if the sidetone is enabled.
Definition anytone_codeplug.cc:3610
virtual void setAutoResetTime(const Interval &s)
Sets the auto-reset time in seconds.
Definition anytone_codeplug.cc:3596
virtual void setDecodeTime(const Interval &ms)
Sets the decode time in ms.
Definition anytone_codeplug.cc:3641
virtual void enableSidetone(bool enable)
Enables/disables side tone.
Definition anytone_codeplug.cc:3614
virtual void setDecodingStandard(Standard standard)
Sets the decoding standard.
Definition anytone_codeplug.cc:3524
virtual Interval botToneDuration() const
Returns the BOT tone duration in ms.
Definition anytone_codeplug.cc:3673
virtual Interval firstDelay() const
Returns the first delay in ms.
Definition anytone_codeplug.cc:3601
virtual void setEOTID(const QString &id)
Sets the 5tone EOT ID.
Definition anytone_codeplug.cc:3741
virtual void setBOTStandard(Standard standard)
Sets the BOT standard.
Definition anytone_codeplug.cc:3668
virtual void setDelayAfterStop(const Interval &ms)
Sets the delay after stop in ms.
Definition anytone_codeplug.cc:3650
virtual Interval postEncodeDelay() const
Returns the post-encode delay in ms.
Definition anytone_codeplug.cc:3566
virtual void setPTTID(unsigned id)
Sets the PTT ID [5,75].
Definition anytone_codeplug.cc:3583
virtual void setPostEncodeDelay(const Interval &ms)
Sets the post-encode delay in ms.
Definition anytone_codeplug.cc:3570
virtual unsigned pttID() const
Returns the PTT ID.
Definition anytone_codeplug.cc:3579
virtual void setDecodingToneDuration(const Interval &ms)
Sets the decoding tone duration in ms.
Definition anytone_codeplug.cc:3533
virtual Response decodingResponse() const
Returns the decoding response.
Definition anytone_codeplug.cc:3511
virtual Interval delayAfterStop() const
Returns the delay after stop in ms.
Definition anytone_codeplug.cc:3646
virtual Interval eotToneDuration() const
Returns the EOT tone duration in ms.
Definition anytone_codeplug.cc:3719
virtual void setBOTID(const QString &id)
Sets the 5tone BOT ID.
Definition anytone_codeplug.cc:3695
virtual void setEOTStandard(Standard standard)
Sets the EOT standard.
Definition anytone_codeplug.cc:3714
virtual Standard botStandard() const
Returns the BOT standard.
Definition anytone_codeplug.cc:3664
virtual void setFirstDelay(const Interval &ms)
Sets the first delay in ms.
Definition anytone_codeplug.cc:3605
Response
Possible responses to decoded 5-tone codes.
Definition anytone_codeplug.hh:2605
virtual Standard eotStandard() const
Returns the EOT standard.
Definition anytone_codeplug.cc:3710
virtual void clearPTTID()
Clears the PTT ID.
Definition anytone_codeplug.cc:3587
Represents the base class for the settings elements in all AnyTone codeplugs.
Definition anytone_codeplug.hh:924
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyALong() const =0
Returns the key function for a long press on the function key 1.
virtual bool updateConfig(Context &ctx)
Updates the abstract config from general settings.
Definition anytone_codeplug.cc:1820
virtual Interval menuExitTime() const =0
Returns the menu exit time in seconds.
virtual unsigned squelchLevelB() const
Squelch level of VFO B, (0=off).
Definition anytone_codeplug.cc:1654
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyBShort() const =0
Returns the key function for a short press on the function key 2/B.
virtual bool autoKeyLock() const
Returns true if auto key-lock is enabled.
Definition anytone_codeplug.cc:1594
virtual void enableSMSAlert(bool enable)=0
Enables/disables SMS alert.
virtual void enableEnhancedAudio(bool enable)=0
Enables/disables "enhanced" audio.
virtual void enableShowCurrentContact(bool enable)=0
Enables/disables display of current contact.
virtual void setFuncKey2Long(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a long press on the function key 2.
virtual unsigned maxSpeakerVolume() const =0
Returns the maximum volume.
virtual void enableVolumeChangePrompt(bool enable)=0
Enables/disables the volume change prompt.
virtual void resetToneMelody(Melody &melody) const =0
Returns the reset-tone melody.
virtual void enableShowLastHeard(bool enable)=0
Enables/disables showing last heard.
virtual bool keyLockForced() const =0
Returns true if the "professional" key is locked.
virtual void enableGPSUnitsImperial(bool enable)=0
Enables/disables imperial GPS units.
virtual void setMenuExitTime(Interval intv)=0
Sets the menu exit time in seconds.
virtual unsigned dmrMicGain() const =0
Returns the mirophone gain.
virtual void setAutoRepeaterMinFrequencyVHF(Frequency Hz)=0
Sets the minimum frequency in Hz for the auto-repeater range in VHF band.
virtual bool defaultChannelAIsVFO() const =0
Returns true if the default channel for VFO A is VFO.
virtual void callToneMelody(Melody &melody) const =0
Returns the call-tone melody.
virtual bool fmTalkPermit() const =0
Returns true if the talk permit tone is enabled for digital channels.
virtual void setDefaultChannelAIndex(unsigned idx)=0
Sets the default channel index for VFO A.
virtual void setDefaultZoneIndexA(unsigned idx)=0
Sets the default zone (0-based) for VFO A.
virtual void enableStartupTone(bool enable)=0
Enables/disables the startup tone.
virtual unsigned defaultChannelAIndex() const =0
Returns the default channel index for VFO A.
virtual bool enhanceAudio() const =0
Returns true if the audio is "enhanced".
virtual void setVFOScanType(AnytoneSettingsExtension::VFOScanType type)=0
Sets the VFO scan type.
virtual void setIdleToneMelody(const Melody &melody)=0
Sets the idle-tone melody.
virtual void enableDMRTalkPermit(bool enable)=0
Enables/disables the talk permit tone for digital channels.
virtual void enableGPS(bool enable)=0
Enables/disables recording.
virtual void setDefaultZoneIndexB(unsigned idx)=0
Sets the default zone (0-based) for VFO B.
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyAShort() const =0
Returns the key function for a short press on the function key 1/A.
virtual void setAutoRepeaterOffsetFrequenyIndexUHF(unsigned idx)=0
Sets the auto-repeater offset frequency index for UHF.
virtual bool smsAlert() const =0
Returns true if SMS alert is enabled.
virtual Frequency maxVFOScanFrequencyUHF() const =0
Returns the maximum VFO scan frequency for the UHF band in Hz.
virtual void setCallToneMelody(const Melody &melody)=0
Sets the call-tone melody.
virtual bool displayClock() const =0
Returns true if the clock is shown.
virtual void enableDisplayCall(bool enable)=0
Enables/disables call display.
virtual bool defaultChannel() const =0
Returns true if the default boot channel is enabled.
virtual Frequency autoRepeaterMinFrequencyVHF() const =0
Returns the minimum frequency in Hz for the auto-repeater range in VHF band.
virtual bool volumeChangePrompt() const =0
Returns true if the volume change prompt is enabled.
virtual void enableDefaultChannel(bool enable)=0
Enables/disables default boot channel.
virtual void setDefaultChannelBIndex(unsigned idx)=0
Sets the default channel index for VFO B.
virtual void enableKeypadLock(bool enable)=0
Enables/disables the keypad lock.
virtual void enableIdleChannelTone(bool enable)=0
Enables/disables the idle channel tone.
virtual bool keyToneEnabled() const =0
Returns true, if the key tone is enabled.
virtual void enableFMTalkPermit(bool enable)=0
Enables/disables the talk permit tone for analog channels.
virtual bool vfoModeA() const =0
Returns true if the VFO A is in VFO mode.
virtual void enableDisplayClock(bool enable)=0
Enables/disables clock display.
virtual AnytoneKeySettingsExtension::KeyFunction funcKey2Long() const =0
Returns the key function for a long press on the function key 2.
virtual bool gpsUnitsImperial() const =0
Returns true if the GPS units are imperial.
virtual void enableDisplayFrequency(bool enable)
Enables/disables the frequency display.
Definition anytone_codeplug.cc:1589
virtual void setFuncKeyCLong(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a long press on the function key 3.
virtual QTimeZone gpsTimeZone() const =0
Returns the GPS time zone.
virtual unsigned brightness() const =0
Returns the display brightness.
virtual void setAutoRepeaterMinFrequencyUHF(Frequency Hz)=0
Sets the minimum frequency in Hz for the auto-repeater range in UHF band.
virtual Frequency autoRepeaterMaxFrequencyVHF() const =0
Returns the maximum frequency in Hz for the auto-repeater range in VHF band.
virtual void enableVFOModeA(bool enable)=0
Enables/disables VFO mode for VFO A.
virtual bool callAlert() const =0
Returns true if call alert is enabled.
virtual unsigned autoRepeaterOffsetFrequencyIndexVHF() const =0
Returns the auto-repeater offset frequency index for UHF.
AutoShutdown
Possible automatic shutdown delays.
Definition anytone_codeplug.hh:927
virtual void setAutoRepeaterOffsetFrequenyIndexVHF(unsigned idx)=0
Sets the auto-repeater offset frequency index for VHF.
virtual void setDefaultChannelAToVFO()=0
Sets the default channel for VFO A to be VFO.
virtual bool dmrTalkPermit() const =0
Returns true if the talk permit tone is enabled for digital channels.
virtual void setMinVFOScanFrequencyVHF(Frequency hz)=0
Sets the minimum VFO scan frequency for the VHF band in Hz.
virtual AnytoneKeySettingsExtension::KeyFunction funcKey1Long() const =0
Returns the key function for a long press on the function key 1.
virtual void setSquelchLevelA(unsigned level)
Returns the squelch level for VFO A, (0=off).
Definition anytone_codeplug.cc:1651
virtual Interval longPressDuration() const =0
Returns the long-press duration in ms.
virtual bool keypadLock() const =0
Returns true if the keypad is locked.
virtual bool recording() const =0
Returns true if recording is enabled.
virtual bool displayFrequency() const
Returns true if the radio displays frequencies instead of channels is enabled.
Definition anytone_codeplug.cc:1585
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyCLong() const =0
Returns the key function for a long press on the function key 3.
virtual bool showLastHeard() const =0
Returns true if the last heard is shown while pressing PTT.
virtual void enableSubChannel(bool enable)=0
Enables/disables sub channel.
virtual unsigned defaultZoneIndexB() const =0
Returns the default zone index (0-based) for VFO B.
virtual void setFuncKeyAShort(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a short press on the function key 1/A.
virtual void clearAutoRepeaterOffsetFrequencyIndexUHF()=0
Clears the auto-repeater offset frequency index for UHF.
virtual bool dmrResetTone() const =0
Returns true if the reset tone is enabled for digital calls.
virtual void enableKeepLastCaller(bool enable)=0
Enables/disables keeping the last caller when changing the channel.
virtual AnytoneSettingsExtension::VFOScanType vfoScanType() const =0
Returns the VFO scan type.
virtual void setMemoryZoneB(unsigned zone)=0
Sets the memory zone for VFO B.
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyCShort() const =0
Returns the key function for a short press on the function key 3/C.
virtual void setLastCallerDisplayMode(AnytoneDisplaySettingsExtension::LastCallerDisplayMode mode)=0
Sets the last-caller display mode.
virtual bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err=ErrorStack())
Links the general settings.
Definition anytone_codeplug.cc:1922
virtual bool hasAutoRepeaterOffsetFrequencyIndexUHF() const =0
Returns true if the auto-repeater offset frequency for UHF is set.
virtual AnytoneKeySettingsExtension::KeyFunction funcKey1Short() const =0
Returns the key function for a short press on the function key 1.
virtual void setBrightness(unsigned level)=0
Sets the display brightness.
virtual void setBootDisplay(AnytoneBootSettingsExtension::BootDisplay mode)
Sets the boot display mode.
Definition anytone_codeplug.cc:1633
virtual void enableActiveChannelB(bool enable)=0
Enables/disables VFO B as the active channel.
virtual bool subChannel() const =0
Returns true if sub channel is enabled.
virtual AnytoneDisplaySettingsExtension::LastCallerDisplayMode lastCallerDisplayMode() const =0
Returns the last-caller display mode.
virtual void enableCallEndPrompt(bool enable)=0
Enables/disables the call-end prompt.
virtual void setMinVFOScanFrequencyUHF(Frequency hz)=0
Sets the minimum VFO scan frequency for the UHF band in Hz.
virtual void setFuncKeyBShort(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a short press on the function key 2/B.
virtual bool knobLock() const =0
Returns true if the knob is locked.
virtual bool vfoModeB() const =0
Returns true if the VFO B is in VFO mode.
virtual void setMaxVFOScanFrequencyUHF(Frequency hz)=0
Sets the maximum VFO scan frequency for the UHF band in Hz.
virtual AnytoneKeySettingsExtension::KeyFunction funcKey2Short() const =0
Returns the key function for a short press on the function key 2.
virtual bool defaultChannelBIsVFO() const =0
Returns true if the default channel for VFO B is VFO.
virtual void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color)=0
Sets the display color for callsigns.
virtual void setGPSTimeZone(const QTimeZone &zone)=0
Sets the GPS time zone.
virtual void enableKeyTone(bool enable)=0
Enables/disables the key-tone.
virtual unsigned memoryZoneA() const =0
Returns the memory zone for VFO A.
virtual void setFuncKeyALong(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a long press on the function key 1.
virtual void enableKnobLock(bool enable)=0
Enables/disables the knob lock.
virtual Frequency minVFOScanFrequencyVHF() const =0
Returns the minimum VFO scan frequency for the VHF band in Hz.
virtual bool callEndPrompt() const =0
Returns true if the call-end prompt is enabled.
virtual void enableVFOModeB(bool enable)=0
Enables/disables VFO mode for VFO B.
virtual AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionA() const =0
Returns the auto repeater offset direction for VFO A.
virtual unsigned defaultChannelBIndex() const =0
Returns the default channel index for VFO B.
virtual bool getGPSPosition() const =0
Returns true if get GPS position is enabled.
virtual Frequency maxVFOScanFrequencyVHF() const =0
Returns the maximum VFO scan frequency for the VHF band in Hz.
virtual AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionB() const =0
Returns the auto-repeater direction for VFO B.
virtual AnytoneBootSettingsExtension::BootDisplay bootDisplay() const
Returns the boot display mode.
Definition anytone_codeplug.cc:1629
virtual bool fromConfig(const Flags &flags, Context &ctx)
Encodes the general settings.
Definition anytone_codeplug.cc:1663
virtual void setDefaultChannelBToVFO()=0
Sets the default channel for VFO B to be VFO.
virtual void setFuncKeyBLong(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a long press on the function key 2.
virtual void clearAutoRepeaterOffsetFrequencyIndexVHF()=0
Clears the auto-repeater offset frequency index for VHF.
virtual unsigned autoRepeaterOffsetFrequencyIndexUHF() const =0
Returns the auto-repeater offset frequency index for UHF.
virtual void idleToneMelody(Melody &melody) const =0
Returns the idle-tone melody.
virtual void setResetToneMelody(const Melody &melody)=0
Sets the reset-tone melody.
virtual void setAutoRepeaterDirectionA(AnytoneAutoRepeaterSettingsExtension::Direction dir)=0
Sets the auto-repeater offset direction for VFO A.
virtual bool idleChannelTone() const =0
Returns true if the idle channel tone is enabled.
virtual bool startupTone() const =0
Returns true if the startup tone is enabled.
virtual void setDMRMicGain(unsigned int gain)=0
Sets the microphone gain.
virtual void setAutoRepeaterMaxFrequencyVHF(Frequency Hz)=0
Sets the maximum frequency in Hz for the auto-repeater range in VHF band.
virtual AnytoneDisplaySettingsExtension::Color callDisplayColor() const =0
Returns the display color for callsigns.
virtual void enableSidekeysLock(bool enable)=0
Enables/disables the sidekeys lock.
virtual void setLongPressDuration(Interval ms)=0
Sets the long-press duration in ms.
virtual void setFuncKey2Short(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a short press on the function key 2.
virtual void setFuncKey1Long(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a long press on the function key 1.
virtual void setFuncKey1Short(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a short press on the function key 1.
virtual bool sidekeysLock() const =0
Returns true if the sidekeys are locked.
virtual void setAutoRepeaterDirectionB(AnytoneAutoRepeaterSettingsExtension::Direction dir)=0
Sets the auto-repeater direction for VFO B.
virtual Frequency autoRepeaterMinFrequencyUHF() const =0
Returns the minimum frequency in Hz for the auto-repeater range in UHF band.
virtual void enableBootPassword(bool enable)
Enables/disables boot password.
Definition anytone_codeplug.cc:1642
void clear()
Resets the general settings.
Definition anytone_codeplug.cc:1580
virtual void enableKeyLockForced(bool enable)=0
Enables/disables the "professional" key lock.
virtual void setSquelchLevelB(unsigned level)
Returns the squelch level for VFO B, (0=off).
Definition anytone_codeplug.cc:1658
virtual bool activeChannelB() const =0
Returns true if the active channel is VFO B.
virtual bool keepLastCaller() const =0
Returns true if the last caller is kept when changing channel.
virtual bool showCurrentContact() const =0
Returns true if the current contact is shown.
virtual void setAutoRepeaterMaxFrequencyUHF(Frequency Hz)=0
Sets the maximum frequency in Hz for the auto-repeater range in UHF band.
virtual bool displayCall() const =0
Returns true if the call is displayed instead of the name.
virtual void enableCallAlert(bool enable)=0
Enables/disables call alert.
virtual bool hasAutoRepeaterOffsetFrequencyIndexVHF() const =0
Returns true if the auto-repeater offset frequency for VHF is set.
virtual unsigned memoryZoneB() const =0
Returns the memory zone for VFO B.
virtual Frequency minVFOScanFrequencyUHF() const =0
Returns the minimum VFO scan frequency for the UHF band in Hz.
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyBLong() const =0
Returns the key function for a long press on the function key 2.
virtual void setMaxSpeakerVolume(unsigned level)=0
Sets the maximum volume.
virtual bool gps() const =0
Returns true if GPS is enabled.
virtual void setMemoryZoneA(unsigned zone)=0
Sets the memory zone for VFO A.
virtual Frequency autoRepeaterMaxFrequencyUHF() const =0
Returns the maximum frequency in Hz for the auto-repeater range in UHF band.
virtual void setMaxVFOScanFrequencyVHF(Frequency hz)=0
Sets the maximum VFO scan frequency for the VHF band in Hz.
virtual unsigned defaultZoneIndexA() const =0
Returns the default zone index (0-based) for VFO A.
virtual void setAutoShutdownDelay(Interval min)
Sets the auto-shutdown delay in minutes.
Definition anytone_codeplug.cc:1614
virtual void enableRecording(bool enable)=0
Enables/disables recording.
virtual Interval autoShutdownDelay() const
Returns the auto-shutdown delay in minutes.
Definition anytone_codeplug.cc:1603
virtual void enableDMRResetTone(bool enable)=0
Enables/disables the reset tone for digital calls.
virtual void enableAutoKeyLock(bool enable)
Enables/disables auto key-lock.
Definition anytone_codeplug.cc:1598
virtual void enableGetGPSPosition(bool enable)=0
Enables/disables get GPS position.
virtual bool bootPassword() const
Returns true if boot password is enabled.
Definition anytone_codeplug.cc:1638
virtual void setFuncKeyCShort(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a short press on the function key 3/C.
virtual unsigned squelchLevelA() const
Squelch level of VFO A, (0=off).
Definition anytone_codeplug.cc:1647
Represents the bitmap indicating which group list element is valid.
Definition anytone_codeplug.hh:674
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:684
Represents the base class for group lists in all AnyTone codeplugs.
Definition anytone_codeplug.hh:611
virtual unsigned memberIndex(unsigned n) const
Returns the n-th member index.
Definition anytone_codeplug.cc:1179
virtual RXGroupList * toGroupListObj() const
Constructs a new RXGroupList from this group list.
Definition anytone_codeplug.cc:1192
virtual bool hasMemberIndex(unsigned n) const
Returns true if the n-th member index is valid.
Definition anytone_codeplug.cc:1175
virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx)
Constructs this group list from the given RXGroupList.
Definition anytone_codeplug.cc:1214
void clear()
Clears the group list.
Definition anytone_codeplug.cc:1154
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:621
bool isValid() const
Returns true if the group list is valid.
Definition anytone_codeplug.cc:1161
virtual void setName(const QString &name)
Sets the name of the group list.
Definition anytone_codeplug.cc:1170
virtual bool linkGroupList(RXGroupList *lst, Context &ctx) const
Populates the RXGroupList from this group list.
Definition anytone_codeplug.cc:1197
virtual QString name() const
Returns the name of the group list.
Definition anytone_codeplug.cc:1166
virtual void clearMemberIndex(unsigned n)
Clears the n-th member index.
Definition anytone_codeplug.cc:1187
virtual void setMemberIndex(unsigned n, unsigned idx)
Sets the n-th member index.
Definition anytone_codeplug.cc:1183
Represents the base class of a hot-key setting entry for all AnyTone codeplugs.
Definition anytone_codeplug.hh:1949
virtual DigiCallType digiCallType() const
If type returns Type::Call and callType CalLType::Digital, returns the digital call type.
Definition anytone_codeplug.cc:2868
virtual void setContactIndex(unsigned idx)
Sets the contact index.
Definition anytone_codeplug.cc:2885
Type
Hot-key types.
Definition anytone_codeplug.hh:1952
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1995
void clear()
Resets the hot-key entry.
Definition anytone_codeplug.cc:2834
virtual Type type() const
Returns the type of the hot-key entry.
Definition anytone_codeplug.cc:2841
virtual void setMessageIndex(unsigned idx)
Sets the message index.
Definition anytone_codeplug.cc:2902
virtual void clearContactIndex()
Clears the contact index.
Definition anytone_codeplug.cc:2889
DigiCallType
Possible digital call sub-types.
Definition anytone_codeplug.hh:1976
virtual unsigned contactIndex() const
If type is Type::Call, returns the contact index.
Definition anytone_codeplug.cc:2881
virtual void clearMessageIndex()
Clears the message index.
Definition anytone_codeplug.cc:2906
virtual CallType callType() const
If type returns Type::Call, returns the type of the call.
Definition anytone_codeplug.cc:2859
virtual void setMenuItem(MenuItem item)
Sets the menu item.
Definition anytone_codeplug.cc:2854
virtual bool hasContactIndex() const
Returns true if the contact index is set.
Definition anytone_codeplug.cc:2877
virtual void setCallType(CallType type)
Sets the call type.
Definition anytone_codeplug.cc:2863
CallType
Possible call types.
Definition anytone_codeplug.hh:1970
virtual unsigned messageIndex() const
Returns the message index.
Definition anytone_codeplug.cc:2898
virtual void setType(Type type)
Sets the type of the hot-key entry.
Definition anytone_codeplug.cc:2845
virtual MenuItem menuItem() const
If type returns Type::Menu, returns the menu item.
Definition anytone_codeplug.cc:2850
MenuItem
Possible menu items.
Definition anytone_codeplug.hh:1958
virtual bool hasMessageIndex() const
Returns true if a message index is set.
Definition anytone_codeplug.cc:2894
virtual void setDigiCallType(DigiCallType type)
Sets the digital call type.
Definition anytone_codeplug.cc:2872
Represents the list of hot-key settings for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2068
virtual uint8_t * hotKeySetting(unsigned int n) const
Returns a pointer to the n-th hot key setting.
Definition anytone_codeplug.cc:2935
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2928
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2078
Represents the base class for inverted bitmaps in all AnyTone codeplugs.
Definition anytone_codeplug.hh:60
void clear()
Clears the bitmap, disables all channels.
Definition anytone_codeplug.cc:105
virtual bool isEncoded(unsigned int idx) const
Returns true if the given index is valid.
Definition anytone_codeplug.cc:110
virtual void enableFirst(unsigned int n)
Enables the first n elements.
Definition anytone_codeplug.cc:125
virtual void setEncoded(unsigned int idx, bool enable)
Enables/disables the specified index.
Definition anytone_codeplug.cc:116
Represents the base class for inverted bytemaps in all AnyTone codeplugs.
Definition anytone_codeplug.hh:84
virtual void setEncoded(unsigned int idx, bool enable)
Enables/disables the specified index.
Definition anytone_codeplug.cc:156
virtual bool isEncoded(unsigned int idx) const
Returns true if the given index is valid.
Definition anytone_codeplug.cc:149
virtual void enableFirst(unsigned int n)
Enables the first n elements.
Definition anytone_codeplug.cc:163
void clear()
Clears the bitmap, disables all channels.
Definition anytone_codeplug.cc:144
Represents the bytemap indicating which message is valid.
Definition anytone_codeplug.hh:1781
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1791
Represents base class of a preset message for all AnyTone codeplugs.
Definition anytone_codeplug.hh:1743
virtual QString message() const
Returns the message text.
Definition anytone_codeplug.cc:2666
void clear()
Resets the message.
Definition anytone_codeplug.cc:2661
virtual void setMessage(const QString &msg)
Sets the message text.
Definition anytone_codeplug.cc:2670
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1753
Represents the base class of prefabricated message linked list for all AnyTone codeplugs.
Definition anytone_codeplug.hh:1696
virtual void setIndex(unsigned idx)
Sets the index of the message.
Definition anytone_codeplug.cc:2636
virtual bool hasIndex() const
Returns true if there is a message index.
Definition anytone_codeplug.cc:2628
virtual unsigned next() const
Returns the index of the next message in list.
Definition anytone_codeplug.cc:2615
virtual unsigned index() const
Returns the index of the message.
Definition anytone_codeplug.cc:2632
void clear()
Clears the message list item.
Definition anytone_codeplug.cc:2604
virtual void setNext(unsigned idx)
Sets the index of the next message in list.
Definition anytone_codeplug.cc:2619
virtual void clearNext()
Clears the next message index.
Definition anytone_codeplug.cc:2623
virtual bool hasNext() const
Returns true if there is a next message (EOL otherwise).
Definition anytone_codeplug.cc:2611
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1706
virtual void clearIndex()
Clears the index of the message.
Definition anytone_codeplug.cc:2640
Represents the bitmap indicating which radio IDs are valid.
Definition anytone_codeplug.hh:902
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:912
Represents the base class for radio IDs in all AnyTone codeplugs.
Definition anytone_codeplug.hh:853
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:863
virtual bool fromRadioID(DMRRadioID *id)
Encodes the given RadioID.
Definition anytone_codeplug.cc:1547
virtual void setName(const QString &name)
Sets the name of the radio ID.
Definition anytone_codeplug.cc:1538
void clear()
Resets the radio ID.
Definition anytone_codeplug.cc:1521
virtual DMRRadioID * toRadioID() const
Constructs a new radio id.
Definition anytone_codeplug.cc:1543
virtual void setNumber(unsigned number)
Sets the number of the radio ID.
Definition anytone_codeplug.cc:1529
virtual QString name() const
Returns the name of the radio ID.
Definition anytone_codeplug.cc:1534
virtual unsigned number() const
Returns the number of the radio ID.
Definition anytone_codeplug.cc:1525
Represents the table of repeater offset frequencies.
Definition anytone_codeplug.hh:1650
virtual bool isSet(unsigned int n) const
Returns true, if the n-th offset frequency is set.
Definition anytone_codeplug.cc:2556
virtual Frequency offset(unsigned int n) const
Returns the n-th offset frequency.
Definition anytone_codeplug.cc:2563
virtual void setOffset(unsigned int n, Frequency freq)
Sets the n-th offset frequency.
Definition anytone_codeplug.cc:2573
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2549
virtual void clearOffset(unsigned int n)
Clears the n-th offset frequency.
Definition anytone_codeplug.cc:2581
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1660
Represents the bitmap indicating which scanlist elements are valid.
Definition anytone_codeplug.hh:834
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:844
Represents the base class for scan lists in all AnyTone codeplugs.
Definition anytone_codeplug.hh:693
virtual void setSecondarySelected()
Sets the secondary channel to be selected channel.
Definition anytone_codeplug.cc:1338
virtual Interval lookBackTimeA() const
Returns the look back time A in seconds.
Definition anytone_codeplug.cc:1347
virtual bool fromScanListObj(ScanList *lst, Context &ctx)
Constructs the binary representation from the give config.
Definition anytone_codeplug.cc:1452
virtual void setSecondary(unsigned idx)
Sets the secondary channel index.
Definition anytone_codeplug.cc:1334
virtual PriChannel priorityChannels() const
Returns the priority channel selection.
Definition anytone_codeplug.cc:1288
virtual void setLookBackTimeA(const Interval &sec)
Sets the look back time A in seconds.
Definition anytone_codeplug.cc:1351
virtual QString name() const
Returns the name of the scan list.
Definition anytone_codeplug.cc:1391
virtual bool hasSecondary() const
Returns true if the secondary channel is set.
Definition anytone_codeplug.cc:1322
virtual bool hasPrimary() const
Returns true if the primary channel is set.
Definition anytone_codeplug.cc:1297
virtual void setDropOutDelay(const Interval &sec)
Sets the drop out delay in seconds.
Definition anytone_codeplug.cc:1368
virtual bool primaryIsSelected() const
Returns true if the primary channel is set to the selected channel.
Definition anytone_codeplug.cc:1301
virtual unsigned memberIndex(unsigned n) const
Returns the n-th member index.
Definition anytone_codeplug.cc:1404
virtual void setRevertChannel(RevertChannel type)
Sets the revert channel type.
Definition anytone_codeplug.cc:1386
virtual ScanList * toScanListObj() const
Constructs a ScanList object from this definition.
Definition anytone_codeplug.cc:1417
virtual void setPrimary(unsigned idx)
Sets the primary channel index.
Definition anytone_codeplug.cc:1309
virtual void setPrimarySelected()
Sets the primary channel to be selected channel.
Definition anytone_codeplug.cc:1313
virtual Interval dropOutDelay() const
Returns the drop out delay in seconds.
Definition anytone_codeplug.cc:1364
virtual unsigned primary() const
Returns the primary channel index.
Definition anytone_codeplug.cc:1305
PriChannel
Defines all possible priority channel selections.
Definition anytone_codeplug.hh:696
@ Secondary
Priority Channel Select 2.
@ Both
Priority Channel Select 1 + Priority Channel Select 2.
virtual void setName(const QString &name)
Sets the name of the scan list.
Definition anytone_codeplug.cc:1395
virtual bool secondaryIsSelected() const
Returns true if the secondary channel is set to the selected channel.
Definition anytone_codeplug.cc:1326
virtual void setPriorityChannels(PriChannel sel)
Sets the priority channel selection.
Definition anytone_codeplug.cc:1292
virtual void clearSecondaryChannel()
Clears the secondary channel index.
Definition anytone_codeplug.cc:1342
virtual RevertChannel revertChannel() const
Returns the revert channel type.
Definition anytone_codeplug.cc:1382
virtual bool hasMemberIndex(unsigned n) const
Returns true if the n-th member index is set.
Definition anytone_codeplug.cc:1400
virtual void clearPrimaryChannel()
Clears the primary channel index.
Definition anytone_codeplug.cc:1317
virtual void setDwellTime(const Interval &sec)
Sets the dwell time in seconds.
Definition anytone_codeplug.cc:1377
RevertChannel
Defines all possible reply channel selections.
Definition anytone_codeplug.hh:704
@ SecondaryActive
Secondary + active channel.
@ SelectedActive
Selected + active channel.
void clear()
Resets the scan list.
Definition anytone_codeplug.cc:1273
virtual void setLookBackTimeB(const Interval &sec)
Sets the look back time B in seconds.
Definition anytone_codeplug.cc:1359
virtual void setMemberIndex(unsigned n, unsigned idx)
Sets the n-th member index.
Definition anytone_codeplug.cc:1408
virtual Interval lookBackTimeB() const
Returns the look back time B in seconds.
Definition anytone_codeplug.cc:1355
virtual Interval dwellTime() const
Returns the dwell time in seconds.
Definition anytone_codeplug.cc:1373
virtual void clearMemberIndex(unsigned n)
Clears the n-th member index.
Definition anytone_codeplug.cc:1412
virtual unsigned secondary() const
Returns the secondary channel index.
Definition anytone_codeplug.cc:1330
virtual bool linkScanListObj(ScanList *lst, Context &ctx) const
Links all channels (members and primary channels) with the given scan-list object.
Definition anytone_codeplug.cc:1422
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:724
Represents the bitmap, indicating which status messages are valid.
Definition anytone_codeplug.hh:1930
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1940
Implements the list of status messages for all AnyTone codeplugs.
Definition anytone_codeplug.hh:1892
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1902
virtual QString message(unsigned int n) const
Returns the n-th status message.
Definition anytone_codeplug.cc:2789
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2784
virtual void setMessage(unsigned int n, const QString &msg)
Sets the n-th status message.
Definition anytone_codeplug.cc:2795
Rerpesents the two-tone function bitmap, indicating which two-tone functions are valid.
Definition anytone_codeplug.hh:2896
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2906
Represents the base-class for a 2-tone function for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2835
virtual Response response() const
Returns the response.
Definition anytone_codeplug.cc:3860
virtual void setSecondTone(double f)
Sets the second tone of the sequence.
Definition anytone_codeplug.cc:3855
virtual void setFirstTone(double f)
Sets the first tone of the sequence.
Definition anytone_codeplug.cc:3846
Response
Possible responses to a decode.
Definition anytone_codeplug.hh:2838
void clear()
Resets the function.
Definition anytone_codeplug.cc:3837
virtual void setResponse(Response resp)
Sets the response.
Definition anytone_codeplug.cc:3864
virtual QString name() const
Returns the name of the function.
Definition anytone_codeplug.cc:3869
virtual double secondTone() const
Returns the second tone of the sequence.
Definition anytone_codeplug.cc:3851
virtual void setName(const QString &name)
Sets the name of the function.
Definition anytone_codeplug.cc:3873
virtual double firstTone() const
Returns the first tone of the sequence.
Definition anytone_codeplug.cc:3842
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2851
Represents the two-tone ID bitmap, indicating the which two-tone IDs are valid.
Definition anytone_codeplug.hh:2817
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2827
Represents the base-class for a 2-tone ID for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2768
virtual void setSecondTone(double f)
Sets the second tone of the sequence.
Definition anytone_codeplug.cc:3791
virtual QString name() const
Returns the name of the function.
Definition anytone_codeplug.cc:3796
void clear()
Resets the ID.
Definition anytone_codeplug.cc:3773
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2778
virtual void setFirstTone(double f)
Sets the first tone of the sequence.
Definition anytone_codeplug.cc:3782
virtual double firstTone() const
Returns the first tone of the sequence.
Definition anytone_codeplug.cc:3778
virtual void setName(const QString &name)
Sets the name of the function.
Definition anytone_codeplug.cc:3800
virtual double secondTone() const
Returns the second tone of the sequence.
Definition anytone_codeplug.cc:3787
Represents the base class of 2-tone settings for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2914
virtual void setAutoResetTime(const Interval &sec)
Sets the auto-reset time in seconds.
Definition anytone_codeplug.cc:3955
virtual Interval autoResetTime() const
Returns the auto-reset time in seconds.
Definition anytone_codeplug.cc:3951
virtual bool sidetone() const
Returns true if the sidetone is enabled.
Definition anytone_codeplug.cc:3960
virtual void setFirstToneDuration(const Interval &ms)
Sets the first tone duration in ms.
Definition anytone_codeplug.cc:3919
virtual void enableSidetone(bool enable)
Enables/disables the sidetone.
Definition anytone_codeplug.cc:3964
virtual void setGapDuration(const Interval &ms)
Sets the gap duration in ms.
Definition anytone_codeplug.cc:3946
virtual Interval gapDuration() const
Returns the gap duration in ms.
Definition anytone_codeplug.cc:3942
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2924
virtual void setLongToneDuration(const Interval &ms)
Sets the long tone duration in ms.
Definition anytone_codeplug.cc:3937
virtual Interval longToneDuration() const
Returns the long tone duration in ms.
Definition anytone_codeplug.cc:3933
virtual Interval secondToneDuration() const
Returns the second tone duration in ms.
Definition anytone_codeplug.cc:3924
void clear()
Resets the settings.
Definition anytone_codeplug.cc:3910
virtual Interval firstToneDuration() const
Returns the first tone duration in ms.
Definition anytone_codeplug.cc:3915
virtual void setSecondToneDuration(const Interval &ms)
Sets the second tone duration in ms.
Definition anytone_codeplug.cc:3928
Represents the bitmap, indicating which WFM (FM broadcast) channels are valid.
Definition anytone_codeplug.hh:3201
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3211
Represents a list of 100 FM broad cast channels.
Definition anytone_codeplug.hh:3161
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3171
virtual void clearChannel(unsigned int n)
Clears the n-th channel frequency.
Definition anytone_codeplug.cc:4267
virtual void setChannel(unsigned int n, Frequency freq)
Sets the n-th channel frequency.
Definition anytone_codeplug.cc:4260
virtual Frequency channel(unsigned int n) const
Returns the n-th channel frequency.
Definition anytone_codeplug.cc:4253
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4241
virtual bool hasChannel(unsigned int n) const
Returns true, if the n-th channel is set.
Definition anytone_codeplug.cc:4246
Represents the WFM (FM broadcast) VFO frequency.
Definition anytone_codeplug.hh:3216
virtual Frequency frequency() const
Returns the VFO frequency.
Definition anytone_codeplug.cc:4312
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4306
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3226
virtual void setFrequency(Frequency freq)
Sets the VFO frequency.
Definition anytone_codeplug.cc:4317
Represents the bitmap indicating which zones are valid.
Definition anytone_codeplug.hh:1409
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1419
Represents the base class for zone channel list for all AnyTone codeplugs.
Definition anytone_codeplug.hh:1356
virtual unsigned channelIndexA(unsigned n) const
Returns the channel index (0-based) for VFO A for the n-th zone.
Definition anytone_codeplug.cc:2105
virtual void setChannelIndexB(unsigned n, unsigned idx)
Sets the channel index (0-based) for VFO B for the n-th zone.
Definition anytone_codeplug.cc:2126
virtual bool hasChannelB(unsigned n) const
Returns true if the channel index for VFO B is set for the n-th zone.
Definition anytone_codeplug.cc:2118
void clear()
Resets the zone channel list.
Definition anytone_codeplug.cc:2094
virtual bool hasChannelA(unsigned n) const
Returns true if the channel index for VFO A is set for the n-th zone.
Definition anytone_codeplug.cc:2101
virtual void clearChannelIndexA(unsigned n)
Clears the channel index (0-based) for VFO A for the n-th zone.
Definition anytone_codeplug.cc:2113
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1366
virtual void setChannelIndexA(unsigned n, unsigned idx)
Sets the channel index (0-based) for VFO A for the n-th zone.
Definition anytone_codeplug.cc:2109
virtual void clearChannelIndexB(unsigned n)
Clears the channel index (0-based) for VFO B for the n-th zone.
Definition anytone_codeplug.cc:2130
virtual unsigned channelIndexB(unsigned n) const
Returns the channel index (0-based) for VFO B for the n-th zone.
Definition anytone_codeplug.cc:2122
Base class interface for all Anytone radio codeplugs.
Definition anytone_codeplug.hh:22
virtual void setBitmaps(Context &ctx)=0
Sets all bitmaps for the given config.
bool encode(Config *config, const Flags &flags, const ErrorStack &err)
Encodes a given abstract configuration (config) to the device specific binary code-plug.
Definition anytone_codeplug.cc:4629
virtual void clear()
Clears and resets the complete codeplug to some default values.
Definition anytone_codeplug.cc:4480
virtual void allocateUpdated()=0
Allocate all code-plug elements that must be written back to the device to maintain a working codeplu...
virtual void allocateForEncoding()=0
Allocate all code-plug elements that are defined through the common Config.
virtual bool createElements(Context &ctx, const ErrorStack &err=ErrorStack())=0
Creates all config objects from the downloaded codeplug.
virtual ~AnytoneCodeplug()
Destructor.
Definition anytone_codeplug.cc:4475
virtual void allocateForDecoding()=0
Allocate all code-plug elements that must be downloaded for decoding.
virtual bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all previously created config objects.
bool postprocess(Config *config, const ErrorStack &err) const
Returns a post-processed configuration of the decoded config.
Definition anytone_codeplug.cc:4612
Config * preprocess(Config *config, const ErrorStack &err) const
Returns a prepared configuration for this particular radio.
Definition anytone_codeplug.cc:4593
virtual bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes the given config (via context) to the binary codeplug.
virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the downloaded codeplug.
Definition anytone_codeplug.cc:4577
bool decode(Config *config, const ErrorStack &err)
Decodes a binary codeplug to the given abstract configuration config.
Definition anytone_codeplug.cc:4659
virtual bool allocateBitmaps()=0
Allocates the bitmaps.
QString _label
Holds the image label.
Definition anytone_codeplug.hh:3410
virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition anytone_codeplug.cc:4491
AlertType
Possible ring-tone types.
Definition anytone_extension.hh:340
SquelchMode
Possible squelch mode settings.
Definition anytone_extension.hh:160
KeyFunction
All possible key functions.
Definition anytone_settingsextension.hh:267
Implements an interface to Anytone radios.
Definition anytone_radio.hh:35
VFOScanType
Encodes the possible VFO scan types.
Definition anytone_settingsextension.hh:2226
Represents a DMR (basic) encryption key.
Definition encryptionextension.hh:47
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:34
Power
Specifies the prefix for every ID assigned to every channel during serialization.
Definition channel.hh:61
Base class for all codeplug contexts.
Definition codeplug.hh:291
Represents the abstract base class of all codeplug elements.
Definition codeplug.hh:65
Certain flags passed to CodePlug::encode to control the transfer and encoding of the codeplug.
Definition codeplug.hh:24
This class defines the interface all device-specific code-plugs must implement.
Definition codeplug.hh:18
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:398
Represents a digital contact, that is a DMR number.
Definition contact.hh:141
Type
Possible call types for a contact.
Definition contact.hh:155
Represents a DMR radio ID within the abstract config.
Definition radioid.hh:33
Represents an analog contact, that is a DTMF number.
Definition contact.hh:89
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:251
Represents a time interval.
Definition interval.hh:11
A config item that encodes a melody.
Definition melody.hh:20
Generic representation of a RX group list.
Definition rxgrouplist.hh:14
Represents the common radio-global settings.
Definition radiosettings.hh:15
Generic representation of a scan list.
Definition scanlist.hh:15
Some internal offsets within element.
Definition anytone_codeplug.hh:2192
Internal offsets within element.
Definition anytone_codeplug.hh:2293
Internal offsets within the element.
Definition anytone_codeplug.hh:2331
Some internal offsets.
Definition anytone_codeplug.hh:1839
Some limits for the quick calls.
Definition anytone_codeplug.hh:1873
static constexpr unsigned int numEntries()
The maximum number of quick-call entries.
Definition anytone_codeplug.hh:1874
Some offsets within the element.
Definition anytone_codeplug.hh:1879
Some limits for boot settings.
Definition anytone_codeplug.hh:1464
static constexpr unsigned int passwordLength()
Maximum password length.
Definition anytone_codeplug.hh:1468
static constexpr unsigned int introLineLength()
Maximum intro line length.
Definition anytone_codeplug.hh:1466
Some internal offsets within element.
Definition anytone_codeplug.hh:1473
Implements encoding of CTCSS tones.
Definition anytone_codeplug.hh:27
static uint8_t encode(const SelectiveCall &tone)
Encodes Signaling::Code CTCSS tones.
Definition anytone_codeplug.cc:39
static SelectiveCall decode(uint8_t code)
Decodes to Signaling::Code CTCSS tones.
Definition anytone_codeplug.cc:48
static SelectiveCall _codeTable[52]
Translation table.
Definition anytone_codeplug.hh:22
Some limits for the channel element.
Definition anytone_codeplug.hh:385
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:387
Internal used offsets within the channel element.
Definition anytone_codeplug.hh:392
Some limits for the contact.
Definition anytone_codeplug.hh:502
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:504
Internal offsets within the element.
Definition anytone_codeplug.hh:509
Some internal offsets.
Definition anytone_codeplug.hh:3353
Some limits for the message.
Definition anytone_codeplug.hh:1632
static constexpr unsigned int length()
Maximum message length.
Definition anytone_codeplug.hh:1633
Some internal used offset.
Definition anytone_codeplug.hh:1638
Internal offsets within element.
Definition anytone_codeplug.hh:1580
Some limits for the list.
Definition anytone_codeplug.hh:3264
static constexpr unsigned int numEntries()
Maximum number of DMR encryption key IDs.
Definition anytone_codeplug.hh:3265
Some internal used offsets within the element.
Definition anytone_codeplug.hh:3270
Some limits for the element.
Definition anytone_codeplug.hh:574
static constexpr unsigned int digitCount()
The max number of digits.
Definition anytone_codeplug.hh:575
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:576
Internal used offsets within the codeplug.
Definition anytone_codeplug.hh:581
Some limits of the list.
Definition anytone_codeplug.hh:3149
static constexpr unsigned int numberLength()
The maximum length of the numbers.
Definition anytone_codeplug.hh:3151
static constexpr unsigned int numEntries()
The maximum number of entries in the list.
Definition anytone_codeplug.hh:3150
Some limits for the settings.
Definition anytone_codeplug.hh:3082
static constexpr unsigned int remoteKillIdLength()
Maximum remote kill ID length.
Definition anytone_codeplug.hh:3090
static constexpr unsigned int remteStunIdLength()
Maximum remote stun ID length.
Definition anytone_codeplug.hh:3092
static constexpr unsigned int idLength()
Maximum ID length.
Definition anytone_codeplug.hh:3084
static constexpr unsigned int eotIdLength()
Maximum EOT ID length.
Definition anytone_codeplug.hh:3088
static constexpr unsigned int botIdLength()
Maximum BOT ID length.
Definition anytone_codeplug.hh:3086
Some internal offsets.
Definition anytone_codeplug.hh:3097
Internal used offsets within the element.
Definition anytone_codeplug.hh:2372
Some limits of the list.
Definition anytone_codeplug.hh:3303
static constexpr unsigned numEntries()
Maximum number of keys.
Definition anytone_codeplug.hh:3304
Some offsets within the element.
Definition anytone_codeplug.hh:3309
Some limits for the function element.
Definition anytone_codeplug.hh:2547
static constexpr unsigned int idLength()
Maximum name length.
Definition anytone_codeplug.hh:2549
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2551
Some internal offsets.
Definition anytone_codeplug.hh:2556
Some limits for the list.
Definition anytone_codeplug.hh:2591
static constexpr unsigned int numFunctions()
The max number of functions.
Definition anytone_codeplug.hh:2592
Some limits of the element.
Definition anytone_codeplug.hh:2430
static constexpr unsigned int idLength()
Maximum ID length.
Definition anytone_codeplug.hh:2432
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2434
Some internal offsets within element.
Definition anytone_codeplug.hh:2439
Some limits for the list.
Definition anytone_codeplug.hh:2489
static constexpr unsigned int numEntries()
Maximum number of entries.
Definition anytone_codeplug.hh:2490
Some limits for the settings.
Definition anytone_codeplug.hh:2722
static constexpr unsigned int idLength()
Maximum ID length.
Definition anytone_codeplug.hh:2724
static constexpr unsigned int botIdLength()
Maximum BOT ID length.
Definition anytone_codeplug.hh:2726
static constexpr unsigned int eotIdLength()
Maximum EOT ID length.
Definition anytone_codeplug.hh:2728
Some internal offsets.
Definition anytone_codeplug.hh:2733
Internal used offsets within the element.
Definition anytone_codeplug.hh:1299
Some limits for the group list.
Definition anytone_codeplug.hh:654
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:658
static constexpr unsigned int members()
Maximum number of members.
Definition anytone_codeplug.hh:656
Internal offsets within element.
Definition anytone_codeplug.hh:663
Some internal offsets within element.
Definition anytone_codeplug.hh:2048
Some limits for this element.
Definition anytone_codeplug.hh:2087
static constexpr unsigned int numEntries()
Maximum number of hot-key entries.
Definition anytone_codeplug.hh:2088
Some internal offsets within the element.
Definition anytone_codeplug.hh:2093
Some limits for the message.
Definition anytone_codeplug.hh:1765
static constexpr unsigned int messageLength()
Maximum message length.
Definition anytone_codeplug.hh:1767
Some internal offsets.
Definition anytone_codeplug.hh:1772
Some internal offsets.
Definition anytone_codeplug.hh:1731
Some limits for the radio ID element.
Definition anytone_codeplug.hh:885
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:887
Some internal offsets within element.
Definition anytone_codeplug.hh:892
Some limits for the offset frequency table.
Definition anytone_codeplug.hh:1675
static constexpr unsigned int numEntries()
Max number of entries in the table.
Definition anytone_codeplug.hh:1676
Some internal used offsets.
Definition anytone_codeplug.hh:1681
Some limits for the scan list.
Definition anytone_codeplug.hh:806
static constexpr unsigned int members()
Maximum number of members.
Definition anytone_codeplug.hh:808
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:810
Some internal offsets within the element.
Definition anytone_codeplug.hh:815
Some limits.
Definition anytone_codeplug.hh:1913
static constexpr unsigned int numMessages()
Maximum number of messages.
Definition anytone_codeplug.hh:1914
static constexpr unsigned int messageLength()
Maximum length of the messages.
Definition anytone_codeplug.hh:1915
Some internal offsets.
Definition anytone_codeplug.hh:1920
Some limits of the element.
Definition anytone_codeplug.hh:2878
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2879
Some internal offsets within the element.
Definition anytone_codeplug.hh:2884
Some limits for the element.
Definition anytone_codeplug.hh:2800
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2801
Some internal offsets within the element.
Definition anytone_codeplug.hh:2806
Internal offsets.
Definition anytone_codeplug.hh:2961
Some limits for the channel list.
Definition anytone_codeplug.hh:3186
static constexpr unsigned int numEntries()
Maximum number of channels in the list.
Definition anytone_codeplug.hh:3187
Some internal offsets within the element.
Definition anytone_codeplug.hh:3192
Some limits for the channel lists.
Definition anytone_codeplug.hh:1391
static constexpr unsigned int zones()
Maximum number of channels per VFO.
Definition anytone_codeplug.hh:1393
Internal offsets within element.
Definition anytone_codeplug.hh:1398
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:107
Encodes a selective call.
Definition signaling.hh:13