2016-06-16 5 views

答えて

3

あなたが唯一の最小出力バッファサイズを(それは問題ではない、すべての入力バッファが別のブロックの出力バッファである)を設定することができます実行して、たとえば、gr.block.set_min_output_buffer(port, size)呼び出しを使用して、:

  • をすることによって(GNUラジオコンパニオンの「高度」タブを使用して、あなたのフローグラフを設定するために使用しているものは何でものpythonスクリプトで
     
    your_block_handle.set_min_output_buffer(2**20)
    、または
  • を呼び出すことで、コール あなたのコンストラクタで 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) 、または
  • を追加ブロックのプロパティダイアログで)、最小出力バッファサイズを設定します。

しかし、GNU Radioはpythonブロッククラスでその呼び出しをラップするのを忘れました。したがって、現在のところ、pythonブロックでは使用できません。申し訳ありませんが、C++ブロックでのみ使用できます。私は現在書いていますa patch for that;すべてがうまくいけばすぐにマスターブランチでこれを見ることができます:)

+0

1.私は正しく理解していることを確認してください:あなたのコメントの最後の段落によると、私のブロックがPython 'self.set_min_output_buffer(2 ** 20)'という行を追加すると動作しません。 (これは私のブロックをC++でのみ書く必要があることを意味します) 2.これはあなたが意味するものではない場合、私はPythonで私のブロックを書いたので、私はまだ不明です、そして__init __ ):最初の提案と同じように、コードを実行しましたが、次のエラーが発生します: AttributeError:オブジェクトに属性がありません 'set_min_output_buffer' – Doe

関連する問題