diff --git a/qspectrumanalyzer/backends/soapy_power.py b/qspectrumanalyzer/backends/soapy_power.py index 1c0ad6f..27ddc9d 100644 --- a/qspectrumanalyzer/backends/soapy_power.py +++ b/qspectrumanalyzer/backends/soapy_power.py @@ -4,7 +4,13 @@ import numpy as np from Qt import QtCore from qspectrumanalyzer.backends import BaseInfo, BasePowerThread -from soapypower.writer import SoapyPowerBinFormat + +try: + from soapypower.writer import SoapyPowerBinFormat + formatter = SoapyPowerBinFormat() +except ImportError: + print('soapy_power module not found!') + formatter = None if sys.platform == 'win32': import msvcrt @@ -20,8 +26,6 @@ if sys.platform == 'win32': ) return subprocess.Handle(h) -formatter = SoapyPowerBinFormat() - class Info(BaseInfo): """soapy_power device metadata""" @@ -195,6 +199,9 @@ class PowerThread(BasePowerThread): def run(self): """soapy_power thread main loop""" + if not formatter: + return + self.process_start() self.alive = True self.powerThreadStarted.emit()