libdrmconf 0.12.3
A library to program DMR radios.
 
Loading...
Searching...
No Matches
anytone_codeplug.hh
1#ifndef ANYTONECODEPLUG_HH
2#define ANYTONECODEPLUG_HH
3
4#include "codeplug.hh"
5#include <QGeoCoordinate>
6#include "channel.hh"
7#include "contact.hh"
8
9class RadioSettings;
10
11
20{
21 Q_OBJECT
22
23public:
25 struct CTCSS {
26 public:
28 static uint8_t encode(const SelectiveCall &tone);
30 static SelectiveCall decode(uint8_t code);
31
32 protected:
34 static SelectiveCall _codeTable[52];
35 };
36
38 class BitmapElement: public Element
39 {
40 protected:
42 BitmapElement(uint8_t *ptr, size_t size);
43
44 public:
46 void clear();
47
49 virtual bool isEncoded(unsigned int idx) const ;
51 virtual void setEncoded(unsigned int idx, bool enable);
53 virtual void enableFirst(unsigned int n);
54 };
55
58 {
59 protected:
61 InvertedBitmapElement(uint8_t *ptr, size_t size);
62
63 public:
65 void clear();
66
68 virtual bool isEncoded(unsigned int idx) const ;
70 virtual void setEncoded(unsigned int idx, bool enable);
72 virtual void enableFirst(unsigned int n);
73 };
74
82 {
83 protected:
85 InvertedBytemapElement(uint8_t *ptr, size_t size);
86
87 public:
89 void clear();
90
92 virtual bool isEncoded(unsigned int idx) const ;
94 virtual void setEncoded(unsigned int idx, bool enable);
96 virtual void enableFirst(unsigned int n);
97 };
98
105 {
106 public:
108 enum class Mode {
109 Analog = 0,
113 };
114
122
124 enum class RepeaterMode {
128 };
129
131 enum class SignalingMode {
132 None = 0,
133 CTCSS = 1,
134 DCS = 2
135 };
136
138 enum class Admit {
139 Always = 0,
140 Free = 1,
143 Tone = 1,
144 Busy = 2
145 };
146
148 enum class OptSignaling {
149 Off = 0,
150 DTMF = 1,
153 };
154
155 protected:
157 ChannelElement(uint8_t *ptr, unsigned size);
158
159 public:
161 ChannelElement(uint8_t *ptr);
163 virtual ~ChannelElement();
164
166 static constexpr unsigned int size() { return 0x0040; }
167
169 void clear();
170
172 virtual unsigned rxFrequency() const;
174 virtual void setRXFrequency(unsigned hz);
175
179 virtual unsigned txOffset() const;
183 virtual void setTXOffset(unsigned hz);
185 virtual unsigned txFrequency() const;
188 virtual void setTXFrequency(unsigned hz);
189
191 virtual Mode mode() const;
193 virtual void setMode(Mode mode);
194
196 virtual Channel::Power power() const;
198 virtual void setPower(Channel::Power power);
199
201 virtual FMChannel::Bandwidth bandwidth() const;
203 virtual void setBandwidth(FMChannel::Bandwidth bw);
204
206 virtual RepeaterMode repeaterMode() const;
208 virtual void setRepeaterMode(RepeaterMode mode);
209
211 virtual SignalingMode rxSignalingMode() const;
215 virtual SelectiveCall rxTone() const;
217 virtual void setRXTone(const SelectiveCall &code);
218
220 virtual SignalingMode txSignalingMode() const;
224 virtual SelectiveCall txTone() const;
226 virtual void setTXTone(const SelectiveCall &code);
227
229 virtual bool ctcssPhaseReversal() const;
231 virtual void enableCTCSSPhaseReversal(bool enable);
232
234 virtual bool rxOnly() const;
236 virtual void enableRXOnly(bool enable);
238 virtual bool callConfirm() const;
240 virtual void enableCallConfirm(bool enable);
242 virtual bool talkaround() const;
244 virtual void enableTalkaround(bool enable);
245
247 virtual bool txCTCSSIsCustom() const;
249 virtual SelectiveCall txCTCSS() const;
251 virtual void setTXCTCSS(const SelectiveCall &tone);
253 virtual void enableTXCustomCTCSS();
255 virtual bool rxCTCSSIsCustom() const;
257 virtual SelectiveCall rxCTCSS() const;
259 virtual void setRXCTCSS(const SelectiveCall &tone);
261 virtual void enableRXCustomCTCSS();
262
264 virtual SelectiveCall txDCS() const;
266 virtual void setTXDCS(const SelectiveCall &code);
268 virtual SelectiveCall rxDCS() const;
270 virtual void setRXDCS(const SelectiveCall &code);
271
273 virtual double customCTCSSFrequency() const;
275 virtual void setCustomCTCSSFrequency(double hz);
276
278 virtual unsigned twoToneDecodeIndex() const;
280 virtual void setTwoToneDecodeIndex(unsigned idx);
281
283 virtual unsigned contactIndex() const;
285 virtual void setContactIndex(unsigned idx);
286
288 virtual unsigned radioIDIndex() const;
290 virtual void setRadioIDIndex(unsigned idx);
291
296
298 virtual Admit admit() const;
300 virtual void setAdmit(Admit admit);
301
303 virtual OptSignaling optionalSignaling() const;
305 virtual void setOptionalSignaling(OptSignaling sig);
306
308 virtual bool hasScanListIndex() const;
310 virtual unsigned scanListIndex() const;
312 virtual void setScanListIndex(unsigned idx);
314 virtual void clearScanListIndex();
315
317 virtual bool hasGroupListIndex() const;
319 virtual unsigned groupListIndex() const;
321 virtual void setGroupListIndex(unsigned idx);
323 virtual void clearGroupListIndex();
324
326 virtual unsigned twoToneIDIndex() const;
328 virtual void setTwoToneIDIndex(unsigned idx);
330 virtual unsigned fiveToneIDIndex() const;
332 virtual void setFiveToneIDIndex(unsigned idx);
334 virtual unsigned dtmfIDIndex() const;
336 virtual void setDTMFIDIndex(unsigned idx);
337
339 virtual unsigned colorCode() const;
341 virtual void setColorCode(unsigned code);
342
344 virtual DMRChannel::TimeSlot timeSlot() const;
346 virtual void setTimeSlot(DMRChannel::TimeSlot ts);
347
349 virtual bool smsConfirm() const;
351 virtual void enableSMSConfirm(bool enable);
353 virtual bool simplexTDMA() const;
355 virtual void enableSimplexTDMA(bool enable);
357 virtual bool adaptiveTDMA() const;
359 virtual void enableAdaptiveTDMA(bool enable);
361 virtual bool rxAPRS() const;
363 virtual void enableRXAPRS(bool enable);
365 virtual bool enhancedEncryption() const;
367 virtual void enableEnhancedEncryption(bool enable);
369 virtual bool loneWorker() const;
371 virtual void enableLoneWorker(bool enable);
372
374 virtual bool hasEncryptionKeyIndex() const;
376 virtual unsigned encryptionKeyIndex() const;
378 virtual void setEncryptionKeyIndex(unsigned idx);
380 virtual void clearEncryptionKeyIndex();
381
383 virtual QString name() const;
385 virtual void setName(const QString &name);
386
388 virtual Channel *toChannelObj(Context &ctx) const;
390 virtual bool linkChannelObj(Channel *c, Context &ctx) const;
392 virtual bool fromChannelObj(const Channel *c, Context &ctx);
393
394 protected:
396 struct Offset {
398 };
399 };
400
403 {
404 protected:
406 ChannelBitmapElement(uint8_t *ptr, size_t size);
407
408 public:
410 ChannelBitmapElement(uint8_t *ptr);
411
413 static constexpr unsigned int size() { return 0x0200; }
414 };
415
422 {
423 protected:
425 ContactElement(uint8_t *ptr, unsigned size);
426
427 public:
429 explicit ContactElement(uint8_t *ptr);
431 virtual ~ContactElement();
432
434 static constexpr unsigned int size() { return 0x0064; }
435
437 void clear();
439 bool isValid() const;
440
442 virtual DMRContact::Type type() const;
444 virtual void setType(DMRContact::Type type);
445
447 virtual QString name() const;
449 virtual void setName(const QString &name);
450
452 virtual unsigned number() const;
454 virtual void setNumber(unsigned number);
455
460
462 virtual DMRContact *toContactObj(Context &ctx) const;
464 virtual bool fromContactObj(const DMRContact *contact, Context &ctx);
465 };
466
469 {
470 protected:
472 ContactBitmapElement(uint8_t *ptr, size_t size);
473
474 public:
476 ContactBitmapElement(uint8_t *ptr);
477
479 static constexpr unsigned int size() { return 0x0500; }
480 };
481
487 {
488 protected:
490 DTMFContactElement(uint8_t *ptr, unsigned size);
491
492 public:
494 explicit DTMFContactElement(uint8_t *ptr);
496 virtual ~DTMFContactElement();
497
499 static constexpr unsigned int size() { return 0x0018; }
500
502 void clear();
503
505 virtual QString number() const;
507 virtual void setNumber(const QString &number);
508
510 virtual QString name() const;
512 virtual void setName(const QString &name);
513
515 virtual DTMFContact *toContact() const;
517 virtual bool fromContact(const DTMFContact *contact);
518
519 public:
521 struct Limit {
522 static constexpr unsigned int digitCount() { return 14; }
523 static constexpr unsigned int nameLength() { return 15; }
524 };
525
526 protected:
528 struct Offset {
530 static constexpr unsigned int digits() { return 0x0000; }
531 static constexpr unsigned int numDigits() { return 0x0007; }
532 static constexpr unsigned int name() { return 0x0008; }
534 };
535 };
536
539 {
540 protected:
542 DTMFContactBytemapElement(uint8_t *ptr, size_t size);
543
544 public:
546 explicit DTMFContactBytemapElement(uint8_t *ptr);
547
549 static constexpr unsigned int size() { return 0x0100; }
550 };
551
557 {
558 protected:
560 GroupListElement(uint8_t *ptr, unsigned size);
561
562 public:
564 GroupListElement(uint8_t *ptr);
565
567 static constexpr unsigned int size() { return 0x0120; }
568
570 void clear();
572 bool isValid() const;
573
575 virtual QString name() const;
577 virtual void setName(const QString &name);
578
580 virtual bool hasMemberIndex(unsigned n) const;
582 virtual unsigned memberIndex(unsigned n) const;
584 virtual void setMemberIndex(unsigned n, unsigned idx);
586 virtual void clearMemberIndex(unsigned n);
587
591 virtual RXGroupList *toGroupListObj() const;
594 virtual bool linkGroupList(RXGroupList *lst, Context &ctx) const;
596 virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx);
597 };
598
601 {
602 protected:
604 GroupListBitmapElement(uint8_t *ptr, size_t size);
605
606 public:
608 explicit GroupListBitmapElement(uint8_t *ptr);
609
611 static constexpr unsigned int size() { return 0x0020; }
612 };
613
619 {
620 public:
622 enum class PriChannel {
623 Off = 0,
626 Both = 3
627 };
628
640
641 protected:
643 ScanListElement(uint8_t *ptr, unsigned size);
644
645 public:
647 ScanListElement(uint8_t *ptr);
648
650 static constexpr unsigned int size() { return 0x0090; }
651
653 void clear();
654
656 virtual PriChannel priorityChannels() const;
658 virtual void setPriorityChannels(PriChannel sel);
659
661 virtual bool hasPrimary() const;
663 virtual bool primaryIsSelected() const;
665 virtual unsigned primary() const;
667 virtual void setPrimary(unsigned idx);
669 virtual void setPrimarySelected();
671 virtual void clearPrimaryChannel();
672
674 virtual bool hasSecondary() const;
676 virtual bool secondaryIsSelected() const;
678 virtual unsigned secondary() const;
680 virtual void setSecondary(unsigned idx);
682 virtual void setSecondarySelected();
684 virtual void clearSecondaryChannel();
685
687 virtual unsigned lookBackTimeA() const;
689 virtual void setLookBackTimeA(unsigned sec);
691 virtual unsigned lookBackTimeB() const;
693 virtual void setLookBackTimeB(unsigned sec);
695 virtual unsigned dropOutDelay() const;
697 virtual void setDropOutDelay(unsigned sec);
699 virtual unsigned dwellTime() const;
701 virtual void setDwellTime(unsigned sec);
702
704 virtual RevertChannel revertChannel() const;
706 virtual void setRevertChannel(RevertChannel type);
707
709 virtual QString name() const;
711 virtual void setName(const QString &name);
712
714 virtual bool hasMemberIndex(unsigned n) const;
716 virtual unsigned memberIndex(unsigned n) const;
718 virtual void setMemberIndex(unsigned n, unsigned idx);
720 virtual void clearMemberIndex(unsigned n);
721
724 virtual ScanList *toScanListObj() const;
726 virtual bool linkScanListObj(ScanList *lst, Context &ctx) const;
728 virtual bool fromScanListObj(ScanList *lst, Context &ctx);
729 };
730
733 {
734 protected:
736 ScanListBitmapElement(uint8_t *ptr, size_t size);
737
738 public:
740 ScanListBitmapElement(uint8_t *ptr);
741
743 static constexpr unsigned int size() { return 0x00000020; }
744 };
745
751 {
752 protected:
754 RadioIDElement(uint8_t *ptr, unsigned size);
755
756 public:
758 RadioIDElement(uint8_t *ptr);
759
761 static constexpr unsigned int size() { return 0x0020; }
762
764 void clear();
765
767 virtual unsigned number() const;
769 virtual void setNumber(unsigned number);
770
772 virtual QString name() const;
774 virtual void setName(const QString &name);
775
777 virtual bool fromRadioID(DMRRadioID *id);
779 virtual DMRRadioID *toRadioID() const;
780 };
781
784 {
785 protected:
787 RadioIDBitmapElement(uint8_t *ptr, size_t size);
788
789 public:
791 RadioIDBitmapElement(uint8_t *ptr);
792
794 static constexpr unsigned int size() { return 0x0020; }
795 };
796
805 {
806 public:
808 enum class AutoShutdown {
809 Off = 0, After10min = 1, After30min = 2, After60min = 3, After120min = 4,
810 };
811
812 protected:
814 GeneralSettingsElement(uint8_t *ptr, unsigned size);
815
816 public:
818 void clear();
819
821 virtual bool keyToneEnabled() const = 0;
823 virtual void enableKeyTone(bool enable) = 0;
824
826 virtual bool displayFrequency() const;
828 virtual void enableDisplayFrequency(bool enable);
830 virtual bool autoKeyLock() const;
832 virtual void enableAutoKeyLock(bool enable);
834 virtual Interval autoShutdownDelay() const;
836 virtual void setAutoShutdownDelay(Interval min);
842 virtual bool bootPassword() const;
844 virtual void enableBootPassword(bool enable);
846 virtual unsigned squelchLevelA() const;
848 virtual void setSquelchLevelA(unsigned level);
850 virtual unsigned squelchLevelB() const;
852 virtual void setSquelchLevelB(unsigned level);
853
859 virtual unsigned dmrMicGain() const = 0;
861 virtual void setDMRMicGain(unsigned int gain) = 0;
862
883
904
906 virtual Interval longPressDuration() const = 0;
908 virtual void setLongPressDuration(Interval ms) = 0;
909
911 virtual bool knobLock() const = 0;
913 virtual void enableKnobLock(bool enable) = 0;
915 virtual bool keypadLock() const = 0;
917 virtual void enableKeypadLock(bool enable) = 0;
919 virtual bool sidekeysLock() const = 0;
921 virtual void enableSidekeysLock(bool enable) = 0;
923 virtual bool keyLockForced() const = 0;
925 virtual void enableKeyLockForced(bool enable) = 0;
926
927 public:
929 virtual bool vfoModeA() const = 0;
931 virtual void enableVFOModeA(bool enable) = 0;
933 virtual bool vfoModeB() const = 0;
935 virtual void enableVFOModeB(bool enable) = 0;
936
938 virtual unsigned memoryZoneA() const = 0;
940 virtual void setMemoryZoneA(unsigned zone) = 0;
942 virtual unsigned memoryZoneB() const = 0;
944 virtual void setMemoryZoneB(unsigned zone) = 0;
945
947 virtual bool recording() const = 0;
949 virtual void enableRecording(bool enable) = 0;
950
952 virtual unsigned brightness() const = 0;
954 virtual void setBrightness(unsigned level) = 0;
955
957 virtual bool gps() const = 0;
959 virtual void enableGPS(bool enable) = 0;
961 virtual bool smsAlert() const = 0;
963 virtual void enableSMSAlert(bool enable) = 0;
965 virtual bool activeChannelB() const = 0;
967 virtual void enableActiveChannelB(bool enable) = 0;
969 virtual bool subChannel() const = 0;
971 virtual void enableSubChannel(bool enable) = 0;
973 virtual bool callAlert() const = 0;
975 virtual void enableCallAlert(bool enable) = 0;
976
978 virtual QTimeZone gpsTimeZone() const = 0;
980 virtual void setGPSTimeZone(const QTimeZone &zone) = 0;
982 virtual bool dmrTalkPermit() const = 0;
984 virtual bool fmTalkPermit() const = 0;
986 virtual void enableDMRTalkPermit(bool enable) = 0;
988 virtual void enableFMTalkPermit(bool enable) = 0;
990 virtual bool dmrResetTone() const = 0;
992 virtual void enableDMRResetTone(bool enable) = 0;
993
995 virtual bool idleChannelTone() const = 0;
997 virtual void enableIdleChannelTone(bool enable) = 0;
999 virtual Interval menuExitTime() const = 0;
1001 virtual void setMenuExitTime(Interval intv) = 0;
1003 virtual bool startupTone() const = 0;
1005 virtual void enableStartupTone(bool enable) = 0;
1007 virtual bool callEndPrompt() const = 0;
1009 virtual void enableCallEndPrompt(bool enable) = 0;
1011 virtual unsigned maxSpeakerVolume() const = 0;
1013 virtual void setMaxSpeakerVolume(unsigned level) = 0;
1015 virtual bool getGPSPosition() const = 0;
1017 virtual void enableGetGPSPosition(bool enable) = 0;
1018
1020 virtual bool volumeChangePrompt() const = 0;
1022 virtual void enableVolumeChangePrompt(bool enable) = 0;
1031
1033 virtual bool displayClock() const = 0;
1035 virtual void enableDisplayClock(bool enable) = 0;
1037 virtual bool enhanceAudio() const = 0;
1039 virtual void enableEnhancedAudio(bool enable) = 0;
1048
1057
1061 virtual unsigned autoRepeaterOffsetFrequencyIndexUHF() const = 0;
1063 virtual void setAutoRepeaterOffsetFrequenyIndexUHF(unsigned idx) = 0;
1069 virtual unsigned autoRepeaterOffsetFrequencyIndexVHF() const = 0;
1071 virtual void setAutoRepeaterOffsetFrequenyIndexVHF(unsigned idx) = 0;
1074
1076 virtual bool showCurrentContact() const = 0;
1078 virtual void enableShowCurrentContact(bool enable) = 0;
1079
1081 virtual void callToneMelody(Melody &melody) const = 0;
1083 virtual void setCallToneMelody(const Melody &melody) = 0;
1085 virtual void idleToneMelody(Melody &melody) const = 0;
1087 virtual void setIdleToneMelody(const Melody &melody) = 0;
1089 virtual void resetToneMelody(Melody &melody) const = 0;
1091 virtual void setResetToneMelody(const Melody &melody) = 0;
1092
1094 virtual bool defaultChannel() const = 0;
1096 virtual void enableDefaultChannel(bool enable) = 0;
1098 virtual unsigned defaultZoneIndexA() const = 0;
1100 virtual void setDefaultZoneIndexA(unsigned idx) = 0;
1102 virtual unsigned defaultZoneIndexB() const = 0;
1104 virtual void setDefaultZoneIndexB(unsigned idx) = 0;
1106 virtual bool defaultChannelAIsVFO() const = 0;
1109 virtual unsigned defaultChannelAIndex() const = 0;
1111 virtual void setDefaultChannelAIndex(unsigned idx) = 0;
1113 virtual void setDefaultChannelAToVFO() = 0;
1115 virtual bool defaultChannelBIsVFO() const = 0;
1118 virtual unsigned defaultChannelBIndex() const = 0;
1120 virtual void setDefaultChannelBIndex(unsigned idx) = 0;
1122 virtual void setDefaultChannelBToVFO() = 0;
1123
1125 virtual bool displayCall() const = 0;
1127 virtual void enableDisplayCall(bool enable) = 0;
1128
1133
1135 virtual bool gpsUnitsImperial() const = 0;
1137 virtual void enableGPSUnitsImperial(bool enable) = 0;
1138
1147
1160
1162 virtual bool showLastHeard() const = 0;
1164 virtual void enableShowLastHeard(bool enable) = 0;
1165
1167 virtual bool keepLastCaller() const = 0;
1169 virtual void enableKeepLastCaller(bool enable) = 0;
1170
1172 virtual bool fromConfig(const Flags &flags, Context &ctx);
1174 virtual bool updateConfig(Context &ctx);
1176 virtual bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err=ErrorStack());
1177
1178 protected:
1180 struct Offset : public Element::Offset {
1182 static constexpr unsigned int displayMode() { return 0x0001; }
1183 static constexpr unsigned int autoKeyLock() { return 0x0002; }
1184 static constexpr unsigned int autoShutDown() { return 0x0003; }
1185 static constexpr unsigned int bootDisplay() { return 0x0006; }
1186 static constexpr unsigned int bootPassword() { return 0x0007; }
1187 static constexpr unsigned int squelchLevelA() { return 0x0009; }
1188 static constexpr unsigned int squelchLevelB() { return 0x000a; }
1190 };
1191 };
1192
1200 {
1201 protected:
1203 ExtendedSettingsElement(uint8_t *ptr, unsigned size);
1204
1205 public:
1207 virtual bool sendTalkerAlias() const = 0;
1209 virtual void enableSendTalkerAlias(bool enable) = 0;
1210
1212 virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const = 0;
1214 virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode) = 0;
1215
1217 virtual AnytoneDMRSettingsExtension::TalkerAliasEncoding talkerAliasEncoding() const = 0;
1219 virtual void setTalkerAliasEncoding(AnytoneDMRSettingsExtension::TalkerAliasEncoding encoding) = 0;
1220
1225
1230
1235
1237 virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1239 virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1241 virtual bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1242 };
1243
1250 {
1251 protected:
1253 ZoneChannelListElement(uint8_t *ptr, unsigned size);
1254
1255 public:
1257 ZoneChannelListElement(uint8_t *ptr);
1258
1260 static constexpr unsigned int size() { return 0x0400; }
1261
1263 void clear();
1264
1266 virtual bool hasChannelA(unsigned n) const;
1268 virtual unsigned channelIndexA(unsigned n) const;
1270 virtual void setChannelIndexA(unsigned n, unsigned idx);
1272 virtual void clearChannelIndexA(unsigned n);
1273
1275 virtual bool hasChannelB(unsigned n) const;
1277 virtual unsigned channelIndexB(unsigned n) const;
1279 virtual void setChannelIndexB(unsigned n, unsigned idx);
1281 virtual void clearChannelIndexB(unsigned n);
1282 };
1283
1286 {
1287 protected:
1289 ZoneBitmapElement(uint8_t *ptr, size_t size);
1290
1291 public:
1293 ZoneBitmapElement(uint8_t *ptr);
1294
1296 static constexpr unsigned int size() { return 0x0020; }
1297 };
1298
1304 {
1305 protected:
1307 BootSettingsElement(uint8_t *ptr, unsigned size);
1308
1309 public:
1311 BootSettingsElement(uint8_t *ptr);
1312
1314 static constexpr unsigned int size() { return 0x0030; }
1315
1317 void clear();
1318
1320 virtual QString introLine1() const;
1322 virtual void setIntroLine1(const QString &txt);
1324 virtual QString introLine2() const;
1326 virtual void setIntroLine2(const QString &txt);
1327
1329 virtual QString password() const;
1331 virtual void setPassword(const QString &txt);
1332
1334 virtual bool fromConfig(const Flags &flags, Context &ctx);
1336 virtual bool updateConfig(Context &ctx);
1337 };
1338
1344 {
1345 protected:
1347 DMRAPRSSettingsElement(uint8_t *ptr, unsigned size);
1348
1349 public:
1351 explicit DMRAPRSSettingsElement(uint8_t *ptr);
1352
1354 static constexpr unsigned int size() { return 0x0030; }
1355
1357 void clear();
1358
1360 virtual unsigned manualInterval() const;
1362 virtual void setManualInterval(unsigned sec);
1363
1365 virtual bool automatic() const;
1367 virtual unsigned automaticInterval() const;
1369 virtual void setAutomaticInterval(unsigned sec);
1371 virtual void disableAutomatic();
1372
1374 virtual bool fixedLocation() const;
1376 virtual QGeoCoordinate location() const;
1378 virtual void setLocation(const QGeoCoordinate &pos);
1380 virtual void enableFixedLocation(bool enable);
1381
1383 virtual Channel::Power power() const;
1385 virtual void setPower(Channel::Power power);
1386
1388 virtual bool hasChannel(unsigned n) const;
1390 virtual bool channelIsVFOA(unsigned n) const;
1392 virtual bool channelIsVFOB(unsigned n) const;
1394 virtual bool channelIsSelected(unsigned n) const;
1396 virtual unsigned channelIndex(unsigned n) const;
1398 virtual void setChannelIndex(unsigned n, unsigned idx);
1400 virtual void setChannelVFOA(unsigned n);
1402 virtual void setChannelVFOB(unsigned n);
1404 virtual void setChannelSelected(unsigned n);
1406 virtual void clearChannel(unsigned n);
1407
1409 virtual unsigned destination() const;
1411 virtual void setDestination(unsigned id);
1412
1414 virtual DMRContact::Type callType() const;
1416 virtual void setCallType(DMRContact::Type type);
1417
1419 virtual bool timeSlotOverride() const;
1421 virtual DMRChannel::TimeSlot timeslot() const;
1423 virtual void overrideTimeSlot(DMRChannel::TimeSlot ts);
1425 virtual void disableTimeSlotOverride();
1426
1428 virtual bool fromConfig(const Flags &flags, Context &ctx);
1430 virtual bool createGPSSystem(uint8_t i, Context &ctx);
1432 virtual bool linkGPSSystem(uint8_t i, Context &ctx);
1433 };
1434
1437 {
1438 protected:
1440 DMRAPRSMessageElement(uint8_t *ptr, size_t size);
1441
1442 public:
1444 DMRAPRSMessageElement(uint8_t *ptr);
1445
1447 static constexpr unsigned int size() { return 0x0030; }
1448
1449 void clear();
1450
1452 virtual QString message() const;
1454 void setMessage(const QString &message);
1455
1457 virtual bool fromConfig(Codeplug::Flags flags, Context &ctx);
1459 virtual bool updateConfig(Context &ctx) const;
1460
1461 public:
1463 struct Limit {
1464 static constexpr unsigned int length() { return 32; }
1465 };
1466
1467 protected:
1469 struct Offset {
1471 static constexpr unsigned int message() { return 0x0000; }
1473 };
1474 };
1475
1481 {
1482 protected:
1484 RepeaterOffsetListElement(uint8_t *ptr, size_t size);
1485
1486 public:
1488 explicit RepeaterOffsetListElement(uint8_t *ptr);
1489
1491 static constexpr unsigned int size() { return 0x03f0; }
1492
1493 void clear();
1494
1496 virtual bool isSet(unsigned int n) const;
1498 virtual Frequency offset(unsigned int n) const;
1500 virtual void setOffset(unsigned int n, Frequency freq);
1502 virtual void clearOffset(unsigned int n);
1503
1504 public:
1506 struct Limit {
1507 static constexpr unsigned int numEntries() { return 250; }
1508 };
1509
1510 protected:
1512 struct Offset {
1514 static constexpr unsigned int frequencies() { return 0x0000; }
1515 static constexpr unsigned int betweenFrequencies() { return sizeof(uint32_t); }
1517 };
1518 };
1519
1527 {
1528 protected:
1530 MessageListElement(uint8_t *ptr, unsigned size);
1531
1532 public:
1534 explicit MessageListElement(uint8_t *ptr);
1535
1537 static constexpr unsigned int size() { return 0x0010; }
1538
1540 void clear();
1541
1543 virtual bool hasNext() const;
1545 virtual unsigned next() const;
1547 virtual void setNext(unsigned idx);
1549 virtual void clearNext();
1550
1552 virtual bool hasIndex() const;
1554 virtual unsigned index() const;
1556 virtual void setIndex(unsigned idx);
1558 virtual void clearIndex();
1559 };
1560
1566 {
1567 protected:
1569 MessageElement(uint8_t *ptr, unsigned size);
1570
1571 public:
1573 MessageElement(uint8_t *ptr);
1574
1576 static constexpr unsigned int size() { return 0x0100; }
1577
1579 void clear();
1580
1582 virtual QString message() const;
1584 virtual void setMessage(const QString &msg);
1585 };
1586
1589 {
1590 protected:
1592 MessageBytemapElement(uint8_t *ptr, size_t size);
1593
1594 public:
1596 MessageBytemapElement(uint8_t *ptr);
1597
1599 static constexpr unsigned int size() { return 0x0090; }
1600 };
1601
1607 {
1608 public:
1610 enum class Type {
1611 None = 0,
1612 DTMF = 1,
1615 };
1616
1617 protected:
1619 AnalogQuickCallElement(uint8_t *ptr, unsigned size);
1620
1621 public:
1623 explicit AnalogQuickCallElement(uint8_t *ptr);
1624
1626 static constexpr unsigned int size() { return 0x0002; }
1627
1629 void clear();
1630
1632 virtual Type type() const;
1634 virtual void setType(Type type);
1635
1637 virtual bool hasContactIndex() const;
1639 virtual unsigned contactIndex() const;
1641 virtual void setContactIndex(unsigned idx);
1643 virtual void clearContactIndex();
1644 };
1645
1651 {
1652 protected:
1654 AnalogQuickCallsElement(uint8_t *ptr, size_t size);
1655
1656 public:
1658 AnalogQuickCallsElement(uint8_t *ptr);
1659
1661 static constexpr unsigned int size() { return 0x0100; }
1662
1664 void clear();
1665
1667 uint8_t *quickCall(unsigned int n) const;
1668
1669 public:
1671 struct Limit {
1672 static constexpr unsigned int numEntries() { return 4; }
1673 };
1674
1675 protected:
1677 struct Offset {
1679 static constexpr unsigned int quickCalls() { return 0x0000; }
1681 };
1682 };
1683
1689 {
1690 protected:
1692 StatusMessagesElement(uint8_t *ptr, size_t size);
1693
1694 public:
1696 StatusMessagesElement(uint8_t *ptr);
1697
1699 static constexpr unsigned int size() { return 0x0400; }
1700
1701 void clear();
1702
1704 virtual QString message(unsigned int n) const;
1706 virtual void setMessage(unsigned int n, const QString &msg);
1707
1708 public:
1710 struct Limit {
1711 static constexpr unsigned int numMessages() { return 32; }
1712 static constexpr unsigned int messageLength() { return 32; }
1713 };
1714
1715 protected:
1717 struct Offset {
1719 static constexpr unsigned int messages() { return 0x0000; }
1720 static constexpr unsigned int betweenMessages() { return 0x0020; }
1722 };
1723 };
1724
1727 {
1728 protected:
1730 StatusMessageBitmapElement(uint8_t *ptr, size_t size);
1731
1732 public:
1734 StatusMessageBitmapElement(uint8_t *ptr);
1735
1737 static constexpr unsigned int size() { return 0x0010; }
1738 };
1739
1745 {
1746 public:
1748 enum class Type {
1749 Call = 0,
1750 Menu = 1
1751 };
1752
1754 enum class MenuItem {
1755 SMS = 1,
1758 Inbox = 4,
1763 };
1764
1766 enum class CallType {
1769 };
1770
1781
1782 protected:
1784 HotKeyElement(uint8_t *ptr, unsigned size);
1785
1786 public:
1788 explicit HotKeyElement(uint8_t *ptr);
1789
1791 static constexpr unsigned int size() { return 0x0030; }
1792
1794 void clear();
1795
1797 virtual Type type() const;
1799 virtual void setType(Type type);
1800
1802 virtual MenuItem menuItem() const;
1805 virtual void setMenuItem(MenuItem item);
1806
1808 virtual CallType callType() const;
1811 virtual void setCallType(CallType type);
1812
1815 virtual DigiCallType digiCallType() const;
1818 virtual void setDigiCallType(DigiCallType type);
1819
1821 virtual bool hasContactIndex() const;
1825 virtual unsigned contactIndex() const;
1828 virtual void setContactIndex(unsigned idx);
1830 virtual void clearContactIndex();
1831
1833 virtual bool hasMessageIndex() const;
1836 virtual unsigned messageIndex() const;
1838 virtual void setMessageIndex(unsigned idx);
1840 virtual void clearMessageIndex();
1841 };
1842
1850 {
1851 protected:
1853 HotKeySettingsElement(uint8_t *ptr, size_t size);
1854
1855 public:
1857 HotKeySettingsElement(uint8_t *ptr);
1858
1860 static constexpr unsigned int size() { return 0x0360; }
1861
1862 void clear();
1863
1865 virtual uint8_t *hotKeySetting(unsigned int n) const;
1866
1867 public:
1869 struct Limit {
1870 static constexpr unsigned int numEntries() { return 18; }
1871 };
1872
1873 protected:
1875 struct Offset {
1877 static constexpr unsigned int hotKeySettings() { return 0x0000; }
1878 static constexpr unsigned int betweenHotKeySettings() { return HotKeySettingsElement::size(); }
1880 };
1881 };
1882
1888 {
1889 public:
1894 class AnalogAlarm: public Element
1895 {
1896 public:
1898 enum class Action {
1899 None = 0,
1902 Both = 3,
1903 };
1904
1906 enum class ENIType {
1907 None = 0,
1908 DTMF = 1,
1910 };
1911
1912 protected:
1914 AnalogAlarm(uint8_t *ptr, unsigned size);
1915
1916 public:
1918 AnalogAlarm(uint8_t *ptr);
1919
1921 static constexpr unsigned int size() { return 0x000a; }
1922
1924 void clear();
1925
1927 virtual Action action() const;
1929 virtual void setAction(Action action);
1930
1932 virtual ENIType encodingType() const;
1934 virtual void setEncodingType(ENIType type);
1935
1937 virtual unsigned emergencyIndex() const;
1939 virtual void setEmergencyIndex(unsigned idx);
1940
1942 virtual unsigned duration() const;
1944 virtual void setDuration(unsigned sec);
1946 virtual unsigned txDuration() const;
1948 virtual void setTXDuration(unsigned sec);
1950 virtual unsigned rxDuration() const;
1952 virtual void setRXDuration(unsigned sec);
1953
1955 virtual bool channelIsSelected() const;
1957 virtual unsigned channelIndex() const;
1959 virtual void setChannelIndex(unsigned idx);
1961 virtual void setChannelSelected();
1962
1964 virtual bool repeatContinuously() const;
1966 virtual unsigned repetitions() const;
1968 virtual void setRepetitions(unsigned num);
1970 virtual void setRepatContinuously();
1971 };
1972
1977 class DigitalAlarm: public Element
1978 {
1979 public:
1981 enum class Action {
1982 None = 0,
1985 Local = 3,
1986 };
1987
1988 protected:
1990 DigitalAlarm(uint8_t *ptr, unsigned size);
1991
1992 public:
1994 explicit DigitalAlarm(uint8_t *ptr);
1995
1997 static constexpr unsigned int size() { return 0x000c; }
1998
2000 void clear();
2001
2003 virtual Action action() const;
2005 virtual void setAction(Action action);
2006
2008 virtual unsigned duration() const;
2010 virtual void setDuration(unsigned sec);
2012 virtual unsigned txDuration() const;
2014 virtual void setTXDuration(unsigned sec);
2016 virtual unsigned rxDuration() const;
2018 virtual void setRXDuration(unsigned sec);
2019
2021 virtual bool channelIsSelected() const;
2023 virtual unsigned channelIndex() const;
2025 virtual void setChannelIndex(unsigned idx);
2027 virtual void setChannelSelected();
2028
2030 virtual bool repeatContinuously() const;
2032 virtual unsigned repetitions() const;
2034 virtual void setRepetitions(unsigned num);
2036 virtual void setRepatContinuously();
2037
2039 virtual unsigned voiceBroadcastDuration() const;
2041 virtual void setVoiceBroadcastDuration(unsigned min);
2043 virtual unsigned areaBroadcastDuration() const;
2045 virtual void setAreaBroadcastDuration(unsigned min);
2046
2048 virtual bool vox() const;
2050 virtual void enableVOX(bool enable);
2052 virtual bool rxAlarm() const;
2054 virtual void enableRXAlarm(bool enable);
2055 };
2056
2057 protected:
2059 AlarmSettingElement(uint8_t *ptr, unsigned size);
2060
2061 public:
2063 AlarmSettingElement(uint8_t *ptr);
2064
2066 static constexpr unsigned int size() { return 0x0020; }
2067
2069 void clear();
2070
2072 virtual uint8_t *analog() const;
2074 virtual uint8_t *digital() const;
2075
2076 protected:
2078 struct Offset {
2080 static constexpr unsigned int analog() { return 0x0000; }
2081 static constexpr unsigned int digital() { return 0x000a; }
2083 };
2084 };
2085
2091 {
2092 protected:
2094 DigitalAlarmExtensionElement(uint8_t *ptr, unsigned size);
2095
2096 public:
2098 DigitalAlarmExtensionElement(uint8_t *ptr);
2099
2101 static constexpr unsigned int size() { return 0x0030; }
2102
2104 void clear();
2105
2107 virtual DMRContact::Type callType() const;
2109 virtual void setCallType(DMRContact::Type type);
2110
2112 virtual unsigned destination() const;
2114 virtual void setDestination(unsigned number);
2115
2116 protected:
2118 struct Offset {
2120 static constexpr unsigned int callType() { return 0x0000; }
2121 static constexpr unsigned int destination() { return 0x0023; }
2123 };
2124 };
2125
2131 {
2132 public:
2134 enum class Standard {
2135 ZVEI1 = 0, ZVEI2, ZVEI3, PZVEI, DZVEI, PDZVEI, CCIR1, CCIR2, PCCIR, EEA, EuroSignal, NATEL,
2136 MODAT, CCITT, EIA
2137 };
2138
2139 protected:
2141 FiveToneIDElement(uint8_t *ptr, unsigned size);
2142
2143 public:
2145 FiveToneIDElement(uint8_t *ptr);
2146
2148 static constexpr unsigned int size() { return 0x0020; }
2149
2151 void clear();
2152
2154 virtual Standard standard() const;
2156 virtual void setStandard(Standard std);
2157
2159 virtual unsigned toneDuration() const;
2161 virtual void setToneDuration(unsigned ms);
2162
2164 virtual QString id() const;
2166 virtual void setID(const QString &id);
2167
2169 virtual QString name() const;
2171 virtual void setName(const QString &name);
2172 };
2173
2176 {
2177 protected:
2179 FiveToneIDBitmapElement(uint8_t *ptr, size_t size);
2180
2181 public:
2183 FiveToneIDBitmapElement(uint8_t *ptr);
2184
2186 static constexpr unsigned int size() { return 0x0010; }
2187 };
2188
2194 {
2195 protected:
2197 FiveToneIDListElement(uint8_t *ptr, size_t size);
2198
2199 public:
2201 FiveToneIDListElement(uint8_t *ptr);
2202
2204 static constexpr unsigned int size() { return 0x0c80; }
2205
2206 void clear();
2207
2209 virtual uint8_t *member(unsigned int n) const;
2210
2211 public:
2213 struct Limit {
2214 static constexpr unsigned int numEntries() { return 100; }
2215 };
2216 };
2217
2223 {
2224 public:
2226 enum class Function {
2227 OpenSquelch=0, CallAll, EmergencyAlarm, RemoteKill, RemoteStun, RemoteWakeup,
2228 GroupCall
2229 };
2230
2232 enum class Response {
2233 None=0, Tone, ToneRespond
2234 };
2235
2236 protected:
2238 FiveToneFunctionElement(uint8_t *ptr, unsigned size);
2239
2240 public:
2242 explicit FiveToneFunctionElement(uint8_t *ptr);
2243
2245 static constexpr unsigned int size() { return 0x0020; }
2246
2248 void clear();
2249
2251 virtual Function function() const;
2253 virtual void setFunction(Function function);
2255 virtual Response response() const;
2257 virtual void setResponse(Response response);
2258
2260 virtual QString id() const;
2262 virtual void setID(const QString &id);
2263
2265 virtual QString name() const;
2267 virtual void setName(const QString &name);
2268 };
2269
2275 {
2276 protected:
2278 FiveToneFunctionListElement(uint8_t *ptr, size_t size);
2279
2280 public:
2282 FiveToneFunctionListElement(uint8_t *ptr);
2283
2285 static constexpr unsigned int size() { return 0x0200; }
2286
2287 void clear();
2288
2290 virtual uint8_t *function(unsigned int n) const;
2291
2292 public:
2294 struct Limit {
2295 static constexpr unsigned int numFunctions() { return 16; }
2296 };
2297 };
2298
2304 {
2305 public:
2307 enum class Response {
2308 None = 0, Tone, ToneRespond
2309 };
2310
2312
2313 protected:
2315 FiveToneSettingsElement(uint8_t *ptr, unsigned size);
2316
2317 public:
2319 FiveToneSettingsElement(uint8_t *ptr);
2320
2322 static constexpr unsigned int size() { return 0x0080; }
2323
2325 void clear();
2326
2328 virtual Response decodingResponse() const;
2330 virtual void setDecodingResponse(Response response);
2331
2333 virtual Standard decodingStandard() const;
2335 virtual void setDecodingStandard(Standard standard);
2336
2338 virtual unsigned decodingToneDuration() const;
2340 virtual void setDecodingToneDuration(unsigned ms);
2341
2343 virtual QString id() const;
2345 virtual void setID(const QString &id);
2346
2348 virtual unsigned postEncodeDelay() const;
2350 virtual void setPostEncodeDelay(unsigned ms);
2351
2353 virtual bool hasPTTID() const;
2355 virtual unsigned pttID() const;
2357 virtual void setPTTID(unsigned id);
2359 virtual void clearPTTID();
2360
2362 virtual unsigned autoResetTime() const;
2364 virtual void setAutoResetTime(unsigned s);
2365
2367 virtual unsigned firstDelay() const;
2369 virtual void setFirstDelay(unsigned ms);
2370
2372 virtual bool sidetoneEnabled() const;
2374 virtual void enableSidetone(bool enable);
2376 virtual unsigned stopCode() const;
2378 virtual void setStopCode(unsigned code);
2380 virtual unsigned stopTime() const;
2382 virtual void setStopTime(unsigned ms);
2384 virtual unsigned decodeTime() const;
2386 virtual void setDecodeTime(unsigned ms);
2388 virtual unsigned delayAfterStop() const;
2390 virtual void setDelayAfterStop(unsigned ms);
2392 virtual unsigned preTime() const;
2394 virtual void setPreTime(unsigned ms);
2395
2397 virtual Standard botStandard() const;
2399 virtual void setBOTStandard(Standard standard);
2401 virtual unsigned botToneDuration() const;
2403 virtual void setBOTToneDuration(unsigned ms);
2405 virtual QString botID() const;
2407 virtual void setBOTID(const QString &id);
2408
2410 virtual Standard eotStandard() const;
2412 virtual void setEOTStandard(Standard standard);
2414 virtual unsigned eotToneDuration() const;
2416 virtual void setEOTToneDuration(unsigned ms);
2418 virtual QString eotID() const;
2420 virtual void setEOTID(const QString &id);
2421 };
2422
2428 {
2429 protected:
2431 TwoToneIDElement(uint8_t *ptr, unsigned size);
2432
2433 public:
2435 TwoToneIDElement(uint8_t *ptr);
2436
2438 static constexpr unsigned int size() { return 0x0010; }
2439
2441 void clear();
2442
2444 virtual double firstTone() const;
2446 virtual void setFirstTone(double f);
2447
2449 virtual double secondTone() const;
2451 virtual void setSecondTone(double f);
2452
2454 virtual QString name() const;
2456 virtual void setName(const QString &name);
2457
2458 public:
2460 struct Limit {
2461 static constexpr unsigned int nameLength() { return 7; }
2462 };
2463
2464 protected:
2466 struct Offset {
2468 static constexpr unsigned int firstTone() { return 0x0000; }
2469 static constexpr unsigned int secondTone() { return 0x0002; }
2470 static constexpr unsigned int name() { return 0x0008; }
2472 };
2473 };
2474
2477 {
2478 protected:
2480 TwoToneIDBitmapElement(uint8_t *ptr, size_t size);
2481
2482 public:
2484 TwoToneIDBitmapElement(uint8_t *ptr);
2485
2487 static constexpr unsigned int size() { return 0x0010; }
2488 };
2489
2495 {
2496 public:
2498 enum class Response {
2499 None = 0, Tone, ToneRespond
2500 };
2501
2502 protected:
2504 TwoToneFunctionElement(uint8_t *ptr, unsigned size);
2505
2506 public:
2508 TwoToneFunctionElement(uint8_t *ptr);
2509
2511 static constexpr unsigned int size() { return 0x0020; }
2512
2514 void clear();
2515
2517 virtual double firstTone() const;
2519 virtual void setFirstTone(double f);
2520
2522 virtual double secondTone() const;
2524 virtual void setSecondTone(double f);
2525
2527 virtual Response response() const;
2529 virtual void setResponse(Response resp);
2530
2532 virtual QString name() const;
2534 virtual void setName(const QString &name);
2535
2536 public:
2538 struct Limit {
2539 static constexpr unsigned int nameLength() { return 7; }
2540 };
2541
2542 protected:
2544 struct Offset {
2546 static constexpr unsigned int firstTone() { return 0x0000; }
2547 static constexpr unsigned int secondTone() { return 0x0002; }
2548 static constexpr unsigned int response() { return 0x0004; }
2549 static constexpr unsigned int name() { return 0x0005; }
2551 };
2552 };
2553
2556 {
2557 protected:
2559 TwoToneFunctionBitmapElement(uint8_t *ptr, size_t size);
2560
2561 public:
2563 TwoToneFunctionBitmapElement(uint8_t *ptr);
2564
2566 static constexpr unsigned int size() { return 0x0010; }
2567 };
2568
2574 {
2575 protected:
2577 TwoToneSettingsElement(uint8_t *ptr, unsigned size);
2578
2579 public:
2581 TwoToneSettingsElement(uint8_t *ptr);
2582
2584 static constexpr unsigned int size() { return 0x0010; }
2585
2587 void clear();
2588
2590 virtual unsigned firstToneDuration() const;
2592 virtual void setFirstToneDuration(unsigned ms);
2593
2595 virtual unsigned secondToneDuration() const;
2597 virtual void setSecondToneDuration(unsigned ms);
2598
2600 virtual unsigned longToneDuration() const;
2602 virtual void setLongToneDuration(unsigned ms);
2603
2605 virtual unsigned gapDuration() const;
2607 virtual void setGapDuration(unsigned ms);
2608
2610 virtual unsigned autoResetTime() const;
2612 virtual void setAutoResetTime(unsigned sec);
2613
2615 virtual bool sidetone() const;
2617 virtual void enableSidetone(bool enable);
2618 };
2619
2625 {
2626 public:
2629 None=0, Tone, ToneRespond
2630 };
2631
2632 protected:
2634 DTMFSettingsElement(uint8_t *ptr, unsigned size);
2635
2636 public:
2638 explicit DTMFSettingsElement(uint8_t *ptr);
2639
2641 static constexpr unsigned int size() { return 0x0050; }
2642
2644 void clear();
2645
2647 virtual unsigned intervalSymbol() const;
2649 virtual void setIntervalSymbol(unsigned symb);
2650
2652 virtual unsigned groupCode() const;
2654 virtual void setGroupCode(unsigned symb);
2655
2657 virtual Response response() const;
2659 virtual void setResponse(Response resp);
2660
2662 virtual unsigned preTime() const;
2664 virtual void setPreTime(unsigned ms);
2665
2667 virtual unsigned firstDigitDuration() const;
2669 virtual void setFirstDigitDuration(unsigned ms);
2670
2672 virtual unsigned autoResetTime() const;
2674 virtual void setAutoResetTime(unsigned sec);
2675
2677 virtual QString id() const;
2679 virtual void setID(const QString &id);
2680
2682 virtual unsigned postEncodingDelay() const;
2684 virtual void setPostEncodingDelay(unsigned ms);
2685
2687 virtual unsigned pttIDPause() const;
2689 virtual void setPTTIDPause(unsigned sec);
2690
2692 virtual bool pttIDEnabled() const;
2694 virtual void enablePTTID(bool enable);
2695
2697 virtual unsigned dCodePause() const;
2699 virtual void setDCodePause(unsigned sec);
2700
2702 virtual bool sidetone() const;
2704 virtual void enableSidetone(bool enable);
2705
2707 virtual QString botID() const;
2709 virtual void setBOTID(const QString &id);
2710
2712 virtual QString eotID() const;
2714 virtual void setEOTID(const QString &id);
2715
2717 virtual QString remoteKillID() const;
2719 virtual void setRemoteKillID(const QString &id);
2720
2722 virtual QString remoteStunID() const;
2724 virtual void setRemoteStunID(const QString &id);
2725 };
2726
2732 {
2733 protected:
2735 DTMFIDListElement(uint8_t *ptr, size_t size);
2736
2737 public:
2739 DTMFIDListElement(uint8_t *ptr);
2740
2742 static constexpr unsigned int size() { return 0x0100; }
2743
2744 void clear();
2745
2747 virtual bool hasNumber(unsigned int n) const;
2749 virtual QString number(unsigned int n) const;
2751 virtual void setNumber(unsigned int n, const QString &number);
2753 virtual void clearNumber(unsigned int n);
2754
2755 public:
2757 struct Limit {
2758 static constexpr unsigned int numEntries() { return 16; }
2759 static constexpr unsigned int numberLength() { return 16; }
2760 };
2761 };
2762
2768 {
2769 protected:
2771 WFMChannelListElement(uint8_t *ptr, size_t size);
2772
2773 public:
2775 explicit WFMChannelListElement(uint8_t *ptr);
2776
2778 static constexpr unsigned int size() { return 0x0200; }
2779
2780 void clear();
2781
2783 virtual bool hasChannel(unsigned int n) const;
2785 virtual Frequency channel(unsigned int n) const;
2787 virtual void setChannel(unsigned int n, Frequency freq);
2789 virtual void clearChannel(unsigned int n);
2790
2791 public:
2793 struct Limit {
2794 static constexpr unsigned int numEntries() { return 100; }
2795 };
2796
2797 protected:
2799 struct Offset {
2801 static constexpr unsigned int betweenChannels() { return 0x0004; }
2803 };
2804 };
2805
2808 {
2809 protected:
2811 WFMChannelBitmapElement(uint8_t *ptr, size_t size);
2812
2813 public:
2815 WFMChannelBitmapElement(uint8_t *ptr);
2816
2818 static constexpr unsigned int size() { return 0x0020; }
2819 };
2820
2823 {
2824 protected:
2826 WFMVFOElement(uint8_t *ptr, size_t size);
2827
2828 public:
2830 WFMVFOElement(uint8_t *ptr);
2831
2833 static constexpr unsigned int size() { return 0x0010; }
2834
2835 void clear();
2836
2838 virtual Frequency frequency() const;
2840 virtual void setFrequency(Frequency freq);
2841 };
2842
2845 {
2846 protected:
2848 DMREncryptionKeyIDListElement(uint8_t *ptr, size_t size);
2849
2850 public:
2852 DMREncryptionKeyIDListElement(uint8_t *ptr);
2853
2855 static constexpr unsigned int size() { return 0x0040; }
2856
2857 void clear();
2858
2860 virtual bool hasID(unsigned int n) const;
2862 virtual uint16_t id(unsigned int n) const;
2864 virtual void setID(unsigned int n, uint16_t id);
2866 virtual void clearID(unsigned int n);
2867
2868 public:
2870 struct Limit {
2871 static constexpr unsigned int numEntries() { return 32; }
2872 };
2873
2874 protected:
2876 struct Offset {
2878 static constexpr unsigned int betweenIDs() { return 0x0002; }
2880 };
2881 };
2882
2885 {
2886 protected:
2888 DMREncryptionKeyListElement(uint8_t *ptr, size_t size);
2889
2890 public:
2892 DMREncryptionKeyListElement(uint8_t *ptr);
2893
2895 static constexpr unsigned int size() { return 0x0500; }
2896
2897 void clear();
2898
2900 QByteArray key(unsigned int n) const;
2902 void setKey(unsigned int n, const QByteArray &key);
2903
2904 public:
2906 struct Limit {
2907 static constexpr unsigned numEntries() { return DMREncryptionKeyIDListElement::Limit::numEntries(); }
2908 };
2909
2910 protected:
2912 struct Offset {
2914 static constexpr unsigned int keys() { return 0x0010; }
2915 static constexpr unsigned int betweenKeys() { return 0x0028; }
2917 };
2918 };
2919
2925 {
2926 protected:
2928 ContactMapElement(uint8_t *ptr, unsigned size);
2929
2930 public:
2932 ContactMapElement(uint8_t *ptr);
2933
2935 static constexpr unsigned int size() { return 0x0008; }
2936
2938 void clear();
2940 bool isValid() const;
2941
2943 virtual bool isGroup() const;
2945 virtual unsigned id() const;
2947 virtual void setID(unsigned id, bool group=false);
2949 virtual unsigned index() const;
2951 virtual void setIndex(unsigned idx);
2952 };
2953
2954protected:
2956 AnytoneCodeplug(const QString &label, QObject *parent=nullptr);
2957
2958public:
2960 virtual ~AnytoneCodeplug();
2961
2963 virtual void clear();
2964
2965 Config *preprocess(Config *config, const ErrorStack &err) const;
2966 bool encode(Config *config, const Flags &flags, const ErrorStack &err);
2967
2968 bool decode(Config *config, const ErrorStack &err);
2969 bool postprocess(Config *config, const ErrorStack &err) const;
2970
2971protected:
2972 virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const;
2973
2975 virtual bool allocateBitmaps() = 0;
2977 virtual void setBitmaps(Context &ctx) = 0;
2978
2981 virtual void allocateUpdated() = 0;
2984 virtual void allocateForDecoding() = 0;
2986 virtual void allocateForEncoding() = 0;
2987
2989 virtual bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
2991 virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
2992
2993protected:
2995 QString _label;
2996
2997 // Allow access to protected allocation methods.
2998 friend class AnytoneRadio;
2999};
3000
3001#endif // ANYTONECODEPLUG_HH
Direction
Encodes the auto-repeater offset sign.
Definition anytone_extension.hh:1443
BootDisplay
What to display during boot.
Definition anytone_extension.hh:406
virtual void setAction(Action action)
Sets the alarm action.
Definition anytone_codeplug.cc:2995
virtual void setEmergencyIndex(unsigned idx)
Sets the emergency ID index.
Definition anytone_codeplug.cc:3013
virtual unsigned emergencyIndex() const
Returns the emergency ID index.
Definition anytone_codeplug.cc:3009
virtual void setEncodingType(ENIType type)
Sets the encoding type.
Definition anytone_codeplug.cc:3004
AnalogAlarm(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2972
virtual void setChannelIndex(unsigned idx)
Sets the channel index.
Definition anytone_codeplug.cc:3053
Action
Possible analog alarm types.
Definition anytone_codeplug.hh:1898
@ Both
Both?
Definition anytone_codeplug.hh:1902
@ TXAlarm
Transmit and alarm.
Definition anytone_codeplug.hh:1901
@ None
No alarm at all.
Definition anytone_codeplug.hh:1899
@ Background
Transmit and background.
Definition anytone_codeplug.hh:1900
virtual Action action() const
Returns the alarm action.
Definition anytone_codeplug.cc:2991
virtual bool repeatContinuously() const
Returns true if the alarm is repeated continuously.
Definition anytone_codeplug.cc:3063
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1921
virtual void setRXDuration(unsigned sec)
Sets the RX duration in seconds.
Definition anytone_codeplug.cc:3040
virtual unsigned duration() const
Returns the alarm duration in seconds.
Definition anytone_codeplug.cc:3018
virtual unsigned txDuration() const
Returns the TX duration in seconds.
Definition anytone_codeplug.cc:3027
virtual void setRepatContinuously()
Sets the alarm to be repeated continuously.
Definition anytone_codeplug.cc:3075
virtual void setChannelSelected()
Sets the alarm channel to the selected channel.
Definition anytone_codeplug.cc:3058
virtual unsigned rxDuration() const
Returns the RX duration in seconds.
Definition anytone_codeplug.cc:3036
ENIType
Possible alarm signalling types.
Definition anytone_codeplug.hh:1906
@ DTMF
Send alarm code as DTMF.
Definition anytone_codeplug.hh:1908
@ FiveTone
Send alarm code as 5-tone.
Definition anytone_codeplug.hh:1909
void clear()
Resets the alarm.
Definition anytone_codeplug.cc:2985
virtual unsigned channelIndex() const
Returns the channel index.
Definition anytone_codeplug.cc:3049
virtual void setDuration(unsigned sec)
Sets the alarm duration in seconds.
Definition anytone_codeplug.cc:3022
virtual unsigned repetitions() const
Returns the number of alarm repetitions.
Definition anytone_codeplug.cc:3067
virtual ENIType encodingType() const
Returns the encoding type.
Definition anytone_codeplug.cc:3000
virtual void setRepetitions(unsigned num)
Sets the number of alarm repetitions.
Definition anytone_codeplug.cc:3071
virtual void setTXDuration(unsigned sec)
Sets the TX duration in seconds.
Definition anytone_codeplug.cc:3031
virtual bool channelIsSelected() const
Returns true if the alarm channel is the selected channel.
Definition anytone_codeplug.cc:3045
virtual void enableRXAlarm(bool enable)
Enables/disables the reception of alarms.
Definition anytone_codeplug.cc:3205
virtual void enableVOX(bool enable)
Enables/disables the VOX for alarms.
Definition anytone_codeplug.cc:3196
virtual bool rxAlarm() const
Returns true if alarms gets received enabled.
Definition anytone_codeplug.cc:3201
virtual void setRepatContinuously()
Sets the alarm to be repeated continuously.
Definition anytone_codeplug.cc:3167
virtual unsigned repetitions() const
Returns the number of alarm repetitions.
Definition anytone_codeplug.cc:3159
virtual void setDuration(unsigned sec)
Sets the alarm duration in seconds.
Definition anytone_codeplug.cc:3114
Action
Possible alarm types.
Definition anytone_codeplug.hh:1981
@ Local
Transmit and local alarm.
Definition anytone_codeplug.hh:1985
@ None
No alarm at all.
Definition anytone_codeplug.hh:1982
@ Background
Transmit and background.
Definition anytone_codeplug.hh:1983
@ NonLocal
Transmit and non-local alarm.
Definition anytone_codeplug.hh:1984
virtual bool channelIsSelected() const
Returns true if the alarm channel is the selected channel.
Definition anytone_codeplug.cc:3137
virtual void setRepetitions(unsigned num)
Sets the number of alarm repetitions.
Definition anytone_codeplug.cc:3163
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1997
virtual bool repeatContinuously() const
Returns true if the alarm is repeated continuously.
Definition anytone_codeplug.cc:3155
virtual void setAreaBroadcastDuration(unsigned min)
Sets area broadcast duration in minutes.
Definition anytone_codeplug.cc:3186
DigitalAlarm(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3082
virtual unsigned rxDuration() const
Returns the RX duration in seconds.
Definition anytone_codeplug.cc:3128
virtual Action action() const
Returns the alarm action.
Definition anytone_codeplug.cc:3101
virtual void setChannelIndex(unsigned idx)
Sets the channel index.
Definition anytone_codeplug.cc:3145
virtual unsigned duration() const
Returns the alarm duration in seconds.
Definition anytone_codeplug.cc:3110
virtual bool vox() const
Returns true if the VOX gets enabled.
Definition anytone_codeplug.cc:3192
virtual void setAction(Action action)
Sets the alarm action.
Definition anytone_codeplug.cc:3105
virtual unsigned areaBroadcastDuration() const
Returns area broadcast duration in minutes.
Definition anytone_codeplug.cc:3182
virtual unsigned channelIndex() const
Returns the channel index.
Definition anytone_codeplug.cc:3141
virtual void setVoiceBroadcastDuration(unsigned min)
Sets voice broadcast duration in minutes.
Definition anytone_codeplug.cc:3176
virtual unsigned voiceBroadcastDuration() const
Returns voice broadcast duration in minutes.
Definition anytone_codeplug.cc:3172
virtual void setChannelSelected()
Sets the alarm channel to the selected channel.
Definition anytone_codeplug.cc:3150
virtual void setRXDuration(unsigned sec)
Sets the RX duration in seconds.
Definition anytone_codeplug.cc:3132
virtual void setTXDuration(unsigned sec)
Sets the TX duration in seconds.
Definition anytone_codeplug.cc:3123
virtual unsigned txDuration() const
Returns the TX duration in seconds.
Definition anytone_codeplug.cc:3119
void clear()
Resets the digital alarm settings.
Definition anytone_codeplug.cc:3095
virtual uint8_t * digital() const
Returns a pointer to the digital alarm settings.
Definition anytone_codeplug.cc:3236
void clear()
Clears the alarm settings.
Definition anytone_codeplug.cc:3226
virtual uint8_t * analog() const
Returns a pointer to the analog alarm settings.
Definition anytone_codeplug.cc:3232
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2066
AlarmSettingElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3213
Type
Analog quick-call types.
Definition anytone_codeplug.hh:1610
@ DTMF
DTMF call.
Definition anytone_codeplug.hh:1612
@ None
None, quick-call disabled.
Definition anytone_codeplug.hh:1611
@ FiveTone
5-tone call
Definition anytone_codeplug.hh:1614
@ TwoTone
2-tone call.
Definition anytone_codeplug.hh:1613
AnalogQuickCallElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2723
virtual void setContactIndex(unsigned idx)
Sets the analog contact index.
Definition anytone_codeplug.cc:2759
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1626
virtual void clearContactIndex()
Clears the contact index.
Definition anytone_codeplug.cc:2763
virtual unsigned contactIndex() const
Returns the analog contact index.
Definition anytone_codeplug.cc:2755
void clear()
Resets the quick call entry.
Definition anytone_codeplug.cc:2736
virtual bool hasContactIndex() const
Returns true if an analog contact index is set.
Definition anytone_codeplug.cc:2751
virtual void setType(Type type)
Sets the type of the quick call.
Definition anytone_codeplug.cc:2746
virtual Type type() const
Returns the call type.
Definition anytone_codeplug.cc:2742
uint8_t * quickCall(unsigned int n) const
Returns a pointer to the n-th entry.
Definition anytone_codeplug.cc:2791
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1661
void clear()
Clears the quick calls.
Definition anytone_codeplug.cc:2784
AnalogQuickCallsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2771
virtual void enableFirst(unsigned int n)
Enables the first n elements.
Definition anytone_codeplug.cc:87
virtual void setEncoded(unsigned int idx, bool enable)
Enables/disables the specified index.
Definition anytone_codeplug.cc:78
BitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:60
virtual bool isEncoded(unsigned int idx) const
Returns true if the given index is valid.
Definition anytone_codeplug.cc:72
void clear()
Clears the bitmap, disables all channels.
Definition anytone_codeplug.cc:67
virtual bool updateConfig(Context &ctx)
Updates the abstract configuration from this general settings.
Definition anytone_codeplug.cc:2248
virtual void setIntroLine2(const QString &txt)
Sets the second intro line.
Definition anytone_codeplug.cc:2217
virtual void setIntroLine1(const QString &txt)
Sets the first intro line.
Definition anytone_codeplug.cc:2209
void clear()
Resets the boot settings.
Definition anytone_codeplug.cc:2200
virtual QString introLine2() const
Returns the second intro line.
Definition anytone_codeplug.cc:2213
BootSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2187
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1314
virtual bool fromConfig(const Flags &flags, Context &ctx)
Updates the general settings from the given abstract configuration.
Definition anytone_codeplug.cc:2233
virtual QString password() const
Returns the password.
Definition anytone_codeplug.cc:2222
virtual QString introLine1() const
Returns the first intro line.
Definition anytone_codeplug.cc:2205
virtual void setPassword(const QString &txt)
Sets the password.
Definition anytone_codeplug.cc:2226
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:413
ChannelBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:918
virtual bool talkaround() const
Returns true if the talkaround is enabled.
Definition anytone_codeplug.cc:389
virtual void setTXCTCSS(const SelectiveCall &tone)
Sets the TX CTCSS tone.
Definition anytone_codeplug.cc:406
virtual void setTXOffset(unsigned hz)
Sets the TX frequency offset in Hz.
Definition anytone_codeplug.cc:214
virtual void setScanListIndex(unsigned idx)
Sets the scan list index (0-based).
Definition anytone_codeplug.cc:532
virtual SelectiveCall txCTCSS() const
Returns the TX CTCSS tone.
Definition anytone_codeplug.cc:402
virtual SelectiveCall txTone() const
Simplified access to TX signaling (tone).
Definition anytone_codeplug.cc:342
virtual void setGroupListIndex(unsigned idx)
Sets the group list index (0-based).
Definition anytone_codeplug.cc:549
virtual bool simplexTDMA() const
Returns true if simplex TDMA is enabled.
Definition anytone_codeplug.cc:614
virtual unsigned twoToneIDIndex() const
Returns the two-tone ID index (0-based).
Definition anytone_codeplug.cc:558
virtual bool adaptiveTDMA() const
Returns true if adaptive TDMA is enabled.
Definition anytone_codeplug.cc:622
virtual unsigned scanListIndex() const
Returns the scan list index (0-based).
Definition anytone_codeplug.cc:528
virtual void setTwoToneDecodeIndex(unsigned idx)
Sets the 2-tone decode index (0-based).
Definition anytone_codeplug.cc:474
virtual void setRXTone(const SelectiveCall &code)
Sets the RX signaling (tone).
Definition anytone_codeplug.cc:320
virtual SignalingMode rxSignalingMode() const
Returns the RX signaling mode.
Definition anytone_codeplug.cc:301
virtual void enableEnhancedEncryption(bool enable)
Enables/disables enhanced encryption.
Definition anytone_codeplug.cc:642
virtual bool rxAPRS() const
Returns true if RX APRS is enabled.
Definition anytone_codeplug.cc:630
virtual void setPower(Channel::Power power)
Sets the channel power.
Definition anytone_codeplug.cc:259
virtual void enableCTCSSPhaseReversal(bool enable)
Enables/disables CTCSS phase reversal.
Definition anytone_codeplug.cc:369
virtual unsigned twoToneDecodeIndex() const
Returns the 2-tone decode index (0-based).
Definition anytone_codeplug.cc:470
virtual void setDTMFIDIndex(unsigned idx)
Sets the DTMF ID index (0-based).
Definition anytone_codeplug.cc:578
virtual DMRChannel::TimeSlot timeSlot() const
Returns the time slot.
Definition anytone_codeplug.cc:592
virtual void setTimeSlot(DMRChannel::TimeSlot ts)
Sets the time slot.
Definition anytone_codeplug.cc:598
virtual OptSignaling optionalSignaling() const
Returns the optional signalling type.
Definition anytone_codeplug.cc:515
Mode
Defines all possible channel modes, see channelMode.
Definition anytone_codeplug.hh:108
@ Digital
Digital (DMR) channel.
Definition anytone_codeplug.hh:110
@ Analog
Analog channel.
Definition anytone_codeplug.hh:109
@ MixedAnalog
Mixed, analog channel with digital RX.
Definition anytone_codeplug.hh:111
@ MixedDigital
Mixed, digital channel with analog RX.
Definition anytone_codeplug.hh:112
virtual void setTXFrequency(unsigned hz)
Sets the TX frequency indirectly.
Definition anytone_codeplug.cc:228
virtual bool ctcssPhaseReversal() const
Returns true if the CTCSS phase reversal is enabled.
Definition anytone_codeplug.cc:365
virtual void setTXDCS(const SelectiveCall &code)
Sets the TX DCS code.
Definition anytone_codeplug.cc:438
virtual void setContactIndex(unsigned idx)
Sets the transmit contact index (0-based).
Definition anytone_codeplug.cc:483
virtual ~ChannelElement()
Destructor.
Definition anytone_codeplug.cc:184
virtual void setColorCode(unsigned code)
Sets the color code.
Definition anytone_codeplug.cc:587
virtual QString name() const
Returns the channel name.
Definition anytone_codeplug.cc:672
virtual Channel * toChannelObj(Context &ctx) const
Constructs a generic Channel object from the codeplug channel.
Definition anytone_codeplug.cc:682
virtual Mode mode() const
Returns the channel mode (analog, digtital, etc).
Definition anytone_codeplug.cc:240
virtual bool loneWorker() const
Returns true if lone worker is enabled.
Definition anytone_codeplug.cc:646
virtual void enableRXCustomCTCSS()
Enables RX custom CTCSS frequency.
Definition anytone_codeplug.cc:426
virtual SelectiveCall rxDCS() const
Returns the RX DCS code.
Definition anytone_codeplug.cc:446
virtual void setRXDCS(const SelectiveCall &code)
Sets the RX DCS code.
Definition anytone_codeplug.cc:453
virtual void enableSimplexTDMA(bool enable)
Enables/disables simplex TDMA confirmation.
Definition anytone_codeplug.cc:618
virtual unsigned txFrequency() const
Returns the TX frequency in Hz.
Definition anytone_codeplug.cc:219
virtual void setMode(Mode mode)
Sets the channel mode.
Definition anytone_codeplug.cc:244
Power
Defines all possible power settings.
Definition anytone_codeplug.hh:116
@ POWER_HIGH
High power, usually 5W.
Definition anytone_codeplug.hh:119
@ POWER_LOW
Low power, usually 1W.
Definition anytone_codeplug.hh:117
@ POWER_MIDDLE
Medium power, usually 2.5W.
Definition anytone_codeplug.hh:118
@ POWER_TURBO
Higher power, usually 7W on VHF and 6W on UHF.
Definition anytone_codeplug.hh:120
virtual unsigned dtmfIDIndex() const
Returns the DTFM ID index (0-based).
Definition anytone_codeplug.cc:574
virtual void setTXTone(const SelectiveCall &code)
Sets the RX signaling (tone).
Definition anytone_codeplug.cc:352
virtual void setRXSignalingMode(SignalingMode mode)
Sets the RX signaling mode.
Definition anytone_codeplug.cc:305
virtual void setRXCTCSS(const SelectiveCall &tone)
Sets the RX CTCSS tone.
Definition anytone_codeplug.cc:422
virtual bool hasGroupListIndex() const
Returns true, if a group list index is set.
Definition anytone_codeplug.cc:541
ChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:172
virtual bool callConfirm() const
Returns true if the call confirm is enabled.
Definition anytone_codeplug.cc:381
virtual unsigned txOffset() const
Returns the TX frequency offset in Hz.
Definition anytone_codeplug.cc:210
virtual unsigned encryptionKeyIndex() const
Returns the AES (enhanced) encryption key index (0-based).
Definition anytone_codeplug.cc:659
virtual Admit admit() const
Returns the admit criterion.
Definition anytone_codeplug.cc:506
virtual void setEncryptionKeyIndex(unsigned idx)
Sets the AES (enahnced) encryption key index (0-based).
Definition anytone_codeplug.cc:663
virtual SelectiveCall txDCS() const
Returns the TX DCS code.
Definition anytone_codeplug.cc:431
virtual bool hasScanListIndex() const
Returns true, if a scan list index is set.
Definition anytone_codeplug.cc:524
virtual void setCustomCTCSSFrequency(double hz)
Sets the custom CTCSS frequency in Hz.
Definition anytone_codeplug.cc:465
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:166
virtual SignalingMode txSignalingMode() const
Returns the TX signaling mode.
Definition anytone_codeplug.cc:333
virtual SelectiveCall rxCTCSS() const
Returns the RX CTCSS tone.
Definition anytone_codeplug.cc:418
RepeaterMode
Defines all possible repeater modes.
Definition anytone_codeplug.hh:124
@ Simplex
Simplex mode, that is TX frequency = RX frequency. tx_offset is ignored.
Definition anytone_codeplug.hh:125
@ Positive
Repeater mode with positive tx_offset.
Definition anytone_codeplug.hh:126
@ Negative
Repeater mode with negative tx_offset.
Definition anytone_codeplug.hh:127
virtual void enableSMSConfirm(bool enable)
Enables/disables SMS confirmation.
Definition anytone_codeplug.cc:610
virtual unsigned rxFrequency() const
Returns the RX frequency in Hz.
Definition anytone_codeplug.cc:201
virtual void setTXSignalingMode(SignalingMode mode)
Sets the TX signaling mode.
Definition anytone_codeplug.cc:337
virtual void setRXFrequency(unsigned hz)
Sets the RX frequency in Hz.
Definition anytone_codeplug.cc:205
virtual bool smsConfirm() const
Returns true if SMS confirmation is enabled.
Definition anytone_codeplug.cc:606
virtual AnytoneFMChannelExtension::SquelchMode squelchMode() const
Returns true if the sequelch is silent and false if open.
Definition anytone_codeplug.cc:497
virtual void enableAdaptiveTDMA(bool enable)
Enables/disables adaptive TDMA.
Definition anytone_codeplug.cc:626
virtual void enableCallConfirm(bool enable)
Enables/disables call confirm.
Definition anytone_codeplug.cc:385
virtual bool rxCTCSSIsCustom() const
Returns true if the RX CTCSS tone frequency is custom (non standard).
Definition anytone_codeplug.cc:414
virtual bool enhancedEncryption() const
Returns true if enhanced encryption is enabled.
Definition anytone_codeplug.cc:638
virtual void enableRXAPRS(bool enable)
Enables/disables RX APRS.
Definition anytone_codeplug.cc:634
virtual void setSquelchMode(AnytoneFMChannelExtension::SquelchMode mode)
Enables/disables silent squelch.
Definition anytone_codeplug.cc:501
virtual bool fromChannelObj(const Channel *c, Context &ctx)
Initializes this codeplug channel from the given generic configuration.
Definition anytone_codeplug.cc:810
virtual void setRepeaterMode(RepeaterMode mode)
Sets the transmit offset direction.
Definition anytone_codeplug.cc:296
Admit
Defines possible admit criteria.
Definition anytone_codeplug.hh:138
@ DifferentColorCode
For digital channels.
Definition anytone_codeplug.hh:141
@ SameColorCode
For digital channels.
Definition anytone_codeplug.hh:142
@ Always
For both channel types.
Definition anytone_codeplug.hh:139
@ Free
For digital channels.
Definition anytone_codeplug.hh:140
@ Busy
For analog channels.
Definition anytone_codeplug.hh:144
@ Tone
For analog channels.
Definition anytone_codeplug.hh:143
virtual void setFiveToneIDIndex(unsigned idx)
Sets the five-tone ID index (0-based).
Definition anytone_codeplug.cc:570
virtual bool linkChannelObj(Channel *c, Context &ctx) const
Links a previously constructed channel to the rest of the configuration.
Definition anytone_codeplug.cc:768
virtual unsigned contactIndex() const
Returns the transmit contact index (0-based).
Definition anytone_codeplug.cc:479
virtual void clearScanListIndex()
Clears the scan list index.
Definition anytone_codeplug.cc:536
OptSignaling
Defines all possible optional signalling settings.
Definition anytone_codeplug.hh:148
@ DTMF
Use DTMF.
Definition anytone_codeplug.hh:150
@ FiveTone
Use 5-tone.
Definition anytone_codeplug.hh:152
@ TwoTone
Use 2-tone.
Definition anytone_codeplug.hh:151
@ Off
None.
Definition anytone_codeplug.hh:149
virtual void clearGroupListIndex()
Clears the group list index.
Definition anytone_codeplug.cc:553
virtual unsigned radioIDIndex() const
Returns the radio ID index (0-based).
Definition anytone_codeplug.cc:488
virtual void enableRXOnly(bool enable)
Enables/disables RX only.
Definition anytone_codeplug.cc:377
virtual double customCTCSSFrequency() const
Returns the custom CTCSS frequency in Hz.
Definition anytone_codeplug.cc:461
virtual unsigned fiveToneIDIndex() const
Returns the five-tone ID index (0-based).
Definition anytone_codeplug.cc:566
virtual Channel::Power power() const
Returns the channel power.
Definition anytone_codeplug.cc:249
virtual FMChannel::Bandwidth bandwidth() const
Returns the band width of the channel.
Definition anytone_codeplug.cc:278
virtual bool txCTCSSIsCustom() const
Returns true if the TX CTCSS tone frequency is custom (non standard).
Definition anytone_codeplug.cc:398
virtual RepeaterMode repeaterMode() const
Returns the transmit offset direction.
Definition anytone_codeplug.cc:292
virtual void enableTXCustomCTCSS()
Enables TX custom CTCSS frequency.
Definition anytone_codeplug.cc:410
virtual void setAdmit(Admit admit)
Sets the admit criterion.
Definition anytone_codeplug.cc:510
virtual void setName(const QString &name)
Sets the channel name.
Definition anytone_codeplug.cc:676
virtual void enableLoneWorker(bool enable)
Enables/disables lone worker.
Definition anytone_codeplug.cc:650
virtual void setTwoToneIDIndex(unsigned idx)
Sets the two-tone ID index (0-based).
Definition anytone_codeplug.cc:562
virtual void setBandwidth(FMChannel::Bandwidth bw)
Sets the band width of the channel.
Definition anytone_codeplug.cc:284
virtual void clearEncryptionKeyIndex()
Clears the encryption key index.
Definition anytone_codeplug.cc:667
virtual unsigned colorCode() const
Returns the color code.
Definition anytone_codeplug.cc:583
virtual SelectiveCall rxTone() const
Simplified access to RX signaling (tone).
Definition anytone_codeplug.cc:310
virtual void setOptionalSignaling(OptSignaling sig)
Sets the optional signaling type.
Definition anytone_codeplug.cc:519
virtual void enableTalkaround(bool enable)
Enables/disables talkaround.
Definition anytone_codeplug.cc:393
virtual void setRadioIDIndex(unsigned idx)
Sets the radio ID index (0-based).
Definition anytone_codeplug.cc:492
virtual bool hasEncryptionKeyIndex() const
Returns true if an encryption key is set.
Definition anytone_codeplug.cc:655
virtual unsigned groupListIndex() const
Returns the scan list index (0-based).
Definition anytone_codeplug.cc:545
SignalingMode
Possible analog signaling modes.
Definition anytone_codeplug.hh:131
@ DCS
Use DCS codes.
Definition anytone_codeplug.hh:134
@ CTCSS
Use CTCSS tones.
Definition anytone_codeplug.hh:133
@ None
None.
Definition anytone_codeplug.hh:132
void clear()
Resets the channel.
Definition anytone_codeplug.cc:189
virtual bool rxOnly() const
Returns true if the RX only is enabled.
Definition anytone_codeplug.cc:373
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:479
ContactBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:1060
virtual void setNumber(unsigned number)
Sets the contact number.
Definition anytone_codeplug.cc:992
virtual void setName(const QString &name)
Sets the name of the contact.
Definition anytone_codeplug.cc:983
virtual ~ContactElement()
Destructor.
Definition anytone_codeplug.cc:946
virtual bool fromContactObj(const DMRContact *contact, Context &ctx)
Constructs this contact from the give DigitalContact.
Definition anytone_codeplug.cc:1038
ContactElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:934
virtual DMRContact::Type type() const
Returns the contact type.
Definition anytone_codeplug.cc:961
virtual void setType(DMRContact::Type type)
Sets the contact type.
Definition anytone_codeplug.cc:970
virtual DMRContact * toContactObj(Context &ctx) const
Assembles a DigitalContact from this contact.
Definition anytone_codeplug.cc:1019
virtual void setAlertType(AnytoneContactExtension::AlertType type)
Sets the alert type.
Definition anytone_codeplug.cc:1014
virtual unsigned number() const
Returns the contact number.
Definition anytone_codeplug.cc:988
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:434
virtual QString name() const
Returns the name of the contact.
Definition anytone_codeplug.cc:979
bool isValid() const
Returns true if the element is valid.
Definition anytone_codeplug.cc:956
virtual AnytoneContactExtension::AlertType alertType() const
Returns the alert type.
Definition anytone_codeplug.cc:997
void clear()
Resets the contact element.
Definition anytone_codeplug.cc:951
virtual void setIndex(unsigned idx)
Sets the index.
Definition anytone_codeplug.cc:4477
virtual unsigned id() const
Returns the id.
Definition anytone_codeplug.cc:4460
bool isValid() const
Returns true if the contact map is valid.
Definition anytone_codeplug.cc:4450
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2935
virtual bool isGroup() const
Returns true if the entry is a group call.
Definition anytone_codeplug.cc:4455
void clear()
Clears the entry.
Definition anytone_codeplug.cc:4445
virtual void setID(unsigned id, bool group=false)
Encodes ID and group call flag.
Definition anytone_codeplug.cc:4466
ContactMapElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:4432
virtual unsigned index() const
Returns the index.
Definition anytone_codeplug.cc:4473
virtual QString message() const
Returns the message.
Definition anytone_codeplug.cc:2540
virtual bool updateConfig(Context &ctx) const
Decodes the message.
Definition anytone_codeplug.cc:2556
void setMessage(const QString &message)
Sets the message.
Definition anytone_codeplug.cc:2545
virtual bool fromConfig(Codeplug::Flags flags, Context &ctx)
Encodes the message.
Definition anytone_codeplug.cc:2550
DMRAPRSMessageElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2522
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2535
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1447
virtual Channel::Power power() const
Returns the transmit power.
Definition anytone_codeplug.cc:2345
virtual bool automatic() const
Returns true if the automatic APRS is enabled.
Definition anytone_codeplug.cc:2294
virtual void setManualInterval(unsigned sec)
Sets the manual TX interval in seconds.
Definition anytone_codeplug.cc:2289
virtual void setChannelSelected(unsigned n)
Sets the n-th channel to selected channel.
Definition anytone_codeplug.cc:2406
virtual void setDestination(unsigned id)
Sets the destination DMR ID to send the APRS information to.
Definition anytone_codeplug.cc:2419
virtual void overrideTimeSlot(DMRChannel::TimeSlot ts)
Sets the timeslot.
Definition anytone_codeplug.cc:2454
virtual unsigned manualInterval() const
Returns the Manual TX interval in seconds.
Definition anytone_codeplug.cc:2285
virtual void setCallType(DMRContact::Type type)
Sets the call type.
Definition anytone_codeplug.cc:2433
virtual bool fixedLocation() const
Returns true if the fixed location beacon is enabled.
Definition anytone_codeplug.cc:2313
virtual void setChannelIndex(unsigned n, unsigned idx)
Sets the n-th channel index.
Definition anytone_codeplug.cc:2394
virtual bool hasChannel(unsigned n) const
Returns true if the n-th channel is set.
Definition anytone_codeplug.cc:2374
virtual void setLocation(const QGeoCoordinate &pos)
Sets the location of the fixed position.
Definition anytone_codeplug.cc:2325
virtual void disableAutomatic()
Disables the automatic APRS.
Definition anytone_codeplug.cc:2308
virtual void setAutomaticInterval(unsigned sec)
Sets the automatic transmit interval in seconds.
Definition anytone_codeplug.cc:2302
virtual bool channelIsSelected(unsigned n) const
Returns true if the n-th channel is selected channel.
Definition anytone_codeplug.cc:2386
virtual void enableFixedLocation(bool enable)
Enables/disables fixed location beacon.
Definition anytone_codeplug.cc:2340
virtual bool timeSlotOverride() const
Returns true if the timeslot of the channel is overridden.
Definition anytone_codeplug.cc:2442
virtual DMRChannel::TimeSlot timeslot() const
Returns the timeslot (only valid if timeSlotOverride returns true).
Definition anytone_codeplug.cc:2446
virtual DMRContact::Type callType() const
Returns the call type.
Definition anytone_codeplug.cc:2424
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1354
virtual void disableTimeSlotOverride()
Disables TS override.
Definition anytone_codeplug.cc:2461
void clear()
Resets the APRS settings.
Definition anytone_codeplug.cc:2280
virtual bool channelIsVFOB(unsigned n) const
Returns true if the n-th channel is VFO B.
Definition anytone_codeplug.cc:2382
virtual void setChannelVFOA(unsigned n)
Sets the n-th channel to VFO A.
Definition anytone_codeplug.cc:2398
DMRAPRSSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2267
virtual void clearChannel(unsigned n)
Resets the n-th channel.
Definition anytone_codeplug.cc:2410
virtual unsigned automaticInterval() const
Returns the automatic transmit interval in seconds.
Definition anytone_codeplug.cc:2298
virtual void setPower(Channel::Power power)
Sets the transmit power.
Definition anytone_codeplug.cc:2355
virtual unsigned destination() const
Returns the destination DMR ID to send the APRS information to.
Definition anytone_codeplug.cc:2415
virtual bool channelIsVFOA(unsigned n) const
Returns true if the n-th channel is VFO A.
Definition anytone_codeplug.cc:2378
virtual QGeoCoordinate location() const
Returns the location of the fixed position.
Definition anytone_codeplug.cc:2317
virtual bool fromConfig(const Flags &flags, Context &ctx)
Updates the GPS settings from the given config.
Definition anytone_codeplug.cc:2466
virtual bool linkGPSSystem(uint8_t i, Context &ctx)
Links GPS system from this GPS settings.
Definition anytone_codeplug.cc:2499
virtual unsigned channelIndex(unsigned n) const
Returns the index of the n-th channel.
Definition anytone_codeplug.cc:2390
virtual void setChannelVFOB(unsigned n)
Sets the n-th channel to VFO B.
Definition anytone_codeplug.cc:2402
virtual bool createGPSSystem(uint8_t i, Context &ctx)
Creates GPS system from this GPS settings.
Definition anytone_codeplug.cc:2492
virtual bool hasID(unsigned int n) const
Returns true if the n-th id is set.
Definition anytone_codeplug.cc:4363
virtual uint16_t id(unsigned int n) const
Returns the ID of the encryption key.
Definition anytone_codeplug.cc:4370
DMREncryptionKeyIDListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4345
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4358
virtual void clearID(unsigned int n)
Clears the n-th id.
Definition anytone_codeplug.cc:4384
virtual void setID(unsigned int n, uint16_t id)
Sets the ID of the encryption key.
Definition anytone_codeplug.cc:4377
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2855
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4407
QByteArray key(unsigned int n) const
Returns the n-th key.
Definition anytone_codeplug.cc:4415
DMREncryptionKeyListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4394
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2895
void setKey(unsigned int n, const QByteArray &key)
Sets the n-th key.
Definition anytone_codeplug.cc:4422
DTMFContactBytemapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:1150
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:549
virtual bool fromContact(const DTMFContact *contact)
Encodes an DTMF contact from the given one.
Definition anytone_codeplug.cc:1140
virtual void setNumber(const QString &number)
Sets the number of the contact.
Definition anytone_codeplug.cc:1111
virtual DTMFContact * toContact() const
Creates an DTMF contact from the entry.
Definition anytone_codeplug.cc:1135
DTMFContactElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:1076
virtual QString number() const
Returns the number of the contact.
Definition anytone_codeplug.cc:1098
virtual void setName(const QString &name)
Sets the name of the contact.
Definition anytone_codeplug.cc:1130
void clear()
Resets the contact element.
Definition anytone_codeplug.cc:1093
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:499
virtual ~DTMFContactElement()
Destructor.
Definition anytone_codeplug.cc:1088
virtual QString name() const
Returns the name of the contact.
Definition anytone_codeplug.cc:1126
virtual void clearNumber(unsigned int n)
Clears the n-th number.
Definition anytone_codeplug.cc:4237
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2742
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4209
virtual bool hasNumber(unsigned int n) const
Returns true, if the n-th number is set.
Definition anytone_codeplug.cc:4214
DTMFIDListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4196
virtual QString number(unsigned int n) const
Returns the n-th number.
Definition anytone_codeplug.cc:4221
virtual void setNumber(unsigned int n, const QString &number)
Sets the n-th number.
Definition anytone_codeplug.cc:4229
Response
Possible responses to a DTMF decode.
Definition anytone_codeplug.hh:2628
virtual void setFirstDigitDuration(unsigned ms)
Sets the first digit duration in ms.
Definition anytone_codeplug.cc:4053
virtual QString botID() const
Returns the BOT ID.
Definition anytone_codeplug.cc:4128
virtual void setPostEncodingDelay(unsigned ms)
Sets the post encoding delay in ms.
Definition anytone_codeplug.cc:4087
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2641
virtual void setDCodePause(unsigned sec)
Sets the D-code pause in seconds.
Definition anytone_codeplug.cc:4114
virtual unsigned groupCode() const
Returns the group code [0,15].
Definition anytone_codeplug.cc:4022
virtual unsigned dCodePause() const
Returns the D-code pause in seconds.
Definition anytone_codeplug.cc:4110
virtual void setRemoteStunID(const QString &id)
Sets the remote stun ID.
Definition anytone_codeplug.cc:4185
DTMFSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3994
virtual QString id() const
Returns the radio ID.
Definition anytone_codeplug.cc:4067
virtual void setResponse(Response resp)
Sets the response to a DTMF decode.
Definition anytone_codeplug.cc:4035
virtual unsigned preTime() const
Returns the pre time in ms.
Definition anytone_codeplug.cc:4040
virtual unsigned pttIDPause() const
Returns the PTT ID pause in seconds.
Definition anytone_codeplug.cc:4092
virtual void setGroupCode(unsigned symb)
Sets the group code [0,15].
Definition anytone_codeplug.cc:4026
virtual void enablePTTID(bool enable)
Enables/disables the PTT ID.
Definition anytone_codeplug.cc:4105
virtual bool pttIDEnabled() const
Returns true if the PTT ID is enabled.
Definition anytone_codeplug.cc:4101
virtual void setIntervalSymbol(unsigned symb)
Sets the interval/repeat symbol [0,15].
Definition anytone_codeplug.cc:4017
virtual void setRemoteKillID(const QString &id)
Sets the remote kill ID.
Definition anytone_codeplug.cc:4168
virtual void setID(const QString &id)
Sets the radio ID.
Definition anytone_codeplug.cc:4075
virtual unsigned autoResetTime() const
Returns the auto reset time in seconds.
Definition anytone_codeplug.cc:4058
virtual unsigned firstDigitDuration() const
Returns the first digit duration in ms.
Definition anytone_codeplug.cc:4049
virtual void setBOTID(const QString &id)
Sets the BOT ID.
Definition anytone_codeplug.cc:4136
virtual unsigned postEncodingDelay() const
Returns the post encoding delay in ms.
Definition anytone_codeplug.cc:4083
virtual QString eotID() const
Returns the EOT ID.
Definition anytone_codeplug.cc:4144
virtual QString remoteKillID() const
Returns the remote kill ID.
Definition anytone_codeplug.cc:4160
virtual void setPTTIDPause(unsigned sec)
Sets the PTT ID pause in seconds.
Definition anytone_codeplug.cc:4096
virtual QString remoteStunID() const
Returns the remote stun ID.
Definition anytone_codeplug.cc:4177
void clear()
Resets the settings.
Definition anytone_codeplug.cc:4007
virtual void setAutoResetTime(unsigned sec)
Sets the auto reset time in seconds.
Definition anytone_codeplug.cc:4062
virtual void setPreTime(unsigned ms)
Sets the pre time in ms.
Definition anytone_codeplug.cc:4044
virtual bool sidetone() const
Returns true if the sidetone is enabled.
Definition anytone_codeplug.cc:4119
virtual void enableSidetone(bool enable)
Enables/disables the sidetone.
Definition anytone_codeplug.cc:4123
virtual Response response() const
Returns the response to a DMTF decode.
Definition anytone_codeplug.cc:4031
virtual unsigned intervalSymbol() const
Returns the interval/repeat symbol [0,15].
Definition anytone_codeplug.cc:4013
virtual void setEOTID(const QString &id)
Sets the EOT ID.
Definition anytone_codeplug.cc:4152
virtual DMRContact::Type callType() const
Returns the call type.
Definition anytone_codeplug.cc:3262
virtual unsigned destination() const
Returns the destination DMR number.
Definition anytone_codeplug.cc:3280
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2101
void clear()
Clears the settings.
Definition anytone_codeplug.cc:3257
virtual void setDestination(unsigned number)
Sets the destination DMR number.
Definition anytone_codeplug.cc:3284
virtual void setCallType(DMRContact::Type type)
Sets the call type.
Definition anytone_codeplug.cc:3271
DigitalAlarmExtensionElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3244
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:2099
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:2047
virtual AnytoneDisplaySettingsExtension::Color zoneBNameColor() const =0
Returns the color of the zone name for VFO B.
virtual void setTalkerAliasEncoding(AnytoneDMRSettingsExtension::TalkerAliasEncoding encoding)=0
Sets the talker alias encoding.
virtual bool sendTalkerAlias() const =0
Returns true if the talker alias is sent.
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Update config from settings.
Definition anytone_codeplug.cc:2075
virtual void setZoneANameColor(AnytoneDisplaySettingsExtension::Color)=0
Sets the zone name color for the VFO A.
virtual void enableSendTalkerAlias(bool enable)=0
Enables/disables sending the talker alias.
virtual AnytoneDisplaySettingsExtension::Color zoneANameColor() const =0
Returns the color of the zone name for VFO A.
virtual AnytoneDMRSettingsExtension::TalkerAliasEncoding talkerAliasEncoding() const =0
Returns the talker alias encoding.
virtual AnytoneDisplaySettingsExtension::Color channelBNameColor() const =0
Returns the color of the channel name for VFO B.
virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const =0
Returns the talker alias source.
virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode)=0
Sets the talker alias source.
ExtendedSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2040
virtual void setFunction(Function function)
Sets the function.
Definition anytone_codeplug.cc:3434
virtual QString name() const
Returns the name.
Definition anytone_codeplug.cc:3476
void clear()
Clears the function settings.
Definition anytone_codeplug.cc:3425
virtual Function function() const
Returns the function.
Definition anytone_codeplug.cc:3430
Function
Possible function being performed on 5-tone decoding.
Definition anytone_codeplug.hh:2226
Response
Possible responses to 5-tone decoding.
Definition anytone_codeplug.hh:2232
virtual void setName(const QString &name)
Sets the name.
Definition anytone_codeplug.cc:3480
virtual void setID(const QString &id)
Sets the ID.
Definition anytone_codeplug.cc:3461
virtual void setResponse(Response response)
Sets the response.
Definition anytone_codeplug.cc:3443
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2245
virtual Response response() const
Returns the response.
Definition anytone_codeplug.cc:3439
FiveToneFunctionElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3412
virtual QString id() const
Returns the ID.
Definition anytone_codeplug.cc:3448
virtual uint8_t * function(unsigned int n) const
Returns the pointer to the n-th function setting.
Definition anytone_codeplug.cc:3506
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:3501
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2285
FiveToneFunctionListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3488
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2186
FiveToneIDBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3368
virtual void setStandard(Standard std)
Sets the encoding standard.
Definition anytone_codeplug.cc:3314
FiveToneIDElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3292
void clear()
Clears the ID.
Definition anytone_codeplug.cc:3305
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2148
virtual void setID(const QString &id)
Sets the ID.
Definition anytone_codeplug.cc:3341
virtual QString name() const
Returns the name.
Definition anytone_codeplug.cc:3356
virtual unsigned toneDuration() const
Returns the tone duration in ms.
Definition anytone_codeplug.cc:3319
Standard
Possible 5-tone encoding standards.
Definition anytone_codeplug.hh:2134
virtual void setName(const QString &name)
Sets the name.
Definition anytone_codeplug.cc:3360
virtual Standard standard() const
Returns the 5Tone encoding standard.
Definition anytone_codeplug.cc:3310
virtual void setToneDuration(unsigned ms)
Sets the tone duration in ms.
Definition anytone_codeplug.cc:3323
virtual QString id() const
Returns the ID.
Definition anytone_codeplug.cc:3328
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2204
FiveToneIDListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3384
virtual uint8_t * member(unsigned int n) const
Returns a pointer to the n-th five-tone ID.
Definition anytone_codeplug.cc:3402
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:3397
virtual unsigned autoResetTime() const
Returns the auto-reset time in seconds.
Definition anytone_codeplug.cc:3615
virtual Standard decodingStandard() const
Returns the decoding standard.
Definition anytone_codeplug.cc:3543
virtual unsigned eotToneDuration() const
Returns the EOT tone duration in ms.
Definition anytone_codeplug.cc:3742
void clear()
Resets the 5tone settings.
Definition anytone_codeplug.cc:3529
enum FiveToneIDElement::Standard Standard
Possible 5-tone encoding standards.
Definition anytone_codeplug.hh:2311
virtual QString eotID() const
Returns the 5tone EOT ID.
Definition anytone_codeplug.cc:3751
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2322
virtual void setEOTToneDuration(unsigned ms)
Sets the EOT tone duration in ms.
Definition anytone_codeplug.cc:3746
FiveToneSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3516
virtual unsigned stopCode() const
Returns the stop code [0,15].
Definition anytone_codeplug.cc:3642
virtual unsigned postEncodeDelay() const
Returns the post-encode delay in ms.
Definition anytone_codeplug.cc:3589
virtual void setAutoResetTime(unsigned s)
Sets the auto-reset time in seconds.
Definition anytone_codeplug.cc:3619
virtual void setStopCode(unsigned code)
Sets the stop code.
Definition anytone_codeplug.cc:3646
virtual void setDecodingResponse(Response response)
Sets the decoding response.
Definition anytone_codeplug.cc:3538
virtual void setStopTime(unsigned ms)
Sets the stop time in ms.
Definition anytone_codeplug.cc:3655
virtual QString botID() const
Returns the 5tone BOT ID.
Definition anytone_codeplug.cc:3705
virtual bool hasPTTID() const
Returns true if the PTT ID is set.
Definition anytone_codeplug.cc:3598
virtual void setID(const QString &id)
Sets the 5tone radio ID.
Definition anytone_codeplug.cc:3574
virtual void setDelayAfterStop(unsigned ms)
Sets the delay after stop in ms.
Definition anytone_codeplug.cc:3673
virtual unsigned decodingToneDuration() const
Returns the decoding tone duration in ms.
Definition anytone_codeplug.cc:3552
virtual QString id() const
Returns the 5tone radio ID.
Definition anytone_codeplug.cc:3561
virtual void setPreTime(unsigned ms)
Sets the pre time in ms.
Definition anytone_codeplug.cc:3682
virtual bool sidetoneEnabled() const
Returns true if the sidetone is enabled.
Definition anytone_codeplug.cc:3633
virtual void setDecodeTime(unsigned ms)
Sets the decode time in ms.
Definition anytone_codeplug.cc:3664
virtual void setPostEncodeDelay(unsigned ms)
Sets the post-encode delay in ms.
Definition anytone_codeplug.cc:3593
virtual void enableSidetone(bool enable)
Enables/disables side tone.
Definition anytone_codeplug.cc:3637
virtual void setDecodingStandard(Standard standard)
Sets the decoding standard.
Definition anytone_codeplug.cc:3547
virtual unsigned firstDelay() const
Returns the first delay in ms.
Definition anytone_codeplug.cc:3624
virtual void setEOTID(const QString &id)
Sets the 5tone EOT ID.
Definition anytone_codeplug.cc:3764
virtual void setBOTStandard(Standard standard)
Sets the BOT standard.
Definition anytone_codeplug.cc:3691
virtual void setDecodingToneDuration(unsigned ms)
Sets the decoding tone duration in ms.
Definition anytone_codeplug.cc:3556
virtual void setPTTID(unsigned id)
Sets the PTT ID [5,75].
Definition anytone_codeplug.cc:3606
virtual unsigned preTime() const
Returns the pre time in ms.
Definition anytone_codeplug.cc:3678
virtual unsigned pttID() const
Returns the PTT ID.
Definition anytone_codeplug.cc:3602
virtual Response decodingResponse() const
Returns the decoding response.
Definition anytone_codeplug.cc:3534
virtual unsigned botToneDuration() const
Returns the BOT tone duration in ms.
Definition anytone_codeplug.cc:3696
virtual void setBOTToneDuration(unsigned ms)
Sets the BOT tone duration in ms.
Definition anytone_codeplug.cc:3700
virtual void setFirstDelay(unsigned ms)
Sets the first delay in ms.
Definition anytone_codeplug.cc:3628
virtual void setBOTID(const QString &id)
Sets the 5tone BOT ID.
Definition anytone_codeplug.cc:3718
virtual void setEOTStandard(Standard standard)
Sets the EOT standard.
Definition anytone_codeplug.cc:3737
virtual unsigned stopTime() const
Returns the stop time in ms.
Definition anytone_codeplug.cc:3651
virtual Standard botStandard() const
Returns the BOT standard.
Definition anytone_codeplug.cc:3687
Response
Possible responses to decoded 5-tone codes.
Definition anytone_codeplug.hh:2307
virtual Standard eotStandard() const
Returns the EOT standard.
Definition anytone_codeplug.cc:3733
virtual unsigned delayAfterStop() const
Returns the delay after stop in ms.
Definition anytone_codeplug.cc:3669
virtual void clearPTTID()
Clears the PTT ID.
Definition anytone_codeplug.cc:3610
virtual unsigned decodeTime() const
Returns the decode time in ms.
Definition anytone_codeplug.cc:3660
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyALong() const =0
Returns the key function for a long press on the function key 1.
virtual bool updateConfig(Context &ctx)
Updates the abstract config from general settings.
Definition anytone_codeplug.cc:1843
virtual Interval menuExitTime() const =0
Returns the menu exit time in seconds.
virtual unsigned squelchLevelB() const
Squelch level of VFO B, (0=off).
Definition anytone_codeplug.cc:1677
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:1617
virtual void enableSMSAlert(bool enable)=0
Enables/disables SMS alert.
virtual void enableEnhancedAudio(bool enable)=0
Enables/disables "enhanced" audio.
virtual void enableShowCurrentContact(bool enable)=0
Enables/disables display of current contact.
virtual void setFuncKey2Long(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a long press on the function key 2.
virtual unsigned maxSpeakerVolume() const =0
Returns the maximum volume.
virtual void enableVolumeChangePrompt(bool enable)=0
Enables/disables the volume change prompt.
virtual void resetToneMelody(Melody &melody) const =0
Returns the reset-tone melody.
virtual void enableShowLastHeard(bool enable)=0
Enables/disables showing last heard.
virtual bool keyLockForced() const =0
Returns true if the "professional" key is locked.
virtual void enableGPSUnitsImperial(bool enable)=0
Enables/disables imperial GPS units.
virtual void setMenuExitTime(Interval intv)=0
Sets the menu exit time in seconds.
virtual unsigned dmrMicGain() const =0
Returns the mirophone gain.
virtual void setAutoRepeaterMinFrequencyVHF(Frequency Hz)=0
Sets the minimum frequency in Hz for the auto-repeater range in VHF band.
virtual bool defaultChannelAIsVFO() const =0
Returns true if the default channel for VFO A is VFO.
virtual void callToneMelody(Melody &melody) const =0
Returns the call-tone melody.
virtual bool fmTalkPermit() const =0
Returns true if the talk permit tone is enabled for digital channels.
virtual void setDefaultChannelAIndex(unsigned idx)=0
Sets the default channel index for VFO A.
virtual void setDefaultZoneIndexA(unsigned idx)=0
Sets the default zone (0-based) for VFO A.
virtual void enableStartupTone(bool enable)=0
Enables/disables the startup tone.
virtual unsigned defaultChannelAIndex() const =0
Returns the default channel index for VFO A.
virtual bool enhanceAudio() const =0
Returns true if the audio is "enhanced".
virtual void setVFOScanType(AnytoneSettingsExtension::VFOScanType type)=0
Sets the VFO scan type.
virtual void setIdleToneMelody(const Melody &melody)=0
Sets the idle-tone melody.
virtual void enableDMRTalkPermit(bool enable)=0
Enables/disables the talk permit tone for digital channels.
virtual void enableGPS(bool enable)=0
Enables/disables recording.
virtual void setDefaultZoneIndexB(unsigned idx)=0
Sets the default zone (0-based) for VFO B.
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyAShort() const =0
Returns the key function for a short press on the function key 1/A.
virtual void setAutoRepeaterOffsetFrequenyIndexUHF(unsigned idx)=0
Sets the auto-repeater offset frequency index for UHF.
virtual bool smsAlert() const =0
Returns true if SMS alert is enabled.
virtual Frequency maxVFOScanFrequencyUHF() const =0
Returns the maximum VFO scan frequency for the UHF band in Hz.
virtual void setCallToneMelody(const Melody &melody)=0
Sets the call-tone melody.
virtual bool displayClock() const =0
Returns true if the clock is shown.
virtual void enableDisplayCall(bool enable)=0
Enables/disables call display.
virtual bool defaultChannel() const =0
Returns true if the default boot channel is enabled.
virtual Frequency autoRepeaterMinFrequencyVHF() const =0
Returns the minimum frequency in Hz for the auto-repeater range in VHF band.
virtual bool volumeChangePrompt() const =0
Returns true if the volume change prompt is enabled.
virtual void enableDefaultChannel(bool enable)=0
Enables/disables default boot channel.
virtual void setDefaultChannelBIndex(unsigned idx)=0
Sets the default channel index for VFO B.
virtual void enableKeypadLock(bool enable)=0
Enables/disables the keypad lock.
virtual void enableIdleChannelTone(bool enable)=0
Enables/disables the idle channel tone.
virtual bool keyToneEnabled() const =0
Returns true, if the key tone is enabled.
virtual void enableFMTalkPermit(bool enable)=0
Enables/disables the talk permit tone for analog channels.
virtual bool vfoModeA() const =0
Returns true if the VFO A is in VFO mode.
virtual void enableDisplayClock(bool enable)=0
Enables/disables clock display.
virtual AnytoneKeySettingsExtension::KeyFunction funcKey2Long() const =0
Returns the key function for a long press on the function key 2.
virtual bool gpsUnitsImperial() const =0
Returns true if the GPS units are imperial.
virtual void enableDisplayFrequency(bool enable)
Enables/disables the frequency display.
Definition anytone_codeplug.cc:1612
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:808
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:1596
virtual void setMinVFOScanFrequencyVHF(Frequency hz)=0
Sets the minimum VFO scan frequency for the VHF band in Hz.
virtual AnytoneKeySettingsExtension::KeyFunction funcKey1Long() const =0
Returns the key function for a long press on the function key 1.
virtual void setSquelchLevelA(unsigned level)
Returns the squelch level for VFO A, (0=off).
Definition anytone_codeplug.cc:1674
virtual Interval longPressDuration() const =0
Returns the long-press duration in ms.
virtual bool keypadLock() const =0
Returns true if the keypad is locked.
virtual bool recording() const =0
Returns true if recording is enabled.
virtual bool displayFrequency() const
Returns true if the radio displays frequecies instead of channels is enabled.
Definition anytone_codeplug.cc:1608
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyCLong() const =0
Returns the key function for a long press on the function key 3.
virtual bool showLastHeard() const =0
Returns true if the last heard is shown while pressing PTT.
virtual void enableSubChannel(bool enable)=0
Enables/disables sub channel.
virtual unsigned defaultZoneIndexB() const =0
Returns the default zone index (0-based) for VFO B.
virtual void setFuncKeyAShort(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a short press on the function key 1/A.
virtual void clearAutoRepeaterOffsetFrequencyIndexUHF()=0
Clears the auto-repeater offset frequency index for UHF.
virtual bool dmrResetTone() const =0
Returns true if the reset tone is enabled for digital calls.
virtual void enableKeepLastCaller(bool enable)=0
Enables/disables keeping the last caller when changing the channel.
virtual AnytoneSettingsExtension::VFOScanType vfoScanType() const =0
Returns the VFO scan type.
virtual void setMemoryZoneB(unsigned zone)=0
Sets the memory zone for VFO B.
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyCShort() const =0
Returns the key function for a short press on the function key 3/C.
virtual void setLastCallerDisplayMode(AnytoneDisplaySettingsExtension::LastCallerDisplayMode mode)=0
Sets the last-caller display mode.
virtual bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err=ErrorStack())
Links the general settings.
Definition anytone_codeplug.cc:1945
virtual bool hasAutoRepeaterOffsetFrequencyIndexUHF() const =0
Returns true if the auto-repeater offset frequency for UHF is set.
virtual AnytoneKeySettingsExtension::KeyFunction funcKey1Short() const =0
Returns the key function for a short press on the function key 1.
virtual void setBrightness(unsigned level)=0
Sets the display brightness.
virtual void setBootDisplay(AnytoneBootSettingsExtension::BootDisplay mode)
Sets the boot display mode.
Definition anytone_codeplug.cc:1656
virtual void enableActiveChannelB(bool enable)=0
Enables/disables VFO B as the active channel.
virtual bool subChannel() const =0
Returns true if sub channel is enabled.
virtual AnytoneDisplaySettingsExtension::LastCallerDisplayMode lastCallerDisplayMode() const =0
Returns the last-caller display mode.
virtual void enableCallEndPrompt(bool enable)=0
Enables/disables the call-end prompt.
virtual void setMinVFOScanFrequencyUHF(Frequency hz)=0
Sets the minimum VFO scan frequency for the UHF band in Hz.
virtual void setFuncKeyBShort(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a short press on the function key 2/B.
virtual bool knobLock() const =0
Returns true if the knob is locked.
virtual bool vfoModeB() const =0
Returns true if the VFO B is in VFO mode.
virtual void setMaxVFOScanFrequencyUHF(Frequency hz)=0
Sets the maximum VFO scan frequency for the UHF band in Hz.
virtual AnytoneKeySettingsExtension::KeyFunction funcKey2Short() const =0
Returns the key function for a short press on the function key 2.
virtual bool defaultChannelBIsVFO() const =0
Returns true if the default channel for VFO B is VFO.
virtual void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color)=0
Sets the display color for callsigns.
virtual void setGPSTimeZone(const QTimeZone &zone)=0
Sets the GPS time zone.
virtual void enableKeyTone(bool enable)=0
Enables/disables the key-tone.
virtual unsigned memoryZoneA() const =0
Returns the memory zone for VFO A.
virtual void setFuncKeyALong(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a long press on the function key 1.
virtual void enableKnobLock(bool enable)=0
Enables/disables the knob lock.
virtual Frequency minVFOScanFrequencyVHF() const =0
Returns the minimum VFO scan frequency for the VHF band in Hz.
virtual bool callEndPrompt() const =0
Returns true if the call-end prompt is enabled.
virtual void enableVFOModeB(bool enable)=0
Enables/disables VFO mode for VFO B.
virtual AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionA() const =0
Returns the auto repeater offset direction for VFO A.
virtual unsigned defaultChannelBIndex() const =0
Returns the default channel index for VFO B.
virtual bool getGPSPosition() const =0
Returns true if get GPS position is enabled.
virtual Frequency maxVFOScanFrequencyVHF() const =0
Returns the maximum VFO scan frequency for the VHF band in Hz.
virtual AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionB() const =0
Returns the auto-repeater direction for VFO B.
virtual AnytoneBootSettingsExtension::BootDisplay bootDisplay() const
Returns the boot display mode.
Definition anytone_codeplug.cc:1652
virtual bool fromConfig(const Flags &flags, Context &ctx)
Encodes the general settings.
Definition anytone_codeplug.cc:1686
virtual void setDefaultChannelBToVFO()=0
Sets the default channel for VFO B to be VFO.
virtual void setFuncKeyBLong(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a long press on the function key 2.
virtual void clearAutoRepeaterOffsetFrequencyIndexVHF()=0
Clears the auto-repeater offset frequency index for VHF.
virtual unsigned autoRepeaterOffsetFrequencyIndexUHF() const =0
Returns the auto-repeater offset frequency index for UHF.
virtual void idleToneMelody(Melody &melody) const =0
Returns the idle-tone melody.
virtual void setResetToneMelody(const Melody &melody)=0
Sets the reset-tone melody.
virtual void setAutoRepeaterDirectionA(AnytoneAutoRepeaterSettingsExtension::Direction dir)=0
Sets the auto-repeater offset direction for VFO A.
virtual bool idleChannelTone() const =0
Returns true if the idle channel tone is enabled.
virtual bool startupTone() const =0
Returns true if the startup tone is enabled.
virtual void setDMRMicGain(unsigned int gain)=0
Sets the microphone gain.
virtual void setAutoRepeaterMaxFrequencyVHF(Frequency Hz)=0
Sets the maximum frequency in Hz for the auto-repeater range in VHF band.
virtual AnytoneDisplaySettingsExtension::Color callDisplayColor() const =0
Returns the display color for callsigns.
virtual void enableSidekeysLock(bool enable)=0
Enables/disables the sidekeys lock.
virtual void setLongPressDuration(Interval ms)=0
Sets the long-press duration in ms.
virtual void setFuncKey2Short(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a short press on the function key 2.
virtual void setFuncKey1Long(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a long press on the function key 1.
virtual void setFuncKey1Short(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a short press on the function key 1.
virtual bool sidekeysLock() const =0
Returns true if the sidekeys are locked.
virtual void setAutoRepeaterDirectionB(AnytoneAutoRepeaterSettingsExtension::Direction dir)=0
Sets the auto-repeater direction for VFO B.
virtual Frequency autoRepeaterMinFrequencyUHF() const =0
Returns the minimum frequency in Hz for the auto-repeater range in UHF band.
virtual void enableBootPassword(bool enable)
Enables/disables boot password.
Definition anytone_codeplug.cc:1665
void clear()
Resets the general settings.
Definition anytone_codeplug.cc:1603
virtual void enableKeyLockForced(bool enable)=0
Enables/disables the "professional" key lock.
virtual void setSquelchLevelB(unsigned level)
Returns the squelch level for VFO B, (0=off).
Definition anytone_codeplug.cc:1681
virtual bool activeChannelB() const =0
Returns true if the active channel is VFO B.
virtual bool keepLastCaller() const =0
Returns true if the last caller is kept when changing channel.
virtual bool showCurrentContact() const =0
Returns true if the current contact is shown.
virtual void setAutoRepeaterMaxFrequencyUHF(Frequency Hz)=0
Sets the maximum frequency in Hz for the auto-repeater range in UHF band.
virtual bool displayCall() const =0
Returns true if the call is displayed instead of the name.
virtual void enableCallAlert(bool enable)=0
Enables/disables call alert.
virtual bool hasAutoRepeaterOffsetFrequencyIndexVHF() const =0
Returns true if the auto-repeater offset frequency for VHF is set.
virtual unsigned memoryZoneB() const =0
Returns the memory zone for VFO B.
virtual Frequency minVFOScanFrequencyUHF() const =0
Returns the minimum VFO scan frequency for the UHF band in Hz.
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyBLong() const =0
Returns the key function for a long press on the function key 2.
virtual void setMaxSpeakerVolume(unsigned level)=0
Sets the maximum volume.
virtual bool gps() const =0
Returns true if GPS is enabled.
virtual void setMemoryZoneA(unsigned zone)=0
Sets the memory zone for VFO A.
virtual Frequency autoRepeaterMaxFrequencyUHF() const =0
Returns the maximum frequency in Hz for the auto-repeater range in UHF band.
virtual void setMaxVFOScanFrequencyVHF(Frequency hz)=0
Sets the maximum VFO scan frequency for the VHF band in Hz.
virtual unsigned defaultZoneIndexA() const =0
Returns the default zone index (0-based) for VFO A.
virtual void setAutoShutdownDelay(Interval min)
Sets the auto-shutdown delay in minutes.
Definition anytone_codeplug.cc:1637
virtual void enableRecording(bool enable)=0
Enables/disables recording.
virtual Interval autoShutdownDelay() const
Returns the auto-shutdown delay in minutes.
Definition anytone_codeplug.cc:1626
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:1621
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:1661
virtual void setFuncKeyCShort(AnytoneKeySettingsExtension::KeyFunction func)=0
Sets the key function for a short press on the function key 3/C.
virtual unsigned squelchLevelA() const
Squelch level of VFO A, (0=off).
Definition anytone_codeplug.cc:1670
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:611
GroupListBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:1269
virtual unsigned memberIndex(unsigned n) const
Returns the n-th member index.
Definition anytone_codeplug.cc:1204
virtual RXGroupList * toGroupListObj() const
Constructs a new RXGroupList from this group list.
Definition anytone_codeplug.cc:1217
virtual bool hasMemberIndex(unsigned n) const
Returns true if the n-th member index is valid.
Definition anytone_codeplug.cc:1200
virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx)
Constructs this group list from the given RXGroupList.
Definition anytone_codeplug.cc:1239
void clear()
Clears the group list.
Definition anytone_codeplug.cc:1179
GroupListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:1166
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:567
bool isValid() const
Returns true if the group list is valid.
Definition anytone_codeplug.cc:1186
virtual void setName(const QString &name)
Sets the name of the group list.
Definition anytone_codeplug.cc:1195
virtual bool linkGroupList(RXGroupList *lst, Context &ctx) const
Populates the RXGroupList from this group list.
Definition anytone_codeplug.cc:1222
virtual QString name() const
Returns the name of the group list.
Definition anytone_codeplug.cc:1191
virtual void clearMemberIndex(unsigned n)
Clears the n-th member index.
Definition anytone_codeplug.cc:1212
virtual void setMemberIndex(unsigned n, unsigned idx)
Sets the n-th member index.
Definition anytone_codeplug.cc:1208
virtual DigiCallType digiCallType() const
If type returns Type::Call and callType CalLType::Digital, returns the digital call type.
Definition anytone_codeplug.cc:2897
virtual void setContactIndex(unsigned idx)
Sets the contact index.
Definition anytone_codeplug.cc:2914
Type
Hot-key types.
Definition anytone_codeplug.hh:1748
@ Menu
Show a menu item.
Definition anytone_codeplug.hh:1750
@ Call
Perform a call.
Definition anytone_codeplug.hh:1749
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1791
void clear()
Resets the hot-key entry.
Definition anytone_codeplug.cc:2863
virtual Type type() const
Returns the type of the hot-key entry.
Definition anytone_codeplug.cc:2870
virtual void setMessageIndex(unsigned idx)
Sets the message index.
Definition anytone_codeplug.cc:2931
virtual void clearContactIndex()
Clears the contact index.
Definition anytone_codeplug.cc:2918
DigiCallType
Possible digital call sub-types.
Definition anytone_codeplug.hh:1772
@ StatusMessage
Send a state message.
Definition anytone_codeplug.hh:1779
@ AllCall
Perform all call.
Definition anytone_codeplug.hh:1776
@ CallTip
Send a call tip (?).
Definition anytone_codeplug.hh:1778
@ GroupCall
Perform a group call.
Definition anytone_codeplug.hh:1774
@ PrivateCall
Perform private call.
Definition anytone_codeplug.hh:1775
@ Off
Call disabled.
Definition anytone_codeplug.hh:1773
virtual unsigned contactIndex() const
If type is Type::Call, returns the contact index.
Definition anytone_codeplug.cc:2910
virtual void clearMessageIndex()
Clears the message index.
Definition anytone_codeplug.cc:2935
virtual CallType callType() const
If type returns Type::Call, returns the type of the call.
Definition anytone_codeplug.cc:2888
virtual void setMenuItem(MenuItem item)
Sets the menu item.
Definition anytone_codeplug.cc:2883
virtual bool hasContactIndex() const
Returns true if the contact index is set.
Definition anytone_codeplug.cc:2906
HotKeyElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2850
virtual void setCallType(CallType type)
Sets the call type.
Definition anytone_codeplug.cc:2892
CallType
Possible call types.
Definition anytone_codeplug.hh:1766
@ Digital
Perform a digital call.
Definition anytone_codeplug.hh:1768
@ Analog
Perform an analog call.
Definition anytone_codeplug.hh:1767
virtual unsigned messageIndex() const
Returns the message index.
Definition anytone_codeplug.cc:2927
virtual void setType(Type type)
Sets the type of the hot-key entry.
Definition anytone_codeplug.cc:2874
virtual MenuItem menuItem() const
If type returns Type::Menu, returns the menu item.
Definition anytone_codeplug.cc:2879
MenuItem
Possible menu items.
Definition anytone_codeplug.hh:1754
@ HotText
Send a hot-text.
Definition anytone_codeplug.hh:1757
@ Inbox
Show SMS inbox.
Definition anytone_codeplug.hh:1758
@ SMS
Show SMS menu.
Definition anytone_codeplug.hh:1755
@ ManualDial
Show manual dial.
Definition anytone_codeplug.hh:1761
@ NewSMS
Create new SMS.
Definition anytone_codeplug.hh:1756
@ Outbox
Show SMS outbox.
Definition anytone_codeplug.hh:1759
@ Contacts
Show contact list.
Definition anytone_codeplug.hh:1760
@ CallLog
Show call log.
Definition anytone_codeplug.hh:1762
virtual bool hasMessageIndex() const
Returns true if a message index is set.
Definition anytone_codeplug.cc:2923
virtual void setDigiCallType(DigiCallType type)
Sets the digital call type.
Definition anytone_codeplug.cc:2901
HotKeySettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2943
virtual uint8_t * hotKeySetting(unsigned int n) const
Returns a pointer to the n-th hot key setting.
Definition anytone_codeplug.cc:2963
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2956
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1860
void clear()
Clears the bitmap, disables all channels.
Definition anytone_codeplug.cc:106
virtual bool isEncoded(unsigned int idx) const
Returns true if the given index is valid.
Definition anytone_codeplug.cc:111
virtual void enableFirst(unsigned int n)
Enables the first n elements.
Definition anytone_codeplug.cc:126
InvertedBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:99
virtual void setEncoded(unsigned int idx, bool enable)
Enables/disables the specified index.
Definition anytone_codeplug.cc:117
virtual void setEncoded(unsigned int idx, bool enable)
Enables/disables the specified index.
Definition anytone_codeplug.cc:157
virtual bool isEncoded(unsigned int idx) const
Returns true if the given index is valid.
Definition anytone_codeplug.cc:150
virtual void enableFirst(unsigned int n)
Enables the first n elements.
Definition anytone_codeplug.cc:164
void clear()
Clears the bitmap, disables all channels.
Definition anytone_codeplug.cc:145
InvertedBytemapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:138
MessageBytemapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2707
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1599
MessageElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2677
virtual QString message() const
Returns the message text.
Definition anytone_codeplug.cc:2695
void clear()
Resets the message.
Definition anytone_codeplug.cc:2690
virtual void setMessage(const QString &msg)
Sets the message text.
Definition anytone_codeplug.cc:2699
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1576
virtual void setIndex(unsigned idx)
Sets the index of the message.
Definition anytone_codeplug.cc:2665
virtual bool hasIndex() const
Returns true if there is a message index.
Definition anytone_codeplug.cc:2657
virtual unsigned next() const
Returns the index of the next message in list.
Definition anytone_codeplug.cc:2644
virtual unsigned index() const
Returns the index of the message.
Definition anytone_codeplug.cc:2661
void clear()
Clears the message list item.
Definition anytone_codeplug.cc:2633
virtual void setNext(unsigned idx)
Sets the index of the next message in list.
Definition anytone_codeplug.cc:2648
MessageListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2620
virtual void clearNext()
Clears the next message index.
Definition anytone_codeplug.cc:2652
virtual bool hasNext() const
Returns true if there is a next message (EOL otherwise).
Definition anytone_codeplug.cc:2640
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1537
virtual void clearIndex()
Clears the index of the message.
Definition anytone_codeplug.cc:2669
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:794
RadioIDBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:1580
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:761
virtual bool fromRadioID(DMRRadioID *id)
Encodes the given RadioID.
Definition anytone_codeplug.cc:1570
virtual void setName(const QString &name)
Sets the name of the radio ID.
Definition anytone_codeplug.cc:1561
void clear()
Resets the radio ID.
Definition anytone_codeplug.cc:1544
RadioIDElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:1531
virtual DMRRadioID * toRadioID() const
Constructs a new radio id.
Definition anytone_codeplug.cc:1566
virtual void setNumber(unsigned number)
Sets the number of the radio ID.
Definition anytone_codeplug.cc:1552
virtual QString name() const
Returns the name of the radio ID.
Definition anytone_codeplug.cc:1557
virtual unsigned number() const
Returns the number of the radio ID.
Definition anytone_codeplug.cc:1548
virtual bool isSet(unsigned int n) const
Returns true, if the n-th offset frequency is set.
Definition anytone_codeplug.cc:2585
virtual Frequency offset(unsigned int n) const
Returns the n-th offset frequency.
Definition anytone_codeplug.cc:2592
virtual void setOffset(unsigned int n, Frequency freq)
Sets the n-th offset frequency.
Definition anytone_codeplug.cc:2602
RepeaterOffsetListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2565
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2578
virtual void clearOffset(unsigned int n)
Clears the n-th offset frequency.
Definition anytone_codeplug.cc:2610
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1491
ScanListBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:1515
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:743
virtual void setSecondarySelected()
Sets the secondary channel to be selected channel.
Definition anytone_codeplug.cc:1363
virtual bool fromScanListObj(ScanList *lst, Context &ctx)
Constructs the binary representation from the give config.
Definition anytone_codeplug.cc:1475
virtual void setSecondary(unsigned idx)
Sets the secondary channel index.
Definition anytone_codeplug.cc:1359
virtual PriChannel priorityChannels() const
Returns the priority channel selection.
Definition anytone_codeplug.cc:1313
ScanListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:1285
virtual QString name() const
Returns the name of the scan list.
Definition anytone_codeplug.cc:1414
virtual void setDropOutDelay(unsigned sec)
Sets the drop out delay in seconds.
Definition anytone_codeplug.cc:1392
virtual bool hasSecondary() const
Returns true if the secondary channel is set.
Definition anytone_codeplug.cc:1347
virtual bool hasPrimary() const
Returns true if the primary channel is set.
Definition anytone_codeplug.cc:1322
virtual bool primaryIsSelected() const
Returns true if the primary channel is set to the selected channel.
Definition anytone_codeplug.cc:1326
virtual unsigned memberIndex(unsigned n) const
Returns the n-th member index.
Definition anytone_codeplug.cc:1427
virtual void setRevertChannel(RevertChannel type)
Sets the revert channel type.
Definition anytone_codeplug.cc:1409
virtual ScanList * toScanListObj() const
Constructs a ScanList object from this definition.
Definition anytone_codeplug.cc:1440
virtual unsigned lookBackTimeA() const
Returns the look back time A in seconds.
Definition anytone_codeplug.cc:1372
virtual void setPrimary(unsigned idx)
Sets the primary channel index.
Definition anytone_codeplug.cc:1334
virtual void setPrimarySelected()
Sets the primary channel to be selected channel.
Definition anytone_codeplug.cc:1338
virtual void setDwellTime(unsigned sec)
Sets the dwell time in seconds.
Definition anytone_codeplug.cc:1400
virtual unsigned primary() const
Returns the primary channel index.
Definition anytone_codeplug.cc:1330
PriChannel
Defines all possible priority channel selections.
Definition anytone_codeplug.hh:622
@ Primary
Priority Channel Select 1.
Definition anytone_codeplug.hh:624
@ Secondary
Priority Channel Select 2.
Definition anytone_codeplug.hh:625
@ Both
Priority Channel Select 1 + Priority Channel Select 2.
Definition anytone_codeplug.hh:626
@ Off
Off.
Definition anytone_codeplug.hh:623
virtual void setName(const QString &name)
Sets the name of the scan list.
Definition anytone_codeplug.cc:1418
virtual bool secondaryIsSelected() const
Returns true if the secondary channel is set to the selected channel.
Definition anytone_codeplug.cc:1351
virtual void setPriorityChannels(PriChannel sel)
Sets the priority channel selection.
Definition anytone_codeplug.cc:1317
virtual void clearSecondaryChannel()
Clears the secondary channel index.
Definition anytone_codeplug.cc:1367
virtual RevertChannel revertChannel() const
Returns the revert channel type.
Definition anytone_codeplug.cc:1405
virtual bool hasMemberIndex(unsigned n) const
Returns true if the n-th member index is set.
Definition anytone_codeplug.cc:1423
virtual unsigned lookBackTimeB() const
Returns the look back time B in seconds.
Definition anytone_codeplug.cc:1380
virtual void clearPrimaryChannel()
Clears the primary channel index.
Definition anytone_codeplug.cc:1342
virtual void setLookBackTimeA(unsigned sec)
Sets the look back time A in seconds.
Definition anytone_codeplug.cc:1376
RevertChannel
Defines all possible reply channel selections.
Definition anytone_codeplug.hh:630
@ SecondaryActive
Secondary + active channel.
Definition anytone_codeplug.hh:638
@ PrimaryActive
Primary + active channel.
Definition anytone_codeplug.hh:637
@ SelectedActive
Selected + active channel.
Definition anytone_codeplug.hh:632
@ LastUsed
Last Used.
Definition anytone_codeplug.hh:636
@ Selected
Selected channel.
Definition anytone_codeplug.hh:631
@ LastCalled
Last Called.
Definition anytone_codeplug.hh:635
void clear()
Resets the scan list.
Definition anytone_codeplug.cc:1298
virtual void setMemberIndex(unsigned n, unsigned idx)
Sets the n-th member index.
Definition anytone_codeplug.cc:1431
virtual unsigned dropOutDelay() const
Returns the drop out delay in seconds.
Definition anytone_codeplug.cc:1388
virtual void setLookBackTimeB(unsigned sec)
Sets the look back time B in seconds.
Definition anytone_codeplug.cc:1384
virtual void clearMemberIndex(unsigned n)
Clears the n-th member index.
Definition anytone_codeplug.cc:1435
virtual unsigned secondary() const
Returns the secondary channel index.
Definition anytone_codeplug.cc:1355
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:1445
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:650
virtual unsigned dwellTime() const
Returns the dwell time in seconds.
Definition anytone_codeplug.cc:1396
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1737
StatusMessageBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2834
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1699
virtual QString message(unsigned int n) const
Returns the n-th status message.
Definition anytone_codeplug.cc:2818
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:2813
StatusMessagesElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2800
virtual void setMessage(unsigned int n, const QString &msg)
Sets the n-th status message.
Definition anytone_codeplug.cc:2824
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2566
TwoToneFunctionBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3903
virtual Response response() const
Returns the response.
Definition anytone_codeplug.cc:3882
virtual void setSecondTone(double f)
Sets the second tone of the sequence.
Definition anytone_codeplug.cc:3877
virtual void setFirstTone(double f)
Sets the first tone of the sequence.
Definition anytone_codeplug.cc:3868
Response
Possible responses to a decode.
Definition anytone_codeplug.hh:2498
void clear()
Resets the function.
Definition anytone_codeplug.cc:3859
virtual void setResponse(Response resp)
Sets the response.
Definition anytone_codeplug.cc:3886
virtual QString name() const
Returns the name of the function.
Definition anytone_codeplug.cc:3891
virtual double secondTone() const
Returns the second tone of the sequence.
Definition anytone_codeplug.cc:3873
virtual void setName(const QString &name)
Sets the name of the function.
Definition anytone_codeplug.cc:3895
TwoToneFunctionElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3846
virtual double firstTone() const
Returns the first tone of the sequence.
Definition anytone_codeplug.cc:3864
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2511
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2487
TwoToneIDBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:3830
virtual void setSecondTone(double f)
Sets the second tone of the sequence.
Definition anytone_codeplug.cc:3813
virtual QString name() const
Returns the name of the function.
Definition anytone_codeplug.cc:3818
void clear()
Resets the ID.
Definition anytone_codeplug.cc:3795
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2438
virtual void setFirstTone(double f)
Sets the first tone of the sequence.
Definition anytone_codeplug.cc:3804
virtual double firstTone() const
Returns the first tone of the sequence.
Definition anytone_codeplug.cc:3800
virtual void setName(const QString &name)
Sets the name of the function.
Definition anytone_codeplug.cc:3822
TwoToneIDElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3782
virtual double secondTone() const
Returns the second tone of the sequence.
Definition anytone_codeplug.cc:3809
virtual unsigned gapDuration() const
Returns the gap duration in ms.
Definition anytone_codeplug.cc:3964
virtual void setFirstToneDuration(unsigned ms)
Sets the first tone duration in ms.
Definition anytone_codeplug.cc:3941
virtual bool sidetone() const
Returns true if the sidetone is enabled.
Definition anytone_codeplug.cc:3982
virtual void setSecondToneDuration(unsigned ms)
Sets the second tone duration in ms.
Definition anytone_codeplug.cc:3950
virtual unsigned firstToneDuration() const
Returns the first tone duration in ms.
Definition anytone_codeplug.cc:3937
virtual void enableSidetone(bool enable)
Enables/disables the sidetone.
Definition anytone_codeplug.cc:3986
virtual void setLongToneDuration(unsigned ms)
Sets the long tone duration in ms.
Definition anytone_codeplug.cc:3959
virtual void setAutoResetTime(unsigned sec)
Sets the auto-reset time in seconds.
Definition anytone_codeplug.cc:3977
TwoToneSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:3919
virtual unsigned autoResetTime() const
Returns the auto-reset time in seconds.
Definition anytone_codeplug.cc:3973
virtual unsigned longToneDuration() const
Returns the long tone duration in ms.
Definition anytone_codeplug.cc:3955
virtual unsigned secondToneDuration() const
Returns the second tone duration in ms.
Definition anytone_codeplug.cc:3946
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:2584
void clear()
Resets the settings.
Definition anytone_codeplug.cc:3932
virtual void setGapDuration(unsigned ms)
Sets the gap duration in ms.
Definition anytone_codeplug.cc:3968
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2818
WFMChannelBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4297
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2778
virtual void clearChannel(unsigned int n)
Clears the n-th channel frequency.
Definition anytone_codeplug.cc:4287
WFMChannelListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4248
virtual void setChannel(unsigned int n, Frequency freq)
Sets the n-th channel frequency.
Definition anytone_codeplug.cc:4280
virtual Frequency channel(unsigned int n) const
Returns the n-th channel frequency.
Definition anytone_codeplug.cc:4273
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4261
virtual bool hasChannel(unsigned int n) const
Returns true, if the n-th channel is set.
Definition anytone_codeplug.cc:4266
virtual Frequency frequency() const
Returns the VFO frequency.
Definition anytone_codeplug.cc:4332
WFMVFOElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:4313
void clear()
Abstract method to reset the element within the codeplug.
Definition anytone_codeplug.cc:4326
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:2833
virtual void setFrequency(Frequency freq)
Sets the VFO frequency.
Definition anytone_codeplug.cc:4337
static constexpr unsigned int size()
The size of the element.
Definition anytone_codeplug.hh:1296
ZoneBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition anytone_codeplug.cc:2171
virtual unsigned channelIndexA(unsigned n) const
Returns the channel index (0-based) for VFO A for the n-th zone.
Definition anytone_codeplug.cc:2138
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:2159
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:2151
void clear()
Resets the zone channel list.
Definition anytone_codeplug.cc:2127
ZoneChannelListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition anytone_codeplug.cc:2114
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:2134
virtual void clearChannelIndexA(unsigned n)
Clears the channel index (0-based) for VFO A for the n-th zone.
Definition anytone_codeplug.cc:2146
static constexpr unsigned int size()
Returns the size of the element.
Definition anytone_codeplug.hh:1260
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:2142
virtual void clearChannelIndexB(unsigned n)
Clears the channel index (0-based) for VFO B for the n-th zone.
Definition anytone_codeplug.cc:2163
virtual unsigned channelIndexB(unsigned n) const
Returns the channel index (0-based) for VFO B for the n-th zone.
Definition anytone_codeplug.cc:2155
AnytoneCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition anytone_codeplug.cc:4485
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:4616
virtual void clear()
Clears and resets the complete codeplug to some default values.
Definition anytone_codeplug.cc:4496
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 ~AnytoneCodeplug()
Destructor.
Definition anytone_codeplug.cc:4491
virtual void allocateForDecoding()=0
Allocate all code-plug elements that must be downloaded for decoding.
bool postprocess(Config *config, const ErrorStack &err) const
Retruns a post-processed configuration of the decoded config.
Definition anytone_codeplug.cc:4599
virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack())=0
Decodes the downloaded codeplug.
Config * preprocess(Config *config, const ErrorStack &err) const
Retruns a prepared configuration for this particular radio.
Definition anytone_codeplug.cc:4580
virtual bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes the given config (via context) to the binary codeplug.
bool decode(Config *config, const ErrorStack &err)
Decodes a binary codeplug to the given abstract configuration config.
Definition anytone_codeplug.cc:4646
virtual bool allocateBitmaps()=0
Allocates the bitmaps.
QString _label
Holds the image label.
Definition anytone_codeplug.hh:2995
virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition anytone_codeplug.cc:4507
AlertType
Possible ring-tone types.
Definition anytone_extension.hh:340
Color
Possible display colors.
Definition anytone_extension.hh:998
LastCallerDisplayMode
What to show from the last caller.
Definition anytone_extension.hh:992
SquelchMode
Possible squelch mode settings.
Definition anytone_extension.hh:160
KeyFunction
All possible key functions.
Definition anytone_extension.hh:609
VFOScanType
Encodes the possible VFO scan types.
Definition anytone_extension.hh:2180
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:34
Power
Specifies the prefix for every ID assigned to every channel during serialization.
Definition channel.hh:61
Base class for all codeplug contexts.
Definition codeplug.hh:273
Element(uint8_t *ptr, size_t size)
Hidden constructor.
Definition codeplug.cc:22
Certain flags passed to CodePlug::encode to control the transfer and encoding of the codeplug.
Definition codeplug.hh:26
Codeplug(QObject *parent=nullptr)
Hidden default constructor.
Definition codeplug.cc:741
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:389
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:41
Bandwidth
Possible bandwidth of an analog channel.
Definition channel.hh:240
Represents a time interval.
Definition interval.hh:11
A config item that encodes a melody.
Definition melody.hh:20
Generic representation of a RX group list.
Definition rxgrouplist.hh:14
Represents the common radio-global settings.
Definition radiosettings.hh:15
Generic representation of a scan list.
Definition scanlist.hh:15
Internal offsets within the element.
Definition anytone_codeplug.hh:2078
Some limits for the quick calls.
Definition anytone_codeplug.hh:1671
static constexpr unsigned int numEntries()
The maximum number of quick-call entries.
Definition anytone_codeplug.hh:1672
Some offsets within the element.
Definition anytone_codeplug.hh:1677
Implements encoding of CTCSS tones.
Definition anytone_codeplug.hh:25
static uint8_t encode(const SelectiveCall &tone)
Encodes Signaling::Code CTCSS tones.
Definition anytone_codeplug.cc:40
static SelectiveCall decode(uint8_t code)
Decodes to Signaling::Code CTCSS tones.
Definition anytone_codeplug.cc:49
static SelectiveCall _codeTable[52]
Translation table.
Definition anytone_codeplug.hh:23
Internal used offsets within the channel element.
Definition anytone_codeplug.hh:396
Some limits for the message.
Definition anytone_codeplug.hh:1463
static constexpr unsigned int length()
Maximum message length.
Definition anytone_codeplug.hh:1464
Some internal used offset.
Definition anytone_codeplug.hh:1469
Some limits for the list.
Definition anytone_codeplug.hh:2870
static constexpr unsigned int numEntries()
Maximum number of DMR encryption key IDs.
Definition anytone_codeplug.hh:2871
Some internal used offsets within the element.
Definition anytone_codeplug.hh:2876
Some limits of the list.
Definition anytone_codeplug.hh:2906
static constexpr unsigned numEntries()
Maximum number of keys.
Definition anytone_codeplug.hh:2907
Some offsets within the element.
Definition anytone_codeplug.hh:2912
Some limits for the element.
Definition anytone_codeplug.hh:521
static constexpr unsigned int digitCount()
The max number of digits.
Definition anytone_codeplug.hh:522
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:523
Internal used offsets within the codeplug.
Definition anytone_codeplug.hh:528
Some limits of the list.
Definition anytone_codeplug.hh:2757
static constexpr unsigned int numberLength()
The maximum length of the numbers.
Definition anytone_codeplug.hh:2759
static constexpr unsigned int numEntries()
The maximum number of entries in the list.
Definition anytone_codeplug.hh:2758
Internal used offsets within the element.
Definition anytone_codeplug.hh:2118
Some limits for the list.
Definition anytone_codeplug.hh:2294
static constexpr unsigned int numFunctions()
The max number of functions.
Definition anytone_codeplug.hh:2295
Some limits for the list.
Definition anytone_codeplug.hh:2213
static constexpr unsigned int numEntries()
Maximum number of entries.
Definition anytone_codeplug.hh:2214
Internal used offsets within the element.
Definition anytone_codeplug.hh:1180
Some limits for this element.
Definition anytone_codeplug.hh:1869
static constexpr unsigned int numEntries()
Maximum number of hot-key entries.
Definition anytone_codeplug.hh:1870
Some internal offsets within the element.
Definition anytone_codeplug.hh:1875
Some limits for the offset frequency table.
Definition anytone_codeplug.hh:1506
static constexpr unsigned int numEntries()
Max number of entries in the table.
Definition anytone_codeplug.hh:1507
Some internal used offsets.
Definition anytone_codeplug.hh:1512
Some limits.
Definition anytone_codeplug.hh:1710
static constexpr unsigned int numMessages()
Maximum number of messages.
Definition anytone_codeplug.hh:1711
static constexpr unsigned int messageLength()
Maximum length of the messages.
Definition anytone_codeplug.hh:1712
Some internal offsets.
Definition anytone_codeplug.hh:1717
Some limits of the element.
Definition anytone_codeplug.hh:2538
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2539
Some internal offsets within the element.
Definition anytone_codeplug.hh:2544
Some limits for the element.
Definition anytone_codeplug.hh:2460
static constexpr unsigned int nameLength()
Maximum name length.
Definition anytone_codeplug.hh:2461
Some internal offsets within the element.
Definition anytone_codeplug.hh:2466
Some limits for the channel list.
Definition anytone_codeplug.hh:2793
static constexpr unsigned int numEntries()
Maximum number of channels in the list.
Definition anytone_codeplug.hh:2794
Some internal offsets within the element.
Definition anytone_codeplug.hh:2799
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:11
Encodes a selective call.
Definition signaling.hh:13