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