From a5091cd52614e01e1a8acf0e77cf4185baa5dd3d Mon Sep 17 00:00:00 2001 From: Samuel O'Brien Date: Thu, 6 Aug 2020 14:05:36 -0500 Subject: sim: Support Out of Tree Sources and Sinks This commit adds the ability to specify a path to an arbitrary python file in a simulator config file, which will be imported and used to construct a SampleSink or SampleSource for use with data streaming. Signed-off-by: Samuel O'Brien --- mpm/python/usrp_mpm/simulator/config.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'mpm/python/usrp_mpm/simulator/config.py') diff --git a/mpm/python/usrp_mpm/simulator/config.py b/mpm/python/usrp_mpm/simulator/config.py index 6698f9fd0..d97a30266 100644 --- a/mpm/python/usrp_mpm/simulator/config.py +++ b/mpm/python/usrp_mpm/simulator/config.py @@ -11,7 +11,7 @@ it identifies itself as. """ import configparser -from .sample_source import sinks, sources, NullSamples +from .sample_source import sinks, sources, NullSamples, from_import_path from .hardware_presets import presets import numbers @@ -105,7 +105,12 @@ class Config: def _read_sample_section(section, lookup): args = dict(section) class_name = args.pop("class") - constructor = lookup[class_name] + constructor = None + if "import_path" in args: + import_path = args.pop("import_path") + constructor = from_import_path(class_name, import_path) + else: + constructor = lookup[class_name] def section_gen(): return constructor(**args) return section_gen -- cgit v1.2.3