- improved sync
git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@1081 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
+20
-3
@@ -9,12 +9,20 @@
|
||||
|
||||
class DeSymbolizer : public Processor::Block
|
||||
{
|
||||
enum State
|
||||
{
|
||||
Idle,
|
||||
Acq,
|
||||
Trk
|
||||
};
|
||||
|
||||
static const size_t SYNC_COUNTER_RELOAD = 3;
|
||||
|
||||
public:
|
||||
DeSymbolizer();
|
||||
virtual ~DeSymbolizer() = default;
|
||||
|
||||
void setNumBitsPerSymbol(uint32_t nBitsPerSym);
|
||||
void process(symbol_t src);
|
||||
void setNumBitsPerSymbol(size_t nBitsPerSym);
|
||||
|
||||
// Processor::Block
|
||||
void prepare() override;
|
||||
@@ -27,9 +35,18 @@ private:
|
||||
symbol_t m_lastSymbol;
|
||||
symbol_t m_symbolMask;
|
||||
symbol_t differentialDecode(symbol_t symbol);
|
||||
State m_state;
|
||||
size_t m_sync_dist;
|
||||
size_t m_sync_dist_last;
|
||||
size_t m_sync_counter;
|
||||
uint8_t m_delay[2];
|
||||
|
||||
Processor::Buffer<symbol_t> *m_buf_in;
|
||||
Processor::Buffer<uint8_t> *m_buf_out;
|
||||
|
||||
void process(symbol_t symbol);
|
||||
void sync(symbol_t symbol);
|
||||
uint8_t sym2byte(symbol_t symbol);
|
||||
bool is_preamble(uint16_t data);
|
||||
};
|
||||
|
||||
// --------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user