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