libdrmconf  0.12.0
A library to program DMR radios.
d878uv_codeplug.hh
1 #ifndef D878UV_CODEPLUG_HH
2 #define D878UV_CODEPLUG_HH
3 
4 #include <QDateTime>
5 
6 #include "d868uv_codeplug.hh"
7 #include "signaling.hh"
8 #include "gpssystem.hh"
9 
10 class Channel;
11 class DMRContact;
12 class Zone;
13 class RXGroupList;
14 class ScanList;
15 class GPSSystem;
16 class RoamingChannel;
17 
18 
232 {
233  Q_OBJECT
234 
235 protected:
237  struct NameColor {
238  public:
240  static AnytoneDisplaySettingsExtension::Color decode(uint8_t code);
242  static uint8_t encode(AnytoneDisplaySettingsExtension::Color color);
243 
244  protected:
246  typedef enum {
247  Orange=0, Red=1, Yellow=2, Green=3, Turquoise=4, Blue=5, White = 6
248  } CodedColor;
249  };
250 
252  struct TextColor {
253  public:
255  static AnytoneDisplaySettingsExtension::Color decode(uint8_t code);
257  static uint8_t encode(AnytoneDisplaySettingsExtension::Color color);
258 
259  protected:
261  typedef enum {
262  White=0, Black=1, Orange=2, Red=3, Yellow=4, Green=5, Turquoise=6, Blue=7
263  } CodedColor;
264  };
265 
266 public:
276  {
277  public:
279  enum class PTTId {
280  Off = 0,
281  Start = 1,
282  End = 2,
283  Both = 3
284  };
285 
287  enum class APRSPTT {
288  Off = 0,
289  Start = 1,
290  End = 2
291  };
292 
293  protected:
295  ChannelElement(uint8_t *ptr, unsigned size);
296 
297  public:
299  explicit ChannelElement(uint8_t *ptr);
300 
302  void clear();
303 
305  virtual PTTId pttIDSetting() const;
307  virtual void setPTTIDSetting(PTTId ptt);
308 
310  virtual bool roamingEnabled() const;
312  virtual void enableRoaming(bool enable);
313  // Moved
315  bool dataACK() const;
317  void enableDataACK(bool enable);
318 
320  bool txDigitalAPRS() const;
322  void enableTXDigitalAPRS(bool enable);
324  virtual bool txAnalogAPRS() const;
326  virtual void enableTXAnalogAPRS(bool enable);
327 
329  virtual APRSPTT analogAPRSPTTSetting() const;
331  virtual void setAnalogAPRSPTTSetting(APRSPTT ptt);
333  virtual APRSPTT digitalAPRSPTTSetting() const;
335  virtual void setDigitalAPRSPTTSetting(APRSPTT ptt);
336 
338  virtual unsigned digitalAPRSSystemIndex() const;
340  virtual void setDigitalAPRSSystemIndex(unsigned idx);
341 
343  virtual int frequenyCorrection() const;
345  virtual void setFrequencyCorrection(int corr);
346 
348  virtual unsigned int fmAPRSFrequencyIndex() const;
350  virtual void setFMAPRSFrequencyIndex(unsigned int idx);
351 
353  Channel *toChannelObj(Context &ctx) const;
355  bool linkChannelObj(Channel *c, Context &ctx) const;
357  bool fromChannelObj(const Channel *c, Context &ctx);
358 
359  protected:
363  static constexpr unsigned int pttIDSetting() { return 0x0019; }
364  static constexpr unsigned int roamingEnabled() { return 0x0034; }
365  static constexpr unsigned int dataACK() { return 0x0034; }
366  static constexpr unsigned int txDMRAPRS() { return 0x0035; }
367  static constexpr unsigned int fmAPRSPTTSetting() { return 0x0036; }
368  static constexpr unsigned int dmrAPRSPTTSetting() { return 0x0037; }
369  static constexpr unsigned int dmrAPRSSystemIndex() { return 0x0038; }
370  static constexpr unsigned int frequenyCorrection() { return 0x0039; }
371  static constexpr unsigned int fmAPRSFrequencyIndex() { return 0x003c; }
373  };
374  };
375 
384  {
385  protected:
387  struct KeyFunction {
388  public:
393 
394  protected:
396  typedef enum {
397  Off = 0x00, Voltage = 0x01, Power = 0x02, Repeater = 0x03, Reverse = 0x04,
398  Encryption = 0x05, Call = 0x06, VOX = 0x07, ToggleVFO = 0x08, SubPTT = 0x09,
399  Scan = 0x0a, WFM = 0x0b, Alarm = 0x0c, RecordSwitch = 0x0d, Record = 0x0e, SMS = 0x0f,
400  Dial = 0x10, Monitor = 0x12, ToggleMainChannel = 0x13, HotKey1 = 0x14,
401  HotKey2 = 0x15, HotKey3 = 0x16, HotKey4 = 0x17, HotKey5 = 0x18, HotKey6 = 0x19,
402  WorkAlone = 0x1a, SkipChannel = 0x1b, DMRMonitor = 0x1c, SubChannel = 0x1d,
403  PriorityZone = 0x1e, VFOScan = 0x1f, MICSoundQuality = 0x20, LastCallReply = 0x21,
404  ChannelType = 0x22, Roaming = 0x24, ChannelRanging = 0x25, MaxVolume = 0x26, Slot = 0x27,
405  APRSType = 0x28, Zone = 0x29, RoamingSet = 0x2a, APRSSet = 0x2b, Mute=0x2c,
406  CtcssDcsSet=0x2d, TBSTSend = 0x2e, Bluetooth = 0x2f, GPS = 0x30,
407  ChannelName = 0x31, CDTScan = 0x32, APRSSend = 0x33, APRSInfo = 0x34
408  } KeyFunctionCode;
409  };
410 
412  struct TimeZone {
413  public:
415  static uint8_t encode(const QTimeZone& zone);
417  static QTimeZone decode(uint8_t code);
418 
419  protected:
421  static QVector<QTimeZone> _timeZones;
422  };
423 
424  protected:
426  enum FreqStep {
434  FREQ_STEP_50kHz = 7
435  };
436 
439  DTMF_DUR_50ms = 0, DTMF_DUR_100ms = 1, DTMF_DUR_200ms = 2, DTMF_DUR_300ms = 3, DTMF_DUR_500ms = 4
440  };
441 
443  enum class TBSTFrequency {
444  Hz1000 = 0, Hz1450 = 1, Hz1750 = 2, Hz2100 = 3
445  };
446 
448  enum class STEFrequency {
449  Off = 0, Hz55_2 = 1, Hz259_2 = 2
450  };
451 
453  enum class BackgroundImage {
454  Default=0, Custom1=1, Custom2=2
455  };
456 
457  protected:
459  GeneralSettingsElement(uint8_t *ptr, unsigned size);
460 
461  public:
463  GeneralSettingsElement(uint8_t *ptr);
464 
466  static constexpr unsigned int size() { return 0x00f0; }
467 
469  void clear();
470 
472  virtual unsigned transmitTimeout() const;
474  virtual void setTransmitTimeout(unsigned tot);
475 
480 
481  QTimeZone gpsTimeZone() const;
482  void setGPSTimeZone(const QTimeZone &zone);
483 
485  virtual Frequency vfoFrequencyStep() const;
487  virtual void setVFOFrequencyStep(Frequency kHz);
488 
509 
516  virtual double steFrequency() const;
519  virtual void setSTEFrequency(double freq);
520 
522  virtual Interval groupCallHangTime() const;
524  virtual void setGroupCallHangTime(Interval sec);
526  virtual Interval privateCallHangTime() const;
528  virtual void setPrivateCallHangTime(Interval sec);
529 
531  virtual Interval preWaveDelay() const;
533  virtual void setPreWaveDelay(Interval ms);
535  virtual Interval wakeHeadPeriod() const;
537  virtual void setWakeHeadPeriod(Interval ms);
538 
540  virtual unsigned wfmChannelIndex() const;
542  virtual void setWFMChannelIndex(unsigned idx);
544  virtual bool wfmVFOEnabled() const;
546  virtual void enableWFMVFO(bool enable);
547 
549  virtual unsigned dtmfToneDuration() const;
551  virtual void setDTMFToneDuration(unsigned ms);
552 
554  virtual bool manDown() const;
556  virtual void enableManDown(bool enable);
557 
559  virtual bool wfmMonitor() const;
561  virtual void enableWFMMonitor(bool enable);
562 
564  virtual Frequency tbstFrequency() const;
566  virtual void setTBSTFrequency(Frequency freq);
567 
569  virtual bool proMode() const;
571  virtual void enableProMode(bool enable);
572 
574  virtual bool filterOwnID() const;
576  virtual void enableFilterOwnID(bool enable);
578  virtual bool remoteStunKill() const;
580  virtual void enableRemoteStunKill(bool enable);
582  virtual bool remoteMonitor() const;
584  virtual void enableRemoteMonitor(bool enable);
585 
587  virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const;
589  virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match);
591  virtual bool monitorColorCodeMatch() const;
593  virtual void enableMonitorColorCodeMatch(bool enable);
595  virtual bool monitorIDMatch() const;
597  virtual void enableMonitorIDMatch(bool enable);
599  virtual bool monitorTimeSlotHold() const;
601  virtual void enableMonitorTimeSlotHold(bool enable);
602 
604  virtual Interval manDownDelay() const;
606  virtual void setManDownDelay(Interval sec);
608  virtual unsigned fmCallHold() const;
610  virtual void setFMCallHold(unsigned sec);
611 
613  virtual bool gpsMessageEnabled() const;
615  virtual void enableGPSMessage(bool enable);
616 
618  virtual bool maintainCallChannel() const;
620  virtual void enableMaintainCallChannel(bool enable);
621 
623  virtual unsigned priorityZoneAIndex() const;
625  virtual void setPriorityZoneAIndex(unsigned idx);
627  virtual unsigned priorityZoneBIndex() const;
629  virtual void setPriorityZoneBIndex(unsigned idx);
630 
632  virtual bool bluetooth() const;
634  virtual void enableBluetooth(bool enable);
635 
637  virtual bool btAndInternalMic() const;
639  virtual void enableBTAndInternalMic(bool enable);
640 
642  virtual bool btAndInternalSpeaker() const;
644  virtual void enableBTAndInternalSpeaker(bool enable);
645 
647  virtual bool pluginRecTone() const;
649  virtual void enablePluginRecTone(bool enable);
650 
652  virtual Interval gpsUpdatePeriod() const;
654  virtual void setGPSUpdatePeriod(Interval sec);
655 
657  virtual unsigned int btMicGain() const;
659  virtual void setBTMicGain(unsigned int gain);
661  virtual unsigned int btSpeakerGain() const;
663  virtual void setBTSpeakerGain(unsigned int gain);
664 
666  virtual bool displayChannelNumber() const;
668  virtual void enableDisplayChannelNumber(bool enable);
669 
670  bool showCurrentContact() const;
671  void enableShowCurrentContact(bool enable);
672 
674  virtual Interval autoRoamPeriod() const;
676  virtual void setAutoRoamPeriod(Interval min);
677 
678  bool keyToneLevelAdjustable() const;
679  unsigned keyToneLevel() const;
680  void setKeyToneLevel(unsigned level);
682 
685 
686  bool gpsUnitsImperial() const;
687  void enableGPSUnitsImperial(bool enable);
688 
689  bool knobLock() const;
690  void enableKnobLock(bool enable);
691  bool keypadLock() const;
692  void enableKeypadLock(bool enable);
693  bool sidekeysLock() const;
694  void enableSidekeysLock(bool enable);
695  bool keyLockForced() const;
696  void enableKeyLockForced(bool enable);
697 
699  virtual Interval autoRoamDelay() const;
701  virtual void setAutoRoamDelay(Interval sec);
702 
708  virtual BackgroundImage standbyBackgroundImage() const;
711 
712  bool showLastHeard() const;
713  void enableShowLastHeard(bool enable);
714 
716  virtual AnytoneDMRSettingsExtension::SMSFormat smsFormat() const;
718  virtual void setSMSFormat(AnytoneDMRSettingsExtension::SMSFormat fmt);
719 
721  virtual Frequency autoRepeaterMinFrequencyVHF() const;
723  virtual void setAutoRepeaterMinFrequencyVHF(Frequency Hz);
725  virtual Frequency autoRepeaterMaxFrequencyVHF() const;
727  virtual void setAutoRepeaterMaxFrequencyVHF(Frequency Hz);
728 
730  virtual Frequency autoRepeaterMinFrequencyUHF() const;
732  virtual void setAutoRepeaterMinFrequencyUHF(Frequency Hz);
734  virtual Frequency autoRepeaterMaxFrequencyUHF() const;
736  virtual void setAutoRepeaterMaxFrequencyUHF(Frequency Hz);
737 
742 
744  virtual bool fmSendIDAndContact() const;
746  virtual void enableFMSendIDAndContact(bool enable);
747 
748  bool defaultChannel() const;
749  void enableDefaultChannel(bool enable);
750  unsigned defaultZoneIndexA() const;
751  void setDefaultZoneIndexA(unsigned idx);
752  unsigned defaultZoneIndexB() const;
753  void setDefaultZoneIndexB(unsigned idx);
754  bool defaultChannelAIsVFO() const;
755  unsigned defaultChannelAIndex() const;
756  void setDefaultChannelAIndex(unsigned idx);
758  bool defaultChannelBIsVFO() const;
759  unsigned defaultChannelBIndex() const;
760  void setDefaultChannelBIndex(unsigned idx);
762 
764  virtual unsigned defaultRoamingZoneIndex() const;
766  virtual void setDefaultRoamingZoneIndex(unsigned idx);
767 
769  virtual bool repeaterRangeCheck() const;
771  virtual void enableRepeaterRangeCheck(bool enable);
773  virtual Interval repeaterRangeCheckInterval() const;
775  virtual void setRepeaterRangeCheckInterval(Interval sec);
777  virtual unsigned repeaterRangeCheckCount() const;
779  virtual void setRepeaterRangeCheckCount(unsigned n);
780 
785 
787  virtual Interval txBacklightDuration() const;
789  virtual void setTXBacklightDuration(Interval sec);
790 
792  virtual bool separateDisplay() const;
794  virtual void enableSeparateDisplay(bool enable);
795 
796  bool keepLastCaller() const;
797  void enableKeepLastCaller(bool enable);
798 
803 
805  virtual bool repeaterCheckNotification() const;
807  virtual void enableRepeaterCheckNotification(bool enable);
808 
813 
815  virtual bool roaming() const;
817  virtual void enableRoaming(bool enable);
818 
820  virtual Interval muteDelay() const;
822  virtual void setMuteDelay(Interval min);
823 
825  virtual unsigned repeaterCheckNumNotifications() const;
827  virtual void setRepeaterCheckNumNotifications(unsigned num);
828 
830  virtual bool bootGPSCheck() const;
832  virtual void enableBootGPSCheck(bool enable);
834  virtual bool bootReset() const;
836  virtual void enableBootReset(bool enable);
837 
839  virtual bool btHoldTimeEnabled() const;
841  virtual bool btHoldTimeInfinite() const;
843  virtual Interval btHoldTime() const;
845  virtual void setBTHoldTime(Interval interval);
847  virtual void setBTHoldTimeInfinite();
849  virtual void disableBTHoldTime();
850 
852  virtual Interval btRXDelay() const;
854  virtual void setBTRXDelay(Interval delay);
855 
856  bool fromConfig(const Flags &flags, Context &ctx);
857  bool updateConfig(Context &ctx);
858  bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err);
859 
860  protected:
864  static constexpr unsigned int transmitTimeout() { return 0x0004; }
865  static constexpr unsigned int language() { return 0x0005; }
866  static constexpr unsigned int vfoFrequencyStep() { return 0x0008; }
867  static constexpr unsigned int steType() { return 0x0017; }
868  static constexpr unsigned int steFrequency() { return 0x0018; }
869  static constexpr unsigned int groupCallHangTime() { return 0x0019; }
870  static constexpr unsigned int privateCallHangTime() { return 0x001a; }
871  static constexpr unsigned int preWaveDelay() { return 0x001b; }
872  static constexpr unsigned int wakeHeadPeriod() { return 0x001c; }
873  static constexpr unsigned int wfmChannelIndex() { return 0x001d; }
874  static constexpr unsigned int wfmVFOEnabled() { return 0x001e; }
875  static constexpr unsigned int dtmfToneDuration() { return 0x0023; }
876  static constexpr unsigned int manDown() { return 0x0024; }
877  static constexpr unsigned int wfmMonitor() { return 0x002b; }
878  static constexpr unsigned int tbstFrequency() { return 0x002e; }
879  static constexpr unsigned int proMode() { return 0x0034; }
880  static constexpr unsigned int filterOwnID() { return 0x0038; }
881  static constexpr unsigned int remoteStunKill() { return 0x003c; }
882  static constexpr unsigned int remoteMonitor() { return 0x003e; }
883  static constexpr unsigned int monSlotMatch() { return 0x0049; }
884  static constexpr unsigned int monColorCodeMatch() { return 0x004a; }
885  static constexpr unsigned int monIDMatch() { return 0x004b; }
886  static constexpr unsigned int monTimeSlotHold() { return 0x004c; }
887  static constexpr unsigned int manDownDelay() { return 0x004f; }
888  static constexpr unsigned int fmCallHold() { return 0x0050; }
889  static constexpr unsigned int enableGPSMessage() { return 0x0053; }
890  static constexpr unsigned int maintainCallChannel() { return 0x006e; }
891  static constexpr unsigned int priorityZoneA() { return 0x006f; }
892  static constexpr unsigned int priorityZoneB() { return 0x0070; }
893  static constexpr unsigned int bluetooth() { return 0x00b1; }
894  static constexpr unsigned int btAndInternalMic() { return 0x00b2; }
895  static constexpr unsigned int btAndInternalSpeaker(){ return 0x00b3; }
896  static constexpr unsigned int pluginRecTone() { return 0x00b4; }
897  static constexpr unsigned int gpsRangingInterval() { return 0x00b5; }
898  static constexpr unsigned int btMicGain() { return 0x00b6; }
899  static constexpr unsigned int btSpeakerGain() { return 0x00b7; }
900  static constexpr unsigned int showChannelNumber() { return 0x00b8; }
901  static constexpr unsigned int showCurrentContact() { return 0x00b9; }
902  static constexpr unsigned int autoRoamPeriod() { return 0x00ba; }
903  static constexpr unsigned int keyToneLevel() { return 0x00bb; }
904  static constexpr unsigned int callColor() { return 0x00bc; }
905  static constexpr unsigned int gpsUnits() { return 0x00bd; }
906  static constexpr unsigned int knobLock() { return 0x00be; }
907  static constexpr unsigned int keypadLock() { return 0x00be; }
908  static constexpr unsigned int sideKeyLock() { return 0x00be; }
909  static constexpr unsigned int forceKeyLock() { return 0x00be; }
910  static constexpr unsigned int autoRoamDelay() { return 0x00bf; }
911  static constexpr unsigned int standbyTextColor() { return 0x00c0; }
912  static constexpr unsigned int standbyBackground() { return 0x00c1; }
913  static constexpr unsigned int showLastHeard() { return 0x00c2; }
914  static constexpr unsigned int smsFormat() { return 0x00c3; }
915  static constexpr unsigned int autoRepMinVHF() { return 0x00c4; }
916  static constexpr unsigned int autoRepMaxVHF() { return 0x00c8; }
917  static constexpr unsigned int autoRepMinUHF() { return 0x00cc; }
918  static constexpr unsigned int autoRepMaxUHF() { return 0x00d0; }
919  static constexpr unsigned int autoRepeaterDirB() { return 0x00d4; }
920  static constexpr unsigned int fmSendIDAndContact() { return 0x00d5; }
921  static constexpr unsigned int defaultChannels() { return 0x00d7; }
922  static constexpr unsigned int defaultZoneA() { return 0x00d8; }
923  static constexpr unsigned int defaultZoneB() { return 0x00d9; }
924  static constexpr unsigned int defaultChannelA() { return 0x00da; }
925  static constexpr unsigned int defaultChannelB() { return 0x00db; }
926  static constexpr unsigned int defaultRoamingZone() { return 0x00dc; }
927  static constexpr unsigned int repRangeCheck() { return 0x00dd; }
928  static constexpr unsigned int rangeCheckInterval() { return 0x00de; }
929  static constexpr unsigned int rangeCheckCount() { return 0x00df; }
930  static constexpr unsigned int roamStartCondition() { return 0x00e0; }
931  static constexpr unsigned int txBacklightDuration() { return 0x00e1; }
932  static constexpr unsigned int displaySeparator() { return 0x00e2; }
933  static constexpr unsigned int keepLastCaller() { return 0x00e3; }
934  static constexpr unsigned int channelNameColor() { return 0x00e4; }
935  static constexpr unsigned int repCheckNotify() { return 0x00e5; }
936  static constexpr unsigned int rxBacklightDuration() { return 0x00e6; }
937  static constexpr unsigned int roaming() { return 0x00e7; }
938  static constexpr unsigned int muteDelay() { return 0x00e9; }
939  static constexpr unsigned int repCheckNumNotify() { return 0x00ea; }
940  static constexpr unsigned int bootGPSCheck() { return 0x00eb; }
941  static constexpr unsigned int bootReset() { return 0x00ec; }
942  static constexpr unsigned int btHoldTime() { return 0x00ed; }
943  static constexpr unsigned int btRXDelay() { return 0x00ee; }
945  };
946  };
947 
953  {
954  protected:
956  ExtendedSettingsElement(uint8_t *ptr, unsigned size);
957 
958  public:
960  explicit ExtendedSettingsElement(uint8_t *ptr);
961 
963  static constexpr unsigned int size() { return 0x00000200; }
964 
966  void clear();
967 
968  bool sendTalkerAlias() const;
969  void enableSendTalkerAlias(bool enable);
970 
971  AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const;
972  void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode);
973 
974  AnytoneDMRSettingsExtension::TalkerAliasEncoding talkerAliasEncoding() const;
975  void setTalkerAliasEncoding(AnytoneDMRSettingsExtension::TalkerAliasEncoding encoding);
976 
978  virtual bool bluetoothPTTLatch() const;
980  virtual void enableBluetoothPTTLatch(bool enable);
981 
983  virtual bool infiniteBluetoothPTTSleepDelay() const;
985  virtual Interval bluetoothPTTSleepDelay() const;
987  virtual void setBluetoothPTTSleepDelay(Interval delay);
989  virtual void setInfiniteBluetoothPTTSleepDelay();
990 
992  virtual bool hasAutoRepeaterUHF2OffsetIndex() const;
994  virtual unsigned autoRepeaterUHF2OffsetIndex() const;
996  virtual void setAutoRepeaterUHF2OffsetIndex(unsigned idx);
998  virtual void clearAutoRepeaterUHF2OffsetIndex();
999 
1001  virtual bool hasAutoRepeaterVHF2OffsetIndex() const;
1003  virtual unsigned autoRepeaterVHF2OffsetIndex() const;
1005  virtual void setAutoRepeaterVHF2OffsetIndex(unsigned idx);
1007  virtual void clearAutoRepeaterVHF2OffsetIndex();
1008 
1010  virtual Frequency autoRepeaterVHF2MinFrequency() const;
1012  virtual void setAutoRepeaterVHF2MinFrequency(Frequency hz);
1014  virtual Frequency autoRepeaterVHF2MaxFrequency() const;
1016  virtual void setAutoRepeaterVHF2MaxFrequency(Frequency hz);
1018  virtual Frequency autoRepeaterUHF2MinFrequency() const;
1020  virtual void setAutoRepeaterUHF2MinFrequency(Frequency hz);
1022  virtual Frequency autoRepeaterUHF2MaxFrequency() const;
1024  virtual void setAutoRepeaterUHF2MaxFrequency(Frequency hz);
1025 
1030 
1032  virtual Interval steDuration() const;
1034  virtual void setSTEDuration(Interval dur);
1035 
1037  virtual bool infiniteManDialGroupCallHangTime() const;
1039  virtual Interval manDialGroupCallHangTime() const;
1041  virtual void setManDialGroupCallHangTime(Interval dur);
1043  virtual void setManDialGroupCallHangTimeInfinite();
1044 
1046  virtual bool infiniteManDialPrivateCallHangTime() const;
1048  virtual Interval manDialPrivateCallHangTime() const;
1050  virtual void setManDialPrivateCallHangTime(Interval dur);
1053 
1056 
1058  virtual AnytoneDMRSettingsExtension::EncryptionType encryption() const;
1060  virtual void setEncryption(AnytoneDMRSettingsExtension::EncryptionType mode);
1061 
1063  virtual bool totNotification() const;
1065  virtual void enableTOTNotification(bool enable);
1066 
1068  virtual bool atpc() const;
1070  virtual void enableATPC(bool enable);
1071 
1076 
1078  virtual bool resetAutoShutdownOnCall() const;
1080  virtual void enableResetAutoShutdownOnCall(bool enable);
1081 
1083  virtual bool showColorCode() const;
1085  virtual void enableShowColorCode(bool enable);
1087  virtual bool showTimeSlot() const;
1089  virtual void enableShowTimeSlot(bool enable);
1091  virtual bool showChannelType() const;
1093  virtual void enableShowChannelType(bool enable);
1094 
1096  virtual bool fmIdleTone() const;
1098  virtual void enableFMIdleTone(bool enable);
1099 
1104 
1106  virtual unsigned int fmMicGain() const;
1108  virtual void setFMMicGain(unsigned int gain);
1109 
1111  virtual bool gpsRoaming() const;
1113  virtual void enableGPSRoaming(bool enable);
1114 
1116  virtual void callEndToneMelody(Melody &melody) const;
1118  virtual void setCallEndToneMelody(const Melody &melody);
1120  virtual void allCallToneMelody(Melody &melody) const;
1122  virtual void setAllCallToneMelody(const Melody &melody);
1123 
1125  virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1127  virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1129  virtual bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1130 
1131  public:
1133  struct Limit {
1134  static constexpr unsigned int maxBluetoothPTTSleepDelay() { return 4; }
1135  };
1136 
1137  protected:
1139  struct Offset {
1141  static constexpr unsigned int sendTalkerAlias() { return 0x0000; }
1142  static constexpr unsigned int talkerAliasDisplay() { return 0x001e; }
1143  static constexpr unsigned int talkerAliasEncoding() { return 0x001f; }
1144  static constexpr unsigned int btPTTLatch() { return 0x0020; }
1145  static constexpr unsigned int autoRepeaterUHF2OffsetIndex() { return 0x0022; }
1146  static constexpr unsigned int autoRepeaterVHF2OffsetIndex() { return 0x0023; }
1147  static constexpr unsigned int autoRepeaterVHF2MinFrequency() { return 0x0024; }
1148  static constexpr unsigned int autoRepeaterVHF2MaxFrequency() { return 0x0028; }
1149  static constexpr unsigned int autoRepeaterUHF2MinFrequency() { return 0x002c; }
1150  static constexpr unsigned int autoRepeaterUHF2MaxFrequency() { return 0x0030; }
1151  static constexpr unsigned int btPTTSleepDelay() { return 0x0034; }
1152  static constexpr unsigned int gpsMode() { return 0x0035; }
1153  static constexpr unsigned int steDuration() { return 0x0036; }
1154  static constexpr unsigned int manGrpCallHangTime() { return 0x0037; }
1155  static constexpr unsigned int manPrivCallHangTime() { return 0x0038; }
1156  static constexpr unsigned int channelBNameColor() { return 0x0039; }
1157  static constexpr unsigned int encryptionType() { return 0x003a; }
1158  static constexpr unsigned int totNotification() { return 0x003b; }
1159  static constexpr unsigned int atpc() { return 0x003c; }
1160  static constexpr unsigned int zoneANameColor() { return 0x003d; }
1161  static constexpr unsigned int zoneBNameColor() { return 0x003e; }
1162  static constexpr unsigned int autoShutdownMode() { return 0x003f; }
1163  static constexpr unsigned int displayColorCode() { return 0x0040; } // bit 2
1164  static constexpr unsigned int displayTimeSlot() { return 0x0040; } // bit 1
1165  static constexpr unsigned int displayChannelType() { return 0x0040; } // bit 0
1166  static constexpr unsigned int fmIdleTone() { return 0x0041; }
1167  static constexpr unsigned int dateFormat() { return 0x0042; }
1168  static constexpr unsigned int analogMicGain() { return 0x0043; }
1169  static constexpr unsigned int gpsRoaming() { return 0x0044; }
1170  static constexpr unsigned int callEndTones() { return 0x0046; }
1171  static constexpr unsigned int callEndDurations() { return 0x0050; }
1172  static constexpr unsigned int allCallTones() { return 0x005a; }
1173  static constexpr unsigned int allCallDurations() { return 0x0064; }
1175  };
1176  };
1177 
1178 
1182  {
1183  protected:
1185  FMAPRSFrequencyNamesElement(uint8_t *ptr, size_t size);
1186 
1187  public:
1189  explicit FMAPRSFrequencyNamesElement(uint8_t *ptr);
1190 
1192  static constexpr unsigned int size() { return 0x0080; }
1193 
1194  void clear();
1195 
1197  virtual QString name(unsigned int n) const;
1199  virtual void setName(unsigned int n, const QString &name);
1200 
1201  public:
1203  struct Limit {
1204  static constexpr unsigned int nameLength() { return 16; }
1205  };
1206 
1207  protected:
1209  struct Offset {
1211  static constexpr unsigned int betweenNames() { return 0x0010; }
1213  };
1214  };
1215 
1216 
1223  {
1224  protected:
1226  APRSSettingsElement(uint8_t *ptr, unsigned size);
1227 
1229  enum class SignalingType {
1230  Off=0, CTCSS=1, DCS=2
1231  };
1232 
1233  public:
1235  explicit APRSSettingsElement(uint8_t *ptr);
1236 
1238  static constexpr unsigned int size() { return 0x0100; }
1239 
1241  void clear();
1242  bool isValid() const;
1243 
1245  virtual Interval fmTXDelay() const;
1247  virtual void setFMTXDelay(Interval ms);
1248 
1250  virtual Signaling::Code txTone() const;
1252  virtual void setTXTone(Signaling::Code code);
1253 
1255  virtual Interval manualTXInterval() const;
1257  virtual void setManualTXInterval(Interval sec);
1258 
1260  virtual bool autoTX() const;
1262  virtual Interval autoTXInterval() const;
1264  virtual void setAutoTXInterval(Interval sec);
1266  virtual void disableAutoTX();
1267 
1269  virtual bool fixedLocationEnabled() const;
1271  virtual QGeoCoordinate fixedLocation() const;
1273  virtual void setFixedLocation(QGeoCoordinate &loc);
1275  virtual void disableFixedLocation();
1276 
1278  virtual QString destination() const;
1280  virtual unsigned destinationSSID() const;
1282  virtual void setDestination(const QString &call, unsigned ssid);
1284  virtual QString source() const;
1286  virtual unsigned sourceSSID() const;
1288  virtual void setSource(const QString &call, unsigned ssid);
1289 
1291  virtual QString path() const;
1293  virtual void setPath(const QString &path);
1294 
1296  virtual APRSSystem::Icon icon() const;
1298  virtual void setIcon(APRSSystem::Icon icon);
1299 
1301  virtual Channel::Power power() const;
1303  virtual void setPower(Channel::Power power);
1304 
1306  virtual Interval fmPreWaveDelay() const;
1308  virtual void setFMPreWaveDelay(Interval ms);
1309 
1311  virtual bool dmrChannelIsSelected(unsigned n) const;
1313  virtual unsigned dmrChannelIndex(unsigned n) const;
1315  virtual void setDMRChannelIndex(unsigned n, unsigned idx);
1317  virtual void setDMRChannelSelected(unsigned n);
1318 
1320  virtual unsigned dmrDestination(unsigned n) const;
1322  virtual void setDMRDestination(unsigned n, unsigned idx);
1323 
1325  virtual DMRContact::Type dmrCallType(unsigned n) const;
1327  virtual void setDMRCallType(unsigned n, DMRContact::Type type);
1328 
1330  virtual bool dmrTimeSlotOverride(unsigned n);
1332  virtual DMRChannel::TimeSlot dmrTimeSlot(unsigned n) const;
1334  virtual void setDMRTimeSlot(unsigned n, DMRChannel::TimeSlot ts);
1336  virtual void clearDMRTimeSlotOverride(unsigned n);
1337 
1339  virtual bool dmrRoaming() const;
1341  virtual void enableDMRRoaming(bool enable);
1342 
1344  virtual Interval dmrPreWaveDelay() const;
1346  virtual void setDMRPreWaveDelay(Interval ms);
1347 
1349  virtual bool infiniteDisplayTime() const;
1351  virtual Interval displayTime() const;
1353  virtual void setDisplayTime(Interval dur);
1355  virtual void setDisplayTimeInifinite();
1356 
1361 
1363  virtual bool fmPassAll() const;
1365  virtual void enableFMPassAll(bool enable);
1366 
1368  virtual bool fmFrequencySet(unsigned int n) const;
1370  virtual Frequency fmFrequency(unsigned int n) const;
1372  virtual void setFMFrequency(unsigned int n, Frequency f);
1374  virtual void clearFMFrequency(unsigned int n);
1375 
1377  virtual bool reportPosition() const;
1379  virtual void enableReportPosition(bool enable);
1381  virtual bool reportMicE() const;
1383  virtual void enableReportMicE(bool enable);
1385  virtual bool reportObject() const;
1387  virtual void enableReportObject(bool enable);
1389  virtual bool reportItem() const;
1391  virtual void enableReportItem(bool enable);
1393  virtual bool reportMessage() const;
1395  virtual void enableReportMessage(bool enable);
1397  virtual bool reportWeather() const;
1399  virtual void enableReportWeather(bool enable);
1401  virtual bool reportNMEA() const;
1403  virtual void enableReportNMEA(bool enable);
1405  virtual bool reportStatus() const;
1407  virtual void enableReportStatus(bool enable);
1409  virtual bool reportOther() const;
1411  virtual void enableReportOther(bool enable);
1412 
1414  virtual bool fromFMAPRSSystem(const APRSSystem *sys, Context &ctx,
1416  const ErrorStack &err=ErrorStack());
1418  virtual APRSSystem *toFMAPRSSystem(
1419  Context &ctx, const FMAPRSFrequencyNamesElement &names, const ErrorStack &err=ErrorStack());
1422  virtual bool linkFMAPRSSystem(APRSSystem *sys, Context &ctx);
1423 
1425  virtual bool fromDMRAPRSSystems(Context &ctx);
1427  virtual bool fromDMRAPRSSystemObj(unsigned int idx, GPSSystem *sys, Context &ctx);
1429  virtual GPSSystem *toDMRAPRSSystemObj(int idx) const;
1431  virtual bool linkDMRAPRSSystem(int idx, GPSSystem *sys, Context &ctx) const;
1432 
1433  public:
1435  struct Limit {
1437  static constexpr unsigned int callLength() { return 0x0006; }
1439  static constexpr unsigned int pathLength() { return 0x0020; }
1441  static constexpr unsigned int dmrSystems() { return 0x0008; }
1443  static constexpr unsigned int fmFrequencies() { return 0x0008; }
1444  };
1445 
1446  protected:
1448  struct Offset {
1450  static constexpr unsigned int fmTXDelay() { return 0x0005; }
1451  static constexpr unsigned int fmSigType() { return 0x0006; }
1452  static constexpr unsigned int fmCTCSS() { return 0x0007; }
1453  static constexpr unsigned int fmDCS() { return 0x0008; }
1454  static constexpr unsigned int manualTXInterval() { return 0x000a; }
1455  static constexpr unsigned int autoTXInterval() { return 0x000b; }
1456  static constexpr unsigned int fmTXMonitor() { return 0x000c; }
1457  static constexpr unsigned int fixedLocation() { return 0x000d; }
1458  static constexpr unsigned int fixedLatDeg() { return 0x000e; }
1459  static constexpr unsigned int fixedLatMin() { return 0x000f; }
1460  static constexpr unsigned int fixedLatSec() { return 0x0010; }
1461  static constexpr unsigned int fixedLatSouth() { return 0x0011; }
1462  static constexpr unsigned int fixedLonDeg() { return 0x0012; }
1463  static constexpr unsigned int fixedLonMin() { return 0x0013; }
1464  static constexpr unsigned int fixedLonSec() { return 0x0014; }
1465  static constexpr unsigned int fixedLonWest() { return 0x0015; }
1466  static constexpr unsigned int destinationCall() { return 0x0016; }
1467  static constexpr unsigned int destinationSSID() { return 0x001c; }
1468  static constexpr unsigned int sourceCall() { return 0x001d; }
1469  static constexpr unsigned int sourceSSID() { return 0x0023; }
1470  static constexpr unsigned int path() { return 0x0024; }
1471  static constexpr unsigned int symbolTable() { return 0x0039; }
1472  static constexpr unsigned int symbol() { return 0x003a; }
1473  static constexpr unsigned int fmPower() { return 0x003b; }
1474  static constexpr unsigned int fmPrewaveDelay() { return 0x003c; }
1475  static constexpr unsigned int dmrChannelIndices() { return 0x0040; }
1476  static constexpr unsigned int betweenDMRChannelIndices() { return 0x0002; }
1477  static constexpr unsigned int dmrDestinations() { return 0x0050; }
1478  static constexpr unsigned int betweenDMRDestinations() { return 0x0004; }
1479  static constexpr unsigned int dmrCallTypes() { return 0x0070; }
1480  static constexpr unsigned int betweenDMRCallTypes() { return 0x0001; }
1481  static constexpr unsigned int roamingSupport() { return 0x0078; }
1482  static constexpr unsigned int dmrTimeSlots() { return 0x0079; }
1483  static constexpr unsigned int betweenDMRTimeSlots() { return 0x0001; }
1484  static constexpr unsigned int dmrPrewaveDelay() { return 0x0081; }
1485  static constexpr unsigned int displayInterval() { return 0x0082; }
1486  static constexpr unsigned int fixedHeight() { return 0x00a6; }
1487  static constexpr unsigned int reportPosition() { return 0x00a8; }
1488  static constexpr unsigned int reportMicE() { return 0x00a8; }
1489  static constexpr unsigned int reportObject() { return 0x00a8; }
1490  static constexpr unsigned int reportItem() { return 0x00a8; }
1491  static constexpr unsigned int reportMessage() { return 0x00a8; }
1492  static constexpr unsigned int reportWeather() { return 0x00a8; }
1493  static constexpr unsigned int reportNMEA() { return 0x00a8; }
1494  static constexpr unsigned int reportStatus() { return 0x00a8; }
1495  static constexpr unsigned int reportOther() { return 0x00a9; }
1496  static constexpr unsigned int fmWidth() { return 0x00aa; }
1497  static constexpr unsigned int passAll() { return 0x00ab; }
1498  static constexpr unsigned int fmFrequencies() { return 0x00ac; }
1499  static constexpr unsigned int betweenFMFrequencies() { return 0x0004; }
1500 
1502  };
1503  };
1504 
1507  {
1508  protected:
1510  AnalogAPRSMessageElement(uint8_t *ptr, size_t size);
1511 
1512  public:
1514  AnalogAPRSMessageElement(uint8_t *ptr);
1515 
1517  static constexpr unsigned int size() { return 0x0040; }
1518 
1519  void clear();
1520 
1522  virtual QString message() const;
1524  virtual void setMessage(const QString &msg);
1525 
1526  public:
1528  struct Limit {
1529  static constexpr unsigned int length() { return 60; }
1530  };
1531  };
1532 
1538  {
1539  protected:
1541  AnalogAPRSRXEntryElement(uint8_t *ptr, unsigned size);
1542 
1543  public:
1545  AnalogAPRSRXEntryElement(uint8_t *ptr);
1546 
1548  static constexpr unsigned int size() { return 0x0008; }
1549 
1551  void clear();
1553  bool isValid() const;
1554 
1556  virtual QString call() const;
1558  virtual unsigned ssid() const;
1560  virtual void setCall(const QString &call, unsigned ssid);
1561  };
1562 
1568  {
1569  protected:
1571  RoamingChannelElement(uint8_t *ptr, unsigned size);
1572 
1573  protected:
1576  Disabled = 16
1577  };
1578 
1581  TS1 = 0,
1582  TS2 = 1
1583  };
1584 
1585  public:
1587  RoamingChannelElement(uint8_t *ptr);
1588 
1590  static constexpr unsigned int size() { return 0x0020; }
1591 
1593  void clear();
1594 
1596  virtual unsigned rxFrequency() const;
1598  virtual void setRXFrequency(unsigned hz);
1600  virtual unsigned txFrequency() const;
1602  virtual void setTXFrequency(unsigned hz);
1603 
1605  virtual bool hasColorCode() const;
1607  virtual unsigned colorCode() const;
1609  virtual void setColorCode(unsigned cc);
1611  virtual void disableColorCode();
1612 
1614  virtual DMRChannel::TimeSlot timeSlot() const;
1616  virtual void setTimeSlot(DMRChannel::TimeSlot ts);
1617 
1619  virtual QString name() const;
1621  virtual void setName(const QString &name);
1622 
1624  virtual bool fromChannel(const RoamingChannel *ch);
1626  virtual RoamingChannel *toChannel(Context &ctx);
1627 
1628  public:
1630  struct Limit {
1631  static constexpr unsigned int nameLength() { return 16; }
1632  };
1633 
1634  protected:
1636  struct Offset {
1638  static constexpr unsigned int rxFrequency() { return 0x0000; }
1639  static constexpr unsigned int txFrequency() { return 0x0004; }
1640  static constexpr unsigned int colorCode() { return 0x0008; }
1641  static constexpr unsigned int timeSlot() { return 0x0009; }
1642  static constexpr unsigned int name() { return 0x000a; }
1644  };
1645  };
1646 
1647 
1650  {
1651  protected:
1653  RoamingChannelBitmapElement(uint8_t *ptr, size_t size);
1654 
1655  public:
1657  RoamingChannelBitmapElement(uint8_t *ptr);
1658 
1660  static constexpr unsigned int size() { return 0x0020; }
1661  };
1662 
1668  {
1669  protected:
1671  RoamingZoneElement(uint8_t *ptr, unsigned size);
1672 
1673  public:
1675  RoamingZoneElement(uint8_t *ptr);
1676 
1678  static constexpr unsigned int size() { return 0x0080; }
1679 
1681  void clear();
1682 
1684  virtual bool hasMember(unsigned n) const;
1686  virtual unsigned member(unsigned n) const;
1688  virtual void setMember(unsigned n, unsigned idx);
1690  virtual void clearMember(unsigned n);
1691 
1693  virtual QString name() const;
1695  virtual void setName(const QString &name);
1696 
1698  virtual bool fromRoamingZone(RoamingZone *zone, Context& ctx, const ErrorStack &err=ErrorStack());
1700  virtual RoamingZone *toRoamingZone(Context& ctx, const ErrorStack &err=ErrorStack()) const;
1702  virtual bool linkRoamingZone(RoamingZone *zone, Context& ctx, const ErrorStack& err=ErrorStack());
1703 
1704  public:
1706  struct Limit {
1707  static constexpr unsigned int nameLength() { return 16; }
1708  static constexpr unsigned int numMembers() { return 64; }
1709  };
1710 
1711  protected:
1713  struct Offset {
1715  static constexpr unsigned int members() { return 0x0000; }
1716  static constexpr unsigned int betweenMembers() { return 0x0001; }
1717  static constexpr unsigned int name() { return 0x0040; }
1719  };
1720  };
1721 
1724  {
1725  protected:
1727  RoamingZoneBitmapElement(uint8_t *ptr, size_t size);
1728 
1729  public:
1731  RoamingZoneBitmapElement(uint8_t *ptr);
1732 
1734  static constexpr unsigned int size() { return 0x0010; }
1735  };
1736 
1742  {
1743  protected:
1745  AESEncryptionKeyElement(uint8_t *ptr, unsigned size);
1746 
1747  public:
1749  AESEncryptionKeyElement(uint8_t *ptr);
1750 
1752  static constexpr unsigned int size() { return 0x0040; }
1753 
1755  void clear();
1756 
1758  bool isValid() const;
1759 
1761  virtual unsigned index() const;
1763  virtual void setIndex(unsigned idx);
1764 
1766  virtual QByteArray key() const;
1768  virtual void setKey(const QByteArray &key);
1769  };
1770 
1773  {
1774  protected:
1776  HiddenZoneBitmapElement(uint8_t *ptr, size_t size);
1777 
1778  public:
1780  HiddenZoneBitmapElement(uint8_t *ptr);
1781 
1783  static constexpr unsigned int size() { return 0x0020; }
1784  };
1785 
1791  {
1792  public:
1795  RX_400_480_136_174_TX_400_480_136_174 = 0,
1796  RX_400_480_136_174_TX_400_480_136_174_STEP_12_5kHz = 1,
1797  RX_430_440_136_174_TX_430_440_136_174 = 2,
1798  RX_400_480_136_174_TX_430_440_144_146 = 3,
1799  RX_440_480_136_174_TX_440_480_136_174 = 4,
1800  RX_440_480_144_146_TX_440_480_144_146 = 5,
1801  RX_446_447_136_174_TX_446_447_136_174 = 6,
1802  RX_400_480_136_174_TX_420_450_136_174 = 7,
1803  RX_400_470_136_174_TX_400_470_136_174 = 8,
1804  RX_430_432_144_146_TX_430_432_144_146 = 9,
1805  RX_400_480_136_174_TX_430_450_144_148 = 10,
1806  RX_400_520_136_174_TX_400_520_136_174 = 11,
1807  RX_400_490_136_174_TX_400_490_136_174 = 12,
1808  RX_400_480_136_174_TX_403_470_136_174 = 13,
1809  RX_400_520_220_225_136_174_TX_400_520_220_225_136_174 = 14,
1810  RX_420_520_144_148_TX_420_520_144_148 = 15,
1811  RX_430_440_144_147_TX_430_440_144_147 = 16,
1812  RX_430_440_136_174_TX_136_174 = 17
1813  };
1814 
1815  protected:
1817  RadioInfoElement(uint8_t *ptr, unsigned size);
1818 
1819  public:
1821  explicit RadioInfoElement(uint8_t *ptr);
1822 
1824  void clear();
1825 
1828  virtual bool fullTest() const;
1829 
1831  virtual FrequencyRange frequencyRange() const;
1833  virtual void setFrequencyRange(FrequencyRange range);
1834 
1836  virtual bool international() const;
1838  virtual void enableInternational(bool enable);
1839 
1841  virtual bool bandSelect() const;
1843  virtual void enableBandSelect(bool enable);
1844 
1846  virtual QString bandSelectPassword() const;
1848  virtual void setBandSelectPassword(const QString &passwd);
1849 
1851  virtual QString radioType() const;
1852 
1854  virtual QString programPassword() const;
1856  virtual void setProgramPassword(const QString &passwd);
1857 
1859  virtual QString areaCode() const;
1861  virtual QString serialNumber() const;
1863  virtual QString productionDate() const;
1865  virtual QString manufacturerCode() const;
1867  virtual QString maintainedDate() const;
1869  virtual QString dealerCode() const;
1871  virtual QString stockDate() const;
1873  virtual QString sellDate() const;
1875  virtual QString seller() const;
1877  virtual QString maintainerNote() const;
1878  };
1879 
1880 protected:
1882  explicit D878UVCodeplug(const QString &label, QObject *parent = nullptr);
1883 
1884 public:
1886  explicit D878UVCodeplug(QObject *parent = nullptr);
1887 
1888 protected:
1889  bool allocateBitmaps();
1890  void setBitmaps(Context &ctx);
1891  void allocateForDecoding();
1892  void allocateUpdated();
1893  void allocateForEncoding();
1894 
1895  bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack());
1896  bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1897 
1898  void allocateChannels();
1899  bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1900  bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1901  bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1902 
1903  virtual void allocateZones();
1904  virtual bool encodeZone(int i, Zone *zone, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1905  virtual bool decodeZone(int i, Zone *zone, Context &ctx, const ErrorStack &err=ErrorStack());
1906 
1907  void allocateGeneralSettings();
1908  bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1909  bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1910  bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1911 
1912  void allocateGPSSystems();
1913  bool encodeGPSSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1914  bool createGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack());
1915  bool linkGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack());
1916 
1918  virtual void allocateRoaming();
1920  virtual bool encodeRoaming(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1922  virtual bool createRoaming(Context &ctx, const ErrorStack &err=ErrorStack());
1924  virtual bool linkRoaming(Context &ctx, const ErrorStack &err=ErrorStack());
1925 
1926 public:
1928  struct Limit: public D868UVCodeplug::Limit {
1929  static constexpr unsigned int analogAPRSRXEntries() { return 32; }
1930  static constexpr unsigned int roamingChannels() { return 250; }
1931  static constexpr unsigned int roamingZones() { return 64; }
1932  static constexpr unsigned int aesKeys() { return 256; }
1933  };
1934 
1935 protected:
1939  static constexpr unsigned int settingsExtension() { return 0x02501400; }
1940  static constexpr unsigned int aprsSettings() { return 0x02501000; }
1941  static constexpr unsigned int analogAPRSMessage() { return 0x02501200; }
1942  static constexpr unsigned int analogAPRSRXEntries() { return 0x02501800; }
1943  static constexpr unsigned int fmAPRSFrequencyNames() { return 0x02502000; }
1944  static constexpr unsigned int hiddenZoneBitmap() { return 0x024c1360; }
1945  static constexpr unsigned int roamingChannelBitmap() { return 0x01042000; }
1946  static constexpr unsigned int roamingChannels() { return 0x01040000; }
1947  static constexpr unsigned int roamingZoneBitmap() { return 0x01042080; }
1948  static constexpr unsigned int roamingZones() { return 0x01043000; }
1949  static constexpr unsigned int aesKeys() { return 0x024C4000; }
1951  };
1952 };
1953 
1954 #endif // D878UVCODEPLUG_HH
Represents an APRS system within the generic config.
Definition: gpssystem.hh:132
Icon
All implemented APRS icons.
Definition: gpssystem.hh:151
Direction
Encodes the auto-repeater offset sign.
Definition: anytone_extension.hh:1420
Represents the base class for bitmaps in all AnyTone codeplugs.
Definition: anytone_codeplug.hh:26
static constexpr unsigned int size()
Returns the size of the element.
Definition: anytone_codeplug.hh:153
Represents the base class for the extended settings element in many AnyTone codeplugs.
Definition: anytone_codeplug.hh:1187
Color
Possible display colors.
Definition: anytone_extension.hh:975
DateFormat
Possible date formats.
Definition: anytone_extension.hh:988
Language
Possible UI languages.
Definition: anytone_extension.hh:981
Bandwidth
Possible bandwidth settings.
Definition: anytone_extension.hh:2384
GPSMode
Possible GPS modes.
Definition: anytone_extension.hh:1753
KeyFunction
All possible key functions.
Definition: anytone_extension.hh:586
RoamStart
Possible roaming start conditions.
Definition: anytone_extension.hh:1862
STEType
All possible STE (squelch tail eliminate) types.
Definition: anytone_extension.hh:2167
The base class of all channels (analog and digital) of a codeplug configuration.
Definition: channel.hh:34
Power
Specifies the prefix for every ID assigned to every channel during serialization.
Definition: channel.hh:61
Base class for all codeplug contexts.
Definition: codeplug.hh:238
Represents the abstract base class of all codeplug elements.
Definition: codeplug.hh:51
Certain flags passed to CodePlug::encode to control the transfer and encoding of the codeplug.
Definition: codeplug.hh:25
Represents the channel element for AnyTone D868UV devices.
Definition: d868uv_codeplug.hh:229
Represents the general config of the radio within the D868UV binary codeplug.
Definition: d868uv_codeplug.hh:300
Represents the device specific binary codeplug for Anytone AT-D868UV radios.
Definition: d868uv_codeplug.hh:189
Represents an AES encryption key.
Definition: d878uv_codeplug.hh:1742
virtual unsigned index() const
Returns the key index.
Definition: d878uv_codeplug.cc:3195
virtual void setKey(const QByteArray &key)
Sets the key.
Definition: d878uv_codeplug.cc:3210
static constexpr unsigned int size()
The size of the element.
Definition: d878uv_codeplug.hh:1752
AESEncryptionKeyElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: d878uv_codeplug.cc:3170
bool isValid() const
Returns true if the key is set.
Definition: d878uv_codeplug.cc:3190
virtual QByteArray key() const
Returns the actual key.
Definition: d878uv_codeplug.cc:3204
virtual void setIndex(unsigned idx)
Sets the key index.
Definition: d878uv_codeplug.cc:3199
void clear()
Resets the key.
Definition: d878uv_codeplug.cc:3183
Represents the APRS settings within the binary D878UV codeplug.
Definition: d878uv_codeplug.hh:1223
virtual Interval dmrPreWaveDelay() const
Returns the the repeater activation delay in ms.
Definition: d878uv_codeplug.cc:2770
virtual bool reportMessage() const
Returns true if the report message flag is set.
Definition: d878uv_codeplug.cc:2834
virtual void setDMRChannelIndex(unsigned n, unsigned idx)
Sets the digital channel index for the n-th system.
Definition: d878uv_codeplug.cc:2701
virtual void enableReportNMEA(bool enable)
Enables/disables report NMEA flag.
Definition: d878uv_codeplug.cc:2856
virtual bool reportWeather() const
Returns true if the report weather flag is set.
Definition: d878uv_codeplug.cc:2843
virtual bool reportPosition() const
Returns true if the report position flag is set.
Definition: d878uv_codeplug.cc:2798
bool isValid() const
Returns true if the pointer is not null.
Definition: d878uv_codeplug.cc:2491
virtual void enableReportMessage(bool enable)
Enables/disables report message flag.
Definition: d878uv_codeplug.cc:2838
virtual void setSource(const QString &call, unsigned ssid)
Sets the source call & SSID.
Definition: d878uv_codeplug.cc:2637
virtual bool reportMicE() const
Returns true if the report Mic-E flag is set.
Definition: d878uv_codeplug.cc:2807
virtual void setFMTXDelay(Interval ms)
Sets the TX delay in ms.
Definition: d878uv_codeplug.cc:2502
virtual Interval fmTXDelay() const
Returns the TX delay in ms.
Definition: d878uv_codeplug.cc:2498
virtual bool reportOther() const
Returns true if the report other flag is set.
Definition: d878uv_codeplug.cc:2870
virtual void setDMRTimeSlot(unsigned n, DMRChannel::TimeSlot ts)
Overrides the time slot of the n-th selected channel.
Definition: d878uv_codeplug.cc:2749
virtual bool dmrChannelIsSelected(unsigned n) const
Returns true if the channel points to the current/selected channel.
Definition: d878uv_codeplug.cc:2693
virtual void setFMPreWaveDelay(Interval ms)
Sets the pre-wave delay in ms.
Definition: d878uv_codeplug.cc:2688
virtual QGeoCoordinate fixedLocation() const
Returns the fixed location send.
Definition: d878uv_codeplug.cc:2568
virtual unsigned sourceSSID() const
Returns the source SSID.
Definition: d878uv_codeplug.cc:2633
virtual bool reportNMEA() const
Returns true if the report NMEA flag is set.
Definition: d878uv_codeplug.cc:2852
SignalingType
Possible settings for the FM APRS subtone type.
Definition: d878uv_codeplug.hh:1229
virtual bool infiniteDisplayTime() const
Returns true if a received APRS message is shown indefinitely.
Definition: d878uv_codeplug.cc:2779
void clear()
Resets the settings.
Definition: d878uv_codeplug.cc:2483
virtual void setManualTXInterval(Interval sec)
Sets the manual TX interval in seconds.
Definition: d878uv_codeplug.cc:2542
virtual void setTXTone(Signaling::Code code)
Sets the sub tone settings.
Definition: d878uv_codeplug.cc:2522
virtual void enableReportWeather(bool enable)
Enables/disables report weather flag.
Definition: d878uv_codeplug.cc:2847
virtual bool fixedLocationEnabled() const
Returns true if a fixed location is sent.
Definition: d878uv_codeplug.cc:2564
virtual void enableReportObject(bool enable)
Enables/disables report object flag.
Definition: d878uv_codeplug.cc:2820
virtual void enableReportPosition(bool enable)
Enables/disables report position flag.
Definition: d878uv_codeplug.cc:2802
virtual Interval autoTXInterval() const
Returns the auto TX interval in seconds.
Definition: d878uv_codeplug.cc:2551
virtual bool reportStatus() const
Returns true if the report status flag is set.
Definition: d878uv_codeplug.cc:2861
virtual void setFMChannelWidth(AnytoneFMAPRSSettingsExtension::Bandwidth width)
Sets the FM APRS channel width.
Definition: d878uv_codeplug.cc:2883
virtual void setDMRChannelSelected(unsigned n)
Sets the channel to the current/selected channel.
Definition: d878uv_codeplug.cc:2705
virtual Channel::Power power() const
Returns the transmit power.
Definition: d878uv_codeplug.cc:2663
virtual QString source() const
Returns the source call.
Definition: d878uv_codeplug.cc:2628
virtual bool linkFMAPRSSystem(APRSSystem *sys, Context &ctx)
Links the transmit channel within the generic APRS system based on the transmit frequency defined wit...
Definition: d878uv_codeplug.cc:3018
virtual void disableFixedLocation()
Disables sending a fixed location.
Definition: d878uv_codeplug.cc:2608
virtual void setIcon(APRSSystem::Icon icon)
Sets the APRS icon.
Definition: d878uv_codeplug.cc:2657
virtual void setFixedLocation(QGeoCoordinate &loc)
Sets the fixed location to send.
Definition: d878uv_codeplug.cc:2583
virtual bool reportItem() const
Returns true if the report item flag is set.
Definition: d878uv_codeplug.cc:2825
virtual APRSSystem::Icon icon() const
Returns the APRS icon.
Definition: d878uv_codeplug.cc:2653
virtual bool fromDMRAPRSSystemObj(unsigned int idx, GPSSystem *sys, Context &ctx)
Encodes the given GPS system.
Definition: d878uv_codeplug.cc:3048
virtual void clearFMFrequency(unsigned int n)
Clears the n-th of 8 FM APRS frequencies.
Definition: d878uv_codeplug.cc:2912
virtual bool dmrTimeSlotOverride(unsigned n)
Returns true if the n-th system overrides the channel time-slot.
Definition: d878uv_codeplug.cc:2737
virtual void clearDMRTimeSlotOverride(unsigned n)
Clears the time-slot override.
Definition: d878uv_codeplug.cc:2756
virtual void setPath(const QString &path)
Sets the path string.
Definition: d878uv_codeplug.cc:2648
virtual void disableAutoTX()
Disables auto tx.
Definition: d878uv_codeplug.cc:2559
virtual void enableFMPassAll(bool enable)
Enables/disables "pass all", that is the CRC check on FM APRS messages is disabled.
Definition: d878uv_codeplug.cc:2892
virtual APRSSystem * toFMAPRSSystem(Context &ctx, const FMAPRSFrequencyNamesElement &names, const ErrorStack &err=ErrorStack())
Constructs a generic APRS system configuration from this APRS system.
Definition: d878uv_codeplug.cc:2973
virtual bool fromFMAPRSSystem(const APRSSystem *sys, Context &ctx, FMAPRSFrequencyNamesElement &names, const ErrorStack &err=ErrorStack())
Configures this APRS system from the given generic config.
Definition: d878uv_codeplug.cc:2918
virtual QString destination() const
Returns the destination call.
Definition: d878uv_codeplug.cc:2613
virtual bool autoTX() const
Returns true if the auto transmit is enabled.
Definition: d878uv_codeplug.cc:2547
virtual Interval manualTXInterval() const
Returns the manual TX interval in seconds.
Definition: d878uv_codeplug.cc:2538
APRSSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: d878uv_codeplug.cc:2470
virtual bool fmFrequencySet(unsigned int n) const
Retruns true if the n-th of 8 FM APRS frequencies is set.
Definition: d878uv_codeplug.cc:2897
virtual void enableDMRRoaming(bool enable)
Enables/disables roaming.
Definition: d878uv_codeplug.cc:2765
virtual Interval displayTime() const
Returns the time, a received APRS message is shown.
Definition: d878uv_codeplug.cc:2783
virtual DMRChannel::TimeSlot dmrTimeSlot(unsigned n) const
Returns the time slot if overridden (only valid if timeSlot returns true).
Definition: d878uv_codeplug.cc:2741
virtual void enableReportOther(bool enable)
Enables/disables report other flag.
Definition: d878uv_codeplug.cc:2874
virtual void setDisplayTimeInifinite()
Sets the APRS display time to infinite.
Definition: d878uv_codeplug.cc:2793
virtual Interval fmPreWaveDelay() const
Returns the pre-wave delay in ms.
Definition: d878uv_codeplug.cc:2684
virtual Frequency fmFrequency(unsigned int n) const
Returns the n-th of 8 FM APRS frequencies.
Definition: d878uv_codeplug.cc:2902
virtual void setPower(Channel::Power power)
Sets the transmit power.
Definition: d878uv_codeplug.cc:2673
virtual void setAutoTXInterval(Interval sec)
Sets the auto TX interval in seconds.
Definition: d878uv_codeplug.cc:2555
virtual bool dmrRoaming() const
Returns true if the roaming is enabled.
Definition: d878uv_codeplug.cc:2761
virtual Signaling::Code txTone() const
Returns the sub tone settings.
Definition: d878uv_codeplug.cc:2507
virtual void setDMRCallType(unsigned n, DMRContact::Type type)
Sets the call type for the n-th system.
Definition: d878uv_codeplug.cc:2728
virtual void setDMRDestination(unsigned n, unsigned idx)
Sets the destination contact for the n-th system.
Definition: d878uv_codeplug.cc:2714
virtual bool reportObject() const
Returns true if the report object flag is set.
Definition: d878uv_codeplug.cc:2816
virtual GPSSystem * toDMRAPRSSystemObj(int idx) const
Constructs a generic GPS system from the idx-th encoded GPS system.
Definition: d878uv_codeplug.cc:3063
virtual void enableReportItem(bool enable)
Enables/disables report item flag.
Definition: d878uv_codeplug.cc:2829
virtual unsigned dmrDestination(unsigned n) const
Returns the destination contact for the n-th system.
Definition: d878uv_codeplug.cc:2710
virtual bool linkDMRAPRSSystem(int idx, GPSSystem *sys, Context &ctx) const
Links the specified generic GPS system.
Definition: d878uv_codeplug.cc:3070
virtual bool fmPassAll() const
Retruns true if the CRC check on received FM APRS messages is disabled.
Definition: d878uv_codeplug.cc:2888
virtual void setDMRPreWaveDelay(Interval ms)
Sets the repeater activation delay in ms.
Definition: d878uv_codeplug.cc:2774
static constexpr unsigned int size()
The size of the element.
Definition: d878uv_codeplug.hh:1238
virtual QString path() const
Returns the path string.
Definition: d878uv_codeplug.cc:2644
virtual AnytoneFMAPRSSettingsExtension::Bandwidth fmChannelWidth() const
Returns the FM APRS channel width.
Definition: d878uv_codeplug.cc:2879
virtual void setDisplayTime(Interval dur)
Sets the time, a received APRS is shown.
Definition: d878uv_codeplug.cc:2787
virtual void setDestination(const QString &call, unsigned ssid)
Sets the destination call & SSID.
Definition: d878uv_codeplug.cc:2622
virtual unsigned destinationSSID() const
Returns the destination SSID.
Definition: d878uv_codeplug.cc:2618
virtual void setFMFrequency(unsigned int n, Frequency f)
Sets the n-th of 8 FM APRS frequencies.
Definition: d878uv_codeplug.cc:2907
virtual void enableReportStatus(bool enable)
Enables/disables report status flag.
Definition: d878uv_codeplug.cc:2865
virtual void enableReportMicE(bool enable)
Enables/disables report Mic-E flag.
Definition: d878uv_codeplug.cc:2811
virtual bool fromDMRAPRSSystems(Context &ctx)
Constructs all GPS system from the generic configuration.
Definition: d878uv_codeplug.cc:3040
virtual DMRContact::Type dmrCallType(unsigned n) const
Returns the call type for the n-th system.
Definition: d878uv_codeplug.cc:2719
virtual unsigned dmrChannelIndex(unsigned n) const
Returns the digital channel index for the n-th system.
Definition: d878uv_codeplug.cc:2697
Represents an (analog/FM) APRS message.
Definition: d878uv_codeplug.hh:1507
virtual QString message() const
Returns the message.
Definition: d878uv_codeplug.cc:3116
AnalogAPRSMessageElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: d878uv_codeplug.cc:3098
void clear()
Abstract method to reset the element within the codeplug.
Definition: d878uv_codeplug.cc:3111
static constexpr unsigned int size()
The size of the element.
Definition: d878uv_codeplug.hh:1517
virtual void setMessage(const QString &msg)
Sets the message.
Definition: d878uv_codeplug.cc:3121
Represents an analog APRS RX entry.
Definition: d878uv_codeplug.hh:1538
virtual void setCall(const QString &call, unsigned ssid)
Sets the call, SSID and enables the entry.
Definition: d878uv_codeplug.cc:3160
static constexpr unsigned int size()
The size of the element.
Definition: d878uv_codeplug.hh:1548
AnalogAPRSRXEntryElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: d878uv_codeplug.cc:3129
bool isValid() const
Returns true if the APRS RX entry is valid.
Definition: d878uv_codeplug.cc:3147
virtual unsigned ssid() const
Returns the SSID.
Definition: d878uv_codeplug.cc:3156
void clear()
Resets the entry.
Definition: d878uv_codeplug.cc:3142
virtual QString call() const
Returns the call sign.
Definition: d878uv_codeplug.cc:3152
Represents the actual channel encoded within the binary D878UV codeplug.
Definition: d878uv_codeplug.hh:276
APRSPTT
Defines all possible APRS PTT settings.
Definition: d878uv_codeplug.hh:287
@ End
Send APRS at end of transmission.
@ Start
Send APRS at start of transmission.
virtual int frequenyCorrection() const
Returns the frequency correction in ???.
Definition: d878uv_codeplug.cc:180
virtual void enableRoaming(bool enable)
Enables/disables roaming.
Definition: d878uv_codeplug.cc:120
virtual void setFrequencyCorrection(int corr)
Sets the frequency correction in ???.
Definition: d878uv_codeplug.cc:184
void enableTXDigitalAPRS(bool enable)
Enables/disables digital APRS transmission.
Definition: d878uv_codeplug.cc:140
virtual void enableTXAnalogAPRS(bool enable)
Enables/disables analog APRS reporting.
Definition: d878uv_codeplug.cc:148
Channel * toChannelObj(Context &ctx) const
Constructs a Channel object from this element.
Definition: d878uv_codeplug.cc:199
virtual void setPTTIDSetting(PTTId ptt)
Sets the PTT ID setting.
Definition: d878uv_codeplug.cc:110
ChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: d878uv_codeplug.cc:87
virtual void setDigitalAPRSSystemIndex(unsigned idx)
Sets the DMR APRS system index.
Definition: d878uv_codeplug.cc:175
virtual void setAnalogAPRSPTTSetting(APRSPTT ptt)
Sets the analog APRS PTT setting.
Definition: d878uv_codeplug.cc:157
virtual PTTId pttIDSetting() const
Returns the PTT ID settings.
Definition: d878uv_codeplug.cc:106
virtual bool roamingEnabled() const
Returns true if roaming is enabled.
Definition: d878uv_codeplug.cc:115
void clear()
Resets the channel.
Definition: d878uv_codeplug.cc:100
bool dataACK() const
Returns true if the data ACK is enabled.
Definition: d878uv_codeplug.cc:125
virtual unsigned digitalAPRSSystemIndex() const
Returns the DMR APRS system index.
Definition: d878uv_codeplug.cc:171
virtual void setDigitalAPRSPTTSetting(APRSPTT ptt)
Sets the digital APRS PTT setting.
Definition: d878uv_codeplug.cc:166
bool txDigitalAPRS() const
Returns true if digital APRS transmission is enabled.
Definition: d878uv_codeplug.cc:136
virtual APRSPTT digitalAPRSPTTSetting() const
Returns the digital APRS PTT setting.
Definition: d878uv_codeplug.cc:162
bool fromChannelObj(const Channel *c, Context &ctx)
Encodes the given channel object.
Definition: d878uv_codeplug.cc:264
virtual unsigned int fmAPRSFrequencyIndex() const
Returns the index of the FM APRS frequency [0,7].
Definition: d878uv_codeplug.cc:189
virtual APRSPTT analogAPRSPTTSetting() const
Returns the analog APRS PTT setting.
Definition: d878uv_codeplug.cc:153
PTTId
Possible PTT ID settings.
Definition: d878uv_codeplug.hh:279
@ Both
Send PTT-ID at start and end.
virtual bool txAnalogAPRS() const
Returns true if the analog APRS reporting (TX) is enabled.
Definition: d878uv_codeplug.cc:144
bool linkChannelObj(Channel *c, Context &ctx) const
Links a previously created channel object.
Definition: d878uv_codeplug.cc:222
void enableDataACK(bool enable)
Enables/disables data ACK.
Definition: d878uv_codeplug.cc:130
virtual void setFMAPRSFrequencyIndex(unsigned int idx)
Sets the FM APRS frequency index [0,7].
Definition: d878uv_codeplug.cc:193
General settings extension element for the D878UV.
Definition: d878uv_codeplug.hh:953
virtual bool totNotification() const
Returns true if the transmit timeout notification is enabled.
Definition: d878uv_codeplug.cc:2139
static constexpr unsigned int size()
Returns the size of the element.
Definition: d878uv_codeplug.hh:963
virtual bool infiniteManDialPrivateCallHangTime() const
Returns true if the manual dialed private call hang time is infinite.
Definition: d878uv_codeplug.cc:2094
virtual void enableShowChannelType(bool enable)
Enables/disables display of channel type.
Definition: d878uv_codeplug.cc:2203
virtual void clearAutoRepeaterUHF2OffsetIndex()
Clears the auto repeater UHF 2 offset frequency index.
Definition: d878uv_codeplug.cc:1993
virtual void setAutoRepeaterUHF2OffsetIndex(unsigned idx)
Sets the index of the UHF 2 offset frequency.
Definition: d878uv_codeplug.cc:1989
void enableSendTalkerAlias(bool enable)
Enables/disables sending the talker alias.
Definition: d878uv_codeplug.cc:1931
virtual void setBluetoothPTTSleepDelay(Interval delay)
Sets the bluetooth PTT sleep delay in minutes.
Definition: d878uv_codeplug.cc:1971
virtual void setManDialGroupCallHangTimeInfinite()
Sets the manual dial group call hang time to infinite.
Definition: d878uv_codeplug.cc:2089
virtual bool hasAutoRepeaterVHF2OffsetIndex() const
Returns true if the auto repeater VHF 2 offset index is set.
Definition: d878uv_codeplug.cc:1998
virtual void setGPSMode(AnytoneGPSSettingsExtension::GPSMode mode)
Sets the GPS mode.
Definition: d878uv_codeplug.cc:2052
virtual void enableTOTNotification(bool enable)
Enables/disables transmit timeout notification.
Definition: d878uv_codeplug.cc:2143
virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the settings from the config.
Definition: d878uv_codeplug.cc:2285
void clear()
Resets the settings.
Definition: d878uv_codeplug.cc:1920
virtual Frequency autoRepeaterUHF2MinFrequency() const
Returns the minimum frequency in Hz for the auto-repeater UHF 2 band.
Definition: d878uv_codeplug.cc:2031
virtual bool resetAutoShutdownOnCall() const
Returns true if the auto-shutdown timer is reset on a call.
Definition: d878uv_codeplug.cc:2174
AnytoneDisplaySettingsExtension::Color zoneBNameColor() const
Returns the color of the zone name for VFO B.
Definition: d878uv_codeplug.cc:2165
virtual void setFMMicGain(unsigned int gain)
Sets the analog mic gain [1,10].
Definition: d878uv_codeplug.cc:2230
virtual void clearAutoRepeaterVHF2OffsetIndex()
Clears the auto repeater VHF 2 offset frequency index.
Definition: d878uv_codeplug.cc:2010
virtual bool infiniteManDialGroupCallHangTime() const
Returns true if the manual dialed group call hang time is infinite.
Definition: d878uv_codeplug.cc:2067
void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode)
Sets the talker alias source.
Definition: d878uv_codeplug.cc:1940
virtual void setAutoRepeaterVHF2MinFrequency(Frequency hz)
Sets the minimum frequency in Hz for the auto-repeater VHF 2 band.
Definition: d878uv_codeplug.cc:2019
virtual void setCallEndToneMelody(const Melody &melody)
Sets the call-end tone melody.
Definition: d878uv_codeplug.cc:2255
virtual Interval manDialGroupCallHangTime() const
Returns the manual dial group call hang time.
Definition: d878uv_codeplug.cc:2071
virtual void setEncryption(AnytoneDMRSettingsExtension::EncryptionType mode)
Sets the encryption mode.
Definition: d878uv_codeplug.cc:2134
virtual void setDateFormat(AnytoneDisplaySettingsExtension::DateFormat format)
Sets the date format.
Definition: d878uv_codeplug.cc:2221
virtual bool showColorCode() const
Returns true if the color code is shown.
Definition: d878uv_codeplug.cc:2183
virtual void enableResetAutoShutdownOnCall(bool enable)
Enables/disables reset on call of the auto-shutdown timer.
Definition: d878uv_codeplug.cc:2178
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Update config from settings.
Definition: d878uv_codeplug.cc:2366
virtual void enableFMIdleTone(bool enable)
Enables/disables FM idle channel tone.
Definition: d878uv_codeplug.cc:2212
virtual bool gpsRoaming() const
Returns true if the GPS roaming is enabled.
Definition: d878uv_codeplug.cc:2236
AnytoneDisplaySettingsExtension::Color channelBNameColor() const
Returns the color of the channel name for VFO B.
Definition: d878uv_codeplug.cc:2121
virtual bool fmIdleTone() const
Returns true if the FM idle channel tone is enabled.
Definition: d878uv_codeplug.cc:2208
virtual void setAutoRepeaterVHF2MaxFrequency(Frequency hz)
Sets the maximum frequency in Hz for the auto-repeater VHF 2 band.
Definition: d878uv_codeplug.cc:2027
virtual void setManDialPrivateCallHangTime(Interval dur)
Sets the manual dial private call hang time.
Definition: d878uv_codeplug.cc:2107
AnytoneDMRSettingsExtension::TalkerAliasEncoding talkerAliasEncoding() const
Returns the talker alias encoding.
Definition: d878uv_codeplug.cc:1945
virtual Frequency autoRepeaterUHF2MaxFrequency() const
Returns the maximum frequency in Hz for the auto-repeater UHF 2 band.
Definition: d878uv_codeplug.cc:2039
virtual void enableATPC(bool enable)
Enables/disables the ATPC (Adaptiv Transmission Power Control).
Definition: d878uv_codeplug.cc:2152
virtual void enableGPSRoaming(bool enable)
Enables/disables GPS roaming.
Definition: d878uv_codeplug.cc:2240
bool sendTalkerAlias() const
Returns true if the talker alias is sent.
Definition: d878uv_codeplug.cc:1927
virtual bool showTimeSlot() const
Returns true if the time slot is shown.
Definition: d878uv_codeplug.cc:2191
virtual bool atpc() const
Returns true if the ATPC (Adaptiv Transmission Power Control) is enabled.
Definition: d878uv_codeplug.cc:2148
virtual unsigned autoRepeaterUHF2OffsetIndex() const
Returns the index of the UHF 2 offset frequency.
Definition: d878uv_codeplug.cc:1985
virtual Interval steDuration() const
Returns the STE (squelch tail elimination) duration.
Definition: d878uv_codeplug.cc:2057
AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const
Returns the talker alias source.
Definition: d878uv_codeplug.cc:1936
virtual unsigned int fmMicGain() const
Returns the FM Mic gain [1,10].
Definition: d878uv_codeplug.cc:2226
virtual void setAutoRepeaterVHF2OffsetIndex(unsigned idx)
Sets the index of the VHF 2 offset frequency.
Definition: d878uv_codeplug.cc:2006
virtual void setAutoRepeaterUHF2MaxFrequency(Frequency hz)
Sets the maximum frequency in Hz for the auto-repeater UHF 2 band.
Definition: d878uv_codeplug.cc:2043
virtual void setManDialGroupCallHangTime(Interval dur)
Sets the manual dial group call hang time.
Definition: d878uv_codeplug.cc:2080
virtual void enableBluetoothPTTLatch(bool enable)
Enables/disables bluetooth PTT latch.
Definition: d878uv_codeplug.cc:1958
void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color for the VFO B.
Definition: d878uv_codeplug.cc:2125
virtual void enableShowTimeSlot(bool enable)
Enables/disables display of time slot.
Definition: d878uv_codeplug.cc:2195
virtual void setInfiniteBluetoothPTTSleepDelay()
Sets the bluetooth PTT sleep delay to infinite/disabled.
Definition: d878uv_codeplug.cc:1976
virtual AnytoneGPSSettingsExtension::GPSMode gpsMode() const
Returns the GPS mode.
Definition: d878uv_codeplug.cc:2048
void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO A.
Definition: d878uv_codeplug.cc:2161
virtual void enableShowColorCode(bool enable)
Enables/disables display of color code.
Definition: d878uv_codeplug.cc:2187
AnytoneDisplaySettingsExtension::Color zoneANameColor() const
Returns the color of the zone name for VFO A.
Definition: d878uv_codeplug.cc:2157
virtual Interval manDialPrivateCallHangTime() const
Returns the manual dial private call hang time.
Definition: d878uv_codeplug.cc:2098
virtual void setSTEDuration(Interval dur)
Sets the STE (squelch tail elimination) duration.
Definition: d878uv_codeplug.cc:2061
virtual void callEndToneMelody(Melody &melody) const
Returns the call-end tone melody.
Definition: d878uv_codeplug.cc:2245
virtual void setAllCallToneMelody(const Melody &melody)
Sets the all-call tone melody.
Definition: d878uv_codeplug.cc:2275
virtual void allCallToneMelody(Melody &melody) const
Returns the all-call tone melody.
Definition: d878uv_codeplug.cc:2265
ExtendedSettingsElement(uint8_t *ptr, unsigned size)
Hidden Constructor.
Definition: d878uv_codeplug.cc:1907
virtual AnytoneDMRSettingsExtension::EncryptionType encryption() const
Returns the encryption mode.
Definition: d878uv_codeplug.cc:2130
virtual bool bluetoothPTTLatch() const
Returns true if the BT PTT latch is enabled.
Definition: d878uv_codeplug.cc:1954
virtual unsigned autoRepeaterVHF2OffsetIndex() const
Returns the index of the VHF 2 offset frequency.
Definition: d878uv_codeplug.cc:2002
virtual Frequency autoRepeaterVHF2MinFrequency() const
Returns the minimum frequency in Hz for the auto-repeater VHF 2 band.
Definition: d878uv_codeplug.cc:2015
virtual bool linkConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Link config from settings extension.
Definition: d878uv_codeplug.cc:2428
virtual Frequency autoRepeaterVHF2MaxFrequency() const
Returns the maximum frequency in Hz for the auto-repeater VHF 2 band.
Definition: d878uv_codeplug.cc:2023
virtual bool showChannelType() const
Returns true if the channel type is shown.
Definition: d878uv_codeplug.cc:2199
void setTalkerAliasEncoding(AnytoneDMRSettingsExtension::TalkerAliasEncoding encoding)
Sets the talker alias encoding.
Definition: d878uv_codeplug.cc:1949
virtual void setAutoRepeaterUHF2MinFrequency(Frequency hz)
Sets the minimum frequency in Hz for the auto-repeater UHF 2 band.
Definition: d878uv_codeplug.cc:2035
virtual Interval bluetoothPTTSleepDelay() const
Returns the bluetooth PTT sleep delay in minutes, 0=off.
Definition: d878uv_codeplug.cc:1967
virtual bool hasAutoRepeaterUHF2OffsetIndex() const
Returns true if the auto repeater UHF 2 offset index is set.
Definition: d878uv_codeplug.cc:1981
virtual AnytoneDisplaySettingsExtension::DateFormat dateFormat() const
Returns the date format.
Definition: d878uv_codeplug.cc:2217
virtual bool infiniteBluetoothPTTSleepDelay() const
Returns true if the bluetooth PTT sleep delay is disabled (infinite).
Definition: d878uv_codeplug.cc:1963
virtual void setManDialPrivateCallHangTimeInfinite()
Sets the manual dial private call hang time to infinite.
Definition: d878uv_codeplug.cc:2116
void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO B.
Definition: d878uv_codeplug.cc:2169
Implements some storage to hold the names for the FM APRS frequencies.
Definition: d878uv_codeplug.hh:1182
FMAPRSFrequencyNamesElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: d878uv_codeplug.cc:320
virtual void setName(unsigned int n, const QString &name)
Sets the n-th name.
Definition: d878uv_codeplug.cc:344
static constexpr unsigned int size()
The size of the element.
Definition: d878uv_codeplug.hh:1192
virtual QString name(unsigned int n) const
Returns the n-th name.
Definition: d878uv_codeplug.cc:338
void clear()
Abstract method to reset the element within the codeplug.
Definition: d878uv_codeplug.cc:333
Represents the general config of the radio within the D878UV binary codeplug.
Definition: d878uv_codeplug.hh:384
virtual bool monitorColorCodeMatch() const
Returns true if the monitor matches color code.
Definition: d878uv_codeplug.cc:1091
virtual void disableBTHoldTime()
Sets the bluethooth hold time to infinite.
Definition: d878uv_codeplug.cc:1655
void setDefaultZoneIndexA(unsigned idx)
Sets the default zone (0-based) for VFO A.
Definition: d878uv_codeplug.cc:1441
virtual unsigned priorityZoneBIndex() const
Returns the priority Zone B index.
Definition: d878uv_codeplug.cc:1162
void enableShowLastHeard(bool enable)
Enables/disables showing last heard.
Definition: d878uv_codeplug.cc:1362
virtual void setSTEType(AnytoneSettingsExtension::STEType type)
Sets the STE (squelch tail eliminate) type.
Definition: d878uv_codeplug.cc:903
virtual Interval privateCallHangTime() const
Returns the private call hang time in seconds.
Definition: d878uv_codeplug.cc:935
virtual bool remoteStunKill() const
Returns true remote stun/kill is enabled.
Definition: d878uv_codeplug.cc:1064
virtual bool bluetooth() const
Returns true if bluetooth is enabled.
Definition: d878uv_codeplug.cc:1171
void setFuncKeyAShort(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 1/A.
Definition: d878uv_codeplug.cc:813
virtual void enablePluginRecTone(bool enable)
Enables/disables the plug-in record tone.
Definition: d878uv_codeplug.cc:1202
virtual bool btHoldTimeEnabled() const
Returns true, if the bluetooth hold time is enabled.
Definition: d878uv_codeplug.cc:1634
TBSTFrequency
TBST (open repeater) frequencies.
Definition: d878uv_codeplug.hh:443
virtual bool bootReset() const
Returns true if boot reset is enabled.
Definition: d878uv_codeplug.cc:1625
bool defaultChannelAIsVFO() const
Returns true if the default channel for VFO A is VFO.
Definition: d878uv_codeplug.cc:1455
DTMFDuration
DTMF signalling durations.
Definition: d878uv_codeplug.hh:438
virtual void setSTEFrequency(double freq)
Sets the STE (squelch tail eliminate) frequency setting.
Definition: d878uv_codeplug.cc:916
virtual bool remoteMonitor() const
Returns true remote monitor is enabled.
Definition: d878uv_codeplug.cc:1073
bool fromConfig(const Flags &flags, Context &ctx)
Encodes the general settings.
Definition: d878uv_codeplug.cc:1676
virtual void setDTMFToneDuration(unsigned ms)
Sets the DTMF tone duration in ms.
Definition: d878uv_codeplug.cc:988
virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang)
Sets the UI language.
Definition: d878uv_codeplug.cc:770
virtual void setBTMicGain(unsigned int gain)
Sets the bluetooth microphone gain [1,10].
Definition: d878uv_codeplug.cc:1220
bool keyLockForced() const
Returns true if the "professional" key is locked.
Definition: d878uv_codeplug.cc:1322
virtual Frequency autoRepeaterMaxFrequencyUHF() const
Returns the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition: d878uv_codeplug.cc:1401
void setDefaultChannelBIndex(unsigned idx)
Sets the default channel index for VFO B.
Definition: d878uv_codeplug.cc:1480
virtual bool gpsMessageEnabled() const
Returns true if the GPS range reporting is enabled.
Definition: d878uv_codeplug.cc:1136
unsigned defaultChannelAIndex() const
Returns the default channel index for VFO A.
Definition: d878uv_codeplug.cc:1459
virtual bool roaming() const
Returns true if roaming is enabled.
Definition: d878uv_codeplug.cc:1589
virtual bool proMode() const
Returns true if the "pro mode" is enabled.
Definition: d878uv_codeplug.cc:1046
bool showLastHeard() const
Returns true if the last heard is shown while pressing PTT.
Definition: d878uv_codeplug.cc:1358
bool gpsUnitsImperial() const
Returns true if the GPS units are imperial.
Definition: d878uv_codeplug.cc:1289
virtual void setDefaultRoamingZoneIndex(unsigned idx)
Sets the default roaming zone index.
Definition: d878uv_codeplug.cc:1493
virtual void enableProMode(bool enable)
Enables/disables the "pro mode".
Definition: d878uv_codeplug.cc:1050
void enableGPSUnitsImperial(bool enable)
Enables/disables imperial GPS units.
Definition: d878uv_codeplug.cc:1293
AnytoneKeySettingsExtension::KeyFunction funcKey2Short() const
Returns the key function for a short press on the function key 2.
Definition: d878uv_codeplug.cc:845
virtual AnytoneRoamingSettingsExtension::RoamStart roamingStartCondition() const
Returns the roaming start condition.
Definition: d878uv_codeplug.cc:1525
bool showCurrentContact() const
Returns true if the current contact is shown.
Definition: d878uv_codeplug.cc:1245
void setFuncKeyCShort(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 3/C.
Definition: d878uv_codeplug.cc:831
virtual bool fmSendIDAndContact() const
If enabled, the FM ID is sent together with selected contact.
Definition: d878uv_codeplug.cc:1419
virtual void setAutoRepeaterDirectionB(AnytoneAutoRepeaterSettingsExtension::Direction dir)
Sets the auto-repeater direction for VFO B.
Definition: d878uv_codeplug.cc:1414
bool keypadLock() const
Returns true if the keypad is locked.
Definition: d878uv_codeplug.cc:1306
void enableKnobLock(bool enable)
Enables/disables the knob lock.
Definition: d878uv_codeplug.cc:1302
virtual Interval btRXDelay() const
Returns the bluetooth RX delay in ms.
Definition: d878uv_codeplug.cc:1660
virtual unsigned priorityZoneAIndex() const
Returns the priority Zone A index.
Definition: d878uv_codeplug.cc:1154
virtual void setRepeaterRangeCheckInterval(Interval sec)
Sets the repeater range check interval in seconds.
Definition: d878uv_codeplug.cc:1511
virtual void setAutoRepeaterMinFrequencyUHF(Frequency Hz)
Sets the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition: d878uv_codeplug.cc:1397
virtual bool monitorTimeSlotHold() const
Returns true if the monitor holds the time slot.
Definition: d878uv_codeplug.cc:1109
virtual void setPrivateCallHangTime(Interval sec)
Sets the private call hang time in seconds.
Definition: d878uv_codeplug.cc:939
BackgroundImage
Possible background images.
Definition: d878uv_codeplug.hh:453
void setFuncKeyBShort(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 2/B.
Definition: d878uv_codeplug.cc:822
void setDefaultZoneIndexB(unsigned idx)
Sets the default zone (0-based) for VFO B.
Definition: d878uv_codeplug.cc:1450
bool defaultChannel() const
Returns true if the default boot channel is enabled.
Definition: d878uv_codeplug.cc:1428
virtual Interval gpsUpdatePeriod() const
Returns the GPS ranging interval in seconds.
Definition: d878uv_codeplug.cc:1207
virtual Interval groupCallHangTime() const
Returns the group call hang time in seconds.
Definition: d878uv_codeplug.cc:927
virtual bool monitorIDMatch() const
Returns true if the monitor matches ID.
Definition: d878uv_codeplug.cc:1100
virtual bool wfmVFOEnabled() const
Returns true if the WFM RX is in VFO mode.
Definition: d878uv_codeplug.cc:968
virtual void enableBootGPSCheck(bool enable)
Enables/disables boot GPS check.
Definition: d878uv_codeplug.cc:1620
FreqStep
Possible VFO frequency steps.
Definition: d878uv_codeplug.hh:426
@ FREQ_STEP_20kHz
20kHz
Definition: d878uv_codeplug.hh:432
@ FREQ_STEP_2_5kHz
2.5kHz
Definition: d878uv_codeplug.hh:427
@ FREQ_STEP_50kHz
50kHz
Definition: d878uv_codeplug.hh:434
@ FREQ_STEP_10kHz
10kHz
Definition: d878uv_codeplug.hh:430
@ FREQ_STEP_6_25kHz
6.25kHz
Definition: d878uv_codeplug.hh:429
@ FREQ_STEP_5kHz
5kHz
Definition: d878uv_codeplug.hh:428
@ FREQ_STEP_12_5kHz
12.5kHz
Definition: d878uv_codeplug.hh:431
@ FREQ_STEP_25kHz
25kHz
Definition: d878uv_codeplug.hh:433
unsigned defaultZoneIndexB() const
Returns the default zone index (0-based) for VFO B.
Definition: d878uv_codeplug.cc:1446
virtual bool repeaterRangeCheck() const
Returns true if repeater range check is enabled.
Definition: d878uv_codeplug.cc:1498
void setFuncKeyBLong(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 2.
Definition: d878uv_codeplug.cc:867
virtual void enableBTAndInternalMic(bool enable)
Enables/disables the internal mic when BT is active.
Definition: d878uv_codeplug.cc:1184
virtual void setBTHoldTime(Interval interval)
Sets the bluethooth hold time (1-120s).
Definition: d878uv_codeplug.cc:1646
virtual void setWakeHeadPeriod(Interval ms)
Sets the wake head-period in ms.
Definition: d878uv_codeplug.cc:955
virtual bool filterOwnID() const
Returns true if the own ID is filtered in call lists.
Definition: d878uv_codeplug.cc:1055
AnytoneKeySettingsExtension::KeyFunction funcKeyBShort() const
Returns the key function for a short press on the function key 2/B.
Definition: d878uv_codeplug.cc:818
AnytoneKeySettingsExtension::KeyFunction funcKey1Short() const
Returns the key function for a short press on the function key 1.
Definition: d878uv_codeplug.cc:836
bool knobLock() const
Returns true if the knob is locked.
Definition: d878uv_codeplug.cc:1298
void setKeyToneLevelAdjustable()
Sets the key-tone level adjustable.
Definition: d878uv_codeplug.cc:1275
virtual Frequency autoRepeaterMinFrequencyUHF() const
Returns the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition: d878uv_codeplug.cc:1393
void enableShowCurrentContact(bool enable)
Enables/disables display of current contact.
Definition: d878uv_codeplug.cc:1249
virtual void setPriorityZoneAIndex(unsigned idx)
Sets the priority zone A index.
Definition: d878uv_codeplug.cc:1158
virtual void enableRemoteStunKill(bool enable)
Enables/disables remote stun/kill.
Definition: d878uv_codeplug.cc:1068
bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err)
Links the general settings.
Definition: d878uv_codeplug.cc:1873
virtual void setStandbyTextColor(AnytoneDisplaySettingsExtension::Color color)
Sets the standby text color.
Definition: d878uv_codeplug.cc:1344
virtual void enableBluetooth(bool enable)
Enables/disables bluetooth.
Definition: d878uv_codeplug.cc:1175
Interval rxBacklightDuration() const
Returns the backlight duration during RX in seconds.
Definition: d878uv_codeplug.cc:1580
virtual void enableRoaming(bool enable)
Enables/disables repeater check notification.
Definition: d878uv_codeplug.cc:1593
void setFuncKey2Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 2.
Definition: d878uv_codeplug.cc:849
virtual void enableManDown(bool enable)
Enables/disables "man down".
Definition: d878uv_codeplug.cc:1007
virtual void setChannelNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color.
Definition: d878uv_codeplug.cc:1565
bool sidekeysLock() const
Returns true if the sidekeys are locked.
Definition: d878uv_codeplug.cc:1314
virtual bool btHoldTimeInfinite() const
Returns true, if the bluetooth hold time is infinite.
Definition: d878uv_codeplug.cc:1638
void setGPSTimeZone(const QTimeZone &zone)
Sets the GPS time zone.
Definition: d878uv_codeplug.cc:752
bool keepLastCaller() const
Returns true if the last caller is kept when changing channel.
Definition: d878uv_codeplug.cc:1552
virtual bool manDown() const
Returns true if "man down" is enabled.
Definition: d878uv_codeplug.cc:1003
virtual unsigned int btSpeakerGain() const
Returns the bluetooth speaker gain [1,10].
Definition: d878uv_codeplug.cc:1226
virtual void enableSeparateDisplay(bool enable)
Enables/disables "separate display.
Definition: d878uv_codeplug.cc:1547
virtual void setBTHoldTimeInfinite()
Sets the bluethooth hold time to infinite.
Definition: d878uv_codeplug.cc:1651
virtual void setPriorityZoneBIndex(unsigned idx)
Sets the priority zone B index.
Definition: d878uv_codeplug.cc:1166
virtual unsigned fmCallHold() const
Returns the analog call hold in seconds.
Definition: d878uv_codeplug.cc:1127
virtual unsigned defaultRoamingZoneIndex() const
Returns the default roaming zone index.
Definition: d878uv_codeplug.cc:1489
virtual unsigned dtmfToneDuration() const
Returns the DTMF tone duration in ms.
Definition: d878uv_codeplug.cc:977
virtual void enableDisplayChannelNumber(bool enable)
Enables/disables display of channel number.
Definition: d878uv_codeplug.cc:1240
virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const
Returns the monitor slot match.
Definition: d878uv_codeplug.cc:1082
virtual AnytoneDisplaySettingsExtension::Language language() const
Returns the UI language.
Definition: d878uv_codeplug.cc:766
AnytoneKeySettingsExtension::KeyFunction funcKeyAShort() const
Returns the key function for a short press on the function key 1/A.
Definition: d878uv_codeplug.cc:809
void setDefaultChannelAIndex(unsigned idx)
Sets the default channel index for VFO A.
Definition: d878uv_codeplug.cc:1463
void setDefaultChannelBToVFO()
Sets the default channel for VFO B to be VFO.
Definition: d878uv_codeplug.cc:1484
virtual bool displayChannelNumber() const
Returns true if the channel number is displayed.
Definition: d878uv_codeplug.cc:1236
virtual AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionB() const
Returns the auto-repeater direction for VFO B.
Definition: d878uv_codeplug.cc:1410
bool keyToneLevelAdjustable() const
Returns true if the key-tone level is adjustable.
Definition: d878uv_codeplug.cc:1263
virtual Interval manDownDelay() const
Returns the "man down" delay in seconds.
Definition: d878uv_codeplug.cc:1118
virtual AnytoneDisplaySettingsExtension::Color channelNameColor() const
Returns the channel name color.
Definition: d878uv_codeplug.cc:1561
virtual void setGroupCallHangTime(Interval sec)
Sets the group call hang time in seconds.
Definition: d878uv_codeplug.cc:931
virtual void setPreWaveDelay(Interval ms)
Sets the pre-wave time in ms.
Definition: d878uv_codeplug.cc:947
virtual void setStandbyBackgroundImage(D878UVCodeplug::GeneralSettingsElement::BackgroundImage img)
Sets the standby background image.
Definition: d878uv_codeplug.cc:1353
virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match)
Sets the monitor slot match.
Definition: d878uv_codeplug.cc:1086
void setFuncKeyCLong(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 3.
Definition: d878uv_codeplug.cc:876
virtual void enableWFMVFO(bool enable)
Enables/disables VFO mode for WFM RX.
Definition: d878uv_codeplug.cc:972
virtual bool btAndInternalMic() const
Returns true if the internal mic is additionally active when BT is active.
Definition: d878uv_codeplug.cc:1180
virtual Frequency tbstFrequency() const
Returns the TBST frequency.
Definition: d878uv_codeplug.cc:1021
virtual void setTBSTFrequency(Frequency freq)
Sets the TBST frequency.
Definition: d878uv_codeplug.cc:1031
virtual AnytoneSettingsExtension::STEType steType() const
Returns the STE (squelch tail eliminate) type.
Definition: d878uv_codeplug.cc:899
STEFrequency
All possible STE (squelch tail eliminate) frequencies.
Definition: d878uv_codeplug.hh:448
virtual Interval btHoldTime() const
Returns the bluetooth hold time.
Definition: d878uv_codeplug.cc:1642
virtual void setTransmitTimeout(unsigned tot)
Sets the transmit timeout in seconds.
Definition: d878uv_codeplug.cc:761
virtual void setFMCallHold(unsigned sec)
Sets the analog call hold in seconds.
Definition: d878uv_codeplug.cc:1131
AnytoneKeySettingsExtension::KeyFunction funcKeyCShort() const
Returns the key function for a short press on the function key 3/C.
Definition: d878uv_codeplug.cc:827
void setFuncKey2Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 2.
Definition: d878uv_codeplug.cc:894
unsigned defaultZoneIndexA() const
Returns the default zone index (0-based) for VFO A.
Definition: d878uv_codeplug.cc:1437
virtual bool separateDisplay() const
Returns true if the "separate display" is enabled.
Definition: d878uv_codeplug.cc:1543
void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color)
Sets the display color for callsigns.
Definition: d878uv_codeplug.cc:1284
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor.
Definition: d878uv_codeplug.cc:1077
virtual Frequency vfoFrequencyStep() const
Returns the VFO frequency step in kHz.
Definition: d878uv_codeplug.cc:775
static constexpr unsigned int size()
Returns the size of the element.
Definition: d878uv_codeplug.hh:466
void enableKeepLastCaller(bool enable)
Enables/disables keeping the last caller when changing the channel.
Definition: d878uv_codeplug.cc:1556
virtual void enableRepeaterRangeCheck(bool enable)
Enables/disables repeater range check.
Definition: d878uv_codeplug.cc:1502
virtual void setAutoRepeaterMaxFrequencyUHF(Frequency Hz)
Sets the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition: d878uv_codeplug.cc:1405
virtual unsigned repeaterRangeCheckCount() const
Returns the number of repeater range checks.
Definition: d878uv_codeplug.cc:1516
virtual void enableMonitorIDMatch(bool enable)
Enables/disables monitor ID match.
Definition: d878uv_codeplug.cc:1104
virtual void setMuteDelay(Interval min)
Sets the mute delay in minutes.
Definition: d878uv_codeplug.cc:1602
virtual void enableBootReset(bool enable)
Enables/disables boot reset.
Definition: d878uv_codeplug.cc:1629
virtual unsigned transmitTimeout() const
Returns the transmit timeout in seconds.
Definition: d878uv_codeplug.cc:757
AnytoneDisplaySettingsExtension::Color callDisplayColor() const
Returns the display color for callsigns.
Definition: d878uv_codeplug.cc:1280
virtual void setTXBacklightDuration(Interval sec)
Sets the backlight duration during TX in seconds.
Definition: d878uv_codeplug.cc:1538
virtual void setManDownDelay(Interval sec)
Sets the "man down" delay in seconds.
Definition: d878uv_codeplug.cc:1122
virtual void enableMonitorColorCodeMatch(bool enable)
Enables/disables monitor color code match.
Definition: d878uv_codeplug.cc:1095
virtual void enableMonitorTimeSlotHold(bool enable)
Enables/disables monitor time slot hold.
Definition: d878uv_codeplug.cc:1113
void setRXBacklightDuration(Interval sec)
Sets the backlight duration during RX in seconds.
Definition: d878uv_codeplug.cc:1584
virtual bool bootGPSCheck() const
Returns true if boot GPS check is enabled.
Definition: d878uv_codeplug.cc:1616
AnytoneKeySettingsExtension::KeyFunction funcKey1Long() const
Returns the key function for a long press on the function key 1.
Definition: d878uv_codeplug.cc:881
virtual Frequency autoRepeaterMinFrequencyVHF() const
Returns the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition: d878uv_codeplug.cc:1376
virtual bool repeaterCheckNotification() const
Returns true if repeater check notification is enabled.
Definition: d878uv_codeplug.cc:1570
virtual Interval wakeHeadPeriod() const
Returns the wake head-period in ms.
Definition: d878uv_codeplug.cc:951
bool updateConfig(Context &ctx)
Updates the abstract config from general settings.
Definition: d878uv_codeplug.cc:1778
virtual void enableWFMMonitor(bool enable)
Enables/disables WFM monitor.
Definition: d878uv_codeplug.cc:1016
virtual void setSMSFormat(AnytoneDMRSettingsExtension::SMSFormat fmt)
Sets the SMS format.
Definition: d878uv_codeplug.cc:1371
AnytoneKeySettingsExtension::KeyFunction funcKeyALong() const
Returns the key function for a long press on the function key 1.
Definition: d878uv_codeplug.cc:854
virtual void setAutoRoamDelay(Interval sec)
Sets the auto-roam delay in seconds.
Definition: d878uv_codeplug.cc:1335
virtual bool wfmMonitor() const
Returns true if WFM monitor is enabled.
Definition: d878uv_codeplug.cc:1012
void setFuncKey1Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 1.
Definition: d878uv_codeplug.cc:885
void enableDefaultChannel(bool enable)
Enables/disables default boot channel.
Definition: d878uv_codeplug.cc:1432
virtual Interval preWaveDelay() const
Returns the pre-wave time in ms.
Definition: d878uv_codeplug.cc:943
virtual void setGPSUpdatePeriod(Interval sec)
Sets the GPS ranging interval in seconds.
Definition: d878uv_codeplug.cc:1211
virtual Interval autoRoamDelay() const
Returns the auto-roam delay in seconds.
Definition: d878uv_codeplug.cc:1331
virtual unsigned wfmChannelIndex() const
Returns the wide-FM (broadcast) channel index.
Definition: d878uv_codeplug.cc:960
virtual double steFrequency() const
Returns the STE (squelch tail eliminate) frequency setting in Hz.
Definition: d878uv_codeplug.cc:907
virtual bool maintainCallChannel() const
Returns true if the call channel is maintained.
Definition: d878uv_codeplug.cc:1145
void setFuncKey1Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a short press on the function key 1.
Definition: d878uv_codeplug.cc:840
virtual void setWFMChannelIndex(unsigned idx)
Sets the wide-FM (broadcast) channel index.
Definition: d878uv_codeplug.cc:964
virtual void enableMaintainCallChannel(bool enable)
Enables/disables maintaining the call channel.
Definition: d878uv_codeplug.cc:1149
virtual void setVFOFrequencyStep(Frequency kHz)
Sets the VFO frequency step in kHz.
Definition: d878uv_codeplug.cc:789
virtual void setBTRXDelay(Interval delay)
Sets the bluetooth RX delay in ms.
Definition: d878uv_codeplug.cc:1666
virtual unsigned repeaterCheckNumNotifications() const
Returns the number of repeater check notifications.
Definition: d878uv_codeplug.cc:1607
void enableSidekeysLock(bool enable)
Enables/disables the sidekeys lock.
Definition: d878uv_codeplug.cc:1318
virtual Interval repeaterRangeCheckInterval() const
Returns the repeater range check period in seconds.
Definition: d878uv_codeplug.cc:1507
void setDefaultChannelAToVFO()
Sets the default channel for VFO A to be VFO.
Definition: d878uv_codeplug.cc:1467
virtual bool btAndInternalSpeaker() const
Returns true if the internal speaker is additionally active when BT is active.
Definition: d878uv_codeplug.cc:1189
unsigned defaultChannelBIndex() const
Returns the default channel index for VFO B.
Definition: d878uv_codeplug.cc:1476
void setFuncKeyALong(AnytoneKeySettingsExtension::KeyFunction func)
Sets the key function for a long press on the function key 1.
Definition: d878uv_codeplug.cc:858
virtual void enableBTAndInternalSpeaker(bool enable)
Enables/disables the internal speaker when BT is active.
Definition: d878uv_codeplug.cc:1193
virtual void setAutoRepeaterMinFrequencyVHF(Frequency Hz)
Sets the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition: d878uv_codeplug.cc:1380
virtual Interval txBacklightDuration() const
Returns the backlight duration during TX in seconds.
Definition: d878uv_codeplug.cc:1534
virtual void enableFilterOwnID(bool enable)
Enables/disables filter of own ID in call lists.
Definition: d878uv_codeplug.cc:1059
virtual void enableFMSendIDAndContact(bool enable)
Enables/disables sending contact with FM ID.
Definition: d878uv_codeplug.cc:1423
virtual void setAutoRoamPeriod(Interval min)
Sets the auto roaming period in minutes.
Definition: d878uv_codeplug.cc:1258
virtual unsigned int btMicGain() const
Returns the bluetooth microphone gain [1,10].
Definition: d878uv_codeplug.cc:1216
virtual void setRepeaterRangeCheckCount(unsigned n)
Sets the number of repeater range checks.
Definition: d878uv_codeplug.cc:1520
virtual Frequency autoRepeaterMaxFrequencyVHF() const
Returns the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition: d878uv_codeplug.cc:1384
virtual AnytoneDMRSettingsExtension::SMSFormat smsFormat() const
Returns the SMS format.
Definition: d878uv_codeplug.cc:1367
virtual void setBTSpeakerGain(unsigned int gain)
Sets the bluetooth speaker gain [1,10].
Definition: d878uv_codeplug.cc:1230
virtual void setAutoRepeaterMaxFrequencyVHF(Frequency Hz)
Sets the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition: d878uv_codeplug.cc:1388
AnytoneKeySettingsExtension::KeyFunction funcKeyBLong() const
Returns the key function for a long press on the function key 2.
Definition: d878uv_codeplug.cc:863
virtual void setRoamingStartCondition(AnytoneRoamingSettingsExtension::RoamStart cond)
Sets the roaming start condition.
Definition: d878uv_codeplug.cc:1529
virtual Interval muteDelay() const
Returns the mute delay in minutes.
Definition: d878uv_codeplug.cc:1598
virtual bool pluginRecTone() const
Returns true if the plug-in record tone is enabled.
Definition: d878uv_codeplug.cc:1198
virtual BackgroundImage standbyBackgroundImage() const
Returns the standby background image.
Definition: d878uv_codeplug.cc:1349
void enableKeyLockForced(bool enable)
Enables/disables the "professional" key lock.
Definition: d878uv_codeplug.cc:1326
AnytoneKeySettingsExtension::KeyFunction funcKey2Long() const
Returns the key function for a long press on the function key 2.
Definition: d878uv_codeplug.cc:890
virtual AnytoneDisplaySettingsExtension::Color standbyTextColor() const
Returns the standby text color.
Definition: d878uv_codeplug.cc:1340
AnytoneKeySettingsExtension::KeyFunction funcKeyCLong() const
Returns the key function for a long press on the function key 3.
Definition: d878uv_codeplug.cc:872
GeneralSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: d878uv_codeplug.cc:730
virtual void setRepeaterCheckNumNotifications(unsigned num)
Sets the number of repeater check notifications.
Definition: d878uv_codeplug.cc:1611
bool defaultChannelBIsVFO() const
Returns true if the default channel for VFO B is VFO.
Definition: d878uv_codeplug.cc:1472
QTimeZone gpsTimeZone() const
Returns the GPS time zone.
Definition: d878uv_codeplug.cc:748
void setKeyToneLevel(unsigned level)
Sets the key-tone level.
Definition: d878uv_codeplug.cc:1271
virtual Interval autoRoamPeriod() const
Returns the auto roaming period in minutes.
Definition: d878uv_codeplug.cc:1254
virtual void enableRepeaterCheckNotification(bool enable)
Enables/disables repeater check notification.
Definition: d878uv_codeplug.cc:1574
void enableKeypadLock(bool enable)
Enables/disables the keypad lock.
Definition: d878uv_codeplug.cc:1310
virtual void enableGPSMessage(bool enable)
Enables/disables GPS range reporting.
Definition: d878uv_codeplug.cc:1140
unsigned keyToneLevel() const
Returns the key-tone level (0=adjustable).
Definition: d878uv_codeplug.cc:1267
void clear()
Resets the general settings.
Definition: d878uv_codeplug.cc:743
Encodes the bitmap, indicating which zone is hidden.
Definition: d878uv_codeplug.hh:1773
HiddenZoneBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: d878uv_codeplug.cc:3220
static constexpr unsigned int size()
The size of the element.
Definition: d878uv_codeplug.hh:1783
Encodes some information about the radio and firmware.
Definition: d878uv_codeplug.hh:1791
virtual QString seller() const
Returns the seller.
Definition: d878uv_codeplug.cc:3350
virtual QString dealerCode() const
Returns the dealer code.
Definition: d878uv_codeplug.cc:3335
virtual bool bandSelect() const
Returns true if band select is enabled.
Definition: d878uv_codeplug.cc:3278
virtual void setProgramPassword(const QString &passwd)
Sets the program password.
Definition: d878uv_codeplug.cc:3305
RadioInfoElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: d878uv_codeplug.cc:3236
virtual QString maintainedDate() const
Returns the maintained date.
Definition: d878uv_codeplug.cc:3330
virtual QString productionDate() const
Returns the production date.
Definition: d878uv_codeplug.cc:3320
virtual QString manufacturerCode() const
Returns the manufacturer code.
Definition: d878uv_codeplug.cc:3325
virtual QString areaCode() const
Returns the area code.
Definition: d878uv_codeplug.cc:3310
virtual bool international() const
Returns true if "international" is enabled.
Definition: d878uv_codeplug.cc:3269
virtual bool fullTest() const
Returns true if full test is enabled.
Definition: d878uv_codeplug.cc:3255
FrequencyRange
Possible frequency ranges for the AT-D878UV.
Definition: d878uv_codeplug.hh:1794
virtual void setBandSelectPassword(const QString &passwd)
Sets the band-select password.
Definition: d878uv_codeplug.cc:3291
virtual void enableInternational(bool enable)
Enables/disables "international".
Definition: d878uv_codeplug.cc:3273
virtual QString sellDate() const
Returns the sell date.
Definition: d878uv_codeplug.cc:3345
virtual void setFrequencyRange(FrequencyRange range)
Sets the frequency range.
Definition: d878uv_codeplug.cc:3264
virtual QString programPassword() const
Returns the program password.
Definition: d878uv_codeplug.cc:3301
virtual QString serialNumber() const
Returns the serial number.
Definition: d878uv_codeplug.cc:3315
virtual QString radioType() const
Returns the radio type.
Definition: d878uv_codeplug.cc:3296
virtual FrequencyRange frequencyRange() const
Returns the frequency range.
Definition: d878uv_codeplug.cc:3260
virtual QString bandSelectPassword() const
Returns the band-select password.
Definition: d878uv_codeplug.cc:3287
void clear()
Resets the info.
Definition: d878uv_codeplug.cc:3249
virtual void enableBandSelect(bool enable)
Enables/disables band select.
Definition: d878uv_codeplug.cc:3282
virtual QString maintainerNote() const
Returns the maintainer note.
Definition: d878uv_codeplug.cc:3355
virtual QString stockDate() const
Returns the stock date.
Definition: d878uv_codeplug.cc:3340
Represents the bitmap, indicating which roaming channel is valid.
Definition: d878uv_codeplug.hh:1650
static constexpr unsigned int size()
The size of the element.
Definition: d878uv_codeplug.hh:1660
RoamingChannelBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: d878uv_codeplug.cc:464
Implements the binary representation of a roaming channel within the codeplug.
Definition: d878uv_codeplug.hh:1568
TimeSlotValue
Encoded values for the time slot.
Definition: d878uv_codeplug.hh:1580
virtual void setTXFrequency(unsigned hz)
Sets the TX frequency in Hz.
Definition: d878uv_codeplug.cc:383
RoamingChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: d878uv_codeplug.cc:353
void clear()
Resets the roaming channel.
Definition: d878uv_codeplug.cc:366
virtual bool hasColorCode() const
Returns true if the color code is set.
Definition: d878uv_codeplug.cc:388
virtual unsigned txFrequency() const
Returns the TX frequency in Hz.
Definition: d878uv_codeplug.cc:379
virtual void disableColorCode()
Disables the color code for the roaming channel.
Definition: d878uv_codeplug.cc:400
static constexpr unsigned int size()
The size of the element.
Definition: d878uv_codeplug.hh:1590
virtual void setColorCode(unsigned cc)
Sets the color code.
Definition: d878uv_codeplug.cc:396
virtual void setRXFrequency(unsigned hz)
Sets the RX frequency in Hz.
Definition: d878uv_codeplug.cc:375
virtual void setTimeSlot(DMRChannel::TimeSlot ts)
Sets the time slot.
Definition: d878uv_codeplug.cc:413
virtual RoamingChannel * toChannel(Context &ctx)
Constructs a RoamingChannel instance for this roaming channel.
Definition: d878uv_codeplug.cc:443
virtual unsigned rxFrequency() const
Returns the RX frequency in Hz.
Definition: d878uv_codeplug.cc:371
virtual unsigned colorCode() const
Returns the color code.
Definition: d878uv_codeplug.cc:392
virtual void setName(const QString &name)
Sets the name of the channel.
Definition: d878uv_codeplug.cc:425
ColorCodeValue
Special values for the color code.
Definition: d878uv_codeplug.hh:1575
virtual QString name() const
Returns the name of the channel.
Definition: d878uv_codeplug.cc:421
virtual bool fromChannel(const RoamingChannel *ch)
Constructs a roaming channel from the given digital channel.
Definition: d878uv_codeplug.cc:430
virtual DMRChannel::TimeSlot timeSlot() const
Returns the time slot.
Definition: d878uv_codeplug.cc:405
Represents the bitmap, indicating which roaming zone is valid.
Definition: d878uv_codeplug.hh:1724
RoamingZoneBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: d878uv_codeplug.cc:566
static constexpr unsigned int size()
The size of the element.
Definition: d878uv_codeplug.hh:1734
Represents a roaming zone within the binary codeplug.
Definition: d878uv_codeplug.hh:1668
virtual bool fromRoamingZone(RoamingZone *zone, Context &ctx, const ErrorStack &err=ErrorStack())
Assembles a binary representation of the given RoamingZone instance.
Definition: d878uv_codeplug.cc:529
virtual void setName(const QString &name)
Sets the name of the zone.
Definition: d878uv_codeplug.cc:524
static constexpr unsigned int size()
The size of the element.
Definition: d878uv_codeplug.hh:1678
virtual bool hasMember(unsigned n) const
Returns true if the n-th member is set.
Definition: d878uv_codeplug.cc:499
virtual void setMember(unsigned n, unsigned idx)
Sets the n-th member index.
Definition: d878uv_codeplug.cc:507
virtual RoamingZone * toRoamingZone(Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a RoamingZone instance from this configuration.
Definition: d878uv_codeplug.cc:542
void clear()
Clears the roaming zone.
Definition: d878uv_codeplug.cc:493
virtual bool linkRoamingZone(RoamingZone *zone, Context &ctx, const ErrorStack &err=ErrorStack())
Links the given RoamingZone.
Definition: d878uv_codeplug.cc:548
RoamingZoneElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: d878uv_codeplug.cc:480
virtual QString name() const
Returns the name of the zone.
Definition: d878uv_codeplug.cc:520
virtual void clearMember(unsigned n)
Clears the n-th member.
Definition: d878uv_codeplug.cc:513
virtual unsigned member(unsigned n) const
Returns the n-th member index.
Definition: d878uv_codeplug.cc:503
Represents the device specific binary codeplug for Anytone AT-D878UV radios.
Definition: d878uv_codeplug.hh:232
virtual bool createRoaming(Context &ctx, const ErrorStack &err=ErrorStack())
Creates roaming channels and zones from codeplug.
Definition: d878uv_codeplug.cc:3790
void setBitmaps(Context &ctx)
Sets all bitmaps for the given config.
Definition: d878uv_codeplug.cc:3421
bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the given config (via context) to the binary codeplug.
Definition: d878uv_codeplug.cc:3438
D878UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition: d878uv_codeplug.cc:3363
bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the downloaded codeplug.
Definition: d878uv_codeplug.cc:3452
bool encodeGPSSystems(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the GPS settings section.
Definition: d878uv_codeplug.cc:3632
bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Link the general settings.
Definition: d878uv_codeplug.cc:3608
void allocateGPSSystems()
Allocates GPS settings memory section.
Definition: d878uv_codeplug.cc:3623
bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Create channels from codeplug.
Definition: d878uv_codeplug.cc:3504
virtual bool encodeZone(int i, Zone *zone, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Function to encode a single zone.
Definition: d878uv_codeplug.cc:3551
void allocateChannels()
Allocate channels from bitmap.
Definition: d878uv_codeplug.cc:3468
void allocateForEncoding()
Allocate all code-plug elements that are defined through the common Config.
Definition: d878uv_codeplug.cc:3405
bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Link channels.
Definition: d878uv_codeplug.cc:3524
bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the general settings section.
Definition: d878uv_codeplug.cc:3590
void allocateGeneralSettings()
Allocates general settings memory section.
Definition: d878uv_codeplug.cc:3582
void allocateForDecoding()
Allocate all code-plug elements that must be downloaded for decoding.
Definition: d878uv_codeplug.cc:3412
virtual bool linkRoaming(Context &ctx, const ErrorStack &err=ErrorStack())
Links roaming channels and zones.
Definition: d878uv_codeplug.cc:3820
virtual bool encodeRoaming(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the roaming channels and zones.
Definition: d878uv_codeplug.cc:3756
bool allocateBitmaps()
Allocates the bitmaps.
Definition: d878uv_codeplug.cc:3376
void allocateUpdated()
Allocate all code-plug elements that must be written back to the device to maintain a working codeplu...
Definition: d878uv_codeplug.cc:3389
bool linkGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack())
Link GPS systems.
Definition: d878uv_codeplug.cc:3701
bool createGPSSystems(Context &ctx, const ErrorStack &err=ErrorStack())
Create GPS systems from codeplug.
Definition: d878uv_codeplug.cc:3660
virtual void allocateRoaming()
Allocates memory to store all roaming channels and zones.
Definition: d878uv_codeplug.cc:3723
bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode channels into codeplug.
Definition: d878uv_codeplug.cc:3490
virtual bool decodeZone(int i, Zone *zone, Context &ctx, const ErrorStack &err=ErrorStack())
Function to decode a single zone.
Definition: d878uv_codeplug.cc:3565
bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the general settings section.
Definition: d878uv_codeplug.cc:3599
virtual void allocateZones()
Allocate zones from bitmaps.
Definition: d878uv_codeplug.cc:3544
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:389
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
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:15
Simple range class representing some range in some data type.
Definition: ranges.hh:14
Represents a roaming channel.
Definition: roamingchannel.hh:16
Represents a RoamingZone within the abstract device configuration.
Definition: roamingzone.hh:15
Generic representation of a scan list.
Definition: scanlist.hh:15
Code
This huge enum lists all possible RX/TX tones that can be associated with analog channels.
Definition: signaling.hh:18
Represents a zone within the generic configuration.
Definition: zone.hh:15
Implements encoding of CTCSS tones.
Definition: d868uv_codeplug.hh:209
Internal used offsets within the channel element.
Definition: d868uv_codeplug.hh:286
Some internal used offsets within the element.
Definition: d868uv_codeplug.hh:553
Some limits for the codeplug.
Definition: d868uv_codeplug.hh:798
Some internal used offsets within the codeplug.
Definition: d868uv_codeplug.hh:822
Some static limits for this element.
Definition: d878uv_codeplug.hh:1435
static constexpr unsigned int fmFrequencies()
Maximum number of FM APRS frequencies.
Definition: d878uv_codeplug.hh:1443
static constexpr unsigned int dmrSystems()
Maximum number of DMR APRS systems.
Definition: d878uv_codeplug.hh:1441
static constexpr unsigned int callLength()
Maximum length of call signs.
Definition: d878uv_codeplug.hh:1437
static constexpr unsigned int pathLength()
Maximum length of the repeater path string.
Definition: d878uv_codeplug.hh:1439
Internal used offsets within the codeplug element.
Definition: d878uv_codeplug.hh:1448
Some limits.
Definition: d878uv_codeplug.hh:1528
static constexpr unsigned int length()
Maximum message length.
Definition: d878uv_codeplug.hh:1529
Internal used offsets within the channel element.
Definition: d878uv_codeplug.hh:361
Some limits for the settings.
Definition: d878uv_codeplug.hh:1133
static constexpr unsigned int maxBluetoothPTTSleepDelay()
Maximum delay in minutes.
Definition: d878uv_codeplug.hh:1134
Internal used offset within the element.
Definition: d878uv_codeplug.hh:1139
Some limits for the element.
Definition: d878uv_codeplug.hh:1203
static constexpr unsigned int nameLength()
Maximum name length.
Definition: d878uv_codeplug.hh:1204
Some internal offsets within the element.
Definition: d878uv_codeplug.hh:1209
Device specific key functions.
Definition: d878uv_codeplug.hh:387
static uint8_t encode(AnytoneKeySettingsExtension::KeyFunction tone)
Encodes key function.
Definition: d878uv_codeplug.cc:583
KeyFunctionCode
Device specific key functions.
Definition: d878uv_codeplug.hh:396
static AnytoneKeySettingsExtension::KeyFunction decode(uint8_t code)
Decodes key function.
Definition: d878uv_codeplug.cc:640
Some internal used offsets within the element.
Definition: d878uv_codeplug.hh:862
Device specific time zones.
Definition: d878uv_codeplug.hh:412
static QVector< QTimeZone > _timeZones
Vector of possible time-zones.
Definition: d878uv_codeplug.hh:421
static uint8_t encode(const QTimeZone &zone)
Encodes time zone.
Definition: d878uv_codeplug.cc:720
static QTimeZone decode(uint8_t code)
Decodes time zone.
Definition: d878uv_codeplug.cc:714
Some limits.
Definition: d878uv_codeplug.hh:1928
static constexpr unsigned int analogAPRSRXEntries()
Maximum number of analog APRS RX entries.
Definition: d878uv_codeplug.hh:1929
static constexpr unsigned int roamingChannels()
Maximum number of roaming channels.
Definition: d878uv_codeplug.hh:1930
static constexpr unsigned int roamingZones()
Maximum number of roaming zones.
Definition: d878uv_codeplug.hh:1931
static constexpr unsigned int aesKeys()
Maximum number of AES keys.
Definition: d878uv_codeplug.hh:1932
Channel name and call-sign colors supported by the D878UV.
Definition: d878uv_codeplug.hh:237
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition: d878uv_codeplug.cc:35
CodedColor
Encoding of the supported colors.
Definition: d878uv_codeplug.hh:246
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition: d878uv_codeplug.cc:20
Internal offsets within the codeplug.
Definition: d878uv_codeplug.hh:1937
Some limits.
Definition: d878uv_codeplug.hh:1630
static constexpr unsigned int nameLength()
Maximum name length.
Definition: d878uv_codeplug.hh:1631
Some internal offsets within the element.
Definition: d878uv_codeplug.hh:1636
Some limits.
Definition: d878uv_codeplug.hh:1706
static constexpr unsigned int nameLength()
Maximum name length.
Definition: d878uv_codeplug.hh:1707
static constexpr unsigned int numMembers()
Maximum number of roaming channel in zone.
Definition: d878uv_codeplug.hh:1708
Some internal offsets within the element.
Definition: d878uv_codeplug.hh:1713
Text colors supported by the D878UV.
Definition: d878uv_codeplug.hh:252
CodedColor
Encoding of the supported colors.
Definition: d878uv_codeplug.hh:261
static AnytoneDisplaySettingsExtension::Color decode(uint8_t code)
Maps code -> color.
Definition: d878uv_codeplug.cc:54
static uint8_t encode(AnytoneDisplaySettingsExtension::Color color)
Maps color -> code.
Definition: d878uv_codeplug.cc:69
Helper type to encode frequencies without any rounding error.
Definition: frequency.hh:11