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