huohuoh
Dependencies: NetServices mbed C027_Supports mbed-rpcx
AruFraming.h
- Committer:
- aldoao
- Date:
- 2019-09-11
- Revision:
- 1:f7d9b0530b73
- Parent:
- 0:64967b7043c2
File content as of revision 1:f7d9b0530b73:
#ifndef ARUFRAMING_H #define ARUFRAMING_H #include <vector> #include <queue> #include <string> //------------------------------------------------------------------------------ class AruFrm; //----------------------------------------------------- class AruFraming { public: AruFraming(); ~AruFraming(); void ProcessFromAru(const std::vector<int> &stream); static std::vector<int> CreateFrame(const AruFrm &f); std::queue<AruFrm> RCV_QUE; private: static unsigned int auchCRCHi[]; static unsigned int auchCRCLo[]; static unsigned int CRC16(const std::vector<int> &puchMsg); }; //----------------------------------------------------- class AruFrm { public: int Identifier; std::vector<int> Data; }; //----------------------------------------------------- class Ack : public AruFrm { public: Ack(int Identifier_) { Identifier = Identifier_; Data.clear(); } }; //----------------------------------------------------- class Can : public AruFrm { public: Can(int Identifier_) { Identifier = Identifier_; Data.clear(); } }; //----------------------------------------------------- class Tef : public AruFrm { public: Tef(int Identifier_) { Identifier = Identifier_; Data.clear(); } }; //----------------------------------------------------- class Eot : public AruFrm { public: Eot(int Identifier_, std::string &data) { Identifier = Identifier_; std::copy(data.begin(), data.end(), back_inserter(Data)); } }; //----------------------------------------------------- class Eor : public AruFrm { public: Eor(int Identifier_, std::string &data) { Identifier = Identifier_; std::copy(data.begin(), data.end(), Data.begin()); } }; //----------------------------------------------------- #endif // ARUFRAMING_H