libdrmconf  0.11.3
A library to program DMR radios.
d578uv_codeplug.hh
1 #ifndef D578UV_CODEPLUG_HH
2 #define D578UV_CODEPLUG_HH
3 
4 #include <QDateTime>
5 
6 #include "d878uv_codeplug.hh"
7 #include "signaling.hh"
8 
9 class Channel;
10 class DMRContact;
11 class Zone;
12 class RXGroupList;
13 class ScanList;
14 class GPSSystem;
15 
16 
201 {
202  Q_OBJECT
203 
204 public:
211  {
212  protected:
214  ChannelElement(uint8_t *ptr, unsigned size);
215 
216  public:
218  ChannelElement(uint8_t *ptr);
219 
221  virtual bool handsFree() const;
223  virtual void enableHandsFree(bool enable);
224 
225  // moved to a different bit
226  bool roamingEnabled() const;
227  void enableRoaming(bool enable);
228  // moved to a different bit
230  bool dataACK() const;
232  void enableDataACK(bool enable);
233 
234  // Replaced by analog scrambler settings
236  unsigned dmrEncryptionKeyIndex() const;
238  void setDMREncryptionKeyIndex(unsigned idx);
239 
241  virtual bool analogScambler() const;
243  virtual void enableAnalogScamber(bool enable);
244 
245  Channel *toChannelObj(Context &ctx) const;
246  };
247 
256  {
257  protected:
259  struct KeyFunction {
260  public:
265 
266  protected:
268  typedef enum {
269  Off = 0x00, Voltage = 0x01, Power = 0x02, Repeater = 0x03, Reverse = 0x04,
270  Encryption = 0x05, Call = 0x06, ToggleVFO = 0x07, Scan = 0x08, WFM = 0x09, Alarm = 0x0a,
271  RecordSwitch = 0x0b, Record = 0x0c, SMS = 0x0d, Dial = 0x0e, GPSInformation=0x0f, Monitor = 0x10,
272  ToggleMainChannel = 0x11, HotKey1 = 0x12, HotKey2 = 0x13, HotKey3 = 0x14, HotKey4 = 0x15,
273  HotKey5 = 0x16, HotKey6 = 0x17, WorkAlone = 0x18, SkipChannel = 0x19, DMRMonitor = 0x1a,
274  SubChannel = 0x1b, PriorityZone = 0x1c, VFOScan = 0x1d, MICSoundQuality = 0x1e,
275  LastCallReply = 0x1f, ChannelType = 0x20, Ranging=0x21, Roaming = 0x22, ChannelRanging = 0x23,
276  MaxVolume = 0x24, Slot = 0x25, APRSTypeSwitch=0x26, Zone = 0x27, MuteA = 0x28, MuteB = 0x29,
277  RoamingSet = 0x2a, APRSSet = 0x2b, ZoneUp = 0x2c, ZoneDown = 0x2d,
278  XBandRepeater = 0x30, Speaker = 0x31, ChannelName = 0x32, Bluetooth = 0x33,
279  GPS = 0x34, CDTScan = 0x35, TBSTSend = 0x36, APRSSend = 0x37, APRSInfo = 0x38,
280  GPSRoaming = 0x39, Squelch=0x3a, NoiseReductionTX=0x3b
281  } KeyFunctionCode;
282  };
283 
285  struct TimeZone {
286  public:
288  static uint8_t encode(const QTimeZone& zone);
290  static QTimeZone decode(uint8_t code);
291 
292  protected:
294  static QVector<QTimeZone> _timeZones;
295  };
296 
298  enum class TBSTFrequency {
299  Hz1000 = 0, Hz1450 = 1, Hz1750 = 2, Hz2100 = 3
300  };
301 
303  enum class STEFrequency {
304  Off = 0, Hz55_2 = 1, Hz259_2 = 2
305  };
306 
307  protected:
309  GeneralSettingsElement(uint8_t *ptr, unsigned size);
310 
311  public:
313  GeneralSettingsElement(uint8_t *ptr);
314 
316  static constexpr unsigned int size() { return 0x00f0; }
317 
318  bool keyToneEnabled() const;
319  void enableKeyTone(bool enable);
320 
322  virtual unsigned transmitTimeout() const;
324  virtual void setTransmitTimeout(unsigned tot);
325 
330 
333 
334  unsigned int dmrMicGain() const;
335  void setDMRMicGain(unsigned int gain);
336 
337  bool vfoModeA() const;
338  void enableVFOModeA(bool enable);
339  bool vfoModeB() const;
340  void enableVFOModeB(bool enable);
341 
348  virtual double steFrequency() const;
351  virtual void setSTEFrequency(double freq);
352 
354  virtual Interval groupCallHangTime() const;
356  virtual void setGroupCallHangTime(Interval sec);
358  virtual Interval privateCallHangTime() const;
360  virtual void setPrivateCallHangTime(Interval sec);
361 
363  virtual Interval preWaveDelay() const;
365  virtual void setPreWaveDelay(Interval ms);
367  virtual Interval wakeHeadPeriod() const;
369  virtual void setWakeHeadPeriod(Interval ms);
370 
372  virtual unsigned wfmChannelIndex() const;
374  virtual void setWFMChannelIndex(unsigned idx);
376  virtual bool wfmVFOEnabled() const;
378  virtual void enableWFMVFO(bool enable);
379 
380  unsigned memoryZoneA() const;
381  void setMemoryZoneA(unsigned zone);
382  unsigned memoryZoneB() const;
383  void setMemoryZoneB(unsigned zone);
384 
386  virtual bool wfmEnabled() const;
388  virtual void enableWFM(bool enable);
389 
390  bool recording() const;
391  void enableRecording(bool enable);
392 
393  unsigned brightness() const;
394  void setBrightness(unsigned level);
395 
396  bool gps() const;
397  void enableGPS(bool enable);
398 
399  bool smsAlert() const;
400  void enableSMSAlert(bool enable);
401 
403  virtual bool wfmMonitor() const;
405  virtual void enableWFMMonitor(bool enable);
406 
407  bool activeChannelB() const;
408  void enableActiveChannelB(bool enable);
409 
410  bool subChannel() const;
411  void enableSubChannel(bool enable);
412 
414  virtual Frequency tbstFrequency() const;
416  virtual void setTBSTFrequency(Frequency freq);
417 
418  bool callAlert() const;
419  void enableCallAlert(bool enable);
420 
421  QTimeZone gpsTimeZone() const;
422  void setGPSTimeZone(const QTimeZone &zone);
423 
424  bool dmrTalkPermit() const;
425  void enableDMRTalkPermit(bool enable);
426  bool fmTalkPermit() const;
427  void enableFMTalkPermit(bool enable);
428  bool dmrResetTone() const;
429  void enableDMRResetTone(bool enable);
430  bool idleChannelTone() const;
431  void enableIdleChannelTone(bool enable);
432 
433  Interval menuExitTime() const;
434  void setMenuExitTime(Interval intv);
435 
437  virtual bool filterOwnID() const;
439  virtual void enableFilterOwnID(bool enable);
440 
441  bool startupTone() const;
442  void enableStartupTone(bool enable);
443 
444  bool callEndPrompt() const;
445  void enableCallEndPrompt(bool enable);
446 
447  unsigned maxSpeakerVolume() const;
448  void setMaxSpeakerVolume(unsigned level);
449 
451  virtual bool remoteStunKill() const;
453  virtual void enableRemoteStunKill(bool enable);
454 
456  virtual bool remoteMonitor() const;
458  virtual void enableRemoteMonitor(bool enable);
459 
460  bool getGPSPosition() const;
461  void enableGetGPSPosition(bool enable);
462 
463  Interval longPressDuration() const;
465 
466  bool volumeChangePrompt() const;
467  void enableVolumeChangePrompt(bool enable);
468 
471 
473  virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const;
475  virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match);
477  virtual bool monitorColorCodeMatch() const;
479  virtual void enableMonitorColorCodeMatch(bool enable);
481  virtual bool monitorIDMatch() const;
483  virtual void enableMonitorIDMatch(bool enable);
485  virtual bool monitorTimeSlotHold() const;
487  virtual void enableMonitorTimeSlotHold(bool enable);
488 
491 
493  virtual unsigned fmCallHold() const;
495  virtual void setFMCallHold(unsigned sec);
496 
497  bool displayClock() const;
498  void enableDisplayClock(bool enable);
499 
501  virtual bool gpsMessageEnabled() const;
503  virtual void enableGPSMessage(bool enable);
504 
505  bool enhanceAudio() const;
506  void enableEnhancedAudio(bool enable);
507 
516 
518  unsigned autoRepeaterOffsetFrequencyIndexUHF() const;
519  void setAutoRepeaterOffsetFrequenyIndexUHF(unsigned idx);
522  unsigned autoRepeaterOffsetFrequencyIndexVHF() const;
523  void setAutoRepeaterOffsetFrequenyIndexVHF(unsigned idx);
533 
534  void callToneMelody(Melody &melody) const;
535  void setCallToneMelody(const Melody &melody);
536  void idleToneMelody(Melody &melody) const;
537  void setIdleToneMelody(const Melody &melody);
538  void resetToneMelody(Melody &melody) const;
539  void setResetToneMelody(const Melody &melody);
540 
542  virtual unsigned priorityZoneAIndex() const;
544  virtual void setPriorityZoneAIndex(unsigned idx);
546  virtual unsigned priorityZoneBIndex() const;
548  virtual void setPriorityZoneBIndex(unsigned idx);
549 
550  bool displayCall() const;
551  void enableDisplayCall(bool enable);
552 
554  virtual bool bluetooth() const;
556  virtual void enableBluetooth(bool enable);
557 
559  virtual bool btAndInternalMic() const;
561  virtual void enableBTAndInternalMic(bool enable);
562 
564  virtual bool btAndInternalSpeaker() const;
566  virtual void enableBTAndInternalSpeaker(bool enable);
567 
569  virtual bool pluginRecTone() const;
571  virtual void enablePluginRecTone(bool enable);
572 
574  virtual Interval gpsUpdatePeriod() const;
576  virtual void setGPSUpdatePeriod(Interval sec);
577 
579  virtual unsigned int btMicGain() const;
581  virtual void setBTMicGain(unsigned int gain);
583  virtual unsigned int btSpeakerGain() const;
585  virtual void setBTSpeakerGain(unsigned int gain);
586 
588  virtual bool displayChannelNumber() const;
590  virtual void enableDisplayChannelNumber(bool enable);
591 
592  bool showCurrentContact() const;
593  void enableShowCurrentContact(bool enable);
594 
596  virtual Interval autoRoamPeriod() const;
598  virtual void setAutoRoamPeriod(Interval min);
599 
602 
603  bool gpsUnitsImperial() const;
604  void enableGPSUnitsImperial(bool enable);
605 
606  bool knobLock() const;
607  void enableKnobLock(bool enable);
608  bool keypadLock() const;
609  void enableKeypadLock(bool enable);
610  bool sidekeysLock() const;
611  void enableSidekeysLock(bool enable);
612  bool keyLockForced() const;
613  void enableKeyLockForced(bool enable);
614 
616  virtual Interval autoRoamDelay() const;
618  virtual void setAutoRoamDelay(Interval sec);
619 
628 
629  bool showLastHeard() const;
630  void enableShowLastHeard(bool enable);
631 
633  virtual AnytoneDMRSettingsExtension::SMSFormat smsFormat() const;
635  virtual void setSMSFormat(AnytoneDMRSettingsExtension::SMSFormat fmt);
636 
639 
641  virtual bool fmSendIDAndContact() const;
643  virtual void enableFMSendIDAndContact(bool enable);
644 
645  bool defaultChannel() const;
646  void enableDefaultChannel(bool enable);
647  unsigned defaultZoneIndexA() const;
648  void setDefaultZoneIndexA(unsigned idx);
649  unsigned defaultZoneIndexB() const;
650  void setDefaultZoneIndexB(unsigned idx);
651  bool defaultChannelAIsVFO() const;
652  unsigned defaultChannelAIndex() const;
653  void setDefaultChannelAIndex(unsigned idx);
655  bool defaultChannelBIsVFO() const;
656  unsigned defaultChannelBIndex() const;
657  void setDefaultChannelBIndex(unsigned idx);
659 
661  virtual unsigned defaultRoamingZoneIndex() const;
663  virtual void setDefaultRoamingZoneIndex(unsigned idx);
664 
666  virtual bool repeaterRangeCheck() const;
668  virtual void enableRepeaterRangeCheck(bool enable);
670  virtual Interval repeaterRangeCheckInterval() const;
672  virtual void setRepeaterRangeCheckInterval(Interval sec);
674  virtual unsigned repeaterRangeCheckCount() const;
676  virtual void setRepeaterRangeCheckCount(unsigned n);
681 
683  virtual bool separateDisplay() const;
685  virtual void enableSeparateDisplay(bool enable);
686 
687  bool keepLastCaller() const;
688  void enableKeepLastCaller(bool enable);
689 
694 
696  virtual bool repeaterCheckNotification() const;
698  virtual void enableRepeaterCheckNotification(bool enable);
699 
701  virtual bool roaming() const;
703  virtual void enableRoaming(bool enable);
704 
735 
766 
768  virtual unsigned repeaterCheckNumNotifications() const;
770  virtual void setRepeaterCheckNumNotifications(unsigned num);
771 
773  virtual Interval transmitTimeoutRekey() const;
775  virtual void setTransmitTimeoutRekey(Interval dt);
776 
778  virtual bool btHoldTimeEnabled() const;
780  virtual bool btHoldTimeInfinite() const;
782  virtual Interval btHoldTime() const;
784  virtual void setBTHoldTime(Interval interval);
786  virtual void setBTHoldTimeInfinite();
788  virtual void disableBTHoldTime();
789 
791  virtual Interval btRXDelay() const;
793  virtual void setBTRXDelay(Interval delay);
794 
795  bool fromConfig(const Flags &flags, Context &ctx);
796  bool updateConfig(Context &ctx);
797  bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err);
798 
799  protected:
803  static constexpr unsigned int enableKeyTone() { return 0x0000; }
804  static constexpr unsigned int transmitTimeout() { return 0x0004; }
805  static constexpr unsigned int language() { return 0x0005; }
806  static constexpr unsigned int vfoScanType() { return 0x000b; }
807  static constexpr unsigned int dmrMicGain() { return 0x000c; }
808  static constexpr unsigned int vfoModeA() { return 0x000d; }
809  static constexpr unsigned int vfoModeB() { return 0x000e; }
810  static constexpr unsigned int steType() { return 0x000f; }
811 
812  static constexpr unsigned int steFrequency() { return 0x0010; }
813  static constexpr unsigned int groupCallHangTime() { return 0x0011; }
814  static constexpr unsigned int privateCallHangTime() { return 0x0012; }
815  static constexpr unsigned int preWaveDelay() { return 0x0013; }
816  static constexpr unsigned int wakeHeadPeriod() { return 0x0014; }
817  static constexpr unsigned int wfmChannelIndex() { return 0x0015; }
818  static constexpr unsigned int wfmVFOEnabled() { return 0x0016; }
819  static constexpr unsigned int memZoneA() { return 0x0017; }
820  static constexpr unsigned int memZoneB() { return 0x0018; }
821  static constexpr unsigned int wfmEnable() { return 0x0019; } // new
822  static constexpr unsigned int enableRecoding() { return 0x001a; }
823  static constexpr unsigned int displayBrightness() { return 0x001d; }
824  static constexpr unsigned int gpsEnable() { return 0x001f; }
825 
826  static constexpr unsigned int smsAlert() { return 0x0020; }
827  static constexpr unsigned int wfmMonitor() { return 0x0021;}
828  static constexpr unsigned int activeChannelB() { return 0x0023; }
829  static constexpr unsigned int subChannel() { return 0x0024; }
830  static constexpr unsigned int tbstFrequency() { return 0x0025; }
831  static constexpr unsigned int callAlert() { return 0x0026; }
832  static constexpr unsigned int gpsTimeZone() { return 0x0027; }
833  static constexpr unsigned int talkPermit() { return 0x0028; }
834  static constexpr unsigned int dmrResetTone() { return 0x0029; }
835  static constexpr unsigned int idleChannelTone() { return 0x002a; }
836  static constexpr unsigned int menuExitTime() { return 0x002b; }
837  static constexpr unsigned int filterOwnID() { return 0x002c; }
838  static constexpr unsigned int startupTone() { return 0x002d; }
839  static constexpr unsigned int callEndPrompt() { return 0x002e; }
840  static constexpr unsigned int maxSpeakerVolume() { return 0x002f; }
841 
842  static constexpr unsigned int remoteStunKill() { return 0x0030; }
843  static constexpr unsigned int remoteMonitor() { return 0x0031; }
844  static constexpr unsigned int getGPSPosition() { return 0x0032; }
845  static constexpr unsigned int longPressDuration() { return 0x0033; }
846  static constexpr unsigned int volumeChangePrompt() { return 0x0034; }
847  static constexpr unsigned int autoRepeaterDirA() { return 0x0035; }
848  static constexpr unsigned int monSlotMatch() { return 0x0036; }
849  static constexpr unsigned int monColorCodeMatch() { return 0x0037; }
850  static constexpr unsigned int monIDMatch() { return 0x0038; }
851  static constexpr unsigned int monTimeSlotHold() { return 0x0039; }
852  static constexpr unsigned int lastCallerDisplay() { return 0x003a; }
853  static constexpr unsigned int fmCallHold() { return 0x003c; }
854  static constexpr unsigned int showClock() { return 0x003d; }
855  static constexpr unsigned int enableGPSMessage() { return 0x003e; }
856  static constexpr unsigned int enhanceAudio() { return 0x003f; }
857 
858  static constexpr unsigned int minVFOScanUHF() { return 0x0040; }
859  static constexpr unsigned int maxVFOScanUHF() { return 0x0044; }
860  static constexpr unsigned int minVFOScanVHF() { return 0x0048; }
861  static constexpr unsigned int maxVFOScanVHF() { return 0x004c; }
862 
863  static constexpr unsigned int autoRepMinVHF() { return 0x0050; }
864  static constexpr unsigned int autoRepMaxVHF() { return 0x0054; }
865  static constexpr unsigned int autoRepMinUHF() { return 0x0058; }
866  static constexpr unsigned int autoRepMaxUHF() { return 0x005c; }
867 
868  static constexpr unsigned int callToneTones() { return 0x0060; }
869  static constexpr unsigned int callToneDurations() { return 0x006a; }
870  static constexpr unsigned int idleToneTones() { return 0x0074; }
871  static constexpr unsigned int idleToneDurations() { return 0x007e; }
872  static constexpr unsigned int resetToneTones() { return 0x0088; }
873  static constexpr unsigned int resetToneDurations() { return 0x0092; }
874 
875  static constexpr unsigned int autoRepOffsetUHF() { return 0x009c; }
876  static constexpr unsigned int autoRepOffsetVHF() { return 0x009d; }
877  static constexpr unsigned int priorityZoneA() { return 0x009f; }
878 
879  static constexpr unsigned int priorityZoneB() { return 0x00a0; }
880  static constexpr unsigned int callDisplayMode() { return 0x00a2; }
881  static constexpr unsigned int bluetooth() { return 0x00a4; }
882  static constexpr unsigned int btAndInternalMic() { return 0x00a5; }
883  static constexpr unsigned int btAndInternalSpeaker(){ return 0x00a6; }
884  static constexpr unsigned int pluginRecTone() { return 0x00a7; }
885  static constexpr unsigned int gpsRangingInterval() { return 0x00a8; }
886  static constexpr unsigned int btMicGain() { return 0x00a9; }
887  static constexpr unsigned int btSpeakerGain() { return 0x00aa; }
888  static constexpr unsigned int showChannelNumber() { return 0x00ab; }
889  static constexpr unsigned int showCurrentContact() { return 0x00ac; }
890  static constexpr unsigned int autoRoamPeriod() { return 0x00ad; }
891  static constexpr unsigned int callColor() { return 0x00ae; }
892  static constexpr unsigned int gpsUnits() { return 0x00af; }
893 
894  static constexpr unsigned int knobLock() { return 0x00b0; }
895  static constexpr unsigned int keypadLock() { return 0x00b0; }
896  static constexpr unsigned int sideKeyLock() { return 0x00b0; }
897  static constexpr unsigned int forceKeyLock() { return 0x00b0; }
898  static constexpr unsigned int autoRoamDelay() { return 0x00b1; }
899  static constexpr unsigned int standbyTextColor() { return 0x00b2; }
900  static constexpr unsigned int standbyBackground() { return 0x00b3; }
901  static constexpr unsigned int showLastHeard() { return 0x00b4; }
902  static constexpr unsigned int smsFormat() { return 0x00b5; }
903  static constexpr unsigned int autoRepeaterDirB() { return 0x00b6; }
904  static constexpr unsigned int fmSendIDAndContact() { return 0x00b7; }
905  static constexpr unsigned int defaultChannels() { return 0x00b8; }
906  static constexpr unsigned int defaultZoneA() { return 0x00b9; }
907  static constexpr unsigned int defaultZoneB() { return 0x00ba; }
908  static constexpr unsigned int defaultChannelA() { return 0x00bb; }
909  static constexpr unsigned int defaultChannelB() { return 0x00bc; }
910  static constexpr unsigned int defaultRoamingZone() { return 0x00bd; }
911  static constexpr unsigned int repRangeCheck() { return 0x00be; }
912  static constexpr unsigned int rangeCheckInterval() { return 0x00bf; }
913 
914  static constexpr unsigned int rangeCheckCount() { return 0x00c0; }
915  static constexpr unsigned int roamStartCondition() { return 0x00c1; }
916  static constexpr unsigned int txBacklightDuration() { return 0x00c2; }
917  static constexpr unsigned int displaySeparator() { return 0x00c3; }
918  static constexpr unsigned int keepLastCaller() { return 0x00c4; }
919  static constexpr unsigned int channelNameColor() { return 0x00c5; }
920  static constexpr unsigned int repCheckNotify() { return 0x00c6; }
921  static constexpr unsigned int rxBacklightDuration() { return 0x00c7; }
922  static constexpr unsigned int roaming() { return 0x00c8; }
923  static constexpr unsigned int progFuncKey1Short() { return 0x00c9; }
924  static constexpr unsigned int progFuncKey2Short() { return 0x00ca; }
925  static constexpr unsigned int progFuncKey3Short() { return 0x00cb; }
926  static constexpr unsigned int progFuncKey4Short() { return 0x00cc; }
927  static constexpr unsigned int progFuncKey5Short() { return 0x00cd; }
928  static constexpr unsigned int progFuncKey6Short() { return 0x00ce; }
929  static constexpr unsigned int progFuncKeyAShort() { return 0x00cf; }
930 
931  static constexpr unsigned int progFuncKeyBShort() { return 0x00d0; }
932  static constexpr unsigned int progFuncKeyCShort() { return 0x00d1; }
933  static constexpr unsigned int progFuncKeyDShort() { return 0x00d2; }
934  static constexpr unsigned int progFuncKey1Long() { return 0x00d3; }
935  static constexpr unsigned int progFuncKey2Long() { return 0x00d4; }
936  static constexpr unsigned int progFuncKey3Long() { return 0x00d5; }
937  static constexpr unsigned int progFuncKey4Long() { return 0x00d6; }
938  static constexpr unsigned int progFuncKey5Long() { return 0x00d7; }
939  static constexpr unsigned int progFuncKey6Long() { return 0x00d8; }
940  static constexpr unsigned int progFuncKeyALong() { return 0x00d9; }
941  static constexpr unsigned int progFuncKeyBLong() { return 0x00da; }
942  static constexpr unsigned int progFuncKeyCLong() { return 0x00db; }
943  static constexpr unsigned int progFuncKeyDLong() { return 0x00dc; }
944  static constexpr unsigned int repCheckNumNotify() { return 0x00de; }
945  static constexpr unsigned int totRekey() { return 0x00df; }
946 
947  static constexpr unsigned int btHoldTime() { return 0x00e1; }
948  static constexpr unsigned int btRXDelay() { return 0x00e2; }
950  };
951 };
952 
961  {
962  protected:
964  HotKeySettingsElement(uint8_t *ptr, size_t size);
965 
966  public:
968  HotKeySettingsElement(uint8_t *ptr);
969 
971  static constexpr unsigned int size() { return 0x0970; }
972 
973  uint8_t *hotKeySetting(unsigned int n) const;
974 
975  public:
977  struct Limit {
978  static constexpr unsigned int numEntries() { return 24; }
979  };
980 
981  };
982 
987  class AirBandChannelElement: public Element
988  {
989  protected:
991  AirBandChannelElement(uint8_t *ptr, size_t size);
992 
993  public:
995  AirBandChannelElement(uint8_t *ptr);
996 
998  static constexpr unsigned int size() { return 0x0020; }
999 
1001  void clear();
1002 
1004  virtual Frequency frequency() const;
1006  virtual void setFrequency(Frequency freq);
1007 
1009  virtual QString name() const;
1011  virtual void setName(const QString &name);
1012 
1013  public:
1015  struct Limit {
1016  static constexpr unsigned int nameLength() { return 16; }
1017  };
1018 
1019  public:
1021  struct Offset {
1023  static constexpr unsigned int frequency() { return 0x0000; }
1024  static constexpr unsigned int name() { return 0x0004; }
1026  };
1027  };
1028 
1031  class AirBandBitmapElement: public BitmapElement
1032  {
1033  protected:
1035  AirBandBitmapElement(uint8_t *ptr, size_t size);
1036 
1037  public:
1039  AirBandBitmapElement(uint8_t *ptr);
1040 
1042  static constexpr unsigned int size() { return 0x0020; }
1043  };
1044 
1045 protected:
1047  explicit D578UVCodeplug(const QString &label, QObject *parent = nullptr);
1048 
1049 public:
1051  explicit D578UVCodeplug(QObject *parent = nullptr);
1052 
1053 protected:
1054  bool allocateBitmaps();
1055 
1056  void allocateUpdated();
1057 
1058  void allocateHotKeySettings();
1059 
1060  bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1061  bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1062  bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1063 
1064  void allocateContacts();
1065  bool encodeContacts(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1066 
1067  void allocateGeneralSettings();
1068  bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1069  bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1070  bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1071 
1073  virtual void allocateAirBand();
1074 
1075 public:
1079  static constexpr unsigned int airBandChannels() { return 100; }
1080  };
1081 
1082 protected:
1086  static constexpr unsigned int contactIdTable() { return 0x04800000; }
1087  static constexpr unsigned int settings() { return 0x02500000; }
1088  static constexpr unsigned int gpsMessages() { return 0x02501280; }
1089  static constexpr unsigned int settingsExtension() { return 0x02501400; }
1090  static constexpr unsigned int airBandChannels() { return 0x02BC0000; }
1091  static constexpr unsigned int airBandVFO() { return 0x02BC1000; }
1092  static constexpr unsigned int airBandChannelBitmap() { return 0x02BC1020; }
1093  static constexpr unsigned int airBandScanBitmap() { return 0x02BC1040; }
1095  };
1096 };
1097 
1098 #endif // D578UV_CODEPLUG_HH
Direction
Encodes the auto-repeater offset sign.
Definition: anytone_extension.hh:1419
static constexpr unsigned int size()
Returns the size of the element.
Definition: anytone_codeplug.hh:148
Represents the base class for the settings elements in all AnyTone codeplugs.
Definition: anytone_codeplug.hh:787
Represents the list of hot-key settings for all AnyTone codeplugs.
Definition: anytone_codeplug.hh:1832
Color
Possible display colors.
Definition: anytone_extension.hh:974
Language
Possible UI languages.
Definition: anytone_extension.hh:980
LastCallerDisplayMode
What to show from the last caller.
Definition: anytone_extension.hh:968
KeyFunction
All possible key functions.
Definition: anytone_extension.hh:585
RoamStart
Possible roaming start conditions.
Definition: anytone_extension.hh:1861
STEType
All possible STE (squelch tail eliminate) types.
Definition: anytone_extension.hh:2166
VFOScanType
Encodes the possible VFO scan types.
Definition: anytone_extension.hh:2148
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
Certain flags passed to CodePlug::encode to control the transfer and encoding of the codeplug.
Definition: codeplug.hh:24
Represents the bitmap indicating which channels are valid and which are included in the air-band scan...
Definition: d578uv_codeplug.hh:1032
static constexpr unsigned int size()
The element size.
Definition: d578uv_codeplug.hh:1042
AirBandBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: d578uv_codeplug.cc:1851
Implements the air-band receiver channel.
Definition: d578uv_codeplug.hh:988
virtual QString name() const
The name of the channel.
Definition: d578uv_codeplug.cc:1839
virtual Frequency frequency() const
The channel frequency.
Definition: d578uv_codeplug.cc:1830
virtual void setName(const QString &name)
Sets the name of the channel.
Definition: d578uv_codeplug.cc:1843
virtual void setFrequency(Frequency freq)
Sets the channel frequency.
Definition: d578uv_codeplug.cc:1834
static constexpr unsigned int size()
The size of the element.
Definition: d578uv_codeplug.hh:998
AirBandChannelElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: d578uv_codeplug.cc:1812
void clear()
Resets the element.
Definition: d578uv_codeplug.cc:1825
Represents the actual channel encoded within the binary code-plug.
Definition: d578uv_codeplug.hh:211
virtual void enableAnalogScamber(bool enable)
Enables/disables the analog scambler.
Definition: d578uv_codeplug.cc:74
void enableDataACK(bool enable)
Enables data ACK.
Definition: d578uv_codeplug.cc:55
unsigned dmrEncryptionKeyIndex() const
The D578UV does not support the weak DMR encryption, hence this function returns always 0.
Definition: d578uv_codeplug.cc:61
void enableRoaming(bool enable)
Enables/disables roaming.
Definition: d578uv_codeplug.cc:44
virtual bool analogScambler() const
Returns true if the analog scambler is enabled.
Definition: d578uv_codeplug.cc:70
virtual bool handsFree() const
Returns true if bluetooth hands-free is enabled.
Definition: d578uv_codeplug.cc:30
bool dataACK() const
Returns true if the data ACK is enabled.
Definition: d578uv_codeplug.cc:50
void setDMREncryptionKeyIndex(unsigned idx)
The D578UV does not support the weak DMR encryption, hence this function has not effect.
Definition: d578uv_codeplug.cc:65
virtual void enableHandsFree(bool enable)
Enables/disables hands-free.
Definition: d578uv_codeplug.cc:34
ChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: d578uv_codeplug.cc:17
bool roamingEnabled() const
Returns true if roaming is enabled.
Definition: d578uv_codeplug.cc:39
Channel * toChannelObj(Context &ctx) const
Constructs a generic Channel object from the codeplug channel.
Definition: d578uv_codeplug.cc:79
Represents the general config of the radio within the D578UV binary codeplug.
Definition: d578uv_codeplug.hh:256
bool knobLock() const
Returns true if the knob is locked.
Definition: d578uv_codeplug.cc:1079
virtual AnytoneKeySettingsExtension::KeyFunction funcKey6Long() const
Returns the function for programmable function key 6 long press.
Definition: d578uv_codeplug.cc:1461
virtual void setWFMChannelIndex(unsigned idx)
Sets the wide-FM (broadcast) channel index.
Definition: d578uv_codeplug.cc:416
void setDefaultChannelAToVFO()
Sets the default channel for VFO A to be VFO.
Definition: d578uv_codeplug.cc:1214
bool smsAlert() const
Returns true if SMS alert is enabled.
Definition: d578uv_codeplug.cc:484
void setMemoryZoneA(unsigned zone)
Sets the memory zone for VFO A.
Definition: d578uv_codeplug.cc:433
bool activeChannelB() const
Returns true if the active channel is VFO B.
Definition: d578uv_codeplug.cc:502
virtual bool gpsMessageEnabled() const
Returns true if the GPS range reporting is enabled.
Definition: d578uv_codeplug.cc:761
void setIdleToneMelody(const Melody &melody)
Sets the idle-tone melody.
Definition: d578uv_codeplug.cc:913
virtual unsigned defaultRoamingZoneIndex() const
Returns the default roaming zone index.
Definition: d578uv_codeplug.cc:1236
bool vfoModeA() const
Returns true if the VFO A is in VFO mode.
Definition: d578uv_codeplug.cc:333
void setResetToneMelody(const Melody &melody)
Sets the reset-tone melody.
Definition: d578uv_codeplug.cc:933
void setMaxSpeakerVolume(unsigned level)
Sets the maximum volume.
Definition: d578uv_codeplug.cc:639
bool showLastHeard() const
Returns true if the last heard is shown while pressing PTT.
Definition: d578uv_codeplug.cc:1139
void enableKeyTone(bool enable)
Enables/disables the key-tone.
Definition: d578uv_codeplug.cc:289
void enableShowCurrentContact(bool enable)
Enables/disables display of current contact.
Definition: d578uv_codeplug.cc:1047
void clearAutoRepeaterOffsetFrequencyIndexVHF()
Clears the auto-repeater offset frequency index for VHF.
Definition: d578uv_codeplug.cc:844
virtual void setPrivateCallHangTime(Interval sec)
Sets the private call hang time in seconds.
Definition: d578uv_codeplug.cc:391
virtual bool monitorColorCodeMatch() const
Returns true if the monitor matches color code.
Definition: d578uv_codeplug.cc:707
void setFuncKey1Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 1.
Definition: d578uv_codeplug.cc:1330
virtual void enableRepeaterRangeCheck(bool enable)
Enables/disables repeater range check.
Definition: d578uv_codeplug.cc:1249
void resetToneMelody(Melody &melody) const
Returns the reset-tone melody.
Definition: d578uv_codeplug.cc:923
Frequency autoRepeaterMaxFrequencyVHF() const
Returns the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition: d578uv_codeplug.cc:857
virtual unsigned int btMicGain() const
Returns the bluetooth microphone gain [1,10].
Definition: d578uv_codeplug.cc:1014
unsigned brightness() const
Returns the display brightness.
Definition: d578uv_codeplug.cc:466
virtual void setAutoRoamDelay(Interval sec)
Sets the auto-roam delay in seconds.
Definition: d578uv_codeplug.cc:1116
virtual Interval preWaveDelay() const
Returns the pre-wave time in ms.
Definition: d578uv_codeplug.cc:395
Frequency maxVFOScanFrequencyUHF() const
Returns the maximum VFO scan frequency for the UHF band in Hz.
Definition: d578uv_codeplug.cc:788
void enableSMSAlert(bool enable)
Enables/disables SMS alert.
Definition: d578uv_codeplug.cc:488
unsigned int dmrMicGain() const
Returns the mirophone gain.
Definition: d578uv_codeplug.cc:322
void setDefaultChannelBToVFO()
Sets the default channel for VFO B to be VFO.
Definition: d578uv_codeplug.cc:1231
QTimeZone gpsTimeZone() const
Returns the GPS time zone.
Definition: d578uv_codeplug.cc:554
void setBrightness(unsigned level)
Sets the display brightness.
Definition: d578uv_codeplug.cc:470
void enableActiveChannelB(bool enable)
Enables/disables VFO B as the active channel.
Definition: d578uv_codeplug.cc:506
virtual void enableDisplayChannelNumber(bool enable)
Enables/disables display of channel number.
Definition: d578uv_codeplug.cc:1038
void enableDisplayClock(bool enable)
Enables/disables clock display.
Definition: d578uv_codeplug.cc:756
AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionB() const
Returns the auto-repeater direction for VFO B.
Definition: d578uv_codeplug.cc:1157
void setAutoRepeaterMinFrequencyUHF(Frequency Hz)
Sets the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition: d578uv_codeplug.cc:870
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor.
Definition: d578uv_codeplug.cc:657
virtual void enableRepeaterCheckNotification(bool enable)
Enables/disables repeater check notification.
Definition: d578uv_codeplug.cc:1312
void setMinVFOScanFrequencyUHF(Frequency hz)
Sets the minimum VFO scan frequency for the UHF band in Hz.
Definition: d578uv_codeplug.cc:783
void setAutoRepeaterDirectionB(AnytoneAutoRepeaterSettingsExtension::Direction dir)
Sets the auto-repeater direction for VFO B.
Definition: d578uv_codeplug.cc:1161
virtual Interval wakeHeadPeriod() const
Returns the wake head-period in ms.
Definition: d578uv_codeplug.cc:403
void setFuncKeyBLong(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 2.
Definition: d578uv_codeplug.cc:1483
virtual void enableWFMMonitor(bool enable)
Enables/disables WFM monitor.
Definition: d578uv_codeplug.cc:497
virtual Interval autoRoamDelay() const
Returns the auto-roam delay in seconds.
Definition: d578uv_codeplug.cc:1112
void setAutoRepeaterMinFrequencyVHF(Frequency Hz)
Sets the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition: d578uv_codeplug.cc:853
virtual void setBTHoldTime(Interval interval)
Sets the bluethooth hold time (1-120s).
Definition: d578uv_codeplug.cc:1538
virtual void setFuncKey5Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 5 short press.
Definition: d578uv_codeplug.cc:1366
AnytoneKeySettingsExtension::KeyFunction funcKeyCLong() const
Returns the key function for a long press on the function key 3.
Definition: d578uv_codeplug.cc:1488
virtual void setFuncKeyDLong(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key D long press.
Definition: d578uv_codeplug.cc:1501
virtual Interval transmitTimeoutRekey() const
Returns the transmit timeout rekey interval in seconds [0,255], 0=Off.
Definition: d578uv_codeplug.cc:1517
virtual AnytoneKeySettingsExtension::KeyFunction funcKey6Short() const
Returns the function for programmable function key 6 short press.
Definition: d578uv_codeplug.cc:1371
virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const
Returns the monitor slot match.
Definition: d578uv_codeplug.cc:698
virtual void setBTHoldTimeInfinite()
Sets the bluethooth hold time to infinite.
Definition: d578uv_codeplug.cc:1543
virtual bool wfmEnabled() const
Returns true, if the WFM/Airband receiver is enabled.
Definition: d578uv_codeplug.cc:447
bool keyLockForced() const
Returns true if the "professional" key is locked.
Definition: d578uv_codeplug.cc:1103
void setVFOScanType(AnytoneSettingsExtension::VFOScanType type)
Sets the VFO scan type.
Definition: d578uv_codeplug.cc:317
virtual void enableMonitorIDMatch(bool enable)
Enables/disables monitor ID match.
Definition: d578uv_codeplug.cc:720
bool defaultChannelAIsVFO() const
Returns true if the default channel for VFO A is VFO.
Definition: d578uv_codeplug.cc:1202
void enableSubChannel(bool enable)
Enables/disables sub channel.
Definition: d578uv_codeplug.cc:515
void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color)
Sets the display color for callsigns.
Definition: d578uv_codeplug.cc:1065
void enableKeypadLock(bool enable)
Enables/disables the keypad lock.
Definition: d578uv_codeplug.cc:1091
unsigned maxSpeakerVolume() const
Returns the maximum volume.
Definition: d578uv_codeplug.cc:635
virtual void setFuncKey5Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 5 long press.
Definition: d578uv_codeplug.cc:1456
void enableGetGPSPosition(bool enable)
Enables/disables get GPS position.
Definition: d578uv_codeplug.cc:666
unsigned defaultZoneIndexB() const
Returns the default zone index (0-based) for VFO B.
Definition: d578uv_codeplug.cc:1193
STEFrequency
All possible STE (squelch tail eliminate) frequencies.
Definition: d578uv_codeplug.hh:303
unsigned defaultZoneIndexA() const
Returns the default zone index (0-based) for VFO A.
Definition: d578uv_codeplug.cc:1184
virtual AnytoneRoamingSettingsExtension::RoamStart roamingStartCondition() const
Returns the roaming start condition.
Definition: d578uv_codeplug.cc:1272
virtual void enableFilterOwnID(bool enable)
Enables/disables filter of own ID in call lists.
Definition: d578uv_codeplug.cc:612
virtual void setStandbyBackgroundColor(AnytoneDisplaySettingsExtension::Color color)
Sets the standby image color.
Definition: d578uv_codeplug.cc:1134
AnytoneSettingsExtension::VFOScanType vfoScanType() const
Returns the VFO scan type.
Definition: d578uv_codeplug.cc:313
virtual void setFuncKey6Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 6 short press.
Definition: d578uv_codeplug.cc:1375
bool dmrResetTone() const
Returns true if the reset tone is enabled for digital calls.
Definition: d578uv_codeplug.cc:581
virtual bool wfmVFOEnabled() const
Returns true if the WFM RX is in VFO mode.
Definition: d578uv_codeplug.cc:420
virtual Interval autoRoamPeriod() const
Returns the auto roaming period in minutes.
Definition: d578uv_codeplug.cc:1052
void enableKnobLock(bool enable)
Enables/disables the knob lock.
Definition: d578uv_codeplug.cc:1083
bool idleChannelTone() const
Returns true if the idle channel tone is enabled.
Definition: d578uv_codeplug.cc:590
virtual void enableBluetooth(bool enable)
Enables/disables bluetooth.
Definition: d578uv_codeplug.cc:973
bool callAlert() const
Returns true if call alert is enabled.
Definition: d578uv_codeplug.cc:545
virtual void setFuncKey3Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 3 long press.
Definition: d578uv_codeplug.cc:1438
virtual void enableRoaming(bool enable)
Enables/disables repeater check notification.
Definition: d578uv_codeplug.cc:1321
virtual AnytoneKeySettingsExtension::KeyFunction funcKey5Long() const
Returns the function for programmable function key 5 long press.
Definition: d578uv_codeplug.cc:1452
virtual void setFMCallHold(unsigned sec)
Sets the analog call hold in seconds.
Definition: d578uv_codeplug.cc:747
bool recording() const
Returns true if recording is enabled.
Definition: d578uv_codeplug.cc:456
bool keyToneEnabled() const
Returns true, if the key tone is enabled.
Definition: d578uv_codeplug.cc:285
virtual void setBTSpeakerGain(unsigned int gain)
Sets the bluetooth speaker gain [1,10].
Definition: d578uv_codeplug.cc:1028
void setAutoRepeaterOffsetFrequenyIndexUHF(unsigned idx)
Sets the auto-repeater offset frequency index for UHF.
Definition: d578uv_codeplug.cc:823
void setFuncKey2Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 2.
Definition: d578uv_codeplug.cc:1429
virtual void setTransmitTimeoutRekey(Interval dt)
Sets the transmit timeout rekey interval in seconds [0,255], 0=Off.
Definition: d578uv_codeplug.cc:1521
virtual void disableBTHoldTime()
Sets the bluethooth hold time to infinite.
Definition: d578uv_codeplug.cc:1547
void enableDefaultChannel(bool enable)
Enables/disables default boot channel.
Definition: d578uv_codeplug.cc:1179
void enableVFOModeA(bool enable)
Enables/disables VFO mode for VFO A.
Definition: d578uv_codeplug.cc:337
virtual void setGPSUpdatePeriod(Interval sec)
Sets the GPS ranging interval in seconds.
Definition: d578uv_codeplug.cc:1009
void enableEnhancedAudio(bool enable)
Enables/disables "enhanced" audio.
Definition: d578uv_codeplug.cc:774
AnytoneDisplaySettingsExtension::LastCallerDisplayMode lastCallerDisplayMode() const
Returns the last-caller display mode.
Definition: d578uv_codeplug.cc:734
void setLongPressDuration(Interval ms)
Sets the long-press duration in ms.
Definition: d578uv_codeplug.cc:675
virtual void setTransmitTimeout(unsigned tot)
Sets the transmit timeout in seconds.
Definition: d578uv_codeplug.cc:298
Frequency autoRepeaterMinFrequencyUHF() const
Returns the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition: d578uv_codeplug.cc:866
virtual void setBTMicGain(unsigned int gain)
Sets the bluetooth microphone gain [1,10].
Definition: d578uv_codeplug.cc:1018
GeneralSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: d578uv_codeplug.cc:272
virtual Interval privateCallHangTime() const
Returns the private call hang time in seconds.
Definition: d578uv_codeplug.cc:387
bool hasAutoRepeaterOffsetFrequencyIndexVHF() const
Returns true if the auto-repeater offset frequency for VHF is set.
Definition: d578uv_codeplug.cc:832
virtual AnytoneSettingsExtension::STEType steType() const
Returns the STE (squelch tail eliminate) type.
Definition: d578uv_codeplug.cc:351
virtual void setFuncKey3Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 3 short press.
Definition: d578uv_codeplug.cc:1348
virtual unsigned priorityZoneBIndex() const
Returns the priority Zone B index.
Definition: d578uv_codeplug.cc:951
void enableDMRResetTone(bool enable)
Enables/disables the reset tone for digital calls.
Definition: d578uv_codeplug.cc:585
bool volumeChangePrompt() const
Returns true if the volume change prompt is enabled.
Definition: d578uv_codeplug.cc:680
bool hasAutoRepeaterOffsetFrequencyIndexUHF() const
Returns true if the auto-repeater offset frequency for UHF is set.
Definition: d578uv_codeplug.cc:815
void setDefaultChannelBIndex(unsigned idx)
Sets the default channel index for VFO B.
Definition: d578uv_codeplug.cc:1227
virtual void setTBSTFrequency(Frequency freq)
Sets the TBST frequency.
Definition: d578uv_codeplug.cc:530
void setMaxVFOScanFrequencyVHF(Frequency hz)
Sets the maximum VFO scan frequency for the VHF band in Hz.
Definition: d578uv_codeplug.cc:810
void setDMRMicGain(unsigned int gain)
Sets the microphone gain.
Definition: d578uv_codeplug.cc:326
bool callEndPrompt() const
Returns true if the call-end prompt is enabled.
Definition: d578uv_codeplug.cc:626
Frequency autoRepeaterMaxFrequencyUHF() const
Returns the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition: d578uv_codeplug.cc:874
bool enhanceAudio() const
Returns true if the audio is "enhanced".
Definition: d578uv_codeplug.cc:770
bool getGPSPosition() const
Returns true if get GPS position is enabled.
Definition: d578uv_codeplug.cc:662
bool sidekeysLock() const
Returns true if the sidekeys are locked.
Definition: d578uv_codeplug.cc:1095
virtual void setStandbyTextColor(AnytoneDisplaySettingsExtension::Color color)
Sets the standby text color.
Definition: d578uv_codeplug.cc:1125
virtual void setSTEType(AnytoneSettingsExtension::STEType type)
Sets the STE (squelch tail eliminate) type.
Definition: d578uv_codeplug.cc:355
virtual AnytoneKeySettingsExtension::KeyFunction funcKey3Short() const
Returns the function for programmable function key 3 short press.
Definition: d578uv_codeplug.cc:1344
AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionA() const
Returns the auto repeater offset direction for VFO A.
Definition: d578uv_codeplug.cc:689
virtual void enableMonitorColorCodeMatch(bool enable)
Enables/disables monitor color code match.
Definition: d578uv_codeplug.cc:711
Frequency minVFOScanFrequencyUHF() const
Returns the minimum VFO scan frequency for the UHF band in Hz.
Definition: d578uv_codeplug.cc:779
virtual AnytoneDisplaySettingsExtension::Color standbyBackgroundColor() const
Returns the standby image color.
Definition: d578uv_codeplug.cc:1130
void enableFMTalkPermit(bool enable)
Enables/disables the talk permit tone for analog channels.
Definition: d578uv_codeplug.cc:576
void enableSidekeysLock(bool enable)
Enables/disables the sidekeys lock.
Definition: d578uv_codeplug.cc:1099
void setDefaultChannelAIndex(unsigned idx)
Sets the default channel index for VFO A.
Definition: d578uv_codeplug.cc:1210
void setDefaultZoneIndexA(unsigned idx)
Sets the default zone (0-based) for VFO A.
Definition: d578uv_codeplug.cc:1188
virtual AnytoneDisplaySettingsExtension::Color standbyTextColor() const
Returns the standby text color.
Definition: d578uv_codeplug.cc:1121
virtual void enableFMSendIDAndContact(bool enable)
Enables/disables sending contact with FM ID.
Definition: d578uv_codeplug.cc:1170
void setFuncKeyCShort(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 3/C.
Definition: d578uv_codeplug.cc:1402
void setMinVFOScanFrequencyVHF(Frequency hz)
Sets the minimum VFO scan frequency for the VHF band in Hz.
Definition: d578uv_codeplug.cc:801
virtual bool separateDisplay() const
Returns true if the "separate display" is enabled.
Definition: d578uv_codeplug.cc:1281
virtual AnytoneDisplaySettingsExtension::Color channelNameColor() const
Returns the channel name color.
Definition: d578uv_codeplug.cc:1299
unsigned defaultChannelBIndex() const
Returns the default channel index for VFO B.
Definition: d578uv_codeplug.cc:1223
unsigned memoryZoneA() const
Returns the memory zone for VFO A.
Definition: d578uv_codeplug.cc:429
bool updateConfig(Context &ctx)
Updates the abstract config from general settings.
Definition: d578uv_codeplug.cc:1668
virtual void enablePluginRecTone(bool enable)
Enables/disables the plug-in record tone.
Definition: d578uv_codeplug.cc:1000
void setFuncKeyAShort(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 1/A.
Definition: d578uv_codeplug.cc:1384
virtual void setSTEFrequency(double freq)
Sets the STE (squelch tail eliminate) frequency setting.
Definition: d578uv_codeplug.cc:368
virtual void setPriorityZoneAIndex(unsigned idx)
Sets the priority zone A index.
Definition: d578uv_codeplug.cc:947
bool fmTalkPermit() const
Returns true if the talk permit tone is enabled for digital channels.
Definition: d578uv_codeplug.cc:572
AnytoneKeySettingsExtension::KeyFunction funcKeyAShort() const
Returns the key function for a short press on the function key 1/A.
Definition: d578uv_codeplug.cc:1380
void enableDisplayCall(bool enable)
Enables/disables call display.
Definition: d578uv_codeplug.cc:964
unsigned autoRepeaterOffsetFrequencyIndexVHF() const
Returns the auto-repeater offset frequency index for UHF.
Definition: d578uv_codeplug.cc:836
void enableKeyLockForced(bool enable)
Enables/disables the "professional" key lock.
Definition: d578uv_codeplug.cc:1107
AnytoneKeySettingsExtension::KeyFunction funcKey2Short() const
Returns the key function for a short press on the function key 2.
Definition: d578uv_codeplug.cc:1335
virtual bool displayChannelNumber() const
Returns true if the channel number is displayed.
Definition: d578uv_codeplug.cc:1034
void idleToneMelody(Melody &melody) const
Returns the idle-tone melody.
Definition: d578uv_codeplug.cc:903
AnytoneKeySettingsExtension::KeyFunction funcKey1Long() const
Returns the key function for a long press on the function key 1.
Definition: d578uv_codeplug.cc:1416
void enableDMRTalkPermit(bool enable)
Enables/disables the talk permit tone for digital channels.
Definition: d578uv_codeplug.cc:567
AnytoneKeySettingsExtension::KeyFunction funcKeyCShort() const
Returns the key function for a short press on the function key 3/C.
Definition: d578uv_codeplug.cc:1398
virtual void enableWFM(bool enable)
Enables/disables WFM/Airband receiver.
Definition: d578uv_codeplug.cc:451
unsigned defaultChannelAIndex() const
Returns the default channel index for VFO A.
Definition: d578uv_codeplug.cc:1206
virtual bool monitorIDMatch() const
Returns true if the monitor matches ID.
Definition: d578uv_codeplug.cc:716
virtual void enableMonitorTimeSlotHold(bool enable)
Enables/disables monitor time slot hold.
Definition: d578uv_codeplug.cc:729
void setFuncKeyCLong(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 3.
Definition: d578uv_codeplug.cc:1492
void clearAutoRepeaterOffsetFrequencyIndexUHF()
Clears the auto-repeater offset frequency index for UHF.
Definition: d578uv_codeplug.cc:827
virtual void setRepeaterRangeCheckCount(unsigned n)
Sets the number of repeater range checks.
Definition: d578uv_codeplug.cc:1267
virtual bool fmSendIDAndContact() const
If enabled, the FM ID is sent together with selected contact.
Definition: d578uv_codeplug.cc:1166
virtual double steFrequency() const
Returns the STE (squelch tail eliminate) frequency setting in Hz.
Definition: d578uv_codeplug.cc:359
bool displayCall() const
Returns true if the call is displayed instead of the name.
Definition: d578uv_codeplug.cc:960
bool gpsUnitsImperial() const
Returns true if the GPS units are imperial.
Definition: d578uv_codeplug.cc:1070
virtual AnytoneKeySettingsExtension::KeyFunction funcKey4Short() const
Returns the function for programmable function key 4 short press.
Definition: d578uv_codeplug.cc:1353
virtual Interval repeaterRangeCheckInterval() const
Returns the repeater range check period in seconds.
Definition: d578uv_codeplug.cc:1254
void enableCallAlert(bool enable)
Enables/disables call alert.
Definition: d578uv_codeplug.cc:549
virtual bool remoteStunKill() const
Returns true remote stun/kill is enabled.
Definition: d578uv_codeplug.cc:644
virtual AnytoneDMRSettingsExtension::SMSFormat smsFormat() const
Returns the SMS format.
Definition: d578uv_codeplug.cc:1148
bool subChannel() const
Returns true if sub channel is enabled.
Definition: d578uv_codeplug.cc:511
void setFuncKey1Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 1.
Definition: d578uv_codeplug.cc:1420
void setAutoRepeaterMaxFrequencyUHF(Frequency Hz)
Sets the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition: d578uv_codeplug.cc:878
virtual unsigned repeaterCheckNumNotifications() const
Returns the number of repeater check notifications.
Definition: d578uv_codeplug.cc:1507
virtual bool repeaterCheckNotification() const
Returns true if repeater check notification is enabled.
Definition: d578uv_codeplug.cc:1308
virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match)
Sets the monitor slot match.
Definition: d578uv_codeplug.cc:702
AnytoneKeySettingsExtension::KeyFunction funcKey1Short() const
Returns the key function for a short press on the function key 1.
Definition: d578uv_codeplug.cc:1326
virtual void enableBTAndInternalMic(bool enable)
Enables/disables the internal mic when BT is active.
Definition: d578uv_codeplug.cc:982
virtual void setDefaultRoamingZoneIndex(unsigned idx)
Sets the default roaming zone index.
Definition: d578uv_codeplug.cc:1240
void setMemoryZoneB(unsigned zone)
Sets the memory zone for VFO B.
Definition: d578uv_codeplug.cc:442
bool showCurrentContact() const
Returns true if the current contact is shown.
Definition: d578uv_codeplug.cc:1043
virtual Interval gpsUpdatePeriod() const
Returns the GPS ranging interval in seconds.
Definition: d578uv_codeplug.cc:1005
void enableShowLastHeard(bool enable)
Enables/disables showing last heard.
Definition: d578uv_codeplug.cc:1143
bool startupTone() const
Returns true if the startup tone is enabled.
Definition: d578uv_codeplug.cc:617
static constexpr unsigned int size()
The size of the element.
Definition: d578uv_codeplug.hh:316
virtual void setFuncKeyDShort(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key D short press.
Definition: d578uv_codeplug.cc:1411
Interval menuExitTime() const
Returns the menu exit time in seconds.
Definition: d578uv_codeplug.cc:599
virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang)
Sets the UI language.
Definition: d578uv_codeplug.cc:307
virtual void enableSeparateDisplay(bool enable)
Enables/disables "separate display.
Definition: d578uv_codeplug.cc:1285
void setGPSTimeZone(const QTimeZone &zone)
Sets the GPS time zone.
Definition: d578uv_codeplug.cc:558
void setLastCallerDisplayMode(AnytoneDisplaySettingsExtension::LastCallerDisplayMode mode)
Sets the last-caller display mode.
Definition: d578uv_codeplug.cc:738
void enableGPS(bool enable)
Enables/disables recording.
Definition: d578uv_codeplug.cc:479
virtual unsigned repeaterRangeCheckCount() const
Returns the number of repeater range checks.
Definition: d578uv_codeplug.cc:1263
virtual Frequency tbstFrequency() const
Returns the TBST frequency.
Definition: d578uv_codeplug.cc:520
bool defaultChannelBIsVFO() const
Returns true if the default channel for VFO B is VFO.
Definition: d578uv_codeplug.cc:1219
AnytoneKeySettingsExtension::KeyFunction funcKeyALong() const
Returns the key function for a long press on the function key 1.
Definition: d578uv_codeplug.cc:1470
virtual bool wfmMonitor() const
Returns true if WFM monitor is enabled.
Definition: d578uv_codeplug.cc:493
virtual unsigned wfmChannelIndex() const
Returns the wide-FM (broadcast) channel index.
Definition: d578uv_codeplug.cc:412
void enableCallEndPrompt(bool enable)
Enables/disables the call-end prompt.
Definition: d578uv_codeplug.cc:630
bool defaultChannel() const
Returns true if the default boot channel is enabled.
Definition: d578uv_codeplug.cc:1175
virtual bool btHoldTimeEnabled() const
Returns true, if the bluetooth hold time is enabled.
Definition: d578uv_codeplug.cc:1526
bool dmrTalkPermit() const
Returns true if the talk permit tone is enabled for digital channels.
Definition: d578uv_codeplug.cc:563
virtual void setFuncKey4Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 4 long press.
Definition: d578uv_codeplug.cc:1447
void setAutoRepeaterDirectionA(AnytoneAutoRepeaterSettingsExtension::Direction dir)
Sets the auto-repeater offset direction for VFO A.
Definition: d578uv_codeplug.cc:693
void setFuncKeyALong(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 1.
Definition: d578uv_codeplug.cc:1474
virtual bool bluetooth() const
Returns true if bluetooth is enabled.
Definition: d578uv_codeplug.cc:969
unsigned memoryZoneB() const
Returns the memory zone for VFO B.
Definition: d578uv_codeplug.cc:438
void setFuncKey2Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 2.
Definition: d578uv_codeplug.cc:1339
virtual void setAutoRoamPeriod(Interval min)
Sets the auto roaming period in minutes.
Definition: d578uv_codeplug.cc:1056
virtual AnytoneKeySettingsExtension::KeyFunction funcKey4Long() const
Returns the function for programmable function key 4 long press.
Definition: d578uv_codeplug.cc:1443
virtual unsigned int btSpeakerGain() const
Returns the bluetooth speaker gain [1,10].
Definition: d578uv_codeplug.cc:1024
Interval longPressDuration() const
Returns the long-press duration in ms.
Definition: d578uv_codeplug.cc:671
void enableVFOModeB(bool enable)
Enables/disables VFO mode for VFO B.
Definition: d578uv_codeplug.cc:346
void setDefaultZoneIndexB(unsigned idx)
Sets the default zone (0-based) for VFO B.
Definition: d578uv_codeplug.cc:1197
virtual void setPriorityZoneBIndex(unsigned idx)
Sets the priority zone B index.
Definition: d578uv_codeplug.cc:955
void setMenuExitTime(Interval intv)
Sets the menu exit time in seconds.
Definition: d578uv_codeplug.cc:603
virtual Interval btHoldTime() const
Returns the bluetooth hold time.
Definition: d578uv_codeplug.cc:1534
bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err)
Links the general settings.
Definition: d578uv_codeplug.cc:1756
virtual bool monitorTimeSlotHold() const
Returns true if the monitor holds the time slot.
Definition: d578uv_codeplug.cc:725
bool gps() const
Returns true if GPS is enabled.
Definition: d578uv_codeplug.cc:475
virtual void setFuncKey4Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 4 short press.
Definition: d578uv_codeplug.cc:1357
virtual void setFuncKey6Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 6 long press.
Definition: d578uv_codeplug.cc:1465
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyDLong() const
Returns the function for programmable function key D long press.
Definition: d578uv_codeplug.cc:1497
virtual Interval btRXDelay() const
Returns the bluetooth RX delay in ms.
Definition: d578uv_codeplug.cc:1552
bool vfoModeB() const
Returns true if the VFO B is in VFO mode.
Definition: d578uv_codeplug.cc:342
bool fromConfig(const Flags &flags, Context &ctx)
Encodes the general settings.
Definition: d578uv_codeplug.cc:1568
virtual void enableWFMVFO(bool enable)
Enables/disables VFO mode for WFM RX.
Definition: d578uv_codeplug.cc:424
virtual void setWakeHeadPeriod(Interval ms)
Sets the wake head-period in ms.
Definition: d578uv_codeplug.cc:407
void setFuncKeyBShort(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 2/B.
Definition: d578uv_codeplug.cc:1393
virtual bool btAndInternalSpeaker() const
Returns true if the internal speaker is additionally active when BT is active.
Definition: d578uv_codeplug.cc:987
virtual bool roaming() const
Returns true if roaming is enabled.
Definition: d578uv_codeplug.cc:1317
void enableVolumeChangePrompt(bool enable)
Enables/disables the volume change prompt.
Definition: d578uv_codeplug.cc:684
AnytoneKeySettingsExtension::KeyFunction funcKeyBLong() const
Returns the key function for a long press on the function key 2.
Definition: d578uv_codeplug.cc:1479
unsigned autoRepeaterOffsetFrequencyIndexUHF() const
Returns the auto-repeater offset frequency index for UHF.
Definition: d578uv_codeplug.cc:819
virtual void setSMSFormat(AnytoneDMRSettingsExtension::SMSFormat fmt)
Sets the SMS format.
Definition: d578uv_codeplug.cc:1152
void setCallToneMelody(const Melody &melody)
Sets the call-tone melody.
Definition: d578uv_codeplug.cc:893
virtual void setBTRXDelay(Interval delay)
Sets the bluetooth RX delay in ms.
Definition: d578uv_codeplug.cc:1558
virtual bool remoteMonitor() const
Returns true remote monitor is enabled.
Definition: d578uv_codeplug.cc:653
virtual AnytoneKeySettingsExtension::KeyFunction funcKey3Long() const
Returns the function for programmable function key 3 long press.
Definition: d578uv_codeplug.cc:1434
void enableRecording(bool enable)
Enables/disables recording.
Definition: d578uv_codeplug.cc:460
Frequency maxVFOScanFrequencyVHF() const
Returns the maximum VFO scan frequency for the VHF band in Hz.
Definition: d578uv_codeplug.cc:806
void enableGPSUnitsImperial(bool enable)
Enables/disables imperial GPS units.
Definition: d578uv_codeplug.cc:1074
virtual unsigned transmitTimeout() const
Returns the transmit timeout in seconds.
Definition: d578uv_codeplug.cc:294
void enableIdleChannelTone(bool enable)
Enables/disables the idle channel tone.
Definition: d578uv_codeplug.cc:594
void setAutoRepeaterMaxFrequencyVHF(Frequency Hz)
Sets the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition: d578uv_codeplug.cc:861
virtual bool filterOwnID() const
Returns true if the own ID is filtered in call lists.
Definition: d578uv_codeplug.cc:608
virtual AnytoneKeySettingsExtension::KeyFunction funcKey5Short() const
Returns the function for programmable function key 5 short press.
Definition: d578uv_codeplug.cc:1362
virtual unsigned priorityZoneAIndex() const
Returns the priority Zone A index.
Definition: d578uv_codeplug.cc:943
void setMaxVFOScanFrequencyUHF(Frequency hz)
Sets the maximum VFO scan frequency for the UHF band in Hz.
Definition: d578uv_codeplug.cc:792
virtual void setChannelNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color.
Definition: d578uv_codeplug.cc:1303
void setAutoRepeaterOffsetFrequenyIndexVHF(unsigned idx)
Sets the auto-repeater offset frequency index for VHF.
Definition: d578uv_codeplug.cc:840
virtual AnytoneDisplaySettingsExtension::Language language() const
Returns the UI language.
Definition: d578uv_codeplug.cc:303
virtual void setRoamingStartCondition(AnytoneRoamingSettingsExtension::RoamStart cond)
Sets the roaming start condition.
Definition: d578uv_codeplug.cc:1276
virtual bool repeaterRangeCheck() const
Returns true if repeater range check is enabled.
Definition: d578uv_codeplug.cc:1245
bool displayClock() const
Returns true if the clock is shown.
Definition: d578uv_codeplug.cc:752
virtual unsigned fmCallHold() const
Returns the analog call hold in seconds.
Definition: d578uv_codeplug.cc:743
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyDShort() const
Returns the function for programmable function key D short press.
Definition: d578uv_codeplug.cc:1407
AnytoneDisplaySettingsExtension::Color callDisplayColor() const
Returns the display color for callsigns.
Definition: d578uv_codeplug.cc:1061
virtual void setPreWaveDelay(Interval ms)
Sets the pre-wave time in ms.
Definition: d578uv_codeplug.cc:399
bool keepLastCaller() const
Returns true if the last caller is kept when changing channel.
Definition: d578uv_codeplug.cc:1290
virtual Interval groupCallHangTime() const
Returns the group call hang time in seconds.
Definition: d578uv_codeplug.cc:379
virtual void enableBTAndInternalSpeaker(bool enable)
Enables/disables the internal speaker when BT is active.
Definition: d578uv_codeplug.cc:991
virtual void setRepeaterCheckNumNotifications(unsigned num)
Sets the number of repeater check notifications.
Definition: d578uv_codeplug.cc:1511
void enableStartupTone(bool enable)
Enables/disables the startup tone.
Definition: d578uv_codeplug.cc:621
AnytoneKeySettingsExtension::KeyFunction funcKeyBShort() const
Returns the key function for a short press on the function key 2/B.
Definition: d578uv_codeplug.cc:1389
void callToneMelody(Melody &melody) const
Returns the call-tone melody.
Definition: d578uv_codeplug.cc:883
virtual bool pluginRecTone() const
Returns true if the plug-in record tone is enabled.
Definition: d578uv_codeplug.cc:996
virtual bool btAndInternalMic() const
Returns true if the internal mic is additionally active when BT is active.
Definition: d578uv_codeplug.cc:978
void enableKeepLastCaller(bool enable)
Enables/disables keeping the last caller when changing the channel.
Definition: d578uv_codeplug.cc:1294
virtual void enableRemoteStunKill(bool enable)
Enables/disables remote stun/kill.
Definition: d578uv_codeplug.cc:648
AnytoneKeySettingsExtension::KeyFunction funcKey2Long() const
Returns the key function for a long press on the function key 2.
Definition: d578uv_codeplug.cc:1425
virtual void setGroupCallHangTime(Interval sec)
Sets the group call hang time in seconds.
Definition: d578uv_codeplug.cc:383
virtual bool btHoldTimeInfinite() const
Returns true, if the bluetooth hold time is infinite.
Definition: d578uv_codeplug.cc:1530
TBSTFrequency
TBST (open repeater) frequencies.
Definition: d578uv_codeplug.hh:298
bool keypadLock() const
Returns true if the keypad is locked.
Definition: d578uv_codeplug.cc:1087
Frequency autoRepeaterMinFrequencyVHF() const
Returns the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition: d578uv_codeplug.cc:849
Frequency minVFOScanFrequencyVHF() const
Returns the minimum VFO scan frequency for the VHF band in Hz.
Definition: d578uv_codeplug.cc:797
virtual void enableGPSMessage(bool enable)
Enables/disables GPS range reporting.
Definition: d578uv_codeplug.cc:765
virtual void setRepeaterRangeCheckInterval(Interval sec)
Sets the repeater range check interval in seconds.
Definition: d578uv_codeplug.cc:1258
Represents the hot-key settings of the radio within the D578UV binary codeplug.
Definition: d578uv_codeplug.hh:961
static constexpr unsigned int size()
The size of the element.
Definition: d578uv_codeplug.hh:971
HotKeySettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: d578uv_codeplug.cc:1789
uint8_t * hotKeySetting(unsigned int n) const
Returns a pointer to the n-th hot key setting.
Definition: d578uv_codeplug.cc:1802
Represents the device specific binary codeplug for Anytone AT-D578UV radios.
Definition: d578uv_codeplug.hh:201
bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode channels into codeplug.
Definition: d578uv_codeplug.cc:1902
void allocateHotKeySettings()
Allocates hot key settings memory section.
Definition: d578uv_codeplug.cc:1897
bool encodeContacts(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode contacts into codeplug.
Definition: d578uv_codeplug.cc:1983
D578UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition: d578uv_codeplug.cc:1867
void allocateContacts()
Allocate contacts from bitmaps.
Definition: d578uv_codeplug.cc:1959
bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Link the general settings.
Definition: d578uv_codeplug.cc:2038
bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Create channels from codeplug.
Definition: d578uv_codeplug.cc:1917
bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the general settings section.
Definition: d578uv_codeplug.cc:2029
bool allocateBitmaps()
Allocates the bitmaps.
Definition: d578uv_codeplug.cc:1879
void allocateGeneralSettings()
Allocates general settings memory section.
Definition: d578uv_codeplug.cc:2012
bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the general settings section.
Definition: d578uv_codeplug.cc:2020
virtual void allocateAirBand()
Allocates the air-band channels und VFO settings.
Definition: d578uv_codeplug.cc:2053
void allocateUpdated()
Allocate all code-plug elements that must be written back to the device to maintain a working codeplu...
Definition: d578uv_codeplug.cc:1890
bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Link channels.
Definition: d578uv_codeplug.cc:1938
Represents the actual channel encoded within the binary D878UV codeplug.
Definition: d878uv_codeplug.hh:274
Represents the device specific binary codeplug for Anytone AT-D878UV radios.
Definition: d878uv_codeplug.hh:230
Represents a digital contact, that is a DMR number.
Definition: contact.hh:141
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition: errorstack.hh:41
This class represents a GPS signalling system within the codeplug.
Definition: gpssystem.hh:64
Represents a time interval.
Definition: interval.hh:11
A config item that encodes a melody.
Definition: melody.hh:20
Generic representation of a RX group list.
Definition: rxgrouplist.hh:14
Represents the common radio-global settings.
Definition: radiosettings.hh:14
Generic representation of a scan list.
Definition: scanlist.hh:15
Represents a zone within the generic configuration.
Definition: zone.hh:15
Internal used offsets within the element.
Definition: anytone_codeplug.hh:1162
Some limits of the channel.
Definition: d578uv_codeplug.hh:1015
static constexpr unsigned int nameLength()
Maximum name length.
Definition: d578uv_codeplug.hh:1016
Internal used offsets within the element.
Definition: d578uv_codeplug.hh:1021
Device specific key functions.
Definition: d578uv_codeplug.hh:259
KeyFunctionCode
Encoded key functions.
Definition: d578uv_codeplug.hh:268
static uint8_t encode(AnytoneKeySettingsExtension::KeyFunction tone)
Encodes key function.
Definition: d578uv_codeplug.cc:110
static AnytoneKeySettingsExtension::KeyFunction decode(uint8_t code)
Decodes key function.
Definition: d578uv_codeplug.cc:175
Some internal offsets.
Definition: d578uv_codeplug.hh:801
Device specific time zones.
Definition: d578uv_codeplug.hh:285
static QVector< QTimeZone > _timeZones
Vector of possible time-zones.
Definition: d578uv_codeplug.hh:294
static QTimeZone decode(uint8_t code)
Decodes time zone.
Definition: d578uv_codeplug.cc:256
static uint8_t encode(const QTimeZone &zone)
Encodes time zone.
Definition: d578uv_codeplug.cc:262
Some limits for this element.
Definition: d578uv_codeplug.hh:977
static constexpr unsigned int numEntries()
Maximum number of hot-key entries.
Definition: d578uv_codeplug.hh:978
Some limtis for the codeplug.
Definition: d578uv_codeplug.hh:1077
static constexpr unsigned int airBandChannels()
Maximum number of air-band channels.
Definition: d578uv_codeplug.hh:1079
Internal used offsets within the codeplug.
Definition: d578uv_codeplug.hh:1084
Some limits.
Definition: d878uv_codeplug.hh:1926
Internal offsets within the codeplug.
Definition: d878uv_codeplug.hh:1935
Helper type to encode frequencies without any rounding error.
Definition: frequency.hh:11