SNOCC / GPS

Fork of GPS by Simon Ford

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers GPS.h Source File

GPS.h

00001 /* mbed EM-406 GPS Module Library
00002  * Copyright (c) 2008-2010, sford
00003  *
00004  * Permission is hereby granted, free of charge, to any person obtaining a copy
00005  * of this software and associated documentation files (the "Software"), to deal
00006  * in the Software without restriction, including without limitation the rights
00007  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00008  * copies of the Software, and to permit persons to whom the Software is
00009  * furnished to do so, subject to the following conditions:
00010  *
00011  * The above copyright notice and this permission notice shall be included in
00012  * all copies or substantial portions of the Software.
00013  *
00014  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00015  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00016  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00017  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00018  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
00019  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
00020  * THE SOFTWARE.
00021  */
00022 
00023 #include "mbed.h"
00024 #include <string>
00025 
00026 #ifndef MBED_GPS_H
00027 #define MBED_GPS_H
00028 
00029 /**  A GPS interface for reading from a Globalsat EM-406 GPS Module */
00030 class GPS {
00031 public:
00032 
00033     /** Create the GPS interface, connected to the specified serial port
00034      */    
00035     GPS(PinName tx, PinName rx);
00036     
00037     /** Sample the incoming GPS data, returning whether there is a lock
00038      * 
00039      * @return 1 if there was a lock when the sample was taken (and therefore .longitude and .latitude are valid), else 0
00040      */
00041     int sample();
00042     
00043     /** The longitude (call sample() to set) */
00044     float longitude;
00045      
00046      /** The latitude (call sample() to set) */
00047     float latitude;
00048     
00049     /** The speed in knots (call sample() to set) */   // Esta variable la agrego para disponer de la velocidad.
00050     float speed;            
00051     
00052      
00053      
00054     char msg[256];         // Cambio de ambito de privado a publico esta variable para poder imprimirla
00055     string mensajes;       // Agrego variables miembro publicas para debbuging
00056     string mensaje1;
00057     string mensaje2;
00058     string mensaje3;
00059     string mensaje4;
00060 
00061     
00062 private:
00063     float trunc(float v);
00064     void getline();
00065     
00066     Serial _gps;
00067   //  char msg[256];
00068 
00069 };
00070 
00071 #endif