gnss-js 1.63.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.
package/dist/rtcm3.d.ts CHANGED
@@ -1,6 +1,121 @@
1
1
  import { b as Rtcm3Frame, E as EphemerisInfo } from './ephemeris-Ohl6NAfw.js';
2
2
  export { B as BitReader, R as Rtcm3DebugHandler, a as Rtcm3Decoder, d as decodeEphemeris, r as readString, c as reportDecodeError, s as setRtcm3DebugHandler } from './ephemeris-Ohl6NAfw.js';
3
3
 
4
+ /** One code bias for a specific signal (DF380/DF381 + DF383). */
5
+ interface SsrCodeBias {
6
+ /** Signal & tracking-mode indicator (DF380 GPS / DF381 GLONASS). */
7
+ signal: number;
8
+ /** Human-readable signal name. */
9
+ signalName: string;
10
+ /** Code bias (metres). */
11
+ biasM: number;
12
+ }
13
+ /** One phase bias for a signal — IGS-SSR (4076 IGM06) only. */
14
+ interface SsrPhaseBias {
15
+ signal: number;
16
+ /** Bias is a fixable integer number of cycles. */
17
+ integer: boolean;
18
+ /** Wide-lane integer group indicator (0–3). */
19
+ wideLaneGroup: number;
20
+ /** Discontinuity counter — increments on a phase-bias reset/slip. */
21
+ discontinuity: number;
22
+ /** Phase bias (metres). */
23
+ biasM: number;
24
+ }
25
+ /** Per-satellite SSR correction (fields present depend on the message kind). */
26
+ interface SsrSatCorrection {
27
+ prn: string;
28
+ /** Issue of data ephemeris this correction refers to (orbit/combined msgs). */
29
+ iode?: number;
30
+ /** Orbit correction in the radial/along/cross frame (metres). */
31
+ deltaRadial?: number;
32
+ deltaAlongTrack?: number;
33
+ deltaCrossTrack?: number;
34
+ /** Orbit correction rate (m/s). */
35
+ dotRadial?: number;
36
+ dotAlongTrack?: number;
37
+ dotCrossTrack?: number;
38
+ /** Clock correction polynomial: c0 (m), c1 (m/s), c2 (m/s²). */
39
+ c0?: number;
40
+ c1?: number;
41
+ c2?: number;
42
+ /** High-rate clock correction (metres), added to the c0/c1/c2 polynomial. */
43
+ highRateClock?: number;
44
+ /** User range accuracy, 1σ (mm); null when undefined/unknown. */
45
+ uraMm?: number | null;
46
+ /** Per-signal code biases. */
47
+ codeBiases?: SsrCodeBias[];
48
+ /** Per-signal phase biases (IGS-SSR 4076 only). */
49
+ phaseBiases?: SsrPhaseBias[];
50
+ }
51
+ type SsrKind = 'orbit' | 'clock' | 'codeBias' | 'combined' | 'ura' | 'highRateClock';
52
+ /** A decoded SSR message (one of 1057–1068). */
53
+ interface SsrMessage {
54
+ messageType: number;
55
+ /** System letter: 'G' (GPS) or 'R' (GLONASS). */
56
+ system: 'G' | 'R';
57
+ kind: SsrKind;
58
+ /** Epoch time: seconds of GPS week (GPS) or seconds of GLONASS day (GLONASS). */
59
+ epochS: number;
60
+ /** SSR update interval (seconds) decoded from DF391. */
61
+ updateIntervalS: number;
62
+ /** True when more SSR messages for this epoch follow (DF388). */
63
+ multipleMessage: boolean;
64
+ /** Satellite reference datum (orbit/combined only): 0 = ITRF, 1 = regional. */
65
+ referenceDatum?: number;
66
+ iodSsr: number;
67
+ providerId: number;
68
+ solutionId: number;
69
+ satellites: SsrSatCorrection[];
70
+ }
71
+ /**
72
+ * Decode an RTCM3 SSR message (1057–1068) into an {@link SsrMessage}, or null
73
+ * for any other message type.
74
+ */
75
+ declare function decodeSsr(frame: Rtcm3Frame): SsrMessage | null;
76
+ /** True if the message type is an RTCM3 SSR correction (1057–1068). */
77
+ declare function isSsrMessage(messageType: number): boolean;
78
+
79
+ /** A decoded IGS-SSR (4076) message. */
80
+ interface IgsSsrMessage {
81
+ messageType: 4076;
82
+ /** IGS SSR format version (IDF001). */
83
+ version: number;
84
+ /** IGS Message Number / subtype (IDF002). */
85
+ igsMessageNumber: number;
86
+ /** System letter, or 'I' for the ionosphere (VTEC) message. */
87
+ system: 'G' | 'R' | 'E' | 'J' | 'C' | 'S' | 'I';
88
+ kind: SsrKind | 'phaseBias' | 'ionosphere';
89
+ epochS: number;
90
+ updateIntervalS: number;
91
+ multipleMessage: boolean;
92
+ referenceDatum?: number;
93
+ iodSsr: number;
94
+ providerId: number;
95
+ solutionId: number;
96
+ /** Phase-bias header consistency indicators (phaseBias only). */
97
+ dispersiveConsistency?: boolean;
98
+ mwConsistency?: boolean;
99
+ satellites: SsrSatCorrection[];
100
+ /** Ionosphere summary (IM201 only). */
101
+ iono?: {
102
+ qualityTecu: number;
103
+ layers: IgsSsrIonoLayer[];
104
+ };
105
+ }
106
+ /** One ionospheric layer header (IM201). */
107
+ interface IgsSsrIonoLayer {
108
+ heightKm: number;
109
+ degree: number;
110
+ order: number;
111
+ coefficientCount: number;
112
+ }
113
+ /**
114
+ * Decode an RTCM3 IGS-SSR message (4076) into an {@link IgsSsrMessage}, or null
115
+ * if the frame is not 4076 or carries an unrecognised subtype.
116
+ */
117
+ declare function decodeIgsSsr(frame: Rtcm3Frame): IgsSsrMessage | null;
118
+
4
119
  /**
5
120
  * Full RTCM3 MSM4-7 decoder — extracts pseudorange, carrier phase,
6
121
  * Doppler, and C/N0 for every satellite × signal cell.
@@ -88,6 +203,33 @@ declare function resetGloFreqCache(): void;
88
203
  */
