libdrmconf  0.12.0
A library to program DMR radios.
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
D868UVCodeplug::GeneralSettingsElement Class Reference

Represents the general config of the radio within the D868UV binary codeplug. More...

#include <d868uv_codeplug.hh>

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

Classes

struct  KeyFunction
 Device specific key functions. More...
 
struct  Offset
 Some internal used offsets within the element. More...
 

Public Member Functions

 GeneralSettingsElement (uint8_t *ptr)
 Constructor.
 
void clear ()
 Resets the general settings.
 
virtual AnytonePowerSaveSettingsExtension::PowerSave powerSave () const
 Returns the power-save mode.
 
virtual void setPowerSave (AnytonePowerSaveSettingsExtension::PowerSave mode)
 Sets the power-save mode.
 
virtual unsigned voxLevel () const
 Returns the VOX level.
 
virtual void setVOXLevel (unsigned level)
 Sets the VOX level.
 
virtual Interval voxDelay () const
 Returns the VOX delay in ms.
 
virtual void setVOXDelay (Interval ms)
 Sets the VOX delay in ms.
 
virtual AnytoneAudioSettingsExtension::VoxSource voxSource () const
 Returns the VOX source.
 
virtual void setVOXSource (AnytoneAudioSettingsExtension::VoxSource source)
 Sets the VOX source.
 
unsigned int dmrMicGain () const
 Returns the mirophone gain.
 
void setDMRMicGain (unsigned int gain)
 Sets the microphone gain.
 
unsigned maxSpeakerVolume () const
 Returns the maximum volume.
 
void setMaxSpeakerVolume (unsigned level)
 Sets the maximum volume.
 
virtual unsigned maxHeadPhoneVolume () const
 Returns the maximum headphone volume.
 
virtual void setMaxHeadPhoneVolume (unsigned max)
 Sets the maximum headphone volume.
 
bool enhanceAudio () const
 Returns true if the audio is "enhanced".
 
void enableEnhancedAudio (bool enable)
 Enables/disables "enhanced" audio.
 
bool recording () const
 Returns true if recording is enabled.
 
void enableRecording (bool enable)
 Enables/disables recording.
 
virtual unsigned recordingDelay () const
 Returns the recording delay in ms.
 
virtual void setRecodringDelay (unsigned ms)
 Sets the recording delay in ms.
 
AnytoneSettingsExtension::VFOScanType vfoScanType () const
 Returns the VFO scan type.
 
void setVFOScanType (AnytoneSettingsExtension::VFOScanType type)
 Sets the VFO scan type.
 
Frequency minVFOScanFrequencyUHF () const
 Returns the minimum VFO scan frequency for the UHF band in Hz.
 
void setMinVFOScanFrequencyUHF (Frequency hz)
 Sets the minimum VFO scan frequency for the UHF band in Hz.
 
Frequency maxVFOScanFrequencyUHF () const
 Returns the maximum VFO scan frequency for the UHF band in Hz.
 
void setMaxVFOScanFrequencyUHF (Frequency hz)
 Sets the maximum VFO scan frequency for the UHF band in Hz.
 
Frequency minVFOScanFrequencyVHF () const
 Returns the minimum VFO scan frequency for the VHF band in Hz.
 
void setMinVFOScanFrequencyVHF (Frequency hz)
 Sets the minimum VFO scan frequency for the VHF band in Hz.
 
Frequency maxVFOScanFrequencyVHF () const
 Returns the maximum VFO scan frequency for the VHF band in Hz.
 
void setMaxVFOScanFrequencyVHF (Frequency hz)
 Sets the maximum VFO scan frequency for the VHF band in Hz.
 
AnytoneKeySettingsExtension::KeyFunction funcKeyAShort () const
 Returns the key function for a short press on the function key 1/A.
 
void setFuncKeyAShort (AnytoneKeySettingsExtension::KeyFunction func)
 Sets the key function for a short press on the function key 1/A.
 
AnytoneKeySettingsExtension::KeyFunction funcKeyBShort () const
 Returns the key function for a short press on the function key 2/B.
 
void setFuncKeyBShort (AnytoneKeySettingsExtension::KeyFunction func)
 Sets the key function for a short press on the function key 2/B.
 
AnytoneKeySettingsExtension::KeyFunction funcKeyCShort () const
 Returns the key function for a short press on the function key 3/C.
 
void setFuncKeyCShort (AnytoneKeySettingsExtension::KeyFunction func)
 Sets the key function for a short press on the function key 3/C.
 
