diff --git a/csdr/chain/digimodes.py b/csdr/chain/digimodes.py index 50298fd6..9b058d6b 100644 --- a/csdr/chain/digimodes.py +++ b/csdr/chain/digimodes.py @@ -21,35 +21,12 @@ class AudioChopperDemodulator(ServiceDemodulator, DialFrequencyReceiver): class PacketDemodulator(ServiceDemodulator, DialFrequencyReceiver): - def __init__(self, service: bool = False): + def __init__(self, service: bool = False, ais: bool = False): self.parser = AprsParser() workers = [ FmDemod(), Convert(Format.FLOAT, Format.SHORT), - DirewolfModule(service=service), - KissDeframer(), - Ax25Parser(), - self.parser, - ] - super().__init__(workers) - - def supportsSquelch(self) -> bool: - return False - - def getFixedAudioRate(self) -> int: - return 48000 - - def setDialFrequency(self, frequency: int) -> None: - self.parser.setDialFrequency(frequency) - - -class AisDemodulator(ServiceDemodulator, DialFrequencyReceiver): - def __init__(self, service: bool = False): - self.parser = AprsParser() - workers = [ - FmDemod(), - Convert(Format.FLOAT, Format.SHORT), - DirewolfModule(service=service, ais=True), + DirewolfModule(service=service, ais=ais), KissDeframer(), Ax25Parser(), self.parser, diff --git a/owrx/dsp.py b/owrx/dsp.py index bf386f21..370cee47 100644 --- a/owrx/dsp.py +++ b/owrx/dsp.py @@ -605,8 +605,8 @@ class DspManager(SdrSourceEventClient, ClientDemodulatorSecondaryDspEventClient) from csdr.chain.digimodes import PacketDemodulator return PacketDemodulator() elif mod == "ais": - from csdr.chain.digimodes import AisDemodulator - return AisDemodulator() + from csdr.chain.digimodes import PacketDemodulator + return PacketDemodulator(ais = True) elif mod == "pocsag": from csdr.chain.digiham import PocsagDemodulator return PocsagDemodulator() diff --git a/owrx/service/__init__.py b/owrx/service/__init__.py index b3c5e4f0..b271f9a1 100644 --- a/owrx/service/__init__.py +++ b/owrx/service/__init__.py @@ -292,8 +292,8 @@ class ServiceHandler(SdrSourceEventClient): from csdr.chain.digimodes import PacketDemodulator return PacketDemodulator(service=True) elif mod == "ais": - from csdr.chain.digimodes import AisDemodulator - return AisDemodulator(service=True) + from csdr.chain.digimodes import PacketDemodulator + return PacketDemodulator(service=True, ais=True) elif mod == "sstv": from csdr.chain.digimodes import SstvDemodulator return SstvDemodulator(service=True)