libdrmconf 0.13.2
A library to program DMR radios.
Loading...
Searching...
No Matches
radioddity_extensions.hh
1#ifndef RADIODDITYEXTENSIONS_HH
2#define RADIODDITYEXTENSIONS_HH
3
4#include "configobject.hh"
5#include "interval.hh"
6
7
11{
13
28
29public:
32 None, ToggleAllAlertTones, EmergencyOn, EmergencyOff, ToggleMonitor, OneTouch1,
33 OneTouch2, OneTouch3, OneTouch4, OneTouch5, OneTouch6, ToggleTalkaround, ToggleScan,
34 ToggleEncryption, ToggleVox, ZoneSelect, BatteryIndicator, ToggleLoneWorker, PhoneExit,
35 ToggleFlashLight, ToggleFMRadio, RadioEnable, RadioCheck, RadioDisable, PowerLevel, TBST,
36 CallSwell
37 };
38 Q_ENUM(Function)
39
40public:
42 explicit RadioddityButtonSettingsExtension(QObject *parent=nullptr);
43
44 ConfigItem *clone() const;
45
50
52 Function funcKey1Short() const;
56 Function funcKey1Long() const;
59
61 Function funcKey2Short() const;
65 Function funcKey2Long() const;
68
70 Function funcKey3Short() const;
74 Function funcKey3Long() const;
77
78protected:
93};
94
95
98{
100
133
134public:
137 Disabled = 0,
138 Once = 4,
139 Always = 8
140 };
141 Q_ENUM(ARTSTone)
142
143public:
145 explicit RadioddityToneSettingsExtension(QObject *parent=nullptr);
146
147 ConfigItem *clone() const;
148
150 bool lowBatteryWarn() const;
152 void enableLowBatteryWarn(bool enable);
158 unsigned int lowBatteryWarnVolume() const;
160 void setLowBatteryWarnVolume(unsigned int);
161
163 bool keyTone() const;
165 void enableKeyTone(bool enable);
167 unsigned int keyToneVolume() const;
169 void setKeyToneVolume(unsigned int volume);
170
175
177 bool resetTone() const;
179 void enableResetTone(bool enable);
180
182 bool unknownNumberTone() const;
184 void enableUnknownNumberTone(bool enable);
185
187 ARTSTone artsToneMode() const;
189 void setARTSToneMode(ARTSTone mode);
190
192 bool digitalTalkPermitTone() const;
194 void enableDigitalTalkPermitTone(bool enable);
196 bool analogTalkPermitTone() const;
198 void enableAnalogTalkPermitTone(bool enable);
199
201 bool selftestTone() const;
203 void enableSelftestTone(bool enable);
204
206 bool channelFreeIndicationTone() const;
208 void enableChannelFreeIndicationTone(bool enable);
209
211 bool allTonesDisabled() const;
213 void disableAllTones(bool disable);
214
216 bool txExitTone() const;
218 void enableTXExitTone(bool enable);
219
221 unsigned int fmMicGain() const;
223 void setFMMicGain(unsigned int gain);
224
225protected:
255 unsigned int _keyToneVolume;
257 unsigned int _fmMicGain;
258};
259
309
310
314{
316
333 Q_CLASSINFO("powerSaveModeDescription", "Puts the radio into sleep-mode when idle.")
334 Q_CLASSINFO("powerSaveModeLongDescription",
335 "When enabled, the radio enters a sleep mode when idle. That is, when on receive and "
337 "to wake up from this mode. Hence, the 'wakeupPreamble' need to be enabled by all "
343 Q_CLASSINFO("wakeupPreambleDescription", "If enabled, the radio will transmit a short wake-up "
344 "preamble before each call.")
363
370
371public:
374 Open = 0,
375 Silent = 1
376 };
377 Q_ENUM(MonitorType)
378
379
381 Time = 0,
382 Carrier = 1,
383 Search = 2
384 };
385 Q_ENUM(ScanMode)
386
387
389 Chinese, English
390 };
391 Q_ENUM(Language)
392
393public:
395 Q_INVOKABLE explicit RadiodditySettingsExtension(QObject *parent=nullptr);
396
397 ConfigItem *clone() const;
398
400 MonitorType monitorType() const;
402 void setMonitorType(MonitorType type);
403
412
421
423 bool downChannelModeVFO() const;
425 void enableDownChannelModeVFO(bool enable);
427 bool upChannelModeVFO() const;
429 void enableUpChannelModeVFO(bool enable);
430
432 bool powerSaveMode() const;
434 void enablePowerSaveMode(bool enable);
436 bool wakeupPreamble() const;
438 void enableWakeupPreamble(bool enable);
444 Interval powerSaveDelay() const;
447
449 bool allLEDsDisabled() const;
451 void disableAllLEDs(bool disable);
452
454 bool quickKeyOverrideInhibited() const;
457
459 bool txOnActiveChannel() const;
461 void enableTXOnActiveChannel(bool enable);
462
464 ScanMode scanMode() const;
466 void setScanMode(ScanMode mode);
467
473 Interval repeaterSTE() const;
476
478 bool txInterrupt() const;
480 void enableTXInterrupt(bool enable);
481
483 Language language() const;
486
493
494protected:
539};
540
541#endif // RADIODDITYEXTENSIONS_HH
Base class of all device/vendor specific configuration extensions.
Definition configobject.hh:241
Base class for all configuration objects (channels, zones, contacts, etc).
Definition configobject.hh:35
bool is() const
Returns true if this object is of class Object.
Definition configobject.hh:142
const Object * as() const
Casts this object to the given type.
Definition configobject.hh:148
Represents a time interval.
Definition interval.hh:11
Represents the boot settings for Radioddity devices.
Definition radioddity_extensions.hh:263
QString _bootPasswd
Holds the boot password, disabled if empty.
Definition radioddity_extensions.hh:305
void setBootPassword(const QString &pwd)
Sets the boot password.
Definition radioddity_extensions.cc:363
DisplayMode display
The boot display mode.
Definition radioddity_extensions.hh:267
DisplayMode _displayMode
The boot display mode.
Definition radioddity_extensions.hh:303
QString progPassword
The programming password, disabled if empty.
Definition radioddity_extensions.hh:271
QString bootPassword
The programming password, disabled if empty.
Definition radioddity_extensions.hh:269
void setProgPassword(const QString &pwd)
Sets the programming password.
Definition radioddity_extensions.cc:375
DisplayMode
Possible boot display modes.
Definition radioddity_extensions.hh:275
ConfigItem * clone() const
Clones this item.
Definition radioddity_extensions.cc:336
void setDisplay(DisplayMode mode)
Sets the boot display mode.
Definition radioddity_extensions.cc:350
QString _progPasswd
Holds the programming password, disabled if empty.
Definition radioddity_extensions.hh:307
Represents the button settings extension for all radioddity devices.
Definition radioddity_extensions.hh:11
Function
Possible function key actions.
Definition radioddity_extensions.hh:31
Function _funcKey2Long
The long-press action for the programmable function key 2 (SK2, P2).
Definition radioddity_extensions.hh:88
Function _funcKey1Long
The long-press action for the programmable function key 1 (SK1, P1).
Definition radioddity_extensions.hh:84
Function funcKey2Short
The short-press action for the programmable function key 2 (SK2, P2).
Definition radioddity_extensions.hh:21
void setFuncKey3Long(Function func)
Sets the long-press function of the programmable function key 3 (TK).
Definition radioddity_extensions.cc:99
void setFuncKey3Short(Function func)
Sets the short-press function of the programmable function key 3 (TK).
Definition radioddity_extensions.cc:88
Function funcKey3Long
The long-press action for the programmable function key 3 (TK).
Definition radioddity_extensions.hh:27
Function _funcKey3Short
The short-press action for the programmable function key 3 (TK).
Definition radioddity_extensions.hh:90
Function _funcKey2Short
The short-press action for the programmable function key 2 (SK2, P2).
Definition radioddity_extensions.hh:86
Function _funcKey1Short
The short-press action for the programmable function key 1 (SK1, P1).
Definition radioddity_extensions.hh:82
Function funcKey1Short
The short-press action for the programmable function key 1 (SK1, P1).
Definition radioddity_extensions.hh:17
Function funcKey1Long
The long-press action for the programmable function key 1 (SK1, P1).
Definition radioddity_extensions.hh:19
Function _funcKey3Long
The long-press action for the programmable function key 3 (TK).
Definition radioddity_extensions.hh:92
Function funcKey2Long
The long-press action for the programmable function key 2 (SK2, P2).
Definition radioddity_extensions.hh:23
ConfigItem * clone() const
Clones this item.
Definition radioddity_extensions.cc:16
Interval _longPressDuration
The long-press duration.
Definition radioddity_extensions.hh:80
void setFuncKey2Long(Function func)
Sets the long-press function of the programmable function key 2 (SK2, P2).
Definition radioddity_extensions.cc:76
void setFuncKey2Short(Function func)
Sets the short-press function of the programmable function key 2 (SK2, P2).
Definition radioddity_extensions.cc:65
Function funcKey3Short
The short-press action for the programmable function key 3 (TK).
Definition radioddity_extensions.hh:25
Interval longPressDuration
The long-press duration.
Definition radioddity_extensions.hh:15
void setFuncKey1Long(Function func)
Sets the long-press function of the programmable function key 1 (SK1, P1).
Definition radioddity_extensions.cc:53
void setLongPressDuration(Interval interval)
Sets the long-press duration, usually specified in ms.
Definition radioddity_extensions.cc:30
void setFuncKey1Short(Function func)
Sets the short-press function of the programmable function key 1 (SK1, P1).
Definition radioddity_extensions.cc:42
Represents the general settings extension for Radioddity devices.
Definition radioddity_extensions.hh:314
Interval _preambleDuration
Holds the preamble duration in ms.
Definition radioddity_extensions.hh:514
Interval _repeaterSTE
Holds the repeater STE in seconds.
Definition radioddity_extensions.hh:528
bool _txInterrupt
If true, TX interrupt is enabled.
Definition radioddity_extensions.hh:530
RadioddityToneSettingsExtension * tone
The tone settings.
Definition radioddity_extensions.hh:367
Interval repeaterSTE
The repeater STE in seconds.
Definition radioddity_extensions.hh:358
void setPrivateCallHangTime(Interval ms)
Sets the private call hang time in ms.
Definition radioddity_extensions.cc:467
Interval privateCallHangTime
The private-call hang-time in ms.
Definition radioddity_extensions.hh:326
void setGroupCallHangTime(Interval ms)
Sets the group call hang time in ms.
Definition radioddity_extensions.cc:455
bool txOnActiveChannel
If true, the radio will transmit on the active channel when double-wait is enabled.
Definition radioddity_extensions.hh:352
bool allLEDsDisabled
If true, all LEDs are disabled.
Definition radioddity_extensions.hh:348
Interval _loneWorkerResponseTime
Holds the lone-worker response time in minutes.
Definition radioddity_extensions.hh:498
Interval repeaterEndDelay
The repeater end delay in seconds.
Definition radioddity_extensions.hh:356
Interval _groupCallHangTime
The group-call hang-time in ms.
Definition radioddity_extensions.hh:502
callInterval powerSaveDelay
The delay, before the idle radio enters power save mode (if enabled).
Definition radioddity_extensions.hh:346
ScanMode scanMode
The scan mode.
Definition radioddity_extensions.hh:354
void setLanguage(Language lang)
Sets the language.
Definition radioddity_extensions.cc:635
void setScanMode(ScanMode mode)
Sets the scan mode.
Definition radioddity_extensions.cc:587
Interval _repeaterEndDelay
Holds the repeater end delay in seconds.
Definition radioddity_extensions.hh:526
bool _txOnActiveChannel
If true, the radio will transmit on the active channel when double-wait is enabled.
Definition radioddity_extensions.hh:522
void enablePowerSaveMode(bool enable)
Enables the power save mode.
Definition radioddity_extensions.cc:503
void enableTXInterrupt(bool enable)
Enables TX interrupt.
Definition radioddity_extensions.cc:623
Language _language
UI language.
Definition radioddity_extensions.hh:532
void enableWakeupPreamble(bool enable)
Enables transmission of wakeup preamble.
Definition radioddity_extensions.cc:515
ScanMode _scanMode
Holds the scan mode.
Definition radioddity_extensions.hh:524
bool wakeupPreamble() const
Returns true if the wake-up preamble is sent.
Definition radioddity_extensions.cc:511
void setLoneWorkerResponseTime(Interval min)
Sets the lone-worker response time in minutes.
Definition radioddity_extensions.cc:431
RadioddityButtonSettingsExtension * buttons
The button settings.
Definition radioddity_extensions.hh:365
bool powerSaveMode
If true, the power save mode is enabled.
Definition radioddity_extensions.hh:332
Interval groupCallHangTime
The group-call hang-time in ms.
Definition radioddity_extensions.hh:324
void enableUpChannelModeVFO(bool enable)
Enables/disables up-channel mode is VFO.
Definition radioddity_extensions.cc:491
Language language
UI language.
Definition radioddity_extensions.hh:362
bool _wakeupPreamble
If true, the wake-up preamble is sent.
Definition radioddity_extensions.hh:512
void inhibitQuickKeyOverride(bool inhibit)
Inhibits quick-key override.
Definition radioddity_extensions.cc:563
MonitorType monitorType
The monitor type.
Definition radioddity_extensions.hh:318
Interval _loneWorkerReminderPeriod
Holds the lone-worker reminder period in seconds.
Definition radioddity_extensions.hh:500
bool _downChannelModeVFO
If true down-channel mode is VFO.
Definition radioddity_extensions.hh:506
MonitorType
Possible monitor types.
Definition radioddity_extensions.hh:373
@ Open
Monitoring by opening the squelch.
Interval _powerSaveDelay
Delay before an idle radio enters the power save mode.
Definition radioddity_extensions.hh:516
void enableDownChannelModeVFO(bool enable)
Enables/disables down-channel mode is VFO.
Definition radioddity_extensions.cc:479
void enableTXOnActiveChannel(bool enable)
Enables/disables transmission on active channel on double monitor.
Definition radioddity_extensions.cc:575
bool downChannelModeVFO
If true the down-channel mode is VFO.
Definition radioddity_extensions.hh:328
Interval _privateCallHangTime
The private-call hang-time in ms.
Definition radioddity_extensions.hh:504
ConfigItem * clone() const
Clones this item.
Definition radioddity_extensions.cc:405
void setPreambleDuration(Interval ms)
Sets the preamble duration in ms.
Definition radioddity_extensions.cc:527
bool _upChannelModeVFO
If true the up-channel mode is VFO.
Definition radioddity_extensions.hh:508
bool _powerSaveMode
If true, the power save mode is enabled.
Definition radioddity_extensions.hh:510
void setLoneWorkerReminderPeriod(Interval sec)
Sets the lone-worker reminder period in seconds.
Definition radioddity_extensions.cc:443
Interval loneWorkerReminderPeriod
The lonw-worker reminder period in seconds.
Definition radioddity_extensions.hh:322
void disableAllLEDs(bool disable)
Disables/enables all LEDs.
Definition radioddity_extensions.cc:551
RadioddityBootSettingsExtension * _bootSettings
Boot settings.
Definition radioddity_extensions.hh:538
bool quickKeyOverrideInhibited
If true, the quick-key override is inhibited.
Definition radioddity_extensions.hh:350
RadioddityToneSettingsExtension * _toneSettings
Tone settings.
Definition radioddity_extensions.hh:536
void setRepeaterEndDelay(Interval delay)
Sets the repeater end delay in seconds.
Definition radioddity_extensions.cc:599
Interval loneWorkerResponseTime
The lone-worker response time in minutes.
Definition radioddity_extensions.hh:320
Interval preambleDuration() const
Returns the preamble duration in ms.
Definition radioddity_extensions.cc:523
bool txInterrupt
Returns true, if the TX interrupt is enabled.
Definition radioddity_extensions.hh:360
MonitorType _monitorType
Holds the monitor type.
Definition radioddity_extensions.hh:496
Language
Possible UI languages.
Definition radioddity_extensions.hh:388
void setRepeaterSTE(Interval ste)
Sets the repeater STE in seconds.
Definition radioddity_extensions.cc:611
RadioddityBootSettingsExtension * boot
The boot settings.
Definition radioddity_extensions.hh:369
void setPowerSaveDelay(Interval interv)
Sets the delay before an idle radio enters power save mode.
Definition radioddity_extensions.cc:539
RadioddityButtonSettingsExtension * _buttonSettings
Button settings.
Definition radioddity_extensions.hh:534
ScanMode
Possible scan modes.
Definition radioddity_extensions.hh:380
bool upChannelModeVFO
If true the up-channel mode is VFO.
Definition radioddity_extensions.hh:330
void setMonitorType(MonitorType type)
Sets the monitor type.
Definition radioddity_extensions.cc:419
bool _disableAllLEDs
If true, all LEDs are disabled.
Definition radioddity_extensions.hh:518
bool _quickKeyOverrideInhibited
If true, the quick-key override is inhibited.
Definition radioddity_extensions.hh:520
Tone settings for Radioddity devices.
Definition radioddity_extensions.hh:98
void setLowBatteryWarnVolume(unsigned int)
Sets the volume of the low-battery warning tone [1,10].
Definition radioddity_extensions.cc:159
bool resetTone
If true the reset tone is enabled.
Definition radioddity_extensions.hh:114
bool _unknownNumberTone
If true, the unknown number tone is enabled.
Definition radioddity_extensions.hh:237
Interval lowBatteryWarnInterval
The low-battery warn interval in seconds.
Definition radioddity_extensions.hh:104
Interval callAlertDuration
The call-alert duration in seconds.
Definition radioddity_extensions.hh:112
void enableSelftestTone(bool enable)
Enables/disables self-test tone.
Definition radioddity_extensions.cc:244
void setFMMicGain(unsigned int gain)
Sets the FM mic gain [1,10].
Definition radioddity_extensions.cc:317
bool allTonesDisabled
If true, all tones are disabled.
Definition radioddity_extensions.hh:128
bool lowBatteryWarn
If true, the low battery warning is enabled.
Definition radioddity_extensions.hh:102
void disableAllTones(bool disable)
Disables/enables all tones.
Definition radioddity_extensions.cc:268
ARTSTone _artsToneMode
Holds the ARTS tone mode.
Definition radioddity_extensions.hh:239
void setKeyToneVolume(unsigned int volume)
Sets the key-tone volume.
Definition radioddity_extensions.cc:304
void setARTSToneMode(ARTSTone mode)
Sets the ARTS tone mode.
Definition radioddity_extensions.cc:208
ConfigItem * clone() const
Clones this item.
Definition radioddity_extensions.cc:121
void enableDigitalTalkPermitTone(bool enable)
Enables/disables digital channel talk permit tone.
Definition radioddity_extensions.cc:220
bool _resetTone
If true the reset tone is enabled.
Definition radioddity_extensions.hh:235
bool _digitalTalkPermitTone
If true, the talk permit tone is enabled for digital channels.
Definition radioddity_extensions.hh:241
bool _lowBatteryWarn
If true, a low-battery charge is indicated by a warning.
Definition radioddity_extensions.hh:227
Interval _callAlertDuration
Holds the call alert duration in seconds.
Definition radioddity_extensions.hh:233
void enableUnknownNumberTone(bool enable)
Enables/disables reset tone.
Definition radioddity_extensions.cc:196
void setLowBatteryWarnInterval(Interval sec)
Sets the low-battery warn interval in seconds.
Definition radioddity_extensions.cc:147
bool keyTone
If true, the key tones are enabled.
Definition radioddity_extensions.hh:108
bool selftestTone
If true, the self-test tone is enabled.
Definition radioddity_extensions.hh:124
bool _disableAllTones
If true, all tones are disabled.
Definition radioddity_extensions.hh:249
bool _txExitTone
If true, the TX exit tone is enabled.
Definition radioddity_extensions.hh:251
void enableResetTone(bool enable)
Enables/disables reset tone.
Definition radioddity_extensions.cc:184
ARTSTone artsToneMode
The ARTS tone mode.
Definition radioddity_extensions.hh:118
unsigned int _fmMicGain
The FM mic gain.
Definition radioddity_extensions.hh:257
void enableChannelFreeIndicationTone(bool enable)
Enables/disables the channel free indication tone.
Definition radioddity_extensions.cc:256
void enableAnalogTalkPermitTone(bool enable)
Enables/disables analog channel talk permit tone.
Definition radioddity_extensions.cc:232
bool _channelFreeIndicationTone
If true, the channel free indication tone is enabled.
Definition radioddity_extensions.hh:247
bool channelFreeIndicationTone
If true, the frequency indication tone is enabled.
Definition radioddity_extensions.hh:126
bool _selftestTone
If true, the self-test tone is enabled.
Definition radioddity_extensions.hh:245
bool analogTalkPermitTone
If true, the talk permit tone is enabled for analog channels.
Definition radioddity_extensions.hh:122
ARTSTone
Possible ARTS tone settings.
Definition radioddity_extensions.hh:136
bool _analogTalkPermitTone
If true, the talk permit tone is enabled for analog channels.
Definition radioddity_extensions.hh:243
bool digitalTalkPermitTone
If true, the talk permit tone is enabled for digital channels.
Definition radioddity_extensions.hh:120
unsigned int _lowBatteryWarnVolume
Holds the volume of the low-battery warning tone.
Definition radioddity_extensions.hh:231
void enableKeyTone(bool enable)
Enables/disables key tones.
Definition radioddity_extensions.cc:292
Interval _lowBatteryWarnInterval
Holds the low-battery warn interval in seconds.
Definition radioddity_extensions.hh:229
bool txExitTone
If true, the TX exit tone is enabled.
Definition radioddity_extensions.hh:130
void enableTXExitTone(bool enable)
Enables/disables TX exit tone.
Definition radioddity_extensions.cc:280
void enableLowBatteryWarn(bool enable)
Enables/disables low-battery warning.
Definition radioddity_extensions.cc:135
void setCallAlertDuration(Interval sec)
Sets the call-allert duration in seconds.
Definition radioddity_extensions.cc:172
bool keyToneVolume
Returns the key-tone volume.
Definition radioddity_extensions.hh:110
bool lowBatteryWarnVolume
Returns the low-battery warning volume [1,10].
Definition radioddity_extensions.hh:106
unsigned int _keyToneVolume
Holds the key-tone volume [1,10].
Definition radioddity_extensions.hh:255
bool unknownNumberTone
true, the unknown number tone is enabled.
Definition radioddity_extensions.hh:116
bool _keyTone
If true, the key-tones are enabled.
Definition radioddity_extensions.hh:253
unsigned int fmMicGain
Sets the FM mic gain (GD-73 only).
Definition radioddity_extensions.hh:132