1#ifndef RADIODDITYCODEPLUG_HH
2#define RADIODDITYCODEPLUG_HH
8#include "radioddity_extensions.hh"
10#include "bootsettings.hh"
66 static constexpr unsigned int size() {
return 0x0038; }
72 virtual QString
name()
const;
74 virtual void setName(
const QString &n);
202 virtual bool rxOnly()
const;
210 virtual bool vox()
const;
237 static constexpr unsigned int name() {
return 0x0000; }
238 static constexpr unsigned int rxFrequency() {
return 0x0010; }
239 static constexpr unsigned int txFrequency() {
return 0x0014; }
240 static constexpr unsigned int mode() {
return 0x0018; }
241 static constexpr unsigned int txTimeout() {
return 0x001b; }
242 static constexpr unsigned int txTimeoutRekeyDelay() {
return 0x001c; }
244 static constexpr unsigned int scanList() {
return 0x001f; }
245 static constexpr unsigned int rxTone() {
return 0x0020; }
246 static constexpr unsigned int txTone() {
return 0x0022; }
247 static constexpr unsigned int txSignaling() {
return 0x0025; }
248 static constexpr unsigned int rxSignaling() {
return 0x0027; }
249 static constexpr unsigned int privacyGroup() {
return 0x0029; }
250 static constexpr unsigned int txColorCode() {
return 0x002a; }
251 static constexpr unsigned int groupList() {
return 0x002b; }
252 static constexpr unsigned int rxColorCode() {
return 0x002c; }
253 static constexpr unsigned int emergencySystem() {
return 0x002d; }
254 static constexpr unsigned int transmitContact() {
return 0x002e; }
259 static constexpr Bit
timeSlot() {
return {0x0031, 6}; }
262 static constexpr Bit
bandwidth() {
return {0x0033, 1}; }
263 static constexpr Bit
rxOnly() {
return {0x0033, 2}; }
264 static constexpr Bit
talkaround() {
return {0x0033, 3}; }
265 static constexpr Bit
vox() {
return {0x0033, 6}; }
266 static constexpr Bit
power() {
return {0x0033, 7}; }
288 static constexpr unsigned int size() {
return 0x1c10; }
294 virtual bool isEnabled(
unsigned idx)
const ;
296 virtual void enable(
unsigned idx,
bool enabled);
298 virtual uint8_t *
get(
unsigned idx)
const;
313 static constexpr unsigned int bitmask() {
return 0x0000; }
314 static constexpr unsigned int channels() {
return 0x0010; }
356 QString
name()
const;
377 static constexpr Bit stepSize() {
return {0x0036, 4} ; }
378 static constexpr Bit offsetMode() {
return {0x0036, 2} ; }
379 static constexpr unsigned int txOffset() {
return 0x0034; }
402 static constexpr unsigned int size() {
return 0x0018; }
410 virtual QString
name()
const;
415 virtual unsigned number()
const;
425 virtual bool ring()
const;
445 static constexpr unsigned int ringStyle() {
return 10; }
452 static constexpr unsigned int name() {
return 0x0000; }
453 static constexpr unsigned int number() {
return 0x0010; }
454 static constexpr unsigned int type() {
return 0x0014; }
455 static constexpr unsigned int ring() {
return 0x0015; }
456 static constexpr unsigned int ringStyle() {
return 0x0016; }
480 static constexpr unsigned int size() {
return 0x0020; }
488 virtual QString
name()
const;
493 virtual QString
number()
const;
515 static constexpr unsigned int name() {
return 0x0000; }
516 static constexpr unsigned int number() {
return 0x0010; }
538 static constexpr unsigned int size() {
return 0x0030; }
546 virtual QString
name()
const;
552 virtual bool hasMember(
unsigned n)
const;
554 virtual unsigned member(
unsigned n)
const;
556 virtual void setMember(
unsigned n,
unsigned idx);
583 static constexpr unsigned int name() {
return 0x0000; }
584 static constexpr unsigned int channels() {
return 0x0010; }
585 static constexpr unsigned int betweenChannels() {
return 0x0002; }
609 static constexpr unsigned int size() {
return 0x2f00; }
615 virtual bool isEnabled(
unsigned idx)
const ;
617 virtual void enable(
unsigned idx,
bool enabled);
620 virtual uint8_t *
get(
unsigned idx)
const;
628 static constexpr unsigned int zoneCount() {
return 250; }
635 static constexpr unsigned int bitmap() {
return 0x0000; }
636 static constexpr unsigned int zones() {
return 0x0020; }
659 static constexpr unsigned int size() {
return 0x0030; }
665 virtual QString
name()
const;
671 virtual bool hasMember(
unsigned n)
const;
673 virtual unsigned member(
unsigned n)
const;
675 virtual void setMember(
unsigned n,
unsigned idx);
697 static constexpr unsigned int name() {
return 0x0000; }
698 static constexpr unsigned int members() {
return 0x0010; }
699 static constexpr unsigned int betweenMembers() {
return 0x0002; }
722 static constexpr unsigned int size() {
return 0x0c80; }
728 virtual bool isEnabled(
unsigned n)
const;
735 virtual void disable(
unsigned n);
738 virtual uint8_t *
get(
unsigned n)
const;
750 static constexpr unsigned int contactCounts() {
return 0x0000; }
751 static constexpr unsigned int groupLists() {
return 0x0080; }
783 static constexpr unsigned int size() {
return 0x0058; }
789 virtual QString
name()
const;
809 virtual bool hasMember(
unsigned n)
const;
813 virtual unsigned member(
unsigned n)
const;
815 virtual void setMember(
unsigned n,
unsigned idx);
826 virtual unsigned primary()
const;
853 virtual unsigned revert()
const;
880 struct Limit:
public Element::Limit {
882 static constexpr unsigned int name() {
return 15; }
884 static constexpr unsigned int members() {
return 32; }
889 struct Offset:
public Element::Offset {
890 static constexpr unsigned int name() {
return 0x0000; }
891 static constexpr Bit channelMark() {
return {0x000f, 4}; }
892 static constexpr Bit mode() {
return {0x000f, 6}; }
893 static constexpr Bit talkback() {
return {0x000f, 7}; }
894 static constexpr unsigned int members() {
return 0x0010; }
895 static constexpr unsigned int betweenMembers() {
return 0x0002; }
896 static constexpr unsigned int primary() {
return 0x0050; }
897 static constexpr unsigned int secondary() {
return 0x0052; }
898 static constexpr unsigned int revert() {
return 0x0054; }
899 static constexpr unsigned int holdTime() {
return 0x0056; }
900 static constexpr unsigned int primaryHoldTime() {
return 0x0057; }
923 static constexpr unsigned int size() {
return 0x56f0; }
929 virtual bool isEnabled(
unsigned n)
const;
931 virtual void enable(
unsigned n,
bool enabled);
933 virtual uint8_t *
get(
unsigned n)
const;
945 static constexpr unsigned int bytemap() {
return 0x0000; }
946 static constexpr unsigned int scanLists() {
return 0x0040; }
965 typedef RadiodditySettingsExtension::ScanMode
ScanMode;
978 static constexpr unsigned int size() {
return 0x0028; }
984 virtual QString
name()
const;
989 virtual unsigned radioID()
const;
1162 ToggleAllAlertTones = 0x01,
1164 EmergencyOff = 0x03,
1166 NuiaceDelete = 0x06,
1173 ToggleRepeatTalkaround = 0x0d,
1175 TogglePrivacy = 0x10,
1178 BatteryIndicator = 0x13,
1179 ToggleLoneWorker = 0x14,
1181 ToggleFlashLight = 0x1a,
1182 ToggleFMRadio = 0x1b
1275 static constexpr unsigned int sk1ShortPress() {
return 0x0002; }
1276 static constexpr unsigned int sk1LongPress() {
return 0x0003; }
1277 static constexpr unsigned int sk2ShortPress() {
return 0x0004; }
1278 static constexpr unsigned int sk2LongPress() {
return 0x0005; }
1279 static constexpr unsigned int tkShortPress() {
return 0x0006; }
1280 static constexpr unsigned int tkLongPress() {
return 0x0007; }
1281 static constexpr unsigned int oneTouchActions() {
return 0x0008; }
1282 static constexpr unsigned int betweenOneTouchActions() {
return 0x0004; }
1375 virtual bool tone()
const;
1379 virtual bool power()
const;
1408 virtual bool vox()
const;
1505 static constexpr unsigned passwordLength() {
return 8; }
1512 static constexpr unsigned int bootText() {
return 0x0000; }
1513 static constexpr unsigned int bootPasswordEnable() {
return 0x0001; }
1514 static constexpr unsigned int bootPassword() {
return 0x0002; }
1537 static constexpr unsigned int size() {
return 0x0020; }
1543 virtual QString
line1()
const;
1545 virtual void setLine1(
const QString &text);
1547 virtual QString
line2()
const;
1549 virtual void setLine2(
const QString &text);
1566 static constexpr unsigned int line1() {
return 0x0000;}
1567 static constexpr unsigned int line2() {
return 0x0010;}
1589 static constexpr unsigned int size() {
return 0x1248; }
1596 virtual QString
message(
unsigned n)
const;
1608 static constexpr unsigned int messages() {
return 32; }
1616 static constexpr unsigned int messageConut() {
return 0x0000; }
1617 static constexpr unsigned int messageLengths() {
return 0x0008; }
1618 static constexpr unsigned int messages() {
return 0x0048; }
1649 static constexpr unsigned int size() {
return 0x0088; }
1662 virtual QByteArray
basicKey(
unsigned n)
const;
1664 virtual void setBasicKey(
unsigned n,
const QByteArray &key);
1679 static constexpr unsigned int keyCount() {
return 16; }
1681 static constexpr unsigned int keySize() {
return 4; }
1688 static constexpr unsigned int privacyType() {
return 0x0000; }
1689 static constexpr unsigned int bitmap() {
return 0x0002; }
1690 static constexpr unsigned int keys() {
return 0x0008; }
1691 static constexpr unsigned int key() {
return 0x0008;}
1705 virtual void clear();
BootDisplay
What to display during boot.
Definition bootsettings.hh:50
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
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: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
static constexpr Interval fromMilliseconds(unsigned long long ms)
Definition interval.hh:73
Some simple class implementing a [1-10] level setting.
Definition level.hh:15
Generic representation of a RX group list.
Definition rxgrouplist.hh:14
virtual bool bootPasswordEnabled() const
Returns true if the boot password is enabled.
Definition radioddity_codeplug.cc:2542
virtual bool encode(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes boot settings from config.
Definition radioddity_codeplug.cc:2572
void clear()
Resets the settings.
Definition radioddity_codeplug.cc:2517
BootSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition radioddity_codeplug.cc:2500
virtual void enableBootPassword(bool enable)
Enables/disables the boot password.
Definition radioddity_codeplug.cc:2546
virtual ~BootSettingsElement()
Destructor.
Definition radioddity_codeplug.cc:2512
virtual BootSettings::BootDisplay bootDisplay() const
Returns the boot display mode.
Definition radioddity_codeplug.cc:2527
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack()) const
Decodes boot settings and updates config.
Definition radioddity_codeplug.cc:2581
virtual QString bootPassword() const
Returns the boot password (6 digit).
Definition radioddity_codeplug.cc:2552
virtual void setBootDisplay(BootSettings::BootDisplay mode)
Sets the boot display mode.
Definition radioddity_codeplug.cc:2534
virtual bool setBootPassword(const QString &passwd)
Sets the boot password (6 digit).
Definition radioddity_codeplug.cc:2557
virtual void setLine1(const QString &text)
Sets the first line.
Definition radioddity_codeplug.cc:2621
virtual bool fromConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes boot text settings from configuration.
Definition radioddity_codeplug.cc:2635
static constexpr unsigned int size()
The size of the boot text element.
Definition radioddity_codeplug.hh:1537
virtual QString line1() const
Returns the first line.
Definition radioddity_codeplug.cc:2617
void clear()
Resets the intro text.
Definition radioddity_codeplug.cc:2611
virtual QString line2() const
Returns the Second line.
Definition radioddity_codeplug.cc:2626
virtual void setLine2(const QString &text)
Sets the second line.
Definition radioddity_codeplug.cc:2630
virtual ~BootTextElement()
Destructor.
Definition radioddity_codeplug.cc:2606
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Updates the configuration with the boot text settings.
Definition radioddity_codeplug.cc:2643
BootTextElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition radioddity_codeplug.cc:2594
virtual ~ChannelBankElement()
Destructor.
Definition radioddity_codeplug.cc:504
virtual uint8_t * get(unsigned idx) const
Returns a pointer to the channel at the given index.
Definition radioddity_codeplug.cc:525
virtual void enable(unsigned idx, bool enabled)
Enable/disable a channel in the bank.
Definition radioddity_codeplug.cc:519
ChannelBankElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition radioddity_codeplug.cc:492
void clear()
Clears the bank.
Definition radioddity_codeplug.cc:509
virtual bool isEnabled(unsigned idx) const
Returns true if the channel is enabled.
Definition radioddity_codeplug.cc:514
ChannelElement channel(unsigned int n)
Returns the n-th channel.
Definition radioddity_codeplug.cc:530
static constexpr unsigned int size()
The size of the channel bank.
Definition radioddity_codeplug.hh:288
Implements the base for all Radioddity channel encodings.
Definition radioddity_codeplug.hh:34
virtual bool hasGroupList() const
Returns true if a group list is set.
Definition radioddity_codeplug.cc:196
virtual void setRXSignalingIndex(unsigned index)
Sets RX signaling index (+1).
Definition radioddity_codeplug.cc:173
virtual Interval txTimeOut() const
Returns the TX timeout in seconds.
Definition radioddity_codeplug.cc:100
virtual ~ChannelElement()
Destructor.
Definition radioddity_codeplug.cc:32
virtual unsigned txSignalingIndex() const
Returns TX signaling index (+1).
Definition radioddity_codeplug.cc:161
virtual unsigned emergencySystemIndex() const
Returns the emergency system index (+1).
Definition radioddity_codeplug.cc:222
virtual void setTXFrequency(uint32_t freq)
Sets the TX frequency of the channel.
Definition radioddity_codeplug.cc:87
virtual bool nonSTEFrequency() const
Returns true if non-STE is frequency (?
Definition radioddity_codeplug.cc:294
virtual bool hasScanList() const
Returns true if a scan list is set.
Definition radioddity_codeplug.cc:131
virtual void enablePrivacy(bool enable)
Enables/disables privacy.
Definition radioddity_codeplug.cc:272
virtual void setContactIndex(unsigned index)
Sets the transmit contact index (+1).
Definition radioddity_codeplug.cc:239
virtual SelectiveCall txTone() const
Returns the TX subtone.
Definition radioddity_codeplug.cc:152
virtual void setPrivacyGroup(PrivacyGroup grp)
Sets the privacy group.
Definition radioddity_codeplug.cc:182
Mode
Possible channel types.
Definition radioddity_codeplug.hh:37
@ MODE_ANALOG
Analog channel, aka FM.
Definition radioddity_codeplug.hh:38
@ MODE_DIGITAL
Digital channel, aka DMR.
Definition radioddity_codeplug.hh:39
virtual uint32_t txFrequency() const
Returns the TX frequency of the channel.
Definition radioddity_codeplug.cc:83
virtual Admit admitCriterion() const
Returns the admit criterion.
Definition radioddity_codeplug.cc:122
virtual unsigned txColorCode() const
Returns the TX color code.
Definition radioddity_codeplug.cc:187
virtual void enableTalkaround(bool enable)
Enables/disables talkaround.
Definition radioddity_codeplug.cc:324
virtual unsigned scanListIndex() const
Returns the scan list index (+1).
Definition radioddity_codeplug.cc:135
virtual void setTXTone(const SelectiveCall &code)
Sets the TX subtone.
Definition radioddity_codeplug.cc:156
virtual void setGroupListIndex(unsigned index)
Sets the group-list index (+1).
Definition radioddity_codeplug.cc:204
virtual void enableDataCallConfirm(bool enable)
Enables/disables data-call-confirm.
Definition radioddity_codeplug.cc:248
static constexpr unsigned int size()
The size of the channel.
Definition radioddity_codeplug.hh:66
virtual void setRXColorCode(unsigned cc)
Sets the RX color code.
Definition radioddity_codeplug.cc:213
virtual bool dataCallConfirm() const
Returns true if data-call-confirm is enabled.
Definition radioddity_codeplug.cc:244
virtual void setTXTimeOut(const Interval &tot)
Sets the TX timeout in seconds.
Definition radioddity_codeplug.cc:106
virtual void enableEmergencyAlarmACK(bool enable)
Enables/disables emergency alarm ACK.
Definition radioddity_codeplug.cc:256
virtual void enableRXOnly(bool enable)
Enables/disables RX only.
Definition radioddity_codeplug.cc:316
virtual SelectiveCall rxTone() const
Returns the RX subtone.
Definition radioddity_codeplug.cc:144
virtual void setAdmitCriterion(Admit admit)
Sets the admit criterion.
Definition radioddity_codeplug.cc:126
virtual void enableNonSTEFrequency(bool enable)
Enables/disables non-STE is frequency (?
Definition radioddity_codeplug.cc:298
virtual bool talkaround() const
Returns true if talkaround is enabled.
Definition radioddity_codeplug.cc:320
virtual unsigned contactIndex() const
Returns the transmit contact index (+1).
Definition radioddity_codeplug.cc:235
virtual uint32_t rxFrequency() const
Returns the RX frequency of the channel.
Definition radioddity_codeplug.cc:75
ChannelElement(uint8_t *ptr, size_t size)
Constructs a channel from the given memory.
Definition radioddity_codeplug.cc:20
virtual void setMode(Mode mode)
Sets the channel mode.
Definition radioddity_codeplug.cc:96
virtual void setPower(Channel::Power pwr)
Sets the power setting of the channel.
Definition radioddity_codeplug.cc:341
virtual Mode mode() const
Returns the channel mode.
Definition radioddity_codeplug.cc:92
virtual unsigned groupListIndex() const
Returns the group-list index (+1).
Definition radioddity_codeplug.cc:200
virtual PrivacyGroup privacyGroup() const
Returns the privacy group.
Definition radioddity_codeplug.cc:178
virtual unsigned txTimeOutRekeyDelay() const
Returns the transmit time-out re-key delay in seconds.
Definition radioddity_codeplug.cc:113
virtual void setScanListIndex(unsigned index)
Sets the scan list index (+1).
Definition radioddity_codeplug.cc:139
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:423
virtual bool privacyEnabled() const
Returns true if privacy is enabled.
Definition radioddity_codeplug.cc:268
virtual void setRXTone(const SelectiveCall &code)
Sets the RX subtone.
Definition radioddity_codeplug.cc:148
virtual bool privateCallConfirm() const
Returns true if private-call-confirm is enabled.
Definition radioddity_codeplug.cc:260
virtual DMRChannel::TimeSlot timeSlot() const
Returns the time slot of the channel.
Definition radioddity_codeplug.cc:277
virtual void setRXFrequency(uint32_t freq)
Sets the RX frequency of the channel.
Definition radioddity_codeplug.cc:79
virtual void clear()
Resets the channel.
Definition radioddity_codeplug.cc:37
virtual Channel::Power power() const
Returns the power setting of the channel.
Definition radioddity_codeplug.cc:337
virtual bool vox() const
Returns true if VOX is enabled.
Definition radioddity_codeplug.cc:328
virtual void enablePrivateCallConfirm(bool enable)
Enables/disables private-call-confirm.
Definition radioddity_codeplug.cc:264
virtual bool hasEmergencySystem() const
Returns true if an emergency system is set.
Definition radioddity_codeplug.cc:218
virtual unsigned rxSignalingIndex() const
Returns RX signaling index (+1).
Definition radioddity_codeplug.cc:169
virtual void setEmergencySystemIndex(unsigned index)
Sets the emergency system index (+1).
Definition radioddity_codeplug.cc:226
PrivacyGroup
Possible privacy groups, not used in ham radio.
Definition radioddity_codeplug.hh:50
@ PRIVGR_NONE
No privacy group, default.
Definition radioddity_codeplug.hh:51
@ PRIVGR_53474C39
Privacy group 53474C39 (wtf?).
Definition radioddity_codeplug.hh:52
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:404
virtual FMChannel::Bandwidth bandwidth() const
Returns the bandwidth.
Definition radioddity_codeplug.cc:303
virtual bool emergencyAlarmACK() const
Returns true if emergency alarm ACK is enabled.
Definition radioddity_codeplug.cc:252
Admit
Possible admit criteria.
Definition radioddity_codeplug.hh:43
@ ADMIT_CH_FREE
Allow TX on channel free.
Definition radioddity_codeplug.hh:45
@ ADMIT_ALWAYS
Allow always.
Definition radioddity_codeplug.hh:44
@ ADMIT_COLOR
Allow TX on matching color-code.
Definition radioddity_codeplug.hh:46
virtual QString name() const
Returns the name of the channel.
Definition radioddity_codeplug.cc:66
virtual void setBandwidth(FMChannel::Bandwidth bw)
Sets the bandwidth.
Definition radioddity_codeplug.cc:307
virtual bool rxOnly() const
Returns true if RX only is enabled.
Definition radioddity_codeplug.cc:312
virtual Channel * toChannelObj(Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a generic Channel object from the codeplug channel.
Definition radioddity_codeplug.cc:356
virtual unsigned rxColorCode() const
Returns the RX color code.
Definition radioddity_codeplug.cc:209
virtual void setName(const QString &n)
Sets the name of the channel.
Definition radioddity_codeplug.cc:70
virtual bool hasContact() const
Returns true if a TX contact is set.
Definition radioddity_codeplug.cc:231
virtual void setTXColorCode(unsigned cc)
Sets the TX color code.
Definition radioddity_codeplug.cc:191
virtual void setTXTimeOutRekeyDelay(unsigned delay)
Sets the transmit time-out re-key delay in seconds.
Definition radioddity_codeplug.cc:117
virtual void setTimeSlot(DMRChannel::TimeSlot ts)
Sets the time slot of the channel.
Definition radioddity_codeplug.cc:281
virtual void enableDualCapacityDirectMode(bool enable)
Enables/disables the dual-capacity direct mode.
Definition radioddity_codeplug.cc:290
virtual void setTXSignalingIndex(unsigned index)
Sets TX signaling index (+1).
Definition radioddity_codeplug.cc:165
virtual void enableVOX(bool enable)
Enables/disables VOX.
Definition radioddity_codeplug.cc:332
virtual bool dualCapacityDirectMode() const
Returns true if the dual-capacity direct mode is enabled.
Definition radioddity_codeplug.cc:286
virtual void setPrivacyType(PrivacyType type)
Sets the privacy type.
Definition radioddity_codeplug.cc:2761
virtual PrivacyType privacyType() const
Returns the privacy type set.
Definition radioddity_codeplug.cc:2757
void clear()
Abstract method to reset the element within the codeplug.
Definition radioddity_codeplug.cc:2749
virtual bool updateCommercialExt(Context &ctx, const ErrorStack &err=ErrorStack())
Constructs the encryption extension.
Definition radioddity_codeplug.cc:2827
PrivacyType
Encodes possible privacy types.
Definition radioddity_codeplug.hh:1633
@ None
No encryption at all.
Definition radioddity_codeplug.hh:1634
@ Basic
Use basic DMR encryption.
Definition radioddity_codeplug.hh:1635
virtual QByteArray basicKey(unsigned n) const
Returns the n-th "basic" key (32bit).
Definition radioddity_codeplug.cc:2773
virtual bool fromCommercialExt(CommercialExtension *ext, Context &ctx, const ErrorStack &err=ErrorStack())
Encodes given encryption extension.
Definition radioddity_codeplug.cc:2801
virtual void clearBasicKey(unsigned n)
Resets the n-th basic key.
Definition radioddity_codeplug.cc:2791
virtual ~EncryptionElement()
Destructor.
Definition radioddity_codeplug.cc:2744
virtual bool isBasicKeySet(unsigned n) const
Returns true if the n-th "basic" key (32bit) is set.
Definition radioddity_codeplug.cc:2766
virtual bool linkCommercialExt(CommercialExtension *ext, Context &ctx, const ErrorStack &err=ErrorStack())
Links the given encryption extension.
Definition radioddity_codeplug.cc:2851
static constexpr unsigned int size()
The size of the element.
Definition radioddity_codeplug.hh:1649
virtual void setBasicKey(unsigned n, const QByteArray &key)
Sets the n-th "basic" key (32bit).
Definition radioddity_codeplug.cc:2779
EncryptionElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition radioddity_codeplug.cc:2732
virtual bool allTonesDisabled() const
Returns true if all tones are disabled.
Definition radioddity_codeplug.cc:1689
virtual void enableUpChannelModeVFO(bool enable)
Enables/disables up-channel mode is VFO.
Definition radioddity_codeplug.cc:1626
virtual void setRepeaterEndDelay(unsigned delay)
Sets the repeater end delay in [0-10].
Definition radioddity_codeplug.cc:1768
virtual bool batsaveRX() const
Returns true if reception is disabled for battery saving.
Definition radioddity_codeplug.cc:1697
virtual void setCallAlertDuration(unsigned sec)
Sets the call-allert duration in seconds.
Definition radioddity_codeplug.cc:1575
RadiodditySettingsExtension::MonitorType MonitorType
Use monitor type from extension.
Definition radioddity_codeplug.hh:961
virtual void enableDownChannelModeVFO(bool enable)
Enables/disables down-channel mode is VFO.
Definition radioddity_codeplug.cc:1618
virtual void enableBatsaveRX(bool enable)
Enables/disables battery saving by disabling RX.
Definition radioddity_codeplug.cc:1701
virtual bool animation() const
Returns true if animation is enabled.
Definition radioddity_codeplug.cc:1747
virtual void enableSelftestTone(bool enable)
Enables/disables reset tone.
Definition radioddity_codeplug.cc:1677
virtual unsigned radioID() const
Returns the DMR radio ID.
Definition radioddity_codeplug.cc:1526
virtual void enableDigitalTalkPermitTone(bool enable)
Enables/disables digital channel talk permit tone.
Definition radioddity_codeplug.cc:1661
virtual ~GeneralSettingsElement()
Destructor.
Definition radioddity_codeplug.cc:1462
virtual Level voxSensitivity() const
Returns the VOX sensitivity [1-10], 0=disabled.
Definition radioddity_codeplug.cc:1553
virtual void setMonitorType(MonitorType type)
Sets the monitor type.
Definition radioddity_codeplug.cc:1548
virtual bool batsavePreamble() const
Returns true if preable is disabled for battery saving.
Definition radioddity_codeplug.cc:1705
GeneralSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition radioddity_codeplug.cc:1450
static constexpr unsigned int size()
The size of the element.
Definition radioddity_codeplug.hh:978
virtual QString name() const
Returns the radio name.
Definition radioddity_codeplug.cc:1517
virtual void setName(const QString &name)
Sets the radio name.
Definition radioddity_codeplug.cc:1521
virtual bool channelFreeIndicationTone() const
Returns true if the channel free indication tone is enabled.
Definition radioddity_codeplug.cc:1681
virtual void inhibitQuickKeyOverride(bool inhibit)
Inhibits quick-key override.
Definition radioddity_codeplug.cc:1726
virtual bool upChannelModeVFO() const
Returns true if the up-channel mode is VFO.
Definition radioddity_codeplug.cc:1622
virtual void disableAllTones(bool disable)
Disables/enables all tones.
Definition radioddity_codeplug.cc:1693
virtual void enableAnimation(bool enable)
Enables/disables animation.
Definition radioddity_codeplug.cc:1751
virtual QString progPassword() const
Returns the programming password.
Definition radioddity_codeplug.cc:1785
virtual bool allLEDsDisabled() const
Returns true if all LEDs are disabled.
Definition radioddity_codeplug.cc:1714
virtual void disableAllLEDs(bool disable)
Disables/enables all LEDs.
Definition radioddity_codeplug.cc:1718
void clear()
Resets the general settings.
Definition radioddity_codeplug.cc:1467
virtual bool digitalTalkPermitTone() const
Returns true if the digital channel talk permit tone is enabled.
Definition radioddity_codeplug.cc:1657
virtual bool analogTalkPermitTone() const
Returns true if the analog channel talk permit tone is enabled.
Definition radioddity_codeplug.cc:1665
virtual void setVOXSensitivity(Level value)
Sets the VOX sensitivity.
Definition radioddity_codeplug.cc:1557
virtual void setLoneWorkerResponsePeriod(unsigned min)
Sets the lone-worker response period in minutes.
Definition radioddity_codeplug.cc:1584
RadiodditySettingsExtension::ScanMode ScanMode
Use scan mode from extension.
Definition radioddity_codeplug.hh:965
virtual Interval groupCallHangTime() const
Returns the group call hang time in ms.
Definition radioddity_codeplug.cc:1597
virtual void clearProgPassword()
Resets the programming password.
Definition radioddity_codeplug.cc:1793
virtual void enableBatsavePreamble(bool enable)
Enables/disables battery saving by disabling preamble.
Definition radioddity_codeplug.cc:1709
RadioddityToneSettingsExtension::ARTSTone ARTSTone
Use ARTS tone mode from extension.
Definition radioddity_codeplug.hh:963
virtual bool unknownNumberTone() const
Returns true if the unknown number tone is enabled.
Definition radioddity_codeplug.cc:1639
virtual unsigned repeaterEndDelay() const
Returns the repeater end delay in [0-10].
Definition radioddity_codeplug.cc:1764
virtual bool fromConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Encodes the general setting from the given config.
Definition radioddity_codeplug.cc:1798
virtual ARTSTone artsToneMode() const
Returns the ARTS tone mode.
Definition radioddity_codeplug.cc:1648
virtual void enableUnknownNumberTone(bool enable)
Enables/disables reset tone.
Definition radioddity_codeplug.cc:1643
virtual bool hasProgPassword() const
Returns true if a programming password is set.
Definition radioddity_codeplug.cc:1781
virtual unsigned loneWorkerReminderPeriod() const
Returns the lone-worker reminder period in seconds.
Definition radioddity_codeplug.cc:1588
virtual void setRadioID(unsigned id)
Sets the DMR radio ID.
Definition radioddity_codeplug.cc:1530
virtual Interval preambleDuration() const
Returns the preamble duration in ms.
Definition radioddity_codeplug.cc:1535
virtual ScanMode scanMode() const
Returns the scan mode.
Definition radioddity_codeplug.cc:1755
virtual bool txOnActiveChannel() const
Returns true if the radio transmits on the active channel on double monitor.
Definition radioddity_codeplug.cc:1739
virtual void setLowBatteryWarnInterval(unsigned sec)
Sets the low-battery warn interval in seconds.
Definition radioddity_codeplug.cc:1566
virtual void enableChannelFreeIndicationTone(bool enable)
Enables/disables channel free indication tone.
Definition radioddity_codeplug.cc:1685
virtual MonitorType monitorType() const
Returns the monitor type.
Definition radioddity_codeplug.cc:1544
virtual void setPrivateCallHangTime(const Interval &dur)
Sets the private call hang time in ms.
Definition radioddity_codeplug.cc:1609
virtual void setARTSToneMode(ARTSTone mode)
Sets the ARTS tone mode.
Definition radioddity_codeplug.cc:1652
virtual unsigned repeaterSTE() const
Returns the repeater STE in [0-10].
Definition radioddity_codeplug.cc:1772
virtual void setRepeaterSTE(unsigned ste)
Sets the repeater STE in [0-10].
Definition radioddity_codeplug.cc:1776
virtual unsigned callAlertDuration() const
Returns the call-alert duration in seconds.
Definition radioddity_codeplug.cc:1571
virtual void setPreambleDuration(const Interval &dur)
Sets the preamble duration in ms.
Definition radioddity_codeplug.cc:1539
virtual void enableTXExitTone(bool enable)
Enables/disables TX exit tone.
Definition radioddity_codeplug.cc:1735
virtual unsigned loneWorkerResponsePeriod() const
Returns the lone-worker response period in minutes.
Definition radioddity_codeplug.cc:1580
virtual void enableAnalogTalkPermitTone(bool enable)
Enables/disables analog channel talk permit tone.
Definition radioddity_codeplug.cc:1669
virtual bool downChannelModeVFO() const
Returns true if the down-channel mode is VFO.
Definition radioddity_codeplug.cc:1614
virtual bool quickKeyOverrideInhibited() const
Returns true if quick-key override is inhibited.
Definition radioddity_codeplug.cc:1722
virtual bool resetTone() const
Returns true if the reset tone is enabled.
Definition radioddity_codeplug.cc:1631
virtual bool updateConfig(Context &ctx, const ErrorStack &err=ErrorStack())
Updates the given config from this settings.
Definition radioddity_codeplug.cc:1858
virtual unsigned lowBatteryWarnInterval() const
Returns the low-battery warn interval in seconds.
Definition radioddity_codeplug.cc:1562
virtual Interval privateCallHangTime() const
Returns the private call hang time in ms.
Definition radioddity_codeplug.cc:1605
virtual void setProgPassword(const QString &pwd)
Sets the programming password.
Definition radioddity_codeplug.cc:1789
virtual bool txExitTone() const
Returns true if the TX exit tone is enabled.
Definition radioddity_codeplug.cc:1731
virtual void enableResetTone(bool enable)
Enables/disables reset tone.
Definition radioddity_codeplug.cc:1635
virtual void setScanMode(ScanMode mode)
Sets the scan mode.
Definition radioddity_codeplug.cc:1759
virtual bool selftestTone() const
Returns true if the reset tone is enabled.
Definition radioddity_codeplug.cc:1673
virtual void setLoneWorkerReminderPeriod(unsigned sec)
Sets the lone-worker reminder period in seconds.
Definition radioddity_codeplug.cc:1592
virtual void setGroupCallHangTime(const Interval &dur)
Sets the group call hang time in ms.
Definition radioddity_codeplug.cc:1601
virtual void enableTXOnActiveChannel(bool enable)
Enables/disables transmission on active channel on double monitor.
Definition radioddity_codeplug.cc:1743
virtual unsigned contactCount(unsigned n) const
Returns the number of contacts in the n-th group list.
Definition radioddity_codeplug.cc:1105
virtual bool isEnabled(unsigned n) const
Returns true if the n-th group list is enabled.
Definition radioddity_codeplug.cc:1101
static constexpr unsigned int size()
The size of the group list bank element.
Definition radioddity_codeplug.hh:722
virtual void setContactCount(unsigned n, unsigned size)
Sets the number of contacts in the n-th group list.
Definition radioddity_codeplug.cc:1109
void clear()
Resets the bank.
Definition radioddity_codeplug.cc:1096
virtual void disable(unsigned n)
Disables the n-th group list.
Definition radioddity_codeplug.cc:1113
GroupListBankElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition radioddity_codeplug.cc:1079
virtual ~GroupListBankElement()
Destructor.
Definition radioddity_codeplug.cc:1091
virtual uint8_t * get(unsigned n) const
Returns a pointer to the n-th group list.
Definition radioddity_codeplug.cc:1118
virtual unsigned member(unsigned n) const
Returns the n-th member index (+1).
Definition radioddity_codeplug.cc:1016
virtual QString name() const
Returns the name of the group list.
Definition radioddity_codeplug.cc:1001
virtual void clearMember(unsigned n)
Clears the n-th member index.
Definition radioddity_codeplug.cc:1024
GroupListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition radioddity_codeplug.cc:974
virtual void setMember(unsigned n, unsigned idx)
Sets the n-th member index (+1).
Definition radioddity_codeplug.cc:1020
void clear()
Resets the group list.
Definition radioddity_codeplug.cc:991
virtual RXGroupList * toRXGroupListObj(Context &ctx, const ErrorStack &err=ErrorStack())
Constructs a RXGroupList object from the codeplug representation.
Definition radioddity_codeplug.cc:1029
virtual ~GroupListElement()
Destructor.
Definition radioddity_codeplug.cc:986
static constexpr unsigned int size()
Size of the group list element.
Definition radioddity_codeplug.hh:659
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:1035
virtual bool hasMember(unsigned n) const
Returns true if the group list has an n-th member.
Definition radioddity_codeplug.cc:1010
virtual bool fromRXGroupListObj(const RXGroupList *lst, Context &ctx, const ErrorStack &err=ErrorStack())
Reset this codeplug representation from a RXGroupList object.
Definition radioddity_codeplug.cc:1050
virtual void setName(const QString &name)
Sets the name of the group list.
Definition radioddity_codeplug.cc:1005
virtual QString message(unsigned n) const
Returns the n-th message.
Definition radioddity_codeplug.cc:2684
virtual ~MessageBankElement()
Destructor.
Definition radioddity_codeplug.cc:2666
virtual unsigned numMessages() const
Returns the number of messages.
Definition radioddity_codeplug.cc:2680
MessageBankElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition radioddity_codeplug.cc:2654
virtual bool encode(Context &ctx, const Flags &flags, const ErrorStack &err=ErrorStack())
Encodes all preset messages.
Definition radioddity_codeplug.cc:2704
static constexpr unsigned int size()
Returns the size of the message bank.
Definition radioddity_codeplug.hh:1589
virtual void appendMessage(const QString msg)
Appends a message to the list.
Definition radioddity_codeplug.cc:2690
void clear()
Resets all messages.
Definition radioddity_codeplug.cc:2671
virtual bool decode(Context &ctx, const ErrorStack &err=ErrorStack())
Decodes all preset messages.
Definition radioddity_codeplug.cc:2715
virtual bool isEnabled(unsigned n) const
Returns true if the n-th scan list is enabled.
Definition radioddity_codeplug.cc:1430
virtual ~ScanListBankElement()
Destructor.
Definition radioddity_codeplug.cc:1420
virtual void enable(unsigned n, bool enabled)
Enable/disable n-th scan list.
Definition radioddity_codeplug.cc:1434
virtual uint8_t * get(unsigned n) const
Returns a pointer to the n-th scan list.
Definition radioddity_codeplug.cc:1442
void clear()
Resets the scan list bank.
Definition radioddity_codeplug.cc:1425
static constexpr unsigned int size()
The size of the scan list bank.
Definition radioddity_codeplug.hh:923
ScanListBankElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition radioddity_codeplug.cc:1408
virtual ScanList * toScanListObj(Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a ScanList object from this codeplug representation.
Definition radioddity_codeplug.cc:1314
virtual bool hasSecondary() const
Returns true if the secondary priority channel is set.
Definition radioddity_codeplug.cc:1246
virtual void clearPrimary()
Clears the primary priority channel.
Definition radioddity_codeplug.cc:1241
virtual unsigned secondary() const
Return the channel index for the secondary priority channel.
Definition radioddity_codeplug.cc:1254
virtual void setName(const QString &name)
Sets the name of the scan list.
Definition radioddity_codeplug.cc:1164
virtual void clearSecondary()
Clears the secondary priority channel.
Definition radioddity_codeplug.cc:1266
ScanListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition radioddity_codeplug.cc:1130
virtual ~ScanListElement()
Destructor.
Definition radioddity_codeplug.cc:1142
virtual void setSelected(unsigned n)
Sets the n-th member to be the selected channel.
Definition radioddity_codeplug.cc:1212
virtual void setRevertSelected()
Sets the revert channel to be the selected one.
Definition radioddity_codeplug.cc:1287
void clear()
Resets the scan list.
Definition radioddity_codeplug.cc:1147
virtual void clearMember(unsigned n)
Clears the n-th member.
Definition radioddity_codeplug.cc:1216
virtual bool revertIsSelected() const
Returns true if the revert channel is the selected channel.
Definition radioddity_codeplug.cc:1275
virtual unsigned revert() const
Return the channel index for the revert channel.
Definition radioddity_codeplug.cc:1279
virtual bool secondaryIsSelected() const
Returns true if the secondary priority channel is the selected channel.
Definition radioddity_codeplug.cc:1250
virtual void enableTalkback(bool enable)
Enables/disables talk back.
Definition radioddity_codeplug.cc:1191
virtual void setPrioritySampleTime(unsigned ms)
Sets the priority sample time in ms.
Definition radioddity_codeplug.cc:1309
static constexpr unsigned int size()
The size of the scan list.
Definition radioddity_codeplug.hh:783
virtual void enableChannelMark(bool enable)
Enables/disables channel mark.
Definition radioddity_codeplug.cc:1173
virtual void setMember(unsigned n, unsigned idx)
Sets the n-th member index.
Definition radioddity_codeplug.cc:1208
virtual Mode mode() const
Returns the scan mode.
Definition radioddity_codeplug.cc:1178
virtual void setRevert(unsigned idx)
Sets the revert channel index.
Definition radioddity_codeplug.cc:1283
virtual void setSecondarySelected()
Sets the secondary priority channel to be the selected channel.
Definition radioddity_codeplug.cc:1262
virtual unsigned prioritySampleTime() const
Returns the priority sample time in ms.
Definition radioddity_codeplug.cc:1305
virtual bool hasPrimary() const
Returns true if the primary priority channel is set.
Definition radioddity_codeplug.cc:1221
virtual void clearRevert()
Clears the revert channel, sets it to last active.
Definition radioddity_codeplug.cc:1291
virtual unsigned member(unsigned n) const
Returns the n-th member index.
Definition radioddity_codeplug.cc:1204
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:1271
virtual void setSecondary(unsigned idx)
Sets the secondary priority channel index.
Definition radioddity_codeplug.cc:1258
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:1320
virtual void setMode(Mode mode)
Sets the scan mode.
Definition radioddity_codeplug.cc:1182
virtual void setHoldTime(unsigned ms)
Sets the hold time in ms.
Definition radioddity_codeplug.cc:1300
virtual bool talkback() const
Returns true if talk back is enabled.
Definition radioddity_codeplug.cc:1187
virtual bool hasMember(unsigned n) const
Returns true if the n-th member is set.
Definition radioddity_codeplug.cc:1196
virtual unsigned primary() const
Return the channel index for the primary priority channel.
Definition radioddity_codeplug.cc:1229
virtual bool primaryIsSelected() const
Returns true if the primary priority channel is the selected channel.
Definition radioddity_codeplug.cc:1225
Mode
Possible priority channel types.
Definition radioddity_codeplug.hh:765
@ PL_PRI_NONPRI
Priority and non-priority channels.
Definition radioddity_codeplug.hh:769
@ PL_DISABLE
Disable priority channels.
Definition radioddity_codeplug.hh:767
@ PL_NONPRI
Only non-priority channels.
Definition radioddity_codeplug.hh:766
@ PL_PRI
Only priority channels.
Definition radioddity_codeplug.hh:768
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:1371
virtual bool isSelected(unsigned n) const
Returns true if the n-th member is selected channel.
Definition radioddity_codeplug.cc:1200
virtual unsigned holdTime() const
Returns the hold time in ms.
Definition radioddity_codeplug.cc:1296
virtual void setPrimarySelected()
Sets the primary priority channel to be the selected channel.
Definition radioddity_codeplug.cc:1237
virtual bool channelMark() const
Returns true if channel mark is enabled.
Definition radioddity_codeplug.cc:1169
virtual QString name() const
Returns the name of the scan list.
Definition radioddity_codeplug.cc:1160
virtual void setPrimary(unsigned idx)
Sets the primary priority channel index.
Definition radioddity_codeplug.cc:1233
VFOChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition radioddity_codeplug.cc:538
virtual void setOffsetMode(OffsetMode mode)
Sets the transmit frequency offset mode.
Definition radioddity_codeplug.cc:608
virtual void setStepSize(double kHz)
Sets the tuning step-size in kHz.
Definition radioddity_codeplug.cc:584
OffsetMode
Possible offset frequency modes.
Definition radioddity_codeplug.hh:327
@ Positive
Transmit offset frequency is positive (TX above RX).
Definition radioddity_codeplug.hh:329
@ Off
Disables transmit frequency offset.
Definition radioddity_codeplug.hh:328
@ Negative
Transmit offset frequency is negative (TX below RX).
Definition radioddity_codeplug.hh:330
virtual void setTXOffset(double f)
Sets the transmit frequency offset in MHz.
Definition radioddity_codeplug.cc:616
void setName(const QString &name)
The VFO channel has no name.
Definition radioddity_codeplug.cc:563
virtual OffsetMode offsetMode() const
Returns the transmit frequency offset mode.
Definition radioddity_codeplug.cc:604
StepSize
Possible tuning step sizes.
Definition radioddity_codeplug.hh:334
@ SS5kHz
5kHz
Definition radioddity_codeplug.hh:336
@ SS12_5kHz
12.5kHz
Definition radioddity_codeplug.hh:339
@ SS10kHz
10kHz
Definition radioddity_codeplug.hh:338
@ SS30kHz
30kHz
Definition radioddity_codeplug.hh:341
@ SS2_5kHz
2.5kHz
Definition radioddity_codeplug.hh:335
@ SS20kHz
20kHz
Definition radioddity_codeplug.hh:340
@ SS6_25kHz
6.25kHz
Definition radioddity_codeplug.hh:337
@ SS50kHz
50kHz
Definition radioddity_codeplug.hh:342
QString name() const
The VFO channel has no name.
Definition radioddity_codeplug.cc:559
virtual double txOffset() const
Returns the transmit frequency offset.
Definition radioddity_codeplug.cc:612
void clear()
Resets the channel.
Definition radioddity_codeplug.cc:551
virtual double stepSize() const
Returns the tuning step-size in kHz.
Definition radioddity_codeplug.cc:569
void clear()
Resets the bank.
Definition radioddity_codeplug.cc:950
virtual uint8_t * get(unsigned idx) const
Returns a pointer to the channel at the given index.
Definition radioddity_codeplug.cc:966
ZoneBankElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition radioddity_codeplug.cc:933
~ZoneBankElement()
Destructor.
Definition radioddity_codeplug.cc:945
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:609
virtual void enable(unsigned idx, bool enabled)
Enable/disable a channel in the bank.
Definition radioddity_codeplug.cc:960
virtual bool isEnabled(unsigned idx) const
Returns true if the channel is enabled.
Definition radioddity_codeplug.cc:955
Represents a zone within Radioddity codeplugs.
Definition radioddity_codeplug.hh:527
void clear()
Resets the zone.
Definition radioddity_codeplug.cc:822
virtual Zone * toZoneObj(Context &ctx, const ErrorStack &err=ErrorStack()) const
Constructs a generic Zone object from this codeplug zone.
Definition radioddity_codeplug.cc:864
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:912
virtual QString name() const
Returns the name of the zone.
Definition radioddity_codeplug.cc:832
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:893
virtual unsigned member(unsigned n) const
Returns the n-th member index (+1).
Definition radioddity_codeplug.cc:847
virtual void setName(const QString &name)
Sets the name of the zone.
Definition radioddity_codeplug.cc:836
virtual bool hasMember(unsigned n) const
Returns true if a member is stored at the given index.
Definition radioddity_codeplug.cc:841
ZoneElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition radioddity_codeplug.cc:805
static constexpr unsigned int size()
The size of the zone element.
Definition radioddity_codeplug.hh:538
virtual void setMember(unsigned n, unsigned idx)
Sets the n-th member index (+1).
Definition radioddity_codeplug.cc:853
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:874
bool isValid() const
Returns true if the zone is valid.
Definition radioddity_codeplug.cc:827
virtual void clearMember(unsigned n)
Clears the n-th member index.
Definition radioddity_codeplug.cc:859
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:2994
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 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.
RadioddityCodeplug(QObject *parent=nullptr)
Hidden constructor, use a device specific class to instantiate.
Definition radioddity_codeplug.cc:2861
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:3102
virtual bool createEncryption(Context &ctx, const ErrorStack &err=ErrorStack())=0
Creates all encryption keys.
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 encodeBootSettings(const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes boot text.
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:3075
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:3086
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:3012
virtual bool decodeBootSettings(Context &ctx, const ErrorStack &err=ErrorStack())=0
Updates the given configuration from the boot text settings.
virtual ~RadioddityCodeplug()
Destructor.
Definition radioddity_codeplug.cc:2867
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:2902
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:2872
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
Clears boot text.
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:2967
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.
ARTSTone
Possible ARTS tone settings.
Definition radioddity_extensions.hh:119
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 the settings.
Definition radioddity_codeplug.hh:1503
Internal offsets.
Definition radioddity_codeplug.hh:1510
Some limits for this element.
Definition radioddity_codeplug.hh:1558
static constexpr unsigned int lineLength()
The maximum length of the boot text line.
Definition radioddity_codeplug.hh:1559
Internal offsets within the element.
Definition radioddity_codeplug.hh:1564
Some limits for the channel bank.
Definition radioddity_codeplug.hh:304
static constexpr unsigned int channelCount()
The maximum number of channels.
Definition radioddity_codeplug.hh:306
Some internal offset within the element.
Definition radioddity_codeplug.hh:311
Some limits for this element.
Definition radioddity_codeplug.hh:228
static constexpr unsigned int nameLength()
The maximum length of the name.
Definition radioddity_codeplug.hh:230
Some internal offsets within the channel element.
Definition radioddity_codeplug.hh:235
Some limits for this element.
Definition radioddity_codeplug.hh:1677
static constexpr unsigned int keyCount()
The maximum number of keys.
Definition radioddity_codeplug.hh:1679
static constexpr unsigned int keySize()
The required key size.
Definition radioddity_codeplug.hh:1681
Internal offsets within the element.
Definition radioddity_codeplug.hh:1686
Some limits for the settings.
Definition radioddity_codeplug.hh:1137
Some limits for the group list bank.
Definition radioddity_codeplug.hh:742
static constexpr unsigned int groupListCount()
Maximum number of group lists.
Definition radioddity_codeplug.hh:743
Internal offsets within the element.
Definition radioddity_codeplug.hh:748
Some limits for group lists.
Definition radioddity_codeplug.hh:688
static constexpr unsigned int memberCount()
Maximum number of entries.
Definition radioddity_codeplug.hh:690
static constexpr unsigned int nameLength()
Maximum name length.
Definition radioddity_codeplug.hh:689
Internal offsets within the element.
Definition radioddity_codeplug.hh:695
Some limits.
Definition radioddity_codeplug.hh:1607
static constexpr unsigned int messageLength()
Maximum length of each message.
Definition radioddity_codeplug.hh:1609
static constexpr unsigned int messages()
Maximum number of messages.
Definition radioddity_codeplug.hh:1608
Some internal used offset.
Definition radioddity_codeplug.hh:1614
Some limits for the scan list bank.
Definition radioddity_codeplug.hh:937
static constexpr unsigned int scanListCount()
Maximum number of scan lists.
Definition radioddity_codeplug.hh:938
Internal offsets within the element.
Definition radioddity_codeplug.hh:943
Some limits for the scan list.
Definition radioddity_codeplug.hh:880
static constexpr unsigned int name()
Maximum name length.
Definition radioddity_codeplug.hh:882
static constexpr unsigned int members()
Maximum number of members.
Definition radioddity_codeplug.hh:884
Some limits for the zone bank.
Definition radioddity_codeplug.hh:626
static constexpr unsigned int zoneCount()
The maximum number of zones in this bank.
Definition radioddity_codeplug.hh:628
Some internal offsets within the element.
Definition radioddity_codeplug.hh:633
Some limits for zone elements.
Definition radioddity_codeplug.hh:572
static constexpr unsigned int memberCount()
The maximum number of members.
Definition radioddity_codeplug.hh:576
static constexpr unsigned int nameLength()
The maximum length of the zone name.
Definition radioddity_codeplug.hh:574
Some internal offsets within the element.
Definition radioddity_codeplug.hh:581
Encodes a selective call.
Definition signaling.hh:13