1#ifndef RADIOSETTINGS_HH
2#define RADIOSETTINGS_HH
4#include "configobject.hh"
7#include "bootsettings.hh"
8#include "audiosettings.hh"
9#include "tonesettings.hh"
10#include "gnsssettings.hh"
11#include "dmrsettings.hh"
12#include "radioddity_extensions.hh"
13#include "anytone_settingsextension.hh"
14#include "tyt_extensions.hh"
Implements the device specific extension for the general settings of AnyTone devices.
Definition anytone_settingsextension.hh:1792
Collects common audio and tone settings.
Definition audiosettings.hh:11
Collects all common boot settings across devices.
Definition bootsettings.hh:15
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:38
Power
Specifies the prefix for every ID assigned to every channel during serialization.
Definition channel.hh:65
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:263
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
RadiodditySettingsExtension * radioddity
The settings extension for Radioddity devices.
Definition radiosettings.hh:41
DMRRadioIDReference * defaultID
The default DMR radio ID.
Definition radiosettings.hh:27
ToneSettings * _tone
The tone settings.
Definition radiosettings.hh:123
DMRSettings * dmr
The common DMR settings.
Definition radiosettings.hh:37
RadioSettings(QObject *parent=nullptr)
Default constructor.
Definition radiosettings.cc:6
BootSettings * _boot
The boot settings.
Definition radiosettings.hh:119
ConfigItem * clone() const
Clones this item.
Definition radiosettings.cc:34
TyTSettingsExtension * tyt
The settings extension for TyT devices.
Definition radiosettings.hh:39
void clear()
Resets the settings.
Definition radiosettings.cc:44
DMRSettings * _dmr
The DMR settings.
Definition radiosettings.hh:127
AnytoneSettingsExtension * anytoneExtension() const
Returns the AnyTone device specific radio settings.
Definition radiosettings.cc:173
AnytoneSettingsExtension * anytone
Settings for AnyTone devices.
Definition radiosettings.hh:43
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:199
bool totDisabled() const
Returns true if the transmit timeout (TOT) is disabled.
Definition radiosettings.cc:69
void onExtensionModified()
Internal used callback whenever an extension is modified.
Definition radiosettings.cc:193
DMRRadioID * defaultId() const
Returns the default DMR ID or nullptr, if non is set.
Definition radiosettings.cc:97
Interval tot
The default transmit timeout.
Definition radiosettings.hh:25
void setTyTExtension(TyTSettingsExtension *ext)
Sets the TyT device specific radio settings.
Definition radiosettings.cc:138
AudioSettings * _audio
The audio/tone settings.
Definition radiosettings.hh:121
RadiodditySettingsExtension * radioddityExtension() const
Returns the Radioddity device specific radio settings.
Definition radiosettings.cc:153
DMRRadioIDReference * _defaultId
Reference to the default DMR radio ID.
Definition radiosettings.hh:117
void disableTOT()
Disables the transmit timeout (TOT).
Definition radiosettings.cc:87
BootSettings * boot
Common boot settings.
Definition radiosettings.hh:29
GNSSSettings * _gnss
The GNSS settings.
Definition radiosettings.hh:125
void setDefaultId(DMRRadioID *id)
Sets the default DMR ID.
Definition radiosettings.cc:103
ToneSettings * tone
Common tone settings.
Definition radiosettings.hh:33
RadiodditySettingsExtension * _radioddityExtension
Device specific settings extension for Radioddity devices.
Definition radiosettings.hh:131
void setPower(Channel::Power power)
Sets the default channel power.
Definition radiosettings.cc:62
AnytoneSettingsExtension * _anytoneExtension
Device specific settings extension for AnyTone devices.
Definition radiosettings.hh:133
bool copy(const ConfigItem &other)
Copies the given item into this one.
Definition radiosettings.cc:24
void setAnytoneExtension(AnytoneSettingsExtension *ext)
Sets the AnyTone device specific radio settings.
Definition radiosettings.cc:178
TyTSettingsExtension * tytExtension() const
Returns the TyT device specific radio settings.
Definition radiosettings.cc:133
void setTOT(const Interval &sec)
Sets the default transmit timeout (TOT) in seconds, 0=disabled.
Definition radiosettings.cc:79
GNSSSettings * gnss
The GNSS settings.
Definition radiosettings.hh:35
AudioSettings * audio
Common audio and tone settings.
Definition radiosettings.hh:31
bool populate(YAML::Node &node, const Context &context, const ErrorStack &err=ErrorStack())
Recursively serializes the configuration to YAML nodes.
Definition radiosettings.cc:240
Interval _transmitTimeOut
Holds the global transmit timeout.
Definition radiosettings.hh:115
Channel::Power power
The default channel power.
Definition radiosettings.hh:23
Channel::Power _power
Holds the global power setting.
Definition radiosettings.hh:113
TyTSettingsExtension * _tytExtension
Device specific settings extension for TyT devices.
Definition radiosettings.hh:129
void setRadioddityExtension(RadiodditySettingsExtension *ext)
Sets the Radioddity device specific radio settings.
Definition radiosettings.cc:158
DMRRadioIDReference * defaultIdRef() const
Returns a reference to the default DMR radio Id.
Definition radiosettings.cc:93
Represents the general settings extension for Radioddity devices.
Definition radioddity_extensions.hh:211
Definition tonesettings.hh:10
Represents the TyT general settings extension.
Definition tyt_extensions.hh:630