- refactore Formatter

- prpeared for unscrambled sync data
- State-based deformatter


git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@1063 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2022-06-23 11:18:07 +00:00
parent 10572920de
commit 7147962697
5 changed files with 69 additions and 51 deletions
+4 -14
View File
@@ -113,7 +113,6 @@ void DeSymbolizer::setNumBitsPerSymbol(uint32_t nBitsPerSym)
m_symbolMask <<= 1;
m_symbolMask |= 1;
}
m_bitCount = 0;
m_dataBitCount = 0;
m_lastSymbol = 0;
}
@@ -125,7 +124,6 @@ void DeSymbolizer::process(uint32_t src)
static uint16_t preamble;
uint16_t preamble_soll;
uint32_t symSync;
const uint32_t frameLengthInBits = 8*sizeof(frame_t);
src = differentialDecode(src);
symSync = src;
@@ -137,22 +135,14 @@ void DeSymbolizer::process(uint32_t src)
preamble <<= 1;
preamble |= (uint32_t)((symSync >> (m_nBitsPerSym-1) & 1) != 0);
symSync <<= 1;
m_bitCount++;
if (preamble == preamble_soll)
{
preamble = 0;
// We have data sync
if (m_bitCount == frameLengthInBits)
{
m_dataBitCount = 0;
m_pDataHandler->onReset();
j = i + 1;
src = symSync;
}
if (m_bitCount >= frameLengthInBits)
{
m_bitCount = 0;
}
m_dataBitCount = 0;
m_pDataHandler->onReset();
j = i + 1;
src = symSync;
}
}