1#ifndef ANYTONEEXTENSION_HH
2#define ANYTONEEXTENSION_HH
4#include "configobject.hh"
5#include "configreference.hh"
19 Q_CLASSINFO(
"IdPrefix",
"af")
21 Q_CLASSINFO(
"frequencyDecription",
22 "Transmit-frequency.")
25 Q_PROPERTY(
Frequency frequency READ frequency WRITE setFrequency)
153 SubToneAndOptSig = 3,
244 Q_PROPERTY(
bool hidden READ hidden WRITE enableHidden)
255 void enableHidden(
bool enable);
270 Q_PROPERTY(
AlertType alertType READ alertType WRITE setAlertType)
288 AlertType alertType()
const;
290 void setAlertType(AlertType type);
306 Q_PROPERTY(
Interval txDelay READ txDelay WRITE setTXDelay)
308 Q_PROPERTY(
Interval preWaveDelay READ preWaveDelay WRITE setPreWaveDelay)
310 Q_PROPERTY(
bool passAll READ passAll WRITE enablePassAll)
312 Q_PROPERTY(
bool reportPosition READ reportPosition WRITE enableReportPosition)
314 Q_PROPERTY(
bool reportMicE READ reportMicE WRITE enableReportMicE)
316 Q_PROPERTY(
bool reportObject READ reportObject WRITE enableReportObject)
318 Q_PROPERTY(
bool reportItem READ reportItem WRITE enableReportItem)
320 Q_PROPERTY(
bool reportMessage READ reportMessage WRITE enableReportMessage)
322 Q_PROPERTY(
bool reportWeather READ reportWeather WRITE enableReportWeather)
324 Q_PROPERTY(
bool reportNMEA READ reportNMEA WRITE enableReportNMEA)
326 Q_PROPERTY(
bool reportStatus READ reportStatus WRITE enableReportStatus)
328 Q_PROPERTY(
bool reportOther READ reportOther WRITE enableReportOther)
357 bool passAll()
const;
359 void enablePassAll(
bool enable);
362 bool reportPosition()
const;
364 void enableReportPosition(
bool enable);
366 bool reportMicE()
const;
368 void enableReportMicE(
bool enable);
370 bool reportObject()
const;
372 void enableReportObject(
bool enable);
374 bool reportItem()
const;
376 void enableReportItem(
bool enable);
378 bool reportMessage()
const;
380 void enableReportMessage(
bool enable);
382 bool reportWeather()
const;
384 void enableReportWeather(
bool enable);
386 bool reportNMEA()
const;
388 void enableReportNMEA(
bool enable);
390 bool reportStatus()
const;
392 void enableReportStatus(
bool enable);
394 bool reportOther()
const;
396 void enableReportOther(
bool enable);
Represents a list of APRS transmit frequencies.
Definition anytone_extension.hh:59
ConfigItem * allocateChild(const YAML::Node &node, ConfigItem::Context &ctx, const ErrorStack &err)
Allocates a member objects for the given YAML node.
Definition anytone_extension.cc:55
Represents a reference to an APRS frequency.
Definition anytone_extension.hh:47
Implements the config representation of an FM APRS frequency.
Definition anytone_extension.hh:16
Frequency _frequency
The transmit frequency.
Definition anytone_extension.hh:40
Implements the common properties for analog and digital AnyTone channels.
Definition anytone_extension.hh:74
bool handsFree
If true, the hands-free feature is enabled for this channel.
Definition anytone_extension.hh:80
void setFrequencyCorrection(int corr)
Sets the frequency correction.
Definition anytone_extension.cc:76
APRSPTT aprsPTT
Specifies if and when the position is send via the associated APRS system, once the PTT is pressed.
Definition anytone_extension.hh:85
bool _handsFree
If true, the hands-free feature is enabled for this channel.
Definition anytone_extension.hh:122
APRSPTT
Possible APRS PTT modes.
Definition anytone_extension.hh:89
int _frequencyCorrection
The frequency correction.
Definition anytone_extension.hh:120
int frequencyCorrection
Holds the frequency correction in some unknown units.
Definition anytone_extension.hh:78
void enableHandsFree(bool enable)
Enables/disables the hands-free feature for this channel.
Definition anytone_extension.cc:88
void setAPRSPTT(APRSPTT mode)
Sets the APRS PTT mode.
Definition anytone_extension.cc:105
APRSPTT _aprsPTT
Holds the APRS PTT mode.
Definition anytone_extension.hh:126
AnytoneAPRSFrequencyRef * fmAPRSFrequency
A reference to the FM APRS frequency.
Definition anytone_extension.hh:82
AnytoneAPRSFrequencyRef * _fmAPRSFrequency
A reference to the FM APRS frequency.
Definition anytone_extension.hh:124
Implements the AnyTone contact extension.
Definition anytone_extension.hh:266
AlertType _alertType
Holds the alert type for the contact.
Definition anytone_extension.hh:294
AlertType
Possible ring-tone types.
Definition anytone_extension.hh:274
Implements the settings extension for DMR channels on AnyTone devices.
Definition anytone_extension.hh:204
void enableAdaptiveTDMA(bool enable)
Enables/disables the adaptive TDMA mode.
Definition anytone_extension.cc:218
bool _throughMode
If true the through mode is enabled.
Definition anytone_extension.hh:233
void enableThroughMode(bool enable)
Enables/disables the through mode.
Definition anytone_extension.cc:230
ConfigItem * clone() const
Clones this item.
Definition anytone_extension.cc:203
bool adaptiveTDMA
If true, the adaptive TDMA mode is enabled.
Definition anytone_extension.hh:210
bool throughMode
If true, the through mode is enabled (what ever that means).
Definition anytone_extension.hh:212
bool _adaptiveTDMA
If true, the adaptive TDMA mode is enabled.
Definition anytone_extension.hh:231
Implements the settings extension for FM channels on AnyTone devices.
Definition anytone_extension.hh:133
SquelchMode squelchMode
Holds the squelch mode.
Definition anytone_extension.hh:143
bool txCustomCTCSS
If true, the custom CTCSS tone is transmitted.
Definition anytone_extension.hh:139
SquelchMode _squelchMode
Holds the squelch mode.
Definition anytone_extension.hh:195
void setScramblerFrequency(const Frequency &freq)
Sets the FM scrambler carrier frequency.
Definition anytone_extension.cc:185
void enableRXCustomCTCSS(bool enable)
Enables/disables usage of custom CTCSS frequency for RX.
Definition anytone_extension.cc:139
Frequency _scramblerFrequency
Sets the FM scrambler frequency.
Definition anytone_extension.hh:197
ConfigItem * clone() const
Clones this item.
Definition anytone_extension.cc:125
SquelchMode
Possible squelch mode settings.
Definition anytone_extension.hh:149
void enableTXCustomCTCSS(bool enable)
Enables/disables usage of custom CTCSS frequency for TX.
Definition anytone_extension.cc:150
void setSquelchMode(SquelchMode mode)
Sets the squelch mode.
Definition anytone_extension.cc:173
double customCTCSS
Holds the custom CTCSS tone frequency in Hz.
Definition anytone_extension.hh:141
bool _rxCustomCTCSS
If true, the custom CTCSS tone is used for RX (open squelch).
Definition anytone_extension.hh:189
void setCustomCTCSS(double freq)
Sets the custom CTCSS frequency in Hz.
Definition anytone_extension.cc:161
Frequency scramblerFrequency
If true, the analog scrabler is enabled.
Definition anytone_extension.hh:145
bool _txCustomCTCSS
If true, the custom CTCSS tone is transmitted.
Definition anytone_extension.hh:191
double _customCTCSS
Holds the custom CTCSS tone frequency in Hz.
Definition anytone_extension.hh:193
bool rxCustomCTCSS
If true, the custom CTCSS tone is used for RX (open squelch).
Definition anytone_extension.hh:137
Implements the AnyTone extensions for zones.
Definition anytone_extension.hh:240
bool _hidden
If true, the zone is hidden in the menu.
Definition anytone_extension.hh:259
Base class of all device/vendor specific configuration extensions.
Definition configobject.hh:239
Parse context for config objects.
Definition configobject.hh:43
Base class for all configuration objects (channels, zones, contacts, etc).
Definition configobject.hh:35
List class for config objects.
Definition configobject.hh:342
Implements a reference to a config object.
Definition configreference.hh:17
Base class of all labeled and named objects.
Definition configobject.hh:192
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition errorstack.hh:43
Represents a time interval.
Definition interval.hh:11
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:107