libdrmconf 0.13.3
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 GPSSystem;
17class SMSExtension;
18class SMSTemplate;
19
25class TyTCodeplug : public Codeplug
26{
27 Q_OBJECT
28
29public:
35 {
36 public:
38 enum Mode {
40 MODE_DIGITAL = 2
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 ContactElement(uint8_t *ptr, size_t size);
320
321 public:
323 ContactElement(uint8_t *ptr);
325 virtual ~ContactElement();
326
327 void clear();
328 bool isValid() const;
329
331 virtual uint32_t dmrId() const;
333 virtual void setDMRId(uint32_t id);
334
336 virtual DMRContact::Type callType() const;
338 virtual void setCallType(DMRContact::Type type);
339
341 virtual bool ringTone() const;
343 virtual void enableRingTone(bool enable);
344
346 virtual QString name() const;
348 virtual void setName(const QString &nm);
349
351 virtual bool fromContactObj(const DMRContact *contact);
353 virtual DMRContact *toContactObj() const;
354 };
355
363 {
364 protected:
366 ZoneElement(uint8_t *ptr, size_t size);
367
368 public:
370 ZoneElement(uint8_t *ptr);
372 virtual ~ZoneElement();
373
374 void clear();
375 bool isValid() const;
376
378 virtual QString name() const;
380 virtual void setName(const QString &setName);
381
383 virtual uint16_t memberIndex(unsigned n) const;
385 virtual void setMemberIndex(unsigned n, uint16_t idx);
386
388 virtual bool fromZoneObj(const Zone *zone, Context &ctx);
390 virtual Zone *toZoneObj() const;
392 virtual bool linkZone(Zone *zone, Context &ctx) const;
393 };
394
400 {
401 protected:
403 GroupListElement(uint8_t *ptr, size_t size);
404
405 public:
407 GroupListElement(uint8_t *ptr);
409 virtual ~GroupListElement();
410
411 void clear();
412 bool isValid() const;
413
415 virtual QString name() const;
417 virtual void setName(const QString &nm);
418
420 virtual uint16_t memberIndex(unsigned n) const;
422 virtual void setMemberIndex(unsigned n, uint16_t idx);
423
425 virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx);
427 virtual RXGroupList *toGroupListObj(Context &ctx);
429 virtual bool linkGroupListObj(RXGroupList *lst, Context &ctx);
430 };
431
437 {
438 protected:
440 ScanListElement(uint8_t *ptr, size_t size);
441
442 public:
444 ScanListElement(uint8_t *ptr);
446 virtual ~ScanListElement();
447
448 bool isValid() const;
449 void clear();
450
452 virtual QString name() const;
454 virtual void setName(const QString &nm);
455
457 virtual uint16_t priorityChannel1Index() const;
459 virtual void setPriorityChannel1Index(uint16_t idx);
460
462 virtual uint16_t priorityChannel2Index() const;
464 virtual void setPriorityChannel2Index(uint16_t idx);
465
467 virtual uint16_t txChannelIndex() const;
469 virtual void setTXChannelIndex(uint16_t idx);
470
472 virtual unsigned holdTime() const;
474 virtual void setHoldTime(unsigned time);
475
477 virtual unsigned prioritySampleTime() const;
479 virtual void setPrioritySampleTime(unsigned time);
480
482 virtual uint16_t memberIndex(unsigned n) const;
484 virtual void setMemberIndex(unsigned n, uint16_t idx);
485
487 virtual bool fromScanListObj(const ScanList *lst, Context &ctx);
489 virtual ScanList *toScanListObj(Context &ctx);
491 virtual bool linkScanListObj(ScanList *lst, Context &ctx, const ErrorStack &err=ErrorStack());
492 };
493
499 {
500 protected:
502 GeneralSettingsElement(uint8_t *ptr, size_t size);
503
504 public:
506 explicit GeneralSettingsElement(uint8_t *ptr);
508 virtual ~GeneralSettingsElement();
509
510 void clear();
511
513 virtual QString introLine1() const;
515 virtual void setIntroLine1(const QString line);
517 virtual QString introLine2() const;
519 virtual void setIntroLine2(const QString line);
520
522 virtual TyTSettingsExtension::MonitorType monitorType() const;
524 virtual void setMonitorType(TyTSettingsExtension::MonitorType type);
525
527 virtual bool allLEDsDisabled() const;
529 virtual void disableAllLEDs(bool disable);
530
532 virtual bool savePreamble() const;
534 virtual void setSavePreamble(bool enable);
536 virtual bool saveModeRX() const;
538 virtual void setSaveModeRX(bool enable);
540 virtual bool allTonesDisabled() const;
542 virtual void disableAllTones(bool disable);
544 virtual bool chFreeIndicationTone() const;
546 virtual void setChFreeIndicationTone(bool enable);
548 virtual bool passwdAndLock() const;
550 virtual void enablePasswdAndLock(bool enable);
552 virtual bool talkPermitToneDigital() const;
554 virtual void enableTalkPermitToneDigital(bool enable);
556 virtual bool talkPermitToneAnalog() const;
558 virtual void enableTalkPermitToneAnalog(bool enable);
559
561 virtual bool introPicture() const;
563 virtual void enableIntroPicture(bool enable);
564
566 virtual uint32_t dmrId() const;
568 virtual void setDMRId(uint32_t id);
569
571 virtual unsigned txPreambleDuration() const;
573 virtual void setTXPreambleDuration(unsigned ms);
575 virtual unsigned groupCallHangTime() const;
577 virtual void setGroupCallHangTime(unsigned ms);
579 virtual unsigned privateCallHangTime() const;
581 virtual void setPrivateCallHangTime(unsigned ms);
583 virtual unsigned voxSesitivity() const;
585 virtual void setVOXSesitivity(unsigned ms);
587 virtual unsigned lowBatteryInterval() const;
589 virtual void setLowBatteryInterval(unsigned sec);
590
592 virtual bool callAlertToneIsContinuous() const;
594 virtual unsigned callAlertToneDuration() const;
596 virtual void setCallAlertToneDuration(unsigned sec);
598 virtual void setCallAlertToneContinuous();
599
601 virtual unsigned loneWorkerResponseTime() const;
603 virtual void setLoneWorkerResponseTime(unsigned min);
605 virtual unsigned loneWorkerReminderTime() const;
607 virtual void setLoneWorkerReminderTime(unsigned min);
609 virtual unsigned scanDigitalHangTime() const;
611 virtual void setScanDigitalHangTime(unsigned ms);
613 virtual unsigned scanAnalogHangTime() const;
615 virtual void setScanAnalogHangTime(unsigned ms);
616
618 virtual bool backlightIsAlways() const;
620 virtual unsigned backlightTime() const;
622 virtual void setBacklightTime(unsigned sec);
624 virtual void backlightTimeSetAlways();
625
627 virtual bool keypadLockIsManual() const;
629 virtual unsigned keypadLockTime() const;
631 virtual void setKeypadLockTime(unsigned sec);
633 virtual void keypadLockTimeSetManual();
634
636 virtual uint32_t powerOnPassword() const;
638 virtual void setPowerOnPassword(uint32_t passwd);
639
641 virtual bool radioProgPasswordEnabled() const;
643 virtual uint32_t radioProgPassword() const;
645 virtual void setRadioProgPassword(uint32_t passwd);
647 virtual void radioProgPasswordDisable();
648
650 virtual bool pcProgPasswordEnabled() const;
652 virtual QString pcProgPassword() const;
654 virtual void setPCProgPassword(const QString &pass);
656 virtual void pcProgPasswordDisable();
657
659 virtual QString radioName() const;
661 virtual void setRadioName(const QString &name);
662
664 virtual bool fromConfig(const Config *config);
666 virtual bool updateConfig(Config *config);
667 };
668
674 {
675 protected:
677 TimestampElement(uint8_t *ptr, size_t size);
678
679 public:
681 explicit TimestampElement(uint8_t *ptr);
683 virtual ~TimestampElement();
684
685 void clear();
686
688 virtual QDateTime timestamp() const;
690 virtual void setTimestamp(const QDateTime &ts);
691
693 virtual QString cpsVersion() const;
694 };
695
701 {
702 protected:
704 GPSSystemElement(uint8_t *ptr, size_t size);
705
706 public:
708 explicit GPSSystemElement(uint8_t *ptr);
710 virtual ~GPSSystemElement();
711
712 bool isValid() const;
713 void clear();
714
716 virtual bool revertChannelIsSelected() const;
718 virtual uint16_t revertChannelIndex() const;
720 virtual void setRevertChannelIndex(uint16_t idx);
722 virtual void setRevertChannelSelected();
723
725 virtual bool repeatIntervalDisabled() const;
727 virtual unsigned repeatInterval() const;
729 virtual void setRepeatInterval(unsigned sec);
731 virtual void disableRepeatInterval();
732
734 virtual bool destinationContactDisabled() const;
736 virtual uint16_t destinationContactIndex() const;
738 virtual void setDestinationContactIndex(uint16_t idx);
740 virtual void disableDestinationContact();
741
743 virtual bool fromGPSSystemObj(GPSSystem *sys, Context &ctx);
745 virtual GPSSystem *toGPSSystemObj();
747 virtual bool linkGPSSystemObj(GPSSystem *sys, Context &ctx);
748 };
749
755 {
756 protected:
758 MenuSettingsElement(uint8_t *ptr, size_t size);
759
760 public:
762 explicit MenuSettingsElement(uint8_t *ptr);
764 virtual ~MenuSettingsElement();
765
766 void clear();
767
769 virtual bool menuHangtimeIsInfinite() const;
771 virtual unsigned menuHangtime() const;
773 virtual void setMenuHangtime(unsigned sec);
775 virtual void infiniteMenuHangtime();
776
778 virtual bool textMessage() const;
780 virtual void enableTextMessage(bool enable);
782 virtual bool callAlert() const;
784 virtual void enableCallAlert(bool enable);
786 virtual bool contactEditing() const;
788 virtual void enableContactEditing(bool enable);
790 virtual bool manualDial() const;
792 virtual void enableManualDial(bool enable);
794 virtual bool remoteRadioCheck() const;
796 virtual void enableRemoteRadioCheck(bool enable);
798 virtual bool remoteMonitor() const;
800 virtual void enableRemoteMonitor(bool enable);
802 virtual bool remoteRadioEnable() const;
804 virtual void enableRemoteRadioEnable(bool enable);
806 virtual bool remoteRadioDisable() const;
808 virtual void enableRemoteRadioDisable(bool enable);
809
811 virtual bool scan() const;
813 virtual void enableScan(bool enable);
815 virtual bool scanListEditing() const;
817 virtual void enableScanListEditing(bool enable);
819 virtual bool callLogMissed() const;
821 virtual void enableCallLogMissed(bool enable);
823 virtual bool callLogAnswered() const;
825 virtual void enableCallLogAnswered(bool enable);
827 virtual bool callLogOutgoing() const;
829 virtual void enableCallLogOutgoing(bool enable);
831 virtual bool talkaround() const;
833 virtual void enableTalkaround(bool enable);
835 virtual bool alertTone() const;
837 virtual void enableAlertTone(bool enable);
838
840 virtual bool power() const;
842 virtual void enablePower(bool enable);
844 virtual bool backlight() const;
846 virtual void enableBacklight(bool enable);
848 virtual bool bootScreen() const;
850 virtual void enableBootScreen(bool enable);
852 virtual bool keypadLock() const;
854 virtual void enableKeypadLock(bool enable);
856 virtual bool ledIndicator() const;
858 virtual void enableLEDIndicator(bool enable);
860 virtual bool squelch() const;
862 virtual void enableSquelch(bool enable);
864 virtual bool vox() const;
866 virtual void enableVOX(bool enable);
867
869 virtual bool password() const;
871 virtual void enablePassword(bool enable);
873 virtual bool displayMode() const;
875 virtual void enableDisplayMode(bool enable);
877 virtual bool radioProgramming() const;
879 virtual void enableRadioProgramming(bool enable);
880
882 virtual bool fromConfig(const Config *config);
884 virtual bool updateConfig(Config *config);
885 };
886
892 {
893 public:
896
897 protected:
899 ButtonSettingsElement(uint8_t *ptr, size_t size);
900
901 public:
903 explicit ButtonSettingsElement(uint8_t *ptr);
905 virtual ~ButtonSettingsElement();
906
907 void clear();
908
910 virtual ButtonAction sideButton1Short() const;
912 virtual void setSideButton1Short(ButtonAction action);
914 virtual ButtonAction sideButton1Long() const;
916 virtual void setSideButton1Long(ButtonAction action);
917
919 virtual ButtonAction sideButton2Short() const;
921 virtual void setSideButton2Short(ButtonAction action);
923 virtual ButtonAction sideButton2Long() const;
925 virtual void setSideButton2Long(ButtonAction action);
926
928 virtual unsigned longPressDuration() const;
930 virtual void setLongPressDuration(unsigned ms);
931
933 virtual bool fromConfig(const Config *config);
935 virtual bool updateConfig(Config *config);
936 };
937
943 {
944 public:
946 enum Action {
947 CALL = 0b0000,
948 MESSAGE = 0b0001,
949 DTMF1 = 0b1000,
950 DTMF2 = 0b1001,
951 DTMF3 = 0b1010,
952 DTMF4 = 0b1011
953 };
954
956 enum Type {
957 Disabled = 0b00,
958 Digital = 0b01,
959 Analog = 0b10
960 };
961
962 protected:
964 OneTouchSettingElement(uint8_t *ptr, size_t size);
965
966 public:
968 explicit OneTouchSettingElement(uint8_t *ptr);
970 virtual ~OneTouchSettingElement();
971
972 bool isValid() const;
973 void clear();
974
976 virtual Action action() const;
978 virtual void setAction(Action action);
979
981 virtual Type actionType() const;
983 virtual void setActionType(Type action);
984
986 virtual uint8_t messageIndex() const;
988 virtual void setMessageIndex(uint8_t idx);
989
991 virtual uint16_t contactIndex() const;
993 virtual void setContactIndex(uint16_t idx);
994 };
995
1001 {
1002 protected:
1004 EmergencySettingsElement(uint8_t *ptr, size_t size);
1005
1006 public:
1008 explicit EmergencySettingsElement(uint8_t *ptr);
1010 virtual ~EmergencySettingsElement();
1011
1012 virtual void clear();
1013
1015 virtual bool emergencyRemoteMonitor() const;
1017 virtual void enableEmergencyRemoteMonitor(bool enable);
1019 virtual bool remoteMonitor() const;
1021 virtual void enableRemoteMonitor(bool enable);
1023 virtual bool radioDisable() const;
1025 virtual void enableRadioDisable(bool enable);
1026
1028 virtual unsigned remoteMonitorDuration() const;
1030 virtual void setRemoteMonitorDuration(unsigned sec);
1031
1033 virtual unsigned txTimeOut() const;
1035 virtual void setTXTimeOut(unsigned ms);
1036
1038 virtual unsigned messageLimit() const;
1040 virtual void setMessageLimit(unsigned limit);
1041 };
1042
1048 {
1049 public:
1063
1064 protected:
1066 EmergencySystemElement(uint8_t *ptr, size_t size);
1067
1068 public:
1070 explicit EmergencySystemElement(uint8_t *ptr);
1072 virtual ~EmergencySystemElement();
1073
1074 bool isValid() const;
1075 void clear();
1076
1078 virtual QString name() const;
1080 virtual void setName(const QString &name);
1081
1083 virtual AlarmType alarmType() const;
1085 virtual void setAlarmType(AlarmType type);
1087 virtual AlarmMode alarmMode() const;
1089 virtual void setAlarmMode(AlarmMode mode);
1090
1092 virtual unsigned impoliteRetries() const;
1094 virtual void setImpoliteRetries(unsigned num);
1095
1097 virtual unsigned politeRetries() const;
1099 virtual void setPoliteRetries(unsigned num);
1100
1102 virtual unsigned hotMICDuration() const;
1104 virtual void setHotMICDuration(unsigned sec);
1105
1107 virtual bool revertChannelIsSelected() const;
1109 virtual uint16_t revertChannelIndex() const;
1111 virtual void setRevertChannelIndex(uint16_t idx);
1113 virtual void revertChannelSelected();
1114 };
1115
1121 {
1122 protected:
1124 EncryptionElement(uint8_t *ptr, size_t size);
1125
1126 public:
1128 explicit EncryptionElement(uint8_t *ptr);
1130 virtual ~EncryptionElement();
1131
1132 void clear();
1133
1135 static constexpr unsigned int size() { return 0x00b0; }
1136
1139 virtual bool isEnhancedKeySet(unsigned n) const;
1141 virtual QByteArray enhancedKey(unsigned n) const;
1143 virtual void setEnhancedKey(unsigned n, const QByteArray &key);
1144
1147 virtual bool isBasicKeySet(unsigned n) const;
1149 virtual QByteArray basicKey(unsigned n) const;
1151 virtual void setBasicKey(unsigned n, const QByteArray &key);
1152
1154 virtual bool fromCommercialExt(CommercialExtension *encr, Context &ctx);
1156 virtual bool updateCommercialExt(Context &ctx);
1158 virtual bool linkCommercialExt(CommercialExtension *ext, Context &ctx);
1159
1160 public:
1162 struct Limit {
1164 static constexpr unsigned int basicKeys() { return 16; }
1166 static constexpr unsigned int advancedKeys() { return 8; }
1167 };
1168
1169 protected:
1171 struct Offset {
1173 static constexpr unsigned int advancedKeys() { return 0x0000; }
1174 static constexpr unsigned int betweenAdvancedKeys() { return 0x0010; }
1175 static constexpr unsigned int basicKeys() { return 0x0090; }
1176 static constexpr unsigned int betweenBasicKeys() { return 0x0002; }
1178 };
1179 };
1180
1181
1184 {
1185 protected:
1187 MessageElement(uint8_t *ptr, size_t size);
1188
1189 public:
1191 MessageElement(uint8_t *ptr);
1192
1194 static constexpr unsigned int size() { return 0x00120; }
1195
1196 void clear();
1197
1198 bool isValid() const;
1199
1201 virtual QString text() const;
1203 virtual void setText(const QString &text);
1204
1206 virtual bool encode(SMSTemplate *sms, const ErrorStack &err=ErrorStack());
1208 virtual SMSTemplate *decode(const ErrorStack &err=ErrorStack());
1209
1210 public:
1212 struct Limit {
1213 static constexpr unsigned int length() { return 144; }
1214 };
1215 };
1216
1219 {
1220 protected:
1222 MessageBankElement(uint8_t *ptr, size_t size);
1223
1224 public:
1226 MessageBankElement(uint8_t *ptr);
1227
1229 static constexpr unsigned int size() { return MessageElement::size()*Limit::messages(); }
1230
1231 void clear();
1232
1234 virtual MessageElement message(unsigned int i) const;
1235
1237 virtual bool encode(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack());
1239 virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack());
1240
1241 public:
1243 struct Limit {
1245 static constexpr unsigned int messages() { return 50; }
1246 };
1247 };
1248
1249
1250protected:
1252 explicit TyTCodeplug(QObject *parent = nullptr);
1253
1254public:
1256 virtual ~TyTCodeplug();
1257
1259 virtual void clear();
1260
1261 bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const;
1262
1264 bool decode(Config *config, const ErrorStack &err=ErrorStack());
1266 bool encode(Config *config, const Flags &flags = Flags(), const ErrorStack &err=ErrorStack());
1267
1268public:
1271 virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack());
1273 virtual bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1274
1276 virtual void clearTimestamp() = 0;
1278 virtual bool encodeTimestamp() = 0;
1279
1281 virtual void clearGeneralSettings() = 0;
1283 virtual bool encodeGeneralSettings(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1285 virtual bool decodeGeneralSettings(Config *config, const ErrorStack &err=ErrorStack()) = 0;
1286
1288 virtual void clearContacts() = 0;
1290 virtual bool encodeContacts(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1292 virtual bool createContacts(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1293
1295 virtual void clearGroupLists() = 0;
1297 virtual bool encodeGroupLists(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1299 virtual bool createGroupLists(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1301 virtual bool linkGroupLists(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1302
1304 virtual void clearChannels() = 0;
1306 virtual bool encodeChannels(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1308 virtual bool createChannels(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1310 virtual bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1311
1313 virtual void clearZones() = 0;
1315 virtual bool encodeZones(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1317 virtual bool createZones(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1319 virtual bool linkZones(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1320
1322 virtual void clearScanLists() = 0;
1324 virtual bool encodeScanLists(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1326 virtual bool createScanLists(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1328 virtual bool linkScanLists(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1329
1331 virtual void clearPositioningSystems() = 0;
1333 virtual bool encodePositioningSystems(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1335 virtual bool createPositioningSystems(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1337 virtual bool linkPositioningSystems(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1338
1340 virtual void clearButtonSettings() = 0;
1342 virtual bool encodeButtonSettings(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1344 virtual bool decodeButtonSetttings(Config *config, const ErrorStack &err=ErrorStack()) = 0;
1345
1347 virtual void clearPrivacyKeys() = 0;
1349 virtual bool encodePrivacyKeys(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1351 virtual bool decodePrivacyKeys(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1352
1354 virtual void clearMenuSettings() = 0;
1355
1357 virtual void clearTextMessages() = 0;
1359 virtual bool encodeTextMessages(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack()) = 0;
1361 virtual bool decodeTextMessages(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1362
1364 virtual void clearEmergencySystems() = 0;
1365};
1366
1367#endif // TYT_CODEPLUG_HH
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:34
Base class for all codeplug contexts.
Definition codeplug.hh:291
Represents the abstract base class of all codeplug elements.
Definition codeplug.hh:65
Certain flags passed to CodePlug::encode to control the transfer and encoding of the codeplug.
Definition codeplug.hh:24
This class defines the interface all device-specific code-plugs must implement.
Definition codeplug.hh:18
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
TimeSlot
Possible timeslots for digital channels.
Definition channel.hh:398
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:251
This class represents a GPS signalling system within the codeplug.
Definition gpssystem.hh:65
Represents a time interval.
Definition interval.hh:11
Generic representation of a RX group list.
Definition rxgrouplist.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:281
RefFrequency
Possible reference frequency settings for RX & TX.
Definition tyt_extensions.hh:64
Represents all button settings within the codeplug on the radio.
Definition tyt_codeplug.hh:892
virtual void setSideButton1Long(ButtonAction action)
Sets the action for a short press on side button 1.
Definition tyt_codeplug.cc:2289
virtual void setSideButton2Long(ButtonAction action)
Sets the action for a short press on side button 2.
Definition tyt_codeplug.cc:2307
virtual bool fromConfig(const Config *config)
Encodes the button settings.
Definition tyt_codeplug.cc:2321
virtual ButtonAction sideButton2Long() const
Returns the action for a long press on side button 2.
Definition tyt_codeplug.cc:2303
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2263
virtual unsigned longPressDuration() const
Returns the long-press duration in ms.
Definition tyt_codeplug.cc:2312
virtual void setLongPressDuration(unsigned ms)
Sets the long-press duration in ms.
Definition tyt_codeplug.cc:2316
virtual void setSideButton1Short(ButtonAction action)
Sets the action for a short press on side button 1.
Definition tyt_codeplug.cc:2280
virtual void setSideButton2Short(ButtonAction action)
Sets the action for a short press on side button 2.
Definition tyt_codeplug.cc:2298
virtual ~ButtonSettingsElement()
Destructor.
Definition tyt_codeplug.cc:2258
virtual ButtonAction sideButton1Long() const
Returns the action for a long press on side button 1.
Definition tyt_codeplug.cc:2285
virtual bool updateConfig(Config *config)
Updates config from button settings.
Definition tyt_codeplug.cc:2336
virtual ButtonAction sideButton1Short() const
Returns the action for a short press on side button 1.
Definition tyt_codeplug.cc:2276
virtual ButtonAction sideButton2Short() const
Returns the action for a short press on side button 2.
Definition tyt_codeplug.cc:2294
enum TyTButtonSettings::ButtonAction ButtonAction
The possible button actions.
Definition tyt_codeplug.hh:895
Represents a single channel (analog or digital) within the TyT codeplug.
Definition tyt_codeplug.hh:35
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
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:513
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:575
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
Represents a digital (DMR) contact within the codeplug.
Definition tyt_codeplug.hh:316
virtual DMRContact::Type callType() const
Returns the call-type of the contact.
Definition tyt_codeplug.cc:725
virtual void setDMRId(uint32_t id)
Sets the DMR ID of the contact.
Definition tyt_codeplug.cc:712
virtual void enableRingTone(bool enable)
Enables/disables the ring-tone for this contact.
Definition tyt_codeplug.cc:721
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:697
virtual bool ringTone() const
Returns true if the ring-tone is enabled for this contact.
Definition tyt_codeplug.cc:717
virtual DMRContact * toContactObj() const
Creates a contact.
Definition tyt_codeplug.cc:754
virtual QString name() const
Returns the name of the contact.
Definition tyt_codeplug.cc:745
virtual uint32_t dmrId() const
Returns the DMR ID of the contact.
Definition tyt_codeplug.cc:707
virtual ~ContactElement()
Destructor.
Definition tyt_codeplug.cc:686
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:691
virtual bool fromContactObj(const DMRContact *contact)
Encodes the give contact.
Definition tyt_codeplug.cc:759
virtual void setCallType(DMRContact::Type type)
Sets the call-type of the contact.
Definition tyt_codeplug.cc:736
virtual void setName(const QString &nm)
Sets the name of the contact.
Definition tyt_codeplug.cc:749
Represents the emergency settings within the codeplug on the radio.
Definition tyt_codeplug.hh:1001
virtual void setTXTimeOut(unsigned ms)
Sets the TX time-out in ms.
Definition tyt_codeplug.cc:2495
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor.
Definition tyt_codeplug.cc:2468
virtual void enableEmergencyRemoteMonitor(bool enable)
Enables/disables emergency remote monitor.
Definition tyt_codeplug.cc:2459
virtual bool remoteMonitor() const
Returns true if remote monitor is enabled.
Definition tyt_codeplug.cc:2464
virtual ~EmergencySettingsElement()
Destructor.
Definition tyt_codeplug.cc:2438
virtual void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2443
virtual void enableRadioDisable(bool enable)
Enables/disables radio disable.
Definition tyt_codeplug.cc:2477
virtual unsigned messageLimit() const
Returns the message limit.
Definition tyt_codeplug.cc:2500
virtual void setMessageLimit(unsigned limit)
Sets the message limit.
Definition tyt_codeplug.cc:2504
virtual unsigned remoteMonitorDuration() const
Returns the remote monitor duration in seconds.
Definition tyt_codeplug.cc:2482
virtual unsigned txTimeOut() const
Returns the TX time-out in ms.
Definition tyt_codeplug.cc:2491
virtual bool radioDisable() const
Returns true if radio disable is enabled.
Definition tyt_codeplug.cc:2473
virtual void setRemoteMonitorDuration(unsigned sec)
Sets the remote monitor duration in seconds.
Definition tyt_codeplug.cc:2486
virtual bool emergencyRemoteMonitor() const
Returns true if emergency remote monitor is enabled.
Definition tyt_codeplug.cc:2455
Represents a single emergency system within the radio.
Definition tyt_codeplug.hh:1048
virtual void setPoliteRetries(unsigned num)
Sets the number of polite retries.
Definition tyt_codeplug.cc:2588
virtual ~EmergencySystemElement()
Destructor.
Definition tyt_codeplug.cc:2524
AlarmType
Possible alarm type for the system.
Definition tyt_codeplug.hh:1051
@ REGULAR
Regular alarm sound.
Definition tyt_codeplug.hh:1053
@ SILENT
Silent alarm.
Definition tyt_codeplug.hh:1054
@ SILENT_W_VOICE
silent alarm with voice.
Definition tyt_codeplug.hh:1055
@ DISABLED
No alarm at all.
Definition tyt_codeplug.hh:1052
virtual AlarmType alarmType() const
Returns the alarm type of the system.
Definition tyt_codeplug.cc:2557
virtual unsigned politeRetries() const
Returns the number of polite retries.
Definition tyt_codeplug.cc:2584
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:2529
virtual void setAlarmMode(AlarmMode mode)
Sets the alarm mode of the system.
Definition tyt_codeplug.cc:2570
virtual void setName(const QString &name)
Sets the name of the system.
Definition tyt_codeplug.cc:2552
virtual uint16_t revertChannelIndex() const
Returns the index of the revert channel.
Definition tyt_codeplug.cc:2606
virtual void setHotMICDuration(unsigned sec)
Sets the hot MIC duration in seconds.
Definition tyt_codeplug.cc:2597
virtual bool revertChannelIsSelected() const
Returns true if the revert channel is the selected one.
Definition tyt_codeplug.cc:2602
virtual void revertChannelSelected()
Sets revert channel to selected channel.
Definition tyt_codeplug.cc:2614
AlarmMode
Possible alarm modes for the system.
Definition tyt_codeplug.hh:1058
@ ALARM_W_VOICE
Alarm + call + voice?
Definition tyt_codeplug.hh:1061
@ ALARM_W_CALL
Alarm + call.
Definition tyt_codeplug.hh:1060
@ ALARM
Just alarm.
Definition tyt_codeplug.hh:1059
virtual void setRevertChannelIndex(uint16_t idx)
Sets the revert channel index.
Definition tyt_codeplug.cc:2610
virtual unsigned impoliteRetries() const
Returns the number of impolite retries.
Definition tyt_codeplug.cc:2575
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2534
virtual void setImpoliteRetries(unsigned num)
Sets the number of impolite retries.
Definition tyt_codeplug.cc:2579
virtual unsigned hotMICDuration() const
Returns the hot MIC duration in seconds.
Definition tyt_codeplug.cc:2593
virtual void setAlarmType(AlarmType type)
Sets the alarm type of the system.
Definition tyt_codeplug.cc:2561
virtual QString name() const
Returns the name of the system.
Definition tyt_codeplug.cc:2548
virtual AlarmMode alarmMode() const
Returns the alarm mode of the system.
Definition tyt_codeplug.cc:2566
Represents all encryption keys and settings within the codeplug on the device.
Definition tyt_codeplug.hh:1121
virtual QByteArray enhancedKey(unsigned n) const
Returns the n-th "enhanced" key (128bit).
Definition tyt_codeplug.cc:2653
virtual QByteArray basicKey(unsigned n) const
Returns the n-th "basic" key (16bit).
Definition tyt_codeplug.cc:2678
virtual void setBasicKey(unsigned n, const QByteArray &key)
Sets the n-th "basic" key (16bit).
Definition tyt_codeplug.cc:2686
static constexpr unsigned int size()
Returns the size of the element.
Definition tyt_codeplug.hh:1135
virtual bool isEnhancedKeySet(unsigned n) const
Returns true if the n-th "enhanced" key (128bit) is set.
Definition tyt_codeplug.cc:2644
virtual void setEnhancedKey(unsigned n, const QByteArray &key)
Sets the n-th "enhanced" key (128bit).
Definition tyt_codeplug.cc:2661
virtual bool updateCommercialExt(Context &ctx)
Updates the commercial extension.
Definition tyt_codeplug.cc:2711
virtual bool fromCommercialExt(CommercialExtension *encr, Context &ctx)
Encodes given commercial extension.
Definition tyt_codeplug.cc:2696
virtual ~EncryptionElement()
Destructor.
Definition tyt_codeplug.cc:2634
virtual bool linkCommercialExt(CommercialExtension *ext, Context &ctx)
Links the given encryption extension.
Definition tyt_codeplug.cc:2738
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2639
virtual bool isBasicKeySet(unsigned n) const
Returns true if the n-th "basic" key (16bit) is set.
Definition tyt_codeplug.cc:2670
Represents a single GPS system within the codeplug.
Definition tyt_codeplug.hh:701
virtual void setRevertChannelIndex(uint16_t idx)
Sets the revert channel index (+1).
Definition tyt_codeplug.cc:1777
virtual ~GPSSystemElement()
Destructor.
Definition tyt_codeplug.cc:1749
virtual bool repeatIntervalDisabled() const
Returns true if the repeat interval is disabled.
Definition tyt_codeplug.cc:1786
virtual void setDestinationContactIndex(uint16_t idx)
Sets the destination contact index (+1).
Definition tyt_codeplug.cc:1811
virtual uint16_t revertChannelIndex() const
Returns the revert channel index (+1).
Definition tyt_codeplug.cc:1773
virtual void disableRepeatInterval()
Disables the GPS repeat interval.
Definition tyt_codeplug.cc:1798
virtual void disableDestinationContact()
Disables the destination contact.
Definition tyt_codeplug.cc:1815
virtual GPSSystem * toGPSSystemObj()
Constructs a GPS system.
Definition tyt_codeplug.cc:1833
virtual void setRevertChannelSelected()
Sets the revert channel to the current one.
Definition tyt_codeplug.cc:1781
virtual bool fromGPSSystemObj(GPSSystem *sys, Context &ctx)
Encodes the given GPS system.
Definition tyt_codeplug.cc:1820
virtual bool revertChannelIsSelected() const
Returns true if the revert channel is the current one.
Definition tyt_codeplug.cc:1769
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:1760
virtual bool linkGPSSystemObj(GPSSystem *sys, Context &ctx)
Links the given GPS system.
Definition tyt_codeplug.cc:1838
virtual bool destinationContactDisabled() const
Returns true if the destination contact is disabled.
Definition tyt_codeplug.cc:1803
virtual uint16_t destinationContactIndex() const
Returns the destination contact index (+1).
Definition tyt_codeplug.cc:1807
virtual unsigned repeatInterval() const
Returns the repeat interval.
Definition tyt_codeplug.cc:1790
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:1754
virtual void setRepeatInterval(unsigned sec)
Sets the repeat interval in seconds.
Definition tyt_codeplug.cc:1794
Codeplug representation of the general settings.
Definition tyt_codeplug.hh:499
virtual bool saveModeRX() const
Returns true, if save RX mode is enabled.
Definition tyt_codeplug.cc:1303
virtual void setGroupCallHangTime(unsigned ms)
Sets the group call hang time.
Definition tyt_codeplug.cc:1389
virtual void setCallAlertToneContinuous()
Sets the call-alert tone continuous.
Definition tyt_codeplug.cc:1438
virtual TyTSettingsExtension::MonitorType monitorType() const
Returns the monitor type.
Definition tyt_codeplug.cc:1276
virtual void setScanDigitalHangTime(unsigned ms)
Sets the scan digital hang time.
Definition tyt_codeplug.cc:1465
virtual bool callAlertToneIsContinuous() const
Returns true if the call-alert is continuous.
Definition tyt_codeplug.cc:1425
virtual unsigned callAlertToneDuration() const
Returns the call-alert tone duration.
Definition tyt_codeplug.cc:1429
virtual void setScanAnalogHangTime(unsigned ms)
Sets the scan analog hang time.
Definition tyt_codeplug.cc:1475
virtual void setLoneWorkerResponseTime(unsigned min)
Sets the lone-worker response time.
Definition tyt_codeplug.cc:1447
virtual QString radioName() const
Returns the radio name.
Definition tyt_codeplug.cc:1560
virtual ~GeneralSettingsElement()
Destructor.
Definition tyt_codeplug.cc:1197
virtual QString introLine2() const
Returns the second intro line.
Definition tyt_codeplug.cc:1267
virtual QString introLine1() const
Returns the first intro line.
Definition tyt_codeplug.cc:1258
virtual void setRadioName(const QString &name)
Sets the radio name.
Definition tyt_codeplug.cc:1564
virtual void keypadLockTimeSetManual()
Set keypad lock to manual.
Definition tyt_codeplug.cc:1512
virtual unsigned keypadLockTime() const
Returns the keypad lock time.
Definition tyt_codeplug.cc:1503
virtual unsigned txPreambleDuration() const
Returns the TX preamble duration.
Definition tyt_codeplug.cc:1375
virtual unsigned privateCallHangTime() const
Returns the private call hang time.
Definition tyt_codeplug.cc:1395
virtual void setPCProgPassword(const QString &pass)
Sets the PC programming password.
Definition tyt_codeplug.cc:1551
virtual void setSaveModeRX(bool enable)
Enables/disables save mode RX.
Definition tyt_codeplug.cc:1307
virtual unsigned scanDigitalHangTime() const
Returns the scan digital hang time.
Definition tyt_codeplug.cc:1461
virtual void setRadioProgPassword(uint32_t passwd)
Sets the 8-digit radio programming password.
Definition tyt_codeplug.cc:1534
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:1202
virtual bool backlightIsAlways() const
Returns true if the backlight is always on.
Definition tyt_codeplug.cc:1481
virtual uint32_t dmrId() const
Returns the default DMR ID of the radio.
Definition tyt_codeplug.cc:1366
virtual uint32_t powerOnPassword() const
Returns the 8-digit power-on password.
Definition tyt_codeplug.cc:1517
virtual unsigned scanAnalogHangTime() const
Returns the scan analog hang time.
Definition tyt_codeplug.cc:1471
virtual bool talkPermitToneDigital() const
Returns true, if the talk permit tone is enabled for DMR channels.
Definition tyt_codeplug.cc:1339
virtual void setIntroLine2(const QString line)
Sets the second intro line.
Definition tyt_codeplug.cc:1271
virtual void setTXPreambleDuration(unsigned ms)
Sets the TX preamble duration.
Definition tyt_codeplug.cc:1379
virtual bool allLEDsDisabled() const
Returns true if all LEDs are disabled.
Definition tyt_codeplug.cc:1285
virtual bool allTonesDisabled() const
Returns true, if all tones are disabled.
Definition tyt_codeplug.cc:1312
virtual bool updateConfig(Config *config)
Updates config from general settings.
Definition tyt_codeplug.cc:1625
virtual unsigned loneWorkerResponseTime() const
Returns the lone-worker response time.
Definition tyt_codeplug.cc:1443
virtual void setBacklightTime(unsigned sec)
Sets the backlight time.
Definition tyt_codeplug.cc:1489
virtual void radioProgPasswordDisable()
Disables the radio programming password.
Definition tyt_codeplug.cc:1538
virtual void setLoneWorkerReminderTime(unsigned min)
Sets the lone-worker reminder time.
Definition tyt_codeplug.cc:1456
virtual void setLowBatteryInterval(unsigned sec)
Sets the low-battery warning interval.
Definition tyt_codeplug.cc:1419
virtual void setIntroLine1(const QString line)
Sets the first intro line.
Definition tyt_codeplug.cc:1262
virtual QString pcProgPassword() const
Returns the PC programming password.
Definition tyt_codeplug.cc:1547
virtual bool pcProgPasswordEnabled() const
Returns true, if the PC programming password is enabled.
Definition tyt_codeplug.cc:1543
virtual void setVOXSesitivity(unsigned ms)
Sets the group call hang time.
Definition tyt_codeplug.cc:1409
virtual unsigned lowBatteryInterval() const
Returns the low-battery warning interval.
Definition tyt_codeplug.cc:1415
virtual void setPrivateCallHangTime(unsigned ms)
Sets the private call hang time.
Definition tyt_codeplug.cc:1399
virtual unsigned voxSesitivity() const
Returns the VOX sensitivity.
Definition tyt_codeplug.cc:1405
virtual bool talkPermitToneAnalog() const
Returns true, if the talk permit tone is enabled for analog channels.
Definition tyt_codeplug.cc:1348
virtual void disableAllTones(bool disable)
Enables/disables all tones.
Definition tyt_codeplug.cc:1316
virtual void pcProgPasswordDisable()
Disables the PC programming password.
Definition tyt_codeplug.cc:1555
virtual bool radioProgPasswordEnabled() const
Returns true, if the radio programming password is enabled.
Definition tyt_codeplug.cc:1526
virtual void backlightTimeSetAlways()
Turns the backlight always on.
Definition tyt_codeplug.cc:1494
virtual unsigned groupCallHangTime() const
Returns the group call hang time.
Definition tyt_codeplug.cc:1385
virtual void setDMRId(uint32_t id)
Sets the default DMR ID of the radio.
Definition tyt_codeplug.cc:1370
virtual void setKeypadLockTime(unsigned sec)
Sets the keypad lock time.
Definition tyt_codeplug.cc:1507
virtual void enableIntroPicture(bool enable)
Enables/disables the intro picture.
Definition tyt_codeplug.cc:1361
virtual uint32_t radioProgPassword() const
Returns the 8-digit radio programming password.
Definition tyt_codeplug.cc:1530
virtual bool fromConfig(const Config *config)
Encodes the general settings.
Definition tyt_codeplug.cc:1569
virtual bool savePreamble() const
Returns true, if save preamble is enabled.
Definition tyt_codeplug.cc:1294
virtual void disableAllLEDs(bool disable)
Enables/disables all LEDs.
Definition tyt_codeplug.cc:1289
virtual void setSavePreamble(bool enable)
Enables/disables save preamble.
Definition tyt_codeplug.cc:1298
virtual bool introPicture() const
Returns true, if intro picture is enabled.
Definition tyt_codeplug.cc:1357
virtual unsigned backlightTime() const
Returns the backlight time.
Definition tyt_codeplug.cc:1485
virtual void enablePasswdAndLock(bool enable)
Enables/disables password and lock.
Definition tyt_codeplug.cc:1334
virtual void setMonitorType(TyTSettingsExtension::MonitorType type)
Sets the monitor type.
Definition tyt_codeplug.cc:1280
virtual bool chFreeIndicationTone() const
Returns true, if the channel free indication tone is enabled.
Definition tyt_codeplug.cc:1321
virtual void setCallAlertToneDuration(unsigned sec)
Sets the call-alert tone duration.
Definition tyt_codeplug.cc:1433
virtual void setChFreeIndicationTone(bool enable)
Enables/disables the channel free indication tone.
Definition tyt_codeplug.cc:1325
virtual unsigned loneWorkerReminderTime() const
Returns the lone-worker reminder time.
Definition tyt_codeplug.cc:1452
virtual void setPowerOnPassword(uint32_t passwd)
Sets the 8-digit power-on password.
Definition tyt_codeplug.cc:1521
virtual bool passwdAndLock() const
Returns true, if password and lock is enabled.
Definition tyt_codeplug.cc:1330
virtual void enableTalkPermitToneAnalog(bool enable)
Enables/disables talk permit tone for analog channels.
Definition tyt_codeplug.cc:1352
virtual bool keypadLockIsManual() const
Returns true if the keypad lock is manual.
Definition tyt_codeplug.cc:1499
virtual void enableTalkPermitToneDigital(bool enable)
Enables/disables talk permit tone for DMR channels.
Definition tyt_codeplug.cc:1343
Representation of an RX group list within the codeplug.
Definition tyt_codeplug.hh:400
virtual ~GroupListElement()
Destructor.
Definition tyt_codeplug.cc:871
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:881
virtual uint16_t memberIndex(unsigned n) const
Returns the n-th member index.
Definition tyt_codeplug.cc:896
virtual RXGroupList * toGroupListObj(Context &ctx)
Creates a group list object.
Definition tyt_codeplug.cc:930
virtual QString name() const
Returns the name of the group list.
Definition tyt_codeplug.cc:886
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:876
virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx)
Encodes the given group list.
Definition tyt_codeplug.cc:906
virtual void setMemberIndex(unsigned n, uint16_t idx)
Sets the n-th member index.
Definition tyt_codeplug.cc:901
virtual bool linkGroupListObj(RXGroupList *lst, Context &ctx)
Links the given group list.
Definition tyt_codeplug.cc:938
virtual void setName(const QString &nm)
Sets the name of the group list.
Definition tyt_codeplug.cc:891
Represents all menu settings within the codeplug on the radio.
Definition tyt_codeplug.hh:755
virtual void enableAlertTone(bool enable)
Enables/disables tone/alert menu.
Definition tyt_codeplug.cc:2066
virtual void enableContactEditing(bool enable)
Enables/disables contact editing.
Definition tyt_codeplug.cc:1958
virtual bool scan() const
Returns true if scan menu is enabled.
Definition tyt_codeplug.cc:2008
virtual bool remoteMonitor() const
Returns true if remote monitor menu is enabled.
Definition tyt_codeplug.cc:1981
virtual void enableRemoteRadioDisable(bool enable)
Enables/disables radio disable menu.
Definition tyt_codeplug.cc:2003
virtual void enableCallLogOutgoing(bool enable)
Enables/disables call-log outgoing menu.
Definition tyt_codeplug.cc:2048
virtual void enableScan(bool enable)
Enables/disables scan menu.
Definition tyt_codeplug.cc:2012
virtual bool callLogMissed() const
Returns true if call-log missed menu is enabled.
Definition tyt_codeplug.cc:2026
virtual void enablePassword(bool enable)
Enables/disables password menu.
Definition tyt_codeplug.cc:2138
virtual void enableRemoteRadioEnable(bool enable)
Enables/disables radio enable menu.
Definition tyt_codeplug.cc:1994
virtual bool displayMode() const
Returns true if display mode menu is enabled.
Definition tyt_codeplug.cc:2143
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:1874
virtual bool backlight() const
Returns true if backlight menu is enabled.
Definition tyt_codeplug.cc:2080
virtual void enableManualDial(bool enable)
Enables/disables manual dial.
Definition tyt_codeplug.cc:1967
virtual void enableKeypadLock(bool enable)
Enables/disables keypad lock menu.
Definition tyt_codeplug.cc:2102
virtual bool scanListEditing() const
Returns true if edit scan-list menu is enabled.
Definition tyt_codeplug.cc:2017
virtual bool talkaround() const
Returns true if talkaround menu is enabled.
Definition tyt_codeplug.cc:2053
virtual void enableRemoteRadioCheck(bool enable)
Enables/disables contact radio-check menu.
Definition tyt_codeplug.cc:1976
virtual bool contactEditing() const
Returns true if contact editing is enabled.
Definition tyt_codeplug.cc:1954
virtual void enablePower(bool enable)
Enables/disables power menu.
Definition tyt_codeplug.cc:2075
virtual bool keypadLock() const
Returns true if keypad lock menu is enabled.
Definition tyt_codeplug.cc:2098
virtual void enableDisplayMode(bool enable)
Enables/disables display mode menu.
Definition tyt_codeplug.cc:2147
virtual bool alertTone() const
Returns true if tone/alert menu is enabled.
Definition tyt_codeplug.cc:2062
virtual void enableScanListEditing(bool enable)
Enables/disables edit scan-list menu.
Definition tyt_codeplug.cc:2021
virtual bool callLogOutgoing() const
Returns true if call-log outgoing menu is enabled.
Definition tyt_codeplug.cc:2044
virtual unsigned menuHangtime() const
Returns the menu hang time in seconds.
Definition tyt_codeplug.cc:1923
virtual bool fromConfig(const Config *config)
Encodes the menu settings.
Definition tyt_codeplug.cc:2162
virtual void enableSquelch(bool enable)
Enables/disables squelch menu.
Definition tyt_codeplug.cc:2120
virtual void enableVOX(bool enable)
Enables/disables VOX menu.
Definition tyt_codeplug.cc:2129
virtual bool callLogAnswered() const
Returns true if call-log answered menu is enabled.
Definition tyt_codeplug.cc:2035
virtual void setMenuHangtime(unsigned sec)
Sets the menu hang time in seconds.
Definition tyt_codeplug.cc:1927
virtual void enableCallAlert(bool enable)
Enables/disables call alert menu.
Definition tyt_codeplug.cc:1949
virtual void enableCallLogMissed(bool enable)
Enables/disables call-log missed menu.
Definition tyt_codeplug.cc:2030
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor menu.
Definition tyt_codeplug.cc:1985
virtual void enableRadioProgramming(bool enable)
Enables/disables program radio menu.
Definition tyt_codeplug.cc:2156
virtual bool ledIndicator() const
Returns true if LED indicator menu is enabled.
Definition tyt_codeplug.cc:2107
virtual bool menuHangtimeIsInfinite() const
Returns true if the menu hang time is infinite.
Definition tyt_codeplug.cc:1919
virtual void enableBootScreen(bool enable)
Enables/disables intro screen menu.
Definition tyt_codeplug.cc:2093
virtual void enableCallLogAnswered(bool enable)
Enables/disables call-log answered menu.
Definition tyt_codeplug.cc:2039
virtual void infiniteMenuHangtime()
Sets the menu hang time to be infinite.
Definition tyt_codeplug.cc:1931
virtual bool password() const
Returns true if password menu is enabled.
Definition tyt_codeplug.cc:2134
virtual void enableTextMessage(bool enable)
Enables/disables text message menu.
Definition tyt_codeplug.cc:1940
virtual bool remoteRadioEnable() const
Returns true if radio enable menu is enabled.
Definition tyt_codeplug.cc:1990
virtual bool squelch() const
Returns true if squelch menu is enabled.
Definition tyt_codeplug.cc:2116
virtual ~MenuSettingsElement()
Destructor.
Definition tyt_codeplug.cc:1869
virtual void enableBacklight(bool enable)
Enables/disables backlight menu.
Definition tyt_codeplug.cc:2084
virtual void enableLEDIndicator(bool enable)
Enables/disables LED indicator menu.
Definition tyt_codeplug.cc:2111
virtual bool callAlert() const
Returns true if call alert menu is enabled.
Definition tyt_codeplug.cc:1945
virtual bool radioProgramming() const
Returns true if program radio menu is enabled.
Definition tyt_codeplug.cc:2152
virtual void enableTalkaround(bool enable)
Enables/disables talkaround menu.
Definition tyt_codeplug.cc:2057
virtual bool textMessage() const
Returns true if text message menu is enabled.
Definition tyt_codeplug.cc:1936
virtual bool bootScreen() const
Returns true if intro screen menu is enabled.
Definition tyt_codeplug.cc:2089
virtual bool power() const
Returns true if power menu is enabled.
Definition tyt_codeplug.cc:2071
virtual bool updateConfig(Config *config)
Updates config from menu settings.
Definition tyt_codeplug.cc:2201
virtual bool manualDial() const
Returns true if manual dial is enabled.
Definition tyt_codeplug.cc:1963
virtual bool remoteRadioDisable() const
Returns true if radio disable menu is enabled.
Definition tyt_codeplug.cc:1999
virtual bool vox() const
Returns true if VOX menu is enabled.
Definition tyt_codeplug.cc:2125
virtual bool remoteRadioCheck() const
Returns true if contact radio-check menu is enabled.
Definition tyt_codeplug.cc:1972
Bank of pre-defined SMS text messages.
Definition tyt_codeplug.hh:1219
virtual MessageElement message(unsigned int i) const
Returns the i-th message.
Definition tyt_codeplug.cc:2823
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2817
virtual bool encode(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack())
Encodes all messages.
Definition tyt_codeplug.cc:2829
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes all messages.
Definition tyt_codeplug.cc:2845
static constexpr unsigned int size()
The size of the element.
Definition tyt_codeplug.hh:1229
Basic pre-defined SMS text message.
Definition tyt_codeplug.hh:1184
virtual QString text() const
Returns the text of the message.
Definition tyt_codeplug.cc:2770
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:2765
virtual bool encode(SMSTemplate *sms, const ErrorStack &err=ErrorStack())
Encodes the given SMS template.
Definition tyt_codeplug.cc:2779
virtual void setText(const QString &text)
Sets the text of the message.
Definition tyt_codeplug.cc:2774
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2760
virtual SMSTemplate * decode(const ErrorStack &err=ErrorStack())
Decodes the given SMS template.
Definition tyt_codeplug.cc:2788
static constexpr unsigned int size()
The size of the element.
Definition tyt_codeplug.hh:1194
Represents a single one-touch setting within the codeplug on the radio.
Definition tyt_codeplug.hh:943
virtual void setAction(Action action)
Sets the action to perform.
Definition tyt_codeplug.cc:2391
virtual uint16_t contactIndex() const
Returns the contact index +1.
Definition tyt_codeplug.cc:2414
virtual ~OneTouchSettingElement()
Destructor.
Definition tyt_codeplug.cc:2368
virtual uint8_t messageIndex() const
Returns the message index +1.
Definition tyt_codeplug.cc:2405
virtual void setMessageIndex(uint8_t idx)
Sets the message index +1.
Definition tyt_codeplug.cc:2409
Type
Possible one-touch action types.
Definition tyt_codeplug.hh:956
@ Digital
Digital call/message.
Definition tyt_codeplug.hh:958
@ Analog
Analog call.
Definition tyt_codeplug.hh:959
@ Disabled
Disabled one-touch.
Definition tyt_codeplug.hh:957
virtual void setActionType(Type action)
Sets the type of the action.
Definition tyt_codeplug.cc:2400
virtual void setContactIndex(uint16_t idx)
Sets the contact index +1.
Definition tyt_codeplug.cc:2418
virtual Action action() const
Returns the action to perform.
Definition tyt_codeplug.cc:2387
Action
Possible one-touch actions.
Definition tyt_codeplug.hh:946
@ CALL
Call someone, see contact.
Definition tyt_codeplug.hh:947
@ MESSAGE
Send a message, see message.
Definition tyt_codeplug.hh:948
@ DTMF4
Analog call DTMF system 4.
Definition tyt_codeplug.hh:952
@ DTMF2
Analog call DTMF system 2.
Definition tyt_codeplug.hh:950
@ DTMF3
Analog call DTMF system 3.
Definition tyt_codeplug.hh:951
@ DTMF1
Analog call DTMF system 1.
Definition tyt_codeplug.hh:949
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:2373
virtual Type actionType() const
Returns the type of the action.
Definition tyt_codeplug.cc:2396
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:2378
Represents a scan list within the codeplug.
Definition tyt_codeplug.hh:437
virtual unsigned holdTime() const
Returns the hold time in ms.
Definition tyt_codeplug.cc:1038
virtual void setPriorityChannel1Index(uint16_t idx)
Set the index (+1) of the first priority channel.
Definition tyt_codeplug.cc:1013
virtual void setHoldTime(unsigned time)
Sets the hold time in ms.
Definition tyt_codeplug.cc:1043
virtual void setMemberIndex(unsigned n, uint16_t idx)
Sets the n-th member index.
Definition tyt_codeplug.cc:1063
virtual ScanList * toScanListObj(Context &ctx)
Creates a scan list.
Definition tyt_codeplug.cc:1116
virtual void setPriorityChannel2Index(uint16_t idx)
Set the index (+1) of the second priority channel.
Definition tyt_codeplug.cc:1023
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:980
virtual uint16_t txChannelIndex() const
Returns the index (+1) of the TX channel.
Definition tyt_codeplug.cc:1028
virtual bool fromScanListObj(const ScanList *lst, Context &ctx)
Encodes the given scan list.
Definition tyt_codeplug.cc:1068
virtual uint16_t priorityChannel1Index() const
Returns the index (+1) of the first priority channel.
Definition tyt_codeplug.cc:1008
virtual unsigned prioritySampleTime() const
Returns the priority sample time in ms.
Definition tyt_codeplug.cc:1048
virtual QString name() const
Returns the name of the scan list.
Definition tyt_codeplug.cc:998
virtual uint16_t memberIndex(unsigned n) const
Returns the n-th member index.
Definition tyt_codeplug.cc:1058
virtual ~ScanListElement()
Destructor.
Definition tyt_codeplug.cc:975
virtual void setTXChannelIndex(uint16_t idx)
Sets the index (+1) of the TX channel.
Definition tyt_codeplug.cc:1033
virtual void setName(const QString &nm)
Sets the name of the scan list.
Definition tyt_codeplug.cc:1003
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:985
virtual void setPrioritySampleTime(unsigned time)
Sets the priority sample time in ms.
Definition tyt_codeplug.cc:1053
virtual bool linkScanListObj(ScanList *lst, Context &ctx, const ErrorStack &err=ErrorStack())
Links the scan list object.
Definition tyt_codeplug.cc:1132
virtual uint16_t priorityChannel2Index() const
Returns the index (+1) of the second priority channel.
Definition tyt_codeplug.cc:1018
Codeplug representation of programming time-stamp and CPS version.
Definition tyt_codeplug.hh:674
virtual void setTimestamp(const QDateTime &ts)
Sets the time stamp.
Definition tyt_codeplug.cc:1710
virtual QString cpsVersion() const
Returns the CPS version.
Definition tyt_codeplug.cc:1720
virtual ~TimestampElement()
Destructor.
Definition tyt_codeplug.cc:1693
virtual QDateTime timestamp() const
Returns the time stamp.
Definition tyt_codeplug.cc:1705
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:1698
Represents a zone within the codeplug.
Definition tyt_codeplug.hh:363
virtual bool linkZone(Zone *zone, Context &ctx) const
Links the created zone to channels.
Definition tyt_codeplug.cc:839
virtual bool fromZoneObj(const Zone *zone, Context &ctx)
Encodes a given zone object.
Definition tyt_codeplug.cc:820
virtual QString name() const
Returns the name of the zone.
Definition tyt_codeplug.cc:802
virtual uint16_t memberIndex(unsigned n) const
Returns the index (+1) of the n-th member.
Definition tyt_codeplug.cc:811
virtual void setName(const QString &setName)
Sets the name of the zone.
Definition tyt_codeplug.cc:806
virtual void setMemberIndex(unsigned n, uint16_t idx)
Sets the index (+1) of the n-th member.
Definition tyt_codeplug.cc:815
virtual Zone * toZoneObj() const
Creates a zone.
Definition tyt_codeplug.cc:832
virtual ~ZoneElement()
Desturctor.
Definition tyt_codeplug.cc:787
void clear()
Abstract method to reset the element within the codeplug.
Definition tyt_codeplug.cc:797
bool isValid() const
Returns true if the pointer is not null.
Definition tyt_codeplug.cc:792
Base class of all TyT codeplugs.
Definition tyt_codeplug.hh:26
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 createContacts(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a digital contact to the configuration for each one in the codeplug.
virtual void clearPositioningSystems()=0
Clears all positioning systems in the codeplug.
virtual void clearGeneralSettings()=0
Clears the general settings in the codeplug.
virtual void clear()
Clears and resets the complete codeplug to some default values.
Definition tyt_codeplug.cc:2939
virtual bool createZones(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a zone 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:2876
virtual void clearMenuSettings()=0
Clears the menu settings in the codeplug.
virtual bool encodeTimestamp()=0
Sets the time-stamp.
virtual bool encodeGeneralSettings(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Updates the general settings from the given configuration.
virtual bool encodePrivacyKeys(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes the encryption keys.
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:2998
virtual bool linkScanLists(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all added scan lists within the configuration.
virtual bool createPositioningSystems(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a GPS positioning system to the configuration for each one in the codeplug.
virtual bool encodeChannels(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all channels 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:2970
virtual bool encodeGroupLists(Config *config, 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 void clearScanLists()=0
Clears all scan lists in the codeplug.
virtual bool decodePrivacyKeys(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Decodes the encryption keys.
virtual ~TyTCodeplug()
Destructor.
Definition tyt_codeplug.cc:2871
virtual bool linkZones(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all added zones within the configuration.
virtual bool createChannels(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a channel 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.
virtual bool decodeButtonSetttings(Config *config, const ErrorStack &err=ErrorStack())=0
Decodes the button settings.
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:2987
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.
virtual void clearZones()=0
Clears all zones in the codeplug.
virtual bool createScanLists(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a scan list to the configuration for each one in the codeplug.
virtual bool decodeGeneralSettings(Config *config, const ErrorStack &err=ErrorStack())=0
Updates the given configuration from the general settings.
virtual bool createGroupLists(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a RX group list to the configuration for each one in the codeplug.
virtual bool encodePositioningSystems(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all DMR positioning systems in the configuration into the codeplug.
virtual bool encodeButtonSettings(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes the button settings.
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:3069
virtual bool encodeZones(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all zones in the configuration into the codeplug.
virtual void clearPrivacyKeys()=0
Clears all encryption keys in the codeplug.
virtual bool encodeScanLists(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all scan lists in the configuration into the codeplug.
virtual bool encodeTextMessages(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack())=0
Encodes text messages.
virtual void clearTextMessages()=0
Clears all text messages in the codeplug.
virtual bool encodeContacts(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all digital contacts in the configuration into the codeplug.
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 for the element.
Definition tyt_codeplug.hh:1162
static constexpr unsigned int advancedKeys()
Specifies the maximum number of advanced (AES) encryption keys (128bit).
Definition tyt_codeplug.hh:1166
static constexpr unsigned int basicKeys()
Specifies the maximum number of basic (DMR) encryption keys (16bit).
Definition tyt_codeplug.hh:1164
Some internal offsets.
Definition tyt_codeplug.hh:1171
Some Limits.
Definition tyt_codeplug.hh:1243
static constexpr unsigned int messages()
The maximum number of messages in a bank.
Definition tyt_codeplug.hh:1245
Some limits.
Definition tyt_codeplug.hh:1212
static constexpr unsigned int length()
Maximum message length.
Definition tyt_codeplug.hh:1213