js8 service

This commit is contained in:
Jakob Ketterl 2020-04-14 21:27:50 +02:00
parent 899445d586
commit 99b4a25de7

View File

@ -5,10 +5,12 @@ from owrx.bands import Bandplan
from csdr.csdr import dsp, output
from owrx.wsjt import WsjtParser
from owrx.aprs import AprsParser
from owrx.js8 import Js8Parser
from owrx.config import Config
from owrx.source.resampler import Resampler
from owrx.feature import FeatureDetector
from owrx.property import PropertyLayer
from js8py import Js8Frame
from abc import ABCMeta, abstractmethod
from .schedule import ServiceScheduler
from functools import reduce
@ -50,6 +52,14 @@ class AprsServiceOutput(ServiceOutput):
return t == "packet_demod"
class Js8ServiceOutput(ServiceOutput):
def getParser(self):
return Js8Parser(Js8Handler())
def supports_type(self, t):
return t == "js8_demod"
class ServiceDetector(object):
requirements = {
"ft8": ["wsjt-x"],
@ -58,6 +68,7 @@ class ServiceDetector(object):
"jt9": ["wsjt-x"],
"wspr": ["wsjt-x"],
"packet": ["packet"],
"js8": ["js8call"],
}
@staticmethod
@ -258,6 +269,8 @@ class ServiceHandler(object):
# TODO selecting outputs will need some more intelligence here
if mode == "packet":
output = AprsServiceOutput(frequency)
elif mode == "js8":
output = Js8ServiceOutput(frequency)
else:
output = WsjtServiceOutput(frequency)
d = dsp(output)
@ -293,6 +306,11 @@ class AprsHandler(object):
pass
class Js8Handler(object):
def write_js8_message(self, frame: Js8Frame, freq: int):
pass
class Services(object):
handlers = []