From 504e64f33e213a1824c58bb68a96c48ce98c9fec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Holger=20M=C3=BCller?= Date: Tue, 21 Jan 2025 14:03:33 +0100 Subject: [PATCH] chore: type of valid_datapoints (#764) --- src/NanoVNASaver/Hardware/Hardware.py | 4 +++- src/NanoVNASaver/Hardware/JNCRadio_VNA_3G.py | 7 ++++++- src/NanoVNASaver/Hardware/LiteVNA64.py | 4 ++-- src/NanoVNASaver/Hardware/NanoVNA_F_V3.py | 13 ++++++++++++- src/NanoVNASaver/Hardware/NanoVNA_H4.py | 10 ++++++++-- src/NanoVNASaver/Hardware/NanoVNA_V2.py | 20 ++++++++++++++++++-- src/NanoVNASaver/Hardware/SV4401A.py | 6 +++++- src/NanoVNASaver/Hardware/SV6301A.py | 6 +++++- src/NanoVNASaver/Hardware/TinySA.py | 4 ++-- src/NanoVNASaver/Hardware/VNA.py | 4 ++-- 10 files changed, 63 insertions(+), 15 deletions(-) diff --git a/src/NanoVNASaver/Hardware/Hardware.py b/src/NanoVNASaver/Hardware/Hardware.py index 9535ecd..4a2c5cc 100644 --- a/src/NanoVNASaver/Hardware/Hardware.py +++ b/src/NanoVNASaver/Hardware/Hardware.py @@ -195,7 +195,9 @@ def detect_version(serial_port: serial.Serial) -> str: if data.startswith("\r\n?\r\nch> "): return "vh" if data.startswith("2"): - return "lite_vna_64" if LiteVNA64.is_lite_vna_64(serial_port) else "v2" + return ( + "lite_vna_64" if LiteVNA64.is_lite_vna_64(serial_port) else "v2" + ) logger.debug("Retry detection: %s", i + 1) logger.error("No VNA detected. Hardware responded to CR with: %s", data) return "" diff --git a/src/NanoVNASaver/Hardware/JNCRadio_VNA_3G.py b/src/NanoVNASaver/Hardware/JNCRadio_VNA_3G.py index a380022..d49ded3 100644 --- a/src/NanoVNASaver/Hardware/JNCRadio_VNA_3G.py +++ b/src/NanoVNASaver/Hardware/JNCRadio_VNA_3G.py @@ -31,7 +31,12 @@ class JNCRadio_VNA_3G(NanoVNA): name = "JNCRadio_VNA_3G" screenwidth = 800 screenheight = 480 - valid_datapoints = [501, 11, 101, 1001] + valid_datapoints: tuple[int, ...] = ( + 501, + 11, + 101, + 1001, + ) sweep_points_min = 11 sweep_points_max = 1001 diff --git a/src/NanoVNASaver/Hardware/LiteVNA64.py b/src/NanoVNASaver/Hardware/LiteVNA64.py index 0fd33ed..db02084 100644 --- a/src/NanoVNASaver/Hardware/LiteVNA64.py +++ b/src/NanoVNASaver/Hardware/LiteVNA64.py @@ -85,7 +85,7 @@ class ScreenshotData: class LiteVNA64(NanoVNA_V2): name = "LiteVNA-64" - valid_datapoints = [ + valid_datapoints: tuple[int, ...] = ( 51, 101, 201, @@ -98,7 +98,7 @@ class LiteVNA64(NanoVNA_V2): 6401, 12801, 25601, - ] + ) screenwidth = 480 screenheight = 320 sweep_points_max = 65535 diff --git a/src/NanoVNASaver/Hardware/NanoVNA_F_V3.py b/src/NanoVNASaver/Hardware/NanoVNA_F_V3.py index 8f9b014..2c73740 100644 --- a/src/NanoVNASaver/Hardware/NanoVNA_F_V3.py +++ b/src/NanoVNASaver/Hardware/NanoVNA_F_V3.py @@ -31,7 +31,18 @@ class NanoVNA_F_V3(NanoVNA): name = "NanoVNA-F_V3" screenwidth = 800 screenheight = 480 - valid_datapoints = (101, 11, 51, 201, 301, 401, 501, 601, 701, 801) + valid_datapoints: tuple[int, ...] = ( + 101, + 11, + 51, + 201, + 301, + 401, + 501, + 601, + 701, + 801, + ) sweep_points_min = 11 sweep_points_max = 801 diff --git a/src/NanoVNASaver/Hardware/NanoVNA_H4.py b/src/NanoVNASaver/Hardware/NanoVNA_H4.py index f35d192..cf22cf4 100644 --- a/src/NanoVNASaver/Hardware/NanoVNA_H4.py +++ b/src/NanoVNASaver/Hardware/NanoVNA_H4.py @@ -27,7 +27,13 @@ class NanoVNA_H4(NanoVNA_H): name = "NanoVNA-H4" screenwidth = 480 screenheight = 320 - valid_datapoints = [101, 11, 51, 201, 401] + valid_datapoints: tuple[int, ...] = ( + 101, + 11, + 51, + 201, + 401, + ) def __init__(self, iface: Interface): super().__init__(iface) @@ -42,4 +48,4 @@ class NanoVNA_H4(NanoVNA_H): # if self.readFirmware().find("DiSlord") > 0: # self.features.add("Customizable data points") # logger.info("VNA has 201 datapoints capability") - # self.valid_datapoints = [201, 11, 51, 101] + # self.valid_datapoints: tuple[int, ...] = [201, 11, 51, 101] diff --git a/src/NanoVNASaver/Hardware/NanoVNA_V2.py b/src/NanoVNASaver/Hardware/NanoVNA_V2.py index 6f68631..4c3e75d 100644 --- a/src/NanoVNASaver/Hardware/NanoVNA_V2.py +++ b/src/NanoVNASaver/Hardware/NanoVNA_V2.py @@ -69,7 +69,15 @@ _ADF4350_TXPOWER_DESC_REV_MAP = { class NanoVNA_V2(VNA): # noqa: N801 name = "NanoVNA-V2" - valid_datapoints = [101, 11, 51, 201, 301, 501, 1023] + valid_datapoints: tuple[int, ...] = ( + 101, + 11, + 51, + 201, + 301, + 501, + 1023, + ) screenwidth = 320 screenheight = 240 @@ -89,7 +97,15 @@ class NanoVNA_V2(VNA): # noqa: N801 raise IOError("Device is in DFU mode") if "S21 hack" in self.features: - self.valid_datapoints = [101, 11, 51, 201, 301, 501, 1021] + self.valid_datapoints: tuple[int, ...] = [ + 101, + 11, + 51, + 201, + 301, + 501, + 1021, + ] self.sweepStartHz = 200e6 self.sweepStepHz = 1e6 diff --git a/src/NanoVNASaver/Hardware/SV4401A.py b/src/NanoVNASaver/Hardware/SV4401A.py index 8625013..22eb9e6 100644 --- a/src/NanoVNASaver/Hardware/SV4401A.py +++ b/src/NanoVNASaver/Hardware/SV4401A.py @@ -31,7 +31,11 @@ class SV4401A(NanoVNA): name = "SV4401A" screenwidth = 1024 screenheight = 600 - valid_datapoints = [501, 101, 1001] + valid_datapoints: tuple[int, ...] = ( + 501, + 101, + 1001, + ) sweep_points_min = 101 sweep_points_max = 1001 diff --git a/src/NanoVNASaver/Hardware/SV6301A.py b/src/NanoVNASaver/Hardware/SV6301A.py index 9689b33..782a588 100644 --- a/src/NanoVNASaver/Hardware/SV6301A.py +++ b/src/NanoVNASaver/Hardware/SV6301A.py @@ -31,7 +31,11 @@ class SV6301A(NanoVNA): name = "SV6301A" screenwidth = 1024 screenheight = 600 - valid_datapoints = [501, 101, 1001] + valid_datapoints: tuple[int, ...] = ( + 501, + 101, + 1001, + ) sweep_points_min = 101 sweep_points_max = 1001 diff --git a/src/NanoVNASaver/Hardware/TinySA.py b/src/NanoVNASaver/Hardware/TinySA.py index 127c943..f240dab 100644 --- a/src/NanoVNASaver/Hardware/TinySA.py +++ b/src/NanoVNASaver/Hardware/TinySA.py @@ -34,7 +34,7 @@ class TinySA(VNA): name = "tinySA" screenwidth = 320 screenheight = 240 - valid_datapoints = [290] + valid_datapoints: tuple[int, ...] = (290,) def __init__(self, iface: Interface): super().__init__(iface) @@ -132,7 +132,7 @@ class TinySA_Ultra(TinySA): # noqa: N801 name = "tinySA Ultra" screenwidth = 480 screenheight = 320 - valid_datapoints = [450, 51, 101, 145, 290] + valid_datapoints: tuple[int, ...] = [450, 51, 101, 145, 290] hardware_revision = None def __init__(self, iface: Interface): diff --git a/src/NanoVNASaver/Hardware/VNA.py b/src/NanoVNASaver/Hardware/VNA.py index 459cbea..ef39edb 100644 --- a/src/NanoVNASaver/Hardware/VNA.py +++ b/src/NanoVNASaver/Hardware/VNA.py @@ -53,12 +53,12 @@ def _max_retries(bandwidth: int, datapoints: int) -> int: class VNA: name = "VNA" - valid_datapoints: list[int] = [101, 51, 11] + valid_datapoints: tuple[int, ...] = (101, 51, 11) wait = 0.05 SN = "NOT SUPPORTED" sweep_points_max = 101 sweep_points_min = 11 - + # Must be initilized in child classes sweep_max_freq_Hz = 0.0