如何使用python

时间:2016-10-11 00:13:18

标签: redhawksdr

我在两个节点上运行两个相同的波形,并尝试在两个波形中的对等组件之间连接一对端口。本手册讨论了外部端口,但没有谈到如何连接它们,但似乎我应该在波形中将它们声明为外部。我相信即使我在域中而不是在沙箱中运行,我也可以使用手册10.2中的方法。所以我试图使用python命令来连接它们。我在IDE中启动域和波形,然后尝试使用python进行外部连接。这些域名为TxRadio和RxRadio。

我使用以下命令:

$ python

  
    
      

来自ossie.utils import redhawk

             

TxRadio = redhawk.attach(“TxRadio”)

             

RxRadio = redhawk.attach(“RxRadio”)

             

TxWaveform = TxRadio.apps [0]

             

RxWaveform = RxRadio.apps [0]

             

TxWaveform.connect(RxWaveform)

    
  

因为我在对等组件上有其他本地提供的端口具有相同的接口,这个连接是不明确的,python给我一个匹配的端口列表,所以我做

  
    
      

TxWaveform.connect(RxWaveform,providePortName =“TransferIn”)

    
  

我在shell中没有得到python的错误,但是我的IDE会弹出一个报告错误的窗口:

gov / redhawkl / ide.debug.impl.LocalScaWaveformImpl无法强制转换为gov.redhawk.ide.debug.LocalScaComponent

这听起来像是在尝试连接组件和波形。添加usesPortName没有帮助。它是组件上同一接口的唯一Uses端口。

我知道它正在尝试使用正确的providePortName,因为如果我拼错它会报告我的组件没有该名称的提供端口。

由于我只指定了波形而不是要连接的组件,因此它将尝试外部端口。所以我尝试指定组件。

RxWaveform.api()报告我的对等组件是组件2,所以我尝试

  
    
      

TxWaveform.comps [1] .connect(RxWaveform.comps [1],providePortName =“TransferIn”)

    
  

我得到同样的错误。

即使我尝试连接同一域中的端口

  
    
      

TxWaveform.comps [1] .connect(TxWaveform.comps [1],providePortName =“TransferIn”)

    
  

将组件上的TransferOut连接到TransferIn的同一个 组件,我得到同样的错误。

似乎如此接近。任何人都可以告诉我我做错了什么或者是什么 错误信息是指?

BTW我正在使用RedHawk 2.0.0

1 个答案:

答案 0 :(得分:1)

听起来你采取了正确的步骤,IDE正在抛出一个虚假的错误。在这种情况下,我会忽略IDE异常,并确认连接在IDE之外工作。您是否有IDE错误的行号或堆栈跟踪?如果我没记错的话,可能已在最近的一个版本中修复过。

  

gov / redhawkl / ide.debug.impl.LocalScaWaveformImpl无法强制转换为gov.redhawk.ide.debug.LocalScaComponent