diff --git a/csdr/chain/digiham.py b/csdr/chain/digiham.py index abf426bc..a17217f7 100644 --- a/csdr/chain/digiham.py +++ b/csdr/chain/digiham.py @@ -6,6 +6,10 @@ from digiham.ambe import Modes, ServerError from owrx.meta import MetaParser from owrx.pocsag import PocsagParser +import logging + +logger = logging.getLogger(__name__) + class DigihamChain(BaseDemodulatorChain, FixedIfSampleRateChain, FixedAudioRateChain, DialFrequencyReceiver, MetaProvider): def __init__(self, fskDemodulator, decoder, mbeMode, filter=None, codecserver: str = ""): @@ -24,6 +28,9 @@ class DigihamChain(BaseDemodulatorChain, FixedIfSampleRateChain, FixedAudioRateC raise DemodulatorError("Connection to codecserver failed: {}".format(ce)) except ServerError as se: raise DemodulatorError("Codecserver error: {}".format(se)) + except RuntimeError as re: + logger.exception("Codecserver error while instantiating MbeSynthesizer:") + raise DemodulatorError("Fatal codecserver error. Please check receiver logs.") workers += [ fskDemodulator, decoder, diff --git a/owrx/feature.py b/owrx/feature.py index 00d28ba7..036a17f8 100644 --- a/owrx/feature.py +++ b/owrx/feature.py @@ -13,7 +13,6 @@ from datetime import datetime, timedelta import logging logger = logging.getLogger(__name__) -logger.setLevel(logging.INFO) class UnknownFeatureException(Exception): @@ -137,14 +136,12 @@ class FeatureDetector(object): if cache.has(requirement): return cache.get(requirement) - logger.debug("performing feature check for %s", requirement) method = self._get_requirement_method(requirement) result = False if method is not None: result = method() else: logger.error("detection of requirement {0} not implement. please fix in code!".format(requirement)) - logger.debug("feature check for %s complete. result: %s", requirement, result) cache.set(requirement, result) return result @@ -564,3 +561,6 @@ class FeatureDetector(object): return False except ConnectionError: return False + except RuntimeError as e: + logger.exception("Codecserver error while checking for AMBE support:") + return False