如何修复gnuradio-redhawk集成中的组件生成错误?

时间:2019-04-04 11:41:13

标签: python redhawksdr

我尝试将GNURadio流图部署为具有GNURadio-REDHAWK集成(https://github.com/GeonTech/gnuradio-redhawk)的组件。我选择了传统集成方式(https://github.com/Geontech/gnuradio-redhawk/tree/master/1-traditional),并使用了 gr-redhawk_integration_python gr-component_converter软件包

使用 redhawk-codegen execute

生成组件时发生错误

我的系统和工具版本:CentOS Linux 7,Python 2.7.5,REDHAWK 2.2.1,GNU Radio 3.7.9。详细信息:

[pol-coolov@centoshost ~]$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

[pol-coolov@centoshost ~]$ /usr/bin/python --version
Python 2.7.5
[pol-coolov@centoshost ~]$ 

gov.redhawk.core (2.2.1.201811291823) "REDHAWK Core"
gov.redhawk.core.sdk (2.2.1.201811291823) "REDHAWK Core"
gov.redhawk.core.source (2.2.1.201811291823) "REDHAWK Core"
gov.redhawk.core.ui (2.2.1.201811291823) "REDHAWK Common UI"
gov.redhawk.core.ui.source (2.2.1.201811291823) "REDHAWK Common UI"
gov.redhawk.e4.platform (2.2.1.201811291837) "REDHAWK e4 Platform"
gov.redhawk.ide.codegen (2.2.1.201811291834) "REDHAWK Jinja Code Generator Base"
gov.redhawk.ide.codegen.source (2.2.1.201811291834) "REDHAWK Jinja Code Generator Base"
gov.redhawk.ide.feature (2.2.1.201811291831) "REDHAWK IDE"
gov.redhawk.ide.feature.source (2.2.1.201811291831) "REDHAWK IDE"
gov.redhawk.ide.ui.feature (2.2.1.201811291831) "REDHAWK IDE UI"
gov.redhawk.ide.ui.feature.source (2.2.1.201811291831) "REDHAWK IDE UI"
gov.redhawk.idl (2.2.1.201811291823) "REDHAWK IDL Support"
gov.redhawk.idl.source (2.2.1.201811291823) "REDHAWK IDL Support"
gov.redhawk.validation.feature (2.2.1.201811291823) "REDHAWK Validation"
gov.redhawk.validation.feature.source (2.2.1.201811291823) "REDHAWK Validation"
mil.jpeojtrs.sca (2.2.2.201811291820) "REDHAWK XML Model Utils"
mil.jpeojtrs.sca.source (2.2.2.201811291820) "REDHAWK XML Model Utils"


[pol-coolov@centoshost ~]$ gnuradio-config-info -v
3.7.9

在安装GNU Radio之后,已经安装了软件包: gr-redhawk_integration_python gr-component_converter 。使用 redhawk_source redhawk_sink 块创建和配置流程图以满足要求。

组件生成期间发生错误:

[pol-coolov@centoshost converter]$  ./run.py /home/pol-coolov/gnuradio_apps/my_gr_apps/gnur_redhawk/gnur_red_spectrum_inversion_flow.grc /home/pol-coolov/gnuradio_redhawk/gnuradio_components/spectrum_inversion_flow
>>> Warning: This flow graph may not have flow control: no audio or RF hardware blocks found. Add a Misc->Throttle block to your flow graph to avoid CPU congestion.
Skipped substitution for: class top_block\(.*\):
gnur_red_spectrum_inversion_flow
Component gnur_red_spectrum_inversion_flow
Traceback (most recent call last):
  File "/usr/local/redhawk/core/bin/redhawk-codegen", line 416, in <module>
    generated, skipped = generator.generate(softpkg, *implFiles)
  File "/usr/local/redhawk/core/lib/python/redhawk/codegen/jinja/generator.py", line 161, in generate
    component = self.map(softpkg)
  File "/usr/local/redhawk/core/lib/python/redhawk/codegen/jinja/generator.py", line 301, in map
    return self.projectMapper().mapProject(softpkg, self.generators)
  File "/usr/local/redhawk/core/lib/python/redhawk/codegen/jinja/mapping.py", line 285, in mapProject
    project = self.mapComponent(softpkg)
  File "/usr/local/redhawk/core/lib/python/redhawk/codegen/jinja/mapping.py", line 198, in mapComponent
    component.update(self._mapComponent(softpkg))
  File "/usr/local/redhawk/core/lib/python/redhawk/codegen/jinja/project/component/mapping.py", line 38, in _mapComponent
    component['interfaces'] = [libraries.getRPMDependency(name) for name in self.getInterfaceNamespaces(softpkg)]
  File "/usr/local/redhawk/core/lib/python/redhawk/codegen/jinja/mapping.py", line 236, in getInterfaceNamespaces
    namespace = IDLInterface(interface.repid).namespace()
  File "/usr/local/redhawk/core/lib/python/redhawk/codegen/lang/idl.py", line 36, in __init__
    interface = self.__repid.split(':')[1]
IndexError: list index out of range
[pol-coolov@centoshost converter]$

也许是REDHAWK版本不同(需要2.0.6,但我的版本是2.2.1)中出现错误的原因? 请问如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

https://github.com/GeonTech/gnuradio-redhawk中引用的子模块是针对较旧版本的REDHAWK开发的。