AnytoneKeySettingsExtension::KeyFunction funcKey1Short () const
 Returns the key function for a short press on the function key 1.
 
void setFuncKey1Short (AnytoneKeySettingsExtension::KeyFunction func)
 Sets the key function for a short press on the function key 1.
 
AnytoneKeySettingsExtension::KeyFunction funcKey2Short () const
 Returns the key function for a short press on the function key 2.
 
void setFuncKey2Short (AnytoneKeySettingsExtension::KeyFunction func)
 Sets the key function for a short press on the function key 2.
 
AnytoneKeySettingsExtension::KeyFunction funcKeyALong () const
 Returns the key function for a long press on the function key 1.
 
void setFuncKeyALong (AnytoneKeySettingsExtension::KeyFunction func)
 Sets the key function for a long press on the function key 1.
 
AnytoneKeySettingsExtension::KeyFunction funcKeyBLong () const
 Returns the key function for a long press on the function key 2.
 
void setFuncKeyBLong (AnytoneKeySettingsExtension::KeyFunction func)
 Sets the key function for a long press on the function key 2.
 
AnytoneKeySettingsExtension::KeyFunction funcKeyCLong () const
 Returns the key function for a long press on the function key 3.
 
void setFuncKeyCLong (AnytoneKeySettingsExtension::KeyFunction func)
 Sets the key function for a long press on the function key 3.
 
AnytoneKeySettingsExtension::KeyFunction funcKey1Long () const
 Returns the key function for a long press on the function key 1.
 
void setFuncKey1Long (AnytoneKeySettingsExtension::KeyFunction func)
 Sets the key function for a long press on the function key 1.
 
AnytoneKeySettingsExtension::KeyFunction funcKey2Long () const
 Returns the key function for a long press on the function key 2.
 
void setFuncKey2Long (AnytoneKeySettingsExtension::KeyFunction func)
 Sets the key function for a long press on the function key 2.
 
Interval longPressDuration () const
 Returns the long-press duration in ms.
 
void setLongPressDuration (Interval ms)
 Sets the long-press duration in ms.
 
bool vfoModeA () const
 Returns true if the VFO A is in VFO mode.
 
void enableVFOModeA (bool enable)
 Enables/disables VFO mode for VFO A.
 
bool vfoModeB () const
 Returns true if the VFO B is in VFO mode.
 
void enableVFOModeB (bool enable)
 Enables/disables VFO mode for VFO B.
 
unsigned memoryZoneA () const
 Returns the memory zone for VFO A.
 
void setMemoryZoneA (unsigned zone)
 Sets the memory zone for VFO A.
 
unsigned memoryZoneB () const
 Returns the memory zone for VFO B.
 
void setMemoryZoneB (unsigned zone)
 Sets the memory zone for VFO B.
 
bool gps () const
 Returns true if GPS is enabled.
 
void enableGPS (bool enable)
 Enables/disables recording.
 
QTimeZone gpsTimeZone () const
 Returns the GPS time zone.
 
void setGPSTimeZone (const QTimeZone &zone)
 Sets the GPS time zone.
 
bool getGPSPosition () const
 Returns true if get GPS position is enabled.
 
void enableGetGPSPosition (bool enable)
 Enables/disables get GPS position.
 
bool gpsUnitsImperial () const
 Returns true if the GPS units are imperial.
 
void enableGPSUnitsImperial (bool enable)
 Enables/disables imperial GPS units.
 
virtual Interval gpsUpdatePeriod () const
 Returns the GPS update period in seconds.
 
virtual void setGPSUpdatePeriod (Interval sec)
 Sets the GPS update period in seconds.
 
bool keyToneEnabled () const
 Returns true, if the key tone is enabled.
 
void enableKeyTone (bool enable)
 Enables/disables the key-tone.
 
bool smsAlert () const
 Returns true if SMS alert is enabled.
 
void enableSMSAlert (bool enable)
 Enables/disables SMS alert.
 
bool callAlert () const
 Returns true if call alert is enabled.
 
void enableCallAlert (bool enable)
 Enables/disables call alert.
 
bool dmrTalkPermit () const
 Returns true if the talk permit tone is enabled for digital channels.
 
void enableDMRTalkPermit (bool enable)
 Enables/disables the talk permit tone for digital channels.
 
bool fmTalkPermit () const
 Returns true if the talk permit tone is enabled for digital channels.
 
void enableFMTalkPermit (bool enable)
 Enables/disables the talk permit tone for analog channels.
 
