libdrmconf
0.12.0
A library to program DMR radios.
|
Implements the channel element for the BTECH DMR-6X2UV. More...
#include <dmr6x2uv_codeplug.hh>
Public Member Functions | |
ChannelElement (uint8_t *ptr) | |
Constructor. | |
bool | hasScanListIndex () const |
Returns true , if the first scan list index is set. | |
unsigned | scanListIndex () const |
Returns the first scan list index (0-based). | |
void | setScanListIndex (unsigned idx) |
Sets the first scan list index (0-based). | |
void | clearScanListIndex () |
Clears the first scan list index. | |
virtual bool | hasScanListIndex (unsigned int n) const |
Returns true , if the n-th scan list index is set (n=0,...,7). | |
virtual unsigned | scanListIndex (unsigned int n) const |
Returns the n-th scan list index (0-based, n=0,...,7). | |
virtual void | setScanListIndex (unsigned int n, unsigned idx) |
Sets the n-th scan list index (0-based, n=0,...,7). | |
virtual void | clearScanListIndex (unsigned int n) |
Clears the n-th scan list index (n=0,...,7). | |
virtual bool | roamingEnabled () const |
Returns true if roaming is enabled for this channel. | |
virtual void | enableRoaming (bool enable) |
Enables/disables roaming. | |
bool | ranging () const |
Returns true , if ranging is enabled. | |
void | enableRanging (bool enable) |
Enables/disables ranging. | |
Public Member Functions inherited from AnytoneCodeplug::ChannelElement | |
ChannelElement (uint8_t *ptr) | |
Constructor. | |
virtual | ~ChannelElement () |
Destructor. | |
void | clear () |
Resets the channel. | |
virtual unsigned | rxFrequency () const |
Returns the RX frequency in Hz. | |
virtual void | setRXFrequency (unsigned hz) |
Sets the RX frequency in Hz. | |
virtual unsigned | txOffset () const |
Returns the TX frequency offset in Hz. More... | |
virtual void | setTXOffset (unsigned hz) |
Sets the TX frequency offset in Hz. More... | |
virtual unsigned | txFrequency () const |
Returns the TX frequency in Hz. | |
virtual void | setTXFrequency (unsigned hz) |
Sets the TX frequency indirectly. More... | |
virtual Mode | mode () const |
Returns the channel mode (analog, digtital, etc). | |
virtual void | setMode (Mode mode) |
Sets the channel mode. | |
virtual Channel::Power | power () const |
Returns the channel power. | |
virtual void | setPower (Channel::Power power) |
Sets the channel power. | |
virtual FMChannel::Bandwidth | bandwidth () const |
Returns the band width of the channel. | |
virtual void | setBandwidth (FMChannel::Bandwidth bw) |
Sets the band width of the channel. | |
virtual RepeaterMode | repeaterMode () const |
Returns the transmit offset direction. | |
virtual void | setRepeaterMode (RepeaterMode mode) |
Sets the transmit offset direction. | |
virtual SignalingMode | rxSignalingMode () const |
Returns the RX signaling mode. | |
virtual void | setRXSignalingMode (SignalingMode mode) |
Sets the RX signaling mode. | |
virtual Signaling::Code | rxTone () const |
Simplified access to RX signaling (tone). | |
virtual void | setRXTone (Signaling::Code code) |
Sets the RX signaling (tone). | |
virtual SignalingMode | txSignalingMode () const |
Returns the TX signaling mode. | |
virtual void | setTXSignalingMode (SignalingMode mode) |
Sets the TX signaling mode. | |
virtual Signaling::Code | txTone () const |
Simplified access to TX signaling (tone). | |
virtual void | setTXTone (Signaling::Code code) |
Sets the RX signaling (tone). | |
virtual bool | ctcssPhaseReversal () const |
Returns true if the CTCSS phase reversal is enabled. | |
virtual void | enableCTCSSPhaseReversal (bool enable) |
Enables/disables CTCSS phase reversal. | |
virtual bool | rxOnly () const |
Returns true if the RX only is enabled. | |
virtual void | enableRXOnly (bool enable) |
Enables/disables RX only. | |
virtual bool | callConfirm () const |
Returns true if the call confirm is enabled. | |
virtual void | enableCallConfirm (bool enable) |
Enables/disables call confirm. | |
virtual bool | talkaround () const |
Returns true if the talkaround is enabled. | |
virtual void | enableTalkaround (bool enable) |
Enables/disables talkaround. | |
virtual bool | txCTCSSIsCustom () const |
Returns true if the TX CTCSS tone frequency is custom (non standard). | |
virtual Signaling::Code | txCTCSS () const |
Returns the TX CTCSS tone. | |
virtual void | setTXCTCSS (Signaling::Code tone) |
Sets the TX CTCSS tone. | |
virtual void | enableTXCustomCTCSS () |
Enables TX custom CTCSS frequency. | |
virtual bool | rxCTCSSIsCustom () const |
Returns true if the RX CTCSS tone frequency is custom (non standard). | |
virtual Signaling::Code | rxCTCSS () const |
Returns the RX CTCSS tone. | |
virtual void | setRXCTCSS (Signaling::Code tone) |
Sets the RX CTCSS tone. | |
virtual void | enableRXCustomCTCSS () |
Enables RX custom CTCSS frequency. | |
virtual Signaling::Code | txDCS () const |
Returns the TX DCS code. | |
virtual void | setTXDCS (Signaling::Code code) |
Sets the TX DCS code. | |
virtual Signaling::Code | rxDCS () const |
Returns the RX DCS code. | |
virtual void | setRXDCS (Signaling::Code code) |
Sets the RX DCS code. | |
virtual double | customCTCSSFrequency () const |
Returns the custom CTCSS frequency in Hz. | |
virtual void | setCustomCTCSSFrequency (double hz) |
Sets the custom CTCSS frequency in Hz. | |
virtual unsigned | twoToneDecodeIndex () const |
Returns the 2-tone decode index (0-based). | |
virtual void | setTwoToneDecodeIndex (unsigned idx) |
Sets the 2-tone decode index (0-based). | |
virtual unsigned | contactIndex () const |
Returns the transmit contact index (0-based). | |
virtual void | setContactIndex (unsigned idx) |
Sets the transmit contact index (0-based). | |
virtual unsigned | radioIDIndex () const |
Returns the radio ID index (0-based). | |
virtual void | setRadioIDIndex (unsigned idx) |
Sets the radio ID index (0-based). | |
virtual AnytoneFMChannelExtension::SquelchMode | squelchMode () const |
Returns true if the sequelch is silent and false if open. | |
virtual void | setSquelchMode (AnytoneFMChannelExtension::SquelchMode mode) |
Enables/disables silent squelch. | |
virtual Admit | admit () const |
Returns the admit criterion. | |
virtual void | setAdmit (Admit admit) |
Sets the admit criterion. | |
virtual OptSignaling | optionalSignaling () const |
Returns the optional signalling type. | |
virtual void | setOptionalSignaling (OptSignaling sig) |
Sets the optional signaling type. | |
virtual bool | hasGroupListIndex () const |
Returns true , if a group list index is set. | |
virtual unsigned | groupListIndex () const |
Returns the scan list index (0-based). | |
virtual void | setGroupListIndex (unsigned idx) |
Sets the group list index (0-based). | |
virtual void | clearGroupListIndex () |
Clears the group list index. | |
virtual unsigned | twoToneIDIndex () const |
Returns the two-tone ID index (0-based). | |
virtual void | setTwoToneIDIndex (unsigned idx) |
Sets the two-tone ID index (0-based). | |
virtual unsigned | fiveToneIDIndex () const |
Returns the five-tone ID index (0-based). | |
virtual void | setFiveToneIDIndex (unsigned idx) |
Sets the five-tone ID index (0-based). | |
virtual unsigned | dtmfIDIndex () const |
Returns the DTFM ID index (0-based). | |
virtual void | setDTMFIDIndex (unsigned idx) |
Sets the DTMF ID index (0-based). | |
virtual unsigned | colorCode () const |
Returns the color code. | |
virtual void | setColorCode (unsigned code) |
Sets the color code. | |
virtual DMRChannel::TimeSlot | timeSlot () const |
Returns the time slot. | |
virtual void | setTimeSlot (DMRChannel::TimeSlot ts) |
Sets the time slot. | |
virtual bool | smsConfirm () const |
Returns true if SMS confirmation is enabled. | |
virtual void | enableSMSConfirm (bool enable) |
Enables/disables SMS confirmation. | |
virtual bool | simplexTDMA () const |
Returns true if simplex TDMA is enabled. | |
virtual void | enableSimplexTDMA (bool enable) |
Enables/disables simplex TDMA confirmation. | |
virtual bool | adaptiveTDMA () const |
Returns true if adaptive TDMA is enabled. | |
virtual void | enableAdaptiveTDMA (bool enable) |
Enables/disables adaptive TDMA. | |
virtual bool | rxAPRS () const |
Returns true if RX APRS is enabled. | |
virtual void | enableRXAPRS (bool enable) |
Enables/disables RX APRS. | |
virtual bool | enhancedEncryption () const |
Returns true if enhanced encryption is enabled. | |
virtual void | enableEnhancedEncryption (bool enable) |
Enables/disables enhanced encryption. | |
virtual bool | loneWorker () const |
Returns true if lone worker is enabled. | |
virtual void | enableLoneWorker (bool enable) |
Enables/disables lone worker. | |
virtual bool | hasEncryptionKeyIndex () const |
Returns true if an encryption key is set. | |
virtual unsigned | encryptionKeyIndex () const |
Returns the AES (enhanced) encryption key index (0-based). | |
virtual void | setEncryptionKeyIndex (unsigned idx) |
Sets the AES (enahnced) encryption key index (0-based). | |
virtual void | clearEncryptionKeyIndex () |
Clears the encryption key index. | |
virtual QString | name () const |
Returns the channel name. | |
virtual void | setName (const QString &name) |
Sets the channel name. | |
virtual Channel * | toChannelObj (Context &ctx) const |
Constructs a generic Channel object from the codeplug channel. | |
virtual bool | linkChannelObj (Channel *c, Context &ctx) const |
Links a previously constructed channel to the rest of the configuration. | |
virtual bool | fromChannelObj (const Channel *c, Context &ctx) |
Initializes this codeplug channel from the given generic configuration. | |
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... | |
Protected Member Functions | |
ChannelElement (uint8_t *ptr, unsigned size) | |
Hidden constructor. | |
Protected Member Functions inherited from AnytoneCodeplug::ChannelElement | |
ChannelElement (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 | |
Public Types inherited from AnytoneCodeplug::ChannelElement | |
enum class | Mode { Analog = 0 , Digital = 1 , MixedAnalog = 2 , MixedDigital = 3 } |
Defines all possible channel modes, see channelMode . More... | |
enum | Power { POWER_LOW = 0 , POWER_MIDDLE = 1 , POWER_HIGH = 2 , POWER_TURBO = 3 } |
Defines all possible power settings. More... | |
enum class | RepeaterMode { Simplex = 0 , Positive = 1 , Negative = 2 } |
Defines all possible repeater modes. More... | |
enum class | SignalingMode { None = 0 , CTCSS = 1 , DCS = 2 } |
Possible analog signaling modes. More... | |
enum class | Admit { Always = 0 , Free = 1 , DifferentColorCode = 2 , SameColorCode = 3 , Tone = 1 , Busy = 2 } |
Defines possible admit criteria. More... | |
enum class | OptSignaling { Off = 0 , DTMF = 1 , TwoTone = 2 , FiveTone = 3 } |
Defines all possible optional signalling settings. More... | |
Static Public Member Functions inherited from AnytoneCodeplug::ChannelElement | |
static constexpr unsigned int | size () |
Returns the size of the element. | |
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 the channel element for the BTECH DMR-6X2UV.
Extends the AnytoneCodeplug::ChannelElement by the device specific features, like multiple scan lists associated with the channel.
Memory representation of the encoded channel element (size 0x040 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 | RX Frequency 32bit BCD encoded in big-endian as MMMkkkhh | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 04 | Tx Frequency Offset 32bit BCD encoded in big-endian as MMMkkkhh | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 08 | RMode | 0 |BWd| PWR | CMode |TAr|CaC|RXO|CTR|TDC|TCT|RDC|RCT| CTCSS transmit | CTCSS receive | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 0c | DCS transmit code, little endian | DCS receive code, little endian | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 10 | Custom CTCSS frequency in 0.1Hz, little endian | 2-tone decode index, 0-based, little endian | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 14 | Contact index 0-based, little endian | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 18 | Radio ID table index. | 0 |SquelchMode| 0 0 0 0 | 0 0 |OptSig | 0 0 | TxPer | 0 0 0 0 0 |XFR| 0 |RNG| +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 1c | RX Group list index | 2-tone ID | 5-tone ID | DTMF ID | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 20 | Color code |LWK|EEE|RGP|EAT| 0 |EST|SMC|TSL| AES Encryption key | Name 16 x ASCII 0-padded ... +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 30 ... | Unused set to 0x00 | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 34 | 0 0 0 0 0 |DAD|ETM| 0 | Unused, set to 0x00 | Scanlist idx 0, 0xff=unset | Scanlist idx 1, 0xff=unset | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 38 | Scanlist idx 2, 0xff=unset | Scanlist idx 3, 0xff=unset | Scanlist idx 4, 0xff=unset | Scanlist idx 5, 0xff=unset | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 3c | Scanlist idx 6, 0xff=unset | Scanlist idx 7, 0xff=unset | ARPS Report Channel Index | 0 0 0 0 0 0 |RGP|ATy| +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ Field description: - RMode: Repater mode where 0=simplex, 1=positive TX offset, 2=negative TX offset. - BWd: Band width where 0=narrow (12.5kHz), 1=wide (25kHz). - PWR: Power where 0=low, 1=mid, 2=high, 3=turbo. - CMode: Channel mode, 0=analog, 1=digital, 2=analog + digi RX, 3=digital + analog RX. - TAr: Enable talkaround. - CaC: Enable call confirm. - RXO: Enable RX only. - CTR: Enable CTCSS phase reversal. - TDC: Enable TX DCS code. - TCT: Enable TX CTCSS tone. - RDC: Enable RX DCS code. - RCT: Enable RX CTCSS tone. - SquelchMode: Squelch mode 0=Carrier, 1=CTCSS/DCS, 2=Optional Signaling, 3=CTCSS/DCS and Optional Signaling, 4 = CTCSS/DCS or Optional Signaling - OptSig: Optional signalling where 0=off, 1=DTMF, 2=2-tone, 3=5-tone - TxPer: TX permit/admit criterion, 0=always, 1=colorcode, 2=channel free. - XFR: Exclude channel from roaming - LWK: Enable lone worker. - EEE: Enable enhanced encryption - RGP: Enable DMR-APRS RX - EAT: Enable adaptive TDMA - EST: Enable simplex TDMA - SMC: SMS confirmation, - TSL: Time slot where 0=TS1, 1=TS2 - DAD: Data ACK disable (inverted!) - ETM: Enable through mode - RNG: Ranging - ATy: APRS Type: 0=DMR-APRS, 1=Analog APRS