我尝试将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)中出现错误的原因? 请问如何解决这个问题?