file commenting cleanup;

pull/1/head
Bryan Biedenkapp 5 years ago
parent 763e2770e4
commit 09df9a0241

@ -82,7 +82,7 @@ namespace dmr
/// <summary>Updates the slot processor.</summary>
void clock();
/// <summary></summary>
/// <summary>Gets instance of the ControlPacket class.</summary>
ControlPacket* control() { return m_control; }
/// <summary>Helper to change the debug and verbose state.</summary>
@ -202,9 +202,9 @@ namespace dmr
/// <summary>Helper to write network end of frame data.</summary>
void writeEndNet(bool writeEnd = false);
/// <summary></summary>
/// <summary>Helper to set the DMR short LC.</summary>
static void setShortLC(uint32_t slotNo, uint32_t id, uint8_t flco = FLCO_GROUP, bool voice = true);
/// <summary></summary>
/// <summary>Helper to set the DMR short LC for TSCC.</summary>
static void setShortLC_TSCC(SiteData siteData, uint16_t counter);
};
} // namespace dmr

@ -55,7 +55,7 @@ namespace dmr
/// <summary>DMR access color code.</summary>
__PROPERTY(uint8_t, colorCode, ColorCode);
/// <summary></summary>
/// <summary>Slot data type.</summary>
__PROPERTY(uint8_t, dataType, DataType);
};
} // namespace dmr

