@jbroll/nmea-simple
Version:
NMEA 0183 sentence parser and encoder
34 lines (26 loc) • 1.36 kB
text/typescript
import "should";
import { assertPacketIs, parseNmeaSentence } from "../index";
describe("RMC", (): void => {
it("parser", (): void => {
const packet = parseNmeaSentence("$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A");
packet.should.have.property("sentenceId", "RMC");
packet.should.have.property("sentenceName", "Recommended minimum navigation information");
packet.should.have.property("talkerId", "GP");
packet.should.have.property("datetime", new Date("1994-03-23T12:35:19Z"));
packet.should.have.property("status", "valid");
packet.should.have.property("latitude", 48.1173);
packet.should.have.property("longitude", 11.516666666666667);
packet.should.have.property("speedKnots", 22.4);
packet.should.have.property("trackTrue", 84.4);
packet.should.have.property("variation", 3.1);
packet.should.have.property("variationPole", "W");
});
it("miliseconds", (): void => {
const packet = parseNmeaSentence("$GNRMC,123411.200,A,4721.2973,N,01906.6971,E,16.19,142.59,040223,,,A,V*37");
assertPacketIs("RMC", packet);
packet.datetime.getMilliseconds().should.equal(200);
const packet2 = parseNmeaSentence("$GPRMC,123409.886,V,,,,,16.10,145.36,040223,,,N,V*08");
assertPacketIs("RMC", packet2);
packet2.datetime.getMilliseconds().should.equal(886);
});
});