From fa08009c501a5a2b6b1af5480a3f0bf6f01dfb19 Mon Sep 17 00:00:00 2001 From: Jakob Ketterl Date: Sun, 28 Jul 2019 12:11:22 +0200 Subject: [PATCH] more logging improvements --- csdr.py | 3 +++ owrx/service.py | 14 +++++++------- owrx/wsjt.py | 6 ++---- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/csdr.py b/csdr.py index 197f62cf..a67631d1 100644 --- a/csdr.py +++ b/csdr.py @@ -499,6 +499,9 @@ class dsp(object): if pipe_path: try: os.unlink(pipe_path) + except FileNotFoundError: + # it seems like we keep calling this twice. no idea why, but we don't need the resulting error. + pass except Exception: logger.exception("try_delete_pipes()") diff --git a/owrx/service.py b/owrx/service.py index 8c997e3c..577d29af 100644 --- a/owrx/service.py +++ b/owrx/service.py @@ -14,8 +14,6 @@ class ServiceOutput(output): self.frequency = frequency def add_output(self, t, read_fn): - logger.debug("got output of type {0}".format(t)) - if t == "wsjt_demod": parser = WsjtParser(WsjtHandler()) parser.setDialFrequency(self.frequency) @@ -33,17 +31,16 @@ class ServiceHandler(object): self.source = source self.source.addClient(self) self.source.getProps().collect("center_freq", "samp_rate").wire(self.onFrequencyChange) - self.onFrequencyChange("", "") + self.updateServices() def onSdrAvailable(self): - logger.debug("sdr {0} is available".format(self.source.getName())) - self.onFrequencyChange("", "") + self.updateServices() def onSdrUnavailable(self): - logger.debug("sdr {0} is unavailable".format(self.source.getName())) self.stopServices() def isSupported(self, mode): + # TODO make configurable return mode in ["ft8", "ft4", "wspr"] def stopServices(self): @@ -58,7 +55,10 @@ class ServiceHandler(object): def onFrequencyChange(self, key, value): if not self.source.isAvailable(): return - logger.debug("sdr {0} is changing frequency".format(self.source.getName())) + self.updateServices() + + def updateServices(self): + logger.debug("re-scheduling services due to sdr changes") self.stopServices() cf = self.source.getProps()["center_freq"] srh = self.source.getProps()["samp_rate"] / 2 diff --git a/owrx/wsjt.py b/owrx/wsjt.py index 0a401a4d..2c26b2fa 100644 --- a/owrx/wsjt.py +++ b/owrx/wsjt.py @@ -84,11 +84,10 @@ class WsjtChopper(threading.Thread): break self.outputWriter.send(line) rc = decoder.wait() - logger.debug("decoder return code: %i", rc) + if rc != 0: + logger.warning("decoder return code: %i", rc) os.unlink(file) - self.decoder = decoder - if self.fileQueue: file = self.fileQueue.pop() logger.debug("processing file {0}".format(file)) @@ -100,7 +99,6 @@ class WsjtChopper(threading.Thread): while self.doRun: data = self.source.read(256) if data is None or (isinstance(data, bytes) and len(data) == 0): - logger.warning("zero read on WSJT chopper") self.doRun = False else: self.switchingLock.acquire()