mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-21 06:55:52 +08:00
Have the CRC6 and CRC12 working with encoding and decoding, not tested CRC15.
This commit is contained in:
14
NXDNUDCH.cpp
14
NXDNUDCH.cpp
@@ -93,7 +93,7 @@ bool CNXDNUDCH::decode(const unsigned char* data)
|
||||
{
|
||||
assert(data != NULL);
|
||||
|
||||
CUtils::dump("NXDN, UDCH/FACCH2 input", data, 44U);
|
||||
// CUtils::dump("NXDN, UDCH/FACCH2 input", data, 44U);
|
||||
|
||||
unsigned char temp1[44U];
|
||||
|
||||
@@ -103,7 +103,7 @@ bool CNXDNUDCH::decode(const unsigned char* data)
|
||||
WRITE_BIT1(temp1, i, b);
|
||||
}
|
||||
|
||||
CUtils::dump("NXDN, UDCH/FACCH2 de-interleaved", temp1, 44U);
|
||||
// CUtils::dump("NXDN, UDCH/FACCH2 de-interleaved", temp1, 44U);
|
||||
|
||||
uint8_t temp2[420U];
|
||||
|
||||
@@ -136,7 +136,7 @@ bool CNXDNUDCH::decode(const unsigned char* data)
|
||||
|
||||
conv.chainback(m_data, 203U);
|
||||
|
||||
CUtils::dump("NXDN, UDCH/FACCH2 decoded", m_data, 25U);
|
||||
// CUtils::dump("NXDN, UDCH/FACCH2 decoded", m_data, 25U);
|
||||
|
||||
return CNXDNCRC::checkCRC15(m_data, 184U);
|
||||
}
|
||||
@@ -147,18 +147,18 @@ void CNXDNUDCH::encode(unsigned char* data) const
|
||||
|
||||
unsigned char temp1[25U];
|
||||
::memset(temp1, 0x00U, 25U);
|
||||
::memcpy(temp1, data, 23U);
|
||||
::memcpy(temp1, m_data, 23U);
|
||||
|
||||
CNXDNCRC::encodeCRC15(temp1, 184U);
|
||||
|
||||
CUtils::dump("NXDN, UDCH/FACCH2 encoded with CRC", temp1, 25U);
|
||||
// CUtils::dump("NXDN, UDCH/FACCH2 encoded with CRC", temp1, 25U);
|
||||
|
||||
unsigned char temp2[51U];
|
||||
|
||||
CNXDNConvolution conv;
|
||||
conv.encode(temp1, temp2, 203U);
|
||||
|
||||
CUtils::dump("NXDN, UDCH/FACCH2 convolved", temp2, 51U);
|
||||
// CUtils::dump("NXDN, UDCH/FACCH2 convolved", temp2, 51U);
|
||||
|
||||
unsigned char temp3[44U];
|
||||
|
||||
@@ -174,7 +174,7 @@ void CNXDNUDCH::encode(unsigned char* data) const
|
||||
}
|
||||
}
|
||||
|
||||
CUtils::dump("NXDN, UDCH/FACCH2 punctured", temp3, 44U);
|
||||
// CUtils::dump("NXDN, UDCH/FACCH2 punctured", temp3, 44U);
|
||||
|
||||
for (unsigned int i = 0U; i < NXDN_FACCH2_LENGTH_BITS; i++) {
|
||||
unsigned int n = INTERLEAVE_TABLE[i] + NXDN_FSW_LENGTH_BITS + NXDN_LICH_LENGTH_BITS;
|
||||
|
||||
Reference in New Issue
Block a user