libdrmconf 0.15.1
A library to program DMR radios.
Loading...
Searching...
No Matches
anytone_codeplug.hh
1#ifndef ANYTONECODEPLUG_HH
2#define ANYTONECODEPLUG_HH
3
4#include "anytone_settingsextension.hh"
5#include "bootsettings.hh"
6#include "channel.hh"
7#include "codeplug.hh"
8#include "contact.hh"
9#include <QGeoCoordinate>
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
46 {
47 protected:
49 InvertedBytemapElement(uint8_t *ptr, size_t size);
50
51 public:
53 void clear();
54
56 virtual bool isEncoded(unsigned int idx) const ;
58 virtual void setEncoded(unsigned int idx, bool enable);
60 virtual void enableFirst(unsigned int n);
61 };
62
68 class ChannelElement: public Element
69 {
70 public:
72 enum class Mode {
73 Analog = 0,
74 Digital = 1,
77 };
78
86
88 enum class RepeaterMode {
89 Simplex = 0,
92 };
93
95 enum class SignalingMode {
96 None = 0,
97 CTCSS = 1,
98 DCS = 2
99 };
100
102 enum class Admit {
103 Always = 0,
104 Free = 1,
107 Tone = 1,
108 Busy = 2
109 };
110
112 enum class OptSignaling {
113 Off = 0,
114 DTMF = 1,
117 };
118
119 protected:
121 ChannelElement(uint8_t *ptr, unsigned size);
122
123 public:
125 ChannelElement(uint8_t *ptr);
127 virtual ~ChannelElement();
128
130 static constexpr unsigned int size() { return 0x0040; }
131
133 void clear();
134
136 virtual unsigned rxFrequency() const;
138 virtual void setRXFrequency(unsigned hz);
139
143 virtual unsigned txOffset() const;
147 virtual void setTXOffset(unsigned hz);
149 virtual unsigned txFrequency() const;
152 virtual void setTXFrequency(unsigned hz);
153
155 virtual Mode mode() const;
157 virtual void setMode(Mode mode);
158
160 virtual Channel::Power power() const;
162 virtual void setPower(Channel::Power power);
163
165 virtual FMChannel::Bandwidth bandwidth() const;
167 virtual void setBandwidth(FMChannel::Bandwidth bw);
168
170 virtual RepeaterMode repeaterMode() const;
172 virtual void setRepeaterMode(RepeaterMode mode);
173
175 virtual SignalingMode rxSignalingMode() const;
179 virtual SelectiveCall rxTone() const;
181 virtual void setRXTone(const SelectiveCall &code);
182
184 virtual SignalingMode txSignalingMode() const;
188 virtual SelectiveCall txTone() const;
190 virtual void setTXTone(const SelectiveCall &code);
191
193 virtual bool rxTxSwapped() const;
195 virtual void enableSwapRxTx(bool enable);
196
198 virtual bool rxOnly() const;
200 virtual void enableRXOnly(bool enable);
202 virtual bool callConfirm() const;
204 virtual void enableCallConfirm(bool enable);
206 virtual bool talkaround() const;
208 virtual void enableTalkaround(bool enable);
209
211 virtual bool txCTCSSIsCustom() const;
213 virtual SelectiveCall txCTCSS() const;
215 virtual void setTXCTCSS(const SelectiveCall &tone);
217 virtual void enableTXCustomCTCSS();
219 virtual bool rxCTCSSIsCustom() const;
221 virtual SelectiveCall rxCTCSS() const;
223 virtual void setRXCTCSS(const SelectiveCall &tone);
225 virtual void enableRXCustomCTCSS();
226
228 virtual SelectiveCall txDCS() const;
230 virtual void setTXDCS(const SelectiveCall &code);
232 virtual SelectiveCall rxDCS() const;
234 virtual void setRXDCS(const SelectiveCall &code);
235
237 virtual double customCTCSSFrequency() const;
239 virtual void setCustomCTCSSFrequency(double hz);
240
242 virtual unsigned twoToneDecodeIndex() const;
244 virtual void setTwoToneDecodeIndex(unsigned idx);
245
247 virtual unsigned contactIndex() const;
249 virtual void setContactIndex(unsigned idx);
250
252 virtual unsigned radioIDIndex() const;
254 virtual void setRadioIDIndex(unsigned idx);
255
260
262 virtual Admit admit() const;
264 virtual void setAdmit(Admit admit);
265
267 virtual OptSignaling optionalSignaling() const;
269 virtual void setOptionalSignaling(OptSignaling sig);
270
272 virtual bool hasScanListIndex() const;
274 virtual unsigned scanListIndex() const;
276 virtual void setScanListIndex(unsigned idx);
278 virtual void clearScanListIndex();
279
281 virtual bool hasGroupListIndex() const;
283 virtual unsigned groupListIndex() const;
285 virtual void setGroupListIndex(unsigned idx);
287 virtual void clearGroupListIndex();
288
290 virtual unsigned twoToneIDIndex() const;
292 virtual void setTwoToneIDIndex(unsigned idx);
294 virtual unsigned fiveToneIDIndex() const;
296 virtual void setFiveToneIDIndex(unsigned idx);
298 virtual unsigned dtmfIDIndex() const;
300 virtual void setDTMFIDIndex(unsigned idx);
301
303 virtual unsigned colorCode() const;
305 virtual void setColorCode(unsigned code);
306
308 virtual DMRChannel::TimeSlot timeSlot() const;
310 virtual void setTimeSlot(DMRChannel::TimeSlot ts);
311
313 virtual bool smsConfirm() const;
315 virtual void enableSMSConfirm(bool enable);
317 virtual bool simplexTDMA() const;
319 virtual void enableSimplexTDMA(bool enable);
321 virtual bool adaptiveTDMA() const;
323 virtual void enableAdaptiveTDMA(bool enable);
325 virtual bool rxAPRS() const;
327 virtual void enableRXAPRS(bool enable);
329 virtual bool loneWorker() const;
331 virtual void enableLoneWorker(bool enable);
332
334 virtual QString name() const;
336 virtual void setName(const QString &name);
337
339 virtual Channel *toChannelObj(Context &ctx) const;
341 virtual bool linkChannelObj(Channel *c, Context &ctx) const;
343 virtual bool fromChannelObj(const Channel *c, Context &ctx);
344
345 public:
347 struct Limit: Element::Limit {
349 static constexpr unsigned int nameLength() { return 16; }
350 };
351
352 protected:
354 struct Offset: public Element::Offset {
356 static constexpr unsigned int rxFrequency() { return 0x0000; }
357 static constexpr unsigned int txFrequencyOffset() { return 0x0004; }
358 static constexpr Bit channelMode() { return {0x0008, 0}; }
359 static constexpr Bit power() { return {0x0008, 2}; }
360 static constexpr Bit bandwidth() { return {0x0008, 4}; }
361 static constexpr Bit repeaterMode() { return {0x0008, 6}; }
362 static constexpr Bit rxSignalingMode() { return {0x0009, 0}; }
363 static constexpr Bit txSignalingMode() { return {0x0009, 2}; }
364 static constexpr Bit swapRXTX() { return {0x0009, 4}; }
365 static constexpr Bit rxOnly() { return {0x0009, 5}; }
366 static constexpr Bit callConfirm() { return {0x0009, 6}; }
367 static constexpr Bit talkaround() { return {0x0009, 7}; }
368 static constexpr unsigned int txCTCSS() { return 0x000a; }
369 static constexpr unsigned int rxCTCSS() { return 0x000b; }
370 static constexpr unsigned int txDCS() { return 0x000c; }
371 static constexpr unsigned int rxDCS() { return 0x000e; }
372 static constexpr unsigned int customCTCSS() { return 0x0010; }
373 static constexpr unsigned int twoFunctionIndex() { return 0x0012; }
374 static constexpr unsigned int contactIndex() { return 0x0014; }
375 static constexpr unsigned int radioIdIndex() { return 0x0018; }
376 static constexpr Bit squelchMode() { return {0x0019, 4}; }
377 static constexpr Bit admitCriterion() { return {0x001a, 0}; }
378 static constexpr Bit optionalSingnaling() { return {0x001a, 4}; }
379 static constexpr unsigned int scanListIndex() { return 0x001b; }
380 static constexpr unsigned int groupListIndex() { return 0x001c; }
381 static constexpr unsigned int twoToneIDIndex() { return 0x001d; }
382 static constexpr unsigned int fiveToneIDIndex() { return 0x001e; }
383 static constexpr unsigned int dtmfIDIndex() { return 0x001f; }
384 static constexpr unsigned int colorCode() { return 0x0020; }
385 static constexpr Bit timeSlot() { return {0x0021, 0}; }
386 static constexpr Bit smsConfirm() { return {0x0021, 1}; }
387 static constexpr Bit simplexTDMA() { return {0x0021, 2}; }
388 static constexpr Bit adaptiveTDMA() { return {0x0021, 4}; }
389 static constexpr Bit rxAPRS() { return {0x0021, 5}; }
390 static constexpr Bit loneWorker() { return {0x0021, 7}; }
391 static constexpr unsigned int name() { return 0x0023; }
393 };
394 };
395
398 {
399 protected:
401 ChannelBitmapElement(uint8_t *ptr, size_t size);
402
403 public:
405 ChannelBitmapElement(uint8_t *ptr);
406
408 static constexpr unsigned int size() { return 0x0200; }
409 };
410
411
418 {
419 protected:
421 ContactElement(uint8_t *ptr, unsigned size);
422
423 public:
425 explicit ContactElement(uint8_t *ptr);
427 virtual ~ContactElement();
428
430 static constexpr unsigned int size() { return 0x0064; }
431
433 void clear();
435 bool isValid() const;
436
438 virtual DMRContact::Type type() const;
440 virtual void setType(DMRContact::Type type);
441
443 virtual QString name() const;
445 virtual void setName(const QString &name);
446
448 virtual unsigned number() const;
450 virtual void setNumber(unsigned number);
451
456
458 virtual DMRContact *toContactObj(Context &ctx) const;
460 virtual bool fromContactObj(const DMRContact *contact, Context &ctx);
461
462 public:
464 struct Limit: public Element::Limit {
466 static constexpr unsigned int nameLength() { return 16; }
467 };
468
469 protected:
471 struct Offset: public Element::Offset {
473 static constexpr unsigned int type() { return 0x0000; }
474 static constexpr unsigned int name() { return 0x0001; }
475 static constexpr unsigned int number() { return 0x0023; }
476 static constexpr unsigned int alertType() { return 0x0027; }
478 };
479 };
480
483 {
484 protected:
486 ContactBitmapElement(uint8_t *ptr, size_t size);
487
488 public:
490 ContactBitmapElement(uint8_t *ptr);
491
493 static constexpr unsigned int size() { return 0x0500; }
494 };
495
496
502 {
503 protected:
505 DTMFContactElement(uint8_t *ptr, unsigned size);
506
507 public:
509 explicit DTMFContactElement(uint8_t *ptr);
511 virtual ~DTMFContactElement();
512
514 static constexpr unsigned int size() { return 0x0018; }
515
517 void clear();
518
520 virtual QString number() const;
522 virtual void setNumber(const QString &number);
523
525 virtual QString name() const;
527 virtual void setName(const QString &name);
528
530 virtual DTMFContact *toContact() const;
532 virtual bool fromContact(const DTMFContact *contact);
533
534 public:
536 struct Limit {
537 static constexpr unsigned int digitCount() { return 14; }
538 static constexpr unsigned int nameLength() { return 15; }
539 };
540
541 protected:
543 struct Offset {
545 static constexpr unsigned int digits() { return 0x0000; }
546 static constexpr unsigned int numDigits() { return 0x0007; }
547 static constexpr unsigned int name() { return 0x0008; }
549 };
550 };
551
554 {
555 protected:
557 DTMFContactBytemapElement(uint8_t *ptr, size_t size);
558
559 public:
561 explicit DTMFContactBytemapElement(uint8_t *ptr);
562
564 static constexpr unsigned int size() { return 0x0100; }
565 };
566
567
573 {
574 protected:
576 GroupListElement(uint8_t *ptr, unsigned size);
577
578 public:
580 GroupListElement(uint8_t *ptr);
581
583 static constexpr unsigned int size() { return 0x0120; }
584
586 void clear();
588 bool isValid() const;
589
591 virtual QString name() const;
593 virtual void setName(const QString &name);
594
596 virtual bool hasMemberIndex(unsigned n) const;
598 virtual unsigned memberIndex(unsigned n) const;
600 virtual void setMemberIndex(unsigned n, unsigned idx);
602 virtual void clearMemberIndex(unsigned n);
603
607 virtual RXGroupList *toGroupListObj() const;
610 virtual bool linkGroupList(RXGroupList *lst, Context &ctx) const;
612 virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx);
613
614 public:
616 struct Limit: public Element::Limit {
618 static constexpr unsigned int members() { return 64; }
620 static constexpr unsigned int nameLength() { return 16; }
621 };
622
623 protected:
625 struct Offset: public Element::Offset {
627 static constexpr unsigned int members() { return 0x0000; }
628 static constexpr unsigned int betweenMembers() { return 0x0004; }
629 static constexpr unsigned int name() { return 0x0100; }
631 };
632 };
633
636 {
637 protected:
639 GroupListBitmapElement(uint8_t *ptr, size_t size);
640
641 public:
643 explicit GroupListBitmapElement(uint8_t *ptr);
644
646 static constexpr unsigned int size() { return 0x0020; }
647 };
648
649
655 {
656 public:
658 enum class PriChannel {
659 Off = 0,
662 Both = 3
663 };
664
676
677 protected:
679 ScanListElement(uint8_t *ptr, unsigned size);
680
681 public:
683 ScanListElement(uint8_t *ptr);
684
686 static constexpr unsigned int size() { return 0x0090; }
687
689 void clear();
690
692 virtual PriChannel priorityChannels() const;
694 virtual void setPriorityChannels(PriChannel sel);
695
697 virtual bool hasPrimary() const;
699 virtual bool primaryIsSelected() const;
701 virtual unsigned primary() const;
703 virtual void setPrimary(unsigned idx);
705 virtual void setPrimarySelected();
707 virtual void clearPrimaryChannel();
708
710 virtual bool hasSecondary() const;
712 virtual bool secondaryIsSelected() const;
714 virtual unsigned secondary() const;
716 virtual void setSecondary(unsigned idx);
718 virtual void setSecondarySelected();
720 virtual void clearSecondaryChannel();
721
723 virtual Interval lookBackTimeA() const;
725 virtual void setLookBackTimeA(const Interval &sec);
727 virtual Interval lookBackTimeB() const;
729 virtual void setLookBackTimeB(const Interval& sec);
731 virtual Interval dropOutDelay() const;
733 virtual void setDropOutDelay(const Interval& sec);
735 virtual Interval dwellTime() const;
737 virtual void setDwellTime(const Interval& sec);
738
740 virtual RevertChannel revertChannel() const;
742 virtual void setRevertChannel(RevertChannel type);
743
745 virtual QString name() const;
747 virtual void setName(const QString &name);
748
750 virtual bool hasMemberIndex(unsigned n) const;
752 virtual unsigned memberIndex(unsigned n) const;
754 virtual void setMemberIndex(unsigned n, unsigned idx);
756 virtual void clearMemberIndex(unsigned n);
757
760 virtual ScanList *toScanListObj() const;
762 virtual bool linkScanListObj(ScanList *lst, Context &ctx) const;
764 virtual bool fromScanListObj(ScanList *lst, Context &ctx);
765
766 public:
768 struct Limit: public Element::Limit {
770 static constexpr unsigned int members() { return 50; }
772 static constexpr unsigned int nameLength() { return 16; }
773 };
774
775 protected:
777 struct Offset: public Element::Offset {
779 static constexpr unsigned int priorityChannel() { return 0x0001; }
780 static constexpr unsigned int primaryChannel() { return 0x0002; }
781 static constexpr unsigned int secondaryChannel() { return 0x0004; }
782 static constexpr unsigned int lookBackTimeA() { return 0x0006; }
783 static constexpr unsigned int lookBackTimeB() { return 0x0008; }
784 static constexpr unsigned int dropOutDelay() { return 0x000a; }
785 static constexpr unsigned int dwellTime() { return 0x000c; }
786 static constexpr unsigned int revertChannel() { return 0x000e; }
787 static constexpr unsigned int name() { return 0x000f; }
788 static constexpr unsigned int members() { return 0x0020; }
789 static constexpr unsigned int betweenMembers() { return 0x0002; }
791 };
792 };
793
796 {
797 protected:
799 ScanListBitmapElement(uint8_t *ptr, size_t size);
800
801 public:
803 ScanListBitmapElement(uint8_t *ptr);
804
806 static constexpr unsigned int size() { return 0x00000020; }
807 };
808
809
815 {
816 protected:
818 RadioIDElement(uint8_t *ptr, unsigned size);
819
820 public:
822 RadioIDElement(uint8_t *ptr);
823
825 static constexpr unsigned int size() { return 0x0020; }
826
828 void clear();
829
831 virtual unsigned number() const;
833 virtual void setNumber(unsigned number);
834
836 virtual QString name() const;
838 virtual void setName(const QString &name);
839
841 virtual bool fromRadioID(DMRRadioID *id);
843 virtual DMRRadioID *toRadioID() const;
844
845 public:
847 struct Limit: public Element::Limit {
849 static constexpr unsigned int nameLength() { return 16; }
850 };
851
852 protected:
854 struct Offset: public Element::Offset {
856 static constexpr unsigned int number() { return 0x0000; }
857 static constexpr unsigned int name() { return 0x0005; }
859 };
860 };
861
864 {
865 protected:
867 RadioIDBitmapElement(uint8_t *ptr, size_t size);
868
869 public:
871 RadioIDBitmapElement(uint8_t *ptr);
872
874 static constexpr unsigned int size() { return 0x0020; }
875 };
876
877
880 {
881 public:
883 explicit PrimaryRadioIdElement(uint8_t *ptr);
884
885 static constexpr unsigned int size() { return 0x0020; }
886
887 void clear() override;
888 bool isValid() const override;
889
891 virtual unsigned int number() const;
893 virtual void setNumber(unsigned int number);
894
896 virtual QString name() const;
898 virtual void setName(const QString &name);
899
901 virtual bool enabled() const;
903 virtual void enable(bool enable);
904
906 virtual bool encode(const Flags &flags, Context &ctx, const ErrorStack &err);
909 virtual bool decode(Context &ctx, const ErrorStack &err);
911 virtual bool link(Context &ctx, const ErrorStack &err);
912
913 public:
915 struct Limit: Element::Limit {
917 static constexpr unsigned int name() { return 26; }
918 };
919
920 protected:
922 struct Offset: Element::Offset {
924 static constexpr unsigned int id() { return 0x0000; }
925 static constexpr unsigned int enabled() { return 0x0004; }
926 static constexpr unsigned int name() { return 0x0005; }
928 };
929 };
930
939 {
940 public:
942 enum class AutoShutdown {
943 Off = 0, After10min = 1, After30min = 2, After60min = 3, After120min = 4,
944 };
945
946 enum class BootDisplay {
947 Default = 0, CustomText = 1, CustomImage = 2
948 };
949
950 protected:
952 GeneralSettingsElement(uint8_t *ptr, unsigned size);
953
954 public:
956 void clear();
957
959 virtual bool keyToneEnabled() const = 0;
961 virtual void enableKeyTone(bool enable) = 0;
962
964 virtual bool displayFrequency() const;
966 virtual void enableDisplayFrequency(bool enable);
968 virtual bool autoKeyLock() const;
970 virtual void enableAutoKeyLock(bool enable);
972 virtual Interval autoShutdownDelay() const;
974 virtual void setAutoShutdownDelay(Interval min);
978 virtual void setBootDisplay(BootSettings::BootDisplay mode);
980 virtual bool bootPassword() const;
982 virtual void enableBootPassword(bool enable);
984 virtual Level squelchLevelA() const;
986 virtual void setSquelchLevelA(Level level);
988 virtual Level squelchLevelB() const;
990 virtual void setSquelchLevelB(Level level);
991
997 virtual Level dmrMicGain() const = 0;
999 virtual void setDMRMicGain(Level gain) = 0;
1000
1021
1042
1044 virtual Interval longPressDuration() const = 0;
1046 virtual void setLongPressDuration(Interval ms) = 0;
1047
1049 virtual bool knobLock() const = 0;
1051 virtual void enableKnobLock(bool enable) = 0;
1053 virtual bool keypadLock() const = 0;
1055 virtual void enableKeypadLock(bool enable) = 0;
1057 virtual bool sidekeysLock() const = 0;
1059 virtual void enableSidekeysLock(bool enable) = 0;
1061 virtual bool keyLockForced() const = 0;
1063 virtual void enableKeyLockForced(bool enable) = 0;
1064
1065 public:
1067 virtual bool vfoModeA() const = 0;
1069 virtual void enableVFOModeA(bool enable) = 0;
1071 virtual bool vfoModeB() const = 0;
1073 virtual void enableVFOModeB(bool enable) = 0;
1074
1076 virtual unsigned memoryZoneA() const = 0;
1078 virtual void setMemoryZoneA(unsigned zone) = 0;
1080 virtual unsigned memoryZoneB() const = 0;
1082 virtual void setMemoryZoneB(unsigned zone) = 0;
1083
1085 virtual bool recording() const = 0;
1087 virtual void enableRecording(bool enable) = 0;
1088
1090 virtual unsigned brightness() const = 0;
1092 virtual void setBrightness(unsigned level) = 0;
1093
1095 virtual bool gps() const = 0;
1097 virtual void enableGPS(bool enable) = 0;
1099 virtual bool smsAlert() const = 0;
1101 virtual void enableSMSAlert(bool enable) = 0;
1103 virtual bool activeChannelB() const = 0;
1105 virtual void enableActiveChannelB(bool enable) = 0;
1107 virtual bool subChannel() const = 0;
1109 virtual void enableSubChannel(bool enable) = 0;
1111 virtual bool callAlert() const = 0;
1113 virtual void enableCallAlert(bool enable) = 0;
1114
1116 virtual QTimeZone gpsTimeZone() const = 0;
1118 virtual void setGPSTimeZone(const QTimeZone &zone) = 0;
1120 virtual bool dmrTalkPermit() const = 0;
1122 virtual bool fmTalkPermit() const = 0;
1124 virtual void enableDMRTalkPermit(bool enable) = 0;
1126 virtual void enableFMTalkPermit(bool enable) = 0;
1128 virtual bool dmrResetTone() const = 0;
1130 virtual void enableDMRResetTone(bool enable) = 0;
1131
1133 virtual bool idleChannelTone() const = 0;
1135 virtual void enableIdleChannelTone(bool enable) = 0;
1137 virtual Interval menuExitTime() const = 0;
1139 virtual void setMenuExitTime(Interval intv) = 0;
1141 virtual bool startupTone() const = 0;
1143 virtual void enableStartupTone(bool enable) = 0;
1145 virtual bool callEndPrompt() const = 0;
1147 virtual void enableCallEndPrompt(bool enable) = 0;
1149 virtual Level maxSpeakerVolume() const = 0;
1151 virtual void setMaxSpeakerVolume(Level level) = 0;
1153 virtual bool getGPSPosition() const = 0;
1155 virtual void enableGetGPSPosition(bool enable) = 0;
1156
1158 virtual bool volumeChangePrompt() const = 0;
1160 virtual void enableVolumeChangePrompt(bool enable) = 0;
1166 virtual AnytoneDisplaySettingsExtension::LastCallerDisplayMode lastCallerDisplayMode() const = 0;
1168 virtual void setLastCallerDisplayMode(AnytoneDisplaySettingsExtension::LastCallerDisplayMode mode) = 0;
1169
1171 virtual bool displayClock() const = 0;
1173 virtual void enableDisplayClock(bool enable) = 0;
1175 virtual bool enhanceAudio() const = 0;
1177 virtual void enableEnhancedAudio(bool enable) = 0;
1186
1195
1199 virtual unsigned autoRepeaterOffsetFrequencyIndexUHF() const = 0;
1201 virtual void setAutoRepeaterOffsetFrequenyIndexUHF(unsigned idx) = 0;
1207 virtual unsigned autoRepeaterOffsetFrequencyIndexVHF() const = 0;
1209 virtual void setAutoRepeaterOffsetFrequenyIndexVHF(unsigned idx) = 0;
1212
1214 virtual bool showCurrentContact() const = 0;
1216 virtual void enableShowCurrentContact(bool enable) = 0;
1217
1219 virtual void callToneMelody(Melody &melody) const = 0;
1221 virtual void setCallToneMelody(const Melody &melody) = 0;
1223 virtual void idleToneMelody(Melody &melody) const = 0;
1225 virtual void setIdleToneMelody(const Melody &melody) = 0;
1227 virtual void resetToneMelody(Melody &melody) const = 0;
1229 virtual void setResetToneMelody(const Melody &melody) = 0;
1230
1232 virtual bool defaultChannel() const = 0;
1234 virtual void enableDefaultChannel(bool enable) = 0;
1236 virtual unsigned defaultZoneIndexA() const = 0;
1238 virtual void setDefaultZoneIndexA(unsigned idx) = 0;
1240 virtual unsigned defaultZoneIndexB() const = 0;
1242 virtual void setDefaultZoneIndexB(unsigned idx) = 0;
1244 virtual bool defaultChannelAIsVFO() const = 0;
1247 virtual unsigned defaultChannelAIndex() const = 0;
1249 virtual void setDefaultChannelAIndex(unsigned idx) = 0;
1251 virtual void setDefaultChannelAToVFO() = 0;
1253 virtual bool defaultChannelBIsVFO() const = 0;
1256 virtual unsigned defaultChannelBIndex() const = 0;
1258 virtual void setDefaultChannelBIndex(unsigned idx) = 0;
1260 virtual void setDefaultChannelBToVFO() = 0;
1261
1263 virtual bool displayCall() const = 0;
1265 virtual void enableDisplayCall(bool enable) = 0;
1266
1268 virtual AnytoneDisplaySettingsExtension::Color callDisplayColor() const = 0;
1270 virtual void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color) = 0;
1271
1273 virtual bool gpsUnitsImperial() const = 0;
1275 virtual void enableGPSUnitsImperial(bool enable) = 0;
1276
1285
1298
1300 virtual bool showLastHeard() const = 0;
1302 virtual void enableShowLastHeard(bool enable) = 0;
1303
1305 virtual bool keepLastCaller() const = 0;
1307 virtual void enableKeepLastCaller(bool enable) = 0;
1308
1310 virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err);
1312 virtual bool updateConfig(Context &ctx, const ErrorStack &err);
1314 virtual bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err);
1315
1316 protected:
1318 struct Offset : public Element::Offset {
1320 static constexpr unsigned int displayMode() { return 0x0001; }
1321 static constexpr unsigned int autoKeyLock() { return 0x0002; }
1322 static constexpr unsigned int autoShutDown() { return 0x0003; }
1323 static constexpr unsigned int bootDisplay() { return 0x0006; }
1324 static constexpr unsigned int bootPassword() { return 0x0007; }
1325 static constexpr unsigned int squelchLevelA() { return 0x0009; }
1326 static constexpr unsigned int squelchLevelB() { return 0x000a; }
1328 };
1329 };
1330
1331
1339 {
1340 protected:
1342 ExtendedSettingsElement(uint8_t *ptr, unsigned size);
1343
1344 public:
1346 virtual AnytoneDisplaySettingsExtension::Color channelBNameColor() const = 0;
1348 virtual void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color) = 0;
1349
1351 virtual AnytoneDisplaySettingsExtension::Color zoneANameColor() const = 0;
1353 virtual void setZoneANameColor(AnytoneDisplaySettingsExtension::Color) = 0;
1354
1356 virtual AnytoneDisplaySettingsExtension::Color zoneBNameColor() const = 0;
1358 virtual void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color) = 0;
1359
1361 virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1363 virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1365 virtual bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1366 };
1367
1368
1375 {
1376 protected:
1378 ZoneChannelListElement(uint8_t *ptr, unsigned size);
1379
1380 public:
1382 ZoneChannelListElement(uint8_t *ptr);
1383
1385 static constexpr unsigned int size() { return 0x0400; }
1386
1388 void clear();
1389
1391 virtual bool hasChannelA(unsigned n) const;
1393 virtual unsigned channelIndexA(unsigned n) const;
1395 virtual void setChannelIndexA(unsigned n, unsigned idx);
1397 virtual void clearChannelIndexA(unsigned n);
1398
1400 virtual bool hasChannelB(unsigned n) const;
1402 virtual unsigned channelIndexB(unsigned n) const;
1404 virtual void setChannelIndexB(unsigned n, unsigned idx);
1406 virtual void clearChannelIndexB(unsigned n);
1407
1408 public:
1410 struct Limit: public Element::Limit {
1412 static constexpr unsigned int zones() { return 250; }
1413 };
1414
1415 protected:
1417 struct Offset: public Element::Offset {
1419 static constexpr unsigned int channelsA() { return 0x0000;}
1420 static constexpr unsigned int channelsB() { return 0x0200;}
1421 static constexpr unsigned int betweenChannels() { return 0x0002;}
1423 };
1424 };
1425
1428 {
1429 protected:
1431 ZoneBitmapElement(uint8_t *ptr, size_t size);
1432
1433 public:
1435 ZoneBitmapElement(uint8_t *ptr);
1436
1438 static constexpr unsigned int size() { return 0x0020; }
1439 };
1440
1441
1444 {
1445 protected:
1447 HiddenZoneBitmapElement(uint8_t *ptr, size_t size);
1448
1449 public:
1451 HiddenZoneBitmapElement(uint8_t *ptr);
1452
1454 static constexpr unsigned int size() { return 0x0020; }
1455 };
1456
1457
1463 {
1464 protected:
1466 BootSettingsElement(uint8_t *ptr, unsigned size);
1467
1468 public:
1470 BootSettingsElement(uint8_t *ptr);
1471
1473 static constexpr unsigned int size() { return 0x0030; }
1474
1476 void clear();
1477
1479 virtual QString introLine1() const;
1481 virtual void setIntroLine1(const QString &txt);
1483 virtual QString introLine2() const;
1485 virtual void setIntroLine2(const QString &txt);
1486
1488 virtual QString password() const;
1490 virtual void setPassword(const QString &txt);
1491
1493 virtual bool fromConfig(const Flags &flags, Context &ctx);
1495 virtual bool updateConfig(Context &ctx);
1496
1497 public:
1499 struct Limit: public Element::Limit {
1501 static constexpr unsigned int introLineLength() { return 16; }
1503 static constexpr unsigned int passwordLength() { return 8; }
1504 };
1505
1506 protected:
1508 struct Offset: public Element::Offset {
1510 static constexpr unsigned int introLine1() { return 0x0000; }
1511 static constexpr unsigned int introLine2() { return 0x0010; }
1512 static constexpr unsigned int password() { return 0x0020; }
1514 };
1515 };
1516
1517
1523 {
1524 protected:
1526 DMRAPRSSettingsElement(uint8_t *ptr, unsigned size);
1527
1528 public:
1530 explicit DMRAPRSSettingsElement(uint8_t *ptr);
1531
1533 static constexpr unsigned int size() { return 0x0030; }
1534
1536 void clear();
1537
1539 virtual Interval manualInterval() const;
1541 virtual void setManualInterval(const Interval& sec);
1542
1544 virtual bool automatic() const;
1546 virtual Interval automaticInterval() const;
1548 virtual void setAutomaticInterval(const Interval& sec);
1550 virtual void disableAutomatic();
1551
1553 virtual bool fixedLocation() const;
1555 virtual QGeoCoordinate location() const;
1557 virtual void setLocation(const QGeoCoordinate &pos);
1559 virtual void enableFixedLocation(bool enable);
1560
1562 virtual Channel::Power power() const;
1564 virtual void setPower(Channel::Power power);
1565
1567 virtual bool hasChannel(unsigned n) const;
1569 virtual bool channelIsVFOA(unsigned n) const;
1571 virtual bool channelIsVFOB(unsigned n) const;
1573 virtual bool channelIsSelected(unsigned n) const;
1575 virtual unsigned channelIndex(unsigned n) const;
1577 virtual void setChannelIndex(unsigned n, unsigned idx);
1579 virtual void setChannelVFOA(unsigned n);
1581 virtual void setChannelVFOB(unsigned n);
1583 virtual void setChannelSelected(unsigned n);
1585 virtual void clearChannel(unsigned n);
1586
1588 virtual unsigned destination() const;
1590 virtual void setDestination(unsigned id);
1591
1593 virtual DMRContact::Type callType() const;
1595 virtual void setCallType(DMRContact::Type type);
1596
1598 virtual bool timeSlotOverride() const;
1600 virtual DMRChannel::TimeSlot timeslot() const;
1602 virtual void overrideTimeSlot(DMRChannel::TimeSlot ts);
1604 virtual void disableTimeSlotOverride();
1605
1607 virtual bool fromConfig(const Flags &flags, Context &ctx);
1609 virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1611 virtual bool createGPSSystem(uint8_t i, Context &ctx);
1613 virtual bool linkGPSSystem(uint8_t i, Context &ctx);
1614
1615 protected:
1617 struct Offset: public Element::Offset {
1619 static constexpr unsigned int manualInterval() { return 0x0000; }
1620 static constexpr unsigned int automaticInterval() { return 0x0001; }
1621 static constexpr unsigned int fixedLocation() { return 0x0002; }
1622 static constexpr unsigned int latitudeDeg() { return 0x0003; }
1623 static constexpr unsigned int latitudeMin() { return 0x0004; }
1624 static constexpr unsigned int latitudeSec() { return 0x0005; }
1625 static constexpr unsigned int latitudeHemi() { return 0x0006; }
1626 static constexpr unsigned int longitudeDeg() { return 0x0007; }
1627 static constexpr unsigned int longitudeMin() { return 0x0008; }
1628 static constexpr unsigned int longitudeSec() { return 0x0009; }
1629 static constexpr unsigned int longitudeHemi() { return 0x000a; }
1630 static constexpr unsigned int power() { return 0x000b; }
1631 static constexpr unsigned int channelIndices() { return 0x000c; }
1632 static constexpr unsigned int betweenChannelIndices() { return 0x0002; }
1633 static constexpr unsigned int destinationId() { return 0x001c; }
1634 static constexpr unsigned int callType() { return 0x0020; }
1635 static constexpr unsigned int timeSlot() { return 0x0021; }
1637 };
1638 };
1639
1640
1643 {
1644 protected:
1646 DMRAPRSMessageElement(uint8_t *ptr, size_t size);
1647
1648 public:
1650 DMRAPRSMessageElement(uint8_t *ptr);
1651
1653 static constexpr unsigned int size() { return 0x0030; }
1654
1655 void clear();
1656
1658 virtual QString message() const;
1660 void setMessage(const QString &message);
1661
1663 virtual bool fromConfig(Codeplug::Flags flags, Context &ctx);
1665 virtual bool updateConfig(Context &ctx) const;
1666
1667 public:
1669 struct Limit {
1670 static constexpr unsigned int length() { return 32; }
1671 };
1672
1673 protected:
1675 struct Offset {
1677 static constexpr unsigned int message() { return 0x0000; }
1679 };
1680 };
1681
1687 {
1688 protected:
1690 RepeaterOffsetListElement(uint8_t *ptr, size_t size);
1691
1692 public:
1694 explicit RepeaterOffsetListElement(uint8_t *ptr);
1695
1697 static constexpr unsigned int size() { return 0x03f0; }
1698
1699 void clear();
1700
1702 virtual bool isSet(unsigned int n) const;
1704 virtual Frequency offset(unsigned int n) const;
1706 virtual void setOffset(unsigned int n, Frequency freq);
1708 virtual void clearOffset(unsigned int n);
1709
1710 public:
1712 struct Limit {
1713 static constexpr unsigned int numEntries() { return 250; }
1714 };
1715
1716 protected:
1718 struct Offset {
1720 static constexpr unsigned int frequencies() { return 0x0000; }
1721 static constexpr unsigned int betweenFrequencies() { return sizeof(uint32_t); }
1723 };
1724 };
1725
1733 {
1734 protected:
1736 MessageListElement(uint8_t *ptr, unsigned size);
1737
1738 public:
1740 explicit MessageListElement(uint8_t *ptr);
1741
1743 static constexpr unsigned int size() { return 0x0010; }
1744
1746 void clear();
1747
1749 virtual bool hasNext() const;
1751 virtual unsigned next() const;
1753 virtual void setNext(unsigned idx);
1755 virtual void clearNext();
1756
1758 virtual bool hasIndex() const;
1760 virtual unsigned index() const;
1762 virtual void setIndex(unsigned idx);
1764 virtual void clearIndex();
1765
1766 protected:
1768 struct Offset: public Element::Offset {
1769 static constexpr unsigned int next() { return 0x0002; }
1770 static constexpr unsigned int index() { return 0x0003; }
1771 };
1772 };
1773
1774
1780 {
1781 protected:
1783 MessageElement(uint8_t *ptr, unsigned size);
1784
1785 public:
1787 MessageElement(uint8_t *ptr);
1788
1790 static constexpr unsigned int size() { return 0x0100; }
1791
1793 void clear();
1794
1796 virtual QString message() const;
1798 virtual void setMessage(const QString &msg);
1799
1800 public:
1802 struct Limit: public Element::Limit {
1804 static constexpr unsigned int messageLength() { return 99; }
1805 };
1806
1807 protected:
1809 struct Offset: public Element::Offset {
1811 static constexpr unsigned int message() { return 0x0000; }
1813 };
1814 };
1815
1818 {
1819 protected:
1821 MessageBytemapElement(uint8_t *ptr, size_t size);
1822
1823 public:
1825 MessageBytemapElement(uint8_t *ptr);
1826
1828 static constexpr unsigned int size() { return 0x0090; }
1829 };
1830
1836 {
1837 public:
1839 enum class Type {
1840 None = 0,
1841 DTMF = 1,
1844 };
1845
1846 protected:
1848 AnalogQuickCallElement(uint8_t *ptr, unsigned size);
1849
1850 public:
1852 explicit AnalogQuickCallElement(uint8_t *ptr);
1853
1855 static constexpr unsigned int size() { return 0x0002; }
1856
1858 void clear();
1859
1861 virtual Type type() const;
1863 virtual void setType(Type type);
1864
1866 virtual bool hasContactIndex() const;
1868 virtual unsigned contactIndex() const;
1870 virtual void setContactIndex(unsigned idx);
1872 virtual void clearContactIndex();
1873
1874 protected:
1876 struct Offset: public Element::Offset {
1878 static constexpr unsigned int type() { return 0x0000; }
1879 static constexpr unsigned int contactIndex() { return 0x0001; }
1881 };
1882 };
1883
1884
1890 {
1891 protected:
1893 AnalogQuickCallsElement(uint8_t *ptr, size_t size);
1894
1895 public:
1897 AnalogQuickCallsElement(uint8_t *ptr);
1898
1900 static constexpr unsigned int size() { return 0x0100; }
1901
1903 void clear();
1904
1906 uint8_t *quickCall(unsigned int n) const;
1907
1908 public:
1910 struct Limit {
1911 static constexpr unsigned int numEntries() { return 4; }
1912 };
1913
1914 protected:
1916 struct Offset {
1918 static constexpr unsigned int quickCalls() { return 0x0000; }
1920 };
1921 };
1922
1923
1929 {
1930 protected:
1932 StatusMessagesElement(uint8_t *ptr, size_t size);
1933
1934 public:
1936 StatusMessagesElement(uint8_t *ptr);
1937
1939 static constexpr unsigned int size() { return 0x0400; }
1940
1941 void clear();
1942
1944 virtual QString message(unsigned int n) const;
1946 virtual void setMessage(unsigned int n, const QString &msg);
1947
1948 public:
1950 struct Limit {
1951 static constexpr unsigned int numMessages() { return 32; }
1952 static constexpr unsigned int messageLength() { return 32; }
1953 };
1954
1955 protected:
1957 struct Offset {
1959 static constexpr unsigned int messages() { return 0x0000; }
1960 static constexpr unsigned int betweenMessages() { return 0x0020; }
1962 };
1963 };
1964
1967 {
1968 protected:
1970 StatusMessageBitmapElement(uint8_t *ptr, size_t size);
1971
1972 public:
1974 StatusMessageBitmapElement(uint8_t *ptr);
1975
1977 static constexpr unsigned int size() { return 0x0010; }
1978 };
1979
1980
1986 {
1987 public:
1989 enum class Type {
1990 Call = 0,
1991 Menu = 1
1992 };
1993
1995 enum class MenuItem {
1996 SMS = 1,
1999 Inbox = 4,
2004 };
2005
2007 enum class CallType {
2010 };
2011
2022
2023 protected:
2025 HotKeyElement(uint8_t *ptr, unsigned size);
2026
2027 public:
2029 explicit HotKeyElement(uint8_t *ptr);
2030
2032 static constexpr unsigned int size() { return 0x0030; }
2033
2035 void clear();
2036
2038 virtual Type type() const;
2040 virtual void setType(Type type);
2041
2043 virtual MenuItem menuItem() const;
2046 virtual void setMenuItem(MenuItem item);
2047
2049 virtual CallType callType() const;
2052 virtual void setCallType(CallType type);
2053
2056 virtual DigiCallType digiCallType() const;
2059 virtual void setDigiCallType(DigiCallType type);
2060
2062 virtual bool hasContactIndex() const;
2066 virtual unsigned contactIndex() const;
2069 virtual void setContactIndex(unsigned idx);
2071 virtual void clearContactIndex();
2072
2074 virtual bool hasMessageIndex() const;
2077 virtual unsigned messageIndex() const;
2079 virtual void setMessageIndex(unsigned idx);
2081 virtual void clearMessageIndex();
2082
2083 protected:
2085 struct Offset: public Element::Offset {
2087 static constexpr unsigned int type() { return 0x0000; }
2088 static constexpr unsigned int menuItem() { return 0x0001; }
2089 static constexpr unsigned int callType() { return 0x0002; }
2090 static constexpr unsigned int digiCallType() { return 0x0003; }
2091 static constexpr unsigned int contactIndex() { return 0x0004; }
2092 static constexpr unsigned int messageIndex() { return 0x0008; }
2094 };
2095 };
2096
2097
2105 {
2106 protected:
2108 HotKeySettingsElement(uint8_t *ptr, size_t size);
2109
2110 public:
2112 HotKeySettingsElement(uint8_t *ptr);
2113
2115 static constexpr unsigned int size() { return 0x0360; }
2116
2117 void clear();
2118
2120 virtual uint8_t *hotKeySetting(unsigned int n) const;
2121
2122 public:
2124 struct Limit {
2125 static constexpr unsigned int numEntries() { return 18; }
2126 };
2127
2128 protected:
2130 struct Offset {
2132 static constexpr unsigned int hotKeySettings() { return 0x0000; }
2133 static constexpr unsigned int betweenHotKeySettings() { return HotKeySettingsElement::size(); }
2135 };
2136 };
2137
2143 {
2144 public:
2149 class AnalogAlarm: public Element
2150 {
2151 public:
2153 enum class Action {
2154 None = 0,
2157 Both = 3,
2158 };
2159
2161 enum class ENIType {
2162 None = 0,
2163 DTMF = 1,
2165 };
2166
2167 protected:
2169 AnalogAlarm(uint8_t *ptr, unsigned size);
2170
2171 public:
2173 AnalogAlarm(uint8_t *ptr);
2174
2176 static constexpr unsigned int size() { return 0x000a; }
2177
2179 void clear();
2180
2182 virtual Action action() const;
2184 virtual void setAction(Action action);
2185
2187 virtual ENIType encodingType() const;
2189 virtual void setEncodingType(ENIType type);
2190
2192 virtual unsigned emergencyIndex() const;
2194 virtual void setEmergencyIndex(unsigned idx);
2195
2197 virtual Interval duration() const;
2199 virtual void setDuration(const Interval &sec);
2201 virtual Interval txDuration() const;
2203 virtual void setTXDuration(const Interval &sec);
2205 virtual Interval rxDuration() const;
2207 virtual void setRXDuration(const Interval &sec);
2208
2210 virtual bool channelIsSelected() const;
2212 virtual unsigned channelIndex() const;
2214 virtual void setChannelIndex(unsigned idx);
2216 virtual void setChannelSelected();
2217
2219 virtual bool repeatContinuously() const;
2221 virtual unsigned repetitions() const;
2223 virtual void setRepetitions(unsigned num);
2225 virtual void setRepatContinuously();
2226
2227 protected:
2229 struct Offset: public Element::Offset {
2231 static constexpr unsigned int action() { return 0x0000; }
2232 static constexpr unsigned int encodingType() { return 0x0001; }
2233 static constexpr unsigned int emergencyIndex() { return 0x0002; }
2234 static constexpr unsigned int duration() { return 0x0003; }
2235 static constexpr unsigned int txDuration() { return 0x0004; }
2236 static constexpr unsigned int rxDuration() { return 0x0005; }
2237 static constexpr unsigned int channelIndex() { return 0x0006; }
2238 static constexpr unsigned int channelIsSelected() { return 0x0008; }
2239 static constexpr unsigned int repetitions() { return 0x0009; }
2241 };
2242 };
2243
2244
2249 class DigitalAlarm: public Element
2250 {
2251 public:
2253 enum class Action {
2254 None = 0,
2257 Local = 3,
2258 };
2259
2260 protected:
2262 DigitalAlarm(uint8_t *ptr, unsigned size);
2263
2264 public:
2266 explicit DigitalAlarm(uint8_t *ptr);
2267
2269 static constexpr unsigned int size() { return 0x000c; }
2270
2272 void clear();
2273
2275 virtual Action action() const;
2277 virtual void setAction(Action action);
2278
2280 virtual Interval duration() const;
2282 virtual void setDuration(const Interval &sec);
2284 virtual Interval txDuration() const;
2286 virtual void setTXDuration(const Interval &sec);
2288 virtual Interval rxDuration() const;
2290 virtual void setRXDuration(const Interval &sec);
2291
2293 virtual bool channelIsSelected() const;
2295 virtual unsigned channelIndex() const;
2297 virtual void setChannelIndex(unsigned idx);
2299 virtual void setChannelSelected();
2300
2302 virtual bool repeatContinuously() const;
2304 virtual unsigned repetitions() const;
2306 virtual void setRepetitions(unsigned num);
2308 virtual void setRepatContinuously();
2309
2311 virtual Interval voiceBroadcastDuration() const;
2313 virtual void setVoiceBroadcastDuration(const Interval &min);
2315 virtual Interval areaBroadcastDuration() const;
2317 virtual void setAreaBroadcastDuration(const Interval &min);
2318
2320 virtual bool vox() const;
2322 virtual void enableVOX(bool enable);
2324 virtual bool rxAlarm() const;
2326 virtual void enableRXAlarm(bool enable);
2327
2328 protected:
2330 struct Offset: public Element::Offset {
2332 static constexpr unsigned int action() { return 0x0000; }
2333 static constexpr unsigned int duration() { return 0x0001; }
2334 static constexpr unsigned int txDuration() { return 0x0002; }
2335 static constexpr unsigned int rxDuration() { return 0x0003; }
2336 static constexpr unsigned int channelIndex() { return 0x0004; }
2337 static constexpr unsigned int channelIsSelected() { return 0x0006; }
2338 static constexpr unsigned int repetitions() { return 0x0007; }
2339 static constexpr unsigned int voiceBroadcastDuration() { return 0x0008; }
2340 static constexpr unsigned int areaBroadcastDuration() { return 0x0009; }
2341 static constexpr unsigned int vox() { return 0x000a; }
2342 static constexpr unsigned int rxAlarm() { return 0x000b; }
2344 };
2345 };
2346
2347 protected:
2349 AlarmSettingElement(uint8_t *ptr, unsigned size);
2350
2351 public:
2353 AlarmSettingElement(uint8_t *ptr);
2354
2356 static constexpr unsigned int size() { return 0x0020; }
2357
2359 void clear();
2360
2362 virtual uint8_t *analog() const;
2364 virtual uint8_t *digital() const;
2365
2366 protected:
2368 struct Offset {
2370 static constexpr unsigned int analog() { return 0x0000; }
2371 static constexpr unsigned int digital() { return 0x000a; }
2373 };
2374 };
2375
2376
2382 {
2383 protected:
2385 DigitalAlarmExtensionElement(uint8_t *ptr, unsigned size);
2386
2387 public:
2389 DigitalAlarmExtensionElement(uint8_t *ptr);
2390
2392 static constexpr unsigned int size() { return 0x0030; }
2393
2395 void clear();
2396
2398 virtual DMRContact::Type callType() const;
2400 virtual void setCallType(DMRContact::Type type);
2401
2403 virtual unsigned destination() const;
2405 virtual void setDestination(unsigned number);
2406
2407 protected:
2409 struct Offset {
2411 static constexpr unsigned int callType() { return 0x0000; }
2412 static constexpr unsigned int destination() { return 0x0023; }
2414 };
2415 };
2416
2417
2423 {
2424 public:
2426 enum class Standard {
2427 ZVEI1 = 0, ZVEI2, ZVEI3, PZVEI, DZVEI, PDZVEI, CCIR1, CCIR2, PCCIR, EEA, EuroSignal, NATEL,
2428 MODAT, CCITT, EIA
2429 };
2430
2431 protected:
2433 FiveToneIDElement(uint8_t *ptr, unsigned size);
2434
2435 public:
2437 FiveToneIDElement(uint8_t *ptr);
2438
2440 static constexpr unsigned int size() { return 0x0020; }
2441
2443 void clear();
2444
2446 virtual Standard standard() const;
2448 virtual void setStandard(Standard std);
2449
2451 virtual Interval toneDuration() const;
2453 virtual void setToneDuration(const Interval &ms);
2454
2456 virtual QString id() const;
2458 virtual void setID(const QString &id);
2459
2461 virtual QString name() const;
2463 virtual void setName(const QString &name);
2464
2465 public:
2467 struct Limit: public Element::Limit {
2469 static constexpr unsigned int idLength() { return 80; }
2471 static constexpr unsigned int nameLength() { return 7; }
2472 };
2473
2474 protected:
2476 struct Offset: public Element::Offset {
2478 static constexpr unsigned int standard() { return 0x0001; }
2479 static constexpr unsigned int idLength() { return 0x0002; }
2480 static constexpr unsigned int toneDuration() { return 0x0003; }
2481 static constexpr unsigned int id() { return 0x0004; }
2482 static constexpr unsigned int name() { return 0x0018; }
2484 };
2485 };
2486
2489 {
2490 protected:
2492 FiveToneIDBitmapElement(uint8_t *ptr, size_t size);
2493
2494 public:
2496 FiveToneIDBitmapElement(uint8_t *ptr);
2497
2499 static constexpr unsigned int size() { return 0x0010; }
2500 };
2501
2507 {
2508 protected:
2510 FiveToneIDListElement(uint8_t *ptr, size_t size);
2511
2512 public:
2514 FiveToneIDListElement(uint8_t *ptr);
2515
2517 static constexpr unsigned int size() { return 0x0c80; }
2518
2519 void clear();
2520
2522 virtual uint8_t *member(unsigned int n) const;
2523
2524 public:
2526 struct Limit {
2527 static constexpr unsigned int numEntries() { return 100; }
2528 };
2529 };
2530
2536 {
2537 public:
2539 enum class Function {
2540 OpenSquelch=0, CallAll, EmergencyAlarm, RemoteKill, RemoteStun, RemoteWakeup,
2541 GroupCall
2542 };
2543
2545 enum class Response {
2546 None=0, Tone, ToneRespond
2547 };
2548
2549 protected:
2551 FiveToneFunctionElement(uint8_t *ptr, unsigned size);
2552
2553 public:
2555 explicit FiveToneFunctionElement(uint8_t *ptr);
2556
2558 static constexpr unsigned int size() { return 0x0020; }
2559
2561 void clear();
2562
2564 virtual Function function() const;
2566 virtual void setFunction(Function function);
2568 virtual Response response() const;
2570 virtual void setResponse(Response response);
2571
2573 virtual QString id() const;
2575 virtual void setID(const QString &id);
2576
2578 virtual QString name() const;
2580 virtual void setName(const QString &name);
2581
2582 public:
2584 struct Limit: public Element::Limit {
2586 static constexpr unsigned int idLength() { return 24; }
2588 static constexpr unsigned int nameLength() { return 7; }
2589 };
2590
2591 protected:
2593 struct Offset: public Element::Offset {
2595 static constexpr unsigned int function() { return 0x0000; }
2596 static constexpr unsigned int response() { return 0x0001; }
2597 static constexpr unsigned int idLength() { return 0x0002; }
2598 static constexpr unsigned int id() { return 0x0003; }
2599 static constexpr unsigned int name() { return 0x000f; }
2601 };
2602 };
2603
2609 {
2610 protected:
2612 FiveToneFunctionListElement(uint8_t *ptr, size_t size);
2613
2614 public:
2616 FiveToneFunctionListElement(uint8_t *ptr);
2617
2619 static constexpr unsigned int size() { return 0x0200; }
2620
2621 void clear();
2622
2624 virtual uint8_t *function(unsigned int n) const;
2625
2626 public:
2628 struct Limit {
2629 static constexpr unsigned int numFunctions() { return 16; }
2630 };
2631 };
2632
2633
2639 {
2640 public:
2642 enum class Response {
2643 None = 0, Tone, ToneRespond
2644 };
2645
2647
2648 protected:
2650 FiveToneSettingsElement(uint8_t *ptr, unsigned size);
2651
2652 public:
2654 FiveToneSettingsElement(uint8_t *ptr);
2655
2657 static constexpr unsigned int size() { return 0x0080; }
2658
2660 void clear();
2661
2663 virtual Response decodingResponse() const;
2665 virtual void setDecodingResponse(Response response);
2666
2668 virtual Standard decodingStandard() const;
2670 virtual void setDecodingStandard(Standard standard);
2671
2673 virtual Interval decodingToneDuration() const;
2675 virtual void setDecodingToneDuration(const Interval &ms);
2676
2678 virtual QString id() const;
2680 virtual void setID(const QString &id);
2681
2683 virtual Interval postEncodeDelay() const;
2685 virtual void setPostEncodeDelay(const Interval &ms);
2686
2688 virtual bool hasPTTID() const;
2690 virtual unsigned pttID() const;
2692 virtual void setPTTID(unsigned id);
2694 virtual void clearPTTID();
2695
2697 virtual Interval autoResetTime() const;
2699 virtual void setAutoResetTime(const Interval &s);
2700
2702 virtual Interval firstDelay() const;
2704 virtual void setFirstDelay(const Interval &ms);
2705
2707 virtual bool sidetoneEnabled() const;
2709 virtual void enableSidetone(bool enable);
2711 virtual unsigned stopCode() const;
2713 virtual void setStopCode(unsigned code);
2715 virtual Interval stopTime() const;
2717 virtual void setStopTime(const Interval &ms);
2719 virtual Interval decodeTime() const;
2721 virtual void setDecodeTime(const Interval &ms);
2723 virtual Interval delayAfterStop() const;
2725 virtual void setDelayAfterStop(const Interval &ms);
2727 virtual Interval preTime() const;
2729 virtual void setPreTime(const Interval &ms);
2730
2732 virtual Standard botStandard() const;
2734 virtual void setBOTStandard(Standard standard);
2736 virtual Interval botToneDuration() const;
2738 virtual void setBOTToneDuration(const Interval &ms);
2740 virtual QString botID() const;
2742 virtual void setBOTID(const QString &id);
2743
2745 virtual Standard eotStandard() const;
2747 virtual void setEOTStandard(Standard standard);
2749 virtual Interval eotToneDuration() const;
2751 virtual void setEOTToneDuration(const Interval &ms);
2753 virtual QString eotID() const;
2755 virtual void setEOTID(const QString &id);
2756
2757 public:
2759 struct Limit: public Element::Limit {
2761 static constexpr unsigned int idLength() { return 14; }
2763 static constexpr unsigned int botIdLength() { return 24; }
2765 static constexpr unsigned int eotIdLength() { return 24; }
2766 };
2767
2768 protected:
2770 struct Offset: public Element::Offset {
2772 static constexpr unsigned int decodingResponse() { return 0x0021; }
2773 static constexpr unsigned int decodingStandard() { return 0x0022; }
2774 static constexpr unsigned int idLength() { return 0x0023; }
2775 static constexpr unsigned int decodingToneDuration() { return 0x0024; }
2776 static constexpr unsigned int id() { return 0x0025; }
2777 static constexpr unsigned int postDecodeDelay() { return 0x002c; }
2778 static constexpr unsigned int pttId() { return 0x002d; }
2779 static constexpr unsigned int autoResetTime() { return 0x002e; }
2780 static constexpr unsigned int firstDelay() { return 0x002f; }
2781 static constexpr unsigned int sidetoneEnabled() { return 0x0030; }
2782 static constexpr unsigned int stopCode() { return 0x0032; }
2783 static constexpr unsigned int stopTime() { return 0x0033; }
2784 static constexpr unsigned int decodeTime() { return 0x0034; }
2785 static constexpr unsigned int delayAfterStop() { return 0x0035; }
2786 static constexpr unsigned int preTime() { return 0x0036; }
2787 static constexpr unsigned int botStandard() { return 0x0041; }
2788 static constexpr unsigned int botIdLength() { return 0x0042; }
2789 static constexpr unsigned int botToneDuration() { return 0x0043; }
2790 static constexpr unsigned int botId() { return 0x0044; }
2791 static constexpr unsigned int eotStandard() { return 0x0061; }
2792 static constexpr unsigned int eotIdLength() { return 0x0062; }
2793 static constexpr unsigned int eotToneDuration() { return 0x0063; }
2794 static constexpr unsigned int eotId() { return 0x0064; }
2796 };
2797 };
2798
2799
2805 {
2806 protected:
2808 TwoToneIDElement(uint8_t *ptr, unsigned size);
2809
2810 public:
2812 TwoToneIDElement(uint8_t *ptr);
2813
2815 static constexpr unsigned int size() { return 0x0010; }
2816
2818 void clear();
2819
2821 virtual double firstTone() const;
2823 virtual void setFirstTone(double f);
2824
2826 virtual double secondTone() const;
2828 virtual void setSecondTone(double f);
2829
2831 virtual QString name() const;
2833 virtual void setName(const QString &name);
2834
2835 public:
2837 struct Limit {
2838 static constexpr unsigned int nameLength() { return 7; }
2839 };
2840
2841 protected:
2843 struct Offset {
2845 static constexpr unsigned int firstTone() { return 0x0000; }
2846 static constexpr unsigned int secondTone() { return 0x0002; }
2847 static constexpr unsigned int name() { return 0x0008; }
2849 };
2850 };
2851
2854 {
2855 protected:
2857 TwoToneIDBitmapElement(uint8_t *ptr, size_t size);
2858
2859 public:
2861 TwoToneIDBitmapElement(uint8_t *ptr);
2862
2864 static constexpr unsigned int size() { return 0x0010; }
2865 };
2866
2872 {
2873 public:
2875 enum class Response {
2876 None = 0, Tone, ToneRespond
2877 };
2878
2879 protected:
2881 TwoToneFunctionElement(uint8_t *ptr, unsigned size);
2882
2883 public:
2885 TwoToneFunctionElement(uint8_t *ptr);
2886
2888 static constexpr unsigned int size() { return 0x0020; }
2889
2891 void clear();
2892
2894 virtual double firstTone() const;
2896 virtual void setFirstTone(double f);
2897
2899 virtual double secondTone() const;
2901 virtual void setSecondTone(double f);
2902
2904 virtual Response response() const;
2906 virtual void setResponse(Response resp);
2907
2909 virtual QString name() const;
2911 virtual void setName(const QString &name);
2912
2913 public:
2915 struct Limit {
2916 static constexpr unsigned int nameLength() { return 7; }
2917 };
2918
2919 protected:
2921 struct Offset {
2923 static constexpr unsigned int firstTone() { return 0x0000; }
2924 static constexpr unsigned int secondTone() { return 0x0002; }
2925 static constexpr unsigned int response() { return 0x0004; }
2926 static constexpr unsigned int name() { return 0x0005; }
2928 };
2929 };
2930
2933 {
2934 protected:
2936 TwoToneFunctionBitmapElement(uint8_t *ptr, size_t size);
2937
2938 public:
2940 TwoToneFunctionBitmapElement(uint8_t *ptr);
2941
2943 static constexpr unsigned int size() { return 0x0010; }
2944 };
2945
2951 {
2952 protected:
2954 TwoToneSettingsElement(uint8_t *ptr, unsigned size);
2955
2956 public:
2958 TwoToneSettingsElement(uint8_t *ptr);
2959
2961 static constexpr unsigned int size() { return 0x0010; }
2962
2964 void clear();
2965
2967 virtual Interval firstToneDuration() const;
2969 virtual void setFirstToneDuration(const Interval &ms);
2970
2972 virtual Interval secondToneDuration() const;
2974 virtual void setSecondToneDuration(const Interval &ms);
2975
2977 virtual Interval longToneDuration() const;
2979 virtual void setLongToneDuration(const Interval &ms);
2980
2982 virtual Interval gapDuration() const;
2984 virtual void setGapDuration(const Interval &ms);
2985
2987 virtual Interval autoResetTime() const;
2989 virtual void setAutoResetTime(const Interval &sec);
2990
2992 virtual bool sidetone() const;
2994 virtual void enableSidetone(bool enable);
2995
2996 protected:
2998 struct Offset: public Element::Offset {
3000 static constexpr unsigned int firstToneDuration() { return 0x0009; }
3001 static constexpr unsigned int secondToneDuration() { return 0x000a; }
3002 static constexpr unsigned int longToneDuration() { return 0x000b; }
3003 static constexpr unsigned int gapDuration() { return 0x000c; }
3004 static constexpr unsigned int autoResetTime() { return 0x000d; }
3005 static constexpr unsigned int sidetone() { return 0x000e; }
3007 };
3008 };
3009
3010
3016 {
3017 public:
3020 None=0, Tone, ToneRespond
3021 };
3022
3023 protected:
3025 DTMFSettingsElement(uint8_t *ptr, unsigned size);
3026
3027 public:
3029 explicit DTMFSettingsElement(uint8_t *ptr);
3030
3032 static constexpr unsigned int size() { return 0x0050; }
3033
3035 void clear();
3036
3038 virtual unsigned intervalSymbol() const;
3040 virtual void setIntervalSymbol(unsigned symb);
3041
3043 virtual unsigned groupCode() const;
3045 virtual void setGroupCode(unsigned symb);
3046
3048 virtual Response response() const;
3050 virtual void setResponse(Response resp);
3051
3053 virtual Interval preTime() const;
3055 virtual void setPreTime(const Interval &ms);
3056
3058 virtual Interval firstDigitDuration() const;
3060 virtual void setFirstDigitDuration(const Interval &ms);
3061
3063 virtual Interval autoResetTime() const;
3065 virtual void setAutoResetTime(const Interval &sec);
3066
3068 virtual QString id() const;
3070 virtual void setID(const QString &id);
3071
3073 virtual Interval postEncodingDelay() const;
3075 virtual void setPostEncodingDelay(const Interval &ms);
3076
3078 virtual Interval pttIDPause() const;
3080 virtual void setPTTIDPause(const Interval &sec);
3081
3083 virtual bool pttIDEnabled() const;
3085 virtual void enablePTTID(bool enable);
3086
3088 virtual Interval dCodePause() const;
3090 virtual void setDCodePause(const Interval &sec);
3091
3093 virtual bool sidetone() const;
3095 virtual void enableSidetone(bool enable);
3096
3098 virtual QString botID() const;
3100 virtual void setBOTID(const QString &id);
3101
3103 virtual QString eotID() const;
3105 virtual void setEOTID(const QString &id);
3106
3108 virtual QString remoteKillID() const;
3110 virtual void setRemoteKillID(const QString &id);
3111
3113 virtual QString remoteStunID() const;
3115 virtual void setRemoteStunID(const QString &id);
3116
3117 public:
3119 struct Limit: public Element::Limit {
3121 static constexpr unsigned int idLength() { return 3; }
3123 static constexpr unsigned int botIdLength() { return 16; }
3125 static constexpr unsigned int eotIdLength() { return 16; }
3127 static constexpr unsigned int remoteKillIdLength() { return 16; }
3129 static constexpr unsigned int remteStunIdLength() { return 16; }
3130 };
3131
3132 protected:
3134 struct Offset: public Element::Offset {
3136 static constexpr unsigned int intervalSymbol() { return 0x0000; }
3137 static constexpr unsigned int groupCode() { return 0x0001; }
3138 static constexpr unsigned int response() { return 0x0002; }
3139 static constexpr unsigned int preTime() { return 0x0003; }
3140 static constexpr unsigned int firstDigitDuration() { return 0x0004; }
3141 static constexpr unsigned int autoResetTime() { return 0x0005; }
3142 static constexpr unsigned int id() { return 0x0006; }
3143 static constexpr unsigned int postEncodingDelay() { return 0x0009; }
3144 static constexpr unsigned int pttIDPause() { return 0x000a; }
3145 static constexpr unsigned int pttIDEnabled() { return 0x000b; }
3146 static constexpr unsigned int dCodePause() { return 0x000c; }
3147 static constexpr unsigned int sidetone() { return 0x000d; }
3148 static constexpr unsigned int botID() { return 0x0010; }
3149 static constexpr unsigned int eotID() { return 0x0020; }
3150 static constexpr unsigned int remoteKillID() { return 0x0030; }
3151 static constexpr unsigned int remoteStunID() { return 0x0040; }
3153 };
3154 };
3155
3161 {
3162 protected:
3164 DTMFIDListElement(uint8_t *ptr, size_t size);
3165
3166 public:
3168 DTMFIDListElement(uint8_t *ptr);
3169
3171 static constexpr unsigned int size() { return 0x0100; }
3172
3173 void clear();
3174
3176 virtual bool hasNumber(unsigned int n) const;
3178 virtual QString number(unsigned int n) const;
3180 virtual void setNumber(unsigned int n, const QString &number);
3182 virtual void clearNumber(unsigned int n);
3183
3184 public:
3186 struct Limit {
3187 static constexpr unsigned int numEntries() { return 16; }
3188 static constexpr unsigned int numberLength() { return 16; }
3189 };
3190 };
3191
3192
3198 {
3199 protected:
3201 WFMChannelListElement(uint8_t *ptr, size_t size);
3202
3203 public:
3205 explicit WFMChannelListElement(uint8_t *ptr);
3206
3208 static constexpr unsigned int size() { return 0x0200; }
3209
3210 void clear();
3211
3213 virtual bool hasChannel(unsigned int n) const;
3215 virtual Frequency channel(unsigned int n) const;
3217 virtual void setChannel(unsigned int n, Frequency freq);
3219 virtual void clearChannel(unsigned int n);
3220
3221 public:
3223 struct Limit {
3224 static constexpr unsigned int numEntries() { return 100; }
3225 };
3226
3227 protected:
3229 struct Offset {
3231 static constexpr unsigned int betweenChannels() { return 0x0004; }
3233 };
3234 };
3235
3238 {
3239 protected:
3241 WFMChannelBitmapElement(uint8_t *ptr, size_t size);
3242
3243 public:
3245 WFMChannelBitmapElement(uint8_t *ptr);
3246
3248 static constexpr unsigned int size() { return 0x0020; }
3249 };
3250
3253 {
3254 protected:
3256 WFMVFOElement(uint8_t *ptr, size_t size);
3257
3258 public:
3260 WFMVFOElement(uint8_t *ptr);
3261
3263 static constexpr unsigned int size() { return 0x0010; }
3264
3265 void clear();
3266
3268 virtual Frequency frequency() const;
3270 virtual void setFrequency(Frequency freq);
3271 };
3272
3273
3276 {
3277 protected:
3279 DMREncryptionKeyListElement(uint8_t *ptr, size_t size);
3280
3281 public:
3283 DMREncryptionKeyListElement(uint8_t *ptr);
3284
3286 static constexpr unsigned int size() { return 0x0040; }
3287
3288 void clear();
3289
3291 virtual bool hasKey(unsigned int n) const;
3293 virtual QByteArray key(unsigned int n) const;
3295 virtual void setKey(unsigned int n, const BasicEncryptionKey &key);
3297 virtual void clearKey(unsigned int n);
3298
3299 public:
3301 struct Limit {
3302 static constexpr unsigned int numEntries() { return 32; }
3303 };
3304
3305 protected:
3307 struct Offset {
3309 static constexpr unsigned int betweenKeys() { return 0x0002; }
3311 };
3312 };
3313
3314
3319 {
3320 protected:
3322 EnhancedEncryptionKeyListElement(uint8_t *ptr, size_t size);
3323
3324 public:
3327
3329 static constexpr unsigned int size() { return 0x0500; }
3330
3331 void clear();
3332
3334 QByteArray key(unsigned int n) const;
3336 void setKey(unsigned int n, const QByteArray &key);
3337
3338 public:
3340 struct Limit {
3341 static constexpr unsigned numEntries() { return DMREncryptionKeyListElement::Limit::numEntries(); }
3342 };
3343
3344 protected:
3346 struct Offset {
3348 static constexpr unsigned int keys() { return 0x0010; }
3349 static constexpr unsigned int betweenKeys() { return 0x0028; }
3351 };
3352 };
3353
3354
3360 {
3361 protected:
3363 ContactMapElement(uint8_t *ptr, unsigned size);
3364
3365 public:
3367 ContactMapElement(uint8_t *ptr);
3368
3370 static constexpr unsigned int size() { return 0x0008; }
3371
3373 void clear();
3375 bool isValid() const;
3376
3378 virtual bool isGroup() const;
3380 virtual unsigned id() const;
3382 virtual void setID(unsigned id, bool group=false);
3384 virtual unsigned index() const;
3386 virtual void setIndex(unsigned idx);
3387
3388 protected:
3390 struct Offset: public Element::Offset {
3392 static constexpr unsigned int id() { return 0x0000; }
3393 static constexpr unsigned int index() { return 0x0004; }
3395 };
3396 };
3397
3398
3399protected:
3401 AnytoneCodeplug(const QString &label, QObject *parent=nullptr);
3402
3403public:
3405 virtual ~AnytoneCodeplug();
3406
3408 virtual void clear();
3409
3410 Config *preprocess(Config *config, const ErrorStack &err) const;
3411 bool encode(Config *config, const Flags &flags, const ErrorStack &err);
3412
3413 bool decode(Config *config, const ErrorStack &err);
3414 bool postprocess(Config *config, const ErrorStack &err) const;
3415
3416protected:
3417 virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const;
3418
3420 virtual bool allocateBitmaps() = 0;
3422 virtual void setBitmaps(Context &ctx) = 0;
3423
3426 virtual void allocateUpdated() = 0;
3429 virtual void allocateForDecoding() = 0;
3431 virtual void allocateForEncoding() = 0;
3432
3434 virtual bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
3439 virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack());
3441 virtual bool createElements(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
3443 virtual bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
3444
3445protected:
3447 QString _label;
3448
3449 // Allow access to protected allocation methods.
3450 friend class AnytoneRadio;
3451};
3452
3453#endif // ANYTONECODEPLUG_HH
Direction
Encodes the auto-repeater offset sign.
Definition anytone_settingsextension.hh:980
virtual Interval txDuration() const
Returns the TX duration in seconds.
Definition anytone_codeplug.cc:3049
virtual void setAction(Action action)
Sets the alarm action.
Definition anytone_codeplug.cc:3017
virtual void setEmergencyIndex(unsigned idx)
Sets the emergency ID index.
Definition anytone_codeplug.cc:3035
virtual void setDuration(const Interval &sec)
Sets the alarm duration in seconds.
Definition anytone_codeplug.cc:3044
virtual unsigned emergencyIndex() const
Returns the emergency ID index.
Definition anytone_codeplug.cc:3031
virtual void setRXDuration(const Interval &sec)
Sets the RX duration in seconds.
Definition anytone_codeplug.cc:3062
virtual void setEncodingType(ENIType type)
Sets the encoding type.
Definition anytone_codeplug.cc:3026
virtual Interval rxDuration() const
Returns the RX duration in seconds.
Definition anytone_codeplug.cc:3058
AnalogAlarm(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2994
virtual void setChannelIndex(unsigned idx)
Sets the channel index.
Definition anytone_codeplug.cc:3075
Action
Possible analog alarm types.
Definition anytone_codeplug.hh:2153
@ Both
Both?
Definition anytone_codeplug.hh:2157
@ TXAlarm
Transmit and alarm.
Definition anytone_codeplug.hh:2156
@ None
No alarm at all.
Definition anytone_codeplug.hh:2154
@ Background
Transmit and background.
Definition anytone_codeplug.hh:2155
virtual Action action() const
Returns the alarm action.
Definition anytone_codeplug.cc:3013
virtual bool repeatContinuously() const
Returns true if the alarm is repeated continuously.
Definition anytone_codeplug.cc:3085
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2176
virtual Interval duration() const
Returns the alarm duration in seconds.
Definition anytone_codeplug.cc:3040
virtual void setRepatContinuously()
Sets the alarm to be repeated continuously.
Definition anytone_codeplug.cc:3097
virtual void setChannelSelected()
Sets the alarm channel to the selected channel.
Definition anytone_codeplug.cc:3080
ENIType
Possible alarm signalling types.
Definition anytone_codeplug.hh:2161
@ DTMF
Send alarm code as DTMF.
Definition anytone_codeplug.hh:2163
@ FiveTone
Send alarm code as 5-tone.
Definition anytone_codeplug.hh:2164
void clear()
Resets the alarm.
Definition anytone_codeplug.cc:3007
virtual unsigned channelIndex() const
Returns the channel index.
Definition anytone_codeplug.cc:3071
virtual unsigned repetitions() const
Returns the number of alarm repetitions.
Definition anytone_codeplug.cc:3089
virtual ENIType encodingType() const
Returns the encoding type.
Definition anytone_codeplug.cc:3022
virtual void setRepetitions(unsigned num)
Sets the number of alarm repetitions.
Definition anytone_codeplug.cc:3093
virtual bool channelIsSelected() const
Returns true if the alarm channel is the selected channel.
Definition anytone_codeplug.cc:3067
virtual void setTXDuration(const Interval &sec)
Sets the TX duration in seconds.
Definition anytone_codeplug.cc:3053
virtual void enableRXAlarm(bool enable)
Enables/disables the reception of alarms.
Definition anytone_codeplug.cc:3231
virtual void enableVOX(bool enable)
Enables/disables the VOX for alarms.
Definition anytone_codeplug.cc:3222
virtual void setVoiceBroadcastDuration(const Interval &min)
Sets voice broadcast duration in minutes.
Definition anytone_codeplug.cc:3200
virtual Interval txDuration() const
Returns the TX duration in seconds.
Definition anytone_codeplug.cc:3143
virtual bool rxAlarm() const
Returns true if alarms gets received enabled.
Definition anytone_codeplug.cc:3227
virtual void setRepatContinuously()
Sets the alarm to be repeated continuously.
Definition anytone_codeplug.cc:3191
virtual unsigned repetitions() const
Returns the number of alarm repetitions.
Definition anytone_codeplug.cc:3183
Action
Possible alarm types.
Definition anytone_codeplug.hh:2253
@ Local
Transmit and local alarm.
Definition anytone_codeplug.hh:2257
@ None
No alarm at all.
Definition anytone_codeplug.hh:2254
@ Background
Transmit and background.
Definition anytone_codeplug.hh:2255
@ NonLocal
Transmit and non-local alarm.
Definition anytone_codeplug.hh:2256
virtual Interval areaBroadcastDuration() const
Returns area broadcast duration in minutes.
Definition anytone_codeplug.cc:3207
virtual bool channelIsSelected() const
Returns true if the alarm channel is the selected channel.
Definition anytone_codeplug.cc:3161
virtual void setRepetitions(unsigned num)
Sets the number of alarm repetitions.
Definition anytone_codeplug.cc:3187
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2269
virtual bool repeatContinuously() const
Returns true if the alarm is repeated continuously.
Definition anytone_codeplug.cc:3179
virtual void setRXDuration(const Interval &sec)
Sets the RX duration in seconds.
Definition anytone_codeplug.cc:3156
virtual void setTXDuration(const Interval &sec)
Sets the TX duration in seconds.
Definition anytone_codeplug.cc:3147
DigitalAlarm(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3106
virtual Interval duration() const
Returns the alarm duration in seconds.
Definition anytone_codeplug.cc:3134
virtual Action action() const
Returns the alarm action.
Definition anytone_codeplug.cc:3125
virtual Interval rxDuration() const
Returns the RX duration in seconds.
Definition anytone_codeplug.cc:3152
virtual void setChannelIndex(unsigned idx)
Sets the channel index.
Definition anytone_codeplug.cc:3169
virtual bool vox() const
Returns true if the VOX gets enabled.
Definition anytone_codeplug.cc:3218
virtual void setDuration(const Interval &sec)
Sets the alarm duration in seconds.
Definition anytone_codeplug.cc:3138
virtual void setAction(Action action)
Sets the alarm action.
Definition anytone_codeplug.cc:3129
virtual unsigned channelIndex() const
Returns the channel index.
Definition anytone_codeplug.cc:3165
virtual void setChannelSelected()
Sets the alarm channel to the selected channel.
Definition anytone_codeplug.cc:3174
virtual void setAreaBroadcastDuration(const Interval &min)
Sets area broadcast duration in minutes.
Definition anytone_codeplug.cc:3211
virtual Interval voiceBroadcastDuration() const
Returns voice broadcast duration in minutes.
Definition anytone_codeplug.cc:3196
void clear()
Resets the digital alarm settings.
Definition anytone_codeplug.cc:3119
virtual uint8_t * digital() const
Returns a pointer to the digital alarm settings.
Definition anytone_codeplug.cc:3263
void clear()
Clears the alarm settings.
Definition anytone_codeplug.cc:3253
virtual uint8_t * analog() const
Returns a pointer to the analog alarm settings.
Definition anytone_codeplug.cc:3259
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2356
AlarmSettingElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3240
Type
Analog quick-call types.
Definition anytone_codeplug.hh:1839
@ DTMF
DTMF call.
Definition anytone_codeplug.hh:1841
@ None
None, quick-call disabled.
Definition anytone_codeplug.hh:1840
@ FiveTone
5-tone call
Definition anytone_codeplug.hh:1843
@ TwoTone
2-tone call.
Definition anytone_codeplug.hh:1842
AnalogQuickCallElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2744
virtual void setContactIndex(unsigned idx)
Sets the analog contact index.
Definition anytone_codeplug.cc:2780
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1855
virtual void clearContactIndex()
Clears the contact index.
Definition anytone_codeplug.cc:2784
virtual unsigned contactIndex() const
Returns the analog contact index.
Definition anytone_codeplug.cc:2776
void clear()
Resets the quick call entry.
Definition anytone_codeplug.cc:2757
virtual bool hasContactIndex() const
Returns true if an analog contact index is set.
Definition anytone_codeplug.cc:2772
virtual void setType(Type type)
Sets the type of the quick call.
Definition anytone_codeplug.cc:2767
virtual Type type() const
Returns the call type.
Definition anytone_codeplug.cc:2763
uint8_t * quickCall(unsigned int n) const
Returns a pointer to the n-th entry.
Definition anytone_codeplug.cc:2812
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1900
void clear()
Clears the quick calls.
Definition anytone_codeplug.cc:2805
AnalogQuickCallsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2792
virtual bool updateConfig(Context &ctx)
Updates the abstract configuration from this general settings.
Definition anytone_codeplug.cc:2243
virtual void setIntroLine2(const QString &txt)
Sets the second intro line.
Definition anytone_codeplug.cc:2213
virtual void setIntroLine1(const QString &txt)
Sets the first intro line.
Definition anytone_codeplug.cc:2205
void clear()
Resets the boot settings.
Definition anytone_codeplug.cc:2196
virtual QString introLine2() const
Returns the second intro line.
Definition anytone_codeplug.cc:2209
BootSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2183
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1473
virtual bool fromConfig(const Flags &flags, Context &ctx)
Updates the general settings from the given abstract configuration.
Definition anytone_codeplug.cc:2229
virtual QString password() const
Returns the password.
Definition anytone_codeplug.cc:2218
virtual QString introLine1() const
Returns the first intro line.
Definition anytone_codeplug.cc:2201
virtual void setPassword(const QString &txt)
Sets the password.
Definition anytone_codeplug.cc:2222
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:408
ChannelBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:812
virtual bool talkaround() const
Returns true if the talkaround is enabled.
Definition anytone_codeplug.cc:312
virtual void setTXCTCSS(const SelectiveCall &tone)
Sets the TX CTCSS tone.
Definition anytone_codeplug.cc:329
virtual void setTXOffset(unsigned hz)
Sets the TX frequency offset in Hz.
Definition anytone_codeplug.cc:137
virtual void setScanListIndex(unsigned idx)
Sets the scan list index (0-based).
Definition anytone_codeplug.cc:455
virtual SelectiveCall txCTCSS() const
Returns the TX CTCSS tone.
Definition anytone_codeplug.cc:325
virtual SelectiveCall txTone() const
Simplified access to TX signaling (tone).
Definition anytone_codeplug.cc:265
virtual void setGroupListIndex(unsigned idx)
Sets the group list index (0-based).
Definition anytone_codeplug.cc:472
virtual bool simplexTDMA() const
Returns true if simplex TDMA is enabled.
Definition anytone_codeplug.cc:537
virtual unsigned twoToneIDIndex() const
Returns the two-tone ID index (0-based).
Definition anytone_codeplug.cc:481
virtual bool adaptiveTDMA() const
Returns true if adaptive TDMA is enabled.
Definition anytone_codeplug.cc:545
virtual unsigned scanListIndex() const
Returns the scan list index (0-based).
Definition anytone_codeplug.cc:451
virtual void setTwoToneDecodeIndex(unsigned idx)
Sets the 2-tone decode index (0-based).
Definition anytone_codeplug.cc:397
virtual void setRXTone(const SelectiveCall &code)
Sets the RX signaling (tone).
Definition anytone_codeplug.cc:243
virtual SignalingMode rxSignalingMode() const
Returns the RX signaling mode.
Definition anytone_codeplug.cc:224
virtual bool rxAPRS() const
Returns true if RX APRS is enabled.
Definition anytone_codeplug.cc:553
virtual void setPower(Channel::Power power)
Sets the channel power.
Definition anytone_codeplug.cc:182
virtual unsigned twoToneDecodeIndex() const
Returns the 2-tone decode index (0-based).
Definition anytone_codeplug.cc:393
virtual void setDTMFIDIndex(unsigned idx)
Sets the DTMF ID index (0-based).
Definition anytone_codeplug.cc:501
virtual DMRChannel::TimeSlot timeSlot() const
Returns the time slot.
Definition anytone_codeplug.cc:515
virtual void setTimeSlot(DMRChannel::TimeSlot ts)
Sets the time slot.
Definition anytone_codeplug.cc:521
virtual OptSignaling optionalSignaling() const
Returns the optional signalling type.
Definition anytone_codeplug.cc:438
Mode
Defines all possible channel modes, see channelMode.
Definition anytone_codeplug.hh:72
@ Digital
Digital (DMR) channel.
Definition anytone_codeplug.hh:74
@ Analog
Analog channel.
Definition anytone_codeplug.hh:73
@ MixedAnalog
Mixed, analog channel with digital RX.
Definition anytone_codeplug.hh:75
@ MixedDigital
Mixed, digital channel with analog RX.
Definition anytone_codeplug.hh:76
virtual void setTXFrequency(unsigned hz)
Sets the TX frequency indirectly.
Definition anytone_codeplug.cc:151
virtual void setTXDCS(const SelectiveCall &code)
Sets the TX DCS code.
Definition anytone_codeplug.cc:361
virtual void setContactIndex(unsigned idx)
Sets the transmit contact index (0-based).
Definition anytone_codeplug.cc:406
virtual ~ChannelElement()
Destructor.
Definition anytone_codeplug.cc:107
virtual void setColorCode(unsigned code)
Sets the color code.
Definition anytone_codeplug.cc:510
virtual QString name() const
Returns the channel name.
Definition anytone_codeplug.cc:571
virtual Channel * toChannelObj(Context &ctx) const
Constructs a generic Channel object from the codeplug channel.
Definition anytone_codeplug.cc:581
virtual Mode mode() const
Returns the channel mode (analog, digtital, etc).
Definition anytone_codeplug.cc:163
virtual bool loneWorker() const
Returns true if lone worker is enabled.
Definition anytone_codeplug.cc:562
virtual void enableRXCustomCTCSS()
Enables RX custom CTCSS frequency.
Definition anytone_codeplug.cc:349
virtual SelectiveCall rxDCS() const
Returns the RX DCS code.
Definition anytone_codeplug.cc:369
virtual void setRXDCS(const SelectiveCall &code)
Sets the RX DCS code.
Definition anytone_codeplug.cc:376
virtual void enableSimplexTDMA(bool enable)
Enables/disables simplex TDMA confirmation.
Definition anytone_codeplug.cc:541
virtual unsigned txFrequency() const
Returns the TX frequency in Hz.
Definition anytone_codeplug.cc:142
virtual bool rxTxSwapped() const
Returns true if RX and TX frequencies are swapped.
Definition anytone_codeplug.cc:288
virtual void setMode(Mode mode)
Sets the channel mode.
Definition anytone_codeplug.cc:167
Power
Defines all possible power settings.
Definition anytone_codeplug.hh:80
@ POWER_HIGH
High power, usually 5W.
Definition anytone_codeplug.hh:83
@ POWER_LOW
Low power, usually 1W.
Definition anytone_codeplug.hh:81
@ POWER_MIDDLE
Medium power, usually 2.5W.
Definition anytone_codeplug.hh:82
@ POWER_TURBO
Higher power, usually 7W on VHF and 6W on UHF.
Definition anytone_codeplug.hh:84
virtual unsigned dtmfIDIndex() const
Returns the DTFM ID index (0-based).
Definition anytone_codeplug.cc:497
virtual void setTXTone(const SelectiveCall &code)
Sets the RX signaling (tone).
Definition anytone_codeplug.cc:275
virtual void setRXSignalingMode(SignalingMode mode)
Sets the RX signaling mode.
Definition anytone_codeplug.cc:228
virtual void setRXCTCSS(const SelectiveCall &tone)
Sets the RX CTCSS tone.
Definition anytone_codeplug.cc:345
virtual bool hasGroupListIndex() const
Returns true, if a group list index is set.
Definition anytone_codeplug.cc:464
ChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:95
virtual bool callConfirm() const
Returns true if the call confirm is enabled.
Definition anytone_codeplug.cc:304
virtual unsigned txOffset() const
Returns the TX frequency offset in Hz.
Definition anytone_codeplug.cc:133
virtual Admit admit() const
Returns the admit criterion.
Definition anytone_codeplug.cc:429
virtual SelectiveCall txDCS() const
Returns the TX DCS code.
Definition anytone_codeplug.cc:354
virtual bool hasScanListIndex() const
Returns true, if a scan list index is set.
Definition anytone_codeplug.cc:447
virtual void setCustomCTCSSFrequency(double hz)
Sets the custom CTCSS frequency in Hz.
Definition anytone_codeplug.cc:388
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:130
virtual SignalingMode txSignalingMode() const
Returns the TX signaling mode.
Definition anytone_codeplug.cc:256
virtual void enableSwapRxTx(bool enable)
Swaps RX and TX frequencies.
Definition anytone_codeplug.cc:292
virtual SelectiveCall rxCTCSS() const
Returns the RX CTCSS tone.
Definition anytone_codeplug.cc:341
RepeaterMode
Defines all possible repeater modes.
Definition anytone_codeplug.hh:88
@ Simplex
Simplex mode, that is TX frequency = RX frequency. tx_offset is ignored.
Definition anytone_codeplug.hh:89
@ Positive
Repeater mode with positive tx_offset.
Definition anytone_codeplug.hh:90
@ Negative
Repeater mode with negative tx_offset.
Definition anytone_codeplug.hh:91
virtual void enableSMSConfirm(bool enable)
Enables/disables SMS confirmation.
Definition anytone_codeplug.cc:533
virtual unsigned rxFrequency() const
Returns the RX frequency in Hz.
Definition anytone_codeplug.cc:124
virtual void setTXSignalingMode(SignalingMode mode)
Sets the TX signaling mode.
Definition anytone_codeplug.cc:260
virtual void setRXFrequency(unsigned hz)
Sets the RX frequency in Hz.
Definition anytone_codeplug.cc:128
virtual bool smsConfirm() const
Returns true if SMS confirmation is enabled.
Definition anytone_codeplug.cc:529
virtual AnytoneFMChannelExtension::SquelchMode squelchMode() const
Returns true if the sequelch is silent and false if open.
Definition anytone_codeplug.cc:420
virtual void enableAdaptiveTDMA(bool enable)
Enables/disables adaptive TDMA.
Definition anytone_codeplug.cc:549
virtual void enableCallConfirm(bool enable)
Enables/disables call confirm.
Definition anytone_codeplug.cc:308
virtual bool rxCTCSSIsCustom() const
Returns true if the RX CTCSS tone frequency is custom (non standard).
Definition anytone_codeplug.cc:337
virtual void enableRXAPRS(bool enable)
Enables/disables RX APRS.
Definition anytone_codeplug.cc:557
virtual void setSquelchMode(AnytoneFMChannelExtension::SquelchMode mode)
Enables/disables silent squelch.
Definition anytone_codeplug.cc:424
virtual bool fromChannelObj(const Channel *c, Context &ctx)
Initializes this codeplug channel from the given generic configuration.
Definition anytone_codeplug.cc:704
virtual void setRepeaterMode(RepeaterMode mode)
Sets the transmit offset direction.
Definition anytone_codeplug.cc:219
Admit
Defines possible admit criteria.
Definition anytone_codeplug.hh:102
@ DifferentColorCode
For digital channels.
Definition anytone_codeplug.hh:105
@ SameColorCode
For digital channels.
Definition anytone_codeplug.hh:106
@ Always
For both channel types.
Definition anytone_codeplug.hh:103
@ Free
For digital channels.
Definition anytone_codeplug.hh:104
@ Busy
For analog channels.
Definition anytone_codeplug.hh:108
@ Tone
For analog channels.
Definition anytone_codeplug.hh:107
virtual void setFiveToneIDIndex(unsigned idx)
Sets the five-tone ID index (0-based).
Definition anytone_codeplug.cc:493
virtual bool linkChannelObj(Channel *c, Context &ctx) const
Links a previously constructed channel to the rest of the configuration.
Definition anytone_codeplug.cc:662
virtual unsigned contactIndex() const
Returns the transmit contact index (0-based).
Definition anytone_codeplug.cc:402
virtual void clearScanListIndex()
Clears the scan list index.
Definition anytone_codeplug.cc:459
OptSignaling
Defines all possible optional signalling settings.
Definition anytone_codeplug.hh:112
@ DTMF
Use DTMF.
Definition anytone_codeplug.hh:114
@ FiveTone
Use 5-tone.
Definition anytone_codeplug.hh:116
@ TwoTone
Use 2-tone.
Definition anytone_codeplug.hh:115
@ Off
None.
Definition anytone_codeplug.hh:113
virtual void clearGroupListIndex()
Clears the group list index.
Definition anytone_codeplug.cc:476
virtual unsigned radioIDIndex() const
Returns the radio ID index (0-based).
Definition anytone_codeplug.cc:411
virtual void enableRXOnly(bool enable)
Enables/disables RX only.
Definition anytone_codeplug.cc:300
virtual double customCTCSSFrequency() const
Returns the custom CTCSS frequency in Hz.
Definition anytone_codeplug.cc:384
virtual unsigned fiveToneIDIndex() const
Returns the five-tone ID index (0-based).
Definition anytone_codeplug.cc:489
virtual Channel::Power power() const
Returns the channel power.
Definition anytone_codeplug.cc:172
virtual FMChannel::Bandwidth bandwidth() const
Returns the band width of the channel.
Definition anytone_codeplug.cc:201
virtual bool txCTCSSIsCustom() const
Returns true if the TX CTCSS tone frequency is custom (non standard).
Definition anytone_codeplug.cc:321
virtual RepeaterMode repeaterMode() const
Returns the transmit offset direction.
Definition anytone_codeplug.cc:215
virtual void enableTXCustomCTCSS()
Enables TX custom CTCSS frequency.
Definition anytone_codeplug.cc:333
virtual void setAdmit(Admit admit)
Sets the admit criterion.
Definition anytone_codeplug.cc:433
virtual void setName(const QString &name)
Sets the channel name.
Definition anytone_codeplug.cc:575
virtual void enableLoneWorker(bool enable)
Enables/disables lone worker.
Definition anytone_codeplug.cc:566
virtual void setTwoToneIDIndex(unsigned idx)
Sets the two-tone ID index (0-based).
Definition anytone_codeplug.cc:485
virtual void setBandwidth(FMChannel::Bandwidth bw)
Sets the band width of the channel.
Definition anytone_codeplug.cc:207
virtual unsigned colorCode() const
Returns the color code.
Definition anytone_codeplug.cc:506
virtual SelectiveCall rxTone() const
Simplified access to RX signaling (tone).
Definition anytone_codeplug.cc:233
virtual void setOptionalSignaling(OptSignaling sig)
Sets the optional signaling type.
Definition anytone_codeplug.cc:442
virtual void enableTalkaround(bool enable)
Enables/disables talkaround.
Definition anytone_codeplug.cc:316
virtual void setRadioIDIndex(unsigned idx)
Sets the radio ID index (0-based).
Definition anytone_codeplug.cc:415
virtual unsigned groupListIndex() const
Returns the scan list index (0-based).
Definition anytone_codeplug.cc:468
SignalingMode
Possible analog signaling modes.
Definition anytone_codeplug.hh:95
@ DCS
Use DCS codes.
Definition anytone_codeplug.hh:98
@ None
None.
Definition anytone_codeplug.hh:96
void clear()
Resets the channel.
Definition anytone_codeplug.cc:112
virtual bool rxOnly() const
Returns true if the RX only is enabled.
Definition anytone_codeplug.cc:296
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:493
ContactBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:954
virtual void setNumber(unsigned number)
Sets the contact number.
Definition anytone_codeplug.cc:886
virtual void setName(const QString &name)
Sets the name of the contact.
Definition anytone_codeplug.cc:877
virtual ~ContactElement()
Destructor.
Definition anytone_codeplug.cc:840
virtual bool fromContactObj(const DMRContact *contact, Context &ctx)
Constructs this contact from the give DigitalContact.
Definition anytone_codeplug.cc:932
ContactElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:828
virtual DMRContact::Type type() const
Returns the contact type.
Definition anytone_codeplug.cc:855
virtual void setType(DMRContact::Type type)
Sets the contact type.
Definition anytone_codeplug.cc:864
virtual DMRContact * toContactObj(Context &ctx) const
Assembles a DigitalContact from this contact.
Definition anytone_codeplug.cc:913
virtual void setAlertType(AnytoneContactExtension::AlertType type)
Sets the alert type.
Definition anytone_codeplug.cc:908
virtual unsigned number() const
Returns the contact number.
Definition anytone_codeplug.cc:882
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:430
virtual QString name() const
Returns the name of the contact.
Definition anytone_codeplug.cc:873
bool isValid() const
Returns true if the element is valid.
Definition anytone_codeplug.cc:850
virtual AnytoneContactExtension::AlertType alertType() const
Returns the alert type.
Definition anytone_codeplug.cc:891
void clear()
Resets the contact element.
Definition anytone_codeplug.cc:845
virtual void setIndex(unsigned idx)
Sets the index.
Definition anytone_codeplug.cc:4510
virtual unsigned id() const
Returns the id.
Definition anytone_codeplug.cc:4493
bool isValid() const
Returns true if the contact map is valid.
Definition anytone_codeplug.cc:4482
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:3370
virtual bool isGroup() const
Returns true if the entry is a group call.
Definition anytone_codeplug.cc:4488
void clear()
Clears the entry.
Definition anytone_codeplug.cc:4477
virtual void setID(unsigned id, bool group=false)
Encodes ID and group call flag.
Definition anytone_codeplug.cc:4499
ContactMapElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:4464
virtual unsigned index() const
Returns the index.
Definition anytone_codeplug.cc:4506
virtual QString message() const
Returns the message.
Definition anytone_codeplug.cc:2561
virtual bool updateConfig(Context &ctx) const
Decodes the message.
Definition anytone_codeplug.cc:2577
void setMessage(const QString &message)
Sets the message.
Definition anytone_codeplug.cc:2566
virtual bool fromConfig(Codeplug::Flags flags, Context &ctx)
Encodes the message.
Definition anytone_codeplug.cc:2571
DMRAPRSMessageElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2543
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2556
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1653
virtual Interval automaticInterval() const
Returns the automatic transmit interval in seconds.
Definition anytone_codeplug.cc:2288
virtual Channel::Power power() const
Returns the transmit power.
Definition anytone_codeplug.cc:2339
virtual bool automatic() const
Returns true if the automatic APRS is enabled.
Definition anytone_codeplug.cc:2284
virtual void setChannelSelected(unsigned n)
Sets the n-th channel to selected channel.
Definition anytone_codeplug.cc:2400
virtual void setDestination(unsigned id)
Sets the destination DMR ID to send the APRS information to.
Definition anytone_codeplug.cc:2413
virtual void overrideTimeSlot(DMRChannel::TimeSlot ts)
Sets the timeslot.
Definition anytone_codeplug.cc:2448
virtual void setManualInterval(const Interval &sec)
Sets the manual TX interval in seconds.
Definition anytone_codeplug.cc:2279
virtual void setCallType(DMRContact::Type type)
Sets the call type.
Definition anytone_codeplug.cc:2427
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Updates the global config.
Definition anytone_codeplug.cc:2494
virtual bool fixedLocation() const
Returns true if the fixed location beacon is enabled.
Definition anytone_codeplug.cc:2303
virtual void setChannelIndex(unsigned n, unsigned idx)
Sets the n-th channel index.
Definition anytone_codeplug.cc:2388
virtual bool hasChannel(unsigned n) const
Returns true if the n-th channel is set.
Definition anytone_codeplug.cc:2368
virtual Interval manualInterval() const
Returns the Manual TX interval in seconds.
Definition anytone_codeplug.cc:2275
virtual void setLocation(const QGeoCoordinate &pos)
Sets the location of the fixed position.
Definition anytone_codeplug.cc:2317
virtual void disableAutomatic()
Disables the automatic APRS.
Definition anytone_codeplug.cc:2298
virtual bool channelIsSelected(unsigned n) const
Returns true if the n-th channel is selected channel.
Definition anytone_codeplug.cc:2380
virtual void enableFixedLocation(bool enable)
Enables/disables fixed location beacon.
Definition anytone_codeplug.cc:2334
virtual bool timeSlotOverride() const
Returns true if the timeslot of the channel is overridden.
Definition anytone_codeplug.cc:2436
virtual void setAutomaticInterval(const Interval &sec)
Sets the automatic transmit interval in seconds.
Definition anytone_codeplug.cc:2292
virtual DMRChannel::TimeSlot timeslot() const
Returns the timeslot (only valid if timeSlotOverride returns true).
Definition anytone_codeplug.cc:2440
virtual DMRContact::Type callType() const
Returns the call type.
Definition anytone_codeplug.cc:2418
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1533
virtual void disableTimeSlotOverride()
Disables TS override.
Definition anytone_codeplug.cc:2455
void clear()
Resets the APRS settings.
Definition anytone_codeplug.cc:2270
virtual bool channelIsVFOB(unsigned n) const
Returns true if the n-th channel is VFO B.
Definition anytone_codeplug.cc:2376
virtual void setChannelVFOA(unsigned n)
Sets the n-th channel to VFO A.
Definition anytone_codeplug.cc:2392
DMRAPRSSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2257
virtual void clearChannel(unsigned n)
Resets the n-th channel.
Definition anytone_codeplug.cc:2404
virtual void setPower(Channel::Power power)
Sets the transmit power.
Definition anytone_codeplug.cc:2349
virtual unsigned destination() const
Returns the destination DMR ID to send the APRS information to.
Definition anytone_codeplug.cc:2409
virtual bool channelIsVFOA(unsigned n) const
Returns true if the n-th channel is VFO A.
Definition anytone_codeplug.cc:2372
virtual QGeoCoordinate location() const
Returns the location of the fixed position.
Definition anytone_codeplug.cc:2307
virtual bool fromConfig(const Flags &flags, Context &ctx)
Updates the GPS settings from the given config.
Definition anytone_codeplug.cc:2460
virtual bool linkGPSSystem(uint8_t i, Context &ctx)
Links GPS system from this GPS settings.
Definition anytone_codeplug.cc:2514
virtual unsigned channelIndex(unsigned n) const
Returns the index of the n-th channel.
Definition anytone_codeplug.cc:2384
virtual void setChannelVFOB(unsigned n)
Sets the n-th channel to VFO B.
Definition anytone_codeplug.cc:2396
virtual bool createGPSSystem(uint8_t i, Context &ctx)
Creates GPS system from this GPS settings.
Definition anytone_codeplug.cc:2507
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4389
virtual bool hasKey(unsigned int n) const
Returns true if the n-th id is set.
Definition anytone_codeplug.cc:4394
virtual QByteArray key(unsigned int n) const
Returns the ID of the encryption key.
Definition anytone_codeplug.cc:4401
virtual void clearKey(unsigned int n)
Clears the n-th id.
Definition anytone_codeplug.cc:4415
DMREncryptionKeyListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4376
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3286
virtual void setKey(unsigned int n, const BasicEncryptionKey &key)
Sets the ID of the encryption key.
Definition anytone_codeplug.cc:4408
DTMFContactBytemapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:1044
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:564
virtual bool fromContact(const DTMFContact *contact)
Encodes an DTMF contact from the given one.
Definition anytone_codeplug.cc:1034
virtual void setNumber(const QString &number)
Sets the number of the contact.
Definition anytone_codeplug.cc:1005
virtual DTMFContact * toContact() const
Creates an DTMF contact from the entry.
Definition anytone_codeplug.cc:1029
DTMFContactElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:970
virtual QString number() const
Returns the number of the contact.
Definition anytone_codeplug.cc:992
virtual void setName(const QString &name)
Sets the name of the contact.
Definition anytone_codeplug.cc:1024
void clear()
Resets the contact element.
Definition anytone_codeplug.cc:987
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:514
virtual ~DTMFContactElement()
Destructor.
Definition anytone_codeplug.cc:982
virtual QString name() const
Returns the name of the contact.
Definition anytone_codeplug.cc:1020
virtual void clearNumber(unsigned int n)
Clears the n-th number.
Definition anytone_codeplug.cc:4267
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3171
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4239
virtual bool hasNumber(unsigned int n) const
Returns true, if the n-th number is set.
Definition anytone_codeplug.cc:4244
DTMFIDListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4226
virtual QString number(unsigned int n) const
Returns the n-th number.
Definition anytone_codeplug.cc:4251
virtual void setNumber(unsigned int n, const QString &number)
Sets the n-th number.
Definition anytone_codeplug.cc:4259
Response
Possible responses to a DTMF decode.
Definition anytone_codeplug.hh:3019
virtual void setDCodePause(const Interval &sec)
Sets the D-code pause in seconds.
Definition anytone_codeplug.cc:4143
virtual void setFirstDigitDuration(const Interval &ms)
Sets the first digit duration in ms.
Definition anytone_codeplug.cc:4082
virtual QString botID() const
Returns the BOT ID.
Definition anytone_codeplug.cc:4157
virtual Interval postEncodingDelay() const
Returns the post encoding delay in ms.
Definition anytone_codeplug.cc:4112
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:3032
virtual unsigned groupCode() const
Returns the group code [0,15].
Definition anytone_codeplug.cc:4051
virtual Interval firstDigitDuration() const
Returns the first digit duration in ms.
Definition anytone_codeplug.cc:4078
virtual void setRemoteStunID(const QString &id)
Sets the remote stun ID.
Definition anytone_codeplug.cc:4214
DTMFSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:4023
virtual QString id() const
Returns the radio ID.
Definition anytone_codeplug.cc:4096
virtual void setResponse(Response resp)
Sets the response to a DTMF decode.
Definition anytone_codeplug.cc:4064
virtual void setGroupCode(unsigned symb)
Sets the group code [0,15].
Definition anytone_codeplug.cc:4055
virtual void setPostEncodingDelay(const Interval &ms)
Sets the post encoding delay in ms.
Definition anytone_codeplug.cc:4116
virtual void enablePTTID(bool enable)
Enables/disables the PTT ID.
Definition anytone_codeplug.cc:4134
virtual bool pttIDEnabled() const
Returns true if the PTT ID is enabled.
Definition anytone_codeplug.cc:4130
virtual void setIntervalSymbol(unsigned symb)
Sets the interval/repeat symbol [0,15].
Definition anytone_codeplug.cc:4046
virtual void setPreTime(const Interval &ms)
Sets the pre time in ms.
Definition anytone_codeplug.cc:4073
virtual void setRemoteKillID(const QString &id)
Sets the remote kill ID.
Definition anytone_codeplug.cc:4197
virtual void setID(const QString &id)
Sets the radio ID.
Definition anytone_codeplug.cc:4104
virtual Interval preTime() const
Returns the pre time in ms.
Definition anytone_codeplug.cc:4069
virtual void setAutoResetTime(const Interval &sec)
Sets the auto reset time in seconds.
Definition anytone_codeplug.cc:4091
virtual Interval autoResetTime() const
Returns the auto reset time in seconds.
Definition anytone_codeplug.cc:4087
virtual void setBOTID(const QString &id)
Sets the BOT ID.
Definition anytone_codeplug.cc:4165
virtual Interval dCodePause() const
Returns the D-code pause in seconds.
Definition anytone_codeplug.cc:4139
virtual Interval pttIDPause() const
Returns the PTT ID pause in seconds.
Definition anytone_codeplug.cc:4121
virtual QString eotID() const
Returns the EOT ID.
Definition anytone_codeplug.cc:4173
virtual void setPTTIDPause(const Interval &sec)
Sets the PTT ID pause in seconds.
Definition anytone_codeplug.cc:4125
virtual QString remoteKillID() const
Returns the remote kill ID.
Definition anytone_codeplug.cc:4189
virtual QString remoteStunID() const
Returns the remote stun ID.
Definition anytone_codeplug.cc:4206
void clear()
Resets the settings.
Definition anytone_codeplug.cc:4036
virtual bool sidetone() const
Returns true if the sidetone is enabled.
Definition anytone_codeplug.cc:4148
virtual void enableSidetone(bool enable)
Enables/disables the sidetone.
Definition anytone_codeplug.cc:4152
virtual Response response() const
Returns the response to a DMTF decode.
Definition anytone_codeplug.cc:4060
virtual unsigned intervalSymbol() const
Returns the interval/repeat symbol [0,15].
Definition anytone_codeplug.cc:4042
virtual void setEOTID(const QString &id)
Sets the EOT ID.
Definition anytone_codeplug.cc:4181
virtual DMRContact::Type callType() const
Returns the call type.
Definition anytone_codeplug.cc:3289
virtual unsigned destination() const
Returns the destination DMR number.
Definition anytone_codeplug.cc:3307
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2392
void clear()
Clears the settings.
Definition anytone_codeplug.cc:3284
virtual void setDestination(unsigned number)
Sets the destination DMR number.
Definition anytone_codeplug.cc:3311
virtual void setCallType(DMRContact::Type type)
Sets the call type.
Definition anytone_codeplug.cc:3298
DigitalAlarmExtensionElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3271
EnhancedEncryptionKeyListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4426
QByteArray key(unsigned int n) const
Returns the n-th key.
Definition anytone_codeplug.cc:4447
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4439
void setKey(unsigned int n, const QByteArray &key)
Sets the n-th key.
Definition anytone_codeplug.cc:4454
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3329
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:2077
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:2035
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:2058
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.
ExtendedSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2028
virtual void setFunction(Function function)
Sets the function.
Definition anytone_codeplug.cc:3461
virtual QString name() const
Returns the name.
Definition anytone_codeplug.cc:3503
void clear()
Clears the function settings.
Definition anytone_codeplug.cc:3452
virtual Function function() const
Returns the function.
Definition anytone_codeplug.cc:3457
Function
Possible function being performed on 5-tone decoding.
Definition anytone_codeplug.hh:2539
Response
Possible responses to 5-tone decoding.
Definition anytone_codeplug.hh:2545
virtual void setName(const QString &name)
Sets the name.
Definition anytone_codeplug.cc:3507
virtual void setID(const QString &id)
Sets the ID.
Definition anytone_codeplug.cc:3488
virtual void setResponse(Response response)
Sets the response.
Definition anytone_codeplug.cc:3470
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2558
virtual Response response() const
Returns the response.
Definition anytone_codeplug.cc:3466
FiveToneFunctionElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3439
virtual QString id() const
Returns the ID.
Definition anytone_codeplug.cc:3475
virtual uint8_t * function(unsigned int n) const
Returns the pointer to the n-th function setting.
Definition anytone_codeplug.cc:3533
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:3528
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2619
FiveToneFunctionListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3515
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2499
FiveToneIDBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3395
virtual void setStandard(Standard std)
Sets the encoding standard.
Definition anytone_codeplug.cc:3341
virtual Interval toneDuration() const
Returns the tone duration in ms.
Definition anytone_codeplug.cc:3346
FiveToneIDElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3319
void clear()
Clears the ID.
Definition anytone_codeplug.cc:3332
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2440
virtual void setID(const QString &id)
Sets the ID.
Definition anytone_codeplug.cc:3368
virtual QString name() const
Returns the name.
Definition anytone_codeplug.cc:3383
virtual void setToneDuration(const Interval &ms)
Sets the tone duration in ms.
Definition anytone_codeplug.cc:3350
Standard
Possible 5-tone encoding standards.
Definition anytone_codeplug.hh:2426
virtual void setName(const QString &name)
Sets the name.
Definition anytone_codeplug.cc:3387
virtual Standard standard() const
Returns the 5Tone encoding standard.
Definition anytone_codeplug.cc:3337
virtual QString id() const
Returns the ID.
Definition anytone_codeplug.cc:3355
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2517
FiveToneIDListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3411
virtual uint8_t * member(unsigned int n) const
Returns a pointer to the n-th five-tone ID.
Definition anytone_codeplug.cc:3429
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:3424
virtual Standard decodingStandard() const
Returns the decoding standard.
Definition anytone_codeplug.cc:3570
void clear()
Resets the 5tone settings.
Definition anytone_codeplug.cc:3556
enum FiveToneIDElement::Standard Standard
Possible 5-tone encoding standards.
Definition anytone_codeplug.hh:2646
virtual QString eotID() const
Returns the 5tone EOT ID.
Definition anytone_codeplug.cc:3778
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2657
FiveToneSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3543
virtual unsigned stopCode() const
Returns the stop code [0,15].
Definition anytone_codeplug.cc:3669
virtual Interval autoResetTime() const
Returns the auto-reset time in seconds.
Definition anytone_codeplug.cc:3642
virtual void setPreTime(const Interval &ms)
Sets the pre time in ms.
Definition anytone_codeplug.cc:3709
virtual void setStopCode(unsigned code)
Sets the stop code.
Definition anytone_codeplug.cc:3673
virtual void setDecodingResponse(Response response)
Sets the decoding response.
Definition anytone_codeplug.cc:3565
virtual Interval preTime() const
Returns the pre time in ms.
Definition anytone_codeplug.cc:3705
virtual QString botID() const
Returns the 5tone BOT ID.
Definition anytone_codeplug.cc:3732
virtual bool hasPTTID() const
Returns true if the PTT ID is set.
Definition anytone_codeplug.cc:3625
virtual void setID(const QString &id)
Sets the 5tone radio ID.
Definition anytone_codeplug.cc:3601
virtual void setStopTime(const Interval &ms)
Sets the stop time in ms.
Definition anytone_codeplug.cc:3682
virtual void setBOTToneDuration(const Interval &ms)
Sets the BOT tone duration in ms.
Definition anytone_codeplug.cc:3727
virtual QString id() const
Returns the 5tone radio ID.
Definition anytone_codeplug.cc:3588
virtual Interval decodeTime() const
Returns the decode time in ms.
Definition anytone_codeplug.cc:3687
virtual Interval decodingToneDuration() const
Returns the decoding tone duration in ms.
Definition anytone_codeplug.cc:3579
virtual void setEOTToneDuration(const Interval &ms)
Sets the EOT tone duration in ms.
Definition anytone_codeplug.cc:3773
virtual Interval stopTime() const
Returns the stop time in ms.
Definition anytone_codeplug.cc:3678
virtual bool sidetoneEnabled() const
Returns true if the sidetone is enabled.
Definition anytone_codeplug.cc:3660
virtual void setAutoResetTime(const Interval &s)
Sets the auto-reset time in seconds.
Definition anytone_codeplug.cc:3646
virtual void setDecodeTime(const Interval &ms)
Sets the decode time in ms.
Definition anytone_codeplug.cc:3691
virtual void enableSidetone(bool enable)
Enables/disables side tone.
Definition anytone_codeplug.cc:3664
virtual void setDecodingStandard(Standard standard)
Sets the decoding standard.
Definition anytone_codeplug.cc:3574
virtual Interval botToneDuration() const
Returns the BOT tone duration in ms.
Definition anytone_codeplug.cc:3723
virtual Interval firstDelay() const
Returns the first delay in ms.
Definition anytone_codeplug.cc:3651
virtual void setEOTID(const QString &id)
Sets the 5tone EOT ID.
Definition anytone_codeplug.cc:3791
virtual void setBOTStandard(Standard standard)
Sets the BOT standard.
Definition anytone_codeplug.cc:3718
virtual void setDelayAfterStop(const Interval &ms)
Sets the delay after stop in ms.
Definition anytone_codeplug.cc:3700
virtual Interval postEncodeDelay() const
Returns the post-encode delay in ms.
Definition anytone_codeplug.cc:3616
virtual void setPTTID(unsigned id)
Sets the PTT ID [5,75].
Definition anytone_codeplug.cc:3633
virtual void setPostEncodeDelay(const Interval &ms)
Sets the post-encode delay in ms.
Definition anytone_codeplug.cc:3620
virtual unsigned pttID() const
Returns the PTT ID.
Definition anytone_codeplug.cc:3629
virtual void setDecodingToneDuration(const Interval &ms)
Sets the decoding tone duration in ms.
Definition anytone_codeplug.cc:3583
virtual Response decodingResponse() const
Returns the decoding response.
Definition anytone_codeplug.cc:3561
virtual Interval delayAfterStop() const
Returns the delay after stop in ms.
Definition anytone_codeplug.cc:3696
virtual Interval eotToneDuration() const
Returns the EOT tone duration in ms.
Definition anytone_codeplug.cc:3769
virtual void setBOTID(const QString &id)
Sets the 5tone BOT ID.
Definition anytone_codeplug.cc:3745
virtual void setEOTStandard(Standard standard)
Sets the EOT standard.
Definition anytone_codeplug.cc:3764
virtual Standard botStandard() const
Returns the BOT standard.
Definition anytone_codeplug.cc:3714
virtual void setFirstDelay(const Interval &ms)
Sets the first delay in ms.
Definition anytone_codeplug.cc:3655
Response
Possible responses to decoded 5-tone codes.
Definition anytone_codeplug.hh:2642
virtual Standard eotStandard() const
Returns the EOT standard.
Definition anytone_codeplug.cc:3760
virtual void clearPTTID()
Clears the PTT ID.
Definition anytone_codeplug.cc:3637
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyALong() const =0
Returns the key function for a long press on the function key 1.
virtual Interval menuExitTime() const =0
Returns the menu exit time in seconds.
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:1614
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 void enableVolumeChangePrompt(bool enable)=0
Enables/disables the volume change prompt.
virtual void resetToneMelody(Melody &melody) const =0
Returns the reset-tone melody.
virtual Level squelchLevelB() const
Squelch level of VFO B, (0=off).
Definition anytone_codeplug.cc:1687
virtual void enableShowLastHeard(bool enable)=0
Enables/disables showing last heard.
virtual Level dmrMicGain() const =0
Returns the mirophone gain.
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 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 bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err)
Encodes the general settings.
Definition anytone_codeplug.cc:1696
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 void setMaxSpeakerVolume(Level level)=0
Sets the maximum volume.
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 Level squelchLevelA() const
Squelch level of VFO A, (0=off).
Definition anytone_codeplug.cc:1679
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:1609
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:942
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.
GeneralSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:1593
virtual void setMinVFOScanFrequencyVHF(Frequency hz)=0
Sets the minimum VFO scan frequency for the VHF band in Hz.
virtual bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err)
Links the general settings.
Definition anytone_codeplug.cc:1955
virtual AnytoneKeySettingsExtension::KeyFunction funcKey1Long() const =0
Returns the key function for a long press on the function key 1.
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 void setSquelchLevelB(Level level)
Returns the squelch level for VFO B, (0=off).
Definition anytone_codeplug.cc:1691
virtual bool displayFrequency() const
Returns true if the radio displays frequencies instead of channels is enabled.
Definition anytone_codeplug.cc:1605
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 Level maxSpeakerVolume() const =0
Returns the maximum volume.
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 void setDMRMicGain(Level gain)=0
Sets the microphone gain.
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 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 bool updateConfig(Context &ctx, const ErrorStack &err)
Updates the abstract config from general settings.
Definition anytone_codeplug.cc:1847
virtual void setSquelchLevelA(Level level)
Returns the squelch level for VFO A, (0=off).
Definition anytone_codeplug.cc:1683
BootDisplay
Possible encoding of boot display settings.
Definition anytone_codeplug.hh:946
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 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 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:1674
void clear()
Resets the general settings.
Definition anytone_codeplug.cc:1600
virtual void enableKeyLockForced(bool enable)=0
Enables/disables the "professional" key lock.
virtual bool activeChannelB() const =0
Returns true if the active channel is VFO B.
virtual void setBootDisplay(BootSettings::BootDisplay mode)
Sets the boot display mode.
Definition anytone_codeplug.cc:1660
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 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:1634
virtual void enableRecording(bool enable)=0
Enables/disables recording.
virtual Interval autoShutdownDelay() const
Returns the auto-shutdown delay in minutes.
Definition anytone_codeplug.cc:1623
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:1618
virtual BootSettings::BootDisplay bootDisplay() const
Returns the boot display mode.
Definition anytone_codeplug.cc:1650
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:1670
virtual void setFuncKeyCShort(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a short press on the function key 3/C.
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:646
GroupListBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:1163
virtual unsigned memberIndex(unsigned n) const
Returns the n-th member index.
Definition anytone_codeplug.cc:1098
virtual RXGroupList * toGroupListObj() const
Constructs a new RXGroupList from this group list.
Definition anytone_codeplug.cc:1111
virtual bool hasMemberIndex(unsigned n) const
Returns true if the n-th member index is valid.
Definition anytone_codeplug.cc:1094
virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx)
Constructs this group list from the given RXGroupList.
Definition anytone_codeplug.cc:1133
void clear()
Clears the group list.
Definition anytone_codeplug.cc:1073
GroupListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:1060
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:583
bool isValid() const
Returns true if the group list is valid.
Definition anytone_codeplug.cc:1080
virtual void setName(const QString &name)
Sets the name of the group list.
Definition anytone_codeplug.cc:1089
virtual bool linkGroupList(RXGroupList *lst, Context &ctx) const
Populates the RXGroupList from this group list.
Definition anytone_codeplug.cc:1116
virtual QString name() const
Returns the name of the group list.
Definition anytone_codeplug.cc:1085
virtual void clearMemberIndex(unsigned n)
Clears the n-th member index.
Definition anytone_codeplug.cc:1106
virtual void setMemberIndex(unsigned n, unsigned idx)
Sets the n-th member index.
Definition anytone_codeplug.cc:1102
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1454
HiddenZoneBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2166
virtual DigiCallType digiCallType() const
If type returns Type::Call and callType CalLType::Digital, returns the digital call type.
Definition anytone_codeplug.cc:2918
virtual void setContactIndex(unsigned idx)
Sets the contact index.
Definition anytone_codeplug.cc:2935
Type
Hot-key types.
Definition anytone_codeplug.hh:1989
@ Menu
Show a menu item.
Definition anytone_codeplug.hh:1991
@ Call
Perform a call.
Definition anytone_codeplug.hh:1990
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2032
void clear()
Resets the hot-key entry.
Definition anytone_codeplug.cc:2884
virtual Type type() const
Returns the type of the hot-key entry.
Definition anytone_codeplug.cc:2891
virtual void setMessageIndex(unsigned idx)
Sets the message index.
Definition anytone_codeplug.cc:2952
virtual void clearContactIndex()
Clears the contact index.
Definition anytone_codeplug.cc:2939
DigiCallType
Possible digital call sub-types.
Definition anytone_codeplug.hh:2013
@ StatusMessage
Send a state message.
Definition anytone_codeplug.hh:2020
@ AllCall
Perform all call.
Definition anytone_codeplug.hh:2017
@ CallTip
Send a call tip (?).
Definition anytone_codeplug.hh:2019
@ GroupCall
Perform a group call.
Definition anytone_codeplug.hh:2015
@ PrivateCall
Perform private call.
Definition anytone_codeplug.hh:2016
@ Off
Call disabled.
Definition anytone_codeplug.hh:2014
virtual unsigned contactIndex() const
If type is Type::Call, returns the contact index.
Definition anytone_codeplug.cc:2931
virtual void clearMessageIndex()
Clears the message index.
Definition anytone_codeplug.cc:2956
virtual CallType callType() const
If type returns Type::Call, returns the type of the call.
Definition anytone_codeplug.cc:2909
virtual void setMenuItem(MenuItem item)
Sets the menu item.
Definition anytone_codeplug.cc:2904
virtual bool hasContactIndex() const
Returns true if the contact index is set.
Definition anytone_codeplug.cc:2927
HotKeyElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2871
virtual void setCallType(CallType type)
Sets the call type.
Definition anytone_codeplug.cc:2913
CallType
Possible call types.
Definition anytone_codeplug.hh:2007
@ Digital
Perform a digital call.
Definition anytone_codeplug.hh:2009
@ Analog
Perform an analog call.
Definition anytone_codeplug.hh:2008
virtual unsigned messageIndex() const
Returns the message index.
Definition anytone_codeplug.cc:2948
virtual void setType(Type type)
Sets the type of the hot-key entry.
Definition anytone_codeplug.cc:2895
virtual MenuItem menuItem() const
If type returns Type::Menu, returns the menu item.
Definition anytone_codeplug.cc:2900
MenuItem
Possible menu items.
Definition anytone_codeplug.hh:1995
@ HotText
Send a hot-text.
Definition anytone_codeplug.hh:1998
@ Inbox
Show SMS inbox.
Definition anytone_codeplug.hh:1999
@ SMS
Show SMS menu.
Definition anytone_codeplug.hh:1996
@ ManualDial
Show manual dial.
Definition anytone_codeplug.hh:2002
@ NewSMS
Create new SMS.
Definition anytone_codeplug.hh:1997
@ Outbox
Show SMS outbox.
Definition anytone_codeplug.hh:2000
@ Contacts
Show contact list.
Definition anytone_codeplug.hh:2001
@ CallLog
Show call log.
Definition anytone_codeplug.hh:2003
virtual bool hasMessageIndex() const
Returns true if a message index is set.
Definition anytone_codeplug.cc:2944
virtual void setDigiCallType(DigiCallType type)
Sets the digital call type.
Definition anytone_codeplug.cc:2922
HotKeySettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2965
virtual uint8_t * hotKeySetting(unsigned int n) const
Returns a pointer to the n-th hot key setting.
Definition anytone_codeplug.cc:2985
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2978
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2115
virtual void setEncoded(unsigned int idx, bool enable)
Enables/disables the specified index.
Definition anytone_codeplug.cc:80
virtual bool isEncoded(unsigned int idx) const
Returns true if the given index is valid.
Definition anytone_codeplug.cc:73
virtual void enableFirst(unsigned int n)
Enables the first n elements.
Definition anytone_codeplug.cc:87
void clear()
Clears the bitmap, disables all channels.
Definition anytone_codeplug.cc:68
InvertedBytemapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:61
MessageBytemapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2728
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1828
MessageElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2698
virtual QString message() const
Returns the message text.
Definition anytone_codeplug.cc:2716
void clear()
Resets the message.
Definition anytone_codeplug.cc:2711
virtual void setMessage(const QString &msg)
Sets the message text.
Definition anytone_codeplug.cc:2720
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1790
virtual void setIndex(unsigned idx)
Sets the index of the message.
Definition anytone_codeplug.cc:2686
virtual bool hasIndex() const
Returns true if there is a message index.
Definition anytone_codeplug.cc:2678
virtual unsigned next() const
Returns the index of the next message in list.
Definition anytone_codeplug.cc:2665
virtual unsigned index() const
Returns the index of the message.
Definition anytone_codeplug.cc:2682
void clear()
Clears the message list item.
Definition anytone_codeplug.cc:2654
virtual void setNext(unsigned idx)
Sets the index of the next message in list.
Definition anytone_codeplug.cc:2669
MessageListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2641
virtual void clearNext()
Clears the next message index.
Definition anytone_codeplug.cc:2673
virtual bool hasNext() const
Returns true if there is a next message (EOL otherwise).
Definition anytone_codeplug.cc:2661
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1743
virtual void clearIndex()
Clears the index of the message.
Definition anytone_codeplug.cc:2690
virtual bool encode(const Flags &flags, Context &ctx, const ErrorStack &err)
Encodes default DMR id as primary DMR id.
Definition anytone_codeplug.cc:1542
virtual unsigned int number() const
Returns the DMR id.
Definition anytone_codeplug.cc:1510
virtual void setName(const QString &name)
Sets the primary radio name.
Definition anytone_codeplug.cc:1537
virtual bool decode(Context &ctx, const ErrorStack &err)
Decodes primary DMR id.
Definition anytone_codeplug.cc:1563
virtual bool link(Context &ctx, const ErrorStack &err)
Links primary DMR id as default DMR id.
Definition anytone_codeplug.cc:1570
PrimaryRadioIdElement(uint8_t *ptr)
Constructor.
Definition anytone_codeplug.cc:1493
virtual bool enabled() const
Returns true if the id is enabled.
Definition anytone_codeplug.cc:1521
void clear() override
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:1500
virtual QString name() const
Returns the primary radio name.
Definition anytone_codeplug.cc:1532
virtual void setNumber(unsigned int number)
Sets the DMR id.
Definition anytone_codeplug.cc:1515
bool isValid() const override
Returns true if the pointer is not null.
Definition anytone_codeplug.cc:1505
virtual void enable(bool enable)
Enables/disables primary DMR id.
Definition anytone_codeplug.cc:1526
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:874
RadioIDBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:1476
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:825
virtual bool fromRadioID(DMRRadioID *id)
Encodes the given RadioID.
Definition anytone_codeplug.cc:1466
virtual void setName(const QString &name)
Sets the name of the radio ID.
Definition anytone_codeplug.cc:1457
void clear()
Resets the radio ID.
Definition anytone_codeplug.cc:1440
RadioIDElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:1427
virtual DMRRadioID * toRadioID() const
Constructs a new radio id.
Definition anytone_codeplug.cc:1462
virtual void setNumber(unsigned number)
Sets the number of the radio ID.
Definition anytone_codeplug.cc:1448
virtual QString name() const
Returns the name of the radio ID.
Definition anytone_codeplug.cc:1453
virtual unsigned number() const
Returns the number of the radio ID.
Definition anytone_codeplug.cc:1444
virtual bool isSet(unsigned int n) const
Returns true, if the n-th offset frequency is set.
Definition anytone_codeplug.cc:2606
virtual Frequency offset(unsigned int n) const
Returns the n-th offset frequency.
Definition anytone_codeplug.cc:2613
virtual void setOffset(unsigned int n, Frequency freq)
Sets the n-th offset frequency.
Definition anytone_codeplug.cc:2623
RepeaterOffsetListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2586
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2599
virtual void clearOffset(unsigned int n)
Clears the n-th offset frequency.
Definition anytone_codeplug.cc:2631
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1697
ScanListBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:1411
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:806
virtual void setSecondarySelected()
Sets the secondary channel to be selected channel.
Definition anytone_codeplug.cc:1257
virtual Interval lookBackTimeA() const
Returns the look back time A in seconds.
Definition anytone_codeplug.cc:1266
virtual bool fromScanListObj(ScanList *lst, Context &ctx)
Constructs the binary representation from the give config.
Definition anytone_codeplug.cc:1371
virtual void setSecondary(unsigned idx)
Sets the secondary channel index.
Definition anytone_codeplug.cc:1253
virtual PriChannel priorityChannels() const
Returns the priority channel selection.
Definition anytone_codeplug.cc:1207
ScanListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:1179
virtual void setLookBackTimeA(const Interval &sec)
Sets the look back time A in seconds.
Definition anytone_codeplug.cc:1270
virtual QString name() const
Returns the name of the scan list.
Definition anytone_codeplug.cc:1310
virtual bool hasSecondary() const
Returns true if the secondary channel is set.
Definition anytone_codeplug.cc:1241
virtual bool hasPrimary() const
Returns true if the primary channel is set.
Definition anytone_codeplug.cc:1216
virtual void setDropOutDelay(const Interval &sec)
Sets the drop out delay in seconds.
Definition anytone_codeplug.cc:1287
virtual bool primaryIsSelected() const
Returns true if the primary channel is set to the selected channel.
Definition anytone_codeplug.cc:1220
virtual unsigned memberIndex(unsigned n) const
Returns the n-th member index.
Definition anytone_codeplug.cc:1323
virtual void setRevertChannel(RevertChannel type)
Sets the revert channel type.
Definition anytone_codeplug.cc:1305
virtual ScanList * toScanListObj() const
Constructs a ScanList object from this definition.
Definition anytone_codeplug.cc:1336
virtual void setPrimary(unsigned idx)
Sets the primary channel index.
Definition anytone_codeplug.cc:1228
virtual void setPrimarySelected()
Sets the primary channel to be selected channel.
Definition anytone_codeplug.cc:1232
virtual Interval dropOutDelay() const
Returns the drop out delay in seconds.
Definition anytone_codeplug.cc:1283
virtual unsigned primary() const
Returns the primary channel index.
Definition anytone_codeplug.cc:1224
PriChannel
Defines all possible priority channel selections.
Definition anytone_codeplug.hh:658
@ Primary
Priority Channel Select 1.
Definition anytone_codeplug.hh:660
@ Secondary
Priority Channel Select 2.
Definition anytone_codeplug.hh:661
@ Both
Priority Channel Select 1 + Priority Channel Select 2.
Definition anytone_codeplug.hh:662
@ Off
Off.
Definition anytone_codeplug.hh:659
virtual void setName(const QString &name)
Sets the name of the scan list.
Definition anytone_codeplug.cc:1314
virtual bool secondaryIsSelected() const
Returns true if the secondary channel is set to the selected channel.
Definition anytone_codeplug.cc:1245
virtual void setPriorityChannels(PriChannel sel)
Sets the priority channel selection.
Definition anytone_codeplug.cc:1211
virtual void clearSecondaryChannel()
Clears the secondary channel index.
Definition anytone_codeplug.cc:1261
virtual RevertChannel revertChannel() const
Returns the revert channel type.
Definition anytone_codeplug.cc:1301
virtual bool hasMemberIndex(unsigned n) const
Returns true if the n-th member index is set.
Definition anytone_codeplug.cc:1319
virtual void clearPrimaryChannel()
Clears the primary channel index.
Definition anytone_codeplug.cc:1236
virtual void setDwellTime(const Interval &sec)
Sets the dwell time in seconds.
Definition anytone_codeplug.cc:1296
RevertChannel
Defines all possible reply channel selections.
Definition anytone_codeplug.hh:666
@ SecondaryActive
Secondary + active channel.
Definition anytone_codeplug.hh:674
@ PrimaryActive
Primary + active channel.
Definition anytone_codeplug.hh:673
@ SelectedActive
Selected + active channel.
Definition anytone_codeplug.hh:668
@ LastUsed
Last Used.
Definition anytone_codeplug.hh:672
@ Selected
Selected channel.
Definition anytone_codeplug.hh:667
@ LastCalled
Last Called.
Definition anytone_codeplug.hh:671
void clear()
Resets the scan list.
Definition anytone_codeplug.cc:1192
virtual void setLookBackTimeB(const Interval &sec)
Sets the look back time B in seconds.
Definition anytone_codeplug.cc:1278
virtual void setMemberIndex(unsigned n, unsigned idx)
Sets the n-th member index.
Definition anytone_codeplug.cc:1327
virtual Interval lookBackTimeB() const
Returns the look back time B in seconds.
Definition anytone_codeplug.cc:1274
virtual Interval dwellTime() const
Returns the dwell time in seconds.
Definition anytone_codeplug.cc:1292
virtual void clearMemberIndex(unsigned n)
Clears the n-th member index.
Definition anytone_codeplug.cc:1331
virtual unsigned secondary() const
Returns the secondary channel index.
Definition anytone_codeplug.cc:1249
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:1341
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:686
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1977
StatusMessageBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2855
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1939
virtual QString message(unsigned int n) const
Returns the n-th status message.
Definition anytone_codeplug.cc:2839
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2834
StatusMessagesElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2821
virtual void setMessage(unsigned int n, const QString &msg)
Sets the n-th status message.
Definition anytone_codeplug.cc:2845
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2943
TwoToneFunctionBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3931
virtual Response response() const
Returns the response.
Definition anytone_codeplug.cc:3910
virtual void setSecondTone(double f)
Sets the second tone of the sequence.
Definition anytone_codeplug.cc:3905
virtual void setFirstTone(double f)
Sets the first tone of the sequence.
Definition anytone_codeplug.cc:3896
Response
Possible responses to a decode.
Definition anytone_codeplug.hh:2875
void clear()
Resets the function.
Definition anytone_codeplug.cc:3887
virtual void setResponse(Response resp)
Sets the response.
Definition anytone_codeplug.cc:3914
virtual QString name() const
Returns the name of the function.
Definition anytone_codeplug.cc:3919
virtual double secondTone() const
Returns the second tone of the sequence.
Definition anytone_codeplug.cc:3901
virtual void setName(const QString &name)
Sets the name of the function.
Definition anytone_codeplug.cc:3923
TwoToneFunctionElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3874
virtual double firstTone() const
Returns the first tone of the sequence.
Definition anytone_codeplug.cc:3892
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2888
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2864
TwoToneIDBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3858
virtual void setSecondTone(double f)
Sets the second tone of the sequence.
Definition anytone_codeplug.cc:3841
virtual QString name() const
Returns the name of the function.
Definition anytone_codeplug.cc:3846
void clear()
Resets the ID.
Definition anytone_codeplug.cc:3823
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2815
virtual void setFirstTone(double f)
Sets the first tone of the sequence.
Definition anytone_codeplug.cc:3832
virtual double firstTone() const
Returns the first tone of the sequence.
Definition anytone_codeplug.cc:3828
virtual void setName(const QString &name)
Sets the name of the function.
Definition anytone_codeplug.cc:3850
TwoToneIDElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3810
virtual double secondTone() const
Returns the second tone of the sequence.
Definition anytone_codeplug.cc:3837
virtual void setAutoResetTime(const Interval &sec)
Sets the auto-reset time in seconds.
Definition anytone_codeplug.cc:4005
virtual Interval autoResetTime() const
Returns the auto-reset time in seconds.
Definition anytone_codeplug.cc:4001
virtual bool sidetone() const
Returns true if the sidetone is enabled.
Definition anytone_codeplug.cc:4010
virtual void setFirstToneDuration(const Interval &ms)
Sets the first tone duration in ms.
Definition anytone_codeplug.cc:3969
virtual void enableSidetone(bool enable)
Enables/disables the sidetone.
Definition anytone_codeplug.cc:4014
virtual void setGapDuration(const Interval &ms)
Sets the gap duration in ms.
Definition anytone_codeplug.cc:3996
TwoToneSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3947
virtual Interval gapDuration() const
Returns the gap duration in ms.
Definition anytone_codeplug.cc:3992
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2961
virtual void setLongToneDuration(const Interval &ms)
Sets the long tone duration in ms.
Definition anytone_codeplug.cc:3987
virtual Interval longToneDuration() const
Returns the long tone duration in ms.
Definition anytone_codeplug.cc:3983
virtual Interval secondToneDuration() const
Returns the second tone duration in ms.
Definition anytone_codeplug.cc:3974
void clear()
Resets the settings.
Definition anytone_codeplug.cc:3960
virtual Interval firstToneDuration() const
Returns the first tone duration in ms.
Definition anytone_codeplug.cc:3965
virtual void setSecondToneDuration(const Interval &ms)
Sets the second tone duration in ms.
Definition anytone_codeplug.cc:3978
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3248
WFMChannelBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4327
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3208
virtual void clearChannel(unsigned int n)
Clears the n-th channel frequency.
Definition anytone_codeplug.cc:4317
WFMChannelListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4278
virtual void setChannel(unsigned int n, Frequency freq)
Sets the n-th channel frequency.
Definition anytone_codeplug.cc:4310
virtual Frequency channel(unsigned int n) const
Returns the n-th channel frequency.
Definition anytone_codeplug.cc:4303
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4291
virtual bool hasChannel(unsigned int n) const
Returns true, if the n-th channel is set.
Definition anytone_codeplug.cc:4296
virtual Frequency frequency() const
Returns the VFO frequency.
Definition anytone_codeplug.cc:4362
WFMVFOElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4343
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4356
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3263
virtual void setFrequency(Frequency freq)
Sets the VFO frequency.
Definition anytone_codeplug.cc:4367
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1438
ZoneBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2149
virtual unsigned channelIndexA(unsigned n) const
Returns the channel index (0-based) for VFO A for the n-th zone.
Definition anytone_codeplug.cc:2116
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:2137
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:2129
void clear()
Resets the zone channel list.
Definition anytone_codeplug.cc:2105
ZoneChannelListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2092
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:2112
virtual void clearChannelIndexA(unsigned n)
Clears the channel index (0-based) for VFO A for the n-th zone.
Definition anytone_codeplug.cc:2124
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1385
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:2120
virtual void clearChannelIndexB(unsigned n)
Clears the channel index (0-based) for VFO B for the n-th zone.
Definition anytone_codeplug.cc:2141
virtual unsigned channelIndexB(unsigned n) const
Returns the channel index (0-based) for VFO B for the n-th zone.
Definition anytone_codeplug.cc:2133
AnytoneCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition anytone_codeplug.cc:4519
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:4700
virtual void clear()
Clears and resets the complete codeplug to some default values.
Definition anytone_codeplug.cc:4530
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:4525
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:4683
Config * preprocess(Config *config, const ErrorStack &err) const
Returns a prepared configuration for this particular radio.
Definition anytone_codeplug.cc:4656
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:4640
bool decode(Config *config, const ErrorStack &err)
Decodes a binary codeplug to the given abstract configuration config.
Definition anytone_codeplug.cc:4730
virtual bool allocateBitmaps()=0
Allocates the bitmaps.
QString _label
Holds the image label.
Definition anytone_codeplug.hh:3447
virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition anytone_codeplug.cc:4541
AlertType
Possible ring-tone types.
Definition anytone_extension.hh:282
SquelchMode
Possible squelch mode settings.
Definition anytone_extension.hh:149
KeyFunction
All possible key functions.
Definition anytone_settingsextension.hh:201
VFOScanType
Encodes the possible VFO scan types.
Definition anytone_settingsextension.hh:1918
Represents a DMR (basic) encryption key.
Definition encryptionextension.hh:47
BootDisplay
What to display during boot.
Definition bootsettings.hh:50
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:38
Power
Specifies the prefix for every ID assigned to every channel during serialization.
Definition channel.hh:65
BitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition codeplug.cc:692
Base class for all codeplug contexts.
Definition codeplug.hh:331
Element(uint8_t *ptr, size_t size)
Hidden constructor.
Definition codeplug.cc:56
Certain flags passed to CodePlug::encode to control the transfer and encoding of the codeplug.
Definition codeplug.hh:24
InvertedBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition codeplug.cc:732
Codeplug(QObject *parent=nullptr)
Hidden default constructor.
Definition codeplug.cc:872
The config class, representing the codeplug configuration.
Definition config.hh:70
uint32_t size() const
Returns the total size of the DFU file.
Definition dfufile.cc:52
TimeSlot
Possible timeslots for digital channels.
Definition channel.hh:448
Represents a digital contact, that is a DMR number.
Definition contact.hh:141
Type
Possible call types for a contact.
Definition contact.hh:155
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:288
Represents a time interval.
Definition interval.hh:11
Some simple class implementing a [1-10] level setting.
Definition level.hh:15
A config item that encodes a melody.
Definition melody.hh:20
Generic representation of a RX group list.
Definition rxgrouplist.hh:14
Represents the common radio-global settings.
Definition radiosettings.hh:20
Generic representation of a scan list.
Definition scanlist.hh:15
Some internal offsets within element.
Definition anytone_codeplug.hh:2229
Internal offsets within element.
Definition anytone_codeplug.hh:2330
Internal offsets within the element.
Definition anytone_codeplug.hh:2368
Some internal offsets.
Definition anytone_codeplug.hh:1876
Some limits for the quick calls.
Definition anytone_codeplug.hh:1910
static constexpr unsigned int numEntries()
The maximum number of quick-call entries.
Definition anytone_codeplug.hh:1911
Some offsets within the element.
Definition anytone_codeplug.hh:1916
Some limits for boot settings.
Definition anytone_codeplug.hh:1499
static constexpr unsigned int passwordLength()
Maximum password length.
Definition anytone_codeplug.hh:1503
static constexpr unsigned int introLineLength()
Maximum intro line length.
Definition anytone_codeplug.hh:1501
Some internal offsets within element.
Definition anytone_codeplug.hh:1508
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:347
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:349
Internal used offsets within the channel element.
Definition anytone_codeplug.hh:354
Some limits for the contact.
Definition anytone_codeplug.hh:464
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:466
Internal offsets within the element.
Definition anytone_codeplug.hh:471
Some internal offsets.
Definition anytone_codeplug.hh:3390
Some limits for the message.
Definition anytone_codeplug.hh:1669
static constexpr unsigned int length()
Maximum message length.
Definition anytone_codeplug.hh:1670
Some internal used offset.
Definition anytone_codeplug.hh:1675
Internal offsets within element.
Definition anytone_codeplug.hh:1617
Some limits for the list.
Definition anytone_codeplug.hh:3301
static constexpr unsigned int numEntries()
Maximum number of DMR encryption key IDs.
Definition anytone_codeplug.hh:3302
Some internal used offsets within the element.
Definition anytone_codeplug.hh:3307
Some limits for the element.
Definition anytone_codeplug.hh:536
static constexpr unsigned int digitCount()
The max number of digits.
Definition anytone_codeplug.hh:537
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:538
Internal used offsets within the codeplug.
Definition anytone_codeplug.hh:543
Some limits of the list.
Definition anytone_codeplug.hh:3186
static constexpr unsigned int numberLength()
The maximum length of the numbers.
Definition anytone_codeplug.hh:3188
static constexpr unsigned int numEntries()
The maximum number of entries in the list.
Definition anytone_codeplug.hh:3187
Some limits for the settings.
Definition anytone_codeplug.hh:3119
static constexpr unsigned int remoteKillIdLength()
Maximum remote kill ID length.
Definition anytone_codeplug.hh:3127
static constexpr unsigned int remteStunIdLength()
Maximum remote stun ID length.
Definition anytone_codeplug.hh:3129
static constexpr unsigned int idLength()
Maximum ID length.
Definition anytone_codeplug.hh:3121
static constexpr unsigned int eotIdLength()
Maximum EOT ID length.
Definition anytone_codeplug.hh:3125
static constexpr unsigned int botIdLength()
Maximum BOT ID length.
Definition anytone_codeplug.hh:3123
Some internal offsets.
Definition anytone_codeplug.hh:3134
Internal used offsets within the element.
Definition anytone_codeplug.hh:2409
Some limits of the list.
Definition anytone_codeplug.hh:3340
static constexpr unsigned numEntries()
Maximum number of keys.
Definition anytone_codeplug.hh:3341
Some offsets within the element.
Definition anytone_codeplug.hh:3346
Some limits for the function element.
Definition anytone_codeplug.hh:2584
static constexpr unsigned int idLength()
Maximum name length.
Definition anytone_codeplug.hh:2586
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2588
Some internal offsets.
Definition anytone_codeplug.hh:2593
Some limits for the list.
Definition anytone_codeplug.hh:2628
static constexpr unsigned int numFunctions()
The max number of functions.
Definition anytone_codeplug.hh:2629
Some limits of the element.
Definition anytone_codeplug.hh:2467
static constexpr unsigned int idLength()
Maximum ID length.
Definition anytone_codeplug.hh:2469
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2471
Some internal offsets within element.
Definition anytone_codeplug.hh:2476
Some limits for the list.
Definition anytone_codeplug.hh:2526
static constexpr unsigned int numEntries()
Maximum number of entries.
Definition anytone_codeplug.hh:2527
Some limits for the settings.
Definition anytone_codeplug.hh:2759
static constexpr unsigned int idLength()
Maximum ID length.
Definition anytone_codeplug.hh:2761
static constexpr unsigned int botIdLength()
Maximum BOT ID length.
Definition anytone_codeplug.hh:2763
static constexpr unsigned int eotIdLength()
Maximum EOT ID length.
Definition anytone_codeplug.hh:2765
Some internal offsets.
Definition anytone_codeplug.hh:2770
Internal used offsets within the element.
Definition anytone_codeplug.hh:1318
Some limits for the group list.
Definition anytone_codeplug.hh:616
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:620
static constexpr unsigned int members()
Maximum number of members.
Definition anytone_codeplug.hh:618
Internal offsets within element.
Definition anytone_codeplug.hh:625
Some internal offsets within element.
Definition anytone_codeplug.hh:2085
Some limits for this element.
Definition anytone_codeplug.hh:2124
static constexpr unsigned int numEntries()
Maximum number of hot-key entries.
Definition anytone_codeplug.hh:2125
Some internal offsets within the element.
Definition anytone_codeplug.hh:2130
Some limits for the message.
Definition anytone_codeplug.hh:1802
static constexpr unsigned int messageLength()
Maximum message length.
Definition anytone_codeplug.hh:1804
Some internal offsets.
Definition anytone_codeplug.hh:1809
Some internal offsets.
Definition anytone_codeplug.hh:1768
Some limits for the primary DMR id.
Definition anytone_codeplug.hh:915
static constexpr unsigned int name()
Maximum name length.
Definition anytone_codeplug.hh:917
Some internal offsets.
Definition anytone_codeplug.hh:922
Some limits for the radio ID element.
Definition anytone_codeplug.hh:847
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:849
Some internal offsets within element.
Definition anytone_codeplug.hh:854
Some limits for the offset frequency table.
Definition anytone_codeplug.hh:1712
static constexpr unsigned int numEntries()
Max number of entries in the table.
Definition anytone_codeplug.hh:1713
Some internal used offsets.
Definition anytone_codeplug.hh:1718
Some limits for the scan list.
Definition anytone_codeplug.hh:768
static constexpr unsigned int members()
Maximum number of members.
Definition anytone_codeplug.hh:770
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:772
Some internal offsets within the element.
Definition anytone_codeplug.hh:777
Some limits.
Definition anytone_codeplug.hh:1950
static constexpr unsigned int numMessages()
Maximum number of messages.
Definition anytone_codeplug.hh:1951
static constexpr unsigned int messageLength()
Maximum length of the messages.
Definition anytone_codeplug.hh:1952
Some internal offsets.
Definition anytone_codeplug.hh:1957
Some limits of the element.
Definition anytone_codeplug.hh:2915
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2916
Some internal offsets within the element.
Definition anytone_codeplug.hh:2921
Some limits for the element.
Definition anytone_codeplug.hh:2837
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2838
Some internal offsets within the element.
Definition anytone_codeplug.hh:2843
Internal offsets.
Definition anytone_codeplug.hh:2998
Some limits for the channel list.
Definition anytone_codeplug.hh:3223
static constexpr unsigned int numEntries()
Maximum number of channels in the list.
Definition anytone_codeplug.hh:3224
Some internal offsets within the element.
Definition anytone_codeplug.hh:3229
Some limits for the channel lists.
Definition anytone_codeplug.hh:1410
static constexpr unsigned int zones()
Maximum number of channels per VFO.
Definition anytone_codeplug.hh:1412
Internal offsets within element.
Definition anytone_codeplug.hh:1417
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:107
Encodes a selective call.
Definition signaling.hh:13