GPS LIB
gps.h
- Committer:
- renanbmx123
- Date:
- 2018-10-14
- Revision:
- 0:20506ffee09a
File content as of revision 0:20506ffee09a:
#ifndef GPS_H #define GPS_H #include "mbed.h" #define gps_buffer 128 //GPS Buffer size // GPS MESSAGE ID'S #define GPMRC "$GPRMC" //Recommended minimum specific GNSS data: time, date, position, course, speed #define GPVTG "$GPVTG" //Course over ground and ground speed #define GPGGA "$GPGGA" //Global positioning system fixed data: time, position, fixed type #define GPGSA "$GPGSA"//GPS receiver operating mode,active satellites, and DOP values #define GPGSV "$GPGSV"//GNSS satellites in view: ID number, elevation, azimuth, and SNR values #define GPGLL "$GPGLL"//Geographic position:latitude, longitude, UTC time of position fix and status //GPS class object class GPS { public: /** Class constructor * @param serial is an RawSerial object that will be used for UART communication * @param pwr_pin the pin to power on/off GPS module * @param baud the baudrate for the UART that will interface the GPS module * */ GPS(Serial* serial, PinName pwr_pin, int pwr_crtl = 1, int baud = 9600); /** Class destructor */ virtual ~GPS(); void recvAttach (void); void set_gps_on(void); void set_gps_off(void); int data_availiable(float* _lat, float* _lon, float* _alt, float* _tFix, float* _speed, char* NS, char* EW, int* _date, char* Ualt); void int_mng(int value); private: Serial* _gps; DigitalOut *_pwr_pin; char gps_active; char data[90]; float lat, lon, alt, tFix, speed, cog, hdop, vdop, pdop; char status, NorthSouth, EastWest,mode[2],sat[2],unit; int date,fq, nst; int int_ctrl; }; #endif