From dab62a04df0d47eaeebc0f94aec3b3c8990b1daa Mon Sep 17 00:00:00 2001 From: root Date: Thu, 21 Nov 2019 16:07:20 +0100 Subject: [PATCH] fix offset switching --- owrx/source.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/owrx/source.py b/owrx/source.py index 54bcea7..d6f149a 100644 --- a/owrx/source.py +++ b/owrx/source.py @@ -192,7 +192,7 @@ class SdrSource(object): def getCommandValues(self): dict = self.rtlProps.collect(*self.getEventNames()).__dict__() - if "lfo_offset" in dict: + if "lfo_offset" in dict and dict["lfo_offset"] is not None: dict["tuner_freq"] = dict["center_freq"] + dict["lfo_offset"] else: dict["tuner_freq"] = dict["center_freq"] @@ -451,16 +451,19 @@ class ConnectorSource(SdrSource): self.controlSocket = None self.controlPort = getAvailablePort() + def sendControlMessage(self, prop, value): + logger.debug("sending property change over control socket: {0} changed to {1}".format(prop, value)) + self.controlSocket.sendall("{prop}:{value}\n".format(prop=prop, value=value).encode()) + def wireEvents(self): def reconfigure(prop, value): if self.monitor is None: return - v = value - if prop == "center_freq" and "lfo_offset" in self.rtlProps: - v = value + self.rtlProps["lfo_offset"] - logger.debug("sending property change over control socket: {0} changed to {1}".format(prop, v)) - self.controlSocket.sendall("{prop}:{value}\n".format(prop=prop, value=v).encode()) - + if (prop == "center_freq" or prop == "lfo_offset") and "lfo_offset" in self.rtlProps: + freq = self.rtlProps["center_freq"] + self.rtlProps["lfo_offset"] + self.sendControlMessage("center_freq", freq) + else: + self.sendControlMessage(prop, value) self.rtlProps.wire(reconfigure) def postStart(self):