无法在 redhawk 的 fcalc 组件中设置方程式

Unable to set equation in redhawk's fcalc component

在 REDHAWK IDE (v2.12) 中,我尝试使用 fcalc 组件进行一些数学计算。我试图通过将 math.sin(a+b)+random.random() 放在方程字段中来遵循文档中的示例,但出现以下错误:

CF.PropertySetPackage.InvalidConfiguration: Failure: . Properties: equation
IDL:CF/PropertySet/InvalidConfiguration:1.0

我还尝试了其他数学函数,例如sqrt。但是,其中 none 有效。也很难在导入字段中添加任何模块。

我在使用这个 fcalc 组件时有没有做错什么?

在 IDE 沙箱中启动时,属性 初始 属性 配置似乎未触发更改侦听器。有几种解决方法:

  1. 启动组件后手动配置 import 属性,这将触发 属性 更改侦听器。例如,将 time 添加到导入列表中,然后也会导入 mathrandom
  2. 使用 Python 沙箱而不是 IDE 沙箱

    >>> from ossie.utils import sb
    >>> fcalc = sb.launch('rh.fcalc')
    2019-01-04 11:55:44 WARNING rh_fcalc:176 - NOT overriding global namespace with random from random
    >>> fcalc.equation = 'sin(a+b)+random.random()'
    

    该警告是预料之中的,只是表明您不能在没有完整命名空间 random.random() 的等式中使用 random(),因为它会与 random 库冲突。

  3. 在域中的波形中启动rh.fcalc