nmeaParser.h
120 lines
| 2.8 KiB
| text/x-c
|
CLexer
|
r96 | /* | ||
* 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); | ||||
|
r115 | virtual void nmea_parser_code2info(nmeaCode* code, nmeaInfo* info); | ||
|
r96 | |||
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); | ||||
}; | ||||
|
r115 | |||
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); | ||||
}; | ||||
|
r96 | #endif /* NMEALIB_NMEALIB___NMEAPARSER_H_ */ | ||