libdrmconf  0.11.3
A library to program DMR radios.
Classes | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | List of all members
D878UVCodeplug::APRSSettingsElement Class Reference

Represents the APRS settings within the binary D878UV codeplug. More...

#include <d878uv_codeplug.hh>

Inheritance diagram for D878UVCodeplug::APRSSettingsElement:
Inheritance graph
[legend]
Collaboration diagram for D878UVCodeplug::APRSSettingsElement:
Collaboration graph
[legend]

Classes

struct  Limit
 Some static limits for this element. More...
 
struct  Offset
 Internal used offsets within the codeplug element. More...
 

Public Member Functions

 APRSSettingsElement (uint8_t *ptr)
 Constructor.
 
void clear ()
 Resets the settings.
 
bool isValid () const
 Returns true if the pointer is not null.
 
virtual Interval fmTXDelay () const
 Returns the TX delay in ms.
 
virtual void setFMTXDelay (Interval ms)
 Sets the TX delay in ms.
 
virtual Signaling::Code txTone () const
 Returns the sub tone settings.
 
virtual void setTXTone (Signaling::Code code)
 Sets the sub tone settings.
 
virtual Interval manualTXInterval () const
 Returns the manual TX interval in seconds.
 
virtual void setManualTXInterval (Interval sec)
 Sets the manual TX interval in seconds.
 
virtual bool autoTX () const
 Returns true if the auto transmit is enabled.
 
virtual Interval autoTXInterval () const
 Returns the auto TX interval in seconds.
 
virtual void setAutoTXInterval (Interval sec)
 Sets the auto TX interval in seconds.
 
virtual void disableAutoTX ()
 Disables auto tx.
 
virtual bool fixedLocationEnabled () const
 Returns true if a fixed location is sent.
 
virtual QGeoCoordinate fixedLocation () const
 Returns the fixed location send.
 
virtual void setFixedLocation (QGeoCoordinate &loc)
 Sets the fixed location to send.
 
virtual void disableFixedLocation ()
 Disables sending a fixed location.
 
virtual QString destination () const
 Returns the destination call.
 
virtual unsigned destinationSSID () const
 Returns the destination SSID.
 
virtual void setDestination (const QString &call, unsigned ssid)
 Sets the destination call & SSID.
 
virtual QString source () const
 Returns the source call.
 
virtual unsigned sourceSSID () const
 Returns the source SSID.
 
virtual void setSource (const QString &call, unsigned ssid)
 Sets the source call & SSID.
 
virtual QString path () const
 Returns the path string.
 
virtual void setPath (const QString &path)
 Sets the path string.
 
virtual APRSSystem::Icon icon () const
 Returns the APRS icon.
 
virtual void setIcon (APRSSystem::Icon icon)
 Sets the APRS icon.
 
virtual Channel::Power power () const
 Returns the transmit power.
 
virtual void setPower (Channel::Power power)
 Sets the transmit power.
 
virtual Interval fmPreWaveDelay () const
 Returns the pre-wave delay in ms.
 
virtual void setFMPreWaveDelay (Interval ms)
 Sets the pre-wave delay in ms.
 
virtual bool dmrChannelIsSelected (unsigned n) const
 Returns true if the channel points to the current/selected channel.
 
virtual unsigned dmrChannelIndex (unsigned n) const
 Returns the digital channel index for the n-th system.
 
virtual void setDMRChannelIndex (unsigned n, unsigned idx)
 Sets the digital channel index for the n-th system.
 
virtual void setDMRChannelSelected (unsigned n)
 Sets the channel to the current/selected channel.
 
virtual unsigned dmrDestination (unsigned n) const
 Returns the destination contact for the n-th system.
 
virtual void setDMRDestination (unsigned n, unsigned idx)
 Sets the destination contact for the n-th system.
 
virtual DMRContact::Type dmrCallType (unsigned n) const
 Returns the call type for the n-th system.
 
virtual void setDMRCallType (unsigned n, DMRContact::Type type)
 Sets the call type for the n-th system.
 
virtual bool dmrTimeSlotOverride (unsigned n)
 Returns true if the n-th system overrides the channel time-slot.
 
virtual DMRChannel::TimeSlot dmrTimeSlot (unsigned n) const
 Returns the time slot if overridden (only valid if timeSlot returns true).
 
