gnss-js 1.66.0 → 2.1.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/README.md +144 -132
- package/dist/{chunk-2CMAFEHI.js → chunk-DWUQRJ37.js} +284 -139
- package/dist/{chunk-REULRNJ5.js → chunk-WVTDVPKA.js} +151 -188
- package/dist/{ephemeris-Ohl6NAfw.d.cts → ephemeris-BAnBLLB9.d.cts} +0 -1
- package/dist/{ephemeris-Ohl6NAfw.d.ts → ephemeris-BAnBLLB9.d.ts} +0 -1
- package/dist/has-BaXnQarR.d.cts +123 -0
- package/dist/has-BaXnQarR.d.ts +123 -0
- package/dist/index.cjs +444 -331
- package/dist/index.d.cts +5 -4
- package/dist/index.d.ts +5 -4
- package/dist/index.js +14 -4
- package/dist/orbit.d.cts +1 -1
- package/dist/orbit.d.ts +1 -1
- package/dist/positioning.cjs +286 -137
- package/dist/positioning.d.cts +162 -3
- package/dist/positioning.d.ts +162 -3
- package/dist/positioning.js +9 -1
- package/dist/rtcm3.cjs +181 -217
- package/dist/rtcm3.d.cts +28 -15
- package/dist/rtcm3.d.ts +28 -15
- package/dist/rtcm3.js +5 -3
- package/dist/sbf.d.cts +2 -123
- package/dist/sbf.d.ts +2 -123
- package/package.json +1 -1
package/dist/rtcm3.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { b as Rtcm3Frame, E as EphemerisInfo } from './ephemeris-
|
|
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-
|
|
1
|
+
import { b as Rtcm3Frame, E as EphemerisInfo } from './ephemeris-BAnBLLB9.js';
|
|
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-BAnBLLB9.js';
|
|
3
3
|
|
|
4
4
|
/** One code bias for a specific signal (DF380/DF381 + DF383). */
|
|
5
5
|
interface SsrCodeBias {
|
|
@@ -127,7 +127,7 @@ declare function decodeIgsSsr(frame: Rtcm3Frame): IgsSsrMessage | null;
|
|
|
127
127
|
*/
|
|
128
128
|
|
|
129
129
|
/** Single signal observation for one satellite */
|
|
130
|
-
interface
|
|
130
|
+
interface ObsSignal {
|
|
131
131
|
/** RINEX 2-char obs code, e.g. "1C", "5X" */
|
|
132
132
|
rinexCode: string;
|
|
133
133
|
/** Pseudorange in meters (undefined if invalid) */
|
|
@@ -146,16 +146,20 @@ interface MsmSignal {
|
|
|
146
146
|
wavelength: number;
|
|
147
147
|
}
|
|
148
148
|
/** All observations for one satellite in one epoch */
|
|
149
|
-
interface
|
|
149
|
+
interface ObsSatObs {
|
|
150
150
|
/** PRN string, e.g. "G01", "R15", "E04" */
|
|
151
151
|
prn: string;
|
|
152
152
|
/** System letter: G, R, E, C, J, I, S */
|
|
153
153
|
system: string;
|
|
154
154
|
/** Signal observations */
|
|
155
|
-
signals:
|
|
155
|
+
signals: ObsSignal[];
|
|
156
156
|
}
|
|
157
|
-
/**
|
|
158
|
-
|
|
157
|
+
/**
|
|
158
|
+
* One decoded observation epoch. Originally the MSM4–7 output shape, now the
|
|
159
|
+
* neutral shape every RTCM3 obs source fills: MSM (`decodeMsmFull`), legacy
|
|
160
|
+
* 1001–1012 (`decodeLegacyObs`), via the `decodeObs` dispatcher.
|
|
161
|
+
*/
|
|
162
|
+
interface ObsEpoch {
|
|
159
163
|
/** Message type (1074, 1077, etc.) */
|
|
160
164
|
messageType: number;
|
|
161
165
|
/** Epoch time as GPS milliseconds of week (or GLONASS day-of-week ms, BDS SOW) */
|
|
@@ -163,15 +167,15 @@ interface MsmEpoch {
|
|
|
163
167
|
/** System letter */
|
|
164
168
|
system: string;
|
|
165
169
|
/** Observations per satellite */
|
|
166
|
-
observations:
|
|
170
|
+
observations: ObsSatObs[];
|
|
167
171
|
}
|
|
168
172
|
/**
|
|
169
173
|
* Decode a single RTCM3 MSM4-7 frame into full observations.
|
|
170
174
|
* Returns null for non-MSM or MSM1-3 frames.
|
|
171
175
|
*/
|
|
172
|
-
declare function decodeMsmFull(frame: Rtcm3Frame):
|
|
176
|
+
declare function decodeMsmFull(frame: Rtcm3Frame): ObsEpoch | null;
|
|
173
177
|
/**
|
|
174
|
-
* Convert
|
|
178
|
+
* Convert an observation epoch timestamp to a Date.
|
|
175
179
|
* For GPS/Galileo/BDS/QZSS: epochMs is ms of GPS week.
|
|
176
180
|
* For GLONASS: epochMs is day-of-week × 86400000 + ms of day (UTC+3).
|
|
177
181
|
*
|
|
@@ -185,7 +189,7 @@ declare function decodeMsmFull(frame: Rtcm3Frame): MsmEpoch | null;
|
|
|
185
189
|
* 18 s (the current leap-second count) off — a ±14 km per-satellite
|
|
186
190
|
* range error that scattered live SPP solutions by kilometres.
|
|
187
191
|
*/
|
|
188
|
-
declare function
|
|
192
|
+
declare function obsEpochToDate(sys: string, epochMs: number, refTime?: Date): Date;
|
|
189
193
|
/**
|
|
190
194
|
* Set a GLONASS FDMA frequency number (k = -7..+13) for a slot (1-24),
|
|
191
195
|
* e.g. from a decoded 1020 ephemeris. MSM4/6 carry no DF419, so without
|
|
@@ -199,9 +203,18 @@ declare function resetGloFreqCache(): void;
|
|
|
199
203
|
|
|
200
204
|
/**
|
|
201
205
|
* Decode a legacy RTCM3 observation frame (1001–1004 GPS, 1009–1012 GLONASS)
|
|
202
|
-
* into an {@link
|
|
206
|
+
* into an {@link ObsEpoch}, or null for any other message type.
|
|
207
|
+
*/
|
|
208
|
+
declare function decodeLegacyObs(frame: Rtcm3Frame): ObsEpoch | null;
|
|
209
|
+
/**
|
|
210
|
+
* Decode any RTCM3 observation frame into an {@link ObsEpoch}: MSM4–7 first
|
|
211
|
+
* ({@link decodeMsmFull}), then the legacy fixed-layout obs (1001–1004 GPS,
|
|
212
|
+
* 1009–1012 GLONASS) via {@link decodeLegacyObs}. Returns null for any
|
|
213
|
+
* non-observation message. This is the single obs entry point every consumer
|
|
214
|
+
* (stream stats, live SPP/QC/RTK, station monitor) should call, so a new obs
|
|
215
|
+
* source is added here once rather than at every call site.
|
|
203
216
|
*/
|
|
204
|
-
declare function
|
|
217
|
+
declare function decodeObs(frame: Rtcm3Frame): ObsEpoch | null;
|
|
205
218
|
|
|
206
219
|
/** One announced message in the station's schedule (DF055/DF056/DF057). */
|
|
207
220
|
interface SystemParamsMessage {
|
|
@@ -287,7 +300,7 @@ interface StreamStats {
|
|
|
287
300
|
messageTypes: Map<number, MessageTypeStats>;
|
|
288
301
|
bytesPerSecond: number;
|
|
289
302
|
framesPerSecond: number;
|
|
290
|
-
/** Per-satellite C/N0 from
|
|
303
|
+
/** Per-satellite C/N0 from observation messages. Key = PRN (e.g. "G01"). */
|
|
291
304
|
satellites: Map<string, SatCn0>;
|
|
292
305
|
/** Per-satellite ephemeris data. Key = PRN (e.g. "G01"). */
|
|
293
306
|
ephemerides: Map<string, EphemerisInfo>;
|
|
@@ -303,4 +316,4 @@ declare function rtcm3Constellation(msgType: number): string | null;
|
|
|
303
316
|
declare function createStreamStats(): StreamStats;
|
|
304
317
|
declare function updateStreamStats(stats: StreamStats, frames: Rtcm3Frame[], rawBytes: number): void;
|
|
305
318
|
|
|
306
|
-
export { EphemerisInfo, type IgsSsrIonoLayer, type IgsSsrMessage, type MessageTypeStats, type
|
|
319
|
+
export { EphemerisInfo, type IgsSsrIonoLayer, type IgsSsrMessage, type MessageTypeStats, type ObsEpoch, type ObsSatObs, type ObsSignal, 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, decodeObs, decodeSsr, decodeSystemParams, isSsrMessage, obsEpochToDate, resetGloFreqCache, rtcm3Constellation, setGloFreqNumber, updateStationMeta, updateStreamStats };
|
package/dist/rtcm3.js
CHANGED
|
@@ -8,10 +8,11 @@ import {
|
|
|
8
8
|
decodeIgsSsr,
|
|
9
9
|
decodeLegacyObs,
|
|
10
10
|
decodeMsmFull,
|
|
11
|
+
decodeObs,
|
|
11
12
|
decodeSsr,
|
|
12
13
|
decodeSystemParams,
|
|
13
14
|
isSsrMessage,
|
|
14
|
-
|
|
15
|
+
obsEpochToDate,
|
|
15
16
|
readString,
|
|
16
17
|
reportDecodeError,
|
|
17
18
|
resetGloFreqCache,
|
|
@@ -20,7 +21,7 @@ import {
|
|
|
20
21
|
setRtcm3DebugHandler,
|
|
21
22
|
updateStationMeta,
|
|
22
23
|
updateStreamStats
|
|
23
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-WVTDVPKA.js";
|
|
24
25
|
import "./chunk-HVXYFUCB.js";
|
|
25
26
|
import "./chunk-LEEU5OIO.js";
|
|
26
27
|
import "./chunk-FIEWO4J4.js";
|
|
@@ -34,10 +35,11 @@ export {
|
|
|
34
35
|
decodeIgsSsr,
|
|
35
36
|
decodeLegacyObs,
|
|
36
37
|
decodeMsmFull,
|
|
38
|
+
decodeObs,
|
|
37
39
|
decodeSsr,
|
|
38
40
|
decodeSystemParams,
|
|
39
41
|
isSsrMessage,
|
|
40
|
-
|
|
42
|
+
obsEpochToDate,
|
|
41
43
|
readString,
|
|
42
44
|
reportDecodeError,
|
|
43
45
|
resetGloFreqCache,
|
package/dist/sbf.d.cts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { S as SbfAlmanac, a as SbfAlmanacResult, b as SbfGlonassAlmanac, c as SbfKeplerAlmanac, d as SbfNavResult, p as parseSbfAlmanac, e as parseSbfNav } from './nav-BYmYoh9A.cjs';
|
|
2
2
|
import { R as ReceiverPvt } from './receiver-pvt-CVFvi4kT.cjs';
|
|
3
3
|
import { K as KeplerEphemeris, C as CnavEphemeris, G as GlonassEphemeris, E as Ephemeris } from './nav-DImXUdbp.cjs';
|
|
4
|
+
import { H as HasMessage } from './has-BaXnQarR.cjs';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Septentrio SBF framing shared by the measurement and navigation
|
|
@@ -496,128 +497,6 @@ declare function sbasL5MessageName(type: number): string;
|
|
|
496
497
|
/** True for L5 types that carry actual corrections (vs test/null/spare). */
|
|
497
498
|
declare function isSbasL5Correction(type: number): boolean;
|
|
498
499
|
|
|
499
|
-
/** Constellations HAS corrects: GPS (GNSS ID 0), Galileo (GNSS ID 2). */
|
|
500
|
-
type HasSystem = 'G' | 'E';
|
|
501
|
-
/** One system's satellite/signal mask (ICD §6.4.3). */
|
|
502
|
-
interface HasSystemMask {
|
|
503
|
-
/** GNSS ID as broadcast: 0 GPS, 2 Galileo. */
|
|
504
|
-
gnssId: number;
|
|
505
|
-
system: HasSystem;
|
|
506
|
-
/** Masked satellites in mask order, e.g. ["E03", "E05", ...]. */
|
|
507
|
-
prns: string[];
|
|
508
|
-
/** Set bits of the 16-bit signal mask, ascending. */
|
|
509
|
-
signalIndices: number[];
|
|
510
|
-
/** ICD names for `signalIndices`. */
|
|
511
|
-
signals: string[];
|
|
512
|
-
/**
|
|
513
|
-
* Cell mask, [satellite][signal] in mask order — true when the
|
|
514
|
-
* sat×signal combination carries biases. Null when the cell-mask
|
|
515
|
-
* availability flag is 0 (all combinations available).
|
|
516
|
-
*/
|
|
517
|
-
cellMask: boolean[][] | null;
|
|
518
|
-
/** Nav-message index the corrections refer to (0 = LNAV / I/NAV). */
|
|
519
|
-
navMessage: number;
|
|
520
|
-
}
|
|
521
|
-
/** The satellite/signal mask block of one mask ID. */
|
|
522
|
-
interface HasMasks {
|
|
523
|
-
maskId: number;
|
|
524
|
-
systems: HasSystemMask[];
|
|
525
|
-
}
|
|
526
|
-
/** Orbit correction for one satellite (ICD §6.5). */
|
|
527
|
-
interface HasOrbitCorrection {
|
|
528
|
-
system: HasSystem;
|
|
529
|
-
prn: string;
|
|
530
|
-
/** Broadcast issue of data the deltas refer to (IODE / IODNav). */
|
|
531
|
-
gnssIod: number;
|
|
532
|
-
/** Delta radial in m (LSB 0.0025), null = data not available. */
|
|
533
|
-
deltaRadial: number | null;
|
|
534
|
-
/** Delta in-track in m (LSB 0.008), null = data not available. */
|
|
535
|
-
deltaInTrack: number | null;
|
|
536
|
-
/** Delta cross-track in m (LSB 0.008), null = data not available. */
|
|
537
|
-
deltaCrossTrack: number | null;
|
|
538
|
-
}
|
|
539
|
-
interface HasOrbitBlock {
|
|
540
|
-
validityIndex: number;
|
|
541
|
-
/** Validity interval in s (null = reserved index 15). */
|
|
542
|
-
validitySeconds: number | null;
|
|
543
|
-
corrections: HasOrbitCorrection[];
|
|
544
|
-
}
|
|
545
|
-
/** Clock correction for one satellite (ICD §6.6-6.7). */
|
|
546
|
-
interface HasClockCorrection {
|
|
547
|
-
system: HasSystem;
|
|
548
|
-
prn: string;
|
|
549
|
-
/**
|
|
550
|
-
* Delta clock C0 in m, multiplier folded in; positive means the
|
|
551
|
-
* satellite clock offset grows (add Δclock/c to the broadcast
|
|
552
|
-
* clock). Null when data not available or the satellite is flagged
|
|
553
|
-
* "shall not be used" (see `notUsable`).
|
|
554
|
-
*/
|
|
555
|
-
deltaClock: number | null;
|
|
556
|
-
/** True for the reserved "insufficient accuracy, do not use" value. */
|
|
557
|
-
notUsable: boolean;
|
|
558
|
-
}
|
|
559
|
-
interface HasClockBlock {
|
|
560
|
-
validityIndex: number;
|
|
561
|
-
validitySeconds: number | null;
|
|
562
|
-
/** Delta-clock C0 multiplier per system (1-4), in mask order. */
|
|
563
|
-
multipliers: {
|
|
564
|
-
system: HasSystem;
|
|
565
|
-
multiplier: number;
|
|
566
|
-
}[];
|
|
567
|
-
corrections: HasClockCorrection[];
|
|
568
|
-
}
|
|
569
|
-
/** Code or phase bias of one satellite × signal cell (ICD §6.8-6.9). */
|
|
570
|
-
interface HasSignalBias {
|
|
571
|
-
system: HasSystem;
|
|
572
|
-
prn: string;
|
|
573
|
-
signalIndex: number;
|
|
574
|
-
signal: string;
|
|
575
|
-
/** Bias in m (code, LSB 0.02) or cycles (phase, LSB 0.01); null = N/A. */
|
|
576
|
-
bias: number | null;
|
|
577
|
-
/** Phase-discontinuity indicator (phase biases only). */
|
|
578
|
-
discontinuity?: number;
|
|
579
|
-
}
|
|
580
|
-
interface HasBiasBlock {
|
|
581
|
-
validityIndex: number;
|
|
582
|
-
validitySeconds: number | null;
|
|
583
|
-
biases: HasSignalBias[];
|
|
584
|
-
}
|
|
585
|
-
/** Which sub-blocks the MT1 header flags as present (ICD §6.2). */
|
|
586
|
-
interface HasContentFlags {
|
|
587
|
-
mask: boolean;
|
|
588
|
-
orbit: boolean;
|
|
589
|
-
clockFullSet: boolean;
|
|
590
|
-
clockSubset: boolean;
|
|
591
|
-
codeBias: boolean;
|
|
592
|
-
phaseBias: boolean;
|
|
593
|
-
}
|
|
594
|
-
/** One decoded HAS MT1 message. */
|
|
595
|
-
interface HasMessage {
|
|
596
|
-
/** Receiver time of week (s) of the page completing the message. */
|
|
597
|
-
tow?: number;
|
|
598
|
-
/** HAS status of the carrying pages (0 test, 1 operational). */
|
|
599
|
-
status: number;
|
|
600
|
-
messageId: number;
|
|
601
|
-
/** Message size in pages (= pages used for the RS decode). */
|
|
602
|
-
messageSize: number;
|
|
603
|
-
/** Time of hour of the corrections, s (0-3599, ICD §6.2). */
|
|
604
|
-
toh: number;
|
|
605
|
-
maskId: number;
|
|
606
|
-
iodSetId: number;
|
|
607
|
-
flags: HasContentFlags;
|
|
608
|
-
/** The mask block in force (own or cached, see `maskFromCache`). */
|
|
609
|
-
masks?: HasMasks;
|
|
610
|
-
/** True when `masks` came from an earlier message with this mask ID. */
|
|
611
|
-
maskFromCache: boolean;
|
|
612
|
-
orbit?: HasOrbitBlock;
|
|
613
|
-
clockFullSet?: HasClockBlock;
|
|
614
|
-
clockSubset?: HasClockBlock;
|
|
615
|
-
codeBias?: HasBiasBlock;
|
|
616
|
-
phaseBias?: HasBiasBlock;
|
|
617
|
-
/** Null when fully parsed, else why the sub-blocks are missing. */
|
|
618
|
-
parseError: string | null;
|
|
619
|
-
}
|
|
620
|
-
|
|
621
500
|
/**
|
|
622
501
|
* Septentrio SBF GALRawCNAV (4024) blocks: one 492-bit Galileo E6-B
|
|
623
502
|
* C/NAV page per block (after deinterleaving and Viterbi decoding),
|
|
@@ -731,4 +610,4 @@ interface SbfParseResult {
|
|
|
731
610
|
*/
|
|
732
611
|
declare function parseSbfMeas(data: Uint8Array): SbfParseResult;
|
|
733
612
|
|
|
734
|
-
export { CnavEphemeris, type DfmcCensus, type DfmcMessageCb, type GeoL5Result,
|
|
613
|
+
export { CnavEphemeris, type DfmcCensus, type DfmcMessageCb, type GeoL5Result, HasMessage, ReceiverPvt, SBAS_L5_MT_NAMES, SBAS_L5_PREAMBLE_UW, type SbasMessageCb, type SbfBdsNavResult, type SbfCnavEphemeris, type SbfCnavResult, type SbfGalEphemeris, type SbfGalNavResult, type SbfGeoL5Result, type SbfGeoNavResult, type SbfGloNavResult, type SbfGpsNavResult, type SbfHasMessage, type SbfHasResult, type SbfIonoUtcResult, type SbfMeasEpoch, type SbfMeasurement, type SbfNavCounts, type SbfNavigation, type SbfParseResult, type SbfPvt, type SbfPvtResult, type SbfReceiverSetup, decodeSbfNavigation, feedGeoBlock, feedGeoL5Block, isSbasL1Preamble, isSbasL5Correction, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGeoL5, parseSbfGeoNav, parseSbfGloNav, parseSbfGpsNav, parseSbfHas, parseSbfIonoUtc, parseSbfMeas, parseSbfPvt, parseSbfReceiverSetup, sbasL5MessageName, sbasL5MessageType, crc16 as sbfCrc16, scanSbfFrames };
|
package/dist/sbf.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { S as SbfAlmanac, a as SbfAlmanacResult, b as SbfGlonassAlmanac, c as SbfKeplerAlmanac, d as SbfNavResult, p as parseSbfAlmanac, e as parseSbfNav } from './nav-CN8rxL4h.js';
|
|
2
2
|
import { R as ReceiverPvt } from './receiver-pvt-CVFvi4kT.js';
|
|
3
3
|
import { K as KeplerEphemeris, C as CnavEphemeris, G as GlonassEphemeris, E as Ephemeris } from './nav-DImXUdbp.js';
|
|
4
|
+
import { H as HasMessage } from './has-BaXnQarR.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Septentrio SBF framing shared by the measurement and navigation
|
|
@@ -496,128 +497,6 @@ declare function sbasL5MessageName(type: number): string;
|
|
|
496
497
|
/** True for L5 types that carry actual corrections (vs test/null/spare). */
|
|
497
498
|
declare function isSbasL5Correction(type: number): boolean;
|
|
498
499
|
|
|
499
|
-
/** Constellations HAS corrects: GPS (GNSS ID 0), Galileo (GNSS ID 2). */
|
|
500
|
-
type HasSystem = 'G' | 'E';
|
|
501
|
-
/** One system's satellite/signal mask (ICD §6.4.3). */
|
|
502
|
-
interface HasSystemMask {
|
|
503
|
-
/** GNSS ID as broadcast: 0 GPS, 2 Galileo. */
|
|
504
|
-
gnssId: number;
|
|
505
|
-
system: HasSystem;
|
|
506
|
-
/** Masked satellites in mask order, e.g. ["E03", "E05", ...]. */
|
|
507
|
-
prns: string[];
|
|
508
|
-
/** Set bits of the 16-bit signal mask, ascending. */
|
|
509
|
-
signalIndices: number[];
|
|
510
|
-
/** ICD names for `signalIndices`. */
|
|
511
|
-
signals: string[];
|
|
512
|
-
/**
|
|
513
|
-
* Cell mask, [satellite][signal] in mask order — true when the
|
|
514
|
-
* sat×signal combination carries biases. Null when the cell-mask
|
|
515
|
-
* availability flag is 0 (all combinations available).
|
|
516
|
-
*/
|
|
517
|
-
cellMask: boolean[][] | null;
|
|
518
|
-
/** Nav-message index the corrections refer to (0 = LNAV / I/NAV). */
|
|
519
|
-
navMessage: number;
|
|
520
|
-
}
|
|
521
|
-
/** The satellite/signal mask block of one mask ID. */
|
|
522
|
-
interface HasMasks {
|
|
523
|
-
maskId: number;
|
|
524
|
-
systems: HasSystemMask[];
|
|
525
|
-
}
|
|
526
|
-
/** Orbit correction for one satellite (ICD §6.5). */
|
|
527
|
-
interface HasOrbitCorrection {
|
|
528
|
-
system: HasSystem;
|
|
529
|
-
prn: string;
|
|
530
|
-
/** Broadcast issue of data the deltas refer to (IODE / IODNav). */
|
|
531
|
-
gnssIod: number;
|
|
532
|
-
/** Delta radial in m (LSB 0.0025), null = data not available. */
|
|
533
|
-
deltaRadial: number | null;
|
|
534
|
-
/** Delta in-track in m (LSB 0.008), null = data not available. */
|
|
535
|
-
deltaInTrack: number | null;
|
|
536
|
-
/** Delta cross-track in m (LSB 0.008), null = data not available. */
|
|
537
|
-
deltaCrossTrack: number | null;
|
|
538
|
-
}
|
|
539
|
-
interface HasOrbitBlock {
|
|
540
|
-
validityIndex: number;
|
|
541
|
-
/** Validity interval in s (null = reserved index 15). */
|
|
542
|
-
validitySeconds: number | null;
|
|
543
|
-
corrections: HasOrbitCorrection[];
|
|
544
|
-
}
|
|
545
|
-
/** Clock correction for one satellite (ICD §6.6-6.7). */
|
|
546
|
-
interface HasClockCorrection {
|
|
547
|
-
system: HasSystem;
|
|
548
|
-
prn: string;
|
|
549
|
-
/**
|
|
550
|
-
* Delta clock C0 in m, multiplier folded in; positive means the
|
|
551
|
-
* satellite clock offset grows (add Δclock/c to the broadcast
|
|
552
|
-
* clock). Null when data not available or the satellite is flagged
|
|
553
|
-
* "shall not be used" (see `notUsable`).
|
|
554
|
-
*/
|
|
555
|
-
deltaClock: number | null;
|
|
556
|
-
/** True for the reserved "insufficient accuracy, do not use" value. */
|
|
557
|
-
notUsable: boolean;
|
|
558
|
-
}
|
|
559
|
-
interface HasClockBlock {
|
|
560
|
-
validityIndex: number;
|
|
561
|
-
validitySeconds: number | null;
|
|
562
|
-
/** Delta-clock C0 multiplier per system (1-4), in mask order. */
|
|
563
|
-
multipliers: {
|
|
564
|
-
system: HasSystem;
|
|
565
|
-
multiplier: number;
|
|
566
|
-
}[];
|
|
567
|
-
corrections: HasClockCorrection[];
|
|
568
|
-
}
|
|
569
|
-
/** Code or phase bias of one satellite × signal cell (ICD §6.8-6.9). */
|
|
570
|
-
interface HasSignalBias {
|
|
571
|
-
system: HasSystem;
|
|
572
|
-
prn: string;
|
|
573
|
-
signalIndex: number;
|
|
574
|
-
signal: string;
|
|
575
|
-
/** Bias in m (code, LSB 0.02) or cycles (phase, LSB 0.01); null = N/A. */
|
|
576
|
-
bias: number | null;
|
|
577
|
-
/** Phase-discontinuity indicator (phase biases only). */
|
|
578
|
-
discontinuity?: number;
|
|
579
|
-
}
|
|
580
|
-
interface HasBiasBlock {
|
|
581
|
-
validityIndex: number;
|
|
582
|
-
validitySeconds: number | null;
|
|
583
|
-
biases: HasSignalBias[];
|
|
584
|
-
}
|
|
585
|
-
/** Which sub-blocks the MT1 header flags as present (ICD §6.2). */
|
|
586
|
-
interface HasContentFlags {
|
|
587
|
-
mask: boolean;
|
|
588
|
-
orbit: boolean;
|
|
589
|
-
clockFullSet: boolean;
|
|
590
|
-
clockSubset: boolean;
|
|
591
|
-
codeBias: boolean;
|
|
592
|
-
phaseBias: boolean;
|
|
593
|
-
}
|
|
594
|
-
/** One decoded HAS MT1 message. */
|
|
595
|
-
interface HasMessage {
|
|
596
|
-
/** Receiver time of week (s) of the page completing the message. */
|
|
597
|
-
tow?: number;
|
|
598
|
-
/** HAS status of the carrying pages (0 test, 1 operational). */
|
|
599
|
-
status: number;
|
|
600
|
-
messageId: number;
|
|
601
|
-
/** Message size in pages (= pages used for the RS decode). */
|
|
602
|
-
messageSize: number;
|
|
603
|
-
/** Time of hour of the corrections, s (0-3599, ICD §6.2). */
|
|
604
|
-
toh: number;
|
|
605
|
-
maskId: number;
|
|
606
|
-
iodSetId: number;
|
|
607
|
-
flags: HasContentFlags;
|
|
608
|
-
/** The mask block in force (own or cached, see `maskFromCache`). */
|
|
609
|
-
masks?: HasMasks;
|
|
610
|
-
/** True when `masks` came from an earlier message with this mask ID. */
|
|
611
|
-
maskFromCache: boolean;
|
|
612
|
-
orbit?: HasOrbitBlock;
|
|
613
|
-
clockFullSet?: HasClockBlock;
|
|
614
|
-
clockSubset?: HasClockBlock;
|
|
615
|
-
codeBias?: HasBiasBlock;
|
|
616
|
-
phaseBias?: HasBiasBlock;
|
|
617
|
-
/** Null when fully parsed, else why the sub-blocks are missing. */
|
|
618
|
-
parseError: string | null;
|
|
619
|
-
}
|
|
620
|
-
|
|
621
500
|
/**
|
|
622
501
|
* Septentrio SBF GALRawCNAV (4024) blocks: one 492-bit Galileo E6-B
|
|
623
502
|
* C/NAV page per block (after deinterleaving and Viterbi decoding),
|
|
@@ -731,4 +610,4 @@ interface SbfParseResult {
|
|
|
731
610
|
*/
|
|
732
611
|
declare function parseSbfMeas(data: Uint8Array): SbfParseResult;
|
|
733
612
|
|
|
734
|
-
export { CnavEphemeris, type DfmcCensus, type DfmcMessageCb, type GeoL5Result,
|
|
613
|
+
export { CnavEphemeris, type DfmcCensus, type DfmcMessageCb, type GeoL5Result, HasMessage, ReceiverPvt, SBAS_L5_MT_NAMES, SBAS_L5_PREAMBLE_UW, type SbasMessageCb, type SbfBdsNavResult, type SbfCnavEphemeris, type SbfCnavResult, type SbfGalEphemeris, type SbfGalNavResult, type SbfGeoL5Result, type SbfGeoNavResult, type SbfGloNavResult, type SbfGpsNavResult, type SbfHasMessage, type SbfHasResult, type SbfIonoUtcResult, type SbfMeasEpoch, type SbfMeasurement, type SbfNavCounts, type SbfNavigation, type SbfParseResult, type SbfPvt, type SbfPvtResult, type SbfReceiverSetup, decodeSbfNavigation, feedGeoBlock, feedGeoL5Block, isSbasL1Preamble, isSbasL5Correction, parseSbfBdsNav, parseSbfCnav, parseSbfGalNav, parseSbfGeoL5, parseSbfGeoNav, parseSbfGloNav, parseSbfGpsNav, parseSbfHas, parseSbfIonoUtc, parseSbfMeas, parseSbfPvt, parseSbfReceiverSetup, sbasL5MessageName, sbasL5MessageType, crc16 as sbfCrc16, scanSbfFrames };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gnss-js",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "2.1.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,
|