Files
cpp/radio/Symbolizer.hpp
T
jens de69d3e845 - refactored Formatter -> DeFormatter, Formatter
- refactored Symbolizer -> DeSymbolizer, Symbolizer
- Formatter is a Processor::Block
- changed retrieval for Processor::Buffer
- added Exception.hpp

git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@1066 b431acfa-c32f-4a4a-93f1-934dc6c82436
2022-06-24 07:23:01 +00:00

39 lines
964 B
C++

// --------------------------------------------------------------
#ifndef _RADIO_SYMBOLIZER_HPP_
#define _RADIO_SYMBOLIZER_HPP_
#include <radio/radio_types.h>
#include <radio/cpx.h>
#include "Formatter.hpp"
class ISymbolizer
{
public:
ISymbolizer() {}
virtual ~ISymbolizer() = default;
virtual void onSymbol(symbol_t symbol) = 0;
};
class Symbolizer : public IFormatter
{
public:
Symbolizer(ISymbolizer *pSymbolHandler);
virtual ~Symbolizer() = default;
void process(data_t src);
void process(void *pSrc, uint32_t len);
void setNumBitsPerSymbol(uint32_t nBitsPerSym);
private:
uint32_t m_nBitsPerSym;
ISymbolizer *m_pSymbolHandler;
uint32_t m_symbolBitCount;
symbol_t m_lastSymbol;
symbol_t m_symbolMask;
symbol_t differentialEncode(symbol_t symbol);
void onFrame(void *pFrame, uint32_t size) override;
};
// --------------------------------------------------------------
#endif // _RADIO_SYMBOLIZER_HPP_