Rev 449 | Rev 451 | 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 |
||
450 | Brean | 3 | #include "Kopter.h" |
396 | Brean | 4 | #include <cmath> |
450 | Brean | 5 | #include <string> |
391 | Brean | 6 | |
7 | /** |
||
8 | * The Parser gets values from the Mikrokopter-USART interface |
||
9 | * and parses them into a sRxData-Struct |
||
10 | */ |
||
449 | Brean | 11 | /* |
391 | Brean | 12 | struct sRxData |
13 | { |
||
14 | char *input; |
||
15 | int decode[150]; |
||
16 | int decLen; |
||
17 | }; |
||
449 | Brean | 18 | */ |
391 | Brean | 19 | class Parser { |
20 | public: |
||
450 | Brean | 21 | static void create_frame(char cmd, int address, char * data, unsigned int length); |
391 | Brean | 22 | |
449 | Brean | 23 | static int decode64(char * data, int len, unsigned char *ptrOut, int offset); |
24 | static void encode64(char data[150],unsigned int length); |
||
391 | Brean | 25 | |
449 | Brean | 26 | static void add_CRC(char * tx, int length); |
27 | static bool check_CRC(char * rx, int length); |
||
28 | |||
391 | Brean | 29 | static float getFloat(long value, int count); |
30 | |||
450 | Brean | 31 | static int dataToInt(char *data , int start, bool is_signed = true); |
32 | static long dataToLong(char *data , int start, bool is_signed = true); |
||
33 | static int dataToChar(char *data , int start, bool is_signed = true); |
||
34 | static std::string dataToString(char * data, int start, int end); |
||
391 | Brean | 35 | static int charToData(int data); |
36 | }; |
||
37 | |||
38 | #endif |