3

我正在用 Python 编写自己的 GNU Radio 块,并且我想为该块的输入和输出缓冲区(或其中一个)设置最小缓冲区大小。

有没有可以做到这一点的函数或代码?

4

1 回答 1

4

您只能使用调用设置最小输出缓冲区大小(这不是问题;每个输入缓冲区都是另一个块的输出缓冲区),gr.block.set_min_output_buffer(port, size)例如通过执行以下操作:

  • 通过在构造函数中添加调用 def __init__(self): gr.sync_block.__init__(self, name="block_with_buffer", in_sig=[numpy.float32], out_sig=[numpy.float32]) self.set_min_output_buffer(2**20) ,或
  • 通过调用
    your_block_handle.set_min_output_buffer(2**20)
    在您用来设置流程图的任何 python 脚本中,或
  • 通过使用 GNU Radio Companion 的“高级”选项卡(在块的属性对话框中)来设置最小输出缓冲区大小。

但是,GNU Radio 忘记将该调用包装在其 python 块类中。因此,您目前不能将它与 python 块一起使用,抱歉,只能与 C++ 块一起使用。我目前正在为此编写补丁;如果一切顺利,你很快就会在 master 分支上看到这个 :)

于 2016-06-17T19:36:49.010 回答