GPS module (GYSFDMAXB) 57600 bps
Dependents: HAPS_GPS_Test_0002
Diff: GYSFDMAXB.hpp
- Revision:
- 0:8114a6b113f4
- Child:
- 1:0d9b4ba850d8
diff -r 000000000000 -r 8114a6b113f4 GYSFDMAXB.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/GYSFDMAXB.hpp Tue Apr 06 08:16:08 2021 +0000 @@ -0,0 +1,88 @@ +#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 +*/ + + +class GYSFDMAXB +{ +private: + float height; + Serial serial; + bool receive_flag; + int start_index; + const int start_size = 16; + char* uart_start[start_size]; + int uart_index; + const int uart_size = 1024; + char uart_buffer[uart_size]; + + static const float Radius = 6378136.6; + +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 UniversalZeroUnitX; + Vector3 UniversalZeroUnitY; + Vector3 UniversalZeroUnitZ; + Vector3 UniversalPosition; + Vector3 Position; + + GYSFDMAXB(PinName tx, PinName rx); + void Receive(); + void Update(); + Vector3 ToUniversal(); + void CalcurateUnit(); + void Calcurate(); + Vector3 Calcurate(Vector3 position); +}; + +extern Serial pc; + +#endif \ No newline at end of file