add msk144demodulator chain
This commit is contained in:
parent
252edb7a5a
commit
f58023f3e5
@ -1,4 +1,5 @@
|
||||
from csdr.chain.demodulator import ServiceDemodulator, SecondaryDemodulator, DialFrequencyReceiver, SecondarySelectorChain
|
||||
from csdr.module.msk144 import Msk144Module
|
||||
from owrx.audio.chopper import AudioChopper, AudioChopperParser
|
||||
from owrx.aprs.kiss import KissDeframer
|
||||
from owrx.aprs import Ax25Parser, AprsParser
|
||||
@ -20,6 +21,18 @@ class AudioChopperDemodulator(ServiceDemodulator, DialFrequencyReceiver):
|
||||
self.chopper.setDialFrequency(frequency)
|
||||
|
||||
|
||||
class Msk144Demodulator(ServiceDemodulator):
|
||||
def __init__(self):
|
||||
workers = [
|
||||
Convert(Format.FLOAT, Format.SHORT),
|
||||
Msk144Module(),
|
||||
]
|
||||
super().__init__(workers)
|
||||
|
||||
def getFixedAudioRate(self) -> int:
|
||||
return 12000
|
||||
|
||||
|
||||
class PacketDemodulator(ServiceDemodulator, DialFrequencyReceiver):
|
||||
def __init__(self, service: bool = False):
|
||||
self.parser = AprsParser()
|
||||
|
13
csdr/module/msk144.py
Normal file
13
csdr/module/msk144.py
Normal file
@ -0,0 +1,13 @@
|
||||
from pycsdr.types import Format
|
||||
from csdr.module import PopenModule
|
||||
|
||||
|
||||
class Msk144Module(PopenModule):
|
||||
def getCommand(self):
|
||||
return ["msk144decoder"]
|
||||
|
||||
def getInputFormat(self) -> Format:
|
||||
return Format.SHORT
|
||||
|
||||
def getOutputFormat(self) -> Format:
|
||||
return Format.CHAR
|
@ -581,6 +581,9 @@ class DspManager(SdrSourceEventClient, ClientDemodulatorSecondaryDspEventClient)
|
||||
from csdr.chain.digimodes import AudioChopperDemodulator
|
||||
from owrx.wsjt import WsjtParser
|
||||
return AudioChopperDemodulator(mod, WsjtParser())
|
||||
elif mod == "msk144":
|
||||
from csdr.chain.digimodes import Msk144Demodulator
|
||||
return Msk144Demodulator()
|
||||
elif mod == "js8":
|
||||
from csdr.chain.digimodes import AudioChopperDemodulator
|
||||
from owrx.js8 import Js8Parser
|
||||
|
@ -120,6 +120,7 @@ class Modes(object):
|
||||
WsjtMode("fst4", "FST4", requirements=["wsjt-x-2-3"]),
|
||||
WsjtMode("fst4w", "FST4W", bandpass=Bandpass(1350, 1650), requirements=["wsjt-x-2-3"]),
|
||||
WsjtMode("q65", "Q65", requirements=["wsjt-x-2-4"]),
|
||||
DigitalMode("msk144", "MSK144", requirements=["msk144"], underlying=["usb"], service=True),
|
||||
Js8Mode("js8", "JS8Call"),
|
||||
DigitalMode(
|
||||
"packet",
|
||||
|
Loading…
Reference in New Issue
Block a user