1 #ifndef RADIODDITYCODEPLUG_HH
2 #define RADIODDITYCODEPLUG_HH
5 #include "signaling.hh"
8 #include "radioddity_extensions.hh"
66 virtual QString
name()
const;
68 virtual void setName(
const QString &n);
196 virtual bool rxOnly()
const;
204 virtual bool vox()
const;
241 virtual bool isEnabled(
unsigned idx)
const ;
243 virtual void enable(
unsigned idx,
bool enabled);
245 virtual uint8_t *
get(
unsigned idx)
const;
285 QString
name()
const;
327 virtual QString
name()
const;
332 virtual unsigned number()
const;
342 virtual bool ring()
const;
380 virtual QString
name()
const;
385 virtual QString
number()
const;
417 virtual QString
name()
const;
423 virtual bool hasMember(
unsigned n)
const;
425 virtual unsigned member(
unsigned n)
const;
427 virtual void setMember(
unsigned n,
unsigned idx);
463 virtual bool isEnabled(
unsigned idx)
const ;
465 virtual void enable(
unsigned idx,
bool enabled);
467 virtual uint8_t *
get(
unsigned idx)
const;
491 virtual QString
name()
const;
497 virtual bool hasMember(
unsigned n)
const;
499 virtual unsigned member(
unsigned n)
const;
501 virtual void setMember(
unsigned n,
unsigned idx);
534 virtual bool isEnabled(
unsigned n)
const;
541 virtual void disable(
unsigned n);
544 virtual uint8_t *
get(
unsigned n)
const;
577 virtual QString
name()
const;
597 virtual bool hasMember(
unsigned n)
const;
601 virtual unsigned member(
unsigned n)
const;
603 virtual void setMember(
unsigned n,
unsigned idx);
614 virtual unsigned primary()
const;
641 virtual unsigned revert()
const;
688 virtual bool isEnabled(
unsigned n)
const;
690 virtual void enable(
unsigned n,
bool enabled);
692 virtual uint8_t *
get(
unsigned n)
const;
724 virtual QString
name()
const;
729 virtual unsigned radioID()
const;
886 ToggleAllAlertTones = 0x01,
897 ToggleRepeatTalkaround = 0x0d,
899 TogglePrivacy = 0x10,
902 BatteryIndicator = 0x13,
903 ToggleLoneWorker = 0x14,
905 ToggleFlashLight = 0x1a,
1066 virtual bool tone()
const;
1070 virtual bool power()
const;
1099 virtual bool vox()
const;
1208 virtual QString
line1()
const;
1210 virtual void setLine1(
const QString &text);
1212 virtual QString
line2()
const;
1214 virtual void setLine2(
const QString &text);
1244 virtual QString
message(
unsigned n)
const;
1285 virtual QByteArray
basicKey(
unsigned n)
const;
1287 virtual void setBasicKey(
unsigned n,
const QByteArray &key);
1308 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:195
Represents the abstract base class of all codeplug elements.
Definition: codeplug.hh:47
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:69
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:385
Implements a stack of error messages to provide a pretty formatted error traceback.
Definition: errorstack.hh:41
Bandwidth
Possible bandwidth of an analog channel.
Definition: channel.hh:236
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:1159
virtual bool bootPasswordEnabled() const
Returns true if the boot password is enabled.
Definition: radioddity_codeplug.cc:2326
virtual bool bootText() const
Returns true if the text is shown on boot, other wise an image is shown.
Definition: radioddity_codeplug.cc:2317
void clear()
Resets the settings.
Definition: radioddity_codeplug.cc:2308
BootSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: radioddity_codeplug.cc:2291
virtual void enableBootPassword(bool enable)
Enables/disables the boot password.
Definition: radioddity_codeplug.cc:2330
virtual ~BootSettingsElement()
Destructor.
Definition: radioddity_codeplug.cc:2303
virtual unsigned bootPassword() const
Returns the boot password (6 digit).
Definition: radioddity_codeplug.cc:2335
virtual void enableBootText(bool enable)
Enables/disables boot text.
Definition: radioddity_codeplug.cc:2321
virtual void setBootPassword(unsigned passwd)
Sets the boot password (6 digit).
Definition: radioddity_codeplug.cc:2339
Implements the base class of boot messages for all Radioddity codeplugs.
Definition: radioddity_codeplug.hh:1193
virtual void setLine1(const QString &text)
Sets the first line.
Definition: radioddity_codeplug.cc:2373
virtual QString line1() const
Returns the first line.
Definition: radioddity_codeplug.cc:2369
void clear()
Resets the intro text.
Definition: radioddity_codeplug.cc:2363
virtual QString line2() const
Returns the Second line.
Definition: radioddity_codeplug.cc:2378
virtual void updateConfig(Config *conf)
Updates the configuration with the boot text settings.
Definition: radioddity_codeplug.cc:2393
virtual void setLine2(const QString &text)
Sets the second line.
Definition: radioddity_codeplug.cc:2382
virtual ~BootTextElement()
Destructor.
Definition: radioddity_codeplug.cc:2358
BootTextElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: radioddity_codeplug.cc:2346
virtual void fromConfig(Config *conf)
Encodes boot text settings from configuration.
Definition: radioddity_codeplug.cc:2387
Implements the base for channel banks in Radioddity codeplugs.
Definition: radioddity_codeplug.hh:226
virtual ~ChannelBankElement()
Destructor.
Definition: radioddity_codeplug.cc:476
virtual uint8_t * get(unsigned idx) const
Returns a pointer to the channel at the given index.
Definition: radioddity_codeplug.cc:497
virtual void enable(unsigned idx, bool enabled)
Enable/disable a channel in the bank.
Definition: radioddity_codeplug.cc:491
ChannelBankElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: radioddity_codeplug.cc:464
void clear()
Clears the bank.
Definition: radioddity_codeplug.cc:481
virtual bool isEnabled(unsigned idx) const
Returns true if the channel is enabled.
Definition: radioddity_codeplug.cc:486
Implements the base for all Radioddity channel encodings.
Definition: radioddity_codeplug.hh:31
virtual bool hasGroupList() const
Returns true if a group list is set.
Definition: radioddity_codeplug.cc:188
virtual void setRXSignalingIndex(unsigned index)
Sets RX signaling index (+1).
Definition: radioddity_codeplug.cc:165
virtual ~ChannelElement()
Destructor.
Definition: radioddity_codeplug.cc:28
virtual unsigned txSignalingIndex() const
Returns TX signaling index (+1).
Definition: radioddity_codeplug.cc:153
virtual unsigned emergencySystemIndex() const
Returns the emergency system index (+1).
Definition: radioddity_codeplug.cc:214
virtual void setTXFrequency(uint32_t freq)
Sets the TX frequency of the channel.
Definition: radioddity_codeplug.cc:83
virtual bool nonSTEFrequency() const
Returns true if non-STE is frequency (?!).
Definition: radioddity_codeplug.cc:286
virtual bool hasScanList() const
Returns true if a scan list is set.
Definition: radioddity_codeplug.cc:123
virtual void enablePrivacy(bool enable)
Enables/disables privacy.
Definition: radioddity_codeplug.cc:264
virtual void setContactIndex(unsigned index)
Sets the transmit contact index (+1).
Definition: radioddity_codeplug.cc:231
virtual void setPrivacyGroup(PrivacyGroup grp)
Sets the privacy group.
Definition: radioddity_codeplug.cc:174
virtual bool fromChannelObj(const Channel *c, Context &ctx)
Initializes this codeplug channel from the given generic configuration.
Definition: radioddity_codeplug.cc:407
Mode
Possible channel types.
Definition: radioddity_codeplug.hh:34
@ MODE_ANALOG
Analog channel, aka FM.
Definition: radioddity_codeplug.hh:35
@ MODE_DIGITAL
Digital channel, aka DMR.
Definition: radioddity_codeplug.hh:36
virtual uint32_t txFrequency() const
Returns the TX frequency of the channel.
Definition: radioddity_codeplug.cc:79
virtual Admit admitCriterion() const
Returns the admit criterion.
Definition: radioddity_codeplug.cc:114
virtual unsigned txColorCode() const
Returns the TX color code.
Definition: radioddity_codeplug.cc:179
virtual void setTXTimeOut(unsigned tot)
Sets the TX timeout in seconds.
Definition: radioddity_codeplug.cc:101
virtual void enableTalkaround(bool enable)
Enables/disables talkaround.
Definition: radioddity_codeplug.cc:316
virtual unsigned scanListIndex() const
Returns the scan list index (+1).
Definition: radioddity_codeplug.cc:127
virtual void setGroupListIndex(unsigned index)
Sets the group-list index (+1).
Definition: radioddity_codeplug.cc:196
virtual void enableDataCallConfirm(bool enable)
Enables/disables data-call-confirm.
Definition: radioddity_codeplug.cc:240
virtual void setRXColorCode(unsigned cc)
Sets the RX color code.
Definition: radioddity_codeplug.cc:205
virtual bool dataCallConfirm() const
Returns true if data-call-confirm is enabled.
Definition: radioddity_codeplug.cc:236
virtual void enableEmergencyAlarmACK(bool enable)
Enables/disables emergency alarm ACK.
Definition: radioddity_codeplug.cc:248
virtual Signaling::Code txTone() const
Returns the TX subtone.
Definition: radioddity_codeplug.cc:144
virtual void enableRXOnly(bool enable)
Enables/disables RX only.
Definition: radioddity_codeplug.cc:308
virtual void setAdmitCriterion(Admit admit)
Sets the admit criterion.
Definition: radioddity_codeplug.cc:118
virtual void enableNonSTEFrequency(bool enable)
Enables/disables non-STE is frequency (?!).
Definition: radioddity_codeplug.cc:290
virtual bool talkaround() const
Returns true if talkaround is enabled.
Definition: radioddity_codeplug.cc:312
virtual unsigned contactIndex() const
Returns the transmit contact index (+1).
Definition: radioddity_codeplug.cc:227
virtual uint32_t rxFrequency() const
Returns the RX frequency of the channel.
Definition: radioddity_codeplug.cc:71
ChannelElement(uint8_t *ptr, size_t size)
Constructs a channel from the given memory.
Definition: radioddity_codeplug.cc:16
virtual void setMode(Mode mode)
Sets the channel mode.
Definition: radioddity_codeplug.cc:92
virtual void setPower(Channel::Power pwr)
Sets the power setting of the channel.
Definition: radioddity_codeplug.cc:333
virtual Mode mode() const
Returns the channel mode.
Definition: radioddity_codeplug.cc:88
virtual Signaling::Code rxTone() const
Returns the RX subtone.
Definition: radioddity_codeplug.cc:136
virtual unsigned groupListIndex() const
Returns the group-list index (+1).
Definition: radioddity_codeplug.cc:192
virtual PrivacyGroup privacyGroup() const
Returns the privacy group.
Definition: radioddity_codeplug.cc:170
virtual unsigned txTimeOutRekeyDelay() const
Returns the transmit time-out re-key delay in seconds.
Definition: radioddity_codeplug.cc:105
virtual void setScanListIndex(unsigned index)
Sets the scan list index (+1).
Definition: radioddity_codeplug.cc:131
virtual bool privacyEnabled() const
Returns true if privacy is enabled.
Definition: radioddity_codeplug.cc:260
virtual bool privateCallConfirm() const
Returns true if private-call-confirm is enabled.
Definition: radioddity_codeplug.cc:252
virtual DMRChannel::TimeSlot timeSlot() const
Returns the time slot of the channel.
Definition: radioddity_codeplug.cc:269
virtual void setRXFrequency(uint32_t freq)
Sets the RX frequency of the channel.
Definition: radioddity_codeplug.cc:75
virtual Channel * toChannelObj(Context &ctx) const
Constructs a generic Channel object from the codeplug channel.
Definition: radioddity_codeplug.cc:348
virtual void clear()
Resets the channel.
Definition: radioddity_codeplug.cc:33
virtual Channel::Power power() const
Returns the power setting of the channel.
Definition: radioddity_codeplug.cc:329
virtual bool vox() const
Returns true if VOX is enabled.
Definition: radioddity_codeplug.cc:320
virtual void enablePrivateCallConfirm(bool enable)
Enables/disables private-call-confirm.
Definition: radioddity_codeplug.cc:256
virtual bool hasEmergencySystem() const
Returns true if an emergency system is set.
Definition: radioddity_codeplug.cc:210
virtual unsigned rxSignalingIndex() const
Returns RX signaling index (+1).
Definition: radioddity_codeplug.cc:161
virtual void setEmergencySystemIndex(unsigned index)
Sets the emergency system index (+1).
Definition: radioddity_codeplug.cc:218
PrivacyGroup
Possible privacy groups, not used in ham radio.
Definition: radioddity_codeplug.hh:47
@ PRIVGR_NONE
No privacy group, default.
Definition: radioddity_codeplug.hh:48
@ PRIVGR_53474C39
Privacy group 53474C39 (wtf?).
Definition: radioddity_codeplug.hh:49
virtual FMChannel::Bandwidth bandwidth() const
Returns the bandwidth.
Definition: radioddity_codeplug.cc:295
virtual bool emergencyAlarmACK() const
Returns true if emergency alarm ACK is enabled.
Definition: radioddity_codeplug.cc:244
Admit
Possible admit criteria.
Definition: radioddity_codeplug.hh:40
@ ADMIT_CH_FREE
Allow TX on channel free.
Definition: radioddity_codeplug.hh:42
@ ADMIT_ALWAYS
Allow always.
Definition: radioddity_codeplug.hh:41
@ ADMIT_COLOR
Allow TX on matching color-code.
Definition: radioddity_codeplug.hh:43
virtual QString name() const
Returns the name of the channel.
Definition: radioddity_codeplug.cc:62
virtual void setBandwidth(FMChannel::Bandwidth bw)
Sets the bandwidth.
Definition: radioddity_codeplug.cc:299
virtual bool linkChannelObj(Channel *c, Context &ctx) const
Links a previously constructed channel to the rest of the configuration.
Definition: radioddity_codeplug.cc:390
virtual bool rxOnly() const
Returns true if RX only is enabled.
Definition: radioddity_codeplug.cc:304
virtual unsigned rxColorCode() const
Returns the RX color code.
Definition: radioddity_codeplug.cc:201
virtual void setTXTone(Signaling::Code code)
Sets the TX subtone.
Definition: radioddity_codeplug.cc:148
virtual void setName(const QString &n)
Sets the name of the channel.
Definition: radioddity_codeplug.cc:66
virtual bool hasContact() const
Returns true if a TX contact is set.
Definition: radioddity_codeplug.cc:223
virtual void setTXColorCode(unsigned cc)
Sets the TX color code.
Definition: radioddity_codeplug.cc:183
virtual void setTXTimeOutRekeyDelay(unsigned delay)
Sets the transmit time-out re-key delay in seconds.
Definition: radioddity_codeplug.cc:109
virtual unsigned txTimeOut() const
Returns the TX timeout in seconds.
Definition: radioddity_codeplug.cc:97
virtual void setTimeSlot(DMRChannel::TimeSlot ts)
Sets the time slot of the channel.
Definition: radioddity_codeplug.cc:273
virtual void enableDualCapacityDirectMode(bool enable)
Enables/disables the dual-capacity direct mode.
Definition: radioddity_codeplug.cc:282
virtual void setTXSignalingIndex(unsigned index)
Sets TX signaling index (+1).
Definition: radioddity_codeplug.cc:157
virtual void enableVOX(bool enable)
Enables/disables VOX.
Definition: radioddity_codeplug.cc:324
virtual void setRXTone(Signaling::Code code)
Sets the RX subtone.
Definition: radioddity_codeplug.cc:140
virtual bool dualCapacityDirectMode() const
Returns true if the dual-capacity direct mode is enabled.
Definition: radioddity_codeplug.cc:278
Represents all encryption keys and settings within the codeplug on the device.
Definition: radioddity_codeplug.hh:1255
virtual void setPrivacyType(PrivacyType type)
Sets the privacy type.
Definition: radioddity_codeplug.cc:2484
virtual PrivacyType privacyType() const
Returns the privacy type set.
Definition: radioddity_codeplug.cc:2480
void clear()
Abstract method to reset the element within the codeplug.
Definition: radioddity_codeplug.cc:2472
PrivacyType
Encodes possible privacy types.
Definition: radioddity_codeplug.hh:1259
@ 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:2496
virtual bool updateCommercialExt(Context &ctx)
Constructs the encryption extension.
Definition: radioddity_codeplug.cc:2547
virtual bool linkCommercialExt(CommercialExtension *ext, Context &ctx)
Links the given encryption extension.
Definition: radioddity_codeplug.cc:2569
virtual void clearBasicKey(unsigned n)
Resets the n-th basic key.
Definition: radioddity_codeplug.cc:2512
virtual ~EncryptionElement()
Destructor.
Definition: radioddity_codeplug.cc:2467
virtual bool fromCommercialExt(CommercialExtension *ext, Context &ctx)
Encodes given encryption extension.
Definition: radioddity_codeplug.cc:2522
virtual bool isBasicKeySet(unsigned n) const
Returns true if the n-th "basic" key (32bit) is set.
Definition: radioddity_codeplug.cc:2489
virtual void setBasicKey(unsigned n, const QByteArray &key)
Sets the n-th "basic" key (32bit).
Definition: radioddity_codeplug.cc:2502
EncryptionElement(uint8_t *ptr, size_t size)
Hidden constructor.
Definition: radioddity_codeplug.cc:2455
Implements the base class of general settings for all Radioddity codeplugs.
Definition: radioddity_codeplug.hh:701
virtual bool allTonesDisabled() const
Returns true if all tones are disabled.
Definition: radioddity_codeplug.cc:1594
virtual void enableUpChannelModeVFO(bool enable)
Enables/disables up-channel mode is VFO.
Definition: radioddity_codeplug.cc:1531
virtual void setRepeaterEndDelay(unsigned delay)
Sets the repeater end delay in [0-10].
Definition: radioddity_codeplug.cc:1673
virtual bool batsaveRX() const
Returns true if reception is disabled for battery saving.
Definition: radioddity_codeplug.cc:1602
virtual void setCallAlertDuration(unsigned sec)
Sets the call-allert duration in seconds.
Definition: radioddity_codeplug.cc:1480
virtual unsigned preambleDuration() const
Returns the preamble duration in ms.
Definition: radioddity_codeplug.cc:1439
RadiodditySettingsExtension::MonitorType MonitorType
Use monitor type from extension.
Definition: radioddity_codeplug.hh:704
virtual void enableDownChannelModeVFO(bool enable)
Enables/disables down-channel mode is VFO.
Definition: radioddity_codeplug.cc:1523
virtual void enableBatsaveRX(bool enable)
Enables/disables battery saving by disabling RX.
Definition: radioddity_codeplug.cc:1606
virtual bool animation() const
Returns true if animation is enabled.
Definition: radioddity_codeplug.cc:1652
virtual void enableSelftestTone(bool enable)
Enables/disables reset tone.
Definition: radioddity_codeplug.cc:1582
virtual unsigned radioID() const
Returns the DMR radio ID.
Definition: radioddity_codeplug.cc:1430
virtual void enableDigitalTalkPermitTone(bool enable)
Enables/disables digital channel talk permit tone.
Definition: radioddity_codeplug.cc:1566
virtual ~GeneralSettingsElement()
Destructor.
Definition: radioddity_codeplug.cc:1366
virtual void setMonitorType(MonitorType type)
Sets the monitor type.
Definition: radioddity_codeplug.cc:1452
virtual bool batsavePreamble() const
Returns true if preable is disabled for battery saving.
Definition: radioddity_codeplug.cc:1610
GeneralSettingsElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: radioddity_codeplug.cc:1354
virtual unsigned privateCallHangTime() const
Returns the private call hang time in ms.
Definition: radioddity_codeplug.cc:1510
virtual QString name() const
Returns the radio name.
Definition: radioddity_codeplug.cc:1421
virtual void setName(const QString &name)
Sets the radio name.
Definition: radioddity_codeplug.cc:1425
virtual bool channelFreeIndicationTone() const
Returns true if the channel free indication tone is enabled.
Definition: radioddity_codeplug.cc:1586
virtual void inhibitQuickKeyOverride(bool inhibit)
Inhibits quick-key override.
Definition: radioddity_codeplug.cc:1631
virtual bool upChannelModeVFO() const
Returns true if the up-channel mode is VFO.
Definition: radioddity_codeplug.cc:1527
virtual void disableAllTones(bool disable)
Disables/enables all tones.
Definition: radioddity_codeplug.cc:1598
virtual void enableAnimation(bool enable)
Enables/disables animation.
Definition: radioddity_codeplug.cc:1656
virtual QString progPassword() const
Returns the programming password.
Definition: radioddity_codeplug.cc:1690
virtual bool allLEDsDisabled() const
Returns true if all LEDs are disabled.
Definition: radioddity_codeplug.cc:1619
virtual void disableAllLEDs(bool disable)
Disables/enables all LEDs.
Definition: radioddity_codeplug.cc:1623
void clear()
Resets the general settings.
Definition: radioddity_codeplug.cc:1371
virtual bool digitalTalkPermitTone() const
Returns true if the digital channel talk permit tone is enabled.
Definition: radioddity_codeplug.cc:1562
virtual bool analogTalkPermitTone() const
Returns true if the analog channel talk permit tone is enabled.
Definition: radioddity_codeplug.cc:1570
virtual void setLoneWorkerResponsePeriod(unsigned min)
Sets the lone-worker response period in minutes.
Definition: radioddity_codeplug.cc:1489
RadiodditySettingsExtension::ScanMode ScanMode
Use scan mode from extension.
Definition: radioddity_codeplug.hh:708
virtual void setGroupCallHangTime(unsigned ms)
Sets the group call hang time in ms.
Definition: radioddity_codeplug.cc:1506
virtual void clearProgPassword()
Resets the programming password.
Definition: radioddity_codeplug.cc:1698
virtual void enableBatsavePreamble(bool enable)
Enables/disables battery saving by disabling preamble.
Definition: radioddity_codeplug.cc:1614
virtual bool unknownNumberTone() const
Returns true if the unknown number tone is enabled.
Definition: radioddity_codeplug.cc:1544
virtual unsigned repeaterEndDelay() const
Returns the repeater end delay in [0-10].
Definition: radioddity_codeplug.cc:1669
virtual ARTSTone artsToneMode() const
Returns the ARTS tone mode.
Definition: radioddity_codeplug.cc:1553
virtual void enableUnknownNumberTone(bool enable)
Enables/disables reset tone.
Definition: radioddity_codeplug.cc:1548
virtual bool hasProgPassword() const
Returns true if a programming password is set.
Definition: radioddity_codeplug.cc:1686
virtual unsigned loneWorkerReminderPeriod() const
Returns the lone-worker reminder period in seconds.
Definition: radioddity_codeplug.cc:1493
virtual void setRadioID(unsigned id)
Sets the DMR radio ID.
Definition: radioddity_codeplug.cc:1434
virtual ScanMode scanMode() const
Returns the scan mode.
Definition: radioddity_codeplug.cc:1660
virtual bool txOnActiveChannel() const
Returns true if the radio transmits on the active channel on double monitor.
Definition: radioddity_codeplug.cc:1644
virtual unsigned voxSensitivity() const
Returns the VOX sensitivity [1-10], 0=disabled.
Definition: radioddity_codeplug.cc:1457
virtual void setLowBatteryWarnInterval(unsigned sec)
Sets the low-battery warn interval in seconds.
Definition: radioddity_codeplug.cc:1471
virtual void enableChannelFreeIndicationTone(bool enable)
Enables/disables channel free indication tone.
Definition: radioddity_codeplug.cc:1590
virtual MonitorType monitorType() const
Returns the monitor type.
Definition: radioddity_codeplug.cc:1448
virtual void setARTSToneMode(ARTSTone mode)
Sets the ARTS tone mode.
Definition: radioddity_codeplug.cc:1557
virtual unsigned repeaterSTE() const
Returns the repeater STE in [0-10].
Definition: radioddity_codeplug.cc:1677
virtual void setRepeaterSTE(unsigned ste)
Sets the repeater STE in [0-10].
Definition: radioddity_codeplug.cc:1681
virtual unsigned groupCallHangTime() const
Returns the group call hang time in ms.
Definition: radioddity_codeplug.cc:1502
virtual unsigned callAlertDuration() const
Returns the call-alert duration in seconds.
Definition: radioddity_codeplug.cc:1476
virtual void setPrivateCallHangTime(unsigned ms)
Sets the private call hang time in ms.
Definition: radioddity_codeplug.cc:1514
virtual void enableTXExitTone(bool enable)
Enables/disables TX exit tone.
Definition: radioddity_codeplug.cc:1640
virtual void setPreambleDuration(unsigned ms)
Sets the preamble duration in ms.
Definition: radioddity_codeplug.cc:1443
virtual unsigned loneWorkerResponsePeriod() const
Returns the lone-worker response period in minutes.
Definition: radioddity_codeplug.cc:1485
virtual void enableAnalogTalkPermitTone(bool enable)
Enables/disables analog channel talk permit tone.
Definition: radioddity_codeplug.cc:1574
virtual bool downChannelModeVFO() const
Returns true if the down-channel mode is VFO.
Definition: radioddity_codeplug.cc:1519
virtual bool quickKeyOverrideInhibited() const
Returns true if quick-key override is inhibited.
Definition: radioddity_codeplug.cc:1627
virtual bool resetTone() const
Returns true if the reset tone is enabled.
Definition: radioddity_codeplug.cc:1536
virtual unsigned lowBatteryWarnInterval() const
Returns the low-battery warn interval in seconds.
Definition: radioddity_codeplug.cc:1467
RadiodditySettingsExtension::ARTSTone ARTSTone
Use ARTS tone mode from extension.
Definition: radioddity_codeplug.hh:706
virtual void setVOXSensitivity(unsigned value)
Sets the VOX sensitivity.
Definition: radioddity_codeplug.cc:1461
virtual void setProgPassword(const QString &pwd)
Sets the programming password.
Definition: radioddity_codeplug.cc:1694
virtual bool fromConfig(const Config *conf, Context &ctx)
Encodes the general setting from the given config.
Definition: radioddity_codeplug.cc:1703
virtual bool txExitTone() const
Returns true if the TX exit tone is enabled.
Definition: radioddity_codeplug.cc:1636
virtual void enableResetTone(bool enable)
Enables/disables reset tone.
Definition: radioddity_codeplug.cc:1540
virtual void setScanMode(ScanMode mode)
Sets the scan mode.
Definition: radioddity_codeplug.cc:1664
virtual bool selftestTone() const
Returns true if the reset tone is enabled.
Definition: radioddity_codeplug.cc:1578
virtual void setLoneWorkerReminderPeriod(unsigned sec)
Sets the lone-worker reminder period in seconds.
Definition: radioddity_codeplug.cc:1497
virtual bool updateConfig(Config *conf, Context &ctx)
Updates the given config from this settings.
Definition: radioddity_codeplug.cc:1758
virtual void enableTXOnActiveChannel(bool enable)
Enables/disables transmission on active channel on double monitor.
Definition: radioddity_codeplug.cc:1648
Implements a base class of group list memory banks for all Radioddity codeplugs.
Definition: radioddity_codeplug.hh:519
virtual unsigned contactCount(unsigned n) const
Returns the number of contacts in the n-th group list.
Definition: radioddity_codeplug.cc:1043
virtual bool isEnabled(unsigned n) const
Returns true if the n-th group list is enabled.
Definition: radioddity_codeplug.cc:1039
virtual void setContactCount(unsigned n, unsigned size)
Sets the number of contacts in the n-th group list.
Definition: radioddity_codeplug.cc:1047
void clear()
Resets the bank.
Definition: radioddity_codeplug.cc:1034
virtual void disable(unsigned n)
Disables the n-th group list.
Definition: radioddity_codeplug.cc:1051
GroupListBankElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: radioddity_codeplug.cc:1017
virtual ~GroupListBankElement()
Destructor.
Definition: radioddity_codeplug.cc:1029
virtual uint8_t * get(unsigned n) const
Returns a pointer to the n-th group list.
Definition: radioddity_codeplug.cc:1056
Represents a base class for all group lists within Radioddity codeplugs.
Definition: radioddity_codeplug.hh:476
virtual unsigned member(unsigned n) const
Returns the n-th member index (+1).
Definition: radioddity_codeplug.cc:959
virtual QString name() const
Returns the name of the group list.
Definition: radioddity_codeplug.cc:946
virtual void clearMember(unsigned n)
Clears the n-th member index.
Definition: radioddity_codeplug.cc:967
GroupListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: radioddity_codeplug.cc:923
virtual void setMember(unsigned n, unsigned idx)
Sets the n-th member index (+1).
Definition: radioddity_codeplug.cc:963
void clear()
Resets the group list.
Definition: radioddity_codeplug.cc:940
virtual bool linkRXGroupListObj(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:978
virtual void fromRXGroupListObj(const RXGroupList *lst, Context &ctx, const ErrorStack &err=ErrorStack())
Reset this codeplug representation from a RXGroupList object.
Definition: radioddity_codeplug.cc:992
virtual RXGroupList * toRXGroupListObj(Context &ctx, const ErrorStack &err=ErrorStack())
Constructs a RXGroupList object from the codeplug representation.
Definition: radioddity_codeplug.cc:972
virtual ~GroupListElement()
Destructor.
Definition: radioddity_codeplug.cc:935
virtual bool hasMember(unsigned n) const
Returns true if the group list has an n-th member.
Definition: radioddity_codeplug.cc:955
virtual void setName(const QString &name)
Sets the name of the group list.
Definition: radioddity_codeplug.cc:950
Implements the base class of a message bank for all Radioddity message banks.
Definition: radioddity_codeplug.hh:1227
virtual QString message(unsigned n) const
Returns the n-th message.
Definition: radioddity_codeplug.cc:2432
virtual ~MessageBankElement()
Destructor.
Definition: radioddity_codeplug.cc:2414
virtual unsigned numMessages() const
Returns the number of messages.
Definition: radioddity_codeplug.cc:2428
MessageBankElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: radioddity_codeplug.cc:2402
virtual void appendMessage(const QString msg)
Appends a message to the list.
Definition: radioddity_codeplug.cc:2438
void clear()
Resets all messages.
Definition: radioddity_codeplug.cc:2419
Implements the base class of scan lists banks for all Radioddity codeplugs.
Definition: radioddity_codeplug.hh:673
virtual bool isEnabled(unsigned n) const
Returns true if the n-th scan list is enabled.
Definition: radioddity_codeplug.cc:1334
virtual ~ScanListBankElement()
Destructor.
Definition: radioddity_codeplug.cc:1324
virtual void enable(unsigned n, bool enabled)
Enable/disable n-th scan list.
Definition: radioddity_codeplug.cc:1338
virtual uint8_t * get(unsigned n) const
Returns a pointer to the n-th scan list.
Definition: radioddity_codeplug.cc:1346
void clear()
Resets the scan list bank.
Definition: radioddity_codeplug.cc:1329
ScanListBankElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: radioddity_codeplug.cc:1312
Implements the base class for scan lists of all Radioddity codeplugs.
Definition: radioddity_codeplug.hh:553
virtual bool hasSecondary() const
Returns true if the secondary priority channel is set.
Definition: radioddity_codeplug.cc:1180
virtual void clearPrimary()
Clears the primary priority channel.
Definition: radioddity_codeplug.cc:1175
virtual unsigned secondary() const
Return the channel index for the secondary priority channel.
Definition: radioddity_codeplug.cc:1188
virtual void fromScanListObj(const ScanList *lst, Context &ctx)
Initializes this codeplug representation from the given ScanList object.
Definition: radioddity_codeplug.cc:1280
virtual void setName(const QString &name)
Sets the name of the scan list.
Definition: radioddity_codeplug.cc:1098
virtual void clearSecondary()
Clears the secondary priority channel.
Definition: radioddity_codeplug.cc:1200
ScanListElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: radioddity_codeplug.cc:1064
virtual ~ScanListElement()
Destructor.
Definition: radioddity_codeplug.cc:1076
virtual void setSelected(unsigned n)
Sets the n-th member to be the selected channel.
Definition: radioddity_codeplug.cc:1146
virtual void setRevertSelected()
Sets the revert channel to be the selected one.
Definition: radioddity_codeplug.cc:1221
void clear()
Resets the scan list.
Definition: radioddity_codeplug.cc:1081
virtual void clearMember(unsigned n)
Clears the n-th member.
Definition: radioddity_codeplug.cc:1150
virtual bool revertIsSelected() const
Returns true if the revert channel is the selected channel.
Definition: radioddity_codeplug.cc:1209
virtual unsigned revert() const
Return the channel index for the revert channel.
Definition: radioddity_codeplug.cc:1213
virtual bool secondaryIsSelected() const
Returns true if the secondary priority channel is the selected channel.
Definition: radioddity_codeplug.cc:1184
virtual void enableTalkback(bool enable)
Enables/disables talk back.
Definition: radioddity_codeplug.cc:1125
virtual void setPrioritySampleTime(unsigned ms)
Sets the priority sample time in ms.
Definition: radioddity_codeplug.cc:1243
virtual void enableChannelMark(bool enable)
Enables/disables channel mark.
Definition: radioddity_codeplug.cc:1107
virtual void setMember(unsigned n, unsigned idx)
Sets the n-th member index.
Definition: radioddity_codeplug.cc:1142
virtual Mode mode() const
Returns the scan mode.
Definition: radioddity_codeplug.cc:1112
virtual void setRevert(unsigned idx)
Sets the revert channel index.
Definition: radioddity_codeplug.cc:1217
virtual void setSecondarySelected()
Sets the secondary priority channel to be the selected channel.
Definition: radioddity_codeplug.cc:1196
virtual unsigned prioritySampleTime() const
Returns the priority sample time in ms.
Definition: radioddity_codeplug.cc:1239
virtual bool hasPrimary() const
Returns true if the primary priority channel is set.
Definition: radioddity_codeplug.cc:1155
virtual void clearRevert()
Clears the revert channel, sets it to last active.
Definition: radioddity_codeplug.cc:1225
virtual unsigned member(unsigned n) const
Returns the n-th member index.
Definition: radioddity_codeplug.cc:1138
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:1205
virtual bool linkScanListObj(ScanList *lst, Context &ctx) const
Links a previously constructed ScanList object to the rest of the generic configuration.
Definition: radioddity_codeplug.cc:1254
virtual void setSecondary(unsigned idx)
Sets the secondary priority channel index.
Definition: radioddity_codeplug.cc:1192
virtual void setMode(Mode mode)
Sets the scan mode.
Definition: radioddity_codeplug.cc:1116
virtual void setHoldTime(unsigned ms)
Sets the hold time in ms.
Definition: radioddity_codeplug.cc:1234
virtual bool talkback() const
Returns true if talk back is enabled.
Definition: radioddity_codeplug.cc:1121
virtual bool hasMember(unsigned n) const
Returns true if the n-th member is set.
Definition: radioddity_codeplug.cc:1130
virtual ScanList * toScanListObj(Context &ctx) const
Constructs a ScanList object from this codeplug representation.
Definition: radioddity_codeplug.cc:1248
virtual unsigned primary() const
Return the channel index for the primary priority channel.
Definition: radioddity_codeplug.cc:1163
virtual bool primaryIsSelected() const
Returns true if the primary priority channel is the selected channel.
Definition: radioddity_codeplug.cc:1159
Mode
Possible priority channel types.
Definition: radioddity_codeplug.hh:556
@ PL_PRI_NONPRI
Priority and non-priority channels.
Definition: radioddity_codeplug.hh:560
@ PL_DISABLE
Disable priority channels.
Definition: radioddity_codeplug.hh:558
@ PL_NONPRI
Only non-priority channels.
Definition: radioddity_codeplug.hh:557
@ PL_PRI
Only priority channels.
Definition: radioddity_codeplug.hh:559
virtual bool isSelected(unsigned n) const
Returns true if the n-th member is selected channel.
Definition: radioddity_codeplug.cc:1134
virtual unsigned holdTime() const
Returns the hold time in ms.
Definition: radioddity_codeplug.cc:1230
virtual void setPrimarySelected()
Sets the primary priority channel to be the selected channel.
Definition: radioddity_codeplug.cc:1171
virtual bool channelMark() const
Returns true if channel mark is enabled.
Definition: radioddity_codeplug.cc:1103
virtual QString name() const
Returns the name of the scan list.
Definition: radioddity_codeplug.cc:1094
virtual void setPrimary(unsigned idx)
Sets the primary priority channel index.
Definition: radioddity_codeplug.cc:1167
VFO Channel representation within the binary codeplug.
Definition: radioddity_codeplug.hh:253
VFOChannelElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: radioddity_codeplug.cc:505
virtual void setOffsetMode(OffsetMode mode)
Sets the transmit frequency offset mode.
Definition: radioddity_codeplug.cc:575
virtual void setStepSize(double kHz)
Sets the tuning step-size in kHz.
Definition: radioddity_codeplug.cc:551
OffsetMode
Possible offset frequency modes.
Definition: radioddity_codeplug.hh:256
@ 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:583
void setName(const QString &name)
The VFO channel has no name.
Definition: radioddity_codeplug.cc:530
virtual OffsetMode offsetMode() const
Returns the transmit frequency offset mode.
Definition: radioddity_codeplug.cc:571
StepSize
Possible tuning step sizes.
Definition: radioddity_codeplug.hh:263
QString name() const
The VFO channel has no name.
Definition: radioddity_codeplug.cc:526
virtual double txOffset() const
Returns the transmit frequency offset.
Definition: radioddity_codeplug.cc:579
void clear()
Resets the channel.
Definition: radioddity_codeplug.cc:518
virtual double stepSize() const
Returns the tuning step-size in kHz.
Definition: radioddity_codeplug.cc:536
Implements the base class for all zone banks of Radioddity codeplugs.
Definition: radioddity_codeplug.hh:448
void clear()
Resets the bank.
Definition: radioddity_codeplug.cc:900
virtual uint8_t * get(unsigned idx) const
Returns a pointer to the channel at the given index.
Definition: radioddity_codeplug.cc:915
ZoneBankElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: radioddity_codeplug.cc:883
~ZoneBankElement()
Destructor.
Definition: radioddity_codeplug.cc:895
virtual void enable(unsigned idx, bool enabled)
Enable/disable a channel in the bank.
Definition: radioddity_codeplug.cc:910
virtual bool isEnabled(unsigned idx) const
Returns true if the channel is enabled.
Definition: radioddity_codeplug.cc:905
Represents a zone within Radioddity codeplugs.
Definition: radioddity_codeplug.hh:401
virtual void fromZoneObjA(const Zone *zone, Context &ctx)
Resets this codeplug zone representation from the given generic Zone object.
Definition: radioddity_codeplug.cc:851
void clear()
Resets the zone.
Definition: radioddity_codeplug.cc:786
virtual QString name() const
Returns the name of the zone.
Definition: radioddity_codeplug.cc:796
virtual void fromZoneObjB(const Zone *zone, Context &ctx)
Resets this codeplug zone representation from the given generic Zone object.
Definition: radioddity_codeplug.cc:866
virtual unsigned member(unsigned n) const
Returns the n-th member index (+1).
Definition: radioddity_codeplug.cc:809
virtual void setName(const QString &name)
Sets the name of the zone.
Definition: radioddity_codeplug.cc:800
virtual bool linkZoneObj(Zone *zone, Context &ctx, bool putInB) const
Links a previously constructed Zone object to the rest of the configuration.
Definition: radioddity_codeplug.cc:830
virtual bool hasMember(unsigned n) const
Returns true if a member is stored at the given index.
Definition: radioddity_codeplug.cc:805
ZoneElement(uint8_t *ptr, unsigned size)
Hidden constructor.
Definition: radioddity_codeplug.cc:769
virtual void setMember(unsigned n, unsigned idx)
Sets the n-th member index (+1).
Definition: radioddity_codeplug.cc:813
virtual Zone * toZoneObj(Context &ctx) const
Constructs a generic Zone object from this codeplug zone.
Definition: radioddity_codeplug.cc:822
bool isValid() const
Returns true if the zone is valid.
Definition: radioddity_codeplug.cc:791
virtual void clearMember(unsigned n)
Clears the n-th member index.
Definition: radioddity_codeplug.cc:817
Base class of all Radioddity codeplugs.
Definition: radioddity_codeplug.hh:22
virtual bool createScanLists(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Creates all scan lists.
virtual void clearChannels()=0
Clear all channels.
virtual void clearGeneralSettings()=0
Clears the general settings in the codeplug.
virtual bool encodeZones(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes zones.
bool encode(Config *config, const Flags &flags=Flags(), const ErrorStack &err=ErrorStack())
Encodes the given generic configuration as a binary codeplug.
Definition: radioddity_codeplug.cc:2672
virtual bool createDTMFContacts(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds all DTMF contacts to the configuration.
virtual bool createGroupLists(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Creates all group lists.
virtual bool encodeBootText(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes boot text.
virtual bool encodeScanLists(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all scan lists.
virtual bool createContacts(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds a digital contact to the configuration for each one in the codeplug.
virtual bool createChannels(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds all defined channels to the configuration.
virtual void clearVFOSettings()=0
Clears the VFO settings.
virtual bool encodeDTMFContacts(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all DTMF contacts.
virtual bool encodeChannels(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encode all channels.
virtual void clearMessages()=0
Clears the messages.
virtual bool createZones(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Adds zones to the configuration.
virtual void clearScanLists()=0
Clears all scan lists.
virtual bool linkGroupLists(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all group lists.
RadioddityCodeplug(QObject *parent=nullptr)
Hidden constructor, use a device specific class to instantiate.
Definition: radioddity_codeplug.cc:2579
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:2753
virtual bool linkScanLists(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all scan lists.
virtual bool encodeContacts(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all digital contacts in the configuration into the codeplug.
virtual void clearBootText()=0
Clears boot text.
virtual bool linkEncryption(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all encryption keys.
virtual bool decodeBootText(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Updates the given configuration from the boot text settings.
bool decode(Config *config, const ErrorStack &err=ErrorStack())
Decodes the binary codeplug and stores its content in the given generic configuration.
Definition: radioddity_codeplug.cc:2742
virtual void clearZones()=0
Clears all zones.
virtual bool encodeGeneralSettings(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Updates the general settings from the given configuration.
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:2690
virtual ~RadioddityCodeplug()
Destructor.
Definition: radioddity_codeplug.cc:2585
virtual void clearEncryption()=0
Clears all encryption keys.
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:2622
virtual void clear()
Clears and resets the complete codeplug to some default values.
Definition: radioddity_codeplug.cc:2590
virtual void clearMenuSettings()=0
Clears menu settings.
virtual void clearButtonSettings()=0
Clears the button settings.
virtual bool encodeEncryption(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all encryption keys defined.
virtual void clearBootSettings()=0
Clear boot settings.
virtual bool createEncryption(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Creates all encryption keys.
virtual void clearGroupLists()=0
Clears all group lists.
virtual bool decodeGeneralSettings(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Updates the given configuration from the general settings.
virtual bool linkChannels(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all channels.
virtual void clearContacts()=0
Clears all contacts in the codeplug.
virtual bool encodeGroupLists(Config *config, const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack())=0
Encodes all group lists.
virtual bool linkZones(Config *config, Context &ctx, const ErrorStack &err=ErrorStack())=0
Links all zones within the configuration.
ARTSTone
Possible ARTS tone settings.
Definition: radioddity_extensions.hh:88
MonitorType
Possible monitor types.
Definition: radioddity_extensions.hh:81
ScanMode
Possible scan modes.
Definition: radioddity_extensions.hh:96
Generic representation of a scan list.
Definition: scanlist.hh:15
Represents a zone within the generic configuration.
Definition: zone.hh:15
Code
This huge enum lists all possible RX/TX tones that can be associated with analog channels.
Definition: signaling.hh:14
Helper type to encode frequencies without any rounding error.
Definition: frequency.hh:11