mirror of
https://github.com/jketterl/openwebrx.git
synced 2025-12-06 07:12:09 +01:00
34 lines
913 B
Python
34 lines
913 B
Python
from pycsdr.types import Format
|
|
from pycsdr.modules import ExecModule
|
|
from csdr.module import LineBasedModule
|
|
from owrx.wsjt import WsjtParser, Msk144Profile
|
|
import pickle
|
|
|
|
import logging
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class Msk144Module(ExecModule):
|
|
def __init__(self):
|
|
super().__init__(
|
|
Format.SHORT,
|
|
Format.CHAR,
|
|
["msk144decoder"]
|
|
)
|
|
|
|
|
|
class ParserAdapter(LineBasedModule):
|
|
def __init__(self):
|
|
self.parser = WsjtParser()
|
|
self.dialFrequency = 0
|
|
self.profile = Msk144Profile()
|
|
super().__init__()
|
|
|
|
def process(self, line: bytes):
|
|
# actual messages from msk144decoder should start with "*** "
|
|
if line[0:4] == b"*** ":
|
|
return self.parser.parse(self.profile, self.dialFrequency, line[4:])
|
|
|
|
def setDialFrequency(self, frequency: int) -> None:
|
|
self.dialFrequency = frequency
|