@ -107,8 +107,10 @@ Data& Data::operator=(const Data& data)
return *this;
}
/// <summary></summary>
/// <param name="buffer"></param>
/// <summary>
/// Sets raw data.
/// </summary>
/// <param name="buffer">Data buffer.</param>
void Data::setData(const uint8_t* buffer)
{
assert(buffer != NULL);
@ -116,8 +118,10 @@ void Data::setData(const uint8_t* buffer)
::memcpy(m_data, buffer, DMR_FRAME_LENGTH_BYTES);
}
/// <summary></summary>
/// <param name="buffer"></param>
/// <summary>
/// Gets raw data.
/// </summary>
/// <param name="buffer">Data buffer.</param>
uint32_t Data::getData(uint8_t* buffer) const
{
assert(buffer != NULL);

@ -49,9 +49,9 @@ namespace dmr
/// <summary>Equals operator.</summary>
Data& operator=(const Data& data);
/// <summary></summary>
/// <summary>Sets raw data.</summary>
void setData(const uint8_t* buffer);
/// <summary></summary>
/// <summary>Gets raw data.</summary>
uint32_t getData(uint8_t* buffer) const;
public:
@ -72,13 +72,13 @@ namespace dmr
/// <summary>Sequence number.</summary>
__PROPERTY(uint8_t, seqNo, SeqNo);
/// <summary></summary>
/// <summary>Embedded data type.</summary>
__PROPERTY(uint8_t, dataType, DataType);
/// <summary></summary>
/// <summary>Bit Error Rate.</summary>
__PROPERTY(uint8_t, ber, BER);
/// <summary></summary>
/// <summary>Received Signal Strength Indicator.</summary>
__PROPERTY(uint8_t, rssi, RSSI);
private:

@ -63,7 +63,7 @@ namespace dmr
/// <summary>Add LC data (which may consist of 4 blocks) to the data store.</summary>
bool addData(const uint8_t* data, uint8_t lcss);
/// <summary></summary>
/// <summary>Get LC data from the data store.</summary>
uint8_t getData(uint8_t* data, uint8_t n) const;
/// <summary>Sets link control data.</summary>
@ -71,7 +71,7 @@ namespace dmr
/// <summary>Gets link control data.</summary>
lc::LC* getLC() const;
/// <summary></summary>
/// <summary>Get raw embeded data buffer.</summary>
bool getRawData(uint8_t* data) const;
/// <summary>Helper to reset data values to defaults.</summary>

@ -72,9 +72,9 @@ Trellis::~Trellis()
/// <summary>
/// Decodes 3/4 rate Trellis.
/// </summary>
/// <param name="data"></param>
/// <param name="payload"></param>
/// <returns></returns>
/// <param name="data">Trellis symbol bytes.</param>
/// <param name="payload">Output bytes.</param>
/// <returns>True, if decoded, otherwise false.</returns>
bool Trellis::decode(const uint8_t* data, uint8_t* payload)
{
assert(data != NULL);
@ -112,8 +112,8 @@ bool Trellis::decode(const uint8_t* data, uint8_t* payload)
/// <summary>
/// Encodes 3/4 rate Trellis.
/// </summary>
/// <param name="payload"></param>
/// <param name="data"></param>
/// <param name="payload">Input bytes.</param>
/// <param name="data">Trellis symbol bytes.</param>
void Trellis::encode(const uint8_t* payload, uint8_t* data)
{
assert(payload != NULL);
@ -143,10 +143,10 @@ void Trellis::encode(const uint8_t* payload, uint8_t* data)
// Private Class Members
// ---------------------------------------------------------------------------
/// <summary>
///
/// Helper to deinterleave the input symbols into dibits.
/// </summary>
/// <param name="data"></param>
/// <param name="dibits"></param>
/// <param name="data">Trellis symbol bytes.</param>
/// <param name="dibits">Dibits.</param>
void Trellis::deinterleave(const uint8_t* data, int8_t* dibits) const
{
for (uint32_t i = 0U; i < 98U; i++) {
@ -174,10 +174,10 @@ void Trellis::deinterleave(const uint8_t* data, int8_t* dibits) const
}
/// <summary>
///
/// Helper to interleave the input dibits into symbols.
/// </summary>
/// <param name="dibits"></param>
/// <param name="data"></param>
/// <param name="dibits">Dibits.</param>
/// <param name="data">Trellis symbol bytes.</param>
void Trellis::interleave(const int8_t* dibits, uint8_t* data) const
{
for (uint32_t i = 0U; i < 98U; i++) {
@ -214,10 +214,10 @@ void Trellis::interleave(const int8_t* dibits, uint8_t* data) const
}
/// <summary>
///
/// Helper to map dibits to 4FSK constellation points.
/// </summary>
/// <param name="dibits"></param>
/// <param name="points"></param>
/// <param name="dibits">Dibits.</param>
/// <param name="points">4FSK constellation points.</param>
void Trellis::dibitsToPoints(const int8_t* dibits, uint8_t* points) const
{
for (uint32_t i = 0U; i < 49U; i++) {
@ -257,10 +257,10 @@ void Trellis::dibitsToPoints(const int8_t* dibits, uint8_t* points) const
}
/// <summary>
///
/// Helper to map 4FSK constellation points to dibits.
/// </summary>
/// <param name="points"></param>
/// <param name="dibits"></param>
/// <param name="points">4FSK Constellation points.</param>
/// <param name="dibits">Dibits.</param>
void Trellis::pointsToDibits(const uint8_t* points, int8_t* dibits) const
{
for (uint32_t i = 0U; i < 49U; i++) {
@ -334,10 +334,10 @@ void Trellis::pointsToDibits(const uint8_t* points, int8_t* dibits) const
}
/// <summary>
///
/// Helper to convert a byte payload into tribits.
/// </summary>
/// <param name="payload"></param>
/// <param name="tribits"></param>
/// <param name="payload">Byte payload.</param>
/// <param name="tribits">Tribits.</param>
void Trellis::bitsToTribits(const uint8_t* payload, uint8_t* tribits) const
{
for (uint32_t i = 0U; i < 48U; i++) {
@ -361,10 +361,10 @@ void Trellis::bitsToTribits(const uint8_t* payload, uint8_t* tribits) const
}
/// <summary>
///
/// Helper to convert tribits into a byte payload.
/// </summary>
/// <param name="tribits"></param>
/// <param name="payload"></param>
/// <param name="tribits">Tribits.</param>
/// <param name="payload">Byte payload.</param>
void Trellis::tribitsToBits(const uint8_t* tribits, uint8_t* payload) const
{
for (uint32_t i = 0U; i < 48U; i++) {
@ -385,12 +385,12 @@ void Trellis::tribitsToBits(const uint8_t* tribits, uint8_t* payload) const
}
/// <summary>
///
/// Helper to fix errors in Trellis coding.
/// </summary>
/// <param name="points"></param>
/// <param name="points">4FSK constellation points.</param>
/// <param name="failPos"></param>
/// <param name="payload"></param>
/// <returns></returns>
/// <param name="payload">Byte payload.</param>
/// <returns>True, if error corrected, otherwise false.</returns>
bool Trellis::fixCode(uint8_t* points, uint32_t failPos, uint8_t* payload) const
{
for (unsigned j = 0U; j < 20U; j++) {
@ -421,10 +421,10 @@ bool Trellis::fixCode(uint8_t* points, uint32_t failPos, uint8_t* payload) const
}
/// <summary>
///
/// Helper to detect errors in Trellis coding.
/// </summary>
/// <param name="points"></param>
/// <param name="tribits"></param>
/// <param name="points">4FSK constellation points.</param>
/// <param name="tribits">Tribits.</param>
/// <returns></returns>
uint32_t Trellis::checkCode(const uint8_t* points, uint8_t* tribits) const
{

@ -49,22 +49,22 @@ namespace dmr
void encode(const uint8_t* payload, uint8_t* data);
private:
/// <summary></summary>
/// <summary>Helper to deinterleave the input symbols into dibits.</summary>
void deinterleave(const uint8_t* in, int8_t* dibits) const;
/// <summary></summary>
/// <summary>Helper to interleave the input dibits into symbols.</summary>
void interleave(const int8_t* dibits, uint8_t* out) const;
/// <summary></summary>
/// <summary>Helper to map dibits to C4FM constellation points.</summary>
void dibitsToPoints(const int8_t* dibits, uint8_t* points) const;
/// <summary></summary>
/// <summary>Helper to map C4FM constellation points to dibits.</summary>
void pointsToDibits(const uint8_t* points, int8_t* dibits) const;
/// <summary></summary>
/// <summary>Helper to convert a byte payload into tribits.</summary>
void bitsToTribits(const uint8_t* payload, uint8_t* tribits) const;
/// <summary></summary>
/// <summary>Helper to convert tribits into a byte payload.</summary>
void tribitsToBits(const uint8_t* tribits, uint8_t* payload) const;
/// <summary></summary>
/// <summary>Helper to fix errors in Trellis coding.</summary>
bool fixCode(uint8_t* points, uint32_t failPos, uint8_t* payload) const;
/// <summary></summary>
/// <summary>Helper to detect errors in Trellis coding.</summary>
uint32_t checkCode(const uint8_t* points, uint8_t* tribits) const;
};
} // namespace edac

@ -455,22 +455,28 @@ void CSBK::reset()
}
/** Local Site data */
/// <summary>Sets local configured site data.</summary>
/// <param name="siteData"></param>
/// <summary>
/// Sets local configured site data.
/// </summary>
/// <param name="siteData">Site data.</param>
void CSBK::setSiteData(SiteData siteData)
{
m_siteData = siteData;
}
/// <summary></summary>
/// <param name="entry"></param>
/// <summary>
/// Sets the identity lookup table entry.
/// </summary>
/// <param name="entry">Identity table entry.</param>
void CSBK::setIdenTable(lookups::IdenTable entry)
{
m_siteIdenEntry = entry;
}
/// <summary>Sets a flag indicating whether or not networking is active.</summary>
/// <param name="netActive"></param>
/// <summary>
/// Sets a flag indicating whether or not networking is active.
/// </summary>
/// <param name="netActive">Network active flag.</param>
void CSBK::setNetActive(bool netActive)
{
m_siteNetActive = netActive;

@ -63,13 +63,13 @@ namespace dmr
/** Local Site data */
/// <summary>Sets local configured site data.</summary>
void setSiteData(SiteData siteData);
/// <summary></summary>
/// <summary>Sets the identity lookup table entry.</summary>
void setIdenTable(lookups::IdenTable entry);
/// <summary>Sets a flag indicating whether or not networking is active.</summary>
void setNetActive(bool netActive);
public:
/// <summary></summary>
/// <summary>Flag indicating verbose log output.</summary>
__PROPERTY(bool, verbose, Verbose);
// Generic fields

@ -55,14 +55,14 @@ namespace dmr
/// <summary>Finalizes a instance of the LC class.</summary>
~LC();
/// <summary></summary>
/// <summary>Gets LC data as bytes.</summary>
void getData(uint8_t* bytes) const;
/// <summary></summary>
/// <summary>Gets LC data as bits.</summary>
void getData(bool* bits) const;
/// <summary></summary>
/// <summary>Gets the OVCM flag.</summary>
bool getOVCM() const;
/// <summary></summary>
/// <summary>Sets the OVCM flag.</summary>
void setOVCM(bool ovcm);
public:
/// <summary>Flag indicating whether link protection is enabled.</summary>
@ -74,9 +74,9 @@ namespace dmr
/// <summary>CSBK feature ID.</summayr>
__PROPERTY(uint8_t, FID, FID);
/// <summary>Sets the source ID.</summary>
/// <summary>Source ID.</summary>
__PROPERTY(uint32_t, srcId, SrcId);
/// <summary>Sets the destination ID.</summary>
/// <summary>Destination ID.</summary>
__PROPERTY(uint32_t, dstId, DstId);
private:

@ -135,19 +135,19 @@ private:
/// <summary>Initializes network connectivity.</summary>
bool createNetwork();
/// <summary></summary>
/// <summary>Modem port open callback.</summary>
bool rmtPortModemOpen(modem::Modem* modem);
/// <summary></summary>
/// <summary>Modem port close callback.</summary>
bool rmtPortModemClose(modem::Modem* modem);
/// <summary></summary>
/// <summary>Modem clock callback.</summary>
bool rmtPortModemHandler(modem::Modem* modem, uint32_t ms, modem::RESP_TYPE_DVM rspType, bool rspDblLen, const uint8_t* buffer, uint16_t len);
/// <summary>Helper to set the host/modem running state.</summary>
void setState(uint8_t mode);
/// <summary></summary>
void createLockFile(const char* mode) const;
/// <summary></summary>
/// <summary>Helper to create the state lock file.</summary>
void createLockFile(const char* state) const;
/// <summary>Helper to remove the state lock file.</summary>
void removeLockFile() const;
};

@ -1677,9 +1677,9 @@ bool HostCal::writeSymbolAdjust()
}
/// <summary>
///
/// Helper to sleep the calibration thread.
/// </summary>
/// <param name="ms"></param>
/// <param name="ms">Milliseconds to sleep.</param>
void HostCal::sleep(uint32_t ms)
{
#if defined(_WIN32) || defined(_WIN64)
@ -1690,7 +1690,7 @@ void HostCal::sleep(uint32_t ms)
}
/// <summary>
///
/// Helper to clock the calibration BER timer.
/// </summary>
void HostCal::timerClock()
{
@ -1712,7 +1712,7 @@ void HostCal::timerClock()
}
/// <summary>
///
/// Helper to start the calibration BER timer.
/// </summary>
void HostCal::timerStart()
{
@ -1721,7 +1721,7 @@ void HostCal::timerStart()
}
/// <summary>
///
/// Helper to stop the calibration BER timer.
/// </summary>
void HostCal::timerStop()
{
@ -1759,15 +1759,15 @@ void HostCal::printStatus()
}
/// <summary>
///
/// Counts the total number of bit errors between bytes.
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <returns></returns>
unsigned char HostCal::countErrs(unsigned char a, unsigned char b)
uint8_t HostCal::countErrs(uint8_t a, uint8_t b)
{
int cnt = 0;
unsigned char tmp = a ^ b;
uint8_t tmp = a ^ b;
while (tmp) {
if (tmp % 2 == 1)
cnt++;

@ -107,11 +107,11 @@ private:
uint32_t m_timeout;
uint32_t m_timer;
/// <summary></summary>
/// <summary>Modem port open callback.</summary>
bool portModemOpen(modem::Modem* modem);
/// <summary></summary>
/// <summary>Modem port close callback.</summary>
bool portModemClose(modem::Modem* modem);
/// <summary></summary>
/// <summary>Modem clock callback.</summary>
bool portModemHandler(modem::Modem* modem, uint32_t ms, modem::RESP_TYPE_DVM rspType, bool rspDblLen, const uint8_t* buffer, uint16_t len);
/// <summary>Helper to print the calibration help to the console.</summary>
@ -152,21 +152,21 @@ private:
bool writeConfig(uint8_t modeOverride);
/// <summary>Write symbol level adjustments to the modem DSP.</summary>
bool writeSymbolAdjust();
/// <summary></summary>
/// <summary>Helper to sleep the calibration thread.</summary>
void sleep(uint32_t ms);
/// <summary></summary>
/// <summary>Helper to clock the calibration BER timer.</summary>
void timerClock();
/// <summary></summary>
/// <summary>Helper to start the calibration BER timer.</summary>
void timerStart();
/// <summary></summary>
/// <summary>Helper to stop the calibration BER timer.</summary>
void timerStop();
/// <summary>Prints the current status of the calibration.</summary>
void printStatus();
/// <summary></summary>
unsigned char countErrs(unsigned char a, unsigned char b);
/// <summary>Counts the total number of bit errors between bytes.</summary>
uint8_t countErrs(uint8_t a, uint8_t b);
};
#endif // __HOST_CAL_H__

@ -76,9 +76,9 @@ namespace lookups
return *this;
}
/// <summary></summary>
/// <param name="radioEnabled"></param>
/// <param name="radioDefault"></param>
/// <summary>Sets flag values.</summary>
/// <param name="radioEnabled">Radio enabled.</param>
/// <param name="radioDefault">Radio default.</param>
void set(bool radioEnabled, bool radioDefault)
{
m_radioEnabled = radioEnabled;
@ -86,9 +86,9 @@ namespace lookups
}
public:
/// <summary></summary>
/// <summary>Flag indicating if the radio is enabled.</summary>
__READONLY_PROPERTY_PLAIN(bool, radioEnabled, radioEnabled);
/// <summary></summary>
/// <summary>Flag indicating if the radio is default.</summary>
__READONLY_PROPERTY_PLAIN(bool, radioDefault, radioDefault);
};

@ -80,10 +80,10 @@ namespace lookups
return *this;
}
/// <summary></summary>
/// <param name="tgEnabled"></param>
/// <param name="tgSlot"></param>
/// <param name="tgDefault"></param>
/// <summary>Sets talkgroup values.</summary>
/// <param name="tgEnabled">Talkgroup Enabled.</param>
/// <param name="tgSlot">Talkgroup DMR slot.</param>
/// <param name="tgDefault">Talkgroup Default.</param>
void set(bool tgEnabled, uint8_t tgSlot, bool tgDefault)
{
m_tgEnabled = tgEnabled;
@ -92,11 +92,11 @@ namespace lookups
}
public:
/// <summary></summary>
/// <summary>Flag indicating if the talkgroup is enabled.</summary>
__READONLY_PROPERTY_PLAIN(bool, tgEnabled, tgEnabled);
/// <summary></summary>
/// <summary>Talkgroup DMR slot.</summary>
__READONLY_PROPERTY_PLAIN(uint8_t, tgSlot, tgSlot);
/// <summary></summary>
/// <summary>Flag indicating if the talkgroup is default.</summary>
__READONLY_PROPERTY_PLAIN(bool, tgDefault, tgDefault);
};

@ -409,8 +409,10 @@ void Modem::clock(uint32_t ms)
close();
Thread::sleep(2000U); // 2s
while (!open())
while (!open()) {
Thread::sleep(5000U); // 5s
close();
}
}
bool forceModemReset = false;
@ -1440,7 +1442,7 @@ bool Modem::writeSymbolAdjust()
}
/// <summary>
///
/// Print debug air interface messages to the host log.
/// </summary>
/// <param name="buffer"></param>
/// <param name="len"></param>
@ -1496,9 +1498,9 @@ void Modem::printDebug(const uint8_t* buffer, uint16_t len)
}
/// <summary>
///
/// Helper to get the raw response packet from modem.
/// </summary>
/// <returns></returns>
/// <returns>Response type from modem.</returns>
RESP_TYPE_DVM Modem::getResponse()
{
RESP_STATE state = RESP_START;

@ -361,10 +361,10 @@ namespace modem
/// <summary>Write symbol level adjustments to the air interface modem.</summary>
bool writeSymbolAdjust();
/// <summary></summary>
/// <summary>Print debug air interface messages to the host log.</summary>
void printDebug(const uint8_t* buffer, uint16_t len);
/// <summary></summary>
/// <summary>Helper to get the raw response packet from modem.</summary>
RESP_TYPE_DVM getResponse();
public:
@ -373,7 +373,7 @@ namespace modem
/// <summary>Flag indicating if modem debugging is enabled.</summary>
__READONLY_PROPERTY(bool, debug, Debug);
/// <summary></summary>
/// <summary>Modem packet playout timer.</summary>
__READONLY_PROPERTY(Timer, playoutTimer, PlayoutTimer);
};
} // namespace modem

