libdrmconf  0.10.4
A library to program DMR radios.
Public Member Functions | Protected Member Functions | List of all members
TyTCodeplug::GeneralSettingsElement Class Reference

Codeplug representation of the general settings. More...

#include <tyt_codeplug.hh>

Inheritance diagram for TyTCodeplug::GeneralSettingsElement:
Inheritance graph
[legend]
Collaboration diagram for TyTCodeplug::GeneralSettingsElement:
Collaboration graph
[legend]

Public Member Functions

 GeneralSettingsElement (uint8_t *ptr)
 Constructor.
 
virtual ~GeneralSettingsElement ()
 Destructor.
 
void clear ()
 Abstract method to reset the element within the codeplug. More...
 
virtual QString introLine1 () const
 Returns the first intro line.
 
virtual void setIntroLine1 (const QString line)
 Sets the first intro line.
 
virtual QString introLine2 () const
 Returns the second intro line.
 
virtual void setIntroLine2 (const QString line)
 Sets the second intro line.
 
virtual TyTSettingsExtension::MonitorType monitorType () const
 Returns the monitor type.
 
virtual void setMonitorType (TyTSettingsExtension::MonitorType type)
 Sets the monitor type.
 
virtual bool allLEDsDisabled () const
 Returns true if all LEDs are disabled.
 
virtual void disableAllLEDs (bool disable)
 Enables/disables all LEDs.
 
virtual bool savePreamble () const
 Returns true, if save preamble is enabled.
 
virtual void setSavePreamble (bool enable)
 Enables/disables save preamble.
 
virtual bool saveModeRX () const
 Returns true, if save RX mode is enabled.
 
virtual void setSaveModeRX (bool enable)
 Enables/disables save mode RX.
 
virtual bool allTonesDisabled () const
 Returns true, if all tones are disabled.
 
virtual void disableAllTones (bool disable)
 Enables/disables all tones.
 
virtual bool chFreeIndicationTone () const
 Returns true, if the channel free indication tone is enabled.
 
virtual void setChFreeIndicationTone (bool enable)
 Enables/disables the channel free indication tone.
 
virtual bool passwdAndLock () const
 Returns true, if password and lock is enabled.
 
virtual void enablePasswdAndLock (bool enable)
 Enables/disables password and lock.
 
virtual bool talkPermitToneDigital () const
 Returns true, if the talk permit tone is enabled for DMR channels.
 
virtual void enableTalkPermitToneDigital (bool enable)
 Enables/disables talk permit tone for DMR channels.
 
virtual bool talkPermitToneAnalog () const
 Returns true, if the talk permit tone is enabled for analog channels.
 
virtual void enableTalkPermitToneAnalog (bool enable)
 Enables/disables talk permit tone for analog channels.
 
virtual bool introPicture () const
 Returns true, if intro picture is enabled.
 
virtual void enableIntroPicture (bool enable)
 Enables/disables the intro picture.
 
virtual uint32_t dmrId () const
 Returns the default DMR ID of the radio.
 
virtual void setDMRId (uint32_t id)
 Sets the default DMR ID of the radio.
 
virtual unsigned txPreambleDuration () const
 Returns the TX preamble duration.
 
virtual void setTXPreambleDuration (unsigned ms)
 Sets the TX preamble duration.
 
virtual unsigned groupCallHangTime () const
 Returns the group call hang time.
 
virtual void setGroupCallHangTime (unsigned ms)
 Sets the group call hang time.
 
virtual unsigned privateCallHangTime () const
 Returns the private call hang time.
 
virtual void setPrivateCallHangTime (unsigned ms)
 Sets the private call hang time.
 
virtual unsigned voxSesitivity () const
 Returns the VOX sensitivity.
 
virtual void setVOXSesitivity (unsigned ms)
 Sets the group call hang time.
 
virtual unsigned lowBatteryInterval () const
 Returns the low-battery warning interval.
 
virtual void setLowBatteryInterval (unsigned sec)
 Sets the low-battery warning interval.
 
virtual bool callAlertToneIsContinuous () const
 Returns true if the call-alert is continuous.
 
virtual unsigned callAlertToneDuration () const
 Returns the call-alert tone duration.
 
virtual void setCallAlertToneDuration (unsigned sec)
 Sets the call-alert tone duration.
 
virtual void setCallAlertToneContinuous ()
 Sets the call-alert tone continuous.
 
virtual unsigned loneWorkerResponseTime () const
 Returns the lone-worker response time.
 
