@packet-net/pdn-aprs 0.1.1 → 0.2.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 +15 -0
- package/README.md +2 -2
- 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.js +3 -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 +10 -2
- package/dist/decode/positioned.d.ts.map +1 -1
- package/dist/decode/positioned.js +129 -77
- package/dist/decode/positioned.js.map +1 -1
- package/dist/decode/reports.d.ts.map +1 -1
- package/dist/decode/reports.js +24 -4
- package/dist/decode/reports.js.map +1 -1
- package/dist/deviceid.d.ts.map +1 -1
- package/dist/deviceid.js +18 -4
- package/dist/deviceid.js.map +1 -1
- package/dist/encode/index.d.ts.map +1 -1
- package/dist/encode/index.js +29 -12
- package/dist/encode/index.js.map +1 -1
- package/dist/encode/other.d.ts.map +1 -1
- package/dist/encode/other.js +35 -15
- package/dist/encode/other.js.map +1 -1
- package/dist/encode/position.d.ts +4 -2
- package/dist/encode/position.d.ts.map +1 -1
- package/dist/encode/position.js +58 -22
- 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/neutral.d.ts.map +1 -1
- package/dist/neutral.js +2 -0
- package/dist/neutral.js.map +1 -1
- package/dist/types.d.ts +6 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/bytes.ts +2 -1
- package/src/codes.ts +8 -8
- package/src/decode/index.ts +3 -4
- package/src/decode/message.ts +54 -37
- package/src/decode/other.ts +116 -44
- package/src/decode/positioned.ts +133 -88
- package/src/decode/reports.ts +22 -3
- package/src/deviceid.ts +17 -2
- package/src/encode/index.ts +30 -12
- package/src/encode/other.ts +27 -11
- package/src/encode/position.ts +54 -20
- package/src/header.ts +9 -2
- package/src/neutral.ts +2 -0
- package/src/types.ts +6 -4
|
@@ -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
|
+
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;
|
|
@@ -544,7 +568,7 @@ function liftTelemetryAndDao(s) {
|
|
|
544
568
|
const ALTITUDE_RE = /\/A=(-[0-9]{5}|[0-9]{6})/;
|
|
545
569
|
/** Lifts the structured elements out of a comment, in the order the vectors' README gives. */
|
|
546
570
|
function liftComment(ctx, text, options) {
|
|
547
|
-
const first = liftTelemetryAndDao(text);
|
|
571
|
+
const first = liftTelemetryAndDao(text, options.joins);
|
|
548
572
|
const lifted = { rest: first.rest };
|
|
549
573
|
if (first.telemetry)
|
|
550
574
|
lifted.telemetry = first.telemetry;
|
|
@@ -552,7 +576,11 @@ function liftComment(ctx, text, options) {
|
|
|
552
576
|
lifted.dao = first.dao;
|
|
553
577
|
let s = first.rest;
|
|
554
578
|
let extensionFound = options.extensionFound;
|
|
555
|
-
if (options.
|
|
579
|
+
if (options.extension) {
|
|
580
|
+
applyExtension(lifted, options.extension);
|
|
581
|
+
extensionFound = true;
|
|
582
|
+
}
|
|
583
|
+
else if (options.extensionAtStart) {
|
|
556
584
|
const ext = extensionAt(s, 0);
|
|
557
585
|
if (ext) {
|
|
558
586
|
applyExtension(lifted, ext);
|
|
@@ -568,16 +596,17 @@ function liftComment(ctx, text, options) {
|
|
|
568
596
|
}
|
|
569
597
|
// Signpost or corridor braces.
|
|
570
598
|
if (isSignpost(options.symbol) || options.areaLine) {
|
|
571
|
-
|
|
599
|
+
// The first well-formed braces wherever they are: 1-3 printable ASCII characters other than
|
|
600
|
+
// a brace for a signpost, 1-3 digits for a corridor. Braces that do not qualify are comment
|
|
601
|
+
// text and do not stop the search (vectors interpretations.md).
|
|
602
|
+
const signpost = isSignpost(options.symbol);
|
|
603
|
+
const brace = (signpost ? /\{([\x20-\x7a\x7c\x7e]{1,3})\}/ : /\{([0-9]{1,3})\}/).exec(s);
|
|
572
604
|
if (brace) {
|
|
573
|
-
if (
|
|
605
|
+
if (signpost)
|
|
574
606
|
lifted.signpost = brace[1];
|
|
575
|
-
|
|
576
|
-
}
|
|
577
|
-
else if (/^[0-9]{1,3}$/.test(brace[1])) {
|
|
607
|
+
else
|
|
578
608
|
lifted.corridorWidthMiles = Number(brace[1]);
|
|
579
|
-
|
|
580
|
-
}
|
|
609
|
+
s = s.slice(0, brace.index) + s.slice(brace.index + brace[0].length);
|
|
581
610
|
}
|
|
582
611
|
}
|
|
583
612
|
// A data extension later in the text, only when none came straight after the symbol.
|
|
@@ -657,7 +686,13 @@ function weatherValueRun(s, j, width, signed) {
|
|
|
657
686
|
function isLetter(c) {
|
|
658
687
|
return c !== undefined && ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'));
|
|
659
688
|
}
|
|
660
|
-
/**
|
|
689
|
+
/**
|
|
690
|
+
* Parses the run of weather fields from `j`, and reports what it finds in reading order: for a
|
|
691
|
+
* position, object or item report the wind first, where the `DDD/SSS` extension belongs (missing,
|
|
692
|
+
* incomplete, or sent as `c` and `s` fields), then each field's defects, then a missing gust or
|
|
693
|
+
* temperature. The fields are read the same whatever is tolerated, so they are read first and
|
|
694
|
+
* reported after.
|
|
695
|
+
*/
|
|
661
696
|
function parseWeatherFields(ctx, s, j, options) {
|
|
662
697
|
const w = {};
|
|
663
698
|
if (options.wind.direction !== undefined)
|
|
@@ -665,9 +700,8 @@ function parseWeatherFields(ctx, s, j, options) {
|
|
|
665
700
|
if (options.wind.speedMph !== undefined)
|
|
666
701
|
w.windSpeedMph = options.wind.speedMph;
|
|
667
702
|
const seen = new Set();
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
let warnedWindFields = false;
|
|
703
|
+
const windKnown = options.wind.present;
|
|
704
|
+
const defects = [];
|
|
671
705
|
const extra = [];
|
|
672
706
|
for (;;) {
|
|
673
707
|
const letter = s[j];
|
|
@@ -676,30 +710,39 @@ function parseWeatherFields(ctx, s, j, options) {
|
|
|
676
710
|
let key = letter;
|
|
677
711
|
const width = WEATHER_WIDTH[letter];
|
|
678
712
|
if (letter === 's') {
|
|
679
|
-
// s is the wind speed after c
|
|
713
|
+
// s is the wind speed once the wind comes as fields (after c, or anywhere in a positionless
|
|
714
|
+
// report) until the speed is known, and snowfall after that.
|
|
680
715
|
const windSlot = !seen.has('s:wind') && (seen.has('c') || (options.positionless && !windKnown));
|
|
681
716
|
key = windSlot ? 's:wind' : 's:snow';
|
|
682
717
|
}
|
|
718
|
+
// L and l are one field, luminosity.
|
|
719
|
+
if (letter === 'l')
|
|
720
|
+
key = 'L';
|
|
683
721
|
if (width !== undefined) {
|
|
684
722
|
if (seen.has(key))
|
|
685
723
|
break;
|
|
686
724
|
if (letter === 'c' && windKnown)
|
|
687
725
|
break;
|
|
688
726
|
if (key === 's:snow') {
|
|
727
|
+
// Snowfall is three characters, which may include one decimal point ("A decimal point
|
|
728
|
+
// is allowed for non-integer values", APRS12c ch. 12), so s.50 is 0.5 inches. Otherwise
|
|
729
|
+
// a run of dots, read up to the field's width, is an unknown snowfall.
|
|
689
730
|
const v = s.slice(j + 1, j + 4);
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
if (dots.length !== 3)
|
|
693
|
-
ctx.tolerate('non-standard-weather-field-width');
|
|
731
|
+
if (/^[0-9.]{3}$/.test(v) && /[0-9]/.test(v) && !/\..*\./.test(v)) {
|
|
732
|
+
w.snow24hIn = Number(v);
|
|
694
733
|
seen.add(key);
|
|
695
|
-
j +=
|
|
734
|
+
j += 4;
|
|
696
735
|
continue;
|
|
697
736
|
}
|
|
698
|
-
|
|
737
|
+
// Only a run of dots may be shorter than three, and only when no digit follows it: s..6 is
|
|
738
|
+
// not a field, so the fields end there.
|
|
739
|
+
const dots = /^\.{1,3}/.exec(v)?.[0];
|
|
740
|
+
if (dots === undefined || (dots.length < 3 && isDigit(v[dots.length])))
|
|
699
741
|
break;
|
|
700
|
-
|
|
742
|
+
if (dots.length !== 3)
|
|
743
|
+
defects.push('non-standard-weather-field-width');
|
|
701
744
|
seen.add(key);
|
|
702
|
-
j +=
|
|
745
|
+
j += 1 + dots.length;
|
|
703
746
|
continue;
|
|
704
747
|
}
|
|
705
748
|
let run = weatherValueRun(s, j + 1, width, letter === 't');
|
|
@@ -708,24 +751,17 @@ function parseWeatherFields(ctx, s, j, options) {
|
|
|
708
751
|
if (run.length > width + 1)
|
|
709
752
|
run = run.slice(0, width);
|
|
710
753
|
if (run.length !== width)
|
|
711
|
-
|
|
754
|
+
defects.push('non-standard-weather-field-width');
|
|
712
755
|
seen.add(key);
|
|
713
756
|
j += 1 + run.length;
|
|
714
757
|
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
758
|
if (unknown)
|
|
723
759
|
continue;
|
|
724
760
|
const v = Number(run);
|
|
725
|
-
switch (key) {
|
|
761
|
+
switch (letter === 's' ? key : letter) {
|
|
726
762
|
case 'c':
|
|
727
763
|
if (v > 360)
|
|
728
|
-
|
|
764
|
+
defects.push('out-of-range-value');
|
|
729
765
|
else
|
|
730
766
|
w.windDirectionDegrees = v;
|
|
731
767
|
break;
|
|
@@ -749,7 +785,7 @@ function parseWeatherFields(ctx, s, j, options) {
|
|
|
749
785
|
break;
|
|
750
786
|
case 'h':
|
|
751
787
|
if (v > 100)
|
|
752
|
-
|
|
788
|
+
defects.push('out-of-range-value');
|
|
753
789
|
else
|
|
754
790
|
w.humidityPercent = v === 0 ? 100 : v;
|
|
755
791
|
break;
|
|
@@ -778,19 +814,28 @@ function parseWeatherFields(ctx, s, j, options) {
|
|
|
778
814
|
}
|
|
779
815
|
break;
|
|
780
816
|
}
|
|
781
|
-
if (seen.has('c') || seen.has('s:wind'))
|
|
782
|
-
windKnown = true;
|
|
783
817
|
if (extra.length > 0)
|
|
784
818
|
w.extra = extra;
|
|
785
|
-
|
|
819
|
+
const hasDirection = seen.has('c');
|
|
820
|
+
const hasSpeed = seen.has('s:wind');
|
|
821
|
+
const windFromFields = hasDirection || hasSpeed;
|
|
786
822
|
if (options.positionless) {
|
|
787
|
-
|
|
823
|
+
for (const code of defects)
|
|
824
|
+
ctx.tolerate(code);
|
|
825
|
+
if (!hasDirection || !hasSpeed || !seen.has('g') || !seen.has('t'))
|
|
788
826
|
ctx.tolerate('incomplete-weather');
|
|
789
827
|
}
|
|
790
828
|
else {
|
|
791
|
-
//
|
|
792
|
-
|
|
793
|
-
|
|
829
|
+
// The wind is decided where the DDD/SSS extension belongs, before any field. After a
|
|
830
|
+
// compressed position whose cs bytes carry none, the wind is unknown, never missing.
|
|
831
|
+
if (!windKnown) {
|
|
832
|
+
if (windFromFields)
|
|
833
|
+
ctx.tolerate('wind-fields-instead-of-extension');
|
|
834
|
+
if (!options.compressed && !(hasDirection && hasSpeed))
|
|
835
|
+
ctx.tolerate('incomplete-weather');
|
|
836
|
+
}
|
|
837
|
+
for (const code of defects)
|
|
838
|
+
ctx.tolerate(code);
|
|
794
839
|
if (!seen.has('g') || !seen.has('t'))
|
|
795
840
|
ctx.tolerate('incomplete-weather');
|
|
796
841
|
}
|
|
@@ -798,11 +843,13 @@ function parseWeatherFields(ctx, s, j, options) {
|
|
|
798
843
|
}
|
|
799
844
|
const SOFTWARE_UNIT_RE = /^([A-Za-z])([A-Za-z0-9_-]{2,4})$/;
|
|
800
845
|
/**
|
|
801
|
-
* The software type and unit after the weather fields, or the weather comment.
|
|
802
|
-
*
|
|
846
|
+
* The software type and unit after the weather fields, or the weather comment. A position's
|
|
847
|
+
* base-91 telemetry and `!DAO!` are lifted out first, and one leading delimiter is dropped from its
|
|
848
|
+
* comment; a positionless report has no position for them to belong to, so it keeps them, and its
|
|
849
|
+
* delimiter, in its comment.
|
|
803
850
|
*/
|
|
804
|
-
function weatherTail(ctx, w, rest,
|
|
805
|
-
const lifted = liftTelemetryAndDao(rest);
|
|
851
|
+
function weatherTail(ctx, w, rest, positioned) {
|
|
852
|
+
const lifted = positioned ? liftTelemetryAndDao(rest) : { rest };
|
|
806
853
|
const out = {};
|
|
807
854
|
if (lifted.telemetry)
|
|
808
855
|
out.telemetry = lifted.telemetry;
|
|
@@ -818,7 +865,7 @@ function weatherTail(ctx, w, rest, dropDelimiter = true) {
|
|
|
818
865
|
return out;
|
|
819
866
|
}
|
|
820
867
|
ctx.tolerate('weather-comment');
|
|
821
|
-
if (
|
|
868
|
+
if (positioned && (text[0] === ' ' || text[0] === '/'))
|
|
822
869
|
text = text.slice(1);
|
|
823
870
|
if (text.length > 0)
|
|
824
871
|
out.comment = text;
|
|
@@ -844,14 +891,10 @@ export function decodeAfterPosition(ctx, s, i, pos) {
|
|
|
844
891
|
if (pos.compression)
|
|
845
892
|
f.compression = pos.compression;
|
|
846
893
|
}
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
else {
|
|
852
|
-
dao = decodeExtensionAndComment(ctx, s, i, pos, f);
|
|
853
|
-
}
|
|
854
|
-
applyDao(ctx, f, pos, dao);
|
|
894
|
+
if (pos.symbol.code === '_')
|
|
895
|
+
decodeWeatherAfterPosition(ctx, s, i, pos, f);
|
|
896
|
+
else
|
|
897
|
+
decodeExtensionAndComment(ctx, s, i, pos, f);
|
|
855
898
|
return f;
|
|
856
899
|
}
|
|
857
900
|
/** Applies a `!DAO!` to the fields. */
|
|
@@ -917,12 +960,18 @@ function decodeExtensionAndComment(ctx, s, i, pos, f) {
|
|
|
917
960
|
if (pos.symbol.table === '/' && pos.symbol.code === '\\') {
|
|
918
961
|
const df = /^\/([0-9]{3})\/([0-9])([0-9])([0-9])/.exec(s.slice(i, i + 8));
|
|
919
962
|
if (df) {
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
963
|
+
// The bearing is degrees: one over 360 drops the whole /BRG/NRQ, as a course over 360 is dropped.
|
|
964
|
+
if (Number(df[1]) > 360) {
|
|
965
|
+
ctx.tolerate('out-of-range-value');
|
|
966
|
+
}
|
|
967
|
+
else {
|
|
968
|
+
f.dfBearing = {
|
|
969
|
+
bearingDegrees: Number(df[1]),
|
|
970
|
+
number: Number(df[2]),
|
|
971
|
+
range: Number(df[3]),
|
|
972
|
+
quality: Number(df[4]),
|
|
973
|
+
};
|
|
974
|
+
}
|
|
926
975
|
i += 8;
|
|
927
976
|
}
|
|
928
977
|
}
|
|
@@ -950,8 +999,9 @@ function decodeExtensionAndComment(ctx, s, i, pos, f) {
|
|
|
950
999
|
}
|
|
951
1000
|
const areaLine = f.area !== undefined && (f.area.shape === 'line-down-right' || f.area.shape === 'line-down-left');
|
|
952
1001
|
const lifted = liftComment(ctx, s.slice(i), { extensionFound, symbol: pos.symbol, areaLine });
|
|
1002
|
+
// The !DAO! is structure, so it is judged before the text's encoding.
|
|
1003
|
+
applyDao(ctx, f, pos, lifted.dao);
|
|
953
1004
|
applyLifted(ctx, f, lifted);
|
|
954
|
-
return lifted.dao;
|
|
955
1005
|
}
|
|
956
1006
|
function applyLifted(ctx, f, lifted) {
|
|
957
1007
|
if (lifted.altitudeFeet !== undefined)
|
|
@@ -1034,7 +1084,7 @@ function decodeWeatherAfterPosition(ctx, s, i, pos, f) {
|
|
|
1034
1084
|
i += 7;
|
|
1035
1085
|
}
|
|
1036
1086
|
const parsed = parseWeatherFields(ctx, s, i, { wind, positionless: false, compressed: pos.compressed });
|
|
1037
|
-
const tail = weatherTail(ctx, parsed.weather, s.slice(parsed.end));
|
|
1087
|
+
const tail = weatherTail(ctx, parsed.weather, s.slice(parsed.end), true);
|
|
1038
1088
|
f.weather = parsed.weather;
|
|
1039
1089
|
if (pos.compressed && pos.csBlank && !windFromCs) {
|
|
1040
1090
|
const hasWind = parsed.weather.windDirectionDegrees !== undefined || parsed.weather.windSpeedMph !== undefined;
|
|
@@ -1043,18 +1093,20 @@ function decodeWeatherAfterPosition(ctx, s, i, pos, f) {
|
|
|
1043
1093
|
}
|
|
1044
1094
|
if (tail.telemetry)
|
|
1045
1095
|
f.telemetry = tail.telemetry;
|
|
1096
|
+
applyDao(ctx, f, pos, tail.dao);
|
|
1046
1097
|
if (tail.comment !== undefined) {
|
|
1047
1098
|
const text = ctx.text(tail.comment);
|
|
1048
1099
|
if (text.length > 0)
|
|
1049
1100
|
f.comment = text;
|
|
1050
1101
|
}
|
|
1051
|
-
return tail.dao;
|
|
1052
1102
|
}
|
|
1053
1103
|
// ---- Mic-E status text
|
|
1054
1104
|
/** 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
|
-
|
|
1105
|
+
export function liftMicEComment(ctx, text, symbol, extension, joins) {
|
|
1106
|
+
const options = extension
|
|
1107
|
+
? { extensionFound: true, extension, symbol, joins }
|
|
1108
|
+
: { extensionFound: false, extensionAtStart: true, symbol, joins };
|
|
1109
|
+
return { lifted: liftComment(ctx, text, options) };
|
|
1058
1110
|
}
|
|
1059
1111
|
/** Applies lifted comment elements to fields (Mic-E). */
|
|
1060
1112
|
export function applyLiftedTo(ctx, f, lifted) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positioned.js","sourceRoot":"","sources":["../../src/decode/positioned.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"positioned.js","sourceRoot":"","sources":["../../src/decode/positioned.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/decode/reports.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,UAAU,EAEV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/decode/reports.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,UAAU,EAEV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAyBlD,6CAA6C;AAC7C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,CA0BlF;AAED,6BAA6B;AAC7B,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,GAAG,YAAY,CAuCxE;AAED,2BAA2B;AAC3B,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAiBpE;AAED,0CAA0C;AAC1C,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,GAAG,aAAa,CAoBtF;AA8GD,gDAAgD;AAChD,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAiJpE"}
|