From dfa39ca77145ad968675ac6e25257acd518e26bb Mon Sep 17 00:00:00 2001 From: Ian Beswick Date: Mon, 5 Jun 2023 16:59:55 +0100 Subject: [PATCH] Additional DF18 Airborne position data. --- .../java/aero/t2s/modes/decoder/df/DF18.java | 16 ++++++++++++++++ .../df/df17/data/SurfaceOperationalMode.java | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/aero/t2s/modes/decoder/df/DF18.java b/src/main/java/aero/t2s/modes/decoder/df/DF18.java index 28293e8..60c766d 100644 --- a/src/main/java/aero/t2s/modes/decoder/df/DF18.java +++ b/src/main/java/aero/t2s/modes/decoder/df/DF18.java @@ -15,6 +15,22 @@ public DF18 decode() { int typeCode = data[4] >>> 3; switch (typeCode) { + case 0: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + case 20: + case 21: + case 22: + extendedSquitter = new AirbornePosition(data, getIcao()); + break; case 1: case 2: case 3: diff --git a/src/main/java/aero/t2s/modes/decoder/df/df17/data/SurfaceOperationalMode.java b/src/main/java/aero/t2s/modes/decoder/df/df17/data/SurfaceOperationalMode.java index b775c51..8508fe0 100644 --- a/src/main/java/aero/t2s/modes/decoder/df/df17/data/SurfaceOperationalMode.java +++ b/src/main/java/aero/t2s/modes/decoder/df/df17/data/SurfaceOperationalMode.java @@ -27,7 +27,7 @@ public SurfaceOperationalMode(int data) { acasRA = (data & 0b0010000000000000) != 0 ? AcasState.RA_ACTIVE : AcasState.RA_NOT_ACTIVE; acasIdent = (data & 0b0001000000000000) != 0; singleAntennaFlag = (data & 0b0000010000000000) != 0; - systemDesignAssurance = SourceIntegrityLevel.from((data & 0b0000001100000000) >>> 7); + systemDesignAssurance = SourceIntegrityLevel.from((data & 0b0000001100000000) >>> 8); int gpsAntennaOffset = (data & 0b0000000011111111); gpsLateralOffset = (gpsAntennaOffset & 0b11100000) >>> 5;