libdrmconf 0.12.1
A library to program DMR radios.
Loading...
Searching...
No Matches
opengd77_extension.hh
1
6#ifndef OPENGD77EXTENSION_HH
7#define OPENGD77EXTENSION_HH
8
9#include <QGeoCoordinate>
10#include "configobject.hh"
11#include "opengd77_extension.hh"
12
13
18{
19 Q_OBJECT
20
21 Q_CLASSINFO("description", "Channel settings for OpenGD77 radios.")
22 Q_CLASSINFO("longDescription", "This extension implements all channel settings specific to radios "
23 "running the OpenGD77 firmware.")
24
25
26 Q_PROPERTY(bool scanZoneSkip READ scanZoneSkip WRITE enableScanZoneSkip)
28 Q_PROPERTY(bool scanAllSkip READ scanAllSkip WRITE enableScanAllSkip)
30 Q_PROPERTY(bool beep READ beep WRITE enableBeep)
32 Q_PROPERTY(bool powerSave READ powerSave WRITE enablePowerSave)
34 Q_PROPERTY(QString location READ locator WRITE setLocator)
36 Q_PROPERTY(TalkerAlias talkerAliasTS1 READ talkerAliasTS1 WRITE setTalkerAliasTS1)
38 Q_PROPERTY(TalkerAlias talkerAliasTS2 READ talkerAliasTS2 WRITE setTalkerAliasTS2)
39
40
41public:
42 enum class TalkerAlias {
43 None, APRS, Text, Both
44 };
45 Q_ENUM(TalkerAlias)
46
47
48public:
50 Q_INVOKABLE explicit OpenGD77ChannelExtension(QObject *parent=nullptr);
51
52 ConfigItem *clone() const;
53
55 bool scanZoneSkip() const;
57 void enableScanZoneSkip(bool enable);
58
60 bool scanAllSkip() const;
62 void enableScanAllSkip(bool enable);
63
65 bool beep() const;
67 void enableBeep(bool enable);
68
70 bool powerSave() const;
72 void enablePowerSave(bool enable);
73
75 const QGeoCoordinate &location() const;
77 QString locator() const;
79 void setLocation(const QGeoCoordinate &loc);
81 void setLocator(const QString &locator);
82
84 TalkerAlias talkerAliasTS1() const;
86 void setTalkerAliasTS1(TalkerAlias ta);
87
89 TalkerAlias talkerAliasTS2() const;
91 void setTalkerAliasTS2(TalkerAlias ta);
92
93protected:
99 bool _beep;
103 QGeoCoordinate _location;
105 TalkerAlias _txTalkerAliasTS1;
107 TalkerAlias _txTalkerAliasTS2;
108};
109
110
115{
116 Q_OBJECT
117
118 Q_CLASSINFO("description", "DMR contact settings for OpenGD77 radios.")
119 Q_CLASSINFO("longDescription", "This extension implements all contact settings specific to radios "
120 "running the OpenGD77 firmware. As the OpenGD77 codeplug is derived from the "
121 "Radioddity GD77 codeplug, all Radioddity extension also apply.")
122
123
125 Q_CLASSINFO("timeSlotOverrideDescription", "If set, overrides the channels timeslot.")
126 Q_CLASSINFO("timeSlotOverrideLongDescription",
127 "The OpenGD77 firmware allows contacts to override the channel time slot if the "
128 "contact is selected as the current destination contact for that channel. This allows "
129 "to assign a specific time slot to a contact, rather than creating a particular "
130 "channel for that contact that only differs in the time slot.")
131
132public:
135 enum class TimeSlotOverride {
136 None = 0x01,
137 TS1 = 0x00,
138 TS2 = 0x02
139 };
140 Q_ENUM(TimeSlotOverride)
141
142public:
144 Q_INVOKABLE explicit OpenGD77ContactExtension(QObject *parent=nullptr);
145
146 ConfigItem *clone() const;
147
152
153protected:
156};
157
158
159#endif // OPENGD77EXTENSION_HH
Base class of all device/vendor specific confiuration extensions.
Definition configobject.hh:246
Base class for all configuration objects (channels, zones, contacts, etc).
Definition configobject.hh:40
Implements the channel extensions for the OpenGD77 radios.
Definition opengd77_extension.hh:18
bool powerSave() const
Returns true, if power save is enabled for this channel (default: true).
Definition opengd77_extension.cc:59
bool scanAllSkip() const
Returns true if the all-skip flag is set.
Definition opengd77_extension.cc:37
bool _beep
Holds the beep enable flag.
Definition opengd77_extension.hh:99
void enableScanZoneSkip(bool enable)
Enables/disables zone skip.
Definition opengd77_extension.cc:31
void enablePowerSave(bool enable)
Enables power save for this channel.
Definition opengd77_extension.cc:64
bool _zoneSkip
Holds the zone skip flag.
Definition opengd77_extension.hh:95
QString locator() const
Returns the fixed location for this channel.
Definition opengd77_extension.cc:79
TalkerAlias _txTalkerAliasTS2
Holds the talker alias setting for timeslot 2.
Definition opengd77_extension.hh:107
bool beep() const
Returns true if the beep tone is enabled for this channel.
Definition opengd77_extension.cc:48
void setTalkerAliasTS1(TalkerAlias ta)
Sets the talker alias setting for timeslot 1.
Definition opengd77_extension.cc:95
const QGeoCoordinate & location() const
Returns the fixed location for this channel.
Definition opengd77_extension.cc:69
bool scanZoneSkip() const
Returns true if the zone skip flag is set.
Definition opengd77_extension.cc:26
Q_INVOKABLE OpenGD77ChannelExtension(QObject *parent=nullptr)
The zone skip flag.
Definition opengd77_extension.cc:7
void setTalkerAliasTS2(TalkerAlias ta)
Sets the talker alias setting for timeslot 2.
Definition opengd77_extension.cc:106
void enableBeep(bool enable)
Enable beep tone for this channel.
Definition opengd77_extension.cc:53
void enableScanAllSkip(bool enable)
Enables/disables all skip.
Definition opengd77_extension.cc:42
TalkerAlias _txTalkerAliasTS1
Holds the talker alias setting for timeslot 1.
Definition opengd77_extension.hh:105
bool _allSkip
Holds the all skip flag.
Definition opengd77_extension.hh:97
QGeoCoordinate _location
Holds the fixed location.
Definition opengd77_extension.hh:103
TalkerAlias talkerAliasTS2() const
Returns the talker alias setting for timeslot 2.
Definition opengd77_extension.cc:101
void setLocator(const QString &locator)
Sets the fixed location for this channel.
Definition opengd77_extension.cc:84
ConfigItem * clone() const
Clones this item.
Definition opengd77_extension.cc:15
void setLocation(const QGeoCoordinate &loc)
Sets the fixed location for this channel.
Definition opengd77_extension.cc:74
TalkerAlias talkerAliasTS1() const
Returns the talker alias setting for timeslot 1.
Definition opengd77_extension.cc:90
bool _powerSave
Holds the power-save flag.
Definition opengd77_extension.hh:101
Implements the contact extensions for the OpenGD77 radios.
Definition opengd77_extension.hh:115
TimeSlotOverride timeSlotOverride() const
Returns the time slot override.
Definition opengd77_extension.cc:132
TimeSlotOverride _timeSlotOverride
Holds the time slot override.
Definition opengd77_extension.hh:155
ConfigItem * clone() const
Clones this item.
Definition opengd77_extension.cc:122
TimeSlotOverride
Possible values for the time-slot override option.
Definition opengd77_extension.hh:135
@ None
Do not override time-slot of channel.
void setTimeSlotOverride(TimeSlotOverride ts)
Sets the time slot override.
Definition opengd77_extension.cc:136
Q_INVOKABLE OpenGD77ContactExtension(QObject *parent=nullptr)
Constructor.
Definition opengd77_extension.cc:115