openwebrxplus/csdr/module/rtl433.py

33 lines
943 B
Python

from pycsdr.types import Format
from csdr.module import PopenModule
class Rtl433Module(PopenModule):
def __init__(self, sampleRate: int = 48000, jsonOutput: bool = False):
self.sampleRate = sampleRate
self.jsonOutput = jsonOutput
super().__init__()
def getCommandTEST(self):
return ["dummy433"]
def getCommand(self):
return [
"rtl_433", "-r", "cs16:-", "-s", str(self.sampleRate),
"-M", "time:utc", "-F", "json" if self.jsonOutput else "kv",
# These need 48kHz, 24kHz is not enough for them
# "-R", "-80", "-R", "-149", "-R", "-154", "-R", "-160",
# "-R", "-161",
# "-R", "64",
# These need >48kHz bandwidth
"-167", "-R", "-178",
"-A",
]
def getInputFormat(self) -> Format:
return Format.COMPLEX_SHORT
def getOutputFormat(self) -> Format:
return Format.CHAR