bool dmrResetTone () const
 Returns true if the reset tone is enabled for digital calls.
 
void enableDMRResetTone (bool enable)
 Enables/disables the reset tone for digital calls.
 
bool idleChannelTone () const
 Returns true if the idle channel tone is enabled.
 
void enableIdleChannelTone (bool enable)
 Enables/disables the idle channel tone.
 
bool startupTone () const
 Returns true if the startup tone is enabled.
 
void enableStartupTone (bool enable)
 Enables/disables the startup tone.
 
void callToneMelody (Melody &melody) const
 Returns the call-tone melody.
 
void setCallToneMelody (const Melody &melody)
 Sets the call-tone melody.
 
void idleToneMelody (Melody &melody) const
 Returns the idle-tone melody.
 
void setIdleToneMelody (const Melody &melody)
 Sets the idle-tone melody.
 
void resetToneMelody (Melody &melody) const
 Returns the reset-tone melody.
 
void setResetToneMelody (const Melody &melody)
 Sets the reset-tone melody.
 
bool activeChannelB () const
 Returns true if the active channel is VFO B.
 
void enableActiveChannelB (bool enable)
 Enables/disables VFO B as the active channel.
 
bool subChannel () const
 Returns true if sub channel is enabled.
 
void enableSubChannel (bool enable)
 Enables/disables sub channel.
 
Interval menuExitTime () const
 Returns the menu exit time in seconds.
 
void setMenuExitTime (Interval intv)
 Sets the menu exit time in seconds.
 
bool callEndPrompt () const
 Returns true if the call-end prompt is enabled.
 
void enableCallEndPrompt (bool enable)
 Enables/disables the call-end prompt.
 
bool volumeChangePrompt () const
 Returns true if the volume change prompt is enabled.
 
void enableVolumeChangePrompt (bool enable)
 Enables/disables the volume change prompt.
 
AnytoneDisplaySettingsExtension::LastCallerDisplayMode lastCallerDisplayMode () const
 Returns the last-caller display mode.
 
void setLastCallerDisplayMode (AnytoneDisplaySettingsExtension::LastCallerDisplayMode mode)
 Sets the last-caller display mode.
 
bool displayClock () const
 Returns true if the clock is shown.
 
void enableDisplayClock (bool enable)
 Enables/disables clock display.
 
bool displayCall () const
 Returns true if the call is displayed instead of the name.
 
void enableDisplayCall (bool enable)
 Enables/disables call display.
 
AnytoneDisplaySettingsExtension::Color callDisplayColor () const
 Returns the display color for callsigns.
 
void setCallDisplayColor (AnytoneDisplaySettingsExtension::Color color)
 Sets the display color for callsigns.
 
bool showLastHeard () const
 Returns true if the last heard is shown while pressing PTT.
 
void enableShowLastHeard (bool enable)
 Enables/disables showing last heard.
 
unsigned brightness () const
 Returns the display brightness.
 
void setBrightness (unsigned level)
 Sets the display brightness.
 
virtual bool backlightPermanent () const
 Returns true if the backlight is always on.
 
virtual Interval rxBacklightDuration () const
 Returns the backlight duration in seconds.
 
virtual void setRXBacklightDuration (Interval sec)
 Sets the backlight duration in seconds.
 
virtual void enableBacklightPermanent ()
 Sets the backlight to permanent (always on).
 
AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionA () const
 Returns the auto repeater offset direction for VFO A.
 
void setAutoRepeaterDirectionA (AnytoneAutoRepeaterSettingsExtension::Direction dir)
 Sets the auto-repeater offset direction for VFO A.
 
AnytoneAutoRepeaterSettingsExtension::Direction autoRepeaterDirectionB () const
 Returns the auto-repeater direction for VFO B.
 
void setAutoRepeaterDirectionB (AnytoneAutoRepeaterSettingsExtension::Direction dir)
 Sets the auto-repeater direction for VFO B.
 
bool hasAutoRepeaterOffsetFrequencyIndexUHF () const
 Returns true if the auto-repeater offset frequency for UHF is set.
 
unsigned autoRepeaterOffsetFrequencyIndexUHF () const
 Returns the auto-repeater offset frequency index for UHF.
 
void setAutoRepeaterOffsetFrequenyIndexUHF (unsigned idx)
 Sets the auto-repeater offset frequency index for UHF.
 
void clearAutoRepeaterOffsetFrequencyIndexUHF ()
 Clears the auto-repeater offset frequency index for UHF.
 
