tes

Dependencies:   NetServices mbed C027_Supports mbed-rpcx

Committer:
aldoao
Date:
Wed Sep 11 06:32:20 2019 +0000
Revision:
1:f7d9b0530b73
Parent:
0:64967b7043c2
tipe,1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
irsanjul 0:64967b7043c2 1 #ifndef ARUFRAMING_H
irsanjul 0:64967b7043c2 2 #define ARUFRAMING_H
irsanjul 0:64967b7043c2 3
irsanjul 0:64967b7043c2 4 #include <vector>
irsanjul 0:64967b7043c2 5 #include <queue>
irsanjul 0:64967b7043c2 6 #include <string>
irsanjul 0:64967b7043c2 7
irsanjul 0:64967b7043c2 8 //------------------------------------------------------------------------------
irsanjul 0:64967b7043c2 9 class AruFrm;
irsanjul 0:64967b7043c2 10
irsanjul 0:64967b7043c2 11 //-----------------------------------------------------
irsanjul 0:64967b7043c2 12 class AruFraming
irsanjul 0:64967b7043c2 13 {
irsanjul 0:64967b7043c2 14 public:
irsanjul 0:64967b7043c2 15 AruFraming();
irsanjul 0:64967b7043c2 16 ~AruFraming();
irsanjul 0:64967b7043c2 17
irsanjul 0:64967b7043c2 18 void ProcessFromAru(const std::vector<int> &stream);
irsanjul 0:64967b7043c2 19
irsanjul 0:64967b7043c2 20 static std::vector<int> CreateFrame(const AruFrm &f);
irsanjul 0:64967b7043c2 21
irsanjul 0:64967b7043c2 22 std::queue<AruFrm> RCV_QUE;
irsanjul 0:64967b7043c2 23 private:
irsanjul 0:64967b7043c2 24 static unsigned int auchCRCHi[];
irsanjul 0:64967b7043c2 25 static unsigned int auchCRCLo[];
irsanjul 0:64967b7043c2 26
irsanjul 0:64967b7043c2 27 static unsigned int CRC16(const std::vector<int> &puchMsg);
irsanjul 0:64967b7043c2 28 };
irsanjul 0:64967b7043c2 29
irsanjul 0:64967b7043c2 30 //-----------------------------------------------------
irsanjul 0:64967b7043c2 31 class AruFrm
irsanjul 0:64967b7043c2 32 {
irsanjul 0:64967b7043c2 33 public:
irsanjul 0:64967b7043c2 34 int Identifier;
irsanjul 0:64967b7043c2 35 std::vector<int> Data;
irsanjul 0:64967b7043c2 36 };
irsanjul 0:64967b7043c2 37
irsanjul 0:64967b7043c2 38 //-----------------------------------------------------
irsanjul 0:64967b7043c2 39 class Ack : public AruFrm
irsanjul 0:64967b7043c2 40 {
irsanjul 0:64967b7043c2 41 public:
irsanjul 0:64967b7043c2 42 Ack(int Identifier_)
irsanjul 0:64967b7043c2 43 {
irsanjul 0:64967b7043c2 44 Identifier = Identifier_;
irsanjul 0:64967b7043c2 45 Data.clear();
irsanjul 0:64967b7043c2 46 }
irsanjul 0:64967b7043c2 47 };
irsanjul 0:64967b7043c2 48
irsanjul 0:64967b7043c2 49 //-----------------------------------------------------
irsanjul 0:64967b7043c2 50 class Can : public AruFrm
irsanjul 0:64967b7043c2 51 {
irsanjul 0:64967b7043c2 52 public:
irsanjul 0:64967b7043c2 53 Can(int Identifier_)
irsanjul 0:64967b7043c2 54 {
irsanjul 0:64967b7043c2 55 Identifier = Identifier_;
irsanjul 0:64967b7043c2 56 Data.clear();
irsanjul 0:64967b7043c2 57 }
irsanjul 0:64967b7043c2 58 };
irsanjul 0:64967b7043c2 59
irsanjul 0:64967b7043c2 60 //-----------------------------------------------------
irsanjul 0:64967b7043c2 61 class Tef : public AruFrm
irsanjul 0:64967b7043c2 62 {
irsanjul 0:64967b7043c2 63 public:
irsanjul 0:64967b7043c2 64 Tef(int Identifier_)
irsanjul 0:64967b7043c2 65 {
irsanjul 0:64967b7043c2 66 Identifier = Identifier_;
irsanjul 0:64967b7043c2 67 Data.clear();
irsanjul 0:64967b7043c2 68 }
irsanjul 0:64967b7043c2 69 };
irsanjul 0:64967b7043c2 70
irsanjul 0:64967b7043c2 71 //-----------------------------------------------------
irsanjul 0:64967b7043c2 72 class Eot : public AruFrm
irsanjul 0:64967b7043c2 73 {
irsanjul 0:64967b7043c2 74 public:
irsanjul 0:64967b7043c2 75 Eot(int Identifier_, std::string &data)
irsanjul 0:64967b7043c2 76 {
irsanjul 0:64967b7043c2 77 Identifier = Identifier_;
irsanjul 0:64967b7043c2 78 std::copy(data.begin(), data.end(), back_inserter(Data));
irsanjul 0:64967b7043c2 79 }
irsanjul 0:64967b7043c2 80 };
irsanjul 0:64967b7043c2 81
irsanjul 0:64967b7043c2 82 //-----------------------------------------------------
irsanjul 0:64967b7043c2 83 class Eor : public AruFrm
irsanjul 0:64967b7043c2 84 {
irsanjul 0:64967b7043c2 85 public:
irsanjul 0:64967b7043c2 86 Eor(int Identifier_, std::string &data)
irsanjul 0:64967b7043c2 87 {
irsanjul 0:64967b7043c2 88 Identifier = Identifier_;
irsanjul 0:64967b7043c2 89 std::copy(data.begin(), data.end(), Data.begin());
irsanjul 0:64967b7043c2 90 }
irsanjul 0:64967b7043c2 91 };
irsanjul 0:64967b7043c2 92
irsanjul 0:64967b7043c2 93 //-----------------------------------------------------
irsanjul 0:64967b7043c2 94 #endif // ARUFRAMING_H