如何从具有多个端口的组件中读取数据

时间:2017-08-18 14:47:41

标签: python redhawksdr

我正在尝试从一个竞争对手中读取数据,这些数据来自一个新的redhawk python脚本并且流动一些示例我有以下但是它只需要一个端口

from ossie.utils import redhawk, sb
dom = redhawk.attach("REDHAWK_DEV")
app=dom.apps[0]
print(app)
comp = app.comp[0]
output_data = sb.DataSink()
comp.connect(output_data)

哪些错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/redhawk/core/lib/python/ossie/utils/model/__init__.py", line 327, in connect
    raise RuntimeError, ret_str
RuntimeError: Multiple ports matched interfaces on connect, must specify providesPortName or usesPortName
Possible matches:
  Interface: IDL:BULKIO/dataShort:1.0, component/port:  rh.basic_components_demo_230_071003375_1/SigGen_sine/dataShort_out     __localDataSink_1/shortIn
  Interface: IDL:BULKIO/dataFloat:1.0, component/port:  rh.basic_components_demo_230_071003375_1/SigGen_sine/dataFloat_out     __localDataSink_1/floatIn

该组件是基本波形示例项目中的rh.SigGen组件。

你如何从水槽读取并输出花车? 我想的是

...
comp.connect(output_data)
while (data=comp.read()) :
   print("Value : "+data)

1 个答案:

答案 0 :(得分:0)

您的错误可以通过以下方式解决:

comp.connect(output_data, usesPortName="dataFloat_out")

为了打印浮动样本,您可以实现REDHAWK组件来执行此操作...您还可以使用以下方式绘制数据:

sb.IDELocation("/path/to/ide/eclipse/directory")
plot=sb.Plot()
comp.connect(plot, usesPortName="dataFloat_out")