// -------------------------------------------------------------- #ifndef _RADIO_SYMBOLIZER_HPP_ #define _RADIO_SYMBOLIZER_HPP_ #include #include #include "Formatter.hpp" class Symbolizer : public Processor::Block { public: Symbolizer(); virtual ~Symbolizer() = default; void setNumBitsPerSymbol(uint32_t nBitsPerSym); // Processor::Block void prepare() override; void process(); symbol_t differentialEncode(symbol_t symbol); private: uint32_t m_nBitsPerSym; uint32_t m_symbolBitCount; symbol_t m_lastSymbol; symbol_t m_symbolMask; Processor::Buffer *m_buf_in; Processor::Buffer *m_buf_out; void commit(symbol_t src); void assemble_and_commit(uint8_t src); }; // -------------------------------------------------------------- #endif // _RADIO_SYMBOLIZER_HPP_