libdrmconf 0.15.0
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 DMRAPRSSystem;
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 bluetoothEnabled() const;
81 virtual void enableBluetooth(bool enable);
82
83 bool roamingEnabled() const override;
84 void enableRoaming(bool enable) override;
85
90
92 virtual bool noiseReductionEnabled() const;
94 virtual void enableNoiseReduction(bool enable);
95
96 bool multipleKeyEncryption() const override;
97 void enableMultipleKeyEncryption(bool enable) override;
98
99 bool randomKey() const override;
100 void enableRandomKey(bool enable) override;
101
102 bool sms() const override;
103 void enableSMS(bool enable) override;
104
105 bool dataACK() const override;
106 void enableDataACK(bool enable) override;
107
108 bool autoScan() const override;
109 void enableAutoScan(bool enable) override;
110
111 bool sendTalkerAlias() const override;
112 void enableSendTalkerAlias(bool enable) override;
113
115 void setEncryptionType(AdvancedEncryptionType type) override;
116
118 virtual bool analogScamblerEnabled() const;
120 virtual Frequency analogScramblerFrequency() const;
122 virtual void setAnalogScamberFrequency(Frequency f);
124 virtual void clearAnalogScambler();
125
126 unsigned int fmAPRSFrequencyIndex() const override;
127 void setFMAPRSFrequencyIndex(unsigned int idx) override;
128
129 bool hasARC4EncryptionKeyIndex() const override;
130 unsigned int arc4EncryptionKeyIndex() const override;
131 void setARC4EncryptionKeyIndex(unsigned int index) override;
132 void clearARC4EncryptionKeyIndex() override;
133
134 Channel *toChannelObj(Context &ctx) const override;
135 bool fromChannelObj(const Channel *ch, Context &ctx) override;
136
137 protected:
140 {
142 static constexpr Bit bluetooth() { return {0x0034, 2}; }
143 static constexpr Bit noiseReduction() { return {0x0034, 3}; }
144 static constexpr Bit interruptPriority() { return {0x0034, 4}; }
145 static constexpr Bit roaming() { return {0x0034, 6}; }
146 static constexpr unsigned int fmScrambler() { return 0x003a; }
147 static constexpr unsigned int customScrambler() { return 0x003b; }
148 static constexpr Bit multipleKeyEncryption() { return {0x003d, 0}; }
149 static constexpr Bit randomKey() { return {0x003d, 1}; }
150 static constexpr Bit sms() { return {0x003d, 2}; }
151 static constexpr Bit dataACK() { return {0x003d, 3}; }
152 static constexpr Bit autoScan() { return {0x003d, 4}; }
153 static constexpr Bit talkerAlias() { return {0x003d, 5}; }
154 static constexpr Bit advancedEncryptionType() { return {0x003d, 6}; }
155 static constexpr unsigned int fmAPRSFrequencyIndex() { return 0x003e; }
156 static constexpr unsigned int arc4KeyIndex() { return 0x003f; }
157 // Deleted
158 static constexpr Bit muteFMAPRS() { return {0x0000, 0}; }
159 static constexpr Bit ctcssPhaseReversal() { return {0x0000, 0}; }
161 };
162 };
163
164
168 {
169 protected:
171 ChannelExtensionElement(uint8_t *ptr, unsigned size);
172
173 public:
175 ChannelExtensionElement(uint8_t *ptr);
176
178 static constexpr unsigned int size() { return 0x0040; }
179
180 void clear() override;
181
183 virtual unsigned int fiveToneIdIndexBOT() const;
185 virtual void setFiveToneIdIndexBOT(unsigned int idx);
186
188 virtual unsigned int fiveToneIdIndexEOT() const;
190 virtual void setFiveToneIdIndexEOT(unsigned int idx);
191
192 protected:
194 struct Offset: public Element::Offset {
196 static constexpr unsigned int fiveToneIdIndexBOT() { return 0x0000; }
197 static constexpr unsigned int fiveToneIdIndexEOT() { return 0x0001; }
199 };
200 };
201
202
206 {
207 protected:
209 struct TimeZone {
210 public:
212 static uint8_t encode(const QTimeZone& zone);
214 static QTimeZone decode(uint8_t code);
215
216 protected:
218 static QVector<QTimeZone> _timeZones;
219 };
220
222 enum class TBSTFrequency {
223 Hz1000 = 0, Hz1450 = 1, Hz1750 = 2, Hz2100 = 3
224 };
225
227 enum class STEFrequency {
228 Off = 0, Hz55_2 = 1, Hz259_2 = 2
229 };
230
232 enum class VFOStepSize {
233 Hz2500 = 0, Hz5000 = 1, Hz6250 = 2, Hz8330 = 3, kHz10 = 4, Hz12500 = 5, kHz20 = 6,
234 kHz25 = 7, kHz30 = 8, kHz50=9
235 };
236
238 enum class SMSFormat {
239 Motorola = 0, Hytera = 1, DMR = 2
240 };
241
242
243 protected:
245 GeneralSettingsElement(uint8_t *ptr, unsigned size);
246
247 public:
249 GeneralSettingsElement(uint8_t *ptr);
250
252 static constexpr unsigned int size() { return 0x00f0; }
253
254 bool keyToneEnabled() const override;
255 void enableKeyTone(bool enable) override;
256
258 virtual Interval transmitTimeout() const;
260 virtual void setTransmitTimeout(const Interval &tot);
261
263 virtual AnytoneDisplaySettingsExtension::Language language() const;
265 virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang);
266
268 virtual Frequency vfoStepSize() const;
270 virtual void setVFOStepSize(const Frequency &f);
271
274
275 Level dmrMicGain() const override;
276 void setDMRMicGain(Level gain) override;
277
278 bool vfoModeA() const override;
279 void enableVFOModeA(bool enable) override;
280 bool vfoModeB() const override;
281 void enableVFOModeB(bool enable) override;
282
289 virtual double steFrequency() const;
292 virtual void setSTEFrequency(double freq);
293
295 virtual Interval groupCallHangTime() const;
297 virtual void setGroupCallHangTime(Interval sec);
299 virtual Interval privateCallHangTime() const;
301 virtual void setPrivateCallHangTime(Interval sec);
302
304 virtual Interval wakeHeadPeriod() const;
306 virtual void setWakeHeadPeriod(Interval ms);
307
309 virtual unsigned wfmChannelIndex() const;
311 virtual void setWFMChannelIndex(unsigned idx);
313 virtual bool wfmVFOEnabled() const;
315 virtual void enableWFMVFO(bool enable);
316
317 unsigned memoryZoneA() const override;
318 void setMemoryZoneA(unsigned zone) override;
319 unsigned memoryZoneB() const override;
320 void setMemoryZoneB(unsigned zone) override;
321
323 virtual bool wfmEnabled() const;
325 virtual void enableWFM(bool enable);
326
327 bool recording() const override;
328 void enableRecording(bool enable) override;
329
330 unsigned brightness() const override;
331 void setBrightness(unsigned level) override;
332
333 bool gps() const override;
334 void enableGPS(bool enable) override;
335
336 bool smsAlert() const override;
337 void enableSMSAlert(bool enable) override;
338
340 virtual bool wfmMonitor() const;
342 virtual void enableWFMMonitor(bool enable);
343
344 bool activeChannelB() const override;
345 void enableActiveChannelB(bool enable) override;
346
347 bool subChannel() const override;
348 void enableSubChannel(bool enable) override;
349
351 virtual Frequency tbstFrequency() const;
353 virtual void setTBSTFrequency(Frequency freq);
354
355 bool callAlert() const override;
356 void enableCallAlert(bool enable) override;
357
358 QTimeZone gpsTimeZone() const override;
359 void setGPSTimeZone(const QTimeZone &zone) override;
360
361 bool dmrTalkPermit() const override;
362 void enableDMRTalkPermit(bool enable) override;
363 bool fmTalkPermit() const override;
364 void enableFMTalkPermit(bool enable) override;
365 bool dmrResetTone() const override;
366 void enableDMRResetTone(bool enable) override;
367 bool idleChannelTone() const override;
368 void enableIdleChannelTone(bool enable) override;
369
370 Interval menuExitTime() const override;
371 void setMenuExitTime(Interval intv) override;
372
374 virtual bool filterOwnID() const;
376 virtual void enableFilterOwnID(bool enable);
377
378 bool startupTone() const override;
379 void enableStartupTone(bool enable) override;
380
381 bool callEndPrompt() const override;
382 void enableCallEndPrompt(bool enable) override;
383
384 Level maxSpeakerVolume() const override;
385 void setMaxSpeakerVolume(Level level) override;
386
388 virtual bool remoteStunKill() const;
390 virtual void enableRemoteStunKill(bool enable);
391
393 virtual bool remoteMonitor() const;
395 virtual void enableRemoteMonitor(bool enable);
396
397 bool getGPSPosition() const override;
398 void enableGetGPSPosition(bool enable) override;
399
400 Interval longPressDuration() const override;
401 void setLongPressDuration(Interval ms) override;
402
403 bool volumeChangePrompt() const override;
404 void enableVolumeChangePrompt(bool enable) override;
405
408
410 virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const;
412 virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match);
414 virtual bool monitorColorCodeMatch() const;
416 virtual void enableMonitorColorCodeMatch(bool enable);
418 virtual bool monitorIDMatch() const;
420 virtual void enableMonitorIDMatch(bool enable);
422 virtual bool monitorTimeSlotHold() const;
424 virtual void enableMonitorTimeSlotHold(bool enable);
425
426 AnytoneDisplaySettingsExtension::LastCallerDisplayMode lastCallerDisplayMode() const override;
427 void setLastCallerDisplayMode(AnytoneDisplaySettingsExtension::LastCallerDisplayMode mode) override;
428
430 virtual unsigned fmCallHold() const;
432 virtual void setFMCallHold(unsigned sec);
433
434 bool displayClock() const override;
435 void enableDisplayClock(bool enable) override;
436
438 virtual bool gpsMessageEnabled() const;
440 virtual void enableGPSMessage(bool enable);
441
442 bool enhanceAudio() const override;
443 void enableEnhancedAudio(bool enable) override;
444
445 Frequency minVFOScanFrequencyUHF() const override;
446 void setMinVFOScanFrequencyUHF(Frequency hz) override;
447 Frequency maxVFOScanFrequencyUHF() const override;
448 void setMaxVFOScanFrequencyUHF(Frequency hz) override;
449 Frequency minVFOScanFrequencyVHF() const override;
450 void setMinVFOScanFrequencyVHF(Frequency hz) override;
451 Frequency maxVFOScanFrequencyVHF() const override;
452 void setMaxVFOScanFrequencyVHF(Frequency hz) override;
453
454 bool hasAutoRepeaterOffsetFrequencyIndexUHF() const override;
455 unsigned autoRepeaterOffsetFrequencyIndexUHF() const override;
456 void setAutoRepeaterOffsetFrequenyIndexUHF(unsigned idx) override;
458 bool hasAutoRepeaterOffsetFrequencyIndexVHF() const override;
459 unsigned autoRepeaterOffsetFrequencyIndexVHF() const override;
460 void setAutoRepeaterOffsetFrequenyIndexVHF(unsigned idx) override;
462 Frequency autoRepeaterMinFrequencyVHF() const override;
464 Frequency autoRepeaterMaxFrequencyVHF() const override;
466 Frequency autoRepeaterMinFrequencyUHF() const override;
468 Frequency autoRepeaterMaxFrequencyUHF() const override;
470
471 void callToneMelody(Melody &melody) const override;
472 void setCallToneMelody(const Melody &melody) override;
473 void idleToneMelody(Melody &melody) const override;
474 void setIdleToneMelody(const Melody &melody) override;
475 void resetToneMelody(Melody &melody) const override;
476 void setResetToneMelody(const Melody &melody) override;
479 virtual unsigned priorityZoneAIndex() const;
481 virtual void setPriorityZoneAIndex(unsigned idx);
483 virtual unsigned priorityZoneBIndex() const;
485 virtual void setPriorityZoneBIndex(unsigned idx);
486
487 bool displayCall() const override;
488 void enableDisplayCall(bool enable) override;
489
491 virtual bool bluetooth() const;
493 virtual void enableBluetooth(bool enable);
494
496 virtual bool btAndInternalMic() const;
498 virtual void enableBTAndInternalMic(bool enable);
499
501 virtual bool btAndInternalSpeaker() const;
503 virtual void enableBTAndInternalSpeaker(bool enable);
504
506 virtual bool pluginRecTone() const;
508 virtual void enablePluginRecTone(bool enable);
509
511 virtual Interval gpsUpdatePeriod() const;
513 virtual void setGPSUpdatePeriod(Interval sec);
514
516 virtual unsigned int btMicGain() const;
518 virtual void setBTMicGain(unsigned int gain);
520 virtual unsigned int btSpeakerGain() const;
522 virtual void setBTSpeakerGain(unsigned int gain);
523
525 virtual bool displayChannelNumber() const;
527 virtual void enableDisplayChannelNumber(bool enable);
528
529 bool showCurrentContact() const override;
530 void enableShowCurrentContact(bool enable) override;
531
533 virtual Interval autoRoamPeriod() const;
535 virtual void setAutoRoamPeriod(Interval min);
536
537 AnytoneDisplaySettingsExtension::Color callDisplayColor() const override;
538 void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color) override;
539
540 bool gpsUnitsImperial() const override;
541 void enableGPSUnitsImperial(bool enable) override;
542
543 bool knobLock() const override;
544 void enableKnobLock(bool enable) override;
545 bool keypadLock() const override;
546 void enableKeypadLock(bool enable) override;
547 bool sidekeysLock() const override;
548 void enableSidekeysLock(bool enable) override;
549 bool keyLockForced() const override;
550 void enableKeyLockForced(bool enable) override;
551
553 virtual Interval autoRoamDelay() const;
555 virtual void setAutoRoamDelay(Interval sec);
556
558 virtual AnytoneDisplaySettingsExtension::Color standbyTextColor() const;
560 virtual void setStandbyTextColor(AnytoneDisplaySettingsExtension::Color color);
562 virtual AnytoneDisplaySettingsExtension::Color standbyBackgroundColor() const;
564 virtual void setStandbyBackgroundColor(AnytoneDisplaySettingsExtension::Color color);
565
566 bool showLastHeard() const override;
567 void enableShowLastHeard(bool enable) override;
568
570 virtual SMSExtension::Format smsFormat() const;
572 virtual void setSMSFormat(SMSExtension::Format fmt);
573
576
578 virtual bool fmSendIDAndContact() const;
580 virtual void enableFMSendIDAndContact(bool enable);
581
582 bool defaultChannel() const override;
583 void enableDefaultChannel(bool enable) override;
584 unsigned defaultZoneIndexA() const override;
585 void setDefaultZoneIndexA(unsigned idx) override;
586 unsigned defaultZoneIndexB() const override;
587 void setDefaultZoneIndexB(unsigned idx) override;
588 bool defaultChannelAIsVFO() const override;
589 unsigned defaultChannelAIndex() const override;
590 void setDefaultChannelAIndex(unsigned idx) override;
591 void setDefaultChannelAToVFO() override;
592 bool defaultChannelBIsVFO() const override;
593 unsigned defaultChannelBIndex() const override;
594 void setDefaultChannelBIndex(unsigned idx) override;
595 void setDefaultChannelBToVFO() override;
596
598 virtual unsigned defaultRoamingZoneIndex() const;
600 virtual void setDefaultRoamingZoneIndex(unsigned idx);
601
603 virtual bool repeaterRangeCheck() const;
605 virtual void enableRepeaterRangeCheck(bool enable);
607 virtual Interval repeaterRangeCheckInterval() const;
609 virtual void setRepeaterRangeCheckInterval(Interval sec);
611 virtual unsigned repeaterRangeCheckCount() const;
613 virtual void setRepeaterRangeCheckCount(unsigned n);
618
620 virtual bool separateDisplay() const;
622 virtual void enableSeparateDisplay(bool enable);
623
624 bool keepLastCaller() const override;
625 void enableKeepLastCaller(bool enable) override;
626
628 virtual AnytoneDisplaySettingsExtension::Color channelNameColor() const;
630 virtual void setChannelNameColor(AnytoneDisplaySettingsExtension::Color color);
631
633 virtual bool repeaterCheckNotification() const;
635 virtual void enableRepeaterCheckNotification(bool enable);
636
638 virtual bool roaming() const;
640 virtual void enableRoaming(bool enable);
641
672
703
705 virtual unsigned repeaterCheckNumNotifications() const;
707 virtual void setRepeaterCheckNumNotifications(unsigned num);
708
710 virtual Interval txBacklightDuration() const;
712 virtual void setTXBacklightDuration(Interval sec);
713
715 virtual bool btHoldTimeEnabled() const;
717 virtual bool btHoldTimeInfinite() const;
719 virtual Interval btHoldTime() const;
721 virtual void setBTHoldTime(Interval interval);
723 virtual void setBTHoldTimeInfinite();
725 virtual void disableBTHoldTime();
726
728 virtual Interval btRXDelay() const;
730 virtual void setBTRXDelay(Interval delay);
731
732 bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err) override;
733 bool updateConfig(Context &ctx, const ErrorStack &err) override;
734 bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err) override;
735
736 public:
741
742 protected:
746 static constexpr unsigned int enableKeyTone() { return 0x0000; }
747 static constexpr unsigned int transmitTimeout() { return 0x0004; }
748 static constexpr unsigned int language() { return 0x0005; }
749 static constexpr unsigned int vfoStepSize() { return 0x0008; }
750 static constexpr unsigned int vfoScanType() { return 0x000b; }
751 static constexpr unsigned int dmrMicGain() { return 0x000c; }
752 static constexpr unsigned int vfoModeA() { return 0x000d; }
753 static constexpr unsigned int vfoModeB() { return 0x000e; }
754 static constexpr unsigned int steType() { return 0x000f; }
755
756 static constexpr unsigned int steFrequency() { return 0x0010; }
757 static constexpr unsigned int groupCallHangTime() { return 0x0011; }
758 static constexpr unsigned int privateCallHangTime() { return 0x0012; }
759 static constexpr unsigned int preWaveDelay() { return 0x0013; }
760 static constexpr unsigned int wakeHeadPeriod() { return 0x0014; }
761 static constexpr unsigned int wfmChannelIndex() { return 0x0015; }
762 static constexpr unsigned int wfmVFOEnabled() { return 0x0016; }
763 static constexpr unsigned int memZoneA() { return 0x0017; }
764 static constexpr unsigned int memZoneB() { return 0x0018; }
765 static constexpr unsigned int wfmEnable() { return 0x0019; }
766 static constexpr unsigned int enableRecoding() { return 0x001a; }
767 static constexpr unsigned int displayBrightness() { return 0x001d; }
768 static constexpr unsigned int gpsEnable() { return 0x001f; }
769
770 static constexpr unsigned int smsAlert() { return 0x0020; }
771 static constexpr unsigned int wfmMonitor() { return 0x0022; }
772 static constexpr unsigned int activeChannelB() { return 0x0023; }
773 static constexpr unsigned int subChannel() { return 0x0024; }
774 static constexpr unsigned int tbstFrequency() { return 0x0025; }
775 static constexpr unsigned int callAlert() { return 0x0026; }
776 static constexpr unsigned int gpsTimeZone() { return 0x0027; }
777 static constexpr unsigned int talkPermit() { return 0x0028; }
778 static constexpr unsigned int dmrResetTone() { return 0x0029; }
779 static constexpr unsigned int idleChannelTone() { return 0x002a; }
780 static constexpr unsigned int menuExitTime() { return 0x002b; }
781 static constexpr unsigned int filterOwnID() { return 0x002c; }
782 static constexpr unsigned int startupTone() { return 0x002d; }
783 static constexpr unsigned int callEndPrompt() { return 0x002e; }
784 static constexpr unsigned int maxSpeakerVolume() { return 0x002f; }
785
786 static constexpr unsigned int remoteStunKill() { return 0x0030; }
787 static constexpr unsigned int remoteMonitor() { return 0x0031; }
788 static constexpr unsigned int getGPSPosition() { return 0x0032; }
789 static constexpr unsigned int longPressDuration() { return 0x0033; }
790 static constexpr unsigned int volumeChangePrompt() { return 0x0034; }
791 static constexpr unsigned int autoRepeaterDirA() { return 0x0035; }
792 static constexpr unsigned int monSlotMatch() { return 0x0036; }
793 static constexpr unsigned int monColorCodeMatch() { return 0x0037; }
794 static constexpr unsigned int monIDMatch() { return 0x0038; }
795 static constexpr unsigned int monTimeSlotHold() { return 0x0039; }
796 static constexpr unsigned int lastCallerDisplay() { return 0x003a; }
797 static constexpr unsigned int fmCallHold() { return 0x003c; }
798 static constexpr unsigned int showClock() { return 0x003d; }
799 static constexpr unsigned int enableGPSMessage() { return 0x003e; }
800 static constexpr unsigned int enhanceAudio() { return 0x003f; }
801
802 static constexpr unsigned int minVFOScanUHF() { return 0x0040; }
803 static constexpr unsigned int maxVFOScanUHF() { return 0x0044; }
804 static constexpr unsigned int minVFOScanVHF() { return 0x0048; }
805 static constexpr unsigned int maxVFOScanVHF() { return 0x004c; }
806
807 static constexpr unsigned int autoRepMinVHF() { return 0x0050; }
808 static constexpr unsigned int autoRepMaxVHF() { return 0x0054; }
809 static constexpr unsigned int autoRepMinUHF() { return 0x0058; }
810 static constexpr unsigned int autoRepMaxUHF() { return 0x005c; }
811
812 static constexpr unsigned int callToneTones() { return 0x0060; }
813 static constexpr unsigned int callToneDurations() { return 0x006a; }
814 static constexpr unsigned int idleToneTones() { return 0x0074; }
815 static constexpr unsigned int idleToneDurations() { return 0x007e; }
816 static constexpr unsigned int resetToneTones() { return 0x0088; }
817 static constexpr unsigned int resetToneDurations() { return 0x0092; }
818
819 static constexpr unsigned int autoRepOffsetUHF() { return 0x009c; }
820 static constexpr unsigned int autoRepOffsetVHF() { return 0x009d; }
821 static constexpr unsigned int priorityZoneA() { return 0x009f; }
822
823 static constexpr unsigned int priorityZoneB() { return 0x00a0; }
824 static constexpr unsigned int callDisplayMode() { return 0x00a2; }
825 static constexpr unsigned int bluetooth() { return 0x00a4; }
826 static constexpr unsigned int btAndInternalMic() { return 0x00a5; }
827 static constexpr unsigned int btAndInternalSpeaker(){ return 0x00a6; }
828 static constexpr unsigned int pluginRecTone() { return 0x00a7; }
829 static constexpr unsigned int gpsRangingInterval() { return 0x00a8; }
830 static constexpr unsigned int btMicGain() { return 0x00a9; }
831 static constexpr unsigned int btSpeakerGain() { return 0x00aa; }
832 static constexpr unsigned int showChannelNumber() { return 0x00ab; }
833 static constexpr unsigned int showCurrentContact() { return 0x00ac; }
834 static constexpr unsigned int autoRoamPeriod() { return 0x00ad; }
835 static constexpr unsigned int callColor() { return 0x00ae; }
836 static constexpr unsigned int gpsUnits() { return 0x00af; }
837
838 static constexpr Bit knobLock() { return {0x00b0, 0}; }
839 static constexpr Bit keypadLock() { return {0x00b0, 1}; }
840 static constexpr Bit sideKeyLock() { return {0x00b0, 3}; }
841 static constexpr Bit forceKeyLock() { return {0x00b0, 4}; }
842 static constexpr unsigned int autoRoamDelay() { return 0x00b1; }
843 static constexpr unsigned int standbyTextColor() { return 0x00b2; }
844 static constexpr unsigned int standbyBackground() { return 0x00b3; }
845 static constexpr unsigned int showLastHeard() { return 0x00b4; }
846 static constexpr unsigned int smsFormat() { return 0x00b5; }
847 static constexpr unsigned int autoRepeaterDirB() { return 0x00b6; }
848 static constexpr unsigned int fmSendIDAndContact() { return 0x00b7; }
849 static constexpr unsigned int defaultChannels() { return 0x00b8; }
850 static constexpr unsigned int defaultZoneA() { return 0x00b9; }
851 static constexpr unsigned int defaultZoneB() { return 0x00ba; }
852 static constexpr unsigned int defaultChannelA() { return 0x00bb; }
853 static constexpr unsigned int defaultChannelB() { return 0x00bc; }
854 static constexpr unsigned int defaultRoamingZone() { return 0x00bd; }
855 static constexpr unsigned int repRangeCheck() { return 0x00be; }
856 static constexpr unsigned int rangeCheckInterval() { return 0x00bf; }
857
858 static constexpr unsigned int rangeCheckCount() { return 0x00c0; }
859 static constexpr unsigned int roamStartCondition() { return 0x00c1; }
860 static constexpr unsigned int displaySeparator() { return 0x00c3; }
861 static constexpr unsigned int keepLastCaller() { return 0x00c4; }
862 static constexpr unsigned int channelNameColor() { return 0x00c5; }
863 static constexpr unsigned int repCheckNotify() { return 0x00c6; }
864 static constexpr unsigned int txBacklightDuration() { return 0x00c7; }
865 static constexpr unsigned int roaming() { return 0x00c8; }
866 static constexpr unsigned int progFuncKey1Short() { return 0x00c9; }
867 static constexpr unsigned int progFuncKey2Short() { return 0x00ca; }
868 static constexpr unsigned int progFuncKey3Short() { return 0x00cb; }
869 static constexpr unsigned int progFuncKey4Short() { return 0x00cc; }
870 static constexpr unsigned int progFuncKey5Short() { return 0x00cd; }
871 static constexpr unsigned int progFuncKey6Short() { return 0x00ce; }
872 static constexpr unsigned int progFuncKeyAShort() { return 0x00cf; }
873
874 static constexpr unsigned int progFuncKeyBShort() { return 0x00d0; }
875 static constexpr unsigned int progFuncKeyCShort() { return 0x00d1; }
876 static constexpr unsigned int progFuncKeyDShort() { return 0x00d2; }
877 static constexpr unsigned int progFuncKey1Long() { return 0x00d3; }
878 static constexpr unsigned int progFuncKey2Long() { return 0x00d4; }
879 static constexpr unsigned int progFuncKey3Long() { return 0x00d5; }
880 static constexpr unsigned int progFuncKey4Long() { return 0x00d6; }
881 static constexpr unsigned int progFuncKey5Long() { return 0x00d7; }
882 static constexpr unsigned int progFuncKey6Long() { return 0x00d8; }
883 static constexpr unsigned int progFuncKeyALong() { return 0x00d9; }
884 static constexpr unsigned int progFuncKeyBLong() { return 0x00da; }
885 static constexpr unsigned int progFuncKeyCLong() { return 0x00db; }
886 static constexpr unsigned int progFuncKeyDLong() { return 0x00dc; }
887 static constexpr unsigned int repCheckNumNotify() { return 0x00de; }
888
889 static constexpr unsigned int btHoldTime() { return 0x00e1; }
890 static constexpr unsigned int btRXDelay() { return 0x00e2; }
892 };
893 };
894
895
898 {
899 protected:
900 /* Encoding of possible speakers. */
901 enum class Speaker {
902 Microphone=0, Radio=1, Both=2
903 };
904
906 enum class SpeakerSource {
907 MainChannel = 0, SubChannel = 1
908 };
909
911 enum class GPSMode {
912 GPS = 0, Beidou=1, GPS_Beidou=2
913 };
914
916 enum class FanControl {
917 PTT=0, Temperature=1, Both=2
918 };
919
921 enum class MicType {
922 AnyTone = 0, Generic = 1
923 };
924
926 enum class UpDownKeyFunction {
927 Channel = 0, Volume = 1
928 };
929
932 None = 0, VFO_A = 1, VFO_B = 2
933 };
934
937 Any = 0, RX1_TX2 = 1, RX2_TX1 = 2
938 };
939
942 ISO8 = 0, ISO7 = 1, Unicode = 2,
943 };
944
945 protected:
947 ExtendedSettingsElement(uint8_t *ptr, unsigned size);
948
949 public:
951 explicit ExtendedSettingsElement(uint8_t *ptr);
952
954 static constexpr unsigned int size() { return 0x00000200; }
955
957 void clear();
958
960 virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const;
962 virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode);
963
968
970 virtual bool weatherAlarmEnabled() const;
972 virtual void enableWeatherAlarm(bool enable);
973
975 virtual bool repeaterEnabled() const;
977 virtual void enableRepeater(bool enable);
978
983
988
990 virtual GNSSSettings::Systems gnss() const;
992 virtual void setGNSS(GNSSSettings::Systems mode);
993
995 virtual bool bluetoothPTTLatch() const;
997 virtual void enableBluetoothPTTLatch(bool enable);
998
1000 virtual bool infiniteBluetoothPTTSleepDelay() const;
1002 virtual Interval bluetoothPTTSleepDelay() const;
1004 virtual void setBluetoothPTTSleepDelay(Interval delay);
1006 virtual void setInfiniteBluetoothPTTSleepDelay();
1007
1009 virtual AnytoneSettingsExtension::FanControl fanControl() const;
1011 virtual void setFanControl(AnytoneSettingsExtension::FanControl ctrl);
1012
1014 virtual unsigned int weatherChannelIndex() const;
1016 virtual void setWeatherChannelIndex(unsigned int idx);
1017
1019 virtual bool infiniteManDialGroupCallHangTime() const;
1021 virtual Interval manDialGroupCallHangTime() const;
1023 virtual void setManDialGroupCallHangTime(Interval dur);
1026
1028 virtual bool infiniteManDialPrivateCallHangTime() const;
1030 virtual Interval manDialPrivateCallHangTime() const;
1032 virtual void setManDialPrivateCallHangTime(Interval dur);
1035
1044
1045 AnytoneDisplaySettingsExtension::Color channelBNameColor() const;
1046 void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color);
1047
1049 virtual AnytoneDMRSettingsExtension::EncryptionType encryption() const;
1051 virtual void setEncryption(AnytoneDMRSettingsExtension::EncryptionType mode);
1052
1054 virtual bool professionalMode() const;
1056 virtual void enableProfessionalMode(bool enable);
1057
1059 virtual Interval steDuration() const;
1061 virtual void setSTEDuration(Interval dur);
1062
1067
1068 AnytoneDisplaySettingsExtension::Color zoneANameColor() const;
1069 void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color);
1070 AnytoneDisplaySettingsExtension::Color zoneBNameColor() const;
1071 void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color);
1072
1074 virtual bool resetAutoShutdownOnCall() const;
1076 virtual void enableResetAutoShutdownOnCall(bool enable);
1077
1079 virtual bool showColorCode() const;
1081 virtual void enableShowColorCode(bool enable);
1083 virtual bool showTimeSlot() const;
1085 virtual void enableShowTimeSlot(bool enable);
1087 virtual bool showChannelType() const;
1089 virtual void enableShowChannelType(bool enable);
1090
1092 virtual bool fmIdleTone() const;
1094 virtual void enableFMIdleTone(bool enable);
1095
1097 virtual AnytoneDisplaySettingsExtension::DateFormat dateFormat() const;
1099 virtual void setDateFormat(AnytoneDisplaySettingsExtension::DateFormat format);
1100
1102 virtual Level fmMicGain() const;
1104 virtual void setFMMicGain(Level gain);
1105
1118
1131
1133 virtual unsigned int btHandsetMicGain() const;
1135 virtual void setBtHandsetMicGain(unsigned int gain);
1136
1138 virtual Interval btHandsetBacklightDuration() const;
1140 virtual void setBtHandsetBacklightDuration(Interval delay);
1141
1146
1148 virtual bool totNotification() const;
1150 virtual void enableTOTNotification(bool enable);
1151
1153 virtual bool gpsRoaming() const;
1155 virtual void enableGPSRoaming(bool enable);
1156
1161
1170
1172 virtual unsigned int btHandsetSquelch() const;
1174 virtual void setBtHandsetSquelch(unsigned int level);
1175
1177 virtual bool btHandsetAutoPowerOffEnabled() const;
1179 virtual void enableBtHandsetAutoPowerOff(bool enable);
1180
1193
1195 virtual unsigned int btHandsetTxNoiseRedLevel() const;
1197 virtual void setBtHandsetTxNoiseRedLevel(unsigned int level);
1198
1200 virtual unsigned int btHandsetVOXLevel() const;
1202 virtual void setBtHandsetVOXLevel(unsigned int level);
1203
1205 virtual Interval btHandsetVOXDelay() const;
1207 virtual void setBtHandsetVOXDelay(Interval delay);
1208
1210 virtual unsigned int btHandsetVolumeA() const;
1212 virtual void setBtHandsetVolumeA(unsigned int vol);
1214 virtual unsigned int btHandsetVolumeB() const;
1216 virtual void setBtHandsetVolumeB(unsigned int vol);
1217
1219 virtual void callEndToneMelody(Melody &melody) const;
1221 virtual void setCallEndToneMelody(const Melody &melody);
1223 virtual void allCallToneMelody(Melody &melody) const;
1225 virtual void setAllCallToneMelody(const Melody &melody);
1226
1227
1229 virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1231 virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack());
1232
1233 public:
1236 static constexpr unsigned int maxBluetoothPTTSleepDelay() { return 4; }
1237 static constexpr unsigned int maxWeatherChannelIndex() { return 9; }
1238 static constexpr Range<unsigned int> micGain() { return {1,5}; }
1239 };
1240
1241 protected:
1245 static constexpr unsigned int talkerAliasDisplay() { return 0x001e; }
1246 static constexpr unsigned int talkerAliasEncoding() { return 0x001f; }
1247
1248 static constexpr unsigned int weatherAlarm() { return 0x0020; }
1249 static constexpr unsigned int repeater() { return 0x0021; }
1250 static constexpr unsigned int speakers() { return 0x0023; }
1251 static constexpr unsigned int micSpeakerSource() { return 0x0025; }
1252 static constexpr unsigned int gpsMode() { return 0x0026; }
1253 static constexpr unsigned int btPTTLatch() { return 0x0027; }
1254 static constexpr unsigned int btPTTSleepDelay() { return 0x0028; }
1255 static constexpr unsigned int fanControl() { return 0x0029; }
1256 static constexpr unsigned int weatherChannelIndex() { return 0x002a; }
1257 static constexpr unsigned int manGrpCallHangTime() { return 0x002b; }
1258 static constexpr unsigned int manPrivCallHangTime() { return 0x002c; }
1259 static constexpr unsigned int chKnobShortPressFunction() { return 0x002d; }
1260 static constexpr unsigned int chKnobLongPressFunction() { return 0x002e; }
1261 static constexpr unsigned int channelBNameColor() { return 0x002f; }
1262
1263 static constexpr unsigned int encryptionType() { return 0x0030; }
1264 static constexpr unsigned int uiMode() { return 0x0031; }
1265 static constexpr unsigned int steDuration() { return 0x0032; }
1266 static constexpr unsigned int micType() { return 0x0033; }
1267 static constexpr unsigned int zoneANameColor() { return 0x0034; }
1268 static constexpr unsigned int zoneBNameColor() { return 0x0035; }
1269 static constexpr unsigned int autoShutdownMode() { return 0x0036; }
1270 static constexpr Bit displayColorCode() { return {0x003b, 2}; }
1271 static constexpr Bit displayTimeSlot() { return {0x003b, 1}; }
1272 static constexpr Bit displayChannelType() { return {0x003b, 0}; }
1273 static constexpr unsigned int fmIdleTone() { return 0x003c; }
1274 static constexpr unsigned int dateFormat() { return 0x003d; }
1275 static constexpr unsigned int analogMicGain() { return 0x003e; }
1276 static constexpr unsigned int btSK1ShortPressFunction() { return 0x003f; }
1277
1278 static constexpr unsigned int btSK2ShortPressFunction() { return 0x0040; }
1279 static constexpr unsigned int btSK3ShortPressFunction() { return 0x0041; }
1280 static constexpr unsigned int btSK1LongPressFunction() { return 0x0042; }
1281 static constexpr unsigned int btSK2LongPressFunction() { return 0x0043; }
1282 static constexpr unsigned int btSK3LongPressFunction() { return 0x0044; }
1283 static constexpr unsigned int btHSMicGain() { return 0x0045; }
1284 static constexpr unsigned int btHSBacklightDuration() { return 0x0047; }
1285 static constexpr unsigned int upDownKeyFunction() { return 0x0048; }
1286 static constexpr unsigned int totNotification() { return 0x0049; }
1287 static constexpr unsigned int gpsRoaming() { return 0x004a; }
1288 static constexpr unsigned int repeaterColorCode() { return 0x004b; }
1289 static constexpr unsigned int repeaterATimeslot() { return 0x004c; }
1290 static constexpr unsigned int repeaterBTimeslot() { return 0x004d; }
1291 static constexpr unsigned int btHSRxNoiseReduction() { return 0x004e; }
1292 static constexpr unsigned int btHSShutDown() { return 0x004f; }
1293
1294 static constexpr unsigned int btSK1VeryLongPressFunction() { return 0x0050; }
1295 static constexpr unsigned int btSK2VeryLongPressFunction() { return 0x0051; }
1296 static constexpr unsigned int btSK3VeryLongPressFunction() { return 0x0052; }
1297 static constexpr unsigned int btHSTxNoiseReduction() { return 0x0053; }
1298 static constexpr unsigned int btHSVOXLevel() { return 0x0054; }
1299 static constexpr unsigned int btHSVOXDelay() { return 0x0055; }
1300 static constexpr unsigned int btHSVolumeA() { return 0x0056; }
1301 static constexpr unsigned int btHSVolumeB() { return 0x0057; }
1302
1303 static constexpr unsigned int callEndTones() { return 0x0058; }
1304 static constexpr unsigned int callEndDurations() { return 0x0062; }
1305 static constexpr unsigned int allCallTones() { return 0x006c; }
1306 static constexpr unsigned int allCallDurations() { return 0x0076; }
1307 static constexpr unsigned int headerRep() { return 0x0080; }
1309 };
1310 };
1311
1312
1313
1319 {
1320 protected:
1322 HotKeySettingsElement(uint8_t *ptr, size_t size);
1323
1324 public:
1326 HotKeySettingsElement(uint8_t *ptr);
1327
1329 static constexpr unsigned int size() { return 0x0970; }
1330
1331 uint8_t *hotKeySetting(unsigned int n) const;
1332
1333 public:
1335 struct Limit {
1336 static constexpr unsigned int numEntries() { return 24; }
1337 };
1338
1339 };
1340
1346 {
1347 protected:
1349 AirBandChannelElement(uint8_t *ptr, size_t size);
1350
1351 public:
1353 AirBandChannelElement(uint8_t *ptr);
1354
1356 static constexpr unsigned int size() { return 0x0020; }
1357
1359 void clear();
1360
1362 virtual Frequency frequency() const;
1364 virtual void setFrequency(Frequency freq);
1365
1367 virtual QString name() const;
1369 virtual void setName(const QString &name);
1370
1372 virtual bool encode(AMChannel *ch, Context &ctx, const ErrorStack &err=ErrorStack());
1374 virtual AMChannel *decode(Context &ctx, const ErrorStack &err=ErrorStack()) const;
1375
1376 public:
1378 struct Limit {
1379 static constexpr unsigned int nameLength() { return 16; }
1380 };
1381
1382 public:
1384 struct Offset {
1386 static constexpr unsigned int frequency() { return 0x0000; }
1387 static constexpr unsigned int name() { return 0x0004; }
1389 };
1390 };
1391
1395 {
1396 protected:
1398 AirBandBitmapElement(uint8_t *ptr, size_t size);
1399
1400 public:
1402 AirBandBitmapElement(uint8_t *ptr);
1403
1405 static constexpr unsigned int size() { return 0x0020; }
1406 };
1407
1408protected:
1410 explicit D578UVCodeplug(const QString &label, QObject *parent = nullptr);
1411
1412public:
1414 explicit D578UVCodeplug(QObject *parent = nullptr);
1415
1416 Config *preprocess(Config *config, const ErrorStack &err) const override;
1417
1418protected:
1419 bool allocateBitmaps() override;
1420 void setBitmaps(Context &ctx) override;
1421 void allocateForDecoding() override;
1422 void allocateForEncoding() override;
1423
1424 void allocateHotKeySettings() override;
1425
1426 bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) override;
1427 bool createElements(Context &ctx, const ErrorStack &err=ErrorStack()) override;
1428
1429 bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) override;
1430 bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack()) override;
1431 bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack()) override;
1432
1434 virtual bool allocateAirBandChannels();
1436 virtual bool encodeAirBandChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack());
1438 virtual bool createAirBandChannels(Context &ctx, const ErrorStack &err=ErrorStack());
1439
1440 void allocateContacts() override;
1441 bool encodeContacts(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) override;
1442
1443 void allocateGeneralSettings() override;
1444 bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) override;
1445 bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack()) override;
1446 bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack()) override;
1447
1448public:
1452 static constexpr unsigned int airBandChannels() { return 100; }
1453 };
1454
1455protected:
1459 static constexpr unsigned int contactIdTable() { return 0x04800000; }
1460 static constexpr unsigned int settings() { return 0x02500000; }
1461 static constexpr unsigned int gpsMessages() { return 0x02501280; }
1462 static constexpr unsigned int settingsExtension() { return 0x02501400; }
1463 static constexpr unsigned int airBandChannels() { return 0x02BC0000; }
1464 static constexpr unsigned int airBandVFO() { return 0x02BC1000; }
1465 static constexpr unsigned int airBandChannelBitmap() { return 0x02BC1020; }
1466 static constexpr unsigned int airBandScanBitmap() { return 0x02BC1040; }
1468 };
1469};
1470
1471#endif // D578UV_CODEPLUG_HH
Extension to the AnalogChannel class to implement an analog AM channel.
Definition channel.hh:369
HandsetSpeakerSource
Possible handset speaker sources.
Definition anytone_settingsextension.hh:735
HandsetType
Specifies possible handset types.
Definition anytone_settingsextension.hh:741
Speaker
Possible speaker settings.
Definition anytone_settingsextension.hh:729
Direction
Encodes the auto-repeater offset sign.
Definition anytone_settingsextension.hh:966
Represents the base class for the extended settings element in many AnyTone codeplugs.
Definition anytone_codeplug.hh:1339
Represents the base class for the settings elements in all AnyTone codeplugs.
Definition anytone_codeplug.hh:939
Represents the list of hot-key settings for all AnyTone codeplugs.
Definition anytone_codeplug.hh:2089
virtual void clear()
Clears and resets the complete codeplug to some default values.
Definition anytone_codeplug.cc:4533
virtual bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition anytone_codeplug.cc:4544
KeyFunction
All possible key functions.
Definition anytone_settingsextension.hh:197
UpDownKeyFunction
Possible up/down key functions.
Definition anytone_settingsextension.hh:210
TimeSlot
Possible repeater time-slots.
Definition anytone_settingsextension.hh:1692
ColorCode
Possible color code settings.
Definition anytone_settingsextension.hh:1698
RoamStart
Possible roaming start conditions.
Definition anytone_settingsextension.hh:1311
STEType
All possible STE (squelch tail eliminate) types.
Definition anytone_settingsextension.hh:1922
VFOScanType
Encodes the possible VFO scan types.
Definition anytone_settingsextension.hh:1904
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:38
Represents the base class for bitmaps in codeplugs.
Definition codeplug.hh:286
Base class for all codeplug contexts.
Definition codeplug.hh:331
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
The config class, representing the codeplug configuration.
Definition config.hh:70
static constexpr unsigned int size()
The element size.
Definition d578uv_codeplug.hh:1405
AirBandBitmapElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d578uv_codeplug.cc:3254
virtual AMChannel * decode(Context &ctx, const ErrorStack &err=ErrorStack()) const
Decodes the given AM channel.
Definition d578uv_codeplug.cc:3239
virtual bool encode(AMChannel *ch, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the given AM channel.
Definition d578uv_codeplug.cc:3226
virtual QString name() const
The name of the channel.
Definition d578uv_codeplug.cc:3215
virtual Frequency frequency() const
The channel frequency.
Definition d578uv_codeplug.cc:3204
virtual void setName(const QString &name)
Sets the name of the channel.
Definition d578uv_codeplug.cc:3220
virtual void setFrequency(Frequency freq)
Sets the channel frequency.
Definition d578uv_codeplug.cc:3209
static constexpr unsigned int size()
The size of the element.
Definition d578uv_codeplug.hh:1356
AirBandChannelElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d578uv_codeplug.cc:3183
void clear()
Resets the element.
Definition d578uv_codeplug.cc:3198
void enableMultipleKeyEncryption(bool enable) override
Enables/disables multiple key encryption.
Definition d578uv_codeplug.cc:80
bool sms() const override
Returns true if SMS is enabled.
Definition d578uv_codeplug.cc:97
AdvancedEncryptionType advancedEncryptionType() const override
Returns the encryption type.
Definition d578uv_codeplug.cc:142
virtual void clearAnalogScambler()
Disables the scambler.
Definition d578uv_codeplug.cc:195
void clearARC4EncryptionKeyIndex() override
Clears the ARC4 encryption key index.
Definition d578uv_codeplug.cc:228
FMScramblerFrequency
Possible FM scrambler carrier frequencies.
Definition d578uv_codeplug.hh:60
virtual void enableNoiseReduction(bool enable)
Enables/disables noise reduction.
Definition d578uv_codeplug.cc:69
bool fromChannelObj(const Channel *ch, Context &ctx) override
Initializes this codeplug channel from the given generic configuration.
Definition d578uv_codeplug.cc:261
void setFMAPRSFrequencyIndex(unsigned int idx) override
Sets the FM APRS frequency index [0,7].
Definition d578uv_codeplug.cc:207
virtual Frequency analogScramblerFrequency() const
If enabled, returns the analog scrambler frequency.
Definition d578uv_codeplug.cc:158
virtual bool noiseReductionEnabled() const
Returns true if noise reduction is enabled.
Definition d578uv_codeplug.cc:64
unsigned int fmAPRSFrequencyIndex() const override
Returns the index of the FM APRS frequency [0,7].
Definition d578uv_codeplug.cc:202
bool randomKey() const override
Returns true if random key is enabled.
Definition d578uv_codeplug.cc:86
Channel * toChannelObj(Context &ctx) const override
Constructs a generic Channel object from the codeplug channel.
Definition d578uv_codeplug.cc:234
bool multipleKeyEncryption() const override
Returns true if multiple key encryption is enabled.
Definition d578uv_codeplug.cc:75
bool sendTalkerAlias() const override
If set, transmission of talker alias for this channel is enabled.
Definition d578uv_codeplug.cc:131
void enableSMS(bool enable) override
Enables/disables SMS.
Definition d578uv_codeplug.cc:102
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:223
virtual void setAnalogScamberFrequency(Frequency f)
Sets the analog scambler frequency and enables the scrambler.
Definition d578uv_codeplug.cc:179
void setEncryptionType(AdvancedEncryptionType type) override
Sets the encryptionType.
Definition d578uv_codeplug.cc:147
bool roamingEnabled() const override
Returns true if roaming is enabled.
Definition d578uv_codeplug.cc:40
virtual void setInterruptPriority(InterruptPriority pri)
Sets the interrupt priority.
Definition d578uv_codeplug.cc:58
virtual void enableBluetooth(bool enable)
Enables/disables hands-free.
Definition d578uv_codeplug.cc:34
void enableDataACK(bool enable) override
Enables/disables data ACK.
Definition d578uv_codeplug.cc:114
bool dataACK() const override
Returns true if data ACK is enabled.
Definition d578uv_codeplug.cc:108
void enableSendTalkerAlias(bool enable) override
Enable transmission of talker alias.
Definition d578uv_codeplug.cc:136
void enableAutoScan(bool enable) override
Enable/disable auto scan.
Definition d578uv_codeplug.cc:126
bool autoScan() const override
Returns true, if auto scan is enabled.
Definition d578uv_codeplug.cc:121
unsigned int arc4EncryptionKeyIndex() const override
Returns the ARC4 encryption key index.
Definition d578uv_codeplug.cc:218
void enableRoaming(bool enable) override
Enables/disables roaming.
Definition d578uv_codeplug.cc:46
bool hasARC4EncryptionKeyIndex() const override
Returns true, if an ARC4 encryption key index is set.
Definition d578uv_codeplug.cc:213
virtual bool bluetoothEnabled() const
Returns true if bluetooth hands-free is enabled.
Definition d578uv_codeplug.cc:30
virtual InterruptPriority interruptPriority() const
Returns the interrupt priority.
Definition d578uv_codeplug.cc:53
virtual bool analogScamblerEnabled() const
Returns true if the analog scambler is enabled.
Definition d578uv_codeplug.cc:153
void enableRandomKey(bool enable) override
Enables/disables random key.
Definition d578uv_codeplug.cc:91
ChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d578uv_codeplug.cc:16
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:318
virtual unsigned int fiveToneIdIndexEOT() const
Returns the index of the 5-tone ID send at the end of the transmission.
Definition d578uv_codeplug.cc:324
ChannelExtensionElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d578uv_codeplug.cc:292
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:329
static constexpr unsigned int size()
Returns the size of the element.
Definition d578uv_codeplug.hh:178
virtual unsigned int fiveToneIdIndexBOT() const
Returns the index of the 5-tone ID send at the start of the transmission.
Definition d578uv_codeplug.cc:313
virtual void setMicType(AnytoneAudioSettingsExtension::HandsetType type)
Sets the microphone type.
Definition d578uv_codeplug.cc:2448
virtual Interval manDialGroupCallHangTime() const
Returns the manual dial group call hang time.
Definition d578uv_codeplug.cc:2319
virtual void setInfiniteBluetoothPTTSleepDelay()
Sets the bluetooth PTT sleep delay to infinite/disabled.
Definition d578uv_codeplug.cc:2271
virtual void setSpeaker(AnytoneAudioSettingsExtension::Speaker speaker)
Sets the speaker setting.
Definition d578uv_codeplug.cc:2188
virtual void setBtSK1ShortPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK1 short-press function of the BT handset.
Definition d578uv_codeplug.cc:2562
virtual AnytoneAudioSettingsExtension::Speaker speaker() const
Returns the speaker setting.
Definition d578uv_codeplug.cc:2178
AnytoneDisplaySettingsExtension::Color zoneBNameColor() const
Returns the color of the zone name for VFO B.
Definition d578uv_codeplug.cc:2471
void setZoneANameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO A.
Definition d578uv_codeplug.cc:2466
virtual bool resetAutoShutdownOnCall() const
Returns true if the auto-shutdown timer is reset on a call.
Definition d578uv_codeplug.cc:2482
virtual AnytoneRepeaterSettingsExtension::TimeSlot repTimeSlotBMatch() const
Returns the repeater timeslots for VFO B.
Definition d578uv_codeplug.cc:2760
virtual void setMicSpeakerSource(AnytoneAudioSettingsExtension::HandsetSpeakerSource source)
Sets the microphone-speaker source.
Definition d578uv_codeplug.cc:2215
virtual bool infiniteManDialPrivateCallHangTime() const
Returns true if the manual dialed private call hang time is infinite.
Definition d578uv_codeplug.cc:2345
virtual void setBtSK1LongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK1 long-press function of the BT handset.
Definition d578uv_codeplug.cc:2592
virtual void setBtHandsetSquelch(unsigned int level)
Sets the BT handset squelch level [0, 1-10].
Definition d578uv_codeplug.cc:2794
virtual unsigned int btHandsetMicGain() const
Returns the BT handset mic gain [1-10].
Definition d578uv_codeplug.cc:2618
virtual AnytoneKeySettingsExtension::UpDownKeyFunction micUpDownKeyFunction() const
Returns the function of up/down keys on microphone.
Definition d578uv_codeplug.cc:2664
virtual void enableTOTNotification(bool enable)
Enables/disables transmit timeout notification.
Definition d578uv_codeplug.cc:2691
virtual void setBtSK3ShortPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK3 short-press function of the BT handset.
Definition d578uv_codeplug.cc:2582
virtual void setBtHandsetVolumeB(unsigned int vol)
Sets the BF handset volume for VFO B [0,1,10].
Definition d578uv_codeplug.cc:2908
virtual AnytoneKeySettingsExtension::KeyFunction btSK1LongPressFunction() const
Returns the lone-press function for SK1 of the BT handset.
Definition d578uv_codeplug.cc:2587
virtual void enableShowColorCode(bool enable)
Enables/disables display of color code.
Definition d578uv_codeplug.cc:2498
virtual Interval bluetoothPTTSleepDelay() const
Returns the bluetooth PTT sleep delay in minutes, 0=off.
Definition d578uv_codeplug.cc:2262
virtual DMRSettings::TalkerAliasEncoding talkerAliasEncoding() const
Returns the talker alias encoding.
Definition d578uv_codeplug.cc:2131
virtual void setChKnobShortPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the channel knob short-press function.
Definition d578uv_codeplug.cc:2381
virtual bool repeaterEnabled() const
Returns true if the repeater function is enabled.
Definition d578uv_codeplug.cc:2167
virtual Interval manDialPrivateCallHangTime() const
Returns the manual dial private call hang time.
Definition d578uv_codeplug.cc:2350
UpDownKeyFunction
Encoding of up/down key functions.
Definition d578uv_codeplug.hh:926
virtual void setBtSK1VeryLongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK1 very-long-press function of the BT handset.
Definition d578uv_codeplug.cc:2820
virtual void setFanControl(AnytoneSettingsExtension::FanControl ctrl)
Sets the fan-control setting.
Definition d578uv_codeplug.cc:2287
virtual void setGNSS(GNSSSettings::Systems mode)
Sets the GPS mode.
Definition d578uv_codeplug.cc:2238
virtual void setBluetoothPTTSleepDelay(Interval delay)
Sets the bluetooth PTT sleep delay in minutes.
Definition d578uv_codeplug.cc:2266
SpeakerSource
Encoding of microphone-speaker source.
Definition d578uv_codeplug.hh:906
void clear()
Resets the settings.
Definition d578uv_codeplug.cc:2115
virtual void setEncryption(AnytoneDMRSettingsExtension::EncryptionType mode)
Sets the encryption mode.
Definition d578uv_codeplug.cc:2411
virtual Interval btHandsetVOXDelay() const
Returns the VOX delay for the BT handset.
Definition d578uv_codeplug.cc:2875
virtual void setBtSK2LongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK2 long-press function of the BT handset.
Definition d578uv_codeplug.cc:2602
virtual void setFMMicGain(Level gain)
Sets the analog mic gain [1,10].
Definition d578uv_codeplug.cc:2551
FanControl
Encoding of possible fan-control settings.
Definition d578uv_codeplug.hh:916
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Update config from settings.
Definition d578uv_codeplug.cc:3059
virtual void setWeatherChannelIndex(unsigned int idx)
Sets the weather channel index.
Definition d578uv_codeplug.cc:2308
virtual void enableGPSRoaming(bool enable)
Enables/disables GPS roaming.
Definition d578uv_codeplug.cc:2702
virtual bool fmIdleTone() const
Returns true if the FM idle channel tone is enabled.
Definition d578uv_codeplug.cc:2524
virtual bool showChannelType() const
Returns true if the channel type is shown.
Definition d578uv_codeplug.cc:2513
virtual void setBtHandsetVOXDelay(Interval delay)
Sets the VOX delay for the BT handset.
Definition d578uv_codeplug.cc:2880
virtual Interval steDuration() const
Returns the STE (squelch tail elimination) duration.
Definition d578uv_codeplug.cc:2428
virtual AnytoneSettingsExtension::FanControl fanControl() const
Returns the fan-control setting.
Definition d578uv_codeplug.cc:2277
virtual AnytoneAudioSettingsExtension::HandsetType micType() const
Returns the microphone type.
Definition d578uv_codeplug.cc:2439
virtual AnytoneKeySettingsExtension::KeyFunction btSK3LongPressFunction() const
Returns the long-press function for SK3 of the BT handset.
Definition d578uv_codeplug.cc:2607
virtual AnytoneDMRSettingsExtension::EncryptionType encryption() const
Returns the encryption mode.
Definition d578uv_codeplug.cc:2407
virtual unsigned int weatherChannelIndex() const
Returns the weather channel index.
Definition d578uv_codeplug.cc:2303
virtual void setBtSK2VeryLongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK2 very-long-press function of the BT handset.
Definition d578uv_codeplug.cc:2830
virtual void setRepTimeSlotBMatch(AnytoneRepeaterSettingsExtension::TimeSlot mode)
Sets the repeater timeslots for VFO B.
Definition d578uv_codeplug.cc:2770
virtual AnytoneKeySettingsExtension::KeyFunction chKnobShortPressFunction() const
Returns the short-press function for the channel knob.
Definition d578uv_codeplug.cc:2376
virtual Level fmMicGain() const
Returns the FM Mic gain [1,10].
Definition d578uv_codeplug.cc:2546
virtual void setManDialGroupCallHangTime(Interval dur)
Sets the manual dial group call hang time.
Definition d578uv_codeplug.cc:2329
TalkerAliasEncoding
Talker alias encoding.
Definition d578uv_codeplug.hh:941
virtual bool totNotification() const
Returns true if the transmit timeout notification is enabled.
Definition d578uv_codeplug.cc:2686
virtual void setTalkerAliasSource(AnytoneDMRSettingsExtension::TalkerAliasSource mode)
Sets the talker alias source.
Definition d578uv_codeplug.cc:2125
virtual AnytoneKeySettingsExtension::KeyFunction btSK2ShortPressFunction() const
Returns the short-press function for SK2 of the BT handset.
Definition d578uv_codeplug.cc:2567
virtual void callEndToneMelody(Melody &melody) const
Returns the call-end tone melody.
Definition d578uv_codeplug.cc:2914
virtual void enableShowTimeSlot(bool enable)
Enables/disables display of time slot.
Definition d578uv_codeplug.cc:2508
virtual Interval btHandsetBacklightDuration() const
Returns the bluetooth handset backlight duration.
Definition d578uv_codeplug.cc:2630
virtual void enableShowChannelType(bool enable)
Enables/disables display of channel type.
Definition d578uv_codeplug.cc:2518
virtual bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the settings from the config.
Definition d578uv_codeplug.cc:2957
virtual bool showColorCode() const
Returns true if the color code is shown.
Definition d578uv_codeplug.cc:2493
virtual AnytoneRepeaterSettingsExtension::ColorCode repColorCodeMatch() const
Returns the repeater colorcode match mode.
Definition d578uv_codeplug.cc:2708
virtual AnytoneKeySettingsExtension::KeyFunction chKnobLongPressFunction() const
Returns the long-press function for the channel knob.
Definition d578uv_codeplug.cc:2386
RepeaterColorCodeMatch
Encoding of repeater color code match.
Definition d578uv_codeplug.hh:931
virtual void enableFMIdleTone(bool enable)
Enables/disables FM idle channel tone.
Definition d578uv_codeplug.cc:2529
virtual AnytoneKeySettingsExtension::KeyFunction btSK1ShortPressFunction() const
Returns the short-press function for SK1 of the BT handset.
Definition d578uv_codeplug.cc:2557
virtual void setManDialPrivateCallHangTime(Interval dur)
Sets the manual dial private call hang time.
Definition d578uv_codeplug.cc:2360
virtual unsigned int btHandsetTxNoiseRedLevel() const
Returns the BT handset TX noise reduction level [0,1-10].
Definition d578uv_codeplug.cc:2846
GPSMode
Encoding of possible GPS modes.
Definition d578uv_codeplug.hh:911
virtual bool professionalMode() const
Returns true if the professional mode is enabled.
Definition d578uv_codeplug.cc:2417
virtual bool showTimeSlot() const
Returns true if the time slot is shown.
Definition d578uv_codeplug.cc:2503
virtual AnytoneKeySettingsExtension::KeyFunction btSK2LongPressFunction() const
Returns the long-press function for SK2 of the BT handset.
Definition d578uv_codeplug.cc:2597
virtual AnytoneRepeaterSettingsExtension::TimeSlot repTimeSlotAMatch() const
Returns the repeater timeslots for VFO A.
Definition d578uv_codeplug.cc:2734
virtual void setBtSK2ShortPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK2 short-press function of the BT handset.
Definition d578uv_codeplug.cc:2572
virtual unsigned int btHandsetVOXLevel() const
Returns the BT handset VOX level [0,1-10].
Definition d578uv_codeplug.cc:2863
virtual void allCallToneMelody(Melody &melody) const
Returns the all-call tone melody.
Definition d578uv_codeplug.cc:2935
static constexpr unsigned int size()
Returns the size of the element.
Definition d578uv_codeplug.hh:954
virtual void setBtSK3LongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK3 long-press function of the BT handset.
Definition d578uv_codeplug.cc:2612
virtual void setCallEndToneMelody(const Melody &melody)
Sets the call-end tone melody.
Definition d578uv_codeplug.cc:2925
virtual bool btHandsetAutoPowerOffEnabled() const
If true, the BT handset to shut off automatically, if the device powers down.
Definition d578uv_codeplug.cc:2804
virtual bool infiniteBluetoothPTTSleepDelay() const
Returns true if the bluetooth PTT sleep delay is disabled (infinite).
Definition d578uv_codeplug.cc:2258
virtual bool infiniteManDialGroupCallHangTime() const
Returns true if the manual dialed group call hang time is infinite.
Definition d578uv_codeplug.cc:2314
virtual unsigned int btHandsetVolumeB() const
Returns the BT handset volume for VFO B [0,1,10].
Definition d578uv_codeplug.cc:2900
virtual AnytoneAudioSettingsExtension::HandsetSpeakerSource micSpeakerSource() const
Returns the microphone-speaker source.
Definition d578uv_codeplug.cc:2204
virtual void setBtHandsetMicGain(unsigned int gain)
Sets the BT handset mic gain.
Definition d578uv_codeplug.cc:2623
void setZoneBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the zone name color for the VFO B.
Definition d578uv_codeplug.cc:2476
virtual void enableBtHandsetAutoPowerOff(bool enable)
Enables/disables the BT handset to shut off automatically, if the device powers down.
Definition d578uv_codeplug.cc:2809
virtual void setRepTimeSlotAMatch(AnytoneRepeaterSettingsExtension::TimeSlot mode)
Sets the repeater timeslots for VFO A.
Definition d578uv_codeplug.cc:2744
virtual void enableProfessionalMode(bool enable)
Enables/disables professional mode.
Definition d578uv_codeplug.cc:2422
virtual void enableBluetoothPTTLatch(bool enable)
Enables/disables bluetooth PTT latch.
Definition d578uv_codeplug.cc:2253
virtual void setBtHandsetVolumeA(unsigned int vol)
Sets the BF handset volume for VFO A [0,1,10].
Definition d578uv_codeplug.cc:2895
virtual void setSTEDuration(Interval dur)
Sets the STE (squelch tail elimination) duration.
Definition d578uv_codeplug.cc:2432
virtual void setBtHandsetVOXLevel(unsigned int level)
Sets the BT handset VOX level [0,1-10].
Definition d578uv_codeplug.cc:2868
virtual void enableRepeater(bool enable)
Enables/disables the repeater function.
Definition d578uv_codeplug.cc:2172
virtual void setBtHandsetTxNoiseRedLevel(unsigned int level)
Sets the BT handset TX noise reduction level [0,1-10].
Definition d578uv_codeplug.cc:2853
virtual bool weatherAlarmEnabled() const
Returns true if the weather alarm is enabled.
Definition d578uv_codeplug.cc:2156
virtual void setManDialGroupCallHangTimeInfinite()
Sets the manual dial group call hang time to infinite.
Definition d578uv_codeplug.cc:2339
virtual void setAllCallToneMelody(const Melody &melody)
Sets the all-call tone melody.
Definition d578uv_codeplug.cc:2946
virtual AnytoneKeySettingsExtension::KeyFunction btSK1VeryLongPressFunction() const
Returns the very-long-press function for SK1 of the BT handset.
Definition d578uv_codeplug.cc:2815
virtual unsigned int btHandsetVolumeA() const
Returns the BT handset volume for VFO A [0,1,10].
Definition d578uv_codeplug.cc:2887
virtual void enableWeatherAlarm(bool enable)
Enables/disables the weather alarm.
Definition d578uv_codeplug.cc:2161
virtual AnytoneDisplaySettingsExtension::DateFormat dateFormat() const
Returns the date format.
Definition d578uv_codeplug.cc:2535
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:2370
virtual AnytoneKeySettingsExtension::KeyFunction btSK3VeryLongPressFunction() const
Returns the very-long-press function for SK3 of the BT handset.
Definition d578uv_codeplug.cc:2835
virtual AnytoneDMRSettingsExtension::TalkerAliasSource talkerAliasSource() const
Returns the talker alias source.
Definition d578uv_codeplug.cc:2121
virtual void setDateFormat(AnytoneDisplaySettingsExtension::DateFormat format)
Sets the date format.
Definition d578uv_codeplug.cc:2540
virtual unsigned int btHandsetSquelch() const
Returns the BT handset squelch level [0, 1-10].
Definition d578uv_codeplug.cc:2787
virtual void setMicUpDownKeyFunction(AnytoneKeySettingsExtension::UpDownKeyFunction func)
Sets the microphone up/down key function.
Definition d578uv_codeplug.cc:2673
virtual void setRepColorCodeMatch(AnytoneRepeaterSettingsExtension::ColorCode mode)
Sets the repeater colorcode match mode.
Definition d578uv_codeplug.cc:2718
virtual void setBtHandsetBacklightDuration(Interval delay)
Sets the bluetooth handset backlight duration.
Definition d578uv_codeplug.cc:2650
AnytoneDisplaySettingsExtension::Color zoneANameColor() const
Returns the color of the zone name for VFO A.
Definition d578uv_codeplug.cc:2461
void setChannelBNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color for the VFO B.
Definition d578uv_codeplug.cc:2401
virtual void enableResetAutoShutdownOnCall(bool enable)
Enables/disables reset on call of the auto-shutdown timer.
Definition d578uv_codeplug.cc:2487
RepeaterTimeSlotMatch
Encoding of repeater timeslot match.
Definition d578uv_codeplug.hh:936
virtual AnytoneKeySettingsExtension::KeyFunction btSK2VeryLongPressFunction() const
Returns the very-long-press function for SK2 of the BT handset.
Definition d578uv_codeplug.cc:2825
virtual void setChKnobLongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the channel knob long-press function.
Definition d578uv_codeplug.cc:2391
virtual bool gpsRoaming() const
Returns true if the GPS roaming is enabled.
Definition d578uv_codeplug.cc:2697
MicType
Possible mic types.
Definition d578uv_codeplug.hh:921
AnytoneDisplaySettingsExtension::Color channelBNameColor() const
Returns the color of the channel name for VFO B.
Definition d578uv_codeplug.cc:2396
virtual GNSSSettings::Systems gnss() const
Returns the GPS mode.
Definition d578uv_codeplug.cc:2228
virtual void setBtSK3VeryLongPressFunction(AnytoneKeySettingsExtension::KeyFunction func)
Sets the SK3 very-long-press function of the BT handset.
Definition d578uv_codeplug.cc:2840
virtual bool bluetoothPTTLatch() const
Returns true if the BT PTT latch is enabled.
Definition d578uv_codeplug.cc:2249
virtual AnytoneKeySettingsExtension::KeyFunction btSK3ShortPressFunction() const
Returns the short-press function for SK3 of the BT handset.
Definition d578uv_codeplug.cc:2577
virtual void setTalkerAliasEncoding(DMRSettings::TalkerAliasEncoding encoding)
Sets the talker alias encoding.
Definition d578uv_codeplug.cc:2140
virtual AnytoneKeySettingsExtension::KeyFunction funcKey6Long() const
Returns the function for programmable function key 6 long press.
Definition d578uv_codeplug.cc:1741
virtual void setWFMChannelIndex(unsigned idx)
Sets the wide-FM (broadcast) channel index.
Definition d578uv_codeplug.cc:677
AnytoneDisplaySettingsExtension::Color callDisplayColor() const override
Returns the display color for callsigns.
Definition d578uv_codeplug.cc:1323
virtual bool gpsMessageEnabled() const
Returns true if the GPS range reporting is enabled.
Definition d578uv_codeplug.cc:1023
virtual unsigned defaultRoamingZoneIndex() const
Returns the default roaming zone index.
Definition d578uv_codeplug.cc:1516
Level maxSpeakerVolume() const override
Returns the maximum volume.
Definition d578uv_codeplug.cc:897
void enableDisplayCall(bool enable) override
Enables/disables call display.
Definition d578uv_codeplug.cc:1226
void setDefaultZoneIndexB(unsigned idx) override
Sets the default zone (0-based) for VFO B.
Definition d578uv_codeplug.cc:1477
void setFuncKeyBShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 2/B.
Definition d578uv_codeplug.cc:1673
virtual void setPrivateCallHangTime(Interval sec)
Sets the private call hang time in seconds.
Definition d578uv_codeplug.cc:659
AnytoneKeySettingsExtension::KeyFunction funcKeyCLong() const override
Returns the key function for a long press on the function key 3.
Definition d578uv_codeplug.cc:1768
virtual bool monitorColorCodeMatch() const
Returns true if the monitor matches color code.
Definition d578uv_codeplug.cc:969
Interval longPressDuration() const override
Returns the long-press duration in ms.
Definition d578uv_codeplug.cc:933
bool subChannel() const override
Returns true if sub channel is enabled.
Definition d578uv_codeplug.cc:773
bool dmrTalkPermit() const override
Returns true if the talk permit tone is enabled for digital channels.
Definition d578uv_codeplug.cc:825
unsigned autoRepeaterOffsetFrequencyIndexVHF() const override
Returns the auto-repeater offset frequency index for UHF.
Definition d578uv_codeplug.cc:1098
virtual void enableRepeaterRangeCheck(bool enable)
Enables/disables repeater range check.
Definition d578uv_codeplug.cc:1529
unsigned defaultZoneIndexA() const override
Returns the default zone index (0-based) for VFO A.
Definition d578uv_codeplug.cc:1464
virtual unsigned int btMicGain() const
Returns the bluetooth microphone gain [1,10].
Definition d578uv_codeplug.cc:1276
void setMaxVFOScanFrequencyUHF(Frequency hz) override
Sets the maximum VFO scan frequency for the UHF band in Hz.
Definition d578uv_codeplug.cc:1054
bool hasAutoRepeaterOffsetFrequencyIndexVHF() const override
Returns true if the auto-repeater offset frequency for VHF is set.
Definition d578uv_codeplug.cc:1094
unsigned memoryZoneB() const override
Returns the memory zone for VFO B.
Definition d578uv_codeplug.cc:700
void enableShowCurrentContact(bool enable) override
Enables/disables display of current contact.
Definition d578uv_codeplug.cc:1309
virtual void setAutoRoamDelay(Interval sec)
Sets the auto-roam delay in seconds.
Definition d578uv_codeplug.cc:1378
void setFuncKey1Short(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 1.
Definition d578uv_codeplug.cc:1610
QTimeZone gpsTimeZone() const override
Returns the GPS time zone.
Definition d578uv_codeplug.cc:816
bool recording() const override
Returns true if recording is enabled.
Definition d578uv_codeplug.cc:718
void resetToneMelody(Melody &melody) const override
Returns the reset-tone melody.
Definition d578uv_codeplug.cc:1185
void setCallDisplayColor(AnytoneDisplaySettingsExtension::Color color) override
Sets the display color for callsigns.
Definition d578uv_codeplug.cc:1327
AnytoneKeySettingsExtension::KeyFunction funcKeyAShort() const override
Returns the key function for a short press on the function key 1/A.
Definition d578uv_codeplug.cc:1660
virtual void enableDisplayChannelNumber(bool enable)
Enables/disables display of channel number.
Definition d578uv_codeplug.cc:1300
AnytoneKeySettingsExtension::KeyFunction funcKey2Short() const override
Returns the key function for a short press on the function key 2.
Definition d578uv_codeplug.cc:1615
Frequency minVFOScanFrequencyVHF() const override
Returns the minimum VFO scan frequency for the VHF band in Hz.
Definition d578uv_codeplug.cc:1059
virtual void setSMSFormat(SMSExtension::Format fmt)
Sets the SMS format.
Definition d578uv_codeplug.cc:1421
void setAutoRepeaterMaxFrequencyVHF(Frequency Hz) override
Sets the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition d578uv_codeplug.cc:1123
virtual void enableRemoteMonitor(bool enable)
Enables/disables remote monitor.
Definition d578uv_codeplug.cc:919
virtual void enableRepeaterCheckNotification(bool enable)
Enables/disables repeater check notification.
Definition d578uv_codeplug.cc:1592
void setBrightness(unsigned level) override
Sets the display brightness.
Definition d578uv_codeplug.cc:732
void setDefaultChannelAIndex(unsigned idx) override
Sets the default channel index for VFO A.
Definition d578uv_codeplug.cc:1490
void setFuncKeyBLong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 2.
Definition d578uv_codeplug.cc:1763
void enableIdleChannelTone(bool enable) override
Enables/disables the idle channel tone.
Definition d578uv_codeplug.cc:856
virtual Interval wakeHeadPeriod() const
Returns the wake head-period in ms.
Definition d578uv_codeplug.cc:664
unsigned defaultZoneIndexB() const override
Returns the default zone index (0-based) for VFO B.
Definition d578uv_codeplug.cc:1473
AnytoneKeySettingsExtension::KeyFunction funcKeyBShort() const override
Returns the key function for a short press on the function key 2/B.
Definition d578uv_codeplug.cc:1669
virtual void enableWFMMonitor(bool enable)
Enables/disables WFM monitor.
Definition d578uv_codeplug.cc:759
void enableKeypadLock(bool enable) override
Enables/disables the keypad lock.
Definition d578uv_codeplug.cc:1353
virtual Interval autoRoamDelay() const
Returns the auto-roam delay in seconds.
Definition d578uv_codeplug.cc:1374
virtual void setBTHoldTime(Interval interval)
Sets the Bluetooth hold time (1-120s).
Definition d578uv_codeplug.cc:1825
virtual void setFuncKey5Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 5 short press.
Definition d578uv_codeplug.cc:1646
bool startupTone() const override
Returns true if the startup tone is enabled.
Definition d578uv_codeplug.cc:879
virtual void setFuncKeyDLong(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key D long press.
Definition d578uv_codeplug.cc:1781
virtual AnytoneKeySettingsExtension::KeyFunction funcKey6Short() const
Returns the function for programmable function key 6 short press.
Definition d578uv_codeplug.cc:1651
bool displayClock() const override
Returns true if the clock is shown.
Definition d578uv_codeplug.cc:1014
virtual AnytoneDMRSettingsExtension::SlotMatch monitorSlotMatch() const
Returns the monitor slot match.
Definition d578uv_codeplug.cc:960
void clearAutoRepeaterOffsetFrequencyIndexVHF() override
Clears the auto-repeater offset frequency index for VHF.
Definition d578uv_codeplug.cc:1106
virtual void setBTHoldTimeInfinite()
Sets the Bluetooth hold time to infinite.
Definition d578uv_codeplug.cc:1831
SMSFormat
Possible SMS formats.
Definition d578uv_codeplug.hh:238
void enableDMRTalkPermit(bool enable) override
Enables/disables the talk permit tone for digital channels.
Definition d578uv_codeplug.cc:829
virtual bool wfmEnabled() const
Returns true, if the WFM/Airband receiver is enabled.
Definition d578uv_codeplug.cc:709
virtual void enableMonitorIDMatch(bool enable)
Enables/disables monitor ID match.
Definition d578uv_codeplug.cc:982
bool showCurrentContact() const override
Returns true if the current contact is shown.
Definition d578uv_codeplug.cc:1305
void setDefaultChannelAToVFO() override
Sets the default channel for VFO A to be VFO.
Definition d578uv_codeplug.cc:1494
virtual void setFuncKey5Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 5 long press.
Definition d578uv_codeplug.cc:1736
STEFrequency
All possible STE (squelch tail eliminate) frequencies.
Definition d578uv_codeplug.hh:227
virtual AnytoneRoamingSettingsExtension::RoamStart roamingStartCondition() const
Returns the roaming start condition.
Definition d578uv_codeplug.cc:1552
virtual void enableFilterOwnID(bool enable)
Enables/disables filter of own ID in call lists.
Definition d578uv_codeplug.cc:874
void setDefaultChannelBToVFO() override
Sets the default channel for VFO B to be VFO.
Definition d578uv_codeplug.cc:1511
virtual void setStandbyBackgroundColor(AnytoneDisplaySettingsExtension::Color color)
Sets the standby image color.
Definition d578uv_codeplug.cc:1396
AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionB() const override
Returns the auto-repeater direction for VFO B.
Definition d578uv_codeplug.cc:1437
virtual void setFuncKey6Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 6 short press.
Definition d578uv_codeplug.cc:1655
virtual bool wfmVFOEnabled() const
Returns true if the WFM RX is in VFO mode.
Definition d578uv_codeplug.cc:682
virtual Interval autoRoamPeriod() const
Returns the auto roaming period in minutes.
Definition d578uv_codeplug.cc:1314
virtual void enableBluetooth(bool enable)
Enables/disables bluetooth.
Definition d578uv_codeplug.cc:1235
void setCallToneMelody(const Melody &melody) override
Sets the call-tone melody.
Definition d578uv_codeplug.cc:1155
virtual void setFuncKey3Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 3 long press.
Definition d578uv_codeplug.cc:1718
void setMemoryZoneB(unsigned zone) override
Sets the memory zone for VFO B.
Definition d578uv_codeplug.cc:704
void setLastCallerDisplayMode(AnytoneDisplaySettingsExtension::LastCallerDisplayMode mode) override
Sets the last-caller display mode.
Definition d578uv_codeplug.cc:1000
bool getGPSPosition() const override
Returns true if get GPS position is enabled.
Definition d578uv_codeplug.cc:924
virtual void enableRoaming(bool enable)
Enables/disables repeater check notification.
Definition d578uv_codeplug.cc:1601
AnytoneDisplaySettingsExtension::LastCallerDisplayMode lastCallerDisplayMode() const override
Returns the last-caller display mode.
Definition d578uv_codeplug.cc:996
virtual AnytoneKeySettingsExtension::KeyFunction funcKey5Long() const
Returns the function for programmable function key 5 long press.
Definition d578uv_codeplug.cc:1732
void enableFMTalkPermit(bool enable) override
Enables/disables the talk permit tone for analog channels.
Definition d578uv_codeplug.cc:838
bool displayCall() const override
Returns true if the call is displayed instead of the name.
Definition d578uv_codeplug.cc:1222
virtual void setFMCallHold(unsigned sec)
Sets the analog call hold in seconds.
Definition d578uv_codeplug.cc:1009
void enableActiveChannelB(bool enable) override
Enables/disables VFO B as the active channel.
Definition d578uv_codeplug.cc:768
void setMemoryZoneA(unsigned zone) override
Sets the memory zone for VFO A.
Definition d578uv_codeplug.cc:695
virtual void setBTSpeakerGain(unsigned int gain)
Sets the bluetooth speaker gain [1,10].
Definition d578uv_codeplug.cc:1290
void setFuncKey2Short(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 2.
Definition d578uv_codeplug.cc:1619
virtual void disableBTHoldTime()
Sets the Bluetooth hold time to infinite.
Definition d578uv_codeplug.cc:1836
void setIdleToneMelody(const Melody &melody) override
Sets the idle-tone melody.
Definition d578uv_codeplug.cc:1175
void enableKeyTone(bool enable) override
Enables/disables the key-tone.
Definition d578uv_codeplug.cc:520
AnytoneKeySettingsExtension::KeyFunction funcKeyCShort() const override
Returns the key function for a short press on the function key 3/C.
Definition d578uv_codeplug.cc:1678
virtual void setGPSUpdatePeriod(Interval sec)
Sets the GPS ranging interval in seconds.
Definition d578uv_codeplug.cc:1271
virtual Frequency vfoStepSize() const
Returns the VFO step size.
Definition d578uv_codeplug.cc:544
virtual void setBTMicGain(unsigned int gain)
Sets the bluetooth microphone gain [1,10].
Definition d578uv_codeplug.cc:1280
GeneralSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition d578uv_codeplug.cc:503
virtual Interval privateCallHangTime() const
Returns the private call hang time in seconds.
Definition d578uv_codeplug.cc:655
virtual AnytoneSettingsExtension::STEType steType() const
Returns the STE (squelch tail eliminate) type.
Definition d578uv_codeplug.cc:618
Frequency maxVFOScanFrequencyUHF() const override
Returns the maximum VFO scan frequency for the UHF band in Hz.
Definition d578uv_codeplug.cc:1050
void setAutoRepeaterMinFrequencyUHF(Frequency Hz) override
Sets the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition d578uv_codeplug.cc:1132
bool vfoModeB() const override
Returns true if the VFO B is in VFO mode.
Definition d578uv_codeplug.cc:609
AnytoneSettingsExtension::VFOScanType vfoScanType() const override
Returns the VFO scan type.
Definition d578uv_codeplug.cc:579
void setFuncKey1Long(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 1.
Definition d578uv_codeplug.cc:1700
virtual void setFuncKey3Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 3 short press.
Definition d578uv_codeplug.cc:1628
virtual unsigned priorityZoneBIndex() const
Returns the priority Zone B index.
Definition d578uv_codeplug.cc:1213
bool vfoModeA() const override
Returns true if the VFO A is in VFO mode.
Definition d578uv_codeplug.cc:600
virtual void setTBSTFrequency(Frequency freq)
Sets the TBST frequency.
Definition d578uv_codeplug.cc:792
AnytoneKeySettingsExtension::KeyFunction funcKey1Long() const override
Returns the key function for a long press on the function key 1.
Definition d578uv_codeplug.cc:1696
void enableEnhancedAudio(bool enable) override
Enables/disables "enhanced" audio.
Definition d578uv_codeplug.cc:1036
AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionA() const override
Returns the auto repeater offset direction for VFO A.
Definition d578uv_codeplug.cc:951
Frequency autoRepeaterMinFrequencyUHF() const override
Returns the minimum frequency in Hz for the auto-repeater range in UHF band.
Definition d578uv_codeplug.cc:1128
bool defaultChannelAIsVFO() const override
Returns true if the default channel for VFO A is VFO.
Definition d578uv_codeplug.cc:1482
void enableGPS(bool enable) override
Enables/disables recording.
Definition d578uv_codeplug.cc:741
virtual SMSExtension::Format smsFormat() const
Returns the SMS format.
Definition d578uv_codeplug.cc:1411
AnytoneKeySettingsExtension::KeyFunction funcKeyALong() const override
Returns the key function for a long press on the function key 1.
Definition d578uv_codeplug.cc:1750
bool updateConfig(Context &ctx, const ErrorStack &err) override
Updates the abstract config from general settings.
Definition d578uv_codeplug.cc:1970
bool linkSettings(RadioSettings *settings, Context &ctx, const ErrorStack &err) override
Links the general settings.
Definition d578uv_codeplug.cc:2068
Interval menuExitTime() const override
Returns the menu exit time in seconds.
Definition d578uv_codeplug.cc:861
virtual void setStandbyTextColor(AnytoneDisplaySettingsExtension::Color color)
Sets the standby text color.
Definition d578uv_codeplug.cc:1387
virtual void setSTEType(AnytoneSettingsExtension::STEType type)
Sets the STE (squelch tail eliminate) type.
Definition d578uv_codeplug.cc:622
void setAutoRepeaterDirectionB(AnytoneAutoRepeaterSettingsExtension::Direction dir) override
Sets the auto-repeater direction for VFO B.
Definition d578uv_codeplug.cc:1441
virtual AnytoneKeySettingsExtension::KeyFunction funcKey3Short() const
Returns the function for programmable function key 3 short press.
Definition d578uv_codeplug.cc:1624
void callToneMelody(Melody &melody) const override
Returns the call-tone melody.
Definition d578uv_codeplug.cc:1145
virtual void enableMonitorColorCodeMatch(bool enable)
Enables/disables monitor color code match.
Definition d578uv_codeplug.cc:973
virtual AnytoneDisplaySettingsExtension::Color standbyBackgroundColor() const
Returns the standby image color.
Definition d578uv_codeplug.cc:1392
void enableStartupTone(bool enable) override
Enables/disables the startup tone.
Definition d578uv_codeplug.cc:883
void setFuncKeyAShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 1/A.
Definition d578uv_codeplug.cc:1664
virtual AnytoneDisplaySettingsExtension::Color standbyTextColor() const
Returns the standby text color.
Definition d578uv_codeplug.cc:1383
virtual void enableFMSendIDAndContact(bool enable)
Enables/disables sending contact with FM ID.
Definition d578uv_codeplug.cc:1450
virtual bool separateDisplay() const
Returns true if the "separate display" is enabled.
Definition d578uv_codeplug.cc:1561
Frequency maxVFOScanFrequencyVHF() const override
Returns the maximum VFO scan frequency for the VHF band in Hz.
Definition d578uv_codeplug.cc:1068
virtual AnytoneDisplaySettingsExtension::Color channelNameColor() const
Returns the channel name color.
Definition d578uv_codeplug.cc:1579
void enableVFOModeA(bool enable) override
Enables/disables VFO mode for VFO A.
Definition d578uv_codeplug.cc:604
virtual void enablePluginRecTone(bool enable)
Enables/disables the plug-in record tone.
Definition d578uv_codeplug.cc:1262
virtual void setSTEFrequency(double freq)
Sets the STE (squelch tail eliminate) frequency setting.
Definition d578uv_codeplug.cc:635
virtual void setPriorityZoneAIndex(unsigned idx)
Sets the priority zone A index.
Definition d578uv_codeplug.cc:1209
void enableDefaultChannel(bool enable) override
Enables/disables default boot channel.
Definition d578uv_codeplug.cc:1459
bool showLastHeard() const override
Returns true if the last heard is shown while pressing PTT.
Definition d578uv_codeplug.cc:1401
virtual void setTransmitTimeout(const Interval &tot)
Sets the transmit timeout in seconds.
Definition d578uv_codeplug.cc:529
void enableSubChannel(bool enable) override
Enables/disables sub channel.
Definition d578uv_codeplug.cc:777
void enableDisplayClock(bool enable) override
Enables/disables clock display.
Definition d578uv_codeplug.cc:1018
void enableCallAlert(bool enable) override
Enables/disables call alert.
Definition d578uv_codeplug.cc:811
virtual bool displayChannelNumber() const
Returns true if the channel number is displayed.
Definition d578uv_codeplug.cc:1296
void setGPSTimeZone(const QTimeZone &zone) override
Sets the GPS time zone.
Definition d578uv_codeplug.cc:820
void setAutoRepeaterMaxFrequencyUHF(Frequency Hz) override
Sets the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition d578uv_codeplug.cc:1140
bool fromConfig(const Flags &flags, Context &ctx, const ErrorStack &err) override
Encodes the general settings.
Definition d578uv_codeplug.cc:1860
void setDefaultChannelBIndex(unsigned idx) override
Sets the default channel index for VFO B.
Definition d578uv_codeplug.cc:1507
void setDMRMicGain(Level gain) override
Sets the microphone gain.
Definition d578uv_codeplug.cc:594
void setMaxSpeakerVolume(Level level) override
Sets the maximum volume.
Definition d578uv_codeplug.cc:901
void enableVolumeChangePrompt(bool enable) override
Enables/disables the volume change prompt.
Definition d578uv_codeplug.cc:946
virtual void enableWFM(bool enable)
Enables/disables WFM/Airband receiver.
Definition d578uv_codeplug.cc:713
void setFuncKeyCShort(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a short press on the function key 3/C.
Definition d578uv_codeplug.cc:1682
virtual bool monitorIDMatch() const
Returns true if the monitor matches ID.
Definition d578uv_codeplug.cc:978
bool gps() const override
Returns true if GPS is enabled.
Definition d578uv_codeplug.cc:737
void enableGPSUnitsImperial(bool enable) override
Enables/disables imperial GPS units.
Definition d578uv_codeplug.cc:1336
void setMenuExitTime(Interval intv) override
Sets the menu exit time in seconds.
Definition d578uv_codeplug.cc:865
void enableKeepLastCaller(bool enable) override
Enables/disables keeping the last caller when changing the channel.
Definition d578uv_codeplug.cc:1574
virtual void enableMonitorTimeSlotHold(bool enable)
Enables/disables monitor time slot hold.
Definition d578uv_codeplug.cc:991
virtual void setRepeaterRangeCheckCount(unsigned n)
Sets the number of repeater range checks.
Definition d578uv_codeplug.cc:1547
Frequency autoRepeaterMaxFrequencyVHF() const override
Returns the maximum frequency in Hz for the auto-repeater range in VHF band.
Definition d578uv_codeplug.cc:1119
virtual bool fmSendIDAndContact() const
If enabled, the FM ID is sent together with selected contact.
Definition d578uv_codeplug.cc:1446
bool callEndPrompt() const override
Returns true if the call-end prompt is enabled.
Definition d578uv_codeplug.cc:888
virtual double steFrequency() const
Returns the STE (squelch tail eliminate) frequency setting in Hz.
Definition d578uv_codeplug.cc:626
void enableRecording(bool enable) override
Enables/disables recording.
Definition d578uv_codeplug.cc:722
virtual AnytoneKeySettingsExtension::KeyFunction funcKey4Short() const
Returns the function for programmable function key 4 short press.
Definition d578uv_codeplug.cc:1633
void setMaxVFOScanFrequencyVHF(Frequency hz) override
Sets the maximum VFO scan frequency for the VHF band in Hz.
Definition d578uv_codeplug.cc:1072
virtual Interval repeaterRangeCheckInterval() const
Returns the repeater range check period in seconds.
Definition d578uv_codeplug.cc:1534
virtual bool remoteStunKill() const
Returns true remote stun/kill is enabled.
Definition d578uv_codeplug.cc:906
bool keepLastCaller() const override
Returns true if the last caller is kept when changing channel.
Definition d578uv_codeplug.cc:1570
Frequency minVFOScanFrequencyUHF() const override
Returns the minimum VFO scan frequency for the UHF band in Hz.
Definition d578uv_codeplug.cc:1041
AnytoneKeySettingsExtension::KeyFunction funcKey2Long() const override
Returns the key function for a long press on the function key 2.
Definition d578uv_codeplug.cc:1705
virtual unsigned repeaterCheckNumNotifications() const
Returns the number of repeater check notifications.
Definition d578uv_codeplug.cc:1787
virtual bool repeaterCheckNotification() const
Returns true if repeater check notification is enabled.
Definition d578uv_codeplug.cc:1588
virtual void setMonitorSlotMatch(AnytoneDMRSettingsExtension::SlotMatch match)
Sets the monitor slot match.
Definition d578uv_codeplug.cc:964
unsigned autoRepeaterOffsetFrequencyIndexUHF() const override
Returns the auto-repeater offset frequency index for UHF.
Definition d578uv_codeplug.cc:1081
virtual void enableBTAndInternalMic(bool enable)
Enables/disables the internal mic when BT is active.
Definition d578uv_codeplug.cc:1244
virtual void setDefaultRoamingZoneIndex(unsigned idx)
Sets the default roaming zone index.
Definition d578uv_codeplug.cc:1520
virtual Interval gpsUpdatePeriod() const
Returns the GPS ranging interval in seconds.
Definition d578uv_codeplug.cc:1267
void enableKeyLockForced(bool enable) override
Enables/disables the "professional" key lock.
Definition d578uv_codeplug.cc:1369
void setMinVFOScanFrequencyUHF(Frequency hz) override
Sets the minimum VFO scan frequency for the UHF band in Hz.
Definition d578uv_codeplug.cc:1045
unsigned defaultChannelAIndex() const override
Returns the default channel index for VFO A.
Definition d578uv_codeplug.cc:1486
bool keyLockForced() const override
Returns true if the "professional" key is locked.
Definition d578uv_codeplug.cc:1365
void enableVFOModeB(bool enable) override
Enables/disables VFO mode for VFO B.
Definition d578uv_codeplug.cc:613
static constexpr unsigned int size()
The size of the element.
Definition d578uv_codeplug.hh:252
virtual void setFuncKeyDShort(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key D short press.
Definition d578uv_codeplug.cc:1691
virtual void setLanguage(AnytoneDisplaySettingsExtension::Language lang)
Sets the UI language.
Definition d578uv_codeplug.cc:538
VFOStepSize
Encoded VFO step sizes.
Definition d578uv_codeplug.hh:232
virtual void enableSeparateDisplay(bool enable)
Enables/disables "separate display.
Definition d578uv_codeplug.cc:1565
Frequency autoRepeaterMaxFrequencyUHF() const override
Returns the maximum frequency in Hz for the auto-repeater range in UHF band.
Definition d578uv_codeplug.cc:1136
void enableCallEndPrompt(bool enable) override
Enables/disables the call-end prompt.
Definition d578uv_codeplug.cc:892
void setAutoRepeaterMinFrequencyVHF(Frequency Hz) override
Sets the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition d578uv_codeplug.cc:1115
bool volumeChangePrompt() const override
Returns true if the volume change prompt is enabled.
Definition d578uv_codeplug.cc:942
virtual unsigned repeaterRangeCheckCount() const
Returns the number of repeater range checks.
Definition d578uv_codeplug.cc:1543
virtual Frequency tbstFrequency() const
Returns the TBST frequency.
Definition d578uv_codeplug.cc:782
AnytoneKeySettingsExtension::KeyFunction funcKey1Short() const override
Returns the key function for a short press on the function key 1.
Definition d578uv_codeplug.cc:1606
void setFuncKeyCLong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 3.
Definition d578uv_codeplug.cc:1772
virtual bool wfmMonitor() const
Returns true if WFM monitor is enabled.
Definition d578uv_codeplug.cc:755
virtual unsigned wfmChannelIndex() const
Returns the wide-FM (broadcast) channel index.
Definition d578uv_codeplug.cc:673
void enableKnobLock(bool enable) override
Enables/disables the knob lock.
Definition d578uv_codeplug.cc:1345
void enableSidekeysLock(bool enable) override
Enables/disables the sidekeys lock.
Definition d578uv_codeplug.cc:1361
virtual bool btHoldTimeEnabled() const
Returns true, if the bluetooth hold time is enabled.
Definition d578uv_codeplug.cc:1810
virtual void setFuncKey4Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 4 long press.
Definition d578uv_codeplug.cc:1727
void enableDMRResetTone(bool enable) override
Enables/disables the reset tone for digital calls.
Definition d578uv_codeplug.cc:847
virtual bool bluetooth() const
Returns true if bluetooth is enabled.
Definition d578uv_codeplug.cc:1231
virtual void setAutoRoamPeriod(Interval min)
Sets the auto roaming period in minutes.
Definition d578uv_codeplug.cc:1318
virtual AnytoneKeySettingsExtension::KeyFunction funcKey4Long() const
Returns the function for programmable function key 4 long press.
Definition d578uv_codeplug.cc:1723
void setMinVFOScanFrequencyVHF(Frequency hz) override
Sets the minimum VFO scan frequency for the VHF band in Hz.
Definition d578uv_codeplug.cc:1063
virtual Interval transmitTimeout() const
Returns the transmit timeout in seconds.
Definition d578uv_codeplug.cc:525
virtual unsigned int btSpeakerGain() const
Returns the bluetooth speaker gain [1,10].
Definition d578uv_codeplug.cc:1286
bool callAlert() const override
Returns true if call alert is enabled.
Definition d578uv_codeplug.cc:807
void setDefaultZoneIndexA(unsigned idx) override
Sets the default zone (0-based) for VFO A.
Definition d578uv_codeplug.cc:1468
void enableGetGPSPosition(bool enable) override
Enables/disables get GPS position.
Definition d578uv_codeplug.cc:928
virtual void setPriorityZoneBIndex(unsigned idx)
Sets the priority zone B index.
Definition d578uv_codeplug.cc:1217
virtual Interval btHoldTime() const
Returns the bluetooth hold time.
Definition d578uv_codeplug.cc:1820
virtual bool monitorTimeSlotHold() const
Returns true if the monitor holds the time slot.
Definition d578uv_codeplug.cc:987
virtual void setFuncKey4Short(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 4 short press.
Definition d578uv_codeplug.cc:1637
virtual void setFuncKey6Long(AnytoneKeySettingsExtension::KeyFunction func)
Sets the function for programmable function key 6 long press.
Definition d578uv_codeplug.cc:1745
virtual void setVFOStepSize(const Frequency &f)
Sets the VFO step size.
Definition d578uv_codeplug.cc:562
bool activeChannelB() const override
Returns true if the active channel is VFO B.
Definition d578uv_codeplug.cc:764
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyDLong() const
Returns the function for programmable function key D long press.
Definition d578uv_codeplug.cc:1777
bool idleChannelTone() const override
Returns true if the idle channel tone is enabled.
Definition d578uv_codeplug.cc:852
virtual Interval btRXDelay() const
Returns the bluetooth RX delay in ms.
Definition d578uv_codeplug.cc:1842
virtual void enableWFMVFO(bool enable)
Enables/disables VFO mode for WFM RX.
Definition d578uv_codeplug.cc:686
void setResetToneMelody(const Melody &melody) override
Sets the reset-tone melody.
Definition d578uv_codeplug.cc:1195
virtual void setWakeHeadPeriod(Interval ms)
Sets the wake head-period in ms.
Definition d578uv_codeplug.cc:668
virtual bool btAndInternalSpeaker() const
Returns true if the internal speaker is additionally active when BT is active.
Definition d578uv_codeplug.cc:1249
unsigned memoryZoneA() const override
Returns the memory zone for VFO A.
Definition d578uv_codeplug.cc:691
virtual bool roaming() const
Returns true if roaming is enabled.
Definition d578uv_codeplug.cc:1597
void enableShowLastHeard(bool enable) override
Enables/disables showing last heard.
Definition d578uv_codeplug.cc:1405
bool defaultChannelBIsVFO() const override
Returns true if the default channel for VFO B is VFO.
Definition d578uv_codeplug.cc:1499
virtual void setBTRXDelay(Interval delay)
Sets the bluetooth RX delay in ms.
Definition d578uv_codeplug.cc:1849
virtual bool remoteMonitor() const
Returns true remote monitor is enabled.
Definition d578uv_codeplug.cc:915
virtual AnytoneKeySettingsExtension::KeyFunction funcKey3Long() const
Returns the function for programmable function key 3 long press.
Definition d578uv_codeplug.cc:1714
void idleToneMelody(Melody &melody) const override
Returns the idle-tone melody.
Definition d578uv_codeplug.cc:1165
virtual bool filterOwnID() const
Returns true if the own ID is filtered in call lists.
Definition d578uv_codeplug.cc:870
bool enhanceAudio() const override
Returns true if the audio is "enhanced".
Definition d578uv_codeplug.cc:1032
virtual AnytoneKeySettingsExtension::KeyFunction funcKey5Short() const
Returns the function for programmable function key 5 short press.
Definition d578uv_codeplug.cc:1642
virtual unsigned priorityZoneAIndex() const
Returns the priority Zone A index.
Definition d578uv_codeplug.cc:1205
unsigned defaultChannelBIndex() const override
Returns the default channel index for VFO B.
Definition d578uv_codeplug.cc:1503
virtual void setChannelNameColor(AnytoneDisplaySettingsExtension::Color color)
Sets the channel name color.
Definition d578uv_codeplug.cc:1583
bool keyToneEnabled() const override
Returns true, if the key tone is enabled.
Definition d578uv_codeplug.cc:516
void setAutoRepeaterDirectionA(AnytoneAutoRepeaterSettingsExtension::Direction dir) override
Sets the auto-repeater offset direction for VFO A.
Definition d578uv_codeplug.cc:955
unsigned brightness() const override
Returns the display brightness.
Definition d578uv_codeplug.cc:728
virtual AnytoneDisplaySettingsExtension::Language language() const
Returns the UI language.
Definition d578uv_codeplug.cc:534
bool knobLock() const override
Returns true if the knob is locked.
Definition d578uv_codeplug.cc:1341
virtual void setRoamingStartCondition(AnytoneRoamingSettingsExtension::RoamStart cond)
Sets the roaming start condition.
Definition d578uv_codeplug.cc:1556
void setFuncKeyALong(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 1.
Definition d578uv_codeplug.cc:1754
virtual bool repeaterRangeCheck() const
Returns true if repeater range check is enabled.
Definition d578uv_codeplug.cc:1525
void setLongPressDuration(Interval ms) override
Sets the long-press duration in ms.
Definition d578uv_codeplug.cc:937
virtual unsigned fmCallHold() const
Returns the analog call hold in seconds.
Definition d578uv_codeplug.cc:1005
virtual AnytoneKeySettingsExtension::KeyFunction funcKeyDShort() const
Returns the function for programmable function key D short press.
Definition d578uv_codeplug.cc:1687
bool defaultChannel() const override
Returns true if the default boot channel is enabled.
Definition d578uv_codeplug.cc:1455
bool gpsUnitsImperial() const override
Returns true if the GPS units are imperial.
Definition d578uv_codeplug.cc:1332
void clearAutoRepeaterOffsetFrequencyIndexUHF() override
Clears the auto-repeater offset frequency index for UHF.
Definition d578uv_codeplug.cc:1089
bool fmTalkPermit() const override
Returns true if the talk permit tone is enabled for digital channels.
Definition d578uv_codeplug.cc:834
virtual Interval groupCallHangTime() const
Returns the group call hang time in seconds.
Definition d578uv_codeplug.cc:646
void setVFOScanType(AnytoneSettingsExtension::VFOScanType type) override
Sets the VFO scan type.
Definition d578uv_codeplug.cc:583
virtual void enableBTAndInternalSpeaker(bool enable)
Enables/disables the internal speaker when BT is active.
Definition d578uv_codeplug.cc:1253
AnytoneKeySettingsExtension::KeyFunction funcKeyBLong() const override
Returns the key function for a long press on the function key 2.
Definition d578uv_codeplug.cc:1759
virtual void setRepeaterCheckNumNotifications(unsigned num)
Sets the number of repeater check notifications.
Definition d578uv_codeplug.cc:1791
bool hasAutoRepeaterOffsetFrequencyIndexUHF() const override
Returns true if the auto-repeater offset frequency for UHF is set.
Definition d578uv_codeplug.cc:1077
virtual bool pluginRecTone() const
Returns true if the plug-in record tone is enabled.
Definition d578uv_codeplug.cc:1258
void setFuncKey2Long(AnytoneKeySettingsExtension::KeyFunction func) override
Sets the key function for a long press on the function key 2.
Definition d578uv_codeplug.cc:1709
virtual Interval txBacklightDuration() const
Returns the backlight duration during TX in seconds.
Definition d578uv_codeplug.cc:1798
virtual bool btAndInternalMic() const
Returns true if the internal mic is additionally active when BT is active.
Definition d578uv_codeplug.cc:1240
Level dmrMicGain() const override
Returns the mirophone gain.
Definition d578uv_codeplug.cc:589
bool sidekeysLock() const override
Returns true if the sidekeys are locked.
Definition d578uv_codeplug.cc:1357
void setAutoRepeaterOffsetFrequenyIndexVHF(unsigned idx) override
Sets the auto-repeater offset frequency index for VHF.
Definition d578uv_codeplug.cc:1102
bool keypadLock() const override
Returns true if the keypad is locked.
Definition d578uv_codeplug.cc:1349
virtual void enableRemoteStunKill(bool enable)
Enables/disables remote stun/kill.
Definition d578uv_codeplug.cc:910
void setAutoRepeaterOffsetFrequenyIndexUHF(unsigned idx) override
Sets the auto-repeater offset frequency index for UHF.
Definition d578uv_codeplug.cc:1085
virtual void setGroupCallHangTime(Interval sec)
Sets the group call hang time in seconds.
Definition d578uv_codeplug.cc:650
virtual bool btHoldTimeInfinite() const
Returns true, if the bluetooth hold time is infinite.
Definition d578uv_codeplug.cc:1815
virtual void setTXBacklightDuration(Interval sec)
Sets the backlight duration during TX in seconds.
Definition d578uv_codeplug.cc:1803
bool smsAlert() const override
Returns true if SMS alert is enabled.
Definition d578uv_codeplug.cc:746
TBSTFrequency
TBST (open repeater) frequencies.
Definition d578uv_codeplug.hh:222
Frequency autoRepeaterMinFrequencyVHF() const override
Returns the minimum frequency in Hz for the auto-repeater range in VHF band.
Definition d578uv_codeplug.cc:1111
void enableSMSAlert(bool enable) override
Enables/disables SMS alert.
Definition d578uv_codeplug.cc:750
virtual void enableGPSMessage(bool enable)
Enables/disables GPS range reporting.
Definition d578uv_codeplug.cc:1027
bool dmrResetTone() const override
Returns true if the reset tone is enabled for digital calls.
Definition d578uv_codeplug.cc:843
virtual void setRepeaterRangeCheckInterval(Interval sec)
Sets the repeater range check interval in seconds.
Definition d578uv_codeplug.cc:1538
static constexpr unsigned int size()
The size of the element.
Definition d578uv_codeplug.hh:1329
HotKeySettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition d578uv_codeplug.cc:3160
uint8_t * hotKeySetting(unsigned int n) const
Returns a pointer to the n-th hot key setting.
Definition d578uv_codeplug.cc:3173
Config * preprocess(Config *config, const ErrorStack &err) const override
Returns a prepared configuration for this particular radio.
Definition d578uv_codeplug.cc:3328
virtual bool encodeAirBandChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encode all defined air band channels.
Definition d578uv_codeplug.cc:3568
void allocateGeneralSettings() override
Allocates general settings memory section.
Definition d578uv_codeplug.cc:3507
void setBitmaps(Context &ctx) override
Sets all bitmaps for the given config.
Definition d578uv_codeplug.cc:3295
bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack()) override
Create channels from codeplug.
Definition d578uv_codeplug.cc:3410
bool encodeContacts(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) override
Encode contacts into codeplug.
Definition d578uv_codeplug.cc:3477
bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) override
Encodes the given config (via context) to the binary codeplug.
Definition d578uv_codeplug.cc:3360
D578UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition d578uv_codeplug.cc:3270
virtual bool allocateAirBandChannels()
Allocate Air band channels.
Definition d578uv_codeplug.cc:3552
virtual bool createAirBandChannels(Context &ctx, const ErrorStack &err=ErrorStack())
Decode all air band channels.
Definition d578uv_codeplug.cc:3591
bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack()) override
Decodes the general settings section.
Definition d578uv_codeplug.cc:3526
void allocateForEncoding() override
Allocate all code-plug elements that are defined through the common Config.
Definition d578uv_codeplug.cc:3307
bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) override
Encode channels into codeplug.
Definition d578uv_codeplug.cc:3391
bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack()) override
Link channels.
Definition d578uv_codeplug.cc:3431
bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) override
Encodes the general settings section.
Definition d578uv_codeplug.cc:3516
void allocateContacts() override
Allocate contacts from bitmaps.
Definition d578uv_codeplug.cc:3453
bool linkGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack()) override
Link the general settings.
Definition d578uv_codeplug.cc:3536
bool createElements(Context &ctx, const ErrorStack &err=ErrorStack()) override
Creates all config objects from the downloaded codeplug.
Definition d578uv_codeplug.cc:3375
void allocateHotKeySettings() override
Allocates hot key settings memory section.
Definition d578uv_codeplug.cc:3322
void allocateForDecoding() override
Allocate all code-plug elements that must be downloaded for decoding.
Definition d578uv_codeplug.cc:3314
bool allocateBitmaps() override
Allocates the bitmaps.
Definition d578uv_codeplug.cc:3283
Represents the actual channel encoded within the binary D878UV codeplug.
Definition d878uv_codeplug.hh:93
AdvancedEncryptionType
Possible encryption types.
Definition d878uv_codeplug.hh:116
D878UVCodeplug(const QString &label, QObject *parent=nullptr)
Hidden constructor.
Definition d878uv_codeplug.cc:3935
uint32_t size() const
Returns the total size of the DFU file.
Definition dfufile.cc:52
This class represents a DMR position reporting system within the codeplug.
Definition gpssystem.hh:69
Represents a digital contact, that is a DMR number.
Definition contact.hh:141
TalkerAliasEncoding
Possible talker alias encodings.
Definition dmrsettings.hh:35
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition errorstack.hh:43
Represents a time interval.
Definition interval.hh:11
Some simple class implementing a [1-10] level setting.
Definition level.hh:15
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:20
Base class for all Radio objects.
Definition radio.hh:32
Format
Possible SMS formats, DMR is usually a good idea.
Definition smsextension.hh:65
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:1318
Holds a range of values [min, max].
Definition codeplug.hh:94
Base class for Limits.
Definition codeplug.hh:92
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:1378
static constexpr unsigned int nameLength()
Maximum name length.
Definition d578uv_codeplug.hh:1379
Internal used offsets within the element.
Definition d578uv_codeplug.hh:1384
Internal offsets within the channel element.
Definition d578uv_codeplug.hh:140
Internal offsets within element.
Definition d578uv_codeplug.hh:194
Some limits for the settings.
Definition d578uv_codeplug.hh:1235
static constexpr unsigned int maxBluetoothPTTSleepDelay()
Maximum delay in minutes.
Definition d578uv_codeplug.hh:1236
static constexpr Range< unsigned int > micGain()
Valid range for mic gain settings.
Definition d578uv_codeplug.hh:1238
static constexpr unsigned int maxWeatherChannelIndex()
Maximum weather channel index.
Definition d578uv_codeplug.hh:1237
Internal used offset within the element.
Definition d578uv_codeplug.hh:1243
Some limits for the settings.
Definition d578uv_codeplug.hh:738
Some internal offsets.
Definition d578uv_codeplug.hh:744
Device specific time zones.
Definition d578uv_codeplug.hh:209
static QVector< QTimeZone > _timeZones
Vector of possible time-zones.
Definition d578uv_codeplug.hh:477
static QTimeZone decode(uint8_t code)
Decodes time zone.
Definition d578uv_codeplug.cc:487
static uint8_t encode(const QTimeZone &zone)
Encodes time zone.
Definition d578uv_codeplug.cc:493
Some limits for this element.
Definition d578uv_codeplug.hh:1335
static constexpr unsigned int numEntries()
Maximum number of hot-key entries.
Definition d578uv_codeplug.hh:1336
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:406
KeyFunctionCode
Encoded key functions.
Definition d578uv_codeplug.hh:36
static uint8_t encode(AnytoneKeySettingsExtension::KeyFunction tone)
Encodes key function.
Definition d578uv_codeplug.cc:339
Some limits for the codeplug.
Definition d578uv_codeplug.hh:1450
static constexpr unsigned int airBandChannels()
Maximum number of air-band channels.
Definition d578uv_codeplug.hh:1452
Internal used offsets within the codeplug.
Definition d578uv_codeplug.hh:1457
Internal used offsets within the channel element.
Definition d878uv_codeplug.hh:234
Some limits for the settings.
Definition d878uv_codeplug.hh:816
Some limits.
Definition d878uv_codeplug.hh:1991
Internal offsets within the codeplug.
Definition d878uv_codeplug.hh:2001
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:107