dynamic profiles
This commit is contained in:
parent
623f21f769
commit
4e67be8a3c
@ -301,6 +301,9 @@ wsjt_decoding_depth = 3
|
|||||||
# jt65 seems to be somewhat prone to erroneous decodes, this setting handles that to some extent
|
# jt65 seems to be somewhat prone to erroneous decodes, this setting handles that to some extent
|
||||||
wsjt_decoding_depths = {"jt65": 1}
|
wsjt_decoding_depths = {"jt65": 1}
|
||||||
|
|
||||||
|
# JS8 comes in different speeds: normal, slow, fast, turbo. This setting controls which ones are enabled.
|
||||||
|
js8_enabled_profiles = ["normal", "slow"]
|
||||||
|
|
||||||
temporary_directory = "/tmp"
|
temporary_directory = "/tmp"
|
||||||
|
|
||||||
services_enabled = False
|
services_enabled = False
|
||||||
|
@ -30,7 +30,7 @@ from functools import partial
|
|||||||
|
|
||||||
from owrx.kiss import KissClient, DirewolfConfig
|
from owrx.kiss import KissClient, DirewolfConfig
|
||||||
from owrx.wsjt import Ft8Profile, WsprProfile, Jt9Profile, Jt65Profile, Ft4Profile
|
from owrx.wsjt import Ft8Profile, WsprProfile, Jt9Profile, Jt65Profile, Ft4Profile
|
||||||
from owrx.js8 import Js8NormalProfile, Js8SlowProfile, Js8FastProfile, Js8TurboProfile
|
from owrx.js8 import Js8Profiles
|
||||||
from owrx.audio import AudioChopper
|
from owrx.audio import AudioChopper
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
@ -464,7 +464,7 @@ class dsp(object):
|
|||||||
elif smd == "ft4":
|
elif smd == "ft4":
|
||||||
chopper_profiles = [Ft4Profile()]
|
chopper_profiles = [Ft4Profile()]
|
||||||
elif smd == "js8":
|
elif smd == "js8":
|
||||||
chopper_profiles = [Js8NormalProfile(), Js8SlowProfile(), Js8FastProfile(), Js8TurboProfile()]
|
chopper_profiles = Js8Profiles.getEnabledProfiles()
|
||||||
output_name = "js8_demod"
|
output_name = "js8_demod"
|
||||||
if chopper_profiles is not None:
|
if chopper_profiles is not None:
|
||||||
chopper = AudioChopper(self, self.secondary_process_demod.stdout, *chopper_profiles)
|
chopper = AudioChopper(self, self.secondary_process_demod.stdout, *chopper_profiles)
|
||||||
|
20
owrx/js8.py
20
owrx/js8.py
@ -3,9 +3,10 @@ from .parser import Parser
|
|||||||
import re
|
import re
|
||||||
from js8py import Js8
|
from js8py import Js8
|
||||||
from js8py.frames import Js8FrameHeartbeat, Js8FrameCompound
|
from js8py.frames import Js8FrameHeartbeat, Js8FrameCompound
|
||||||
from owrx.map import Map, LocatorLocation
|
from .map import Map, LocatorLocation
|
||||||
from owrx.pskreporter import PskReporter
|
from .pskreporter import PskReporter
|
||||||
from owrx.metrics import Metrics, CounterMetric
|
from .metrics import Metrics, CounterMetric
|
||||||
|
from .config import Config
|
||||||
from abc import ABCMeta, abstractmethod
|
from abc import ABCMeta, abstractmethod
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
@ -13,6 +14,19 @@ import logging
|
|||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
class Js8Profiles(object):
|
||||||
|
@staticmethod
|
||||||
|
def getEnabledProfiles():
|
||||||
|
config = Config.get()
|
||||||
|
profiles = config["js8_enabled_profiles"] if "js8_enabled_profiles" in config else []
|
||||||
|
return [Js8Profiles.loadProfile(p) for p in profiles]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def loadProfile(profileName):
|
||||||
|
className = "Js8{0}Profile".format(profileName[0].upper() + profileName[1:].lower())
|
||||||
|
return globals()[className]()
|
||||||
|
|
||||||
|
|
||||||
class Js8Profile(AudioChopperProfile, metaclass=ABCMeta):
|
class Js8Profile(AudioChopperProfile, metaclass=ABCMeta):
|
||||||
def getFileTimestampFormat(self):
|
def getFileTimestampFormat(self):
|
||||||
return "%y%m%d_%H%M%S"
|
return "%y%m%d_%H%M%S"
|
||||||
|
Loading…
Reference in New Issue
Block a user