From 8fef35830e314581350882bddaa37906e942f07b Mon Sep 17 00:00:00 2001 From: tfraudet Date: Sun, 14 Mar 2021 22:21:38 +0100 Subject: [PATCH] Fix aircraft_type decoding and add no-tracking flag decoding for Ogn & Flarm parsers --- ogn/parser/aprs_comment/flarm_parser.py | 3 ++- ogn/parser/aprs_comment/ogn_parser.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ogn/parser/aprs_comment/flarm_parser.py b/ogn/parser/aprs_comment/flarm_parser.py index f327310..6e9f147 100644 --- a/ogn/parser/aprs_comment/flarm_parser.py +++ b/ogn/parser/aprs_comment/flarm_parser.py @@ -16,7 +16,8 @@ class FlarmParser(BaseParser): if match.group('details'): result.update({ 'address_type': int(match.group('details'), 16) & 0b00000011, - 'aircraft_type': (int(match.group('details'), 16) & 0b01111100) >> 2, + 'aircraft_type': (int(match.group('details'), 16) & 0b00111100) >> 2, + 'no-tracking': (int(match.group('details'), 16) & 0b01000000) >> 6 == 1, 'stealth': (int(match.group('details'), 16) & 0b10000000) >> 7 == 1, 'address': match.group('address'), }) diff --git a/ogn/parser/aprs_comment/ogn_parser.py b/ogn/parser/aprs_comment/ogn_parser.py index 06bf07f..4d90a51 100644 --- a/ogn/parser/aprs_comment/ogn_parser.py +++ b/ogn/parser/aprs_comment/ogn_parser.py @@ -34,7 +34,8 @@ class OgnParser(BaseParser): if match.group('details'): result.update({ 'address_type': int(match.group('details'), 16) & 0b00000011, - 'aircraft_type': (int(match.group('details'), 16) & 0b01111100) >> 2, + 'aircraft_type': (int(match.group('details'), 16) & 0b00111100) >> 2, + 'no-tracking': (int(match.group('details'), 16) & 0b01000000) >> 6 == 1, 'stealth': (int(match.group('details'), 16) & 0b10000000) >> 7 == 1, 'address': match.group('address'), })