【问题标题】:Why doesn't my OOT block appear in the GNU Radio Companion block list?为什么我的 OOT 块没有出现在 GNU Radio Companion 块列表中?
【发布时间】:2018-01-01 20:17:20
【问题描述】:

上下文:

我正在使用 GNU Radio 进行自定义块开发。我已经实现了一个名为trivial_adder_ii 的简单块,它有1 个int 输入和1 个int 输出,它产生的值只是乘以2。练习的重点是了解代码结构、工具和过程。

我使用gr_modtool 创建模块和块,更新了trivial_adder_ii_impl.cc 中的work 方法以产生预期的输出,并实现了一个通过的python 单元测试。到目前为止,一切顺利。

问题:

我的新块无法显示在 GRC 块列表中。这就是我所做的(根据各种教程):

cd build
cmake ..
make
sudo make install
sudo ldconfig

我也创建了这个 conf。具有以下内容的文件,再次,如所述,例如here及以下this question

$ cat ~/.gnuradio/config.conf 
[grc]
local_block_path=/usr/local/share/gnuradio/grc/blocks

我可以看到 XML 文件似乎已正确部署:

$ cat /usr/local/share/gnuradio/grc/blocks/testmodule_trivial_adder_ii.xml 
<?xml version="1.0"?>
<block>
  <name>trivial_adder_ii</name>
  <key>testmodule_trivial_adder_ii</key>
  <category>testmodule</category>
  <import>import testmodule</import>
  <make>testmodule.trivial_adder_ii()</make>
  <sink>
    <name>in</name>
    <type>int</type>
  </sink>

  <source>
    <name>out</name>
    <type>int</type>
  </source>
</block>

但是,无论是在部署模块 XML 后触发“重新加载块”还是重新启动 GRC,我的模块都不会显示在 GRC 中。我做错了什么?

环境:Ubuntu 14.04.1、x86_64、GNU Radio Companion 3.7.2.1。

【问题讨论】:

  • 更新:在/etc/gnuradio/conf.d/grc.conf[grc]部分下添加了local_blocks_path = /usr/local/share/gnuradio/grc/blocks,刷新了GRC,没有效果。

标签: gnuradio gnuradio-companion


【解决方案1】:

它可能列在 (未指定模块) 类别中。例如,要将其显示在 TestModule 下,请将 XML 块定义更改为:

<category>[TestModule]</category>

更新:我在下面的评论中提供了正确答案:它是“blocks”(复数),而不是“block”。

【讨论】:

  • 感谢您的回答,但我已经指定了类别:&lt;category&gt;testmodule&lt;/category&gt;。我刚刚将它更新为[testmodule],与现有的模块名称一致,但除此之外,它对我来说还不错。还有其他想法吗?
  • AFAIK,它是local_blocks_path,即复数。同一路径中是否还有其他模块?我测试了 XML 文件,它对我有用。该块显示在“(未指定模块)/testmodule/trivial_adder_ii”下。
  • 我正准备从城墙上跳下去……谢谢,bastibl。可爱的是,当我从控制台运行 GRC 时,它并没有以任何方式提出这个问题……
  • 也就是说,我仍然对编辑/etc/gnuradio/conf.d/grc.conf 没有效果这一事实感到困惑,但它现在是一个学术问题,而不是一个实际问题。
猜你喜欢
  • 2020-01-09
  • 2016-06-17
  • 2016-06-09
  • 2017-01-21
  • 1970-01-01
  • 2021-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多