UNPKG

extended-nmea

Version:

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

52 lines 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RMA = void 0; const TalkerSentence_1 = require("../../types/sentences/TalkerSentence"); const helpers_1 = require("../../helpers"); var parseGeoCoordinate = helpers_1.Helpers.parseGeoCoordinate; class RMA extends TalkerSentence_1.TalkerSentence { constructor(data) { super(data); } get warning() { return this.dataFields[0] === 'V'; } get latitude() { return parseGeoCoordinate(this.dataFields[1], this.dataFields[2]); } get longitude() { return parseGeoCoordinate(this.dataFields[3], this.dataFields[4]); } get timeDifferenceA() { return parseFloat(this.dataFields[5]); } get timeDifferenceB() { return parseFloat(this.dataFields[6]); } get speedOverGround() { return parseFloat(this.dataFields[8]); } get trackMadeGood() { return parseFloat(this.dataFields[9]); } get magneticVariation() { const val = parseFloat(this.dataFields[10]); const positive = this.dataFields[11] === 'E'; return (positive ? 1 : -1) * val; } get valid() { return super.valid && this.dataFields.length === 11; } get invalidReason() { if (!super.valid) { return super.invalidReason; } if (this.dataFields.length !== 11) { return `Expected 11 fields, got ${this.dataFields.length}`; } return null; } } exports.RMA = RMA; RMA.ID = "RMA"; //# sourceMappingURL=RMA.js.map