diff options
author | Suren A. Chilingaryan <csa@suren.me> | 2019-11-17 16:58:02 +0100 |
---|---|---|
committer | Suren A. Chilingaryan <csa@suren.me> | 2019-11-17 16:58:02 +0100 |
commit | ea9626b60092f2d2c79431718c3ca8bc383429a6 (patch) | |
tree | f76a6dcf118fc3977eda1cbcf368018715ebe01c /tests/roof.py | |
parent | 23f22348c5281fff685c1fa89255e7e1e76266a4 (diff) | |
download | ufo-roof-ea9626b60092f2d2c79431718c3ca8bc383429a6.tar.gz ufo-roof-ea9626b60092f2d2c79431718c3ca8bc383429a6.tar.bz2 ufo-roof-ea9626b60092f2d2c79431718c3ca8bc383429a6.tar.xz ufo-roof-ea9626b60092f2d2c79431718c3ca8bc383429a6.zip |
Networking setup
Diffstat (limited to 'tests/roof.py')
-rw-r--r-- | tests/roof.py | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/tests/roof.py b/tests/roof.py index 2138931..a859069 100644 --- a/tests/roof.py +++ b/tests/roof.py @@ -1,8 +1,9 @@ import gi import sys import json -import gobject +import argparse +gi.require_version('Ufo', '0.0') from gi.repository import Ufo from gi.repository import GObject @@ -16,24 +17,40 @@ class RoofConfig: self.streams = cfg["network"]["streams"] elif cfg.get("setup", {}).get("modules") != None: self.streams = cfg["setup"]["modules"] - + + config = "roof.json" -cfg = RoofConfig(config) +output = None + +parser = argparse.ArgumentParser() +parser.add_argument('-c', '--config', dest="config", default="roof.json", help="ROOF configuration (JSON)") +parser.add_argument('-o', '--output', dest="output", default=None, help="Output file") +parser.add_argument('-n', '--number', dest="number", default=None, help="Specify number of frames to capture") +args = parser.parse_args() + + +cfg = RoofConfig(args.config) pm = Ufo.PluginManager() graph = Ufo.TaskGraph() scheduler = Ufo.Scheduler() +if args.output is None: + print ("Starting ROOF using NULL writter") + write = pm.get_task('null') + if args.number is None: args.number = 0 +else: + print ("Starting ROOF streaming to {}".format(args.output)) + write = pm.get_task('write') + write.set_properties(filename=args.output) + if args.number is None: args.number = 5 build = pm.get_task('roof-build') -build.set_properties(config=config, number=0) - -write = pm.get_task('write') -write.set_properties(filename="test.raw") +build.set_properties(config=args.config, number=args.number) for id in range(cfg.streams): read = pm.get_task('roof-read') - read.set_properties(config=config, id=id) + read.set_properties(config=args.config, id=id) graph.connect_nodes(read, build) build.bind_property('stop', read, 'stop', GObject.BindingFlags.DEFAULT) |