擅长:python、mysql、java
<p>如您所见,您可以用python接收SRI对象,方法与显示的HardLimit python实现<a href="https://github.com/RedhawkSDR/HardLimit/blob/master/python/HardLimit.py#L53" rel="nofollow">here</a>相同。在</p>
<blockquote>
<p>data, T, EOS, streamID, sri, sriChanged, inputQueueFlushed = self.port_dataFloat_in.getPacket()</p>
</blockquote>
<p>一旦你有了sri对象,关键字就是一个列表。让我们看看python沙盒中的一个示例。我使用的是redhawk2.0.1和siggen2.0.1,如果设置了属性,它们将输出关键字CHAN_RF和COL_RF。在</p>
<pre>
>>> from ossie.utils import sb
>>> src = sb.launch('rh.SigGen')
>>> src.chan_rf = 1e6
>>> src.col_rf = 1e3
sink = sb.DataSink()
>>> src.connect(sink, usesPortName="dataFloat_out")
>>> sb.start()
>>> sb.stop()
>>> sri = sink.sri()
>>> sri.keywords
[ossie.cf.CF.DataType(id='CHAN_RF', value=CORBA.Any(CORBA.TC_double, 1000000.0)), ossie.cf.CF.DataType(id='COL_RF', value=CORBA.Any(CORBA.TC_double, 1000.0))]
>>> sri.keywords[0].id
'CHAN_RF'
>>> sri.keywords[0].value
CORBA.Any(CORBA.TC_double, 1000000.0)
>>> sri.keywords[0].value.value()
1000000.0
</pre>