89
204
  declare function decodeLegacyObs(frame: Rtcm3Frame): MsmEpoch | null;
90
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
+
91
233
  /**
92
234
  * RTCM3 station metadata decoders (messages 1005/1006, 1007/1008, 1029, 1033).
93
235
  */
@@ -104,6 +246,7 @@ interface StationMeta {
104
246
  receiverFirmware: string | null;
105
247
  receiverSerial: string | null;
106
248
  description: string | null;
249
+ physicalRefStationId: number | null;
107
250
  }
108
251
  declare function createStationMeta(): StationMeta;
109
252
  /** Update station metadata from an RTCM3 frame. Returns true if the frame was a metadata message. */
@@ -160,4 +303,4 @@ declare function rtcm3Constellation(msgType: number): string | null;
160
303
  declare function createStreamStats(): StreamStats;
161
304
  declare function updateStreamStats(stats: StreamStats, frames: Rtcm3Frame[], rawBytes: number): void;
162
305
 
163
- export { EphemerisInfo, type MessageTypeStats, type MsmEpoch, type MsmSatObs, type MsmSignal, RTCM3_MESSAGE_NAMES, Rtcm3Frame, type SatCn0, type SignalCn0, type StationMeta, type StreamStats, createStationMeta, createStreamStats, decodeLegacyObs, decodeMsmFull, 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
@@ -5,8 +5,12 @@ import {
5
5
  createStationMeta,
6
6
  createStreamStats,
7
7
  decodeEphemeris,
8
+ decodeIgsSsr,
8
9
  decodeLegacyObs,
9
10
  decodeMsmFull,
11
+ decodeSsr,
12
+ decodeSystemParams,
13
+ isSsrMessage,
10
14
  msmEpochToDate,
11
15
  readString,
12
16
  reportDecodeError,
@@ -16,7 +20,7 @@ import {
16
20
  setRtcm3DebugHandler,
17
21
  updateStationMeta,
18
22
  updateStreamStats
19
- } from "./chunk-QN7Q2ALS.js";
23
+ } from "./chunk-REULRNJ5.js";
20
24
  import "./chunk-HVXYFUCB.js";
21
25
  import "./chunk-LEEU5OIO.js";
22
26
  import "./chunk-FIEWO4J4.js";
@@ -27,8 +31,12 @@ export {
27
31
  createStationMeta,
28
32
  createStreamStats,
29
33
  decodeEphemeris,
34
+ decodeIgsSsr,
30
35
  decodeLegacyObs,
31
36
  decodeMsmFull,
37
+ decodeSsr,
38
+ decodeSystemParams,
39
+ isSsrMessage,
32
40
  msmEpochToDate,
33
41
  readString,
34
42
  reportDecodeError,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gnss-js",
3
- "version": "1.63.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,