make digimodes work in start_mod again
This commit is contained in:
parent
9f89a21cfb
commit
d757b817b1
13
owrx/dsp.py
13
owrx/dsp.py
@ -1,7 +1,7 @@
|
|||||||
from owrx.source import SdrSourceEventClient, SdrSourceState, SdrClientClass
|
from owrx.source import SdrSourceEventClient, SdrSourceState, SdrClientClass
|
||||||
from owrx.property import PropertyStack, PropertyLayer, PropertyValidator
|
from owrx.property import PropertyStack, PropertyLayer, PropertyValidator
|
||||||
from owrx.property.validators import OrValidator, RegexValidator, BoolValidator
|
from owrx.property.validators import OrValidator, RegexValidator, BoolValidator
|
||||||
from owrx.modes import Modes
|
from owrx.modes import Modes, DigitalMode
|
||||||
from csdr.chain import Chain
|
from csdr.chain import Chain
|
||||||
from csdr.chain.demodulator import BaseDemodulatorChain, FixedIfSampleRateChain, FixedAudioRateChain, HdAudio, SecondaryDemodulator, DialFrequencyReceiver, MetaProvider, SlotFilterChain, SecondarySelectorChain, DeemphasisTauChain
|
from csdr.chain.demodulator import BaseDemodulatorChain, FixedIfSampleRateChain, FixedAudioRateChain, HdAudio, SecondaryDemodulator, DialFrequencyReceiver, MetaProvider, SlotFilterChain, SecondarySelectorChain, DeemphasisTauChain
|
||||||
from csdr.chain.selector import Selector, SecondarySelector
|
from csdr.chain.selector import Selector, SecondarySelector
|
||||||
@ -433,12 +433,17 @@ class DspManager(SdrSourceEventClient, ClientDemodulatorSecondaryDspEventClient)
|
|||||||
self.readers = {}
|
self.readers = {}
|
||||||
|
|
||||||
if "start_mod" in self.props:
|
if "start_mod" in self.props:
|
||||||
self.setDemodulator(self.props["start_mod"])
|
|
||||||
mode = Modes.findByModulation(self.props["start_mod"])
|
mode = Modes.findByModulation(self.props["start_mod"])
|
||||||
|
if mode:
|
||||||
if mode and mode.bandpass:
|
self.setDemodulator(mode.get_modulation())
|
||||||
|
if isinstance(mode, DigitalMode):
|
||||||
|
self.setSecondaryDemodulator(mode.modulation)
|
||||||
|
if mode.bandpass:
|
||||||
bpf = [mode.bandpass.low_cut, mode.bandpass.high_cut]
|
bpf = [mode.bandpass.low_cut, mode.bandpass.high_cut]
|
||||||
self.chain.setBandpass(*bpf)
|
self.chain.setBandpass(*bpf)
|
||||||
|
else:
|
||||||
|
# TODO modes should be mandatory
|
||||||
|
self.setDemodulator(self.props["start_mod"])
|
||||||
|
|
||||||
if "start_freq" in self.props and "center_freq" in self.props:
|
if "start_freq" in self.props and "center_freq" in self.props:
|
||||||
self.chain.setFrequencyOffset(self.props["start_freq"] - self.props["center_freq"])
|
self.chain.setFrequencyOffset(self.props["start_freq"] - self.props["center_freq"])
|
||||||
|
Loading…
Reference in New Issue
Block a user