bool hasAutoRepeaterOffsetFrequencyIndexVHF () const
 Returns true if the auto-repeater offset frequency for VHF is set.
 
unsigned autoRepeaterOffsetFrequencyIndexVHF () const
 Returns the auto-repeater offset frequency index for UHF.
 
void setAutoRepeaterOffsetFrequenyIndexVHF (unsigned idx)
 Sets the auto-repeater offset frequency index for VHF.
 
void clearAutoRepeaterOffsetFrequencyIndexVHF ()
 Clears the auto-repeater offset frequency index for VHF.
 
Frequency autoRepeaterMinFrequencyVHF () const
 Returns the minimum frequency in Hz for the auto-repeater range in VHF band.
 
void setAutoRepeaterMinFrequencyVHF (Frequency Hz)
 Sets the minimum frequency in Hz for the auto-repeater range in VHF band.
 
Frequency autoRepeaterMaxFrequencyVHF () const
 Returns the maximum frequency in Hz for the auto-repeater range in VHF band.
 
void setAutoRepeaterMaxFrequencyVHF (Frequency Hz)
 Sets the maximum frequency in Hz for the auto-repeater range in VHF band.
 
Frequency autoRepeaterMinFrequencyUHF () const
 Returns the minimum frequency in Hz for the auto-repeater range in UHF band.
 
void setAutoRepeaterMinFrequencyUHF (Frequency Hz)
 Sets the minimum frequency in Hz for the auto-repeater range in UHF band.
 
Frequency autoRepeaterMaxFrequencyUHF () const
 Returns the maximum frequency in Hz for the auto-repeater range in UHF band.
 
void setAutoRepeaterMaxFrequencyUHF (Frequency Hz)
 Sets the maximum frequency in Hz for the auto-repeater range in UHF band.
 
bool showCurrentContact () const
 Returns true if the current contact is shown.
 
void enableShowCurrentContact (bool enable)
 Enables/disables display of current contact.
 
virtual bool keyToneLevelAdjustable () const
 Returns true if the key-tone level is adjustable.
 
virtual unsigned keyToneLevel () const
 Returns the key-tone level (0=adjustable).
 
virtual void setKeyToneLevel (unsigned level)
 Sets the key-tone level.
 
virtual void setKeyToneLevelAdjustable ()
 Sets the key-tone level adjustable.
 
bool knobLock () const
 Returns true if the knob is locked.
 
void enableKnobLock (bool enable)
 Enables/disables the knob lock.
 
bool keypadLock () const
 Returns true if the keypad is locked.
 
void enableKeypadLock (bool enable)
 Enables/disables the keypad lock.
 
bool sidekeysLock () const
 Returns true if the sidekeys are locked.
 
void enableSidekeysLock (bool enable)
 Enables/disables the sidekeys lock.
 
bool keyLockForced () const
 Returns true if the "professional" key is locked.
 
void enableKeyLockForced (bool enable)
 Enables/disables the "professional" key lock.
 
bool defaultChannel () const
 Returns true if the default boot channel is enabled.
 
void enableDefaultChannel (bool enable)
 Enables/disables default boot channel.
 
unsigned defaultZoneIndexA () const
 Returns the default zone index (0-based) for VFO A.
 
void setDefaultZoneIndexA (unsigned idx)
 Sets the default zone (0-based) for VFO A.
 
unsigned defaultZoneIndexB () const
 Returns the default zone index (0-based) for VFO B.
 
void setDefaultZoneIndexB (unsigned idx)
 Sets the default zone (0-based) for VFO B.
 
bool defaultChannelAIsVFO () const
 Returns true if the default channel for VFO A is VFO.
 
unsigned defaultChannelAIndex () const
 Returns the default channel index for VFO A. More...
 
void setDefaultChannelAIndex (unsigned idx)
 Sets the default channel index for VFO A.
 
void setDefaultChannelAToVFO ()
 Sets the default channel for VFO A to be VFO.
 
bool defaultChannelBIsVFO () const
 Returns true if the default channel for VFO B is VFO.
 
unsigned defaultChannelBIndex () const
 Returns the default channel index for VFO B. More...
 
void setDefaultChannelBIndex (unsigned idx)
 Sets the default channel index for VFO B.
 
void setDefaultChannelBToVFO ()
 Sets the default channel for VFO B to be VFO.
 
bool keepLastCaller () const
 Returns true if the last caller is kept when changing channel.
 
void enableKeepLastCaller (bool enable)
 Enables/disables keeping the last caller when changing the channel.
 
