GPS module (GYSFDMAXB) 57600 bps

Dependents:   HAPS_GPS_Test_0002

Committer:
cocorlow
Date:
Fri Apr 23 11:43:26 2021 +0000
Revision:
5:0983cd1d7183
Parent:
4:8d315f7977b3
16 -> 64

Who changed what in which revision?

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