GPS module (GYSFDMAXB) 57600 bps
Dependents: HAPS_GPS_Test_0002
GYSFDMAXB.hpp
- Committer:
- cocorlow
- Date:
- 2021-04-23
- Revision:
- 5:0983cd1d7183
- Parent:
- 4:8d315f7977b3
File content as of revision 5:0983cd1d7183:
#ifndef __GYSFDMAXB_HPP__ #define __GYSFDMAXB_HPP__ #include "mbed.h" #include "Vector3.hpp" /* $GPZDA,030049.971,06,04,2021,,*54 $GPGGA,030050.971,,,,,0,0,,,M,,M,,*41 $GPGLL,,,,,030050.971,V,N*73 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,00*79 $GPRMC,030050.971,V,,,,,0.00,0.00,060421,,,N*45 $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32 $GPZDA,030050.971,06,04,2021,,*5C $GPGGA,030051.971,,,,,0,0,,,M,,M,,*40 $GPGLL,,,,,030051.971,V,N*72 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,00*79 $GPRMC,030051.971,V,,,,,0.00,0.00,060421,,,N*44 $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32 $GPZDA,030051.971,06,04,2021,,*5D */ #define start_size 32 #define uart_size 2048 #define Radius 6378136.6f class GYSFDMAXB { private: // Serial serial; BufferedSerial serial; volatile bool receive_flag; char* uart_start[start_size]; volatile int start_index; char uart_buffer[uart_size]; volatile int uart_index; Ticker timer; void Receive(); void Punctuate(); public: // GPGGA int Quality; int Satellites; float HDOP; float Elevation; char UnitElevation; float GeoidElevation; char UnitGeoidElevation; // GPRMC int Hours; int Minutes; int Seconds; int Milliseconds; char Status; float Latitude; char N_S; float Longitude; char E_W; float Speed; float Direction; int Day; int Month; int Year; float GeomagneticDeclination ; char GeomagneticE_W; char Mode; Vector3 UniversalZeroPosition; Vector3 UniversalZeroUnitN; Vector3 UniversalZeroUnitE; Vector3 UniversalZeroUnitD; Vector3 UniversalPosition; Vector3 Position; GYSFDMAXB(PinName tx, PinName rx); void Update(); void Initialize(); Vector3 ToUniversalUnit(); Vector3 ToUniversal(); void CalcurateUnit(); void Calcurate(); Vector3 Calcurate(Vector3 position); }; #endif