bool fromConfig (const Flags &flags, Context &ctx)
 Encodes the general settings.
 
bool updateConfig (Context &ctx)
 Updates the abstract config from general settings.
 
bool linkSettings (RadioSettings *settings, Context &ctx, const ErrorStack &err=ErrorStack())
 Links the general settings.
 
- Public Member Functions inherited from AnytoneCodeplug::GeneralSettingsElement
virtual bool displayFrequency () const
 Returns true if the radio displays frequecies instead of channels is enabled.
 
virtual void enableDisplayFrequency (bool enable)
 Enables/disables the frequency display.
 
virtual bool autoKeyLock () const
 Returns true if auto key-lock is enabled.
 
virtual void enableAutoKeyLock (bool enable)
 Enables/disables auto key-lock.
 
virtual Interval autoShutdownDelay () const
 Returns the auto-shutdown delay in minutes.
 
virtual void setAutoShutdownDelay (Interval min)
 Sets the auto-shutdown delay in minutes.
 
virtual AnytoneBootSettingsExtension::BootDisplay bootDisplay () const
 Returns the boot display mode.
 
virtual void setBootDisplay (AnytoneBootSettingsExtension::BootDisplay mode)
 Sets the boot display mode.
 
virtual bool bootPassword () const
 Returns true if boot password is enabled.
 
virtual void enableBootPassword (bool enable)
 Enables/disables boot password.
 
virtual unsigned squelchLevelA () const
 Squelch level of VFO A, (0=off).
 
virtual void setSquelchLevelA (unsigned level)
 Returns the squelch level for VFO A, (0=off).
 
virtual unsigned squelchLevelB () const
 Squelch level of VFO B, (0=off).
 
virtual void setSquelchLevelB (unsigned level)
 Returns the squelch level for VFO B, (0=off).
 
- Public Member Functions inherited from Codeplug::Element
 Element (const Element &other)
 Copy constructor.
 
virtual ~Element ()
 Destructor.
 
Elementoperator= (const Element &other)
 Copy assignment.
 
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 (const Offset::BitOffset &offset) const
 Reads a specific bit at the given byte-offset.
 
bool getBit (unsigned offset, unsigned bit) const
 Reads a specific bit at the given byte-offset.
 
void setBit (const Offset::BitOffset &offset, bool value=true)
 Sets 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...
 

Static Public Member Functions

static constexpr unsigned int size ()
 Returns the size of the element.
 

Protected Member Functions

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

Additional Inherited Members

- Public Types inherited from AnytoneCodeplug::GeneralSettingsElement
enum class  AutoShutdown {
  Off = 0 , After10min = 1 , After30min = 2 , After60min = 3 ,
  After120min = 4
}
 Possible automatic shutdown delays.
 
- 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

Represents the general config of the radio within the D868UV binary codeplug.

This class only implements the differences to the generic AnytoneCodeplug::GeneralSettingsElement.

Memory layout of encoded general settings (size 0x00d0 bytes):

     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 | Enable key tone               | Display mode                  | Enable automatic key lock     | Automatic shutdown time       |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
