Lucas Kierulff Balabram / Mbed 2 deprecated Telemetria_TX

Dependencies:   mbed BufferedSerial SX1276GenericLib X_NUCLEO_IKS01A2

Committer:
LucasKB
Date:
Mon Jun 17 00:07:48 2019 +0000
Revision:
2:91a80cc7d87d
Tx

Who changed what in which revision?

UserRevisionLine numberNew contents of line
LucasKB 2:91a80cc7d87d 1 #ifndef UBXGPSNAVSOL_H_
LucasKB 2:91a80cc7d87d 2 #define UBXGPSNAVSOL_H_
LucasKB 2:91a80cc7d87d 3
LucasKB 2:91a80cc7d87d 4 #include "mbed.h"
LucasKB 2:91a80cc7d87d 5
LucasKB 2:91a80cc7d87d 6 #define UBX_NAV_SOL_HEADER_1 (0xB5)
LucasKB 2:91a80cc7d87d 7 #define UBX_NAV_SOL_HEADER_2 (0x62)
LucasKB 2:91a80cc7d87d 8 #define UBX_NAV_SOL_CLASS (0x01)
LucasKB 2:91a80cc7d87d 9 #define UBX_NAV_SOL_ID (0x06)
LucasKB 2:91a80cc7d87d 10 #define UBX_NAV_SOL_PAYLOAD_LENGTH (52)
LucasKB 2:91a80cc7d87d 11
LucasKB 2:91a80cc7d87d 12 class UbxGpsNavSol : public UARTSerial{
LucasKB 2:91a80cc7d87d 13 public:
LucasKB 2:91a80cc7d87d 14 UbxGpsNavSol(PinName tx, PinName rx, int baud);
LucasKB 2:91a80cc7d87d 15 ~UbxGpsNavSol();
LucasKB 2:91a80cc7d87d 16
LucasKB 2:91a80cc7d87d 17 bool ready();
LucasKB 2:91a80cc7d87d 18 void disableNmea();
LucasKB 2:91a80cc7d87d 19 bool enableNAVSOL();
LucasKB 2:91a80cc7d87d 20 bool changeFrequency();
LucasKB 2:91a80cc7d87d 21 bool changeBaudrate();
LucasKB 2:91a80cc7d87d 22 bool disableUnnecessaryChannels();
LucasKB 2:91a80cc7d87d 23 bool disableGNSS();
LucasKB 2:91a80cc7d87d 24 bool restoreDefaults();
LucasKB 2:91a80cc7d87d 25 void baud(int baud);
LucasKB 2:91a80cc7d87d 26 // void setLength(unsigned char length);
LucasKB 2:91a80cc7d87d 27 // Type Name Unit Description (scaling)
LucasKB 2:91a80cc7d87d 28 unsigned long iTOW; // ms GPS time of week of the navigation epoch. See the description of iTOW for
LucasKB 2:91a80cc7d87d 29 // details
LucasKB 2:91a80cc7d87d 30 long fTOW; // ns Fractional part of iTOW (range: +/-500000). The precise GPS time of week in
LucasKB 2:91a80cc7d87d 31 // seconds is: (iTOW * 1e-3) + (fTOW * 1e-9)
LucasKB 2:91a80cc7d87d 32 short week; // weeks GPS week number of the navigation epoch
LucasKB 2:91a80cc7d87d 33 unsigned char gpsFix; // - GPSfix Type, range 0..5
LucasKB 2:91a80cc7d87d 34 char flags; // - Fix Status Flags (see graphic below)
LucasKB 2:91a80cc7d87d 35 long ecefX; // cm ECEF X coordinate
LucasKB 2:91a80cc7d87d 36 long ecefY; // cm ECEF Y coordinate
LucasKB 2:91a80cc7d87d 37 long ecefZ; // cm ECEF Z coordinate
LucasKB 2:91a80cc7d87d 38 unsigned long pAcc; // cm 3D Position Accuracy Estimate
LucasKB 2:91a80cc7d87d 39 long ecefVX; // cm/s ECEF X velocity
LucasKB 2:91a80cc7d87d 40 long ecefVY; // cm/s ECEF Y velocity
LucasKB 2:91a80cc7d87d 41 long ecefVZ; // cm/s ECEF Z velocity
LucasKB 2:91a80cc7d87d 42 unsigned long sAcc; // cm/s Speed Accuracy Estimate
LucasKB 2:91a80cc7d87d 43 unsigned short pDOP; // - Position DOP (0.01)
LucasKB 2:91a80cc7d87d 44 unsigned char reserved1; // - Reserved
LucasKB 2:91a80cc7d87d 45 unsigned char numSV; // - Number of satellites used in Nav Solution
LucasKB 2:91a80cc7d87d 46 unsigned long reserved2; // - Reserved
LucasKB 2:91a80cc7d87d 47
LucasKB 2:91a80cc7d87d 48 private:
LucasKB 2:91a80cc7d87d 49 bool calculateChecksum(unsigned char *data);
LucasKB 2:91a80cc7d87d 50 // Class properties
LucasKB 2:91a80cc7d87d 51 unsigned char offsetClassProperties;
LucasKB 2:91a80cc7d87d 52 unsigned char offsetHeaders;
LucasKB 2:91a80cc7d87d 53 unsigned char size;
LucasKB 2:91a80cc7d87d 54 unsigned char carriagePosition;
LucasKB 2:91a80cc7d87d 55 unsigned char checksum[2];
LucasKB 2:91a80cc7d87d 56
LucasKB 2:91a80cc7d87d 57 // Headers (common).
LucasKB 2:91a80cc7d87d 58 unsigned char headerClass;
LucasKB 2:91a80cc7d87d 59 unsigned char headerId;
LucasKB 2:91a80cc7d87d 60 unsigned short headerLength;
LucasKB 2:91a80cc7d87d 61 uint16_t payload_length;
LucasKB 2:91a80cc7d87d 62 };
LucasKB 2:91a80cc7d87d 63 #endif