gnss-js 1.66.0 → 2.0.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/index.cjs CHANGED
@@ -149,6 +149,7 @@ __export(src_exports, {
149
149
  decodeIgsSsr: () => decodeIgsSsr,
150
150
  decodeLegacyObs: () => decodeLegacyObs,
151
151
  decodeMsmFull: () => decodeMsmFull,
152
+ decodeObs: () => decodeObs,
152
153
  decodeSbfNavigation: () => decodeSbfNavigation,
153
154
  decodeSsr: () => decodeSsr,
154
155
  decodeSystemParams: () => decodeSystemParams,
@@ -252,11 +253,11 @@ __export(src_exports, {
252
253
  looksLikeRtcm2: () => looksLikeRtcm2,
253
254
  maskRadForAzimuth: () => maskRadForAzimuth,
254
255
  moonEcef: () => moonEcef,
255
- msmEpochToDate: () => msmEpochToDate,
256
256
  navTimesFromEph: () => navTimesFromEph,
257
257
  niellMapping: () => niellMapping,
258
258
  nlWavelength: () => nlWavelength,
259
259
  nmeaCoordToDecimal: () => nmeaCoordToDecimal,
260
+ obsEpochToDate: () => obsEpochToDate,
260
261
  oem4Frames: () => oem4Frames,
261
262
  padL: () => padL,
262
263
  padR: () => padR,
@@ -4787,9 +4788,6 @@ var BitReader = class {
4787
4788
  skip(n) {
4788
4789
  this.bitPos += n;
4789
4790
  }
4790
- get bitsLeft() {
4791
- return this.data.length * 8 - this.bitPos;
4792
- }
4793
4791
  };
4794
4792
  function crc24q2(data, length) {
4795
4793
  let crc = 0;
@@ -5291,7 +5289,7 @@ function decodeEphemeris(frame) {
5291
5289
  }
5292
5290
  }
5293
5291
 
5294
- // src/rtcm3/igs-ssr.ts
5292
+ // src/rtcm3/ssr-common.ts
5295
5293
  var UPDATE_INTERVAL_S = [
5296
5294
  1,
5297
5295
  2,
@@ -5310,6 +5308,28 @@ var UPDATE_INTERVAL_S = [
5310
5308
  7200,
5311
5309
  10800
5312
5310
  ];
5311
+ function ssrUraMm(v) {
5312
+ if (v === 0) return null;
5313
+ const cls = v >> 3 & 7;
5314
+ const val = v & 7;
5315
+ return 3 ** cls * (1 + val / 4) - 1;
5316
+ }
5317
+ function readSsrOrbit(r, sat) {
5318
+ sat.iode = r.readU(8);
5319
+ sat.deltaRadial = r.readS(22) * 1e-4;
5320
+ sat.deltaAlongTrack = r.readS(20) * 4e-4;
5321
+ sat.deltaCrossTrack = r.readS(20) * 4e-4;
5322
+ sat.dotRadial = r.readS(21) * 1e-6;
5323
+ sat.dotAlongTrack = r.readS(19) * 4e-6;
5324
+ sat.dotCrossTrack = r.readS(19) * 4e-6;
5325
+ }
5326
+ function readSsrClock(r, sat) {
5327
+ sat.c0 = r.readS(22) * 1e-4;
5328
+ sat.c1 = r.readS(21) * 1e-6;
5329
+ sat.c2 = r.readS(27) * 2e-8;
5330
+ }
5331
+
5332
+ // src/rtcm3/igs-ssr.ts
5313
5333
  var SYSTEM_BY_BASE = {
5314
5334
  20: "G",
5315
5335
  40: "R",
@@ -5333,12 +5353,6 @@ function prnFor(system, id) {
5333
5353
  if (system === "S") return `S${two(19 + id)}`;
5334
5354
  return `${system}${two(id)}`;
5335
5355
  }
5336
- function ssrUraMm(v) {
5337
- if (v === 0) return null;
5338
- const cls = v >> 3 & 7;
5339
- const val = v & 7;
5340
- return 3 ** cls * (1 + val / 4) - 1;
5341
- }
5342
5356
  function decodeIgsSsr(frame) {
5343
5357
  if (frame.messageType !== 4076) return null;
5344
5358
  const r = new BitReader(frame.payload);
@@ -5365,26 +5379,12 @@ function decodeIgsSsr(frame) {
5365
5379
  mwConsistency = r.readU(1) === 1;
5366
5380
  }
5367
5381
  const nsat = r.readU(6);
5368
- const readOrbit = (s) => {
5369
- s.iode = r.readU(8);
5370
- s.deltaRadial = r.readS(22) * 1e-4;
5371
- s.deltaAlongTrack = r.readS(20) * 4e-4;
5372
- s.deltaCrossTrack = r.readS(20) * 4e-4;
5373
- s.dotRadial = r.readS(21) * 1e-6;
5374
- s.dotAlongTrack = r.readS(19) * 4e-6;
5375
- s.dotCrossTrack = r.readS(19) * 4e-6;
5376
- };
5377
- const readClock2 = (s) => {
5378
- s.c0 = r.readS(22) * 1e-4;
5379
- s.c1 = r.readS(21) * 1e-6;
5380
- s.c2 = r.readS(27) * 2e-8;
5381
- };
5382
5382
  const satellites = [];
5383
5383
  for (let i = 0; i < nsat; i++) {
5384
5384
  const id = r.readU(6);
5385
5385
  const sat = { prn: prnFor(system, id) };
5386
- if (kind === "orbit" || kind === "combined") readOrbit(sat);
5387
- if (kind === "clock" || kind === "combined") readClock2(sat);
5386
+ if (kind === "orbit" || kind === "combined") readSsrOrbit(r, sat);
5387
+ if (kind === "clock" || kind === "combined") readSsrClock(r, sat);
5388
5388
  else if (kind === "ura")
5389
5389
  sat.uraMm = ssrUraMm(r.readU(6));
5390
5390
  else if (kind === "highRateClock")
@@ -5477,116 +5477,6 @@ function decodeIono(r, version, im) {
5477
5477
  };
5478
5478
  }
5479
5479
 
5480
- // src/rtcm3/legacy-obs.ts
5481
- var PRUNIT_GPS = 299792.458;
5482
- var PRUNIT_GLO = 599584.916;
5483
- var LAM_GPS_L1 = C_LIGHT / 157542e4;
5484
- var LAM_GPS_L2 = C_LIGHT / 12276e5;
5485
- var PPR_INVALID = -(2 ** 19);
5486
- var PR21_INVALID = -(2 ** 13);
5487
- function legacyLockSec(i) {
5488
- if (i < 24) return i;
5489
- if (i < 48) return 2 * i - 24;
5490
- if (i < 72) return 4 * i - 120;
5491
- if (i < 96) return 8 * i - 408;
5492
- if (i < 120) return 16 * i - 1176;
5493
- if (i < 127) return 32 * i - 3096;
5494
- return 937;
5495
- }
5496
- var two2 = (n) => n.toString().padStart(2, "0");
5497
- function decodeLegacyObs(frame) {
5498
- const type = frame.messageType;
5499
- const gps = type >= 1001 && type <= 1004;
5500
- const glo = type >= 1009 && type <= 1012;
5501
- if (!gps && !glo) return null;
5502
- const ext = type === 1002 || type === 1004 || type === 1010 || type === 1012;
5503
- const dual = type === 1003 || type === 1004 || type === 1011 || type === 1012;
5504
- const system = gps ? "G" : "R";
5505
- const r = new BitReader(frame.payload);
5506
- r.readU(12);
5507
- r.readU(12);
5508
- let epochMs;
5509
- let nsat;
5510
- if (gps) {
5511
- epochMs = r.readU(30);
5512
- r.readU(1);
5513
- nsat = r.readU(5);
5514
- r.readU(1);
5515
- r.readU(3);
5516
- } else {
5517
- const tk = r.readU(27);
5518
- r.readU(1);
5519
- nsat = r.readU(5);
5520
- r.readU(1);
5521
- r.readU(3);
5522
- const gloDow = new Date(Date.now() + 3 * 36e5).getUTCDay();
5523
- epochMs = (gloDow << 27 | tk) >>> 0;
5524
- }
5525
- const observations = [];
5526
- for (let s = 0; s < nsat; s++) {
5527
- const satId = r.readU(6);
5528
- const code1 = r.readU(1);
5529
- const freqCh = glo ? r.readU(5) : 0;
5530
- const pr1raw = r.readU(gps ? 24 : 25);
5531
- const ppr1 = r.readS(20);
5532
- const lock1 = r.readU(7);
5533
- let amb = 0;
5534
- let cnr1 = 0;
5535
- if (ext) {
5536
- amb = r.readU(gps ? 8 : 7);
5537
- cnr1 = r.readU(8);
5538
- }
5539
- let code2 = 0;
5540
- let pr21 = 0;
5541
- let ppr2 = 0;
5542
- let lock2 = 0;
5543
- let cnr2 = 0;
5544
- if (dual) {
5545
- code2 = r.readU(2);
5546
- pr21 = r.readS(14);
5547
- ppr2 = r.readS(20);
5548
- lock2 = r.readU(7);
5549
- if (ext) cnr2 = r.readU(8);
5550
- }
5551
- if (gps && (satId < 1 || satId > 32)) continue;
5552
- if (glo && (satId < 1 || satId > 24)) continue;
5553
- const prunit = gps ? PRUNIT_GPS : PRUNIT_GLO;
5554
- const pr1 = pr1raw * 0.02 + amb * prunit;
5555
- const k = freqCh - 7;
5556
- const lamL1 = gps ? LAM_GPS_L1 : C_LIGHT / (GLO_F1_BASE + k * GLO_F1_STEP);
5557
- const lamL2 = gps ? LAM_GPS_L2 : C_LIGHT / (GLO_F2_BASE + k * GLO_F2_STEP);
5558
- const signals = [];
5559
- {
5560
- const sig = {
5561
- rinexCode: gps ? code1 ? "1W" : "1C" : code1 ? "1P" : "1C",
5562
- pseudorange: pr1,
5563
- wavelength: lamL1,
5564
- lockTime: legacyLockSec(lock1)
5565
- };
5566
- if (ppr1 !== PPR_INVALID) sig.phase = (pr1 + ppr1 * 5e-4) / lamL1;
5567
- if (ext && cnr1 > 0) sig.cn0 = cnr1 * 0.25;
5568
- signals.push(sig);
5569
- }
5570
- if (dual) {
5571
- const sig = {
5572
- rinexCode: gps ? code2 === 0 ? "2X" : "2W" : code2 === 0 ? "2C" : "2P",
5573
- wavelength: lamL2,
5574
- lockTime: legacyLockSec(lock2)
5575
- };
5576
- if (pr21 !== PR21_INVALID) sig.pseudorange = pr1 + pr21 * 0.02;
5577
- if (ppr2 !== PPR_INVALID) sig.phase = (pr1 + ppr2 * 5e-4) / lamL2;
5578
- if (ext && cnr2 > 0) sig.cn0 = cnr2 * 0.25;
5579
- signals.push(sig);
5580
- }
5581
- observations.push({
5582
- prn: `${system}${two2(satId)}`,
5583
- system,
5584
- signals
5585
- });
5586
- }
5587
- return { messageType: type, epochMs, system, observations };
5588
- }
5589
-
5590
5480
  // src/rtcm3/msm.ts
5591
5481
  var GPS_L1 = FREQ.G["1"];
5592
5482
  var GPS_L2 = FREQ.G["2"];
@@ -6085,7 +5975,7 @@ function decodeMsmFull(frame) {
6085
5975
  }
6086
5976
  var GPS_EPOCH = START_GPS_TIME.getTime();
6087
5977
  var MS_PER_WEEK = MILLISECONDS_IN_WEEK;
6088
- function msmEpochToDate(sys, epochMs, refTime = /* @__PURE__ */ new Date()) {
5978
+ function obsEpochToDate(sys, epochMs, refTime = /* @__PURE__ */ new Date()) {
6089
5979
  const refMs = refTime.getTime();
6090
5980
  if (sys === "R") {
6091
5981
  const dayOfWeek = epochMs >>> 27 & 7;
@@ -6121,25 +6011,120 @@ function resetGloFreqCache() {
6121
6011
  gloFreqNum.fill(-128);
6122
6012
  }
6123
6013
 
6014
+ // src/rtcm3/legacy-obs.ts
6015
+ var PRUNIT_GPS = 299792.458;
6016
+ var PRUNIT_GLO = 599584.916;
6017
+ var LAM_GPS_L1 = C_LIGHT / 157542e4;
6018
+ var LAM_GPS_L2 = C_LIGHT / 12276e5;
6019
+ var PPR_INVALID = -(2 ** 19);
6020
+ var PR21_INVALID = -(2 ** 13);
6021
+ function legacyLockSec(i) {
6022
+ if (i < 24) return i;
6023
+ if (i < 48) return 2 * i - 24;
6024
+ if (i < 72) return 4 * i - 120;
6025
+ if (i < 96) return 8 * i - 408;
6026
+ if (i < 120) return 16 * i - 1176;
6027
+ if (i < 127) return 32 * i - 3096;
6028
+ return 937;
6029
+ }
6030
+ var two2 = (n) => n.toString().padStart(2, "0");
6031
+ function decodeLegacyObs(frame) {
6032
+ const type = frame.messageType;
6033
+ const gps = type >= 1001 && type <= 1004;
6034
+ const glo = type >= 1009 && type <= 1012;
6035
+ if (!gps && !glo) return null;
6036
+ const ext = type === 1002 || type === 1004 || type === 1010 || type === 1012;
6037
+ const dual = type === 1003 || type === 1004 || type === 1011 || type === 1012;
6038
+ const system = gps ? "G" : "R";
6039
+ const r = new BitReader(frame.payload);
6040
+ r.readU(12);
6041
+ r.readU(12);
6042
+ let epochMs;
6043
+ let nsat;
6044
+ if (gps) {
6045
+ epochMs = r.readU(30);
6046
+ r.readU(1);
6047
+ nsat = r.readU(5);
6048
+ r.readU(1);
6049
+ r.readU(3);
6050
+ } else {
6051
+ const tk = r.readU(27);
6052
+ r.readU(1);
6053
+ nsat = r.readU(5);
6054
+ r.readU(1);
6055
+ r.readU(3);
6056
+ const gloDow = new Date(Date.now() + 3 * 36e5).getUTCDay();
6057
+ epochMs = (gloDow << 27 | tk) >>> 0;
6058
+ }
6059
+ const observations = [];
6060
+ for (let s = 0; s < nsat; s++) {
6061
+ const satId = r.readU(6);
6062
+ const code1 = r.readU(1);
6063
+ const freqCh = glo ? r.readU(5) : 0;
6064
+ const pr1raw = r.readU(gps ? 24 : 25);
6065
+ const ppr1 = r.readS(20);
6066
+ const lock1 = r.readU(7);
6067
+ let amb = 0;
6068
+ let cnr1 = 0;
6069
+ if (ext) {
6070
+ amb = r.readU(gps ? 8 : 7);
6071
+ cnr1 = r.readU(8);
6072
+ }
6073
+ let code2 = 0;
6074
+ let pr21 = 0;
6075
+ let ppr2 = 0;
6076
+ let lock2 = 0;
6077
+ let cnr2 = 0;
6078
+ if (dual) {
6079
+ code2 = r.readU(2);
6080
+ pr21 = r.readS(14);
6081
+ ppr2 = r.readS(20);
6082
+ lock2 = r.readU(7);
6083
+ if (ext) cnr2 = r.readU(8);
6084
+ }
6085
+ if (gps && (satId < 1 || satId > 32)) continue;
6086
+ if (glo && (satId < 1 || satId > 24)) continue;
6087
+ const prunit = gps ? PRUNIT_GPS : PRUNIT_GLO;
6088
+ const pr1 = pr1raw * 0.02 + amb * prunit;
6089
+ const k = freqCh - 7;
6090
+ const lamL1 = gps ? LAM_GPS_L1 : C_LIGHT / (GLO_F1_BASE + k * GLO_F1_STEP);
6091
+ const lamL2 = gps ? LAM_GPS_L2 : C_LIGHT / (GLO_F2_BASE + k * GLO_F2_STEP);
6092
+ const signals = [];
6093
+ {
6094
+ const sig = {
6095
+ rinexCode: gps ? code1 ? "1W" : "1C" : code1 ? "1P" : "1C",
6096
+ pseudorange: pr1,
6097
+ wavelength: lamL1,
6098
+ lockTime: legacyLockSec(lock1)
6099
+ };
6100
+ if (ppr1 !== PPR_INVALID) sig.phase = (pr1 + ppr1 * 5e-4) / lamL1;
6101
+ if (ext && cnr1 > 0) sig.cn0 = cnr1 * 0.25;
6102
+ signals.push(sig);
6103
+ }
6104
+ if (dual) {
6105
+ const sig = {
6106
+ rinexCode: gps ? code2 === 0 ? "2X" : "2W" : code2 === 0 ? "2C" : "2P",
6107
+ wavelength: lamL2,
6108
+ lockTime: legacyLockSec(lock2)
6109
+ };
6110
+ if (pr21 !== PR21_INVALID) sig.pseudorange = pr1 + pr21 * 0.02;
6111
+ if (ppr2 !== PPR_INVALID) sig.phase = (pr1 + ppr2 * 5e-4) / lamL2;
6112
+ if (ext && cnr2 > 0) sig.cn0 = cnr2 * 0.25;
6113
+ signals.push(sig);
6114
+ }
6115
+ observations.push({
6116
+ prn: `${system}${two2(satId)}`,
6117
+ system,
6118
+ signals
6119
+ });
6120
+ }
6121
+ return { messageType: type, epochMs, system, observations };
6122
+ }
6123
+ function decodeObs(frame) {
6124
+ return decodeMsmFull(frame) ?? decodeLegacyObs(frame);
6125
+ }
6126
+
6124
6127
  // src/rtcm3/ssr.ts
6125
- var UPDATE_INTERVAL_S2 = [
6126
- 1,
6127
- 2,
6128
- 5,
6129
- 10,
6130
- 15,
6131
- 30,
6132
- 60,
6133
- 120,
6134
- 240,
6135
- 300,
6136
- 600,
6137
- 900,
6138
- 1800,
6139
- 3600,
6140
- 7200,
6141
- 10800
6142
- ];
6143
6128
  var GPS_SIGNAL = {
6144
6129
  0: "L1 C/A",
6145
6130
  1: "L1 P",
@@ -6174,12 +6159,6 @@ var SSR_KIND = {
6174
6159
  1067: { system: "R", kind: "ura" },
6175
6160
  1068: { system: "R", kind: "highRateClock" }
6176
6161
  };
6177
- function ssrUraMm2(v) {
6178
- if (v === 0) return null;
6179
- const cls = v >> 3 & 7;
6180
- const val = v & 7;
6181
- return 3 ** cls * (1 + val / 4) - 1;
6182
- }
6183
6162
  var two3 = (n) => n.toString().padStart(2, "0");
6184
6163
  function decodeSsr(frame) {
6185
6164
  const spec = SSR_KIND[frame.messageType];
@@ -6189,7 +6168,7 @@ function decodeSsr(frame) {
6189
6168
  const r = new BitReader(frame.payload);
6190
6169
  r.readU(12);
6191
6170
  const epochS = r.readU(gps ? 20 : 17);
6192
- const updateIntervalS = UPDATE_INTERVAL_S2[r.readU(4)];
6171
+ const updateIntervalS = UPDATE_INTERVAL_S[r.readU(4)];
6193
6172
  const multipleMessage = r.readU(1) === 1;
6194
6173
  const hasDatum = kind === "orbit" || kind === "combined";
6195
6174
  const referenceDatum = hasDatum ? r.readU(1) : void 0;
@@ -6199,30 +6178,14 @@ function decodeSsr(frame) {
6199
6178
  const nsat = r.readU(6);
6200
6179
  const sigName = gps ? GPS_SIGNAL : GLO_SIGNAL;
6201
6180
  const satellites = [];
6202
- const readOrbit = (sat) => {
6203
- sat.deltaRadial = r.readS(22) * 1e-4;
6204
- sat.deltaAlongTrack = r.readS(20) * 4e-4;
6205
- sat.deltaCrossTrack = r.readS(20) * 4e-4;
6206
- sat.dotRadial = r.readS(21) * 1e-6;
6207
- sat.dotAlongTrack = r.readS(19) * 4e-6;
6208
- sat.dotCrossTrack = r.readS(19) * 4e-6;
6209
- };
6210
- const readClock2 = (sat) => {
6211
- sat.c0 = r.readS(22) * 1e-4;
6212
- sat.c1 = r.readS(21) * 1e-6;
6213
- sat.c2 = r.readS(27) * 2e-8;
6214
- };
6215
6181
  for (let i = 0; i < nsat; i++) {
6216
6182
  const satId = gps ? r.readU(6) : r.readU(5);
6217
6183
  const sat = { prn: `${system}${two3(satId)}` };
6218
- if (kind === "orbit" || kind === "combined") {
6219
- sat.iode = r.readU(8);
6220
- readOrbit(sat);
6221
- }
6222
- if (kind === "combined") readClock2(sat);
6223
- else if (kind === "clock") readClock2(sat);
6184
+ if (kind === "orbit" || kind === "combined") readSsrOrbit(r, sat);
6185
+ if (kind === "combined") readSsrClock(r, sat);
6186
+ else if (kind === "clock") readSsrClock(r, sat);
6224
6187
  else if (kind === "ura")
6225
- sat.uraMm = ssrUraMm2(r.readU(6));
6188
+ sat.uraMm = ssrUraMm(r.readU(6));
6226
6189
  else if (kind === "highRateClock")
6227
6190
  sat.highRateClock = r.readS(22) * 1e-4;
6228
6191
  else if (kind === "codeBias") {
@@ -6590,9 +6553,9 @@ function updateStreamStats(stats, frames, rawBytes) {
6590
6553
  entry.count++;
6591
6554
  entry.lastSeen = now;
6592
6555
  entry.totalBytes += frame.length + 6;
6593
- const msmEpoch = decodeMsmFull(frame);
6594
- if (msmEpoch) {
6595
- for (const obs of msmEpoch.observations) {
6556
+ const obsEpoch = decodeObs(frame);
6557
+ if (obsEpoch) {
6558
+ for (const obs of obsEpoch.observations) {
6596
6559
  const signals = [];
6597
6560
  let bestCn0 = 0;
6598
6561
  for (const sig of obs.signals) {
@@ -6601,7 +6564,7 @@ function updateStreamStats(stats, frames, rawBytes) {
6601
6564
  if (sig.cn0 > bestCn0) bestCn0 = sig.cn0;
6602
6565
  }
6603
6566
  }
6604
- if (signals.length > 0) {
6567
+ if (obs.signals.length > 0) {
6605
6568
  stats.satellites.set(obs.prn, {
6606
6569
  prn: obs.prn,
6607
6570
  system: obs.system,
@@ -18913,6 +18876,7 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
18913
18876
  decodeIgsSsr,
18914
18877
  decodeLegacyObs,
18915
18878
  decodeMsmFull,
18879
+ decodeObs,
18916
18880
  decodeSbfNavigation,
18917
18881
  decodeSsr,
18918
18882
  decodeSystemParams,
@@ -19016,11 +18980,11 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
19016
18980
  looksLikeRtcm2,
19017
18981
  maskRadForAzimuth,
19018
18982
  moonEcef,
19019
- msmEpochToDate,
19020
18983
  navTimesFromEph,
19021
18984
  niellMapping,
19022
18985
  nlWavelength,
19023
18986
  nmeaCoordToDecimal,
18987
+ obsEpochToDate,
19024
18988
  oem4Frames,
19025
18989
  padL,
19026
18990
  padR,
package/dist/index.d.cts CHANGED
@@ -10,8 +10,8 @@ export { E as EpochSummary, P as ParseOptions, R as RinexHeader, a as RinexResul
10
10
  export { C as CnavEphemeris, E as Ephemeris, G as GlonassEphemeris, K as KeplerEphemeris, N as NavHeader, a as NavResult, R as RinexCnavEphemeris, p as parseNavFile } from './nav-DImXUdbp.cjs';
11
11
  export { C as ClkFile, I as IonexGrid, S as Sp3File, a as Sp3Sample, c as clkBias, p as parseClk, b as parseIonex, d as parseSp3, s as sp3Position } from './clk-DGVBGRzA.cjs';
12
12
  export { RTCM2_MESSAGE_NAMES, Rtcm2Correction, Rtcm2Decoder, Rtcm2Frame, Rtcm2ObsRecord, Rtcm2Station, looksLikeRtcm2, rtcm2Dgps, rtcm2Observation, rtcm2Station, rtcm2Text, rtcm2Time } from './rtcm2.cjs';
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-Ohl6NAfw.cjs';
14
- export { IgsSsrIonoLayer, IgsSsrMessage, MessageTypeStats, MsmEpoch, MsmSatObs, MsmSignal, RTCM3_MESSAGE_NAMES, SatCn0, SignalCn0, SsrCodeBias, SsrKind, SsrMessage, SsrPhaseBias, SsrSatCorrection, StationMeta, StreamStats, SystemParams, SystemParamsMessage, createStationMeta, createStreamStats, decodeIgsSsr, decodeLegacyObs, decodeMsmFull, decodeSsr, decodeSystemParams, isSsrMessage, msmEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats } from './rtcm3.cjs';
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
+ 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
16
  export { DfmcCensus, DfmcMessageCb, GeoL5Result, HasMessage, 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';
17
17
  export { NovatelEpoch, NovatelMeasurement, NovatelNavResult, NovatelParseResult, NovatelPvtResult, OEM4_HLEN, Oem4Frame, crc32, oem4Frames, parseNovatelNav, parseNovatelPvt, parseNovatelRange } from './novatel.cjs';
package/dist/index.d.ts CHANGED
@@ -10,8 +10,8 @@ export { E as EpochSummary, P as ParseOptions, R as RinexHeader, a as RinexResul
10
10
  export { C as CnavEphemeris, E as Ephemeris, G as GlonassEphemeris, K as KeplerEphemeris, N as NavHeader, a as NavResult, R as RinexCnavEphemeris, p as parseNavFile } from './nav-DImXUdbp.js';
11
11
  export { C as ClkFile, I as IonexGrid, S as Sp3File, a as Sp3Sample, c as clkBias, p as parseClk, b as parseIonex, d as parseSp3, s as sp3Position } from './clk-DGVBGRzA.js';
12
12
  export { RTCM2_MESSAGE_NAMES, Rtcm2Correction, Rtcm2Decoder, Rtcm2Frame, Rtcm2ObsRecord, Rtcm2Station, looksLikeRtcm2, rtcm2Dgps, rtcm2Observation, rtcm2Station, rtcm2Text, rtcm2Time } from './rtcm2.js';
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-Ohl6NAfw.js';
14
- export { IgsSsrIonoLayer, IgsSsrMessage, MessageTypeStats, MsmEpoch, MsmSatObs, MsmSignal, RTCM3_MESSAGE_NAMES, SatCn0, SignalCn0, SsrCodeBias, SsrKind, SsrMessage, SsrPhaseBias, SsrSatCorrection, StationMeta, StreamStats, SystemParams, SystemParamsMessage, createStationMeta, createStreamStats, decodeIgsSsr, decodeLegacyObs, decodeMsmFull, decodeSsr, decodeSystemParams, isSsrMessage, msmEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats } from './rtcm3.js';
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
+ 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
16
  export { DfmcCensus, DfmcMessageCb, GeoL5Result, HasMessage, 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';
17
17
  export { NovatelEpoch, NovatelMeasurement, NovatelNavResult, NovatelParseResult, NovatelPvtResult, OEM4_HLEN, Oem4Frame, crc32, oem4Frames, parseNovatelNav, parseNovatelPvt, parseNovatelRange } from './novatel.js';
package/dist/index.js CHANGED
@@ -64,10 +64,11 @@ import {
64
64
  decodeIgsSsr,
65
65
  decodeLegacyObs,
66
66
  decodeMsmFull,
67
+ decodeObs,
67
68
  decodeSsr,
68
69
  decodeSystemParams,
69
70
  isSsrMessage,
70
- msmEpochToDate,
71
+ obsEpochToDate,
71
72
  readString,
72
73
  reportDecodeError,
73
74
  resetGloFreqCache,
@@ -76,7 +77,7 @@ import {
76
77
  setRtcm3DebugHandler,
77
78
  updateStationMeta,
78
79
  updateStreamStats
79
- } from "./chunk-REULRNJ5.js";
80
+ } from "./chunk-WVTDVPKA.js";
80
81
  import {
81
82
  parseUbxCnav,
82
83
  parseUbxIonoUtc,
@@ -514,6 +515,7 @@ export {
514
515
  decodeIgsSsr,
515
516
  decodeLegacyObs,
516
517
  decodeMsmFull,
518
+ decodeObs,
517
519
  decodeSbfNavigation,
518
520
  decodeSsr,
519
521
  decodeSystemParams,
@@ -617,11 +619,11 @@ export {
617
619
  looksLikeRtcm2,
618
620
  maskRadForAzimuth,
619
621
  moonEcef,
620
- msmEpochToDate,
621
622
  navTimesFromEph,
622
623
  niellMapping,
623
624
  nlWavelength,
624
625
  nmeaCoordToDecimal,
626
+ obsEpochToDate,
625
627
  oem4Frames,
626
628
  padL,
627
629
  padR,
package/dist/orbit.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { E as Ephemeris, G as GlonassEphemeris, K as KeplerEphemeris } from './nav-DImXUdbp.cjs';
2
- import { E as EphemerisInfo } from './ephemeris-Ohl6NAfw.cjs';
2
+ import { E as EphemerisInfo } from './ephemeris-BAnBLLB9.cjs';
3
3
  export { e as ecefToGeodetic, g as geodeticToEcef } from './ecef-CF0uAysr.cjs';
4
4
  import { c as SbfKeplerAlmanac, b as SbfGlonassAlmanac } from './nav-BYmYoh9A.cjs';
5
5
 
package/dist/orbit.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { E as Ephemeris, G as GlonassEphemeris, K as KeplerEphemeris } from './nav-DImXUdbp.js';
2
- import { E as EphemerisInfo } from './ephemeris-Ohl6NAfw.js';
2
+ import { E as EphemerisInfo } from './ephemeris-BAnBLLB9.js';
3
3
  export { e as ecefToGeodetic, g as geodeticToEcef } from './ecef-CF0uAysr.js';
4
4
  import { c as SbfKeplerAlmanac, b as SbfGlonassAlmanac } from './nav-CN8rxL4h.js';
5
5
 
@@ -2,7 +2,7 @@ import { E as Ephemeris } from './nav-DImXUdbp.cjs';
2
2
  import { DopValues } from './orbit.cjs';
3
3
  import { I as IonexGrid, C as ClkFile, S as Sp3File } from './clk-DGVBGRzA.cjs';
4
4
  import { AntexFile } from './antex.cjs';
5
- import './ephemeris-Ohl6NAfw.cjs';
5
+ import './ephemeris-BAnBLLB9.cjs';
6
6
  import './ecef-CF0uAysr.cjs';
7
7
  import './nav-BYmYoh9A.cjs';
8
8
 
@@ -2,7 +2,7 @@ import { E as Ephemeris } from './nav-DImXUdbp.js';
2
2
  import { DopValues } from './orbit.js';
3
3
  import { I as IonexGrid, C as ClkFile, S as Sp3File } from './clk-DGVBGRzA.js';
4
4
  import { AntexFile } from './antex.js';
5
- import './ephemeris-Ohl6NAfw.js';
5
+ import './ephemeris-BAnBLLB9.js';
6
6
  import './ecef-CF0uAysr.js';
7
7
  import './nav-CN8rxL4h.js';
8
8