add doxygen configuration for dvmhost project; add doxygen output directory; convert common static library to use doxygen style commenting and documentation;
constuint32_tMI_LENGTH_BYTES=4U;// This was guessed based on OTA data captures -- the message indicator seems to be the same length as a source/destination address
/** @} */
/** Thresholds */
/** @name Thresholds */
/** @brief TSCC maximum CSC count */
constuint16_tTSCC_MAX_CSC_CNT=511U;
/** @brief DMR slot time in milliseconds */
constuint32_tDMR_SLOT_TIME=60U;
/** @brief Number of AMBE per slot */
constuint32_tAMBE_PER_SLOT=3U;
/** @brief Random Access Wait */
constuint8_tDEFAULT_NRAND_WAIT=8U;
/** @brief Default Silence Threshold */
constuint32_tDEFAULT_SILENCE_THRESHOLD=21U;
/** @brief Default Frame Loss Threshold */
constuint32_tDEFAULT_FRAME_LOSS_THRESHOLD=2U;
/** @brief Maximum P25 voice frame errors */
constuint32_tMAX_DMR_VOICE_ERRORS=141U;
/** @} */
/** Default Values */
/** @name Default Values */
constuint8_tDMR_ALOHA_VER_151=0x00U;
constuint8_tDMR_CHNULL=0x00U;
constuint16_tDMR_LOGICAL_CH_ABSOLUTE=0xFFFU;
constuint32_tWUID_SUPLI=0xFFFEC4U;// Supplementary Data Service Working Unit ID
constuint32_tWUID_SDMI=0xFFFEC5U;// UDT Short Data Service Working Unit ID
constuint32_tWUID_REGI=0xFFFEC6U;// Registration Working Unit ID
constuint32_tWUID_STUNI=0xFFFECCU;// MS Stun/Revive Identifier
constuint32_tWUID_AUTHI=0xFFFECDU;// Authentication Working Unit ID
constuint32_tWUID_KILLI=0xFFFECFU;// MS Kill Identifier
constuint32_tWUID_TATTSI=0xFFFED7U;// Talkgroup Subscription/Attachement Service Working Unit ID
constuint32_tWUID_ALLL=0xFFFFFDU;// All-call Site-wide Working Unit ID
constuint32_tWUID_ALLZ=0xFFFFFEU;// All-call System-wide Working Unit ID
constuint32_tWUID_ALL=0xFFFFFFU;// All-call Network-wide Working Unit ID
constuint32_tWUID_SUPLI=0xFFFEC4U;//! Supplementary Data Service Working Unit ID
constuint32_tWUID_SDMI=0xFFFEC5U;//! UDT Short Data Service Working Unit ID
constuint32_tWUID_REGI=0xFFFEC6U;//! Registration Working Unit ID
constuint32_tWUID_STUNI=0xFFFECCU;//! MS Stun/Revive Identifier
constuint32_tWUID_AUTHI=0xFFFECDU;//! Authentication Working Unit ID
constuint32_tWUID_KILLI=0xFFFECFU;//! MS Kill Identifier
constuint32_tWUID_TATTSI=0xFFFED7U;//! Talkgroup Subscription/Attachement Service Working Unit ID
constuint32_tWUID_ALLL=0xFFFFFDU;//! All-call Site-wide Working Unit ID
constuint32_tWUID_ALLZ=0xFFFFFEU;//! All-call System-wide Working Unit ID
constuint32_tWUID_ALL=0xFFFFFFU;//! All-call Network-wide Working Unit ID
constuint32_tNO_HEADERS_SIMPLEX=8U;
constuint32_tNO_HEADERS_DUPLEX=3U;
constuint32_tNO_PREAMBLE_CSBK=15U;
/** @} */
/// <summary>
/// Data Packet Format
/// </summary>
/** @brief Data Packet Format */
namespaceDPF{
// Data Packet Format Enumeration
/** @brief Data Packet Format */
enumE:uint8_t{
UDT=0x00U,// Unified Data Transport Header
RESPONSE=0x01U,// Response Data Header
UNCONFIRMED_DATA=0x02U,// Unconfirmed Data Header
CONFIRMED_DATA=0x03U,// Confirmed Data Header
DEFINED_SHORT=0x0DU,// Defined Short Data Header
DEFINED_RAW=0x0EU,// Defined Raw Data Header
PROPRIETARY=0x0FU,// Proprietary
UDT=0x00U,//! Unified Data Transport Header
RESPONSE=0x01U,//! Response Data Header
UNCONFIRMED_DATA=0x02U,//! Unconfirmed Data Header
CONFIRMED_DATA=0x03U,//! Confirmed Data Header
DEFINED_SHORT=0x0DU,//! Defined Short Data Header
DEFINED_RAW=0x0EU,//! Defined Raw Data Header
PROPRIETARY=0x0FU,//! Proprietary
};
};
/// <summary>
/// Data Response Class
/// </summary>
/** @brief Data Response Class */
namespacePDUResponseClass{
/** @brief Data Response Class */
enum:uint8_t{
ACK=0x00U,// Acknowledge
NACK=0x01U,// Negative Acknowledge
ACK_RETRY=0x02U// Acknowlege Retry
ACK=0x00U,//! Acknowledge
NACK=0x01U,//! Negative Acknowledge
ACK_RETRY=0x02U//! Acknowlege Retry
};
};
/// <summary>
/// Data Response Type
/// </summary>
/** @brief Data Response Type */
namespacePDUResponseType{
/** @brief Data Response Type */
enum:uint8_t{
ACK=0x01U,// Acknowledge
ACK=0x01U,//! Acknowledge
NACK_ILLEGAL=0x00U,// Illegal Format
NACK_PACKET_CRC=0x01U,// Packet CRC
NACK_MEMORY_FULL=0x02U,// Memory Full
NACK_UNDELIVERABLE=0x04U// Undeliverable
NACK_ILLEGAL=0x00U,//! Illegal Format
NACK_PACKET_CRC=0x01U,//! Packet CRC
NACK_MEMORY_FULL=0x02U,//! Memory Full
NACK_UNDELIVERABLE=0x04U//! Undeliverable
};
};
/** Feature IDs */
constuint8_tFID_ETSI=0x00U;// ETSI Standard Feature Set
constuint8_tFID_DMRA=0x10U;// Motorola
constuint8_tFID_DVM_OCS=0x9CU;// DVM; Omaha Communication Systems, LLC ($9C)
/** @name Feature IDs */
/** @brief ETSI Standard Feature Set */
constuint8_tFID_ETSI=0x00U;
/** @brief Motorola */
constuint8_tFID_DMRA=0x10U;
/** @brief DVM; Omaha Communication Systems, LLC ($9C) */
constuint8_tFID_DVM_OCS=0x9CU;
/** @} */
/** LC Service Options */
/** @name LC Service Options */
constuint8_tLC_SVC_OPT_EMERGENCY=0x80U;
constuint8_tLC_SVC_OPT_PRIVACY=0x40U;
constuint8_tLC_SVC_OPT_BCAST=0x08U;
constuint8_tLC_SVC_OPT_OVCM=0x04U;
/** @} */
/** Call Priorities */
/** @name Call Priorities */
constuint8_tCALL_PRIORITY_NONE=0x00U;
constuint8_tCALL_PRIORITY_1=0x01U;
constuint8_tCALL_PRIORITY_2=0x02U;
constuint8_tCALL_PRIORITY_3=0x03U;
/** @} */
/// <summary>
/// Short-Link Control Opcode(s)
/// </summary>
/** @brief Short-Link Control Opcode(s) */
namespaceSLCO{
// Short-Link Control Opcode Enumeration
/** @brief Short-Link Control Opcode(s) */
enumE:uint8_t{
NONE=0x00U,// NULL
ACT=0x01U,//
TSCC=0x02U,// TSCC
PAYLOAD=0x03U// Payload
NONE=0x00U,//! NULL
ACT=0x01U,//!
TSCC=0x02U,//! TSCC
PAYLOAD=0x03U//! Payload
};
}
/// <summary>
/// Full-Link Control Opcode(s)
/// </summary>
/** @brief Full-Link Control Opcode(s) */
namespaceFLCO{
// Full-Link Control Opcode Enumeration
/** @brief Full-Link Control Opcode(s) */
enumE:uint8_t{
GROUP=0x00U,// GRP VCH USER - Group Voice Channel User
PRIVATE=0x03U,// UU VCH USER - Unit-to-Unit Voice Channel User
GROUP=0x00U,//! GRP VCH USER - Group Voice Channel User
PRIVATE=0x03U,//! UU VCH USER - Unit-to-Unit Voice Channel User
TALKER_ALIAS_HEADER=0x04U,//
TALKER_ALIAS_BLOCK1=0x05U,//
TALKER_ALIAS_BLOCK2=0x06U,//
TALKER_ALIAS_BLOCK3=0x07U,//
TALKER_ALIAS_HEADER=0x04U,//!
TALKER_ALIAS_BLOCK1=0x05U,//!
TALKER_ALIAS_BLOCK2=0x06U,//!
TALKER_ALIAS_BLOCK3=0x07U,//!
GPS_INFO=0x08U,//
GPS_INFO=0x08U,//!
};
}
/// <summary>
/// FID_DMRA Extended Functions.
/// </summary>
/** @brief FID_DMRA Extended Functions. */
namespaceExtendedFunctions{
/** @brief FID_DMRA Extended Functions. */
enum:uint16_t{
CHECK=0x0000U,// Radio Check
UNINHIBIT=0x007EU,// Radio Uninhibit
INHIBIT=0x007FU,// Radio Inhibit
CHECK_ACK=0x0080U,// Radio Check Ack
UNINHIBIT_ACK=0x00FEU,// Radio Uninhibit Ack
INHIBIT_ACK=0x00FFU// Radio Inhibit Ack
CHECK=0x0000U,//! Radio Check
UNINHIBIT=0x007EU,//! Radio Uninhibit
INHIBIT=0x007FU,//! Radio Inhibit
CHECK_ACK=0x0080U,//! Radio Check Ack
UNINHIBIT_ACK=0x00FEU,//! Radio Uninhibit Ack
INHIBIT_ACK=0x00FFU//! Radio Inhibit Ack
};
};
/// <summary>
/// Data Type(s)
/// <summary>
/** @brief Data Type(s) */
namespaceDataType{
// Data Type Enumeration
/** @brief Data Type(s) */
enumE:uint8_t{
VOICE_PI_HEADER=0x00U,// Voice with Privacy Indicator Header
VOICE_LC_HEADER=0x01U,// Voice with Link Control Header
VOICE_PI_HEADER=0x00U,//! Voice with Privacy Indicator Header
VOICE_LC_HEADER=0x01U,//! Voice with Link Control Header
TERMINATOR_WITH_LC=0x02U,// Terminator with Link Control
TERMINATOR_WITH_LC=0x02U,//! Terminator with Link Control
CSBK=0x03U,// CSBK
CSBK=0x03U,//! CSBK
MBC_HEADER=0x04U,// Multi-Block Control Header
MBC_DATA=0x05U,// Multi-Block Control Data
MBC_HEADER=0x04U,//! Multi-Block Control Header
MBC_DATA=0x05U,//! Multi-Block Control Data
DATA_HEADER=0x06U,// Data Header
RATE_12_DATA=0x07U,// 1/2 Rate Data
RATE_34_DATA=0x08U,// 3/4 Rate Data
DATA_HEADER=0x06U,//! Data Header
RATE_12_DATA=0x07U,//! 1/2 Rate Data
RATE_34_DATA=0x08U,//! 3/4 Rate Data
IDLE=0x09U,// Idle
IDLE=0x09U,//! Idle
RATE_1_DATA=0x0AU,// Rate 1 Data
RATE_1_DATA=0x0AU,//! Rate 1 Data
/*
**InternalDataType(s)
*/
VOICE_SYNC=0xF0U,// Internal - Voice Sync
VOICE=0xF1U// Internal - Voice
VOICE_SYNC=0xF0U,//! Internal - Voice Sync
VOICE=0xF1U//! Internal - Voice
};
}
@ -282,142 +297,138 @@ namespace dmr
#define DMR_DT_VOICE_SYNC "DMR, VOICE_SYNC (Voice Data with Sync)"