1#ifndef OPENGD77BASE_CODEPLUG_HH
2#define OPENGD77BASE_CODEPLUG_HH
9#include "satellitedatabase.hh"
12#include <QGeoCoordinate>
48 None = 0, APRS = 1, Text = 2, Both = 3
53 Global, Open, Normal, Closed
67 static constexpr unsigned int size() {
return 0x0038; }
73 virtual QString
name()
const;
75 virtual void setName(
const QString &n);
136 virtual bool beep()
const;
143 virtual unsigned int dmrId()
const;
145 virtual void setDMRId(
unsigned int id);
182 virtual OpenGD77ChannelExtension::TalkerAlias
aliasTimeSlot1()
const;
186 virtual OpenGD77ChannelExtension::TalkerAlias
aliasTimeSlot2()
const;
201 virtual bool rxOnly()
const;
215 virtual bool vox()
const;
244 static constexpr unsigned int name() {
return 0x0000; }
245 static constexpr unsigned int rxFrequency() {
return 0x0010; }
246 static constexpr unsigned int txFrequency() {
return 0x0014; }
247 static constexpr unsigned int mode() {
return 0x0018; }
248 static constexpr unsigned int power() {
return 0x0019; }
249 static constexpr unsigned int latitude0() {
return 0x001a; }
250 static constexpr unsigned int txTimeout() {
return 0x001b; }
251 static constexpr unsigned int latitude1() {
return 0x001c; }
252 static constexpr unsigned int latitude2() {
return 0x001d; }
253 static constexpr unsigned int longitude0() {
return 0x001e; }
254 static constexpr unsigned int longitude1() {
return 0x001f; }
255 static constexpr unsigned int rxTone() {
return 0x0020; }
256 static constexpr unsigned int txTone() {
return 0x0022; }
257 static constexpr unsigned int longitude2() {
return 0x0024; }
258 static constexpr Bit simplex() {
return {0x0026, 2}; }
259 static constexpr Bit useFixedLocation() {
return {0x0026, 3}; }
260 static constexpr Bit disablePowerSave() {
return {0x0026, 5}; }
261 static constexpr Bit disableBeep() {
return {0x0026, 6}; }
262 static constexpr Bit overrideDMRID() {
return {0x0026, 7}; }
263 static constexpr unsigned int dmrId() {
return 0x0027; }
264 static constexpr unsigned int groupList() {
return 0x002b; }
265 static constexpr unsigned int colorCode() {
return 0x002c; }
266 static constexpr unsigned int aprsIndex() {
return 0x002d; }
267 static constexpr unsigned int txContact() {
return 0x002e; }
270 static constexpr Bit
timeSlot() {
return {0x0031, 6}; }
271 static constexpr Bit
bandwidth() {
return {0x0033, 1}; }
272 static constexpr Bit enableMonitor() {
return {0x0033, 3}; }
273 static constexpr Bit
rxOnly() {
return {0x0033, 2}; }
274 static constexpr Bit
skipScan() {
return {0x0033, 4}; }
275 static constexpr Bit
skipZoneScan() {
return {0x0033, 5}; }
276 static constexpr Bit
vox() {
return {0x0033, 6}; }
277 static constexpr unsigned int squelch() {
return 0x0037; }
300 static constexpr unsigned int size() {
return 0x1c10; }
306 virtual bool isEnabled(
unsigned idx)
const ;
308 virtual void enable(
unsigned idx,
bool enabled);
310 virtual uint8_t *
get(
unsigned idx)
const;
325 static constexpr unsigned int bitmask() {
return 0x0000; }
326 static constexpr unsigned int channels() {
return 0x0010; }
369 QString
name()
const;
390 static constexpr Bit stepSize() {
return {0x0036, 4} ; }
391 static constexpr Bit offsetMode() {
return {0x0036, 2} ; }
392 static constexpr unsigned int txOffset() {
return 0x0034; }
410 static constexpr unsigned int size() {
return 0x0090; }
433 virtual QString
call()
const;
438 virtual unsigned int radioId()
const;
449 struct Limit:
public Element::Limit {
462 static constexpr unsigned int call() {
return 0x0060; }
463 static constexpr unsigned int dmrId() {
return 0x0068; }
475 Baud300 = 1, Baud1200 = 0
500 static constexpr unsigned int size() {
return 0x40; }
509 virtual QString
name()
const;
542 virtual unsigned int via1SSID()
const;
544 virtual void setVia1(
const QString &call,
unsigned int ssid);
553 virtual unsigned int via2SSID()
const;
555 virtual void setVia2(
const QString &call,
unsigned int ssid);
565 virtual QString
comment()
const;
586 struct Limit:
public Element::Limit {
598 static constexpr unsigned int name() {
return 0x0000; }
599 static constexpr unsigned int sourceSSID() {
return 0x0008; }
600 static constexpr unsigned int latitude() {
return 0x0009; }
601 static constexpr unsigned int longitude() {
return 0x000c; }
602 static constexpr unsigned int via1Call() {
return 0x000f; }
603 static constexpr unsigned int via1SSID() {
return 0x0015; }
604 static constexpr unsigned int via2Call() {
return 0x0016; }
605 static constexpr unsigned int via2SSID() {
return 0x001c; }
606 static constexpr unsigned int iconTable() {
return 0x001d; }
607 static constexpr unsigned int iconIndex() {
return 0x001e; }
608 static constexpr unsigned int comment() {
return 0x001f; }
609 static constexpr unsigned int fmFrequency() {
return 0x0037; }
611 static constexpr Bit
transmitQSY() {
return { 0x003d, 2}; }
612 static constexpr Bit useFixedPosition() {
return { 0x003d, 1}; }
613 static constexpr Bit
baudRate() {
return { 0x003d, 0}; }
614 static constexpr unsigned int unknownBytes() {
return 0x003e; }
633 static constexpr unsigned int size() {
return 0x40; }
650 struct Limit:
public Element::Limit {
652 static constexpr unsigned int systems() {
return 8; }
657 struct Offset:
public Element::Offset {
658 static constexpr unsigned int systems() {
return 0x0000; }
659 static constexpr unsigned int betweenSystems() {
return APRSSettingsElement::size(); }
678 static constexpr unsigned int size() {
return 0x0020; }
684 virtual QString
name()
const;
689 virtual QString
number()
const;
700 struct Limit:
public Element::Limit {
709 struct Offset:
public Element::Offset {
710 static constexpr unsigned int name() {
return 0x0000; }
711 static constexpr unsigned int number() {
return 0x0010; }
743 struct Limit:
public Element::Limit {
745 static constexpr unsigned int contacts() {
return 64; }
750 struct Offset:
public Element::Offset {
751 static constexpr unsigned int contacts() {
return 0x0000; }
752 static constexpr unsigned int betweenContacts() {
return DTMFContactElement::size(); }
789 virtual QString
line1()
const;
791 virtual void setLine1(
const QString &text);
793 virtual QString
line2()
const;
795 virtual void setLine2(
const QString &text);
804 struct Limit:
public Element::Limit {
811 struct Offset:
public Element::Offset {
812 static constexpr unsigned int bootText() {
return 0x0000; }
813 static constexpr unsigned int bootPasswdEnable() {
return 0x0001; }
814 static constexpr unsigned int bootPasswd() {
return 0x000c; }
815 static constexpr unsigned int line1() {
return 0x0028; }
816 static constexpr unsigned int line2() {
return 0x0038; }
835 static constexpr unsigned int size() {
return 0x00b0; }
843 virtual QString
name()
const;
848 virtual bool hasMember(
unsigned n)
const;
850 virtual unsigned member(
unsigned n)
const;
852 virtual void setMember(
unsigned n,
unsigned idx);
866 struct Limit:
public Element::Limit {
877 static constexpr unsigned int name() {
return 0x0000; }
878 static constexpr unsigned int channels() {
return 0x0010; }
879 static constexpr unsigned int betweenChannels() {
return 0x0002; }
899 static constexpr unsigned int size() {
907 virtual bool isEnabled(
unsigned idx)
const ;
909 virtual void enable(
unsigned idx,
bool enabled);
923 struct Limit:
public Element::Limit {
925 static constexpr unsigned int zoneCount() {
return 68; }
932 static constexpr unsigned int bitmap() {
return 0x0000; }
933 static constexpr unsigned int zones() {
return 0x0020; }
963 static constexpr unsigned int size() {
return 0x0018; }
972 virtual QString
name()
const;
977 virtual unsigned number()
const;
1007 static constexpr unsigned int name() {
return 0x0000; }
1008 static constexpr unsigned int number() {
return 0x0010; }
1009 static constexpr unsigned int type() {
return 0x0014; }
1028 static constexpr unsigned int size() {
1054 static constexpr unsigned int contacts() {
return 0x0000; }
1073 static constexpr unsigned int size() {
return 0x0050; }
1079 virtual QString
name()
const;
1086 virtual unsigned int contactIndex(
unsigned int i)
const;
1088 virtual void setContactIndex(
unsigned int i,
unsigned int contactIdx);
1112 static constexpr unsigned int name() {
return 0x0000; }
1113 static constexpr unsigned int contacts() {
return 0x0010; }
1114 static constexpr unsigned int betweenContacts() {
return 0x0002; }
1132 static constexpr unsigned int size() {
return 0x1840; }
1166 static constexpr unsigned int length() {
return 0x0000; }
1167 static constexpr unsigned int groupLists() {
return 0x0080; }
1187 static constexpr unsigned int size() {
return 0x0064; }
1192 virtual void setName(
const QString &name);
1195 virtual void setEpoch(const ::OrbitalElement::Epoch &epoch);
1242 void writeFixedPoint(
const Offset::Bit &offset,
double value,
bool sign,
unsigned int dec,
unsigned int frac);
1250 void writeFractional(
const Offset::Bit &offset,
double value,
bool sign,
unsigned int frac);
1252 void writeInteger(
const Offset::Bit &offset,
int value,
bool sign,
unsigned dec);
1254 void writeDigit(
const Offset::Bit &offset, uint8_t digit);
1269 static constexpr unsigned int name() {
return 0x0000; }
1270 static constexpr Bit epochYear() {
return {0x0008, 4}; }
1271 static constexpr Bit epochJulienDay() {
return {0x0009, 4}; }
1272 static constexpr Bit meanMotionDerivative() {
return {0x000f, 4}; }
1273 static constexpr Bit inclination() {
return {0x0014, 4}; }
1274 static constexpr Bit ascension() {
return {0x0018, 4}; }
1275 static constexpr Bit eccentricity() {
return {0x001c, 4}; }
1276 static constexpr Bit perigee() {
return {0x001f, 0}; }
1277 static constexpr Bit meanAnomaly() {
return {0x0023, 0}; }
1278 static constexpr Bit meanMotion() {
return {0x0027, 0}; }
1279 static constexpr Bit revolutionNumber() {
return {0x002d, 4}; }
1280 static constexpr unsigned int fmDownlink() {
return 0x0030; }
1281 static constexpr unsigned int fmUplink() {
return 0x0034; }
1282 static constexpr unsigned int ctcss() {
return 0x0038; }
1283 static constexpr unsigned int aprsDownlink() {
return 0x003c; }
1284 static constexpr unsigned int aprsUplink() {
return 0x0040; }
1285 static constexpr unsigned int beacon() {
return 0x0044; }
1286 static constexpr unsigned int aprsPath() {
return 0x004c; }
1304 static constexpr unsigned int size() {
return 0x09e0; }
1306 static constexpr unsigned int magic() {
return 0x0003; }
1326 static constexpr unsigned int blockId() {
return 0x0000; }
1327 static constexpr unsigned int segmentSize() {
return 0x0004; }
1328 static constexpr unsigned int satellites() {
return 0x0008; }
1338 explicit NoteElement(uint8_t *ptr);
1341 static constexpr unsigned int size() {
return 0x0002; }
1343 void clear()
override;
1344 bool isValid()
const override;
1364 static constexpr unsigned int pitch() {
return 0x0000; }
1365 static constexpr unsigned int duration() {
return 0x0001; }
1369 static constexpr double _lut[] = {
1370 0110.00, 0116.54, 0123.47,
1371 0130.81, 0138.59, 0146.83, 0155.56, 0164.81, 0174.61, 0185.00, 0196.00, 0207.65, 0220.00, 0233.08, 0246.94,
1372 0261.62, 0277.18, 0293.66, 0311.13, 0329.63, 0349.23, 0369.99, 0392.00, 0415.30, 0440.00, 0466.16, 0493.88,
1373 0523.25, 0554.37, 0587.33, 0622.25, 0659.25, 0698.46, 0739.99, 0783.99, 0830.61, 0880.00, 0932.33, 0987.77,
1374 1046.50, 1108.73, 1174.66, 1244.51, 1318.51, 1396.91
1386 static constexpr unsigned int size() {
return 0x0208; }
1388 static constexpr unsigned int magic() {
return 0x0002; }
1401 static constexpr unsigned int notes() {
return 256; }
1408 static constexpr unsigned int blockId() {
return 0x0000; }
1409 static constexpr unsigned int segmentSize() {
return 0x0004; }
1410 static constexpr unsigned int notes() {
return 0x0008; }
1426 SatelliteOrbitals = 3,
1440 static constexpr unsigned int size() {
return 0x11a0; }
1446 virtual QString
magic()
const;
1448 virtual unsigned int version()
const;
1468 static constexpr unsigned int magicString() {
return 0x0000; }
1469 static constexpr unsigned int versionNumber() {
return 0x0008; }
1470 static constexpr unsigned int blocks() {
return 0x000c; }
1482 virtual void clear();
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
Base class for all codeplug contexts.
Definition codeplug.hh:331
Represents the abstract base class of all codeplug elements.
Definition codeplug.hh:65
Element(uint8_t *ptr, size_t size)
Hidden constructor.
Definition codeplug.cc:56
Certain flags passed to CodePlug::encode to control the transfer and encoding of the codeplug.
Definition codeplug.hh:24
Codeplug(QObject *parent=nullptr)
Hidden default constructor.
Definition codeplug.cc:872
The config class, representing the codeplug configuration.
Definition config.hh:70
uint32_t size() const
Returns the total size of the DFU file.
Definition dfufile.cc:52
TimeSlot
Possible timeslots for digital channels.
Definition channel.hh:448
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition errorstack.hh:43
Bandwidth
Possible bandwidth of an analog channel.
Definition channel.hh:288
Represents a time interval.
Definition interval.hh:11
A config item that encodes a melody.
Definition melody.hh:20
virtual unsigned int version() const
Returns the version number.
Definition opengd77base_codeplug.cc:2665
bool isValid() const
Returns true if the pointer is not null.
Definition opengd77base_codeplug.cc:2648
virtual BootMelodyElement bootMelody() const
Returns boot melody settings, if present.
Definition opengd77base_codeplug.cc:2709
virtual SatelliteBankElement satellites() const
Returns statellite settings bank, if present.
Definition opengd77base_codeplug.cc:2688
AdditionalSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition opengd77base_codeplug.cc:2635
virtual bool hasSettings(Settings set) const
Returns true, if the given settings is stored.
Definition opengd77base_codeplug.cc:2670
void clear()
Abstract method to reset the element within the codeplug.
Definition opengd77base_codeplug.cc:2653
static constexpr unsigned int size()
Returns the size of the element.
Definition opengd77base_codeplug.hh:1440
virtual QString magic() const
Returns the magic string.
Definition opengd77base_codeplug.cc:2660
Encodes the boot melody.
Definition opengd77base_codeplug.hh:1380
void clear()
Abstract method to reset the element within the codeplug.
Definition opengd77base_codeplug.cc:2585
virtual bool encode(Context &ctx, const Melody *melody, const ErrorStack &err=ErrorStack())
Encodes the given melody.
Definition opengd77base_codeplug.cc:2593
static constexpr unsigned int size()
The size of the element.
Definition opengd77base_codeplug.hh:1386
virtual bool decode(Context &ctx, Melody *melody, const ErrorStack &err=ErrorStack()) const
Decodes the boot melody.
Definition opengd77base_codeplug.cc:2613
BootMelodyElement(uint8_t *ptr)
Constructor.
Definition opengd77base_codeplug.cc:2577
static constexpr unsigned int magic()
The magic number of the element.
Definition opengd77base_codeplug.hh:1388
virtual ~BootSettingsElement()
Destructor.
Definition opengd77base_codeplug.cc:1523
virtual void setLine1(const QString &text)
Sets the first line.
Definition opengd77base_codeplug.cc:1574
virtual QString line2() const
Returns the Second line.
Definition opengd77base_codeplug.cc:1579
BootSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition opengd77base_codeplug.cc:1511
virtual QString line1() const
Returns the first line.
Definition opengd77base_codeplug.cc:1570
virtual void enableBootText(bool enable)
Enables/disables boot text.
Definition opengd77base_codeplug.cc:1542
virtual bool encode(const Context &ctx, const ErrorStack &err=ErrorStack())
Encodes boot text settings from configuration.
Definition opengd77base_codeplug.cc:1589
virtual unsigned bootPassword() const
Returns the boot password (6 digit).
Definition opengd77base_codeplug.cc:1553
virtual bool bootPasswordEnabled() const
Returns true if the boot password is enabled.
Definition opengd77base_codeplug.cc:1548
virtual void setLine2(const QString &text)
Sets the second line.
Definition opengd77base_codeplug.cc:1583
virtual void clearBootPassword()
Clear boot password.
Definition opengd77base_codeplug.cc:1564
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack())
Updates the configuration with the boot text settings.
Definition opengd77base_codeplug.cc:1597
virtual bool bootText() const
Returns true if the text is shown on boot, other wise an image is shown.
Definition opengd77base_codeplug.cc:1537
virtual void setBootPassword(unsigned passwd)
Sets the boot password (6 digit).
Definition opengd77base_codeplug.cc:1558
void clear()
Resets the settings.
Definition opengd77base_codeplug.cc:1528
virtual ~ChannelBankElement()
Destructor.
Definition opengd77base_codeplug.cc:736
virtual uint8_t * get(unsigned idx) const
Returns a pointer to the channel at the given index.
Definition opengd77base_codeplug.cc:757
virtual bool isEnabled(unsigned idx) const
Returns true if the channel is enabled.
Definition opengd77base_codeplug.cc:746
ChannelBankElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition opengd77base_codeplug.cc:724
ChannelElement channel(unsigned int n)
Returns the n-th channel.
Definition opengd77base_codeplug.cc:762
void clear()
Clears the bank.
Definition opengd77base_codeplug.cc:741
static constexpr unsigned int size()
The size of the channel bank.
Definition opengd77base_codeplug.hh:300
virtual void enable(unsigned idx, bool enabled)
Enable/disable a channel in the bank.
Definition opengd77base_codeplug.cc:751
Implements the base for all OpenGD77 channel encodings.
Definition opengd77base_codeplug.hh:38
virtual unsigned int dmrId() const
Returns the DMR ID for this channel.
Definition opengd77base_codeplug.cc:329
Alias
Alias to transmit.
Definition opengd77base_codeplug.hh:47
virtual void enableSimplex(bool enable)
Sets the channel to simplex.
Definition opengd77base_codeplug.cc:296
virtual void setBandwidth(FMChannel::Bandwidth bw)
Sets the bandwidth.
Definition opengd77base_codeplug.cc:480
virtual void clearPower()
Clears the power setting.
Definition opengd77base_codeplug.cc:204
virtual void setMode(Mode mode)
Sets the channel mode.
Definition opengd77base_codeplug.cc:161
ChannelElement(uint8_t *ptr, size_t size)
Constructs a channel from the given memory.
Definition opengd77base_codeplug.cc:77
virtual bool beep() const
Returns true, if the "beep" is enabled.
Definition opengd77base_codeplug.cc:313
virtual DMRChannel::TimeSlot timeSlot() const
Returns the time slot of the channel.
Definition opengd77base_codeplug.cc:466
virtual void enableRXOnly(bool enable)
Enables/disables RX only.
Definition opengd77base_codeplug.cc:489
static constexpr unsigned int size()
The size of the channel.
Definition opengd77base_codeplug.hh:67
virtual OpenGD77ChannelExtension::TalkerAlias aliasTimeSlot1() const
Returns the alias transmitted on time slot 1.
Definition opengd77base_codeplug.cc:420
virtual void setTXTone(const SelectiveCall &code)
Sets the TX subtone.
Definition opengd77base_codeplug.cc:285
virtual bool hasDMRId() const
Returns true if the global DMR ID is overridden.
Definition opengd77base_codeplug.cc:324
virtual void clear()
Resets the channel.
Definition opengd77base_codeplug.cc:94
virtual void setName(const QString &n)
Sets the name of the channel.
Definition opengd77base_codeplug.cc:129
virtual void setAliasTimeSlot2(OpenGD77ChannelExtension::TalkerAlias alias)
Sets the alias transmitted on time slot 2.
Definition opengd77base_codeplug.cc:455
virtual Interval transmitTimeout() const
Returns the transmit timeout.
Definition opengd77base_codeplug.cc:210
virtual bool fixedPositionEnabled() const
Returns true, if a fixed position is set for the channel.
Definition opengd77base_codeplug.cc:229
virtual void clearGroupListIndex()
Clears the group list index.
Definition opengd77base_codeplug.cc:362
virtual QGeoCoordinate fixedPosition() const
Returns the fixed position.
Definition opengd77base_codeplug.cc:234
virtual unsigned int squelchLevel() const
Returns the squelch level.
Definition opengd77base_codeplug.cc:532
virtual void setDMRId(unsigned int id)
Sets the DMR ID for this channel.
Definition opengd77base_codeplug.cc:334
virtual bool globalPower() const
Returns true if the power-setting is global.
Definition opengd77base_codeplug.cc:167
virtual FMChannel::Bandwidth bandwidth() const
Returns the bandwidth.
Definition opengd77base_codeplug.cc:476
virtual void enableSkipZoneScan(bool enable)
Enables/disables skipping in zone scan.
Definition opengd77base_codeplug.cc:507
virtual void setTXFrequency(const Frequency &freq)
Sets the TX frequency of the channel.
Definition opengd77base_codeplug.cc:151
virtual unsigned int aprsIndex() const
Returns the APRS system index.
Definition opengd77base_codeplug.cc:383
virtual bool powerSave() const
Returns true, if the power-save feature is enabled.
Definition opengd77base_codeplug.cc:302
SquelchMode
Possible squelch modes.
Definition opengd77base_codeplug.hh:52
virtual void clearTXContact()
Clears the TX contact index.
Definition opengd77base_codeplug.cc:414
Mode
Possible channel types.
Definition opengd77base_codeplug.hh:41
@ MODE_ANALOG
Analog channel, aka FM.
Definition opengd77base_codeplug.hh:42
@ MODE_DIGITAL
Digital channel, aka DMR.
Definition opengd77base_codeplug.hh:43
virtual void setTXContactIndex(unsigned int index)
Sets the TX contact index.
Definition opengd77base_codeplug.cc:409
virtual bool vox() const
Returns true if VOX is enabled.
Definition opengd77base_codeplug.cc:512
virtual QString name() const
Returns the name of the channel.
Definition opengd77base_codeplug.cc:124
virtual unsigned colorCode() const
Returns the color code.
Definition opengd77base_codeplug.cc:368
virtual SelectiveCall txTone() const
Returns the TX subtone.
Definition opengd77base_codeplug.cc:280
virtual SelectiveCall rxTone() const
Returns the RX subtone.
Definition opengd77base_codeplug.cc:270
virtual void setAliasTimeSlot1(OpenGD77ChannelExtension::TalkerAlias alias)
Sets the alias transmitted on time slot 1.
Definition opengd77base_codeplug.cc:432
virtual bool skipScan() const
Returns true if channel is skipped in a scan.
Definition opengd77base_codeplug.cc:494
virtual void clearDMRId()
Resets the DMR ID for this channel to the global one.
Definition opengd77base_codeplug.cc:340
virtual bool rxOnly() const
Returns true if RX only is enabled.
Definition opengd77base_codeplug.cc:485
virtual Frequency rxFrequency() const
Returns the RX frequency of the channel.
Definition opengd77base_codeplug.cc:135
virtual void enableFixedPosition(bool enable)
Resets the fixed position.
Definition opengd77base_codeplug.cc:264
virtual unsigned groupListIndex() const
Returns the group-list index.
Definition opengd77base_codeplug.cc:352
virtual bool skipZoneScan() const
Returns true if channel is skipped in zone scan.
Definition opengd77base_codeplug.cc:503
virtual Frequency txFrequency() const
Returns the TX frequency of the channel.
Definition opengd77base_codeplug.cc:146
virtual void setColorCode(unsigned cc)
Sets thecolor code.
Definition opengd77base_codeplug.cc:372
virtual ~ChannelElement()
Destructor.
Definition opengd77base_codeplug.cc:89
virtual unsigned int txContactIndex() const
Returns the TX contact index.
Definition opengd77base_codeplug.cc:404
virtual void setAPRSIndex(unsigned int index)
Sets the APRS system index.
Definition opengd77base_codeplug.cc:388
virtual bool encode(const Channel *c, Context &ctx, const ErrorStack &err=ErrorStack())
Initializes this codeplug channel from the given generic configuration.
Definition opengd77base_codeplug.cc:649
virtual void setFixedPosition(const QGeoCoordinate &coordinate)
Sets the fixed position for this channel.
Definition opengd77base_codeplug.cc:246
virtual Channel * decode(Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a generic Channel object from the codeplug channel.
Definition opengd77base_codeplug.cc:551
virtual void setGroupListIndex(unsigned index)
Sets the group-list index.
Definition opengd77base_codeplug.cc:357
virtual void setRXFrequency(const Frequency &freq)
Sets the RX frequency of the channel.
Definition opengd77base_codeplug.cc:140
virtual void setTimeSlot(DMRChannel::TimeSlot ts)
Sets the time slot of the channel.
Definition opengd77base_codeplug.cc:470
virtual OpenGD77ChannelExtension::TalkerAlias aliasTimeSlot2() const
Returns the alias transmitted on time slot 2.
Definition opengd77base_codeplug.cc:443
virtual void enableVOX(bool enable)
Enables/disables VOX.
Definition opengd77base_codeplug.cc:516
virtual Channel::Power power() const
Returns the power setting of the channel.
Definition opengd77base_codeplug.cc:172
virtual bool hasGroupList() const
Returns true if a group list is set.
Definition opengd77base_codeplug.cc:347
virtual bool isSimplex() const
Returns true if the channel is set to simplex.
Definition opengd77base_codeplug.cc:291
virtual SquelchMode squelchMode() const
Returns the squelch mode.
Definition opengd77base_codeplug.cc:522
virtual void clearAPRSIndex()
Resets the APRS system index.
Definition opengd77base_codeplug.cc:393
virtual void enablePowerSave(bool enable)
Enables/disables power-save.
Definition opengd77base_codeplug.cc:307
virtual void setTransmitTimeout(const Interval &interval)
Sets a transmit timeout.
Definition opengd77base_codeplug.cc:217
virtual void setRXTone(const SelectiveCall &code)
Sets the RX subtone.
Definition opengd77base_codeplug.cc:275
virtual void enableBeep(bool enable)
Enables/disables "the beep".
Definition opengd77base_codeplug.cc:318
virtual void setPower(Channel::Power pwr)
Sets the power setting of the channel.
Definition opengd77base_codeplug.cc:193
virtual bool link(Channel *c, Context &ctx, const ErrorStack &err=ErrorStack()) const
Links a previously constructed channel to the rest of the configuration.
Definition opengd77base_codeplug.cc:608
virtual void enableSkipScan(bool enable)
Enables/disables skipping in scan.
Definition opengd77base_codeplug.cc:498
virtual void setSquelch(SquelchMode mode, unsigned int level)
Set the squelch level and mode.
Definition opengd77base_codeplug.cc:538
virtual bool hasTXContact() const
Returns true, if the TX contact is set.
Definition opengd77base_codeplug.cc:399
virtual Mode mode() const
Returns the channel mode.
Definition opengd77base_codeplug.cc:157
virtual bool hasAPRSIndex() const
Returns true, if the APRS system index is set.
Definition opengd77base_codeplug.cc:378
virtual Frequency vhfMinFrequency() const
Returns the VHF minimum frequency.
Definition opengd77base_codeplug.cc:900
virtual void setUHFMaxFrequency(const Frequency &f)
Sets the UHF maximum frequency.
Definition opengd77base_codeplug.cc:894
virtual bool encode(const Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the settings.
Definition opengd77base_codeplug.cc:944
virtual bool decode(const Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the settings.
Definition opengd77base_codeplug.cc:958
virtual void setVHFMinFrequency(const Frequency &f)
Sets the VHF minimum frequency.
Definition opengd77base_codeplug.cc:905
virtual Frequency uhfMinFrequency() const
Returns the UHF minimum frequency.
Definition opengd77base_codeplug.cc:879
virtual void setVHFMaxFrequency(const Frequency &f)
Sets the VHF maximum frequency.
Definition opengd77base_codeplug.cc:916
void clear()
Abstract method to reset the element within the codeplug.
Definition opengd77base_codeplug.cc:872
static constexpr unsigned int size()
Returns the size of the element.
Definition opengd77base_codeplug.hh:410
virtual unsigned int radioId() const
Returns the DMR ID.
Definition opengd77base_codeplug.cc:933
virtual void setCall(const QString &call)
Sets the radio callsign.
Definition opengd77base_codeplug.cc:927
virtual void setRadioId(unsigned int id)
Sets the DMR ID.
Definition opengd77base_codeplug.cc:938
virtual Frequency vhfMaxFrequency() const
Returns the VHF maximum frequency.
Definition opengd77base_codeplug.cc:911
GeneralSettingsElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition opengd77base_codeplug.cc:858
virtual Frequency uhfMaxFrequency() const
Returns the UHF maximum frequency.
Definition opengd77base_codeplug.cc:889
virtual void setUHFMinFrequency(const Frequency &f)
Sets the UHF minimum frequency.
Definition opengd77base_codeplug.cc:884
virtual QString call() const
Returns the radio callsign.
Definition opengd77base_codeplug.cc:922
void clear()
Clears the group list bank.
Definition opengd77base_codeplug.cc:2152
virtual void clearGroupList(unsigned int i)
Clears the i-th group list.
Definition opengd77base_codeplug.cc:2179
virtual void setGroupListContactCount(unsigned int i, unsigned int count)
Sets the number of contacts in the given group list.
Definition opengd77base_codeplug.cc:2169
GroupListBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition opengd77base_codeplug.cc:2138
static constexpr unsigned int size()
Returns the size of the element.
Definition opengd77base_codeplug.hh:1132
virtual bool link(Context &ctx, const ErrorStack &err=ErrorStack())
Links all group lists.
Definition opengd77base_codeplug.cc:2223
virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes all group lists.
Definition opengd77base_codeplug.cc:2186
virtual bool hasGroupList(unsigned int i) const
Returns true, if the i-th group list is encoded.
Definition opengd77base_codeplug.cc:2159
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes all group lists.
Definition opengd77base_codeplug.cc:2205
virtual unsigned int groupListContactCount(unsigned int i) const
Returns the number of contacts in the given group list.
Definition opengd77base_codeplug.cc:2164
virtual GroupListElement groupList(unsigned int i) const
Returns the i-th group list.
Definition opengd77base_codeplug.cc:2174
Encodes a group list for all OpenGD77 codeplugs.
Definition opengd77base_codeplug.hh:1063
virtual bool link(RXGroupList *lst, Context &ctx, const ErrorStack &err=ErrorStack()) const
Links the group list element.
Definition opengd77base_codeplug.cc:2117
void clear()
Clears the group list.
Definition opengd77base_codeplug.cc:2050
virtual QString name() const
Returns the name of the group list.
Definition opengd77base_codeplug.cc:2057
virtual void setContactIndex(unsigned int i, unsigned int contactIdx)
Sets the i-th contact index.
Definition opengd77base_codeplug.cc:2078
GroupListElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition opengd77base_codeplug.cc:2036
virtual void setName(const QString &name)
Sets the name of the group list.
Definition opengd77base_codeplug.cc:2062
virtual bool hasContactIndex(unsigned int i) const
Returns true, if the i-th contact is set.
Definition opengd77base_codeplug.cc:2068
virtual RXGroupList * decode(Context &ctx, const ErrorStack &err=ErrorStack()) const
Decodes group list element.
Definition opengd77base_codeplug.cc:2110
virtual bool encode(RXGroupList *lst, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes group list element.
Definition opengd77base_codeplug.cc:2089
virtual void clearContactIndex(unsigned int i)
Clears the i-th contact index.
Definition opengd77base_codeplug.cc:2083
virtual unsigned int contactIndex(unsigned int i) const
Returns the i-th contact index.
Definition opengd77base_codeplug.cc:2073
static constexpr unsigned int size()
Returns the size of the element.
Definition opengd77base_codeplug.hh:1073
void setPause()
Set note as pause.
Definition opengd77base_codeplug.cc:2556
bool isValid() const override
Returns true if the pointer is not null.
Definition opengd77base_codeplug.cc:2527
static constexpr unsigned int size()
Size of the element.
Definition opengd77base_codeplug.hh:1341
unsigned int duration() const
Returns the duration in ms.
Definition opengd77base_codeplug.cc:2562
double frequency() const
Returns the pitch in Hz.
Definition opengd77base_codeplug.cc:2538
void setDuration(unsigned int ms)
Sets the interval.
Definition opengd77base_codeplug.cc:2567
void clear() override
Abstract method to reset the element within the codeplug.
Definition opengd77base_codeplug.cc:2522
void setFrequency(double pitch)
Sets the pitch in Hz.
Definition opengd77base_codeplug.cc:2545
bool isPause() const
Retunrs true if the note is a pause.
Definition opengd77base_codeplug.cc:2533
Implements the satellite config bank.
Definition opengd77base_codeplug.hh:1294
SatelliteElement satellite(unsigned int idx)
Returns the i-th satellite.
Definition opengd77base_codeplug.cc:2487
static constexpr unsigned int magic()
The magic number of the element.
Definition opengd77base_codeplug.hh:1306
bool encode(SatelliteDatabase *db, const ErrorStack &err=ErrorStack())
Encodes the given satellite database.
Definition opengd77base_codeplug.cc:2492
static constexpr unsigned int size()
The size of the element.
Definition opengd77base_codeplug.hh:1304
void clear()
Abstract method to reset the element within the codeplug.
Definition opengd77base_codeplug.cc:2479
SatelliteBankElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition opengd77base_codeplug.cc:2465
Encodes a satellite for the OpenGD77 devices.
Definition opengd77base_codeplug.hh:1177
void writeDigit(const Offset::Bit &offset, uint8_t digit)
Writes a single digit at the given offset.
Definition opengd77base_codeplug.cc:2262
void writeFixedPoint(const Offset::Bit &offset, double value, bool sign, unsigned int dec, unsigned int frac)
Writes a fixed point value as a BCD number.
Definition opengd77base_codeplug.cc:2323
virtual void setName(const QString &name)
Sets the name of the element.
Definition opengd77base_codeplug.cc:2338
virtual void setPerigee(double arg)
Sets argument of perigee.
Definition opengd77base_codeplug.cc:2369
void setAPRSPath(const QString &path)
Sets the APRS path.
Definition opengd77base_codeplug.cc:2424
void setFMDownlink(const Frequency &f)
Sets the downlink frequency.
Definition opengd77base_codeplug.cc:2390
virtual void setMeanMotionDerivative(double dmm)
Sets the first derivative of mean motion.
Definition opengd77base_codeplug.cc:2349
virtual void setEccentricity(double ecc)
Sets eccentricity.
Definition opengd77base_codeplug.cc:2364
void setFMUplink(const Frequency &f)
Sets the uplink frequency.
Definition opengd77base_codeplug.cc:2395
virtual void setRevolutionNumber(unsigned int num)
Sets the revolution number at epoch.
Definition opengd77base_codeplug.cc:2384
virtual void setEpoch(const ::OrbitalElement::Epoch &epoch)
Sets the epoch.
Definition opengd77base_codeplug.cc:2343
virtual void setInclination(double incl)
Sets the inclination.
Definition opengd77base_codeplug.cc:2354
SatelliteElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition opengd77base_codeplug.cc:2242
void clear()
Abstract method to reset the element within the codeplug.
Definition opengd77base_codeplug.cc:2256
virtual void setAscension(double asc)
Right ascension of the ascending node.
Definition opengd77base_codeplug.cc:2359
void setCTCSS(const SelectiveCall &call)
Sets the CTCSS tone.
Definition opengd77base_codeplug.cc:2400
void setAPRSDownlink(const Frequency &f)
Sets the APRS downlink frequency.
Definition opengd77base_codeplug.cc:2407
void writeFractional(const Offset::Bit &offset, double value, bool sign, unsigned int frac)
Writes a fixed point value as a BCD number.
Definition opengd77base_codeplug.cc:2297
void setBeacon(const Frequency &f)
Sets the beacon frequency.
Definition opengd77base_codeplug.cc:2418
virtual void setMeanMotion(double mm)
Sets the first derivative of mean motion.
Definition opengd77base_codeplug.cc:2379
virtual bool encode(const Satellite &sat, const ErrorStack &err=ErrorStack())
Encodes a satellite.
Definition opengd77base_codeplug.cc:2430
virtual void setMeanAnomaly(double ma)
Set the mean anomaly.
Definition opengd77base_codeplug.cc:2374
void writeInteger(const Offset::Bit &offset, int value, bool sign, unsigned dec)
Write a fixed digit integer value.
Definition opengd77base_codeplug.cc:2275
void setAPRSUplink(const Frequency &f)
Sets the APRS uplink frequency.
Definition opengd77base_codeplug.cc:2412
static constexpr unsigned int size()
The size of the element.
Definition opengd77base_codeplug.hh:1187
virtual double txOffset() const
Returns the transmit frequency offset.
Definition opengd77base_codeplug.cc:845
virtual double stepSize() const
Returns the tuning step-size in kHz.
Definition opengd77base_codeplug.cc:802
virtual OffsetMode offsetMode() const
Returns the transmit frequency offset mode.
Definition opengd77base_codeplug.cc:837
void setName(const QString &name)
The VFO channel has no name.
Definition opengd77base_codeplug.cc:796
virtual void setOffsetMode(OffsetMode mode)
Sets the transmit frequency offset mode.
Definition opengd77base_codeplug.cc:841
virtual void setStepSize(double kHz)
Sets the tuning step-size in kHz.
Definition opengd77base_codeplug.cc:817
QString name() const
The VFO channel has no name.
Definition opengd77base_codeplug.cc:792
void clear()
Resets the channel.
Definition opengd77base_codeplug.cc:784
VFOChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition opengd77base_codeplug.cc:771
StepSize
Possible tuning step sizes.
Definition opengd77base_codeplug.hh:347
@ SS5kHz
5kHz
Definition opengd77base_codeplug.hh:349
@ SS12_5kHz
12.5kHz
Definition opengd77base_codeplug.hh:352
@ SS10kHz
10kHz
Definition opengd77base_codeplug.hh:351
@ SS30kHz
30kHz
Definition opengd77base_codeplug.hh:354
@ SS2_5kHz
2.5kHz
Definition opengd77base_codeplug.hh:348
@ SS20kHz
20kHz
Definition opengd77base_codeplug.hh:353
@ SS6_25kHz
6.25kHz
Definition opengd77base_codeplug.hh:350
@ SS50kHz
50kHz
Definition opengd77base_codeplug.hh:355
virtual void setTXOffset(double f)
Sets the transmit frequency offset in MHz.
Definition opengd77base_codeplug.cc:849
OffsetMode
Possible offset frequency modes.
Definition opengd77base_codeplug.hh:340
@ Positive
Transmit offset frequency is positive (TX above RX).
Definition opengd77base_codeplug.hh:342
@ Off
Disables transmit frequency offset.
Definition opengd77base_codeplug.hh:341
@ Negative
Transmit offset frequency is negative (TX below RX).
Definition opengd77base_codeplug.hh:343
virtual void enable(unsigned idx, bool enabled)
Enable/disable a zone in the bank.
Definition opengd77base_codeplug.cc:1754
ZoneBankElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition opengd77base_codeplug.cc:1727
ZoneElement zone(unsigned int n)
Returns the n-th zone.
Definition opengd77base_codeplug.cc:1761
virtual bool link(Context &ctx, const ErrorStack &err=ErrorStack())
Links all zones.
Definition opengd77base_codeplug.cc:1806
~ZoneBankElement()
Destructor.
Definition opengd77base_codeplug.cc:1739
virtual bool isEnabled(unsigned idx) const
Returns true if the zone is enabled.
Definition opengd77base_codeplug.cc:1749
static constexpr unsigned int size()
The size of the zone element.
Definition opengd77base_codeplug.hh:899
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes all zones.
Definition opengd77base_codeplug.cc:1786
virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes all zones.
Definition opengd77base_codeplug.cc:1767
void clear()
Resets the bank.
Definition opengd77base_codeplug.cc:1744
Represents a zone within OpenGD77 codeplugs.
Definition opengd77base_codeplug.hh:824
bool isValid() const
Returns true if the zone is valid.
Definition opengd77base_codeplug.cc:1631
virtual bool encode(const Zone *zone, Context &ctx, const ErrorStack &err=ErrorStack())
Resets this codeplug zone representation from the given generic Zone object.
Definition opengd77base_codeplug.cc:1704
void clear()
Resets the zone.
Definition opengd77base_codeplug.cc:1626
static constexpr unsigned int size()
The size of the zone element.
Definition opengd77base_codeplug.hh:835
virtual QString name() const
Returns the name of the zone.
Definition opengd77base_codeplug.cc:1636
virtual Zone * decode(const Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a generic Zone object from this codeplug zone.
Definition opengd77base_codeplug.cc:1673
ZoneElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition opengd77base_codeplug.cc:1609
virtual bool hasMember(unsigned n) const
Returns true if a member is stored at the given index.
Definition opengd77base_codeplug.cc:1646
virtual unsigned member(unsigned n) const
Returns the n-th member index.
Definition opengd77base_codeplug.cc:1653
virtual void setMember(unsigned n, unsigned idx)
Sets the n-th member index.
Definition opengd77base_codeplug.cc:1660
virtual void clearMember(unsigned n)
Clears the n-th member index.
Definition opengd77base_codeplug.cc:1667
virtual void setName(const QString &name)
Sets the name of the zone.
Definition opengd77base_codeplug.cc:1640
virtual bool link(Zone *zone, Context &ctx, const ErrorStack &err=ErrorStack()) const
Links a previously constructed Zone object to the rest of the configuration.
Definition opengd77base_codeplug.cc:1684
virtual void clearZones()=0
Clears all zones.
ImageType
Possible image types.
Definition opengd77base_codeplug.hh:22
virtual void clearVFOSettings()=0
Clears the VFO settings.
virtual bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Updates the general settings from the given configuration.
virtual bool createZones(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds zones to the configuration.
bool decode(Config *config, const ErrorStack &err=ErrorStack())
Decodes a binary codeplug to the given abstract configuration config.
Definition opengd77base_codeplug.cc:2904
virtual bool encodeBootSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes boot settings.
virtual bool encodeContacts(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all digital contacts in the configuration into the codeplug.
OpenGD77BaseCodeplug(QObject *parent=nullptr)
Default hidden constructor.
Definition opengd77base_codeplug.cc:2733
static uint16_t encodeSelectiveCall(const SelectiveCall &call)
Encodes a selective call (tx/rx tone).
Definition opengd77base_codeplug.cc:31
virtual bool encodeDTMFContacts(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all DTMF contacts.
virtual bool decodeAPRSSettings(Context &ctx, const ErrorStack &err=ErrorStack())=0
Decodes the APRS settings.
virtual void clearContacts()=0
Clears all contacts in the codeplug.
virtual bool decodeElements(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes the binary codeplug and stores its content in the given generic configuration using the given...
Definition opengd77base_codeplug.cc:2930
virtual bool encodeElements(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the given generic configuration as a binary codeplug using the given context.
Definition opengd77base_codeplug.cc:2851
virtual bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds all defined channels to the configuration.
virtual bool createDTMFContacts(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds all DTMF contacts to the configuration.
virtual bool linkAPRSSettings(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links the APRS settings.
virtual bool linkZones(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all zones within the configuration.
virtual bool decodeDTMFSettings(Context &ctx, const ErrorStack &err=ErrorStack())=0
Decodes the DTMF settings.
virtual bool encodeGroupLists(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all group lists.
virtual bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all channels.
virtual void clearDTMFSettings()=0
Clears the DTMF settings.
virtual bool createContacts(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a digital contact to the configuration for each one in the codeplug.
bool encode(Config *config, const Flags &flags=Flags(), const ErrorStack &err=ErrorStack())
Encodes a given abstract configuration (config) to the device specific binary code-plug.
Definition opengd77base_codeplug.cc:2832
virtual void clearGeneralSettings()=0
Clears the general settings in the codeplug.
virtual void clearGroupLists()=0
Clears all group lists.
virtual void clearAPRSSettings()=0
Clears the APRS settings.
virtual bool encodeAPRSSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes APRS settings.
virtual bool decodeBootSettings(Context &ctx, const ErrorStack &err=ErrorStack())=0
Decodes the boot settings.
virtual bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encode all channels.
static SelectiveCall decodeSelectiveCall(uint16_t code)
Decodes a selective call (tx/rx tone).
Definition opengd77base_codeplug.cc:53
virtual void clearBootSettings()=0
Clear boot settings.
virtual bool encodeDTMFSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes DTMF settings.
static double decodeAngle(uint32_t code)
Decodes an angle used to store locations.
Definition opengd77base_codeplug.cc:23
virtual bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())=0
Updates the given configuration from the general settings.
Config * preprocess(Config *config, const ErrorStack &err=ErrorStack()) const
Returns a prepared configuration for this particular radio.
Definition opengd77base_codeplug.cc:2805
static uint32_t encodeAngle(double degee)
Encodes an angle used to store locations.
Definition opengd77base_codeplug.cc:15
virtual bool linkGroupLists(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all group lists.
virtual bool encodeZones(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes zones.
virtual void clearDTMFContacts()=0
Clears all DTMF contacts in the codeplug.
bool postprocess(Config *config, const ErrorStack &err=ErrorStack()) const
Returns a post-processed configuration of the decoded config.
Definition opengd77base_codeplug.cc:2914
virtual void clear()
Clears and resets the complete codeplug to some default values.
Definition opengd77base_codeplug.cc:2741
virtual void clearChannels()=0
Clear all channels.
bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition opengd77base_codeplug.cc:2763
virtual bool createGroupLists(Context &ctx, const ErrorStack &err=ErrorStack())=0
Creates all group lists.
Generic representation of a RX group list.
Definition rxgrouplist.hh:14
A table holding all known satellites.
Definition satellitedatabase.hh:108
Extends the OrbitalElement to include transponder information for a satellite.
Definition satellitedatabase.hh:18
Represents a zone within the generic configuration.
Definition zone.hh:15
Helper type to encode frequencies without any rounding error.
Definition frequency.hh:107
Some limits for the element.
Definition opengd77base_codeplug.hh:1459
static constexpr unsigned int magicStringLength()
Size of magic string.
Definition opengd77base_codeplug.hh:1461
Some internal offsets within the element.
Definition opengd77base_codeplug.hh:1466
Some limits for the melody config.
Definition opengd77base_codeplug.hh:1399
static constexpr unsigned int notes()
The maximum number of notes/pauses.
Definition opengd77base_codeplug.hh:1401
Some internal offsets.
Definition opengd77base_codeplug.hh:1406
Some limits for the settings.
Definition opengd77base_codeplug.hh:804
static constexpr unsigned int lineLength()
The total number of contacts.
Definition opengd77base_codeplug.hh:806
Some limits for the channel bank.
Definition opengd77base_codeplug.hh:316
static constexpr unsigned int channelCount()
The maximum number of channels.
Definition opengd77base_codeplug.hh:318
Some internal offset within the element.
Definition opengd77base_codeplug.hh:323
Some limits for this element.
Definition opengd77base_codeplug.hh:235
static constexpr unsigned int nameLength()
The maximum length of the name.
Definition opengd77base_codeplug.hh:237
Some internal offsets within the channel element.
Definition opengd77base_codeplug.hh:242
Some limits.
Definition opengd77base_codeplug.hh:449
static constexpr unsigned int callLength()
The maximum call length.
Definition opengd77base_codeplug.hh:451
Some internal offset within the element.
Definition opengd77base_codeplug.hh:456
Some limits for the element.
Definition opengd77base_codeplug.hh:1157
static constexpr unsigned int groupListCount()
Maximum number of group lists.
Definition opengd77base_codeplug.hh:1159
Some internal offsets within the element.
Definition opengd77base_codeplug.hh:1164
Some limits for the element.
Definition opengd77base_codeplug.hh:1101
static constexpr unsigned int contactCount()
Maximum number of contacts.
Definition opengd77base_codeplug.hh:1105
static constexpr unsigned int nameLength()
Maximum name length.
Definition opengd77base_codeplug.hh:1103
Some internal offsets within the element.
Definition opengd77base_codeplug.hh:1110
Internal offsets.
Definition opengd77base_codeplug.hh:1362
Some limits for the satellite config.
Definition opengd77base_codeplug.hh:1317
static constexpr unsigned int satellites()
The maximum number of satellites.
Definition opengd77base_codeplug.hh:1319
Some internal offsets.
Definition opengd77base_codeplug.hh:1324
Some limits for the zone bank.
Definition opengd77base_codeplug.hh:1258
static constexpr unsigned int nameLength()
The maximum name length.
Definition opengd77base_codeplug.hh:1260
static constexpr unsigned int pathLength()
Maximum length of the APRS path.
Definition opengd77base_codeplug.hh:1262
Some internal offsets within the element.
Definition opengd77base_codeplug.hh:1267
Some limits for the zone bank.
Definition opengd77base_codeplug.hh:923
static constexpr unsigned int zoneCount()
The maximum number of zones in this bank.
Definition opengd77base_codeplug.hh:925
Some internal offsets within the element.
Definition opengd77base_codeplug.hh:930
Some limits for zone elements.
Definition opengd77base_codeplug.hh:866
static constexpr unsigned int nameLength()
The maximum length of the zone name.
Definition opengd77base_codeplug.hh:868
static constexpr unsigned int memberCount()
The maximum number of members.
Definition opengd77base_codeplug.hh:870
Some internal offsets within the element.
Definition opengd77base_codeplug.hh:875
Encodes a selective call.
Definition signaling.hh:13