LogViewer.Utilities.LogEntryGPS.LogEntryGPS C# (CSharp) Method

LogEntryGPS() public method

public LogEntryGPS ( LogEntry entry ) : System
entry LogEntry
return System
        public LogEntryGPS(LogEntry entry)
        {
            if (entry.HasField("TimeUS"))
            {
                // perhaps it is the old format with GWk and TimeUS
                // "QBIHBcLLeeEefB"
                GPSTime = entry.GetField<UInt64>("TimeUS"); // Q
                //byte Status = entry.GetField<byte>("Status"); // B
                //uint GMS = entry.GetField<UInt32>("GMS"); // I
                ushort GWk = entry.GetField<UInt16>("GWk"); // H
                nSat = entry.GetField<byte>("NSats"); // B
                EPH = (float)entry.GetField<double>("HDop"); // c
                Lat = entry.GetField<double>("Lat"); // L
                Lon = entry.GetField<double>("Lng"); // L
                //double RAlt = entry.GetField<double>("RAlt"); // e
                Alt = (float)entry.GetField<double>("Alt"); // e
                //double spd = entry.GetField<double>("Spd"); // E
                //double gcrs = entry.GetField<float>("GCrs"); // e
                //double vz = entry.GetField<float>("VZ"); // f
                //byte u = entry.GetField<byte>("U"); // B
            }
            else if (entry.HasField("GPSTime"))
            {
                GPSTime = entry.GetField<UInt64>("GPSTime");
                Fix = entry.GetField<byte>("Fix");
                EPH = entry.GetField<float>("EPH");
                EPV = entry.GetField<float>("EPV");
                Lat = (double)entry.GetField<Int32>("Lat") / 1E7;
                Lon = (double)entry.GetField<UInt64>("Lon") / 1E7;
                Alt = entry.GetField<float>("Alt");
                VelN = entry.GetField<float>("VelN");
                VelE = entry.GetField<float>("VelE");
                VelD = entry.GetField<float>("VelD");
                Cog = entry.GetField<float>("Cog");
                nSat = entry.GetField<byte>("nSat");
                SNR = entry.GetField<UInt16>("SNR");
                N = entry.GetField<UInt16>("N");
                J = entry.GetField<UInt16>("J");
            }
            else if (entry.HasField("time_usec"))
            {
                GPSTime = entry.GetField<UInt64>("time_usec") / 1000;
                Fix = entry.GetField<byte>("fix_type");
                EPH = entry.GetField<float>("eph");
                EPV = entry.GetField<float>("epv");
                Lat = (double)entry.GetField<Int32>("lat") / 1E7;
                Lon = (double)entry.GetField<UInt64>("lon") / 1E7;
                Alt = entry.GetField<float>("alt");
                VelN = entry.GetField<float>("Vel");
                Cog = entry.GetField<float>("cog");
                nSat = entry.GetField<byte>("satellites_visible");
            }
        }
LogEntryGPS