UNPKG

extended-nmea

Version:

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

56 lines 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VTG = void 0; const TalkerSentence_1 = require("../../types/sentences/TalkerSentence"); class VTG extends TalkerSentence_1.TalkerSentence { constructor(data) { super(data); } get trackingAngle() { const val = this.dataFields[0]; if (val.length === 0) return 0; return parseFloat(val); } get magneticTrackingAngle() { const val = this.dataFields[2]; if (val.length === 0) return 0; return parseFloat(val); } get speed() { const val = this.dataFields[4]; if (val.length === 0) return 0; return parseFloat(val); } get speedKmh() { const val = this.dataFields[6]; if (val.length === 0) return 0; return parseFloat(val); } get posMode() { if (this.dataFields.length < 9) { return null; } return this.dataFields[8]; } get valid() { const dataFieldsLength = this.dataFields.length; // NMEA 2.3 added posMode field return super.valid && (dataFieldsLength === 8 || dataFieldsLength === 9); } get invalidReason() { if (!super.valid) { return super.invalidReason; } if (this.dataFields.length !== 8 && this.dataFields.length !== 9) { return `Expected 8 or 9 fields, got ${this.dataFields.length}`; } return null; } } exports.VTG = VTG; VTG.ID = "VTG"; //# sourceMappingURL=VTG.js.map