js8 service
This commit is contained in:
parent
899445d586
commit
99b4a25de7
@ -5,10 +5,12 @@ from owrx.bands import Bandplan
|
|||||||
from csdr.csdr import dsp, output
|
from csdr.csdr import dsp, output
|
||||||
from owrx.wsjt import WsjtParser
|
from owrx.wsjt import WsjtParser
|
||||||
from owrx.aprs import AprsParser
|
from owrx.aprs import AprsParser
|
||||||
|
from owrx.js8 import Js8Parser
|
||||||
from owrx.config import Config
|
from owrx.config import Config
|
||||||
from owrx.source.resampler import Resampler
|
from owrx.source.resampler import Resampler
|
||||||
from owrx.feature import FeatureDetector
|
from owrx.feature import FeatureDetector
|
||||||
from owrx.property import PropertyLayer
|
from owrx.property import PropertyLayer
|
||||||
|
from js8py import Js8Frame
|
||||||
from abc import ABCMeta, abstractmethod
|
from abc import ABCMeta, abstractmethod
|
||||||
from .schedule import ServiceScheduler
|
from .schedule import ServiceScheduler
|
||||||
from functools import reduce
|
from functools import reduce
|
||||||
@ -50,6 +52,14 @@ class AprsServiceOutput(ServiceOutput):
|
|||||||
return t == "packet_demod"
|
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):
|
class ServiceDetector(object):
|
||||||
requirements = {
|
requirements = {
|
||||||
"ft8": ["wsjt-x"],
|
"ft8": ["wsjt-x"],
|
||||||
@ -58,6 +68,7 @@ class ServiceDetector(object):
|
|||||||
"jt9": ["wsjt-x"],
|
"jt9": ["wsjt-x"],
|
||||||
"wspr": ["wsjt-x"],
|
"wspr": ["wsjt-x"],
|
||||||
"packet": ["packet"],
|
"packet": ["packet"],
|
||||||
|
"js8": ["js8call"],
|
||||||
}
|
}
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@ -258,6 +269,8 @@ class ServiceHandler(object):
|
|||||||
# TODO selecting outputs will need some more intelligence here
|
# TODO selecting outputs will need some more intelligence here
|
||||||
if mode == "packet":
|
if mode == "packet":
|
||||||
output = AprsServiceOutput(frequency)
|
output = AprsServiceOutput(frequency)
|
||||||
|
elif mode == "js8":
|
||||||
|
output = Js8ServiceOutput(frequency)
|
||||||
else:
|
else:
|
||||||
output = WsjtServiceOutput(frequency)
|
output = WsjtServiceOutput(frequency)
|
||||||
d = dsp(output)
|
d = dsp(output)
|
||||||
@ -293,6 +306,11 @@ class AprsHandler(object):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Js8Handler(object):
|
||||||
|
def write_js8_message(self, frame: Js8Frame, freq: int):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class Services(object):
|
class Services(object):
|
||||||
handlers = []
|
handlers = []
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user