gnss-js 1.64.0 → 1.65.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.
@@ -1531,6 +1531,30 @@ function isSsrMessage(messageType) {
1531
1531
  return messageType in SSR_KIND;
1532
1532
  }
1533
1533
 
1534
+ // src/rtcm3/system-params.ts
1535
+ function decodeSystemParams(frame) {
1536
+ if (frame.messageType !== 1013) return null;
1537
+ const r = new BitReader(frame.payload);
1538
+ r.readU(12);
1539
+ const referenceStationId = r.readU(12);
1540
+ const mjd = r.readU(16);
1541
+ const secondsOfDay = r.readU(17);
1542
+ const nm = r.readU(5);
1543
+ const leapSeconds = r.readU(8);
1544
+ const messages = [];
1545
+ for (let i = 0; i < nm; i++) {
1546
+ messages.push({
1547
+ messageId: r.readU(12),
1548
+ // DF055
1549
+ sync: r.readU(1) === 1,
1550
+ // DF056
1551
+ intervalS: r.readU(16) * 0.1
1552
+ // DF057 (0.1 s)
1553
+ });
1554
+ }
1555
+ return { referenceStationId, mjd, secondsOfDay, leapSeconds, messages };
1556
+ }
1557
+
1534
1558
  // src/rtcm3/station.ts