@ -66,11 +66,11 @@ namespace modem
private:
RingBuffer<unsigned char> m_buffer;
/// <summary></summary>
/// <summary>Helper to return a faked modem version.</summary>
void getVersion();
/// <summary></summary>
/// <summary>Helper to return a faked modem status.</summary>
void getStatus();
/// <summary></summary>
/// <summary>Helper to write a faked modem acknowledge.</summary>
void writeAck(uint8_t type);
};
} // namespace port

@ -101,9 +101,9 @@ namespace p25
/// <summary>Updates the processor by the passed number of milliseconds.</summary>
void clock(uint32_t ms);
/// <summary></summary>
/// <summary>Gets instance of the NID class.</summary>
NID nid() { return m_nid; }
/// <summary></summary>
/// <summary>Gets instance of the TrunkPacket class.</summary>
TrunkPacket* trunk() { return m_trunk; }
/// <summary>Helper to change the debug and verbose state.</summary>

@ -1082,7 +1082,7 @@ void TrunkPacket::clearGrpAff(uint32_t dstId, bool releaseAll)
}
/// <summary>
///
/// Resets the state of the status commands.
/// </summary>
void TrunkPacket::resetStatusCommand()
{

@ -105,13 +105,13 @@ namespace p25
/// <summary>Helper to release group affiliations.</summary>
void clearGrpAff(uint32_t dstId, bool releaseAll);
/// <summary></summary>
/// <summary>Resets the state of the status commands.</summary>
void resetStatusCommand();
/// <summary>Updates the processor by the passed number of milliseconds.</summary>
void clock(uint32_t ms);
/// <summary></summary>
/// <summary>Helper to set the TSBK manufacturer ID.</summary>
void setMFId(uint8_t val) { m_rfTSBK.setMFId(val); }
/// <summary>Helper to write a call alert packet.</summary>
void writeRF_TSDU_Call_Alrt(uint32_t srcId, uint32_t dstId);

@ -227,7 +227,7 @@ uint8_t DataHeader::getBlocksToFollow() const
return m_blocksToFollow;
}
/// <summary></summary>
/// <summary>Sets the count of block padding.</summary>
/// <param name="padCount"></param>
void DataHeader::setPadCount(uint8_t padCount)
{
@ -242,7 +242,7 @@ void DataHeader::setPadCount(uint8_t padCount)
}
}
/// <summary></summary>
/// <summary>Gets the count of block padding.</summary>
/// <returns></returns>
uint8_t DataHeader::getPadCount() const
{

@ -67,9 +67,9 @@ namespace p25
void setBlocksToFollow(uint8_t blocksToFollow);
/// <summary>Gets the total number of blocks to follow this header.</summary>
uint8_t getBlocksToFollow() const;
/// <summary></summary>
/// <summary>Sets the count of block padding.</summary>
void setPadCount(uint8_t padCount);
/// <summary></summary>
/// <summary>Gets the count of block padding.</summary>
uint8_t getPadCount() const;
public:
@ -93,7 +93,7 @@ namespace p25
__PROPERTY(uint8_t, n, N);
/// <summary>Data packet sequence number.</summary>
__PROPERTY(uint8_t, seqNo, SeqNo);
/// <summary></summary>
/// <summary>Offset of the header.</summary>
__PROPERTY(uint8_t, headerOffset, HeaderOffset);
private:

@ -78,9 +78,9 @@ Trellis::~Trellis()
/// <summary>
/// Decodes 3/4 rate Trellis.
/// </summary>
/// <param name="data"></param>
/// <param name="payload"></param>
/// <returns></returns>
/// <param name="data">Trellis symbol bytes.</param>
/// <param name="payload">Output bytes.</param>
/// <returns>True, if decoded, otherwise false.</returns>
bool Trellis::decode34(const uint8_t* data, uint8_t* payload)
{
assert(data != NULL);
@ -118,9 +118,8 @@ bool Trellis::decode34(const uint8_t* data, uint8_t* payload)
/// <summary>
/// Encodes 3/4 rate Trellis.
/// </summary>
/// <param name="payload"></param>
/// <param name="data"></param>
/// <returns></returns>
/// <param name="payload">Input bytes.</param>
/// <param name="data">Trellis symbol bytes.</param>
void Trellis::encode34(const uint8_t* payload, uint8_t* data)
{
assert(payload != NULL);
@ -149,9 +148,9 @@ void Trellis::encode34(const uint8_t* payload, uint8_t* data)
/// <summary>
/// Decodes 1/2 rate Trellis.
/// </summary>
/// <param name="data"></param>
/// <param name="payload"></param>
/// <returns></returns>
/// <param name="data">Trellis symbol bytes.</param>
/// <param name="payload">Output bytes.</param>
/// <returns>True, if decoded, otherwise false.</returns>
bool Trellis::decode12(const uint8_t* data, uint8_t* payload)
{
assert(data != NULL);
@ -189,9 +188,8 @@ bool Trellis::decode12(const uint8_t* data, uint8_t* payload)
/// <summary>
/// Encodes 1/2 rate Trellis.
/// </summary>
/// <param name="payload"></param>
/// <param name="data"></param>
/// <returns></returns>
/// <param name="payload">Input bytes.</param>
/// <param name="data">Trellis symbol bytes.</param>
void Trellis::encode12(const uint8_t* payload, uint8_t* data)
{
assert(payload != NULL);
@ -221,10 +219,10 @@ void Trellis::encode12(const uint8_t* payload, uint8_t* data)
// Private Class Members
// ---------------------------------------------------------------------------
/// <summary>
///
/// Helper to deinterleave the input symbols into dibits.
/// </summary>
/// <param name="data"></param>
/// <param name="dibits"></param>
/// <param name="data">Trellis symbol bytes.</param>
/// <param name="dibits">Dibits.</param>
void Trellis::deinterleave(const uint8_t* data, int8_t* dibits) const
{
for (uint32_t i = 0U; i < 98U; i++) {
@ -250,10 +248,10 @@ void Trellis::deinterleave(const uint8_t* data, int8_t* dibits) const
}
/// <summary>
///
/// Helper to interleave the input dibits into symbols.
/// </summary>
/// <param name="dibits"></param>
/// <param name="data"></param>
/// <param name="dibits">Dibits.</param>
/// <param name="data">Trellis symbol bytes.</param>
void Trellis::interleave(const int8_t* dibits, uint8_t* data) const
{
for (uint32_t i = 0U; i < 98U; i++) {
@ -288,10 +286,10 @@ void Trellis::interleave(const int8_t* dibits, uint8_t* data) const
}
/// <summary>
///
/// Helper to map dibits to 4FSK constellation points.
/// </summary>
/// <param name="dibits"></param>
/// <param name="points"></param>
/// <param name="dibits">Dibits.</param>
/// <param name="points">4FSK constellation points.</param>
void Trellis::dibitsToPoints(const int8_t* dibits, uint8_t* points) const
{
for (uint32_t i = 0U; i < 49U; i++) {
@ -331,10 +329,10 @@ void Trellis::dibitsToPoints(const int8_t* dibits, uint8_t* points) const
}
/// <summary>
///
/// Helper to map 4FSK constellation points to dibits.
/// </summary>
/// <param name="points"></param>
/// <param name="dibits"></param>
/// <param name="points">4FSK Constellation points.</param>
/// <param name="dibits">Dibits.</param>
void Trellis::pointsToDibits(const uint8_t* points, int8_t* dibits) const
{
for (uint32_t i = 0U; i < 49U; i++) {
@ -408,10 +406,10 @@ void Trellis::pointsToDibits(const uint8_t* points, int8_t* dibits) const
}
/// <summary>
///
/// Helper to convert a byte payload into tribits.
/// </summary>
/// <param name="payload"></param>
/// <param name="tribits"></param>
/// <param name="payload">Byte payload.</param>
/// <param name="tribits">Tribits.</param>
void Trellis::bitsToTribits(const uint8_t* payload, uint8_t* tribits) const
{
for (uint32_t i = 0U; i < 48U; i++) {
@ -435,10 +433,10 @@ void Trellis::bitsToTribits(const uint8_t* payload, uint8_t* tribits) const
}
/// <summary>
///
/// Helper to convert a byte payload into dibits.
/// </summary>
/// <param name="payload"></param>
/// <param name="dibits"></param>
/// <param name="payload">Byte payload.</param>
/// <param name="dibits">Dibits.</param>
void Trellis::bitsToDibits(const uint8_t* payload, uint8_t* dibits) const
{
for (uint32_t i = 0U; i < 48U; i++) {
@ -459,10 +457,10 @@ void Trellis::bitsToDibits(const uint8_t* payload, uint8_t* dibits) const
}
/// <summary>
///
/// Helper to convert tribits into a byte payload.
/// </summary>
/// <param name="tribits"></param>
/// <param name="payload"></param>
/// <param name="tribits">Tribits.</param>
/// <param name="payload">Byte payload.</param>
void Trellis::tribitsToBits(const uint8_t* tribits, uint8_t* payload) const
{
for (uint32_t i = 0U; i < 48U; i++) {
@ -483,10 +481,10 @@ void Trellis::tribitsToBits(const uint8_t* tribits, uint8_t* payload) const
}
/// <summary>
///
/// Helper to convert tribits into a byte payload.
/// </summary>
/// <param name="dibits"></param>
/// <param name="payload"></param>
/// <param name="dibits">Dibits.</param>
/// <param name="payload">Byte payload.</param>
void Trellis::dibitsToBits(const uint8_t* dibits, uint8_t* payload) const
{
for (uint32_t i = 0U; i < 48U; i++) {
@ -504,12 +502,12 @@ void Trellis::dibitsToBits(const uint8_t* dibits, uint8_t* payload) const
}
/// <summary>
///
/// Helper to fix errors in Trellis coding.
/// </summary>
/// <param name="points"></param>
/// <param name="points">4FSK constellation points.</param>
/// <param name="failPos"></param>
/// <param name="payload"></param>
/// <returns></returns>
/// <param name="payload">Byte payload.</param>
/// <returns>True, if error corrected, otherwise false.</returns>
bool Trellis::fixCode34(uint8_t* points, uint32_t failPos, uint8_t* payload) const
{
for (unsigned j = 0U; j < 20U; j++) {
@ -540,10 +538,10 @@ bool Trellis::fixCode34(uint8_t* points, uint32_t failPos, uint8_t* payload) con
}
/// <summary>
///
/// Helper to detect errors in Trellis coding.
/// </summary>
/// <param name="points"></param>
/// <param name="tribits"></param>
/// <param name="points">4FSK constellation points.</param>
/// <param name="tribits">Tribits.</param>
/// <returns></returns>
uint32_t Trellis::checkCode34(const uint8_t* points, uint8_t* tribits) const
{
@ -573,12 +571,12 @@ uint32_t Trellis::checkCode34(const uint8_t* points, uint8_t* tribits) const
/// <summary>
///
/// Helper to fix errors in Trellis coding.
/// </summary>
/// <param name="points"></param>
/// <param name="points">4FSK constellation points.</param>
/// <param name="failPos"></param>
/// <param name="payload"></param>
/// <returns></returns>
/// <param name="payload">Byte payload.</param>
/// <returns>True, if error corrected, otherwise false.</returns>
bool Trellis::fixCode12(uint8_t* points, uint32_t failPos, uint8_t* payload) const
{
for (unsigned j = 0U; j < 20U; j++) {
@ -609,10 +607,10 @@ bool Trellis::fixCode12(uint8_t* points, uint32_t failPos, uint8_t* payload) con
}
/// <summary>
///
/// Helper to detect errors in Trellis coding.
/// </summary>
/// <param name="points"></param>
/// <param name="tribits"></param>
/// <param name="points">4FSK constellation points.</param>
/// <param name="dibits">Dibits.</param>
/// <returns></returns>
uint32_t Trellis::checkCode12(const uint8_t* points, uint8_t* dibits) const
{

@ -54,31 +54,31 @@ namespace p25
void encode12(const uint8_t* payload, uint8_t* data);
private:
/// <summary></summary>
/// <summary>Helper to deinterleave the input symbols into dibits.</summary>
void deinterleave(const uint8_t* in, int8_t* dibits) const;
/// <summary></summary>
/// <summary>Helper to interleave the input dibits into symbols.</summary>
void interleave(const int8_t* dibits, uint8_t* out) const;
/// <summary></summary>
/// <summary>Helper to map dibits to C4FM constellation points.</summary>
void dibitsToPoints(const int8_t* dibits, uint8_t* points) const;
/// <summary></summary>
/// <summary>Helper to map C4FM constellation points to dibits.</summary>
void pointsToDibits(const uint8_t* points, int8_t* dibits) const;
/// <summary></summary>
/// <summary>Helper to convert a byte payload into tribits.</summary>
void bitsToTribits(const uint8_t* payload, uint8_t* tribits) const;
/// <summary></summary>
/// <summary>Helper to convert a byte payload into dibits.</summary>
void bitsToDibits(const uint8_t* payload, uint8_t* dibits) const;
/// <summary></summary>
/// <summary>Helper to convert tribits into a byte payload.</summary>
void tribitsToBits(const uint8_t* tribits, uint8_t* payload) const;
/// <summary></summary>
/// <summary>Helper to convert dibits into a byte payload.</summary>
void dibitsToBits(const uint8_t* dibits, uint8_t* payload) const;
/// <summary></summary>
/// <summary>Helper to fix errors in Trellis coding.</summary>
bool fixCode34(uint8_t* points, uint32_t failPos, uint8_t* payload) const;
/// <summary></summary>
/// <summary>Helper to detect errors in Trellis coding.</summary>
uint32_t checkCode34(const uint8_t* points, uint8_t* tribits) const;
/// <summary></summary>
/// <summary>Helper to fix errors in Trellis coding.</summary>
bool fixCode12(uint8_t* points, uint32_t failPos, uint8_t* payload) const;
/// <summary></summary>
/// <summary>Helper to detect errors in Trellis coding.</summary>
uint32_t checkCode12(const uint8_t* points, uint8_t* dibits) const;
};
} // namespace edac

@ -181,22 +181,28 @@ void TDULC::reset()
}
/** Local Site data */
/// <summary>Sets local configured site data.</summary>
/// <param name="siteData"></param>
/// <summary>
/// Sets local configured site data.
/// </summary>
/// <param name="siteData">Site data.</param>
void TDULC::setSiteData(SiteData siteData)
{
m_siteData = siteData;
}
/// <summary></summary>
/// <param name="entry"></param>
/// <summary>
/// Sets the identity lookup table entry.
/// </summary>
/// <param name="entry">Identity table entry.</param>
void TDULC::setIdenTable(lookups::IdenTable entry)
{
m_siteIdenEntry = entry;
}
/// <summary>Sets a flag indicating whether or not networking is active.</summary>
/// <param name="netActive"></param>
/// <summary>
/// Sets a flag indicating whether or not networking is active.
/// </summary>
/// <param name="netActive">Network active flag.</param>
void TDULC::setNetActive(bool netActive)
{
m_siteNetActive = netActive;

@ -74,13 +74,13 @@ namespace p25
/** Local Site data */
/// <summary>Sets local configured site data.</summary>
void setSiteData(SiteData siteData);
/// <summary></summary>
/// <summary>Sets the identity lookup table entry.</summary>
void setIdenTable(lookups::IdenTable entry);
/// <summary>Sets a flag indicating whether or not networking is active.</summary>
void setNetActive(bool netActive);
public:
/// <summary></summary>
/// <summary>Flag indicating verbose log output.</summary>
__PROPERTY(bool, verbose, Verbose);
/** Common Data */

@ -805,23 +805,29 @@ void TSBK::reset()
m_group = true;
}
/// <summary></summary>
/// <param name="skip"></param>
/// <summary>
/// Sets the flag to skip vendor opcode processing.
/// </summary>
/// <param name="skip">Flag indicating to skip vendor opcode processing.</param>
void TSBK::setVendorSkip(bool skip)
{
m_vendorSkip = skip;
}
/** Local Site data */
/// <summary>Sets local configured site data.</summary>
/// <param name="siteData"></param>
/// <summary>
/// Sets local configured site data.
/// </summary>
/// <param name="siteData">Site data.</param>
void TSBK::setSiteData(SiteData siteData)
{
m_siteData = siteData;
}
/// <summary>Sets local configured site callsign.</summary>
/// <param name="callsign"></param>
/// <summary>
/// Sets local configured site callsign.
/// </summary>
/// <param name="callsign">Callsign.</param>
void TSBK::setCallsign(std::string callsign)
{
uint32_t idLength = callsign.length();
@ -835,22 +841,28 @@ void TSBK::setCallsign(std::string callsign)
}
}
/// <summary></summary>
/// <param name="entry"></param>
/// <summary>
/// Sets the identity lookup table entry.
/// </summary>
/// <param name="entry">Identity table entry.</param>
void TSBK::setIdenTable(lookups::IdenTable entry)
{
m_siteIdenEntry = entry;
}
/// <summary>Sets a flag indicating whether or not networking is active.</summary>
/// <param name="netActive"></param>
/// <summary>
/// Sets a flag indicating whether or not networking is active.
/// </summary>
/// <param name="netActive">Network active flag.</param>
void TSBK::setNetActive(bool netActive)
{
m_siteNetActive = netActive;
}
/// <summary>Sets the total number of channels at the site.</summary>
/// <param name="chCnt"></param>
/// <summary>
/// Sets the total number of channels at the site.
/// </summary>
/// <param name="chCnt">Channel count.</param>
void TSBK::setSiteChCnt(uint8_t chCnt)
{
m_siteChCnt = chCnt;

@ -71,7 +71,7 @@ namespace p25
/// <summary>Helper to reset data values to defaults.</summary>
void reset();
/// <summary></summary>
/// <summary>Sets the flag to skip vendor opcode processing.</summary>
void setVendorSkip(bool skip);
/** Local Site data */
@ -79,7 +79,7 @@ namespace p25
void setSiteData(SiteData siteData);
/// <summary>Sets local configured site callsign.</summary>
void setCallsign(std::string callsign);
/// <summary></summary>
/// <summary>Sets the identity lookup table entry.</summary>
void setIdenTable(lookups::IdenTable entry);
/// <summary>Sets a flag indicating whether or not networking is active.</summary>
void setNetActive(bool netActive);
@ -87,7 +87,7 @@ namespace p25
void setSiteChCnt(uint8_t chCnt);
public:
/// <summary></summary>
/// <summary>Flag indicating verbose log output.</summary>
__PROPERTY(bool, verbose, Verbose);
/** Common Data */

Loading…
Cancel
Save

Powered by TurnKey Linux.