libdrmconf 0.13.3
A library to program DMR radios.
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
AnytoneCodeplug::DTMFSettingsElement Class Reference

Represents the base class of DTMF settings for all AnyTone codeplugs. More...

#include <anytone_codeplug.hh>

Inheritance diagram for AnytoneCodeplug::DTMFSettingsElement:
Inheritance graph
[legend]
Collaboration diagram for AnytoneCodeplug::DTMFSettingsElement:
Collaboration graph
[legend]

Classes

struct  Limit
 Some limits for the settings. More...
 
struct  Offset
 Some internal offsets. More...
 

Public Types

enum  Response { None =0 , Tone , ToneRespond }
 Possible responses to a DTMF decode.
 

Public Member Functions

 DTMFSettingsElement (uint8_t *ptr)
 Constructor.
 
void clear ()
 Resets the settings.
 
virtual unsigned intervalSymbol () const
 Returns the interval/repeat symbol [0,15].
 
virtual void setIntervalSymbol (unsigned symb)
 Sets the interval/repeat symbol [0,15].
 
virtual unsigned groupCode () const
 Returns the group code [0,15].
 
virtual void setGroupCode (unsigned symb)
 Sets the group code [0,15].
 
virtual Response response () const
 Returns the response to a DMTF decode.
 
virtual void setResponse (Response resp)
 Sets the response to a DTMF decode.
 
virtual Interval preTime () const
 Returns the pre time in ms.
 
virtual void setPreTime (const Interval &ms)
 Sets the pre time in ms.
 
virtual Interval firstDigitDuration () const
 Returns the first digit duration in ms.
 
virtual void setFirstDigitDuration (const Interval &ms)
 Sets the first digit duration in ms.
 
virtual Interval autoResetTime () const
 Returns the auto reset time in seconds.
 
virtual void setAutoResetTime (const Interval &sec)
 Sets the auto reset time in seconds.
 
virtual QString id () const
 Returns the radio ID.
 
virtual void setID (const QString &id)
 Sets the radio ID.
 
virtual Interval postEncodingDelay () const
 Returns the post encoding delay in ms.
 
virtual void setPostEncodingDelay (const Interval &ms)
 Sets the post encoding delay in ms.
 
virtual Interval pttIDPause () const
 Returns the PTT ID pause in seconds.
 
virtual void setPTTIDPause (const Interval &sec)
 Sets the PTT ID pause in seconds.
 
virtual bool pttIDEnabled () const
 Returns true if the PTT ID is enabled.
 
virtual void enablePTTID (bool enable)
 Enables/disables the PTT ID.
 
virtual Interval dCodePause () const
 Returns the D-code pause in seconds.
 
virtual void setDCodePause (const Interval &sec)
 Sets the D-code pause in seconds.
 
virtual bool sidetone () const
 Returns true if the sidetone is enabled.
 
virtual void enableSidetone (bool enable)
 Enables/disables the sidetone.
 
virtual QString botID () const
 Returns the BOT ID.
 
virtual void setBOTID (const QString &id)
 Sets the BOT ID.
 
virtual QString eotID () const
 Returns the EOT ID.
 
virtual void setEOTID (const QString &id)
 Sets the EOT ID.
 
virtual QString remoteKillID () const
 Returns the remote kill ID.
 
virtual void setRemoteKillID (const QString &id)
 Sets the remote kill ID.
 
virtual QString remoteStunID () const
 Returns the remote stun ID.
 
virtual void setRemoteStunID (const QString &id)
 Sets the remote stun ID.
 
- 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::Bit &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::Bit &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.
 
void clearBit (const Offset::Bit &offset)
 Clears a specific bit.
 
uint8_t getUInt2 (const Offset::Bit &offset) const
 Reads a 2bit unsigned integer at the given bit-offset.
 
uint8_t getUInt2 (unsigned offset, unsigned bit) const
 Reads a 2bit unsigned integer at the given byte- and bit-offset.
 
void setUInt2 (const Offset::Bit &offset, uint8_t value)
 Stores a 2bit unsigned integer at the given 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 (const Offset::Bit &offset) const
 Reads a 3bit unsigned integer at the given bit-offset.
 
uint8_t getUInt3 (unsigned offset, unsigned bit) const
 Reads a 3bit unsigned integer at the given byte- and bit-offset.
 
void setUInt3 (const Offset::Bit &offset, uint8_t value)
 Stores a 3bit unsigned integer at the given 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 (const Offset::Bit &offset) const
 Reads a 4bit unsigned integer at the given bit-offset.
 
uint8_t getUInt4 (unsigned offset, unsigned bit) const
 Reads a 4bit unsigned integer at the given byte- and bit-offset.
 
void setUInt4 (const Offset::Bit &offset, uint8_t value)
 Stores a 4bit unsigned integer at the given 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 (const Offset::Bit &offset) const
 Reads a 5bit 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 (const Offset::Bit &offset, uint8_t value)
 Stores a 5bit unsigned integer at the given byte- and bit-offset.
 
void setUInt5 (unsigned offset, unsigned bit, uint8_t value)
 Stores a 5bit unsigned integer at the given byte- and bit-offset.
 
uint8_t getUInt6 (const Offset::Bit &offset) const
 Reads a 6bit unsigned integer 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 (const Offset::Bit &offset, uint8_t value)
 Stores 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.
 
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.
 

Static Public Member Functions

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

Protected Member Functions

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

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

Represents the base class of DTMF settings for all AnyTone codeplugs.

Memory representation of the settings (size 0x0050):

     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 | Interval symbol [0,15]        | Group code [0, 15]            | Response                      | Pre time in 10ms              |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
04 | First digit duration in 10ms  | Auto reset time in 10s        | Radio ID, 3 digits?                                        ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
08  ...                            | Post enc. delay in 10ms       | PTT ID pause in seconds       | PTT ID enable                 |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0c | D-code pause in seconds       | Side tone enable              | Unused set to 0x00                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
10 | BOT ID up to 16 digits, 0xff terminated/padded                                                                             ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
1c  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
20 | EOT ID up to 16 digits, 0xff terminated/padded                                                                             ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2c  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
30 | Remote kill ID, up to 16 digits, 0xff terminated/padded                                                                    ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
3c  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
40 | Remote stun ID, up to 16 digits, 0xff terminated/padded                                                                    ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
4c  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

Field description:
 - Response: 0=None, 1=Tone, 2=ToneRespond

Member Function Documentation

◆ clear()

void AnytoneCodeplug::DTMFSettingsElement::clear ( )
virtual

Resets the settings.

Reimplemented from Codeplug::Element.


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