libdrmconf 0.15.0
A library to program DMR radios.
Loading...
Searching...
No Matches
tyt_codeplug.hh
1#ifndef TYT_CODEPLUG_HH
2#define TYT_CODEPLUG_HH
3
4#include <QDateTime>
5
6#include "codeplug.hh"
7#include "signaling.hh"
8#include "channel.hh"
9#include "contact.hh"
10#include "bootsettings.hh"
11#include "tyt_extensions.hh"
12
13class DMRContact;
14class Zone;
15class RXGroupList;
16class ScanList;
17class DMRAPRSSystem;
18class SMSExtension;
19class SMSTemplate;
20
26class TyTCodeplug : public Codeplug
27{
28 Q_OBJECT
29
30public:
36 {
37 public:
39 enum Mode {
42 };
43
50
57
65
66 protected:
68 ChannelElement(uint8_t *ptr, size_t size);
69
70 public:
72 ChannelElement(uint8_t *ptr);
74 virtual ~ChannelElement();
75
77 bool isValid() const;
79 void clear();
80
82 static constexpr unsigned int size() { return 0x0040; }
83
85 virtual Mode mode() const;
87 virtual void setMode(Mode setMode);
88
90 virtual FMChannel::Bandwidth bandwidth() const;
92 virtual void setBandwidth(FMChannel::Bandwidth bw);
93
95 virtual bool autoScan() const;
97 virtual void enableAutoScan(bool enable);
98
100 virtual bool loneWorker() const;
102 virtual void enableLoneWorker(bool enable);
103
105 virtual bool talkaround() const;
107 virtual void enableTalkaround(bool enable);
108
110 virtual bool rxOnly() const;
112 virtual void enableRXOnly(bool enable);
113
115 virtual DMRChannel::TimeSlot timeSlot() const;
117 virtual void setTimeSlot(DMRChannel::TimeSlot ts);
118
120 virtual uint8_t colorCode() const;
122 virtual void setColorCode(uint8_t ts);
123
125 virtual uint8_t privacyIndex() const;
127 virtual void setPrivacyIndex(uint8_t ts);
129 virtual PrivacyType privacyType() const;
131 virtual void setPrivacyType(PrivacyType type);
132
134 virtual bool privateCallConfirm() const;
136 virtual void enablePrivateCallConfirm(bool enable);
137
139 virtual bool dataCallConfirm() const;
141 virtual void enableDataCallConfirm(bool enable);
142
151
153 virtual bool emergencyAlarmACK() const;
155 virtual void enableEmergencyAlarmACK(bool enable);
156
158 virtual bool displayPTTId() const;
160 virtual void enableDisplayPTTId(bool enable);
161
163 virtual bool vox() const;
165 virtual void enableVOX(bool enable);
166
168 virtual Admit admitCriterion() const;
170 virtual void setAdmitCriterion(Admit admit);
171
173 virtual uint16_t contactIndex() const;
175 virtual void setContactIndex(uint16_t idx);
176
178 virtual bool txTimeOutDisabled() const;
180 virtual Interval txTimeOut() const;
182 virtual void setTXTimeOut(const Interval &tot);
184 virtual void resetTXTimeOut();
186 virtual uint8_t txTimeOutRekeyDelay() const;
188 virtual void setTXTimeOutRekeyDelay(uint8_t delay);
189
191 virtual uint8_t emergencySystemIndex() const;
193 virtual void setEmergencySystemIndex(uint8_t idx);
194
196 virtual uint8_t scanListIndex() const;
198 virtual void setScanListIndex(uint8_t idx);
199
201 virtual uint8_t groupListIndex() const;
203 virtual void setGroupListIndex(uint8_t idx);
204
206 virtual uint8_t positioningSystemIndex() const;
208 virtual void setPositioningSystemIndex(uint8_t idx);
209
211 virtual bool dtmfDecode(uint8_t idx) const;
213 virtual void setDTMFDecode(uint8_t idx, bool enable);
214
216 virtual Frequency rxFrequency() const;
218 virtual void setRXFrequency(const Frequency &Hz);
220 virtual Frequency txFrequency() const;
222 virtual void setTXFrequency(const Frequency &Hz);
223
225 virtual SelectiveCall rxSignaling() const;
227 virtual void setRXSignaling(const SelectiveCall &code);
229 virtual SelectiveCall txSignaling() const;
231 virtual void setTXSignaling(const SelectiveCall &code);
233 virtual uint8_t rxSignalingSystemIndex() const;
235 virtual void setRXSignalingSystemIndex(uint8_t idx);
237 virtual uint8_t txSignalingSystemIndex() const;
239 virtual void setTXSignalingSystemIndex(uint8_t idx);
240
242 virtual bool txGPSInfo() const;
244 virtual void enableTXGPSInfo(bool enable);
246 virtual bool rxGPSInfo() const;
248 virtual void enableRXGPSInfo(bool enable);
249
251 virtual QString name() const;
253 virtual void setName(const QString &setName);
254
256 virtual Channel *toChannelObj(const ErrorStack &err=ErrorStack()) const;
258 virtual bool linkChannelObj(Channel *c, Context &ctx, const ErrorStack &err=ErrorStack()) const;
260 virtual void fromChannelObj(const Channel *c, Context &ctx);
261
262 public:
264 struct Limit: public Element::Limit {
266 static constexpr unsigned int nameLength() { return 16; }
267 };
268
269 protected:
271 struct Offset: public Element::Offset {
273 static constexpr Offset::Bit mode() { return {0x0000, 0}; }
274 static constexpr Offset::Bit bandwidth() { return {0x0000, 2}; }
275 static constexpr Offset::Bit autoscan() { return {0x0000, 4}; }
276 static constexpr Offset::Bit loneworker() { return {0x0000, 8}; }
277 static constexpr Offset::Bit talkaround() { return {0x0001, 0}; }
278 static constexpr Offset::Bit rxonly() { return {0x0001, 1}; }
279 static constexpr Offset::Bit timeslot() { return {0x0001, 2}; }
280 static constexpr Offset::Bit colorcode() { return {0x0001, 4}; }
281 static constexpr Offset::Bit privacyIndex() { return {0x0002, 0}; }
282 static constexpr Offset::Bit privacyType() { return {0x0002, 4}; }
283 static constexpr Offset::Bit privateCallConfirm() { return {0x0002, 6}; }
284 static constexpr Offset::Bit dataCallConfirm() { return {0x0002, 7}; }
285 static constexpr Offset::Bit rxRefFrequency() { return {0x0003, 0}; }
286 static constexpr Offset::Bit emergencyAlarmACK() { return {0x0003, 3}; }
287 static constexpr Offset::Bit displayPTTId() { return {0x0003, 7}; }
288 static constexpr Offset::Bit txRefFrequency() { return {0x0004, 0}; }
289 static constexpr Offset::Bit vox() { return {0x0004, 4}; }
290 static constexpr Offset::Bit admitCriterion() { return {0x0004, 6}; }
291 static constexpr unsigned int contactIndex() { return 0x0006; }
292 static constexpr Offset::Bit txTimeOut() { return {0x0008, 0}; }
293 static constexpr unsigned int txTimeOutRekeyDelay() { return 0x0009; }
294 static constexpr unsigned int emergencySystemIndex() { return 0x000a; }
295 static constexpr unsigned int scanListIndex() { return 0x000b; }
296 static constexpr unsigned int groupListIndex() { return 0x000c; }
297 static constexpr unsigned int positioningSystemIndex() { return 0x000d; }
298 static constexpr unsigned int dtmfDecode() { return 0x000e; }
299 static constexpr unsigned int rxFrequency() { return 0x0010; }
300 static constexpr unsigned int txFrequency() { return 0x0014; }
301 static constexpr unsigned int rxSignaling() { return 0x018; }
302 static constexpr unsigned int txSignaling() { return 0x01a; }
303 static constexpr unsigned int rxSignalingSystemIndex() { return 0x01c; }
304 static constexpr unsigned int txSignalingSystemIndex() { return 0x01d; }
305 static constexpr Offset::Bit txGPSInfo() { return {0x001f, 0}; }
306 static constexpr Offset::Bit rxGPSInfo() { return {0x001f, 1}; }
307 static constexpr unsigned int name() { return 0x0020; }
309 };
310 };
311
317 {
318 protected:
320 enum class CallType {
321 GroupCall=1, PrivateCall=2, AllCall=3
322 };
323
324 protected:
326 ContactElement(uint8_t *ptr, size_t size);
327
328 public:
330 ContactElement(uint8_t *ptr);
332 virtual ~ContactElement();
333
335 static constexpr unsigned int size() { return 0x000024; }
336 void clear();
337 bool isValid() const;
338
340 virtual uint32_t dmrId() const;
342 virtual void setDMRId(uint32_t id);
343
345 virtual DMRContact::Type callType() const;
347 virtual void setCallType(DMRContact::Type type);
348
350 virtual bool ringTone() const;
352 virtual void enableRingTone(bool enable);
353
355 virtual QString name() const;
357 virtual void setName(const QString &nm);
358
360 virtual bool fromContactObj(const DMRContact *contact);
362 virtual DMRContact *toContactObj() const;
363
364 public:
366 struct Limit: Element::Limit {
368 static constexpr unsigned int nameLength() { return 16; }
369 };
370
371 protected:
373 struct Offset: Element::Offset {
375 static constexpr unsigned int dmrId() { return 0x0000; }
376 static constexpr Bit callType() { return {0x0003, 0}; }
377 static constexpr Bit ringTone() { return {0x0003, 5}; }
378 static constexpr unsigned int name() { return 0x0004; }
380 };
381 };
382
390 {
391 protected:
393 ZoneElement(uint8_t *ptr, size_t size);
394
395 public:
397 ZoneElement(uint8_t *ptr);
399 virtual ~ZoneElement();
400
401 void clear();
402 bool isValid() const;
403
405 virtual QString name() const;
407 virtual void setName(const QString &setName);
408
410 virtual bool hasMemberIndex(unsigned n) const;
412 virtual uint16_t memberIndex(unsigned n) const;
414 virtual void setMemberIndex(unsigned n, uint16_t idx);
415
417 virtual bool fromZoneObj(const Zone *zone, Context &ctx);
419 virtual Zone *toZoneObj() const;
421 virtual bool linkZone(Zone *zone, Context &ctx) const;
422 };
423
429 {
430 protected:
432 GroupListElement(uint8_t *ptr, size_t size);
433
434 public:
436 GroupListElement(uint8_t *ptr);
438 virtual ~GroupListElement();
439
440 void clear();
441 bool isValid() const;
442
444 virtual QString name() const;
446 virtual void setName(const QString &nm);
447
449 virtual uint16_t memberIndex(unsigned n) const;
451 virtual void setMemberIndex(unsigned n, uint16_t idx);
452
454 virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx);
456 virtual RXGroupList *toGroupListObj(Context &ctx);
458 virtual bool linkGroupListObj(RXGroupList *lst, Context &ctx);
459 };
460
466 {
467 protected:
469 ScanListElement(uint8_t *ptr, size_t size);
470
471 public:
473 ScanListElement(uint8_t *ptr);
475 virtual ~ScanListElement();
476
477 bool isValid() const;
478 void clear();
479
481 virtual QString name() const;
483 virtual void setName(const QString &nm);
484
486 virtual uint16_t priorityChannel1Index() const;
488 virtual void setPriorityChannel1Index(uint16_t idx);
489
491 virtual uint16_t priorityChannel2Index() const;
493 virtual void setPriorityChannel2Index(uint16_t idx);
494
496 virtual uint16_t txChannelIndex() const;
498 virtual void setTXChannelIndex(uint16_t idx);
499
501 virtual unsigned holdTime() const;
503 virtual void setHoldTime(unsigned time);
504
506 virtual unsigned prioritySampleTime() const;
508 virtual void setPrioritySampleTime(unsigned time);
509
511 virtual uint16_t memberIndex(unsigned n) const;
513 virtual void setMemberIndex(unsigned n, uint16_t idx);
514
516 virtual bool fromScanListObj(const ScanList *lst, Context &ctx);
518 virtual ScanList *toScanListObj(Context &ctx);
520 virtual bool linkScanListObj(ScanList *lst, Context &ctx, const ErrorStack &err=ErrorStack());
521 };
522
528 {
529 protected:
531 GeneralSettingsElement(uint8_t *ptr, size_t size);
532
533 public:
535 explicit GeneralSettingsElement(uint8_t *ptr);
537 virtual ~GeneralSettingsElement();
538
539 void clear();
540
542 virtual QString introLine1() const;
544 virtual void setIntroLine1(const QString line);
546 virtual QString introLine2() const;
548 virtual void setIntroLine2(const QString line);
549
551 virtual TyTSettingsExtension::MonitorType monitorType() const;
553 virtual void setMonitorType(TyTSettingsExtension::MonitorType type);
554
556 virtual bool allLEDsDisabled() const;
558 virtual void disableAllLEDs(bool disable);
559
561 virtual bool savePreamble() const;
563 virtual void setSavePreamble(bool enable);
565 virtual bool saveModeRX() const;
567 virtual void setSaveModeRX(bool enable);
569 virtual bool allTonesDisabled() const;
571 virtual void disableAllTones(bool disable);
573 virtual bool chFreeIndicationTone() const;
575 virtual void setChFreeIndicationTone(bool enable);
577 virtual bool passwdAndLock() const;
579 virtual void enablePasswdAndLock(bool enable);
581 virtual bool talkPermitToneDigital() const;
583 virtual void enableTalkPermitToneDigital(bool enable);
585 virtual bool talkPermitToneAnalog() const;
587 virtual void enableTalkPermitToneAnalog(bool enable);
588
592 virtual void setBootDisplay(BootSettings::BootDisplay mode);
593
595 virtual uint32_t dmrId() const;
597 virtual void setDMRId(uint32_t id);
598
600 virtual Interval txPreambleDuration () const;
602 virtual void setTXPreambleDuration(const Interval &ms);
604 virtual Interval groupCallHangTime() const;
606 virtual void setGroupCallHangTime(const Interval &ms);
608 virtual Interval privateCallHangTime() const;
610 virtual void setPrivateCallHangTime(const Interval &ms);
612 virtual Level voxSesitivity() const;
614 virtual void setVOXSesitivity(Level level);
616 virtual unsigned lowBatteryInterval() const;
618 virtual void setLowBatteryInterval(unsigned sec);
619
621 virtual bool callAlertToneIsContinuous() const;
623 virtual unsigned callAlertToneDuration() const;
625 virtual void setCallAlertToneDuration(unsigned sec);
627 virtual void setCallAlertToneContinuous();
628
630 virtual unsigned loneWorkerResponseTime() const;
632 virtual void setLoneWorkerResponseTime(unsigned min);
634 virtual unsigned loneWorkerReminderTime() const;
636 virtual void setLoneWorkerReminderTime(unsigned min);
638 virtual unsigned scanDigitalHangTime() const;
640 virtual void setScanDigitalHangTime(unsigned ms);
642 virtual unsigned scanAnalogHangTime() const;
644 virtual void setScanAnalogHangTime(unsigned ms);
645
647 virtual bool backlightIsAlways() const;
649 virtual unsigned backlightTime() const;
651 virtual void setBacklightTime(unsigned sec);
653 virtual void backlightTimeSetAlways();
654
656 virtual bool keypadLockIsManual() const;
658 virtual unsigned keypadLockTime() const;
660 virtual void setKeypadLockTime(unsigned sec);
662 virtual void keypadLockTimeSetManual();
663
665 virtual uint32_t powerOnPassword() const;
667 virtual void setPowerOnPassword(uint32_t passwd);
668
670 virtual bool radioProgPasswordEnabled() const;
672 virtual uint32_t radioProgPassword() const;
674 virtual void setRadioProgPassword(uint32_t passwd);
676 virtual void radioProgPasswordDisable();
677
679 virtual bool pcProgPasswordEnabled() const;
681 virtual QString pcProgPassword() const;
683 virtual void setPCProgPassword(const QString &pass);
685 virtual void pcProgPasswordDisable();
686
688 virtual QString radioName() const;
690 virtual void setRadioName(const QString &name);
691
693 virtual bool fromConfig(const Config *config);
695 virtual bool updateConfig(Config *config);
696
697 public:
699 struct Limit: Element::Limit {
700 // Valid VOX sensitivity range.
701 static constexpr Range<unsigned int> vox() { return {1,10}; }
702 static constexpr unsigned bootPasswordLength() { return 8; }
703 };
704
705 protected:
707 struct Offset: Element::Offset {
709 static constexpr Bit bootImageEnabled() { return {0x0042,4}; }
711 };
712 };
713
719 {
720 protected:
722 TimestampElement(uint8_t *ptr, size_t size);
723
724 public:
726 explicit TimestampElement(uint8_t *ptr);
728 virtual ~TimestampElement();
729
730 void clear();
731
733 virtual QDateTime timestamp() const;
735 virtual void setTimestamp(const QDateTime &ts);
736
738 virtual QString cpsVersion() const;
739 };
740
746 {
747 protected:
749 GPSSystemElement(uint8_t *ptr, size_t size);
750
751 public:
753 explicit GPSSystemElement(uint8_t *ptr);
755 virtual ~GPSSystemElement();
756
757 bool isValid() const;
758 void clear();
759
761 virtual bool revertChannelIsSelected() const;
763 virtual uint16_t revertChannelIndex() const;
765 virtual void setRevertChannelIndex(uint16_t idx);
767 virtual void setRevertChannelSelected();
768
770 virtual bool repeatIntervalDisabled() const;
772 virtual Interval repeatInterval() const;
774 virtual void setRepeatInterval(const Interval &sec);
776 virtual void disableRepeatInterval();
777
779 virtual bool destinationContactDisabled() const;
781 virtual uint16_t destinationContactIndex() const;
783 virtual void setDestinationContactIndex(uint16_t idx);
785 virtual void disableDestinationContact();
786
788 virtual bool fromGPSSystemObj(DMRAPRSSystem *sys, Context &ctx);
790 virtual DMRAPRSSystem *toGPSSystemObj();
792 virtual bool linkGPSSystemObj(DMRAPRSSystem *sys, Context &ctx);
793 };
794
800 {
801 protected:
803 MenuSettingsElement(uint8_t *ptr, size_t size);
804
805 public:
807 explicit MenuSettingsElement(uint8_t *ptr);
809 virtual ~MenuSettingsElement();
810
811 void clear();
812
814 virtual bool menuHangtimeIsInfinite() const;
816 virtual unsigned menuHangtime() const;
818 virtual void setMenuHangtime(unsigned sec);
820 virtual void infiniteMenuHangtime();
821
823 virtual bool textMessage() const;
825 virtual void enableTextMessage(bool enable);
827 virtual bool callAlert() const;
829 virtual void enableCallAlert(bool enable);
831 virtual bool contactEditing() const;
833 virtual void enableContactEditing(bool enable);
835 virtual bool manualDial() const;
837 virtual void enableManualDial(bool enable);
839 virtual bool remoteRadioCheck() const;
841 virtual void enableRemoteRadioCheck(bool enable);
843 virtual bool remoteMonitor() const;
845 virtual void enableRemoteMonitor(bool enable);
847 virtual bool remoteRadioEnable() const;
849 virtual void enableRemoteRadioEnable(bool enable);
851 virtual bool remoteRadioDisable() const;
853 virtual void enableRemoteRadioDisable(bool enable);
854
856 virtual bool scan() const;
858 virtual void enableScan(bool enable);
860 virtual bool scanListEditing() const;
862 virtual void enableScanListEditing(bool enable);
864 virtual bool callLogMissed() const;
866 virtual void enableCallLogMissed(bool enable);
868 virtual bool callLogAnswered() const;
870 virtual void enableCallLogAnswered(bool enable);
872 virtual bool callLogOutgoing() const;
874 virtual void enableCallLogOutgoing(bool enable);
876 virtual bool talkaround() const;
878 virtual void enableTalkaround(bool enable);
880 virtual bool alertTone() const;
882 virtual void enableAlertTone(bool enable);
883
885 virtual bool power() const;
887 virtual void enablePower(bool enable);
889 virtual bool backlight() const;
891 virtual void enableBacklight(bool enable);
893 virtual bool bootScreen() const;
895 virtual void enableBootScreen(bool enable);
897 virtual bool keypadLock() const;
899 virtual void enableKeypadLock(bool enable);
901 virtual bool ledIndicator() const;
903 virtual void enableLEDIndicator(bool enable);
905 virtual bool squelch() const;
907 virtual void enableSquelch(bool enable);
909 virtual bool vox() const;
911 virtual void enableVOX(bool enable);
912
914 virtual bool password() const;
916 virtual void enablePassword(bool enable);
918 virtual bool displayMode() const;
920 virtual void enableDisplayMode(bool enable);
922 virtual bool radioProgramming() const;
924 virtual void enableRadioProgramming(bool enable);
925
927 virtual bool fromConfig(const Config *config);
929 virtual bool updateConfig(Config *config);
930 };
931
937 {
938 public:
941
942 protected:
944 ButtonSettingsElement(uint8_t *ptr, size_t size);
945
946 public:
948 explicit ButtonSettingsElement(uint8_t *ptr);
950 virtual ~ButtonSettingsElement();
951
952 void clear();
953
955 virtual ButtonAction sideButton1Short() const;
957 virtual void setSideButton1Short(ButtonAction action);
959 virtual ButtonAction sideButton1Long() const;
961 virtual void setSideButton1Long(ButtonAction action);
962
964 virtual ButtonAction sideButton2Short() const;
966 virtual void setSideButton2Short(ButtonAction action);
968 virtual ButtonAction sideButton2Long() const;
970 virtual void setSideButton2Long(ButtonAction action);
971
973 virtual unsigned longPressDuration() const;
975 virtual void setLongPressDuration(unsigned ms);
976
978 virtual bool fromConfig(const Config *config);
980 virtual bool updateConfig(Config *config);
981 };
982
988 {
989 public:
991 enum Action {
992 CALL = 0b0000,
993 MESSAGE = 0b0001,
994 DTMF1 = 0b1000,
995 DTMF2 = 0b1001,
996 DTMF3 = 0b1010,
997 DTMF4 = 0b1011
998 };
999
1001 enum Type {
1002 Disabled = 0b00,
1003 Digital = 0b01,
1004 Analog = 0b10
1005 };
1006
1007 protected:
1009 OneTouchSettingElement(uint8_t *ptr, size_t size);
1010
1011 public:
1013 explicit OneTouchSettingElement(uint8_t *ptr);
1015 virtual ~OneTouchSettingElement();
1016
1017 bool isValid() const;
1018 void clear();
1019
1021 virtual Action action() const;
1023 virtual void setAction(Action action);
1024
1026 virtual Type actionType() const;
1028 virtual void setActionType(Type action);
1029
1031 virtual uint8_t messageIndex() const;
1033 virtual void setMessageIndex(uint8_t idx);
1034
1036 virtual uint16_t contactIndex() const;
1038 virtual void setContactIndex(uint16_t idx);
1039 };
1040
1046 {
1047 protected:
1049 EmergencySettingsElement(uint8_t *ptr, size_t size);
1050
1051 public:
1053 explicit EmergencySettingsElement(uint8_t *ptr);
1055 virtual ~EmergencySettingsElement();
1056
1057 virtual void clear();
1058
1060 virtual bool emergencyRemoteMonitor() const;
1062 virtual void enableEmergencyRemoteMonitor(bool enable);
1064 virtual bool remoteMonitor() const;
1066 virtual void enableRemoteMonitor(bool enable);
1068 virtual bool radioDisable() const;
1070 virtual void enableRadioDisable(bool enable);
1071
1073 virtual unsigned remoteMonitorDuration() const;
1075 virtual void setRemoteMonitorDuration(unsigned sec);
1076
1078 virtual unsigned txTimeOut() const;
1080 virtual void setTXTimeOut(unsigned ms);
1081
1083 virtual unsigned messageLimit() const;
1085 virtual void setMessageLimit(unsigned limit);
1086 };
1087
1093 {
1094 public:
1102
1108
1109 protected:
1111 EmergencySystemElement(uint8_t *ptr, size_t size);
1112
1113 public:
1115 explicit EmergencySystemElement(uint8_t *ptr);
1117 virtual ~EmergencySystemElement();
1118
1119 bool isValid() const;
1120 void clear();
1121
1123 virtual QString name() const;
1125 virtual void setName(const QString &name);
1126
1128 virtual AlarmType alarmType() const;
1130 virtual void setAlarmType(AlarmType type);
1132 virtual AlarmMode alarmMode() const;
1134 virtual void setAlarmMode(AlarmMode mode);
1135
1137 virtual unsigned impoliteRetries() const;
1139 virtual void setImpoliteRetries(unsigned num);
1140
1142 virtual unsigned politeRetries() const;
1144 virtual void setPoliteRetries(unsigned num);
1145
1147 virtual unsigned hotMICDuration() const;
1149 virtual void setHotMICDuration(unsigned sec);
1150
1152 virtual bool revertChannelIsSelected() const;
1154 virtual uint16_t revertChannelIndex() const;
1156 virtual void setRevertChannelIndex(uint16_t idx);
1158 virtual void revertChannelSelected();
1159 };
1160
1166 {
1167 protected:
1169 EncryptionElement(uint8_t *ptr, size_t size);
1170
1171 public:
1173 explicit EncryptionElement(uint8_t *ptr);
1175 virtual ~EncryptionElement();
1176
1177 void clear();
1178
1180 static constexpr unsigned int size() { return 0x00b0; }
1181
1184 virtual bool isEnhancedKeySet(unsigned n) const;
1186 virtual QByteArray enhancedKey(unsigned n) const;
1188 virtual void setEnhancedKey(unsigned n, const QByteArray &key);
1189
1192 virtual bool isBasicKeySet(unsigned n) const;
1194 virtual QByteArray basicKey(unsigned n) const;
1196 virtual void setBasicKey(unsigned n, const QByteArray &key);
1197
1199 virtual bool fromCommercialExt(CommercialExtension *encr, Context &ctx);
1201 virtual bool updateCommercialExt(Context &ctx);
1203 virtual bool linkCommercialExt(CommercialExtension *ext, Context &ctx);
1204
1205 public:
1207 struct Limit {
1209 static constexpr unsigned int basicKeys() { return 16; }
1211 static constexpr unsigned int advancedKeys() { return 8; }
1212 };
1213
1214 protected:
1216 struct Offset {
1218 static constexpr unsigned int advancedKeys() { return 0x0000; }
1219 static constexpr unsigned int betweenAdvancedKeys() { return 0x0010; }
1220 static constexpr unsigned int basicKeys() { return 0x0090; }
1221 static constexpr unsigned int betweenBasicKeys() { return 0x0002; }
1223 };
1224 };
1225
1226
1229 {
1230 protected:
1232 MessageElement(uint8_t *ptr, size_t size);
1233
1234 public:
1236 MessageElement(uint8_t *ptr);
1237
1239 static constexpr unsigned int size() { return 0x00120; }
1240
1241 void clear();
1242
1243 bool isValid() const;
1244
1246 virtual QString text() const;
1248 virtual void setText(const QString &text);
1249
1251 virtual bool encode(SMSTemplate *sms, const ErrorStack &err=ErrorStack());
1253 virtual SMSTemplate *decode(const ErrorStack &err=ErrorStack());
1254
1255 public:
1257 struct Limit {
1258 static constexpr unsigned int length() { return 144; }
1259 };
1260 };
1261
1264 {
1265 protected:
1267 MessageBankElement(uint8_t *ptr, size_t size);
1268
1269 public:
1271 MessageBankElement(uint8_t *ptr);
1272
1274 static constexpr unsigned int size() { return MessageElement::size()*Limit::messages(); }
1275
1276 void clear();
1277
1279 virtual MessageElement message(unsigned int i) const;
1280
1282 virtual bool encode(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack());
1284 virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack());
1285
1286 public:
1288 struct Limit {
1290 static constexpr unsigned int messages() { return 50; }
1291 };
1292 };
1293
1294
1295protected:
1297 explicit TyTCodeplug(QObject *parent = nullptr);
1298
1299public:
1301 virtual ~TyTCodeplug();
1302
1304 virtual void clear();
1305
1306 bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const;
1307
1308 Config *preprocess(Config *config, const ErrorStack &err=ErrorStack()) const;
1309
1311 bool decode(Config *config, const ErrorStack &err=ErrorStack());
1313 bool encode(Config *config, const Flags &flags = Flags(), const ErrorStack &err=ErrorStack());
1314
1315public:
1318 virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack());
1320 virtual bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1321
1323 virtual void clearTimestamp() = 0;
1325 virtual bool encodeTimestamp() = 0;
1326
1328 virtual void clearGeneralSettings() = 0;
1330 virtual bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1332 virtual bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1333
1335 virtual void clearContacts() = 0;
1337 virtual bool encodeContacts(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1339 virtual bool createContacts(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1340
1342 virtual void clearGroupLists() = 0;
1344 virtual bool encodeGroupLists(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1346 virtual bool createGroupLists(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1348 virtual bool linkGroupLists(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1349
1351 virtual void clearChannels() = 0;
1353 virtual bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1355 virtual bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1357 virtual bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1358
1360 virtual void clearZones() = 0;
1362 virtual bool encodeZones(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1364 virtual bool createZones(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1366 virtual bool linkZones(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1367
1369 virtual void clearScanLists() = 0;
1371 virtual bool encodeScanLists(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1373 virtual bool createScanLists(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1375 virtual bool linkScanLists(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1376
1378 virtual void clearPositioningSystems() = 0;
1380 virtual bool encodePositioningSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1382 virtual bool createPositioningSystems(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1384 virtual bool linkPositioningSystems(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1385
1387 virtual void clearButtonSettings() = 0;
1389 virtual bool encodeButtonSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1391 virtual bool decodeButtonSetttings(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1392
1394 virtual void clearPrivacyKeys() = 0;
1396 virtual bool encodePrivacyKeys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1398 virtual bool decodePrivacyKeys(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1399
1401 virtual void clearMenuSettings() = 0;
1402
1404 virtual void clearTextMessages() = 0;
1406 virtual bool encodeTextMessages(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack()) = 0;
1408 virtual bool decodeTextMessages(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1409
1411 virtual void clearEmergencySystems() = 0;
1412};
1413
1414#endif // TYT_CODEPLUG_HH
BootDisplay
What to display during boot.
Definition bootsettings.hh:50
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:38
Base class for all codeplug contexts.
Definition codeplug.hh:331
Represents the abstract base class of all codeplug elements.
Definition codeplug.hh:65
Element(uint8_t *ptr, size_t size)
Hidden constructor.
Definition codeplug.cc:56
Certain flags passed to CodePlug::encode to control the transfer and encoding of the codeplug.
Definition codeplug.hh:24
Codeplug(QObject *parent=nullptr)
Hidden default constructor.
Definition codeplug.cc:872
Implements the generic extension for the codeplug to represent some commercial features of DMR.
Definition commercial_extension.hh:11
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
This class represents a DMR position reporting system within the codeplug.
Definition gpssystem.hh:69
TimeSlot
Possible timeslots for digital channels.
Definition channel.hh:448
Represents a digital contact, that is a DMR number.
Definition contact.hh:141
Type
Possible call types for a contact.
Definition contact.hh:155
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition errorstack.hh:43
Bandwidth
Possible bandwidth of an analog channel.
Definition channel.hh:288
Represents a time interval.
Definition interval.hh:11
Some simple class implementing a [1-10] level setting.
Definition level.hh:15
Generic representation of a RX group list.
Definition rxgrouplist.hh:14
Simple range class representing some range in some data type.
Definition ranges.hh:14
Extension collecting all settings associated with SMS messages.
Definition smsextension.hh:55
Represents a SMS message template (pre defined message).
Definition smsextension.hh:11
Generic representation of a scan list.
Definition scanlist.hh:15
ButtonAction
Possible actions for the side-buttons.
Definition tyt_extensions.hh:235
RefFrequency
Possible reference frequency settings for RX & TX.
Definition tyt_extensions.hh:54
virtual void setSideButton1Long(ButtonAction action)
Sets the action for a short press on side button 1.
Definition tyt_codeplug.cc:2336
virtual void setSideButton2Long(ButtonAction action)
Sets the action for a short press on side button 2.
Definition tyt_codeplug.cc:2354
virtual bool fromConfig(const Config *config)
Encodes the button settings.
Definition tyt_codeplug.cc:2368
virtual ButtonAction sideButton2Long() const
Returns the action for a long press on side button 2.
Definition tyt_codeplug.cc:2350
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2310
virtual unsigned longPressDuration() const
Returns the long-press duration in ms.
Definition tyt_codeplug.cc:2359
virtual void setLongPressDuration(unsigned ms)
Sets the long-press duration in ms.
Definition tyt_codeplug.cc:2363
virtual void setSideButton1Short(ButtonAction action)
Sets the action for a short press on side button 1.
Definition tyt_codeplug.cc:2327
virtual void setSideButton2Short(ButtonAction action)
Sets the action for a short press on side button 2.
Definition tyt_codeplug.cc:2345
virtual ~ButtonSettingsElement()
Destructor.
Definition tyt_codeplug.cc:2305
virtual ButtonAction sideButton1Long() const
Returns the action for a long press on side button 1.
Definition tyt_codeplug.cc:2332
virtual bool updateConfig(Config *config)
Updates config from button settings.
Definition tyt_codeplug.cc:2383
virtual ButtonAction sideButton1Short() const
Returns the action for a short press on side button 1.
Definition tyt_codeplug.cc:2323
virtual ButtonAction sideButton2Short() const
Returns the action for a short press on side button 2.
Definition tyt_codeplug.cc:2341
ButtonSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2293
enum TyTButtonSettings::ButtonAction ButtonAction
The possible button actions.
Definition tyt_codeplug.hh:940
virtual void enableTalkaround(bool enable)
Enables/disables talkaround for this channel.
Definition tyt_codeplug.cc:143
virtual void setPositioningSystemIndex(uint8_t idx)
Sets the positioning system index (+1) for this channel.
Definition tyt_codeplug.cc:337
virtual void setTXTimeOutRekeyDelay(uint8_t delay)
Sets the transmit time-out re-key delay in seconds.
Definition tyt_codeplug.cc:301
virtual void setRXSignaling(const SelectiveCall &code)
Sets the CTCSS/DSC signaling for RX.
Definition tyt_codeplug.cc:373
virtual Channel * toChannelObj(const ErrorStack &err=ErrorStack()) const
Constructs a generic Channel object from the codeplug channel.
Definition tyt_codeplug.cc:432
virtual uint8_t txSignalingSystemIndex() const
Returns the signaling system index (+1) for TX.
Definition tyt_codeplug.cc:396
virtual bool rxOnly() const
Returns true if the channel has rx only enabled.
Definition tyt_codeplug.cc:148
virtual void setTXTimeOut(const Interval &tot)
Sets the transmit time-out in seconds.
Definition tyt_codeplug.cc:288
virtual void setTXFrequency(const Frequency &Hz)
Sets the TX frequency in Hz.
Definition tyt_codeplug.cc:364
virtual uint8_t rxSignalingSystemIndex() const
Returns the signaling system index (+1) for RX.
Definition tyt_codeplug.cc:387
virtual uint8_t colorCode() const
Returns the color code of this channel.
Definition tyt_codeplug.cc:171
bool isValid() const
Returns true if channel is valid/enabled.
Definition tyt_codeplug.cc:41
virtual Frequency rxFrequency() const
Returns the RX frequency in Hz.
Definition tyt_codeplug.cc:351
void clear()
Clears/resets the channel and therefore disables it.
Definition tyt_codeplug.cc:46
Mode
Possible modes for the channel, i.e.
Definition tyt_codeplug.hh:39
@ MODE_DIGITAL
Digital channel.
Definition tyt_codeplug.hh:41
@ MODE_ANALOG
Analog channel.
Definition tyt_codeplug.hh:40
virtual void enableDataCallConfirm(bool enable)
Enables/disables data call confirmation for this channel.
Definition tyt_codeplug.cc:212
virtual uint16_t contactIndex() const
Returns the transmit contact index (+1) for this channel.
Definition tyt_codeplug.cc:271
virtual void setTXRefFrequency(TyTChannelExtension::RefFrequency ref)
Sets some weird reference frequency setting for transmission.
Definition tyt_codeplug.cc:248
static constexpr unsigned int size()
Returns the size of the element.
Definition tyt_codeplug.hh:82
virtual void setContactIndex(uint16_t idx)
Sets the transmit contact index (+1) for this channel.
Definition tyt_codeplug.cc:275
virtual Interval txTimeOut() const
Returns the transmit time-out in seconds.
Definition tyt_codeplug.cc:284
virtual void setRXSignalingSystemIndex(uint8_t idx)
Sets the signaling system index (+1) for RX.
Definition tyt_codeplug.cc:391
virtual void setRXFrequency(const Frequency &Hz)
Sets the RX frequency in Hz.
Definition tyt_codeplug.cc:355
virtual bool dataCallConfirm() const
Returns true if the channel has data call confirmation enabled.
Definition tyt_codeplug.cc:208
virtual void setAdmitCriterion(Admit admit)
Sets the admit criterion for this channel.
Definition tyt_codeplug.cc:266
PrivacyType
Possible privacy types.
Definition tyt_codeplug.hh:52
@ PRIV_NONE
No privacy.
Definition tyt_codeplug.hh:53
@ PRIV_BASIC
Basic privacy.
Definition tyt_codeplug.hh:54
@ PRIV_ENHANCED
Enhanced privacy.
Definition tyt_codeplug.hh:55
virtual void setPrivacyIndex(uint8_t ts)
Sets the index of the privacy system (key).
Definition tyt_codeplug.cc:185
virtual bool privateCallConfirm() const
Returns true if the channel has private call confirmation enabled.
Definition tyt_codeplug.cc:199
ChannelElement(uint8_t *ptr, size_t size)
Constructs a channel from the given memory.
Definition tyt_codeplug.cc:24
virtual PrivacyType privacyType() const
Returns the type of the privacy system.
Definition tyt_codeplug.cc:190
virtual Mode mode() const
Returns the mode of the channel.
Definition tyt_codeplug.cc:98
virtual void enablePrivateCallConfirm(bool enable)
Enables/disables private call confirmation for this channel.
Definition tyt_codeplug.cc:203
virtual void enableRXGPSInfo(bool enable)
Enables/disables reception of GPS information for this channel.
Definition tyt_codeplug.cc:418
virtual void setTXSignalingSystemIndex(uint8_t idx)
Sets the signaling system index (+1) for TX.
Definition tyt_codeplug.cc:400
virtual bool txGPSInfo() const
Returns true if the channel transmits GPS information enabled.
Definition tyt_codeplug.cc:405
virtual void enableLoneWorker(bool enable)
Enables/disables lone worker for this channel.
Definition tyt_codeplug.cc:134
virtual void enableRXOnly(bool enable)
Enables/disables rx only for this channel.
Definition tyt_codeplug.cc:152
virtual SelectiveCall rxSignaling() const
Returns the CTCSS/DSC signaling for RX.
Definition tyt_codeplug.cc:369
virtual ~ChannelElement()
Destructor.
Definition tyt_codeplug.cc:36
virtual void enableDisplayPTTId(bool enable)
Enables/disables PTT ID display for this channel.
Definition tyt_codeplug.cc:239
virtual QString name() const
Returns the name of this channel.
Definition tyt_codeplug.cc:423
virtual TyTChannelExtension::RefFrequency rxRefFrequency() const
Returns some weird reference frequency setting for reception.
Definition tyt_codeplug.cc:217
Bandwidth
Bandwidth of the channel.
Definition tyt_codeplug.hh:45
@ BW_25_KHZ
25kHz wide.
Definition tyt_codeplug.hh:48
@ BW_20_KHZ
20 kHz (really?)
Definition tyt_codeplug.hh:47
@ BW_12_5_KHZ
12.5 kHz narrow, (default for binary channels).
Definition tyt_codeplug.hh:46
Admit
TX Admit criterion.
Definition tyt_codeplug.hh:59
@ ADMIT_ALWAYS
Always allow TX.
Definition tyt_codeplug.hh:60
@ ADMIT_COLOR
Allow TX if color-code matches.
Definition tyt_codeplug.hh:63
@ ADMIT_CH_FREE
Allow TX if channel is free.
Definition tyt_codeplug.hh:61
@ ADMIT_TONE
Allow TX if CTCSS tone matches.
Definition tyt_codeplug.hh:62
virtual uint8_t scanListIndex() const
Returns the scan-list index (+1) for this channel.
Definition tyt_codeplug.cc:315
virtual Admit admitCriterion() const
Returns the admit criterion for this channel.
Definition tyt_codeplug.cc:262
virtual TyTChannelExtension::RefFrequency txRefFrequency() const
Returns some weird reference frequency setting for transmission.
Definition tyt_codeplug.cc:244
virtual void setTXSignaling(const SelectiveCall &code)
Sets the CTCSS/DSC signaling for TX.
Definition tyt_codeplug.cc:382
virtual bool linkChannelObj(Channel *c, Context &ctx, const ErrorStack &err=ErrorStack()) const
Links a previously constructed channel to the rest of the configuration.
Definition tyt_codeplug.cc:515
virtual DMRChannel::TimeSlot timeSlot() const
Returns the time slot of this channel.
Definition tyt_codeplug.cc:157
virtual bool txTimeOutDisabled() const
Returns true, if the transmit time out is disabled.
Definition tyt_codeplug.cc:280
virtual bool displayPTTId() const
Returns true if the channel has display PTT ID enabled.
Definition tyt_codeplug.cc:235
virtual FMChannel::Bandwidth bandwidth() const
Returns the bandwidth of the (analog) channel.
Definition tyt_codeplug.cc:107
virtual uint8_t positioningSystemIndex() const
Returns the positioning system index (+1) for this channel.
Definition tyt_codeplug.cc:333
virtual void setPrivacyType(PrivacyType type)
Sets the type of the privacy system.
Definition tyt_codeplug.cc:194
virtual bool talkaround() const
Returns true if the channel has talkaround enabled.
Definition tyt_codeplug.cc:139
virtual uint8_t privacyIndex() const
Returns the index of the privacy system (key).
Definition tyt_codeplug.cc:181
virtual void setScanListIndex(uint8_t idx)
Sets the scan-list index (+1) for this channel.
Definition tyt_codeplug.cc:319
virtual void resetTXTimeOut()
Disables the transmit timeout.
Definition tyt_codeplug.cc:292
virtual void setRXRefFrequency(TyTChannelExtension::RefFrequency ref)
Sets some weird reference frequency setting for reception.
Definition tyt_codeplug.cc:221
virtual void setTimeSlot(DMRChannel::TimeSlot ts)
Sets the time slot of this channel.
Definition tyt_codeplug.cc:163
virtual void enableAutoScan(bool enable)
Enables/disables auto scan for this channel.
Definition tyt_codeplug.cc:125
virtual void enableVOX(bool enable)
Enables/disables VOX for this channel.
Definition tyt_codeplug.cc:257
virtual void setBandwidth(FMChannel::Bandwidth bw)
Sets the bandwidth of the (analog) channel.
Definition tyt_codeplug.cc:113
virtual bool dtmfDecode(uint8_t idx) const
Returns true if the channel has DTMF decoding enabled.
Definition tyt_codeplug.cc:342
virtual void setMode(Mode setMode)
Sets the mode of the channel.
Definition tyt_codeplug.cc:102
virtual SelectiveCall txSignaling() const
Returns the CTCSS/DSC signaling for TX.
Definition tyt_codeplug.cc:378
virtual Frequency txFrequency() const
Returns the TX frequency in Hz.
Definition tyt_codeplug.cc:360
virtual void setEmergencySystemIndex(uint8_t idx)
Sets the emergency system index (+1) for this channel.
Definition tyt_codeplug.cc:310
virtual uint8_t emergencySystemIndex() const
Returns the emergency system index (+1) for this channel.
Definition tyt_codeplug.cc:306
virtual bool emergencyAlarmACK() const
Returns true if the channel has alarm confirmation enabled.
Definition tyt_codeplug.cc:226
virtual void setDTMFDecode(uint8_t idx, bool enable)
Enables/disables DTMF decoding this channel.
Definition tyt_codeplug.cc:346
virtual void enableEmergencyAlarmACK(bool enable)
Enables/disables alarm confirmation for this channel.
Definition tyt_codeplug.cc:230
virtual void setGroupListIndex(uint8_t idx)
Sets the RX group list index (+1) for this channel.
Definition tyt_codeplug.cc:328
virtual uint8_t txTimeOutRekeyDelay() const
Returns the transmit time-out re-key delay in seconds.
Definition tyt_codeplug.cc:297
virtual void setName(const QString &setName)
Sets the name of this channel.
Definition tyt_codeplug.cc:427
virtual void setColorCode(uint8_t ts)
Sets the color code of this channel.
Definition tyt_codeplug.cc:175
virtual bool rxGPSInfo() const
Returns true if the channel receives GPS information enabled.
Definition tyt_codeplug.cc:414
virtual void fromChannelObj(const Channel *c, Context &ctx)
Initializes this codeplug channel from the given generic configuration.
Definition tyt_codeplug.cc:577
virtual bool loneWorker() const
Returns true if the channel has lone worker enabled.
Definition tyt_codeplug.cc:130
virtual void enableTXGPSInfo(bool enable)
Enables/disables transmission of GPS information for this channel.
Definition tyt_codeplug.cc:409
virtual bool vox() const
Returns true if the channel has VOX enabled.
Definition tyt_codeplug.cc:253
virtual uint8_t groupListIndex() const
Returns the RX group list index (+1) for this channel.
Definition tyt_codeplug.cc:324
virtual bool autoScan() const
Returns true if the channel has auto scan enabled.
Definition tyt_codeplug.cc:121
virtual DMRContact::Type callType() const
Returns the call-type of the contact.
Definition tyt_codeplug.cc:730
virtual void setDMRId(uint32_t id)
Sets the DMR ID of the contact.
Definition tyt_codeplug.cc:717
virtual void enableRingTone(bool enable)
Enables/disables the ring-tone for this contact.
Definition tyt_codeplug.cc:726
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:702
virtual bool ringTone() const
Returns true if the ring-tone is enabled for this contact.
Definition tyt_codeplug.cc:722
virtual DMRContact * toContactObj() const
Creates a contact.
Definition tyt_codeplug.cc:765
virtual QString name() const
Returns the name of the contact.
Definition tyt_codeplug.cc:756
static constexpr unsigned int size()
Size of the element.
Definition tyt_codeplug.hh:335
virtual uint32_t dmrId() const
Returns the DMR ID of the contact.
Definition tyt_codeplug.cc:712
virtual ~ContactElement()
Destructor.
Definition tyt_codeplug.cc:691
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:696
ContactElement(uint8_t *ptr, size_t size)
Constructor.
Definition tyt_codeplug.cc:679
CallType
Encoded call types.
Definition tyt_codeplug.hh:320
virtual bool fromContactObj(const DMRContact *contact)
Encodes the give contact.
Definition tyt_codeplug.cc:770
virtual void setCallType(DMRContact::Type type)
Sets the call-type of the contact.
Definition tyt_codeplug.cc:741
virtual void setName(const QString &nm)
Sets the name of the contact.
Definition tyt_codeplug.cc:760
virtual void setTXTimeOut(unsigned ms)
Sets the TX time-out in ms.
Definition tyt_codeplug.cc:2542
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor.
Definition tyt_codeplug.cc:2515
virtual void enableEmergencyRemoteMonitor(bool enable)
Enables/disables emergency remote monitor.
Definition tyt_codeplug.cc:2506
virtual bool remoteMonitor() const
Returns true if remote monitor is enabled.
Definition tyt_codeplug.cc:2511
virtual ~EmergencySettingsElement()
Destructor.
Definition tyt_codeplug.cc:2485
virtual void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2490
EmergencySettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2473
virtual void enableRadioDisable(bool enable)
Enables/disables radio disable.
Definition tyt_codeplug.cc:2524
virtual unsigned messageLimit() const
Returns the message limit.
Definition tyt_codeplug.cc:2547
virtual void setMessageLimit(unsigned limit)
Sets the message limit.
Definition tyt_codeplug.cc:2551
virtual unsigned remoteMonitorDuration() const
Returns the remote monitor duration in seconds.
Definition tyt_codeplug.cc:2529
virtual unsigned txTimeOut() const
Returns the TX time-out in ms.
Definition tyt_codeplug.cc:2538
virtual bool radioDisable() const
Returns true if radio disable is enabled.
Definition tyt_codeplug.cc:2520
virtual void setRemoteMonitorDuration(unsigned sec)
Sets the remote monitor duration in seconds.
Definition tyt_codeplug.cc:2533
virtual bool emergencyRemoteMonitor() const
Returns true if emergency remote monitor is enabled.
Definition tyt_codeplug.cc:2502
virtual void setPoliteRetries(unsigned num)
Sets the number of polite retries.
Definition tyt_codeplug.cc:2635
virtual ~EmergencySystemElement()
Destructor.
Definition tyt_codeplug.cc:2571
AlarmType
Possible alarm type for the system.
Definition tyt_codeplug.hh:1096
@ REGULAR
Regular alarm sound.
Definition tyt_codeplug.hh:1098
@ SILENT
Silent alarm.
Definition tyt_codeplug.hh:1099
@ SILENT_W_VOICE
silent alarm with voice.
Definition tyt_codeplug.hh:1100
@ DISABLED
No alarm at all.
Definition tyt_codeplug.hh:1097
virtual AlarmType alarmType() const
Returns the alarm type of the system.
Definition tyt_codeplug.cc:2604
virtual unsigned politeRetries() const
Returns the number of polite retries.
Definition tyt_codeplug.cc:2631
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:2576
EmergencySystemElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2559
virtual void setAlarmMode(AlarmMode mode)
Sets the alarm mode of the system.
Definition tyt_codeplug.cc:2617
virtual void setName(const QString &name)
Sets the name of the system.
Definition tyt_codeplug.cc:2599
virtual uint16_t revertChannelIndex() const
Returns the index of the revert channel.
Definition tyt_codeplug.cc:2653
virtual void setHotMICDuration(unsigned sec)
Sets the hot MIC duration in seconds.
Definition tyt_codeplug.cc:2644
virtual bool revertChannelIsSelected() const
Returns true if the revert channel is the selected one.
Definition tyt_codeplug.cc:2649
virtual void revertChannelSelected()
Sets revert channel to selected channel.
Definition tyt_codeplug.cc:2661
AlarmMode
Possible alarm modes for the system.
Definition tyt_codeplug.hh:1103
@ ALARM_W_VOICE
Alarm + call + voice?
Definition tyt_codeplug.hh:1106
@ ALARM_W_CALL
Alarm + call.
Definition tyt_codeplug.hh:1105
@ ALARM
Just alarm.
Definition tyt_codeplug.hh:1104
virtual void setRevertChannelIndex(uint16_t idx)
Sets the revert channel index.
Definition tyt_codeplug.cc:2657
virtual unsigned impoliteRetries() const
Returns the number of impolite retries.
Definition tyt_codeplug.cc:2622
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2581
virtual void setImpoliteRetries(unsigned num)
Sets the number of impolite retries.
Definition tyt_codeplug.cc:2626
virtual unsigned hotMICDuration() const
Returns the hot MIC duration in seconds.
Definition tyt_codeplug.cc:2640
virtual void setAlarmType(AlarmType type)
Sets the alarm type of the system.
Definition tyt_codeplug.cc:2608
virtual QString name() const
Returns the name of the system.
Definition tyt_codeplug.cc:2595
virtual AlarmMode alarmMode() const
Returns the alarm mode of the system.
Definition tyt_codeplug.cc:2613
virtual QByteArray enhancedKey(unsigned n) const
Returns the n-th "enhanced" key (128bit).
Definition tyt_codeplug.cc:2700
virtual QByteArray basicKey(unsigned n) const
Returns the n-th "basic" key (16bit).
Definition tyt_codeplug.cc:2725
virtual void setBasicKey(unsigned n, const QByteArray &key)
Sets the n-th "basic" key (16bit).
Definition tyt_codeplug.cc:2733
static constexpr unsigned int size()
Returns the size of the element.
Definition tyt_codeplug.hh:1180
virtual bool isEnhancedKeySet(unsigned n) const
Returns true if the n-th "enhanced" key (128bit) is set.
Definition tyt_codeplug.cc:2691
virtual void setEnhancedKey(unsigned n, const QByteArray &key)
Sets the n-th "enhanced" key (128bit).
Definition tyt_codeplug.cc:2708
virtual bool updateCommercialExt(Context &ctx)
Updates the commercial extension.
Definition tyt_codeplug.cc:2758
virtual bool fromCommercialExt(CommercialExtension *encr, Context &ctx)
Encodes given commercial extension.
Definition tyt_codeplug.cc:2743
virtual ~EncryptionElement()
Destructor.
Definition tyt_codeplug.cc:2681
virtual bool linkCommercialExt(CommercialExtension *ext, Context &ctx)
Links the given encryption extension.
Definition tyt_codeplug.cc:2785
EncryptionElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2669
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2686
virtual bool isBasicKeySet(unsigned n) const
Returns true if the n-th "basic" key (16bit) is set.
Definition tyt_codeplug.cc:2717
virtual void setRevertChannelIndex(uint16_t idx)
Sets the revert channel index (+1).
Definition tyt_codeplug.cc:1817
virtual ~GPSSystemElement()
Destructor.
Definition tyt_codeplug.cc:1789
virtual bool fromGPSSystemObj(DMRAPRSSystem *sys, Context &ctx)
Encodes the given GPS system.
Definition tyt_codeplug.cc:1867
virtual bool linkGPSSystemObj(DMRAPRSSystem *sys, Context &ctx)
Links the given GPS system.
Definition tyt_codeplug.cc:1885
virtual DMRAPRSSystem * toGPSSystemObj()
Constructs a GPS system.
Definition tyt_codeplug.cc:1880
virtual bool repeatIntervalDisabled() const
Returns true if the repeat interval is disabled.
Definition tyt_codeplug.cc:1827
virtual void setDestinationContactIndex(uint16_t idx)
Sets the destination contact index (+1).
Definition tyt_codeplug.cc:1858
virtual uint16_t revertChannelIndex() const
Returns the revert channel index (+1).
Definition tyt_codeplug.cc:1813
virtual void disableRepeatInterval()
Disables the GPS repeat interval.
Definition tyt_codeplug.cc:1844
virtual void disableDestinationContact()
Disables the destination contact.
Definition tyt_codeplug.cc:1862
virtual void setRevertChannelSelected()
Sets the revert channel to the current one.
Definition tyt_codeplug.cc:1821
virtual void setRepeatInterval(const Interval &sec)
Sets the repeat interval in seconds.
Definition tyt_codeplug.cc:1836
virtual bool revertChannelIsSelected() const
Returns true if the revert channel is the current one.
Definition tyt_codeplug.cc:1809
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:1800
virtual bool destinationContactDisabled() const
Returns true if the destination contact is disabled.
Definition tyt_codeplug.cc:1850
virtual uint16_t destinationContactIndex() const
Returns the destination contact index (+1).
Definition tyt_codeplug.cc:1854
GPSSystemElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:1777
virtual Interval repeatInterval() const
Returns the repeat interval.
Definition tyt_codeplug.cc:1831
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:1794
virtual bool saveModeRX() const
Returns true, if save RX mode is enabled.
Definition tyt_codeplug.cc:1320
virtual void setCallAlertToneContinuous()
Sets the call-alert tone continuous.
Definition tyt_codeplug.cc:1463
virtual TyTSettingsExtension::MonitorType monitorType() const
Returns the monitor type.
Definition tyt_codeplug.cc:1293
virtual void setScanDigitalHangTime(unsigned ms)
Sets the scan digital hang time.
Definition tyt_codeplug.cc:1490
virtual bool callAlertToneIsContinuous() const
Returns true if the call-alert is continuous.
Definition tyt_codeplug.cc:1450
virtual unsigned callAlertToneDuration() const
Returns the call-alert tone duration.
Definition tyt_codeplug.cc:1454
virtual void setScanAnalogHangTime(unsigned ms)
Sets the scan analog hang time.
Definition tyt_codeplug.cc:1500
virtual void setLoneWorkerResponseTime(unsigned min)
Sets the lone-worker response time.
Definition tyt_codeplug.cc:1472
virtual void setBootDisplay(BootSettings::BootDisplay mode)
Sets boot display mode.
Definition tyt_codeplug.cc:1382
virtual QString radioName() const
Returns the radio name.
Definition tyt_codeplug.cc:1585
virtual ~GeneralSettingsElement()
Destructor.
Definition tyt_codeplug.cc:1214
virtual QString introLine2() const
Returns the second intro line.
Definition tyt_codeplug.cc:1284
virtual QString introLine1() const
Returns the first intro line.
Definition tyt_codeplug.cc:1275
virtual void setRadioName(const QString &name)
Sets the radio name.
Definition tyt_codeplug.cc:1589
virtual void keypadLockTimeSetManual()
Set keypad lock to manual.
Definition tyt_codeplug.cc:1537
virtual unsigned keypadLockTime() const
Returns the keypad lock time.
Definition tyt_codeplug.cc:1528
virtual void setPCProgPassword(const QString &pass)
Sets the PC programming password.
Definition tyt_codeplug.cc:1576
virtual void setSaveModeRX(bool enable)
Enables/disables save mode RX.
Definition tyt_codeplug.cc:1324
virtual unsigned scanDigitalHangTime() const
Returns the scan digital hang time.
Definition tyt_codeplug.cc:1486
virtual void setRadioProgPassword(uint32_t passwd)
Sets the 8-digit radio programming password.
Definition tyt_codeplug.cc:1559
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:1219
virtual bool backlightIsAlways() const
Returns true if the backlight is always on.
Definition tyt_codeplug.cc:1506
virtual uint32_t dmrId() const
Returns the default DMR ID of the radio.
Definition tyt_codeplug.cc:1392
virtual uint32_t powerOnPassword() const
Returns the 8-digit power-on password.
Definition tyt_codeplug.cc:1542
virtual unsigned scanAnalogHangTime() const
Returns the scan analog hang time.
Definition tyt_codeplug.cc:1496
virtual bool talkPermitToneDigital() const
Returns true, if the talk permit tone is enabled for DMR channels.
Definition tyt_codeplug.cc:1356
virtual void setIntroLine2(const QString line)
Sets the second intro line.
Definition tyt_codeplug.cc:1288
virtual Interval groupCallHangTime() const
Returns the group call hang time.
Definition tyt_codeplug.cc:1411
virtual bool allLEDsDisabled() const
Returns true if all LEDs are disabled.
Definition tyt_codeplug.cc:1302
virtual bool allTonesDisabled() const
Returns true, if all tones are disabled.
Definition tyt_codeplug.cc:1329
virtual bool updateConfig(Config *config)
Updates config from general settings.
Definition tyt_codeplug.cc:1654
GeneralSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:1202
virtual Level voxSesitivity() const
Returns the VOX sensitivity.
Definition tyt_codeplug.cc:1431
virtual unsigned loneWorkerResponseTime() const
Returns the lone-worker response time.
Definition tyt_codeplug.cc:1468
virtual void setBacklightTime(unsigned sec)
Sets the backlight time.
Definition tyt_codeplug.cc:1514
virtual void radioProgPasswordDisable()
Disables the radio programming password.
Definition tyt_codeplug.cc:1563
virtual void setLoneWorkerReminderTime(unsigned min)
Sets the lone-worker reminder time.
Definition tyt_codeplug.cc:1481
virtual void setLowBatteryInterval(unsigned sec)
Sets the low-battery warning interval.
Definition tyt_codeplug.cc:1444
virtual void setIntroLine1(const QString line)
Sets the first intro line.
Definition tyt_codeplug.cc:1279
virtual QString pcProgPassword() const
Returns the PC programming password.
Definition tyt_codeplug.cc:1572
virtual bool pcProgPasswordEnabled() const
Returns true, if the PC programming password is enabled.
Definition tyt_codeplug.cc:1568
virtual unsigned lowBatteryInterval() const
Returns the low-battery warning interval.
Definition tyt_codeplug.cc:1440
virtual Interval privateCallHangTime() const
Returns the private call hang time.
Definition tyt_codeplug.cc:1421
virtual void setPrivateCallHangTime(const Interval &ms)
Sets the private call hang time.
Definition tyt_codeplug.cc:1425
virtual void setVOXSesitivity(Level level)
Sets the group call hang time.
Definition tyt_codeplug.cc:1435
virtual bool talkPermitToneAnalog() const
Returns true, if the talk permit tone is enabled for analog channels.
Definition tyt_codeplug.cc:1365
virtual void disableAllTones(bool disable)
Enables/disables all tones.
Definition tyt_codeplug.cc:1333
virtual void pcProgPasswordDisable()
Disables the PC programming password.
Definition tyt_codeplug.cc:1580
virtual bool radioProgPasswordEnabled() const
Returns true, if the radio programming password is enabled.
Definition tyt_codeplug.cc:1551
virtual void backlightTimeSetAlways()
Turns the backlight always on.
Definition tyt_codeplug.cc:1519
virtual BootSettings::BootDisplay bootDisplay() const
Returns boot display mode.
Definition tyt_codeplug.cc:1375
virtual void setDMRId(uint32_t id)
Sets the default DMR ID of the radio.
Definition tyt_codeplug.cc:1396
virtual void setKeypadLockTime(unsigned sec)
Sets the keypad lock time.
Definition tyt_codeplug.cc:1532
virtual uint32_t radioProgPassword() const
Returns the 8-digit radio programming password.
Definition tyt_codeplug.cc:1555
virtual bool fromConfig(const Config *config)
Encodes the general settings.
Definition tyt_codeplug.cc:1594
virtual bool savePreamble() const
Returns true, if save preamble is enabled.
Definition tyt_codeplug.cc:1311
virtual Interval txPreambleDuration() const
Returns the TX preamble duration.
Definition tyt_codeplug.cc:1401
virtual void disableAllLEDs(bool disable)
Enables/disables all LEDs.
Definition tyt_codeplug.cc:1306
virtual void setSavePreamble(bool enable)
Enables/disables save preamble.
Definition tyt_codeplug.cc:1315
virtual void setGroupCallHangTime(const Interval &ms)
Sets the group call hang time.
Definition tyt_codeplug.cc:1415
virtual unsigned backlightTime() const
Returns the backlight time.
Definition tyt_codeplug.cc:1510
virtual void enablePasswdAndLock(bool enable)
Enables/disables password and lock.
Definition tyt_codeplug.cc:1351
virtual void setMonitorType(TyTSettingsExtension::MonitorType type)
Sets the monitor type.
Definition tyt_codeplug.cc:1297
virtual bool chFreeIndicationTone() const
Returns true, if the channel free indication tone is enabled.
Definition tyt_codeplug.cc:1338
virtual void setCallAlertToneDuration(unsigned sec)
Sets the call-alert tone duration.
Definition tyt_codeplug.cc:1458
virtual void setChFreeIndicationTone(bool enable)
Enables/disables the channel free indication tone.
Definition tyt_codeplug.cc:1342
virtual unsigned loneWorkerReminderTime() const
Returns the lone-worker reminder time.
Definition tyt_codeplug.cc:1477
virtual void setPowerOnPassword(uint32_t passwd)
Sets the 8-digit power-on password.
Definition tyt_codeplug.cc:1546
virtual bool passwdAndLock() const
Returns true, if password and lock is enabled.
Definition tyt_codeplug.cc:1347
virtual void enableTalkPermitToneAnalog(bool enable)
Enables/disables talk permit tone for analog channels.
Definition tyt_codeplug.cc:1369
virtual bool keypadLockIsManual() const
Returns true if the keypad lock is manual.
Definition tyt_codeplug.cc:1524
virtual void enableTalkPermitToneDigital(bool enable)
Enables/disables talk permit tone for DMR channels.
Definition tyt_codeplug.cc:1360
virtual void setTXPreambleDuration(const Interval &ms)
Sets the TX preamble duration.
Definition tyt_codeplug.cc:1405
virtual ~GroupListElement()
Destructor.
Definition tyt_codeplug.cc:888
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:898
virtual uint16_t memberIndex(unsigned n) const
Returns the n-th member index.
Definition tyt_codeplug.cc:913
GroupListElement(uint8_t *ptr, size_t size)
Constructor.
Definition tyt_codeplug.cc:876
virtual RXGroupList * toGroupListObj(Context &ctx)
Creates a group list object.
Definition tyt_codeplug.cc:947
virtual QString name() const
Returns the name of the group list.
Definition tyt_codeplug.cc:903
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:893
virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx)
Encodes the given group list.
Definition tyt_codeplug.cc:923
virtual void setMemberIndex(unsigned n, uint16_t idx)
Sets the n-th member index.
Definition tyt_codeplug.cc:918
virtual bool linkGroupListObj(RXGroupList *lst, Context &ctx)
Links the given group list.
Definition tyt_codeplug.cc:955
virtual void setName(const QString &nm)
Sets the name of the group list.
Definition tyt_codeplug.cc:908
virtual void enableAlertTone(bool enable)
Enables/disables tone/alert menu.
Definition tyt_codeplug.cc:2113
virtual void enableContactEditing(bool enable)
Enables/disables contact editing.
Definition tyt_codeplug.cc:2005
virtual bool scan() const
Returns true if scan menu is enabled.
Definition tyt_codeplug.cc:2055
virtual bool remoteMonitor() const
Returns true if remote monitor menu is enabled.
Definition tyt_codeplug.cc:2028
virtual void enableRemoteRadioDisable(bool enable)
Enables/disables radio disable menu.
Definition tyt_codeplug.cc:2050
virtual void enableCallLogOutgoing(bool enable)
Enables/disables call-log outgoing menu.
Definition tyt_codeplug.cc:2095
MenuSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:1904
virtual void enableScan(bool enable)
Enables/disables scan menu.
Definition tyt_codeplug.cc:2059
virtual bool callLogMissed() const
Returns true if call-log missed menu is enabled.
Definition tyt_codeplug.cc:2073
virtual void enablePassword(bool enable)
Enables/disables password menu.
Definition tyt_codeplug.cc:2185
virtual void enableRemoteRadioEnable(bool enable)
Enables/disables radio enable menu.
Definition tyt_codeplug.cc:2041
virtual bool displayMode() const
Returns true if display mode menu is enabled.
Definition tyt_codeplug.cc:2190
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:1921
virtual bool backlight() const
Returns true if backlight menu is enabled.
Definition tyt_codeplug.cc:2127
virtual void enableManualDial(bool enable)
Enables/disables manual dial.
Definition tyt_codeplug.cc:2014
virtual void enableKeypadLock(bool enable)
Enables/disables keypad lock menu.
Definition tyt_codeplug.cc:2149
virtual bool scanListEditing() const
Returns true if edit scan-list menu is enabled.
Definition tyt_codeplug.cc:2064
virtual bool talkaround() const
Returns true if talkaround menu is enabled.
Definition tyt_codeplug.cc:2100
virtual void enableRemoteRadioCheck(bool enable)
Enables/disables contact radio-check menu.
Definition tyt_codeplug.cc:2023
virtual bool contactEditing() const
Returns true if contact editing is enabled.
Definition tyt_codeplug.cc:2001
virtual void enablePower(bool enable)
Enables/disables power menu.
Definition tyt_codeplug.cc:2122
virtual bool keypadLock() const
Returns true if keypad lock menu is enabled.
Definition tyt_codeplug.cc:2145
virtual void enableDisplayMode(bool enable)
Enables/disables display mode menu.
Definition tyt_codeplug.cc:2194
virtual bool alertTone() const
Returns true if tone/alert menu is enabled.
Definition tyt_codeplug.cc:2109
virtual void enableScanListEditing(bool enable)
Enables/disables edit scan-list menu.
Definition tyt_codeplug.cc:2068
virtual bool callLogOutgoing() const
Returns true if call-log outgoing menu is enabled.
Definition tyt_codeplug.cc:2091
virtual unsigned menuHangtime() const
Returns the menu hang time in seconds.
Definition tyt_codeplug.cc:1970
virtual bool fromConfig(const Config *config)
Encodes the menu settings.
Definition tyt_codeplug.cc:2209
virtual void enableSquelch(bool enable)
Enables/disables squelch menu.
Definition tyt_codeplug.cc:2167
virtual void enableVOX(bool enable)
Enables/disables VOX menu.
Definition tyt_codeplug.cc:2176
virtual bool callLogAnswered() const
Returns true if call-log answered menu is enabled.
Definition tyt_codeplug.cc:2082
virtual void setMenuHangtime(unsigned sec)
Sets the menu hang time in seconds.
Definition tyt_codeplug.cc:1974
virtual void enableCallAlert(bool enable)
Enables/disables call alert menu.
Definition tyt_codeplug.cc:1996
virtual void enableCallLogMissed(bool enable)
Enables/disables call-log missed menu.
Definition tyt_codeplug.cc:2077
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor menu.
Definition tyt_codeplug.cc:2032
virtual void enableRadioProgramming(bool enable)
Enables/disables program radio menu.
Definition tyt_codeplug.cc:2203
virtual bool ledIndicator() const
Returns true if LED indicator menu is enabled.
Definition tyt_codeplug.cc:2154
virtual bool menuHangtimeIsInfinite() const
Returns true if the menu hang time is infinite.
Definition tyt_codeplug.cc:1966
virtual void enableBootScreen(bool enable)
Enables/disables intro screen menu.
Definition tyt_codeplug.cc:2140
virtual void enableCallLogAnswered(bool enable)
Enables/disables call-log answered menu.
Definition tyt_codeplug.cc:2086
virtual void infiniteMenuHangtime()
Sets the menu hang time to be infinite.
Definition tyt_codeplug.cc:1978
virtual bool password() const
Returns true if password menu is enabled.
Definition tyt_codeplug.cc:2181
virtual void enableTextMessage(bool enable)
Enables/disables text message menu.
Definition tyt_codeplug.cc:1987
virtual bool remoteRadioEnable() const
Returns true if radio enable menu is enabled.
Definition tyt_codeplug.cc:2037
virtual bool squelch() const
Returns true if squelch menu is enabled.
Definition tyt_codeplug.cc:2163
virtual ~MenuSettingsElement()
Destructor.
Definition tyt_codeplug.cc:1916
virtual void enableBacklight(bool enable)
Enables/disables backlight menu.
Definition tyt_codeplug.cc:2131
virtual void enableLEDIndicator(bool enable)
Enables/disables LED indicator menu.
Definition tyt_codeplug.cc:2158
virtual bool callAlert() const
Returns true if call alert menu is enabled.
Definition tyt_codeplug.cc:1992
virtual bool radioProgramming() const
Returns true if program radio menu is enabled.
Definition tyt_codeplug.cc:2199
virtual void enableTalkaround(bool enable)
Enables/disables talkaround menu.
Definition tyt_codeplug.cc:2104
virtual bool textMessage() const
Returns true if text message menu is enabled.
Definition tyt_codeplug.cc:1983
virtual bool bootScreen() const
Returns true if intro screen menu is enabled.
Definition tyt_codeplug.cc:2136
virtual bool power() const
Returns true if power menu is enabled.
Definition tyt_codeplug.cc:2118
virtual bool updateConfig(Config *config)
Updates config from menu settings.
Definition tyt_codeplug.cc:2248
virtual bool manualDial() const
Returns true if manual dial is enabled.
Definition tyt_codeplug.cc:2010
virtual bool remoteRadioDisable() const
Returns true if radio disable menu is enabled.
Definition tyt_codeplug.cc:2046
virtual bool vox() const
Returns true if VOX menu is enabled.
Definition tyt_codeplug.cc:2172
virtual bool remoteRadioCheck() const
Returns true if contact radio-check menu is enabled.
Definition tyt_codeplug.cc:2019
virtual MessageElement message(unsigned int i) const
Returns the i-th message.
Definition tyt_codeplug.cc:2870
MessageBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2851
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2864
virtual bool encode(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack())
Encodes all messages.
Definition tyt_codeplug.cc:2876
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes all messages.
Definition tyt_codeplug.cc:2892
static constexpr unsigned int size()
The size of the element.
Definition tyt_codeplug.hh:1274
Basic pre-defined SMS text message.
Definition tyt_codeplug.hh:1229
virtual QString text() const
Returns the text of the message.
Definition tyt_codeplug.cc:2817
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:2812
virtual bool encode(SMSTemplate *sms, const ErrorStack &err=ErrorStack())
Encodes the given SMS template.
Definition tyt_codeplug.cc:2826
virtual void setText(const QString &text)
Sets the text of the message.
Definition tyt_codeplug.cc:2821
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2807
virtual SMSTemplate * decode(const ErrorStack &err=ErrorStack())
Decodes the given SMS template.
Definition tyt_codeplug.cc:2835
MessageElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2794
static constexpr unsigned int size()
The size of the element.
Definition tyt_codeplug.hh:1239
virtual void setAction(Action action)
Sets the action to perform.
Definition tyt_codeplug.cc:2438
virtual uint16_t contactIndex() const
Returns the contact index +1.
Definition tyt_codeplug.cc:2461
virtual ~OneTouchSettingElement()
Destructor.
Definition tyt_codeplug.cc:2415
virtual uint8_t messageIndex() const
Returns the message index +1.
Definition tyt_codeplug.cc:2452
virtual void setMessageIndex(uint8_t idx)
Sets the message index +1.
Definition tyt_codeplug.cc:2456
Type
Possible one-touch action types.
Definition tyt_codeplug.hh:1001
@ Digital
Digital call/message.
Definition tyt_codeplug.hh:1003
@ Analog
Analog call.
Definition tyt_codeplug.hh:1004
@ Disabled
Disabled one-touch.
Definition tyt_codeplug.hh:1002
virtual void setActionType(Type action)
Sets the type of the action.
Definition tyt_codeplug.cc:2447
OneTouchSettingElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2403
virtual void setContactIndex(uint16_t idx)
Sets the contact index +1.
Definition tyt_codeplug.cc:2465
virtual Action action() const
Returns the action to perform.
Definition tyt_codeplug.cc:2434
Action
Possible one-touch actions.
Definition tyt_codeplug.hh:991
@ CALL
Call someone, see contact.
Definition tyt_codeplug.hh:992
@ MESSAGE
Send a message, see message.
Definition tyt_codeplug.hh:993
@ DTMF4
Analog call DTMF system 4.
Definition tyt_codeplug.hh:997
@ DTMF2
Analog call DTMF system 2.
Definition tyt_codeplug.hh:995
@ DTMF3
Analog call DTMF system 3.
Definition tyt_codeplug.hh:996
@ DTMF1
Analog call DTMF system 1.
Definition tyt_codeplug.hh:994
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:2420
virtual Type actionType() const
Returns the type of the action.
Definition tyt_codeplug.cc:2443
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2425
virtual unsigned holdTime() const
Returns the hold time in ms.
Definition tyt_codeplug.cc:1055
virtual void setPriorityChannel1Index(uint16_t idx)
Set the index (+1) of the first priority channel.
Definition tyt_codeplug.cc:1030
virtual void setHoldTime(unsigned time)
Sets the hold time in ms.
Definition tyt_codeplug.cc:1060
virtual void setMemberIndex(unsigned n, uint16_t idx)
Sets the n-th member index.
Definition tyt_codeplug.cc:1080
virtual ScanList * toScanListObj(Context &ctx)
Creates a scan list.
Definition tyt_codeplug.cc:1133
virtual void setPriorityChannel2Index(uint16_t idx)
Set the index (+1) of the second priority channel.
Definition tyt_codeplug.cc:1040
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:997
virtual uint16_t txChannelIndex() const
Returns the index (+1) of the TX channel.
Definition tyt_codeplug.cc:1045
virtual bool fromScanListObj(const ScanList *lst, Context &ctx)
Encodes the given scan list.
Definition tyt_codeplug.cc:1085
virtual uint16_t priorityChannel1Index() const
Returns the index (+1) of the first priority channel.
Definition tyt_codeplug.cc:1025
virtual unsigned prioritySampleTime() const
Returns the priority sample time in ms.
Definition tyt_codeplug.cc:1065
virtual QString name() const
Returns the name of the scan list.
Definition tyt_codeplug.cc:1015
ScanListElement(uint8_t *ptr, size_t size)
Constructor.
Definition tyt_codeplug.cc:980
virtual uint16_t memberIndex(unsigned n) const
Returns the n-th member index.
Definition tyt_codeplug.cc:1075
virtual ~ScanListElement()
Destructor.
Definition tyt_codeplug.cc:992
virtual void setTXChannelIndex(uint16_t idx)
Sets the index (+1) of the TX channel.
Definition tyt_codeplug.cc:1050
virtual void setName(const QString &nm)
Sets the name of the scan list.
Definition tyt_codeplug.cc:1020
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:1002
virtual void setPrioritySampleTime(unsigned time)
Sets the priority sample time in ms.
Definition tyt_codeplug.cc:1070
virtual bool linkScanListObj(ScanList *lst, Context &ctx, const ErrorStack &err=ErrorStack())
Links the scan list object.
Definition tyt_codeplug.cc:1149
virtual uint16_t priorityChannel2Index() const
Returns the index (+1) of the second priority channel.
Definition tyt_codeplug.cc:1035
virtual void setTimestamp(const QDateTime &ts)
Sets the time stamp.
Definition tyt_codeplug.cc:1750
virtual QString cpsVersion() const
Returns the CPS version.
Definition tyt_codeplug.cc:1760
virtual ~TimestampElement()
Destructor.
Definition tyt_codeplug.cc:1733
virtual QDateTime timestamp() const
Returns the time stamp.
Definition tyt_codeplug.cc:1745
TimestampElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:1721
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:1738
virtual bool linkZone(Zone *zone, Context &ctx) const
Links the created zone to channels.
Definition tyt_codeplug.cc:856
virtual bool fromZoneObj(const Zone *zone, Context &ctx)
Encodes a given zone object.
Definition tyt_codeplug.cc:835
virtual QString name() const
Returns the name of the zone.
Definition tyt_codeplug.cc:813
virtual uint16_t memberIndex(unsigned n) const
Returns the index (+1) of the n-th member.
Definition tyt_codeplug.cc:826
ZoneElement(uint8_t *ptr, size_t size)
Constructor.
Definition tyt_codeplug.cc:786
virtual void setName(const QString &setName)
Sets the name of the zone.
Definition tyt_codeplug.cc:817
virtual void setMemberIndex(unsigned n, uint16_t idx)
Sets the index (+1) of the n-th member.
Definition tyt_codeplug.cc:830
virtual Zone * toZoneObj() const
Creates a zone.
Definition tyt_codeplug.cc:849
virtual ~ZoneElement()
Desturctor.
Definition tyt_codeplug.cc:798
virtual bool hasMemberIndex(unsigned n) const
Returns true if the n-th member index is set.
Definition tyt_codeplug.cc:822
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:808
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:803
virtual void clearContacts()=0
Clears all contacts in the codeplug.
virtual bool decodeTextMessages(Context &ctx, const ErrorStack &err=ErrorStack())=0
Decodes text messages.
virtual bool decodePrivacyKeys(Context &ctx, const ErrorStack &err=ErrorStack())=0
Decodes the encryption keys.
virtual void clearPositioningSystems()=0
Clears all positioning systems in the codeplug.
virtual void clearGeneralSettings()=0
Clears the general settings in the codeplug.
virtual bool createPositioningSystems(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a GPS positioning system to the configuration for each one in the codeplug.
virtual void clear()
Clears and resets the complete codeplug to some default values.
Definition tyt_codeplug.cc:3001
virtual bool createContacts(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a digital contact to the configuration for each one in the codeplug.
bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition tyt_codeplug.cc:2923
virtual void clearMenuSettings()=0
Clears the menu settings in the codeplug.
virtual bool encodeTimestamp()=0
Sets the time-stamp.
virtual bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all added channels within the configuration.
virtual bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the given generic configuration as a binary codeplug using the given context.
Definition tyt_codeplug.cc:3081
virtual bool linkScanLists(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all added scan lists within the configuration.
virtual bool encodeContacts(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all digital contacts in the configuration into the codeplug.
virtual void clearGroupLists()=0
Clears all RX group lists in the codeplug.
bool encode(Config *config, const Flags &flags=Flags(), const ErrorStack &err=ErrorStack())
Encodes the given generic configuration as a binary codeplug.
Definition tyt_codeplug.cc:3053
virtual bool encodeScanLists(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all scan lists in the configuration into the codeplug.
virtual bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a channel to the configuration for each one in the codeplug.
virtual bool encodeGroupLists(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all group lists in the configuration into the codeplug.
virtual void clearTimestamp()=0
Clears the time-stamp in the codeplug.
virtual bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())=0
Updates the given configuration from the general settings.
virtual void clearScanLists()=0
Clears all scan lists in the codeplug.
virtual ~TyTCodeplug()
Destructor.
Definition tyt_codeplug.cc:2918
virtual bool linkZones(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all added zones within the configuration.
virtual bool createGroupLists(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a RX group list to the configuration for each one in the codeplug.
virtual bool linkPositioningSystems(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all added positioning systems within the configuration.
bool decode(Config *config, const ErrorStack &err=ErrorStack())
Decodes the binary codeplug and stores its content in the given generic configuration.
Definition tyt_codeplug.cc:3070
virtual bool createZones(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a zone to the configuration for each one in the codeplug.
virtual void clearButtonSettings()=0
Clears the button settings in the codeplug.
virtual bool linkGroupLists(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all added RX group lists within the configuration.
virtual void clearChannels()=0
Clears all channels in the codeplug.
virtual void clearEmergencySystems()=0
Clears all emergency systems in the codeplug.
Config * preprocess(Config *config, const ErrorStack &err=ErrorStack()) const
Returns a prepared configuration for this particular radio.
Definition tyt_codeplug.cc:3033
virtual bool encodeButtonSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes the button settings.
virtual void clearZones()=0
Clears all zones in the codeplug.
virtual bool encodePositioningSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all DMR positioning systems in the configuration into the codeplug.
virtual bool encodePrivacyKeys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes the encryption keys.
TyTCodeplug(QObject *parent=nullptr)
Empty constructor.
Definition tyt_codeplug.cc:2912
virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the binary codeplug and stores its content in the given generic configuration using the given...
Definition tyt_codeplug.cc:3152
virtual void clearPrivacyKeys()=0
Clears all encryption keys in the codeplug.
virtual bool decodeButtonSetttings(Context &ctx, const ErrorStack &err=ErrorStack())=0
Decodes the button settings.
virtual bool createScanLists(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a scan list to the configuration for each one in the codeplug.
virtual bool encodeTextMessages(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack())=0
Encodes text messages.
virtual bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all channels in the configuration into the codeplug.
virtual void clearTextMessages()=0
Clears all text messages in the codeplug.
virtual bool encodeZones(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all zones in the configuration into the codeplug.
virtual bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Updates the general settings from the given configuration.
Represents a zone within the generic configuration.
Definition zone.hh:15
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:107
Encodes a selective call.
Definition signaling.hh:13
Some limits of the element.
Definition tyt_codeplug.hh:264
static constexpr unsigned int nameLength()
Maximum length of the name.
Definition tyt_codeplug.hh:266
Some internal offsets within the element.
Definition tyt_codeplug.hh:271
Some limits.
Definition tyt_codeplug.hh:366
static constexpr unsigned int nameLength()
Maximum name length.
Definition tyt_codeplug.hh:368
Some offsets within the element.
Definition tyt_codeplug.hh:373
Some limits for the element.
Definition tyt_codeplug.hh:1207
static constexpr unsigned int advancedKeys()
Specifies the maximum number of advanced (AES) encryption keys (128bit).
Definition tyt_codeplug.hh:1211
static constexpr unsigned int basicKeys()
Specifies the maximum number of basic (DMR) encryption keys (16bit).
Definition tyt_codeplug.hh:1209
Some internal offsets.
Definition tyt_codeplug.hh:1216
Some limits for the settings.
Definition tyt_codeplug.hh:699
Internal offsets.
Definition tyt_codeplug.hh:707
Some Limits.
Definition tyt_codeplug.hh:1288
static constexpr unsigned int messages()
The maximum number of messages in a bank.
Definition tyt_codeplug.hh:1290
Some limits.
Definition tyt_codeplug.hh:1257
static constexpr unsigned int length()
Maximum message length.
Definition tyt_codeplug.hh:1258