move pocsag demodulator to digiham to fix import problems
This commit is contained in:
		@@ -1,9 +1,10 @@
 | 
				
			|||||||
from csdr.chain.demodulator import BaseDemodulatorChain, FixedAudioRateChain, FixedIfSampleRateChain, DialFrequencyReceiver, MetaProvider, SlotFilterChain, DemodulatorError
 | 
					from csdr.chain.demodulator import BaseDemodulatorChain, FixedAudioRateChain, FixedIfSampleRateChain, DialFrequencyReceiver, MetaProvider, SlotFilterChain, DemodulatorError, ServiceDemodulator
 | 
				
			||||||
from pycsdr.modules import FmDemod, Agc, Writer, Buffer
 | 
					from pycsdr.modules import FmDemod, Agc, Writer, Buffer
 | 
				
			||||||
from pycsdr.types import Format
 | 
					from pycsdr.types import Format
 | 
				
			||||||
from digiham.modules import DstarDecoder, DcBlock, FskDemodulator, GfskDemodulator, DigitalVoiceFilter, MbeSynthesizer, NarrowRrcFilter, NxdnDecoder, DmrDecoder, WideRrcFilter, YsfDecoder
 | 
					from digiham.modules import DstarDecoder, DcBlock, FskDemodulator, GfskDemodulator, DigitalVoiceFilter, MbeSynthesizer, NarrowRrcFilter, NxdnDecoder, DmrDecoder, WideRrcFilter, YsfDecoder, PocsagDecoder
 | 
				
			||||||
from digiham.ambe import Modes, ServerError
 | 
					from digiham.ambe import Modes, ServerError
 | 
				
			||||||
from owrx.meta import MetaParser
 | 
					from owrx.meta import MetaParser
 | 
				
			||||||
 | 
					from owrx.pocsag import PocsagParser
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class DigihamChain(BaseDemodulatorChain, FixedIfSampleRateChain, FixedAudioRateChain, DialFrequencyReceiver, MetaProvider):
 | 
					class DigihamChain(BaseDemodulatorChain, FixedIfSampleRateChain, FixedAudioRateChain, DialFrequencyReceiver, MetaProvider):
 | 
				
			||||||
@@ -109,3 +110,24 @@ class Ysf(DigihamChain):
 | 
				
			|||||||
            filter=WideRrcFilter(),
 | 
					            filter=WideRrcFilter(),
 | 
				
			||||||
            codecserver=codecserver
 | 
					            codecserver=codecserver
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class PocsagDemodulator(ServiceDemodulator, DialFrequencyReceiver):
 | 
				
			||||||
 | 
					    def __init__(self):
 | 
				
			||||||
 | 
					        self.parser = PocsagParser()
 | 
				
			||||||
 | 
					        workers = [
 | 
				
			||||||
 | 
					            FmDemod(),
 | 
				
			||||||
 | 
					            FskDemodulator(samplesPerSymbol=40, invert=True),
 | 
				
			||||||
 | 
					            PocsagDecoder(),
 | 
				
			||||||
 | 
					            self.parser,
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					        super().__init__(workers)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def supportsSquelch(self) -> bool:
 | 
				
			||||||
 | 
					        return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def getFixedAudioRate(self) -> int:
 | 
				
			||||||
 | 
					        return 48000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def setDialFrequency(self, frequency: int) -> None:
 | 
				
			||||||
 | 
					        self.parser.setDialFrequency(frequency)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,8 +5,6 @@ from owrx.aprs import Ax25Parser, AprsParser
 | 
				
			|||||||
from pycsdr.modules import Convert, FmDemod, Agc, TimingRecovery, DBPskDecoder, VaricodeDecoder
 | 
					from pycsdr.modules import Convert, FmDemod, Agc, TimingRecovery, DBPskDecoder, VaricodeDecoder
 | 
				
			||||||
from pycsdr.types import Format
 | 
					from pycsdr.types import Format
 | 
				
			||||||
from owrx.aprs.module import DirewolfModule
 | 
					from owrx.aprs.module import DirewolfModule
 | 
				
			||||||
from digiham.modules import FskDemodulator, PocsagDecoder
 | 
					 | 
				
			||||||
from owrx.pocsag import PocsagParser
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class AudioChopperDemodulator(ServiceDemodulator, DialFrequencyReceiver):
 | 
					class AudioChopperDemodulator(ServiceDemodulator, DialFrequencyReceiver):
 | 
				
			||||||
@@ -45,27 +43,6 @@ class PacketDemodulator(ServiceDemodulator, DialFrequencyReceiver):
 | 
				
			|||||||
        self.parser.setDialFrequency(frequency)
 | 
					        self.parser.setDialFrequency(frequency)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class PocsagDemodulator(ServiceDemodulator, DialFrequencyReceiver):
 | 
					 | 
				
			||||||
    def __init__(self):
 | 
					 | 
				
			||||||
        self.parser = PocsagParser()
 | 
					 | 
				
			||||||
        workers = [
 | 
					 | 
				
			||||||
            FmDemod(),
 | 
					 | 
				
			||||||
            FskDemodulator(samplesPerSymbol=40, invert=True),
 | 
					 | 
				
			||||||
            PocsagDecoder(),
 | 
					 | 
				
			||||||
            self.parser,
 | 
					 | 
				
			||||||
        ]
 | 
					 | 
				
			||||||
        super().__init__(workers)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def supportsSquelch(self) -> bool:
 | 
					 | 
				
			||||||
        return False
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def getFixedAudioRate(self) -> int:
 | 
					 | 
				
			||||||
        return 48000
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def setDialFrequency(self, frequency: int) -> None:
 | 
					 | 
				
			||||||
        self.parser.setDialFrequency(frequency)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class PskDemodulator(SecondaryDemodulator, SecondarySelectorChain):
 | 
					class PskDemodulator(SecondaryDemodulator, SecondarySelectorChain):
 | 
				
			||||||
    def __init__(self, baudRate: float):
 | 
					    def __init__(self, baudRate: float):
 | 
				
			||||||
        self.baudRate = baudRate
 | 
					        self.baudRate = baudRate
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -589,7 +589,7 @@ class DspManager(SdrSourceEventClient, ClientDemodulatorSecondaryDspEventClient)
 | 
				
			|||||||
            from csdr.chain.digimodes import PacketDemodulator
 | 
					            from csdr.chain.digimodes import PacketDemodulator
 | 
				
			||||||
            return PacketDemodulator()
 | 
					            return PacketDemodulator()
 | 
				
			||||||
        elif mod == "pocsag":
 | 
					        elif mod == "pocsag":
 | 
				
			||||||
            from csdr.chain.digimodes import PocsagDemodulator
 | 
					            from csdr.chain.digiham import PocsagDemodulator
 | 
				
			||||||
            return PocsagDemodulator()
 | 
					            return PocsagDemodulator()
 | 
				
			||||||
        elif mod == "bpsk31":
 | 
					        elif mod == "bpsk31":
 | 
				
			||||||
            from csdr.chain.digimodes import PskDemodulator
 | 
					            from csdr.chain.digimodes import PskDemodulator
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user