Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: XYZ_sensor_Platform_SPI mbed
parse_array/ParseArray.h@7:ee0569d49c52, 2017-12-08 (annotated)
- 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?
| User | Revision | Line number | New 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 |