@packet-net/pdn-aprs 0.1.1 → 0.3.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/CHANGELOG.md +44 -1
- package/README.md +9 -5
- package/dist/builder.d.ts +33 -8
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +64 -10
- package/dist/builder.js.map +1 -1
- package/dist/bytes.d.ts.map +1 -1
- package/dist/bytes.js +2 -1
- package/dist/bytes.js.map +1 -1
- package/dist/codes.js +8 -8
- package/dist/codes.js.map +1 -1
- package/dist/decode/index.d.ts.map +1 -1
- package/dist/decode/index.js +8 -5
- package/dist/decode/index.js.map +1 -1
- package/dist/decode/message.d.ts +2 -0
- package/dist/decode/message.d.ts.map +1 -1
- package/dist/decode/message.js +59 -33
- package/dist/decode/message.js.map +1 -1
- package/dist/decode/other.d.ts +20 -2
- package/dist/decode/other.d.ts.map +1 -1
- package/dist/decode/other.js +110 -48
- package/dist/decode/other.js.map +1 -1
- package/dist/decode/positioned.d.ts +26 -2
- package/dist/decode/positioned.d.ts.map +1 -1
- package/dist/decode/positioned.js +145 -79
- package/dist/decode/positioned.js.map +1 -1
- package/dist/decode/reports.d.ts.map +1 -1
- package/dist/decode/reports.js +47 -5
- package/dist/decode/reports.js.map +1 -1
- package/dist/decoder.d.ts.map +1 -1
- package/dist/decoder.js +2 -4
- package/dist/decoder.js.map +1 -1
- package/dist/deviceid.d.ts +8 -2
- package/dist/deviceid.d.ts.map +1 -1
- package/dist/deviceid.js +28 -6
- package/dist/deviceid.js.map +1 -1
- package/dist/encode/common.d.ts +13 -2
- package/dist/encode/common.d.ts.map +1 -1
- package/dist/encode/common.js +36 -4
- package/dist/encode/common.js.map +1 -1
- package/dist/encode/index.d.ts.map +1 -1
- package/dist/encode/index.js +59 -22
- package/dist/encode/index.js.map +1 -1
- package/dist/encode/other.d.ts.map +1 -1
- package/dist/encode/other.js +45 -17
- package/dist/encode/other.js.map +1 -1
- package/dist/encode/position.d.ts +9 -3
- package/dist/encode/position.d.ts.map +1 -1
- package/dist/encode/position.js +258 -124
- package/dist/encode/position.js.map +1 -1
- package/dist/header.d.ts +5 -2
- package/dist/header.d.ts.map +1 -1
- package/dist/header.js +8 -3
- package/dist/header.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/neutral.d.ts.map +1 -1
- package/dist/neutral.js +22 -3
- package/dist/neutral.js.map +1 -1
- package/dist/types.d.ts +19 -9
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/builder.ts +77 -14
- package/src/bytes.ts +2 -1
- package/src/codes.ts +8 -8
- package/src/decode/index.ts +7 -4
- package/src/decode/message.ts +54 -37
- package/src/decode/other.ts +116 -44
- package/src/decode/positioned.ts +159 -90
- package/src/decode/reports.ts +47 -4
- package/src/decoder.ts +2 -5
- package/src/deviceid.ts +29 -5
- package/src/encode/common.ts +34 -4
- package/src/encode/index.ts +57 -20
- package/src/encode/other.ts +39 -13
- package/src/encode/position.ts +261 -119
- package/src/header.ts +9 -2
- package/src/index.ts +1 -0
- package/src/neutral.ts +24 -3
- package/src/types.ts +20 -5
package/dist/decode/other.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"other.js","sourceRoot":"","sources":["../../src/decode/other.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"other.js","sourceRoot":"","sources":["../../src/decode/other.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,8 @@ export declare function isBase91(c: string | undefined): boolean;
|
|
|
5
5
|
export declare function base91Value(s: string): number;
|
|
6
6
|
/** Whether `c` can be an uncompressed symbol table identifier: `/`, `\`, `0`-`9`, `A`-`Z`. */
|
|
7
7
|
export declare function isSymbolTable(c: string | undefined): boolean;
|
|
8
|
-
|
|
8
|
+
/** Knots to mph, exactly: a nautical mile is 1852 m and a statute mile 1609.344 m. */
|
|
9
|
+
export declare const KNOTS_TO_MPH: number;
|
|
9
10
|
export declare const METRES_PER_FOOT = 0.3048;
|
|
10
11
|
/** A 7-byte timestamp shaped `ddhhmmz`, `ddhhmm/` or `hhmmssh` at `i`, without checking ranges. */
|
|
11
12
|
export declare function timestampAt(s: string, i: number): AprsTimestamp | undefined;
|
|
@@ -56,6 +57,13 @@ interface DaoFound {
|
|
|
56
57
|
declare const AREA_SHAPES: readonly AreaShape[];
|
|
57
58
|
declare const AREA_COLORS: readonly AreaColor[];
|
|
58
59
|
export { AREA_SHAPES, AREA_COLORS };
|
|
60
|
+
export interface ExtensionFound {
|
|
61
|
+
length: number;
|
|
62
|
+
phg?: Phg;
|
|
63
|
+
rangeMiles?: number;
|
|
64
|
+
dfs?: Dfs;
|
|
65
|
+
}
|
|
66
|
+
export declare function extensionAt(s: string, i: number): ExtensionFound | undefined;
|
|
59
67
|
declare const MICROWAVE_BASE: Record<string, number>;
|
|
60
68
|
export { MICROWAVE_BASE };
|
|
61
69
|
/** Mutable positioned fields, as they are built up. */
|
|
@@ -82,6 +90,12 @@ export interface Fields {
|
|
|
82
90
|
signpost?: string;
|
|
83
91
|
comment?: string;
|
|
84
92
|
}
|
|
93
|
+
/** Base-91 telemetry and a `!DAO!` lifted out of text, and the text left. */
|
|
94
|
+
export interface PreLifted {
|
|
95
|
+
telemetry?: CommentTelemetry;
|
|
96
|
+
dao?: DaoFound;
|
|
97
|
+
rest: string;
|
|
98
|
+
}
|
|
85
99
|
/** What the comment lifting found. */
|
|
86
100
|
interface Lifted {
|
|
87
101
|
telemetry?: CommentTelemetry;
|
|
@@ -96,6 +110,16 @@ interface Lifted {
|
|
|
96
110
|
/** The comment text left (binary). */
|
|
97
111
|
rest: string;
|
|
98
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Lifts base-91 telemetry and the last `!DAO!` outside it. A `!DAO!` is five bytes as sent, so one
|
|
115
|
+
* is never read across a `join`, a place in `s` where another element was already taken out.
|
|
116
|
+
*/
|
|
117
|
+
export declare function liftTelemetryAndDao(s: string, joins?: readonly number[]): {
|
|
118
|
+
telemetry?: CommentTelemetry;
|
|
119
|
+
dao?: DaoFound;
|
|
120
|
+
rest: string;
|
|
121
|
+
cuts: number[];
|
|
122
|
+
};
|
|
99
123
|
type MutableWeather = {
|
|
100
124
|
-readonly [K in keyof Weather]: Weather[K];
|
|
101
125
|
};
|
|
@@ -123,7 +147,7 @@ export declare function decodeAfterPosition(ctx: DecodeContext, s: string, i: nu
|
|
|
123
147
|
/** Applies a `!DAO!` to the fields. */
|
|
124
148
|
export declare function applyDao(ctx: DecodeContext, f: Fields, pos: RawPosition, dao: DaoFound | undefined): void;
|
|
125
149
|
/** Lifts the elements out of Mic-E status text after its type code, altitude and locator. */
|
|
126
|
-
export declare function liftMicEComment(ctx: DecodeContext, text: string, symbol: AprsSymbol): {
|
|
150
|
+
export declare function liftMicEComment(ctx: DecodeContext, text: string, symbol: AprsSymbol, extension: ExtensionFound | undefined, pre: PreLifted, atStart?: boolean): {
|
|
127
151
|
lifted: Lifted;
|
|
128
152
|
};
|
|
129
153
|
/** Applies lifted comment elements to fields (Mic-E). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positioned.d.ts","sourceRoot":"","sources":["../../src/decode/positioned.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,EACT,gBAAgB,EAGhB,eAAe,EACf,GAAG,EACH,SAAS,EACT,GAAG,EAEH,GAAG,EACH,KAAK,EAGL,cAAc,EACd,OAAO,EACR,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"positioned.d.ts","sourceRoot":"","sources":["../../src/decode/positioned.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,8 @@ export function isSymbolTable(c) {
|
|
|
29
29
|
function isCompressedTable(c) {
|
|
30
30
|
return c === '/' || c === '\\' || (c !== undefined && ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'j')));
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
/** Knots to mph, exactly: a nautical mile is 1852 m and a statute mile 1609.344 m. */
|
|
33
|
+
export const KNOTS_TO_MPH = 1852 / 1609.344;
|
|
33
34
|
export const METRES_PER_FOOT = 0.3048;
|
|
34
35
|
// ---- timestamps
|
|
35
36
|
/** A 7-byte timestamp shaped `ddhhmmz`, `ddhhmm/` or `hhmmssh` at `i`, without checking ranges. */
|
|
@@ -108,7 +109,9 @@ export function parseUncompressed(ctx, s, i) {
|
|
|
108
109
|
const latDegrees = Number(lat.substr(0, 2));
|
|
109
110
|
const latMinutes = ambiguousMinutes(lat[2], lat[3], lat[5], lat[6], latAmbiguity);
|
|
110
111
|
const rawLatMinutes = ambiguousMinutes(lat[2], lat[3], lat[5], lat[6], 0);
|
|
111
|
-
|
|
112
|
+
// The latitude it reports is the centre of its ambiguity box, so 90 degrees with blanked
|
|
113
|
+
// minutes (centred on 90 degrees 30 minutes) is past the pole.
|
|
114
|
+
if (rawLatMinutes >= 60 || latDegrees > 90 || (latDegrees === 90 && (rawLatMinutes > 0 || latMinutes > 0)))
|
|
112
115
|
ctx.fail('invalid-latitude');
|
|
113
116
|
let ns = lat[7];
|
|
114
117
|
if (ns === 'n' || ns === 's') {
|
|
@@ -125,13 +128,20 @@ export function parseUncompressed(ctx, s, i) {
|
|
|
125
128
|
const lon = s.substr(i + 9, 9);
|
|
126
129
|
if (!isDigit(lon[0]) || !isDigit(lon[1]) || !isDigit(lon[2]) || lon[5] !== '.')
|
|
127
130
|
ctx.fail('invalid-longitude');
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
+
// The latitude alone sets the ambiguity: a longitude place it blanks may hold a digit or a
|
|
132
|
+
// space, and is ignored; every other place is a digit (vectors interpretations.md, "Longitude
|
|
133
|
+
// blanks follow the latitude").
|
|
134
|
+
const lonPlaces = [lon[3], lon[4], lon[6], lon[7]];
|
|
135
|
+
for (let k = 0; k < 4; k++) {
|
|
136
|
+
const ignored = k >= 4 - latAmbiguity;
|
|
137
|
+
if (!isDigit(lonPlaces[k]) && !(ignored && lonPlaces[k] === ' '))
|
|
138
|
+
ctx.fail('invalid-longitude');
|
|
139
|
+
}
|
|
131
140
|
const lonDegrees = Number(lon.substr(0, 3));
|
|
132
141
|
const lonMinutes = ambiguousMinutes(lon[3], lon[4], lon[6], lon[7], latAmbiguity);
|
|
133
142
|
const rawLonMinutes = ambiguousMinutes(lon[3], lon[4], lon[6], lon[7], 0);
|
|
134
|
-
|
|
143
|
+
// As for the latitude, the centre of an ambiguous 180 degrees is past 180.
|
|
144
|
+
if (rawLonMinutes >= 60 || lonDegrees > 180 || (lonDegrees === 180 && (rawLonMinutes > 0 || lonMinutes > 0)))
|
|
135
145
|
ctx.fail('invalid-longitude');
|
|
136
146
|
let ew = lon[8];
|
|
137
147
|
if (ew === 'e' || ew === 'w') {
|
|
@@ -283,6 +293,13 @@ function daoAt(s, p) {
|
|
|
283
293
|
};
|
|
284
294
|
return undefined;
|
|
285
295
|
}
|
|
296
|
+
if (isDigit(d)) {
|
|
297
|
+
// A local datum (0-9) has no case to say how to read A and O, so it only carries spaces
|
|
298
|
+
// (vectors interpretations.md, "!DAO! datum digits").
|
|
299
|
+
if (a === ' ' && o === ' ')
|
|
300
|
+
return { start: p, dao: { datum: d, precision: 'none' }, latAdd: 0, lonAdd: 0 };
|
|
301
|
+
return undefined;
|
|
302
|
+
}
|
|
286
303
|
if (d >= 'a' && d <= 'z') {
|
|
287
304
|
const datum = d.toUpperCase();
|
|
288
305
|
if (a === ' ' && o === ' ')
|
|
@@ -316,7 +333,8 @@ function findCommentTelemetry(s) {
|
|
|
316
333
|
values.push(base91Value(body.substr(k, 2)));
|
|
317
334
|
const sequence = values[0];
|
|
318
335
|
const rest = values.slice(1);
|
|
319
|
-
|
|
336
|
+
// The binary value is eight channels; bits 9-13 are reserved and ignored (APRS12c ch. 13).
|
|
337
|
+
const telemetry = rest.length === 6 ? { sequence, analog: rest.slice(0, 5), digital: rest[5] & 0xff } : { sequence, analog: rest };
|
|
320
338
|
return { start: prev, end: last + 1, telemetry };
|
|
321
339
|
}
|
|
322
340
|
// ---- data extensions
|
|
@@ -358,7 +376,7 @@ const CSE_SPD_RE = /^([0-9]{3}|\.{3}| {3})\/([0-9]{3}|\.{3}| {3})/;
|
|
|
358
376
|
function rateValue(c) {
|
|
359
377
|
return isDigit(c) ? c.charCodeAt(0) - 48 : c.charCodeAt(0) - 55;
|
|
360
378
|
}
|
|
361
|
-
function extensionAt(s, i) {
|
|
379
|
+
export function extensionAt(s, i) {
|
|
362
380
|
const t = s.slice(i, i + 9);
|
|
363
381
|
let m = PHG_RE.exec(t);
|
|
364
382
|
if (m) {
|
|
@@ -419,8 +437,9 @@ const MICROWAVE_BASE = {
|
|
|
419
437
|
O: 24200,
|
|
420
438
|
};
|
|
421
439
|
export { MICROWAVE_BASE };
|
|
422
|
-
|
|
423
|
-
const
|
|
440
|
+
// The band letter is upper case (A96.000MHz is 1296 MHz); only MHz may be in any case.
|
|
441
|
+
const FREQ_KHZ_RE = /^([0-9]{3}|[A-O][0-9]{2})\.([0-9]{3})[Mm][Hh][Zz]/;
|
|
442
|
+
const FREQ_10KHZ_RE = /^([0-9]{3}|[A-O][0-9]{2})\.([0-9]{2}) [Mm][Hh][Zz]/;
|
|
424
443
|
function frequencyMhz(whole, fraction) {
|
|
425
444
|
const first = whole[0];
|
|
426
445
|
const base = isDigit(first) ? Number(whole) : MICROWAVE_BASE[first] + Number(whole.slice(1));
|
|
@@ -516,13 +535,18 @@ function removeRanges(s, ranges) {
|
|
|
516
535
|
}
|
|
517
536
|
return out + s.slice(from);
|
|
518
537
|
}
|
|
519
|
-
/**
|
|
520
|
-
|
|
538
|
+
/**
|
|
539
|
+
* Lifts base-91 telemetry and the last `!DAO!` outside it. A `!DAO!` is five bytes as sent, so one
|
|
540
|
+
* is never read across a `join`, a place in `s` where another element was already taken out.
|
|
541
|
+
*/
|
|
542
|
+
export function liftTelemetryAndDao(s, joins = []) {
|
|
521
543
|
const tel = findCommentTelemetry(s);
|
|
522
544
|
let dao;
|
|
523
545
|
for (let p = s.length - 5; p >= 0; p--) {
|
|
524
546
|
if (tel && p + 5 > tel.start && p < tel.end)
|
|
525
547
|
continue;
|
|
548
|
+
if (joins.some((j) => j > p && j < p + 5))
|
|
549
|
+
continue;
|
|
526
550
|
const found = daoAt(s, p);
|
|
527
551
|
if (found) {
|
|
528
552
|
dao = found;
|
|
@@ -534,7 +558,14 @@ function liftTelemetryAndDao(s) {
|
|
|
534
558
|
ranges.push([tel.start, tel.end]);
|
|
535
559
|
if (dao)
|
|
536
560
|
ranges.push([dao.start, dao.start + 5]);
|
|
537
|
-
|
|
561
|
+
// Where, in the text left, something was taken out.
|
|
562
|
+
let removed = 0;
|
|
563
|
+
const cuts = [];
|
|
564
|
+
for (const [a, b] of [...ranges].sort((x, y) => x[0] - y[0])) {
|
|
565
|
+
cuts.push(a - removed);
|
|
566
|
+
removed += b - a;
|
|
567
|
+
}
|
|
568
|
+
const out = { rest: removeRanges(s, ranges), cuts };
|
|
538
569
|
if (tel)
|
|
539
570
|
out.telemetry = tel.telemetry;
|
|
540
571
|
if (dao)
|
|
@@ -544,7 +575,7 @@ function liftTelemetryAndDao(s) {
|
|
|
544
575
|
const ALTITUDE_RE = /\/A=(-[0-9]{5}|[0-9]{6})/;
|
|
545
576
|
/** Lifts the structured elements out of a comment, in the order the vectors' README gives. */
|
|
546
577
|
function liftComment(ctx, text, options) {
|
|
547
|
-
const first = liftTelemetryAndDao(text);
|
|
578
|
+
const first = options.pre ? { ...options.pre, rest: text } : liftTelemetryAndDao(text, options.joins);
|
|
548
579
|
const lifted = { rest: first.rest };
|
|
549
580
|
if (first.telemetry)
|
|
550
581
|
lifted.telemetry = first.telemetry;
|
|
@@ -552,7 +583,11 @@ function liftComment(ctx, text, options) {
|
|
|
552
583
|
lifted.dao = first.dao;
|
|
553
584
|
let s = first.rest;
|
|
554
585
|
let extensionFound = options.extensionFound;
|
|
555
|
-
if (options.
|
|
586
|
+
if (options.extension) {
|
|
587
|
+
applyExtension(lifted, options.extension);
|
|
588
|
+
extensionFound = true;
|
|
589
|
+
}
|
|
590
|
+
else if (options.extensionAtStart) {
|
|
556
591
|
const ext = extensionAt(s, 0);
|
|
557
592
|
if (ext) {
|
|
558
593
|
applyExtension(lifted, ext);
|
|
@@ -568,16 +603,17 @@ function liftComment(ctx, text, options) {
|
|
|
568
603
|
}
|
|
569
604
|
// Signpost or corridor braces.
|
|
570
605
|
if (isSignpost(options.symbol) || options.areaLine) {
|
|
571
|
-
|
|
606
|
+
// The first well-formed braces wherever they are: 1-3 printable ASCII characters other than
|
|
607
|
+
// a brace for a signpost, 1-3 digits for a corridor. Braces that do not qualify are comment
|
|
608
|
+
// text and do not stop the search (vectors interpretations.md).
|
|
609
|
+
const signpost = isSignpost(options.symbol);
|
|
610
|
+
const brace = (signpost ? /\{([\x20-\x7a\x7c\x7e]{1,3})\}/ : /\{([0-9]{1,3})\}/).exec(s);
|
|
572
611
|
if (brace) {
|
|
573
|
-
if (
|
|
612
|
+
if (signpost)
|
|
574
613
|
lifted.signpost = brace[1];
|
|
575
|
-
|
|
576
|
-
}
|
|
577
|
-
else if (/^[0-9]{1,3}$/.test(brace[1])) {
|
|
614
|
+
else
|
|
578
615
|
lifted.corridorWidthMiles = Number(brace[1]);
|
|
579
|
-
|
|
580
|
-
}
|
|
616
|
+
s = s.slice(0, brace.index) + s.slice(brace.index + brace[0].length);
|
|
581
617
|
}
|
|
582
618
|
}
|
|
583
619
|
// A data extension later in the text, only when none came straight after the symbol.
|
|
@@ -657,7 +693,13 @@ function weatherValueRun(s, j, width, signed) {
|
|
|
657
693
|
function isLetter(c) {
|
|
658
694
|
return c !== undefined && ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'));
|
|
659
695
|
}
|
|
660
|
-
/**
|
|
696
|
+
/**
|
|
697
|
+
* Parses the run of weather fields from `j`, and reports what it finds in reading order: for a
|
|
698
|
+
* position, object or item report the wind first, where the `DDD/SSS` extension belongs (missing,
|
|
699
|
+
* incomplete, or sent as `c` and `s` fields), then each field's defects, then a missing gust or
|
|
700
|
+
* temperature. The fields are read the same whatever is tolerated, so they are read first and
|
|
701
|
+
* reported after.
|
|
702
|
+
*/
|
|
661
703
|
function parseWeatherFields(ctx, s, j, options) {
|
|
662
704
|
const w = {};
|
|
663
705
|
if (options.wind.direction !== undefined)
|
|
@@ -665,9 +707,8 @@ function parseWeatherFields(ctx, s, j, options) {
|
|
|
665
707
|
if (options.wind.speedMph !== undefined)
|
|
666
708
|
w.windSpeedMph = options.wind.speedMph;
|
|
667
709
|
const seen = new Set();
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
let warnedWindFields = false;
|
|
710
|
+
const windKnown = options.wind.present;
|
|
711
|
+
const defects = [];
|
|
671
712
|
const extra = [];
|
|
672
713
|
for (;;) {
|
|
673
714
|
const letter = s[j];
|
|
@@ -676,30 +717,45 @@ function parseWeatherFields(ctx, s, j, options) {
|
|
|
676
717
|
let key = letter;
|
|
677
718
|
const width = WEATHER_WIDTH[letter];
|
|
678
719
|
if (letter === 's') {
|
|
679
|
-
// s is the wind speed after c
|
|
720
|
+
// s is the wind speed once the wind comes as fields (after c, or anywhere in a positionless
|
|
721
|
+
// report) until the speed is known, and snowfall after that.
|
|
680
722
|
const windSlot = !seen.has('s:wind') && (seen.has('c') || (options.positionless && !windKnown));
|
|
681
723
|
key = windSlot ? 's:wind' : 's:snow';
|
|
682
724
|
}
|
|
725
|
+
// L and l are one field, luminosity.
|
|
726
|
+
if (letter === 'l')
|
|
727
|
+
key = 'L';
|
|
683
728
|
if (width !== undefined) {
|
|
684
729
|
if (seen.has(key))
|
|
685
730
|
break;
|
|
686
731
|
if (letter === 'c' && windKnown)
|
|
687
732
|
break;
|
|
688
733
|
if (key === 's:snow') {
|
|
734
|
+
// Snowfall is three characters, which may include one decimal point ("A decimal point
|
|
735
|
+
// is allowed for non-integer values", APRS12c ch. 12), so s.50 is 0.5 inches. Otherwise
|
|
736
|
+
// a run of dots, read up to the field's width, is an unknown snowfall.
|
|
689
737
|
const v = s.slice(j + 1, j + 4);
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
738
|
+
if (/^[0-9.]{3}$/.test(v) && /[0-9]/.test(v) && !/\..*\./.test(v)) {
|
|
739
|
+
w.snow24hIn = Number(v);
|
|
740
|
+
seen.add(key);
|
|
741
|
+
j += 4;
|
|
742
|
+
continue;
|
|
743
|
+
}
|
|
744
|
+
// Exactly three spaces is a snowfall sent as unknown, as for any other field.
|
|
745
|
+
if (v === ' ') {
|
|
694
746
|
seen.add(key);
|
|
695
|
-
j +=
|
|
747
|
+
j += 4;
|
|
696
748
|
continue;
|
|
697
749
|
}
|
|
698
|
-
|
|
750
|
+
// Only a run of dots may be shorter than three, and only when no digit follows it: s..6 is
|
|
751
|
+
// not a field, so the fields end there.
|
|
752
|
+
const dots = /^\.{1,3}/.exec(v)?.[0];
|
|
753
|
+
if (dots === undefined || (dots.length < 3 && isDigit(v[dots.length])))
|
|
699
754
|
break;
|
|
700
|
-
|
|
755
|
+
if (dots.length !== 3)
|
|
756
|
+
defects.push('non-standard-weather-field-width');
|
|
701
757
|
seen.add(key);
|
|
702
|
-
j +=
|
|
758
|
+
j += 1 + dots.length;
|
|
703
759
|
continue;
|
|
704
760
|
}
|
|
705
761
|
let run = weatherValueRun(s, j + 1, width, letter === 't');
|
|
@@ -708,24 +764,17 @@ function parseWeatherFields(ctx, s, j, options) {
|
|
|
708
764
|
if (run.length > width + 1)
|
|
709
765
|
run = run.slice(0, width);
|
|
710
766
|
if (run.length !== width)
|
|
711
|
-
|
|
767
|
+
defects.push('non-standard-weather-field-width');
|
|
712
768
|
seen.add(key);
|
|
713
769
|
j += 1 + run.length;
|
|
714
770
|
const unknown = /^(?:\.+| +)$/.test(run);
|
|
715
|
-
if (letter === 'c' || key === 's:wind') {
|
|
716
|
-
windFromFields = true;
|
|
717
|
-
if (!warnedWindFields && !options.positionless) {
|
|
718
|
-
warnedWindFields = true;
|
|
719
|
-
ctx.tolerate('wind-fields-instead-of-extension');
|
|
720
|
-
}
|
|
721
|
-
}
|
|
722
771
|
if (unknown)
|
|
723
772
|
continue;
|
|
724
773
|
const v = Number(run);
|
|
725
|
-
switch (key) {
|
|
774
|
+
switch (letter === 's' ? key : letter) {
|
|
726
775
|
case 'c':
|
|
727
776
|
if (v > 360)
|
|
728
|
-
|
|
777
|
+
defects.push('out-of-range-value');
|
|
729
778
|
else
|
|
730
779
|
w.windDirectionDegrees = v;
|
|
731
780
|
break;
|
|
@@ -749,7 +798,7 @@ function parseWeatherFields(ctx, s, j, options) {
|
|
|
749
798
|
break;
|
|
750
799
|
case 'h':
|
|
751
800
|
if (v > 100)
|
|
752
|
-
|
|
801
|
+
defects.push('out-of-range-value');
|
|
753
802
|
else
|
|
754
803
|
w.humidityPercent = v === 0 ? 100 : v;
|
|
755
804
|
break;
|
|
@@ -778,19 +827,28 @@ function parseWeatherFields(ctx, s, j, options) {
|
|
|
778
827
|
}
|
|
779
828
|
break;
|
|
780
829
|
}
|
|
781
|
-
if (seen.has('c') || seen.has('s:wind'))
|
|
782
|
-
windKnown = true;
|
|
783
830
|
if (extra.length > 0)
|
|
784
831
|
w.extra = extra;
|
|
785
|
-
|
|
832
|
+
const hasDirection = seen.has('c');
|
|
833
|
+
const hasSpeed = seen.has('s:wind');
|
|
834
|
+
const windFromFields = hasDirection || hasSpeed;
|
|
786
835
|
if (options.positionless) {
|
|
787
|
-
|
|
836
|
+
for (const code of defects)
|
|
837
|
+
ctx.tolerate(code);
|
|
838
|
+
if (!hasDirection || !hasSpeed || !seen.has('g') || !seen.has('t'))
|
|
788
839
|
ctx.tolerate('incomplete-weather');
|
|
789
840
|
}
|
|
790
841
|
else {
|
|
791
|
-
//
|
|
792
|
-
|
|
793
|
-
|
|
842
|
+
// The wind is decided where the DDD/SSS extension belongs, before any field. After a
|
|
843
|
+
// compressed position whose cs bytes carry none, the wind is unknown, never missing.
|
|
844
|
+
if (!windKnown) {
|
|
845
|
+
if (windFromFields)
|
|
846
|
+
ctx.tolerate('wind-fields-instead-of-extension');
|
|
847
|
+
if (!options.compressed && !(hasDirection && hasSpeed))
|
|
848
|
+
ctx.tolerate('incomplete-weather');
|
|
849
|
+
}
|
|
850
|
+
for (const code of defects)
|
|
851
|
+
ctx.tolerate(code);
|
|
794
852
|
if (!seen.has('g') || !seen.has('t'))
|
|
795
853
|
ctx.tolerate('incomplete-weather');
|
|
796
854
|
}
|
|
@@ -798,11 +856,13 @@ function parseWeatherFields(ctx, s, j, options) {
|
|
|
798
856
|
}
|
|
799
857
|
const SOFTWARE_UNIT_RE = /^([A-Za-z])([A-Za-z0-9_-]{2,4})$/;
|
|
800
858
|
/**
|
|
801
|
-
* The software type and unit after the weather fields, or the weather comment.
|
|
802
|
-
*
|
|
859
|
+
* The software type and unit after the weather fields, or the weather comment. A position's
|
|
860
|
+
* base-91 telemetry and `!DAO!` are lifted out first, and one leading delimiter is dropped from its
|
|
861
|
+
* comment; a positionless report has no position for them to belong to, so it keeps them, and its
|
|
862
|
+
* delimiter, in its comment.
|
|
803
863
|
*/
|
|
804
|
-
function weatherTail(ctx, w, rest,
|
|
805
|
-
const lifted = liftTelemetryAndDao(rest);
|
|
864
|
+
function weatherTail(ctx, w, rest, positioned) {
|
|
865
|
+
const lifted = positioned ? liftTelemetryAndDao(rest) : { rest };
|
|
806
866
|
const out = {};
|
|
807
867
|
if (lifted.telemetry)
|
|
808
868
|
out.telemetry = lifted.telemetry;
|
|
@@ -818,7 +878,7 @@ function weatherTail(ctx, w, rest, dropDelimiter = true) {
|
|
|
818
878
|
return out;
|
|
819
879
|
}
|
|
820
880
|
ctx.tolerate('weather-comment');
|
|
821
|
-
if (
|
|
881
|
+
if (positioned && (text[0] === ' ' || text[0] === '/'))
|
|
822
882
|
text = text.slice(1);
|
|
823
883
|
if (text.length > 0)
|
|
824
884
|
out.comment = text;
|
|
@@ -844,14 +904,10 @@ export function decodeAfterPosition(ctx, s, i, pos) {
|
|
|
844
904
|
if (pos.compression)
|
|
845
905
|
f.compression = pos.compression;
|
|
846
906
|
}
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
else {
|
|
852
|
-
dao = decodeExtensionAndComment(ctx, s, i, pos, f);
|
|
853
|
-
}
|
|
854
|
-
applyDao(ctx, f, pos, dao);
|
|
907
|
+
if (pos.symbol.code === '_')
|
|
908
|
+
decodeWeatherAfterPosition(ctx, s, i, pos, f);
|
|
909
|
+
else
|
|
910
|
+
decodeExtensionAndComment(ctx, s, i, pos, f);
|
|
855
911
|
return f;
|
|
856
912
|
}
|
|
857
913
|
/** Applies a `!DAO!` to the fields. */
|
|
@@ -917,12 +973,18 @@ function decodeExtensionAndComment(ctx, s, i, pos, f) {
|
|
|
917
973
|
if (pos.symbol.table === '/' && pos.symbol.code === '\\') {
|
|
918
974
|
const df = /^\/([0-9]{3})\/([0-9])([0-9])([0-9])/.exec(s.slice(i, i + 8));
|
|
919
975
|
if (df) {
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
976
|
+
// The bearing is degrees: one over 360 drops the whole /BRG/NRQ, as a course over 360 is dropped.
|
|
977
|
+
if (Number(df[1]) > 360) {
|
|
978
|
+
ctx.tolerate('out-of-range-value');
|
|
979
|
+
}
|
|
980
|
+
else {
|
|
981
|
+
f.dfBearing = {
|
|
982
|
+
bearingDegrees: Number(df[1]),
|
|
983
|
+
number: Number(df[2]),
|
|
984
|
+
range: Number(df[3]),
|
|
985
|
+
quality: Number(df[4]),
|
|
986
|
+
};
|
|
987
|
+
}
|
|
926
988
|
i += 8;
|
|
927
989
|
}
|
|
928
990
|
}
|
|
@@ -950,8 +1012,9 @@ function decodeExtensionAndComment(ctx, s, i, pos, f) {
|
|
|
950
1012
|
}
|
|
951
1013
|
const areaLine = f.area !== undefined && (f.area.shape === 'line-down-right' || f.area.shape === 'line-down-left');
|
|
952
1014
|
const lifted = liftComment(ctx, s.slice(i), { extensionFound, symbol: pos.symbol, areaLine });
|
|
1015
|
+
// The !DAO! is structure, so it is judged before the text's encoding.
|
|
1016
|
+
applyDao(ctx, f, pos, lifted.dao);
|
|
953
1017
|
applyLifted(ctx, f, lifted);
|
|
954
|
-
return lifted.dao;
|
|
955
1018
|
}
|
|
956
1019
|
function applyLifted(ctx, f, lifted) {
|
|
957
1020
|
if (lifted.altitudeFeet !== undefined)
|
|
@@ -978,7 +1041,8 @@ function applyLifted(ctx, f, lifted) {
|
|
|
978
1041
|
}
|
|
979
1042
|
const STORM_TYPES = { TS: 'tropical-storm', HC: 'hurricane', TD: 'tropical-depression' };
|
|
980
1043
|
function parseStorm(s) {
|
|
981
|
-
|
|
1044
|
+
// Each field is digits (vectors object-item/storm-data-with-a-space-in-a-field-is-text).
|
|
1045
|
+
const m = /^\/(TS|HC|TD)\/([0-9]{3})\^([0-9]{3})\/([0-9]{4})>([0-9]{3})&([0-9]{3})(?:%([0-9]{3}))?/.exec(s);
|
|
982
1046
|
if (!m)
|
|
983
1047
|
return undefined;
|
|
984
1048
|
const num = (v) => (v !== undefined && /^[0-9]+$/.test(v) ? Number(v) : undefined);
|
|
@@ -1034,7 +1098,7 @@ function decodeWeatherAfterPosition(ctx, s, i, pos, f) {
|
|
|
1034
1098
|
i += 7;
|
|
1035
1099
|
}
|
|
1036
1100
|
const parsed = parseWeatherFields(ctx, s, i, { wind, positionless: false, compressed: pos.compressed });
|
|
1037
|
-
const tail = weatherTail(ctx, parsed.weather, s.slice(parsed.end));
|
|
1101
|
+
const tail = weatherTail(ctx, parsed.weather, s.slice(parsed.end), true);
|
|
1038
1102
|
f.weather = parsed.weather;
|
|
1039
1103
|
if (pos.compressed && pos.csBlank && !windFromCs) {
|
|
1040
1104
|
const hasWind = parsed.weather.windDirectionDegrees !== undefined || parsed.weather.windSpeedMph !== undefined;
|
|
@@ -1043,18 +1107,20 @@ function decodeWeatherAfterPosition(ctx, s, i, pos, f) {
|
|
|
1043
1107
|
}
|
|
1044
1108
|
if (tail.telemetry)
|
|
1045
1109
|
f.telemetry = tail.telemetry;
|
|
1110
|
+
applyDao(ctx, f, pos, tail.dao);
|
|
1046
1111
|
if (tail.comment !== undefined) {
|
|
1047
1112
|
const text = ctx.text(tail.comment);
|
|
1048
1113
|
if (text.length > 0)
|
|
1049
1114
|
f.comment = text;
|
|
1050
1115
|
}
|
|
1051
|
-
return tail.dao;
|
|
1052
1116
|
}
|
|
1053
1117
|
// ---- Mic-E status text
|
|
1054
1118
|
/** Lifts the elements out of Mic-E status text after its type code, altitude and locator. */
|
|
1055
|
-
export function liftMicEComment(ctx, text, symbol) {
|
|
1056
|
-
const
|
|
1057
|
-
|
|
1119
|
+
export function liftMicEComment(ctx, text, symbol, extension, pre, atStart = true) {
|
|
1120
|
+
const options = extension
|
|
1121
|
+
? { extensionFound: true, extension, symbol, pre }
|
|
1122
|
+
: { extensionFound: false, extensionAtStart: atStart, symbol, pre };
|
|
1123
|
+
return { lifted: liftComment(ctx, text, options) };
|
|
1058
1124
|
}
|
|
1059
1125
|
/** Applies lifted comment elements to fields (Mic-E). */
|
|
1060
1126
|
export function applyLiftedTo(ctx, f, lifted) {
|