libdrmconf 0.15.0
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
1447 {
1448 protected:
1450 BootSettingsElement(uint8_t *ptr, unsigned size);
1451
1452 public:
1454 BootSettingsElement(uint8_t *ptr);
1455
1457 static constexpr unsigned int size() { return 0x0030; }
1458
1460 void clear();
1461
1463 virtual QString introLine1() const;
1465 virtual void setIntroLine1(const QString &txt);
1467 virtual QString introLine2() const;
1469 virtual void setIntroLine2(const QString &txt);
1470
1472 virtual QString password() const;
1474 virtual void setPassword(const QString &txt);
1475
1477 virtual bool fromConfig(const Flags &flags, Context &ctx);
1479 virtual bool updateConfig(Context &ctx);
1480
1481 public:
1483 struct Limit: public Element::Limit {
1485 static constexpr unsigned int introLineLength() { return 16; }
1487 static constexpr unsigned int passwordLength() { return 8; }
1488 };
1489
1490 protected:
1492 struct Offset: public Element::Offset {
1494 static constexpr unsigned int introLine1() { return 0x0000; }
1495 static constexpr unsigned int introLine2() { return 0x0010; }
1496 static constexpr unsigned int password() { return 0x0020; }
1498 };
1499 };
1500
1501
1507 {
1508 protected:
1510 DMRAPRSSettingsElement(uint8_t *ptr, unsigned size);
1511
1512 public:
1514 explicit DMRAPRSSettingsElement(uint8_t *ptr);
1515
1517 static constexpr unsigned int size() { return 0x0030; }
1518
1520 void clear();
1521
1523 virtual Interval manualInterval() const;
1525 virtual void setManualInterval(const Interval& sec);
1526
1528 virtual bool automatic() const;
1530 virtual Interval automaticInterval() const;
1532 virtual void setAutomaticInterval(const Interval& sec);
1534 virtual void disableAutomatic();
1535
1537 virtual bool fixedLocation() const;
1539 virtual QGeoCoordinate location() const;
1541 virtual void setLocation(const QGeoCoordinate &pos);
1543 virtual void enableFixedLocation(bool enable);
1544
1546 virtual Channel::Power power() const;
1548 virtual void setPower(Channel::Power power);
1549
1551 virtual bool hasChannel(unsigned n) const;
1553 virtual bool channelIsVFOA(unsigned n) const;
1555 virtual bool channelIsVFOB(unsigned n) const;
1557 virtual bool channelIsSelected(unsigned n) const;
1559 virtual unsigned channelIndex(unsigned n) const;
1561 virtual void setChannelIndex(unsigned n, unsigned idx);
1563 virtual void setChannelVFOA(unsigned n);
1565 virtual void setChannelVFOB(unsigned n);
1567 virtual void setChannelSelected(unsigned n);
1569 virtual void clearChannel(unsigned n);
1570
1572 virtual unsigned destination() const;
1574 virtual void setDestination(unsigned id);
1575
1577 virtual DMRContact::Type callType() const;
1579 virtual void setCallType(DMRContact::Type type);
1580
1582 virtual bool timeSlotOverride() const;
1584 virtual DMRChannel::TimeSlot timeslot() const;
1586 virtual void overrideTimeSlot(DMRChannel::TimeSlot ts);
1588 virtual void disableTimeSlotOverride();
1589
1591 virtual bool fromConfig(const Flags &flags, Context &ctx);
1593 virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1595 virtual bool createGPSSystem(uint8_t i, Context &ctx);
1597 virtual bool linkGPSSystem(uint8_t i, Context &ctx);
1598
1599 protected:
1601 struct Offset: public Element::Offset {
1603 static constexpr unsigned int manualInterval() { return 0x0000; }
1604 static constexpr unsigned int automaticInterval() { return 0x0001; }
1605 static constexpr unsigned int fixedLocation() { return 0x0002; }
1606 static constexpr unsigned int latitudeDeg() { return 0x0003; }
1607 static constexpr unsigned int latitudeMin() { return 0x0004; }
1608 static constexpr unsigned int latitudeSec() { return 0x0005; }
1609 static constexpr unsigned int latitudeHemi() { return 0x0006; }
1610 static constexpr unsigned int longitudeDeg() { return 0x0007; }
1611 static constexpr unsigned int longitudeMin() { return 0x0008; }
1612 static constexpr unsigned int longitudeSec() { return 0x0009; }
1613 static constexpr unsigned int longitudeHemi() { return 0x000a; }
1614 static constexpr unsigned int power() { return 0x000b; }
1615 static constexpr unsigned int channelIndices() { return 0x000c; }
1616 static constexpr unsigned int betweenChannelIndices() { return 0x0002; }
1617 static constexpr unsigned int destinationId() { return 0x001c; }
1618 static constexpr unsigned int callType() { return 0x0020; }
1619 static constexpr unsigned int timeSlot() { return 0x0021; }
1621 };
1622 };
1623
1624
1627 {
1628 protected:
1630 DMRAPRSMessageElement(uint8_t *ptr, size_t size);
1631
1632 public:
1634 DMRAPRSMessageElement(uint8_t *ptr);
1635
1637 static constexpr unsigned int size() { return 0x0030; }
1638
1639 void clear();
1640
1642 virtual QString message() const;
1644 void setMessage(const QString &message);
1645
1647 virtual bool fromConfig(Codeplug::Flags flags, Context &ctx);
1649 virtual bool updateConfig(Context &ctx) const;
1650
1651 public:
1653 struct Limit {
1654 static constexpr unsigned int length() { return 32; }
1655 };
1656
1657 protected:
1659 struct Offset {
1661 static constexpr unsigned int message() { return 0x0000; }
1663 };
1664 };
1665
1671 {
1672 protected:
1674 RepeaterOffsetListElement(uint8_t *ptr, size_t size);
1675
1676 public:
1678 explicit RepeaterOffsetListElement(uint8_t *ptr);
1679
1681 static constexpr unsigned int size() { return 0x03f0; }
1682
1683 void clear();
1684
1686 virtual bool isSet(unsigned int n) const;
1688 virtual Frequency offset(unsigned int n) const;
1690 virtual void setOffset(unsigned int n, Frequency freq);
1692 virtual void clearOffset(unsigned int n);
1693
1694 public:
1696 struct Limit {
1697 static constexpr unsigned int numEntries() { return 250; }
1698 };
1699
1700 protected:
1702 struct Offset {
1704 static constexpr unsigned int frequencies() { return 0x0000; }
1705 static constexpr unsigned int betweenFrequencies() { return sizeof(uint32_t); }
1707 };
1708 };
1709
1717 {
1718 protected:
1720 MessageListElement(uint8_t *ptr, unsigned size);
1721
1722 public:
1724 explicit MessageListElement(uint8_t *ptr);
1725
1727 static constexpr unsigned int size() { return 0x0010; }
1728
1730 void clear();
1731
1733 virtual bool hasNext() const;
1735 virtual unsigned next() const;
1737 virtual void setNext(unsigned idx);
1739 virtual void clearNext();
1740
1742 virtual bool hasIndex() const;
1744 virtual unsigned index() const;
1746 virtual void setIndex(unsigned idx);
1748 virtual void clearIndex();
1749
1750 protected:
1752 struct Offset: public Element::Offset {
1753 static constexpr unsigned int next() { return 0x0002; }
1754 static constexpr unsigned int index() { return 0x0003; }
1755 };
1756 };
1757
1758
1764 {
1765 protected:
1767 MessageElement(uint8_t *ptr, unsigned size);
1768
1769 public:
1771 MessageElement(uint8_t *ptr);
1772
1774 static constexpr unsigned int size() { return 0x0100; }
1775
1777 void clear();
1778
1780 virtual QString message() const;
1782 virtual void setMessage(const QString &msg);
1783
1784 public:
1786 struct Limit: public Element::Limit {
1788 static constexpr unsigned int messageLength() { return 99; }
1789 };
1790
1791 protected:
1793 struct Offset: public Element::Offset {
1795 static constexpr unsigned int message() { return 0x0000; }
1797 };
1798 };
1799
1802 {
1803 protected:
1805 MessageBytemapElement(uint8_t *ptr, size_t size);
1806
1807 public:
1809 MessageBytemapElement(uint8_t *ptr);
1810
1812 static constexpr unsigned int size() { return 0x0090; }
1813 };
1814
1820 {
1821 public:
1823 enum class Type {
1824 None = 0,
1825 DTMF = 1,
1828 };
1829
1830 protected:
1832 AnalogQuickCallElement(uint8_t *ptr, unsigned size);
1833
1834 public:
1836 explicit AnalogQuickCallElement(uint8_t *ptr);
1837
1839 static constexpr unsigned int size() { return 0x0002; }
1840
1842 void clear();
1843
1845 virtual Type type() const;
1847 virtual void setType(Type type);
1848
1850 virtual bool hasContactIndex() const;
1852 virtual unsigned contactIndex() const;
1854 virtual void setContactIndex(unsigned idx);
1856 virtual void clearContactIndex();
1857
1858 protected:
1860 struct Offset: public Element::Offset {
1862 static constexpr unsigned int type() { return 0x0000; }
1863 static constexpr unsigned int contactIndex() { return 0x0001; }
1865 };
1866 };
1867
1868
1874 {
1875 protected:
1877 AnalogQuickCallsElement(uint8_t *ptr, size_t size);
1878
1879 public:
1881 AnalogQuickCallsElement(uint8_t *ptr);
1882
1884 static constexpr unsigned int size() { return 0x0100; }
1885
1887 void clear();
1888
1890 uint8_t *quickCall(unsigned int n) const;
1891
1892 public:
1894 struct Limit {
1895 static constexpr unsigned int numEntries() { return 4; }
1896 };
1897
1898 protected:
1900 struct Offset {
1902 static constexpr unsigned int quickCalls() { return 0x0000; }
1904 };
1905 };
1906
1907
1913 {
1914 protected:
1916 StatusMessagesElement(uint8_t *ptr, size_t size);
1917
1918 public:
1920 StatusMessagesElement(uint8_t *ptr);
1921
1923 static constexpr unsigned int size() { return 0x0400; }
1924
1925 void clear();
1926
1928 virtual QString message(unsigned int n) const;
1930 virtual void setMessage(unsigned int n, const QString &msg);
1931
1932 public:
1934 struct Limit {
1935 static constexpr unsigned int numMessages() { return 32; }
1936 static constexpr unsigned int messageLength() { return 32; }
1937 };
1938
1939 protected:
1941 struct Offset {
1943 static constexpr unsigned int messages() { return 0x0000; }
1944 static constexpr unsigned int betweenMessages() { return 0x0020; }
1946 };
1947 };
1948
1951 {
1952 protected:
1954 StatusMessageBitmapElement(uint8_t *ptr, size_t size);
1955
1956 public:
1958 StatusMessageBitmapElement(uint8_t *ptr);
1959
1961 static constexpr unsigned int size() { return 0x0010; }
1962 };
1963
1964
1970 {
1971 public:
1973 enum class Type {
1974 Call = 0,
1975 Menu = 1
1976 };
1977
1979 enum class MenuItem {
1980 SMS = 1,
1983 Inbox = 4,
1988 };
1989
1991 enum class CallType {
1994 };
1995
2006
2007 protected:
2009 HotKeyElement(uint8_t *ptr, unsigned size);
2010
2011 public:
2013 explicit HotKeyElement(uint8_t *ptr);
2014
2016 static constexpr unsigned int size() { return 0x0030; }
2017
2019 void clear();
2020
2022 virtual Type type() const;
2024 virtual void setType(Type type);
2025
2027 virtual MenuItem menuItem() const;
2030 virtual void setMenuItem(MenuItem item);
2031
2033 virtual CallType callType() const;
2036 virtual void setCallType(CallType type);
2037
2040 virtual DigiCallType digiCallType() const;
2043 virtual void setDigiCallType(DigiCallType type);
2044
2046 virtual bool hasContactIndex() const;
2050 virtual unsigned contactIndex() const;
2053 virtual void setContactIndex(unsigned idx);
2055 virtual void clearContactIndex();
2056
2058 virtual bool hasMessageIndex() const;
2061 virtual unsigned messageIndex() const;
2063 virtual void setMessageIndex(unsigned idx);
2065 virtual void clearMessageIndex();
2066
2067 protected:
2069 struct Offset: public Element::Offset {
2071 static constexpr unsigned int type() { return 0x0000; }
2072 static constexpr unsigned int menuItem() { return 0x0001; }
2073 static constexpr unsigned int callType() { return 0x0002; }
2074 static constexpr unsigned int digiCallType() { return 0x0003; }
2075 static constexpr unsigned int contactIndex() { return 0x0004; }
2076 static constexpr unsigned int messageIndex() { return 0x0008; }
2078 };
2079 };
2080
2081
2089 {
2090 protected:
2092 HotKeySettingsElement(uint8_t *ptr, size_t size);
2093
2094 public:
2096 HotKeySettingsElement(uint8_t *ptr);
2097
2099 static constexpr unsigned int size() { return 0x0360; }
2100
2101 void clear();
2102
2104 virtual uint8_t *hotKeySetting(unsigned int n) const;
2105
2106 public:
2108 struct Limit {
2109 static constexpr unsigned int numEntries() { return 18; }
2110 };
2111
2112 protected:
2114 struct Offset {
2116 static constexpr unsigned int hotKeySettings() { return 0x0000; }
2117 static constexpr unsigned int betweenHotKeySettings() { return HotKeySettingsElement::size(); }
2119 };
2120 };
2121
2127 {
2128 public:
2133 class AnalogAlarm: public Element
2134 {
2135 public:
2137 enum class Action {
2138 None = 0,
2141 Both = 3,
2142 };
2143
2145 enum class ENIType {
2146 None = 0,
2147 DTMF = 1,
2149 };
2150
2151 protected:
2153 AnalogAlarm(uint8_t *ptr, unsigned size);
2154
2155 public:
2157 AnalogAlarm(uint8_t *ptr);
2158
2160 static constexpr unsigned int size() { return 0x000a; }
2161
2163 void clear();
2164
2166 virtual Action action() const;
2168 virtual void setAction(Action action);
2169
2171 virtual ENIType encodingType() const;
2173 virtual void setEncodingType(ENIType type);
2174
2176 virtual unsigned emergencyIndex() const;
2178 virtual void setEmergencyIndex(unsigned idx);
2179
2181 virtual Interval duration() const;
2183 virtual void setDuration(const Interval &sec);
2185 virtual Interval txDuration() const;
2187 virtual void setTXDuration(const Interval &sec);
2189 virtual Interval rxDuration() const;
2191 virtual void setRXDuration(const Interval &sec);
2192
2194 virtual bool channelIsSelected() const;
2196 virtual unsigned channelIndex() const;
2198 virtual void setChannelIndex(unsigned idx);
2200 virtual void setChannelSelected();
2201
2203 virtual bool repeatContinuously() const;
2205 virtual unsigned repetitions() const;
2207 virtual void setRepetitions(unsigned num);
2209 virtual void setRepatContinuously();
2210
2211 protected:
2213 struct Offset: public Element::Offset {
2215 static constexpr unsigned int action() { return 0x0000; }
2216 static constexpr unsigned int encodingType() { return 0x0001; }
2217 static constexpr unsigned int emergencyIndex() { return 0x0002; }
2218 static constexpr unsigned int duration() { return 0x0003; }
2219 static constexpr unsigned int txDuration() { return 0x0004; }
2220 static constexpr unsigned int rxDuration() { return 0x0005; }
2221 static constexpr unsigned int channelIndex() { return 0x0006; }
2222 static constexpr unsigned int channelIsSelected() { return 0x0008; }
2223 static constexpr unsigned int repetitions() { return 0x0009; }
2225 };
2226 };
2227
2228
2233 class DigitalAlarm: public Element
2234 {
2235 public:
2237 enum class Action {
2238 None = 0,
2241 Local = 3,
2242 };
2243
2244 protected:
2246 DigitalAlarm(uint8_t *ptr, unsigned size);
2247
2248 public:
2250 explicit DigitalAlarm(uint8_t *ptr);
2251
2253 static constexpr unsigned int size() { return 0x000c; }
2254
2256 void clear();
2257
2259 virtual Action action() const;
2261 virtual void setAction(Action action);
2262
2264 virtual Interval duration() const;
2266 virtual void setDuration(const Interval &sec);
2268 virtual Interval txDuration() const;
2270 virtual void setTXDuration(const Interval &sec);
2272 virtual Interval rxDuration() const;
2274 virtual void setRXDuration(const Interval &sec);
2275
2277 virtual bool channelIsSelected() const;
2279 virtual unsigned channelIndex() const;
2281 virtual void setChannelIndex(unsigned idx);
2283 virtual void setChannelSelected();
2284
2286 virtual bool repeatContinuously() const;
2288 virtual unsigned repetitions() const;
2290 virtual void setRepetitions(unsigned num);
2292 virtual void setRepatContinuously();
2293
2295 virtual Interval voiceBroadcastDuration() const;
2297 virtual void setVoiceBroadcastDuration(const Interval &min);
2299 virtual Interval areaBroadcastDuration() const;
2301 virtual void setAreaBroadcastDuration(const Interval &min);
2302
2304 virtual bool vox() const;
2306 virtual void enableVOX(bool enable);
2308 virtual bool rxAlarm() const;
2310 virtual void enableRXAlarm(bool enable);
2311
2312 protected:
2314 struct Offset: public Element::Offset {
2316 static constexpr unsigned int action() { return 0x0000; }
2317 static constexpr unsigned int duration() { return 0x0001; }
2318 static constexpr unsigned int txDuration() { return 0x0002; }
2319 static constexpr unsigned int rxDuration() { return 0x0003; }
2320 static constexpr unsigned int channelIndex() { return 0x0004; }
2321 static constexpr unsigned int channelIsSelected() { return 0x0006; }
2322 static constexpr unsigned int repetitions() { return 0x0007; }
2323 static constexpr unsigned int voiceBroadcastDuration() { return 0x0008; }
2324 static constexpr unsigned int areaBroadcastDuration() { return 0x0009; }
2325 static constexpr unsigned int vox() { return 0x000a; }
2326 static constexpr unsigned int rxAlarm() { return 0x000b; }
2328 };
2329 };
2330
2331 protected:
2333 AlarmSettingElement(uint8_t *ptr, unsigned size);
2334
2335 public:
2337 AlarmSettingElement(uint8_t *ptr);
2338
2340 static constexpr unsigned int size() { return 0x0020; }
2341
2343 void clear();
2344
2346 virtual uint8_t *analog() const;
2348 virtual uint8_t *digital() const;
2349
2350 protected:
2352 struct Offset {
2354 static constexpr unsigned int analog() { return 0x0000; }
2355 static constexpr unsigned int digital() { return 0x000a; }
2357 };
2358 };
2359
2360
2366 {
2367 protected:
2369 DigitalAlarmExtensionElement(uint8_t *ptr, unsigned size);
2370
2371 public:
2373 DigitalAlarmExtensionElement(uint8_t *ptr);
2374
2376 static constexpr unsigned int size() { return 0x0030; }
2377
2379 void clear();
2380
2382 virtual DMRContact::Type callType() const;
2384 virtual void setCallType(DMRContact::Type type);
2385
2387 virtual unsigned destination() const;
2389 virtual void setDestination(unsigned number);
2390
2391 protected:
2393 struct Offset {
2395 static constexpr unsigned int callType() { return 0x0000; }
2396 static constexpr unsigned int destination() { return 0x0023; }
2398 };
2399 };
2400
2401
2407 {
2408 public:
2410 enum class Standard {
2411 ZVEI1 = 0, ZVEI2, ZVEI3, PZVEI, DZVEI, PDZVEI, CCIR1, CCIR2, PCCIR, EEA, EuroSignal, NATEL,
2412 MODAT, CCITT, EIA
2413 };
2414
2415 protected:
2417 FiveToneIDElement(uint8_t *ptr, unsigned size);
2418
2419 public:
2421 FiveToneIDElement(uint8_t *ptr);
2422
2424 static constexpr unsigned int size() { return 0x0020; }
2425
2427 void clear();
2428
2430 virtual Standard standard() const;
2432 virtual void setStandard(Standard std);
2433
2435 virtual Interval toneDuration() const;
2437 virtual void setToneDuration(const Interval &ms);
2438
2440 virtual QString id() const;
2442 virtual void setID(const QString &id);
2443
2445 virtual QString name() const;
2447 virtual void setName(const QString &name);
2448
2449 public:
2451 struct Limit: public Element::Limit {
2453 static constexpr unsigned int idLength() { return 80; }
2455 static constexpr unsigned int nameLength() { return 7; }
2456 };
2457
2458 protected:
2460 struct Offset: public Element::Offset {
2462 static constexpr unsigned int standard() { return 0x0001; }
2463 static constexpr unsigned int idLength() { return 0x0002; }
2464 static constexpr unsigned int toneDuration() { return 0x0003; }
2465 static constexpr unsigned int id() { return 0x0004; }
2466 static constexpr unsigned int name() { return 0x0018; }
2468 };
2469 };
2470
2473 {
2474 protected:
2476 FiveToneIDBitmapElement(uint8_t *ptr, size_t size);
2477
2478 public:
2480 FiveToneIDBitmapElement(uint8_t *ptr);
2481
2483 static constexpr unsigned int size() { return 0x0010; }
2484 };
2485
2491 {
2492 protected:
2494 FiveToneIDListElement(uint8_t *ptr, size_t size);
2495
2496 public:
2498 FiveToneIDListElement(uint8_t *ptr);
2499
2501 static constexpr unsigned int size() { return 0x0c80; }
2502
2503 void clear();
2504
2506 virtual uint8_t *member(unsigned int n) const;
2507
2508 public:
2510 struct Limit {
2511 static constexpr unsigned int numEntries() { return 100; }
2512 };
2513 };
2514
2520 {
2521 public:
2523 enum class Function {
2524 OpenSquelch=0, CallAll, EmergencyAlarm, RemoteKill, RemoteStun, RemoteWakeup,
2525 GroupCall
2526 };
2527
2529 enum class Response {
2530 None=0, Tone, ToneRespond
2531 };
2532
2533 protected:
2535 FiveToneFunctionElement(uint8_t *ptr, unsigned size);
2536
2537 public:
2539 explicit FiveToneFunctionElement(uint8_t *ptr);
2540
2542 static constexpr unsigned int size() { return 0x0020; }
2543
2545 void clear();
2546
2548 virtual Function function() const;
2550 virtual void setFunction(Function function);
2552 virtual Response response() const;
2554 virtual void setResponse(Response response);
2555
2557 virtual QString id() const;
2559 virtual void setID(const QString &id);
2560
2562 virtual QString name() const;
2564 virtual void setName(const QString &name);
2565
2566 public:
2568 struct Limit: public Element::Limit {
2570 static constexpr unsigned int idLength() { return 24; }
2572 static constexpr unsigned int nameLength() { return 7; }
2573 };
2574
2575 protected:
2577 struct Offset: public Element::Offset {
2579 static constexpr unsigned int function() { return 0x0000; }
2580 static constexpr unsigned int response() { return 0x0001; }
2581 static constexpr unsigned int idLength() { return 0x0002; }
2582 static constexpr unsigned int id() { return 0x0003; }
2583 static constexpr unsigned int name() { return 0x000f; }
2585 };
2586 };
2587
2593 {
2594 protected:
2596 FiveToneFunctionListElement(uint8_t *ptr, size_t size);
2597
2598 public:
2600 FiveToneFunctionListElement(uint8_t *ptr);
2601
2603 static constexpr unsigned int size() { return 0x0200; }
2604
2605 void clear();
2606
2608 virtual uint8_t *function(unsigned int n) const;
2609
2610 public:
2612 struct Limit {
2613 static constexpr unsigned int numFunctions() { return 16; }
2614 };
2615 };
2616
2617
2623 {
2624 public:
2626 enum class Response {
2627 None = 0, Tone, ToneRespond
2628 };
2629
2631
2632 protected:
2634 FiveToneSettingsElement(uint8_t *ptr, unsigned size);
2635
2636 public:
2638 FiveToneSettingsElement(uint8_t *ptr);
2639
2641 static constexpr unsigned int size() { return 0x0080; }
2642
2644 void clear();
2645
2647 virtual Response decodingResponse() const;
2649 virtual void setDecodingResponse(Response response);
2650
2652 virtual Standard decodingStandard() const;
2654 virtual void setDecodingStandard(Standard standard);
2655
2657 virtual Interval decodingToneDuration() const;
2659 virtual void setDecodingToneDuration(const Interval &ms);
2660
2662 virtual QString id() const;
2664 virtual void setID(const QString &id);
2665
2667 virtual Interval postEncodeDelay() const;
2669 virtual void setPostEncodeDelay(const Interval &ms);
2670
2672 virtual bool hasPTTID() const;
2674 virtual unsigned pttID() const;
2676 virtual void setPTTID(unsigned id);
2678 virtual void clearPTTID();
2679
2681 virtual Interval autoResetTime() const;
2683 virtual void setAutoResetTime(const Interval &s);
2684
2686 virtual Interval firstDelay() const;
2688 virtual void setFirstDelay(const Interval &ms);
2689
2691 virtual bool sidetoneEnabled() const;
2693 virtual void enableSidetone(bool enable);
2695 virtual unsigned stopCode() const;
2697 virtual void setStopCode(unsigned code);
2699 virtual Interval stopTime() const;
2701 virtual void setStopTime(const Interval &ms);
2703 virtual Interval decodeTime() const;
2705 virtual void setDecodeTime(const Interval &ms);
2707 virtual Interval delayAfterStop() const;
2709 virtual void setDelayAfterStop(const Interval &ms);
2711 virtual Interval preTime() const;
2713 virtual void setPreTime(const Interval &ms);
2714
2716 virtual Standard botStandard() const;
2718 virtual void setBOTStandard(Standard standard);
2720 virtual Interval botToneDuration() const;
2722 virtual void setBOTToneDuration(const Interval &ms);
2724 virtual QString botID() const;
2726 virtual void setBOTID(const QString &id);
2727
2729 virtual Standard eotStandard() const;
2731 virtual void setEOTStandard(Standard standard);
2733 virtual Interval eotToneDuration() const;
2735 virtual void setEOTToneDuration(const Interval &ms);
2737 virtual QString eotID() const;
2739 virtual void setEOTID(const QString &id);
2740
2741 public:
2743 struct Limit: public Element::Limit {
2745 static constexpr unsigned int idLength() { return 14; }
2747 static constexpr unsigned int botIdLength() { return 24; }
2749 static constexpr unsigned int eotIdLength() { return 24; }
2750 };
2751
2752 protected:
2754 struct Offset: public Element::Offset {
2756 static constexpr unsigned int decodingResponse() { return 0x0021; }
2757 static constexpr unsigned int decodingStandard() { return 0x0022; }
2758 static constexpr unsigned int idLength() { return 0x0023; }
2759 static constexpr unsigned int decodingToneDuration() { return 0x0024; }
2760 static constexpr unsigned int id() { return 0x0025; }
2761 static constexpr unsigned int postDecodeDelay() { return 0x002c; }
2762 static constexpr unsigned int pttId() { return 0x002d; }
2763 static constexpr unsigned int autoResetTime() { return 0x002e; }
2764 static constexpr unsigned int firstDelay() { return 0x002f; }
2765 static constexpr unsigned int sidetoneEnabled() { return 0x0030; }
2766 static constexpr unsigned int stopCode() { return 0x0032; }
2767 static constexpr unsigned int stopTime() { return 0x0033; }
2768 static constexpr unsigned int decodeTime() { return 0x0034; }
2769 static constexpr unsigned int delayAfterStop() { return 0x0035; }
2770 static constexpr unsigned int preTime() { return 0x0036; }
2771 static constexpr unsigned int botStandard() { return 0x0041; }
2772 static constexpr unsigned int botIdLength() { return 0x0042; }
2773 static constexpr unsigned int botToneDuration() { return 0x0043; }
2774 static constexpr unsigned int botId() { return 0x0044; }
2775 static constexpr unsigned int eotStandard() { return 0x0061; }
2776 static constexpr unsigned int eotIdLength() { return 0x0062; }
2777 static constexpr unsigned int eotToneDuration() { return 0x0063; }
2778 static constexpr unsigned int eotId() { return 0x0064; }
2780 };
2781 };
2782
2783
2789 {
2790 protected:
2792 TwoToneIDElement(uint8_t *ptr, unsigned size);
2793
2794 public:
2796 TwoToneIDElement(uint8_t *ptr);
2797
2799 static constexpr unsigned int size() { return 0x0010; }
2800
2802 void clear();
2803
2805 virtual double firstTone() const;
2807 virtual void setFirstTone(double f);
2808
2810 virtual double secondTone() const;
2812 virtual void setSecondTone(double f);
2813
2815 virtual QString name() const;
2817 virtual void setName(const QString &name);
2818
2819 public:
2821 struct Limit {
2822 static constexpr unsigned int nameLength() { return 7; }
2823 };
2824
2825 protected:
2827 struct Offset {
2829 static constexpr unsigned int firstTone() { return 0x0000; }
2830 static constexpr unsigned int secondTone() { return 0x0002; }
2831 static constexpr unsigned int name() { return 0x0008; }
2833 };
2834 };
2835
2838 {
2839 protected:
2841 TwoToneIDBitmapElement(uint8_t *ptr, size_t size);
2842
2843 public:
2845 TwoToneIDBitmapElement(uint8_t *ptr);
2846
2848 static constexpr unsigned int size() { return 0x0010; }
2849 };
2850
2856 {
2857 public:
2859 enum class Response {
2860 None = 0, Tone, ToneRespond
2861 };
2862
2863 protected:
2865 TwoToneFunctionElement(uint8_t *ptr, unsigned size);
2866
2867 public:
2869 TwoToneFunctionElement(uint8_t *ptr);
2870
2872 static constexpr unsigned int size() { return 0x0020; }
2873
2875 void clear();
2876
2878 virtual double firstTone() const;
2880 virtual void setFirstTone(double f);
2881
2883 virtual double secondTone() const;
2885 virtual void setSecondTone(double f);
2886
2888 virtual Response response() const;
2890 virtual void setResponse(Response resp);
2891
2893 virtual QString name() const;
2895 virtual void setName(const QString &name);
2896
2897 public:
2899 struct Limit {
2900 static constexpr unsigned int nameLength() { return 7; }
2901 };
2902
2903 protected:
2905 struct Offset {
2907 static constexpr unsigned int firstTone() { return 0x0000; }
2908 static constexpr unsigned int secondTone() { return 0x0002; }
2909 static constexpr unsigned int response() { return 0x0004; }
2910 static constexpr unsigned int name() { return 0x0005; }
2912 };
2913 };
2914
2917 {
2918 protected:
2920 TwoToneFunctionBitmapElement(uint8_t *ptr, size_t size);
2921
2922 public:
2924 TwoToneFunctionBitmapElement(uint8_t *ptr);
2925
2927 static constexpr unsigned int size() { return 0x0010; }
2928 };
2929
2935 {
2936 protected:
2938 TwoToneSettingsElement(uint8_t *ptr, unsigned size);
2939
2940 public:
2942 TwoToneSettingsElement(uint8_t *ptr);
2943
2945 static constexpr unsigned int size() { return 0x0010; }
2946
2948 void clear();
2949
2951 virtual Interval firstToneDuration() const;
2953 virtual void setFirstToneDuration(const Interval &ms);
2954
2956 virtual Interval secondToneDuration() const;
2958 virtual void setSecondToneDuration(const Interval &ms);
2959
2961 virtual Interval longToneDuration() const;
2963 virtual void setLongToneDuration(const Interval &ms);
2964
2966 virtual Interval gapDuration() const;
2968 virtual void setGapDuration(const Interval &ms);
2969
2971 virtual Interval autoResetTime() const;
2973 virtual void setAutoResetTime(const Interval &sec);
2974
2976 virtual bool sidetone() const;
2978 virtual void enableSidetone(bool enable);
2979
2980 protected:
2982 struct Offset: public Element::Offset {
2984 static constexpr unsigned int firstToneDuration() { return 0x0009; }
2985 static constexpr unsigned int secondToneDuration() { return 0x000a; }
2986 static constexpr unsigned int longToneDuration() { return 0x000b; }
2987 static constexpr unsigned int gapDuration() { return 0x000c; }
2988 static constexpr unsigned int autoResetTime() { return 0x000d; }
2989 static constexpr unsigned int sidetone() { return 0x000e; }
2991 };
2992 };
2993
2994
3000 {
3001 public:
3004 None=0, Tone, ToneRespond
3005 };
3006
3007 protected:
3009 DTMFSettingsElement(uint8_t *ptr, unsigned size);
3010
3011 public:
3013 explicit DTMFSettingsElement(uint8_t *ptr);
3014
3016 static constexpr unsigned int size() { return 0x0050; }
3017
3019 void clear();
3020
3022 virtual unsigned intervalSymbol() const;
3024 virtual void setIntervalSymbol(unsigned symb);
3025
3027 virtual unsigned groupCode() const;
3029 virtual void setGroupCode(unsigned symb);
3030
3032 virtual Response response() const;
3034 virtual void setResponse(Response resp);
3035
3037 virtual Interval preTime() const;
3039 virtual void setPreTime(const Interval &ms);
3040
3042 virtual Interval firstDigitDuration() const;
3044 virtual void setFirstDigitDuration(const Interval &ms);
3045
3047 virtual Interval autoResetTime() const;
3049 virtual void setAutoResetTime(const Interval &sec);
3050
3052 virtual QString id() const;
3054 virtual void setID(const QString &id);
3055
3057 virtual Interval postEncodingDelay() const;
3059 virtual void setPostEncodingDelay(const Interval &ms);
3060
3062 virtual Interval pttIDPause() const;
3064 virtual void setPTTIDPause(const Interval &sec);
3065
3067 virtual bool pttIDEnabled() const;
3069 virtual void enablePTTID(bool enable);
3070
3072 virtual Interval dCodePause() const;
3074 virtual void setDCodePause(const Interval &sec);
3075
3077 virtual bool sidetone() const;
3079 virtual void enableSidetone(bool enable);
3080
3082 virtual QString botID() const;
3084 virtual void setBOTID(const QString &id);
3085
3087 virtual QString eotID() const;
3089 virtual void setEOTID(const QString &id);
3090
3092 virtual QString remoteKillID() const;
3094 virtual void setRemoteKillID(const QString &id);
3095
3097 virtual QString remoteStunID() const;
3099 virtual void setRemoteStunID(const QString &id);
3100
3101 public:
3103 struct Limit: public Element::Limit {
3105 static constexpr unsigned int idLength() { return 3; }
3107 static constexpr unsigned int botIdLength() { return 16; }
3109 static constexpr unsigned int eotIdLength() { return 16; }
3111 static constexpr unsigned int remoteKillIdLength() { return 16; }
3113 static constexpr unsigned int remteStunIdLength() { return 16; }
3114 };
3115
3116 protected:
3118 struct Offset: public Element::Offset {
3120 static constexpr unsigned int intervalSymbol() { return 0x0000; }
3121 static constexpr unsigned int groupCode() { return 0x0001; }
3122 static constexpr unsigned int response() { return 0x0002; }
3123 static constexpr unsigned int preTime() { return 0x0003; }
3124 static constexpr unsigned int firstDigitDuration() { return 0x0004; }
3125 static constexpr unsigned int autoResetTime() { return 0x0005; }
3126 static constexpr unsigned int id() { return 0x0006; }
3127 static constexpr unsigned int postEncodingDelay() { return 0x0009; }
3128 static constexpr unsigned int pttIDPause() { return 0x000a; }
3129 static constexpr unsigned int pttIDEnabled() { return 0x000b; }
3130 static constexpr unsigned int dCodePause() { return 0x000c; }
3131 static constexpr unsigned int sidetone() { return 0x000d; }
3132 static constexpr unsigned int botID() { return 0x0010; }
3133 static constexpr unsigned int eotID() { return 0x0020; }
3134 static constexpr unsigned int remoteKillID() { return 0x0030; }
3135 static constexpr unsigned int remoteStunID() { return 0x0040; }
3137 };
3138 };
3139
3145 {
3146 protected:
3148 DTMFIDListElement(uint8_t *ptr, size_t size);
3149
3150 public:
3152 DTMFIDListElement(uint8_t *ptr);
3153
3155 static constexpr unsigned int size() { return 0x0100; }
3156
3157 void clear();
3158
3160 virtual bool hasNumber(unsigned int n) const;
3162 virtual QString number(unsigned int n) const;
3164 virtual void setNumber(unsigned int n, const QString &number);
3166 virtual void clearNumber(unsigned int n);
3167
3168 public:
3170 struct Limit {
3171 static constexpr unsigned int numEntries() { return 16; }
3172 static constexpr unsigned int numberLength() { return 16; }
3173 };
3174 };
3175
3176
3182 {
3183 protected:
3185 WFMChannelListElement(uint8_t *ptr, size_t size);
3186
3187 public:
3189 explicit WFMChannelListElement(uint8_t *ptr);
3190
3192 static constexpr unsigned int size() { return 0x0200; }
3193
3194 void clear();
3195
3197 virtual bool hasChannel(unsigned int n) const;
3199 virtual Frequency channel(unsigned int n) const;
3201 virtual void setChannel(unsigned int n, Frequency freq);
3203 virtual void clearChannel(unsigned int n);
3204
3205 public:
3207 struct Limit {
3208 static constexpr unsigned int numEntries() { return 100; }
3209 };
3210
3211 protected:
3213 struct Offset {
3215 static constexpr unsigned int betweenChannels() { return 0x0004; }
3217 };
3218 };
3219
3222 {
3223 protected:
3225 WFMChannelBitmapElement(uint8_t *ptr, size_t size);
3226
3227 public:
3229 WFMChannelBitmapElement(uint8_t *ptr);
3230
3232 static constexpr unsigned int size() { return 0x0020; }
3233 };
3234
3237 {
3238 protected:
3240 WFMVFOElement(uint8_t *ptr, size_t size);
3241
3242 public:
3244 WFMVFOElement(uint8_t *ptr);
3245
3247 static constexpr unsigned int size() { return 0x0010; }
3248
3249 void clear();
3250
3252 virtual Frequency frequency() const;
3254 virtual void setFrequency(Frequency freq);
3255 };
3256
3257
3260 {
3261 protected:
3263 DMREncryptionKeyListElement(uint8_t *ptr, size_t size);
3264
3265 public:
3267 DMREncryptionKeyListElement(uint8_t *ptr);
3268
3270 static constexpr unsigned int size() { return 0x0040; }
3271
3272 void clear();
3273
3275 virtual bool hasKey(unsigned int n) const;
3277 virtual QByteArray key(unsigned int n) const;
3279 virtual void setKey(unsigned int n, const BasicEncryptionKey &key);
3281 virtual void clearKey(unsigned int n);
3282
3283 public:
3285 struct Limit {
3286 static constexpr unsigned int numEntries() { return 32; }
3287 };
3288
3289 protected:
3291 struct Offset {
3293 static constexpr unsigned int betweenKeys() { return 0x0002; }
3295 };
3296 };
3297
3298
3303 {
3304 protected:
3306 EnhancedEncryptionKeyListElement(uint8_t *ptr, size_t size);
3307
3308 public:
3311
3313 static constexpr unsigned int size() { return 0x0500; }
3314
3315 void clear();
3316
3318 QByteArray key(unsigned int n) const;
3320 void setKey(unsigned int n, const QByteArray &key);
3321
3322 public:
3324 struct Limit {
3325 static constexpr unsigned numEntries() { return DMREncryptionKeyListElement::Limit::numEntries(); }
3326 };
3327
3328 protected:
3330 struct Offset {
3332 static constexpr unsigned int keys() { return 0x0010; }
3333 static constexpr unsigned int betweenKeys() { return 0x0028; }
3335 };
3336 };
3337
3338
3344 {
3345 protected:
3347 ContactMapElement(uint8_t *ptr, unsigned size);
3348
3349 public:
3351 ContactMapElement(uint8_t *ptr);
3352
3354 static constexpr unsigned int size() { return 0x0008; }
3355
3357 void clear();
3359 bool isValid() const;
3360
3362 virtual bool isGroup() const;
3364 virtual unsigned id() const;
3366 virtual void setID(unsigned id, bool group=false);
3368 virtual unsigned index() const;
3370 virtual void setIndex(unsigned idx);
3371
3372 protected:
3374 struct Offset: public Element::Offset {
3376 static constexpr unsigned int id() { return 0x0000; }
3377 static constexpr unsigned int index() { return 0x0004; }
3379 };
3380 };
3381
3382
3383protected:
3385 AnytoneCodeplug(const QString &label, QObject *parent=nullptr);
3386
3387public:
3389 virtual ~AnytoneCodeplug();
3390
3392 virtual void clear();
3393
3394 Config *preprocess(Config *config, const ErrorStack &err) const;
3395 bool encode(Config *config, const Flags &flags, const ErrorStack &err);
3396
3397 bool decode(Config *config, const ErrorStack &err);
3398 bool postprocess(Config *config, const ErrorStack &err) const;
3399
3400protected:
3401 virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const;
3402
3404 virtual bool allocateBitmaps() = 0;
3406 virtual void setBitmaps(Context &ctx) = 0;
3407
3410 virtual void allocateUpdated() = 0;
3413 virtual void allocateForDecoding() = 0;
3415 virtual void allocateForEncoding() = 0;
3416
3418 virtual bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
3423 virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack());
3425 virtual bool createElements(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
3427 virtual bool linkElements(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
3428
3429protected:
3431 QString _label;
3432
3433 // Allow access to protected allocation methods.
3434 friend class AnytoneRadio;
3435};
3436
3437#endif // ANYTONECODEPLUG_HH
Direction
Encodes the auto-repeater offset sign.
Definition anytone_settingsextension.hh:966
virtual Interval txDuration() const
Returns the TX duration in seconds.
Definition anytone_codeplug.cc:3052
virtual void setAction(Action action)
Sets the alarm action.
Definition anytone_codeplug.cc:3020
virtual void setEmergencyIndex(unsigned idx)
Sets the emergency ID index.
Definition anytone_codeplug.cc:3038
virtual void setDuration(const Interval &sec)
Sets the alarm duration in seconds.
Definition anytone_codeplug.cc:3047
virtual unsigned emergencyIndex() const
Returns the emergency ID index.
Definition anytone_codeplug.cc:3034
virtual void setRXDuration(const Interval &sec)
Sets the RX duration in seconds.
Definition anytone_codeplug.cc:3065
virtual void setEncodingType(ENIType type)
Sets the encoding type.
Definition anytone_codeplug.cc:3029
virtual Interval rxDuration() const
Returns the RX duration in seconds.
Definition anytone_codeplug.cc:3061
AnalogAlarm(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2997
virtual void setChannelIndex(unsigned idx)
Sets the channel index.
Definition anytone_codeplug.cc:3078
Action
Possible analog alarm types.
Definition anytone_codeplug.hh:2137
@ Both
Both?
Definition anytone_codeplug.hh:2141
@ TXAlarm
Transmit and alarm.
Definition anytone_codeplug.hh:2140
@ None
No alarm at all.
Definition anytone_codeplug.hh:2138
@ Background
Transmit and background.
Definition anytone_codeplug.hh:2139
virtual Action action() const
Returns the alarm action.
Definition anytone_codeplug.cc:3016
virtual bool repeatContinuously() const
Returns true if the alarm is repeated continuously.
Definition anytone_codeplug.cc:3088
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2160
virtual Interval duration() const
Returns the alarm duration in seconds.
Definition anytone_codeplug.cc:3043
virtual void setRepatContinuously()
Sets the alarm to be repeated continuously.
Definition anytone_codeplug.cc:3100
virtual void setChannelSelected()
Sets the alarm channel to the selected channel.
Definition anytone_codeplug.cc:3083
ENIType
Possible alarm signalling types.
Definition anytone_codeplug.hh:2145
@ DTMF
Send alarm code as DTMF.
Definition anytone_codeplug.hh:2147
@ FiveTone
Send alarm code as 5-tone.
Definition anytone_codeplug.hh:2148
void clear()
Resets the alarm.
Definition anytone_codeplug.cc:3010
virtual unsigned channelIndex() const
Returns the channel index.
Definition anytone_codeplug.cc:3074
virtual unsigned repetitions() const
Returns the number of alarm repetitions.
Definition anytone_codeplug.cc:3092
virtual ENIType encodingType() const
Returns the encoding type.
Definition anytone_codeplug.cc:3025
virtual void setRepetitions(unsigned num)
Sets the number of alarm repetitions.
Definition anytone_codeplug.cc:3096
virtual bool channelIsSelected() const
Returns true if the alarm channel is the selected channel.
Definition anytone_codeplug.cc:3070
virtual void setTXDuration(const Interval &sec)
Sets the TX duration in seconds.
Definition anytone_codeplug.cc:3056
virtual void enableRXAlarm(bool enable)
Enables/disables the reception of alarms.
Definition anytone_codeplug.cc:3234
virtual void enableVOX(bool enable)
Enables/disables the VOX for alarms.
Definition anytone_codeplug.cc:3225
virtual void setVoiceBroadcastDuration(const Interval &min)
Sets voice broadcast duration in minutes.
Definition anytone_codeplug.cc:3203
virtual Interval txDuration() const
Returns the TX duration in seconds.
Definition anytone_codeplug.cc:3146
virtual bool rxAlarm() const
Returns true if alarms gets received enabled.
Definition anytone_codeplug.cc:3230
virtual void setRepatContinuously()
Sets the alarm to be repeated continuously.
Definition anytone_codeplug.cc:3194
virtual unsigned repetitions() const
Returns the number of alarm repetitions.
Definition anytone_codeplug.cc:3186
Action
Possible alarm types.
Definition anytone_codeplug.hh:2237
@ Local
Transmit and local alarm.
Definition anytone_codeplug.hh:2241
@ None
No alarm at all.
Definition anytone_codeplug.hh:2238
@ Background
Transmit and background.
Definition anytone_codeplug.hh:2239
@ NonLocal
Transmit and non-local alarm.
Definition anytone_codeplug.hh:2240
virtual Interval areaBroadcastDuration() const
Returns area broadcast duration in minutes.
Definition anytone_codeplug.cc:3210
virtual bool channelIsSelected() const
Returns true if the alarm channel is the selected channel.
Definition anytone_codeplug.cc:3164
virtual void setRepetitions(unsigned num)
Sets the number of alarm repetitions.
Definition anytone_codeplug.cc:3190
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2253
virtual bool repeatContinuously() const
Returns true if the alarm is repeated continuously.
Definition anytone_codeplug.cc:3182
virtual void setRXDuration(const Interval &sec)
Sets the RX duration in seconds.
Definition anytone_codeplug.cc:3159
virtual void setTXDuration(const Interval &sec)
Sets the TX duration in seconds.
Definition anytone_codeplug.cc:3150
DigitalAlarm(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3109
virtual Interval duration() const
Returns the alarm duration in seconds.
Definition anytone_codeplug.cc:3137
virtual Action action() const
Returns the alarm action.
Definition anytone_codeplug.cc:3128
virtual Interval rxDuration() const
Returns the RX duration in seconds.
Definition anytone_codeplug.cc:3155
virtual void setChannelIndex(unsigned idx)
Sets the channel index.
Definition anytone_codeplug.cc:3172
virtual bool vox() const
Returns true if the VOX gets enabled.
Definition anytone_codeplug.cc:3221
virtual void setDuration(const Interval &sec)
Sets the alarm duration in seconds.
Definition anytone_codeplug.cc:3141
virtual void setAction(Action action)
Sets the alarm action.
Definition anytone_codeplug.cc:3132
virtual unsigned channelIndex() const
Returns the channel index.
Definition anytone_codeplug.cc:3168
virtual void setChannelSelected()
Sets the alarm channel to the selected channel.
Definition anytone_codeplug.cc:3177
virtual void setAreaBroadcastDuration(const Interval &min)
Sets area broadcast duration in minutes.
Definition anytone_codeplug.cc:3214
virtual Interval voiceBroadcastDuration() const
Returns voice broadcast duration in minutes.
Definition anytone_codeplug.cc:3199
void clear()
Resets the digital alarm settings.
Definition anytone_codeplug.cc:3122
virtual uint8_t * digital() const
Returns a pointer to the digital alarm settings.
Definition anytone_codeplug.cc:3266
void clear()
Clears the alarm settings.
Definition anytone_codeplug.cc:3256
virtual uint8_t * analog() const
Returns a pointer to the analog alarm settings.
Definition anytone_codeplug.cc:3262
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2340
AlarmSettingElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3243
Type
Analog quick-call types.
Definition anytone_codeplug.hh:1823
@ DTMF
DTMF call.
Definition anytone_codeplug.hh:1825
@ None
None, quick-call disabled.
Definition anytone_codeplug.hh:1824
@ FiveTone
5-tone call
Definition anytone_codeplug.hh:1827
@ TwoTone
2-tone call.
Definition anytone_codeplug.hh:1826
AnalogQuickCallElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2747
virtual void setContactIndex(unsigned idx)
Sets the analog contact index.
Definition anytone_codeplug.cc:2783
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1839
virtual void clearContactIndex()
Clears the contact index.
Definition anytone_codeplug.cc:2787
virtual unsigned contactIndex() const
Returns the analog contact index.
Definition anytone_codeplug.cc:2779
void clear()
Resets the quick call entry.
Definition anytone_codeplug.cc:2760
virtual bool hasContactIndex() const
Returns true if an analog contact index is set.
Definition anytone_codeplug.cc:2775
virtual void setType(Type type)
Sets the type of the quick call.
Definition anytone_codeplug.cc:2770
virtual Type type() const
Returns the call type.
Definition anytone_codeplug.cc:2766
uint8_t * quickCall(unsigned int n) const
Returns a pointer to the n-th entry.
Definition anytone_codeplug.cc:2815
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1884
void clear()
Clears the quick calls.
Definition anytone_codeplug.cc:2808
AnalogQuickCallsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2795
virtual bool updateConfig(Context &ctx)
Updates the abstract configuration from this general settings.
Definition anytone_codeplug.cc:2246
virtual void setIntroLine2(const QString &txt)
Sets the second intro line.
Definition anytone_codeplug.cc:2216
virtual void setIntroLine1(const QString &txt)
Sets the first intro line.
Definition anytone_codeplug.cc:2208
void clear()
Resets the boot settings.
Definition anytone_codeplug.cc:2199
virtual QString introLine2() const
Returns the second intro line.
Definition anytone_codeplug.cc:2212
BootSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2186
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1457
virtual bool fromConfig(const Flags &flags, Context &ctx)
Updates the general settings from the given abstract configuration.
Definition anytone_codeplug.cc:2232
virtual QString password() const
Returns the password.
Definition anytone_codeplug.cc:2221
virtual QString introLine1() const
Returns the first intro line.
Definition anytone_codeplug.cc:2204
virtual void setPassword(const QString &txt)
Sets the password.
Definition anytone_codeplug.cc:2225
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:4513
virtual unsigned id() const
Returns the id.
Definition anytone_codeplug.cc:4496
bool isValid() const
Returns true if the contact map is valid.
Definition anytone_codeplug.cc:4485
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:3354
virtual bool isGroup() const
Returns true if the entry is a group call.
Definition anytone_codeplug.cc:4491
void clear()
Clears the entry.
Definition anytone_codeplug.cc:4480
virtual void setID(unsigned id, bool group=false)
Encodes ID and group call flag.
Definition anytone_codeplug.cc:4502
ContactMapElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:4467
virtual unsigned index() const
Returns the index.
Definition anytone_codeplug.cc:4509
virtual QString message() const
Returns the message.
Definition anytone_codeplug.cc:2564
virtual bool updateConfig(Context &ctx) const
Decodes the message.
Definition anytone_codeplug.cc:2580
void setMessage(const QString &message)
Sets the message.
Definition anytone_codeplug.cc:2569
virtual bool fromConfig(Codeplug::Flags flags, Context &ctx)
Encodes the message.
Definition anytone_codeplug.cc:2574
DMRAPRSMessageElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2546
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2559
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1637
virtual Interval automaticInterval() const
Returns the automatic transmit interval in seconds.
Definition anytone_codeplug.cc:2291
virtual Channel::Power power() const
Returns the transmit power.
Definition anytone_codeplug.cc:2342
virtual bool automatic() const
Returns true if the automatic APRS is enabled.
Definition anytone_codeplug.cc:2287
virtual void setChannelSelected(unsigned n)
Sets the n-th channel to selected channel.
Definition anytone_codeplug.cc:2403
virtual void setDestination(unsigned id)
Sets the destination DMR ID to send the APRS information to.
Definition anytone_codeplug.cc:2416
virtual void overrideTimeSlot(DMRChannel::TimeSlot ts)
Sets the timeslot.
Definition anytone_codeplug.cc:2451
virtual void setManualInterval(const Interval &sec)
Sets the manual TX interval in seconds.
Definition anytone_codeplug.cc:2282
virtual void setCallType(DMRContact::Type type)
Sets the call type.
Definition anytone_codeplug.cc:2430
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Updates the global config.
Definition anytone_codeplug.cc:2497
virtual bool fixedLocation() const
Returns true if the fixed location beacon is enabled.
Definition anytone_codeplug.cc:2306
virtual void setChannelIndex(unsigned n, unsigned idx)
Sets the n-th channel index.
Definition anytone_codeplug.cc:2391
virtual bool hasChannel(unsigned n) const
Returns true if the n-th channel is set.
Definition anytone_codeplug.cc:2371
virtual Interval manualInterval() const
Returns the Manual TX interval in seconds.
Definition anytone_codeplug.cc:2278
virtual void setLocation(const QGeoCoordinate &pos)
Sets the location of the fixed position.
Definition anytone_codeplug.cc:2320
virtual void disableAutomatic()
Disables the automatic APRS.
Definition anytone_codeplug.cc:2301
virtual bool channelIsSelected(unsigned n) const
Returns true if the n-th channel is selected channel.
Definition anytone_codeplug.cc:2383
virtual void enableFixedLocation(bool enable)
Enables/disables fixed location beacon.
Definition anytone_codeplug.cc:2337
virtual bool timeSlotOverride() const
Returns true if the timeslot of the channel is overridden.
Definition anytone_codeplug.cc:2439
virtual void setAutomaticInterval(const Interval &sec)
Sets the automatic transmit interval in seconds.
Definition anytone_codeplug.cc:2295
virtual DMRChannel::TimeSlot timeslot() const
Returns the timeslot (only valid if timeSlotOverride returns true).
Definition anytone_codeplug.cc:2443
virtual DMRContact::Type callType() const
Returns the call type.
Definition anytone_codeplug.cc:2421
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1517
virtual void disableTimeSlotOverride()
Disables TS override.
Definition anytone_codeplug.cc:2458
void clear()
Resets the APRS settings.
Definition anytone_codeplug.cc:2273
virtual bool channelIsVFOB(unsigned n) const
Returns true if the n-th channel is VFO B.
Definition anytone_codeplug.cc:2379
virtual void setChannelVFOA(unsigned n)
Sets the n-th channel to VFO A.
Definition anytone_codeplug.cc:2395
DMRAPRSSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2260
virtual void clearChannel(unsigned n)
Resets the n-th channel.
Definition anytone_codeplug.cc:2407
virtual void setPower(Channel::Power power)
Sets the transmit power.
Definition anytone_codeplug.cc:2352
virtual unsigned destination() const
Returns the destination DMR ID to send the APRS information to.
Definition anytone_codeplug.cc:2412
virtual bool channelIsVFOA(unsigned n) const
Returns true if the n-th channel is VFO A.
Definition anytone_codeplug.cc:2375
virtual QGeoCoordinate location() const
Returns the location of the fixed position.
Definition anytone_codeplug.cc:2310
virtual bool fromConfig(const Flags &flags, Context &ctx)
Updates the GPS settings from the given config.
Definition anytone_codeplug.cc:2463
virtual bool linkGPSSystem(uint8_t i, Context &ctx)
Links GPS system from this GPS settings.
Definition anytone_codeplug.cc:2517
virtual unsigned channelIndex(unsigned n) const
Returns the index of the n-th channel.
Definition anytone_codeplug.cc:2387
virtual void setChannelVFOB(unsigned n)
Sets the n-th channel to VFO B.
Definition anytone_codeplug.cc:2399
virtual bool createGPSSystem(uint8_t i, Context &ctx)
Creates GPS system from this GPS settings.
Definition anytone_codeplug.cc:2510
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4392
virtual bool hasKey(unsigned int n) const
Returns true if the n-th id is set.
Definition anytone_codeplug.cc:4397
virtual QByteArray key(unsigned int n) const
Returns the ID of the encryption key.
Definition anytone_codeplug.cc:4404
virtual void clearKey(unsigned int n)
Clears the n-th id.
Definition anytone_codeplug.cc:4418
DMREncryptionKeyListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4379
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3270
virtual void setKey(unsigned int n, const BasicEncryptionKey &key)
Sets the ID of the encryption key.
Definition anytone_codeplug.cc:4411
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:4270
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3155
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4242
virtual bool hasNumber(unsigned int n) const
Returns true, if the n-th number is set.
Definition anytone_codeplug.cc:4247
DTMFIDListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4229
virtual QString number(unsigned int n) const
Returns the n-th number.
Definition anytone_codeplug.cc:4254
virtual void setNumber(unsigned int n, const QString &number)
Sets the n-th number.
Definition anytone_codeplug.cc:4262
Response
Possible responses to a DTMF decode.
Definition anytone_codeplug.hh:3003
virtual void setDCodePause(const Interval &sec)
Sets the D-code pause in seconds.
Definition anytone_codeplug.cc:4146
virtual void setFirstDigitDuration(const Interval &ms)
Sets the first digit duration in ms.
Definition anytone_codeplug.cc:4085
virtual QString botID() const
Returns the BOT ID.
Definition anytone_codeplug.cc:4160
virtual Interval postEncodingDelay() const
Returns the post encoding delay in ms.
Definition anytone_codeplug.cc:4115
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:3016
virtual unsigned groupCode() const
Returns the group code [0,15].
Definition anytone_codeplug.cc:4054
virtual Interval firstDigitDuration() const
Returns the first digit duration in ms.
Definition anytone_codeplug.cc:4081
virtual void setRemoteStunID(const QString &id)
Sets the remote stun ID.
Definition anytone_codeplug.cc:4217
DTMFSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:4026
virtual QString id() const
Returns the radio ID.
Definition anytone_codeplug.cc:4099
virtual void setResponse(Response resp)
Sets the response to a DTMF decode.
Definition anytone_codeplug.cc:4067
virtual void setGroupCode(unsigned symb)
Sets the group code [0,15].
Definition anytone_codeplug.cc:4058
virtual void setPostEncodingDelay(const Interval &ms)
Sets the post encoding delay in ms.
Definition anytone_codeplug.cc:4119
virtual void enablePTTID(bool enable)
Enables/disables the PTT ID.
Definition anytone_codeplug.cc:4137
virtual bool pttIDEnabled() const
Returns true if the PTT ID is enabled.
Definition anytone_codeplug.cc:4133
virtual void setIntervalSymbol(unsigned symb)
Sets the interval/repeat symbol [0,15].
Definition anytone_codeplug.cc:4049
virtual void setPreTime(const Interval &ms)
Sets the pre time in ms.
Definition anytone_codeplug.cc:4076
virtual void setRemoteKillID(const QString &id)
Sets the remote kill ID.
Definition anytone_codeplug.cc:4200
virtual void setID(const QString &id)
Sets the radio ID.
Definition anytone_codeplug.cc:4107
virtual Interval preTime() const
Returns the pre time in ms.
Definition anytone_codeplug.cc:4072
virtual void setAutoResetTime(const Interval &sec)
Sets the auto reset time in seconds.
Definition anytone_codeplug.cc:4094
virtual Interval autoResetTime() const
Returns the auto reset time in seconds.
Definition anytone_codeplug.cc:4090
virtual void setBOTID(const QString &id)
Sets the BOT ID.
Definition anytone_codeplug.cc:4168
virtual Interval dCodePause() const
Returns the D-code pause in seconds.
Definition anytone_codeplug.cc:4142
virtual Interval pttIDPause() const
Returns the PTT ID pause in seconds.
Definition anytone_codeplug.cc:4124
virtual QString eotID() const
Returns the EOT ID.
Definition anytone_codeplug.cc:4176
virtual void setPTTIDPause(const Interval &sec)
Sets the PTT ID pause in seconds.
Definition anytone_codeplug.cc:4128
virtual QString remoteKillID() const
Returns the remote kill ID.
Definition anytone_codeplug.cc:4192
virtual QString remoteStunID() const
Returns the remote stun ID.
Definition anytone_codeplug.cc:4209
void clear()
Resets the settings.
Definition anytone_codeplug.cc:4039
virtual bool sidetone() const
Returns true if the sidetone is enabled.
Definition anytone_codeplug.cc:4151
virtual void enableSidetone(bool enable)
Enables/disables the sidetone.
Definition anytone_codeplug.cc:4155
virtual Response response() const
Returns the response to a DMTF decode.
Definition anytone_codeplug.cc:4063
virtual unsigned intervalSymbol() const
Returns the interval/repeat symbol [0,15].
Definition anytone_codeplug.cc:4045
virtual void setEOTID(const QString &id)
Sets the EOT ID.
Definition anytone_codeplug.cc:4184
virtual DMRContact::Type callType() const
Returns the call type.
Definition anytone_codeplug.cc:3292
virtual unsigned destination() const
Returns the destination DMR number.
Definition anytone_codeplug.cc:3310
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2376
void clear()
Clears the settings.
Definition anytone_codeplug.cc:3287
virtual void setDestination(unsigned number)
Sets the destination DMR number.
Definition anytone_codeplug.cc:3314
virtual void setCallType(DMRContact::Type type)
Sets the call type.
Definition anytone_codeplug.cc:3301
DigitalAlarmExtensionElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3274
EnhancedEncryptionKeyListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4429
QByteArray key(unsigned int n) const
Returns the n-th key.
Definition anytone_codeplug.cc:4450
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4442
void setKey(unsigned int n, const QByteArray &key)
Sets the n-th key.
Definition anytone_codeplug.cc:4457
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3313
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:2098
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:2056
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:2079
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:2049
virtual void setFunction(Function function)
Sets the function.
Definition anytone_codeplug.cc:3464
virtual QString name() const
Returns the name.
Definition anytone_codeplug.cc:3506
void clear()
Clears the function settings.
Definition anytone_codeplug.cc:3455
virtual Function function() const
Returns the function.
Definition anytone_codeplug.cc:3460
Function
Possible function being performed on 5-tone decoding.
Definition anytone_codeplug.hh:2523
Response
Possible responses to 5-tone decoding.
Definition anytone_codeplug.hh:2529
virtual void setName(const QString &name)
Sets the name.
Definition anytone_codeplug.cc:3510
virtual void setID(const QString &id)
Sets the ID.
Definition anytone_codeplug.cc:3491
virtual void setResponse(Response response)
Sets the response.
Definition anytone_codeplug.cc:3473
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2542
virtual Response response() const
Returns the response.
Definition anytone_codeplug.cc:3469
FiveToneFunctionElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3442
virtual QString id() const
Returns the ID.
Definition anytone_codeplug.cc:3478
virtual uint8_t * function(unsigned int n) const
Returns the pointer to the n-th function setting.
Definition anytone_codeplug.cc:3536
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:3531
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2603
FiveToneFunctionListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3518
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2483
FiveToneIDBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3398
virtual void setStandard(Standard std)
Sets the encoding standard.
Definition anytone_codeplug.cc:3344
virtual Interval toneDuration() const
Returns the tone duration in ms.
Definition anytone_codeplug.cc:3349
FiveToneIDElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3322
void clear()
Clears the ID.
Definition anytone_codeplug.cc:3335
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2424
virtual void setID(const QString &id)
Sets the ID.
Definition anytone_codeplug.cc:3371
virtual QString name() const
Returns the name.
Definition anytone_codeplug.cc:3386
virtual void setToneDuration(const Interval &ms)
Sets the tone duration in ms.
Definition anytone_codeplug.cc:3353
Standard
Possible 5-tone encoding standards.
Definition anytone_codeplug.hh:2410
virtual void setName(const QString &name)
Sets the name.
Definition anytone_codeplug.cc:3390
virtual Standard standard() const
Returns the 5Tone encoding standard.
Definition anytone_codeplug.cc:3340
virtual QString id() const
Returns the ID.
Definition anytone_codeplug.cc:3358
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2501
FiveToneIDListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3414
virtual uint8_t * member(unsigned int n) const
Returns a pointer to the n-th five-tone ID.
Definition anytone_codeplug.cc:3432
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:3427
virtual Standard decodingStandard() const
Returns the decoding standard.
Definition anytone_codeplug.cc:3573
void clear()
Resets the 5tone settings.
Definition anytone_codeplug.cc:3559
enum FiveToneIDElement::Standard Standard
Possible 5-tone encoding standards.
Definition anytone_codeplug.hh:2630
virtual QString eotID() const
Returns the 5tone EOT ID.
Definition anytone_codeplug.cc:3781
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2641
FiveToneSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3546
virtual unsigned stopCode() const
Returns the stop code [0,15].
Definition anytone_codeplug.cc:3672
virtual Interval autoResetTime() const
Returns the auto-reset time in seconds.
Definition anytone_codeplug.cc:3645
virtual void setPreTime(const Interval &ms)
Sets the pre time in ms.
Definition anytone_codeplug.cc:3712
virtual void setStopCode(unsigned code)
Sets the stop code.
Definition anytone_codeplug.cc:3676
virtual void setDecodingResponse(Response response)
Sets the decoding response.
Definition anytone_codeplug.cc:3568
virtual Interval preTime() const
Returns the pre time in ms.
Definition anytone_codeplug.cc:3708
virtual QString botID() const
Returns the 5tone BOT ID.
Definition anytone_codeplug.cc:3735
virtual bool hasPTTID() const
Returns true if the PTT ID is set.
Definition anytone_codeplug.cc:3628
virtual void setID(const QString &id)
Sets the 5tone radio ID.
Definition anytone_codeplug.cc:3604
virtual void setStopTime(const Interval &ms)
Sets the stop time in ms.
Definition anytone_codeplug.cc:3685
virtual void setBOTToneDuration(const Interval &ms)
Sets the BOT tone duration in ms.
Definition anytone_codeplug.cc:3730
virtual QString id() const
Returns the 5tone radio ID.
Definition anytone_codeplug.cc:3591
virtual Interval decodeTime() const
Returns the decode time in ms.
Definition anytone_codeplug.cc:3690
virtual Interval decodingToneDuration() const
Returns the decoding tone duration in ms.
Definition anytone_codeplug.cc:3582
virtual void setEOTToneDuration(const Interval &ms)
Sets the EOT tone duration in ms.
Definition anytone_codeplug.cc:3776
virtual Interval stopTime() const
Returns the stop time in ms.
Definition anytone_codeplug.cc:3681
virtual bool sidetoneEnabled() const
Returns true if the sidetone is enabled.
Definition anytone_codeplug.cc:3663
virtual void setAutoResetTime(const Interval &s)
Sets the auto-reset time in seconds.
Definition anytone_codeplug.cc:3649
virtual void setDecodeTime(const Interval &ms)
Sets the decode time in ms.
Definition anytone_codeplug.cc:3694
virtual void enableSidetone(bool enable)
Enables/disables side tone.
Definition anytone_codeplug.cc:3667
virtual void setDecodingStandard(Standard standard)
Sets the decoding standard.
Definition anytone_codeplug.cc:3577
virtual Interval botToneDuration() const
Returns the BOT tone duration in ms.
Definition anytone_codeplug.cc:3726
virtual Interval firstDelay() const
Returns the first delay in ms.
Definition anytone_codeplug.cc:3654
virtual void setEOTID(const QString &id)
Sets the 5tone EOT ID.
Definition anytone_codeplug.cc:3794
virtual void setBOTStandard(Standard standard)
Sets the BOT standard.
Definition anytone_codeplug.cc:3721
virtual void setDelayAfterStop(const Interval &ms)
Sets the delay after stop in ms.
Definition anytone_codeplug.cc:3703
virtual Interval postEncodeDelay() const
Returns the post-encode delay in ms.
Definition anytone_codeplug.cc:3619
virtual void setPTTID(unsigned id)
Sets the PTT ID [5,75].
Definition anytone_codeplug.cc:3636
virtual void setPostEncodeDelay(const Interval &ms)
Sets the post-encode delay in ms.
Definition anytone_codeplug.cc:3623
virtual unsigned pttID() const
Returns the PTT ID.
Definition anytone_codeplug.cc:3632
virtual void setDecodingToneDuration(const Interval &ms)
Sets the decoding tone duration in ms.
Definition anytone_codeplug.cc:3586
virtual Response decodingResponse() const
Returns the decoding response.
Definition anytone_codeplug.cc:3564
virtual Interval delayAfterStop() const
Returns the delay after stop in ms.
Definition anytone_codeplug.cc:3699
virtual Interval eotToneDuration() const
Returns the EOT tone duration in ms.
Definition anytone_codeplug.cc:3772
virtual void setBOTID(const QString &id)
Sets the 5tone BOT ID.
Definition anytone_codeplug.cc:3748
virtual void setEOTStandard(Standard standard)
Sets the EOT standard.
Definition anytone_codeplug.cc:3767
virtual Standard botStandard() const
Returns the BOT standard.
Definition anytone_codeplug.cc:3717
virtual void setFirstDelay(const Interval &ms)
Sets the first delay in ms.
Definition anytone_codeplug.cc:3658
Response
Possible responses to decoded 5-tone codes.
Definition anytone_codeplug.hh:2626
virtual Standard eotStandard() const
Returns the EOT standard.
Definition anytone_codeplug.cc:3763
virtual void clearPTTID()
Clears the PTT ID.
Definition anytone_codeplug.cc:3640
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
virtual DigiCallType digiCallType() const
If type returns Type::Call and callType CalLType::Digital, returns the digital call type.
Definition anytone_codeplug.cc:2921
virtual void setContactIndex(unsigned idx)
Sets the contact index.
Definition anytone_codeplug.cc:2938
Type
Hot-key types.
Definition anytone_codeplug.hh:1973
@ Menu
Show a menu item.
Definition anytone_codeplug.hh:1975
@ Call
Perform a call.
Definition anytone_codeplug.hh:1974
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2016
void clear()
Resets the hot-key entry.
Definition anytone_codeplug.cc:2887
virtual Type type() const
Returns the type of the hot-key entry.
Definition anytone_codeplug.cc:2894
virtual void setMessageIndex(unsigned idx)
Sets the message index.
Definition anytone_codeplug.cc:2955
virtual void clearContactIndex()
Clears the contact index.
Definition anytone_codeplug.cc:2942
DigiCallType
Possible digital call sub-types.
Definition anytone_codeplug.hh:1997
@ StatusMessage
Send a state message.
Definition anytone_codeplug.hh:2004
@ AllCall
Perform all call.
Definition anytone_codeplug.hh:2001
@ CallTip
Send a call tip (?).
Definition anytone_codeplug.hh:2003
@ GroupCall
Perform a group call.
Definition anytone_codeplug.hh:1999
@ PrivateCall
Perform private call.
Definition anytone_codeplug.hh:2000
@ Off
Call disabled.
Definition anytone_codeplug.hh:1998
virtual unsigned contactIndex() const
If type is Type::Call, returns the contact index.
Definition anytone_codeplug.cc:2934
virtual void clearMessageIndex()
Clears the message index.
Definition anytone_codeplug.cc:2959
virtual CallType callType() const
If type returns Type::Call, returns the type of the call.
Definition anytone_codeplug.cc:2912
virtual void setMenuItem(MenuItem item)
Sets the menu item.
Definition anytone_codeplug.cc:2907
virtual bool hasContactIndex() const
Returns true if the contact index is set.
Definition anytone_codeplug.cc:2930
HotKeyElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2874
virtual void setCallType(CallType type)
Sets the call type.
Definition anytone_codeplug.cc:2916
CallType
Possible call types.
Definition anytone_codeplug.hh:1991
@ Digital
Perform a digital call.
Definition anytone_codeplug.hh:1993
@ Analog
Perform an analog call.
Definition anytone_codeplug.hh:1992
virtual unsigned messageIndex() const
Returns the message index.
Definition anytone_codeplug.cc:2951
virtual void setType(Type type)
Sets the type of the hot-key entry.
Definition anytone_codeplug.cc:2898
virtual MenuItem menuItem() const
If type returns Type::Menu, returns the menu item.
Definition anytone_codeplug.cc:2903
MenuItem
Possible menu items.
Definition anytone_codeplug.hh:1979
@ HotText
Send a hot-text.
Definition anytone_codeplug.hh:1982
@ Inbox
Show SMS inbox.
Definition anytone_codeplug.hh:1983
@ SMS
Show SMS menu.
Definition anytone_codeplug.hh:1980
@ ManualDial
Show manual dial.
Definition anytone_codeplug.hh:1986
@ NewSMS
Create new SMS.
Definition anytone_codeplug.hh:1981
@ Outbox
Show SMS outbox.
Definition anytone_codeplug.hh:1984
@ Contacts
Show contact list.
Definition anytone_codeplug.hh:1985
@ CallLog
Show call log.
Definition anytone_codeplug.hh:1987
virtual bool hasMessageIndex() const
Returns true if a message index is set.
Definition anytone_codeplug.cc:2947
virtual void setDigiCallType(DigiCallType type)
Sets the digital call type.
Definition anytone_codeplug.cc:2925
HotKeySettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2968
virtual uint8_t * hotKeySetting(unsigned int n) const
Returns a pointer to the n-th hot key setting.
Definition anytone_codeplug.cc:2988
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2981
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2099
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:2731
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1812
MessageElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2701
virtual QString message() const
Returns the message text.
Definition anytone_codeplug.cc:2719
void clear()
Resets the message.
Definition anytone_codeplug.cc:2714
virtual void setMessage(const QString &msg)
Sets the message text.
Definition anytone_codeplug.cc:2723
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1774
virtual void setIndex(unsigned idx)
Sets the index of the message.
Definition anytone_codeplug.cc:2689
virtual bool hasIndex() const
Returns true if there is a message index.
Definition anytone_codeplug.cc:2681
virtual unsigned next() const
Returns the index of the next message in list.
Definition anytone_codeplug.cc:2668
virtual unsigned index() const
Returns the index of the message.
Definition anytone_codeplug.cc:2685
void clear()
Clears the message list item.
Definition anytone_codeplug.cc:2657
virtual void setNext(unsigned idx)
Sets the index of the next message in list.
Definition anytone_codeplug.cc:2672
MessageListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2644
virtual void clearNext()
Clears the next message index.
Definition anytone_codeplug.cc:2676
virtual bool hasNext() const
Returns true if there is a next message (EOL otherwise).
Definition anytone_codeplug.cc:2664
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1727
virtual void clearIndex()
Clears the index of the message.
Definition anytone_codeplug.cc:2693
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:2609
virtual Frequency offset(unsigned int n) const
Returns the n-th offset frequency.
Definition anytone_codeplug.cc:2616
virtual void setOffset(unsigned int n, Frequency freq)
Sets the n-th offset frequency.
Definition anytone_codeplug.cc:2626
RepeaterOffsetListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2589
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2602
virtual void clearOffset(unsigned int n)
Clears the n-th offset frequency.
Definition anytone_codeplug.cc:2634
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1681
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:1961
StatusMessageBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2858
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1923
virtual QString message(unsigned int n) const
Returns the n-th status message.
Definition anytone_codeplug.cc:2842
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2837
StatusMessagesElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2824
virtual void setMessage(unsigned int n, const QString &msg)
Sets the n-th status message.
Definition anytone_codeplug.cc:2848
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2927
TwoToneFunctionBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3934
virtual Response response() const
Returns the response.
Definition anytone_codeplug.cc:3913
virtual void setSecondTone(double f)
Sets the second tone of the sequence.
Definition anytone_codeplug.cc:3908
virtual void setFirstTone(double f)
Sets the first tone of the sequence.
Definition anytone_codeplug.cc:3899
Response
Possible responses to a decode.
Definition anytone_codeplug.hh:2859
void clear()
Resets the function.
Definition anytone_codeplug.cc:3890
virtual void setResponse(Response resp)
Sets the response.
Definition anytone_codeplug.cc:3917
virtual QString name() const
Returns the name of the function.
Definition anytone_codeplug.cc:3922
virtual double secondTone() const
Returns the second tone of the sequence.
Definition anytone_codeplug.cc:3904
virtual void setName(const QString &name)
Sets the name of the function.
Definition anytone_codeplug.cc:3926
TwoToneFunctionElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3877
virtual double firstTone() const
Returns the first tone of the sequence.
Definition anytone_codeplug.cc:3895
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2872
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2848
TwoToneIDBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3861
virtual void setSecondTone(double f)
Sets the second tone of the sequence.
Definition anytone_codeplug.cc:3844
virtual QString name() const
Returns the name of the function.
Definition anytone_codeplug.cc:3849
void clear()
Resets the ID.
Definition anytone_codeplug.cc:3826
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2799
virtual void setFirstTone(double f)
Sets the first tone of the sequence.
Definition anytone_codeplug.cc:3835
virtual double firstTone() const
Returns the first tone of the sequence.
Definition anytone_codeplug.cc:3831
virtual void setName(const QString &name)
Sets the name of the function.
Definition anytone_codeplug.cc:3853
TwoToneIDElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3813
virtual double secondTone() const
Returns the second tone of the sequence.
Definition anytone_codeplug.cc:3840
virtual void setAutoResetTime(const Interval &sec)
Sets the auto-reset time in seconds.
Definition anytone_codeplug.cc:4008
virtual Interval autoResetTime() const
Returns the auto-reset time in seconds.
Definition anytone_codeplug.cc:4004
virtual bool sidetone() const
Returns true if the sidetone is enabled.
Definition anytone_codeplug.cc:4013
virtual void setFirstToneDuration(const Interval &ms)
Sets the first tone duration in ms.
Definition anytone_codeplug.cc:3972
virtual void enableSidetone(bool enable)
Enables/disables the sidetone.
Definition anytone_codeplug.cc:4017
virtual void setGapDuration(const Interval &ms)
Sets the gap duration in ms.
Definition anytone_codeplug.cc:3999
TwoToneSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3950
virtual Interval gapDuration() const
Returns the gap duration in ms.
Definition anytone_codeplug.cc:3995
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2945
virtual void setLongToneDuration(const Interval &ms)
Sets the long tone duration in ms.
Definition anytone_codeplug.cc:3990
virtual Interval longToneDuration() const
Returns the long tone duration in ms.
Definition anytone_codeplug.cc:3986
virtual Interval secondToneDuration() const
Returns the second tone duration in ms.
Definition anytone_codeplug.cc:3977
void clear()
Resets the settings.
Definition anytone_codeplug.cc:3963
virtual Interval firstToneDuration() const
Returns the first tone duration in ms.
Definition anytone_codeplug.cc:3968
virtual void setSecondToneDuration(const Interval &ms)
Sets the second tone duration in ms.
Definition anytone_codeplug.cc:3981
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3232
WFMChannelBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4330
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3192
virtual void clearChannel(unsigned int n)
Clears the n-th channel frequency.
Definition anytone_codeplug.cc:4320
WFMChannelListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4281
virtual void setChannel(unsigned int n, Frequency freq)
Sets the n-th channel frequency.
Definition anytone_codeplug.cc:4313
virtual Frequency channel(unsigned int n) const
Returns the n-th channel frequency.
Definition anytone_codeplug.cc:4306
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4294
virtual bool hasChannel(unsigned int n) const
Returns true, if the n-th channel is set.
Definition anytone_codeplug.cc:4299
virtual Frequency frequency() const
Returns the VFO frequency.
Definition anytone_codeplug.cc:4365
WFMVFOElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4346
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4359
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:3247
virtual void setFrequency(Frequency freq)
Sets the VFO frequency.
Definition anytone_codeplug.cc:4370
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:2170
virtual unsigned channelIndexA(unsigned n) const
Returns the channel index (0-based) for VFO A for the n-th zone.
Definition anytone_codeplug.cc:2137
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:2158
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:2150
void clear()
Resets the zone channel list.
Definition anytone_codeplug.cc:2126
ZoneChannelListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2113
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:2133
virtual void clearChannelIndexA(unsigned n)
Clears the channel index (0-based) for VFO A for the n-th zone.
Definition anytone_codeplug.cc:2145
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:2141
virtual void clearChannelIndexB(unsigned n)
Clears the channel index (0-based) for VFO B for the n-th zone.
Definition anytone_codeplug.cc:2162
virtual unsigned channelIndexB(unsigned n) const
Returns the channel index (0-based) for VFO B for the n-th zone.
Definition anytone_codeplug.cc:2154
AnytoneCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition anytone_codeplug.cc:4522
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:4703
virtual void clear()
Clears and resets the complete codeplug to some default values.
Definition anytone_codeplug.cc:4533
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:4528
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:4686
Config * preprocess(Config *config, const ErrorStack &err) const
Returns a prepared configuration for this particular radio.
Definition anytone_codeplug.cc:4659
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:4643
bool decode(Config *config, const ErrorStack &err)
Decodes a binary codeplug to the given abstract configuration config.
Definition anytone_codeplug.cc:4733
virtual bool allocateBitmaps()=0
Allocates the bitmaps.
QString _label
Holds the image label.
Definition anytone_codeplug.hh:3431
virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition anytone_codeplug.cc:4544
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:197
VFOScanType
Encodes the possible VFO scan types.
Definition anytone_settingsextension.hh:1904
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:2213
Internal offsets within element.
Definition anytone_codeplug.hh:2314
Internal offsets within the element.
Definition anytone_codeplug.hh:2352
Some internal offsets.
Definition anytone_codeplug.hh:1860
Some limits for the quick calls.
Definition anytone_codeplug.hh:1894
static constexpr unsigned int numEntries()
The maximum number of quick-call entries.
Definition anytone_codeplug.hh:1895
Some offsets within the element.
Definition anytone_codeplug.hh:1900
Some limits for boot settings.
Definition anytone_codeplug.hh:1483
static constexpr unsigned int passwordLength()
Maximum password length.
Definition anytone_codeplug.hh:1487
static constexpr unsigned int introLineLength()
Maximum intro line length.
Definition anytone_codeplug.hh:1485
Some internal offsets within element.
Definition anytone_codeplug.hh:1492
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:3374
Some limits for the message.
Definition anytone_codeplug.hh:1653
static constexpr unsigned int length()
Maximum message length.
Definition anytone_codeplug.hh:1654
Some internal used offset.
Definition anytone_codeplug.hh:1659
Internal offsets within element.
Definition anytone_codeplug.hh:1601
Some limits for the list.
Definition anytone_codeplug.hh:3285
static constexpr unsigned int numEntries()
Maximum number of DMR encryption key IDs.
Definition anytone_codeplug.hh:3286
Some internal used offsets within the element.
Definition anytone_codeplug.hh:3291
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:3170
static constexpr unsigned int numberLength()
The maximum length of the numbers.
Definition anytone_codeplug.hh:3172
static constexpr unsigned int numEntries()
The maximum number of entries in the list.
Definition anytone_codeplug.hh:3171
Some limits for the settings.
Definition anytone_codeplug.hh:3103
static constexpr unsigned int remoteKillIdLength()
Maximum remote kill ID length.
Definition anytone_codeplug.hh:3111
static constexpr unsigned int remteStunIdLength()
Maximum remote stun ID length.
Definition anytone_codeplug.hh:3113
static constexpr unsigned int idLength()
Maximum ID length.
Definition anytone_codeplug.hh:3105
static constexpr unsigned int eotIdLength()
Maximum EOT ID length.
Definition anytone_codeplug.hh:3109
static constexpr unsigned int botIdLength()
Maximum BOT ID length.
Definition anytone_codeplug.hh:3107
Some internal offsets.
Definition anytone_codeplug.hh:3118
Internal used offsets within the element.
Definition anytone_codeplug.hh:2393
Some limits of the list.
Definition anytone_codeplug.hh:3324
static constexpr unsigned numEntries()
Maximum number of keys.
Definition anytone_codeplug.hh:3325
Some offsets within the element.
Definition anytone_codeplug.hh:3330
Some limits for the function element.
Definition anytone_codeplug.hh:2568
static constexpr unsigned int idLength()
Maximum name length.
Definition anytone_codeplug.hh:2570
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2572
Some internal offsets.
Definition anytone_codeplug.hh:2577
Some limits for the list.
Definition anytone_codeplug.hh:2612
static constexpr unsigned int numFunctions()
The max number of functions.
Definition anytone_codeplug.hh:2613
Some limits of the element.
Definition anytone_codeplug.hh:2451
static constexpr unsigned int idLength()
Maximum ID length.
Definition anytone_codeplug.hh:2453
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2455
Some internal offsets within element.
Definition anytone_codeplug.hh:2460
Some limits for the list.
Definition anytone_codeplug.hh:2510
static constexpr unsigned int numEntries()
Maximum number of entries.
Definition anytone_codeplug.hh:2511
Some limits for the settings.
Definition anytone_codeplug.hh:2743
static constexpr unsigned int idLength()
Maximum ID length.
Definition anytone_codeplug.hh:2745
static constexpr unsigned int botIdLength()
Maximum BOT ID length.
Definition anytone_codeplug.hh:2747
static constexpr unsigned int eotIdLength()
Maximum EOT ID length.
Definition anytone_codeplug.hh:2749
Some internal offsets.
Definition anytone_codeplug.hh:2754
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:2069
Some limits for this element.
Definition anytone_codeplug.hh:2108
static constexpr unsigned int numEntries()
Maximum number of hot-key entries.
Definition anytone_codeplug.hh:2109
Some internal offsets within the element.
Definition anytone_codeplug.hh:2114
Some limits for the message.
Definition anytone_codeplug.hh:1786
static constexpr unsigned int messageLength()
Maximum message length.
Definition anytone_codeplug.hh:1788
Some internal offsets.
Definition anytone_codeplug.hh:1793
Some internal offsets.
Definition anytone_codeplug.hh:1752
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:1696
static constexpr unsigned int numEntries()
Max number of entries in the table.
Definition anytone_codeplug.hh:1697
Some internal used offsets.
Definition anytone_codeplug.hh:1702
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:1934
static constexpr unsigned int numMessages()
Maximum number of messages.
Definition anytone_codeplug.hh:1935
static constexpr unsigned int messageLength()
Maximum length of the messages.
Definition anytone_codeplug.hh:1936
Some internal offsets.
Definition anytone_codeplug.hh:1941
Some limits of the element.
Definition anytone_codeplug.hh:2899
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2900
Some internal offsets within the element.
Definition anytone_codeplug.hh:2905
Some limits for the element.
Definition anytone_codeplug.hh:2821
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2822
Some internal offsets within the element.
Definition anytone_codeplug.hh:2827
Internal offsets.
Definition anytone_codeplug.hh:2982
Some limits for the channel list.
Definition anytone_codeplug.hh:3207
static constexpr unsigned int numEntries()
Maximum number of channels in the list.
Definition anytone_codeplug.hh:3208
Some internal offsets within the element.
Definition anytone_codeplug.hh:3213
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