diff --git a/owrx/aeronautical.py b/owrx/aeronautical.py index a01feb47..3665ef13 100644 --- a/owrx/aeronautical.py +++ b/owrx/aeronautical.py @@ -49,7 +49,7 @@ class AcarsProcessor(JsonParser, metaclass=ABCMeta): if "flight" in acars: flight_id = acars["flight"] elif "reg" in acars: - flight_id = acars['reg'] + flight_id = acars['reg'].lstrip(".") else: return diff --git a/owrx/modes.py b/owrx/modes.py index d440eb9e..8d6f1f06 100644 --- a/owrx/modes.py +++ b/owrx/modes.py @@ -197,6 +197,7 @@ class Modes(object): underlying=["empty"], bandpass=Bandpass(-12500, 12500), requirements=["dumpvdl2"], + service=True, squelch=False, ), DigitalMode( diff --git a/owrx/service/__init__.py b/owrx/service/__init__.py index 2c86142b..9c20f5de 100644 --- a/owrx/service/__init__.py +++ b/owrx/service/__init__.py @@ -318,6 +318,9 @@ class ServiceHandler(SdrSourceEventClient): elif mod == "hfdl": from csdr.chain.dumphfdl import DumpHFDL return DumpHFDL() + elif mod == "vdl2": + from csdr.chain.dumpvdl2 import DumpVDL2 + return DumpVDL2() raise ValueError("unsupported service modulation: {}".format(mod)) diff --git a/owrx/vdl2/dumpvdl2.py b/owrx/vdl2/dumpvdl2.py index baebaa50..c01918ac 100644 --- a/owrx/vdl2/dumpvdl2.py +++ b/owrx/vdl2/dumpvdl2.py @@ -38,7 +38,7 @@ class VDL2MessageParser(AcarsProcessor): src = avlc["src"]["addr"] if avlc["frame_type"] == "I": if "acars" in avlc: - self.processAcars(avlc["acars"]) + self.processAcars(avlc["acars"], icao=src) elif "x25" in avlc: x25 = avlc["x25"] if "clnp" in x25: