Updating with the latest OWRX+ HDRadio changes.

This commit is contained in:
Marat Fayzullin 2024-09-02 12:33:41 -04:00
parent 5b7397da46
commit 5fa7e9d695
10 changed files with 301 additions and 80 deletions

View file

@ -5,7 +5,7 @@ from owrx.modes import Modes, DigitalMode
from csdr.chain import Chain
from csdr.chain.demodulator import BaseDemodulatorChain, FixedIfSampleRateChain, FixedAudioRateChain, HdAudio, \
SecondaryDemodulator, DialFrequencyReceiver, MetaProvider, SlotFilterChain, SecondarySelectorChain, \
DeemphasisTauChain, DemodulatorError, RdsChain, DabServiceSelector
DeemphasisTauChain, DemodulatorError, RdsChain, AudioServiceSelector
from csdr.chain.selector import Selector, SecondarySelector
from csdr.chain.clientaudio import ClientAudioChain
from csdr.chain.fft import FftChain
@ -330,10 +330,10 @@ class ClientDemodulatorChain(Chain):
return
self.demodulator.setSlotFilter(filter)
def setDabServiceId(self, serviceId: int) -> None:
if not isinstance(self.demodulator, DabServiceSelector):
def setAudioServiceId(self, serviceId: int) -> None:
if not isinstance(self.demodulator, AudioServiceSelector):
return
self.demodulator.setDabServiceId(serviceId)
self.demodulator.setAudioServiceId(serviceId)
def setSecondaryFftSize(self, size: int) -> None:
if size == self.secondaryFftSize:
@ -429,7 +429,7 @@ class DspManager(SdrSourceEventClient, ClientDemodulatorSecondaryDspEventClient)
"mod": ModulationValidator(),
"secondary_offset_freq": "int",
"dmr_filter": "int",
"dab_service_id": "int",
"audio_service_id": "int",
}
self.localProps = PropertyValidator(PropertyLayer().filter(*validators.keys()), validators)
@ -510,7 +510,7 @@ class DspManager(SdrSourceEventClient, ClientDemodulatorSecondaryDspEventClient)
self.props.wireProperty("high_cut", self.setHighCut),
self.props.wireProperty("mod", self.setDemodulator),
self.props.wireProperty("dmr_filter", self.chain.setSlotFilter),
self.props.wireProperty("dab_service_id", self.chain.setDabServiceId),
self.props.wireProperty("audio_service_id", self.chain.setAudioServiceId),
self.props.wireProperty("wfm_deemphasis_tau", self.chain.setWfmDeemphasisTau),
self.props.wireProperty("wfm_rds_rbds", self.chain.setRdsRbds),
self.props.wireProperty("secondary_mod", self.setSecondaryDemodulator),
@ -573,18 +573,9 @@ class DspManager(SdrSourceEventClient, ClientDemodulatorSecondaryDspEventClient)
elif demod == "nxdn":
from csdr.chain.digiham import Nxdn
return Nxdn(self.props["digital_voice_codecserver"])
elif demod == "hdr1":
elif demod == "hdr":
from csdr.chain.hdradio import HdRadio
return HdRadio(program = 0)
elif demod == "hdr2":
from csdr.chain.hdradio import HdRadio
return HdRadio(program = 1)
elif demod == "hdr3":
from csdr.chain.hdradio import HdRadio
return HdRadio(program = 2)
elif demod == "hdr4":
from csdr.chain.hdradio import HdRadio
return HdRadio(program = 3)
return HdRadio()
elif demod == "m17":
from csdr.chain.m17 import M17
return M17()