virtual void setLoneWorkerResponseTime (unsigned min)
 Sets the lone-worker response time.
 
virtual unsigned loneWorkerReminderTime () const
 Returns the lone-worker reminder time.
 
virtual void setLoneWorkerReminderTime (unsigned min)
 Sets the lone-worker reminder time.
 
virtual unsigned scanDigitalHangTime () const
 Returns the scan digital hang time.
 
virtual void setScanDigitalHangTime (unsigned ms)
 Sets the scan digital hang time.
 
virtual unsigned scanAnalogHangTime () const
 Returns the scan analog hang time.
 
virtual void setScanAnalogHangTime (unsigned ms)
 Sets the scan analog hang time.
 
virtual bool backlightIsAlways () const
 Returns true if the backlight is always on.
 
virtual unsigned backlightTime () const
 Returns the backlight time.
 
virtual void setBacklightTime (unsigned sec)
 Sets the backlight time.
 
virtual void backlightTimeSetAlways ()
 Turns the backlight always on.
 
virtual bool keypadLockIsManual () const
 Returns true if the keypad lock is manual.
 
virtual unsigned keypadLockTime () const
 Returns the keypad lock time.
 
virtual void setKeypadLockTime (unsigned sec)
 Sets the keypad lock time.
 
virtual void keypadLockTimeSetManual ()
 Set keypad lock to manual.
 
virtual uint32_t powerOnPassword () const
 Returns the 8-digit power-on password.
 
virtual void setPowerOnPassword (uint32_t passwd)
 Sets the 8-digit power-on password.
 
virtual bool radioProgPasswordEnabled () const
 Returns true, if the radio programming password is enabled.
 
virtual uint32_t radioProgPassword () const
 Returns the 8-digit radio programming password.
 
virtual void setRadioProgPassword (uint32_t passwd)
 Sets the 8-digit radio programming password.
 
virtual void radioProgPasswordDisable ()
 Disables the radio programming password.
 
virtual bool pcProgPasswordEnabled () const
 Returns true, if the PC programming password is enabled.
 
virtual QString pcProgPassword () const
 Returns the PC programming password.
 
virtual void setPCProgPassword (const QString &pass)
 Sets the PC programming password.
 
virtual void pcProgPasswordDisable ()
 Disables the PC programming password.
 
virtual QString radioName () const
 Returns the radio name.
 
virtual void setRadioName (const QString &name)
 Sets the radio name.
 
virtual bool fromConfig (const Config *config)
 Encodes the general settings.
 
virtual bool updateConfig (Config *config)
 Updates config from general settings.
 
- Public Member Functions inherited from Codeplug::Element
 Element (const Element &other)
 Copy constructor.
 
virtual ~Element ()
 Destructor.
 
virtual bool isValid () const
 Returns true if the pointer is not null.
 
bool fill (uint8_t value, unsigned offset=0, int size=-1)
 Fills the memsets the entire element to the given value.
 
bool getBit (unsigned offset, unsigned bit) const
 Reads a specific bit at the given byte-offset.
 
void setBit (unsigned offset, unsigned bit, bool value=true)
 Sets a specific bit at the given byte-offset.
 
void clearBit (unsigned offset, unsigned bit)
 Clears a specific bit at the given byte-offset.
 
uint8_t getUInt2 (unsigned offset, unsigned bit) const
 Reads a 2bit unsigned integer at the given byte- and bit-offset.
 
void setUInt2 (unsigned offset, unsigned bit, uint8_t value)
 Stores a 2bit unsigned integer at the given byte- and bit-offset.
 
uint8_t getUInt3 (unsigned offset, unsigned bit) const
 Reads a 3bit unsigned integer at the given byte- and bit-offset.
 
void setUInt3 (unsigned offset, unsigned bit, uint8_t value)
 Stores a 3bit unsigned integer at the given byte- and bit-offset.
 
uint8_t getUInt4 (unsigned offset, unsigned bit) const
 Reads a 4bit unsigned integer at the given byte- and bit-offset.
 
void setUInt4 (unsigned offset, unsigned bit, uint8_t value)
 Stores a 4bit unsigned integer at the given byte- and bit-offset.
 
uint8_t getUInt5 (unsigned offset, unsigned bit) const
 Reads a 5bit unsigned integer at the given byte- and bit-offset.
 
void setUInt5 (unsigned offset, unsigned bit, uint8_t value)
 Stores a 5bit iunsinged nteger at the given byte- and bit-offset.
 
