Rev 440 | Rev 450 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
391 | Brean | 1 | #ifndef PARSER_H |
2 | #define PARSER_H |
||
396 | Brean | 3 | #include <cmath> |
391 | Brean | 4 | |
5 | /** |
||
6 | * The Parser gets values from the Mikrokopter-USART interface |
||
7 | * and parses them into a sRxData-Struct |
||
8 | */ |
||
449 | Brean | 9 | /* |
391 | Brean | 10 | struct sRxData |
11 | { |
||
12 | char *input; |
||
13 | int decode[150]; |
||
14 | int decLen; |
||
15 | }; |
||
449 | Brean | 16 | */ |
391 | Brean | 17 | class Parser { |
18 | public: |
||
449 | Brean | 19 | void create_frame(char cmd, int address, char * data, unsigned int length); |
391 | Brean | 20 | |
449 | Brean | 21 | static int decode64(char * data, int len, unsigned char *ptrOut, int offset); |
22 | static void encode64(char data[150],unsigned int length); |
||
391 | Brean | 23 | |
449 | Brean | 24 | static void add_CRC(char * tx, int length); |
25 | static bool check_CRC(char * rx, int length); |
||
26 | |||
391 | Brean | 27 | static float getFloat(long value, int count); |
28 | |||
449 | Brean | 29 | static int dataToInt(int *data , int start, bool is_signed = true); |
30 | static long dataToLong(int *data , int start, bool is_signed = true); |
||
391 | Brean | 31 | static int dataToChar(int *data , int start, bool is_signed = true); |
32 | static int charToData(int data); |
||
33 | }; |
||
34 | |||
35 | #endif |