libdrmconf 0.15.0
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#include "level.hh"
7
8
12{
13 Q_OBJECT
14
29
30public:
32 enum class Function {
33 None, ToggleAllAlertTones, EmergencyOn, EmergencyOff, ToggleMonitor, OneTouch1,
34 OneTouch2, OneTouch3, OneTouch4, OneTouch5, OneTouch6, ToggleTalkaround, ToggleScan,
35 ToggleEncryption, ToggleVox, ZoneSelect, BatteryIndicator, ToggleLoneWorker, PhoneExit,
36 ToggleFlashLight, ToggleFMRadio, RadioEnable, RadioCheck, RadioDisable, PowerLevel, TBST,
37 CallSwell
38 };
39 Q_ENUM(Function)
40
41public:
43 explicit RadioddityButtonSettingsExtension(QObject *parent=nullptr);
44
45 ConfigItem *clone() const;
46
50 void setLongPressDuration(Interval interval);
51
53 Function funcKey1Short() const;
55 void setFuncKey1Short(Function func);
57 Function funcKey1Long() const;
59 void setFuncKey1Long(Function func);
60
62 Function funcKey2Short() const;
64 void setFuncKey2Short(Function func);
66 Function funcKey2Long() const;
68 void setFuncKey2Long(Function func);
69
71 Function funcKey3Short() const;
73 void setFuncKey3Short(Function func);
75 Function funcKey3Long() const;
77 void setFuncKey3Long(Function func);
78
79protected:
94};
95
96
99{
100 Q_OBJECT
101
115 Q_PROPERTY(bool selftestTone READ selftestTone WRITE enableSelftestTone)
116
117public:
119 enum class ARTSTone {
121 Once = 4,
123 };
124 Q_ENUM(ARTSTone)
125
126public:
128 explicit RadioddityToneSettingsExtension(QObject *parent=nullptr);
129
130 ConfigItem *clone() const;
131
133 bool lowBatteryWarn() const;
135 void enableLowBatteryWarn(bool enable);
141 unsigned int lowBatteryWarnVolume() const;
143 void setLowBatteryWarnVolume(unsigned int);
144
149
151 bool unknownNumberTone() const;
153 void enableUnknownNumberTone(bool enable);
154
156 ARTSTone artsToneMode() const;
158 void setARTSToneMode(ARTSTone mode);
159
161 bool selftestTone() const;
163 void enableSelftestTone(bool enable);
164
165protected:
180};
181
185{
186 Q_OBJECT
187
189 Q_PROPERTY(QString progPassword READ progPassword WRITE setProgPassword)
190
191public:
193 explicit RadioddityBootSettingsExtension(QObject *parent=nullptr);
194
195 ConfigItem *clone() const;
196
198 const QString &progPassword() const;
200 void setProgPassword(const QString &pwd);
201
202protected:
204 QString _progPasswd;
205};
206
207
211{
212 Q_OBJECT
213
215 Q_PROPERTY(MonitorType monitorType READ monitorType WRITE setMonitorType)
226 Q_CLASSINFO("powerSaveModeDescription", "Puts the radio into sleep-mode when idle.")
227 Q_CLASSINFO("powerSaveModeLongDescription",
228 "When enabled, the radio enters a sleep mode when idle. That is, when on receive and "
229 "there is no activity on the current channel. However, the radio may need some time "
230 "to wake up from this mode. Hence, the 'wakeupPreamble' need to be enabled by all "
231 "radios in the network to provide this wake-up delay.")
233 Q_PROPERTY(bool wakeupPreamble READ wakeupPreamble WRITE enableWakeupPreamble)
237 Q_PROPERTY(bool allLEDsDisabled READ allLEDsDisabled WRITE disableAllLEDs)
243 Q_PROPERTY(ScanMode scanMode READ scanMode WRITE setScanMode)
247 Q_PROPERTY(Interval repeaterSTE READ repeaterSTE WRITE setRepeaterSTE)
249 Q_PROPERTY(bool txInterrupt READ txInterrupt WRITE enableTXInterrupt)
251 Q_PROPERTY(Language language READ language WRITE setLanguage)
252
259
260public:
262 enum class MonitorType {
263 Open = 0,
264 Silent = 1
265 };
266 Q_ENUM(MonitorType)
267
268
269 enum class ScanMode {
270 Time = 0,
271 Carrier = 1,
272 Search = 2
273 };
274 Q_ENUM(ScanMode)
275
276
277 enum class Language {
278 Chinese, English
279 };
280 Q_ENUM(Language)
281
282public:
284 Q_INVOKABLE explicit RadiodditySettingsExtension(QObject *parent=nullptr);
285
286 ConfigItem *clone() const;
287
289 MonitorType monitorType() const;
291 void setMonitorType(MonitorType type);
292
294 Interval loneWorkerResponseTime() const;
296 void setLoneWorkerResponseTime(Interval min);
298 Interval loneWorkerReminderPeriod() const;
300 void setLoneWorkerReminderPeriod(Interval sec);
301
303 bool downChannelModeVFO() const;
305 void enableDownChannelModeVFO(bool enable);
307 bool upChannelModeVFO() const;
309 void enableUpChannelModeVFO(bool enable);
310
312 bool powerSaveMode() const;
314 void enablePowerSaveMode(bool enable);
316 bool wakeupPreamble() const;
318 void enableWakeupPreamble(bool enable);
320 Interval powerSaveDelay() const;
322 void setPowerSaveDelay(Interval interv);
323
325 bool allLEDsDisabled() const;
327 void disableAllLEDs(bool disable);
328
330 bool quickKeyOverrideInhibited() const;
332 void inhibitQuickKeyOverride(bool inhibit);
333
335 bool txOnActiveChannel() const;
337 void enableTXOnActiveChannel(bool enable);
338
340 ScanMode scanMode() const;
342 void setScanMode(ScanMode mode);
343
345 Interval repeaterEndDelay() const;
347 void setRepeaterEndDelay(Interval delay);
349 Interval repeaterSTE() const;
351 void setRepeaterSTE(Interval ste);
352
354 bool txInterrupt() const;
356 void enableTXInterrupt(bool enable);
357
359 Language language() const;
361 void setLanguage(Language lang);
362
364 RadioddityButtonSettingsExtension *buttons() const;
366 RadioddityToneSettingsExtension *tone() const;
368 RadioddityBootSettingsExtension *boot() const;
369
370protected:
372 MonitorType _monitorType;
394 ScanMode _scanMode;
402 Language _language;
409};
410
411#endif // RADIODDITYEXTENSIONS_HH
ConfigExtension(QObject *parent=nullptr)
Hidden constructor.
Definition configobject.cc:1234
Base class for all configuration objects (channels, zones, contacts, etc).
Definition configobject.hh:35
ConfigItem(QObject *parent=nullptr)
Hidden constructor.
Definition configobject.cc:158
Represents a time interval.
Definition interval.hh:11
Represents the boot settings for Radioddity devices.
Definition radioddity_extensions.hh:185
QString progPassword
The programming password, disabled if empty.
Definition radioddity_extensions.hh:189
void setProgPassword(const QString &pwd)
Sets the programming password.
Definition radioddity_extensions.cc:239
RadioddityBootSettingsExtension(QObject *parent=nullptr)
Default constructor.
Definition radioddity_extensions.cc:218
ConfigItem * clone() const
Clones this item.
Definition radioddity_extensions.cc:225
QString _progPasswd
Holds the programming password, disabled if empty.
Definition radioddity_extensions.hh:204
Represents the button settings extension for all radioddity devices.
Definition radioddity_extensions.hh:12
Function
Possible function key actions.
Definition radioddity_extensions.hh:32
Function _funcKey2Long
The long-press action for the programmable function key 2 (SK2, P2).
Definition radioddity_extensions.hh:89
Function _funcKey1Long
The long-press action for the programmable function key 1 (SK1, P1).
Definition radioddity_extensions.hh:85
Function funcKey2Short
The short-press action for the programmable function key 2 (SK2, P2).
Definition radioddity_extensions.hh:22
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:28
Function _funcKey3Short
The short-press action for the programmable function key 3 (TK).
Definition radioddity_extensions.hh:91
Function _funcKey2Short
The short-press action for the programmable function key 2 (SK2, P2).
Definition radioddity_extensions.hh:87
Function _funcKey1Short
The short-press action for the programmable function key 1 (SK1, P1).
Definition radioddity_extensions.hh:83
Function funcKey1Short
The short-press action for the programmable function key 1 (SK1, P1).
Definition radioddity_extensions.hh:18
Function funcKey1Long
The long-press action for the programmable function key 1 (SK1, P1).
Definition radioddity_extensions.hh:20
Function _funcKey3Long
The long-press action for the programmable function key 3 (TK).
Definition radioddity_extensions.hh:93
Function funcKey2Long
The long-press action for the programmable function key 2 (SK2, P2).
Definition radioddity_extensions.hh:24
ConfigItem * clone() const
Clones this item.
Definition radioddity_extensions.cc:16
Interval _longPressDuration
The long-press duration.
Definition radioddity_extensions.hh:81
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:26
RadioddityButtonSettingsExtension(QObject *parent=nullptr)
Default constructor.
Definition radioddity_extensions.cc:6
Interval longPressDuration
The long-press duration.
Definition radioddity_extensions.hh:16
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
Interval _repeaterSTE
Holds the repeater STE in seconds.
Definition radioddity_extensions.hh:398
bool _txInterrupt
If true, TX interrupt is enabled.
Definition radioddity_extensions.hh:400
RadioddityButtonSettingsExtension * buttons() const
Returns a weak reference to the button settings.
Definition radioddity_extensions.cc:471
Interval _loneWorkerResponseTime
Holds the lone-worker response time in minutes.
Definition radioddity_extensions.hh:374
bool quickKeyOverrideInhibited() const
Returns true if quick-key override is inhibited.
Definition radioddity_extensions.cc:387
ScanMode scanMode() const
Returns the scan mode.
Definition radioddity_extensions.cc:411
void setLanguage(Language lang)
Sets the language.
Definition radioddity_extensions.cc:463
void setScanMode(ScanMode mode)
Sets the scan mode.
Definition radioddity_extensions.cc:415
Interval _repeaterEndDelay
Holds the repeater end delay in seconds.
Definition radioddity_extensions.hh:396
RadioddityBootSettingsExtension * boot() const
Returns a weak reference to the boot settings.
Definition radioddity_extensions.cc:481
bool _txOnActiveChannel
If true, the radio will transmit on the active channel when double-wait is enabled.
Definition radioddity_extensions.hh:392
Language language() const
Returns the UI language.
Definition radioddity_extensions.cc:459
void enablePowerSaveMode(bool enable)
Enables the power save mode.
Definition radioddity_extensions.cc:343
bool allLEDsDisabled() const
Returns true if all LEDs are disabled.
Definition radioddity_extensions.cc:375
RadioddityToneSettingsExtension * tone() const
Returns a weak reference to the tone settings.
Definition radioddity_extensions.cc:476
Interval repeaterSTE() const
Returns the repeater STE in seconds.
Definition radioddity_extensions.cc:435
void enableTXInterrupt(bool enable)
Enables TX interrupt.
Definition radioddity_extensions.cc:451
Language _language
UI language.
Definition radioddity_extensions.hh:402
void enableWakeupPreamble(bool enable)
Enables transmission of wakeup preamble.
Definition radioddity_extensions.cc:355
ScanMode _scanMode
Holds the scan mode.
Definition radioddity_extensions.hh:394
bool wakeupPreamble() const
Returns true if the wake-up preamble is sent.
Definition radioddity_extensions.cc:351
void setLoneWorkerResponseTime(Interval min)
Sets the lone-worker response time in minutes.
Definition radioddity_extensions.cc:294
bool powerSaveMode
If true, the power save mode is enabled.
Definition radioddity_extensions.hh:225
void enableUpChannelModeVFO(bool enable)
Enables/disables up-channel mode is VFO.
Definition radioddity_extensions.cc:331
bool _wakeupPreamble
If true, the wake-up preamble is sent.
Definition radioddity_extensions.hh:384
void inhibitQuickKeyOverride(bool inhibit)
Inhibits quick-key override.
Definition radioddity_extensions.cc:391
MonitorType monitorType
The monitor type.
Definition radioddity_extensions.hh:215
Interval _loneWorkerReminderPeriod
Holds the lone-worker reminder period in seconds.
Definition radioddity_extensions.hh:376
bool _downChannelModeVFO
If true down-channel mode is VFO.
Definition radioddity_extensions.hh:378
Interval _powerSaveDelay
Delay before an idle radio enters the power save mode.
Definition radioddity_extensions.hh:386
void enableDownChannelModeVFO(bool enable)
Enables/disables down-channel mode is VFO.
Definition radioddity_extensions.cc:319
void enableTXOnActiveChannel(bool enable)
Enables/disables transmission on active channel on double monitor.
Definition radioddity_extensions.cc:403
bool downChannelModeVFO
If true the down-channel mode is VFO.
Definition radioddity_extensions.hh:221
ConfigItem * clone() const
Clones this item.
Definition radioddity_extensions.cc:268
bool _upChannelModeVFO
If true the up-channel mode is VFO.
Definition radioddity_extensions.hh:380
bool _powerSaveMode
If true, the power save mode is enabled.
Definition radioddity_extensions.hh:382
void setLoneWorkerReminderPeriod(Interval sec)
Sets the lone-worker reminder period in seconds.
Definition radioddity_extensions.cc:306
Interval loneWorkerReminderPeriod
The lonw-worker reminder period in seconds.
Definition radioddity_extensions.hh:219
void disableAllLEDs(bool disable)
Disables/enables all LEDs.
Definition radioddity_extensions.cc:379
bool txInterrupt() const
Returns true if the TX interrupt is enabled.
Definition radioddity_extensions.cc:447
RadioddityBootSettingsExtension * _bootSettings
Boot settings.
Definition radioddity_extensions.hh:408
RadioddityToneSettingsExtension * _toneSettings
Tone settings.
Definition radioddity_extensions.hh:406
Q_INVOKABLE RadiodditySettingsExtension(QObject *parent=nullptr)
Default constructor.
Definition radioddity_extensions.cc:250
void setRepeaterEndDelay(Interval delay)
Sets the repeater end delay in seconds.
Definition radioddity_extensions.cc:427
Interval loneWorkerResponseTime
The lone-worker response time in minutes.
Definition radioddity_extensions.hh:217
bool txOnActiveChannel() const
Returns true if the radio transmits on the active channel on double monitor.
Definition radioddity_extensions.cc:399
MonitorType _monitorType
Holds the monitor type.
Definition radioddity_extensions.hh:372
Interval powerSaveDelay() const
Returns the delay, before an idle radio enters power save mode.
Definition radioddity_extensions.cc:363
void setRepeaterSTE(Interval ste)
Sets the repeater STE in seconds.
Definition radioddity_extensions.cc:439
void setPowerSaveDelay(Interval interv)
Sets the delay before an idle radio enters power save mode.
Definition radioddity_extensions.cc:367
RadioddityButtonSettingsExtension * _buttonSettings
Button settings.
Definition radioddity_extensions.hh:404
Interval repeaterEndDelay() const
Returns the repeater end delay in seconds.
Definition radioddity_extensions.cc:423
bool upChannelModeVFO
If true the up-channel mode is VFO.
Definition radioddity_extensions.hh:223
void setMonitorType(MonitorType type)
Sets the monitor type.
Definition radioddity_extensions.cc:282
bool _disableAllLEDs
If true, all LEDs are disabled.
Definition radioddity_extensions.hh:388
bool _quickKeyOverrideInhibited
If true, the quick-key override is inhibited.
Definition radioddity_extensions.hh:390
Tone settings for Radioddity devices.
Definition radioddity_extensions.hh:99
void setLowBatteryWarnVolume(unsigned int)
Sets the volume of the low-battery warning tone [1,10].
Definition radioddity_extensions.cc:157
bool _unknownNumberTone
If true, the unknown number tone is enabled.
Definition radioddity_extensions.hh:175
Interval lowBatteryWarnInterval
The low-battery warn interval in seconds.
Definition radioddity_extensions.hh:105
Interval callAlertDuration
The call-alert duration in seconds.
Definition radioddity_extensions.hh:109
void enableSelftestTone(bool enable)
Enables/disables self-test tone.
Definition radioddity_extensions.cc:206
bool lowBatteryWarn
If true, the low battery warning is enabled.
Definition radioddity_extensions.hh:103
ARTSTone _artsToneMode
Holds the ARTS tone mode.
Definition radioddity_extensions.hh:177
void setARTSToneMode(ARTSTone mode)
Sets the ARTS tone mode.
Definition radioddity_extensions.cc:194
ConfigItem * clone() const
Clones this item.
Definition radioddity_extensions.cc:119
bool _lowBatteryWarn
If true, a low-battery charge is indicated by a warning.
Definition radioddity_extensions.hh:167
Interval _callAlertDuration
Holds the call alert duration in seconds.
Definition radioddity_extensions.hh:173
void enableUnknownNumberTone(bool enable)
Enables/disables reset tone.
Definition radioddity_extensions.cc:182
void setLowBatteryWarnInterval(Interval sec)
Sets the low-battery warn interval in seconds.
Definition radioddity_extensions.cc:145
bool selftestTone
If true, the self-test tone is enabled.
Definition radioddity_extensions.hh:115
ARTSTone artsToneMode
The ARTS tone mode.
Definition radioddity_extensions.hh:113
bool _selftestTone
If true, the self-test tone is enabled.
Definition radioddity_extensions.hh:179
ARTSTone
Possible ARTS tone settings.
Definition radioddity_extensions.hh:119
@ Always
ARTS tone always.
Definition radioddity_extensions.hh:122
@ Disabled
ARTS tone is disabled.
Definition radioddity_extensions.hh:120
@ Once
ARTS tone once.
Definition radioddity_extensions.hh:121
unsigned int _lowBatteryWarnVolume
Holds the volume of the low-battery warning tone.
Definition radioddity_extensions.hh:171
Interval _lowBatteryWarnInterval
Holds the low-battery warn interval in seconds.
Definition radioddity_extensions.hh:169
void enableLowBatteryWarn(bool enable)
Enables/disables low-battery warning.
Definition radioddity_extensions.cc:133
void setCallAlertDuration(Interval sec)
Sets the call-allert duration in seconds.
Definition radioddity_extensions.cc:170
bool lowBatteryWarnVolume
Returns the low-battery warning volume [1,10].
Definition radioddity_extensions.hh:107
bool unknownNumberTone
true, the unknown number tone is enabled.
Definition radioddity_extensions.hh:111
RadioddityToneSettingsExtension(QObject *parent=nullptr)
Default constructor.
Definition radioddity_extensions.cc:110