nmea gps library - without any serial
Fork of GPS by
Diff: GPS.h
- Revision:
- 5:94daced1e61a
- Parent:
- 4:6e2d98b5cb86
- Child:
- 6:4ed12067a314
--- a/GPS.h Wed Dec 12 17:22:45 2012 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ -#include "mbed.h" - -#ifndef MBED_GPS_H -#define MBED_GPS_H - -#define NO_LOCK 1 -#define NOT_PARSED 2 -#define GGA 3 -#define GLL 4 -#define RMC 5 -#define VTG 6 - -#define PI (3.141592653589793) - -/** A GPS interface for reading from a Globalsat EM-406 GPS Module */ -class GPS { -public: - - /** Create the GPS interface, connected to the specified serial port - */ - GPS(); - - /** Sample the incoming GPS data, returning whether there is a lock - * - * @return 1 if there was a lock when the sample was taken (and therefore .longitude and .latitude are valid), else 0 - */ - int sample(char *); - float get_nmea_longitude(); - float get_nmea_latitude(); - float get_dec_longitude(); - float get_dec_latitude(); - float get_msl_altitude(); - float get_course_t(); - float get_course_m(); - float get_speed_k(); - float get_speed_km(); - int get_satelites(); - float get_altitude_ft(); - - // navigational functions - float calc_course_to(float, float); - double calc_dist_to_mi(float, float); - double calc_dist_to_ft(float, float); - double calc_dist_to_km(float, float); - double calc_dist_to_m(float, float); - -private: - float nmea_to_dec(float, char); - float trunc(float v); - - // calculated values - float dec_longitude; - float dec_latitude; - float altitude_ft; - - // GGA - Global Positioning System Fixed Data - float nmea_longitude; - float nmea_latitude; - float utc_time; - char ns, ew; - int lock; - int satelites; - float hdop; - float msl_altitude; - char msl_units; - - // RMC - Recommended Minimmum Specific GNS Data - char rmc_status; - float speed_k; - float course_d; - int date; - - // GLL - char gll_status; - - // VTG - Course over ground, ground speed - float course_t; // ground speed true - char course_t_unit; - float course_m; // magnetic - char course_m_unit; - char speed_k_unit; - float speed_km; // speek km/hr - char speed_km_unit; -}; - -#endif