Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/MessageDecoder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ export class MessageDecoder {
this.debug = false;

this.registerPlugin(new Plugins.CBand(this)); // first, for now, so it can wrap other plugins
this.registerPlugin(new Plugins.Arinc702(this));
this.registerPlugin(new Plugins.Label_ColonComma(this));
this.registerPlugin(new Plugins.Label_5Z_Slash(this));
this.registerPlugin(new Plugins.Label_10_LDR(this));
Expand Down Expand Up @@ -64,7 +65,6 @@ export class MessageDecoder {
this.registerPlugin(new Plugins.Label_H1_OHMA(this));
this.registerPlugin(new Plugins.Label_H1_Paren(this));
this.registerPlugin(new Plugins.Label_H1_WRN(this));
this.registerPlugin(new Plugins.Label_H1(this));
this.registerPlugin(new Plugins.Label_H1_StarPOS(this));
this.registerPlugin(new Plugins.Label_HX(this));
this.registerPlugin(new Plugins.Label_58(this));
Expand Down
16 changes: 8 additions & 8 deletions lib/plugins/Label_H1.ts → lib/plugins/ARINC_702.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { DecoderPlugin } from '../DecoderPlugin';
import { DecodeResult, Message, Options } from '../DecoderPluginInterface';
import { H1Helper } from '../utils/h1_helper';
import { Arinc702Helper } from '../utils/arinc_702_helper';
import { ResultFormatter } from '../utils/result_formatter';

// TODO: come up with a better name as this decodes multiple labels
export class Label_H1 extends DecoderPlugin {
name = 'label-h1';
export class Arinc702 extends DecoderPlugin {
name = 'arinc-702';
qualifiers() {
return {
labels: ['1J', '2J', '2P', '4J', '80', 'H1'],
labels: ['*'],
};
}

Expand All @@ -21,15 +21,15 @@ export class Label_H1 extends DecoderPlugin {

// try to decode the entire message
let decoded = false;
decoded = H1Helper.decodeH1Message(decodeResult, msg);
decoded = Arinc702Helper.decodeH1Message(decodeResult, msg);
if (decoded) {
return this.processDecodeResult(decodeResult, decoded, options, message);
}

// try to handle messages like `/HDQDLUA.POS<rest of message>`
if (msg.startsWith('/')) {
const headerData = msg.split('.');
decoded = H1Helper.decodeH1Message(
decoded = Arinc702Helper.decodeH1Message(
decodeResult,
headerData.slice(1).join('.'),
);
Expand All @@ -52,7 +52,7 @@ export class Label_H1 extends DecoderPlugin {
// need a better way to figure this out
const offset =
hashParts[0] === '- ' || isNaN(parseInt(hashParts[1][1])) ? 3 : 4;
decoded = H1Helper.decodeH1Message(
decoded = Arinc702Helper.decodeH1Message(
decodeResult,
msg.slice(hashParts[0].length + offset),
);
Expand Down Expand Up @@ -81,7 +81,7 @@ export class Label_H1 extends DecoderPlugin {
// try to handle messages like `M74AMC4086FTX<rest of message>`
const slashParts = msg.split('/');
if (slashParts[0].length > 3) {
decoded = H1Helper.decodeH1Message(
decoded = Arinc702Helper.decodeH1Message(
decodeResult,
msg.slice(slashParts[0].length - 3),
);
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_1J_2J_FTX.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label 1J/2J FTX', () => {
let plugin: Label_H1;
let message = { label: '1J', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes Label 1J', () => {
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_2P_POS.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label_2P Preamble POS', () => {
let plugin: Label_H1;
const message = { label: '2P', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('variant 1', () => {
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_4J_POS.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label 4J POS', () => {
let plugin: Label_H1;
const message = { label: '4J', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes inmarsat', () => {
Expand Down
2 changes: 1 addition & 1 deletion lib/plugins/Label_80.ts
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ export class Label_80 extends DecoderPlugin {
}
private parseCsvFormat(text: string, results: DecodeResult) {
const csvParts = text.split(',');
if(csvParts.length !== 9) {
if (csvParts.length !== 9) {
return;
}
const header = csvParts[0].trim().split(/\s+/);
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_80_INR.test.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { decode } from 'node:punycode';
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label 80 Preamble INR', () => {
let plugin: Label_H1;
const message = { label: '80', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes variant 1', () => {
Expand Down
12 changes: 6 additions & 6 deletions lib/plugins/Label_H1.test.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label_H1', () => {
let plugin: Label_H1;
describe('Arinc 702 Messages', () => {
let plugin: Arinc702;

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('matches Label H1 Preamble FLR qualifiers', () => {
expect(plugin.decode).toBeDefined();
expect(plugin.name).toBe('label-h1');
expect(plugin.name).toBe('arinc-702');
expect(plugin.qualifiers).toBeDefined();
expect(plugin.qualifiers()).toEqual({
labels: ['1J', '2J', '2P', '4J', '80', 'H1'],
labels: ['*'],
});
});
});
4 changes: 2 additions & 2 deletions lib/plugins/Label_H1_FPN.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label_H1 FPN', () => {
let plugin: Label_H1;
const message = { label: 'H1', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes Label H1 Preamble FPN landing', () => {
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_H1_FTX.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label_H1 FTX', () => {
let plugin: Label_H1;
const message = { label: 'H1', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes inmarsat', () => {
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_H1_INI.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label_H1 INI', () => {
let plugin: Label_H1;
const message = { label: 'H1', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes valid', () => {
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_H1_INR.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label_H1 INR', () => {
let plugin: Label_H1;
const message = { label: 'H1', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes valid', () => {
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_H1_LDI.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label H1 LDI', () => {
let plugin: Label_H1;
const message = { label: 'H1', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes variant 2', () => {
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_H1_PER.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label_H1 PER', () => {
let plugin: Label_H1;
const message = { label: 'H1', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes short variant', () => {
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_H1_POS.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label_H1 POS', () => {
let plugin: Label_H1;
const message = { label: 'H1', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('variant 1', () => {
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_H1_PRG.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label H1 Preamble PRG', () => {
let plugin: Label_H1;
const message = { label: 'H1', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes Label H1 Preamble PRG message', () => {
Expand Down
7 changes: 2 additions & 5 deletions lib/plugins/Label_H1_PWI.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label H1 PWI', () => {
let plugin: Label_H1;
const message = { label: 'H1', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes Label H1 Preamble PWI valid', () => {
Expand Down Expand Up @@ -43,8 +43,5 @@ describe('Label H1 PWI', () => {

expect(decodeResult.decoded).toBe(false);
expect(decodeResult.decoder.decodeLevel).toBe('none');
expect(decodeResult.decoder.name).toBe('label-h1');
expect(decodeResult.formatted.description).toBe('Unknown');
expect(decodeResult.message).toBe(message);
});
});
1 change: 0 additions & 1 deletion lib/plugins/Label_H1_Paren.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ export class Label_H1_Paren extends DecoderPlugin {
decodeResult.decoder.decodeLevel = 'partial';
decodeResult.formatted.description = 'Position Report';


ResultFormatter.flightNumber(decodeResult, match.groups.flight);
ResultFormatter.position(decodeResult, {
latitude: parseLat(match.groups.lat),
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_H1_REJ.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label H1 Preamble REJ', () => {
let plugin: Label_H1;
const message = { label: 'H1', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes PWI variant 1', () => {
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_H1_REQ.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label H1 preamble REQ', () => {
let plugin: Label_H1;
const message = { label: 'H1', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes PWI', () => {
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_H1_RES.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label H1 Preamble RES', () => {
let plugin: Label_H1;
const message = { label: 'H1', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes PWI', () => {
Expand Down
4 changes: 2 additions & 2 deletions lib/plugins/Label_H1_Slash.test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { MessageDecoder } from '../MessageDecoder';
import { Label_H1 } from './Label_H1';
import { Arinc702 } from './ARINC_702';

describe('Label H1 /', () => {
let plugin: Label_H1;
const message = { label: 'H1', text: '' };

beforeEach(() => {
const decoder = new MessageDecoder();
plugin = new Label_H1(decoder);
plugin = new Arinc702(decoder);
});

test('decodes variant 1', () => {
Expand Down
Loading