extended-nmea
Version:
A TypeScript library for parsing NMEA0183-like sentences with support for custom and proprietary sentences.
56 lines • 1.65 kB
JavaScript
"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