openwebrx-clone/csdr/chain/demodulator.py

39 lines
715 B
Python
Raw Normal View History

2021-07-19 19:04:14 +02:00
from csdr.chain import Chain
2021-08-27 17:34:48 +02:00
from abc import ABC, abstractmethod
2021-07-19 19:04:14 +02:00
2021-08-23 14:25:28 +02:00
class BaseDemodulatorChain(Chain):
2021-08-31 22:46:11 +02:00
def supportsSquelch(self) -> bool:
2021-08-23 14:25:28 +02:00
return True
2021-08-27 17:34:48 +02:00
2021-09-06 15:05:33 +02:00
def setSampleRate(self, sampleRate: int) -> None:
pass
2021-08-27 17:34:48 +02:00
2021-08-31 16:54:37 +02:00
class SecondaryDemodulator(Chain):
2021-09-06 15:05:33 +02:00
def supportsSquelch(self) -> bool:
return True
2021-08-31 16:54:37 +02:00
2021-08-27 17:34:48 +02:00
class FixedAudioRateChain(ABC):
@abstractmethod
2021-08-31 22:46:11 +02:00
def getFixedAudioRate(self) -> int:
2021-08-27 17:34:48 +02:00
pass
class FixedIfSampleRateChain(ABC):
@abstractmethod
2021-08-31 22:46:11 +02:00
def getFixedIfSampleRate(self) -> int:
pass
class DialFrequencyReceiver(ABC):
@abstractmethod
def setDialFrequency(self, frequency: int) -> None:
pass
2021-08-27 17:34:48 +02:00
# marker interface
class HdAudio:
pass