Allows for a GPS module to be connected to a serial port and exposes an easy to use API to get the GPS data.
Fork of MODGPS by
Diff: GPS_Geodetic.h
- Revision:
- 0:db98027c0bbb
diff -r 000000000000 -r db98027c0bbb GPS_Geodetic.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GPS_Geodetic.h Mon Nov 15 20:11:16 2010 +0000 @@ -0,0 +1,55 @@ +/* + Copyright (c) 2010 Andy Kirkham + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +#ifndef GPS_GEODETIC_H +#define GPS_GEODETIC_H + +#include "mbed.h" + +/** GPS_Geodetic definition. + */ +class GPS_Geodetic { +public: + + //! double The latitude + double lat; + + //! double The longitude + double lon; + + //! double The altitude + double alt; + + int num_of_gps_sats; + int gps_satellite_quality; + GPS_Geodetic() { lat = 0.0; lon = 0.0; alt = 0.0; } + + int numOfSats(void) { return num_of_gps_sats; } + int getGPSquality(void) { return gps_satellite_quality; } + void nmea_gga(char *s); + double convert_lat_coord(char *s, char north_south); + double convert_lon_coord(char *s, char east_west); + double convert_height(char *s); +}; + +#endif +