当我在gnuradio中制作OOT块时
Plant
我明白了:
SubPlans
我该如何解决?
GRC如下:
选择器:输入索引和输出索引由WX GUI选择器块控制
FSK4 MOD:调制fsk4信号并将数据写入raw.bin
FSK4 DEMOD:从raw.bin读取数据并解调
FixedSubPlan newSubPlan = new FixedSubPlan(getNumberOfSubPlans(), getFamilyNames());
newSubPlan.rotateFamily(getNumberOfSubPlans());
listOfSubPlans.add(newSubPlan);
当输入索引或输出索引发生变化时,整个流程图将没有响应。
答案 0 :(得分:2)
有两件事:
你有一个错误,解决方案不是改变一些东西,而是修复那个错误。完整的Python错误消息将告诉您错误在哪一行。
noutput_items
是GNU Radio在运行时设置的变量,用于通知您在此work
调用中可能产生的输出量。因此,它不是设置的东西,而是work
方法必须尊重的东西。
我认为你不太了解GNU Radio是如何运作的,这是公平的:
当有足够的可用输出空间和足够的输入项目时,GNU Radio基于调用块的work
函数。您的块可以使用的输出空间量作为参数传递给work
,并且会在对work
的调用之间进行更改。
我非常强烈建议您浏览official Guided Tutorials的第1-3章(如果您还没有)。我们总是尽力使这些教程保持最新。
编辑:您的命令显示您还没有真正明白我的意思,抱歉。所以:GNU Radio在执行时会一遍又一遍地调用你的work
方法。
例如,它可能会调用带有4000个输入项和4000个输出项空间的work
(您有一个同步块,因此输入数量==输出数量)。您的work
处理前1000个,因此return 1000
。所以剩下3000件物品。
现在,上游块做了一些事情,所以有100个新项目。由于之前的3000仍然存在,因此我们会使用work
项来调用您的3100
{/ p}}。
您的work
处理任意数量的项目,并return
该号码。 GNU Radio确保"剩余的"如果我们的输出中有足够的内容,我们会继续拨打您的work
。