4#include "configobject.hh"
18 Q_CLASSINFO(
"description",
"Settings for MD-390, RT8, MD-UV390, RT3S, MD-2017, RT82, DM-1701, RT84.")
19 Q_CLASSINFO(
"longDescription",
"Device specific channel settings for TyT and Retevis devices."
20 "Including TyT MD-390, MD-UV390, MD-2017, Retevis RT8, RT3S and RT82"
21 " as well as Baofeng DM-1701.")
49 Q_CLASSINFO(
"dmrSquelchDescription",
"Sets the squelch level for DMR channels. "
50 "Only applicable for MD-UV390 and MD-2017")
55 Low=0, Medium=1, High=2
61 Tone259_2Hz=0, Tone55_2Hz=1, Off=3
67 Always = 0, AdmitCriterion=1, TXInterrupt=2
237 ToggleAllAlertTones = 1,
249 RepeaterTalkaroundToggle = 13,
255 BatteryIndicator = 26,
256 ManualDialForPrivate = 30,
257 LoneWorkerToggle = 31,
260 RecordDeleteAll = 36,
267 PromiscuousToggle = 86
278 ButtonAction sideButton1Short()
const;
280 void setSideButton1Short(ButtonAction action);
282 ButtonAction sideButton1Long()
const;
284 void setSideButton1Long(ButtonAction action);
287 ButtonAction sideButton2Short()
const;
289 void setSideButton2Short(ButtonAction action);
291 ButtonAction sideButton2Long()
const;
293 void setSideButton2Long(ButtonAction action);
296 ButtonAction sideButton3Short()
const;
298 void setSideButton3Short(ButtonAction action);
300 ButtonAction sideButton3Long()
const;
302 void setSideButton3Long(ButtonAction action);
305 ButtonAction progButton1Short()
const;
307 void setProgButton1Short(ButtonAction action);
309 ButtonAction progButton1Long()
const;
311 void setProgButton1Long(ButtonAction action);
314 ButtonAction progButton2Short()
const;
316 void setProgButton2Short(ButtonAction action);
318 ButtonAction progButton2Long()
const;
320 void setProgButton2Long(ButtonAction action);
323 unsigned longPressDuration()
const;
325 void setLongPressDuration(
unsigned dur);
361 Q_PROPERTY(
bool hangtimeIsInfinite READ hangtimeIsInfinite WRITE setHangtimeInfinite)
363 Q_PROPERTY(
unsigned hangTime READ hangTime WRITE setHangTime)
365 Q_PROPERTY(
bool textMessage READ textMessage WRITE enableTextMessage)
367 Q_PROPERTY(
bool callAlert READ callAlert WRITE enableCallAlert)
369 Q_PROPERTY(
bool contactEditing READ contactEditing WRITE enableContactEditing)
371 Q_PROPERTY(
bool manualDial READ manualDial WRITE enableManualDial)
373 Q_PROPERTY(
bool remoteRadioCheck READ remoteRadioCheck WRITE enableRemoteRadioCheck)
375 Q_PROPERTY(
bool remoteMonitor READ remoteMonitor WRITE enableRemoteMonitor)
377 Q_PROPERTY(
bool remoteRadioEnable READ remoteRadioEnable WRITE enableRemoteRadioEnable)
379 Q_PROPERTY(
bool remoteRadioDisable READ remoteRadioDisable WRITE enableRemoteRadioDisable)
381 Q_PROPERTY(
bool scan READ scan WRITE enableScan)
383 Q_PROPERTY(
bool scanListEditing READ scanListEditing WRITE enableScanListEditing)
385 Q_PROPERTY(
bool callLogMissed READ callLogMissed WRITE enableCallLogMissed)
387 Q_PROPERTY(
bool callLogAnswered READ callLogAnswered WRITE enableCallLogAnswered)
389 Q_PROPERTY(
bool callLogOutgoing READ callLogOutgoing WRITE enableCallLogOutgoing)
391 Q_PROPERTY(
bool talkaround READ talkaround WRITE enableTalkaround)
393 Q_PROPERTY(
bool alertTone READ alertTone WRITE enableAlertTone)
395 Q_PROPERTY(
bool power READ power WRITE enablePower)
397 Q_PROPERTY(
bool backlight READ backlight WRITE enableBacklight)
399 Q_PROPERTY(
bool bootScreen READ bootScreen WRITE enableBootScreen)
401 Q_PROPERTY(
bool keypadLock READ keypadLock WRITE enableKeypadLock)
403 Q_PROPERTY(
bool ledIndicator READ ledIndicator WRITE enableLEDIndicator)
405 Q_PROPERTY(
bool squelch READ squelch WRITE enableSquelch)
407 Q_PROPERTY(
bool vox READ vox WRITE enableVOX)
409 Q_PROPERTY(
bool password READ password WRITE enablePassword)
411 Q_PROPERTY(
bool displayMode READ displayMode WRITE enableDisplayMode)
413 Q_PROPERTY(
bool radioProgramming READ radioProgramming WRITE enableRadioProgramming)
415 Q_PROPERTY(
bool gpsInformation READ gpsInformation WRITE enableGPSInformation)
424 bool hangtimeIsInfinite() const;
426 void setHangtimeInfinite(
bool infinite);
429 unsigned hangTime() const;
431 void setHangTime(
unsigned sec);
434 bool textMessage() const;
436 void enableTextMessage(
bool enable);
439 bool callAlert() const;
441 void enableCallAlert(
bool enable);
444 bool contactEditing() const;
446 void enableContactEditing(
bool enable);
449 bool manualDial() const;
451 void enableManualDial(
bool enable);
454 bool remoteRadioCheck() const;
456 void enableRemoteRadioCheck(
bool enable);
459 bool remoteMonitor() const;
461 void enableRemoteMonitor(
bool enable);
464 bool remoteRadioEnable() const;
466 void enableRemoteRadioEnable(
bool enable);
469 bool remoteRadioDisable() const;
471 void enableRemoteRadioDisable(
bool enable);
476 void enableScan(
bool enable);
479 bool scanListEditing() const;
481 void enableScanListEditing(
bool enable);
484 bool callLogMissed() const;
486 void enableCallLogMissed(
bool enable);
489 bool callLogAnswered() const;
491 void enableCallLogAnswered(
bool enable);
494 bool callLogOutgoing() const;
496 void enableCallLogOutgoing(
bool enable);
499 bool talkaround() const;
501 void enableTalkaround(
bool enable);
504 bool alertTone() const;
506 void enableAlertTone(
bool enable);
511 void enablePower(
bool enable);
514 bool backlight() const;
516 void enableBacklight(
bool enable);
519 bool bootScreen() const;
521 void enableBootScreen(
bool enable);
524 bool keypadLock() const;
526 void enableKeypadLock(
bool enable);
529 bool ledIndicator() const;
531 void enableLEDIndicator(
bool enable);
534 bool squelch() const;
536 void enableSquelch(
bool enable);
541 void enableVOX(
bool enable);
544 bool password() const;
546 void enablePassword(
bool enable);
549 bool displayMode() const;
551 void enableDisplayMode(
bool enable);
554 bool radioProgramming() const;
556 void enableRadioProgramming(
bool enable);
559 bool gpsInformation() const;
561 void enableGPSInformation(
bool enable);
569 bool _inifiniteHangTime;
577 bool _contactEditing;
581 bool _remoteRadioCheck;
585 bool _remoteRadioEnable;
587 bool _remoteRadioDisable;
591 bool _scanListEditing;
595 bool _callLogAnswered;
597 bool _callLogOutgoing;
621 bool _radioProgramming;
623 bool _gpsInformation;
634 Q_PROPERTY(MonitorType monitorType READ monitorType WRITE setMonitorType)
636 Q_PROPERTY(
bool allLEDsDisabled READ allLEDsDisabled WRITE disableAllLEDs)
638 Q_PROPERTY(
bool talkPermitToneDigital READ talkPermitToneDigital WRITE enableTalkPermitToneDigital)
640 Q_PROPERTY(
bool talkPermitToneAnalog READ talkPermitToneAnalog WRITE enableTalkPermitToneAnalog)
642 Q_PROPERTY(
bool passwordAndLock READ passwordAndLock WRITE enablePasswordAndLock)
644 Q_PROPERTY(
bool channelFreeIndicationTone READ channelFreeIndicationTone WRITE enableChannelFreeIndicationTone)
646 Q_PROPERTY(
bool allTonesDisabled READ allTonesDisabled WRITE disableAllTones)
648 Q_PROPERTY(
bool powerSaveMode READ powerSaveMode WRITE enablePowerSaveMode)
649 Q_CLASSINFO("powerSaveModeDescription", "Puts the radio into sleep-mode when idle.")
650 Q_CLASSINFO("powerSaveModeLongDescription",
651 "When enabled, the radio enters a sleep mode when idle. That is, when on receive and "
652 "there is no activity on the current channel. However, the radio may need some time "
653 "to wake up from this mode. Hence, the 'wakeupPreamble' need to be enabled by all "
654 "radios in the network to provide this wake-up delay.")
656 Q_PROPERTY(
bool wakeupPreamble READ wakeupPreamble WRITE enableWakeupPreamble)
657 Q_CLASSINFO("wakeupPreambleDescription", "If enabled, the radio will transmit a
short wake-up "
658 "preamble before each call.")
660 Q_PROPERTY(
bool bootPicture READ bootPicture WRITE enableBootPicture)
662 Q_PROPERTY(
bool channelMode READ channelMode WRITE enableChannelMode)
664 Q_PROPERTY(
bool channelModeA READ channelModeA WRITE enableChannelModeA)
666 Q_PROPERTY(
bool channelModeB READ channelModeB WRITE enableChannelModeB)
668 Q_PROPERTY(
unsigned lowBatteryWarnInterval READ lowBatteryWarnInterval WRITE setLowBatteryWarnInterval)
670 Q_PROPERTY(
bool callAlertToneContinuous READ callAlertToneContinuous WRITE enableCallAlertToneContinuous)
672 Q_PROPERTY(
unsigned callAlertToneDuration READ callAlertToneDuration WRITE setCallAlertToneDuration)
674 Q_PROPERTY(
unsigned loneWorkerResponseTime READ loneWorkerResponseTime WRITE setLoneWorkerResponseTime)
676 Q_PROPERTY(
unsigned loneWorkerReminderTime READ loneWorkerReminderTime WRITE setLoneWorkerReminderTime)
678 Q_PROPERTY(
unsigned digitalScanHangTime READ digitalScanHangTime WRITE setDigitalScanHangTime)
680 Q_PROPERTY(
unsigned analogScanHangTime READ analogScanHangTime WRITE setAnalogScanHangTime)
682 Q_PROPERTY(
bool backlightAlwaysOn READ backlightAlwaysOn WRITE enableBacklightAlwaysOn)
684 Q_PROPERTY(
unsigned backlightDuration READ backlightDuration WRITE setBacklightDuration)
686 Q_PROPERTY(
bool keypadLockManual READ keypadLockManual WRITE enableKeypadLockManual)
688 Q_PROPERTY(
unsigned keypadLockTime READ keypadLockTime WRITE setKeypadLockTime)
690 Q_PROPERTY(
bool powerOnPasswordEnabled READ powerOnPasswordEnabled WRITE enablePowerOnPassword)
692 Q_PROPERTY(
unsigned powerOnPassword READ powerOnPassword WRITE setPowerOnPassword)
694 Q_PROPERTY(
bool radioProgPasswordEnabled READ radioProgPasswordEnabled WRITE enableRadioProgPassword)
696 Q_PROPERTY(
unsigned radioProgPassword READ radioProgPassword WRITE setRadioProgPassword)
698 Q_PROPERTY(QString pcProgPassword READ pcProgPassword WRITE setPCProgPassword)
700 Q_PROPERTY(
unsigned channelHangTime READ channelHangTime WRITE setChannelHangTime)
702 Q_CLASSINFO("description", "Settings for MD-390, RT8, MD-
UV390, RT3S, MD-2017, RT82.")
703 Q_CLASSINFO("longDescription", "Device specific radio settings for TyT and Retevis devices."
704 "Including TyT MD-390, MD-
UV390, MD-2017 as well as Retevis RT8, "
709 enum class MonitorType {
721 MonitorType monitorType()
const;
723 void setMonitorType(MonitorType type);
726 bool allLEDsDisabled()
const;
728 void disableAllLEDs(
bool disable);
731 bool talkPermitToneDigital()
const;
733 void enableTalkPermitToneDigital(
bool enable);
736 bool talkPermitToneAnalog()
const;
738 void enableTalkPermitToneAnalog(
bool enable);
741 bool passwordAndLock()
const;
743 void enablePasswordAndLock(
bool enable);
746 bool channelFreeIndicationTone()
const;
748 void enableChannelFreeIndicationTone(
bool enable);
751 bool allTonesDisabled()
const;
753 void disableAllTones(
bool disable);
756 bool powerSaveMode()
const;
758 void enablePowerSaveMode(
bool enable);
761 bool wakeupPreamble()
const;
763 void enableWakeupPreamble(
bool enable);
766 bool bootPicture()
const;
768 void enableBootPicture(
bool enable);
771 bool channelMode()
const;
773 void enableChannelMode(
bool enable);
775 bool channelModeA()
const;
777 void enableChannelModeA(
bool enable);
779 bool channelModeB()
const;
781 void enableChannelModeB(
bool enable);
784 unsigned lowBatteryWarnInterval()
const;
786 void setLowBatteryWarnInterval(
unsigned sec);
789 bool callAlertToneContinuous()
const;
791 void enableCallAlertToneContinuous(
bool enable);
793 unsigned callAlertToneDuration()
const;
795 void setCallAlertToneDuration(
unsigned sec);
798 unsigned loneWorkerResponseTime()
const;
800 void setLoneWorkerResponseTime(
unsigned min);
803 unsigned loneWorkerReminderTime()
const;
805 void setLoneWorkerReminderTime(
unsigned sec);
808 unsigned digitalScanHangTime()
const;
810 void setDigitalScanHangTime(
unsigned ms);
813 unsigned analogScanHangTime()
const;
815 void setAnalogScanHangTime(
unsigned ms);
818 bool backlightAlwaysOn()
const;
820 void enableBacklightAlwaysOn(
bool enable);
822 unsigned backlightDuration()
const;
824 void setBacklightDuration(
unsigned sec);
827 bool keypadLockManual()
const;
829 void enableKeypadLockManual(
bool enable);
831 unsigned keypadLockTime()
const;
833 void setKeypadLockTime(
unsigned sec);
836 bool powerOnPasswordEnabled()
const;
838 void enablePowerOnPassword(
bool enable);
840 unsigned powerOnPassword()
const;
842 void setPowerOnPassword(
unsigned passwd);
845 bool radioProgPasswordEnabled()
const;
847 void enableRadioProgPassword(
bool enable);
849 unsigned radioProgPassword()
const;
851 void setRadioProgPassword(
unsigned passwd);
854 const QString &pcProgPassword()
const;
856 void setPCProgPassword(
const QString &passwd);
859 unsigned channelHangTime()
const;
861 void setChannelHangTime(
unsigned ms);
Base class of all device/vendor specific configuration extensions.
Definition configobject.hh:239
Base class for all configuration objects (channels, zones, contacts, etc).
Definition configobject.hh:35
const Object * as() const
Casts this object to the given type.
Definition configobject.hh:146
Some simple class implementing a [1-10] level setting.
Definition level.hh:15
Represents the TyT channel extension.
Definition tyt_extensions.hh:15
void setRXRefFrequency(RefFrequency ref)
Sets the reference frequency setting for RX.
Definition tyt_extensions.cc:76
RefFrequency txRefFrequency() const
Returns the reference frequency setting for TX.
Definition tyt_extensions.cc:85
void enableDCDMLeader(bool enable)
Enables/disables this radio to be the leader on a DCDM simplex channel.
Definition tyt_extensions.cc:188
Level _dmrSquelch
The squelch level [0-10] for DMR channels.
Definition tyt_extensions.hh:161
bool dcdmLeader() const
Returns true if this radio is the leader for a DCDM simplex channel.
Definition tyt_extensions.cc:183
void enableEmergencyAlarmConfirmed(bool enable)
Enables/disables emergency-call confirmation.
Definition tyt_extensions.cc:48
bool _autoScan
Holds the auto-scan flag.
Definition tyt_extensions.hh:135
void setKillTone(KillTone tone)
Sets the kill-tone frequency.
Definition tyt_extensions.cc:146
KillTone killTone() const
Returns the kill tone frequency.
Definition tyt_extensions.cc:141
bool _displayPTTId
Holds the display PTT ID flag.
Definition tyt_extensions.hh:139
bool _tightSquelch
Holds the tightSquelch flag.
Definition tyt_extensions.hh:147
void enableDisplayPTTId(bool enable)
Enables/disables analog PTT ID display.
Definition tyt_extensions.cc:62
void setInCallCriterion(InCallCriterion crit)
Sets the in-call criterion.
Definition tyt_extensions.cc:160
bool emergencyAlarmConfirmed() const
Returns true if emergency calls are confirmed.
Definition tyt_extensions.cc:43
bool tightSquelch() const
Returns true if the tight squelch is enabled.
Definition tyt_extensions.cc:113
void enableAutoScan(bool enable)
Enables/disables the auto-scan feature.
Definition tyt_extensions.cc:34
RefFrequency
Possible reference frequency settings for RX & TX.
Definition tyt_extensions.hh:54
void enableTightSquelch(bool enable)
Enables/disables the tight squelch.
Definition tyt_extensions.cc:118
bool autoScan() const
Returns true if the auto scan feature is enabled.
Definition tyt_extensions.cc:29
bool _allowInterrupt
Holds the interrupt flag.
Definition tyt_extensions.hh:157
bool _dcdmLeader
Holds the DCDM-leader flag.
Definition tyt_extensions.hh:159
InCallCriterion
Possible in-call criterions.
Definition tyt_extensions.hh:66
ConfigItem * clone() const
Clones this item.
Definition tyt_extensions.cc:18
RefFrequency _rxRefFrequency
Holds the reference frequency setting for RX.
Definition tyt_extensions.hh:141
bool displayPTTId() const
Returns true if analog PTT IDs are shown.
Definition tyt_extensions.cc:57
Level dmrSquelch() const
Squelch level for DMR channels.
Definition tyt_extensions.cc:99
InCallCriterion _inCallCriterion
Holds the in-call criterion.
Definition tyt_extensions.hh:155
void enableAllowInterrupt(bool enable)
Enables/disables interrupt.
Definition tyt_extensions.cc:174
bool compressedUDPHeader() const
Returns true if the compressed UDP header is enabled.
Definition tyt_extensions.cc:127
RefFrequency _txRefFrequency
Holds the reference frequency setting for TX.
Definition tyt_extensions.hh:143
bool _emergencyAlarmConfirmed
Holds the emergency-call confirmation flag.
Definition tyt_extensions.hh:137
void setTXRefFrequency(RefFrequency ref)
Sets the reference frequency setting for TX.
Definition tyt_extensions.cc:90
KillTone _killTone
Holds the kill tone setting.
Definition tyt_extensions.hh:153
bool allowInterrupt() const
Returns true if interrupt is allowed.
Definition tyt_extensions.cc:169
void enableCompressedUDPHeader(bool enable)
Enables/disables the compressed UDP header.
Definition tyt_extensions.cc:132
KillTone
Possible kill-tone settings.
Definition tyt_extensions.hh:60
InCallCriterion inCallCriterion() const
Returns the in-call criterion.
Definition tyt_extensions.cc:155
bool _compressedUDPHeader
Holds the compressed UDP header flag.
Definition tyt_extensions.hh:149
RefFrequency rxRefFrequency() const
Returns the reference frequency setting for RX.
Definition tyt_extensions.cc:71
void setDMRSquelch(Level sq)
Sets the squelch-level for DMR channels.
Definition tyt_extensions.cc:104
Groups several extension for TyT devices.
Definition tyt_extensions.hh:943
Represents device specific scan-list settings for TyT devices.
Definition tyt_extensions.hh:168
unsigned _prioritySampleTime
The sample time for priority channels in ms.
Definition tyt_extensions.hh:199
ConfigItem * clone() const
Clones this item.
Definition tyt_extensions.cc:206
void setHoldTime(unsigned ms)
Sets the hold time im ms.
Definition tyt_extensions.cc:220
unsigned holdTime
Holds the hold time in ms.
Definition tyt_extensions.hh:172
unsigned _holdTime
The hold time in ms.
Definition tyt_extensions.hh:197
unsigned prioritySampleTime
Holds the sample time in ms for priority channels.
Definition tyt_extensions.hh:174
void setPrioritySampleTime(unsigned ms)
Sets the sample time for priority channels in ms.
Definition tyt_extensions.cc:232
Represents the TyT general settings extension.
Definition tyt_extensions.hh:630
bool _privateCallMatch
If true, the private call IDs must match.
Definition tyt_extensions.hh:932
unsigned _powerOnPassword
Holds the power-on password.
Definition tyt_extensions.hh:924
bool _channelMode
If true, the radio is in channel (memory) mode.
Definition tyt_extensions.hh:892
unsigned _lowBatteryWarnInterval
Holds the low-battery warn interval.
Definition tyt_extensions.hh:900
unsigned _txPreambleDuration
Holds the TX preamble duration.
Definition tyt_extensions.hh:894
unsigned _groupCallHangTime
Holds the group-call hang time.
Definition tyt_extensions.hh:896
bool _channelModeB
If true or channelMode is true, the VFO B is in channel (memory) mode.
Definition tyt_extensions.hh:890
unsigned _backlightDuration
Holds the backlight duration.
Definition tyt_extensions.hh:916
bool _powerOnPasswordEnabled
If true, the power-on password is enabled.
Definition tyt_extensions.hh:922
bool _allTonesDisabled
If true, all tones are disabled.
Definition tyt_extensions.hh:880
unsigned _digitalScanHangTime
Holds the scan hang-time for digital channels.
Definition tyt_extensions.hh:910
QString _pcProgPassword
Holds the PC programming password.
Definition tyt_extensions.hh:930
unsigned _privateCallHangTime
Holds the private-call hang time.
Definition tyt_extensions.hh:898
bool _channelModeA
If true or channelMode is true, the VFO A is in channel (memory) mode.
Definition tyt_extensions.hh:888
bool _channelFreeIndicationTone
If true, the channel free indication tone is enabled.
Definition tyt_extensions.hh:878
unsigned _loneWorkerReminderTime
Holds the lone-worker reminder time.
Definition tyt_extensions.hh:908
bool _talkPermitToneDigital
If true the talk-permit tone is enabled for digital channels.
Definition tyt_extensions.hh:872
bool _wakeupPreamble
If true, the wake-up preamble is sent.
Definition tyt_extensions.hh:884
bool _groupCallMatch
If true, the group call IDs must match.
Definition tyt_extensions.hh:934
bool _radioProgPasswordEnabled
If true, the radio programming password is enabled.
Definition tyt_extensions.hh:926
unsigned _analogScanHangTime
Holds the scan hang-time for analog channels.
Definition tyt_extensions.hh:912
unsigned _keypadLockTime
Holds the keypad lock time.
Definition tyt_extensions.hh:920
bool _powerSaveMode
If true, the power save mode is enabled.
Definition tyt_extensions.hh:882
bool _talkPermitToneAnalog
If true the talk-permit tone is enabled for analog channels.
Definition tyt_extensions.hh:874
bool _passwdAndLock
If true the password and lock is enabled.
Definition tyt_extensions.hh:876
bool _keypadLockManual
If true, the keypad lock is manual.
Definition tyt_extensions.hh:918
unsigned _callAlertToneDuration
Holds the call alert-tone duration.
Definition tyt_extensions.hh:904
bool _callAlertToneContinuous
If true, the call alert-tone is continuous.
Definition tyt_extensions.hh:902
MonitorType _monitorType
Holds the monitor type.
Definition tyt_extensions.hh:868
bool _allLEDsDisabled
If true all LEDs are disabled.
Definition tyt_extensions.hh:870
unsigned _channelHangTime
Holds the channel hang time in ms.
Definition tyt_extensions.hh:936
bool _backlightAlwaysOn
If true, the backlight is always on.
Definition tyt_extensions.hh:914
unsigned _radioProgPassword
Holds the radio programming password.
Definition tyt_extensions.hh:928
bool _bootPicture
If true the boot picture is enabled.
Definition tyt_extensions.hh:886
unsigned _loneWorkerResponseTime
Holds the lone-worker response time.
Definition tyt_extensions.hh:906
Implements an USB interface to the TYT MD-UV390 & Retevis RT3S VHF/UHF 5W DMR (Tier I&II) radios.
Definition uv390.hh:37