LibDMRConf  0.6.0
A library to program DMR radios.
Public Types | Public Member Functions | Public Attributes | List of all members
D878UVCodeplug::aprs_setting_t Struct Reference

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

#include <d878uv_codeplug.hh>

Public Types

enum  SignalingType { SIG_OFF = 0, SIG_CTCSS = 1, SIG_DCS = 2 }
 Possible signalling for APRS repeater. More...
 
enum  Power { POWER_LOW = 0, POWER_MID = 1, POWER_HIGH = 2, POWER_TURBO = 3 }
 Power setting for the APRS/GPS channel. More...
 
enum  Hemisphere { NORTH = 0, SOUTH = 1, EAST = 0, WEST = 1 }
 Hemisphere settings for the fixed location beacon.
 

Public Member Functions

bool isValid () const
 Returns true, if the APRS setting is vaild. More...
 
double getFrequency () const
 Decodes the transmit frequency.
 
void setFrequency (double freq)
 Encodes the given frequency.
 
int getAutoTXInterval () const
 Decodes the auto TX period.
 
void setAutoTxInterval (int sec)
 Encodes the auto TX period.
 
int getManualTXInterval () const
 Decodes the manual TX interval in seconds.
 
void setManualTxInterval (int sec)
 Encodes the manual TX interval in seconds.
 
QString getDestination () const
 Decodes the destination call.
 
void setDestination (const QString &call, uint8_t ssid)
 Encodes the given destination call.
 
QString getSource () const
 Decodes the destination SSID.
 
void setSource (const QString &call, uint8_t ssid)
 Encodes the destination SSID.
 
QString getPath () const
 Decodes the APRS path.
 
void setPath (const QString &path)
 Encodes the given APRS path.
 
Signaling::Code getSignaling () const
 Decodes the TX signaling.
 
void setSignaling (Signaling::Code signaling)
 Encodes the TX signaling.
 
Channel::Power getPower () const
 Decodes the transmit power.
 
void setPower (Channel::Power pwr)
 Encodes the given transmit power.
 
APRSSystem::Icon getIcon () const
 Decodes the APRS map icon.
 
void setIcon (APRSSystem::Icon icon)
 Encodes the specified map icon.
 
void fromAPRSSystem (APRSSystem *sys)
 Configures this APRS system from the given generic config.
 
APRSSystemtoAPRSSystem ()
 Constructs a generic APRS system configuration from this APRS system.
 
void linkAPRSSystem (APRSSystem *sys, CodeplugContext &ctx)
 Links the transmit channel within the generic APRS system based on the transmit frequency defined within this APRS system.
 

Public Attributes

uint8_t _unknown0
 Unknown, set to 0xff.
 
uint32_t frequency
 TX frequency, BCD encoded, little endian in 10Hz.
 
uint8_t tx_delay
 TX delay, multiples of 20ms, default=1200ms.
 
uint8_t sig_type
 Signalling type, 0=off, 1=ctcss, 2=dcs, default=off.
 
uint8_t ctcss
 CTCSS tone-code, default=0.
 
uint16_t dcs
 DCS code, little endian, default=0x0013.
 
uint8_t manual_tx_interval
 Manual TX intervals in seconds.
 
uint8_t auto_tx_interval
 Auto TX interval in multiples of 30s.
 
uint8_t tx_tone_enable
 TX tone enable, 0=off, 1=on.
 
uint8_t fixed_location
 Fixed location data, 0=off, 1=on.
 
uint8_t lat_deg
 Latitude in degree.
 
uint8_t lat_min
 Latitude minutes.
 
uint8_t lat_sec
 Latitude seconds (1/100th of a minute).
 
uint8_t north_south
 North or south flag, north=0, south=1.
 
uint8_t lon_deg
 Longitude in degree.
 
uint8_t lon_min
 Longitude in minutes.
 
uint8_t lon_sec
 Longitude in seconds (1/100th of a minute).
 
uint8_t east_west
 East or west flag, east=0, west=1.
 
uint8_t to_call [6]
 Destination call, 6 x ASCII, 0x20-padded.
 
uint8_t to_ssid
 Destination SSID, 0xff=None.
 
uint8_t from_call [6]
 Source call, 6 x ASCII, 0x20-padded.
 
uint8_t from_ssid
 Source SSID, 0xff=None.
 
uint8_t path [20]
 Path string, upto 20 ASCII chars, 0-padded.
 
uint8_t _pad56
 Pad-byte 0x00.
 
char table
 ASCII-char for APRS icon table, ie. More...
 
char icon
 ASCII-char of APRS map icon.
 
uint8_t power
 Transmit power.
 
uint8_t prewave_delay
 Prewave delay in 10ms steps.
 
uint8_t _unknown61
 Unknown, set to 01.
 
uint8_t _unknown62
 Unknown, set to 03.
 
uint8_t _unknown63
 Unknown, set to ff.
 

Detailed Description

Represents the APRS settings within the binary codeplug.

Memmory layout of APRS settings (0x40byte):

     0                               8                               16                              24
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
00 | Unknown, set to 0xff          | TX frequency as 8 digit BDC, little-endian in 10Hz                                         ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
04  ...                            | TX delay                      | Signalling type               | CTCSS tone                    |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
08 | DCS code, little-endian                                       | Manual TX interval in seconds | Auto TX interval mult. of 30s |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0c | Fixed location flag           | Latitude degrees              | Latitude minutes              | Latitude seconds              |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
10 | North/South flag              | Longitude degrees             | Longitude minutes             | Longitude seconds             |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
14 | East/West flag                | Destination call, 6 x ASCII, 0-padded                                                      ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
18  ...                                                                                            | Destination SSID              |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
1c | Source call, 6 x ASCII, 0-padded                                                                                           ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
20  ...                                                            | Source SSID                   | Path, 20 x ASCII, 0-padded ...
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
38 | Unused set to 0x00            | ASCII APRS Symbol             | ASCII APRS Map Icon           | Transmit power                |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
3c | Prewave delay in 10ms         | Unknown set to 0x01           | Unkown set to 0x03            | Unknown set to 0xff           |
   +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

Member Enumeration Documentation

◆ Power

Power setting for the APRS/GPS channel.

Enumerator
POWER_LOW 

Low power (usually about 1W).

POWER_MID 

Medium power (usually about 2W).

POWER_HIGH 

High power (usually about 5W).

POWER_TURBO 

Highest power (upto 7W).

◆ SignalingType

Possible signalling for APRS repeater.

Enumerator
SIG_OFF 

No signalling.

SIG_CTCSS 

CTCSS signalling.

SIG_DCS 

DCS signalling.

Member Function Documentation

◆ isValid()

bool D878UVCodeplug::aprs_setting_t::isValid ( ) const

Returns true, if the APRS setting is vaild.

That is, it has a valid frequency, destination and source calls.

Member Data Documentation

◆ table

char D878UVCodeplug::aprs_setting_t::table

ASCII-char for APRS icon table, ie.

'/' or '\' for primary and alternate icon table respectively.


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