Module pysdrlib.base.config
Classes
class ConfigDevice (sets)-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtrSubclasses
- pysdrlib.UHD.config._ConfigB210
- pysdrlib.bladerf.config._ConfigBladeRF
- pysdrlib.extio.config._ConfigRX888
- pysdrlib.hackrf.config._ConfigHackRF
- pysdrlib.rtl_sdr.config._ConfigRTL_SDR
Instance variables
var DEFAULT_FREQ-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var DEFAULT_GAIN_RX-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var DEFAULT_GAIN_RX_BB-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var DEFAULT_GAIN_RX_IF-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var DEFAULT_GAIN_RX_RF-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var DEFAULT_GAIN_TX-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var DEFAULT_GAIN_TX_BB-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var DEFAULT_GAIN_TX_IF-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var DEFAULT_GAIN_TX_RF-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var DEFAULT_SAMPLE_RATE-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var FREQ_MAX-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var FREQ_MIN-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_BB-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_BB_MAX-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_BB_MIN-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_BB_STEP-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_IF-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_IF_MAX-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_IF_MIN-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_IF_STEP-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_MAX-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_MIN-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_RF-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_RF_MAX-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_RF_MIN-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_RX_RF_STEP-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_BB-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_BB_MAX-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_BB_MIN-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_BB_STEP-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_IF-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_IF_MAX-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_IF_MIN-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_IF_STEP-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_MAX-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_MIN-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_RF-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_RF_MAX-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_RF_MIN-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var GAIN_TX_RF_STEP-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var SAMPLE_RATE_MAX-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr var SAMPLE_RATE_MIN-
Expand source code
class ConfigDevice: __instance = None __slots__ = ( "_log", "FREQ_MIN", "FREQ_MAX", "SAMPLE_RATE_MIN", "SAMPLE_RATE_MAX", "GAIN_RX_RF", "GAIN_RX_RF_STEP", "GAIN_RX_RF_MIN", "GAIN_RX_RF_MAX", "GAIN_RX_IF", "GAIN_RX_IF_STEP", "GAIN_RX_IF_MIN", "GAIN_RX_IF_MAX", "GAIN_RX_BB", "GAIN_RX_BB_STEP", "GAIN_RX_BB_MIN", "GAIN_RX_BB_MAX", "GAIN_RX_MIN", "GAIN_RX_MAX", "GAIN_TX_RF", "GAIN_TX_RF_STEP", "GAIN_TX_RF_MIN", "GAIN_TX_RF_MAX", "GAIN_TX_IF", "GAIN_TX_IF_STEP", "GAIN_TX_IF_MIN", "GAIN_TX_IF_MAX", "GAIN_TX_BB", "GAIN_TX_BB_STEP", "GAIN_TX_BB_MIN", "GAIN_TX_BB_MAX", "GAIN_TX_MIN", "GAIN_TX_MAX", "DEFAULT_FREQ", "DEFAULT_SAMPLE_RATE", "DEFAULT_GAIN_RX", "DEFAULT_GAIN_RX_RF", "DEFAULT_GAIN_RX_IF", "DEFAULT_GAIN_RX_BB", "DEFAULT_GAIN_TX", "DEFAULT_GAIN_TX_RF", "DEFAULT_GAIN_TX_IF", "DEFAULT_GAIN_TX_BB", ) def __new__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__new__(cls) cls.__instance.__init__(*args, **kwargs) return cls.__instance def _pop(self, sets, name, default=None): v = sets.get(name, default) # self._log.trace(f"Setting {name} = {v}") if v is not default: del sets[name] return v def __init__(self, sets): self._log = logger.new(f"device.{type(self).__name__}") self.FREQ_MIN = self._pop(sets, "FREQ_MIN") self.FREQ_MAX = self._pop(sets, "FREQ_MAX") self.SAMPLE_RATE_MIN = self._pop(sets, "SAMPLE_RATE_MIN") self.SAMPLE_RATE_MAX = self._pop(sets, "SAMPLE_RATE_MAX") self.GAIN_RX_RF_STEP = self._pop(sets["GAIN"], "RX_RF_STEP") self.GAIN_RX_RF_MIN = self._pop(sets["GAIN"], "RX_RF_MIN") self.GAIN_RX_RF_MAX = self._pop(sets["GAIN"], "RX_RF_MAX") self.GAIN_RX_RF = not None in (self.GAIN_RX_RF_STEP, self.GAIN_RX_RF_MIN, self.GAIN_RX_RF_MAX) self.GAIN_RX_IF_STEP = self._pop(sets["GAIN"], "RX_IF_STEP") self.GAIN_RX_IF_MIN = self._pop(sets["GAIN"], "RX_IF_MIN") self.GAIN_RX_IF_MAX = self._pop(sets["GAIN"], "RX_IF_MAX") self.GAIN_RX_IF = not None in (self.GAIN_RX_IF_STEP, self.GAIN_RX_IF_MIN, self.GAIN_RX_IF_MAX) self.GAIN_RX_BB_STEP = self._pop(sets["GAIN"], "RX_BB_STEP") self.GAIN_RX_BB_MIN = self._pop(sets["GAIN"], "RX_BB_MIN") self.GAIN_RX_BB_MAX = self._pop(sets["GAIN"], "RX_BB_MAX") self.GAIN_RX_BB = not None in (self.GAIN_RX_BB_STEP, self.GAIN_RX_BB_MIN, self.GAIN_RX_BB_MAX) self.GAIN_RX_MIN = (self.GAIN_RX_RF_MIN if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MIN if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MIN if self.GAIN_RX_BB else 0) self.GAIN_RX_MAX = (self.GAIN_RX_RF_MAX if self.GAIN_RX_RF else 0) \ + (self.GAIN_RX_IF_MAX if self.GAIN_RX_IF else 0) \ + (self.GAIN_RX_BB_MAX if self.GAIN_RX_BB else 0) self.GAIN_TX_RF_STEP = self._pop(sets["GAIN"], "TX_RF_STEP") self.GAIN_TX_RF_MIN = self._pop(sets["GAIN"], "TX_RF_MIN") self.GAIN_TX_RF_MAX = self._pop(sets["GAIN"], "TX_RF_MAX") self.GAIN_TX_RF = not None in (self.GAIN_TX_RF_STEP, self.GAIN_TX_RF_MIN, self.GAIN_TX_RF_MAX) self.GAIN_TX_IF_STEP = self._pop(sets["GAIN"], "TX_IF_STEP") self.GAIN_TX_IF_MIN = self._pop(sets["GAIN"], "TX_IF_MIN") self.GAIN_TX_IF_MAX = self._pop(sets["GAIN"], "TX_IF_MAX") self.GAIN_TX_IF = not None in (self.GAIN_TX_IF_STEP, self.GAIN_TX_IF_MIN, self.GAIN_TX_IF_MAX) self.GAIN_TX_BB_STEP = self._pop(sets["GAIN"], "TX_BB_STEP") self.GAIN_TX_BB_MIN = self._pop(sets["GAIN"], "TX_BB_MIN") self.GAIN_TX_BB_MAX = self._pop(sets["GAIN"], "TX_BB_MAX") self.GAIN_TX_BB = not None in (self.GAIN_TX_BB_STEP, self.GAIN_TX_BB_MIN, self.GAIN_TX_BB_MAX) self.GAIN_TX_MIN = (self.GAIN_TX_RF_MIN if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MIN if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MIN if self.GAIN_TX_BB else 0) self.GAIN_TX_MAX = (self.GAIN_TX_RF_MAX if self.GAIN_TX_RF else 0) \ + (self.GAIN_TX_IF_MAX if self.GAIN_TX_IF else 0) \ + (self.GAIN_TX_BB_MAX if self.GAIN_TX_BB else 0) self.DEFAULT_FREQ = self._pop(sets["DEFAULT"], "FREQ") self.DEFAULT_SAMPLE_RATE = self._pop(sets["DEFAULT"], "SAMPLE_RATE") self.DEFAULT_GAIN_RX_RF = self._pop(sets["DEFAULT"], "GAIN_RX_RF") self.DEFAULT_GAIN_RX_IF = self._pop(sets["DEFAULT"], "GAIN_RX_IF") self.DEFAULT_GAIN_RX_BB = self._pop(sets["DEFAULT"], "GAIN_RX_BB") self.DEFAULT_GAIN_RX = (self.DEFAULT_GAIN_RX_RF if self.GAIN_RX_RF else 0) \ + (self.DEFAULT_GAIN_RX_IF if self.GAIN_RX_IF else 0) \ + (self.DEFAULT_GAIN_RX_BB if self.GAIN_RX_BB else 0) self.DEFAULT_GAIN_TX_RF = self._pop(sets["DEFAULT"], "GAIN_TX_RF") self.DEFAULT_GAIN_TX_IF = self._pop(sets["DEFAULT"], "GAIN_TX_IF") self.DEFAULT_GAIN_TX_BB = self._pop(sets["DEFAULT"], "GAIN_TX_BB") self.DEFAULT_GAIN_TX = (self.DEFAULT_GAIN_TX_RF if self.GAIN_TX_RF else 0) \ + (self.DEFAULT_GAIN_TX_IF if self.GAIN_TX_IF else 0) \ + (self.DEFAULT_GAIN_TX_BB if self.GAIN_TX_BB else 0) def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr
Methods
def json(self)-
Expand source code
def json(self): rtr = { "DEFAULT": {}, "GAIN": {} } for key in self.__slots__: if key.startswith("_"): continue if key.startswith("DEFAULT_"): rtr["DEFAULT"][key[8:]] = getattr(self, key) elif key.startswith("GAIN_"): rtr["GAIN"][key[5:]] = getattr(self, key) else: rtr[key] = getattr(self, key) return rtr