Subversion Repositories Projects

Rev

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