virtual void setDMRTimeSlot (unsigned n, DMRChannel::TimeSlot ts)
 Overrides the time slot of the n-th selected channel.
 
virtual void clearDMRTimeSlotOverride (unsigned n)
 Clears the time-slot override.
 
virtual bool dmrRoaming () const
 Returns true if the roaming is enabled.
 
virtual void enableDMRRoaming (bool enable)
 Enables/disables roaming.
 
virtual Interval dmrPreWaveDelay () const
 Returns the the repeater activation delay in ms.
 
virtual void setDMRPreWaveDelay (Interval ms)
 Sets the repeater activation delay in ms.
 
virtual bool infiniteDisplayTime () const
 Returns true if a received APRS message is shown indefinitely.
 
virtual Interval displayTime () const
 Returns the time, a received APRS message is shown.
 
virtual void setDisplayTime (Interval dur)
 Sets the time, a received APRS is shown.
 
virtual void setDisplayTimeInifinite ()
 Sets the APRS display time to infinite.
 
virtual AnytoneFMAPRSSettingsExtension::Bandwidth fmChannelWidth () const
 Returns the FM APRS channel width.
 
virtual void setFMChannelWidth (AnytoneFMAPRSSettingsExtension::Bandwidth width)
 Sets the FM APRS channel width.
 
virtual bool fmPassAll () const
 Retruns true if the CRC check on received FM APRS messages is disabled.
 
virtual void enableFMPassAll (bool enable)
 Enables/disables "pass all", that is the CRC check on FM APRS messages is disabled.
 
virtual bool fmFrequencySet (unsigned int n) const
 Retruns true if the n-th of 8 FM APRS frequencies is set.
 
virtual Frequency fmFrequency (unsigned int n) const
 Returns the n-th of 8 FM APRS frequencies.
 
virtual void setFMFrequency (unsigned int n, Frequency f)
 Sets the n-th of 8 FM APRS frequencies.
 
virtual void clearFMFrequency (unsigned int n)
 Clears the n-th of 8 FM APRS frequencies.
 
virtual bool reportPosition () const
 Returns true if the report position flag is set.
 
virtual void enableReportPosition (bool enable)
 Enables/disables report position flag.
 
virtual bool reportMicE () const
 Returns true if the report Mic-E flag is set.
 
virtual void enableReportMicE (bool enable)
 Enables/disables report Mic-E flag.
 
virtual bool reportObject () const
 Returns true if the report object flag is set.
 
virtual void enableReportObject (bool enable)
 Enables/disables report object flag.
 
virtual bool reportItem () const
 Returns true if the report item flag is set.
 
virtual void enableReportItem (bool enable)
 Enables/disables report item flag.
 
virtual bool reportMessage () const
 Returns true if the report message flag is set.
 
virtual void enableReportMessage (bool enable)
 Enables/disables report message flag.
 
virtual bool reportWeather () const
 Returns true if the report weather flag is set.
 
virtual void enableReportWeather (bool enable)
 Enables/disables report weather flag.
 
virtual bool reportNMEA () const
 Returns true if the report NMEA flag is set.
 
virtual void enableReportNMEA (bool enable)
 Enables/disables report NMEA flag.
 
virtual bool reportStatus () const
 Returns true if the report status flag is set.
 
virtual void enableReportStatus (bool enable)
 Enables/disables report status flag.
 
virtual bool reportOther () const
 Returns true if the report other flag is set.
 
virtual void enableReportOther (bool enable)
 Enables/disables report other flag.
 
virtual bool fromFMAPRSSystem (const APRSSystem *sys, Context &ctx, FMAPRSFrequencyNamesElement &names, const ErrorStack &err=ErrorStack())
 Configures this APRS system from the given generic config.
 
virtual APRSSystemtoFMAPRSSystem (Context &ctx, const FMAPRSFrequencyNamesElement &names, const ErrorStack &err=ErrorStack())
 Constructs a generic APRS system configuration from this APRS system.
 
virtual bool linkFMAPRSSystem (APRSSystem *sys, Context &ctx)
 Links the transmit channel within the generic APRS system based on the transmit frequency defined within this APRS system.
 
virtual bool fromDMRAPRSSystems (Context &ctx)
 Constructs all GPS system from the generic configuration.
 
