diff --git a/scos_actions/hardware/mocks/mock_sigan.py b/scos_actions/hardware/mocks/mock_sigan.py index d6a18287..3da60c9c 100644 --- a/scos_actions/hardware/mocks/mock_sigan.py +++ b/scos_actions/hardware/mocks/mock_sigan.py @@ -4,6 +4,7 @@ import numpy as np +from scos_actions import __version__ as SCOS_ACTIONS_VERSION from scos_actions.hardware.sigan_iface import SignalAnalyzerInterface from scos_actions.utils import get_datetime_str_now @@ -36,6 +37,7 @@ def __init__(self, randomize_values=False): self._overload = False self._capture_time = None self._is_available = True + self._plugin_version = SCOS_ACTIONS_VERSION # Simulate returning less than the requested number of samples from # self.recv_num_samps @@ -49,6 +51,10 @@ def __init__(self, randomize_values=False): @property def is_available(self): return self._is_available + + @property + def plugin_version(self): + return self._plugin_version @property def sample_rate(self): diff --git a/scos_actions/hardware/sigan_iface.py b/scos_actions/hardware/sigan_iface.py index 0f525a4b..99e25ab9 100644 --- a/scos_actions/hardware/sigan_iface.py +++ b/scos_actions/hardware/sigan_iface.py @@ -64,6 +64,12 @@ def is_available(self) -> bool: """Returns True if sigan is initialized and ready for measurements.""" pass + @property + @abstractmethod + def plugin_version(self) -> str: + """Returns the version of the SCOS plugin defining this interface.""" + pass + @abstractmethod def acquire_time_domain_samples( self,