libdrmconf 0.13.3
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
8class Channel;
9class DMRContact;
10class Zone;
11class RXGroupList;
12class ScanList;
13class GPSSystem;
14
15
22{
23 Q_OBJECT
24
25protected:
27 struct KeyFunction {
28 public:
33
34 protected:
36 typedef enum {
37 Off = 0x00, Voltage = 0x01, Power = 0x02, Repeater = 0x03, Reverse = 0x04,
38 Encryption = 0x05, Call = 0x06, ToggleVFO = 0x07, Scan = 0x08, WFM = 0x09, Alarm = 0x0a,
39 RecordSwitch = 0x0b, Record = 0x0c, SMS = 0x0d, Dial = 0x0e, GPSInformation=0x0f, Monitor = 0x10,
40 ToggleMainChannel = 0x11, HotKey1 = 0x12, HotKey2 = 0x13, HotKey3 = 0x14, HotKey4 = 0x15,
41 HotKey5 = 0x16, HotKey6 = 0x17, WorkAlone = 0x18, SkipChannel = 0x19, DMRMonitor = 0x1a,
42 SubChannel = 0x1b, PriorityZone = 0x1c, VFOScan = 0x1d, MICSoundQuality = 0x1e,
43 LastCallReply = 0x1f, ChannelType = 0x20, Ranging=0x21, Roaming = 0x22, ChannelRanging = 0x23,
44 MaxVolume = 0x24, Slot = 0x25, APRSTypeSwitch=0x26, Zone = 0x27, MuteA = 0x28, MuteB = 0x29,
45 RoamingSet = 0x2a, APRSSet = 0x2b, ZoneUp = 0x2c, ZoneDown = 0x2d, Exit = 0x2e, Menu = 0x2f,
46 XBandRepeater = 0x30, Speaker = 0x31, ChannelName = 0x32, Bluetooth = 0x33,
47 GPS = 0x34, CDTScan = 0x35, TBSTSend = 0x36, APRSSend = 0x37, APRSInfo = 0x38,
48 GPSRoaming = 0x39, Squelch=0x3a, NoiseReductionTX=0x3b
50 };
51
52
53public:
57 {
58 public:
61 Off = 0, Hz3300 = 1, Hz3200 = 2, Hz3100 = 3, Hz3000 = 4, Hz2900 = 5, Hz2800 = 6, Hz2700 = 7,
62 Hz2600 = 8, Hz2500 = 9, Hz4095 = 10, Hz3458 = 11, Custom = 12
63 };
64
66 enum class InterruptPriority {
67 None = 0, Low = 1, High = 2
68 };
69
70 protected:
72 ChannelElement(uint8_t *ptr, unsigned size);
73
74 public:
76 ChannelElement(uint8_t *ptr);
77
79 virtual bool frequenciesSwapped() const;
81 virtual void enableSwapFrequencies(bool enable);
82
84 virtual bool bluetoothEnabled() const;
86 virtual void enableBluetooth(bool enable);
87
88 bool roamingEnabled() const override;
89 void enableRoaming(bool enable) override;
90
95
97 virtual bool noiseReductionEnabled() const;
99 virtual void enableNoiseReduction(bool enable);
100
101 bool multipleKeyEncryption() const override;
102 void enableMultipleKeyEncryption(bool enable) override;
103
104 bool randomKey() const override;
105 void enableRandomKey(bool enable) override;
106
107 bool sms() const override;
108 void enableSMS(bool enable) override;
109
110 bool dataACK() const override;
111 void enableDataACK(bool enable) override;
112
113 bool autoScan() const override;
114 void enableAutoScan(bool enable) override;
115
116 bool sendTalkerAlias() const override;
117 void enableSendTalkerAlias(bool enable) override;
118
120 void setEncryptionType(AdvancedEncryptionType type) override;
121
123 virtual bool analogScamblerEnabled() const;
125 virtual Frequency analogScramblerFrequency() const;
127 virtual void setAnalogScamberFrequency(Frequency f);
129 virtual void clearAnalogScambler();
130
131 unsigned int fmAPRSFrequencyIndex() const override;
132 void setFMAPRSFrequencyIndex(unsigned int idx) override;
133
134 bool hasARC4EncryptionKeyIndex() const override;
135 unsigned int arc4EncryptionKeyIndex() const override;
136 void setARC4EncryptionKeyIndex(unsigned int index) override;
137 void clearARC4EncryptionKeyIndex() override;
138
140 bool ctcssPhaseReversal() const override;
142 void enableCTCSSPhaseReversal(bool enable) override;
143
144 Channel *toChannelObj(Context &ctx) const override;
145 bool fromChannelObj(const Channel *ch, Context &ctx) override;
146
147 protected:
150 {
152 static constexpr Bit swapRxTx() { return {0x0009, 4}; }
153 static constexpr Bit bluetooth() { return {0x0034, 2}; }
154 static constexpr Bit noiseReduction() { return {0x0034, 3}; }
155 static constexpr Bit interruptPriority() { return {0x0034, 4}; }
156 static constexpr Bit roaming() { return {0x0034, 6}; }
157 static constexpr unsigned int fmScrambler() { return 0x003a; }
158 static constexpr unsigned int customScrambler() { return 0x003b; }
159 static constexpr Bit multipleKeyEncryption() { return {0x003b, 0}; }
160 static constexpr Bit randomKey() { return {0x003b, 1}; }
161 static constexpr Bit sms() { return {0x003b, 2}; }
162 static constexpr Bit dataACK() { return {0x003d, 3}; }
163 static constexpr Bit autoScan() { return {0x003d, 4}; }
164 static constexpr Bit talkerAlias() { return {0x003d, 5}; }
165 static constexpr Bit advancedEncryptionType() { return {0x003d, 6}; }
166 static constexpr unsigned int fmAPRSFrequencyIndex() { return 0x003e; }
167 static constexpr unsigned int arc4KeyIndex() { return 0x003f; }
168 // Deleted
169 static constexpr Bit muteFMAPRS() { return {0x0000, 0}; }
170 static constexpr Bit ctcssPhaseReversal() { return {0x0000, 0}; }
172 };
173 };
174
175
179 {
180 protected:
182 ChannelExtensionElement(uint8_t *ptr, unsigned size);
183
184 public:
186 ChannelExtensionElement(uint8_t *ptr);
187
189 static constexpr unsigned int size() { return 0x0040; }
190
191 void clear() override;
192
194 virtual unsigned int fiveToneIdIndexBOT() const;
196 virtual void setFiveToneIdIndexBOT(unsigned int idx);
197
199 virtual unsigned int fiveToneIdIndexEOT() const;
201 virtual void setFiveToneIdIndexEOT(unsigned int idx);
202
203 protected:
205 struct Offset: public Element::Offset {
207 static constexpr unsigned int fiveToneIdIndexBOT() { return 0x0000; }
208 static constexpr unsigned int fiveToneIdIndexEOT() { return 0x0001; }
210 };
211 };
212
213
217 {
218 protected:
220 struct TimeZone {
221 public:
223 static uint8_t encode(const QTimeZone& zone);
225 static QTimeZone decode(uint8_t code);
226
227 protected:
229 static QVector<QTimeZone> _timeZones;
230 };
231
233 enum class TBSTFrequency {
234 Hz1000 = 0, Hz1450 = 1, Hz1750 = 2, Hz2100 = 3
235 };
236
238 enum class STEFrequency {
239 Off = 0, Hz55_2 = 1, Hz259_2 = 2
240 };
241
243 enum class VFOStepSize {
244 Hz2500 = 0, Hz5000 = 1, Hz6250 = 2, Hz8330 = 3, kHz10 = 4, Hz12500 = 5, kHz20 = 6,
245 kHz25 = 7, kHz30 = 8, kHz50=9
246 };
247
248 protected:
250 GeneralSettingsElement(uint8_t *ptr, unsigned size);
251
252 public:
254 GeneralSettingsElement(uint8_t *ptr);
255
257 static constexpr unsigned int size() { return 0x00f0; }
258
259 bool keyToneEnabled() const override;
260 void enableKeyTone(bool enable) override;
261
263 virtual unsigned transmitTimeout() const;
265 virtual void setTransmitTimeout(unsigned tot);
266
268 virtual AnytoneDisplaySettingsExtension::Language language() const;
270 virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang);
271
273 virtual Frequency vfoStepSize() const;
275 virtual void setVFOStepSize(const Frequency &f);
276
279
280 unsigned int dmrMicGain() const override;
281 void setDMRMicGain(unsigned int gain) override;
282
283 bool vfoModeA() const override;
284 void enableVFOModeA(bool enable) override;
285 bool vfoModeB() const override;
286 void enableVFOModeB(bool enable) override;
287
294 virtual double steFrequency() const;
297 virtual void setSTEFrequency(double freq);
298
300 virtual Interval groupCallHangTime() const;
302 virtual void setGroupCallHangTime(Interval sec);
304 virtual Interval privateCallHangTime() const;
306 virtual void setPrivateCallHangTime(Interval sec);
307
309 virtual Interval wakeHeadPeriod() const;
311 virtual void setWakeHeadPeriod(Interval ms);
312
314 virtual unsigned wfmChannelIndex() const;
316 virtual void setWFMChannelIndex(unsigned idx);
318 virtual bool wfmVFOEnabled() const;
320 virtual void enableWFMVFO(bool enable);
321
322 unsigned memoryZoneA() const override;
323 void setMemoryZoneA(unsigned zone) override;
324 unsigned memoryZoneB() const override;
325 void setMemoryZoneB(unsigned zone) override;
326
328 virtual bool wfmEnabled() const;
330 virtual void enableWFM(bool enable);
331
332 bool recording() const override;
333 void enableRecording(bool enable) override;
334
335 unsigned brightness() const override;
336 void setBrightness(unsigned level) override;
337
338 bool gps() const override;
339 void enableGPS(bool enable) override;
340
341 bool smsAlert() const override;
342 void enableSMSAlert(bool enable) override;
343
345 virtual bool wfmMonitor() const;
347 virtual void enableWFMMonitor(bool enable);
348
349 bool activeChannelB() const override;
350 void enableActiveChannelB(bool enable) override;
351
352 bool subChannel() const override;
353 void enableSubChannel(bool enable) override;
354
356 virtual Frequency tbstFrequency() const;
358 virtual void setTBSTFrequency(Frequency freq);
359
360 bool callAlert() const override;
361 void enableCallAlert(bool enable) override;
362
363 QTimeZone gpsTimeZone() const override;
364 void setGPSTimeZone(const QTimeZone &zone) override;
365
366 bool dmrTalkPermit() const override;
367 void enableDMRTalkPermit(bool enable) override;
368 bool fmTalkPermit() const override;
369 void enableFMTalkPermit(bool enable) override;
370 bool dmrResetTone() const override;
371 void enableDMRResetTone(bool enable) override;
372 bool idleChannelTone() const override;
373 void enableIdleChannelTone(bool enable) override;
374
375 Interval menuExitTime() const override;
376 void setMenuExitTime(Interval intv) override;
377
379 virtual bool filterOwnID() const;
381 virtual void enableFilterOwnID(bool enable);
382
383 bool startupTone() const override;
384 void enableStartupTone(bool enable) override;
385
386 bool callEndPrompt() const override;
387 void enableCallEndPrompt(bool enable) override;
388
389 unsigned maxSpeakerVolume() const override;
390 void setMaxSpeakerVolume(unsigned level) override;
391
393 virtual bool remoteStunKill() const;
395 virtual void enableRemoteStunKill(bool enable);
396
398 virtual bool remoteMonitor() const;
400 virtual void enableRemoteMonitor(bool enable);
401
402 bool getGPSPosition() const override;
403 void enableGetGPSPosition(bool enable) override;
404
405 Interval longPressDuration() const override;
406 void setLongPressDuration(Interval ms) override;
407
408 bool volumeChangePrompt() const override;
409 void enableVolumeChangePrompt(bool enable) override;
410
413
415 virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const;
417 virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match);
419 virtual bool monitorColorCodeMatch() const;
421 virtual void enableMonitorColorCodeMatch(bool enable);
423 virtual bool monitorIDMatch() const;
425 virtual void enableMonitorIDMatch(bool enable);
427 virtual bool monitorTimeSlotHold() const;
429 virtual void enableMonitorTimeSlotHold(bool enable);
430
431 AnytoneDisplaySettingsExtension::LastCallerDisplayMode lastCallerDisplayMode() const override;
432 void setLastCallerDisplayMode(AnytoneDisplaySettingsExtension::LastCallerDisplayMode mode) override;
433
435 virtual unsigned fmCallHold() const;
437 virtual void setFMCallHold(unsigned sec);
438
439 bool displayClock() const override;
440 void enableDisplayClock(bool enable) override;
441
443 virtual bool gpsMessageEnabled() const;
445 virtual void enableGPSMessage(bool enable);
446
447 bool enhanceAudio() const override;
448 void enableEnhancedAudio(bool enable) override;
449
450 Frequency minVFOScanFrequencyUHF() const override;
451 void setMinVFOScanFrequencyUHF(Frequency hz) override;
452 Frequency maxVFOScanFrequencyUHF() const override;
453 void setMaxVFOScanFrequencyUHF(Frequency hz) override;
454 Frequency minVFOScanFrequencyVHF() const override;
455 void setMinVFOScanFrequencyVHF(Frequency hz) override;
456 Frequency maxVFOScanFrequencyVHF() const override;
457 void setMaxVFOScanFrequencyVHF(Frequency hz) override;
458
459 bool hasAutoRepeaterOffsetFrequencyIndexUHF() const override;
460 unsigned autoRepeaterOffsetFrequencyIndexUHF() const override;
461 void setAutoRepeaterOffsetFrequenyIndexUHF(unsigned idx) override;
463 bool hasAutoRepeaterOffsetFrequencyIndexVHF() const override;
464 unsigned autoRepeaterOffsetFrequencyIndexVHF() const override;
465 void setAutoRepeaterOffsetFrequenyIndexVHF(unsigned idx) override;
467 Frequency autoRepeaterMinFrequencyVHF() const override;
469 Frequency autoRepeaterMaxFrequencyVHF() const override;
471 Frequency autoRepeaterMinFrequencyUHF() const override;
473 Frequency autoRepeaterMaxFrequencyUHF() const override;
475
476 void callToneMelody(Melody &melody) const override;
477 void setCallToneMelody(const Melody &melody) override;
478 void idleToneMelody(Melody &melody) const override;
479 void setIdleToneMelody(const Melody &melody) override;
480 void resetToneMelody(Melody &melody) const override;
481 void setResetToneMelody(const Melody &melody) override;
482
484 virtual unsigned priorityZoneAIndex() const;
486 virtual void setPriorityZoneAIndex(unsigned idx);
488 virtual unsigned priorityZoneBIndex() const;
490 virtual void setPriorityZoneBIndex(unsigned idx);
491
492 bool displayCall() const override;
493 void enableDisplayCall(bool enable) override;
494
496 virtual bool bluetooth() const;
497 /** Enables/disables bluetooth. */
498 virtual void enableBluetooth(bool enable);
499
501 virtual bool btAndInternalMic() const;
503 virtual void enableBTAndInternalMic(bool enable);
504
505
506 virtual bool btAndInternalSpeaker() const;
508 virtual void enableBTAndInternalSpeaker(bool enable);
509
511 virtual bool pluginRecTone() const;
513 virtual void enablePluginRecTone(bool enable);
514
516 virtual Interval gpsUpdatePeriod() const;
518 virtual void setGPSUpdatePeriod(Interval sec);
519
521 virtual unsigned int btMicGain() const;
523 virtual void setBTMicGain(unsigned int gain);
525 virtual unsigned int btSpeakerGain() const;
527 virtual void setBTSpeakerGain(unsigned int gain);
528
530 virtual bool displayChannelNumber() const;
532 virtual void enableDisplayChannelNumber(bool enable);
533
534 bool showCurrentContact() const override;
535 void enableShowCurrentContact(bool enable) override;
536
538 virtual Interval autoRoamPeriod() const;
540 virtual void setAutoRoamPeriod(Interval min);
541
542 AnytoneDisplaySettingsExtension::Color callDisplayColor() const override;
543 void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color) override;
544
545 bool gpsUnitsImperial() const override;
546 void enableGPSUnitsImperial(bool enable) override;
547
548 bool knobLock() const override;
549 void enableKnobLock(bool enable) override;
550 bool keypadLock() const override;
551 void enableKeypadLock(bool enable) override;
552 bool sidekeysLock() const override;
553 void enableSidekeysLock(bool enable) override;
554 bool keyLockForced() const override;
555 void enableKeyLockForced(bool enable) override;
556
558 virtual Interval autoRoamDelay() const;
560 virtual void setAutoRoamDelay(Interval sec);
561
563 virtual AnytoneDisplaySettingsExtension::Color standbyTextColor() const;
565 virtual void setStandbyTextColor(AnytoneDisplaySettingsExtension::Color color);
567 virtual AnytoneDisplaySettingsExtension::Color standbyBackgroundColor() const;
569 virtual void setStandbyBackgroundColor(AnytoneDisplaySettingsExtension::Color color);
570
571 bool showLastHeard() const override;
572 void enableShowLastHeard(bool enable) override;
573
575 virtual AnytoneDMRSettingsExtension::SMSFormat smsFormat() const;
577 virtual void setSMSFormat(AnytoneDMRSettingsExtension::SMSFormat fmt);
578
581
583 virtual bool fmSendIDAndContact() const;
585 virtual void enableFMSendIDAndContact(bool enable);
586
587 bool defaultChannel() const override;
588 void enableDefaultChannel(bool enable) override;
589 unsigned defaultZoneIndexA() const override;
590 void setDefaultZoneIndexA(unsigned idx) override;
591 unsigned defaultZoneIndexB() const override;
592 void setDefaultZoneIndexB(unsigned idx) override;
593 bool defaultChannelAIsVFO() const override;
594 unsigned defaultChannelAIndex() const override;
595 void setDefaultChannelAIndex(unsigned idx) override;
596 void setDefaultChannelAToVFO() override;
597 bool defaultChannelBIsVFO() const override;
598 unsigned defaultChannelBIndex() const override;
599 void setDefaultChannelBIndex(unsigned idx) override;
600 void setDefaultChannelBToVFO() override;
601
603 virtual unsigned defaultRoamingZoneIndex() const;
605 virtual void setDefaultRoamingZoneIndex(unsigned idx);
606
608 virtual bool repeaterRangeCheck() const;
610 virtual void enableRepeaterRangeCheck(bool enable);
612 virtual Interval repeaterRangeCheckInterval() const;
614 virtual void setRepeaterRangeCheckInterval(Interval sec);
616 virtual unsigned repeaterRangeCheckCount() const;
618 virtual void setRepeaterRangeCheckCount(unsigned n);
623
625 virtual bool separateDisplay() const;
627 virtual void enableSeparateDisplay(bool enable);
628
629 bool keepLastCaller() const override;
630 void enableKeepLastCaller(bool enable) override;
631
633 virtual AnytoneDisplaySettingsExtension::Color channelNameColor() const;
635 virtual void setChannelNameColor(AnytoneDisplaySettingsExtension::Color color);
636
638 virtual bool repeaterCheckNotification() const;
640 virtual void enableRepeaterCheckNotification(bool enable);
641
643 virtual bool roaming() const;
645 virtual void enableRoaming(bool enable);
646
677
708
710 virtual unsigned repeaterCheckNumNotifications() const;
712 virtual void setRepeaterCheckNumNotifications(unsigned num);
713
715 virtual Interval txBacklightDuration() const;
717 virtual void setTXBacklightDuration(Interval sec);
718
720 virtual bool btHoldTimeEnabled() const;
722 virtual bool btHoldTimeInfinite() const;
724 virtual Interval btHoldTime() const;
726 virtual void setBTHoldTime(Interval interval);
728 virtual void setBTHoldTimeInfinite();
730 virtual void disableBTHoldTime();
731
733 virtual Interval btRXDelay() const;
735 virtual void setBTRXDelay(Interval delay);
736
737 bool fromConfig(const Flags &flags, Context &ctx) override;
738 bool updateConfig(Context &ctx) override;
739 bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err) override;
740
741 protected:
745 static constexpr unsigned int enableKeyTone() { return 0x0000; }
746 static constexpr unsigned int transmitTimeout() { return 0x0004; }
747 static constexpr unsigned int language() { return 0x0005; }
748 static constexpr unsigned int vfoStepSize() { return 0x0008; }
749 static constexpr unsigned int vfoScanType() { return 0x000b; }
750 static constexpr unsigned int dmrMicGain() { return 0x000c; }
751 static constexpr unsigned int vfoModeA() { return 0x000d; }
752 static constexpr unsigned int vfoModeB() { return 0x000e; }
753 static constexpr unsigned int steType() { return 0x000f; }
754
755 static constexpr unsigned int steFrequency() { return 0x0010; }
756 static constexpr unsigned int groupCallHangTime() { return 0x0011; }
757 static constexpr unsigned int privateCallHangTime() { return 0x0012; }
758 static constexpr unsigned int preWaveDelay() { return 0x0013; }
759 static constexpr unsigned int wakeHeadPeriod() { return 0x0014; }
760 static constexpr unsigned int wfmChannelIndex() { return 0x0015; }
761 static constexpr unsigned int wfmVFOEnabled() { return 0x0016; }
762 static constexpr unsigned int memZoneA() { return 0x0017; }
763 static constexpr unsigned int memZoneB() { return 0x0018; }
764 static constexpr unsigned int wfmEnable() { return 0x0019; }
765 static constexpr unsigned int enableRecoding() { return 0x001a; }
766 static constexpr unsigned int displayBrightness() { return 0x001d; }
767 static constexpr unsigned int gpsEnable() { return 0x001f; }
768
769 static constexpr unsigned int smsAlert() { return 0x0020; }
770 static constexpr unsigned int wfmMonitor() { return 0x0022; }
771 static constexpr unsigned int activeChannelB() { return 0x0023; }
772 static constexpr unsigned int subChannel() { return 0x0024; }
773 static constexpr unsigned int tbstFrequency() { return 0x0025; }
774 static constexpr unsigned int callAlert() { return 0x0026; }
775 static constexpr unsigned int gpsTimeZone() { return 0x0027; }
776 static constexpr unsigned int talkPermit() { return 0x0028; }
777 static constexpr unsigned int dmrResetTone() { return 0x0029; }
778 static constexpr unsigned int idleChannelTone() { return 0x002a; }
779 static constexpr unsigned int menuExitTime() { return 0x002b; }
780 static constexpr unsigned int filterOwnID() { return 0x002c; }
781 static constexpr unsigned int startupTone() { return 0x002d; }
782 static constexpr unsigned int callEndPrompt() { return 0x002e; }
783 static constexpr unsigned int maxSpeakerVolume() { return 0x002f; }
784
785 static constexpr unsigned int remoteStunKill() { return 0x0030; }
786 static constexpr unsigned int remoteMonitor() { return 0x0031; }
787 static constexpr unsigned int getGPSPosition() { return 0x0032; }
788 static constexpr unsigned int longPressDuration() { return 0x0033; }
789 static constexpr unsigned int volumeChangePrompt() { return 0x0034; }
790 static constexpr unsigned int autoRepeaterDirA() { return 0x0035; }
791 static constexpr unsigned int monSlotMatch() { return 0x0036; }
792 static constexpr unsigned int monColorCodeMatch() { return 0x0037; }
793 static constexpr unsigned int monIDMatch() { return 0x0038; }
794 static constexpr unsigned int monTimeSlotHold() { return 0x0039; }
795 static constexpr unsigned int lastCallerDisplay() { return 0x003a; }
796 static constexpr unsigned int fmCallHold() { return 0x003c; }
797 static constexpr unsigned int showClock() { return 0x003d; }
798 static constexpr unsigned int enableGPSMessage() { return 0x003e; }
799 static constexpr unsigned int enhanceAudio() { return 0x003f; }
800
801 static constexpr unsigned int minVFOScanUHF() { return 0x0040; }
802 static constexpr unsigned int maxVFOScanUHF() { return 0x0044; }
803 static constexpr unsigned int minVFOScanVHF() { return 0x0048; }
804 static constexpr unsigned int maxVFOScanVHF() { return 0x004c; }
805
806 static constexpr unsigned int autoRepMinVHF() { return 0x0050; }
807 static constexpr unsigned int autoRepMaxVHF() { return 0x0054; }
808 static constexpr unsigned int autoRepMinUHF() { return 0x0058; }
809 static constexpr unsigned int autoRepMaxUHF() { return 0x005c; }
810
811 static constexpr unsigned int callToneTones() { return 0x0060; }
812 static constexpr unsigned int callToneDurations() { return 0x006a; }
813 static constexpr unsigned int idleToneTones() { return 0x0074; }
814 static constexpr unsigned int idleToneDurations() { return 0x007e; }
815 static constexpr unsigned int resetToneTones() { return 0x0088; }
816 static constexpr unsigned int resetToneDurations() { return 0x0092; }
817
818 static constexpr unsigned int autoRepOffsetUHF() { return 0x009c; }
819 static constexpr unsigned int autoRepOffsetVHF() { return 0x009d; }
820 static constexpr unsigned int priorityZoneA() { return 0x009f; }
821
822 static constexpr unsigned int priorityZoneB() { return 0x00a0; }
823 static constexpr unsigned int callDisplayMode() { return 0x00a2; }
824 static constexpr unsigned int bluetooth() { return 0x00a4; }
825 static constexpr unsigned int btAndInternalMic() { return 0x00a5; }
826 static constexpr unsigned int btAndInternalSpeaker(){ return 0x00a6; }
827 static constexpr unsigned int pluginRecTone() { return 0x00a7; }
828 static constexpr unsigned int gpsRangingInterval() { return 0x00a8; }
829 static constexpr unsigned int btMicGain() { return 0x00a9; }
830 static constexpr unsigned int btSpeakerGain() { return 0x00aa; }
831 static constexpr unsigned int showChannelNumber() { return 0x00ab; }
832 static constexpr unsigned int showCurrentContact() { return 0x00ac; }
833 static constexpr unsigned int autoRoamPeriod() { return 0x00ad; }
834 static constexpr unsigned int callColor() { return 0x00ae; }
835 static constexpr unsigned int gpsUnits() { return 0x00af; }
836
837 static constexpr Bit knobLock() { return {0x00b0, 0}; }
838 static constexpr Bit keypadLock() { return {0x00b0, 1}; }
839 static constexpr Bit sideKeyLock() { return {0x00b0, 3}; }
840 static constexpr Bit forceKeyLock() { return {0x00b0, 4}; }
841 static constexpr unsigned int autoRoamDelay() { return 0x00b1; }
842 static constexpr unsigned int standbyTextColor() { return 0x00b2; }
843 static constexpr unsigned int standbyBackground() { return 0x00b3; }
844 static constexpr unsigned int showLastHeard() { return 0x00b4; }
845 static constexpr unsigned int smsFormat() { return 0x00b5; }
846 static constexpr unsigned int autoRepeaterDirB() { return 0x00b6; }
847 static constexpr unsigned int fmSendIDAndContact() { return 0x00b7; }
848 static constexpr unsigned int defaultChannels() { return 0x00b8; }
849 static constexpr unsigned int defaultZoneA() { return 0x00b9; }
850 static constexpr unsigned int defaultZoneB() { return 0x00ba; }
851 static constexpr unsigned int defaultChannelA() { return 0x00bb; }
852 static constexpr unsigned int defaultChannelB() { return 0x00bc; }
853 static constexpr unsigned int defaultRoamingZone() { return 0x00bd; }
854 static constexpr unsigned int repRangeCheck() { return 0x00be; }
855 static constexpr unsigned int rangeCheckInterval() { return 0x00bf; }
856
857 static constexpr unsigned int rangeCheckCount() { return 0x00c0; }
858 static constexpr unsigned int roamStartCondition() { return 0x00c1; }
859 static constexpr unsigned int displaySeparator() { return 0x00c3; }
860 static constexpr unsigned int keepLastCaller() { return 0x00c4; }
861 static constexpr unsigned int channelNameColor() { return 0x00c5; }
862 static constexpr unsigned int repCheckNotify() { return 0x00c6; }
863 static constexpr unsigned int txBacklightDuration() { return 0x00c7; }
864 static constexpr unsigned int roaming() { return 0x00c8; }
865 static constexpr unsigned int progFuncKey1Short() { return 0x00c9; }
866 static constexpr unsigned int progFuncKey2Short() { return 0x00ca; }
867 static constexpr unsigned int progFuncKey3Short() { return 0x00cb; }
868 static constexpr unsigned int progFuncKey4Short() { return 0x00cc; }
869 static constexpr unsigned int progFuncKey5Short() { return 0x00cd; }
870 static constexpr unsigned int progFuncKey6Short() { return 0x00ce; }
871 static constexpr unsigned int progFuncKeyAShort() { return 0x00cf; }
872
873 static constexpr unsigned int progFuncKeyBShort() { return 0x00d0; }
874 static constexpr unsigned int progFuncKeyCShort() { return 0x00d1; }
875 static constexpr unsigned int progFuncKeyDShort() { return 0x00d2; }
876 static constexpr unsigned int progFuncKey1Long() { return 0x00d3; }
877 static constexpr unsigned int progFuncKey2Long() { return 0x00d4; }
878 static constexpr unsigned int progFuncKey3Long() { return 0x00d5; }
879 static constexpr unsigned int progFuncKey4Long() { return 0x00d6; }
880 static constexpr unsigned int progFuncKey5Long() { return 0x00d7; }
881 static constexpr unsigned int progFuncKey6Long() { return 0x00d8; }
882 static constexpr unsigned int progFuncKeyALong() { return 0x00d9; }
883 static constexpr unsigned int progFuncKeyBLong() { return 0x00da; }
884 static constexpr unsigned int progFuncKeyCLong() { return 0x00db; }
885 static constexpr unsigned int progFuncKeyDLong() { return 0x00dc; }
886 static constexpr unsigned int repCheckNumNotify() { return 0x00de; }
887
888 static constexpr unsigned int btHoldTime() { return 0x00e1; }
889 static constexpr unsigned int btRXDelay() { return 0x00e2; }
891 };
892 };
893
894
897 {
898 protected:
899 /* Encoding of possible speakers. */
900 enum class Speaker {
901 Microphone=0, Radio=1, Both=2
902 };
903
905 enum class SpeakerSource {
906 MainChannel = 0, SubChannel = 1
907 };
908
910 enum class GPSMode {
911 GPS = 0, Beidou=1, GPS_Beidou=2
912 };
913
915 enum class FanControl {
916 PTT=0, Temperature=1, Both=2
917 };
918
920 enum class MicType {
921 AnyTone = 0, Generic = 1
922 };
923
925 enum class UpDownKeyFunction {
926 Channel = 0, Volume = 1
927 };
928
931 None = 0, VFO_A = 1, VFO_B = 2
932 };
933
936 Any = 0, RX1_TX2 = 1, RX2_TX1 = 2
937 };
938
939 protected:
941 ExtendedSettingsElement(uint8_t *ptr, unsigned size);
942
943 public:
945 explicit ExtendedSettingsElement(uint8_t *ptr);
946
948 static constexpr unsigned int size() { return 0x00000200; }
949
951 void clear();
952
954 virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const;
956 virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode);
957
959 virtual AnytoneDMRSettingsExtension::TalkerAliasEncoding talkerAliasEncoding() const;
961 virtual void setTalkerAliasEncoding(AnytoneDMRSettingsExtension::TalkerAliasEncoding encoding);
962
964 virtual bool weatherAlarmEnabled() const;
966 virtual void enableWeatherAlarm(bool enable);
967
969 virtual bool repeaterEnabled() const;
971 virtual void enableRepeater(bool enable);
972
977
982
987
989 virtual bool bluetoothPTTLatch() const;
991 virtual void enableBluetoothPTTLatch(bool enable);
992
994 virtual bool infiniteBluetoothPTTSleepDelay() const;
996 virtual Interval bluetoothPTTSleepDelay() const;
998 virtual void setBluetoothPTTSleepDelay(Interval delay);
1000 virtual void setInfiniteBluetoothPTTSleepDelay();
1001
1003 virtual AnytoneSettingsExtension::FanControl fanControl() const;
1005 virtual void setFanControl(AnytoneSettingsExtension::FanControl ctrl);
1006
1008 virtual unsigned int weatherChannelIndex() const;
1010 virtual void setWeatherChannelIndex(unsigned int idx);
1011
1013 virtual bool infiniteManDialGroupCallHangTime() const;
1015 virtual Interval manDialGroupCallHangTime() const;
1017 virtual void setManDialGroupCallHangTime(Interval dur);
1020
1022 virtual bool infiniteManDialPrivateCallHangTime() const;
1024 virtual Interval manDialPrivateCallHangTime() const;
1026 virtual void setManDialPrivateCallHangTime(Interval dur);
1029
1038
1039 AnytoneDisplaySettingsExtension::Color channelBNameColor() const;
1040 void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color);
1041
1043 virtual AnytoneDMRSettingsExtension::EncryptionType encryption() const;
1045 virtual void setEncryption(AnytoneDMRSettingsExtension::EncryptionType mode);
1046
1048 virtual bool professionalMode() const;
1050 virtual void enableProfessionalMode(bool enable);
1051
1053 virtual Interval steDuration() const;
1055 virtual void setSTEDuration(Interval dur);
1056
1061
1062 AnytoneDisplaySettingsExtension::Color zoneANameColor() const;
1063 void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color);
1064 AnytoneDisplaySettingsExtension::Color zoneBNameColor() const;
1065 void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color);
1066
1068 virtual bool resetAutoShutdownOnCall() const;
1070 virtual void enableResetAutoShutdownOnCall(bool enable);
1071
1073 virtual bool showColorCode() const;
1075 virtual void enableShowColorCode(bool enable);
1077 virtual bool showTimeSlot() const;
1079 virtual void enableShowTimeSlot(bool enable);
1081 virtual bool showChannelType() const;
1083 virtual void enableShowChannelType(bool enable);
1084
1086 virtual bool fmIdleTone() const;
1088 virtual void enableFMIdleTone(bool enable);
1089
1091 virtual AnytoneDisplaySettingsExtension::DateFormat dateFormat() const;
1093 virtual void setDateFormat(AnytoneDisplaySettingsExtension::DateFormat format);
1094
1096 virtual unsigned int fmMicGain() const;
1098 virtual void setFMMicGain(unsigned int gain);
1099
1112
1125
1127 virtual unsigned int btHandsetMicGain() const;
1129 virtual void setBtHandsetMicGain(unsigned int gain);
1130
1132 virtual Interval btHandsetBacklightDuration() const;
1134 virtual void setBtHandsetBacklightDuration(Interval delay);
1135
1140
1142 virtual bool totNotification() const;
1144 virtual void enableTOTNotification(bool enable);
1145
1147 virtual bool gpsRoaming() const;
1149 virtual void enableGPSRoaming(bool enable);
1150
1155
1164
1166 virtual unsigned int btHandsetSquelch() const;
1168 virtual void setBtHandsetSquelch(unsigned int level);
1169
1171 virtual bool btHandsetAutoPowerOffEnabled() const;
1173 virtual void enableBtHandsetAutoPowerOff(bool enable);
1174
1187
1189 virtual unsigned int btHandsetTxNoiseRedLevel() const;
1191 virtual void setBtHandsetTxNoiseRedLevel(unsigned int level);
1192
1194 virtual unsigned int btHandsetVOXLevel() const;
1196 virtual void setBtHandsetVOXLevel(unsigned int level);
1197
1199 virtual Interval btHandsetVOXDelay() const;
1201 virtual void setBtHandsetVOXDelay(Interval delay);
1202
1204 virtual unsigned int btHandsetVolumeA() const;
1206 virtual void setBtHandsetVolumeA(unsigned int vol);
1208 virtual unsigned int btHandsetVolumeB() const;
1210 virtual void setBtHandsetVolumeB(unsigned int vol);
1211
1213 virtual void callEndToneMelody(Melody &melody) const;
1215 virtual void setCallEndToneMelody(const Melody &melody);
1217 virtual void allCallToneMelody(Melody &melody) const;
1219 virtual void setAllCallToneMelody(const Melody &melody);
1220
1221
1223 virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1225 virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1226
1227 public:
1229 struct Limit {
1230 static constexpr unsigned int maxBluetoothPTTSleepDelay() { return 4; }
1231 static constexpr unsigned int maxWeatherChannelIndex() { return 9; }
1232 };
1233
1234 protected:
1238 static constexpr unsigned int talkerAliasDisplay() { return 0x001e; }
1239 static constexpr unsigned int talkerAliasEncoding() { return 0x001f; }
1240
1241 static constexpr unsigned int weatherAlarm() { return 0x0020; }
1242 static constexpr unsigned int repeater() { return 0x0021; }
1243 static constexpr unsigned int speakers() { return 0x0023; }
1244 static constexpr unsigned int micSpeakerSource() { return 0x0025; }
1245 static constexpr unsigned int gpsMode() { return 0x0026; }
1246 static constexpr unsigned int btPTTLatch() { return 0x0027; }
1247 static constexpr unsigned int btPTTSleepDelay() { return 0x0028; }
1248 static constexpr unsigned int fanControl() { return 0x0029; }
1249 static constexpr unsigned int weatherChannelIndex() { return 0x002a; }
1250 static constexpr unsigned int manGrpCallHangTime() { return 0x002b; }
1251 static constexpr unsigned int manPrivCallHangTime() { return 0x002c; }
1252 static constexpr unsigned int chKnobShortPressFunction() { return 0x002d; }
1253 static constexpr unsigned int chKnobLongPressFunction() { return 0x002e; }
1254 static constexpr unsigned int channelBNameColor() { return 0x002f; }
1255
1256 static constexpr unsigned int encryptionType() { return 0x0030; }
1257 static constexpr unsigned int uiMode() { return 0x0031; }
1258 static constexpr unsigned int steDuration() { return 0x0032; }
1259 static constexpr unsigned int micType() { return 0x0033; }
1260 static constexpr unsigned int zoneANameColor() { return 0x0034; }
1261 static constexpr unsigned int zoneBNameColor() { return 0x0035; }
1262 static constexpr unsigned int autoShutdownMode() { return 0x0036; }
1263 static constexpr Bit displayColorCode() { return {0x003b, 2}; }
1264 static constexpr Bit displayTimeSlot() { return {0x003b, 1}; }
1265 static constexpr Bit displayChannelType() { return {0x003b, 0}; }
1266 static constexpr unsigned int fmIdleTone() { return 0x003c; }
1267 static constexpr unsigned int dateFormat() { return 0x003d; }
1268 static constexpr unsigned int analogMicGain() { return 0x003e; }
1269 static constexpr unsigned int btSK1ShortPressFunction() { return 0x003f; }
1270
1271 static constexpr unsigned int btSK2ShortPressFunction() { return 0x0040; }
1272 static constexpr unsigned int btSK3ShortPressFunction() { return 0x0041; }
1273 static constexpr unsigned int btSK1LongPressFunction() { return 0x0042; }
1274 static constexpr unsigned int btSK2LongPressFunction() { return 0x0043; }
1275 static constexpr unsigned int btSK3LongPressFunction() { return 0x0044; }
1276 static constexpr unsigned int btHSMicGain() { return 0x0045; }
1277 static constexpr unsigned int btHSBacklightDuration() { return 0x0047; }
1278 static constexpr unsigned int upDownKeyFunction() { return 0x0048; }
1279 static constexpr unsigned int totNotification() { return 0x0049; }
1280 static constexpr unsigned int gpsRoaming() { return 0x004a; }
1281 static constexpr unsigned int repeaterColorCode() { return 0x004b; }
1282 static constexpr unsigned int repeaterATimeslot() { return 0x004c; }
1283 static constexpr unsigned int repeaterBTimeslot() { return 0x004d; }
1284 static constexpr unsigned int btHSRxNoiseReduction() { return 0x004e; }
1285 static constexpr unsigned int btHSShutDown() { return 0x004f; }
1286
1287 static constexpr unsigned int btSK1VeryLongPressFunction() { return 0x0050; }
1288 static constexpr unsigned int btSK2VeryLongPressFunction() { return 0x0051; }
1289 static constexpr unsigned int btSK3VeryLongPressFunction() { return 0x0052; }
1290 static constexpr unsigned int btHSTxNoiseReduction() { return 0x0053; }
1291 static constexpr unsigned int btHSVOXLevel() { return 0x0054; }
1292 static constexpr unsigned int btHSVOXDelay() { return 0x0055; }
1293 static constexpr unsigned int btHSVolumeA() { return 0x0056; }
1294 static constexpr unsigned int btHSVolumeB() { return 0x0057; }
1295
1296 static constexpr unsigned int callEndTones() { return 0x0058; }
1297 static constexpr unsigned int callEndDurations() { return 0x0062; }
1298 static constexpr unsigned int allCallTones() { return 0x006c; }
1299 static constexpr unsigned int allCallDurations() { return 0x0076; }
1300 static constexpr unsigned int headerRep() { return 0x0080; }
1302 };
1303 };
1304
1305
1306
1312 {
1313 protected:
1315 HotKeySettingsElement(uint8_t *ptr, size_t size);
1316
1317 public:
1319 HotKeySettingsElement(uint8_t *ptr);
1320
1322 static constexpr unsigned int size() { return 0x0970; }
1323
1324 uint8_t *hotKeySetting(unsigned int n) const;
1325
1326 public:
1328 struct Limit {
1329 static constexpr unsigned int numEntries() { return 24; }
1330 };
1331
1332 };
1333
1339 {
1340 protected:
1342 AirBandChannelElement(uint8_t *ptr, size_t size);
1343
1344 public:
1346 AirBandChannelElement(uint8_t *ptr);
1347
1349 static constexpr unsigned int size() { return 0x0020; }
1350
1352 void clear();
1353
1355 virtual Frequency frequency() const;
1357 virtual void setFrequency(Frequency freq);
1358
1360 virtual QString name() const;
1362 virtual void setName(const QString &name);
1363
1364 public:
1366 struct Limit {
1367 static constexpr unsigned int nameLength() { return 16; }
1368 };
1369
1370 public:
1372 struct Offset {
1374 static constexpr unsigned int frequency() { return 0x0000; }
1375 static constexpr unsigned int name() { return 0x0004; }
1377 };
1378 };
1379
1383 {
1384 protected:
1386 AirBandBitmapElement(uint8_t *ptr, size_t size);
1387
1388 public:
1390 AirBandBitmapElement(uint8_t *ptr);
1391
1393 static constexpr unsigned int size() { return 0x0020; }
1394 };
1395
1396protected:
1398 explicit D578UVCodeplug(const QString &label, QObject *parent = nullptr);
1399
1400public:
1402 explicit D578UVCodeplug(QObject *parent = nullptr);
1403
1404protected:
1405 bool allocateBitmaps();
1406
1407 void allocateUpdated();
1408
1410
1411 bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1412 bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1413 bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1414
1415 void allocateContacts();
1416 bool encodeContacts(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1417
1419 bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1420 bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1421 bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack());
1422
1424 virtual void allocateAirBand();
1425
1426public:
1430 static constexpr unsigned int airBandChannels() { return 100; }
1431 };
1432
1433protected:
1437 static constexpr unsigned int contactIdTable() { return 0x04800000; }
1438 static constexpr unsigned int settings() { return 0x02500000; }
1439 static constexpr unsigned int gpsMessages() { return 0x02501280; }
1440 static constexpr unsigned int settingsExtension() { return 0x02501400; }
1441 static constexpr unsigned int airBandChannels() { return 0x02BC0000; }
1442 static constexpr unsigned int airBandVFO() { return 0x02BC1000; }
1443 static constexpr unsigned int airBandChannelBitmap() { return 0x02BC1020; }
1444 static constexpr unsigned int airBandScanBitmap() { return 0x02BC1040; }
1446 };
1447};
1448
1449#endif // D578UV_CODEPLUG_HH
HandsetSpeakerSource
Possible handset speaker sources.
Definition anytone_settingsextension.hh:933
HandsetType
Specifies possible handset types.
Definition anytone_settingsextension.hh:939
Speaker
Possible speaker settings.
Definition anytone_settingsextension.hh:927
Direction
Encodes the auto-repeater offset sign.
Definition anytone_settingsextension.hh:1191
Represents the base class for bitmaps in all AnyTone codeplugs.
Definition anytone_codeplug.hh:41
Represents the base class for the extended settings element in many AnyTone codeplugs.
Definition anytone_codeplug.hh:1320
Represents the base class for the settings elements in all AnyTone codeplugs.
Definition anytone_codeplug.hh:924
Represents the list of hot-key settings for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2068
virtual void clear()
Clears and resets the complete codeplug to some default values.
Definition anytone_codeplug.cc:4480
virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition anytone_codeplug.cc:4491
GPSMode
Possible GPS modes.
Definition anytone_settingsextension.hh:1524
KeyFunction
All possible key functions.
Definition anytone_settingsextension.hh:267
UpDownKeyFunction
Possible up/down key functions.
Definition anytone_settingsextension.hh:280
TimeSlot
Possible repeater time-slots.
Definition anytone_settingsextension.hh:2014
ColorCode
Possible color code settings.
Definition anytone_settingsextension.hh:2020
RoamStart
Possible roaming start conditions.
Definition anytone_settingsextension.hh:1633
STEType
All possible STE (squelch tail eliminate) types.
Definition anytone_settingsextension.hh:2244
VFOScanType
Encodes the possible VFO scan types.
Definition anytone_settingsextension.hh:2226
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:34
Base class for all codeplug contexts.
Definition codeplug.hh:291
Represents the abstract base class of all codeplug elements.
Definition codeplug.hh:65
Certain flags passed to CodePlug::encode to control the transfer and encoding of the codeplug.
Definition codeplug.hh:24
static constexpr unsigned int size()
The element size.
Definition d578uv_codeplug.hh:1393
AirBandBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d578uv_codeplug.cc:3196
virtual QString name() const
The name of the channel.
Definition d578uv_codeplug.cc:3184
virtual Frequency frequency() const
The channel frequency.
Definition d578uv_codeplug.cc:3175
virtual void setName(const QString &name)
Sets the name of the channel.
Definition d578uv_codeplug.cc:3188
virtual void setFrequency(Frequency freq)
Sets the channel frequency.
Definition d578uv_codeplug.cc:3179
static constexpr unsigned int size()
The size of the element.
Definition d578uv_codeplug.hh:1349
AirBandChannelElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d578uv_codeplug.cc:3157
void clear()
Resets the element.
Definition d578uv_codeplug.cc:3170
void enableMultipleKeyEncryption(bool enable) override
Enables/disables multiple key encryption.
Definition d578uv_codeplug.cc:90
bool sms() const override
Returns true if SMS is enabled.
Definition d578uv_codeplug.cc:107
AdvancedEncryptionType advancedEncryptionType() const override
Returns the encryption type.
Definition d578uv_codeplug.cc:152
virtual void clearAnalogScambler()
Disables the scambler.
Definition d578uv_codeplug.cc:205
void clearARC4EncryptionKeyIndex() override
Clears the ARC4 encryption key index.
Definition d578uv_codeplug.cc:238
FMScramblerFrequency
Possible FM scrambler carrier frequencies.
Definition d578uv_codeplug.hh:60
virtual void enableNoiseReduction(bool enable)
Enables/disables noise reduction.
Definition d578uv_codeplug.cc:79
bool fromChannelObj(const Channel *ch, Context &ctx) override
Initializes this codeplug channel from the given generic configuration.
Definition d578uv_codeplug.cc:281
void setFMAPRSFrequencyIndex(unsigned int idx) override
Sets the FM APRS frequency index [0,7].
Definition d578uv_codeplug.cc:217
virtual Frequency analogScramblerFrequency() const
If enabled, returns the analog scrambler frequency.
Definition d578uv_codeplug.cc:168
virtual bool noiseReductionEnabled() const
Returns true if noise reduction is enabled.
Definition d578uv_codeplug.cc:74
unsigned int fmAPRSFrequencyIndex() const override
Returns the index of the FM APRS frequency [0,7].
Definition d578uv_codeplug.cc:212
bool randomKey() const override
Returns true if random key is enabled.
Definition d578uv_codeplug.cc:96
Channel * toChannelObj(Context &ctx) const override
Constructs a generic Channel object from the codeplug channel.
Definition d578uv_codeplug.cc:254
bool multipleKeyEncryption() const override
Returns true if multiple key encryption is enabled.
Definition d578uv_codeplug.cc:85
bool sendTalkerAlias() const override
If set, transmission of talker alias for this channel is enabled.
Definition d578uv_codeplug.cc:141
void enableSMS(bool enable) override
Enables/disables SMS.
Definition d578uv_codeplug.cc:112
InterruptPriority
Possible interrupt priorities.
Definition d578uv_codeplug.hh:66
void setARC4EncryptionKeyIndex(unsigned int index) override
Sets the ARC4 encryption key index.
Definition d578uv_codeplug.cc:233
virtual void setAnalogScamberFrequency(Frequency f)
Sets the analog scambler frequency and enables the scrambler.
Definition d578uv_codeplug.cc:189
bool ctcssPhaseReversal() const override
Removed from D578UV codeplug.
Definition d578uv_codeplug.cc:244
void setEncryptionType(AdvancedEncryptionType type) override
Sets the encryptionType.
Definition d578uv_codeplug.cc:157
virtual void enableSwapFrequencies(bool enable)
Returns true, if the RX and TX frequencies (and signaling) are swapped.
Definition d578uv_codeplug.cc:34
bool roamingEnabled() const override
Returns true if roaming is enabled.
Definition d578uv_codeplug.cc:50
virtual void setInterruptPriority(InterruptPriority pri)
Sets the interrupt priority.
Definition d578uv_codeplug.cc:68
virtual void enableBluetooth(bool enable)
Enables/disables hands-free.
Definition d578uv_codeplug.cc:44
void enableDataACK(bool enable) override
Enables/disables data ACK.
Definition d578uv_codeplug.cc:124
bool dataACK() const override
Returns true if data ACK is enabled.
Definition d578uv_codeplug.cc:118
void enableSendTalkerAlias(bool enable) override
Enable transmission of talker alias.
Definition d578uv_codeplug.cc:146
void enableAutoScan(bool enable) override
Enable/disable auto scan.
Definition d578uv_codeplug.cc:136
void enableCTCSSPhaseReversal(bool enable) override
Removed from D578UV codeplug.
Definition d578uv_codeplug.cc:248
bool autoScan() const override
Returns true, if auto scan is enabled.
Definition d578uv_codeplug.cc:131
unsigned int arc4EncryptionKeyIndex() const override
Returns the ARC4 encryption key index.
Definition d578uv_codeplug.cc:228
void enableRoaming(bool enable) override
Enables/disables roaming.
Definition d578uv_codeplug.cc:56
bool hasARC4EncryptionKeyIndex() const override
Returns true, if an ARC4 encryption key index is set.
Definition d578uv_codeplug.cc:223
virtual bool bluetoothEnabled() const
Returns true if bluetooth hands-free is enabled.
Definition d578uv_codeplug.cc:40
virtual InterruptPriority interruptPriority() const
Returns the interrupt priority.
Definition d578uv_codeplug.cc:63
virtual bool analogScamblerEnabled() const
Returns true if the analog scambler is enabled.
Definition d578uv_codeplug.cc:163
virtual bool frequenciesSwapped() const
Returns true, if the RX and TX frequencies (and signaling) are swapped.
Definition d578uv_codeplug.cc:29
void enableRandomKey(bool enable) override
Enables/disables random key.
Definition d578uv_codeplug.cc:101
ChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d578uv_codeplug.cc:15
virtual void setFiveToneIdIndexBOT(unsigned int idx)
Sets the index of the 5-tone ID send at the start of the transmission.
Definition d578uv_codeplug.cc:338
virtual unsigned int fiveToneIdIndexEOT() const
Returns the index of the 5-tone ID send at the end of the transmission.
Definition d578uv_codeplug.cc:344
ChannelExtensionElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d578uv_codeplug.cc:312
virtual void setFiveToneIdIndexEOT(unsigned int idx)
Sets the index of the 5-tone ID send at the end of the transmission.
Definition d578uv_codeplug.cc:349
static constexpr unsigned int size()
Returns the size of the element.
Definition d578uv_codeplug.hh:189
virtual unsigned int fiveToneIdIndexBOT() const
Returns the index of the 5-tone ID send at the start of the transmission.
Definition d578uv_codeplug.cc:333
virtual void setMicType(AnytoneAudioSettingsExtension::HandsetType type)
Sets the microphone type.
Definition d578uv_codeplug.cc:2430
virtual Interval manDialGroupCallHangTime() const
Returns the manual dial group call hang time.
Definition d578uv_codeplug.cc:2301
virtual void setInfiniteBluetoothPTTSleepDelay()
Sets the bluetooth PTT sleep delay to infinite/disabled.
Definition d578uv_codeplug.cc:2253
virtual void setSpeaker(AnytoneAudioSettingsExtension::Speaker speaker)
Sets the speaker setting.
Definition d578uv_codeplug.cc:2161
virtual void setBtSK1ShortPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK1 short-press function of the BT handset.
Definition d578uv_codeplug.cc:2545
virtual AnytoneAudioSettingsExtension::Speaker speaker() const
Returns the speaker setting.
Definition d578uv_codeplug.cc:2151
AnytoneDisplaySettingsExtension::Color zoneBNameColor() const
Returns the color of the zone name for VFO B.
Definition d578uv_codeplug.cc:2453
void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO A.
Definition d578uv_codeplug.cc:2448
virtual bool resetAutoShutdownOnCall() const
Returns true if the auto-shutdown timer is reset on a call.
Definition d578uv_codeplug.cc:2464
virtual AnytoneRepeaterSettingsExtension::TimeSlot repTimeSlotBMatch() const
Returns the repeater timeslots for VFO B.
Definition d578uv_codeplug.cc:2743
virtual void setMicSpeakerSource(AnytoneAudioSettingsExtension::HandsetSpeakerSource source)
Sets the microphone-speaker source.
Definition d578uv_codeplug.cc:2188
virtual bool infiniteManDialPrivateCallHangTime() const
Returns true if the manual dialed private call hang time is infinite.
Definition d578uv_codeplug.cc:2327
virtual void setBtSK1LongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK1 long-press function of the BT handset.
Definition d578uv_codeplug.cc:2575
virtual void setBtHandsetSquelch(unsigned int level)
Sets the BT handset squelch level [0, 1-10].
Definition d578uv_codeplug.cc:2777
virtual unsigned int btHandsetMicGain() const
Returns the BT handset mic gain [1-10].
Definition d578uv_codeplug.cc:2601
virtual AnytoneKeySettingsExtension::UpDownKeyFunction micUpDownKeyFunction() const
Returns the function of up/down keys on microphone.
Definition d578uv_codeplug.cc:2647
virtual void enableTOTNotification(bool enable)
Enables/disables transmit timeout notification.
Definition d578uv_codeplug.cc:2674
virtual void setBtSK3ShortPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK3 short-press function of the BT handset.
Definition d578uv_codeplug.cc:2565
virtual void setBtHandsetVolumeB(unsigned int vol)
Sets the BF handset volume for VFO B [0,1,10].
Definition d578uv_codeplug.cc:2891
virtual AnytoneKeySettingsExtension::KeyFunction btSK1LongPressFunction() const
Returns the lone-press function for SK1 of the BT handset.
Definition d578uv_codeplug.cc:2570
virtual void enableShowColorCode(bool enable)
Enables/disables display of color code.
Definition d578uv_codeplug.cc:2480
virtual Interval bluetoothPTTSleepDelay() const
Returns the bluetooth PTT sleep delay in minutes, 0=off.
Definition d578uv_codeplug.cc:2244
virtual void setChKnobShortPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the channel knob short-press function.
Definition d578uv_codeplug.cc:2363
virtual bool repeaterEnabled() const
Returns true if the repeater function is enabled.
Definition d578uv_codeplug.cc:2140
virtual Interval manDialPrivateCallHangTime() const
Returns the manual dial private call hang time.
Definition d578uv_codeplug.cc:2332
UpDownKeyFunction
Encoding of up/down key functions.
Definition d578uv_codeplug.hh:925
virtual void setBtSK1VeryLongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK1 very-long-press function of the BT handset.
Definition d578uv_codeplug.cc:2803
virtual void setFanControl(AnytoneSettingsExtension::FanControl ctrl)
Sets the fan-control setting.
Definition d578uv_codeplug.cc:2269
virtual void setBluetoothPTTSleepDelay(Interval delay)
Sets the bluetooth PTT sleep delay in minutes.
Definition d578uv_codeplug.cc:2248
SpeakerSource
Encoding of microphone-speaker source.
Definition d578uv_codeplug.hh:905
void clear()
Resets the settings.
Definition d578uv_codeplug.cc:2103
virtual void setEncryption(AnytoneDMRSettingsExtension::EncryptionType mode)
Sets the encryption mode.
Definition d578uv_codeplug.cc:2393
virtual Interval btHandsetVOXDelay() const
Returns the VOX delay for the BT handset.
Definition d578uv_codeplug.cc:2858
virtual void setBtSK2LongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK2 long-press function of the BT handset.
Definition d578uv_codeplug.cc:2585
FanControl
Encoding of possible fan-control settings.
Definition d578uv_codeplug.hh:915
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Update config from settings.
Definition d578uv_codeplug.cc:3041
virtual void setWeatherChannelIndex(unsigned int idx)
Sets the weather channel index.
Definition d578uv_codeplug.cc:2290
virtual void enableGPSRoaming(bool enable)
Enables/disables GPS roaming.
Definition d578uv_codeplug.cc:2685
virtual bool fmIdleTone() const
Returns true if the FM idle channel tone is enabled.
Definition d578uv_codeplug.cc:2506
virtual bool showChannelType() const
Returns true if the channel type is shown.
Definition d578uv_codeplug.cc:2495
virtual void setBtHandsetVOXDelay(Interval delay)
Sets the VOX delay for the BT handset.
Definition d578uv_codeplug.cc:2863
virtual Interval steDuration() const
Returns the STE (squelch tail elimination) duration.
Definition d578uv_codeplug.cc:2410
virtual unsigned int fmMicGain() const
Returns the FM Mic gain [1,10].
Definition d578uv_codeplug.cc:2528
virtual AnytoneSettingsExtension::FanControl fanControl() const
Returns the fan-control setting.
Definition d578uv_codeplug.cc:2259
virtual AnytoneAudioSettingsExtension::HandsetType micType() const
Returns the microphone type.
Definition d578uv_codeplug.cc:2421
virtual AnytoneKeySettingsExtension::KeyFunction btSK3LongPressFunction() const
Returns the long-press function for SK3 of the BT handset.
Definition d578uv_codeplug.cc:2590
virtual AnytoneDMRSettingsExtension::EncryptionType encryption() const
Returns the encryption mode.
Definition d578uv_codeplug.cc:2389
virtual unsigned int weatherChannelIndex() const
Returns the weather channel index.
Definition d578uv_codeplug.cc:2285
virtual void setBtSK2VeryLongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK2 very-long-press function of the BT handset.
Definition d578uv_codeplug.cc:2813
virtual void setRepTimeSlotBMatch(AnytoneRepeaterSettingsExtension::TimeSlot mode)
Sets the repeater timeslots for VFO B.
Definition d578uv_codeplug.cc:2753
virtual AnytoneKeySettingsExtension::KeyFunction chKnobShortPressFunction() const
Returns the short-press function for the channel knob.
Definition d578uv_codeplug.cc:2358
virtual void setManDialGroupCallHangTime(Interval dur)
Sets the manual dial group call hang time.
Definition d578uv_codeplug.cc:2311
virtual bool totNotification() const
Returns true if the transmit timeout notification is enabled.
Definition d578uv_codeplug.cc:2669
virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode)
Sets the talker alias source.
Definition d578uv_codeplug.cc:2113
virtual AnytoneKeySettingsExtension::KeyFunction btSK2ShortPressFunction() const
Returns the short-press function for SK2 of the BT handset.
Definition d578uv_codeplug.cc:2550
virtual void callEndToneMelody(Melody &melody) const
Returns the call-end tone melody.
Definition d578uv_codeplug.cc:2897
virtual void enableShowTimeSlot(bool enable)
Enables/disables display of time slot.
Definition d578uv_codeplug.cc:2490
virtual void setTalkerAliasEncoding(AnytoneDMRSettingsExtension::TalkerAliasEncoding encoding)
Sets the talker alias encoding.
Definition d578uv_codeplug.cc:2123
virtual Interval btHandsetBacklightDuration() const
Returns the bluetooth handset backlight duration.
Definition d578uv_codeplug.cc:2613
virtual void enableShowChannelType(bool enable)
Enables/disables display of channel type.
Definition d578uv_codeplug.cc:2500
virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the settings from the config.
Definition d578uv_codeplug.cc:2940
virtual bool showColorCode() const
Returns true if the color code is shown.
Definition d578uv_codeplug.cc:2475
virtual AnytoneRepeaterSettingsExtension::ColorCode repColorCodeMatch() const
Returns the repeater colorcode match mode.
Definition d578uv_codeplug.cc:2691
virtual AnytoneKeySettingsExtension::KeyFunction chKnobLongPressFunction() const
Returns the long-press function for the channel knob.
Definition d578uv_codeplug.cc:2368
RepeaterColorCodeMatch
Encoding of repeater color code match.
Definition d578uv_codeplug.hh:930
virtual void enableFMIdleTone(bool enable)
Enables/disables FM idle channel tone.
Definition d578uv_codeplug.cc:2511
virtual AnytoneKeySettingsExtension::KeyFunction btSK1ShortPressFunction() const
Returns the short-press function for SK1 of the BT handset.
Definition d578uv_codeplug.cc:2540
virtual void setManDialPrivateCallHangTime(Interval dur)
Sets the manual dial private call hang time.
Definition d578uv_codeplug.cc:2342
virtual unsigned int btHandsetTxNoiseRedLevel() const
Returns the BT handset TX noise reduction level [0,1-10].
Definition d578uv_codeplug.cc:2829
GPSMode
Encoding of possible GPS modes.
Definition d578uv_codeplug.hh:910
virtual bool professionalMode() const
Returns true if the professional mode is enabled.
Definition d578uv_codeplug.cc:2399
virtual bool showTimeSlot() const
Returns true if the time slot is shown.
Definition d578uv_codeplug.cc:2485
virtual AnytoneKeySettingsExtension::KeyFunction btSK2LongPressFunction() const
Returns the long-press function for SK2 of the BT handset.
Definition d578uv_codeplug.cc:2580
virtual AnytoneRepeaterSettingsExtension::TimeSlot repTimeSlotAMatch() const
Returns the repeater timeslots for VFO A.
Definition d578uv_codeplug.cc:2717
virtual void setBtSK2ShortPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK2 short-press function of the BT handset.
Definition d578uv_codeplug.cc:2555
virtual unsigned int btHandsetVOXLevel() const
Returns the BT handset VOX level [0,1-10].
Definition d578uv_codeplug.cc:2846
virtual void allCallToneMelody(Melody &melody) const
Returns the all-call tone melody.
Definition d578uv_codeplug.cc:2918
static constexpr unsigned int size()
Returns the size of the element.
Definition d578uv_codeplug.hh:948
virtual void setBtSK3LongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK3 long-press function of the BT handset.
Definition d578uv_codeplug.cc:2595
virtual AnytoneDMRSettingsExtension::TalkerAliasEncoding talkerAliasEncoding() const
Returns the talker alias encoding.
Definition d578uv_codeplug.cc:2119
virtual void setCallEndToneMelody(const Melody &melody)
Sets the call-end tone melody.
Definition d578uv_codeplug.cc:2908
virtual bool btHandsetAutoPowerOffEnabled() const
If true, the BT handset to shut off automatically, if the device powers down.
Definition d578uv_codeplug.cc:2787
virtual bool infiniteBluetoothPTTSleepDelay() const
Returns true if the bluetooth PTT sleep delay is disabled (infinite).
Definition d578uv_codeplug.cc:2240
virtual bool infiniteManDialGroupCallHangTime() const
Returns true if the manual dialed group call hang time is infinite.
Definition d578uv_codeplug.cc:2296
virtual unsigned int btHandsetVolumeB() const
Returns the BT handset volume for VFO B [0,1,10].
Definition d578uv_codeplug.cc:2883
virtual AnytoneAudioSettingsExtension::HandsetSpeakerSource micSpeakerSource() const
Returns the microphone-speaker source.
Definition d578uv_codeplug.cc:2177
virtual void setBtHandsetMicGain(unsigned int gain)
Sets the BT handset mic gain.
Definition d578uv_codeplug.cc:2606
void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO B.
Definition d578uv_codeplug.cc:2458
virtual void enableBtHandsetAutoPowerOff(bool enable)
Enables/disables the BT handset to shut off automatically, if the device powers down.
Definition d578uv_codeplug.cc:2792
virtual void setRepTimeSlotAMatch(AnytoneRepeaterSettingsExtension::TimeSlot mode)
Sets the repeater timeslots for VFO A.
Definition d578uv_codeplug.cc:2727
virtual void enableProfessionalMode(bool enable)
Enables/disables professional mode.
Definition d578uv_codeplug.cc:2404
virtual void enableBluetoothPTTLatch(bool enable)
Enables/disables bluetooth PTT latch.
Definition d578uv_codeplug.cc:2235
virtual void setBtHandsetVolumeA(unsigned int vol)
Sets the BF handset volume for VFO A [0,1,10].
Definition d578uv_codeplug.cc:2878
virtual void setSTEDuration(Interval dur)
Sets the STE (squelch tail elimination) duration.
Definition d578uv_codeplug.cc:2414
virtual void setBtHandsetVOXLevel(unsigned int level)
Sets the BT handset VOX level [0,1-10].
Definition d578uv_codeplug.cc:2851
virtual void enableRepeater(bool enable)
Enables/disables the repeater function.
Definition d578uv_codeplug.cc:2145
virtual void setBtHandsetTxNoiseRedLevel(unsigned int level)
Sets the BT handset TX noise reduction level [0,1-10].
Definition d578uv_codeplug.cc:2836
virtual bool weatherAlarmEnabled() const
Returns true if the weather alarm is enabled.
Definition d578uv_codeplug.cc:2129
virtual void setManDialGroupCallHangTimeInfinite()
Sets the manual dial group call hang time to infinite.
Definition d578uv_codeplug.cc:2321
virtual void setFMMicGain(unsigned int gain)
Sets the analog mic gain [1,10].
Definition d578uv_codeplug.cc:2533
virtual void setAllCallToneMelody(const Melody &melody)
Sets the all-call tone melody.
Definition d578uv_codeplug.cc:2929
virtual AnytoneKeySettingsExtension::KeyFunction btSK1VeryLongPressFunction() const
Returns the very-long-press function for SK1 of the BT handset.
Definition d578uv_codeplug.cc:2798
virtual unsigned int btHandsetVolumeA() const
Returns the BT handset volume for VFO A [0,1,10].
Definition d578uv_codeplug.cc:2870
virtual AnytoneGPSSettingsExtension::GPSMode gpsMode() const
Returns the GPS mode.
Definition d578uv_codeplug.cc:2201
virtual void enableWeatherAlarm(bool enable)
Enables/disables the weather alarm.
Definition d578uv_codeplug.cc:2134
virtual AnytoneDisplaySettingsExtension::DateFormat dateFormat() const
Returns the date format.
Definition d578uv_codeplug.cc:2517
ExtendedSettingsElement(uint8_t *ptr, unsigned size)
Hidden Constructor.
virtual void setManDialPrivateCallHangTimeInfinite()
Sets the manual dial private call hang time to infinite.
Definition d578uv_codeplug.cc:2352
virtual AnytoneKeySettingsExtension::KeyFunction btSK3VeryLongPressFunction() const
Returns the very-long-press function for SK3 of the BT handset.
Definition d578uv_codeplug.cc:2818
virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const
Returns the talker alias source.
Definition d578uv_codeplug.cc:2109
virtual void setDateFormat(AnytoneDisplaySettingsExtension::DateFormat format)
Sets the date format.
Definition d578uv_codeplug.cc:2522
virtual unsigned int btHandsetSquelch() const
Returns the BT handset squelch level [0, 1-10].
Definition d578uv_codeplug.cc:2770
virtual void setMicUpDownKeyFunction(AnytoneKeySettingsExtension::UpDownKeyFunction func)
Sets the microphone up/down key function.
Definition d578uv_codeplug.cc:2656
virtual void setRepColorCodeMatch(AnytoneRepeaterSettingsExtension::ColorCode mode)
Sets the repeater colorcode match mode.
Definition d578uv_codeplug.cc:2701
virtual void setBtHandsetBacklightDuration(Interval delay)
Sets the bluetooth handset backlight duration.
Definition d578uv_codeplug.cc:2633
AnytoneDisplaySettingsExtension::Color zoneANameColor() const
Returns the color of the zone name for VFO A.
Definition d578uv_codeplug.cc:2443
void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color for the VFO B.
Definition d578uv_codeplug.cc:2383
virtual void enableResetAutoShutdownOnCall(bool enable)
Enables/disables reset on call of the auto-shutdown timer.
Definition d578uv_codeplug.cc:2469
RepeaterTimeSlotMatch
Encoding of repeater timeslot match.
Definition d578uv_codeplug.hh:935
virtual AnytoneKeySettingsExtension::KeyFunction btSK2VeryLongPressFunction() const
Returns the very-long-press function for SK2 of the BT handset.
Definition d578uv_codeplug.cc:2808
virtual void setChKnobLongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the channel knob long-press function.
Definition d578uv_codeplug.cc:2373
virtual bool gpsRoaming() const
Returns true if the GPS roaming is enabled.
Definition d578uv_codeplug.cc:2680
MicType
Possible mic types.
Definition d578uv_codeplug.hh:920
AnytoneDisplaySettingsExtension::Color channelBNameColor() const
Returns the color of the channel name for VFO B.
Definition d578uv_codeplug.cc:2378
virtual void setBtSK3VeryLongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK3 very-long-press function of the BT handset.
Definition d578uv_codeplug.cc:2823
virtual bool bluetoothPTTLatch() const
Returns true if the BT PTT latch is enabled.
Definition d578uv_codeplug.cc:2231
virtual AnytoneKeySettingsExtension::KeyFunction btSK3ShortPressFunction() const
Returns the short-press function for SK3 of the BT handset.
Definition d578uv_codeplug.cc:2560
virtual void setGPSMode(AnytoneGPSSettingsExtension::GPSMode mode)
Sets the GPS mode.
Definition d578uv_codeplug.cc:2211
virtual AnytoneKeySettingsExtension::KeyFunction funcKey6Long() const
Returns the function for programmable function key 6 long press.
Definition d578uv_codeplug.cc:1746
virtual void setWFMChannelIndex(unsigned idx)
Sets the wide-FM (broadcast) channel index.
Definition d578uv_codeplug.cc:700
AnytoneDisplaySettingsExtension::Color callDisplayColor() const override
Returns the display color for callsigns.
Definition d578uv_codeplug.cc:1346
virtual bool gpsMessageEnabled() const
Returns true if the GPS range reporting is enabled.
Definition d578uv_codeplug.cc:1046
virtual unsigned defaultRoamingZoneIndex() const
Returns the default roaming zone index.
Definition d578uv_codeplug.cc:1521
void enableDisplayCall(bool enable) override
Enables/disables call display.
Definition d578uv_codeplug.cc:1249
void setDefaultZoneIndexB(unsigned idx) override
Sets the default zone (0-based) for VFO B.
Definition d578uv_codeplug.cc:1482
void setFuncKeyBShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 2/B.
Definition d578uv_codeplug.cc:1678
virtual void setPrivateCallHangTime(Interval sec)
Sets the private call hang time in seconds.
Definition d578uv_codeplug.cc:682
AnytoneKeySettingsExtension::KeyFunction funcKeyCLong() const override
Returns the key function for a long press on the function key 3.
Definition d578uv_codeplug.cc:1773
virtual bool monitorColorCodeMatch() const
Returns true if the monitor matches color code.
Definition d578uv_codeplug.cc:992
Interval longPressDuration() const override
Returns the long-press duration in ms.
Definition d578uv_codeplug.cc:956
bool subChannel() const override
Returns true if sub channel is enabled.
Definition d578uv_codeplug.cc:796
bool dmrTalkPermit() const override
Returns true if the talk permit tone is enabled for digital channels.
Definition d578uv_codeplug.cc:848
unsigned autoRepeaterOffsetFrequencyIndexVHF() const override
Returns the auto-repeater offset frequency index for UHF.
Definition d578uv_codeplug.cc:1121
virtual void enableRepeaterRangeCheck(bool enable)
Enables/disables repeater range check.
Definition d578uv_codeplug.cc:1534
unsigned defaultZoneIndexA() const override
Returns the default zone index (0-based) for VFO A.
Definition d578uv_codeplug.cc:1469
virtual unsigned int btMicGain() const
Returns the bluetooth microphone gain [1,10].
Definition d578uv_codeplug.cc:1299
void setMaxVFOScanFrequencyUHF(Frequency hz) override
Sets the maximum VFO scan frequency for the UHF band in Hz.
Definition d578uv_codeplug.cc:1077
bool hasAutoRepeaterOffsetFrequencyIndexVHF() const override
Returns true if the auto-repeater offset frequency for VHF is set.
Definition d578uv_codeplug.cc:1117
unsigned memoryZoneB() const override
Returns the memory zone for VFO B.
Definition d578uv_codeplug.cc:723
void enableShowCurrentContact(bool enable) override
Enables/disables display of current contact.
Definition d578uv_codeplug.cc:1332
virtual void setAutoRoamDelay(Interval sec)
Sets the auto-roam delay in seconds.
Definition d578uv_codeplug.cc:1401
void setFuncKey1Short(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 1.
Definition d578uv_codeplug.cc:1615
QTimeZone gpsTimeZone() const override
Returns the GPS time zone.
Definition d578uv_codeplug.cc:839
bool recording() const override
Returns true if recording is enabled.
Definition d578uv_codeplug.cc:741
void resetToneMelody(Melody &melody) const override
Returns the reset-tone melody.
Definition d578uv_codeplug.cc:1208
void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color) override
Sets the display color for callsigns.
Definition d578uv_codeplug.cc:1350
AnytoneKeySettingsExtension::KeyFunction funcKeyAShort() const override
Returns the key function for a short press on the function key 1/A.
Definition d578uv_codeplug.cc:1665
virtual void enableDisplayChannelNumber(bool enable)
Enables/disables display of channel number.
Definition d578uv_codeplug.cc:1323
AnytoneKeySettingsExtension::KeyFunction funcKey2Short() const override
Returns the key function for a short press on the function key 2.
Definition d578uv_codeplug.cc:1620
bool fromConfig(const Flags &flags, Context &ctx) override
Encodes the general settings.
Definition d578uv_codeplug.cc:1865
Frequency minVFOScanFrequencyVHF() const override
Returns the minimum VFO scan frequency for the VHF band in Hz.
Definition d578uv_codeplug.cc:1082
void setAutoRepeaterMaxFrequencyVHF(Frequency Hz) override
Sets the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition d578uv_codeplug.cc:1146
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor.
Definition d578uv_codeplug.cc:942
virtual void enableRepeaterCheckNotification(bool enable)
Enables/disables repeater check notification.
Definition d578uv_codeplug.cc:1597
void setBrightness(unsigned level) override
Sets the display brightness.
Definition d578uv_codeplug.cc:755
void setDefaultChannelAIndex(unsigned idx) override
Sets the default channel index for VFO A.
Definition d578uv_codeplug.cc:1495
void setFuncKeyBLong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 2.
Definition d578uv_codeplug.cc:1768
void enableIdleChannelTone(bool enable) override
Enables/disables the idle channel tone.
Definition d578uv_codeplug.cc:879
virtual Interval wakeHeadPeriod() const
Returns the wake head-period in ms.
Definition d578uv_codeplug.cc:687
unsigned defaultZoneIndexB() const override
Returns the default zone index (0-based) for VFO B.
Definition d578uv_codeplug.cc:1478
AnytoneKeySettingsExtension::KeyFunction funcKeyBShort() const override
Returns the key function for a short press on the function key 2/B.
Definition d578uv_codeplug.cc:1674
virtual void enableWFMMonitor(bool enable)
Enables/disables WFM monitor.
Definition d578uv_codeplug.cc:782
void enableKeypadLock(bool enable) override
Enables/disables the keypad lock.
Definition d578uv_codeplug.cc:1376
virtual Interval autoRoamDelay() const
Returns the auto-roam delay in seconds.
Definition d578uv_codeplug.cc:1397
virtual void setBTHoldTime(Interval interval)
Sets the Bluetooth hold time (1-120s).
Definition d578uv_codeplug.cc:1830
virtual void setFuncKey5Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 5 short press.
Definition d578uv_codeplug.cc:1651
bool startupTone() const override
Returns true if the startup tone is enabled.
Definition d578uv_codeplug.cc:902
virtual void setFuncKeyDLong(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key D long press.
Definition d578uv_codeplug.cc:1786
virtual AnytoneKeySettingsExtension::KeyFunction funcKey6Short() const
Returns the function for programmable function key 6 short press.
Definition d578uv_codeplug.cc:1656
bool displayClock() const override
Returns true if the clock is shown.
Definition d578uv_codeplug.cc:1037
virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const
Returns the monitor slot match.
Definition d578uv_codeplug.cc:983
void clearAutoRepeaterOffsetFrequencyIndexVHF() override
Clears the auto-repeater offset frequency index for VHF.
Definition d578uv_codeplug.cc:1129
virtual void setBTHoldTimeInfinite()
Sets the Bluetooth hold time to infinite.
Definition d578uv_codeplug.cc:1836
void enableDMRTalkPermit(bool enable) override
Enables/disables the talk permit tone for digital channels.
Definition d578uv_codeplug.cc:852
virtual bool wfmEnabled() const
Returns true, if the WFM/Airband receiver is enabled.
Definition d578uv_codeplug.cc:732
virtual void enableMonitorIDMatch(bool enable)
Enables/disables monitor ID match.
Definition d578uv_codeplug.cc:1005
bool showCurrentContact() const override
Returns true if the current contact is shown.
Definition d578uv_codeplug.cc:1328
void setDefaultChannelAToVFO() override
Sets the default channel for VFO A to be VFO.
Definition d578uv_codeplug.cc:1499
unsigned int dmrMicGain() const override
Returns the mirophone gain.
Definition d578uv_codeplug.cc:609
virtual void setFuncKey5Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 5 long press.
Definition d578uv_codeplug.cc:1741
STEFrequency
All possible STE (squelch tail eliminate) frequencies.
Definition d578uv_codeplug.hh:238
virtual AnytoneRoamingSettingsExtension::RoamStart roamingStartCondition() const
Returns the roaming start condition.
Definition d578uv_codeplug.cc:1557
virtual void enableFilterOwnID(bool enable)
Enables/disables filter of own ID in call lists.
Definition d578uv_codeplug.cc:897
void setDefaultChannelBToVFO() override
Sets the default channel for VFO B to be VFO.
Definition d578uv_codeplug.cc:1516
virtual void setStandbyBackgroundColor(AnytoneDisplaySettingsExtension::Color color)
Sets the standby image color.
Definition d578uv_codeplug.cc:1419
AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionB() const override
Returns the auto-repeater direction for VFO B.
Definition d578uv_codeplug.cc:1442
virtual void setFuncKey6Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 6 short press.
Definition d578uv_codeplug.cc:1660
virtual bool wfmVFOEnabled() const
Returns true if the WFM RX is in VFO mode.
Definition d578uv_codeplug.cc:705
virtual Interval autoRoamPeriod() const
Returns the auto roaming period in minutes.
Definition d578uv_codeplug.cc:1337
virtual void enableBluetooth(bool enable)
Enables/disables bluetooth.
Definition d578uv_codeplug.cc:1258
void setCallToneMelody(const Melody &melody) override
Sets the call-tone melody.
Definition d578uv_codeplug.cc:1178
virtual void setFuncKey3Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 3 long press.
Definition d578uv_codeplug.cc:1723
void setMemoryZoneB(unsigned zone) override
Sets the memory zone for VFO B.
Definition d578uv_codeplug.cc:727
void setLastCallerDisplayMode(AnytoneDisplaySettingsExtension::LastCallerDisplayMode mode) override
Sets the last-caller display mode.
Definition d578uv_codeplug.cc:1023
bool getGPSPosition() const override
Returns true if get GPS position is enabled.
Definition d578uv_codeplug.cc:947
virtual void enableRoaming(bool enable)
Enables/disables repeater check notification.
Definition d578uv_codeplug.cc:1606
AnytoneDisplaySettingsExtension::LastCallerDisplayMode lastCallerDisplayMode() const override
Returns the last-caller display mode.
Definition d578uv_codeplug.cc:1019
virtual AnytoneKeySettingsExtension::KeyFunction funcKey5Long() const
Returns the function for programmable function key 5 long press.
Definition d578uv_codeplug.cc:1737
void enableFMTalkPermit(bool enable) override
Enables/disables the talk permit tone for analog channels.
Definition d578uv_codeplug.cc:861
bool displayCall() const override
Returns true if the call is displayed instead of the name.
Definition d578uv_codeplug.cc:1245
virtual void setFMCallHold(unsigned sec)
Sets the analog call hold in seconds.
Definition d578uv_codeplug.cc:1032
void enableActiveChannelB(bool enable) override
Enables/disables VFO B as the active channel.
Definition d578uv_codeplug.cc:791
void setMemoryZoneA(unsigned zone) override
Sets the memory zone for VFO A.
Definition d578uv_codeplug.cc:718
virtual void setBTSpeakerGain(unsigned int gain)
Sets the bluetooth speaker gain [1,10].
Definition d578uv_codeplug.cc:1313
bool updateConfig(Context &ctx) override
Updates the abstract config from general settings.
Definition d578uv_codeplug.cc:1968
void setFuncKey2Short(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 2.
Definition d578uv_codeplug.cc:1624
virtual void disableBTHoldTime()
Sets the Bluetooth hold time to infinite.
Definition d578uv_codeplug.cc:1841
void setIdleToneMelody(const Melody &melody) override
Sets the idle-tone melody.
Definition d578uv_codeplug.cc:1198
void enableKeyTone(bool enable) override
Enables/disables the key-tone.
Definition d578uv_codeplug.cc:540
AnytoneKeySettingsExtension::KeyFunction funcKeyCShort() const override
Returns the key function for a short press on the function key 3/C.
Definition d578uv_codeplug.cc:1683
virtual void setGPSUpdatePeriod(Interval sec)
Sets the GPS ranging interval in seconds.
Definition d578uv_codeplug.cc:1294
virtual Frequency vfoStepSize() const
Returns the VFO step size.
Definition d578uv_codeplug.cc:564
virtual void setTransmitTimeout(unsigned tot)
Sets the transmit timeout in seconds.
Definition d578uv_codeplug.cc:549
virtual void setBTMicGain(unsigned int gain)
Sets the bluetooth microphone gain [1,10].
Definition d578uv_codeplug.cc:1303
GeneralSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d578uv_codeplug.cc:523
virtual Interval privateCallHangTime() const
Returns the private call hang time in seconds.
Definition d578uv_codeplug.cc:678
virtual AnytoneSettingsExtension::STEType steType() const
Returns the STE (squelch tail eliminate) type.
Definition d578uv_codeplug.cc:641
Frequency maxVFOScanFrequencyUHF() const override
Returns the maximum VFO scan frequency for the UHF band in Hz.
Definition d578uv_codeplug.cc:1073
void setAutoRepeaterMinFrequencyUHF(Frequency Hz) override
Sets the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition d578uv_codeplug.cc:1155
bool vfoModeB() const override
Returns true if the VFO B is in VFO mode.
Definition d578uv_codeplug.cc:632
AnytoneSettingsExtension::VFOScanType vfoScanType() const override
Returns the VFO scan type.
Definition d578uv_codeplug.cc:599
void setFuncKey1Long(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 1.
Definition d578uv_codeplug.cc:1705
virtual void setFuncKey3Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 3 short press.
Definition d578uv_codeplug.cc:1633
virtual unsigned priorityZoneBIndex() const
Returns the priority Zone B index.
Definition d578uv_codeplug.cc:1236
bool vfoModeA() const override
Returns true if the VFO A is in VFO mode.
Definition d578uv_codeplug.cc:623
virtual void setTBSTFrequency(Frequency freq)
Sets the TBST frequency.
Definition d578uv_codeplug.cc:815
AnytoneKeySettingsExtension::KeyFunction funcKey1Long() const override
Returns the key function for a long press on the function key 1.
Definition d578uv_codeplug.cc:1701
void enableEnhancedAudio(bool enable) override
Enables/disables "enhanced" audio.
Definition d578uv_codeplug.cc:1059
AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionA() const override
Returns the auto repeater offset direction for VFO A.
Definition d578uv_codeplug.cc:974
Frequency autoRepeaterMinFrequencyUHF() const override
Returns the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition d578uv_codeplug.cc:1151
bool defaultChannelAIsVFO() const override
Returns true if the default channel for VFO A is VFO.
Definition d578uv_codeplug.cc:1487
void enableGPS(bool enable) override
Enables/disables recording.
Definition d578uv_codeplug.cc:764
AnytoneKeySettingsExtension::KeyFunction funcKeyALong() const override
Returns the key function for a long press on the function key 1.
Definition d578uv_codeplug.cc:1755
bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err) override
Links the general settings.
Definition d578uv_codeplug.cc:2056
Interval menuExitTime() const override
Returns the menu exit time in seconds.
Definition d578uv_codeplug.cc:884
virtual void setStandbyTextColor(AnytoneDisplaySettingsExtension::Color color)
Sets the standby text color.
Definition d578uv_codeplug.cc:1410
virtual void setSTEType(AnytoneSettingsExtension::STEType type)
Sets the STE (squelch tail eliminate) type.
Definition d578uv_codeplug.cc:645
void setAutoRepeaterDirectionB(AnytoneAutoRepeaterSettingsExtension::Direction dir) override
Sets the auto-repeater direction for VFO B.
Definition d578uv_codeplug.cc:1446
virtual AnytoneKeySettingsExtension::KeyFunction funcKey3Short() const
Returns the function for programmable function key 3 short press.
Definition d578uv_codeplug.cc:1629
void callToneMelody(Melody &melody) const override
Returns the call-tone melody.
Definition d578uv_codeplug.cc:1168
virtual void enableMonitorColorCodeMatch(bool enable)
Enables/disables monitor color code match.
Definition d578uv_codeplug.cc:996
virtual AnytoneDisplaySettingsExtension::Color standbyBackgroundColor() const
Returns the standby image color.
Definition d578uv_codeplug.cc:1415
void enableStartupTone(bool enable) override
Enables/disables the startup tone.
Definition d578uv_codeplug.cc:906
void setFuncKeyAShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 1/A.
Definition d578uv_codeplug.cc:1669
virtual AnytoneDisplaySettingsExtension::Color standbyTextColor() const
Returns the standby text color.
Definition d578uv_codeplug.cc:1406
virtual void enableFMSendIDAndContact(bool enable)
Enables/disables sending contact with FM ID.
Definition d578uv_codeplug.cc:1455
virtual bool separateDisplay() const
Returns true if the "separate display" is enabled.
Definition d578uv_codeplug.cc:1566
Frequency maxVFOScanFrequencyVHF() const override
Returns the maximum VFO scan frequency for the VHF band in Hz.
Definition d578uv_codeplug.cc:1091
virtual AnytoneDisplaySettingsExtension::Color channelNameColor() const
Returns the channel name color.
Definition d578uv_codeplug.cc:1584
void enableVFOModeA(bool enable) override
Enables/disables VFO mode for VFO A.
Definition d578uv_codeplug.cc:627
virtual void enablePluginRecTone(bool enable)
Enables/disables the plug-in record tone.
Definition d578uv_codeplug.cc:1285
virtual void setSTEFrequency(double freq)
Sets the STE (squelch tail eliminate) frequency setting.
Definition d578uv_codeplug.cc:658
virtual void setPriorityZoneAIndex(unsigned idx)
Sets the priority zone A index.
Definition d578uv_codeplug.cc:1232
void enableDefaultChannel(bool enable) override
Enables/disables default boot channel.
Definition d578uv_codeplug.cc:1464
bool showLastHeard() const override
Returns true if the last heard is shown while pressing PTT.
Definition d578uv_codeplug.cc:1424
void enableSubChannel(bool enable) override
Enables/disables sub channel.
Definition d578uv_codeplug.cc:800
void enableDisplayClock(bool enable) override
Enables/disables clock display.
Definition d578uv_codeplug.cc:1041
void enableCallAlert(bool enable) override
Enables/disables call alert.
Definition d578uv_codeplug.cc:834
virtual bool displayChannelNumber() const
Returns true if the channel number is displayed.
Definition d578uv_codeplug.cc:1319
void setGPSTimeZone(const QTimeZone &zone) override
Sets the GPS time zone.
Definition d578uv_codeplug.cc:843
void setAutoRepeaterMaxFrequencyUHF(Frequency Hz) override
Sets the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition d578uv_codeplug.cc:1163
void setDefaultChannelBIndex(unsigned idx) override
Sets the default channel index for VFO B.
Definition d578uv_codeplug.cc:1512
void enableVolumeChangePrompt(bool enable) override
Enables/disables the volume change prompt.
Definition d578uv_codeplug.cc:969
virtual void enableWFM(bool enable)
Enables/disables WFM/Airband receiver.
Definition d578uv_codeplug.cc:736
void setFuncKeyCShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 3/C.
Definition d578uv_codeplug.cc:1687
virtual bool monitorIDMatch() const
Returns true if the monitor matches ID.
Definition d578uv_codeplug.cc:1001
bool gps() const override
Returns true if GPS is enabled.
Definition d578uv_codeplug.cc:760
void enableGPSUnitsImperial(bool enable) override
Enables/disables imperial GPS units.
Definition d578uv_codeplug.cc:1359
void setMenuExitTime(Interval intv) override
Sets the menu exit time in seconds.
Definition d578uv_codeplug.cc:888
void enableKeepLastCaller(bool enable) override
Enables/disables keeping the last caller when changing the channel.
Definition d578uv_codeplug.cc:1579
virtual void enableMonitorTimeSlotHold(bool enable)
Enables/disables monitor time slot hold.
Definition d578uv_codeplug.cc:1014
virtual void setRepeaterRangeCheckCount(unsigned n)
Sets the number of repeater range checks.
Definition d578uv_codeplug.cc:1552
Frequency autoRepeaterMaxFrequencyVHF() const override
Returns the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition d578uv_codeplug.cc:1142
virtual bool fmSendIDAndContact() const
If enabled, the FM ID is sent together with selected contact.
Definition d578uv_codeplug.cc:1451
bool callEndPrompt() const override
Returns true if the call-end prompt is enabled.
Definition d578uv_codeplug.cc:911
virtual double steFrequency() const
Returns the STE (squelch tail eliminate) frequency setting in Hz.
Definition d578uv_codeplug.cc:649
void enableRecording(bool enable) override
Enables/disables recording.
Definition d578uv_codeplug.cc:745
virtual AnytoneKeySettingsExtension::KeyFunction funcKey4Short() const
Returns the function for programmable function key 4 short press.
Definition d578uv_codeplug.cc:1638
void setMaxVFOScanFrequencyVHF(Frequency hz) override
Sets the maximum VFO scan frequency for the VHF band in Hz.
Definition d578uv_codeplug.cc:1095
virtual Interval repeaterRangeCheckInterval() const
Returns the repeater range check period in seconds.
Definition d578uv_codeplug.cc:1539
virtual bool remoteStunKill() const
Returns true remote stun/kill is enabled.
Definition d578uv_codeplug.cc:929
virtual AnytoneDMRSettingsExtension::SMSFormat smsFormat() const
Returns the SMS format.
Definition d578uv_codeplug.cc:1433
bool keepLastCaller() const override
Returns true if the last caller is kept when changing channel.
Definition d578uv_codeplug.cc:1575
Frequency minVFOScanFrequencyUHF() const override
Returns the minimum VFO scan frequency for the UHF band in Hz.
Definition d578uv_codeplug.cc:1064
AnytoneKeySettingsExtension::KeyFunction funcKey2Long() const override
Returns the key function for a long press on the function key 2.
Definition d578uv_codeplug.cc:1710
virtual unsigned repeaterCheckNumNotifications() const
Returns the number of repeater check notifications.
Definition d578uv_codeplug.cc:1792
virtual bool repeaterCheckNotification() const
Returns true if repeater check notification is enabled.
Definition d578uv_codeplug.cc:1593
virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match)
Sets the monitor slot match.
Definition d578uv_codeplug.cc:987
unsigned autoRepeaterOffsetFrequencyIndexUHF() const override
Returns the auto-repeater offset frequency index for UHF.
Definition d578uv_codeplug.cc:1104
virtual void enableBTAndInternalMic(bool enable)
Enables/disables the internal mic when BT is active.
Definition d578uv_codeplug.cc:1267
virtual void setDefaultRoamingZoneIndex(unsigned idx)
Sets the default roaming zone index.
Definition d578uv_codeplug.cc:1525
virtual Interval gpsUpdatePeriod() const
Returns the GPS ranging interval in seconds.
Definition d578uv_codeplug.cc:1290
void enableKeyLockForced(bool enable) override
Enables/disables the "professional" key lock.
Definition d578uv_codeplug.cc:1392
void setMinVFOScanFrequencyUHF(Frequency hz) override
Sets the minimum VFO scan frequency for the UHF band in Hz.
Definition d578uv_codeplug.cc:1068
unsigned defaultChannelAIndex() const override
Returns the default channel index for VFO A.
Definition d578uv_codeplug.cc:1491
bool keyLockForced() const override
Returns true if the "professional" key is locked.
Definition d578uv_codeplug.cc:1388
void enableVFOModeB(bool enable) override
Enables/disables VFO mode for VFO B.
Definition d578uv_codeplug.cc:636
static constexpr unsigned int size()
The size of the element.
Definition d578uv_codeplug.hh:257
virtual void setFuncKeyDShort(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key D short press.
Definition d578uv_codeplug.cc:1696
virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang)
Sets the UI language.
Definition d578uv_codeplug.cc:558
VFOStepSize
Encoded VFO step sizes.
Definition d578uv_codeplug.hh:243
virtual void enableSeparateDisplay(bool enable)
Enables/disables "separate display.
Definition d578uv_codeplug.cc:1570
Frequency autoRepeaterMaxFrequencyUHF() const override
Returns the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition d578uv_codeplug.cc:1159
void enableCallEndPrompt(bool enable) override
Enables/disables the call-end prompt.
Definition d578uv_codeplug.cc:915
void setAutoRepeaterMinFrequencyVHF(Frequency Hz) override
Sets the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition d578uv_codeplug.cc:1138
bool volumeChangePrompt() const override
Returns true if the volume change prompt is enabled.
Definition d578uv_codeplug.cc:965
virtual unsigned repeaterRangeCheckCount() const
Returns the number of repeater range checks.
Definition d578uv_codeplug.cc:1548
virtual Frequency tbstFrequency() const
Returns the TBST frequency.
Definition d578uv_codeplug.cc:805
AnytoneKeySettingsExtension::KeyFunction funcKey1Short() const override
Returns the key function for a short press on the function key 1.
Definition d578uv_codeplug.cc:1611
void setMaxSpeakerVolume(unsigned level) override
Sets the maximum volume.
Definition d578uv_codeplug.cc:924
void setFuncKeyCLong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 3.
Definition d578uv_codeplug.cc:1777
virtual bool wfmMonitor() const
Returns true if WFM monitor is enabled.
Definition d578uv_codeplug.cc:778
virtual unsigned wfmChannelIndex() const
Returns the wide-FM (broadcast) channel index.
Definition d578uv_codeplug.cc:696
void enableKnobLock(bool enable) override
Enables/disables the knob lock.
Definition d578uv_codeplug.cc:1368
void enableSidekeysLock(bool enable) override
Enables/disables the sidekeys lock.
Definition d578uv_codeplug.cc:1384
virtual bool btHoldTimeEnabled() const
Returns true, if the bluetooth hold time is enabled.
Definition d578uv_codeplug.cc:1815
virtual void setFuncKey4Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 4 long press.
Definition d578uv_codeplug.cc:1732
void enableDMRResetTone(bool enable) override
Enables/disables the reset tone for digital calls.
Definition d578uv_codeplug.cc:870
unsigned maxSpeakerVolume() const override
Returns the maximum volume.
Definition d578uv_codeplug.cc:920
virtual bool bluetooth() const
Returns true if bluetooth is enabled.
Definition d578uv_codeplug.cc:1254
virtual void setAutoRoamPeriod(Interval min)
Sets the auto roaming period in minutes.
Definition d578uv_codeplug.cc:1341
virtual AnytoneKeySettingsExtension::KeyFunction funcKey4Long() const
Returns the function for programmable function key 4 long press.
Definition d578uv_codeplug.cc:1728
void setMinVFOScanFrequencyVHF(Frequency hz) override
Sets the minimum VFO scan frequency for the VHF band in Hz.
Definition d578uv_codeplug.cc:1086
virtual unsigned int btSpeakerGain() const
Returns the bluetooth speaker gain [1,10].
Definition d578uv_codeplug.cc:1309
bool callAlert() const override
Returns true if call alert is enabled.
Definition d578uv_codeplug.cc:830
void setDefaultZoneIndexA(unsigned idx) override
Sets the default zone (0-based) for VFO A.
Definition d578uv_codeplug.cc:1473
void enableGetGPSPosition(bool enable) override
Enables/disables get GPS position.
Definition d578uv_codeplug.cc:951
virtual void setPriorityZoneBIndex(unsigned idx)
Sets the priority zone B index.
Definition d578uv_codeplug.cc:1240
virtual Interval btHoldTime() const
Returns the bluetooth hold time.
Definition d578uv_codeplug.cc:1825
virtual bool monitorTimeSlotHold() const
Returns true if the monitor holds the time slot.
Definition d578uv_codeplug.cc:1010
virtual void setFuncKey4Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 4 short press.
Definition d578uv_codeplug.cc:1642
virtual void setFuncKey6Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 6 long press.
Definition d578uv_codeplug.cc:1750
virtual void setVFOStepSize(const Frequency &f)
Sets the VFO step size.
Definition d578uv_codeplug.cc:582
bool activeChannelB() const override
Returns true if the active channel is VFO B.
Definition d578uv_codeplug.cc:787
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyDLong() const
Returns the function for programmable function key D long press.
Definition d578uv_codeplug.cc:1782
bool idleChannelTone() const override
Returns true if the idle channel tone is enabled.
Definition d578uv_codeplug.cc:875
virtual Interval btRXDelay() const
Returns the bluetooth RX delay in ms.
Definition d578uv_codeplug.cc:1847
virtual void enableWFMVFO(bool enable)
Enables/disables VFO mode for WFM RX.
Definition d578uv_codeplug.cc:709
void setResetToneMelody(const Melody &melody) override
Sets the reset-tone melody.
Definition d578uv_codeplug.cc:1218
virtual void setWakeHeadPeriod(Interval ms)
Sets the wake head-period in ms.
Definition d578uv_codeplug.cc:691
virtual bool btAndInternalSpeaker() const
Returns true if the internal speaker is additionally active when BT is active.
Definition d578uv_codeplug.cc:1272
unsigned memoryZoneA() const override
Returns the memory zone for VFO A.
Definition d578uv_codeplug.cc:714
virtual bool roaming() const
Returns true if roaming is enabled.
Definition d578uv_codeplug.cc:1602
virtual void setSMSFormat(AnytoneDMRSettingsExtension::SMSFormat fmt)
Sets the SMS format.
Definition d578uv_codeplug.cc:1437
void enableShowLastHeard(bool enable) override
Enables/disables showing last heard.
Definition d578uv_codeplug.cc:1428
bool defaultChannelBIsVFO() const override
Returns true if the default channel for VFO B is VFO.
Definition d578uv_codeplug.cc:1504
virtual void setBTRXDelay(Interval delay)
Sets the bluetooth RX delay in ms.
Definition d578uv_codeplug.cc:1854
virtual bool remoteMonitor() const
Returns true remote monitor is enabled.
Definition d578uv_codeplug.cc:938
virtual AnytoneKeySettingsExtension::KeyFunction funcKey3Long() const
Returns the function for programmable function key 3 long press.
Definition d578uv_codeplug.cc:1719
virtual unsigned transmitTimeout() const
Returns the transmit timeout in seconds.
Definition d578uv_codeplug.cc:545
void idleToneMelody(Melody &melody) const override
Returns the idle-tone melody.
Definition d578uv_codeplug.cc:1188
virtual bool filterOwnID() const
Returns true if the own ID is filtered in call lists.
Definition d578uv_codeplug.cc:893
bool enhanceAudio() const override
Returns true if the audio is "enhanced".
Definition d578uv_codeplug.cc:1055
virtual AnytoneKeySettingsExtension::KeyFunction funcKey5Short() const
Returns the function for programmable function key 5 short press.
Definition d578uv_codeplug.cc:1647
virtual unsigned priorityZoneAIndex() const
Returns the priority Zone A index.
Definition d578uv_codeplug.cc:1228
unsigned defaultChannelBIndex() const override
Returns the default channel index for VFO B.
Definition d578uv_codeplug.cc:1508
virtual void setChannelNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color.
Definition d578uv_codeplug.cc:1588
bool keyToneEnabled() const override
Returns true, if the key tone is enabled.
Definition d578uv_codeplug.cc:536
void setAutoRepeaterDirectionA(AnytoneAutoRepeaterSettingsExtension::Direction dir) override
Sets the auto-repeater offset direction for VFO A.
Definition d578uv_codeplug.cc:978
unsigned brightness() const override
Returns the display brightness.
Definition d578uv_codeplug.cc:751
virtual AnytoneDisplaySettingsExtension::Language language() const
Returns the UI language.
Definition d578uv_codeplug.cc:554
bool knobLock() const override
Returns true if the knob is locked.
Definition d578uv_codeplug.cc:1364
virtual void setRoamingStartCondition(AnytoneRoamingSettingsExtension::RoamStart cond)
Sets the roaming start condition.
Definition d578uv_codeplug.cc:1561
void setFuncKeyALong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 1.
Definition d578uv_codeplug.cc:1759
virtual bool repeaterRangeCheck() const
Returns true if repeater range check is enabled.
Definition d578uv_codeplug.cc:1530
void setLongPressDuration(Interval ms) override
Sets the long-press duration in ms.
Definition d578uv_codeplug.cc:960
virtual unsigned fmCallHold() const
Returns the analog call hold in seconds.
Definition d578uv_codeplug.cc:1028
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyDShort() const
Returns the function for programmable function key D short press.
Definition d578uv_codeplug.cc:1692
bool defaultChannel() const override
Returns true if the default boot channel is enabled.
Definition d578uv_codeplug.cc:1460
bool gpsUnitsImperial() const override
Returns true if the GPS units are imperial.
Definition d578uv_codeplug.cc:1355
void clearAutoRepeaterOffsetFrequencyIndexUHF() override
Clears the auto-repeater offset frequency index for UHF.
Definition d578uv_codeplug.cc:1112
bool fmTalkPermit() const override
Returns true if the talk permit tone is enabled for digital channels.
Definition d578uv_codeplug.cc:857
virtual Interval groupCallHangTime() const
Returns the group call hang time in seconds.
Definition d578uv_codeplug.cc:669
void setVFOScanType(AnytoneSettingsExtension::VFOScanType type) override
Sets the VFO scan type.
Definition d578uv_codeplug.cc:603
virtual void enableBTAndInternalSpeaker(bool enable)
Enables/disables the internal speaker when BT is active.
Definition d578uv_codeplug.cc:1276
AnytoneKeySettingsExtension::KeyFunction funcKeyBLong() const override
Returns the key function for a long press on the function key 2.
Definition d578uv_codeplug.cc:1764
virtual void setRepeaterCheckNumNotifications(unsigned num)
Sets the number of repeater check notifications.
Definition d578uv_codeplug.cc:1796
bool hasAutoRepeaterOffsetFrequencyIndexUHF() const override
Returns true if the auto-repeater offset frequency for UHF is set.
Definition d578uv_codeplug.cc:1100
virtual bool pluginRecTone() const
Returns true if the plug-in record tone is enabled.
Definition d578uv_codeplug.cc:1281
void setFuncKey2Long(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 2.
Definition d578uv_codeplug.cc:1714
virtual Interval txBacklightDuration() const
Returns the backlight duration during TX in seconds.
Definition d578uv_codeplug.cc:1803
virtual bool btAndInternalMic() const
Returns true if the internal mic is additionally active when BT is active.
Definition d578uv_codeplug.cc:1263
bool sidekeysLock() const override
Returns true if the sidekeys are locked.
Definition d578uv_codeplug.cc:1380
void setAutoRepeaterOffsetFrequenyIndexVHF(unsigned idx) override
Sets the auto-repeater offset frequency index for VHF.
Definition d578uv_codeplug.cc:1125
bool keypadLock() const override
Returns true if the keypad is locked.
Definition d578uv_codeplug.cc:1372
virtual void enableRemoteStunKill(bool enable)
Enables/disables remote stun/kill.
Definition d578uv_codeplug.cc:933
void setDMRMicGain(unsigned int gain) override
Sets the microphone gain.
Definition d578uv_codeplug.cc:616
void setAutoRepeaterOffsetFrequenyIndexUHF(unsigned idx) override
Sets the auto-repeater offset frequency index for UHF.
Definition d578uv_codeplug.cc:1108
virtual void setGroupCallHangTime(Interval sec)
Sets the group call hang time in seconds.
Definition d578uv_codeplug.cc:673
virtual bool btHoldTimeInfinite() const
Returns true, if the bluetooth hold time is infinite.
Definition d578uv_codeplug.cc:1820
virtual void setTXBacklightDuration(Interval sec)
Sets the backlight duration during TX in seconds.
Definition d578uv_codeplug.cc:1808
bool smsAlert() const override
Returns true if SMS alert is enabled.
Definition d578uv_codeplug.cc:769
TBSTFrequency
TBST (open repeater) frequencies.
Definition d578uv_codeplug.hh:233
Frequency autoRepeaterMinFrequencyVHF() const override
Returns the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition d578uv_codeplug.cc:1134
void enableSMSAlert(bool enable) override
Enables/disables SMS alert.
Definition d578uv_codeplug.cc:773
virtual void enableGPSMessage(bool enable)
Enables/disables GPS range reporting.
Definition d578uv_codeplug.cc:1050
bool dmrResetTone() const override
Returns true if the reset tone is enabled for digital calls.
Definition d578uv_codeplug.cc:866
virtual void setRepeaterRangeCheckInterval(Interval sec)
Sets the repeater range check interval in seconds.
Definition d578uv_codeplug.cc:1543
static constexpr unsigned int size()
The size of the element.
Definition d578uv_codeplug.hh:1322
HotKeySettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d578uv_codeplug.cc:3134
uint8_t * hotKeySetting(unsigned int n) const
Returns a pointer to the n-th hot key setting.
Definition d578uv_codeplug.cc:3147
bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode channels into codeplug.
Definition d578uv_codeplug.cc:3247
void allocateHotKeySettings()
Allocates hot key settings memory section.
Definition d578uv_codeplug.cc:3242
bool encodeContacts(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode contacts into codeplug.
Definition d578uv_codeplug.cc:3332
D578UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition d578uv_codeplug.cc:3212
void allocateContacts()
Allocate contacts from bitmaps.
Definition d578uv_codeplug.cc:3308
bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Link the general settings.
Definition d578uv_codeplug.cc:3387
bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Create channels from codeplug.
Definition d578uv_codeplug.cc:3266
bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the general settings section.
Definition d578uv_codeplug.cc:3378
bool allocateBitmaps()
Allocates the bitmaps.
Definition d578uv_codeplug.cc:3224
void allocateGeneralSettings()
Allocates general settings memory section.
Definition d578uv_codeplug.cc:3361
bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the general settings section.
Definition d578uv_codeplug.cc:3369
virtual void allocateAirBand()
Allocates the air-band channels und VFO settings.
Definition d578uv_codeplug.cc:3402
void allocateUpdated()
Allocate all code-plug elements that must be written back to the device to maintain a working codeplu...
Definition d578uv_codeplug.cc:3235
bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Link channels.
Definition d578uv_codeplug.cc:3287
Represents the actual channel encoded within the binary D878UV codeplug.
Definition d878uv_codeplug.hh:90
AdvancedEncryptionType
Possible encryption types.
Definition d878uv_codeplug.hh:113
D878UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition d878uv_codeplug.cc:3823
uint32_t size() const
Returns the total size of the DFU file.
Definition dfufile.cc:52
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:43
This class represents a GPS signalling system within the codeplug.
Definition gpssystem.hh:65
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
Base class for all Radio objects.
Definition radio.hh:32
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:1299
Some type to specify a bit offset.
Definition codeplug.hh:70
Base class for Offsets.
Definition codeplug.hh:68
Some limits of the channel.
Definition d578uv_codeplug.hh:1366
static constexpr unsigned int nameLength()
Maximum name length.
Definition d578uv_codeplug.hh:1367
Internal used offsets within the element.
Definition d578uv_codeplug.hh:1372
Internal offsets within the channel element.
Definition d578uv_codeplug.hh:150
Internal offsets within element.
Definition d578uv_codeplug.hh:205
Some limits for the settings.
Definition d578uv_codeplug.hh:1229
static constexpr unsigned int maxBluetoothPTTSleepDelay()
Maximum delay in minutes.
Definition d578uv_codeplug.hh:1230
static constexpr unsigned int maxWeatherChannelIndex()
Maximum weather channel index.
Definition d578uv_codeplug.hh:1231
Internal used offset within the element.
Definition d578uv_codeplug.hh:1236
Some internal offsets.
Definition d578uv_codeplug.hh:743
Device specific time zones.
Definition d578uv_codeplug.hh:220
static QVector< QTimeZone > _timeZones
Vector of possible time-zones.
Definition d578uv_codeplug.hh:497
static QTimeZone decode(uint8_t code)
Decodes time zone.
Definition d578uv_codeplug.cc:507
static uint8_t encode(const QTimeZone &zone)
Encodes time zone.
Definition d578uv_codeplug.cc:513
Some limits for this element.
Definition d578uv_codeplug.hh:1328
static constexpr unsigned int numEntries()
Maximum number of hot-key entries.
Definition d578uv_codeplug.hh:1329
Device specific key function encoding and decoding.
Definition d578uv_codeplug.hh:27
static AnytoneKeySettingsExtension::KeyFunction decode(uint8_t code)
Decodes key function.
Definition d578uv_codeplug.cc:426
KeyFunctionCode
Encoded key functions.
Definition d578uv_codeplug.hh:36
static uint8_t encode(AnytoneKeySettingsExtension::KeyFunction tone)
Encodes key function.
Definition d578uv_codeplug.cc:359
Some limits for the codeplug.
Definition d578uv_codeplug.hh:1428
static constexpr unsigned int airBandChannels()
Maximum number of air-band channels.
Definition d578uv_codeplug.hh:1430
Internal used offsets within the codeplug.
Definition d578uv_codeplug.hh:1435
Internal used offsets within the channel element.
Definition d878uv_codeplug.hh:228
Some limits.
Definition d878uv_codeplug.hh:1990
Internal offsets within the codeplug.
Definition d878uv_codeplug.hh:2000
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:107