GPS module (GYSFDMAXB) 57600 bps

Dependents:   HAPS_GPS_Test_0002

Revision:
0:8114a6b113f4
Child:
1:0d9b4ba850d8
--- /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