libdrmconf  0.11.3
A library to program DMR radios.
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 
12 class DMRContact;
13 class Zone;
14 class RXGroupList;
15 class ScanList;
16 class GPSSystem;
17 
18 
24 class TyTCodeplug : public Codeplug
25 {
26  Q_OBJECT
27 
28 public:
34  {
35  public:
37  enum Mode {
39  MODE_DIGITAL = 2
40  };
41 
43  enum Bandwidth {
45  BW_20_KHZ = 1,
46  BW_25_KHZ = 2
47  };
48 
50  enum PrivacyType {
51  PRIV_NONE = 0,
52  PRIV_BASIC = 1,
53  PRIV_ENHANCED = 2
54  };
55 
57  enum Admit {
60  ADMIT_TONE = 2,
62  };
63 
64  protected:
66  ChannelElement(uint8_t *ptr, size_t size);
67 
68  public:
70  ChannelElement(uint8_t *ptr);
72  virtual ~ChannelElement();
73 
75  bool isValid() const;
77  void clear();
78 
80  virtual Mode mode() const;
82  virtual void setMode(Mode setMode);
83 
85  virtual FMChannel::Bandwidth bandwidth() const;
87  virtual void setBandwidth(FMChannel::Bandwidth bw);
88 
90  virtual bool autoScan() const;
92  virtual void enableAutoScan(bool enable);
93 
95  virtual bool loneWorker() const;
97  virtual void enableLoneWorker(bool enable);
98 
100  virtual bool talkaround() const;
102  virtual void enableTalkaround(bool enable);
103 
105  virtual bool rxOnly() const;
107  virtual void enableRXOnly(bool enable);
108 
110  virtual DMRChannel::TimeSlot timeSlot() const;
112  virtual void setTimeSlot(DMRChannel::TimeSlot ts);
113 
115  virtual uint8_t colorCode() const;
117  virtual void setColorCode(uint8_t ts);
118 
120  virtual uint8_t privacyIndex() const;
122  virtual void setPrivacyIndex(uint8_t ts);
124  virtual PrivacyType privacyType() const;
126  virtual void setPrivacyType(PrivacyType type);
127 
129  virtual bool privateCallConfirm() const;
131  virtual void enablePrivateCallConfirm(bool enable);
132 
134  virtual bool dataCallConfirm() const;
136  virtual void enableDataCallConfirm(bool enable);
137 
146 
148  virtual bool emergencyAlarmACK() const;
150  virtual void enableEmergencyAlarmACK(bool enable);
151 
153  virtual bool displayPTTId() const;
155  virtual void enableDisplayPTTId(bool enable);
156 
158  virtual bool vox() const;
160  virtual void enableVOX(bool enable);
161 
163  virtual Admit admitCriterion() const;
165  virtual void setAdmitCriterion(Admit admit);
166 
168  virtual uint16_t contactIndex() const;
170  virtual void setContactIndex(uint16_t idx);
171 
173  virtual unsigned txTimeOut() const;
175  virtual void setTXTimeOut(unsigned tot);
177  virtual uint8_t txTimeOutRekeyDelay() const;
179  virtual void setTXTimeOutRekeyDelay(uint8_t delay);
180 
182  virtual uint8_t emergencySystemIndex() const;
184  virtual void setEmergencySystemIndex(uint8_t idx);
185 
187  virtual uint8_t scanListIndex() const;
189  virtual void setScanListIndex(uint8_t idx);
190 
192  virtual uint8_t groupListIndex() const;
194  virtual void setGroupListIndex(uint8_t idx);
195 
197  virtual uint8_t positioningSystemIndex() const;
199  virtual void setPositioningSystemIndex(uint8_t idx);
200 
202  virtual bool dtmfDecode(uint8_t idx) const;
204  virtual void setDTMFDecode(uint8_t idx, bool enable);
205 
207  virtual uint32_t rxFrequency() const;
209  virtual void setRXFrequency(uint32_t Hz);
211  virtual uint32_t txFrequency() const;
213  virtual void setTXFrequency(uint32_t Hz);
214 
216  virtual Signaling::Code rxSignaling() const;
218  virtual void setRXSignaling(Signaling::Code code);
220  virtual Signaling::Code txSignaling() const;
222  virtual void setTXSignaling(Signaling::Code code);
224  virtual uint8_t rxSignalingSystemIndex() const;
226  virtual void setRXSignalingSystemIndex(uint8_t idx);
228  virtual uint8_t txSignalingSystemIndex() const;
230  virtual void setTXSignalingSystemIndex(uint8_t idx);
231 
233  virtual bool txGPSInfo() const;
235  virtual void enableTXGPSInfo(bool enable);
237  virtual bool rxGPSInfo() const;
239  virtual void enableRXGPSInfo(bool enable);
240 
242  virtual QString name() const;
244  virtual void setName(const QString &setName);
245 
247  virtual Channel *toChannelObj(const ErrorStack &err=ErrorStack()) const;
249  virtual bool linkChannelObj(Channel *c, Context &ctx, const ErrorStack &err=ErrorStack()) const;
251  virtual void fromChannelObj(const Channel *c, Context &ctx);
252  };
253 
259  {
260  protected:
262  ContactElement(uint8_t *ptr, size_t size);
263 
264  public:
266  ContactElement(uint8_t *ptr);
268  virtual ~ContactElement();
269 
270  void clear();
271  bool isValid() const;
272 
274  virtual uint32_t dmrId() const;
276  virtual void setDMRId(uint32_t id);
277 
279  virtual DMRContact::Type callType() const;
281  virtual void setCallType(DMRContact::Type type);
282 
284  virtual bool ringTone() const;
286  virtual void enableRingTone(bool enable);
287 
289  virtual QString name() const;
291  virtual void setName(const QString &nm);
292 
294  virtual bool fromContactObj(const DMRContact *contact);
296  virtual DMRContact *toContactObj() const;
297  };
298 
306  {
307  protected:
309  ZoneElement(uint8_t *ptr, size_t size);
310 
311  public:
313  ZoneElement(uint8_t *ptr);
315  virtual ~ZoneElement();
316 
317  void clear();
318  bool isValid() const;
319 
321  virtual QString name() const;
323  virtual void setName(const QString &setName);
324 
326  virtual uint16_t memberIndex(unsigned n) const;
328  virtual void setMemberIndex(unsigned n, uint16_t idx);
329 
331  virtual bool fromZoneObj(const Zone *zone, Context &ctx);
333  virtual Zone *toZoneObj() const;
335  virtual bool linkZone(Zone *zone, Context &ctx) const;
336  };
337 
343  {
344  protected:
346  GroupListElement(uint8_t *ptr, size_t size);
347 
348  public:
350  GroupListElement(uint8_t *ptr);
352  virtual ~GroupListElement();
353 
354  void clear();
355  bool isValid() const;
356 
358  virtual QString name() const;
360  virtual void setName(const QString &nm);
361 
363  virtual uint16_t memberIndex(unsigned n) const;
365  virtual void setMemberIndex(unsigned n, uint16_t idx);
366 
368  virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx);
370  virtual RXGroupList *toGroupListObj(Context &ctx);
372  virtual bool linkGroupListObj(RXGroupList *lst, Context &ctx);
373  };
374 
380  {
381  protected:
383  ScanListElement(uint8_t *ptr, size_t size);
384 
385  public:
387  ScanListElement(uint8_t *ptr);
389  virtual ~ScanListElement();
390 
391  bool isValid() const;
392  void clear();
393 
395  virtual QString name() const;
397  virtual void setName(const QString &nm);
398 
400  virtual uint16_t priorityChannel1Index() const;
402  virtual void setPriorityChannel1Index(uint16_t idx);
403 
405  virtual uint16_t priorityChannel2Index() const;
407  virtual void setPriorityChannel2Index(uint16_t idx);
408 
410  virtual uint16_t txChannelIndex() const;
412  virtual void setTXChannelIndex(uint16_t idx);
413 
415  virtual unsigned holdTime() const;
417  virtual void setHoldTime(unsigned time);
418 
420  virtual unsigned prioritySampleTime() const;
422  virtual void setPrioritySampleTime(unsigned time);
423 
425  virtual uint16_t memberIndex(unsigned n) const;
427  virtual void setMemberIndex(unsigned n, uint16_t idx);
428 
430  virtual bool fromScanListObj(const ScanList *lst, Context &ctx);
432  virtual ScanList *toScanListObj(Context &ctx);
434  virtual bool linkScanListObj(ScanList *lst, Context &ctx);
435  };
436 
442  {
443  protected:
445  GeneralSettingsElement(uint8_t *ptr, size_t size);
446 
447  public:
449  explicit GeneralSettingsElement(uint8_t *ptr);
451  virtual ~GeneralSettingsElement();
452 
453  void clear();
454 
456  virtual QString introLine1() const;
458  virtual void setIntroLine1(const QString line);
460  virtual QString introLine2() const;
462  virtual void setIntroLine2(const QString line);
463 
465  virtual TyTSettingsExtension::MonitorType monitorType() const;
467  virtual void setMonitorType(TyTSettingsExtension::MonitorType type);
468 
470  virtual bool allLEDsDisabled() const;
472  virtual void disableAllLEDs(bool disable);
473 
475  virtual bool savePreamble() const;
477  virtual void setSavePreamble(bool enable);
479  virtual bool saveModeRX() const;
481  virtual void setSaveModeRX(bool enable);
483  virtual bool allTonesDisabled() const;
485  virtual void disableAllTones(bool disable);
487  virtual bool chFreeIndicationTone() const;
489  virtual void setChFreeIndicationTone(bool enable);
491  virtual bool passwdAndLock() const;
493  virtual void enablePasswdAndLock(bool enable);
495  virtual bool talkPermitToneDigital() const;
497  virtual void enableTalkPermitToneDigital(bool enable);
499  virtual bool talkPermitToneAnalog() const;
501  virtual void enableTalkPermitToneAnalog(bool enable);
502 
504  virtual bool introPicture() const;
506  virtual void enableIntroPicture(bool enable);
507 
509  virtual uint32_t dmrId() const;
511  virtual void setDMRId(uint32_t id);
512 
514  virtual unsigned txPreambleDuration() const;
516  virtual void setTXPreambleDuration(unsigned ms);
518  virtual unsigned groupCallHangTime() const;
520  virtual void setGroupCallHangTime(unsigned ms);
522  virtual unsigned privateCallHangTime() const;
524  virtual void setPrivateCallHangTime(unsigned ms);
526  virtual unsigned voxSesitivity() const;
528  virtual void setVOXSesitivity(unsigned ms);
530  virtual unsigned lowBatteryInterval() const;
532  virtual void setLowBatteryInterval(unsigned sec);
533 
535  virtual bool callAlertToneIsContinuous() const;
537  virtual unsigned callAlertToneDuration() const;
539  virtual void setCallAlertToneDuration(unsigned sec);
541  virtual void setCallAlertToneContinuous();
542 
544  virtual unsigned loneWorkerResponseTime() const;
546  virtual void setLoneWorkerResponseTime(unsigned min);
548  virtual unsigned loneWorkerReminderTime() const;
550  virtual void setLoneWorkerReminderTime(unsigned min);
552  virtual unsigned scanDigitalHangTime() const;
554  virtual void setScanDigitalHangTime(unsigned ms);
556  virtual unsigned scanAnalogHangTime() const;
558  virtual void setScanAnalogHangTime(unsigned ms);
559 
561  virtual bool backlightIsAlways() const;
563  virtual unsigned backlightTime() const;
565  virtual void setBacklightTime(unsigned sec);
567  virtual void backlightTimeSetAlways();
568 
570  virtual bool keypadLockIsManual() const;
572  virtual unsigned keypadLockTime() const;
574  virtual void setKeypadLockTime(unsigned sec);
576  virtual void keypadLockTimeSetManual();
577 
579  virtual uint32_t powerOnPassword() const;
581  virtual void setPowerOnPassword(uint32_t passwd);
582 
584  virtual bool radioProgPasswordEnabled() const;
586  virtual uint32_t radioProgPassword() const;
588  virtual void setRadioProgPassword(uint32_t passwd);
590  virtual void radioProgPasswordDisable();
591 
593  virtual bool pcProgPasswordEnabled() const;
595  virtual QString pcProgPassword() const;
597  virtual void setPCProgPassword(const QString &pass);
599  virtual void pcProgPasswordDisable();
600 
602  virtual QString radioName() const;
604  virtual void setRadioName(const QString &name);
605 
607  virtual bool fromConfig(const Config *config);
609  virtual bool updateConfig(Config *config);
610  };
611 
617  {
618  protected:
620  TimestampElement(uint8_t *ptr, size_t size);
621 
622  public:
624  explicit TimestampElement(uint8_t *ptr);
626  virtual ~TimestampElement();
627 
628  void clear();
629 
631  virtual QDateTime timestamp() const;
633  virtual void setTimestamp(const QDateTime &ts);
634 
636  virtual QString cpsVersion() const;
637  };
638 
644  {
645  protected:
647  GPSSystemElement(uint8_t *ptr, size_t size);
648 
649  public:
651  explicit GPSSystemElement(uint8_t *ptr);
653  virtual ~GPSSystemElement();
654 
655  bool isValid() const;
656  void clear();
657 
659  virtual bool revertChannelIsSelected() const;
661  virtual uint16_t revertChannelIndex() const;
663  virtual void setRevertChannelIndex(uint16_t idx);
665  virtual void setRevertChannelSelected();
666 
668  virtual bool repeatIntervalDisabled() const;
670  virtual unsigned repeatInterval() const;
672  virtual void setRepeatInterval(unsigned sec);
674  virtual void disableRepeatInterval();
675 
677  virtual bool destinationContactDisabled() const;
679  virtual uint16_t destinationContactIndex() const;
681  virtual void setDestinationContactIndex(uint16_t idx);
683  virtual void disableDestinationContact();
684 
686  virtual bool fromGPSSystemObj(GPSSystem *sys, Context &ctx);
688  virtual GPSSystem *toGPSSystemObj();
690  virtual bool linkGPSSystemObj(GPSSystem *sys, Context &ctx);
691  };
692 
698  {
699  protected:
701  MenuSettingsElement(uint8_t *ptr, size_t size);
702 
703  public:
705  explicit MenuSettingsElement(uint8_t *ptr);
707  virtual ~MenuSettingsElement();
708 
709  void clear();
710 
712  virtual bool menuHangtimeIsInfinite() const;
714  virtual unsigned menuHangtime() const;
716  virtual void setMenuHangtime(unsigned sec);
718  virtual void infiniteMenuHangtime();
719 
721  virtual bool textMessage() const;
723  virtual void enableTextMessage(bool enable);
725  virtual bool callAlert() const;
727  virtual void enableCallAlert(bool enable);
729  virtual bool contactEditing() const;
731  virtual void enableContactEditing(bool enable);
733  virtual bool manualDial() const;
735  virtual void enableManualDial(bool enable);
737  virtual bool remoteRadioCheck() const;
739  virtual void enableRemoteRadioCheck(bool enable);
741  virtual bool remoteMonitor() const;
743  virtual void enableRemoteMonitor(bool enable);
745  virtual bool remoteRadioEnable() const;
747  virtual void enableRemoteRadioEnable(bool enable);
749  virtual bool remoteRadioDisable() const;
751  virtual void enableRemoteRadioDisable(bool enable);
752 
754  virtual bool scan() const;
756  virtual void enableScan(bool enable);
758  virtual bool scanListEditing() const;
760  virtual void enableScanListEditing(bool enable);
762  virtual bool callLogMissed() const;
764  virtual void enableCallLogMissed(bool enable);
766  virtual bool callLogAnswered() const;
768  virtual void enableCallLogAnswered(bool enable);
770  virtual bool callLogOutgoing() const;
772  virtual void enableCallLogOutgoing(bool enable);
774  virtual bool talkaround() const;
776  virtual void enableTalkaround(bool enable);
778  virtual bool alertTone() const;
780  virtual void enableAlertTone(bool enable);
781 
783  virtual bool power() const;
785  virtual void enablePower(bool enable);
787  virtual bool backlight() const;
789  virtual void enableBacklight(bool enable);
791  virtual bool bootScreen() const;
793  virtual void enableBootScreen(bool enable);
795  virtual bool keypadLock() const;
797  virtual void enableKeypadLock(bool enable);
799  virtual bool ledIndicator() const;
801  virtual void enableLEDIndicator(bool enable);
803  virtual bool squelch() const;
805  virtual void enableSquelch(bool enable);
807  virtual bool vox() const;
809  virtual void enableVOX(bool enable);
810 
812  virtual bool password() const;
814  virtual void enablePassword(bool enable);
816  virtual bool displayMode() const;
818  virtual void enableDisplayMode(bool enable);
820  virtual bool radioProgramming() const;
822  virtual void enableRadioProgramming(bool enable);
823 
825  virtual bool fromConfig(const Config *config);
827  virtual bool updateConfig(Config *config);
828  };
829 
835  {
836  public:
839 
840  protected:
842  ButtonSettingsElement(uint8_t *ptr, size_t size);
843 
844  public:
846  explicit ButtonSettingsElement(uint8_t *ptr);
848  virtual ~ButtonSettingsElement();
849 
850  void clear();
851 
853  virtual ButtonAction sideButton1Short() const;
855  virtual void setSideButton1Short(ButtonAction action);
857  virtual ButtonAction sideButton1Long() const;
859  virtual void setSideButton1Long(ButtonAction action);
860 
862  virtual ButtonAction sideButton2Short() const;
864  virtual void setSideButton2Short(ButtonAction action);
866  virtual ButtonAction sideButton2Long() const;
868  virtual void setSideButton2Long(ButtonAction action);
869 
871  virtual unsigned longPressDuration() const;
873  virtual void setLongPressDuration(unsigned ms);
874 
876  virtual bool fromConfig(const Config *config);
878  virtual bool updateConfig(Config *config);
879  };
880 
886  {
887  public:
889  enum Action {
890  CALL = 0b0000,
891  MESSAGE = 0b0001,
892  DTMF1 = 0b1000,
893  DTMF2 = 0b1001,
894  DTMF3 = 0b1010,
895  DTMF4 = 0b1011
896  };
897 
899  enum Type {
900  Disabled = 0b00,
901  Digital = 0b01,
902  Analog = 0b10
903  };
904 
905  protected:
907  OneTouchSettingElement(uint8_t *ptr, size_t size);
908 
909  public:
911  explicit OneTouchSettingElement(uint8_t *ptr);
913  virtual ~OneTouchSettingElement();
914 
915  bool isValid() const;
916  void clear();
917 
919  virtual Action action() const;
921  virtual void setAction(Action action);
922 
924  virtual Type actionType() const;
926  virtual void setActionType(Type action);
927 
929  virtual uint8_t messageIndex() const;
931  virtual void setMessageIndex(uint8_t idx);
932 
934  virtual uint16_t contactIndex() const;
936  virtual void setContactIndex(uint16_t idx);
937  };
938 
944  {
945  protected:
947  EmergencySettingsElement(uint8_t *ptr, size_t size);
948 
949  public:
951  explicit EmergencySettingsElement(uint8_t *ptr);
953  virtual ~EmergencySettingsElement();
954 
955  virtual void clear();
956 
958  virtual bool emergencyRemoteMonitor() const;
960  virtual void enableEmergencyRemoteMonitor(bool enable);
962  virtual bool remoteMonitor() const;
964  virtual void enableRemoteMonitor(bool enable);
966  virtual bool radioDisable() const;
968  virtual void enableRadioDisable(bool enable);
969 
971  virtual unsigned remoteMonitorDuration() const;
973  virtual void setRemoteMonitorDuration(unsigned sec);
974 
976  virtual unsigned txTimeOut() const;
978  virtual void setTXTimeOut(unsigned ms);
979 
981  virtual unsigned messageLimit() const;
983  virtual void setMessageLimit(unsigned limit);
984  };
985 
991  {
992  public:
994  enum AlarmType {
995  DISABLED = 0,
996  REGULAR = 1,
997  SILENT = 2,
998  SILENT_W_VOICE = 3
999  };
1001  enum AlarmMode {
1002  ALARM = 0,
1004  ALARM_W_VOICE = 2
1005  };
1006 
1007  protected:
1009  EmergencySystemElement(uint8_t *ptr, size_t size);
1010 
1011  public:
1013  explicit EmergencySystemElement(uint8_t *ptr);
1015  virtual ~EmergencySystemElement();
1016 
1017  bool isValid() const;
1018  void clear();
1019 
1021  virtual QString name() const;
1023  virtual void setName(const QString &name);
1024 
1026  virtual AlarmType alarmType() const;
1028  virtual void setAlarmType(AlarmType type);
1030  virtual AlarmMode alarmMode() const;
1032  virtual void setAlarmMode(AlarmMode mode);
1033 
1035  virtual unsigned impoliteRetries() const;
1037  virtual void setImpoliteRetries(unsigned num);
1038 
1040  virtual unsigned politeRetries() const;
1042  virtual void setPoliteRetries(unsigned num);
1043 
1045  virtual unsigned hotMICDuration() const;
1047  virtual void setHotMICDuration(unsigned sec);
1048 
1050  virtual bool revertChannelIsSelected() const;
1052  virtual uint16_t revertChannelIndex() const;
1054  virtual void setRevertChannelIndex(uint16_t idx);
1056  virtual void revertChannelSelected();
1057  };
1058 
1064  {
1065  protected:
1067  EncryptionElement(uint8_t *ptr, size_t size);
1068 
1069  public:
1071  explicit EncryptionElement(uint8_t *ptr);
1073  virtual ~EncryptionElement();
1074 
1075  void clear();
1076 
1079  virtual bool isEnhancedKeySet(unsigned n) const;
1081  virtual QByteArray enhancedKey(unsigned n) const;
1083  virtual void setEnhancedKey(unsigned n, const QByteArray &key);
1084 
1087  virtual bool isBasicKeySet(unsigned n) const;
1089  virtual QByteArray basicKey(unsigned n) const;
1091  virtual void setBasicKey(unsigned n, const QByteArray &key);
1092 
1094  virtual bool fromCommercialExt(CommercialExtension *encr, Context &ctx);
1096  virtual bool updateCommercialExt(Context &ctx);
1098  virtual bool linkCommercialExt(CommercialExtension *ext, Context &ctx);
1099 
1100  protected:
1104  unsigned _numBasicKeys;
1105  };
1106 
1107 protected:
1109  explicit TyTCodeplug(QObject *parent = nullptr);
1110 
1111 public:
1113  virtual ~TyTCodeplug();
1114 
1116  virtual void clear();
1117 
1118  bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const;
1119 
1121  bool decode(Config *config, const ErrorStack &err=ErrorStack());
1123  bool encode(Config *config, const Flags &flags = Flags(), const ErrorStack &err=ErrorStack());
1124 
1125 public:
1128  virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack());
1130  virtual bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1131 
1133  virtual void clearTimestamp() = 0;
1135  virtual bool encodeTimestamp() = 0;
1136 
1138  virtual void clearGeneralSettings() = 0;
1140  virtual bool encodeGeneralSettings(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1142  virtual bool decodeGeneralSettings(Config *config, const ErrorStack &err=ErrorStack()) = 0;
1143 
1145  virtual void clearContacts() = 0;
1147  virtual bool encodeContacts(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1149  virtual bool createContacts(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1150 
1152  virtual void clearGroupLists() = 0;
1154  virtual bool encodeGroupLists(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1156  virtual bool createGroupLists(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1158  virtual bool linkGroupLists(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1159 
1161  virtual void clearChannels() = 0;
1163  virtual bool encodeChannels(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1165  virtual bool createChannels(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1167  virtual bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1168 
1170  virtual void clearZones() = 0;
1172  virtual bool encodeZones(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1174  virtual bool createZones(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1176  virtual bool linkZones(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1177 
1179  virtual void clearScanLists() = 0;
1181  virtual bool encodeScanLists(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1183  virtual bool createScanLists(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1185  virtual bool linkScanLists(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1186 
1188  virtual void clearPositioningSystems() = 0;
1190  virtual bool encodePositioningSystems(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1192  virtual bool createPositioningSystems(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1194  virtual bool linkPositioningSystems(Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1195 
1197  virtual void clearButtonSettings() = 0;
1199  virtual bool encodeButtonSettings(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1201  virtual bool decodeButtonSetttings(Config *config, const ErrorStack &err=ErrorStack()) = 0;
1202 
1204  virtual void clearPrivacyKeys() = 0;
1206  virtual bool encodePrivacyKeys(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1208  virtual bool decodePrivacyKeys(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) = 0;
1209 
1211  virtual void clearMenuSettings() = 0;
1213  virtual void clearTextMessages() = 0;
1215  virtual void clearEmergencySystems() = 0;
1216 };
1217 
1218 #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:195
Represents the abstract base class of all codeplug elements.
Definition: codeplug.hh:47
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:69
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:385
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:41
Bandwidth
Possible bandwidth of an analog channel.
Definition: channel.hh:236
This class represents a GPS signalling system within the codeplug.
Definition: gpssystem.hh:64
Generic representation of a RX group list.
Definition: rxgrouplist.hh:14
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:835
virtual void setSideButton1Long(ButtonAction action)
Sets the action for a short press on side button 1.
Definition: tyt_codeplug.cc:2279
virtual void setSideButton2Long(ButtonAction action)
Sets the action for a short press on side button 2.
Definition: tyt_codeplug.cc:2297
virtual bool fromConfig(const Config *config)
Encodes the button settings.
Definition: tyt_codeplug.cc:2311
virtual ButtonAction sideButton2Long() const
Returns the action for a long press on side button 2.
Definition: tyt_codeplug.cc:2293
void clear()
Abstract method to reset the element within the codeplug.
Definition: tyt_codeplug.cc:2253
virtual unsigned longPressDuration() const
Returns the long-press duration in ms.
Definition: tyt_codeplug.cc:2302
virtual void setLongPressDuration(unsigned ms)
Sets the long-press duration in ms.
Definition: tyt_codeplug.cc:2306
virtual void setSideButton1Short(ButtonAction action)
Sets the action for a short press on side button 1.
Definition: tyt_codeplug.cc:2270
virtual void setSideButton2Short(ButtonAction action)
Sets the action for a short press on side button 2.
Definition: tyt_codeplug.cc:2288
virtual ~ButtonSettingsElement()
Destructor.
Definition: tyt_codeplug.cc:2248
virtual ButtonAction sideButton1Long() const
Returns the action for a long press on side button 1.
Definition: tyt_codeplug.cc:2275
virtual bool updateConfig(Config *config)
Updates config from button settings.
Definition: tyt_codeplug.cc:2326
virtual ButtonAction sideButton1Short() const
Returns the action for a short press on side button 1.
Definition: tyt_codeplug.cc:2266
virtual ButtonAction sideButton2Short() const
Returns the action for a short press on side button 2.
Definition: tyt_codeplug.cc:2284
ButtonSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: tyt_codeplug.cc:2236
enum TyTButtonSettings::ButtonAction ButtonAction
The possible button actions.
Definition: tyt_codeplug.hh:838
Represents a single channel (analog or digital) within the TyT codeplug.
Definition: tyt_codeplug.hh:34
virtual void enableTalkaround(bool enable)
Enables/disables talkaround for this channel.
Definition: tyt_codeplug.cc:144
virtual void setPositioningSystemIndex(uint8_t idx)
Sets the positioning system index (+1) for this channel.
Definition: tyt_codeplug.cc:328
virtual void setTXTimeOutRekeyDelay(uint8_t delay)
Sets the transmit time-out re-key delay in seconds.
Definition: tyt_codeplug.cc:292
virtual Channel * toChannelObj(const ErrorStack &err=ErrorStack()) const
Constructs a generic Channel object from the codeplug channel.
Definition: tyt_codeplug.cc:423
virtual uint8_t txSignalingSystemIndex() const
Returns the signaling system index (+1) for TX.
Definition: tyt_codeplug.cc:387
virtual bool rxOnly() const
Returns true if the channel has rx only enabled.
Definition: tyt_codeplug.cc:149
virtual uint8_t rxSignalingSystemIndex() const
Returns the signaling system index (+1) for RX.
Definition: tyt_codeplug.cc:378
virtual void setRXSignaling(Signaling::Code code)
Sets the CTCSS/DSC signaling for RX.
Definition: tyt_codeplug.cc:364
virtual uint8_t colorCode() const
Returns the color code of this channel.
Definition: tyt_codeplug.cc:172
bool isValid() const
Returns true if channel is valid/enabled.
Definition: tyt_codeplug.cc:42
virtual void setTXFrequency(uint32_t Hz)
Sets the TX frequency in Hz.
Definition: tyt_codeplug.cc:355
void clear()
Clears/resets the channel and therefore disables it.
Definition: tyt_codeplug.cc:47
Mode
Possible modes for the channel, i.e.
Definition: tyt_codeplug.hh:37
@ MODE_DIGITAL
Digital channel.
Definition: tyt_codeplug.hh:39
@ MODE_ANALOG
Analog channel.
Definition: tyt_codeplug.hh:38
virtual void setTXSignaling(Signaling::Code code)
Sets the CTCSS/DSC signaling for TX.
Definition: tyt_codeplug.cc:373
virtual uint32_t txFrequency() const
Returns the TX frequency in Hz.
Definition: tyt_codeplug.cc:351
virtual uint32_t rxFrequency() const
Returns the RX frequency in Hz.
Definition: tyt_codeplug.cc:342
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
virtual void setContactIndex(uint16_t idx)
Sets the transmit contact index (+1) for this channel.
Definition: tyt_codeplug.cc:275
virtual unsigned txTimeOut() const
Returns the transmit time-out in seconds.
Definition: tyt_codeplug.cc:279
virtual void setRXSignalingSystemIndex(uint8_t idx)
Sets the signaling system index (+1) for RX.
Definition: tyt_codeplug.cc:382
virtual void setTXTimeOut(unsigned tot)
Sets the transmit time-out in seconds.
Definition: tyt_codeplug.cc:283
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:50
@ PRIV_NONE
No privacy.
Definition: tyt_codeplug.hh:51
@ PRIV_BASIC
Basic privacy.
Definition: tyt_codeplug.hh:52
@ PRIV_ENHANCED
Enhanced privacy.
Definition: tyt_codeplug.hh:53
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:25
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:99
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:409
virtual void setTXSignalingSystemIndex(uint8_t idx)
Sets the signaling system index (+1) for TX.
Definition: tyt_codeplug.cc:391
virtual bool txGPSInfo() const
Returns true if the channel transmits GPS information enabled.
Definition: tyt_codeplug.cc:396
virtual void enableLoneWorker(bool enable)
Enables/disables lone worker for this channel.
Definition: tyt_codeplug.cc:135
virtual void enableRXOnly(bool enable)
Enables/disables rx only for this channel.
Definition: tyt_codeplug.cc:153
virtual ~ChannelElement()
Destructor.
Definition: tyt_codeplug.cc:37
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:414
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:43
@ BW_25_KHZ
25kHz wide.
Definition: tyt_codeplug.hh:46
@ BW_20_KHZ
20 kHz (really?)
Definition: tyt_codeplug.hh:45
@ BW_12_5_KHZ
12.5 kHz narrow, (default for binary channels).
Definition: tyt_codeplug.hh:44
Admit
TX Admit criterion.
Definition: tyt_codeplug.hh:57
@ ADMIT_ALWAYS
Always allow TX.
Definition: tyt_codeplug.hh:58
@ ADMIT_COLOR
Allow TX if color-code matches.
Definition: tyt_codeplug.hh:61
@ ADMIT_CH_FREE
Allow TX if channel is free.
Definition: tyt_codeplug.hh:59
@ ADMIT_TONE
Allow TX if CTCSS tone matches.
Definition: tyt_codeplug.hh:60
virtual uint8_t scanListIndex() const
Returns the scan-list index (+1) for this channel.
Definition: tyt_codeplug.cc:306
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 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:503
virtual DMRChannel::TimeSlot timeSlot() const
Returns the time slot of this channel.
Definition: tyt_codeplug.cc:158
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:108
virtual uint8_t positioningSystemIndex() const
Returns the positioning system index (+1) for this channel.
Definition: tyt_codeplug.cc:324
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:140
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:310
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:164
virtual void enableAutoScan(bool enable)
Enables/disables auto scan for this channel.
Definition: tyt_codeplug.cc:126
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:114
virtual bool dtmfDecode(uint8_t idx) const
Returns true if the channel has DTMF decoding enabled.
Definition: tyt_codeplug.cc:333
virtual void setMode(Mode setMode)
Sets the mode of the channel.
Definition: tyt_codeplug.cc:103
virtual void setEmergencySystemIndex(uint8_t idx)
Sets the emergency system index (+1) for this channel.
Definition: tyt_codeplug.cc:301
virtual uint8_t emergencySystemIndex() const
Returns the emergency system index (+1) for this channel.
Definition: tyt_codeplug.cc:297
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:337
virtual void enableEmergencyAlarmACK(bool enable)
Enables/disables alarm confirmation for this channel.
Definition: tyt_codeplug.cc:230
virtual Signaling::Code rxSignaling() const
Returns the CTCSS/DSC signaling for RX.
Definition: tyt_codeplug.cc:360
virtual void setGroupListIndex(uint8_t idx)
Sets the RX group list index (+1) for this channel.
Definition: tyt_codeplug.cc:319
virtual uint8_t txTimeOutRekeyDelay() const
Returns the transmit time-out re-key delay in seconds.
Definition: tyt_codeplug.cc:288
virtual void setName(const QString &setName)
Sets the name of this channel.
Definition: tyt_codeplug.cc:418
virtual void setColorCode(uint8_t ts)
Sets the color code of this channel.
Definition: tyt_codeplug.cc:176
virtual bool rxGPSInfo() const
Returns true if the channel receives GPS information enabled.
Definition: tyt_codeplug.cc:405
virtual void setRXFrequency(uint32_t Hz)
Sets the RX frequency in Hz.
Definition: tyt_codeplug.cc:346
virtual void fromChannelObj(const Channel *c, Context &ctx)
Initializes this codeplug channel from the given generic configuration.
Definition: tyt_codeplug.cc:565
virtual Signaling::Code txSignaling() const
Returns the CTCSS/DSC signaling for TX.
Definition: tyt_codeplug.cc:369
virtual bool loneWorker() const
Returns true if the channel has lone worker enabled.
Definition: tyt_codeplug.cc:131
virtual void enableTXGPSInfo(bool enable)
Enables/disables transmission of GPS information for this channel.
Definition: tyt_codeplug.cc:400
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:315
virtual bool autoScan() const
Returns true if the channel has auto scan enabled.
Definition: tyt_codeplug.cc:122
Represents a digital (DMR) contact within the codeplug.
Definition: tyt_codeplug.hh:259
virtual DMRContact::Type callType() const
Returns the call-type of the contact.
Definition: tyt_codeplug.cc:715
virtual void setDMRId(uint32_t id)
Sets the DMR ID of the contact.
Definition: tyt_codeplug.cc:702
virtual void enableRingTone(bool enable)
Enables/disables the ring-tone for this contact.
Definition: tyt_codeplug.cc:711
void clear()
Abstract method to reset the element within the codeplug.
Definition: tyt_codeplug.cc:687
virtual bool ringTone() const
Returns true if the ring-tone is enabled for this contact.
Definition: tyt_codeplug.cc:707
virtual DMRContact * toContactObj() const
Creates a contact.
Definition: tyt_codeplug.cc:744
virtual QString name() const
Returns the name of the contact.
Definition: tyt_codeplug.cc:735
virtual uint32_t dmrId() const
Returns the DMR ID of the contact.
Definition: tyt_codeplug.cc:697
virtual ~ContactElement()
Destructor.
Definition: tyt_codeplug.cc:676
bool isValid() const
Returns true if the pointer is not null.
Definition: tyt_codeplug.cc:681
ContactElement(uint8_t *ptr, size_t size)
Constructor.
Definition: tyt_codeplug.cc:664
virtual bool fromContactObj(const DMRContact *contact)
Encodes the give contact.
Definition: tyt_codeplug.cc:749
virtual void setCallType(DMRContact::Type type)
Sets the call-type of the contact.
Definition: tyt_codeplug.cc:726
virtual void setName(const QString &nm)
Sets the name of the contact.
Definition: tyt_codeplug.cc:739
Represents the emergency settings within the codeplug on the radio.
Definition: tyt_codeplug.hh:944
virtual void setTXTimeOut(unsigned ms)
Sets the TX time-out in ms.
Definition: tyt_codeplug.cc:2485
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor.
Definition: tyt_codeplug.cc:2458
virtual void enableEmergencyRemoteMonitor(bool enable)
Enables/disables emergency remote monitor.
Definition: tyt_codeplug.cc:2449
virtual bool remoteMonitor() const
Returns true if remote monitor is enabled.
Definition: tyt_codeplug.cc:2454
virtual ~EmergencySettingsElement()
Destructor.
Definition: tyt_codeplug.cc:2428
virtual void clear()
Abstract method to reset the element within the codeplug.
Definition: tyt_codeplug.cc:2433
EmergencySettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: tyt_codeplug.cc:2416
virtual void enableRadioDisable(bool enable)
Enables/disables radio disable.
Definition: tyt_codeplug.cc:2467
virtual unsigned messageLimit() const
Returns the message limit.
Definition: tyt_codeplug.cc:2490
virtual void setMessageLimit(unsigned limit)
Sets the message limit.
Definition: tyt_codeplug.cc:2494
virtual unsigned remoteMonitorDuration() const
Returns the remote monitor duration in seconds.
Definition: tyt_codeplug.cc:2472
virtual unsigned txTimeOut() const
Returns the TX time-out in ms.
Definition: tyt_codeplug.cc:2481
virtual bool radioDisable() const
Returns true if radio disable is enabled.
Definition: tyt_codeplug.cc:2463
virtual void setRemoteMonitorDuration(unsigned sec)
Sets the remote monitor duration in seconds.
Definition: tyt_codeplug.cc:2476
virtual bool emergencyRemoteMonitor() const
Returns true if emergency remote monitor is enabled.
Definition: tyt_codeplug.cc:2445
Represents a single emergency system within the radio.
Definition: tyt_codeplug.hh:991
virtual void setPoliteRetries(unsigned num)
Sets the number of polite retries.
Definition: tyt_codeplug.cc:2578
virtual ~EmergencySystemElement()
Destructor.
Definition: tyt_codeplug.cc:2514
AlarmType
Possible alarm type for the system.
Definition: tyt_codeplug.hh:994
@ REGULAR
Regular alarm sound.
Definition: tyt_codeplug.hh:996
@ SILENT
Silent alarm.
Definition: tyt_codeplug.hh:997
@ SILENT_W_VOICE
silent alarm with voice.
Definition: tyt_codeplug.hh:998
@ DISABLED
No alarm at all.
Definition: tyt_codeplug.hh:995
virtual AlarmType alarmType() const
Returns the alarm type of the system.
Definition: tyt_codeplug.cc:2547
virtual unsigned politeRetries() const
Returns the number of polite retries.
Definition: tyt_codeplug.cc:2574
bool isValid() const
Returns true if the pointer is not null.
Definition: tyt_codeplug.cc:2519
EmergencySystemElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: tyt_codeplug.cc:2502
virtual void setAlarmMode(AlarmMode mode)
Sets the alarm mode of the system.
Definition: tyt_codeplug.cc:2560
virtual void setName(const QString &name)
Sets the name of the system.
Definition: tyt_codeplug.cc:2542
virtual uint16_t revertChannelIndex() const
Returns the index of the revert channel.
Definition: tyt_codeplug.cc:2596
virtual void setHotMICDuration(unsigned sec)
Sets the hot MIC duration in seconds.
Definition: tyt_codeplug.cc:2587
virtual bool revertChannelIsSelected() const
Returns true if the revert channel is the selected one.
Definition: tyt_codeplug.cc:2592
virtual void revertChannelSelected()
Sets revert channel to selected channel.
Definition: tyt_codeplug.cc:2604
AlarmMode
Possible alarm modes for the system.
Definition: tyt_codeplug.hh:1001
@ ALARM_W_VOICE
Alarm + call + voice?
Definition: tyt_codeplug.hh:1004
@ ALARM_W_CALL
Alarm + call.
Definition: tyt_codeplug.hh:1003
@ ALARM
Just alarm.
Definition: tyt_codeplug.hh:1002
virtual void setRevertChannelIndex(uint16_t idx)
Sets the revert channel index.
Definition: tyt_codeplug.cc:2600
virtual unsigned impoliteRetries() const
Returns the number of impolite retries.
Definition: tyt_codeplug.cc:2565
void clear()
Abstract method to reset the element within the codeplug.
Definition: tyt_codeplug.cc:2524
virtual void setImpoliteRetries(unsigned num)
Sets the number of impolite retries.
Definition: tyt_codeplug.cc:2569
virtual unsigned hotMICDuration() const
Returns the hot MIC duration in seconds.
Definition: tyt_codeplug.cc:2583
virtual void setAlarmType(AlarmType type)
Sets the alarm type of the system.
Definition: tyt_codeplug.cc:2551
virtual QString name() const
Returns the name of the system.
Definition: tyt_codeplug.cc:2538
virtual AlarmMode alarmMode() const
Returns the alarm mode of the system.
Definition: tyt_codeplug.cc:2556
Represents all encryption keys and settings within the codeplug on the device.
Definition: tyt_codeplug.hh:1064
virtual QByteArray enhancedKey(unsigned n) const
Returns the n-th "enhanced" key (128bit).
Definition: tyt_codeplug.cc:2643
virtual QByteArray basicKey(unsigned n) const
Returns the n-th "basic" key (16bit).
Definition: tyt_codeplug.cc:2662
unsigned _numEnhancedKeys
Number of enhanced keys.
Definition: tyt_codeplug.hh:1102
virtual void setBasicKey(unsigned n, const QByteArray &key)
Sets the n-th "basic" key (16bit).
Definition: tyt_codeplug.cc:2666
virtual bool isEnhancedKeySet(unsigned n) const
Returns true if the n-th "enhanced" key (128bit) is set.
Definition: tyt_codeplug.cc:2634
virtual void setEnhancedKey(unsigned n, const QByteArray &key)
Sets the n-th "enhanced" key (128bit).
Definition: tyt_codeplug.cc:2647
virtual bool updateCommercialExt(Context &ctx)
Updates the commercial extension.
Definition: tyt_codeplug.cc:2701
virtual bool fromCommercialExt(CommercialExtension *encr, Context &ctx)
Encodes given commercial extension.
Definition: tyt_codeplug.cc:2673
virtual ~EncryptionElement()
Destructor.
Definition: tyt_codeplug.cc:2624
unsigned _numBasicKeys
Number of basic keys.
Definition: tyt_codeplug.hh:1104
virtual bool linkCommercialExt(CommercialExtension *ext, Context &ctx)
Links the given encryption extension.
Definition: tyt_codeplug.cc:2729
EncryptionElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: tyt_codeplug.cc:2612
void clear()
Abstract method to reset the element within the codeplug.
Definition: tyt_codeplug.cc:2629
virtual bool isBasicKeySet(unsigned n) const
Returns true if the n-th "basic" key (16bit) is set.
Definition: tyt_codeplug.cc:2654
Represents a single GPS system within the codeplug.
Definition: tyt_codeplug.hh:644
virtual void setRevertChannelIndex(uint16_t idx)
Sets the revert channel index (+1).
Definition: tyt_codeplug.cc:1767
virtual ~GPSSystemElement()
Destructor.
Definition: tyt_codeplug.cc:1739
virtual bool repeatIntervalDisabled() const
Returns true if the repeat interval is disabled.
Definition: tyt_codeplug.cc:1776
virtual void setDestinationContactIndex(uint16_t idx)
Sets the destination contact index (+1).
Definition: tyt_codeplug.cc:1801
virtual uint16_t revertChannelIndex() const
Returns the revert channel index (+1).
Definition: tyt_codeplug.cc:1763
virtual void disableRepeatInterval()
Disables the GPS repeat interval.
Definition: tyt_codeplug.cc:1788
virtual void disableDestinationContact()
Disables the destination contact.
Definition: tyt_codeplug.cc:1805
virtual GPSSystem * toGPSSystemObj()
Constructs a GPS system.
Definition: tyt_codeplug.cc:1823
virtual void setRevertChannelSelected()
Sets the revert channel to the current one.
Definition: tyt_codeplug.cc:1771
virtual bool fromGPSSystemObj(GPSSystem *sys, Context &ctx)
Encodes the given GPS system.
Definition: tyt_codeplug.cc:1810
virtual bool revertChannelIsSelected() const
Returns true if the revert channel is the current one.
Definition: tyt_codeplug.cc:1759
void clear()
Abstract method to reset the element within the codeplug.
Definition: tyt_codeplug.cc:1750
virtual bool linkGPSSystemObj(GPSSystem *sys, Context &ctx)
Links the given GPS system.
Definition: tyt_codeplug.cc:1828
virtual bool destinationContactDisabled() const
Returns true if the destination contact is disabled.
Definition: tyt_codeplug.cc:1793
virtual uint16_t destinationContactIndex() const
Returns the destination contact index (+1).
Definition: tyt_codeplug.cc:1797
GPSSystemElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: tyt_codeplug.cc:1727
virtual unsigned repeatInterval() const
Returns the repeat interval.
Definition: tyt_codeplug.cc:1780
bool isValid() const
Returns true if the pointer is not null.
Definition: tyt_codeplug.cc:1744
virtual void setRepeatInterval(unsigned sec)
Sets the repeat interval in seconds.
Definition: tyt_codeplug.cc:1784
Codeplug representation of the general settings.
Definition: tyt_codeplug.hh:442
virtual bool saveModeRX() const
Returns true, if save RX mode is enabled.
Definition: tyt_codeplug.cc:1293
virtual void setGroupCallHangTime(unsigned ms)
Sets the group call hang time.
Definition: tyt_codeplug.cc:1379
virtual void setCallAlertToneContinuous()
Sets the call-alert tone continuous.
Definition: tyt_codeplug.cc:1428
virtual TyTSettingsExtension::MonitorType monitorType() const
Returns the monitor type.
Definition: tyt_codeplug.cc:1266
virtual void setScanDigitalHangTime(unsigned ms)
Sets the scan digital hang time.
Definition: tyt_codeplug.cc:1455
virtual bool callAlertToneIsContinuous() const
Returns true if the call-alert is continuous.
Definition: tyt_codeplug.cc:1415
virtual unsigned callAlertToneDuration() const
Returns the call-alert tone duration.
Definition: tyt_codeplug.cc:1419
virtual void setScanAnalogHangTime(unsigned ms)
Sets the scan analog hang time.
Definition: tyt_codeplug.cc:1465
virtual void setLoneWorkerResponseTime(unsigned min)
Sets the lone-worker response time.
Definition: tyt_codeplug.cc:1437
virtual QString radioName() const
Returns the radio name.
Definition: tyt_codeplug.cc:1550
virtual ~GeneralSettingsElement()
Destructor.
Definition: tyt_codeplug.cc:1187
virtual QString introLine2() const
Returns the second intro line.
Definition: tyt_codeplug.cc:1257
virtual QString introLine1() const
Returns the first intro line.
Definition: tyt_codeplug.cc:1248
virtual void setRadioName(const QString &name)
Sets the radio name.
Definition: tyt_codeplug.cc:1554
virtual void keypadLockTimeSetManual()
Set keypad lock to manual.
Definition: tyt_codeplug.cc:1502
virtual unsigned keypadLockTime() const
Returns the keypad lock time.
Definition: tyt_codeplug.cc:1493
virtual unsigned txPreambleDuration() const
Returns the TX preamble duration.
Definition: tyt_codeplug.cc:1365
virtual unsigned privateCallHangTime() const
Returns the private call hang time.
Definition: tyt_codeplug.cc:1385
virtual void setPCProgPassword(const QString &pass)
Sets the PC programming password.
Definition: tyt_codeplug.cc:1541
virtual void setSaveModeRX(bool enable)
Enables/disables save mode RX.
Definition: tyt_codeplug.cc:1297
virtual unsigned scanDigitalHangTime() const
Returns the scan digital hang time.
Definition: tyt_codeplug.cc:1451
virtual void setRadioProgPassword(uint32_t passwd)
Sets the 8-digit radio programming password.
Definition: tyt_codeplug.cc:1524
void clear()
Abstract method to reset the element within the codeplug.
Definition: tyt_codeplug.cc:1192
virtual bool backlightIsAlways() const
Returns true if the backlight is always on.
Definition: tyt_codeplug.cc:1471
virtual uint32_t dmrId() const
Returns the default DMR ID of the radio.
Definition: tyt_codeplug.cc:1356
virtual uint32_t powerOnPassword() const
Returns the 8-digit power-on password.
Definition: tyt_codeplug.cc:1507
virtual unsigned scanAnalogHangTime() const
Returns the scan analog hang time.
Definition: tyt_codeplug.cc:1461
virtual bool talkPermitToneDigital() const
Returns true, if the talk permit tone is enabled for DMR channels.
Definition: tyt_codeplug.cc:1329
virtual void setIntroLine2(const QString line)
Sets the second intro line.
Definition: tyt_codeplug.cc:1261
virtual void setTXPreambleDuration(unsigned ms)
Sets the TX preamble duration.
Definition: tyt_codeplug.cc:1369
virtual bool allLEDsDisabled() const
Returns true if all LEDs are disabled.
Definition: tyt_codeplug.cc:1275
virtual bool allTonesDisabled() const
Returns true, if all tones are disabled.
Definition: tyt_codeplug.cc:1302
virtual bool updateConfig(Config *config)
Updates config from general settings.
Definition: tyt_codeplug.cc:1615
GeneralSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: tyt_codeplug.cc:1175
virtual unsigned loneWorkerResponseTime() const
Returns the lone-worker response time.
Definition: tyt_codeplug.cc:1433
virtual void setBacklightTime(unsigned sec)
Sets the backlight time.
Definition: tyt_codeplug.cc:1479
virtual void radioProgPasswordDisable()
Disables the radio programming password.
Definition: tyt_codeplug.cc:1528
virtual void setLoneWorkerReminderTime(unsigned min)
Sets the lone-worker reminder time.
Definition: tyt_codeplug.cc:1446
virtual void setLowBatteryInterval(unsigned sec)
Sets the low-battery warning interval.
Definition: tyt_codeplug.cc:1409
virtual void setIntroLine1(const QString line)
Sets the first intro line.
Definition: tyt_codeplug.cc:1252
virtual QString pcProgPassword() const
Returns the PC programming password.
Definition: tyt_codeplug.cc:1537
virtual bool pcProgPasswordEnabled() const
Returns true, if the PC programming password is enabled.
Definition: tyt_codeplug.cc:1533
virtual void setVOXSesitivity(unsigned ms)
Sets the group call hang time.
Definition: tyt_codeplug.cc:1399
virtual unsigned lowBatteryInterval() const
Returns the low-battery warning interval.
Definition: tyt_codeplug.cc:1405
virtual void setPrivateCallHangTime(unsigned ms)
Sets the private call hang time.
Definition: tyt_codeplug.cc:1389
virtual unsigned voxSesitivity() const
Returns the VOX sensitivity.
Definition: tyt_codeplug.cc:1395
virtual bool talkPermitToneAnalog() const
Returns true, if the talk permit tone is enabled for analog channels.
Definition: tyt_codeplug.cc:1338
virtual void disableAllTones(bool disable)
Enables/disables all tones.
Definition: tyt_codeplug.cc:1306
virtual void pcProgPasswordDisable()
Disables the PC programming password.
Definition: tyt_codeplug.cc:1545
virtual bool radioProgPasswordEnabled() const
Returns true, if the radio programming password is enabled.
Definition: tyt_codeplug.cc:1516
virtual void backlightTimeSetAlways()
Turns the backlight always on.
Definition: tyt_codeplug.cc:1484
virtual unsigned groupCallHangTime() const
Returns the group call hang time.
Definition: tyt_codeplug.cc:1375
virtual void setDMRId(uint32_t id)
Sets the default DMR ID of the radio.
Definition: tyt_codeplug.cc:1360
virtual void setKeypadLockTime(unsigned sec)
Sets the keypad lock time.
Definition: tyt_codeplug.cc:1497
virtual void enableIntroPicture(bool enable)
Enables/disables the intro picture.
Definition: tyt_codeplug.cc:1351
virtual uint32_t radioProgPassword() const
Returns the 8-digit radio programming password.
Definition: tyt_codeplug.cc:1520
virtual bool fromConfig(const Config *config)
Encodes the general settings.
Definition: tyt_codeplug.cc:1559
virtual bool savePreamble() const
Returns true, if save preamble is enabled.
Definition: tyt_codeplug.cc:1284
virtual void disableAllLEDs(bool disable)
Enables/disables all LEDs.
Definition: tyt_codeplug.cc:1279
virtual void setSavePreamble(bool enable)
Enables/disables save preamble.
Definition: tyt_codeplug.cc:1288
virtual bool introPicture() const
Returns true, if intro picture is enabled.
Definition: tyt_codeplug.cc:1347
virtual unsigned backlightTime() const
Returns the backlight time.
Definition: tyt_codeplug.cc:1475
virtual void enablePasswdAndLock(bool enable)
Enables/disables password and lock.
Definition: tyt_codeplug.cc:1324
virtual void setMonitorType(TyTSettingsExtension::MonitorType type)
Sets the monitor type.
Definition: tyt_codeplug.cc:1270
virtual bool chFreeIndicationTone() const
Returns true, if the channel free indication tone is enabled.
Definition: tyt_codeplug.cc:1311
virtual void setCallAlertToneDuration(unsigned sec)
Sets the call-alert tone duration.
Definition: tyt_codeplug.cc:1423
virtual void setChFreeIndicationTone(bool enable)
Enables/disables the channel free indication tone.
Definition: tyt_codeplug.cc:1315
virtual unsigned loneWorkerReminderTime() const
Returns the lone-worker reminder time.
Definition: tyt_codeplug.cc:1442
virtual void setPowerOnPassword(uint32_t passwd)
Sets the 8-digit power-on password.
Definition: tyt_codeplug.cc:1511
virtual bool passwdAndLock() const
Returns true, if password and lock is enabled.
Definition: tyt_codeplug.cc:1320
virtual void enableTalkPermitToneAnalog(bool enable)
Enables/disables talk permit tone for analog channels.
Definition: tyt_codeplug.cc:1342
virtual bool keypadLockIsManual() const
Returns true if the keypad lock is manual.
Definition: tyt_codeplug.cc:1489
virtual void enableTalkPermitToneDigital(bool enable)
Enables/disables talk permit tone for DMR channels.
Definition: tyt_codeplug.cc:1333
Representation of an RX group list within the codeplug.
Definition: tyt_codeplug.hh:343
virtual ~GroupListElement()
Destructor.
Definition: tyt_codeplug.cc:861
void clear()
Abstract method to reset the element within the codeplug.
Definition: tyt_codeplug.cc:871
virtual uint16_t memberIndex(unsigned n) const
Returns the n-th member index.
Definition: tyt_codeplug.cc:886
GroupListElement(uint8_t *ptr, size_t size)
Constructor.
Definition: tyt_codeplug.cc:849
virtual RXGroupList * toGroupListObj(Context &ctx)
Creates a group list object.
Definition: tyt_codeplug.cc:920
virtual QString name() const
Returns the name of the group list.
Definition: tyt_codeplug.cc:876
bool isValid() const
Returns true if the pointer is not null.
Definition: tyt_codeplug.cc:866
virtual bool fromGroupListObj(const RXGroupList *lst, Context &ctx)
Encodes the given group list.
Definition: tyt_codeplug.cc:896
virtual void setMemberIndex(unsigned n, uint16_t idx)
Sets the n-th member index.
Definition: tyt_codeplug.cc:891
virtual bool linkGroupListObj(RXGroupList *lst, Context &ctx)
Links the given group list.
Definition: tyt_codeplug.cc:928
virtual void setName(const QString &nm)
Sets the name of the group list.
Definition: tyt_codeplug.cc:881
Represents all menu settings within the codeplug on the radio.
Definition: tyt_codeplug.hh:698
virtual void enableAlertTone(bool enable)
Enables/disables tone/alert menu.
Definition: tyt_codeplug.cc:2056
virtual void enableContactEditing(bool enable)
Enables/disables contact editing.
Definition: tyt_codeplug.cc:1948
virtual bool scan() const
Returns true if scan menu is enabled.
Definition: tyt_codeplug.cc:1998
virtual bool remoteMonitor() const
Returns true if remote monitor menu is enabled.
Definition: tyt_codeplug.cc:1971
virtual void enableRemoteRadioDisable(bool enable)
Enables/disables radio disable menu.
Definition: tyt_codeplug.cc:1993
virtual void enableCallLogOutgoing(bool enable)
Enables/disables call-log outgoing menu.
Definition: tyt_codeplug.cc:2038
MenuSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: tyt_codeplug.cc:1847
virtual void enableScan(bool enable)
Enables/disables scan menu.
Definition: tyt_codeplug.cc:2002
virtual bool callLogMissed() const
Returns true if call-log missed menu is enabled.
Definition: tyt_codeplug.cc:2016
virtual void enablePassword(bool enable)
Enables/disables password menu.
Definition: tyt_codeplug.cc:2128
virtual void enableRemoteRadioEnable(bool enable)
Enables/disables radio enable menu.
Definition: tyt_codeplug.cc:1984
virtual bool displayMode() const
Returns true if display mode menu is enabled.
Definition: tyt_codeplug.cc:2133
void clear()
Abstract method to reset the element within the codeplug.
Definition: tyt_codeplug.cc:1864
virtual bool backlight() const
Returns true if backlight menu is enabled.
Definition: tyt_codeplug.cc:2070
virtual void enableManualDial(bool enable)
Enables/disables manual dial.
Definition: tyt_codeplug.cc:1957
virtual void enableKeypadLock(bool enable)
Enables/disables keypad lock menu.
Definition: tyt_codeplug.cc:2092
virtual bool scanListEditing() const
Returns true if edit scan-list menu is enabled.
Definition: tyt_codeplug.cc:2007
virtual bool talkaround() const
Returns true if talkaround menu is enabled.
Definition: tyt_codeplug.cc:2043
virtual void enableRemoteRadioCheck(bool enable)
Enables/disables contact radio-check menu.
Definition: tyt_codeplug.cc:1966
virtual bool contactEditing() const
Returns true if contact editing is enabled.
Definition: tyt_codeplug.cc:1944
virtual void enablePower(bool enable)
Enables/disables power menu.
Definition: tyt_codeplug.cc:2065
virtual bool keypadLock() const
Returns true if keypad lock menu is enabled.
Definition: tyt_codeplug.cc:2088
virtual void enableDisplayMode(bool enable)
Enables/disables display mode menu.
Definition: tyt_codeplug.cc:2137
virtual bool alertTone() const
Returns true if tone/alert menu is enabled.
Definition: tyt_codeplug.cc:2052
virtual void enableScanListEditing(bool enable)
Enables/disables edit scan-list menu.
Definition: tyt_codeplug.cc:2011
virtual bool callLogOutgoing() const
Returns true if call-log outgoing menu is enabled.
Definition: tyt_codeplug.cc:2034
virtual unsigned menuHangtime() const
Returns the menu hang time in seconds.
Definition: tyt_codeplug.cc:1913
virtual bool fromConfig(const Config *config)
Encodes the menu settings.
Definition: tyt_codeplug.cc:2152
virtual void enableSquelch(bool enable)
Enables/disables squelch menu.
Definition: tyt_codeplug.cc:2110
virtual void enableVOX(bool enable)
Enables/disables VOX menu.
Definition: tyt_codeplug.cc:2119
virtual bool callLogAnswered() const
Returns true if call-log answered menu is enabled.
Definition: tyt_codeplug.cc:2025
virtual void setMenuHangtime(unsigned sec)
Sets the menu hang time in seconds.
Definition: tyt_codeplug.cc:1917
virtual void enableCallAlert(bool enable)
Enables/disables call alert menu.
Definition: tyt_codeplug.cc:1939
virtual void enableCallLogMissed(bool enable)
Enables/disables call-log missed menu.
Definition: tyt_codeplug.cc:2020
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor menu.
Definition: tyt_codeplug.cc:1975
virtual void enableRadioProgramming(bool enable)
Enables/disables program radio menu.
Definition: tyt_codeplug.cc:2146
virtual bool ledIndicator() const
Returns true if LED indicator menu is enabled.
Definition: tyt_codeplug.cc:2097
virtual bool menuHangtimeIsInfinite() const
Returns true if the menu hang time is infinite.
Definition: tyt_codeplug.cc:1909
virtual void enableBootScreen(bool enable)
Enables/disables intro screen menu.
Definition: tyt_codeplug.cc:2083
virtual void enableCallLogAnswered(bool enable)
Enables/disables call-log answered menu.
Definition: tyt_codeplug.cc:2029
virtual void infiniteMenuHangtime()
Sets the menu hang time to be infinite.
Definition: tyt_codeplug.cc:1921
virtual bool password() const
Returns true if password menu is enabled.
Definition: tyt_codeplug.cc:2124
virtual void enableTextMessage(bool enable)
Enables/disables text message menu.
Definition: tyt_codeplug.cc:1930
virtual bool remoteRadioEnable() const
Returns true if radio enable menu is enabled.
Definition: tyt_codeplug.cc:1980
virtual bool squelch() const
Returns true if squelch menu is enabled.
Definition: tyt_codeplug.cc:2106
virtual ~MenuSettingsElement()
Destructor.
Definition: tyt_codeplug.cc:1859
virtual void enableBacklight(bool enable)
Enables/disables backlight menu.
Definition: tyt_codeplug.cc:2074
virtual void enableLEDIndicator(bool enable)
Enables/disables LED indicator menu.
Definition: tyt_codeplug.cc:2101
virtual bool callAlert() const
Returns true if call alert menu is enabled.
Definition: tyt_codeplug.cc:1935
virtual bool radioProgramming() const
Returns true if program radio menu is enabled.
Definition: tyt_codeplug.cc:2142
virtual void enableTalkaround(bool enable)
Enables/disables talkaround menu.
Definition: tyt_codeplug.cc:2047
virtual bool textMessage() const
Returns true if text message menu is enabled.
Definition: tyt_codeplug.cc:1926
virtual bool bootScreen() const
Returns true if intro screen menu is enabled.
Definition: tyt_codeplug.cc:2079
virtual bool power() const
Returns true if power menu is enabled.
Definition: tyt_codeplug.cc:2061
virtual bool updateConfig(Config *config)
Updates config from menu settings.
Definition: tyt_codeplug.cc:2191
virtual bool manualDial() const
Returns true if manual dial is enabled.
Definition: tyt_codeplug.cc:1953
virtual bool remoteRadioDisable() const
Returns true if radio disable menu is enabled.
Definition: tyt_codeplug.cc:1989
virtual bool vox() const
Returns true if VOX menu is enabled.
Definition: tyt_codeplug.cc:2115
virtual bool remoteRadioCheck() const
Returns true if contact radio-check menu is enabled.
Definition: tyt_codeplug.cc:1962
Represents a single one-touch setting within the codeplug on the radio.
Definition: tyt_codeplug.hh:886
virtual void setAction(Action action)
Sets the action to perform.
Definition: tyt_codeplug.cc:2381
virtual uint16_t contactIndex() const
Returns the contact index +1.
Definition: tyt_codeplug.cc:2404
virtual ~OneTouchSettingElement()
Destructor.
Definition: tyt_codeplug.cc:2358
virtual uint8_t messageIndex() const
Returns the message index +1.
Definition: tyt_codeplug.cc:2395
virtual void setMessageIndex(uint8_t idx)
Sets the message index +1.
Definition: tyt_codeplug.cc:2399
Type
Possible one-touch action types.
Definition: tyt_codeplug.hh:899
@ Digital
Digital call/message.
Definition: tyt_codeplug.hh:901
@ Analog
Analog call.
Definition: tyt_codeplug.hh:902
@ Disabled
Disabled one-touch.
Definition: tyt_codeplug.hh:900
virtual void setActionType(Type action)
Sets the type of the action.
Definition: tyt_codeplug.cc:2390
OneTouchSettingElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: tyt_codeplug.cc:2346
virtual void setContactIndex(uint16_t idx)
Sets the contact index +1.
Definition: tyt_codeplug.cc:2408
virtual Action action() const
Returns the action to perform.
Definition: tyt_codeplug.cc:2377
Action
Possible one-touch actions.
Definition: tyt_codeplug.hh:889
@ CALL
Call someone, see contact.
Definition: tyt_codeplug.hh:890
@ MESSAGE
Send a message, see message.
Definition: tyt_codeplug.hh:891
@ DTMF4
Analog call DTMF system 4.
Definition: tyt_codeplug.hh:895
@ DTMF2
Analog call DTMF system 2.
Definition: tyt_codeplug.hh:893
@ DTMF3
Analog call DTMF system 3.
Definition: tyt_codeplug.hh:894
@ DTMF1
Analog call DTMF system 1.
Definition: tyt_codeplug.hh:892
bool isValid() const
Returns true if the pointer is not null.
Definition: tyt_codeplug.cc:2363
virtual Type actionType() const
Returns the type of the action.
Definition: tyt_codeplug.cc:2386
void clear()
Abstract method to reset the element within the codeplug.
Definition: tyt_codeplug.cc:2368
Represents a scan list within the codeplug.
Definition: tyt_codeplug.hh:380
virtual unsigned holdTime() const
Returns the hold time in ms.
Definition: tyt_codeplug.cc:1028
virtual void setPriorityChannel1Index(uint16_t idx)
Set the index (+1) of the first priority channel.
Definition: tyt_codeplug.cc:1003
virtual void setHoldTime(unsigned time)
Sets the hold time in ms.
Definition: tyt_codeplug.cc:1033
virtual void setMemberIndex(unsigned n, uint16_t idx)
Sets the n-th member index.
Definition: tyt_codeplug.cc:1053
virtual ScanList * toScanListObj(Context &ctx)
Creates a scan list.
Definition: tyt_codeplug.cc:1106
virtual void setPriorityChannel2Index(uint16_t idx)
Set the index (+1) of the second priority channel.
Definition: tyt_codeplug.cc:1013
bool isValid() const
Returns true if the pointer is not null.
Definition: tyt_codeplug.cc:970
virtual uint16_t txChannelIndex() const
Returns the index (+1) of the TX channel.
Definition: tyt_codeplug.cc:1018
virtual bool fromScanListObj(const ScanList *lst, Context &ctx)
Encodes the given scan list.
Definition: tyt_codeplug.cc:1058
virtual uint16_t priorityChannel1Index() const
Returns the index (+1) of the first priority channel.
Definition: tyt_codeplug.cc:998
virtual unsigned prioritySampleTime() const
Returns the priority sample time in ms.
Definition: tyt_codeplug.cc:1038
virtual QString name() const
Returns the name of the scan list.
Definition: tyt_codeplug.cc:988
ScanListElement(uint8_t *ptr, size_t size)
Constructor.
Definition: tyt_codeplug.cc:953
virtual uint16_t memberIndex(unsigned n) const
Returns the n-th member index.
Definition: tyt_codeplug.cc:1048
virtual ~ScanListElement()
Destructor.
Definition: tyt_codeplug.cc:965
virtual void setTXChannelIndex(uint16_t idx)
Sets the index (+1) of the TX channel.
Definition: tyt_codeplug.cc:1023
virtual void setName(const QString &nm)
Sets the name of the scan list.
Definition: tyt_codeplug.cc:993
void clear()
Abstract method to reset the element within the codeplug.
Definition: tyt_codeplug.cc:975
virtual void setPrioritySampleTime(unsigned time)
Sets the priority sample time in ms.
Definition: tyt_codeplug.cc:1043
virtual bool linkScanListObj(ScanList *lst, Context &ctx)
Links the scan list object.
Definition: tyt_codeplug.cc:1122
virtual uint16_t priorityChannel2Index() const
Returns the index (+1) of the second priority channel.
Definition: tyt_codeplug.cc:1008
Codeplug representation of programming time-stamp and CPS version.
Definition: tyt_codeplug.hh:617
virtual void setTimestamp(const QDateTime &ts)
Sets the time stamp.
Definition: tyt_codeplug.cc:1700
virtual QString cpsVersion() const
Returns the CPS version.
Definition: tyt_codeplug.cc:1710
virtual ~TimestampElement()
Destructor.
Definition: tyt_codeplug.cc:1683
virtual QDateTime timestamp() const
Returns the time stamp.
Definition: tyt_codeplug.cc:1695
TimestampElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: tyt_codeplug.cc:1671
void clear()
Abstract method to reset the element within the codeplug.
Definition: tyt_codeplug.cc:1688
Represents a zone within the codeplug.
Definition: tyt_codeplug.hh:306
virtual bool linkZone(Zone *zone, Context &ctx) const
Links the created zone to channels.
Definition: tyt_codeplug.cc:829
virtual bool fromZoneObj(const Zone *zone, Context &ctx)
Encodes a given zone object.
Definition: tyt_codeplug.cc:810
virtual QString name() const
Returns the name of the zone.
Definition: tyt_codeplug.cc:792
virtual uint16_t memberIndex(unsigned n) const
Returns the index (+1) of the n-th member.
Definition: tyt_codeplug.cc:801
ZoneElement(uint8_t *ptr, size_t size)
Constructor.
Definition: tyt_codeplug.cc:765
virtual void setName(const QString &setName)
Sets the name of the zone.
Definition: tyt_codeplug.cc:796
virtual void setMemberIndex(unsigned n, uint16_t idx)
Sets the index (+1) of the n-th member.
Definition: tyt_codeplug.cc:805
virtual Zone * toZoneObj() const
Creates a zone.
Definition: tyt_codeplug.cc:822
virtual ~ZoneElement()
Desturctor.
Definition: tyt_codeplug.cc:777
void clear()
Abstract method to reset the element within the codeplug.
Definition: tyt_codeplug.cc:787
bool isValid() const
Returns true if the pointer is not null.
Definition: tyt_codeplug.cc:782
Base class of all TyT codeplugs.
Definition: tyt_codeplug.hh:25
virtual void clearContacts()=0
Clears all contacts in the codeplug.
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:2800
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:2749
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:2858
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:2831
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:2744
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:2847
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.
TyTCodeplug(QObject *parent=nullptr)
Empty constructor.
Definition: tyt_codeplug.cc:2738
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:2923
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 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
Code
This huge enum lists all possible RX/TX tones that can be associated with analog channels.
Definition: signaling.hh:14