04 | Unknown                       | Unknown                       | Boot display                  | Enable boot password          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
08 | Unknown                       | Squelch level VFO A           | Squelch level VFO B           | Power save mode               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0c | VOX sensitivity               | VOX delay in 100+500*n ms     | VFO scan type                 | MIC gain                      |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
10 | PF1 short press function      | PF2 short press function      | PF3 short press function      | P1 short press function       |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
14 | P2 short press function       | Work mode A                   | Work mode B                   | Unknown                    ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
18  ...                                                                                                                         ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
1c  ...                                                                                            | Work mode MEM zone A          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
20 | Work mode MEM zone B          | Unknown                       | Enable recording              | Unknown                    ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
24  ...                                                            | Display brightness            | Backlight duration            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
28 | Enable GPS                    | Enable SMS alert              | Unknown                                                       |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2c | Work mode main channel set    | Enable sub channel            | Unknown                       | Enable call alert             |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
30 | GPS Time zone                 | Talk permit tone              | Digital call reset tone       | VOX source                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
34 | Unknown                                                       | Idle channel tone             | Menu exit time                |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
38 | Unknown                       | Startup tone                  | Enable call end prompt        | Max volume                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
3c | Unknown                                                                                       | GPS RX positions              |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
40 | Unknown                       | PF1 long press function       | PF2 long press function       | PF3 long press function       |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
44 | P1 long press function        | P2 long press function        | Long press duration           | Enable Volume change prompt   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
48 | Auto repeater A direction     | Unknown                                                                                    ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
4c  ...                            | Display later caller          | Unknown                                                       |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
50 | Unknown                       | Display clock                 | Max head phone volume         |  Unknown                   ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
54 |                                                                                               | Enable enhanced audio         |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
58 | VFO Scan UHF minimum frequency in 10Hz, 32bit uint, little endian                                                             |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
5c | VFO Scan UHF maximum frequency in 10Hz, 32bit uint, little endian                                                             |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
60 | VFO Scan VHF minimum frequency in 10Hz, 32bit uint, little endian                                                             |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
64 | VFO Scan VHF maximum frequency in 10Hz, 32bit uint, little endian                                                             |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
68 | Auto rep. offset index UHF    | Auto rep. offset index VHF    | Unknown                                                    ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
6c  ...                                                                                                                         ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
70  ...                                                            | Call tone frequency 1 in Hz, little endian                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
74 | Call tone frequency 2 in Hz, little endian                    | Call tone frequency 3 in Hz, little endian                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
78 | Call tone frequency 4 in Hz, little endian                    | Call tone frequency 5 in Hz, little endian                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
7c | Call tone duration 1 in ms, little endian                     | Call tone duration 2 in ms, little endian                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
80 | Call tone duration 3 in ms, little endian                     | Call tone duration 4 in ms, little endian                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
84 | Call tone duration 5 in ms, little endian                     | Idle tone frequency 1 in Hz, little endian                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
88 | Idle tone frequency 2 in Hz, little endian                    | Idle tone frequency 3 in Hz, little endian                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
8c | Idle tone frequency 4 in Hz, little endian                    | Idle tone frequency 5 in Hz, little endian                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
90 | Idle tone duration 1 in ms, little endian                     | Idle tone duration 2 in ms, little endian                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
94 | Idle tone duration 3 in ms, little endian                     | Idle tone duration 4 in ms, little endian                     |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
98 | Idle tone duration 5 in ms, little endian                     | Reset tone frequency 1 in Hz, little endian                   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
9c | Reset tone frequency 2 in Hz, little endian                   | Reset tone frequency 3 in Hz, little endian                   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
a0 | Reset tone frequency 4 in Hz, little endian                   | Reset tone frequency 5 in Hz, little endian                   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
a4 | Reset tone duration 1 in ms, little endian                    | Reset tone duration 2 in ms, little endian                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
a8 | Reset tone duration 3 in ms, little endian                    | Reset tone duration 4 in ms, little endian                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
ac | Reset tone duration 5 in ms, little endian                    | Record delay in 200ms         | Call display mode             |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
b0 | Call display color            | GPS update period             | Show zone talkgroup           | Key tone level                |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
b4 | GPS units                     | 0 | 0 | 0 |EPK|ESK| 0 |EKB|ENK| Show last heard               | Unknown                       |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
b8 | Auto repeater VHF minimum frequency in 10Hz, little endian                                                                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
bc | Auto repeater VHF maximum frequency in 10Hz, little endian                                                                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
c0 | Auto repeater UHF minimum frequency in 10Hz, little endian                                                                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
c4 | Auto repeater UHF maximum frequency in 10Hz, little endian                                                                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
c8 | Auto rep. direction           | Unknown                       | Enable default channel        | Default zone VFO A            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
cc | Default zone VFO B            | Default channel A             | Default channel B             | Keep last caller              |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

Field description:
 - EKN: Enable knob lock.
 - EKB: Enable keyboard lock.
 - ESK: Enable side key lock.
 - EPK: Enable "professional key" lock.

Member Function Documentation

◆ defaultChannelAIndex()

unsigned D868UVCodeplug::GeneralSettingsElement::defaultChannelAIndex ( ) const
virtual

Returns the default channel index for VFO A.

Must be within default zone. If 0xff, default channel is VFO.

Implements AnytoneCodeplug::GeneralSettingsElement.

Reimplemented in DMR6X2UVCodeplug::GeneralSettingsElement, and D878UVCodeplug::GeneralSettingsElement.

◆ defaultChannelBIndex()

unsigned D868UVCodeplug::GeneralSettingsElement::defaultChannelBIndex ( ) const
virtual

Returns the default channel index for VFO B.

Must be within default zone. If 0xff, default channel is VFO.

Implements AnytoneCodeplug::GeneralSettingsElement.

Reimplemented in DMR6X2UVCodeplug::GeneralSettingsElement, and D878UVCodeplug::GeneralSettingsElement.


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