virtual bool fromDMRAPRSSystemObj (unsigned int idx, GPSSystem *sys, Context &ctx)
 Encodes the given GPS system.
 
virtual GPSSystemtoDMRAPRSSystemObj (int idx) const
 Constructs a generic GPS system from the idx-th encoded GPS system.
 
virtual bool linkDMRAPRSSystem (int idx, GPSSystem *sys, Context &ctx) const
 Links the specified generic GPS system.
 
- Public Member Functions inherited from Codeplug::Element
 Element (const Element &other)
 Copy constructor.
 
virtual ~Element ()
 Destructor.
 
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 ()
 The size of the element.
 

Protected Types

enum class  SignalingType { Off =0 , CTCSS =1 , DCS =2 }
 Possible settings for the FM APRS subtone type.
 

Protected Member Functions

 APRSSettingsElement (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 APRS settings within the binary D878UV codeplug.

Memory layout of APRS settings (size 0x00f0 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 | Unknown, set to 0x000         | Unused                                                                                     ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
04  ...                            | FM APRS TX delay in 20ms      | Signaling type                | CTCSS tone                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
08 | DCS code, little-endian                                       | Manual TX interval in seconds | Auto TX interval in 30s       |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0c | FM APRS Monitor enable        | Fixed location flag           | Latitude degrees              | Latitude minutes              |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
10 | Latitude seconds              | South flag                    | Longitude degrees             | Longitude minutes             |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
14 | Longitude seconds             | West flag                     | Destination call, 6 x ASCII, 0-padded                      ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
18  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
1c | Destination SSID              | Source call, 6 x ASCII, 0-padded                                                           ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
20  ...                                                                                            | Source SSID                   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
24 | Path, 20 x ASCII, 0-padded                                                                                                 ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    ...                                                                                                                         ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
34  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
38 | Unused set to 0x00            | ASCII APRS Symbol Table       | ASCII APRS Map Icon           | Transmit power                |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
3c | Prewave delay in 10ms         | Unknown set to 0x01           | Unknown set to 0x03           | Unknown set to 0xff           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
40 | DMR APRS Sys 0 channel index, uint16, litte-endian            | DMR APRS Sys 1 channel index, uint16, litte-endian            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
44 | DMR APRS Sys 2 channel index, uint16, litte-endian            | DMR APRS Sys 3 channel index, uint16, litte-endian            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
48 | DMR APRS Sys 4 channel index, uint16, litte-endian            | DMR APRS Sys 5 channel index, uint16, litte-endian            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
4c | DMR APRS Sys 6 channel index, uint16, litte-endian            | DMR APRS Sys 7 channel index, uint16, litte-endian            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
50 | DMR APRS Sys 0 destination ID, 8-digit BCD, big-endian                                                                        |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
54 | DMR APRS Sys 1 destination ID, 8-digit BCD, big-endian                                                                        |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
58 | DMR APRS Sys 2 destination ID, 8-digit BCD, big-endian                                                                        |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
5c | DMR APRS Sys 3 destination ID, 8-digit BCD, big-endian                                                                        |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
60 | DMR APRS Sys 4 destination ID, 8-digit BCD, big-endian                                                                        |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
64 | DMR APRS Sys 5 destination ID, 8-digit BCD, big-endian                                                                        |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
68 | DMR APRS Sys 6 destination ID, 8-digit BCD, big-endian                                                                        |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
6c | DMR APRS Sys 7 destination ID, 8-digit BCD, big-endian                                                                        |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
70 | DMR APRS Sys 0 call type      | DMR APRS Sys 1 call type      | DMR APRS Sys 2 call type      | DMR APRS Sys 3 call type      |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
74 | DMR APRS Sys 4 call type      | DMR APRS Sys 5 call type      | DMR APRS Sys 6 call type      | DMR APRS Sys 7 call type      |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
78 | Enable roaming support        | DMR APRS Sys 0 time slot      | DMR APRS Sys 1 time slot      | DMR APRS Sys 2 time slot      |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
7c | DMR APRS Sys 3 time slot      | DMR APRS Sys 4 time slot      | DMR APRS Sys 5 time slot      | DMR APRS Sys 6 time slot      |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
80 | DMR APRS Sys 7 time slot      | Rep. activation delay         | APRS display time             | Unknown                    ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    ...                                                                                                                         ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
9c  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
a0 | Unknown                                                                                                                    ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
a4  ...                                                            | Fixed height in feet, uint16, little endian                   |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
a8 |RST|RNF|RWX|RMS|RIT|ROB|RME|RPO| 0   0   0   0   0   0   0 |ROF| FM APRS width                 | Pass all enable               |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
ac | FM ARPS Frequency 0 in 10Hz, 8 digit BCD, big-endian                                                                          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
b0 | FM ARPS Frequency 1 in 10Hz, 8 digit BCD, big-endian                                                                          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
b4 | FM ARPS Frequency 2 in 10Hz, 8 digit BCD, big-endian                                                                          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
b8 | FM ARPS Frequency 3 in 10Hz, 8 digit BCD, big-endian                                                                          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
bc | FM ARPS Frequency 4 in 10Hz, 8 digit BCD, big-endian                                                                          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
c0 | FM ARPS Frequency 5 in 10Hz, 8 digit BCD, big-endian                                                                          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
c4 | FM ARPS Frequency 6 in 10Hz, 8 digit BCD, big-endian                                                                          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
c8 | FM ARPS Frequency 7 in 10Hz, 8 digit BCD, big-endian                                                                          |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
d0 | Unknown                                                                                                                    ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
    ...                                                                                                                         ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
fc  ...                                                                                                                            |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

Field description:
 - FM APRS TX delay: 0=0ms, 1=20ms, ..., 255=5100ms
 - Signaling type: 0=off, 1=CTCSS, 2=DCS, default=off
 - CTCSS Tone:  0= 61.2Hz,  1= 67.0Hz,  2= 69.3Hz,  3= 71.9Hz,  4= 74.4Hz,  5= 77.0Hz,  6= 79.7Hz,
                7=82.5Hz,   8= 85.4Hz,  9= 88.5Hz, 10= 91.5Hz, 11= 94.8Hz, 12= 97.4Hz, 13=100.0Hz,
               14=103.5Hz, 15=107.2Hz, 16=110.9Hz, 17=114.8Hz, 18=118.8Hz, 19=123.0Hz, 20=127.3Hz,
               21=131.8Hz, 22=136.5Hz, 23=141.3Hz, 24=146.2Hz, 25=151.4Hz, 26=156.7Hz, 27=159.8Hz,
               28=162.2Hz, 29=165.5Hz, 30=167.9Hz, 31=171.3Hz, 32=173.8Hz. 33=179.9Hz, 34=183.5Hz,
               35=186.2Hz, 36=189.9Hz, 37=192.8Hz, 38=196.6Hz, 39=199.5Hz, 40=203.5Hz, 41=206.5Hz,
               42=210.7Hz, 43=218.1Hz, 44=225.7Hz, 45=229.1Hz, 46=233.6Hz, 47=241.8Hz, 48=250.3Hz,
               49=254.1Hz
 - Path: 20 x ASCII, 0-padded path string. Format is comma-separated CALL1-SSID,CALL2-SSID,...
 - DMR APRS Sys N channel index: uint16 channel index, 0-based, little-endian, [0,4000],
      0x0fa0=VFO A, 0x0fa1=VFO B, 0x0fa2=Selected
 - DMR APRS Sys N time slot: 0 = Channel, 1 = Timeslot 1, 2 = Timeslot 2
 - Transmit power: 0=low, 1=mid, 2=high, 3=turbo.
 - Pewave delay: in multiples of 10ms [0,2550ms], default=0ms.
 - Manual TX interval: n+1 seconds. [0,255], default=0s
 - Auto TX interval: 0=Off, 1=30s, ..., 255=7650s, default=off
 - FM APRS Monitor enable: If enabled, the radio will monitor send FM APRS transmissions. default=off
 - Rep. activation delay: 0=Off, 1=100ms, ..., 10=1000ms.
 - APRS display time: 0=3s, 1=4s, ..., 12=15s, 13=infinite, default=3s
 - RPO: Report position flag.
 - RME: Report MIC-E flag.
 - ROB: Report object flag.
 - RIT: Report item flag.
 - RMS: Report message flag.
 - RWX: Report weather flag.
 - RNF: Report NEMA flag.
 - RST: Report status flag.
 - ROF: Report other flag.
 - FM APRS width: 0=narrow, 1=wide.
 - Pass all: 0=Off, 1=On, no idea.

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