gnss-js 2.4.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-WW3DKCDN.js → chunk-74IVYOQV.js} +187 -6
- package/dist/{chunk-XPQ4BU6W.js → chunk-7GNRNKBR.js} +66 -0
- package/dist/index.cjs +294 -45
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +8 -2
- package/dist/rtcm3.cjs +66 -0
- package/dist/rtcm3.js +1 -1
- package/dist/sbf.cjs +206 -23
- package/dist/sbf.d.cts +62 -1
- package/dist/sbf.d.ts +62 -1
- package/dist/sbf.js +7 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -169,9 +169,11 @@ __export(src_exports, {
|
|
|
169
169
|
estimateNetworkFcbs: () => estimateNetworkFcbs,
|
|
170
170
|
estimateWidelaneFcb: () => estimateWidelaneFcb,
|
|
171
171
|
euclidean3D: () => euclidean3D,
|
|
172
|
+
extractSbfNavicSubframe: () => extractSbfNavicSubframe,
|
|
172
173
|
extractWidelaneArcs: () => extractWidelaneArcs,
|
|
173
174
|
feedGeoBlock: () => feedGeoBlock,
|
|
174
175
|
feedGeoL5Block: () => feedGeoL5Block,
|
|
176
|
+
feedNavicBlock: () => feedNavicBlock,
|
|
175
177
|
fetchSourcetable: () => fetchSourcetable,
|
|
176
178
|
findSatBias: () => findSatBias,
|
|
177
179
|
fixPppPosition: () => fixPppPosition,
|
|
@@ -291,6 +293,7 @@ __export(src_exports, {
|
|
|
291
293
|
parseSbfIonoUtc: () => parseSbfIonoUtc,
|
|
292
294
|
parseSbfMeas: () => parseSbfMeas,
|
|
293
295
|
parseSbfNav: () => parseSbfNav,
|
|
296
|
+
parseSbfNavic: () => parseSbfNavic,
|
|
294
297
|
parseSbfPvt: () => parseSbfPvt,
|
|
295
298
|
parseSbfReceiverSetup: () => parseSbfReceiverSetup,
|
|
296
299
|
parseSinexBiasDcb: () => parseSinexBiasDcb,
|
|
@@ -5270,6 +5273,70 @@ function decodeQzssEphemeris(payload) {
|
|
|
5270
5273
|
fitInterval
|
|
5271
5274
|
};
|
|
5272
5275
|
}
|
|
5276
|
+
function decodeNavicEphemeris(payload) {
|
|
5277
|
+
if (payload.length < 60) return null;
|
|
5278
|
+
const r = new BitReader(payload);
|
|
5279
|
+
r.skip(12);
|
|
5280
|
+
const svId = r.readU(6);
|
|
5281
|
+
const week = r.readU(10);
|
|
5282
|
+
const af0 = r.readS(22) * 2 ** -31;
|
|
5283
|
+
const af1 = r.readS(16) * 2 ** -43;
|
|
5284
|
+
const af2 = r.readS(8) * 2 ** -55;
|
|
5285
|
+
const ura = r.readU(4);
|
|
5286
|
+
const toc = r.readU(16) * 16;
|
|
5287
|
+
const tgd = r.readS(8) * 2 ** -31;
|
|
5288
|
+
const deltaN = r.readS(22) * 2 ** -41 * PI;
|
|
5289
|
+
const iode = r.readU(8);
|
|
5290
|
+
r.skip(10);
|
|
5291
|
+
const l5Health = r.readU(1);
|
|
5292
|
+
const sHealth = r.readU(1);
|
|
5293
|
+
const cuc = r.readS(15) * 2 ** -28;
|
|
5294
|
+
const cus = r.readS(15) * 2 ** -28;
|
|
5295
|
+
const cic = r.readS(15) * 2 ** -28;
|
|
5296
|
+
const cis = r.readS(15) * 2 ** -28;
|
|
5297
|
+
const crc = r.readS(15) * 2 ** -4;
|
|
5298
|
+
const crs = r.readS(15) * 2 ** -4;
|
|
5299
|
+
const idot = r.readS(14) * 2 ** -43 * PI;
|
|
5300
|
+
const m0 = r.readS(32) * 2 ** -31 * PI;
|
|
5301
|
+
const toe = r.readU(16) * 16;
|
|
5302
|
+
const e = r.readU(32) * 2 ** -33;
|
|
5303
|
+
const sqrtA = r.readU(32) * 2 ** -19;
|
|
5304
|
+
const omega0 = r.readS(32) * 2 ** -31 * PI;
|
|
5305
|
+
const argPerigee = r.readS(32) * 2 ** -31 * PI;
|
|
5306
|
+
const omegaDot = r.readS(22) * 2 ** -41 * PI;
|
|
5307
|
+
const i0 = r.readS(32) * 2 ** -31 * PI;
|
|
5308
|
+
return {
|
|
5309
|
+
prn: `I${String(svId).padStart(2, "0")}`,
|
|
5310
|
+
constellation: "NavIC",
|
|
5311
|
+
health: l5Health << 1 | sHealth,
|
|
5312
|
+
lastReceived: Date.now(),
|
|
5313
|
+
messageType: 1041,
|
|
5314
|
+
week,
|
|
5315
|
+
ura,
|
|
5316
|
+
toc,
|
|
5317
|
+
toe,
|
|
5318
|
+
sqrtA,
|
|
5319
|
+
eccentricity: e,
|
|
5320
|
+
inclination: i0,
|
|
5321
|
+
omega0,
|
|
5322
|
+
omegaDot,
|
|
5323
|
+
argPerigee,
|
|
5324
|
+
meanAnomaly: m0,
|
|
5325
|
+
deltaN,
|
|
5326
|
+
idot,
|
|
5327
|
+
crs,
|
|
5328
|
+
crc,
|
|
5329
|
+
cuc,
|
|
5330
|
+
cus,
|
|
5331
|
+
cic,
|
|
5332
|
+
cis,
|
|
5333
|
+
af0,
|
|
5334
|
+
af1,
|
|
5335
|
+
af2,
|
|
5336
|
+
iode,
|
|
5337
|
+
tgd
|
|
5338
|
+
};
|
|
5339
|
+
}
|
|
5273
5340
|
function decodeEphemeris(frame) {
|
|
5274
5341
|
try {
|
|
5275
5342
|
switch (frame.messageType) {
|
|
@@ -5277,6 +5344,8 @@ function decodeEphemeris(frame) {
|
|
|
5277
5344
|
return decodeGpsEphemeris(frame.payload);
|
|
5278
5345
|
case 1020:
|
|
5279
5346
|
return decodeGlonassEphemeris(frame.payload);
|
|
5347
|
+
case 1041:
|
|
5348
|
+
return decodeNavicEphemeris(frame.payload);
|
|
5280
5349
|
case 1042:
|
|
5281
5350
|
return decodeBdsEphemeris(frame.payload);
|
|
5282
5351
|
case 1043:
|
|
@@ -8379,6 +8448,173 @@ function parseSbfGpsNav(data) {
|
|
|
8379
8448
|
return { ephemerides, badParity, messages };
|
|
8380
8449
|
}
|
|
8381
8450
|
|
|
8451
|
+
// src/navbits/navic.ts
|
|
8452
|
+
var GPS_EPOCH_MS13 = Date.UTC(1980, 0, 6);
|
|
8453
|
+
var SEC_PER_WEEK9 = 604800;
|
|
8454
|
+
var DATA = 30;
|
|
8455
|
+
function navicSubframeCrcOk(sf) {
|
|
8456
|
+
return crc24q(sf, 262) === getBitU(sf, 262, 24);
|
|
8457
|
+
}
|
|
8458
|
+
function navicSubframeId(sf) {
|
|
8459
|
+
return getBitU(sf, 27, 2) + 1;
|
|
8460
|
+
}
|
|
8461
|
+
function decodeNavicSubframes(sf1, sf2, opts = {}) {
|
|
8462
|
+
let i = DATA;
|
|
8463
|
+
getBitU(sf1, i, 10);
|
|
8464
|
+
i += 10;
|
|
8465
|
+
const af0 = getBitS(sf1, i, 22) * 2 ** -31;
|
|
8466
|
+
i += 22;
|
|
8467
|
+
const af1 = getBitS(sf1, i, 16) * 2 ** -43;
|
|
8468
|
+
i += 16;
|
|
8469
|
+
const af2 = getBitS(sf1, i, 8) * 2 ** -55;
|
|
8470
|
+
i += 8;
|
|
8471
|
+
i += 4;
|
|
8472
|
+
const tocSec = getBitU(sf1, i, 16) * 16;
|
|
8473
|
+
i += 16;
|
|
8474
|
+
const tgd = getBitS(sf1, i, 8) * 2 ** -31;
|
|
8475
|
+
i += 8;
|
|
8476
|
+
const deltaN = getBitS(sf1, i, 22) * 2 ** -41 * GPS_PI;
|
|
8477
|
+
i += 22;
|
|
8478
|
+
const iode = getBitU(sf1, i, 8);
|
|
8479
|
+
i += 8;
|
|
8480
|
+
i += 10;
|
|
8481
|
+
const l5Health = getBitU(sf1, i, 1);
|
|
8482
|
+
i += 1;
|
|
8483
|
+
const sHealth = getBitU(sf1, i, 1);
|
|
8484
|
+
i += 1;
|
|
8485
|
+
const cuc = getBitS(sf1, i, 15) * 2 ** -28;
|
|
8486
|
+
i += 15;
|
|
8487
|
+
const cus = getBitS(sf1, i, 15) * 2 ** -28;
|
|
8488
|
+
i += 15;
|
|
8489
|
+
const cic = getBitS(sf1, i, 15) * 2 ** -28;
|
|
8490
|
+
i += 15;
|
|
8491
|
+
const cis = getBitS(sf1, i, 15) * 2 ** -28;
|
|
8492
|
+
i += 15;
|
|
8493
|
+
const crc = getBitS(sf1, i, 15) * 2 ** -4;
|
|
8494
|
+
i += 15;
|
|
8495
|
+
const crs = getBitS(sf1, i, 15) * 2 ** -4;
|
|
8496
|
+
i += 15;
|
|
8497
|
+
const idot = getBitS(sf1, i, 14) * 2 ** -43 * GPS_PI;
|
|
8498
|
+
let j = DATA;
|
|
8499
|
+
const m0 = getBitS(sf2, j, 32) * 2 ** -31 * GPS_PI;
|
|
8500
|
+
j += 32;
|
|
8501
|
+
const toeSec = getBitU(sf2, j, 16) * 16;
|
|
8502
|
+
j += 16;
|
|
8503
|
+
const e = getBitU(sf2, j, 32) * 2 ** -33;
|
|
8504
|
+
j += 32;
|
|
8505
|
+
const sqrtA = getBitU(sf2, j, 32) * 2 ** -19;
|
|
8506
|
+
j += 32;
|
|
8507
|
+
const omega0 = getBitS(sf2, j, 32) * 2 ** -31 * GPS_PI;
|
|
8508
|
+
j += 32;
|
|
8509
|
+
const omega = getBitS(sf2, j, 32) * 2 ** -31 * GPS_PI;
|
|
8510
|
+
j += 32;
|
|
8511
|
+
const omegaDot = getBitS(sf2, j, 22) * 2 ** -41 * GPS_PI;
|
|
8512
|
+
j += 22;
|
|
8513
|
+
const i0 = getBitS(sf2, j, 32) * 2 ** -31 * GPS_PI;
|
|
8514
|
+
if (sqrtA <= 0 || e >= 1) return null;
|
|
8515
|
+
const week = opts.refWeek ?? Math.floor((Date.now() - GPS_EPOCH_MS13) / 1e3 / SEC_PER_WEEK9);
|
|
8516
|
+
const prn = opts.prn ?? "I00";
|
|
8517
|
+
const tocDate = new Date(
|
|
8518
|
+
GPS_EPOCH_MS13 + (week * SEC_PER_WEEK9 + tocSec) * 1e3
|
|
8519
|
+
);
|
|
8520
|
+
return {
|
|
8521
|
+
system: "I",
|
|
8522
|
+
prn,
|
|
8523
|
+
tocDate,
|
|
8524
|
+
toc: tocDate.getTime() / 1e3 % SEC_PER_WEEK9,
|
|
8525
|
+
af0,
|
|
8526
|
+
af1,
|
|
8527
|
+
af2,
|
|
8528
|
+
iode,
|
|
8529
|
+
crs,
|
|
8530
|
+
deltaN,
|
|
8531
|
+
m0,
|
|
8532
|
+
cuc,
|
|
8533
|
+
e,
|
|
8534
|
+
cus,
|
|
8535
|
+
sqrtA,
|
|
8536
|
+
toe: toeSec,
|
|
8537
|
+
cic,
|
|
8538
|
+
omega0,
|
|
8539
|
+
cis,
|
|
8540
|
+
i0,
|
|
8541
|
+
crc,
|
|
8542
|
+
omega,
|
|
8543
|
+
omegaDot,
|
|
8544
|
+
idot,
|
|
8545
|
+
week,
|
|
8546
|
+
svHealth: l5Health << 1 | sHealth,
|
|
8547
|
+
tgd
|
|
8548
|
+
};
|
|
8549
|
+
}
|
|
8550
|
+
var NavicAssembler = class {
|
|
8551
|
+
sf1 = /* @__PURE__ */ new Map();
|
|
8552
|
+
last = /* @__PURE__ */ new Map();
|
|
8553
|
+
/**
|
|
8554
|
+
* Push one CRC-valid subframe. Subframe 1 opens a master frame (subframe 2
|
|
8555
|
+
* immediately follows it in the NavIC frame order), so an ephemeris is only
|
|
8556
|
+
* emitted when a subframe 2 pairs with the subframe 1 that opened the *same*
|
|
8557
|
+
* frame — never a stale subframe 1 left over across CRC drops.
|
|
8558
|
+
*/
|
|
8559
|
+
push(prn, subframe, refWeek) {
|
|
8560
|
+
if (getBitU(subframe, 25, 1)) return null;
|
|
8561
|
+
const id = navicSubframeId(subframe);
|
|
8562
|
+
if (id === 1) {
|
|
8563
|
+
this.sf1.set(prn, subframe);
|
|
8564
|
+
return null;
|
|
8565
|
+
}
|
|
8566
|
+
if (id !== 2) return null;
|
|
8567
|
+
const a = this.sf1.get(prn);
|
|
8568
|
+
if (!a) return null;
|
|
8569
|
+
this.sf1.delete(prn);
|
|
8570
|
+
const eph = decodeNavicSubframes(a, subframe, { prn, refWeek });
|
|
8571
|
+
if (!eph) return null;
|
|
8572
|
+
const key = `${eph.toc}|${eph.iode}`;
|
|
8573
|
+
if (this.last.get(prn) === key) return null;
|
|
8574
|
+
this.last.set(prn, key);
|
|
8575
|
+
return eph;
|
|
8576
|
+
}
|
|
8577
|
+
};
|
|
8578
|
+
|
|
8579
|
+
// src/sbf/rawnav-navic.ts
|
|
8580
|
+
var WNC_DNU2 = 65535;
|
|
8581
|
+
function extractSbfNavicSubframe(view, b) {
|
|
8582
|
+
const sf = new Uint8Array(40);
|
|
8583
|
+
for (let k = 0; k < 10; k++) {
|
|
8584
|
+
const w = view.getUint32(b + 20 + 4 * k, true);
|
|
8585
|
+
sf[4 * k] = w >>> 24;
|
|
8586
|
+
sf[4 * k + 1] = w >>> 16 & 255;
|
|
8587
|
+
sf[4 * k + 2] = w >>> 8 & 255;
|
|
8588
|
+
sf[4 * k + 3] = w & 255;
|
|
8589
|
+
}
|
|
8590
|
+
return sf;
|
|
8591
|
+
}
|
|
8592
|
+
function feedNavicBlock(view, b, assembler) {
|
|
8593
|
+
const prn = svidToPrn(view.getUint8(b + 14));
|
|
8594
|
+
if (!prn || prn[0] !== "I") return {};
|
|
8595
|
+
const wnc = view.getUint16(b + 12, true);
|
|
8596
|
+
if (wnc === WNC_DNU2) return {};
|
|
8597
|
+
const sf = extractSbfNavicSubframe(view, b);
|
|
8598
|
+
if (!navicSubframeCrcOk(sf)) return { badCrc: true };
|
|
8599
|
+
const eph = assembler.push(prn, sf, wnc);
|
|
8600
|
+
return eph ? { eph } : {};
|
|
8601
|
+
}
|
|
8602
|
+
function parseSbfNavic(data) {
|
|
8603
|
+
const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
|
|
8604
|
+
const ephemerides = [];
|
|
8605
|
+
const assembler = new NavicAssembler();
|
|
8606
|
+
let badCrc = 0;
|
|
8607
|
+
let messages = 0;
|
|
8608
|
+
scanSbfFrames(data, view, (id, b, len) => {
|
|
8609
|
+
if (id !== 4093 || len < 60) return;
|
|
8610
|
+
messages++;
|
|
8611
|
+
const r = feedNavicBlock(view, b, assembler);
|
|
8612
|
+
if (r.eph) ephemerides.push(r.eph);
|
|
8613
|
+
else if (r.badCrc) badCrc++;
|
|
8614
|
+
});
|
|
8615
|
+
return { ephemerides, badCrc, messages };
|
|
8616
|
+
}
|
|
8617
|
+
|
|
8382
8618
|
// src/sbf/rawnav.ts
|
|
8383
8619
|
var CNAV_SIGNAL_OF_BLOCK = {
|
|
8384
8620
|
4018: "L2C",
|
|
@@ -8477,10 +8713,10 @@ function isFnavDummy(page) {
|
|
|
8477
8713
|
}
|
|
8478
8714
|
|
|
8479
8715
|
// src/sbf/rawnav-bds.ts
|
|
8480
|
-
var
|
|
8716
|
+
var GPS_EPOCH_MS14 = Date.UTC(1980, 0, 6);
|
|
8481
8717
|
var MS_PER_WEEK6 = 7 * 86400 * 1e3;
|
|
8482
8718
|
var TOW_DNU = 4294967295;
|
|
8483
|
-
var
|
|
8719
|
+
var WNC_DNU3 = 65535;
|
|
8484
8720
|
function feedBdsBlock(view, b, assembler) {
|
|
8485
8721
|
const prn = svidToPrn(view.getUint8(b + 14));
|
|
8486
8722
|
if (!prn || prn[0] !== "C") return {};
|
|
@@ -8520,7 +8756,7 @@ function feedGloBlock(view, b, assembler) {
|
|
|
8520
8756
|
if (!prn || prn[0] !== "R") return {};
|
|
8521
8757
|
const towMs = view.getUint32(b + 8, true);
|
|
8522
8758
|
const wnc = view.getUint16(b + 12, true);
|
|
8523
|
-
if (towMs === TOW_DNU || wnc ===
|
|
8759
|
+
if (towMs === TOW_DNU || wnc === WNC_DNU3) return {};
|
|
8524
8760
|
const str2 = new Uint8Array(11);
|
|
8525
8761
|
for (let k = 0; k < 3; k++) {
|
|
8526
8762
|
const w = view.getUint32(b + 20 + 4 * k, true);
|
|
@@ -8538,7 +8774,7 @@ function feedGloBlock(view, b, assembler) {
|
|
|
8538
8774
|
const eph = assembler.push(
|
|
8539
8775
|
prn,
|
|
8540
8776
|
str2,
|
|
8541
|
-
new Date(
|
|
8777
|
+
new Date(GPS_EPOCH_MS14 + wnc * MS_PER_WEEK6 + towMs),
|
|
8542
8778
|
view.getUint8(b + 18) - 8
|
|
8543
8779
|
// FreqNr, offset by 8
|
|
8544
8780
|
);
|
|
@@ -8713,6 +8949,7 @@ function decodeSbfNavigation(data, opts = {}) {
|
|
|
8713
8949
|
bdsRaw: 0,
|
|
8714
8950
|
sbasRaw: 0,
|
|
8715
8951
|
sbasL5Raw: 0,
|
|
8952
|
+
navicRaw: 0,
|
|
8716
8953
|
badFrames: 0
|
|
8717
8954
|
};
|
|
8718
8955
|
const dfmcByType = {};
|
|
@@ -8722,6 +8959,7 @@ function decodeSbfNavigation(data, opts = {}) {
|
|
|
8722
8959
|
const gloAsm = new GloStringAssembler();
|
|
8723
8960
|
const bdsAsm = new BdsAssembler();
|
|
8724
8961
|
const lnavAsm = new GpsLnavAssembler();
|
|
8962
|
+
const navicAsm = new NavicAssembler();
|
|
8725
8963
|
const addEph = (e) => {
|
|
8726
8964
|
if (!e) return;
|
|
8727
8965
|
const key = ephKey(e);
|
|
@@ -8782,6 +9020,14 @@ function decodeSbfNavigation(data, opts = {}) {
|
|
|
8782
9020
|
else if (r.badParity) counts.badFrames++;
|
|
8783
9021
|
return;
|
|
8784
9022
|
}
|
|
9023
|
+
case 4093: {
|
|
9024
|
+
if (len < 60) return;
|
|
9025
|
+
counts.navicRaw++;
|
|
9026
|
+
const r = feedNavicBlock(view, b, navicAsm);
|
|
9027
|
+
if (r.eph) addEph(r.eph);
|
|
9028
|
+
else if (r.badCrc) counts.badFrames++;
|
|
9029
|
+
return;
|
|
9030
|
+
}
|
|
8785
9031
|
case 4018:
|
|
8786
9032
|
// GPSRawL2C
|
|
8787
9033
|
case 4019: {
|
|
@@ -9402,7 +9648,7 @@ function parseSbfHas(data) {
|
|
|
9402
9648
|
|
|
9403
9649
|
// src/sbf/index.ts
|
|
9404
9650
|
var CLIGHT = 299792458;
|
|
9405
|
-
var
|
|
9651
|
+
var GPS_EPOCH_MS15 = Date.UTC(1980, 0, 6);
|
|
9406
9652
|
var MS_PER_WEEK7 = 7 * 864e5;
|
|
9407
9653
|
var M3_SYS = ["G", "R", "E", "C", "S", "J", "I"];
|
|
9408
9654
|
var M3_PR_BASE = [19e6, 19e6, 22e6, 2e7, 34e6, 34e6, 34e6];
|
|
@@ -10056,7 +10302,7 @@ function parseSbfMeas(data) {
|
|
|
10056
10302
|
const tow = view.getUint32(i + 8, true);
|
|
10057
10303
|
const wnc = view.getUint16(i + 12, true);
|
|
10058
10304
|
if (tow !== 4294967295 && wnc !== 65535) {
|
|
10059
|
-
ensureEpoch(
|
|
10305
|
+
ensureEpoch(GPS_EPOCH_MS15 + wnc * MS_PER_WEEK7 + tow);
|
|
10060
10306
|
if (id === 4109) decodeMeas3Ranges(i, tow);
|
|
10061
10307
|
else if (id === 4110) decodeMeas3CN0(i, len);
|
|
10062
10308
|
else if (id === 4111) decodeMeas3Doppler(i, len);
|
|
@@ -10123,15 +10369,15 @@ var ID_GPSEPHEM = 7;
|
|
|
10123
10369
|
var ID_BDSEPHEMERIS = 1696;
|
|
10124
10370
|
var ID_RAWWAASFRAME = 287;
|
|
10125
10371
|
var ID_RAWSBASFRAME = 973;
|
|
10126
|
-
var
|
|
10372
|
+
var GPS_EPOCH_MS16 = Date.UTC(1980, 0, 6);
|
|
10127
10373
|
var BDT_EPOCH_MS3 = Date.UTC(2006, 0, 1);
|
|
10128
|
-
var
|
|
10374
|
+
var SEC_PER_WEEK10 = 7 * 86400;
|
|
10129
10375
|
var SEC_PER_DAY2 = 86400;
|
|
10130
|
-
var MS_PER_WEEK8 =
|
|
10131
|
-
var gpsMs2 = (week, sec) =>
|
|
10132
|
-
var sowOf3 = (dateMs) => dateMs / 1e3 %
|
|
10376
|
+
var MS_PER_WEEK8 = SEC_PER_WEEK10 * 1e3;
|
|
10377
|
+
var gpsMs2 = (week, sec) => GPS_EPOCH_MS16 + week * MS_PER_WEEK8 + sec * 1e3;
|
|
10378
|
+
var sowOf3 = (dateMs) => dateMs / 1e3 % SEC_PER_WEEK10;
|
|
10133
10379
|
function nearWeekMs(refMs, sow) {
|
|
10134
|
-
const refWeek = Math.floor((refMs -
|
|
10380
|
+
const refWeek = Math.floor((refMs - GPS_EPOCH_MS16) / MS_PER_WEEK8);
|
|
10135
10381
|
let ms = gpsMs2(refWeek, sow);
|
|
10136
10382
|
if (ms < refMs - MS_PER_WEEK8 / 2) ms += MS_PER_WEEK8;
|
|
10137
10383
|
else if (ms > refMs + MS_PER_WEEK8 / 2) ms -= MS_PER_WEEK8;
|
|
@@ -10158,9 +10404,9 @@ function decodeGloEphemeris(view, p) {
|
|
|
10158
10404
|
tof += Math.floor(tow / SEC_PER_DAY2) * SEC_PER_DAY2;
|
|
10159
10405
|
if (tof < tow - 43200) tof += SEC_PER_DAY2;
|
|
10160
10406
|
else if (tof > tow + 43200) tof -= SEC_PER_DAY2;
|
|
10161
|
-
const toeGpsMs =
|
|
10162
|
-
const tofGpsMs =
|
|
10163
|
-
const tofUtcSec = (getUtcDate(new Date(tofGpsMs)).getTime() -
|
|
10407
|
+
const toeGpsMs = GPS_EPOCH_MS16 + (week * SEC_PER_WEEK10 + tow) * 1e3;
|
|
10408
|
+
const tofGpsMs = GPS_EPOCH_MS16 + (week * SEC_PER_WEEK10 + tof) * 1e3;
|
|
10409
|
+
const tofUtcSec = (getUtcDate(new Date(tofGpsMs)).getTime() - GPS_EPOCH_MS16) / 1e3;
|
|
10164
10410
|
return {
|
|
10165
10411
|
system: "R",
|
|
10166
10412
|
prn: `R${String(slot).padStart(2, "0")}`,
|
|
@@ -10168,7 +10414,7 @@ function decodeGloEphemeris(view, p) {
|
|
|
10168
10414
|
tauN: -view.getFloat64(p + 100, true),
|
|
10169
10415
|
// RINEX stores −τ_n
|
|
10170
10416
|
gammaN: view.getFloat64(p + 116, true),
|
|
10171
|
-
messageFrameTime: (tofUtcSec %
|
|
10417
|
+
messageFrameTime: (tofUtcSec % SEC_PER_WEEK10 + SEC_PER_WEEK10) % SEC_PER_WEEK10,
|
|
10172
10418
|
x: view.getFloat64(p + 28, true) / 1e3,
|
|
10173
10419
|
y: view.getFloat64(p + 36, true) / 1e3,
|
|
10174
10420
|
z: view.getFloat64(p + 44, true) / 1e3,
|
|
@@ -10225,7 +10471,7 @@ function decodeGalEphemeris(view, p, headerMs) {
|
|
|
10225
10471
|
omega: view.getFloat64(p + 60, true),
|
|
10226
10472
|
omegaDot: view.getFloat64(p + 140, true),
|
|
10227
10473
|
idot: view.getFloat64(p + 124, true),
|
|
10228
|
-
week: Math.floor((toeMs -
|
|
10474
|
+
week: Math.floor((toeMs - GPS_EPOCH_MS16) / MS_PER_WEEK8),
|
|
10229
10475
|
// RINEX Galileo SVH bit layout (E1B DVS/HS in bits 0-2, E5a in
|
|
10230
10476
|
// 3-5, E5b in 6-8) — same packing as RTKLIB.
|
|
10231
10477
|
svHealth: svhE5b << 7 | dvsE5b << 6 | svhE5a << 4 | dvsE5a << 3 | svhE1b << 1 | dvsE1b,
|
|
@@ -10412,7 +10658,7 @@ function parseNovatelNav(data, opts = {}) {
|
|
|
10412
10658
|
}
|
|
10413
10659
|
|
|
10414
10660
|
// src/novatel/pvt.ts
|
|
10415
|
-
var
|
|
10661
|
+
var GPS_EPOCH_MS17 = Date.UTC(1980, 0, 6);
|
|
10416
10662
|
var BESTPOS = 42;
|
|
10417
10663
|
function posTypeToMode(t) {
|
|
10418
10664
|
if (t === 0) return "no-pvt";
|
|
@@ -10444,7 +10690,7 @@ function parseNovatelPvt(data) {
|
|
|
10444
10690
|
const nrSV = view.getUint8(p + 65);
|
|
10445
10691
|
const hasFix = posType !== 0 && Number.isFinite(lat) && Number.isFinite(lon);
|
|
10446
10692
|
records.push({
|
|
10447
|
-
timeMs:
|
|
10693
|
+
timeMs: GPS_EPOCH_MS17 + f.week * 6048e5 + f.towMs,
|
|
10448
10694
|
week: f.week,
|
|
10449
10695
|
tow: f.towMs / 1e3,
|
|
10450
10696
|
mode: posTypeToMode(posType),
|
|
@@ -10461,7 +10707,7 @@ function parseNovatelPvt(data) {
|
|
|
10461
10707
|
}
|
|
10462
10708
|
|
|
10463
10709
|
// src/novatel/index.ts
|
|
10464
|
-
var
|
|
10710
|
+
var GPS_EPOCH_MS18 = Date.UTC(1980, 0, 6);
|
|
10465
10711
|
var MS_PER_WEEK9 = 7 * 864e5;
|
|
10466
10712
|
var HDR = 28;
|
|
10467
10713
|
var ID_RANGE = 43;
|
|
@@ -10631,7 +10877,7 @@ function parseNovatelRange(data) {
|
|
|
10631
10877
|
if (!codes.includes(code)) codes.push(code);
|
|
10632
10878
|
}
|
|
10633
10879
|
epochs.push({
|
|
10634
|
-
timeMs:
|
|
10880
|
+
timeMs: GPS_EPOCH_MS18 + week * MS_PER_WEEK9 + towMs,
|
|
10635
10881
|
meas
|
|
10636
10882
|
});
|
|
10637
10883
|
}
|
|
@@ -10683,7 +10929,7 @@ function parseNovatelRange(data) {
|
|
|
10683
10929
|
if (!codes.includes(code)) codes.push(code);
|
|
10684
10930
|
}
|
|
10685
10931
|
epochs.push({
|
|
10686
|
-
timeMs:
|
|
10932
|
+
timeMs: GPS_EPOCH_MS18 + week * MS_PER_WEEK9 + towMs,
|
|
10687
10933
|
meas
|
|
10688
10934
|
});
|
|
10689
10935
|
}
|
|
@@ -10734,15 +10980,15 @@ function* trimbleFrames(data, stats) {
|
|
|
10734
10980
|
}
|
|
10735
10981
|
|
|
10736
10982
|
// src/trimble/nav.ts
|
|
10737
|
-
var
|
|
10983
|
+
var GPS_EPOCH_MS19 = Date.UTC(1980, 0, 6);
|
|
10738
10984
|
var BDT_EPOCH_MS4 = Date.UTC(2006, 0, 1);
|
|
10739
|
-
var
|
|
10740
|
-
var MS_PER_WEEK10 =
|
|
10985
|
+
var SEC_PER_WEEK11 = 7 * 86400;
|
|
10986
|
+
var MS_PER_WEEK10 = SEC_PER_WEEK11 * 1e3;
|
|
10741
10987
|
var GPS_PI2 = 3.1415926535898;
|
|
10742
10988
|
var BDS_WEEK_OFFSET = 1356;
|
|
10743
10989
|
var BDS_LEAP_SEC = 14;
|
|
10744
|
-
var gpsMs3 = (week, sec) =>
|
|
10745
|
-
var sowOf4 = (dateMs) => dateMs / 1e3 %
|
|
10990
|
+
var gpsMs3 = (week, sec) => GPS_EPOCH_MS19 + week * MS_PER_WEEK10 + sec * 1e3;
|
|
10991
|
+
var sowOf4 = (dateMs) => dateMs / 1e3 % SEC_PER_WEEK11;
|
|
10746
10992
|
var SUB_GPS_EPHEMERIS = 1;
|
|
10747
10993
|
var SUB_ION_UTC = 3;
|
|
10748
10994
|
var SUB_GLO_EPHEMERIS = 9;
|
|
@@ -10894,7 +11140,7 @@ function decodeGloEphemeris2(view, base) {
|
|
|
10894
11140
|
// RINEX stores −τn as the clock bias; the record carries τn (ICD sign).
|
|
10895
11141
|
tauN: -view.getFloat64(base + 113, false),
|
|
10896
11142
|
gammaN: view.getFloat64(base + 121, false),
|
|
10897
|
-
messageFrameTime: (tocMs -
|
|
11143
|
+
messageFrameTime: (tocMs - GPS_EPOCH_MS19) / 1e3 % SEC_PER_WEEK11,
|
|
10898
11144
|
// State vector: metres / m·s⁻¹ / m·s⁻² → km / km·s⁻¹ / km·s⁻².
|
|
10899
11145
|
x: view.getFloat64(base + 33, false) / 1e3,
|
|
10900
11146
|
xDot: view.getFloat64(base + 41, false) / 1e3,
|
|
@@ -10965,7 +11211,7 @@ function parseTrimbleNav(data) {
|
|
|
10965
11211
|
}
|
|
10966
11212
|
|
|
10967
11213
|
// src/trimble/index.ts
|
|
10968
|
-
var
|
|
11214
|
+
var GPS_EPOCH_MS20 = Date.UTC(1980, 0, 6);
|
|
10969
11215
|
var MS_PER_WEEK11 = 7 * 864e5;
|
|
10970
11216
|
var REC_TYPE_27 = 6;
|
|
10971
11217
|
var SYS = {
|
|
@@ -11163,7 +11409,7 @@ function decodeEpoch(epoch, epochs, obsCodes) {
|
|
|
11163
11409
|
o += c.length;
|
|
11164
11410
|
}
|
|
11165
11411
|
const dv = new DataView(M.buffer, M.byteOffset, M.byteLength);
|
|
11166
|
-
const timeMs =
|
|
11412
|
+
const timeMs = GPS_EPOCH_MS20 + epoch.week * MS_PER_WEEK11 + epoch.towMs;
|
|
11167
11413
|
const meas = [];
|
|
11168
11414
|
let q = 0;
|
|
11169
11415
|
for (let sv = 0; sv < epoch.nsv && q + 8 <= M.length; sv++) {
|
|
@@ -11344,14 +11590,14 @@ function* binexRecords(data, view, stats) {
|
|
|
11344
11590
|
}
|
|
11345
11591
|
|
|
11346
11592
|
// src/binex/nav.ts
|
|
11347
|
-
var
|
|
11593
|
+
var GPS_EPOCH_MS21 = Date.UTC(1980, 0, 6);
|
|
11348
11594
|
var GLO_DAY0_MS = Date.UTC(1980, 0, 1);
|
|
11349
11595
|
var BDT_EPOCH_MS5 = Date.UTC(2006, 0, 1);
|
|
11350
|
-
var
|
|
11351
|
-
var MS_PER_WEEK12 =
|
|
11596
|
+
var SEC_PER_WEEK12 = 7 * 86400;
|
|
11597
|
+
var MS_PER_WEEK12 = SEC_PER_WEEK12 * 1e3;
|
|
11352
11598
|
var SC2RAD = GPS_PI;
|
|
11353
|
-
var gpsMs4 = (week, sec) =>
|
|
11354
|
-
var sowOf5 = (dateMs) => (dateMs / 1e3 %
|
|
11599
|
+
var gpsMs4 = (week, sec) => GPS_EPOCH_MS21 + week * MS_PER_WEEK12 + sec * 1e3;
|
|
11600
|
+
var sowOf5 = (dateMs) => (dateMs / 1e3 % SEC_PER_WEEK12 + SEC_PER_WEEK12) % SEC_PER_WEEK12;
|
|
11355
11601
|
var two9 = (n) => String(n).padStart(2, "0");
|
|
11356
11602
|
var Reader = class {
|
|
11357
11603
|
constructor(view, start, le) {
|
|
@@ -11638,7 +11884,7 @@ function decodeBinexEph(view, body, len, le) {
|
|
|
11638
11884
|
}
|
|
11639
11885
|
|
|
11640
11886
|
// src/binex/index.ts
|
|
11641
|
-
var
|
|
11887
|
+
var GPS_EPOCH_MS22 = Date.UTC(1980, 0, 6);
|
|
11642
11888
|
var CLIGHT2 = 299792458;
|
|
11643
11889
|
var OBS_CODES = {
|
|
11644
11890
|
0: [
|
|
@@ -11896,7 +12142,7 @@ function decodeObsRecord(data, view, body, len, obsCodes) {
|
|
|
11896
12142
|
p += 4;
|
|
11897
12143
|
const msec = view.getUint16(p);
|
|
11898
12144
|
p += 2;
|
|
11899
|
-
const timeMs =
|
|
12145
|
+
const timeMs = GPS_EPOCH_MS22 + min * 6e4 + msec;
|
|
11900
12146
|
const flag = data[p++];
|
|
11901
12147
|
const nsat = (flag & 63) + 1;
|
|
11902
12148
|
if (flag & 128) p += 3;
|
|
@@ -11982,7 +12228,7 @@ function parseBinex(data) {
|
|
|
11982
12228
|
var GM_GPS = 3986005e8;
|
|
11983
12229
|
var GM_GAL = 3986004418e5;
|
|
11984
12230
|
var GM_BDS = 3986004418e5;
|
|
11985
|
-
var
|
|
12231
|
+
var GPS_EPOCH_MS23 = Date.UTC(1980, 0, 6);
|
|
11986
12232
|
var BDT_EPOCH_MS6 = Date.UTC(2006, 0, 1);
|
|
11987
12233
|
var WEEK_MS = 6048e5;
|
|
11988
12234
|
var BDT_MINUS_GPST_MS = 14e3;
|
|
@@ -11991,7 +12237,7 @@ function almanacEpochMs(alm) {
|
|
|
11991
12237
|
if (alm.system === "C") {
|
|
11992
12238
|
return BDT_EPOCH_MS6 + alm.weekAlm * WEEK_MS + alm.toaSec * 1e3 + BDT_MINUS_GPST_MS;
|
|
11993
12239
|
}
|
|
11994
|
-
return
|
|
12240
|
+
return GPS_EPOCH_MS23 + alm.weekAlm * WEEK_MS + alm.toaSec * 1e3;
|
|
11995
12241
|
}
|
|
11996
12242
|
function almanacSatPosition(alm, timeMs) {
|
|
11997
12243
|
const GM = alm.system === "E" ? GM_GAL : alm.system === "C" ? GM_BDS : GM_GPS;
|
|
@@ -12500,10 +12746,10 @@ function selectBest(ephs, timeMs) {
|
|
|
12500
12746
|
}
|
|
12501
12747
|
return best;
|
|
12502
12748
|
}
|
|
12503
|
-
var
|
|
12749
|
+
var GPS_EPOCH_MS24 = START_GPS_TIME.getTime();
|
|
12504
12750
|
var MS_PER_WEEK13 = 7 * 864e5;
|
|
12505
12751
|
var BDS_EPOCH_MS = START_BDS_TIME.getTime();
|
|
12506
|
-
var GAL_EPOCH_MS =
|
|
12752
|
+
var GAL_EPOCH_MS = GPS_EPOCH_MS24 + 1024 * MS_PER_WEEK13;
|
|
12507
12753
|
function ephInfoToEphemeris(info) {
|
|
12508
12754
|
const sys = info.prn.charAt(0);
|
|
12509
12755
|
if (sys === "R") {
|
|
@@ -12554,8 +12800,8 @@ function ephInfoToEphemeris(info) {
|
|
|
12554
12800
|
} else if (sys === "E") {
|
|
12555
12801
|
epochMs = GAL_EPOCH_MS;
|
|
12556
12802
|
} else {
|
|
12557
|
-
epochMs =
|
|
12558
|
-
const weeksNow = (info.lastReceived -
|
|
12803
|
+
epochMs = GPS_EPOCH_MS24;
|
|
12804
|
+
const weeksNow = (info.lastReceived - GPS_EPOCH_MS24) / MS_PER_WEEK13;
|
|
12559
12805
|
week += 1024 * Math.round((weeksNow - week) / 1024);
|
|
12560
12806
|
}
|
|
12561
12807
|
const tocDate = new Date(epochMs + week * MS_PER_WEEK13 + tocSec * 1e3);
|
|
@@ -14396,7 +14642,7 @@ var P2_31 = 2 ** -31;
|
|
|
14396
14642
|
var P2_39 = 2 ** -39;
|
|
14397
14643
|
var D2R = Math.PI / 180;
|
|
14398
14644
|
var R2D = 180 / Math.PI;
|
|
14399
|
-
var
|
|
14645
|
+
var SEC_PER_WEEK13 = 604800;
|
|
14400
14646
|
var MAXSBSAGEF = 30;
|
|
14401
14647
|
var MAXSBSAGEL = 360;
|
|
14402
14648
|
var MAXBAND = 10;
|
|
@@ -14544,7 +14790,7 @@ var igpband2 = [
|
|
|
14544
14790
|
[{ coord: 60, arr: x5, bits: 1, bite: 72 }, { coord: 65, arr: x6, bits: 73, bite: 108 }, { coord: 70, arr: x6, bits: 109, bite: 144 }, { coord: 75, arr: x6, bits: 145, bite: 180 }, { coord: 85, arr: x7, bits: 181, bite: 192 }],
|
|
14545
14791
|
[{ coord: -60, arr: x5, bits: 1, bite: 72 }, { coord: -65, arr: x6, bits: 73, bite: 108 }, { coord: -70, arr: x6, bits: 109, bite: 144 }, { coord: -75, arr: x6, bits: 145, bite: 180 }, { coord: -85, arr: x8, bits: 181, bite: 192 }]
|
|
14546
14792
|
];
|
|
14547
|
-
var gpsSeconds = (week, tow) => week *
|
|
14793
|
+
var gpsSeconds = (week, tow) => week * SEC_PER_WEEK13 + tow;
|
|
14548
14794
|
function maskPrn(i) {
|
|
14549
14795
|
if (i >= 1 && i <= 37) return `G${two11(i)}`;
|
|
14550
14796
|
if (i >= 38 && i <= 61) return `R${two11(i - 37)}`;
|
|
@@ -19197,9 +19443,11 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
|
|
|
19197
19443
|
estimateNetworkFcbs,
|
|
19198
19444
|
estimateWidelaneFcb,
|
|
19199
19445
|
euclidean3D,
|
|
19446
|
+
extractSbfNavicSubframe,
|
|
19200
19447
|
extractWidelaneArcs,
|
|
19201
19448
|
feedGeoBlock,
|
|
19202
19449
|
feedGeoL5Block,
|
|
19450
|
+
feedNavicBlock,
|
|
19203
19451
|
fetchSourcetable,
|
|
19204
19452
|
findSatBias,
|
|
19205
19453
|
fixPppPosition,
|
|
@@ -19319,6 +19567,7 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
|
|
|
19319
19567
|
parseSbfIonoUtc,
|
|
19320
19568
|
parseSbfMeas,
|
|
19321
19569
|
parseSbfNav,
|
|
19570
|
+
parseSbfNavic,
|
|
19322
19571
|
parseSbfPvt,
|
|
19323
19572
|
parseSbfReceiverSetup,
|
|
19324
19573
|
parseSinexBiasDcb,
|
package/dist/index.d.cts
CHANGED
|
@@ -13,7 +13,7 @@ export { RTCM2_MESSAGE_NAMES, Rtcm2Correction, Rtcm2Decoder, Rtcm2Frame, Rtcm2Ob
|
|
|
13
13
|
export { B as BitReader, E as EphemerisInfo, R as Rtcm3DebugHandler, a as Rtcm3Decoder, b as Rtcm3Frame, d as decodeEphemeris, r as readString, c as reportDecodeError, s as setRtcm3DebugHandler } from './ephemeris-BAnBLLB9.cjs';
|
|
14
14
|
export { IgsSsrIonoLayer, IgsSsrMessage, MessageTypeStats, ObsEpoch, ObsSatObs, ObsSignal, RTCM3_MESSAGE_NAMES, SatCn0, SignalCn0, SsrCodeBias, SsrKind, SsrMessage, SsrPhaseBias, SsrSatCorrection, StationMeta, StreamStats, SystemParams, SystemParamsMessage, createStationMeta, createStreamStats, decodeIgsSsr, decodeLegacyObs, decodeMsmFull, decodeObs, decodeSsr, decodeSystemParams, isSsrMessage, obsEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats } from './rtcm3.cjs';
|
|
15
15
|
export { UbxCnavResult, UbxFrame, UbxIonoUtcResult, UbxMeasurement, UbxNavOptions, UbxNavResult, UbxParseResult, UbxPvtResult, UbxRawNavOptions, UbxRawNavResult, UbxRawxEpoch, parseUbxCnav, parseUbxIonoUtc, parseUbxNav, parseUbxPvt, parseUbxRawNav, parseUbxRawx, ubxFrames } from './ubx.cjs';
|
|
16
|
-
export { DfmcCensus, DfmcMessageCb, GeoL5Result, SBAS_L5_MT_NAMES, SBAS_L5_PREAMBLE_UW, SbasMessageCb, SbfBdsNavResult, SbfCnavEphemeris, SbfCnavResult, SbfGalEphemeris, SbfGalNavResult, SbfGeoL5Result, SbfGeoNavResult, SbfGloNavResult, SbfGpsNavResult, SbfHasMessage, SbfHasResult, SbfIonoUtcResult, SbfMeasEpoch, SbfMeasurement, SbfNavCounts, SbfNavigation, SbfParseResult, SbfPvt, SbfPvtResult, SbfReceiverSetup, decodeSbfNavigation, feedGeoBlock, feedGeoL5Block, isSbasL1Preamble, isSbasL5Correction, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGeoL5, parseSbfGeoNav, parseSbfGloNav, parseSbfGpsNav, parseSbfHas, parseSbfIonoUtc, parseSbfMeas, parseSbfPvt, parseSbfReceiverSetup, sbasL5MessageName, sbasL5MessageType, sbfCrc16, scanSbfFrames } from './sbf.cjs';
|
|
16
|
+
export { DfmcCensus, DfmcMessageCb, GeoL5Result, SBAS_L5_MT_NAMES, SBAS_L5_PREAMBLE_UW, SbasMessageCb, SbfBdsNavResult, SbfCnavEphemeris, SbfCnavResult, SbfGalEphemeris, SbfGalNavResult, SbfGeoL5Result, SbfGeoNavResult, SbfGloNavResult, SbfGpsNavResult, SbfHasMessage, SbfHasResult, SbfIonoUtcResult, SbfMeasEpoch, SbfMeasurement, SbfNavCounts, SbfNavicResult, SbfNavigation, SbfParseResult, SbfPvt, SbfPvtResult, SbfReceiverSetup, decodeSbfNavigation, extractSbfNavicSubframe, feedGeoBlock, feedGeoL5Block, feedNavicBlock, isSbasL1Preamble, isSbasL5Correction, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGeoL5, parseSbfGeoNav, parseSbfGloNav, parseSbfGpsNav, parseSbfHas, parseSbfIonoUtc, parseSbfMeas, parseSbfNavic, parseSbfPvt, parseSbfReceiverSetup, sbasL5MessageName, sbasL5MessageType, sbfCrc16, scanSbfFrames } from './sbf.cjs';
|
|
17
17
|
export { NovatelEpoch, NovatelMeasurement, NovatelNavResult, NovatelParseResult, NovatelPvtResult, OEM4_HLEN, Oem4Frame, crc32, oem4Frames, parseNovatelNav, parseNovatelPvt, parseNovatelRange } from './novatel.cjs';
|
|
18
18
|
export { TrimbleEpoch, TrimbleFrame, TrimbleMeasurement, TrimbleNavResult, TrimbleParseResult, parseTrimble, parseTrimbleNav, trimbleFrames } from './trimble.cjs';
|
|
19
19
|
export { BinexEpoch, BinexMeasurement, BinexParseResult, BinexRecord, binexCrc16, binexCrc32, binexCsum8, binexRecords, decodeBinexEph, getBnxi, parseBinex } from './binex.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export { RTCM2_MESSAGE_NAMES, Rtcm2Correction, Rtcm2Decoder, Rtcm2Frame, Rtcm2Ob
|
|
|
13
13
|
export { B as BitReader, E as EphemerisInfo, R as Rtcm3DebugHandler, a as Rtcm3Decoder, b as Rtcm3Frame, d as decodeEphemeris, r as readString, c as reportDecodeError, s as setRtcm3DebugHandler } from './ephemeris-BAnBLLB9.js';
|
|
14
14
|
export { IgsSsrIonoLayer, IgsSsrMessage, MessageTypeStats, ObsEpoch, ObsSatObs, ObsSignal, RTCM3_MESSAGE_NAMES, SatCn0, SignalCn0, SsrCodeBias, SsrKind, SsrMessage, SsrPhaseBias, SsrSatCorrection, StationMeta, StreamStats, SystemParams, SystemParamsMessage, createStationMeta, createStreamStats, decodeIgsSsr, decodeLegacyObs, decodeMsmFull, decodeObs, decodeSsr, decodeSystemParams, isSsrMessage, obsEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats } from './rtcm3.js';
|
|
15
15
|
export { UbxCnavResult, UbxFrame, UbxIonoUtcResult, UbxMeasurement, UbxNavOptions, UbxNavResult, UbxParseResult, UbxPvtResult, UbxRawNavOptions, UbxRawNavResult, UbxRawxEpoch, parseUbxCnav, parseUbxIonoUtc, parseUbxNav, parseUbxPvt, parseUbxRawNav, parseUbxRawx, ubxFrames } from './ubx.js';
|
|
16
|
-
export { DfmcCensus, DfmcMessageCb, GeoL5Result, SBAS_L5_MT_NAMES, SBAS_L5_PREAMBLE_UW, SbasMessageCb, SbfBdsNavResult, SbfCnavEphemeris, SbfCnavResult, SbfGalEphemeris, SbfGalNavResult, SbfGeoL5Result, SbfGeoNavResult, SbfGloNavResult, SbfGpsNavResult, SbfHasMessage, SbfHasResult, SbfIonoUtcResult, SbfMeasEpoch, SbfMeasurement, SbfNavCounts, SbfNavigation, SbfParseResult, SbfPvt, SbfPvtResult, SbfReceiverSetup, decodeSbfNavigation, feedGeoBlock, feedGeoL5Block, isSbasL1Preamble, isSbasL5Correction, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGeoL5, parseSbfGeoNav, parseSbfGloNav, parseSbfGpsNav, parseSbfHas, parseSbfIonoUtc, parseSbfMeas, parseSbfPvt, parseSbfReceiverSetup, sbasL5MessageName, sbasL5MessageType, sbfCrc16, scanSbfFrames } from './sbf.js';
|
|
16
|
+
export { DfmcCensus, DfmcMessageCb, GeoL5Result, SBAS_L5_MT_NAMES, SBAS_L5_PREAMBLE_UW, SbasMessageCb, SbfBdsNavResult, SbfCnavEphemeris, SbfCnavResult, SbfGalEphemeris, SbfGalNavResult, SbfGeoL5Result, SbfGeoNavResult, SbfGloNavResult, SbfGpsNavResult, SbfHasMessage, SbfHasResult, SbfIonoUtcResult, SbfMeasEpoch, SbfMeasurement, SbfNavCounts, SbfNavicResult, SbfNavigation, SbfParseResult, SbfPvt, SbfPvtResult, SbfReceiverSetup, decodeSbfNavigation, extractSbfNavicSubframe, feedGeoBlock, feedGeoL5Block, feedNavicBlock, isSbasL1Preamble, isSbasL5Correction, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGeoL5, parseSbfGeoNav, parseSbfGloNav, parseSbfGpsNav, parseSbfHas, parseSbfIonoUtc, parseSbfMeas, parseSbfNavic, parseSbfPvt, parseSbfReceiverSetup, sbasL5MessageName, sbasL5MessageType, sbfCrc16, scanSbfFrames } from './sbf.js';
|
|
17
17
|
export { NovatelEpoch, NovatelMeasurement, NovatelNavResult, NovatelParseResult, NovatelPvtResult, OEM4_HLEN, Oem4Frame, crc32, oem4Frames, parseNovatelNav, parseNovatelPvt, parseNovatelRange } from './novatel.js';
|
|
18
18
|
export { TrimbleEpoch, TrimbleFrame, TrimbleMeasurement, TrimbleNavResult, TrimbleParseResult, parseTrimble, parseTrimbleNav, trimbleFrames } from './trimble.js';
|
|
19
19
|
export { BinexEpoch, BinexMeasurement, BinexParseResult, BinexRecord, binexCrc16, binexCrc32, binexCsum8, binexRecords, decodeBinexEph, getBnxi, parseBinex } from './binex.js';
|
package/dist/index.js
CHANGED
|
@@ -77,7 +77,7 @@ import {
|
|
|
77
77
|
setRtcm3DebugHandler,
|
|
78
78
|
updateStationMeta,
|
|
79
79
|
updateStreamStats
|
|
80
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-7GNRNKBR.js";
|
|
81
81
|
import {
|
|
82
82
|
parseUbxCnav,
|
|
83
83
|
parseUbxIonoUtc,
|
|
@@ -92,8 +92,10 @@ import {
|
|
|
92
92
|
SBAS_L5_PREAMBLE_UW,
|
|
93
93
|
crc16,
|
|
94
94
|
decodeSbfNavigation,
|
|
95
|
+
extractSbfNavicSubframe,
|
|
95
96
|
feedGeoBlock,
|
|
96
97
|
feedGeoL5Block,
|
|
98
|
+
feedNavicBlock,
|
|
97
99
|
isSbasL1Preamble,
|
|
98
100
|
isSbasL5Correction,
|
|
99
101
|
parseSbfAlmanac,
|
|
@@ -108,12 +110,13 @@ import {
|
|
|
108
110
|
parseSbfIonoUtc,
|
|
109
111
|
parseSbfMeas,
|
|
110
112
|
parseSbfNav,
|
|
113
|
+
parseSbfNavic,
|
|
111
114
|
parseSbfPvt,
|
|
112
115
|
parseSbfReceiverSetup,
|
|
113
116
|
sbasL5MessageName,
|
|
114
117
|
sbasL5MessageType,
|
|
115
118
|
scanSbfFrames
|
|
116
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-74IVYOQV.js";
|
|
117
120
|
import "./chunk-3KSDL3CO.js";
|
|
118
121
|
import {
|
|
119
122
|
OEM4_HLEN,
|
|
@@ -542,9 +545,11 @@ export {
|
|
|
542
545
|
estimateNetworkFcbs,
|
|
543
546
|
estimateWidelaneFcb,
|
|
544
547
|
euclidean3D,
|
|
548
|
+
extractSbfNavicSubframe,
|
|
545
549
|
extractWidelaneArcs,
|
|
546
550
|
feedGeoBlock,
|
|
547
551
|
feedGeoL5Block,
|
|
552
|
+
feedNavicBlock,
|
|
548
553
|
fetchSourcetable,
|
|
549
554
|
findSatBias,
|
|
550
555
|
fixPppPosition,
|
|
@@ -664,6 +669,7 @@ export {
|
|
|
664
669
|
parseSbfIonoUtc,
|
|
665
670
|
parseSbfMeas,
|
|
666
671
|
parseSbfNav,
|
|
672
|
+
parseSbfNavic,
|
|
667
673
|
parseSbfPvt,
|
|
668
674
|
parseSbfReceiverSetup,
|
|
669
675
|
parseSinexBiasDcb,
|