UNPKG

extended-nmea

Version:

A TypeScript library for parsing NMEA0183-like sentences with support for custom and proprietary sentences.

60 lines 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GGA = void 0; const TalkerSentence_1 = require("../../types/sentences/TalkerSentence"); const helpers_1 = require("../../helpers"); var parseTime = helpers_1.Helpers.parseTime; var parseGeoCoordinate = helpers_1.Helpers.parseGeoCoordinate; class GGA extends TalkerSentence_1.TalkerSentence { constructor(data) { super(data); } get time() { return parseTime(this.dataFields[0]); } get latitude() { return parseGeoCoordinate(this.dataFields[1], this.dataFields[2]); } get longitude() { return parseGeoCoordinate(this.dataFields[3], this.dataFields[4]); } get gpsQuality() { return parseInt(this.dataFields[5]); } get satellitesInView() { return parseInt(this.dataFields[6]); } get horizontalDOP() { return parseFloat(this.dataFields[7]); } get altMean() { return parseFloat(this.dataFields[8]); } get geoidalSeparation() { return parseFloat(this.dataFields[10]); } get differentialAge() { let age = this.dataFields[12]; if (age.length === 0) return null; return parseFloat(age); } get differentialStationId() { return parseInt(this.dataFields[13]); } get valid() { return super.valid && this.dataFields.length === 14; } get invalidReason() { if (!super.valid) { return super.invalidReason; } if (this.dataFields.length !== 14) { return `Expected 14 fields, got ${this.dataFields.length}`; } return null; } } exports.GGA = GGA; GGA.ID = "GGA"; //# sourceMappingURL=GGA.js.map