libdrmconf 0.14.1
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 "tyt_extensions.hh"
11
12class DMRContact;
13class Zone;
14class RXGroupList;
15class ScanList;
16class DMRAPRSSystem;
17class SMSExtension;
18class SMSTemplate;
19
25class TyTCodeplug : public Codeplug
26{
27 Q_OBJECT
28
29public:
35 {
36 public:
38 enum Mode {
41 };
42
49
56
64
65 protected:
67 ChannelElement(uint8_t *ptr, size_t size);
68
69 public:
71 ChannelElement(uint8_t *ptr);
73 virtual ~ChannelElement();
74
76 bool isValid() const;
78 void clear();
79
81 static constexpr unsigned int size() { return 0x0040; }
82
84 virtual Mode mode() const;
86 virtual void setMode(Mode setMode);
87
89 virtual FMChannel::Bandwidth bandwidth() const;
91 virtual void setBandwidth(FMChannel::Bandwidth bw);
92
94 virtual bool autoScan() const;
96 virtual void enableAutoScan(bool enable);
97
99 virtual bool loneWorker() const;
101 virtual void enableLoneWorker(bool enable);
102
104 virtual bool talkaround() const;
106 virtual void enableTalkaround(bool enable);
107
109 virtual bool rxOnly() const;
111 virtual void enableRXOnly(bool enable);
112
114 virtual DMRChannel::TimeSlot timeSlot() const;
116 virtual void setTimeSlot(DMRChannel::TimeSlot ts);
117
119 virtual uint8_t colorCode() const;
121 virtual void setColorCode(uint8_t ts);
122
124 virtual uint8_t privacyIndex() const;
126 virtual void setPrivacyIndex(uint8_t ts);
128 virtual PrivacyType privacyType() const;
130 virtual void setPrivacyType(PrivacyType type);
131
133 virtual bool privateCallConfirm() const;
135 virtual void enablePrivateCallConfirm(bool enable);
136
138 virtual bool dataCallConfirm() const;
140 virtual void enableDataCallConfirm(bool enable);
141
150
152 virtual bool emergencyAlarmACK() const;
154 virtual void enableEmergencyAlarmACK(bool enable);
155
157 virtual bool displayPTTId() const;
159 virtual void enableDisplayPTTId(bool enable);
160
162 virtual bool vox() const;
164 virtual void enableVOX(bool enable);
165
167 virtual Admit admitCriterion() const;
169 virtual void setAdmitCriterion(Admit admit);
170
172 virtual uint16_t contactIndex() const;
174 virtual void setContactIndex(uint16_t idx);
175
177 virtual bool txTimeOutDisabled() const;
179 virtual Interval txTimeOut() const;
181 virtual void setTXTimeOut(const Interval &tot);
183 virtual void resetTXTimeOut();
185 virtual uint8_t txTimeOutRekeyDelay() const;
187 virtual void setTXTimeOutRekeyDelay(uint8_t delay);
188
190 virtual uint8_t emergencySystemIndex() const;
192 virtual void setEmergencySystemIndex(uint8_t idx);
193
195 virtual uint8_t scanListIndex() const;
197 virtual void setScanListIndex(uint8_t idx);
198
200 virtual uint8_t groupListIndex() const;
202 virtual void setGroupListIndex(uint8_t idx);
203
205 virtual uint8_t positioningSystemIndex() const;
207 virtual void setPositioningSystemIndex(uint8_t idx);
208
210 virtual bool dtmfDecode(uint8_t idx) const;
212 virtual void setDTMFDecode(uint8_t idx, bool enable);
213
215 virtual Frequency rxFrequency() const;
217 virtual void setRXFrequency(const Frequency &Hz);
219 virtual Frequency txFrequency() const;
221 virtual void setTXFrequency(const Frequency &Hz);
222
224 virtual SelectiveCall rxSignaling() const;
226 virtual void setRXSignaling(const SelectiveCall &code);
228 virtual SelectiveCall txSignaling() const;
230 virtual void setTXSignaling(const SelectiveCall &code);
232 virtual uint8_t rxSignalingSystemIndex() const;
234 virtual void setRXSignalingSystemIndex(uint8_t idx);
236 virtual uint8_t txSignalingSystemIndex() const;
238 virtual void setTXSignalingSystemIndex(uint8_t idx);
239
241 virtual bool txGPSInfo() const;
243 virtual void enableTXGPSInfo(bool enable);
245 virtual bool rxGPSInfo() const;
247 virtual void enableRXGPSInfo(bool enable);
248
250 virtual QString name() const;
252 virtual void setName(const QString &setName);
253
255 virtual Channel *toChannelObj(const ErrorStack &err=ErrorStack()) const;
257 virtual bool linkChannelObj(Channel *c, Context &ctx, const ErrorStack &err=ErrorStack()) const;
259 virtual void fromChannelObj(const Channel *c, Context &ctx);
260
261 public:
263 struct Limit: public Element::Limit {
265 static constexpr unsigned int nameLength() { return 16; }
266 };
267
268 protected:
270 struct Offset: public Element::Offset {
272 static constexpr Offset::Bit mode() { return {0x0000, 0}; }
273 static constexpr Offset::Bit bandwidth() { return {0x0000, 2}; }
274 static constexpr Offset::Bit autoscan() { return {0x0000, 4}; }
275 static constexpr Offset::Bit loneworker() { return {0x0000, 8}; }
276 static constexpr Offset::Bit talkaround() { return {0x0001, 0}; }
277 static constexpr Offset::Bit rxonly() { return {0x0001, 1}; }
278 static constexpr Offset::Bit timeslot() { return {0x0001, 2}; }
279 static constexpr Offset::Bit colorcode() { return {0x0001, 4}; }
280 static constexpr Offset::Bit privacyIndex() { return {0x0002, 0}; }
281 static constexpr Offset::Bit privacyType() { return {0x0002, 4}; }
282 static constexpr Offset::Bit privateCallConfirm() { return {0x0002, 6}; }
283 static constexpr Offset::Bit dataCallConfirm() { return {0x0002, 7}; }
284 static constexpr Offset::Bit rxRefFrequency() { return {0x0003, 0}; }
285 static constexpr Offset::Bit emergencyAlarmACK() { return {0x0003, 3}; }
286 static constexpr Offset::Bit displayPTTId() { return {0x0003, 7}; }
287 static constexpr Offset::Bit txRefFrequency() { return {0x0004, 0}; }
288 static constexpr Offset::Bit vox() { return {0x0004, 4}; }
289 static constexpr Offset::Bit admitCriterion() { return {0x0004, 6}; }
290 static constexpr unsigned int contactIndex() { return 0x0006; }
291 static constexpr Offset::Bit txTimeOut() { return {0x0008, 0}; }
292 static constexpr unsigned int txTimeOutRekeyDelay() { return 0x0009; }
293 static constexpr unsigned int emergencySystemIndex() { return 0x000a; }
294 static constexpr unsigned int scanListIndex() { return 0x000b; }
295 static constexpr unsigned int groupListIndex() { return 0x000c; }
296 static constexpr unsigned int positioningSystemIndex() { return 0x000d; }
297 static constexpr unsigned int dtmfDecode() { return 0x000e; }
298 static constexpr unsigned int rxFrequency() { return 0x0010; }
299 static constexpr unsigned int txFrequency() { return 0x0014; }
300 static constexpr unsigned int rxSignaling() { return 0x018; }
301 static constexpr unsigned int txSignaling() { return 0x01a; }
302 static constexpr unsigned int rxSignalingSystemIndex() { return 0x01c; }
303 static constexpr unsigned int txSignalingSystemIndex() { return 0x01d; }
304 static constexpr Offset::Bit txGPSInfo() { return {0x001f, 0}; }
305 static constexpr Offset::Bit rxGPSInfo() { return {0x001f, 1}; }
306 static constexpr unsigned int name() { return 0x0020; }
308 };
309 };
310
316 {
317 protected:
319 enum class CallType {
320 GroupCall=1, PrivateCall=2, AllCall=3
321 };
322
323 protected:
325 ContactElement(uint8_t *ptr, size_t size);
326
327 public:
329 ContactElement(uint8_t *ptr);
331 virtual ~ContactElement();
332
334 static constexpr unsigned int size() { return 0x000024; }
335 void clear();
336 bool isValid() const;
337
339 virtual uint32_t dmrId() const;
341 virtual void setDMRId(uint32_t id);
342
344 virtual DMRContact::Type callType() const;
346 virtual void setCallType(DMRContact::Type type);
347
349 virtual bool ringTone() const;
351 virtual void enableRingTone(bool enable);
352
354 virtual QString name() const;
356 virtual void setName(const QString &nm);
357
359 virtual bool fromContactObj(const DMRContact *contact);
361 virtual DMRContact *toContactObj() const;
362
363 public:
365 struct Limit: Element::Limit {
367 static constexpr unsigned int nameLength() { return 16; }
368 };
369
370 protected:
372 struct Offset: Element::Offset {
374 static constexpr unsigned int dmrId() { return 0x0000; }
375 static constexpr Bit callType() { return {0x0003, 0}; }
376 static constexpr Bit ringTone() { return {0x0003, 5}; }
377 static constexpr unsigned int name() { return 0x0004; }
379 };
380 };
381
389 {
390 protected:
392 ZoneElement(uint8_t *ptr, size_t size);
393
394 public:
396 ZoneElement(uint8_t *ptr);
398 virtual ~ZoneElement();
399
400 void clear();
401 bool isValid() const;
402
404 virtual QString name() const;
406 virtual void setName(const QString &setName);
407
409 virtual uint16_t memberIndex(unsigned n) const;
411 virtual void setMemberIndex(unsigned n, uint16_t idx);
412
414 virtual bool fromZoneObj(const Zone *zone, Context &ctx);
416 virtual Zone *toZoneObj() const;
418 virtual bool linkZone(Zone *zone, Context &ctx) const;
419 };
420
426 {
427 protected:
429 GroupListElement(uint8_t *ptr, size_t size);
430
431 public:
433 GroupListElement(uint8_t *ptr);
435 virtual ~GroupListElement();
436
437 void clear();
438 bool isValid() const;
439
441 virtual QString name() const;
443 virtual void setName(const QString &nm);
444
446 virtual uint16_t memberIndex(unsigned n) const;
448 virtual void setMemberIndex(unsigned n, uint16_t idx);
449
451 virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx);
453 virtual RXGroupList *toGroupListObj(Context &ctx);
455 virtual bool linkGroupListObj(RXGroupList *lst, Context &ctx);
456 };
457
463 {
464 protected:
466 ScanListElement(uint8_t *ptr, size_t size);
467
468 public:
470 ScanListElement(uint8_t *ptr);
472 virtual ~ScanListElement();
473
474 bool isValid() const;
475 void clear();
476
478 virtual QString name() const;
480 virtual void setName(const QString &nm);
481
483 virtual uint16_t priorityChannel1Index() const;
485 virtual void setPriorityChannel1Index(uint16_t idx);
486
488 virtual uint16_t priorityChannel2Index() const;
490 virtual void setPriorityChannel2Index(uint16_t idx);
491
493 virtual uint16_t txChannelIndex() const;
495 virtual void setTXChannelIndex(uint16_t idx);
496
498 virtual unsigned holdTime() const;
500 virtual void setHoldTime(unsigned time);
501
503 virtual unsigned prioritySampleTime() const;
505 virtual void setPrioritySampleTime(unsigned time);
506
508 virtual uint16_t memberIndex(unsigned n) const;
510 virtual void setMemberIndex(unsigned n, uint16_t idx);
511
513 virtual bool fromScanListObj(const ScanList *lst, Context &ctx);
515 virtual ScanList *toScanListObj(Context &ctx);
517 virtual bool linkScanListObj(ScanList *lst, Context &ctx, const ErrorStack &err=ErrorStack());
518 };
519
525 {
526 protected:
528 GeneralSettingsElement(uint8_t *ptr, size_t size);
529
530 public:
532 explicit GeneralSettingsElement(uint8_t *ptr);
534 virtual ~GeneralSettingsElement();
535
536 void clear();
537
539 virtual QString introLine1() const;
541 virtual void setIntroLine1(const QString line);
543 virtual QString introLine2() const;
545 virtual void setIntroLine2(const QString line);
546
548 virtual TyTSettingsExtension::MonitorType monitorType() const;
550 virtual void setMonitorType(TyTSettingsExtension::MonitorType type);
551
553 virtual bool allLEDsDisabled() const;
555 virtual void disableAllLEDs(bool disable);
556
558 virtual bool savePreamble() const;
560 virtual void setSavePreamble(bool enable);
562 virtual bool saveModeRX() const;
564 virtual void setSaveModeRX(bool enable);
566 virtual bool allTonesDisabled() const;
568 virtual void disableAllTones(bool disable);
570 virtual bool chFreeIndicationTone() const;
572 virtual void setChFreeIndicationTone(bool enable);
574 virtual bool passwdAndLock() const;
576 virtual void enablePasswdAndLock(bool enable);
578 virtual bool talkPermitToneDigital() const;
580 virtual void enableTalkPermitToneDigital(bool enable);
582 virtual bool talkPermitToneAnalog() const;
584 virtual void enableTalkPermitToneAnalog(bool enable);
585
587 virtual bool introPicture() const;
589 virtual void enableIntroPicture(bool enable);
590
592 virtual uint32_t dmrId() const;
594 virtual void setDMRId(uint32_t id);
595
597 virtual Interval txPreambleDuration () const;
599 virtual void setTXPreambleDuration(const Interval &ms);
601 virtual Interval groupCallHangTime() const;
603 virtual void setGroupCallHangTime(const Interval &ms);
605 virtual Interval privateCallHangTime() const;
607 virtual void setPrivateCallHangTime(const Interval &ms);
609 virtual Level voxSesitivity() const;
611 virtual void setVOXSesitivity(Level level);
613 virtual unsigned lowBatteryInterval() const;
615 virtual void setLowBatteryInterval(unsigned sec);
616
618 virtual bool callAlertToneIsContinuous() const;
620 virtual unsigned callAlertToneDuration() const;
622 virtual void setCallAlertToneDuration(unsigned sec);
624 virtual void setCallAlertToneContinuous();
625
627 virtual unsigned loneWorkerResponseTime() const;
629 virtual void setLoneWorkerResponseTime(unsigned min);
631 virtual unsigned loneWorkerReminderTime() const;
633 virtual void setLoneWorkerReminderTime(unsigned min);
635 virtual unsigned scanDigitalHangTime() const;
637 virtual void setScanDigitalHangTime(unsigned ms);
639 virtual unsigned scanAnalogHangTime() const;
641 virtual void setScanAnalogHangTime(unsigned ms);
642
644 virtual bool backlightIsAlways() const;
646 virtual unsigned backlightTime() const;
648 virtual void setBacklightTime(unsigned sec);
650 virtual void backlightTimeSetAlways();
651
653 virtual bool keypadLockIsManual() const;
655 virtual unsigned keypadLockTime() const;
657 virtual void setKeypadLockTime(unsigned sec);
659 virtual void keypadLockTimeSetManual();
660
662 virtual uint32_t powerOnPassword() const;
664 virtual void setPowerOnPassword(uint32_t passwd);
665
667 virtual bool radioProgPasswordEnabled() const;
669 virtual uint32_t radioProgPassword() const;
671 virtual void setRadioProgPassword(uint32_t passwd);
673 virtual void radioProgPasswordDisable();
674
676 virtual bool pcProgPasswordEnabled() const;
678 virtual QString pcProgPassword() const;
680 virtual void setPCProgPassword(const QString &pass);
682 virtual void pcProgPasswordDisable();
683
685 virtual QString radioName() const;
687 virtual void setRadioName(const QString &name);
688
690 virtual bool fromConfig(const Config *config);
692 virtual bool updateConfig(Config *config);
693
694 public:
696 struct Limit: Element::Limit {
697 // Valid VOX sensitivity range.
698 static constexpr Range<unsigned int> vox() { return {1,10}; }
699 };
700 };
701
707 {
708 protected:
710 TimestampElement(uint8_t *ptr, size_t size);
711
712 public:
714 explicit TimestampElement(uint8_t *ptr);
716 virtual ~TimestampElement();
717
718 void clear();
719
721 virtual QDateTime timestamp() const;
723 virtual void setTimestamp(const QDateTime &ts);
724
726 virtual QString cpsVersion() const;
727 };
728
734 {
735 protected:
737 GPSSystemElement(uint8_t *ptr, size_t size);
738
739 public:
741 explicit GPSSystemElement(uint8_t *ptr);
743 virtual ~GPSSystemElement();
744
745 bool isValid() const;
746 void clear();
747
749 virtual bool revertChannelIsSelected() const;
751 virtual uint16_t revertChannelIndex() const;
753 virtual void setRevertChannelIndex(uint16_t idx);
755 virtual void setRevertChannelSelected();
756
758 virtual bool repeatIntervalDisabled() const;
760 virtual Interval repeatInterval() const;
762 virtual void setRepeatInterval(const Interval &sec);
764 virtual void disableRepeatInterval();
765
767 virtual bool destinationContactDisabled() const;
769 virtual uint16_t destinationContactIndex() const;
771 virtual void setDestinationContactIndex(uint16_t idx);
773 virtual void disableDestinationContact();
774
776 virtual bool fromGPSSystemObj(DMRAPRSSystem *sys, Context &ctx);
778 virtual DMRAPRSSystem *toGPSSystemObj();
780 virtual bool linkGPSSystemObj(DMRAPRSSystem *sys, Context &ctx);
781 };
782
788 {
789 protected:
791 MenuSettingsElement(uint8_t *ptr, size_t size);
792
793 public:
795 explicit MenuSettingsElement(uint8_t *ptr);
797 virtual ~MenuSettingsElement();
798
799 void clear();
800
802 virtual bool menuHangtimeIsInfinite() const;
804 virtual unsigned menuHangtime() const;
806 virtual void setMenuHangtime(unsigned sec);
808 virtual void infiniteMenuHangtime();
809
811 virtual bool textMessage() const;
813 virtual void enableTextMessage(bool enable);
815 virtual bool callAlert() const;
817 virtual void enableCallAlert(bool enable);
819 virtual bool contactEditing() const;
821 virtual void enableContactEditing(bool enable);
823 virtual bool manualDial() const;
825 virtual void enableManualDial(bool enable);
827 virtual bool remoteRadioCheck() const;
829 virtual void enableRemoteRadioCheck(bool enable);
831 virtual bool remoteMonitor() const;
833 virtual void enableRemoteMonitor(bool enable);
835 virtual bool remoteRadioEnable() const;
837 virtual void enableRemoteRadioEnable(bool enable);
839 virtual bool remoteRadioDisable() const;
841 virtual void enableRemoteRadioDisable(bool enable);
842
844 virtual bool scan() const;
846 virtual void enableScan(bool enable);
848 virtual bool scanListEditing() const;
850 virtual void enableScanListEditing(bool enable);
852 virtual bool callLogMissed() const;
854 virtual void enableCallLogMissed(bool enable);
856 virtual bool callLogAnswered() const;
858 virtual void enableCallLogAnswered(bool enable);
860 virtual bool callLogOutgoing() const;
862 virtual void enableCallLogOutgoing(bool enable);
864 virtual bool talkaround() const;
866 virtual void enableTalkaround(bool enable);
868 virtual bool alertTone() const;
870 virtual void enableAlertTone(bool enable);
871
873 virtual bool power() const;
875 virtual void enablePower(bool enable);
877 virtual bool backlight() const;
879 virtual void enableBacklight(bool enable);
881 virtual bool bootScreen() const;
883 virtual void enableBootScreen(bool enable);
885 virtual bool keypadLock() const;
887 virtual void enableKeypadLock(bool enable);
889 virtual bool ledIndicator() const;
891 virtual void enableLEDIndicator(bool enable);
893 virtual bool squelch() const;
895 virtual void enableSquelch(bool enable);
897 virtual bool vox() const;
899 virtual void enableVOX(bool enable);
900
902 virtual bool password() const;
904 virtual void enablePassword(bool enable);
906 virtual bool displayMode() const;
908 virtual void enableDisplayMode(bool enable);
910 virtual bool radioProgramming() const;
912 virtual void enableRadioProgramming(bool enable);
913
915 virtual bool fromConfig(const Config *config);
917 virtual bool updateConfig(Config *config);
918 };
919
925 {
926 public:
929
930 protected:
932 ButtonSettingsElement(uint8_t *ptr, size_t size);
933
934 public:
936 explicit ButtonSettingsElement(uint8_t *ptr);
938 virtual ~ButtonSettingsElement();
939
940 void clear();
941
943 virtual ButtonAction sideButton1Short() const;
945 virtual void setSideButton1Short(ButtonAction action);
947 virtual ButtonAction sideButton1Long() const;
949 virtual void setSideButton1Long(ButtonAction action);
950
952 virtual ButtonAction sideButton2Short() const;
954 virtual void setSideButton2Short(ButtonAction action);
956 virtual ButtonAction sideButton2Long() const;
958 virtual void setSideButton2Long(ButtonAction action);
959
961 virtual unsigned longPressDuration() const;
963 virtual void setLongPressDuration(unsigned ms);
964
966 virtual bool fromConfig(const Config *config);
968 virtual bool updateConfig(Config *config);
969 };
970
976 {
977 public:
979 enum Action {
980 CALL = 0b0000,
981 MESSAGE = 0b0001,
982 DTMF1 = 0b1000,
983 DTMF2 = 0b1001,
984 DTMF3 = 0b1010,
985 DTMF4 = 0b1011
986 };
987
989 enum Type {
990 Disabled = 0b00,
991 Digital = 0b01,
992 Analog = 0b10
993 };
994
995 protected:
997 OneTouchSettingElement(uint8_t *ptr, size_t size);
998
999 public:
1001 explicit OneTouchSettingElement(uint8_t *ptr);
1003 virtual ~OneTouchSettingElement();
1004
1005 bool isValid() const;
1006 void clear();
1007
1009 virtual Action action() const;
1011 virtual void setAction(Action action);
1012
1014 virtual Type actionType() const;
1016 virtual void setActionType(Type action);
1017
1019 virtual uint8_t messageIndex() const;
1021 virtual void setMessageIndex(uint8_t idx);
1022
1024 virtual uint16_t contactIndex() const;
1026 virtual void setContactIndex(uint16_t idx);
1027 };
1028
1034 {
1035 protected:
1037 EmergencySettingsElement(uint8_t *ptr, size_t size);
1038
1039 public:
1041 explicit EmergencySettingsElement(uint8_t *ptr);
1043 virtual ~EmergencySettingsElement();
1044
1045 virtual void clear();
1046
1048 virtual bool emergencyRemoteMonitor() const;
1050 virtual void enableEmergencyRemoteMonitor(bool enable);
1052 virtual bool remoteMonitor() const;
1054 virtual void enableRemoteMonitor(bool enable);
1056 virtual bool radioDisable() const;
1058 virtual void enableRadioDisable(bool enable);
1059
1061 virtual unsigned remoteMonitorDuration() const;
1063 virtual void setRemoteMonitorDuration(unsigned sec);
1064
1066 virtual unsigned txTimeOut() const;
1068 virtual void setTXTimeOut(unsigned ms);
1069
1071 virtual unsigned messageLimit() const;
1073 virtual void setMessageLimit(unsigned limit);
1074 };
1075
1081 {
1082 public:
1090
1096
1097 protected:
1099 EmergencySystemElement(uint8_t *ptr, size_t size);
1100
1101 public:
1103 explicit EmergencySystemElement(uint8_t *ptr);
1105 virtual ~EmergencySystemElement();
1106
1107 bool isValid() const;
1108 void clear();
1109
1111 virtual QString name() const;
1113 virtual void setName(const QString &name);
1114
1116 virtual AlarmType alarmType() const;
1118 virtual void setAlarmType(AlarmType type);
1120 virtual AlarmMode alarmMode() const;
1122 virtual void setAlarmMode(AlarmMode mode);
1123
1125 virtual unsigned impoliteRetries() const;
1127 virtual void setImpoliteRetries(unsigned num);
1128
1130 virtual unsigned politeRetries() const;
1132 virtual void setPoliteRetries(unsigned num);
1133
1135 virtual unsigned hotMICDuration() const;
1137 virtual void setHotMICDuration(unsigned sec);
1138
1140 virtual bool revertChannelIsSelected() const;
1142 virtual uint16_t revertChannelIndex() const;
1144 virtual void setRevertChannelIndex(uint16_t idx);
1146 virtual void revertChannelSelected();
1147 };
1148
1154 {
1155 protected:
1157 EncryptionElement(uint8_t *ptr, size_t size);
1158
1159 public:
1161 explicit EncryptionElement(uint8_t *ptr);
1163 virtual ~EncryptionElement();
1164
1165 void clear();
1166
1168 static constexpr unsigned int size() { return 0x00b0; }
1169
1172 virtual bool isEnhancedKeySet(unsigned n) const;
1174 virtual QByteArray enhancedKey(unsigned n) const;
1176 virtual void setEnhancedKey(unsigned n, const QByteArray &key);
1177
1180 virtual bool isBasicKeySet(unsigned n) const;
1182 virtual QByteArray basicKey(unsigned n) const;
1184 virtual void setBasicKey(unsigned n, const QByteArray &key);
1185
1187 virtual bool fromCommercialExt(CommercialExtension *encr, Context &ctx);
1189 virtual bool updateCommercialExt(Context &ctx);
1191 virtual bool linkCommercialExt(CommercialExtension *ext, Context &ctx);
1192
1193 public:
1195 struct Limit {
1197 static constexpr unsigned int basicKeys() { return 16; }
1199 static constexpr unsigned int advancedKeys() { return 8; }
1200 };
1201
1202 protected:
1204 struct Offset {
1206 static constexpr unsigned int advancedKeys() { return 0x0000; }
1207 static constexpr unsigned int betweenAdvancedKeys() { return 0x0010; }
1208 static constexpr unsigned int basicKeys() { return 0x0090; }
1209 static constexpr unsigned int betweenBasicKeys() { return 0x0002; }
1211 };
1212 };
1213
1214
1217 {
1218 protected:
1220 MessageElement(uint8_t *ptr, size_t size);
1221
1222 public:
1224 MessageElement(uint8_t *ptr);
1225
1227 static constexpr unsigned int size() { return 0x00120; }
1228
1229 void clear();
1230
1231 bool isValid() const;
1232
1234 virtual QString text() const;
1236 virtual void setText(const QString &text);
1237
1239 virtual bool encode(SMSTemplate *sms, const ErrorStack &err=ErrorStack());
1241 virtual SMSTemplate *decode(const ErrorStack &err=ErrorStack());
1242
1243 public:
1245 struct Limit {
1246 static constexpr unsigned int length() { return 144; }
1247 };
1248 };
1249
1252 {
1253 protected:
1255 MessageBankElement(uint8_t *ptr, size_t size);
1256
1257 public:
1259 MessageBankElement(uint8_t *ptr);
1260
1262 static constexpr unsigned int size() { return MessageElement::size()*Limit::messages(); }
1263
1264 void clear();
1265
1267 virtual MessageElement message(unsigned int i) const;
1268
1270 virtual bool encode(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack());
1272 virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack());
1273
1274 public:
1276 struct Limit {
1278 static constexpr unsigned int messages() { return 50; }
1279 };
1280 };
1281
1282
1283protected:
1285 explicit TyTCodeplug(QObject *parent = nullptr);
1286
1287public:
1289 virtual ~TyTCodeplug();
1290
1292 virtual void clear();
1293
1294 bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const;
1295
1296 Config *preprocess(Config *config, const ErrorStack &err=ErrorStack()) const;
1297
1299 bool decode(Config *config, const ErrorStack &err=ErrorStack());
1301 bool encode(Config *config, const Flags &flags = Flags(), const ErrorStack &err=ErrorStack());
1302
1303public:
1306 virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack());
1308 virtual bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1309
1311 virtual void clearTimestamp() = 0;
1313 virtual bool encodeTimestamp() = 0;
1314
1316 virtual void clearGeneralSettings() = 0;
1318 virtual bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1320 virtual bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1321
1323 virtual void clearContacts() = 0;
1325 virtual bool encodeContacts(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1327 virtual bool createContacts(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1328
1330 virtual void clearGroupLists() = 0;
1332 virtual bool encodeGroupLists(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1334 virtual bool createGroupLists(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1336 virtual bool linkGroupLists(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1337
1339 virtual void clearChannels() = 0;
1341 virtual bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1343 virtual bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1345 virtual bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1346
1348 virtual void clearZones() = 0;
1350 virtual bool encodeZones(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1352 virtual bool createZones(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1354 virtual bool linkZones(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1355
1357 virtual void clearScanLists() = 0;
1359 virtual bool encodeScanLists(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1361 virtual bool createScanLists(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1363 virtual bool linkScanLists(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1364
1366 virtual void clearPositioningSystems() = 0;
1368 virtual bool encodePositioningSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1370 virtual bool createPositioningSystems(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1372 virtual bool linkPositioningSystems(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1373
1375 virtual void clearButtonSettings() = 0;
1377 virtual bool encodeButtonSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1379 virtual bool decodeButtonSetttings(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1380
1382 virtual void clearPrivacyKeys() = 0;
1384 virtual bool encodePrivacyKeys(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1386 virtual bool decodePrivacyKeys(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1387
1389 virtual void clearMenuSettings() = 0;
1390
1392 virtual void clearTextMessages() = 0;
1394 virtual bool encodeTextMessages(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack()) = 0;
1396 virtual bool decodeTextMessages(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1397
1399 virtual void clearEmergencySystems() = 0;
1400};
1401
1402#endif // TYT_CODEPLUG_HH
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:37
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:439
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:279
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:2308
virtual void setSideButton2Long(ButtonAction action)
Sets the action for a short press on side button 2.
Definition tyt_codeplug.cc:2326
virtual bool fromConfig(const Config *config)
Encodes the button settings.
Definition tyt_codeplug.cc:2340
virtual ButtonAction sideButton2Long() const
Returns the action for a long press on side button 2.
Definition tyt_codeplug.cc:2322
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2282
virtual unsigned longPressDuration() const
Returns the long-press duration in ms.
Definition tyt_codeplug.cc:2331
virtual void setLongPressDuration(unsigned ms)
Sets the long-press duration in ms.
Definition tyt_codeplug.cc:2335
virtual void setSideButton1Short(ButtonAction action)
Sets the action for a short press on side button 1.
Definition tyt_codeplug.cc:2299
virtual void setSideButton2Short(ButtonAction action)
Sets the action for a short press on side button 2.
Definition tyt_codeplug.cc:2317
virtual ~ButtonSettingsElement()
Destructor.
Definition tyt_codeplug.cc:2277
virtual ButtonAction sideButton1Long() const
Returns the action for a long press on side button 1.
Definition tyt_codeplug.cc:2304
virtual bool updateConfig(Config *config)
Updates config from button settings.
Definition tyt_codeplug.cc:2355
virtual ButtonAction sideButton1Short() const
Returns the action for a short press on side button 1.
Definition tyt_codeplug.cc:2295
virtual ButtonAction sideButton2Short() const
Returns the action for a short press on side button 2.
Definition tyt_codeplug.cc:2313
ButtonSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2265
enum TyTButtonSettings::ButtonAction ButtonAction
The possible button actions.
Definition tyt_codeplug.hh:928
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:38
@ MODE_DIGITAL
Digital channel.
Definition tyt_codeplug.hh:40
@ MODE_ANALOG
Analog channel.
Definition tyt_codeplug.hh:39
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:81
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:51
@ PRIV_NONE
No privacy.
Definition tyt_codeplug.hh:52
@ PRIV_BASIC
Basic privacy.
Definition tyt_codeplug.hh:53
@ PRIV_ENHANCED
Enhanced privacy.
Definition tyt_codeplug.hh:54
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:44
@ BW_25_KHZ
25kHz wide.
Definition tyt_codeplug.hh:47
@ BW_20_KHZ
20 kHz (really?)
Definition tyt_codeplug.hh:46
@ BW_12_5_KHZ
12.5 kHz narrow, (default for binary channels).
Definition tyt_codeplug.hh:45
Admit
TX Admit criterion.
Definition tyt_codeplug.hh:58
@ ADMIT_ALWAYS
Always allow TX.
Definition tyt_codeplug.hh:59
@ ADMIT_COLOR
Allow TX if color-code matches.
Definition tyt_codeplug.hh:62
@ ADMIT_CH_FREE
Allow TX if channel is free.
Definition tyt_codeplug.hh:60
@ ADMIT_TONE
Allow TX if CTCSS tone matches.
Definition tyt_codeplug.hh:61
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:334
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:319
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:2514
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor.
Definition tyt_codeplug.cc:2487
virtual void enableEmergencyRemoteMonitor(bool enable)
Enables/disables emergency remote monitor.
Definition tyt_codeplug.cc:2478
virtual bool remoteMonitor() const
Returns true if remote monitor is enabled.
Definition tyt_codeplug.cc:2483
virtual ~EmergencySettingsElement()
Destructor.
Definition tyt_codeplug.cc:2457
virtual void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2462
EmergencySettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2445
virtual void enableRadioDisable(bool enable)
Enables/disables radio disable.
Definition tyt_codeplug.cc:2496
virtual unsigned messageLimit() const
Returns the message limit.
Definition tyt_codeplug.cc:2519
virtual void setMessageLimit(unsigned limit)
Sets the message limit.
Definition tyt_codeplug.cc:2523
virtual unsigned remoteMonitorDuration() const
Returns the remote monitor duration in seconds.
Definition tyt_codeplug.cc:2501
virtual unsigned txTimeOut() const
Returns the TX time-out in ms.
Definition tyt_codeplug.cc:2510
virtual bool radioDisable() const
Returns true if radio disable is enabled.
Definition tyt_codeplug.cc:2492
virtual void setRemoteMonitorDuration(unsigned sec)
Sets the remote monitor duration in seconds.
Definition tyt_codeplug.cc:2505
virtual bool emergencyRemoteMonitor() const
Returns true if emergency remote monitor is enabled.
Definition tyt_codeplug.cc:2474
virtual void setPoliteRetries(unsigned num)
Sets the number of polite retries.
Definition tyt_codeplug.cc:2607
virtual ~EmergencySystemElement()
Destructor.
Definition tyt_codeplug.cc:2543
AlarmType
Possible alarm type for the system.
Definition tyt_codeplug.hh:1084
@ REGULAR
Regular alarm sound.
Definition tyt_codeplug.hh:1086
@ SILENT
Silent alarm.
Definition tyt_codeplug.hh:1087
@ SILENT_W_VOICE
silent alarm with voice.
Definition tyt_codeplug.hh:1088
@ DISABLED
No alarm at all.
Definition tyt_codeplug.hh:1085
virtual AlarmType alarmType() const
Returns the alarm type of the system.
Definition tyt_codeplug.cc:2576
virtual unsigned politeRetries() const
Returns the number of polite retries.
Definition tyt_codeplug.cc:2603
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:2548
EmergencySystemElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2531
virtual void setAlarmMode(AlarmMode mode)
Sets the alarm mode of the system.
Definition tyt_codeplug.cc:2589
virtual void setName(const QString &name)
Sets the name of the system.
Definition tyt_codeplug.cc:2571
virtual uint16_t revertChannelIndex() const
Returns the index of the revert channel.
Definition tyt_codeplug.cc:2625
virtual void setHotMICDuration(unsigned sec)
Sets the hot MIC duration in seconds.
Definition tyt_codeplug.cc:2616
virtual bool revertChannelIsSelected() const
Returns true if the revert channel is the selected one.
Definition tyt_codeplug.cc:2621
virtual void revertChannelSelected()
Sets revert channel to selected channel.
Definition tyt_codeplug.cc:2633
AlarmMode
Possible alarm modes for the system.
Definition tyt_codeplug.hh:1091
@ ALARM_W_VOICE
Alarm + call + voice?
Definition tyt_codeplug.hh:1094
@ ALARM_W_CALL
Alarm + call.
Definition tyt_codeplug.hh:1093
@ ALARM
Just alarm.
Definition tyt_codeplug.hh:1092
virtual void setRevertChannelIndex(uint16_t idx)
Sets the revert channel index.
Definition tyt_codeplug.cc:2629
virtual unsigned impoliteRetries() const
Returns the number of impolite retries.
Definition tyt_codeplug.cc:2594
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2553
virtual void setImpoliteRetries(unsigned num)
Sets the number of impolite retries.
Definition tyt_codeplug.cc:2598
virtual unsigned hotMICDuration() const
Returns the hot MIC duration in seconds.
Definition tyt_codeplug.cc:2612
virtual void setAlarmType(AlarmType type)
Sets the alarm type of the system.
Definition tyt_codeplug.cc:2580
virtual QString name() const
Returns the name of the system.
Definition tyt_codeplug.cc:2567
virtual AlarmMode alarmMode() const
Returns the alarm mode of the system.
Definition tyt_codeplug.cc:2585
virtual QByteArray enhancedKey(unsigned n) const
Returns the n-th "enhanced" key (128bit).
Definition tyt_codeplug.cc:2672
virtual QByteArray basicKey(unsigned n) const
Returns the n-th "basic" key (16bit).
Definition tyt_codeplug.cc:2697
virtual void setBasicKey(unsigned n, const QByteArray &key)
Sets the n-th "basic" key (16bit).
Definition tyt_codeplug.cc:2705
static constexpr unsigned int size()
Returns the size of the element.
Definition tyt_codeplug.hh:1168
virtual bool isEnhancedKeySet(unsigned n) const
Returns true if the n-th "enhanced" key (128bit) is set.
Definition tyt_codeplug.cc:2663
virtual void setEnhancedKey(unsigned n, const QByteArray &key)
Sets the n-th "enhanced" key (128bit).
Definition tyt_codeplug.cc:2680
virtual bool updateCommercialExt(Context &ctx)
Updates the commercial extension.
Definition tyt_codeplug.cc:2730
virtual bool fromCommercialExt(CommercialExtension *encr, Context &ctx)
Encodes given commercial extension.
Definition tyt_codeplug.cc:2715
virtual ~EncryptionElement()
Destructor.
Definition tyt_codeplug.cc:2653
virtual bool linkCommercialExt(CommercialExtension *ext, Context &ctx)
Links the given encryption extension.
Definition tyt_codeplug.cc:2757
EncryptionElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2641
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2658
virtual bool isBasicKeySet(unsigned n) const
Returns true if the n-th "basic" key (16bit) is set.
Definition tyt_codeplug.cc:2689
virtual void setRevertChannelIndex(uint16_t idx)
Sets the revert channel index (+1).
Definition tyt_codeplug.cc:1789
virtual ~GPSSystemElement()
Destructor.
Definition tyt_codeplug.cc:1761
virtual bool fromGPSSystemObj(DMRAPRSSystem *sys, Context &ctx)
Encodes the given GPS system.
Definition tyt_codeplug.cc:1839
virtual bool linkGPSSystemObj(DMRAPRSSystem *sys, Context &ctx)
Links the given GPS system.
Definition tyt_codeplug.cc:1857
virtual DMRAPRSSystem * toGPSSystemObj()
Constructs a GPS system.
Definition tyt_codeplug.cc:1852
virtual bool repeatIntervalDisabled() const
Returns true if the repeat interval is disabled.
Definition tyt_codeplug.cc:1799
virtual void setDestinationContactIndex(uint16_t idx)
Sets the destination contact index (+1).
Definition tyt_codeplug.cc:1830
virtual uint16_t revertChannelIndex() const
Returns the revert channel index (+1).
Definition tyt_codeplug.cc:1785
virtual void disableRepeatInterval()
Disables the GPS repeat interval.
Definition tyt_codeplug.cc:1816
virtual void disableDestinationContact()
Disables the destination contact.
Definition tyt_codeplug.cc:1834
virtual void setRevertChannelSelected()
Sets the revert channel to the current one.
Definition tyt_codeplug.cc:1793
virtual void setRepeatInterval(const Interval &sec)
Sets the repeat interval in seconds.
Definition tyt_codeplug.cc:1808
virtual bool revertChannelIsSelected() const
Returns true if the revert channel is the current one.
Definition tyt_codeplug.cc:1781
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:1772
virtual bool destinationContactDisabled() const
Returns true if the destination contact is disabled.
Definition tyt_codeplug.cc:1822
virtual uint16_t destinationContactIndex() const
Returns the destination contact index (+1).
Definition tyt_codeplug.cc:1826
GPSSystemElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:1749
virtual Interval repeatInterval() const
Returns the repeat interval.
Definition tyt_codeplug.cc:1803
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:1766
virtual bool saveModeRX() const
Returns true, if save RX mode is enabled.
Definition tyt_codeplug.cc:1314
virtual void setCallAlertToneContinuous()
Sets the call-alert tone continuous.
Definition tyt_codeplug.cc:1448
virtual TyTSettingsExtension::MonitorType monitorType() const
Returns the monitor type.
Definition tyt_codeplug.cc:1287
virtual void setScanDigitalHangTime(unsigned ms)
Sets the scan digital hang time.
Definition tyt_codeplug.cc:1475
virtual bool callAlertToneIsContinuous() const
Returns true if the call-alert is continuous.
Definition tyt_codeplug.cc:1435
virtual unsigned callAlertToneDuration() const
Returns the call-alert tone duration.
Definition tyt_codeplug.cc:1439
virtual void setScanAnalogHangTime(unsigned ms)
Sets the scan analog hang time.
Definition tyt_codeplug.cc:1485
virtual void setLoneWorkerResponseTime(unsigned min)
Sets the lone-worker response time.
Definition tyt_codeplug.cc:1457
virtual QString radioName() const
Returns the radio name.
Definition tyt_codeplug.cc:1570
virtual ~GeneralSettingsElement()
Destructor.
Definition tyt_codeplug.cc:1208
virtual QString introLine2() const
Returns the second intro line.
Definition tyt_codeplug.cc:1278
virtual QString introLine1() const
Returns the first intro line.
Definition tyt_codeplug.cc:1269
virtual void setRadioName(const QString &name)
Sets the radio name.
Definition tyt_codeplug.cc:1574
virtual void keypadLockTimeSetManual()
Set keypad lock to manual.
Definition tyt_codeplug.cc:1522
virtual unsigned keypadLockTime() const
Returns the keypad lock time.
Definition tyt_codeplug.cc:1513
virtual void setPCProgPassword(const QString &pass)
Sets the PC programming password.
Definition tyt_codeplug.cc:1561
virtual void setSaveModeRX(bool enable)
Enables/disables save mode RX.
Definition tyt_codeplug.cc:1318
virtual unsigned scanDigitalHangTime() const
Returns the scan digital hang time.
Definition tyt_codeplug.cc:1471
virtual void setRadioProgPassword(uint32_t passwd)
Sets the 8-digit radio programming password.
Definition tyt_codeplug.cc:1544
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:1213
virtual bool backlightIsAlways() const
Returns true if the backlight is always on.
Definition tyt_codeplug.cc:1491
virtual uint32_t dmrId() const
Returns the default DMR ID of the radio.
Definition tyt_codeplug.cc:1377
virtual uint32_t powerOnPassword() const
Returns the 8-digit power-on password.
Definition tyt_codeplug.cc:1527
virtual unsigned scanAnalogHangTime() const
Returns the scan analog hang time.
Definition tyt_codeplug.cc:1481
virtual bool talkPermitToneDigital() const
Returns true, if the talk permit tone is enabled for DMR channels.
Definition tyt_codeplug.cc:1350
virtual void setIntroLine2(const QString line)
Sets the second intro line.
Definition tyt_codeplug.cc:1282
virtual Interval groupCallHangTime() const
Returns the group call hang time.
Definition tyt_codeplug.cc:1396
virtual bool allLEDsDisabled() const
Returns true if all LEDs are disabled.
Definition tyt_codeplug.cc:1296
virtual bool allTonesDisabled() const
Returns true, if all tones are disabled.
Definition tyt_codeplug.cc:1323
virtual bool updateConfig(Config *config)
Updates config from general settings.
Definition tyt_codeplug.cc:1636
GeneralSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:1196
virtual Level voxSesitivity() const
Returns the VOX sensitivity.
Definition tyt_codeplug.cc:1416
virtual unsigned loneWorkerResponseTime() const
Returns the lone-worker response time.
Definition tyt_codeplug.cc:1453
virtual void setBacklightTime(unsigned sec)
Sets the backlight time.
Definition tyt_codeplug.cc:1499
virtual void radioProgPasswordDisable()
Disables the radio programming password.
Definition tyt_codeplug.cc:1548
virtual void setLoneWorkerReminderTime(unsigned min)
Sets the lone-worker reminder time.
Definition tyt_codeplug.cc:1466
virtual void setLowBatteryInterval(unsigned sec)
Sets the low-battery warning interval.
Definition tyt_codeplug.cc:1429
virtual void setIntroLine1(const QString line)
Sets the first intro line.
Definition tyt_codeplug.cc:1273
virtual QString pcProgPassword() const
Returns the PC programming password.
Definition tyt_codeplug.cc:1557
virtual bool pcProgPasswordEnabled() const
Returns true, if the PC programming password is enabled.
Definition tyt_codeplug.cc:1553
virtual unsigned lowBatteryInterval() const
Returns the low-battery warning interval.
Definition tyt_codeplug.cc:1425
virtual Interval privateCallHangTime() const
Returns the private call hang time.
Definition tyt_codeplug.cc:1406
virtual void setPrivateCallHangTime(const Interval &ms)
Sets the private call hang time.
Definition tyt_codeplug.cc:1410
virtual void setVOXSesitivity(Level level)
Sets the group call hang time.
Definition tyt_codeplug.cc:1420
virtual bool talkPermitToneAnalog() const
Returns true, if the talk permit tone is enabled for analog channels.
Definition tyt_codeplug.cc:1359
virtual void disableAllTones(bool disable)
Enables/disables all tones.
Definition tyt_codeplug.cc:1327
virtual void pcProgPasswordDisable()
Disables the PC programming password.
Definition tyt_codeplug.cc:1565
virtual bool radioProgPasswordEnabled() const
Returns true, if the radio programming password is enabled.
Definition tyt_codeplug.cc:1536
virtual void backlightTimeSetAlways()
Turns the backlight always on.
Definition tyt_codeplug.cc:1504
virtual void setDMRId(uint32_t id)
Sets the default DMR ID of the radio.
Definition tyt_codeplug.cc:1381
virtual void setKeypadLockTime(unsigned sec)
Sets the keypad lock time.
Definition tyt_codeplug.cc:1517
virtual void enableIntroPicture(bool enable)
Enables/disables the intro picture.
Definition tyt_codeplug.cc:1372
virtual uint32_t radioProgPassword() const
Returns the 8-digit radio programming password.
Definition tyt_codeplug.cc:1540
virtual bool fromConfig(const Config *config)
Encodes the general settings.
Definition tyt_codeplug.cc:1579
virtual bool savePreamble() const
Returns true, if save preamble is enabled.
Definition tyt_codeplug.cc:1305
virtual Interval txPreambleDuration() const
Returns the TX preamble duration.
Definition tyt_codeplug.cc:1386
virtual void disableAllLEDs(bool disable)
Enables/disables all LEDs.
Definition tyt_codeplug.cc:1300
virtual void setSavePreamble(bool enable)
Enables/disables save preamble.
Definition tyt_codeplug.cc:1309
virtual bool introPicture() const
Returns true, if intro picture is enabled.
Definition tyt_codeplug.cc:1368
virtual void setGroupCallHangTime(const Interval &ms)
Sets the group call hang time.
Definition tyt_codeplug.cc:1400
virtual unsigned backlightTime() const
Returns the backlight time.
Definition tyt_codeplug.cc:1495
virtual void enablePasswdAndLock(bool enable)
Enables/disables password and lock.
Definition tyt_codeplug.cc:1345
virtual void setMonitorType(TyTSettingsExtension::MonitorType type)
Sets the monitor type.
Definition tyt_codeplug.cc:1291
virtual bool chFreeIndicationTone() const
Returns true, if the channel free indication tone is enabled.
Definition tyt_codeplug.cc:1332
virtual void setCallAlertToneDuration(unsigned sec)
Sets the call-alert tone duration.
Definition tyt_codeplug.cc:1443
virtual void setChFreeIndicationTone(bool enable)
Enables/disables the channel free indication tone.
Definition tyt_codeplug.cc:1336
virtual unsigned loneWorkerReminderTime() const
Returns the lone-worker reminder time.
Definition tyt_codeplug.cc:1462
virtual void setPowerOnPassword(uint32_t passwd)
Sets the 8-digit power-on password.
Definition tyt_codeplug.cc:1531
virtual bool passwdAndLock() const
Returns true, if password and lock is enabled.
Definition tyt_codeplug.cc:1341
virtual void enableTalkPermitToneAnalog(bool enable)
Enables/disables talk permit tone for analog channels.
Definition tyt_codeplug.cc:1363
virtual bool keypadLockIsManual() const
Returns true if the keypad lock is manual.
Definition tyt_codeplug.cc:1509
virtual void enableTalkPermitToneDigital(bool enable)
Enables/disables talk permit tone for DMR channels.
Definition tyt_codeplug.cc:1354
virtual void setTXPreambleDuration(const Interval &ms)
Sets the TX preamble duration.
Definition tyt_codeplug.cc:1390
virtual ~GroupListElement()
Destructor.
Definition tyt_codeplug.cc:882
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:892
virtual uint16_t memberIndex(unsigned n) const
Returns the n-th member index.
Definition tyt_codeplug.cc:907
GroupListElement(uint8_t *ptr, size_t size)
Constructor.
Definition tyt_codeplug.cc:870
virtual RXGroupList * toGroupListObj(Context &ctx)
Creates a group list object.
Definition tyt_codeplug.cc:941
virtual QString name() const
Returns the name of the group list.
Definition tyt_codeplug.cc:897
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:887
virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx)
Encodes the given group list.
Definition tyt_codeplug.cc:917
virtual void setMemberIndex(unsigned n, uint16_t idx)
Sets the n-th member index.
Definition tyt_codeplug.cc:912
virtual bool linkGroupListObj(RXGroupList *lst, Context &ctx)
Links the given group list.
Definition tyt_codeplug.cc:949
virtual void setName(const QString &nm)
Sets the name of the group list.
Definition tyt_codeplug.cc:902
virtual void enableAlertTone(bool enable)
Enables/disables tone/alert menu.
Definition tyt_codeplug.cc:2085
virtual void enableContactEditing(bool enable)
Enables/disables contact editing.
Definition tyt_codeplug.cc:1977
virtual bool scan() const
Returns true if scan menu is enabled.
Definition tyt_codeplug.cc:2027
virtual bool remoteMonitor() const
Returns true if remote monitor menu is enabled.
Definition tyt_codeplug.cc:2000
virtual void enableRemoteRadioDisable(bool enable)
Enables/disables radio disable menu.
Definition tyt_codeplug.cc:2022
virtual void enableCallLogOutgoing(bool enable)
Enables/disables call-log outgoing menu.
Definition tyt_codeplug.cc:2067
MenuSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:1876
virtual void enableScan(bool enable)
Enables/disables scan menu.
Definition tyt_codeplug.cc:2031
virtual bool callLogMissed() const
Returns true if call-log missed menu is enabled.
Definition tyt_codeplug.cc:2045
virtual void enablePassword(bool enable)
Enables/disables password menu.
Definition tyt_codeplug.cc:2157
virtual void enableRemoteRadioEnable(bool enable)
Enables/disables radio enable menu.
Definition tyt_codeplug.cc:2013
virtual bool displayMode() const
Returns true if display mode menu is enabled.
Definition tyt_codeplug.cc:2162
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:1893
virtual bool backlight() const
Returns true if backlight menu is enabled.
Definition tyt_codeplug.cc:2099
virtual void enableManualDial(bool enable)
Enables/disables manual dial.
Definition tyt_codeplug.cc:1986
virtual void enableKeypadLock(bool enable)
Enables/disables keypad lock menu.
Definition tyt_codeplug.cc:2121
virtual bool scanListEditing() const
Returns true if edit scan-list menu is enabled.
Definition tyt_codeplug.cc:2036
virtual bool talkaround() const
Returns true if talkaround menu is enabled.
Definition tyt_codeplug.cc:2072
virtual void enableRemoteRadioCheck(bool enable)
Enables/disables contact radio-check menu.
Definition tyt_codeplug.cc:1995
virtual bool contactEditing() const
Returns true if contact editing is enabled.
Definition tyt_codeplug.cc:1973
virtual void enablePower(bool enable)
Enables/disables power menu.
Definition tyt_codeplug.cc:2094
virtual bool keypadLock() const
Returns true if keypad lock menu is enabled.
Definition tyt_codeplug.cc:2117
virtual void enableDisplayMode(bool enable)
Enables/disables display mode menu.
Definition tyt_codeplug.cc:2166
virtual bool alertTone() const
Returns true if tone/alert menu is enabled.
Definition tyt_codeplug.cc:2081
virtual void enableScanListEditing(bool enable)
Enables/disables edit scan-list menu.
Definition tyt_codeplug.cc:2040
virtual bool callLogOutgoing() const
Returns true if call-log outgoing menu is enabled.
Definition tyt_codeplug.cc:2063
virtual unsigned menuHangtime() const
Returns the menu hang time in seconds.
Definition tyt_codeplug.cc:1942
virtual bool fromConfig(const Config *config)
Encodes the menu settings.
Definition tyt_codeplug.cc:2181
virtual void enableSquelch(bool enable)
Enables/disables squelch menu.
Definition tyt_codeplug.cc:2139
virtual void enableVOX(bool enable)
Enables/disables VOX menu.
Definition tyt_codeplug.cc:2148
virtual bool callLogAnswered() const
Returns true if call-log answered menu is enabled.
Definition tyt_codeplug.cc:2054
virtual void setMenuHangtime(unsigned sec)
Sets the menu hang time in seconds.
Definition tyt_codeplug.cc:1946
virtual void enableCallAlert(bool enable)
Enables/disables call alert menu.
Definition tyt_codeplug.cc:1968
virtual void enableCallLogMissed(bool enable)
Enables/disables call-log missed menu.
Definition tyt_codeplug.cc:2049
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor menu.
Definition tyt_codeplug.cc:2004
virtual void enableRadioProgramming(bool enable)
Enables/disables program radio menu.
Definition tyt_codeplug.cc:2175
virtual bool ledIndicator() const
Returns true if LED indicator menu is enabled.
Definition tyt_codeplug.cc:2126
virtual bool menuHangtimeIsInfinite() const
Returns true if the menu hang time is infinite.
Definition tyt_codeplug.cc:1938
virtual void enableBootScreen(bool enable)
Enables/disables intro screen menu.
Definition tyt_codeplug.cc:2112
virtual void enableCallLogAnswered(bool enable)
Enables/disables call-log answered menu.
Definition tyt_codeplug.cc:2058
virtual void infiniteMenuHangtime()
Sets the menu hang time to be infinite.
Definition tyt_codeplug.cc:1950
virtual bool password() const
Returns true if password menu is enabled.
Definition tyt_codeplug.cc:2153
virtual void enableTextMessage(bool enable)
Enables/disables text message menu.
Definition tyt_codeplug.cc:1959
virtual bool remoteRadioEnable() const
Returns true if radio enable menu is enabled.
Definition tyt_codeplug.cc:2009
virtual bool squelch() const
Returns true if squelch menu is enabled.
Definition tyt_codeplug.cc:2135
virtual ~MenuSettingsElement()
Destructor.
Definition tyt_codeplug.cc:1888
virtual void enableBacklight(bool enable)
Enables/disables backlight menu.
Definition tyt_codeplug.cc:2103
virtual void enableLEDIndicator(bool enable)
Enables/disables LED indicator menu.
Definition tyt_codeplug.cc:2130
virtual bool callAlert() const
Returns true if call alert menu is enabled.
Definition tyt_codeplug.cc:1964
virtual bool radioProgramming() const
Returns true if program radio menu is enabled.
Definition tyt_codeplug.cc:2171
virtual void enableTalkaround(bool enable)
Enables/disables talkaround menu.
Definition tyt_codeplug.cc:2076
virtual bool textMessage() const
Returns true if text message menu is enabled.
Definition tyt_codeplug.cc:1955
virtual bool bootScreen() const
Returns true if intro screen menu is enabled.
Definition tyt_codeplug.cc:2108
virtual bool power() const
Returns true if power menu is enabled.
Definition tyt_codeplug.cc:2090
virtual bool updateConfig(Config *config)
Updates config from menu settings.
Definition tyt_codeplug.cc:2220
virtual bool manualDial() const
Returns true if manual dial is enabled.
Definition tyt_codeplug.cc:1982
virtual bool remoteRadioDisable() const
Returns true if radio disable menu is enabled.
Definition tyt_codeplug.cc:2018
virtual bool vox() const
Returns true if VOX menu is enabled.
Definition tyt_codeplug.cc:2144
virtual bool remoteRadioCheck() const
Returns true if contact radio-check menu is enabled.
Definition tyt_codeplug.cc:1991
virtual MessageElement message(unsigned int i) const
Returns the i-th message.
Definition tyt_codeplug.cc:2842
MessageBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2823
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2836
virtual bool encode(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack())
Encodes all messages.
Definition tyt_codeplug.cc:2848
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes all messages.
Definition tyt_codeplug.cc:2864
static constexpr unsigned int size()
The size of the element.
Definition tyt_codeplug.hh:1262
Basic pre-defined SMS text message.
Definition tyt_codeplug.hh:1217
virtual QString text() const
Returns the text of the message.
Definition tyt_codeplug.cc:2789
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:2784
virtual bool encode(SMSTemplate *sms, const ErrorStack &err=ErrorStack())
Encodes the given SMS template.
Definition tyt_codeplug.cc:2798
virtual void setText(const QString &text)
Sets the text of the message.
Definition tyt_codeplug.cc:2793
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2779
virtual SMSTemplate * decode(const ErrorStack &err=ErrorStack())
Decodes the given SMS template.
Definition tyt_codeplug.cc:2807
MessageElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2766
static constexpr unsigned int size()
The size of the element.
Definition tyt_codeplug.hh:1227
virtual void setAction(Action action)
Sets the action to perform.
Definition tyt_codeplug.cc:2410
virtual uint16_t contactIndex() const
Returns the contact index +1.
Definition tyt_codeplug.cc:2433
virtual ~OneTouchSettingElement()
Destructor.
Definition tyt_codeplug.cc:2387
virtual uint8_t messageIndex() const
Returns the message index +1.
Definition tyt_codeplug.cc:2424
virtual void setMessageIndex(uint8_t idx)
Sets the message index +1.
Definition tyt_codeplug.cc:2428
Type
Possible one-touch action types.
Definition tyt_codeplug.hh:989
@ Digital
Digital call/message.
Definition tyt_codeplug.hh:991
@ Analog
Analog call.
Definition tyt_codeplug.hh:992
@ Disabled
Disabled one-touch.
Definition tyt_codeplug.hh:990
virtual void setActionType(Type action)
Sets the type of the action.
Definition tyt_codeplug.cc:2419
OneTouchSettingElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:2375
virtual void setContactIndex(uint16_t idx)
Sets the contact index +1.
Definition tyt_codeplug.cc:2437
virtual Action action() const
Returns the action to perform.
Definition tyt_codeplug.cc:2406
Action
Possible one-touch actions.
Definition tyt_codeplug.hh:979
@ CALL
Call someone, see contact.
Definition tyt_codeplug.hh:980
@ MESSAGE
Send a message, see message.
Definition tyt_codeplug.hh:981
@ DTMF4
Analog call DTMF system 4.
Definition tyt_codeplug.hh:985
@ DTMF2
Analog call DTMF system 2.
Definition tyt_codeplug.hh:983
@ DTMF3
Analog call DTMF system 3.
Definition tyt_codeplug.hh:984
@ DTMF1
Analog call DTMF system 1.
Definition tyt_codeplug.hh:982
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:2392
virtual Type actionType() const
Returns the type of the action.
Definition tyt_codeplug.cc:2415
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2397
virtual unsigned holdTime() const
Returns the hold time in ms.
Definition tyt_codeplug.cc:1049
virtual void setPriorityChannel1Index(uint16_t idx)
Set the index (+1) of the first priority channel.
Definition tyt_codeplug.cc:1024
virtual void setHoldTime(unsigned time)
Sets the hold time in ms.
Definition tyt_codeplug.cc:1054
virtual void setMemberIndex(unsigned n, uint16_t idx)
Sets the n-th member index.
Definition tyt_codeplug.cc:1074
virtual ScanList * toScanListObj(Context &ctx)
Creates a scan list.
Definition tyt_codeplug.cc:1127
virtual void setPriorityChannel2Index(uint16_t idx)
Set the index (+1) of the second priority channel.
Definition tyt_codeplug.cc:1034
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:991
virtual uint16_t txChannelIndex() const
Returns the index (+1) of the TX channel.
Definition tyt_codeplug.cc:1039
virtual bool fromScanListObj(const ScanList *lst, Context &ctx)
Encodes the given scan list.
Definition tyt_codeplug.cc:1079
virtual uint16_t priorityChannel1Index() const
Returns the index (+1) of the first priority channel.
Definition tyt_codeplug.cc:1019
virtual unsigned prioritySampleTime() const
Returns the priority sample time in ms.
Definition tyt_codeplug.cc:1059
virtual QString name() const
Returns the name of the scan list.
Definition tyt_codeplug.cc:1009
ScanListElement(uint8_t *ptr, size_t size)
Constructor.
Definition tyt_codeplug.cc:974
virtual uint16_t memberIndex(unsigned n) const
Returns the n-th member index.
Definition tyt_codeplug.cc:1069
virtual ~ScanListElement()
Destructor.
Definition tyt_codeplug.cc:986
virtual void setTXChannelIndex(uint16_t idx)
Sets the index (+1) of the TX channel.
Definition tyt_codeplug.cc:1044
virtual void setName(const QString &nm)
Sets the name of the scan list.
Definition tyt_codeplug.cc:1014
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:996
virtual void setPrioritySampleTime(unsigned time)
Sets the priority sample time in ms.
Definition tyt_codeplug.cc:1064
virtual bool linkScanListObj(ScanList *lst, Context &ctx, const ErrorStack &err=ErrorStack())
Links the scan list object.
Definition tyt_codeplug.cc:1143
virtual uint16_t priorityChannel2Index() const
Returns the index (+1) of the second priority channel.
Definition tyt_codeplug.cc:1029
virtual void setTimestamp(const QDateTime &ts)
Sets the time stamp.
Definition tyt_codeplug.cc:1722
virtual QString cpsVersion() const
Returns the CPS version.
Definition tyt_codeplug.cc:1732
virtual ~TimestampElement()
Destructor.
Definition tyt_codeplug.cc:1705
virtual QDateTime timestamp() const
Returns the time stamp.
Definition tyt_codeplug.cc:1717
TimestampElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition tyt_codeplug.cc:1693
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:1710
virtual bool linkZone(Zone *zone, Context &ctx) const
Links the created zone to channels.
Definition tyt_codeplug.cc:850
virtual bool fromZoneObj(const Zone *zone, Context &ctx)
Encodes a given zone object.
Definition tyt_codeplug.cc:831
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:822
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:826
virtual Zone * toZoneObj() const
Creates a zone.
Definition tyt_codeplug.cc:843
virtual ~ZoneElement()
Desturctor.
Definition tyt_codeplug.cc:798
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:2960
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:2895
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:3040
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:3012
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:2890
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:3029
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:2992
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:2884
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:3111
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:263
static constexpr unsigned int nameLength()
Maximum length of the name.
Definition tyt_codeplug.hh:265
Some internal offsets within the element.
Definition tyt_codeplug.hh:270
Some limits.
Definition tyt_codeplug.hh:365
static constexpr unsigned int nameLength()
Maximum name length.
Definition tyt_codeplug.hh:367
Some offsets within the element.
Definition tyt_codeplug.hh:372
Some limits for the element.
Definition tyt_codeplug.hh:1195
static constexpr unsigned int advancedKeys()
Specifies the maximum number of advanced (AES) encryption keys (128bit).
Definition tyt_codeplug.hh:1199
static constexpr unsigned int basicKeys()
Specifies the maximum number of basic (DMR) encryption keys (16bit).
Definition tyt_codeplug.hh:1197
Some internal offsets.
Definition tyt_codeplug.hh:1204
Some limits for the settings.
Definition tyt_codeplug.hh:696
Some Limits.
Definition tyt_codeplug.hh:1276
static constexpr unsigned int messages()
The maximum number of messages in a bank.
Definition tyt_codeplug.hh:1278
Some limits.
Definition tyt_codeplug.hh:1245
static constexpr unsigned int length()
Maximum message length.
Definition tyt_codeplug.hh:1246