|
libdrmconf
0.12.0
A library to program DMR radios.
|
Implements some settings extension for the BTECH DMR-6X2UV. More...
#include <dmr6x2uv_codeplug.hh>


Classes | |
| struct | Limit |
| Some limits for entries. More... | |
| struct | Offset |
| Some internal offset within the codeplug element. More... | |
Public Member Functions | |
| ExtendedSettingsElement (uint8_t *ptr) | |
| Constructor. | |
| void | clear () |
| Resets the general settings. | |
| bool | sendTalkerAlias () const |
Returns true if the talker alias is sent. | |
| void | enableSendTalkerAlias (bool enable) |
| Enables/disables sending the talker alias. | |
| AnytoneDMRSettingsExtension::TalkerAliasSource | talkerAliasSource () const |
| Returns the talker alias source. | |
| void | setTalkerAliasSource (AnytoneDMRSettingsExtension::TalkerAliasSource source) |
| Sets the talker alias source. | |
| AnytoneDMRSettingsExtension::TalkerAliasEncoding | talkerAliasEncoding () const |
| Returns the talker alias encoding. | |
| void | setTalkerAliasEncoding (AnytoneDMRSettingsExtension::TalkerAliasEncoding encoding) |
| Sets the talker alias encoding. | |
| virtual AnytoneDisplaySettingsExtension::Color | fontColor () const |
| Returns the font color. | |
| virtual void | setFontColor (AnytoneDisplaySettingsExtension::Color color) |
| Sets the font color. | |
| virtual bool | customChannelBackgroundEnabled () const |
Returns true if the custom channel background is enabled. | |
| virtual void | enableCustomChannelBackground (bool enable) |
| Enables/disables the custom channel background. | |
| virtual bool | autoRoamingEnabled () const |
Returns true if auto roaming is enabled. | |
| virtual void | enableAutoRoaming (bool enable) |
| Enables/disables auto roaming. | |
| virtual bool | repeaterRangeCheckEnabled () const |
Returns true if repeater check is enabled. | |
| virtual void | enableRepeaterRangeCheck (bool enable) |
| Enables/disables repeater check. | |
| virtual unsigned int | repeaterCheckNumNotifications () const |
| Returns the number of times, the repeater out-of-range reminder is shown (1-10). | |
| virtual void | setRepeaterCheckNumNotifications (unsigned int n) |
| Sets the number of times, the repeater out-of-range reminder is shown (1-10). | |
| virtual Interval | repeaterRangeCheckInterval () const |
| Returns the repeater check interval in seconds (5-50s). | |
| virtual void | setRepeaterRangeCheckInterval (Interval intv) |
| Sets the repeater check interval in seconds (5-50s). | |
| virtual AnytoneRoamingSettingsExtension::OutOfRangeAlert | repeaterOutOfRangeAlert () const |
| Returns the repeater out-of-range alert type. | |
| virtual void | setRepeaterOutOfRangeAlert (AnytoneRoamingSettingsExtension::OutOfRangeAlert alert) |
| Sets the repeater out-of-range alert type. | |
| virtual unsigned int | repeaterRangeCheckCount () const |
| Returns the number of times, a repeater reconnection is tried (3-5). | |
| virtual void | setRepeaterRangeCheckCount (unsigned int n) |
| Sets the number of times, a repeater reconnection is tried (3-5). | |
| virtual unsigned int | defaultRoamingZoneIndex () const |
| Returns the roaming zone index. | |
| virtual void | setDefaultRoamingZoneIndex (unsigned int index) |
| Sets the roaming zone index. | |
| virtual AnytoneRoamingSettingsExtension::RoamStart | roamingStartCondition () const |
| Returns the condition to start roaming. | |
| virtual void | setRoamingStartCondition (AnytoneRoamingSettingsExtension::RoamStart cond) |
| Sets the condition to start roaming. | |
| virtual Interval | autoRoamPeriod () const |
| Returns the auto-roaming interval in minutes (1-256). | |
| virtual void | setAutoRoamPeriod (Interval minutes) |
| Sets the auto-roaming interval in minutes (1-256). | |
| virtual Interval | autoRoamDelay () const |
| Returns the effective roaming waiting time in seconds (0-30s). | |
| virtual void | setAutoRoamDelay (Interval sec) |
| Sets the effective roaming waiting time in seconds (0-30s). | |
| virtual AnytoneRoamingSettingsExtension::RoamStart | roamingReturnCondition () const |
| Returns the roaming return condition. | |
| virtual void | setRoamingReturnCondition (AnytoneRoamingSettingsExtension::RoamStart cond) |
| Sets the roaming return condition. | |
| virtual Interval | muteTimer () const |
| Returns the mute timer in minutes. | |
| virtual void | setMuteTimer (Interval minutes) |
| Sets the mute timer in minutes. | |
| virtual AnytoneDMRSettingsExtension::EncryptionType | encryptionType () const |
| Returns the encryption type. | |
| virtual void | setEncryptionType (AnytoneDMRSettingsExtension::EncryptionType type) |
| Sets the encryption type. | |
| AnytoneDisplaySettingsExtension::Color | zoneANameColor () const |
| Returns the color of the zone name for VFO A. | |
| void | setZoneANameColor (AnytoneDisplaySettingsExtension::Color color) |
| Sets the zone name color for the VFO A. | |
| AnytoneDisplaySettingsExtension::Color | zoneBNameColor () const |
| Returns the color of the zone name for VFO B. | |
| void | setZoneBNameColor (AnytoneDisplaySettingsExtension::Color color) |
| Sets the zone name color for the VFO B. | |
| virtual AnytoneDisplaySettingsExtension::Color | channelANameColor () const |
| Returns the name color for channel A. | |
| virtual void | setChannelANameColor (AnytoneDisplaySettingsExtension::Color color) |
| Sets the name color for channel A. | |
| AnytoneDisplaySettingsExtension::Color | channelBNameColor () const |
| Returns the color of the channel name for VFO B. | |
| void | setChannelBNameColor (AnytoneDisplaySettingsExtension::Color color) |
| Sets the channel name color for the VFO B. | |
| bool | fromConfig (const Flags &flags, Context &ctx, const ErrorStack &err=ErrorStack()) |
| Encodes the settings from the config. | |
| bool | updateConfig (Context &ctx, const ErrorStack &err=ErrorStack()) |
| Update config from settings. | |
| bool | linkConfig (Context &ctx, const ErrorStack &err=ErrorStack()) |
| Link config from settings extension. | |
Public Member Functions inherited from Codeplug::Element | |
| Element (const Element &other) | |
| Copy constructor. | |
| virtual | ~Element () |
| Destructor. | |
| Element & | operator= (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 | |
| ExtendedSettingsElement (uint8_t *ptr, unsigned size) | |
| Hidden Constructor. | |
Protected Member Functions inherited from AnytoneCodeplug::ExtendedSettingsElement | |
| ExtendedSettingsElement (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 | |
Protected Attributes inherited from Codeplug::Element | |
| uint8_t * | _data |
| Holds the pointer to the element. | |
| size_t | _size |
| Holds the size of the element. | |
Implements some settings extension for the BTECH DMR-6X2UV.
Memory representation of the encoded settings element (size 0x0e0 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 send talker alias | Talker alias display priority | Talker alias encoding | Font Color | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 04 | Enable custom ch. background | Roaming zone index 0-based | Enable auto roaming | Enable repeater check | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 08 | Out of repeater range alert | Rep. out of range reminder | Repeater check interval | Repeater reconnections | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 0c | Start roaming condition | Auto roaming interval | Roaming eff. waiting time | Roaming return condition | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 10 | Mute timer (n+1) min | Encryption type | Zone A name color | Zone B name color | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 14 | Channel A name color | Channel B name color | | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 18 | | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 1c | | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 20 | | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 24 | | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 28 | | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 2c | | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ Field description: - Talker alias display priority: 0x00=None, 0x01=Contact alias, 0x02=Over-the-air alias - Talker alias encoding: 0x00=ISO-8, 0x01=ISO-7, 0x02=Unicode - Font Color: 0x00=White, 0x01=Black, 0x02=Orange, 0x03=Red, 0x04=Yellow, 0x05=Green, 0x06=Turquoise, 0x07=Blue - Encryption type: 0x00=Common(Basic), 0x01=AES - Zone/Channel A/B name color: 0x00=Orange, 0x01=Red, 0x02=Yellow, 0x03=Green, 0x04=Turquoise, 0x05=Blue, 0x06=White, 0x07=Black - Out of repeater range alert: 0x00=Off, 0x01=Bell, 0x02=Voice - Rep. out of range reminder: Number of times, the reminder is shown (n-1), 0x00=1, 0x01=2, ..., 0x09=10 - Repeater check interval (n+1)*5 seconds: 0x00=5s, ..., 0x09=50s - Repeater reconnections: 0x00=3, 0x01=4, 0x03=5 - Start roaming condition: 0x00=fixed time, 0x01=out of range - Auto roaming interval: 0x00=1min, ..., 0xff=256min - Roaming eff. waiting time: 0x00=off, 0x01=1s, ..., 0x1e=30s - Roaming return condition: 0x00=fixed time, 0x01=out of range