GPS module (GYSFDMAXB) 57600 bps

Dependents:   HAPS_GPS_Test_0002

Committer:
cocorlow
Date:
Thu Apr 08 10:38:27 2021 +0000
Revision:
2:9b567c8f5429
Parent:
1:0d9b4ba850d8
Child:
3:f8045f83d7c1
sin cos accuracy

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cocorlow 0:8114a6b113f4 1 #ifndef __GYSFDMAXB_HPP__
cocorlow 0:8114a6b113f4 2 #define __GYSFDMAXB_HPP__
cocorlow 0:8114a6b113f4 3
cocorlow 0:8114a6b113f4 4 #include "mbed.h"
cocorlow 0:8114a6b113f4 5 #include "Vector3.hpp"
cocorlow 0:8114a6b113f4 6
cocorlow 0:8114a6b113f4 7 /*
cocorlow 0:8114a6b113f4 8 $GPZDA,030049.971,06,04,2021,,*54
cocorlow 0:8114a6b113f4 9 $GPGGA,030050.971,,,,,0,0,,,M,,M,,*41
cocorlow 0:8114a6b113f4 10 $GPGLL,,,,,030050.971,V,N*73
cocorlow 0:8114a6b113f4 11 $GPGSA,A,1,,,,,,,,,,,,,,,*1E
cocorlow 0:8114a6b113f4 12 $GPGSV,1,1,00*79
cocorlow 0:8114a6b113f4 13 $GPRMC,030050.971,V,,,,,0.00,0.00,060421,,,N*45
cocorlow 0:8114a6b113f4 14 $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
cocorlow 0:8114a6b113f4 15 $GPZDA,030050.971,06,04,2021,,*5C
cocorlow 0:8114a6b113f4 16 $GPGGA,030051.971,,,,,0,0,,,M,,M,,*40
cocorlow 0:8114a6b113f4 17 $GPGLL,,,,,030051.971,V,N*72
cocorlow 0:8114a6b113f4 18 $GPGSA,A,1,,,,,,,,,,,,,,,*1E
cocorlow 0:8114a6b113f4 19 $GPGSV,1,1,00*79
cocorlow 0:8114a6b113f4 20 $GPRMC,030051.971,V,,,,,0.00,0.00,060421,,,N*44
cocorlow 0:8114a6b113f4 21 $GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
cocorlow 0:8114a6b113f4 22 $GPZDA,030051.971,06,04,2021,,*5D
cocorlow 0:8114a6b113f4 23 */
cocorlow 0:8114a6b113f4 24
cocorlow 0:8114a6b113f4 25
cocorlow 0:8114a6b113f4 26 class GYSFDMAXB
cocorlow 0:8114a6b113f4 27 {
cocorlow 0:8114a6b113f4 28 private:
cocorlow 0:8114a6b113f4 29 float height;
cocorlow 0:8114a6b113f4 30 Serial serial;
cocorlow 0:8114a6b113f4 31 bool receive_flag;
cocorlow 0:8114a6b113f4 32 int start_index;
cocorlow 0:8114a6b113f4 33 const int start_size = 16;
cocorlow 0:8114a6b113f4 34 char* uart_start[start_size];
cocorlow 0:8114a6b113f4 35 int uart_index;
cocorlow 0:8114a6b113f4 36 const int uart_size = 1024;
cocorlow 0:8114a6b113f4 37 char uart_buffer[uart_size];
cocorlow 0:8114a6b113f4 38
cocorlow 0:8114a6b113f4 39 static const float Radius = 6378136.6;
cocorlow 0:8114a6b113f4 40
cocorlow 0:8114a6b113f4 41 public:
cocorlow 0:8114a6b113f4 42 // GPGGA
cocorlow 0:8114a6b113f4 43 int Quality;
cocorlow 0:8114a6b113f4 44 int Satellites;
cocorlow 0:8114a6b113f4 45 float HDOP;
cocorlow 0:8114a6b113f4 46 float Elevation;
cocorlow 0:8114a6b113f4 47 char UnitElevation;
cocorlow 0:8114a6b113f4 48 float GeoidElevation;
cocorlow 0:8114a6b113f4 49 char UnitGeoidElevation;
cocorlow 0:8114a6b113f4 50
cocorlow 0:8114a6b113f4 51 // GPRMC
cocorlow 0:8114a6b113f4 52 int Hours;
cocorlow 0:8114a6b113f4 53 int Minutes;
cocorlow 0:8114a6b113f4 54 int Seconds;
cocorlow 0:8114a6b113f4 55 int Milliseconds;
cocorlow 0:8114a6b113f4 56 char Status;
cocorlow 0:8114a6b113f4 57 float Latitude;
cocorlow 0:8114a6b113f4 58 char N_S;
cocorlow 0:8114a6b113f4 59 float Longitude;
cocorlow 0:8114a6b113f4 60 char E_W;
cocorlow 0:8114a6b113f4 61 float Speed;
cocorlow 0:8114a6b113f4 62 float Direction;
cocorlow 0:8114a6b113f4 63 int Day;
cocorlow 0:8114a6b113f4 64 int Month;
cocorlow 0:8114a6b113f4 65 int Year;
cocorlow 0:8114a6b113f4 66 float GeomagneticDeclination ;
cocorlow 0:8114a6b113f4 67 char GeomagneticE_W;
cocorlow 0:8114a6b113f4 68 char Mode;
cocorlow 0:8114a6b113f4 69
cocorlow 0:8114a6b113f4 70 Vector3 UniversalZeroPosition;
cocorlow 1:0d9b4ba850d8 71 Vector3 UniversalZeroUnitN;
cocorlow 1:0d9b4ba850d8 72 Vector3 UniversalZeroUnitE;
cocorlow 1:0d9b4ba850d8 73 Vector3 UniversalZeroUnitD;
cocorlow 0:8114a6b113f4 74 Vector3 UniversalPosition;
cocorlow 0:8114a6b113f4 75 Vector3 Position;
cocorlow 0:8114a6b113f4 76
cocorlow 0:8114a6b113f4 77 GYSFDMAXB(PinName tx, PinName rx);
cocorlow 0:8114a6b113f4 78 void Receive();
cocorlow 0:8114a6b113f4 79 void Update();
cocorlow 2:9b567c8f5429 80 Vector3 ToUniversalUnit();
cocorlow 0:8114a6b113f4 81 Vector3 ToUniversal();
cocorlow 0:8114a6b113f4 82 void CalcurateUnit();
cocorlow 0:8114a6b113f4 83 void Calcurate();
cocorlow 0:8114a6b113f4 84 Vector3 Calcurate(Vector3 position);
cocorlow 0:8114a6b113f4 85 };
cocorlow 0:8114a6b113f4 86
cocorlow 0:8114a6b113f4 87 extern Serial pc;
cocorlow 0:8114a6b113f4 88
cocorlow 0:8114a6b113f4 89 #endif