1#ifndef RADIOSETTINGS_HH
2#define RADIOSETTINGS_HH
4#include "configobject.hh"
7#include "gnsssettings.hh"
8#include "dmrsettings.hh"
9#include "radioddity_extensions.hh"
10#include "anytone_settingsextension.hh"
11#include "tyt_extensions.hh"
Implements the device specific extension for the general settings of AnyTone devices.
Definition anytone_settingsextension.hh:2014
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:37
Parse context for config objects.
Definition configobject.hh:43
ConfigItem(QObject *parent=nullptr)
Hidden constructor.
Definition configobject.cc:158
Implements a reference to a radio ID.
Definition configreference.hh:251
Represents a DMR radio ID within the abstract config.
Definition radioid.hh:33
Implements some common DMR settings present in many devices.
Definition dmrsettings.hh:10
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition errorstack.hh:43
Some common global GNSS settings.
Definition gnsssettings.hh:9
Represents a time interval.
Definition interval.hh:11
Some simple class implementing a [1-10] level setting.
Definition level.hh:15
RadiodditySettingsExtension * radioddity
The settings extension for Radioddity devices.
Definition radiosettings.hh:44
void setVOX(Level level)
Sets the default VOX level [0-10], 0=disabled.
Definition radiosettings.cc:132
void setMicLevel(Level value)
(Re-)Sets the MIC amplification level [1,10].
Definition radiosettings.cc:84
Level vox
The default vox sensitivity.
Definition radiosettings.hh:32
DMRRadioIDReference * defaultID
The default DMR radio ID.
Definition radiosettings.hh:36
QString _introLine2
Holds the second intro line.
Definition radiosettings.hh:146
DMRSettings * dmr
The common DMR settings.
Definition radiosettings.hh:40
RadioSettings(QObject *parent=nullptr)
Default constructor.
Definition radiosettings.cc:6
ConfigItem * clone() const
Clones this item.
Definition radiosettings.cc:30
TyTSettingsExtension * tyt
The settings extension for TyT devices.
Definition radiosettings.hh:42
QString _introLine1
Holds the first intro line.
Definition radiosettings.hh:144
void enableSpeech(bool enabled)
Enables/disables the speech synthesis.
Definition radiosettings.cc:98
void setSquelch(Level squelch)
Sets the default squelch level.
Definition radiosettings.cc:108
void clear()
Resets the settings.
Definition radiosettings.cc:40
DMRSettings * _dmr
The DMR settings.
Definition radiosettings.hh:164
AnytoneSettingsExtension * anytoneExtension() const
Returns the AnyTone device specific radio settings.
Definition radiosettings.cc:235
bool _speech
Holds the speech synthesis flag.
Definition radiosettings.hh:150
AnytoneSettingsExtension * anytone
Settings for AnyTone devices.
Definition radiosettings.hh:46
bool parse(const YAML::Node &node, Context &ctx, const ErrorStack &err=ErrorStack())
Parses the given YAML node, updates the given object and updates the given context (IDs).
Definition radiosettings.cc:261
bool totDisabled() const
Returns true if the transmit timeout (TOT) is disabled.
Definition radiosettings.cc:145
bool voxDisabled() const
Returns true if VOX is disabled by default.
Definition radiosettings.cc:124
Level _micLevel
Holds the mic amplification level.
Definition radiosettings.hh:148
void onExtensionModified()
Internal used callback whenever an extension is modified.
Definition radiosettings.cc:255
Level _squelch
Holds the global squelch setting.
Definition radiosettings.hh:152
DMRRadioID * defaultId() const
Returns the default DMR ID or nullptr, if non is set.
Definition radiosettings.cc:173
Interval tot
The default transmit timeout.
Definition radiosettings.hh:34
QString introLine1
The first intro line.
Definition radiosettings.hh:20
void setIntroLine1(const QString &line)
(Re-)Sets the first intro line.
Definition radiosettings.cc:64
bool speech
Speech synthesis flag.
Definition radiosettings.hh:26
void setTyTExtension(TyTSettingsExtension *ext)
Sets the TyT device specific radio settings.
Definition radiosettings.cc:200
Level _vox
Holds the global VOX level.
Definition radiosettings.hh:156
Level squelch
The squelch level.
Definition radiosettings.hh:30
RadiodditySettingsExtension * radioddityExtension() const
Returns the Radioddity device specific radio settings.
Definition radiosettings.cc:215
DMRRadioIDReference * _defaultId
Reference to the default DMR radio ID.
Definition radiosettings.hh:160
void disableTOT()
Disables the transmit timeout (TOT).
Definition radiosettings.cc:163
GNSSSettings * _gnss
The GNSS settings.
Definition radiosettings.hh:162
void setDefaultId(DMRRadioID *id)
Sets the default DMR ID.
Definition radiosettings.cc:179
RadiodditySettingsExtension * _radioddityExtension
Device specific settings extension for Radioddity devices.
Definition radiosettings.hh:168
void setPower(Channel::Power power)
Sets the default channel power.
Definition radiosettings.cc:118
void setIntroLine2(const QString &line)
(Re-)Sets the second intro line.
Definition radiosettings.cc:74
AnytoneSettingsExtension * _anytoneExtension
Device specific settings extension for AnyTone devices.
Definition radiosettings.hh:170
bool copy(const ConfigItem &other)
Copies the given item into this one.
Definition radiosettings.cc:18
void setAnytoneExtension(AnytoneSettingsExtension *ext)
Sets the AnyTone device specific radio settings.
Definition radiosettings.cc:240
TyTSettingsExtension * tytExtension() const
Returns the TyT device specific radio settings.
Definition radiosettings.cc:195
void disableVOX()
Disables VOX by default.
Definition radiosettings.cc:139
void setTOT(const Interval &sec)
Sets the default transmit timeout (TOT) in seconds, 0=disabled.
Definition radiosettings.cc:155
QString introLine2
The second intro line.
Definition radiosettings.hh:22
GNSSSettings * gnss
The GNSS settings.
Definition radiosettings.hh:38
bool populate(YAML::Node &node, const Context &context, const ErrorStack &err=ErrorStack())
Recursively serializes the configuration to YAML nodes.
Definition radiosettings.cc:286
Level micLevel
The mic amplification level.
Definition radiosettings.hh:24
Interval _transmitTimeOut
Holds the global transmit timeout.
Definition radiosettings.hh:158
Channel::Power power
The default channel power.
Definition radiosettings.hh:28
Channel::Power _power
Holds the global power setting.
Definition radiosettings.hh:154
TyTSettingsExtension * _tytExtension
Device specific settings extension for TyT devices.
Definition radiosettings.hh:166
void setRadioddityExtension(RadiodditySettingsExtension *ext)
Sets the Radioddity device specific radio settings.
Definition radiosettings.cc:220
DMRRadioIDReference * defaultIdRef() const
Returns a reference to the default DMR radio Id.
Definition radiosettings.cc:169
Represents the general settings extension for Radioddity devices.
Definition radioddity_extensions.hh:315
Represents the TyT general settings extension.
Definition tyt_extensions.hh:630