Files
cpp/radio/Frame.hpp
T
2022-06-24 08:53:51 +00:00

59 lines
1.1 KiB
C++

// --------------------------------------------------------------
#ifndef _RADIO_FRAME_HPP_
#define _RADIO_FRAME_HPP_
#include <cstdint>
#include <radio/radio_types.h>
#include <radio/cpx.h>
#include "FrameDefs.hpp"
#include "Symbolizer.hpp"
#include "Formatter.hpp"
#include "DeSymbolizer.hpp"
#include "DeFormatter.hpp"
class FrameReceiver
{
public:
FrameReceiver(IDeFormatter *pRawFrameHandler)
: m_deformatter(pRawFrameHandler)
, m_desymbolizer( &m_deformatter)
, m_framesCount(0)
, m_byteCount(0)
{
}
~FrameReceiver()
{
}
frame_statistics_t getStats()
{
return m_deformatter.getStats();
}
void resetStats()
{
m_deformatter.resetStats();
}
void setNumBitsPerSymbol(uint32_t nBitsPerSym)
{
m_desymbolizer.setNumBitsPerSymbol(nBitsPerSym);
m_deformatter.resetStats();
}
void process(symbol_t symbol)
{
m_desymbolizer.process(symbol);
}
private:
DeFormatter m_deformatter;
DeSymbolizer m_desymbolizer;
uint32_t m_framesCount;
uint32_t m_byteCount;
};
// --------------------------------------------------------------
#endif // _RADIO_FRAME_HPP_