Shih-Ho Hsieh / Mbed 2 deprecated pololu5mag_with_platform

Dependencies:   mbed

Fork of Motor_XYZ_UI_SPI_I2C_5mag by Shih-Ho Hsieh

Committer:
hober
Date:
Fri Dec 08 06:30:58 2017 +0000
Revision:
7:ee0569d49c52
Parent:
4:5cde69a36d74
20171208 stable version before envelope tracker

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hober 4:5cde69a36d74 1 #ifndef ParseArray_h
hober 4:5cde69a36d74 2 #define ParseArray_h
hober 4:5cde69a36d74 3
hober 4:5cde69a36d74 4
hober 4:5cde69a36d74 5 #include <string>
hober 4:5cde69a36d74 6 using namespace std;
hober 4:5cde69a36d74 7 typedef unsigned char byte;
hober 4:5cde69a36d74 8 class ParseArray
hober 4:5cde69a36d74 9 {
hober 4:5cde69a36d74 10
hober 4:5cde69a36d74 11 public :
hober 4:5cde69a36d74 12 //header
hober 4:5cde69a36d74 13 bool hasHeader;
hober 4:5cde69a36d74 14 int headerIndex;
hober 4:5cde69a36d74 15 int headerLength;
hober 4:5cde69a36d74 16 byte* headerValue;
hober 4:5cde69a36d74 17 string headerValueTmp;
hober 4:5cde69a36d74 18 // current header index
hober 4:5cde69a36d74 19 int currentHeaderIndex;
hober 4:5cde69a36d74 20 // Footer
hober 4:5cde69a36d74 21 bool hasFooter;
hober 4:5cde69a36d74 22 int footerIndex;
hober 4:5cde69a36d74 23 int footerLength;
hober 4:5cde69a36d74 24 byte* footerValue;
hober 4:5cde69a36d74 25 string footerValueTmp;
hober 4:5cde69a36d74 26 // current footer index
hober 4:5cde69a36d74 27 int currentFooterIndex;
hober 4:5cde69a36d74 28 // check
hober 4:5cde69a36d74 29 // CRC
hober 4:5cde69a36d74 30 bool hasCRC;
hober 4:5cde69a36d74 31 int checkCRCIndex;
hober 4:5cde69a36d74 32 int checkCRCLength;
hober 4:5cde69a36d74 33 // check xorValue
hober 4:5cde69a36d74 34 bool hasCheckXOR;
hober 4:5cde69a36d74 35 int checkXORIndex;
hober 4:5cde69a36d74 36 // length
hober 4:5cde69a36d74 37 bool lengthFix;
hober 4:5cde69a36d74 38 int length;
hober 4:5cde69a36d74 39
hober 4:5cde69a36d74 40 // index
hober 4:5cde69a36d74 41 int currentIndex;
hober 4:5cde69a36d74 42
hober 4:5cde69a36d74 43 // array
hober 4:5cde69a36d74 44 byte* bufferArray;
hober 4:5cde69a36d74 45 int bufferLength;
hober 4:5cde69a36d74 46 byte* dataArray;
hober 4:5cde69a36d74 47
hober 4:5cde69a36d74 48 // constructor
hober 4:5cde69a36d74 49 ParseArray();
hober 4:5cde69a36d74 50 // string to byte function
hober 4:5cde69a36d74 51 byte* stringToByte(string hex, int length);
hober 4:5cde69a36d74 52 // buffer setting
hober 4:5cde69a36d74 53 void setBufferValue(byte* buf, int lengthTmp, int checkSumStart);
hober 4:5cde69a36d74 54 void setBufferValueAdjustFooterIndex(byte* buf, int buflength, int checkSumStart);
hober 4:5cde69a36d74 55 void setBufferValue(byte* buf,int lengthTmp);
hober 4:5cde69a36d74 56
hober 4:5cde69a36d74 57 // header
hober 4:5cde69a36d74 58 void enableHeader(int headerindex, int headerlength, string headervalue);
hober 4:5cde69a36d74 59 // footer
hober 4:5cde69a36d74 60 void enableFooter(int footerindex, int footerlength, string footervalue);
hober 4:5cde69a36d74 61 // crc
hober 4:5cde69a36d74 62 void enableCRC(int crcindex, int crclength);
hober 4:5cde69a36d74 63 // xorValue
hober 4:5cde69a36d74 64 void enableCheckXOR(int xorindex);
hober 4:5cde69a36d74 65
hober 4:5cde69a36d74 66 // check Header
hober 4:5cde69a36d74 67 bool testHeader(int hindex) ;
hober 4:5cde69a36d74 68 // check Footer
hober 4:5cde69a36d74 69 bool testFooter(int findex);
hober 4:5cde69a36d74 70 // test XOR // set xindex as headerIndex
hober 7:ee0569d49c52 71 bool testXOR(int hindex);
hober 4:5cde69a36d74 72 // parsing
hober 4:5cde69a36d74 73 bool parse(int curIndex);
hober 4:5cde69a36d74 74 // compute xor
hober 4:5cde69a36d74 75 byte computeXOR(byte t1[], int len);
hober 4:5cde69a36d74 76
hober 4:5cde69a36d74 77
hober 4:5cde69a36d74 78 };
hober 4:5cde69a36d74 79
hober 4:5cde69a36d74 80
hober 4:5cde69a36d74 81
hober 4:5cde69a36d74 82 #endif
hober 4:5cde69a36d74 83