Files
cpp/radio/Formatter.hpp
T
jens 40be63056c - removed IFormatter
git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@1070 b431acfa-c32f-4a4a-93f1-934dc6c82436
2022-06-24 08:53:14 +00:00

42 lines
1.0 KiB
C++

// --------------------------------------------------------------
#ifndef _RADIO_FORMATTER_HPP_
#define _RADIO_FORMATTER_HPP_
#include <radio/radio_types.h>
#include <radio/cpx.h>
#include <cpp/radio/processor/src/Block.hpp>
#include "FrameDefs.hpp"
#include "Scrambler.hpp"
class Formatter : public Processor::Block
{
public:
Formatter();
virtual ~Formatter() = default;
void process(void *pData, uint32_t len);
frame_statistics_t getStats();
void resetStats();
// Processor::Block
void prepare() override;
void process() override;
private:
Scrambler m_scrambler;
frame_t m_frame;
uint32_t m_dataCount;
uint32_t m_idleCount;
frame_statistics_t m_frameStats;
Processor::Buffer<uint8_t> *m_buf_in;
Processor::Buffer<uint8_t> *m_buf_out;
void process_idle(uint32_t len);
void process_data(uint8_t *pData, uint32_t len);
void commit(frame_type frameType, uint32_t m_dataCount);
};
// --------------------------------------------------------------
#endif // _RADIO_FORMATTER_HPP_