From d7186de5e6cbcb744540bdf4ca6fd615eabd90e9 Mon Sep 17 00:00:00 2001 From: Sebastien Chaumontet Date: Wed, 2 Apr 2025 00:01:34 +0200 Subject: [PATCH] Add Microtrak APRS parser. (https://microtrak.fr/) --- ogn/parser/parse.py | 2 ++ ogn/parser/pattern.py | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/ogn/parser/parse.py b/ogn/parser/parse.py index d73a4b1..04932e8 100644 --- a/ogn/parser/parse.py +++ b/ogn/parser/parse.py @@ -17,6 +17,7 @@ from ogn.parser.aprs_comment.spider_parser import SpiderParser from ogn.parser.aprs_comment.spot_parser import SpotParser from ogn.parser.aprs_comment.inreach_parser import InreachParser from ogn.parser.aprs_comment.safesky_parser import SafeskyParser +from ogn.parser.aprs_comment.microtrak_parser import MicrotrakParser from ogn.parser.aprs_comment.generic_parser import GenericParser positions = {} @@ -168,6 +169,7 @@ dstcall_parser_mapping = {'APRS': OgnParser(), 'OGSPID': SpiderParser(), 'OGSPOT': SpotParser(), 'OGNSKY': SafeskyParser(), + 'OGNMTK': MicrotrakParser(), 'GENERIC': GenericParser(beacon_type='unknown'), } diff --git a/ogn/parser/pattern.py b/ogn/parser/pattern.py index dba25b6..1702caf 100644 --- a/ogn/parser/pattern.py +++ b/ogn/parser/pattern.py @@ -88,6 +88,10 @@ PATTERN_SAFESKY_POSITION_COMMENT = re.compile(r""" (?:gps(?P(?P(\d+))x(?P(\d+)))?)? """, re.VERBOSE | re.MULTILINE) +PATTERN_MICROTRAK_POSITION_COMMENT = re.compile(r""" + id(?P
[\dA-F]{2})(?P
[\dA-F]{6}?)\s? +""", re.VERBOSE | re.MULTILINE) + PATTERN_TRACKER_STATUS_COMMENT = re.compile(r""" h(?P[\d]{2})\s v(?P[\d]{2})\s?