uint8_t getUInt6 (unsigned offset, unsigned bit) const
 Reads a 6bit unsigned integer at the given byte- and bit-offset.
 
void setUInt6 (unsigned offset, unsigned bit, uint8_t value)
 Stores a 6bit unsigned integer at the given byte- and bit-offset.
 
uint8_t getUInt8 (unsigned offset) const
 Reads a 8bit unsigned integer at the given byte- and bit-offset.
 
void setUInt8 (unsigned offset, uint8_t value)
 Reads a 8bit unsigned integer at the given byte- and bit-offset.
 
int8_t getInt8 (unsigned offset) const
 Reads a 8bit signed integer at the given byte- and bit-offset.
 
void setInt8 (unsigned offset, int8_t value)
 Reads a 8bit signed integer at the given byte- and bit-offset.
 
uint16_t getUInt16_be (unsigned offset) const
 Reads a 16bit big-endian unsigned integer at the given byte-offset.
 
uint16_t getUInt16_le (unsigned offset) const
 Reads a 16bit little-endian unsigned integer at the given byte-offset.
 
void setUInt16_be (unsigned offset, uint16_t value)
 Stores a 16bit big-endian unsigned integer at the given byte-offset.
 
void setUInt16_le (unsigned offset, uint16_t value)
 Stores a 16bit little-endian unsigned integer at the given byte-offset.
 
uint32_t getUInt24_be (unsigned offset) const
 Reads a 24bit big-endian unsigned integer at the given byte-offset.
 
uint32_t getUInt24_le (unsigned offset) const
 Reads a 24bit little-endian unsigned integer at the given byte-offset.
 
void setUInt24_be (unsigned offset, uint32_t value)
 Stores a 24bit big-endian unsigned integer at the given byte-offset.
 
void setUInt24_le (unsigned offset, uint32_t value)
 Stores a 24bit little-endian unsigned integer at the given byte-offset.
 
uint32_t getUInt32_be (unsigned offset) const
 Reads a 32bit big-endian unsigned integer at the given byte-offset.
 
uint32_t getUInt32_le (unsigned offset) const
 Reads a 32bit little-endian unsigned integer at the given byte-offset.
 
void setUInt32_be (unsigned offset, uint32_t value)
 Stores a 32bit big-endian unsigned integer at the given byte-offset.
 
void setUInt32_le (unsigned offset, uint32_t value)
 Stores a 32bit little-endian unsigned integer at the given byte-offset.
 
uint64_t getUInt64_be (unsigned offset) const
 Reads a 64bit big-endian unsigned integer at the given byte-offset.
 
uint64_t getUInt64_le (unsigned offset) const
 Reads a 64bit little-endian unsigned integer at the given byte-offset.
 
void setUInt64_be (unsigned offset, uint64_t value)
 Stores a 64bit big-endian unsigned integer at the given byte-offset.
 
void setUInt64_le (unsigned offset, uint64_t value)
 Stores a 64bit little-endian unsigned integer at the given byte-offset.
 
uint8_t getBCD2 (unsigned offset) const
 Reads a 2-digit (1-byte/8bit) BDC value in big-endian at the given byte-offset.
 
void setBCD2 (unsigned offset, uint8_t value)
 Stores a 2-digit (1-byte/8bit) BDC value in big-endian at the given byte-offset.
 
uint16_t getBCD4_be (unsigned offset) const
 Reads a 4-digit (2-byte/16bit) BDC value in big-endian at the given byte-offset.
 
void setBCD4_be (unsigned offset, uint16_t value)
 Stores a 4-digit (2-byte/16bit) BDC value in big-endian at the given byte-offset.
 
uint16_t getBCD4_le (unsigned offset) const
 Reads a 4-digit (2-byte/16bit) BDC value in little-endian at the given byte-offset.
 
void setBCD4_le (unsigned offset, uint16_t value)
 Stores a 4-digit (1-byte/16bit) BDC value in little-endian at the given byte-offset.
 
uint32_t getBCD8_be (unsigned offset) const
 Reads a 8-digit (4-byte/32bit) BDC value in big-endian at the given byte-offset.
 
void setBCD8_be (unsigned offset, uint32_t value)
 Stores a 8-digit (4-byte/32bit) BDC value in big-endian at the given byte-offset.
 
uint32_t getBCD8_le (unsigned offset) const
 Reads a 8-digit (4-byte/32bit) BDC value in little-endian at the given byte-offset.
 
