From ec08d068c2fa892faa8f90cd3c9eb82694856aad Mon Sep 17 00:00:00 2001 From: Mauro Gaioni Date: Wed, 23 Dec 2020 16:15:08 +0100 Subject: [PATCH] try to read initial frequencies --- NanoVNASaver/Hardware/NanoVNA.py | 19 +++++++++++++++++-- NanoVNASaver/Hardware/VNA.py | 8 ++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/NanoVNASaver/Hardware/NanoVNA.py b/NanoVNASaver/Hardware/NanoVNA.py index e6ac3c0..1569e9a 100644 --- a/NanoVNASaver/Hardware/NanoVNA.py +++ b/NanoVNASaver/Hardware/NanoVNA.py @@ -40,10 +40,25 @@ class NanoVNA(VNA): super().__init__(iface) self.sweep_method = "sweep" self.read_features() - self.start = 27000000 - self.stop = 30000000 + logger.debug("Setting initial start,stop") + self.start, self.stop = self._get_running_frequencies() self._sweepdata = [] + def _get_running_frequencies(self): + + if self.name == "NanoVNA": + logger.debug("Reading values: frequencies") + try: + frequencies = super().readValues("frequencies") + return frequencies[0], frequencies[-1] + except Exception as e: + logger.warning("%s reading frequencies", e) + logger.info("falling back to generic") + else: + logger.debug("Name %s, fallback to generic", self.name) + + return VNA._get_running_frequencies(self) + def _capture_data(self) -> bytes: timeout = self.serial.timeout with self.serial.lock: diff --git a/NanoVNASaver/Hardware/VNA.py b/NanoVNASaver/Hardware/VNA.py index a16034e..9850495 100644 --- a/NanoVNASaver/Hardware/VNA.py +++ b/NanoVNASaver/Hardware/VNA.py @@ -146,6 +146,14 @@ class VNA: def resetSweep(self, start: int, stop: int): pass + def _get_running_frequencies(self): + ''' + If possible, read frequencies already runnung + if not return default values + Overwrite in specific HW + ''' + return 27000000, 30000000 + def connected(self) -> bool: return self.serial.is_open