libdrmconf  0.11.3
A library to program DMR radios.
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
AnytoneCodeplug::DMRAPRSSettingsElement Class Reference

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

#include <anytone_codeplug.hh>

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

Public Member Functions

 DMRAPRSSettingsElement (uint8_t *ptr)
 Constructor.
 
void clear ()
 Resets the APRS settings.
 
virtual unsigned manualInterval () const
 Returns the Manual TX interval in seconds.
 
virtual void setManualInterval (unsigned sec)
 Sets the manual TX interval in seconds.
 
virtual bool automatic () const
 Returns true if the automatic APRS is enabled.
 
virtual unsigned automaticInterval () const
 Returns the automatic transmit interval in seconds.
 
virtual void setAutomaticInterval (unsigned sec)
 Sets the automatic transmit interval in seconds.
 
virtual void disableAutomatic ()
 Disables the automatic APRS. More...
 
virtual bool fixedLocation () const
 Returns true if the fixed location beacon is enabled.
 
virtual QGeoCoordinate location () const
 Returns the location of the fixed position.
 
virtual void setLocation (const QGeoCoordinate &pos)
 Sets the location of the fixed position.
 
virtual void enableFixedLocation (bool enable)
 Enables/disables fixed location beacon.
 
virtual Channel::Power power () const
 Returns the transmit power.
 
virtual void setPower (Channel::Power power)
 Sets the transmit power.
 
virtual bool hasChannel (unsigned n) const
 Returns true if the n-th channel is set.
 
virtual bool channelIsVFOA (unsigned n) const
 Returns true if the n-th channel is VFO A.
 
virtual bool channelIsVFOB (unsigned n) const
 Returns true if the n-th channel is VFO B.
 
virtual bool channelIsSelected (unsigned n) const
 Returns true if the n-th channel is selected channel.
 
virtual unsigned channelIndex (unsigned n) const
 Returns the index of the n-th channel.
 
virtual void setChannelIndex (unsigned n, unsigned idx)
 Sets the n-th channel index.
 
virtual void setChannelVFOA (unsigned n)
 Sets the n-th channel to VFO A.
 
virtual void setChannelVFOB (unsigned n)
 Sets the n-th channel to VFO B.
 
virtual void setChannelSelected (unsigned n)
 Sets the n-th channel to selected channel.
 
virtual void clearChannel (unsigned n)
 Resets the n-th channel.
 
virtual unsigned destination () const
 Returns the destination DMR ID to send the APRS information to.
 
virtual void setDestination (unsigned id)
 Sets the destination DMR ID to send the APRS information to.
 
virtual DMRContact::Type callType () const
 Returns the call type.
 
virtual void setCallType (DMRContact::Type type)
 Sets the call type.
 
virtual bool timeSlotOverride () const
 Returns true if the timeslot of the channel is overridden.
 
virtual DMRChannel::TimeSlot timeslot () const
 Returns the timeslot (only valid if timeSlotOverride returns true).
 
virtual void overrideTimeSlot (DMRChannel::TimeSlot ts)
 Sets the timeslot.
 
virtual void disableTimeSlotOverride ()
 Disables TS override.
 
virtual bool fromConfig (const Flags &flags, Context &ctx)
 Updates the GPS settings from the given config.
 
virtual bool createGPSSystem (uint8_t i, Context &ctx)
 Creates GPS system from this GPS settings.
 
virtual bool linkGPSSystem (uint8_t i, Context &ctx)
 Links GPS system from this GPS 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...
 

Static Public Member Functions

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

Protected Member Functions

 DMRAPRSSettingsElement (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.
 

Detailed Description

Represents the base class of DMR APRS settings for all AnyTone codeplugs.

Memory encoding of the DMR APRS settings (size 0x0030 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 | Manual TX interval in sec.    | Auto TX interval in sec.      | Enable fixed location beacon  | Latitude degrees              |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
04 | Latitude minutes              | Latitude seconds              | South flag (0=north, 1=south) | Longitude degrees             |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
08 | Longitude minutes             | Longitude seconds             | West flag (0=east, 1=west)    | Transmit power                |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0c | Revert channel 0 index, 0-based, little endian.               | Revert channel 1 index, 0-based, little endian.               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    ...                                                                                                                         ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
18 | Revert channel 6 index, 0-based, little endian.               | Revert channel 7 index, 0-based, little endian.               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
1c | Target DMR ID, 8 digit BCD, big endian                                                                                        |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
20 | Call type                     | Timeslot override             | Unused, set to 0x00                                        ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
2c  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

Some field details:
 - Transmit power: 0=low, 1=mid, 2=high, 3=turbo.
 - Revert channel indices: Global index of channel, 0x0fa0=VFO A, 0x0fa1=VFO B, 0x0fa2=selected, 0xffff=none.
 - Call type: 0=private, 1=group, 2=all call.
 - Timeslot override: 0=same as channel, 1=TS1, 2=TS2

Member Function Documentation

◆ disableAutomatic()

void AnytoneCodeplug::DMRAPRSSettingsElement::disableAutomatic ( )
virtual

Disables the automatic APRS.

To enable it, set an interval.


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