1535
1559
  function createStationMeta() {
1536
1560
  return {
@@ -1544,7 +1568,8 @@ function createStationMeta() {
1544
1568
  receiverType: null,
1545
1569
  receiverFirmware: null,
1546
1570
  receiverSerial: null,
1547
- description: null
1571
+ description: null,
1572
+ physicalRefStationId: null
1548
1573
  };
1549
1574
  }
1550
1575
  function decodeStationARP(payload, msgType, meta) {
@@ -1567,6 +1592,18 @@ function decodeStationARP(payload, msgType, meta) {
1567
1592
  meta.antennaHeight = r.readU(16) * 1e-4;
1568
1593
  }
1569
1594
  }
1595
+ function decodeStation1032(payload, meta) {
1596
+ if (payload.length < 19) return;
1597
+ const r = new BitReader(payload);
1598
+ r.skip(12);
1599
+ meta.stationId = r.readU(12);
1600
+ meta.physicalRefStationId = r.readU(12);
1601
+ meta.itrf = r.readU(6);
1602
+ const x = r.readS(38) * 1e-4;
1603
+ const y = r.readS(38) * 1e-4;
1604
+ const z = r.readS(38) * 1e-4;
1605
+ if (x !== 0 || y !== 0 || z !== 0) meta.position = [x, y, z];
1606
+ }
1570
1607
  function decodeAntennaDescriptor(payload, msgType, meta) {
1571
1608
  if (payload.length < 5) return;
1572
1609
  const r = new BitReader(payload);
@@ -1647,6 +1684,9 @@ function updateStationMeta(meta, frame) {
1647
1684
  case 1006:
1648
1685
  decodeStationARP(frame.payload, frame.messageType, meta);
1649
1686
  return true;
1687
+ case 1032:
1688
+ decodeStation1032(frame.payload, meta);
1689
+ return true;
1650
1690
  case 1007:
1651
1691
  case 1008:
1652
1692
  decodeAntennaDescriptor(frame.payload, frame.messageType, meta);
@@ -1889,6 +1929,7 @@ export {
1889
1929
  resetGloFreqCache,
1890
1930
  decodeSsr,
1891
1931
  isSsrMessage,
1932
+ decodeSystemParams,
1892
1933
  createStationMeta,
1893
1934
  updateStationMeta,
1894
1935
  RTCM3_MESSAGE_NAMES,
package/dist/index.cjs CHANGED
@@ -149,6 +149,7 @@ __export(src_exports, {
149
149
  decodeMsmFull: () => decodeMsmFull,
150
150
  decodeSbfNavigation: () => decodeSbfNavigation,
151
151
  decodeSsr: () => decodeSsr,
152
+ decodeSystemParams: () => decodeSystemParams,
152
153
  deg2dms: () => deg2dms,
153
154
  deg2rad: () => deg2rad,
154
155
  detrendIonoArcs: () => detrendIonoArcs,
@@ -5991,6 +5992,30 @@ function isSsrMessage(messageType) {
5991
5992
  return messageType in SSR_KIND;
5992
5993
  }
5993
5994
 
5995
+ // src/rtcm3/system-params.ts
5996
+ function decodeSystemParams(frame) {
5997
+ if (frame.messageType !== 1013) return null;
5998
+ const r = new BitReader(frame.payload);
5999
+ r.readU(12);
6000
+ const referenceStationId = r.readU(12);
6001
+ const mjd = r.readU(16);
6002
+ const secondsOfDay = r.readU(17);
6003
+ const nm = r.readU(5);
6004
+ const leapSeconds = r.readU(8);
6005
+ const messages = [];
6006
+ for (let i = 0; i < nm; i++) {
6007
+ messages.push({
6008
+ messageId: r.readU(12),
6009
+ // DF055
6010
+ sync: r.readU(1) === 1,
6011
+ // DF056
6012
+ intervalS: r.readU(16) * 0.1
6013
+ // DF057 (0.1 s)
6014
+ });
6015
+ }
6016
+ return { referenceStationId, mjd, secondsOfDay, leapSeconds, messages };
6017
+ }
6018
+
5994
6019
  // src/rtcm3/station.ts
5995
6020
  function createStationMeta() {
5996
6021
  return {
@@ -6004,7 +6029,8 @@ function createStationMeta() {
6004
6029
  receiverType: null,
6005
6030
  receiverFirmware: null,
6006
6031
  receiverSerial: null,
6007
- description: null
6032
+ description: null,
6033
+ physicalRefStationId: null
6008
6034
  };
6009
6035
  }
6010
6036
  function decodeStationARP(payload, msgType, meta) {
@@ -6027,6 +6053,18 @@ function decodeStationARP(payload, msgType, meta) {
6027
6053
  meta.antennaHeight = r.readU(16) * 1e-4;
6028
6054
  }
6029
6055
  }
6056
+ function decodeStation1032(payload, meta) {
6057
+ if (payload.length < 19) return;
6058
+ const r = new BitReader(payload);
6059
+ r.skip(12);
6060
+ meta.stationId = r.readU(12);
6061
+ meta.physicalRefStationId = r.readU(12);
6062
+ meta.itrf = r.readU(6);
6063
+ const x = r.readS(38) * 1e-4;
6064
+ const y = r.readS(38) * 1e-4;
6065
+ const z = r.readS(38) * 1e-4;
6066
+ if (x !== 0 || y !== 0 || z !== 0) meta.position = [x, y, z];
6067
+ }
6030
6068
  function decodeAntennaDescriptor(payload, msgType, meta) {
6031
6069
  if (payload.length < 5) return;
6032
6070
  const r = new BitReader(payload);
@@ -6107,6 +6145,9 @@ function updateStationMeta(meta, frame) {
6107
6145
  case 1006:
6108
6146
  decodeStationARP(frame.payload, frame.messageType, meta);
6109
6147
  return true;
6148
+ case 1032:
6149
+ decodeStation1032(frame.payload, meta);
6150
+ return true;
6110
6151
  case 1007:
6111
6152
  case 1008:
6112
6153
  decodeAntennaDescriptor(frame.payload, frame.messageType, meta);
@@ -18605,6 +18646,7 @@ function computePsdDb(centerMHz, halfSpanChips, numPoints, psdFn, f0 = 1023e3, f
18605
18646
  decodeMsmFull,
18606
18647
  decodeSbfNavigation,
18607
18648
  decodeSsr,
18649
+ decodeSystemParams,
18608
18650
  deg2dms,
18609
18651
  deg2rad,
18610
18652
  detrendIonoArcs,
package/dist/index.d.cts CHANGED
@@ -10,7 +10,7 @@ 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 { 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';
13
- export { IgsSsrIonoLayer, IgsSsrMessage, MessageTypeStats, MsmEpoch, MsmSatObs, MsmSignal, RTCM3_MESSAGE_NAMES, SatCn0, SignalCn0, SsrCodeBias, SsrKind, SsrMessage, SsrPhaseBias, SsrSatCorrection, StationMeta, StreamStats, createStationMeta, createStreamStats, decodeIgsSsr, decodeLegacyObs, decodeMsmFull, decodeSsr, isSsrMessage, msmEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats } from './rtcm3.cjs';
13
+ 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';
14
14
  export { UbxCnavResult, UbxFrame, UbxIonoUtcResult, UbxMeasurement, UbxNavOptions, UbxNavResult, UbxParseResult, UbxPvtResult, UbxRawNavOptions, UbxRawNavResult, UbxRawxEpoch, parseUbxCnav, parseUbxIonoUtc, parseUbxNav, parseUbxPvt, parseUbxRawNav, parseUbxRawx, ubxFrames } from './ubx.cjs';
15
15
  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';
16
16
  export { NovatelEpoch, NovatelMeasurement, NovatelNavResult, NovatelParseResult, NovatelPvtResult, OEM4_HLEN, Oem4Frame, crc32, oem4Frames, parseNovatelNav, parseNovatelPvt, parseNovatelRange } from './novatel.cjs';
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ 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 { 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';
13
- export { IgsSsrIonoLayer, IgsSsrMessage, MessageTypeStats, MsmEpoch, MsmSatObs, MsmSignal, RTCM3_MESSAGE_NAMES, SatCn0, SignalCn0, SsrCodeBias, SsrKind, SsrMessage, SsrPhaseBias, SsrSatCorrection, StationMeta, StreamStats, createStationMeta, createStreamStats, decodeIgsSsr, decodeLegacyObs, decodeMsmFull, decodeSsr, isSsrMessage, msmEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats } from './rtcm3.js';
13
+ 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';
14
14
  export { UbxCnavResult, UbxFrame, UbxIonoUtcResult, UbxMeasurement, UbxNavOptions, UbxNavResult, UbxParseResult, UbxPvtResult, UbxRawNavOptions, UbxRawNavResult, UbxRawxEpoch, parseUbxCnav, parseUbxIonoUtc, parseUbxNav, parseUbxPvt, parseUbxRawNav, parseUbxRawx, ubxFrames } from './ubx.js';
15
15
  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';
16
16
  export { NovatelEpoch, NovatelMeasurement, NovatelNavResult, NovatelParseResult, NovatelPvtResult, OEM4_HLEN, Oem4Frame, crc32, oem4Frames, parseNovatelNav, parseNovatelPvt, parseNovatelRange } from './novatel.js';
package/dist/index.js CHANGED
@@ -279,6 +279,7 @@ import {
279
279
  decodeLegacyObs,
280
280
  decodeMsmFull,
281
281
  decodeSsr,
282
+ decodeSystemParams,
282
283
  isSsrMessage,
283
284
  msmEpochToDate,
284
285
  readString,
@@ -289,7 +290,7 @@ import {
289
290
  setRtcm3DebugHandler,
290
291
  updateStationMeta,
291
292
  updateStreamStats
292
- } from "./chunk-5SQLUGWE.js";
293
+ } from "./chunk-REULRNJ5.js";
293
294
  import {
294
295
  getBdsTime,
295
296
  getDateFromBdsTime,
@@ -503,6 +504,7 @@ export {
503
504
  decodeMsmFull,
504
505
  decodeSbfNavigation,
505
506
  decodeSsr,
507
+ decodeSystemParams,
506
508
  deg2dms,
507
509
  deg2rad,
508
510
  detrendIonoArcs,
package/dist/rtcm3.cjs CHANGED
@@ -30,6 +30,7 @@ __export(rtcm3_exports, {
30
30
  decodeLegacyObs: () => decodeLegacyObs,
31
31
  decodeMsmFull: () => decodeMsmFull,
32
32
  decodeSsr: () => decodeSsr,
33
+ decodeSystemParams: () => decodeSystemParams,
33
34
  isSsrMessage: () => isSsrMessage,
34
35
  msmEpochToDate: () => msmEpochToDate,
35
36
  readString: () => readString,
@@ -1678,6 +1679,30 @@ function isSsrMessage(messageType) {
1678
1679
  return messageType in SSR_KIND;
1679
1680
  }
1680
1681
 
1682
+ // src/rtcm3/system-params.ts
1683
+ function decodeSystemParams(frame) {
1684
+ if (frame.messageType !== 1013) return null;
1685
+ const r = new BitReader(frame.payload);
1686
+ r.readU(12);
1687
+ const referenceStationId = r.readU(12);
1688
+ const mjd = r.readU(16);
1689
+ const secondsOfDay = r.readU(17);
1690
+ const nm = r.readU(5);
1691
+ const leapSeconds = r.readU(8);
1692
+ const messages = [];
1693
+ for (let i = 0; i < nm; i++) {
1694
+ messages.push({
1695
+ messageId: r.readU(12),
1696
+ // DF055
1697
+ sync: r.readU(1) === 1,
1698
+ // DF056
1699
+ intervalS: r.readU(16) * 0.1
1700
+ // DF057 (0.1 s)
1701
+ });
1702
+ }
1703
+ return { referenceStationId, mjd, secondsOfDay, leapSeconds, messages };
1704
+ }
1705
+
1681
1706
  // src/rtcm3/station.ts
1682
1707
  function createStationMeta() {
1683
1708
  return {
@@ -1691,7 +1716,8 @@ function createStationMeta() {
1691
1716
  receiverType: null,
1692
1717
  receiverFirmware: null,
1693
1718
  receiverSerial: null,
1694
- description: null
1719
+ description: null,
1720
+ physicalRefStationId: null
1695
1721
  };
1696
1722
  }
1697
1723
  function decodeStationARP(payload, msgType, meta) {
@@ -1714,6 +1740,18 @@ function decodeStationARP(payload, msgType, meta) {
1714
1740
  meta.antennaHeight = r.readU(16) * 1e-4;
1715
1741
  }
1716
1742
  }
1743
+ function decodeStation1032(payload, meta) {
1744
+ if (payload.length < 19) return;
1745
+ const r = new BitReader(payload);
1746
+ r.skip(12);
1747
+ meta.stationId = r.readU(12);
1748
+ meta.physicalRefStationId = r.readU(12);
1749
+ meta.itrf = r.readU(6);
1750
+ const x = r.readS(38) * 1e-4;
1751
+ const y = r.readS(38) * 1e-4;
1752
+ const z = r.readS(38) * 1e-4;
1753
+ if (x !== 0 || y !== 0 || z !== 0) meta.position = [x, y, z];
1754
+ }
1717
1755
  function decodeAntennaDescriptor(payload, msgType, meta) {
1718
1756
  if (payload.length < 5) return;
1719
1757
  const r = new BitReader(payload);
@@ -1794,6 +1832,9 @@ function updateStationMeta(meta, frame) {
1794
1832
  case 1006:
1795
1833
  decodeStationARP(frame.payload, frame.messageType, meta);
1796
1834
  return true;
1835
+ case 1032:
1836
+ decodeStation1032(frame.payload, meta);
1837
+ return true;
1797
1838
  case 1007:
1798
1839
  case 1008:
1799
1840
  decodeAntennaDescriptor(frame.payload, frame.messageType, meta);
@@ -2032,6 +2073,7 @@ function updateStreamStats(stats, frames, rawBytes) {
2032
2073
  decodeLegacyObs,
2033
2074
  decodeMsmFull,
2034
2075
  decodeSsr,
2076
+ decodeSystemParams,
2035
2077
  isSsrMessage,
2036
2078
  msmEpochToDate,
2037
2079
  readString,
package/dist/rtcm3.d.cts CHANGED
@@ -203,6 +203,33 @@ declare function resetGloFreqCache(): void;
203
203
  */
204
204
  declare function decodeLegacyObs(frame: Rtcm3Frame): MsmEpoch | null;
205
205
 
206
+ /** One announced message in the station's schedule (DF055/DF056/DF057). */
207
+ interface SystemParamsMessage {
208
+ /** RTCM message type the station broadcasts. */
209
+ messageId: number;
210
+ /** Synchronous flag. */
211
+ sync: boolean;
212
+ /** Transmission interval (seconds; 0.1 s resolution per DF057). */
213
+ intervalS: number;
214
+ }
215
+ /** Decoded RTCM3 System Parameters (message 1013). */
216
+ interface SystemParams {
217
+ referenceStationId: number;
218
+ /** Modified Julian Day number of the reference epoch. */
219
+ mjd: number;
220
+ /** Seconds of day (UTC) of the reference epoch. */
221
+ secondsOfDay: number;
222
+ /** Current GPS−UTC leap seconds. */
223
+ leapSeconds: number;
224
+ /** The message types this station announces it transmits. */
225
+ messages: SystemParamsMessage[];
226
+ }
227
+ /**
228
+ * Decode an RTCM3 System Parameters message (1013), or null for any other type
229
+ * or a short/corrupt frame.
230
+ */
231
+ declare function decodeSystemParams(frame: Rtcm3Frame): SystemParams | null;
232
+
206
233
  /**
207
234
  * RTCM3 station metadata decoders (messages 1005/1006, 1007/1008, 1029, 1033).
208
235
  */
@@ -219,6 +246,7 @@ interface StationMeta {
219
246
  receiverFirmware: string | null;
220
247
  receiverSerial: string | null;
221
248
  description: string | null;
249
+ physicalRefStationId: number | null;
222
250
  }
223
251
  declare function createStationMeta(): StationMeta;
224
252
  /** Update station metadata from an RTCM3 frame. Returns true if the frame was a metadata message. */
@@ -275,4 +303,4 @@ declare function rtcm3Constellation(msgType: number): string | null;
275
303
  declare function createStreamStats(): StreamStats;
276
304
  declare function updateStreamStats(stats: StreamStats, frames: Rtcm3Frame[], rawBytes: number): void;
277
305
 
278
- export { EphemerisInfo, type IgsSsrIonoLayer, type IgsSsrMessage, type MessageTypeStats, type MsmEpoch, type MsmSatObs, type MsmSignal, RTCM3_MESSAGE_NAMES, Rtcm3Frame, type SatCn0, type SignalCn0, type SsrCodeBias, type SsrKind, type SsrMessage, type SsrPhaseBias, type SsrSatCorrection, type StationMeta, type StreamStats, createStationMeta, createStreamStats, decodeIgsSsr, decodeLegacyObs, decodeMsmFull, decodeSsr, isSsrMessage, msmEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats };
306
+ export { EphemerisInfo, type IgsSsrIonoLayer, type IgsSsrMessage, type MessageTypeStats, type MsmEpoch, type MsmSatObs, type MsmSignal, RTCM3_MESSAGE_NAMES, Rtcm3Frame, type SatCn0, type SignalCn0, type SsrCodeBias, type SsrKind, type SsrMessage, type SsrPhaseBias, type SsrSatCorrection, type StationMeta, type StreamStats, type SystemParams, type SystemParamsMessage, createStationMeta, createStreamStats, decodeIgsSsr, decodeLegacyObs, decodeMsmFull, decodeSsr, decodeSystemParams, isSsrMessage, msmEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats };
package/dist/rtcm3.d.ts CHANGED
@@ -203,6 +203,33 @@ declare function resetGloFreqCache(): void;
203
203
  */
204
204
  declare function decodeLegacyObs(frame: Rtcm3Frame): MsmEpoch | null;
205
205
 
206
+ /** One announced message in the station's schedule (DF055/DF056/DF057). */
207
+ interface SystemParamsMessage {
208
+ /** RTCM message type the station broadcasts. */
209
+ messageId: number;
210
+ /** Synchronous flag. */
211
+ sync: boolean;
212
+ /** Transmission interval (seconds; 0.1 s resolution per DF057). */
213
+ intervalS: number;
214
+ }
215
+ /** Decoded RTCM3 System Parameters (message 1013). */
216
+ interface SystemParams {
217
+ referenceStationId: number;
218
+ /** Modified Julian Day number of the reference epoch. */
219
+ mjd: number;
220
+ /** Seconds of day (UTC) of the reference epoch. */
221
+ secondsOfDay: number;
222
+ /** Current GPS−UTC leap seconds. */
223
+ leapSeconds: number;
224
+ /** The message types this station announces it transmits. */
225
+ messages: SystemParamsMessage[];
226
+ }
227
+ /**
228
+ * Decode an RTCM3 System Parameters message (1013), or null for any other type
229
+ * or a short/corrupt frame.
230
+ */
231
+ declare function decodeSystemParams(frame: Rtcm3Frame): SystemParams | null;
232
+
206
233
  /**
207
234
  * RTCM3 station metadata decoders (messages 1005/1006, 1007/1008, 1029, 1033).
208
235
  */
@@ -219,6 +246,7 @@ interface StationMeta {
219
246
  receiverFirmware: string | null;
220
247
  receiverSerial: string | null;
221
248
  description: string | null;
249
+ physicalRefStationId: number | null;
222
250
  }
223
251
  declare function createStationMeta(): StationMeta;
224
252
  /** Update station metadata from an RTCM3 frame. Returns true if the frame was a metadata message. */
@@ -275,4 +303,4 @@ declare function rtcm3Constellation(msgType: number): string | null;
275
303
  declare function createStreamStats(): StreamStats;
276
304
  declare function updateStreamStats(stats: StreamStats, frames: Rtcm3Frame[], rawBytes: number): void;
277
305
 
278
- export { EphemerisInfo, type IgsSsrIonoLayer, type IgsSsrMessage, type MessageTypeStats, type MsmEpoch, type MsmSatObs, type MsmSignal, RTCM3_MESSAGE_NAMES, Rtcm3Frame, type SatCn0, type SignalCn0, type SsrCodeBias, type SsrKind, type SsrMessage, type SsrPhaseBias, type SsrSatCorrection, type StationMeta, type StreamStats, createStationMeta, createStreamStats, decodeIgsSsr, decodeLegacyObs, decodeMsmFull, decodeSsr, isSsrMessage, msmEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats };
306
+ export { EphemerisInfo, type IgsSsrIonoLayer, type IgsSsrMessage, type MessageTypeStats, type MsmEpoch, type MsmSatObs, type MsmSignal, RTCM3_MESSAGE_NAMES, Rtcm3Frame, type SatCn0, type SignalCn0, type SsrCodeBias, type SsrKind, type SsrMessage, type SsrPhaseBias, type SsrSatCorrection, type StationMeta, type StreamStats, type SystemParams, type SystemParamsMessage, createStationMeta, createStreamStats, decodeIgsSsr, decodeLegacyObs, decodeMsmFull, decodeSsr, decodeSystemParams, isSsrMessage, msmEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats };
package/dist/rtcm3.js CHANGED
@@ -9,6 +9,7 @@ import {
9
9
  decodeLegacyObs,
10
10
  decodeMsmFull,
11
11
  decodeSsr,
12
+ decodeSystemParams,
12
13
  isSsrMessage,
13
14
  msmEpochToDate,
14
15
  readString,
@@ -19,7 +20,7 @@ import {
19
20
  setRtcm3DebugHandler,
20
21
  updateStationMeta,
21
22
  updateStreamStats
22
- } from "./chunk-5SQLUGWE.js";
23
+ } from "./chunk-REULRNJ5.js";
23
24
  import "./chunk-HVXYFUCB.js";
24
25
  import "./chunk-LEEU5OIO.js";
25
26
  import "./chunk-FIEWO4J4.js";
@@ -34,6 +35,7 @@ export {
34
35
  decodeLegacyObs,
35
36
  decodeMsmFull,
36
37
  decodeSsr,
38
+ decodeSystemParams,
37
39
  isSsrMessage,
38
40
  msmEpochToDate,
39
41
  readString,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gnss-js",
3
- "version": "1.64.0",
3
+ "version": "1.65.0",
4
4
  "description": "Comprehensive GNSS library for JavaScript — time scales, coordinates, RINEX parsing, RTCM3 decoding, orbit computation, and signal analysis",
5
5
  "type": "module",
6
6
  "sideEffects": false,