##// END OF EJS Templates

File last commit:

r115:116
r115:116
Show More
nmeaParser.h
120 lines | 2.8 KiB | text/x-c | CLexer
/*
* nmeaParser.h
*
* Created on: Oct 21, 2014
* Author: Alan Aguilar Sologuren
*/
#ifndef NMEALIB_NMEALIB___NMEAPARSER_H_
#define NMEALIB_NMEALIB___NMEAPARSER_H_
typedef struct _nmeaParserNODE
{
nmeaCode* pack;
struct _nmeaParserNODE *next_node;
} nmeaParserNODE;
class nmeaParser {
public:
nmeaParser();
virtual ~nmeaParser();
int nmea_find_tail(const char *buff, int buff_sz, int *res_crc)
int nmea_parse( const char *buff, int buff_sz, nmeaInfo *info );
int nmea_parser_push(const char *buff, int buff_sz);
int nmea_parser_top(void);
int nmea_parser_pop(nmeaCode **pack_ptr);
int nmea_parser_peek(nmeaCode **pack_ptr);
int nmea_parser_drop(void);
int nmea_parser_buff_clear(void);
int nmea_parser_queue_clear(void);
virtual void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
private:
void *top_node;
void *end_node;
unsigned char *buffer;
int buff_size;
int buff_use;
int nmea_parser_real_push(const char *buff, int buff_sz);
};
class nmeaGPALMParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
//codigos NMEA que se pueden enviar al receptor GPS GARMIN
class nmeaPGRMIParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
class nmeaPGRMCParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
class nmeaPGRMC1Parser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
class nmeaPGRMOParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
//Codigos NMEA que puede transmitir el receptor GNSS
class nmeaGPGGAParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
class nmeaGPGSAParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
class nmeaGPGSVParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
class nmeaGPRMCParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
class nmeaGPVTGParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
class nmeaGPGLLParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
//codigos de propiedad de GARMIN
class nmeaPGRMEParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
class nmeaPGRMFParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
class nmeaPGRMMParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
class nmeaPGRMTParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
class nmeaPGRMVParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
class nmeaPGRMBParser:nmeaParser {
void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info);
};
#endif /* NMEALIB_NMEALIB___NMEAPARSER_H_ */