5 sensors on a board with a moving platform.

Dependencies:   mbed

Fork of Motor_XYZ_UI_SPI_I2C_5mag by Shih-Ho Hsieh

Committer:
hober
Date:
Wed Aug 15 02:42:43 2018 +0000
Branch:
envelope
Revision:
23:eede1fe4494b
Parent:
8:33d34a775873
2018/08/15 remove altimu lib test.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hober 7:ee0569d49c52 1 #ifndef SIMPLEENVELOPE_H
hober 7:ee0569d49c52 2 #define SIMPLEENVELOPE_H
hober 7:ee0569d49c52 3
hober 7:ee0569d49c52 4
hober 7:ee0569d49c52 5 //#include <QByteArray>
hober 7:ee0569d49c52 6 //#include <QString>
hober 7:ee0569d49c52 7 #include <string>
hober 7:ee0569d49c52 8 class Envelope
hober 7:ee0569d49c52 9 {
hober 7:ee0569d49c52 10 public:
hober 7:ee0569d49c52 11 Envelope();
hober 7:ee0569d49c52 12
hober 7:ee0569d49c52 13 Envelope(const Envelope &);
hober 8:33d34a775873 14 Envelope& setEnvelopeData(const char *buf, int bufLength, int checkSumStart=0);
hober 7:ee0569d49c52 15
hober 8:33d34a775873 16 Envelope& setEnvelopeDataAdjustFooterIndex(const char * buf, int bufLength, int checkSumStart=0);
hober 7:ee0569d49c52 17 // header
hober 7:ee0569d49c52 18 void enableHeader(std::string headervalue, int headerindex=0);
hober 7:ee0569d49c52 19
hober 7:ee0569d49c52 20 // footer
hober 7:ee0569d49c52 21 void enableFooter(std::string footervalue, int footerindex);
hober 7:ee0569d49c52 22
hober 7:ee0569d49c52 23 // crc
hober 7:ee0569d49c52 24 void enableCRC(int crcindex, int crclength);
hober 7:ee0569d49c52 25
hober 7:ee0569d49c52 26 // xor
hober 7:ee0569d49c52 27 void enableCheckXOR(int xorIndex);
hober 7:ee0569d49c52 28
hober 8:33d34a775873 29 char * getEnvelopeArray(); ///////// need to delete
hober 8:33d34a775873 30 char * getHeader() const; ///////// need to delete
hober 7:ee0569d49c52 31
hober 8:33d34a775873 32 char * getFooter() const; ///////// need to delete
hober 7:ee0569d49c52 33
hober 7:ee0569d49c52 34 int getHeaderIndex() const;
hober 7:ee0569d49c52 35
hober 7:ee0569d49c52 36 int getFooterIndex() const;
hober 7:ee0569d49c52 37
hober 7:ee0569d49c52 38 bool checkXOR() const;
hober 7:ee0569d49c52 39
hober 7:ee0569d49c52 40 char * getPayload() const;
hober 7:ee0569d49c52 41
hober 7:ee0569d49c52 42 int length() const;
hober 7:ee0569d49c52 43
hober 7:ee0569d49c52 44 int getPayloadLength() const;
hober 7:ee0569d49c52 45
hober 7:ee0569d49c52 46 int getHeaderLength() const;
hober 7:ee0569d49c52 47
hober 7:ee0569d49c52 48 int getFooterLength() const;
hober 7:ee0569d49c52 49
hober 7:ee0569d49c52 50 Envelope &operator=(const Envelope &);
hober 7:ee0569d49c52 51
hober 7:ee0569d49c52 52 bool getHasHeader() const;
hober 7:ee0569d49c52 53
hober 7:ee0569d49c52 54 bool getHasFooter() const;
hober 7:ee0569d49c52 55
hober 7:ee0569d49c52 56 ~Envelope();
hober 7:ee0569d49c52 57
hober 7:ee0569d49c52 58 private:
hober 7:ee0569d49c52 59 char generateXor(char * input, int length);
hober 7:ee0569d49c52 60 int appendData(char *toAppend, int startIndex, char *data, int dataLength);
hober 7:ee0569d49c52 61
hober 7:ee0569d49c52 62 //header
hober 7:ee0569d49c52 63 bool hasHeader;
hober 7:ee0569d49c52 64 int headerIndex;
hober 7:ee0569d49c52 65 char * headerValue;
hober 7:ee0569d49c52 66 int headerLength;
hober 7:ee0569d49c52 67
hober 7:ee0569d49c52 68 // Footer
hober 7:ee0569d49c52 69 bool hasFooter;
hober 7:ee0569d49c52 70 int footerIndex;
hober 7:ee0569d49c52 71 char * footerValue;
hober 7:ee0569d49c52 72 int footerLength;
hober 7:ee0569d49c52 73
hober 7:ee0569d49c52 74 // check
hober 7:ee0569d49c52 75 // CRC
hober 7:ee0569d49c52 76 bool hasCRC;
hober 7:ee0569d49c52 77 int checkCRCIndex;
hober 7:ee0569d49c52 78 int checkCRCLength;
hober 7:ee0569d49c52 79
hober 7:ee0569d49c52 80 // check xor
hober 7:ee0569d49c52 81 bool hasCheckXOR;
hober 7:ee0569d49c52 82 int checkXORIndex;
hober 7:ee0569d49c52 83 char Xor;
hober 7:ee0569d49c52 84
hober 7:ee0569d49c52 85 char * payload;
hober 7:ee0569d49c52 86 int payloadLength;
hober 7:ee0569d49c52 87 int checkSumStart;
hober 8:33d34a775873 88
hober 8:33d34a775873 89 char* envelopeArray;
hober 7:ee0569d49c52 90
hober 7:ee0569d49c52 91 };
hober 7:ee0569d49c52 92
hober 7:ee0569d49c52 93 #endif // SIMPLEENVELOPE_H
hober 7:ee0569d49c52 94