1#ifndef RADIODDITYCODEPLUG_HH
2#define RADIODDITYCODEPLUG_HH
8#include "radioddity_extensions.hh"
65 static constexpr unsigned int size() {
return 0x0038; }
71 virtual QString
name()
const;
73 virtual void setName(
const QString &n);
201 virtual bool rxOnly()
const;
209 virtual bool vox()
const;
236 static constexpr unsigned int name() {
return 0x0000; }
237 static constexpr unsigned int rxFrequency() {
return 0x0010; }
238 static constexpr unsigned int txFrequency() {
return 0x0014; }
239 static constexpr unsigned int mode() {
return 0x0018; }
240 static constexpr unsigned int txTimeout() {
return 0x001b; }
241 static constexpr unsigned int txTimeoutRekeyDelay() {
return 0x001c; }
243 static constexpr unsigned int scanList() {
return 0x001f; }
244 static constexpr unsigned int rxTone() {
return 0x0020; }
245 static constexpr unsigned int txTone() {
return 0x0022; }
246 static constexpr unsigned int txSignaling() {
return 0x0025; }
247 static constexpr unsigned int rxSignaling() {
return 0x0027; }
248 static constexpr unsigned int privacyGroup() {
return 0x0029; }
249 static constexpr unsigned int txColorCode() {
return 0x002a; }
250 static constexpr unsigned int groupList() {
return 0x002b; }
251 static constexpr unsigned int rxColorCode() {
return 0x002c; }
252 static constexpr unsigned int emergencySystem() {
return 0x002d; }
253 static constexpr unsigned int transmitContact() {
return 0x002e; }
258 static constexpr Bit
timeSlot() {
return {0x0031, 6}; }
261 static constexpr Bit
bandwidth() {
return {0x0033, 1}; }
262 static constexpr Bit
rxOnly() {
return {0x0033, 2}; }
263 static constexpr Bit
talkaround() {
return {0x0033, 3}; }
264 static constexpr Bit
vox() {
return {0x0033, 6}; }
265 static constexpr Bit
power() {
return {0x0033, 7}; }
287 static constexpr unsigned int size() {
return 0x1c10; }
293 virtual bool isEnabled(
unsigned idx)
const ;
295 virtual void enable(
unsigned idx,
bool enabled);
297 virtual uint8_t *
get(
unsigned idx)
const;
312 static constexpr unsigned int bitmask() {
return 0x0000; }
313 static constexpr unsigned int channels() {
return 0x0010; }
355 QString
name()
const;
376 static constexpr Bit stepSize() {
return {0x0036, 4} ; }
377 static constexpr Bit offsetMode() {
return {0x0036, 2} ; }
378 static constexpr unsigned int txOffset() {
return 0x0034; }
401 static constexpr unsigned int size() {
return 0x0018; }
409 virtual QString
name()
const;
414 virtual unsigned number()
const;
424 virtual bool ring()
const;
444 static constexpr unsigned int ringStyle() {
return 10; }
451 static constexpr unsigned int name() {
return 0x0000; }
452 static constexpr unsigned int number() {
return 0x0010; }
453 static constexpr unsigned int type() {
return 0x0014; }
454 static constexpr unsigned int ring() {
return 0x0015; }
455 static constexpr unsigned int ringStyle() {
return 0x0016; }
479 static constexpr unsigned int size() {
return 0x0020; }
487 virtual QString
name()
const;
492 virtual QString
number()
const;
514 static constexpr unsigned int name() {
return 0x0000; }
515 static constexpr unsigned int number() {
return 0x0010; }
537 static constexpr unsigned int size() {
return 0x0030; }
545 virtual QString
name()
const;
551 virtual bool hasMember(
unsigned n)
const;
553 virtual unsigned member(
unsigned n)
const;
555 virtual void setMember(
unsigned n,
unsigned idx);
582 static constexpr unsigned int name() {
return 0x0000; }
583 static constexpr unsigned int channels() {
return 0x0010; }
584 static constexpr unsigned int betweenChannels() {
return 0x0002; }
608 static constexpr unsigned int size() {
return 0x2f00; }
614 virtual bool isEnabled(
unsigned idx)
const ;
616 virtual void enable(
unsigned idx,
bool enabled);
619 virtual uint8_t *
get(
unsigned idx)
const;
627 static constexpr unsigned int zoneCount() {
return 250; }
634 static constexpr unsigned int bitmap() {
return 0x0000; }
635 static constexpr unsigned int zones() {
return 0x0020; }
658 static constexpr unsigned int size() {
return 0x0030; }
664 virtual QString
name()
const;
670 virtual bool hasMember(
unsigned n)
const;
672 virtual unsigned member(
unsigned n)
const;
674 virtual void setMember(
unsigned n,
unsigned idx);
696 static constexpr unsigned int name() {
return 0x0000; }
697 static constexpr unsigned int members() {
return 0x0010; }
698 static constexpr unsigned int betweenMembers() {
return 0x0002; }
721 static constexpr unsigned int size() {
return 0x0c80; }
727 virtual bool isEnabled(
unsigned n)
const;
734 virtual void disable(
unsigned n);
737 virtual uint8_t *
get(
unsigned n)
const;
749 static constexpr unsigned int contactCounts() {
return 0x0000; }
750 static constexpr unsigned int groupLists() {
return 0x0080; }
782 static constexpr unsigned int size() {
return 0x0058; }
788 virtual QString
name()
const;
808 virtual bool hasMember(
unsigned n)
const;
812 virtual unsigned member(
unsigned n)
const;
814 virtual void setMember(
unsigned n,
unsigned idx);
825 virtual unsigned primary()
const;
852 virtual unsigned revert()
const;
879 struct Limit:
public Element::Limit {
881 static constexpr unsigned int name() {
return 15; }
883 static constexpr unsigned int members() {
return 32; }
888 struct Offset:
public Element::Offset {
889 static constexpr unsigned int name() {
return 0x0000; }
890 static constexpr Bit channelMark() {
return {0x000f, 4}; }
891 static constexpr Bit mode() {
return {0x000f, 6}; }
892 static constexpr Bit talkback() {
return {0x000f, 7}; }
893 static constexpr unsigned int members() {
return 0x0010; }
894 static constexpr unsigned int betweenMembers() {
return 0x0002; }
895 static constexpr unsigned int primary() {
return 0x0050; }
896 static constexpr unsigned int secondary() {
return 0x0052; }
897 static constexpr unsigned int revert() {
return 0x0054; }
898 static constexpr unsigned int holdTime() {
return 0x0056; }
899 static constexpr unsigned int primaryHoldTime() {
return 0x0057; }
922 static constexpr unsigned int size() {
return 0x56f0; }
928 virtual bool isEnabled(
unsigned n)
const;
930 virtual void enable(
unsigned n,
bool enabled);
932 virtual uint8_t *
get(
unsigned n)
const;
944 static constexpr unsigned int bytemap() {
return 0x0000; }
945 static constexpr unsigned int scanLists() {
return 0x0040; }
977 static constexpr unsigned int size() {
return 0x0028; }
983 virtual QString
name()
const;
988 virtual unsigned radioID()
const;
1154 ToggleAllAlertTones = 0x01,
1156 EmergencyOff = 0x03,
1158 NuiaceDelete = 0x06,
1165 ToggleRepeatTalkaround = 0x0d,
1167 TogglePrivacy = 0x10,
1170 BatteryIndicator = 0x13,
1171 ToggleLoneWorker = 0x14,
1173 ToggleFlashLight = 0x1a,
1174 ToggleFMRadio = 0x1b
1267 static constexpr unsigned int sk1ShortPress() {
return 0x0002; }
1268 static constexpr unsigned int sk1LongPress() {
return 0x0003; }
1269 static constexpr unsigned int sk2ShortPress() {
return 0x0004; }
1270 static constexpr unsigned int sk2LongPress() {
return 0x0005; }
1271 static constexpr unsigned int tkShortPress() {
return 0x0006; }
1272 static constexpr unsigned int tkLongPress() {
return 0x0007; }
1273 static constexpr unsigned int oneTouchActions() {
return 0x0008; }
1274 static constexpr unsigned int betweenOneTouchActions() {
return 0x0004; }
1367 virtual bool tone()
const;
1371 virtual bool power()
const;
1400 virtual bool vox()
const;
1506 static constexpr unsigned int size() {
return 0x0020; }
1512 virtual QString
line1()
const;
1514 virtual void setLine1(
const QString &text);
1516 virtual QString
line2()
const;
1518 virtual void setLine2(
const QString &text);
1535 static constexpr unsigned int line1() {
return 0x0000;}
1536 static constexpr unsigned int line2() {
return 0x0010;}
1558 static constexpr unsigned int size() {
return 0x1248; }
1565 virtual QString
message(
unsigned n)
const;
1577 static constexpr unsigned int messages() {
return 32; }
1585 static constexpr unsigned int messageConut() {
return 0x0000; }
1586 static constexpr unsigned int messageLengths() {
return 0x0008; }
1587 static constexpr unsigned int messages() {
return 0x0048; }
1618 static constexpr unsigned int size() {
return 0x0088; }
1631 virtual QByteArray
basicKey(
unsigned n)
const;
1633 virtual void setBasicKey(
unsigned n,
const QByteArray &key);
1648 static constexpr unsigned int keyCount() {
return 16; }
1650 static constexpr unsigned int keySize() {
return 4; }
1657 static constexpr unsigned int privacyType() {
return 0x0000; }
1658 static constexpr unsigned int bitmap() {
return 0x0002; }
1659 static constexpr unsigned int keys() {
return 0x0008; }
1660 static constexpr unsigned int key() {
return 0x0008;}
1674 virtual void clear();
The base class of all channels (analog and digital) of a codeplug configuration.
Definition channel.hh:34
Power
Specifies the prefix for every ID assigned to every channel during serialization.
Definition channel.hh:61
Base class for all codeplug contexts.
Definition codeplug.hh:286
Represents the abstract base class of all codeplug elements.
Definition codeplug.hh:65
Certain flags passed to CodePlug::encode to control the transfer and encoding of the codeplug.
Definition codeplug.hh:24
This class defines the interface all device-specific code-plugs must implement.
Definition codeplug.hh:18
Implements the generic extension for the codeplug to represent some commercial features of DMR.
Definition commercial_extension.hh:11
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:398
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:251
Represents a time interval.
Definition interval.hh:11
static constexpr Interval fromMilliseconds(unsigned long long ms)
Definition interval.hh:73
Generic representation of a RX group list.
Definition rxgrouplist.hh:14
Implements the base class of boot settings for all Radioddity codeplugs.
Definition radioddity_codeplug.hh:1460
virtual bool bootPasswordEnabled() const
Returns true if the boot password is enabled.
Definition radioddity_codeplug.cc:2506
virtual bool bootText() const
Returns true if the text is shown on boot, other wise an image is shown.
Definition radioddity_codeplug.cc:2497
void clear()
Resets the settings.
Definition radioddity_codeplug.cc:2488
virtual void enableBootPassword(bool enable)
Enables/disables the boot password.
Definition radioddity_codeplug.cc:2510
virtual ~BootSettingsElement()
Destructor.
Definition radioddity_codeplug.cc:2483
virtual unsigned bootPassword() const
Returns the boot password (6 digit).
Definition radioddity_codeplug.cc:2515
virtual void enableBootText(bool enable)
Enables/disables boot text.
Definition radioddity_codeplug.cc:2501
virtual void setBootPassword(unsigned passwd)
Sets the boot password (6 digit).
Definition radioddity_codeplug.cc:2519
Implements the base class of boot messages for all Radioddity codeplugs.
Definition radioddity_codeplug.hh:1494
virtual void setLine1(const QString &text)
Sets the first line.
Definition radioddity_codeplug.cc:2553
virtual bool fromConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes boot text settings from configuration.
Definition radioddity_codeplug.cc:2567
static constexpr unsigned int size()
The size of the boot text element.
Definition radioddity_codeplug.hh:1506
virtual QString line1() const
Returns the first line.
Definition radioddity_codeplug.cc:2549
void clear()
Resets the intro text.
Definition radioddity_codeplug.cc:2543
virtual QString line2() const
Returns the Second line.
Definition radioddity_codeplug.cc:2558
virtual void setLine2(const QString &text)
Sets the second line.
Definition radioddity_codeplug.cc:2562
virtual ~BootTextElement()
Destructor.
Definition radioddity_codeplug.cc:2538
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Updates the configuration with the boot text settings.
Definition radioddity_codeplug.cc:2575
Implements the base for channel banks in Radioddity codeplugs.
Definition radioddity_codeplug.hh:275
virtual ~ChannelBankElement()
Destructor.
Definition radioddity_codeplug.cc:487
virtual uint8_t * get(unsigned idx) const
Returns a pointer to the channel at the given index.
Definition radioddity_codeplug.cc:508
virtual void enable(unsigned idx, bool enabled)
Enable/disable a channel in the bank.
Definition radioddity_codeplug.cc:502
void clear()
Clears the bank.
Definition radioddity_codeplug.cc:492
virtual bool isEnabled(unsigned idx) const
Returns true if the channel is enabled.
Definition radioddity_codeplug.cc:497
ChannelElement channel(unsigned int n)
Returns the n-th channel.
Definition radioddity_codeplug.cc:513
static constexpr unsigned int size()
The size of the channel bank.
Definition radioddity_codeplug.hh:287
Implements the base for all Radioddity channel encodings.
Definition radioddity_codeplug.hh:33
virtual bool hasGroupList() const
Returns true if a group list is set.
Definition radioddity_codeplug.cc:189
virtual void setRXSignalingIndex(unsigned index)
Sets RX signaling index (+1).
Definition radioddity_codeplug.cc:166
virtual ~ChannelElement()
Destructor.
Definition radioddity_codeplug.cc:29
virtual unsigned txSignalingIndex() const
Returns TX signaling index (+1).
Definition radioddity_codeplug.cc:154
virtual unsigned emergencySystemIndex() const
Returns the emergency system index (+1).
Definition radioddity_codeplug.cc:215
virtual void setTXFrequency(uint32_t freq)
Sets the TX frequency of the channel.
Definition radioddity_codeplug.cc:84
virtual bool nonSTEFrequency() const
Returns true if non-STE is frequency (?!).
Definition radioddity_codeplug.cc:287
virtual bool hasScanList() const
Returns true if a scan list is set.
Definition radioddity_codeplug.cc:124
virtual void enablePrivacy(bool enable)
Enables/disables privacy.
Definition radioddity_codeplug.cc:265
virtual void setContactIndex(unsigned index)
Sets the transmit contact index (+1).
Definition radioddity_codeplug.cc:232
virtual SelectiveCall txTone() const
Returns the TX subtone.
Definition radioddity_codeplug.cc:145
virtual void setPrivacyGroup(PrivacyGroup grp)
Sets the privacy group.
Definition radioddity_codeplug.cc:175
Mode
Possible channel types.
Definition radioddity_codeplug.hh:36
@ MODE_ANALOG
Analog channel, aka FM.
Definition radioddity_codeplug.hh:37
@ MODE_DIGITAL
Digital channel, aka DMR.
Definition radioddity_codeplug.hh:38
virtual uint32_t txFrequency() const
Returns the TX frequency of the channel.
Definition radioddity_codeplug.cc:80
virtual Admit admitCriterion() const
Returns the admit criterion.
Definition radioddity_codeplug.cc:115
virtual unsigned txColorCode() const
Returns the TX color code.
Definition radioddity_codeplug.cc:180
virtual void setTXTimeOut(unsigned tot)
Sets the TX timeout in seconds.
Definition radioddity_codeplug.cc:102
virtual void enableTalkaround(bool enable)
Enables/disables talkaround.
Definition radioddity_codeplug.cc:317
virtual unsigned scanListIndex() const
Returns the scan list index (+1).
Definition radioddity_codeplug.cc:128
virtual void setTXTone(const SelectiveCall &code)
Sets the TX subtone.
Definition radioddity_codeplug.cc:149
virtual void setGroupListIndex(unsigned index)
Sets the group-list index (+1).
Definition radioddity_codeplug.cc:197
virtual void enableDataCallConfirm(bool enable)
Enables/disables data-call-confirm.
Definition radioddity_codeplug.cc:241
static constexpr unsigned int size()
The size of the channel.
Definition radioddity_codeplug.hh:65
virtual void setRXColorCode(unsigned cc)
Sets the RX color code.
Definition radioddity_codeplug.cc:206
virtual bool dataCallConfirm() const
Returns true if data-call-confirm is enabled.
Definition radioddity_codeplug.cc:237
virtual void enableEmergencyAlarmACK(bool enable)
Enables/disables emergency alarm ACK.
Definition radioddity_codeplug.cc:249
virtual void enableRXOnly(bool enable)
Enables/disables RX only.
Definition radioddity_codeplug.cc:309
virtual SelectiveCall rxTone() const
Returns the RX subtone.
Definition radioddity_codeplug.cc:137
virtual void setAdmitCriterion(Admit admit)
Sets the admit criterion.
Definition radioddity_codeplug.cc:119
virtual void enableNonSTEFrequency(bool enable)
Enables/disables non-STE is frequency (?!).
Definition radioddity_codeplug.cc:291
virtual bool talkaround() const
Returns true if talkaround is enabled.
Definition radioddity_codeplug.cc:313
virtual unsigned contactIndex() const
Returns the transmit contact index (+1).
Definition radioddity_codeplug.cc:228
virtual uint32_t rxFrequency() const
Returns the RX frequency of the channel.
Definition radioddity_codeplug.cc:72
virtual void setMode(Mode mode)
Sets the channel mode.
Definition radioddity_codeplug.cc:93
virtual void setPower(Channel::Power pwr)
Sets the power setting of the channel.
Definition radioddity_codeplug.cc:334
virtual Mode mode() const
Returns the channel mode.
Definition radioddity_codeplug.cc:89
virtual unsigned groupListIndex() const
Returns the group-list index (+1).
Definition radioddity_codeplug.cc:193
virtual PrivacyGroup privacyGroup() const
Returns the privacy group.
Definition radioddity_codeplug.cc:171
virtual unsigned txTimeOutRekeyDelay() const
Returns the transmit time-out re-key delay in seconds.
Definition radioddity_codeplug.cc:106
virtual void setScanListIndex(unsigned index)
Sets the scan list index (+1).
Definition radioddity_codeplug.cc:132
virtual bool fromChannelObj(const Channel *c, Context &ctx, const ErrorStack &err=ErrorStack())
Initializes this codeplug channel from the given generic configuration.
Definition radioddity_codeplug.cc:411
virtual bool privacyEnabled() const
Returns true if privacy is enabled.
Definition radioddity_codeplug.cc:261
virtual void setRXTone(const SelectiveCall &code)
Sets the RX subtone.
Definition radioddity_codeplug.cc:141
virtual bool privateCallConfirm() const
Returns true if private-call-confirm is enabled.
Definition radioddity_codeplug.cc:253
virtual DMRChannel::TimeSlot timeSlot() const
Returns the time slot of the channel.
Definition radioddity_codeplug.cc:270
virtual void setRXFrequency(uint32_t freq)
Sets the RX frequency of the channel.
Definition radioddity_codeplug.cc:76
virtual void clear()
Resets the channel.
Definition radioddity_codeplug.cc:34
virtual Channel::Power power() const
Returns the power setting of the channel.
Definition radioddity_codeplug.cc:330
virtual bool vox() const
Returns true if VOX is enabled.
Definition radioddity_codeplug.cc:321
virtual void enablePrivateCallConfirm(bool enable)
Enables/disables private-call-confirm.
Definition radioddity_codeplug.cc:257
virtual bool hasEmergencySystem() const
Returns true if an emergency system is set.
Definition radioddity_codeplug.cc:211
virtual unsigned rxSignalingIndex() const
Returns RX signaling index (+1).
Definition radioddity_codeplug.cc:162
virtual void setEmergencySystemIndex(unsigned index)
Sets the emergency system index (+1).
Definition radioddity_codeplug.cc:219
PrivacyGroup
Possible privacy groups, not used in ham radio.
Definition radioddity_codeplug.hh:49
@ PRIVGR_NONE
No privacy group, default.
Definition radioddity_codeplug.hh:50
@ PRIVGR_53474C39
Privacy group 53474C39 (wtf?).
Definition radioddity_codeplug.hh:51
virtual bool linkChannelObj(Channel *c, Context &ctx, const ErrorStack &err=ErrorStack()) const
Links a previously constructed channel to the rest of the configuration.
Definition radioddity_codeplug.cc:392
virtual FMChannel::Bandwidth bandwidth() const
Returns the bandwidth.
Definition radioddity_codeplug.cc:296
virtual bool emergencyAlarmACK() const
Returns true if emergency alarm ACK is enabled.
Definition radioddity_codeplug.cc:245
Admit
Possible admit criteria.
Definition radioddity_codeplug.hh:42
@ ADMIT_CH_FREE
Allow TX on channel free.
Definition radioddity_codeplug.hh:44
@ ADMIT_ALWAYS
Allow always.
Definition radioddity_codeplug.hh:43
@ ADMIT_COLOR
Allow TX on matching color-code.
Definition radioddity_codeplug.hh:45
virtual QString name() const
Returns the name of the channel.
Definition radioddity_codeplug.cc:63
virtual void setBandwidth(FMChannel::Bandwidth bw)
Sets the bandwidth.
Definition radioddity_codeplug.cc:300
virtual bool rxOnly() const
Returns true if RX only is enabled.
Definition radioddity_codeplug.cc:305
virtual Channel * toChannelObj(Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a generic Channel object from the codeplug channel.
Definition radioddity_codeplug.cc:349
virtual unsigned rxColorCode() const
Returns the RX color code.
Definition radioddity_codeplug.cc:202
virtual void setName(const QString &n)
Sets the name of the channel.
Definition radioddity_codeplug.cc:67
virtual bool hasContact() const
Returns true if a TX contact is set.
Definition radioddity_codeplug.cc:224
virtual void setTXColorCode(unsigned cc)
Sets the TX color code.
Definition radioddity_codeplug.cc:184
virtual void setTXTimeOutRekeyDelay(unsigned delay)
Sets the transmit time-out re-key delay in seconds.
Definition radioddity_codeplug.cc:110
virtual unsigned txTimeOut() const
Returns the TX timeout in seconds.
Definition radioddity_codeplug.cc:98
virtual void setTimeSlot(DMRChannel::TimeSlot ts)
Sets the time slot of the channel.
Definition radioddity_codeplug.cc:274
virtual void enableDualCapacityDirectMode(bool enable)
Enables/disables the dual-capacity direct mode.
Definition radioddity_codeplug.cc:283
virtual void setTXSignalingIndex(unsigned index)
Sets TX signaling index (+1).
Definition radioddity_codeplug.cc:158
virtual void enableVOX(bool enable)
Enables/disables VOX.
Definition radioddity_codeplug.cc:325
virtual bool dualCapacityDirectMode() const
Returns true if the dual-capacity direct mode is enabled.
Definition radioddity_codeplug.cc:279
Represents all encryption keys and settings within the codeplug on the device.
Definition radioddity_codeplug.hh:1598
virtual void setPrivacyType(PrivacyType type)
Sets the privacy type.
Definition radioddity_codeplug.cc:2693
virtual PrivacyType privacyType() const
Returns the privacy type set.
Definition radioddity_codeplug.cc:2689
void clear()
Abstract method to reset the element within the codeplug.
Definition radioddity_codeplug.cc:2681
virtual bool updateCommercialExt(Context &ctx, const ErrorStack &err=ErrorStack())
Constructs the encryption extension.
Definition radioddity_codeplug.cc:2759
PrivacyType
Encodes possible privacy types.
Definition radioddity_codeplug.hh:1602
@ None
No encryption at all.
@ Basic
Use basic DMR encryption.
virtual QByteArray basicKey(unsigned n) const
Returns the n-th "basic" key (32bit).
Definition radioddity_codeplug.cc:2705
virtual bool fromCommercialExt(CommercialExtension *ext, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes given encryption extension.
Definition radioddity_codeplug.cc:2733
virtual void clearBasicKey(unsigned n)
Resets the n-th basic key.
Definition radioddity_codeplug.cc:2723
virtual ~EncryptionElement()
Destructor.
Definition radioddity_codeplug.cc:2676
virtual bool isBasicKeySet(unsigned n) const
Returns true if the n-th "basic" key (32bit) is set.
Definition radioddity_codeplug.cc:2698
virtual bool linkCommercialExt(CommercialExtension *ext, Context &ctx, const ErrorStack &err=ErrorStack())
Links the given encryption extension.
Definition radioddity_codeplug.cc:2783
static constexpr unsigned int size()
The size of the element.
Definition radioddity_codeplug.hh:1618
virtual void setBasicKey(unsigned n, const QByteArray &key)
Sets the n-th "basic" key (32bit).
Definition radioddity_codeplug.cc:2711
Implements the base class of general settings for all Radioddity codeplugs.
Definition radioddity_codeplug.hh:957
virtual bool allTonesDisabled() const
Returns true if all tones are disabled.
Definition radioddity_codeplug.cc:1673
virtual void enableUpChannelModeVFO(bool enable)
Enables/disables up-channel mode is VFO.
Definition radioddity_codeplug.cc:1610
virtual void setRepeaterEndDelay(unsigned delay)
Sets the repeater end delay in [0-10].
Definition radioddity_codeplug.cc:1752
virtual bool batsaveRX() const
Returns true if reception is disabled for battery saving.
Definition radioddity_codeplug.cc:1681
virtual void setCallAlertDuration(unsigned sec)
Sets the call-allert duration in seconds.
Definition radioddity_codeplug.cc:1559
virtual unsigned preambleDuration() const
Returns the preamble duration in ms.
Definition radioddity_codeplug.cc:1518
RadiodditySettingsExtension::MonitorType MonitorType
Use monitor type from extension.
Definition radioddity_codeplug.hh:960
virtual void enableDownChannelModeVFO(bool enable)
Enables/disables down-channel mode is VFO.
Definition radioddity_codeplug.cc:1602
virtual void enableBatsaveRX(bool enable)
Enables/disables battery saving by disabling RX.
Definition radioddity_codeplug.cc:1685
virtual bool animation() const
Returns true if animation is enabled.
Definition radioddity_codeplug.cc:1731
virtual void enableSelftestTone(bool enable)
Enables/disables reset tone.
Definition radioddity_codeplug.cc:1661
virtual unsigned radioID() const
Returns the DMR radio ID.
Definition radioddity_codeplug.cc:1509
virtual void enableDigitalTalkPermitTone(bool enable)
Enables/disables digital channel talk permit tone.
Definition radioddity_codeplug.cc:1645
virtual ~GeneralSettingsElement()
Destructor.
Definition radioddity_codeplug.cc:1445
virtual void setMonitorType(MonitorType type)
Sets the monitor type.
Definition radioddity_codeplug.cc:1531
virtual bool batsavePreamble() const
Returns true if preable is disabled for battery saving.
Definition radioddity_codeplug.cc:1689
virtual unsigned privateCallHangTime() const
Returns the private call hang time in ms.
Definition radioddity_codeplug.cc:1589
static constexpr unsigned int size()
The size of the element.
Definition radioddity_codeplug.hh:977
virtual QString name() const
Returns the radio name.
Definition radioddity_codeplug.cc:1500
virtual void setName(const QString &name)
Sets the radio name.
Definition radioddity_codeplug.cc:1504
virtual bool channelFreeIndicationTone() const
Returns true if the channel free indication tone is enabled.
Definition radioddity_codeplug.cc:1665
virtual void inhibitQuickKeyOverride(bool inhibit)
Inhibits quick-key override.
Definition radioddity_codeplug.cc:1710
virtual bool upChannelModeVFO() const
Returns true if the up-channel mode is VFO.
Definition radioddity_codeplug.cc:1606
virtual void disableAllTones(bool disable)
Disables/enables all tones.
Definition radioddity_codeplug.cc:1677
virtual void enableAnimation(bool enable)
Enables/disables animation.
Definition radioddity_codeplug.cc:1735
virtual QString progPassword() const
Returns the programming password.
Definition radioddity_codeplug.cc:1769
virtual bool allLEDsDisabled() const
Returns true if all LEDs are disabled.
Definition radioddity_codeplug.cc:1698
virtual void disableAllLEDs(bool disable)
Disables/enables all LEDs.
Definition radioddity_codeplug.cc:1702
void clear()
Resets the general settings.
Definition radioddity_codeplug.cc:1450
virtual bool digitalTalkPermitTone() const
Returns true if the digital channel talk permit tone is enabled.
Definition radioddity_codeplug.cc:1641
virtual bool analogTalkPermitTone() const
Returns true if the analog channel talk permit tone is enabled.
Definition radioddity_codeplug.cc:1649
virtual void setLoneWorkerResponsePeriod(unsigned min)
Sets the lone-worker response period in minutes.
Definition radioddity_codeplug.cc:1568
RadiodditySettingsExtension::ScanMode ScanMode
Use scan mode from extension.
Definition radioddity_codeplug.hh:964
virtual void setGroupCallHangTime(unsigned ms)
Sets the group call hang time in ms.
Definition radioddity_codeplug.cc:1585
virtual void clearProgPassword()
Resets the programming password.
Definition radioddity_codeplug.cc:1777
virtual void enableBatsavePreamble(bool enable)
Enables/disables battery saving by disabling preamble.
Definition radioddity_codeplug.cc:1693
RadioddityToneSettingsExtension::ARTSTone ARTSTone
Use ARTS tone mode from extension.
Definition radioddity_codeplug.hh:962
virtual bool unknownNumberTone() const
Returns true if the unknown number tone is enabled.
Definition radioddity_codeplug.cc:1623
virtual unsigned repeaterEndDelay() const
Returns the repeater end delay in [0-10].
Definition radioddity_codeplug.cc:1748
virtual bool fromConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the general setting from the given config.
Definition radioddity_codeplug.cc:1782
virtual ARTSTone artsToneMode() const
Returns the ARTS tone mode.
Definition radioddity_codeplug.cc:1632
virtual void enableUnknownNumberTone(bool enable)
Enables/disables reset tone.
Definition radioddity_codeplug.cc:1627
virtual bool hasProgPassword() const
Returns true if a programming password is set.
Definition radioddity_codeplug.cc:1765
virtual unsigned loneWorkerReminderPeriod() const
Returns the lone-worker reminder period in seconds.
Definition radioddity_codeplug.cc:1572
virtual void setRadioID(unsigned id)
Sets the DMR radio ID.
Definition radioddity_codeplug.cc:1513
virtual ScanMode scanMode() const
Returns the scan mode.
Definition radioddity_codeplug.cc:1739
virtual bool txOnActiveChannel() const
Returns true if the radio transmits on the active channel on double monitor.
Definition radioddity_codeplug.cc:1723
virtual unsigned voxSensitivity() const
Returns the VOX sensitivity [1-10], 0=disabled.
Definition radioddity_codeplug.cc:1536
virtual void setLowBatteryWarnInterval(unsigned sec)
Sets the low-battery warn interval in seconds.
Definition radioddity_codeplug.cc:1550
virtual void enableChannelFreeIndicationTone(bool enable)
Enables/disables channel free indication tone.
Definition radioddity_codeplug.cc:1669
virtual MonitorType monitorType() const
Returns the monitor type.
Definition radioddity_codeplug.cc:1527
virtual void setARTSToneMode(ARTSTone mode)
Sets the ARTS tone mode.
Definition radioddity_codeplug.cc:1636
virtual unsigned repeaterSTE() const
Returns the repeater STE in [0-10].
Definition radioddity_codeplug.cc:1756
virtual void setRepeaterSTE(unsigned ste)
Sets the repeater STE in [0-10].
Definition radioddity_codeplug.cc:1760
virtual unsigned groupCallHangTime() const
Returns the group call hang time in ms.
Definition radioddity_codeplug.cc:1581
virtual unsigned callAlertDuration() const
Returns the call-alert duration in seconds.
Definition radioddity_codeplug.cc:1555
virtual void setPrivateCallHangTime(unsigned ms)
Sets the private call hang time in ms.
Definition radioddity_codeplug.cc:1593
virtual void enableTXExitTone(bool enable)
Enables/disables TX exit tone.
Definition radioddity_codeplug.cc:1719
virtual void setPreambleDuration(unsigned ms)
Sets the preamble duration in ms.
Definition radioddity_codeplug.cc:1522
virtual unsigned loneWorkerResponsePeriod() const
Returns the lone-worker response period in minutes.
Definition radioddity_codeplug.cc:1564
virtual void enableAnalogTalkPermitTone(bool enable)
Enables/disables analog channel talk permit tone.
Definition radioddity_codeplug.cc:1653
virtual bool downChannelModeVFO() const
Returns true if the down-channel mode is VFO.
Definition radioddity_codeplug.cc:1598
virtual bool quickKeyOverrideInhibited() const
Returns true if quick-key override is inhibited.
Definition radioddity_codeplug.cc:1706
virtual bool resetTone() const
Returns true if the reset tone is enabled.
Definition radioddity_codeplug.cc:1615
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Updates the given config from this settings.
Definition radioddity_codeplug.cc:1837
virtual unsigned lowBatteryWarnInterval() const
Returns the low-battery warn interval in seconds.
Definition radioddity_codeplug.cc:1546
virtual void setVOXSensitivity(unsigned value)
Sets the VOX sensitivity.
Definition radioddity_codeplug.cc:1540
virtual void setProgPassword(const QString &pwd)
Sets the programming password.
Definition radioddity_codeplug.cc:1773
virtual bool txExitTone() const
Returns true if the TX exit tone is enabled.
Definition radioddity_codeplug.cc:1715
virtual void enableResetTone(bool enable)
Enables/disables reset tone.
Definition radioddity_codeplug.cc:1619
virtual void setScanMode(ScanMode mode)
Sets the scan mode.
Definition radioddity_codeplug.cc:1743
virtual bool selftestTone() const
Returns true if the reset tone is enabled.
Definition radioddity_codeplug.cc:1657
virtual void setLoneWorkerReminderPeriod(unsigned sec)
Sets the lone-worker reminder period in seconds.
Definition radioddity_codeplug.cc:1576
virtual void enableTXOnActiveChannel(bool enable)
Enables/disables transmission on active channel on double monitor.
Definition radioddity_codeplug.cc:1727
Implements a base class of group list memory banks for all Radioddity codeplugs.
Definition radioddity_codeplug.hh:709
virtual unsigned contactCount(unsigned n) const
Returns the number of contacts in the n-th group list.
Definition radioddity_codeplug.cc:1088
virtual bool isEnabled(unsigned n) const
Returns true if the n-th group list is enabled.
Definition radioddity_codeplug.cc:1084
static constexpr unsigned int size()
The size of the group list bank element.
Definition radioddity_codeplug.hh:721
virtual void setContactCount(unsigned n, unsigned size)
Sets the number of contacts in the n-th group list.
Definition radioddity_codeplug.cc:1092
void clear()
Resets the bank.
Definition radioddity_codeplug.cc:1079
virtual void disable(unsigned n)
Disables the n-th group list.
Definition radioddity_codeplug.cc:1096
virtual ~GroupListBankElement()
Destructor.
Definition radioddity_codeplug.cc:1074
virtual uint8_t * get(unsigned n) const
Returns a pointer to the n-th group list.
Definition radioddity_codeplug.cc:1101
Represents a base class for all group lists within Radioddity codeplugs.
Definition radioddity_codeplug.hh:646
virtual unsigned member(unsigned n) const
Returns the n-th member index (+1).
Definition radioddity_codeplug.cc:999
virtual QString name() const
Returns the name of the group list.
Definition radioddity_codeplug.cc:984
virtual void clearMember(unsigned n)
Clears the n-th member index.
Definition radioddity_codeplug.cc:1007
virtual void setMember(unsigned n, unsigned idx)
Sets the n-th member index (+1).
Definition radioddity_codeplug.cc:1003
void clear()
Resets the group list.
Definition radioddity_codeplug.cc:974
virtual RXGroupList * toRXGroupListObj(Context &ctx, const ErrorStack &err=ErrorStack())
Constructs a RXGroupList object from the codeplug representation.
Definition radioddity_codeplug.cc:1012
virtual ~GroupListElement()
Destructor.
Definition radioddity_codeplug.cc:969
static constexpr unsigned int size()
Size of the group list element.
Definition radioddity_codeplug.hh:658
virtual bool linkRXGroupListObj(unsigned int ncnt, RXGroupList *lst, Context &ctx, const ErrorStack &err=ErrorStack()) const
Links a previously constructed RXGroupList to the rest of the generic configuration.
Definition radioddity_codeplug.cc:1018
virtual bool hasMember(unsigned n) const
Returns true if the group list has an n-th member.
Definition radioddity_codeplug.cc:993
virtual bool fromRXGroupListObj(const RXGroupList *lst, Context &ctx, const ErrorStack &err=ErrorStack())
Reset this codeplug representation from a RXGroupList object.
Definition radioddity_codeplug.cc:1033
virtual void setName(const QString &name)
Sets the name of the group list.
Definition radioddity_codeplug.cc:988
Implements the base class of a message bank for all Radioddity message banks.
Definition radioddity_codeplug.hh:1546
virtual QString message(unsigned n) const
Returns the n-th message.
Definition radioddity_codeplug.cc:2616
virtual ~MessageBankElement()
Destructor.
Definition radioddity_codeplug.cc:2598
virtual unsigned numMessages() const
Returns the number of messages.
Definition radioddity_codeplug.cc:2612
virtual bool encode(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack())
Encodes all preset messages.
Definition radioddity_codeplug.cc:2636
static constexpr unsigned int size()
Returns the size of the message bank.
Definition radioddity_codeplug.hh:1558
virtual void appendMessage(const QString msg)
Appends a message to the list.
Definition radioddity_codeplug.cc:2622
void clear()
Resets all messages.
Definition radioddity_codeplug.cc:2603
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes all preset messages.
Definition radioddity_codeplug.cc:2647
Implements the base class of scan lists banks for all Radioddity codeplugs.
Definition radioddity_codeplug.hh:910
virtual bool isEnabled(unsigned n) const
Returns true if the n-th scan list is enabled.
Definition radioddity_codeplug.cc:1413
virtual ~ScanListBankElement()
Destructor.
Definition radioddity_codeplug.cc:1403
virtual void enable(unsigned n, bool enabled)
Enable/disable n-th scan list.
Definition radioddity_codeplug.cc:1417
virtual uint8_t * get(unsigned n) const
Returns a pointer to the n-th scan list.
Definition radioddity_codeplug.cc:1425
void clear()
Resets the scan list bank.
Definition radioddity_codeplug.cc:1408
static constexpr unsigned int size()
The size of the scan list bank.
Definition radioddity_codeplug.hh:922
Implements the base class for scan lists of all Radioddity codeplugs.
Definition radioddity_codeplug.hh:761
virtual ScanList * toScanListObj(Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a ScanList object from this codeplug representation.
Definition radioddity_codeplug.cc:1297
virtual bool hasSecondary() const
Returns true if the secondary priority channel is set.
Definition radioddity_codeplug.cc:1229
virtual void clearPrimary()
Clears the primary priority channel.
Definition radioddity_codeplug.cc:1224
virtual unsigned secondary() const
Return the channel index for the secondary priority channel.
Definition radioddity_codeplug.cc:1237
virtual void setName(const QString &name)
Sets the name of the scan list.
Definition radioddity_codeplug.cc:1147
virtual void clearSecondary()
Clears the secondary priority channel.
Definition radioddity_codeplug.cc:1249
virtual ~ScanListElement()
Destructor.
Definition radioddity_codeplug.cc:1125
virtual void setSelected(unsigned n)
Sets the n-th member to be the selected channel.
Definition radioddity_codeplug.cc:1195
virtual void setRevertSelected()
Sets the revert channel to be the selected one.
Definition radioddity_codeplug.cc:1270
void clear()
Resets the scan list.
Definition radioddity_codeplug.cc:1130
virtual void clearMember(unsigned n)
Clears the n-th member.
Definition radioddity_codeplug.cc:1199
virtual bool revertIsSelected() const
Returns true if the revert channel is the selected channel.
Definition radioddity_codeplug.cc:1258
virtual unsigned revert() const
Return the channel index for the revert channel.
Definition radioddity_codeplug.cc:1262
virtual bool secondaryIsSelected() const
Returns true if the secondary priority channel is the selected channel.
Definition radioddity_codeplug.cc:1233
virtual void enableTalkback(bool enable)
Enables/disables talk back.
Definition radioddity_codeplug.cc:1174
virtual void setPrioritySampleTime(unsigned ms)
Sets the priority sample time in ms.
Definition radioddity_codeplug.cc:1292
static constexpr unsigned int size()
The size of the scan list.
Definition radioddity_codeplug.hh:782
virtual void enableChannelMark(bool enable)
Enables/disables channel mark.
Definition radioddity_codeplug.cc:1156
virtual void setMember(unsigned n, unsigned idx)
Sets the n-th member index.
Definition radioddity_codeplug.cc:1191
virtual Mode mode() const
Returns the scan mode.
Definition radioddity_codeplug.cc:1161
virtual void setRevert(unsigned idx)
Sets the revert channel index.
Definition radioddity_codeplug.cc:1266
virtual void setSecondarySelected()
Sets the secondary priority channel to be the selected channel.
Definition radioddity_codeplug.cc:1245
virtual unsigned prioritySampleTime() const
Returns the priority sample time in ms.
Definition radioddity_codeplug.cc:1288
virtual bool hasPrimary() const
Returns true if the primary priority channel is set.
Definition radioddity_codeplug.cc:1204
virtual void clearRevert()
Clears the revert channel, sets it to last active.
Definition radioddity_codeplug.cc:1274
virtual unsigned member(unsigned n) const
Returns the n-th member index.
Definition radioddity_codeplug.cc:1187
virtual bool hasRevert() const
Returns true if the revert channel is set, if false the radio will transmit on the last active channe...
Definition radioddity_codeplug.cc:1254
virtual void setSecondary(unsigned idx)
Sets the secondary priority channel index.
Definition radioddity_codeplug.cc:1241
virtual bool linkScanListObj(ScanList *lst, Context &ctx, const ErrorStack &err=ErrorStack()) const
Links a previously constructed ScanList object to the rest of the generic configuration.
Definition radioddity_codeplug.cc:1303
virtual void setMode(Mode mode)
Sets the scan mode.
Definition radioddity_codeplug.cc:1165
virtual void setHoldTime(unsigned ms)
Sets the hold time in ms.
Definition radioddity_codeplug.cc:1283
virtual bool talkback() const
Returns true if talk back is enabled.
Definition radioddity_codeplug.cc:1170
virtual bool hasMember(unsigned n) const
Returns true if the n-th member is set.
Definition radioddity_codeplug.cc:1179
virtual unsigned primary() const
Return the channel index for the primary priority channel.
Definition radioddity_codeplug.cc:1212
virtual bool primaryIsSelected() const
Returns true if the primary priority channel is the selected channel.
Definition radioddity_codeplug.cc:1208
Mode
Possible priority channel types.
Definition radioddity_codeplug.hh:764
@ PL_PRI_NONPRI
Priority and non-priority channels.
Definition radioddity_codeplug.hh:768
@ PL_DISABLE
Disable priority channels.
Definition radioddity_codeplug.hh:766
@ PL_NONPRI
Only non-priority channels.
Definition radioddity_codeplug.hh:765
@ PL_PRI
Only priority channels.
Definition radioddity_codeplug.hh:767
virtual bool fromScanListObj(const ScanList *lst, Context &ctx, const ErrorStack &err=ErrorStack())
Initializes this codeplug representation from the given ScanList object.
Definition radioddity_codeplug.cc:1354
virtual bool isSelected(unsigned n) const
Returns true if the n-th member is selected channel.
Definition radioddity_codeplug.cc:1183
virtual unsigned holdTime() const
Returns the hold time in ms.
Definition radioddity_codeplug.cc:1279
virtual void setPrimarySelected()
Sets the primary priority channel to be the selected channel.
Definition radioddity_codeplug.cc:1220
virtual bool channelMark() const
Returns true if channel mark is enabled.
Definition radioddity_codeplug.cc:1152
virtual QString name() const
Returns the name of the scan list.
Definition radioddity_codeplug.cc:1143
virtual void setPrimary(unsigned idx)
Sets the primary priority channel index.
Definition radioddity_codeplug.cc:1216
VFO Channel representation within the binary codeplug.
Definition radioddity_codeplug.hh:323
virtual void setOffsetMode(OffsetMode mode)
Sets the transmit frequency offset mode.
Definition radioddity_codeplug.cc:591
virtual void setStepSize(double kHz)
Sets the tuning step-size in kHz.
Definition radioddity_codeplug.cc:567
OffsetMode
Possible offset frequency modes.
Definition radioddity_codeplug.hh:326
@ Positive
Transmit offset frequency is positive (TX above RX).
@ Off
Disables transmit frequency offset.
@ Negative
Transmit offset frequency is negative (TX below RX).
virtual void setTXOffset(double f)
Sets the transmit frequency offset in MHz.
Definition radioddity_codeplug.cc:599
void setName(const QString &name)
The VFO channel has no name.
Definition radioddity_codeplug.cc:546
virtual OffsetMode offsetMode() const
Returns the transmit frequency offset mode.
Definition radioddity_codeplug.cc:587
StepSize
Possible tuning step sizes.
Definition radioddity_codeplug.hh:333
QString name() const
The VFO channel has no name.
Definition radioddity_codeplug.cc:542
virtual double txOffset() const
Returns the transmit frequency offset.
Definition radioddity_codeplug.cc:595
void clear()
Resets the channel.
Definition radioddity_codeplug.cc:534
virtual double stepSize() const
Returns the tuning step-size in kHz.
Definition radioddity_codeplug.cc:552
Implements the base class for all zone banks of Radioddity codeplugs.
Definition radioddity_codeplug.hh:596
void clear()
Resets the bank.
Definition radioddity_codeplug.cc:933
virtual uint8_t * get(unsigned idx) const
Returns a pointer to the channel at the given index.
Definition radioddity_codeplug.cc:949
~ZoneBankElement()
Destructor.
Definition radioddity_codeplug.cc:928
ZoneElement zone(unsigned int n)
Returns the n-th zone.
static constexpr unsigned int size()
The size of the zone element.
Definition radioddity_codeplug.hh:608
virtual void enable(unsigned idx, bool enabled)
Enable/disable a channel in the bank.
Definition radioddity_codeplug.cc:943
virtual bool isEnabled(unsigned idx) const
Returns true if the channel is enabled.
Definition radioddity_codeplug.cc:938
Represents a zone within Radioddity codeplugs.
Definition radioddity_codeplug.hh:526
void clear()
Resets the zone.
Definition radioddity_codeplug.cc:805
virtual Zone * toZoneObj(Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a generic Zone object from this codeplug zone.
Definition radioddity_codeplug.cc:847
virtual bool fromZoneObjB(const Zone *zone, Context &ctx, const ErrorStack &err=ErrorStack())
Resets this codeplug zone representation from the given generic Zone object.
Definition radioddity_codeplug.cc:895
virtual QString name() const
Returns the name of the zone.
Definition radioddity_codeplug.cc:815
virtual bool fromZoneObjA(const Zone *zone, Context &ctx, const ErrorStack &err=ErrorStack())
Resets this codeplug zone representation from the given generic Zone object.
Definition radioddity_codeplug.cc:876
virtual unsigned member(unsigned n) const
Returns the n-th member index (+1).
Definition radioddity_codeplug.cc:830
virtual void setName(const QString &name)
Sets the name of the zone.
Definition radioddity_codeplug.cc:819
virtual bool hasMember(unsigned n) const
Returns true if a member is stored at the given index.
Definition radioddity_codeplug.cc:824
static constexpr unsigned int size()
The size of the zone element.
Definition radioddity_codeplug.hh:537
virtual void setMember(unsigned n, unsigned idx)
Sets the n-th member index (+1).
Definition radioddity_codeplug.cc:836
virtual bool linkZoneObj(Zone *zone, Context &ctx, const ErrorStack &err=ErrorStack()) const
Links a previously constructed Zone object to the rest of the configuration.
Definition radioddity_codeplug.cc:857
bool isValid() const
Returns true if the zone is valid.
Definition radioddity_codeplug.cc:810
virtual void clearMember(unsigned n)
Clears the n-th member index.
Definition radioddity_codeplug.cc:842
Base class of all Radioddity codeplugs.
Definition radioddity_codeplug.hh:24
virtual bool createChannels(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds all defined channels to the configuration.
virtual bool encodeGeneralSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Updates the general settings from the given configuration.
virtual bool encodeZones(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes zones.
virtual bool decodeMessages(Context &ctx, const ErrorStack &err=ErrorStack())=0
Decodes preset messages.
virtual void clearChannels()=0
Clear all channels.
virtual bool createScanLists(Context &ctx, const ErrorStack &err=ErrorStack())=0
Creates all scan lists.
virtual void clearGeneralSettings()=0
Clears the general settings 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 radioddity_codeplug.cc:2903
virtual bool createContacts(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a digital contact to the configuration for each one in the codeplug.
virtual bool linkZones(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all zones within the configuration.
virtual bool createDTMFContacts(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds all DTMF contacts to the configuration.
virtual bool decodeBootText(Context &ctx, const ErrorStack &err=ErrorStack())=0
Updates the given configuration from the boot text settings.
virtual bool encodeBootText(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes boot text.
virtual void clearVFOSettings()=0
Clears the VFO settings.
virtual bool encodeScanLists(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all scan lists.
virtual bool encodeChannels(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encode all channels.
virtual void clearMessages()=0
Clears the messages.
virtual void clearScanLists()=0
Clears all scan lists.
virtual bool createZones(Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds zones to the configuration.
virtual bool decodeGeneralSettings(Context &ctx, const ErrorStack &err=ErrorStack())=0
Updates the given configuration from the general settings.
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 radioddity_codeplug.cc:3011
virtual bool createEncryption(Context &ctx, const ErrorStack &err=ErrorStack())=0
Creates all encryption keys.
virtual void clearBootText()=0
Clears boot text.
virtual bool encodeButtonSettings(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack())=0
Encodes button settings.
virtual bool linkEncryption(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all encryption keys.
virtual bool encodeDTMFContacts(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all DTMF contacts.
bool decode(Config *config, const ErrorStack &err=ErrorStack())
Decodes a binary codeplug to the given abstract configuration config.
Definition radioddity_codeplug.cc:2984
virtual void clearZones()=0
Clears all zones.
bool postprocess(Config *config, const ErrorStack &err) const
Returns a post-processed configuration of the decoded config.
Definition radioddity_codeplug.cc:2995
virtual bool encodeContacts(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all digital contacts in the configuration into the codeplug.
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 radioddity_codeplug.cc:2921
virtual ~RadioddityCodeplug()
Destructor.
Definition radioddity_codeplug.cc:2799
virtual void clearEncryption()=0
Clears all encryption keys.
virtual bool encodeEncryption(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all encryption keys defined.
virtual void clearDTMFContacts()=0
Clears all DTMF contacts in the codeplug.
bool index(Config *config, Context &ctx, const ErrorStack &err=ErrorStack()) const
Indexes all elements of the codeplug.
Definition radioddity_codeplug.cc:2834
virtual bool createGroupLists(Context &ctx, const ErrorStack &err=ErrorStack())=0
Creates all group lists.
virtual bool encodeGroupLists(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all group lists.
virtual void clear()
Clears and resets the complete codeplug to some default values.
Definition radioddity_codeplug.cc:2804
virtual void clearMenuSettings()=0
Clears menu settings.
virtual bool linkScanLists(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all scan lists.
virtual void clearButtonSettings()=0
Clears the button settings.
virtual void clearBootSettings()=0
Clear boot settings.
virtual bool linkGroupLists(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all group lists.
virtual void clearGroupLists()=0
Clears all group lists.
virtual bool decodeButtonSettings(Context &ctx, const ErrorStack &err=ErrorStack())=0
Decodes the button settings.
Config * preprocess(Config *config, const ErrorStack &err) const
Returns a prepared configuration for this particular radio.
Definition radioddity_codeplug.cc:2884
virtual bool linkChannels(Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all channels.
virtual void clearContacts()=0
Clears all contacts in the codeplug.
virtual bool encodeMessages(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack())=0
Encodes preset messages.
MonitorType
Possible monitor types.
Definition radioddity_extensions.hh:373
ScanMode
Possible scan modes.
Definition radioddity_extensions.hh:380
ARTSTone
Possible ARTS tone settings.
Definition radioddity_extensions.hh:136
Simple range class representing some range in some data type.
Definition ranges.hh:14
Generic representation of a scan list.
Definition scanlist.hh:15
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 this element.
Definition radioddity_codeplug.hh:1527
static constexpr unsigned int lineLength()
The maximum length of the boot text line.
Definition radioddity_codeplug.hh:1528
Internal offsets within the element.
Definition radioddity_codeplug.hh:1533
Some limits for the channel bank.
Definition radioddity_codeplug.hh:303
static constexpr unsigned int channelCount()
The maximum number of channels.
Definition radioddity_codeplug.hh:305
Some internal offset within the element.
Definition radioddity_codeplug.hh:310
Some limits for this element.
Definition radioddity_codeplug.hh:227
static constexpr unsigned int nameLength()
The maximum length of the name.
Definition radioddity_codeplug.hh:229
Some internal offsets within the channel element.
Definition radioddity_codeplug.hh:234
Some limits for this element.
Definition radioddity_codeplug.hh:1646
static constexpr unsigned int keyCount()
The maximum number of keys.
Definition radioddity_codeplug.hh:1648
static constexpr unsigned int keySize()
The required key size.
Definition radioddity_codeplug.hh:1650
Internal offsets within the element.
Definition radioddity_codeplug.hh:1655
Some limits for the group list bank.
Definition radioddity_codeplug.hh:741
static constexpr unsigned int groupListCount()
Maximum number of group lists.
Definition radioddity_codeplug.hh:742
Internal offsets within the element.
Definition radioddity_codeplug.hh:747
Some limits for group lists.
Definition radioddity_codeplug.hh:687
static constexpr unsigned int memberCount()
Maximum number of entries.
Definition radioddity_codeplug.hh:689
static constexpr unsigned int nameLength()
Maximum name length.
Definition radioddity_codeplug.hh:688
Internal offsets within the element.
Definition radioddity_codeplug.hh:694
Some limits.
Definition radioddity_codeplug.hh:1576
static constexpr unsigned int messageLength()
Maximum length of each message.
Definition radioddity_codeplug.hh:1578
static constexpr unsigned int messages()
Maximum number of messages.
Definition radioddity_codeplug.hh:1577
Some internal used offset.
Definition radioddity_codeplug.hh:1583
Some limits for the scan list bank.
Definition radioddity_codeplug.hh:936
static constexpr unsigned int scanListCount()
Maximum number of scan lists.
Definition radioddity_codeplug.hh:937
Internal offsets within the element.
Definition radioddity_codeplug.hh:942
Some limits for the scan list.
Definition radioddity_codeplug.hh:879
static constexpr unsigned int name()
Maximum name length.
Definition radioddity_codeplug.hh:881
static constexpr unsigned int members()
Maximum number of members.
Definition radioddity_codeplug.hh:883
Some limits for the zone bank.
Definition radioddity_codeplug.hh:625
static constexpr unsigned int zoneCount()
The maximum number of zones in this bank.
Definition radioddity_codeplug.hh:627
Some internal offsets within the element.
Definition radioddity_codeplug.hh:632
Some limits for zone elements.
Definition radioddity_codeplug.hh:571
static constexpr unsigned int memberCount()
The maximum number of members.
Definition radioddity_codeplug.hh:575
static constexpr unsigned int nameLength()
The maximum length of the zone name.
Definition radioddity_codeplug.hh:573
Some internal offsets within the element.
Definition radioddity_codeplug.hh:580
Encodes a selective call.
Definition signaling.hh:13