/*
|
*
|
* NMEA library
|
* URL: http://nmea.sourceforge.net
|
* Author: Tim (xtimor@gmail.com)
|
* Licence: http://www.gnu.org/licenses/lgpl.html
|
* $Id: parse.h 4 2007-08-27 13:11:03Z xtimor $
|
*
|
*/
|
|
#ifndef __NMEA_PARSE_H__
|
#define __NMEA_PARSE_H__
|
|
#include "nmea_info.h"
|
|
#define NMEA_DEF_PARSEBUFF (1024)
|
#define NMEA_MIN_PARSEBUFF (256)
|
|
#define NMEA_CONVSTR_BUF (256)
|
#define NMEA_TIMEPARSE_BUF (256)
|
|
/*
|
* Distance units
|
*/
|
|
#define NMEA_TUD_YARDS (1.0936) /* *< Yeards, meter * NMEA_TUD_YARDS = yard */
|
#define NMEA_TUD_KNOTS (1.852) /* *< Knots, kilometer / NMEA_TUD_KNOTS = knot */
|
#define NMEA_TUD_MILES (1.609) /* *< Miles, kilometer / NMEA_TUD_MILES = mile */
|
|
/*
|
* Speed units
|
*/
|
|
#define NMEA_TUS_MS (3.6) /* *< Meters per seconds, (k/h) / NMEA_TUS_MS= (m/s) */
|
|
|
#ifdef __cplusplus
|
extern "C" {
|
#endif
|
|
int nmea_atoi(const char *str, int str_sz, int radix);
|
double nmea_atof(const char *str, int str_sz);
|
int nmea_scanf(const char *buff, int buff_sz, const char *format, ...);
|
|
int nmea_pack_type(const char *buff, int buff_sz);
|
int nmea_find_tail(const char *buff, int buff_sz, int *res_crc);
|
int nmea_get_item_line(const char *buff, int buff_sz, char *line, int *line_len);
|
|
int nmea_parse_GPGGA(const char *buff, int buff_sz, nmeaGPGGA *pack);
|
int nmea_parse_GPGSA(const char *buff, int buff_sz, nmeaGPGSA *pack);
|
int nmea_parse_GPGSV(const char *buff, int buff_sz, nmeaGPGSV *pack);
|
int nmea_parse_GPRMC(const char *buff, int buff_sz, nmeaGPRMC *pack);
|
int nmea_parse_GPVTG(const char *buff, int buff_sz, nmeaGPVTG *pack);
|
|
void nmea_GPGGA2info(nmeaGPGGA *pack, nmeaINFO *info);
|
void nmea_GPGSA2info(nmeaGPGSA *pack, nmeaINFO *info);
|
void nmea_GPGSV2info(nmeaGPGSV *pack, nmeaINFO *info);
|
void nmea_GPRMC2info(nmeaGPRMC *pack, nmeaINFO *info);
|
void nmea_GPVTG2info(nmeaGPVTG *pack, nmeaINFO *info);
|
|
#ifdef __cplusplus
|
}
|
#endif
|
|
#endif /* __NMEA_PARSE_H__ */
|