void setBCD8_le (unsigned offset, uint32_t value)
 Stores a 8-digit (4-byte/32bit) BDC value in little-endian at the given byte-offset.
 
QString readASCII (unsigned offset, unsigned maxlen, uint8_t eos=0x00) const
 Reads up to maxlen ASCII chars at the given byte-offset using eos as the string termination char.
 
void writeASCII (unsigned offset, const QString &txt, unsigned maxlen, uint8_t eos=0x00)
 Stores up to maxlen ASCII chars at the given byte-offset using eos as the string termination char. More...
 
QString readUnicode (unsigned offset, unsigned maxlen, uint16_t eos=0x0000) const
 Reads up to maxlen unicode chars at the given byte-offset using eos as the string termination char.
 
void writeUnicode (unsigned offset, const QString &txt, unsigned maxlen, uint16_t eos=0x0000)
 Stores up to maxlen unicode chars at the given byte-offset using eos as the string termination char. More...
 

Protected Member Functions

 GeneralSettingsElement (uint8_t *ptr, size_t size)
 Hidden constructor.
 
- Protected Member Functions inherited from Codeplug::Element
 Element (uint8_t *ptr, size_t size)
 Hidden constructor. More...
 

Additional Inherited Members

- Protected Attributes inherited from Codeplug::Element
uint8_t * _data
 Holds the pointer to the element.
 
size_t _size
 Holds the size of the element.
 

Detailed Description

Codeplug representation of the general settings.

Memory layout of encoded settings:

     7   6   5   4   3   2   1   0   7   6   5   4   3   2   1   0   7   6   5   4   3   2   1   0   7   6   5   4   3   2   1   0
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
00 | Intro Line 1, 10 x 16bit unicode characters                                                                               ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
10  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
14 | Intro Line 2, 10 x 16bit unicode characters                                                                               ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
24  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
26 | Reserved 24 bytes, set to 0xff                                                                                             ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
3c  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
40 | 1   1   1 |MNT| 1 |DAL| 1   0 |TPA|TPD|PWE|CIT| 1 |DAT|SMR|SPR| 1   1   1 |INP| 1   0   1 | 0 | Unused set to 0xff            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
44 | DMR ID 24bit, little endian                                                                   | Unused 0x00                   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
48 | TX Preamble Duration N x 60ms | Grp Call Hang Time N x 100ms  | Prv. Call Hang Time N x 100ms | VOX sensitivity [1..10]       |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
4c | Unused, set 0x00              | Unused, set 0x00              | RX Low Bat. Intv N x 5s       | Call Alert Tone Dur N x 5s    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
50 | Lone Worker Resp. Time in min | Lone Worker Rem. Time in sec  | Unused, set to 0x00           | Scan Dig. Hang Time N x 100ms |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
54 | Scan Anal. Hang Time N x 100ms| 0   0   0   0   0   0 |BcLTime| Keypad Lock Time N x 5s       | Unused, set to 0xff           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
58 | Power-on password 8 x BCD numbers, 0x00000000=default                                                                         |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
5c | Radio prog. password 8 x BCD numbers, 0x00000000=disabled                                                                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
60 | PC Programming password 8 x ASCII, 0x00 terminated, filled with 0xff=disabled                                              ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
64  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
68 | Unused set to 0xffffffff                                                                                                      |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
6c | Unused set to 0xffffffff                                                                                                      |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
70 | Radio name 16 x 16bit unicode chars                                                                                        ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
8c  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

Field description:
 MNT = Monitor type: 1 = Open Squelch, 0 = Silent, default=1;
 DAL = Disable all LEDs (inverted);
 TPD = Talk permit tone digital;
 TPA = Talk permit tone analog;
 PWE = Password and lock enable (inverted);
 CIT = Ch. free indication tone (inverted);
 DAT = Disable all tones (inverted);
 SMR = Save Mode Receive;
 SPR = Save Preamble;
 INP = Intro Picture;
 BcLTime = Backlight time, 0=Always, t=n*5s;
 Keypad Lock Time = 0xff=manual otherwise

Member Function Documentation

◆ clear()

void TyTCodeplug::GeneralSettingsElement::clear ( )
virtual

Abstract method to reset the element within the codeplug.

Any device specific element should implement this method.

Reimplemented from Codeplug::Element.

Reimplemented in UV390Codeplug::GeneralSettingsElement.


The documentation for this class was generated from the following files: