如何在 GNURadio 中制作消息源和消息选通块
How to make a message source and message strobe blocks in GNURadio
我必须在 GNURadio 中创建消息源块。我必须使用 Windows 10 并且我不知道如何在其上安装和使用 gr-modtool,所以我正在尝试使用嵌入式 Python 块制作块。
消息块的行为类似于消息选通,它定期向输出端口发送消息。唯一不同的是,我的消息不是输入参数,而是一个需要周期性计算的变量。我正在尝试了解如何操作,但没有找到太多相关信息。
所以,这个块没有输入端口,只有一个消息输出端口,那么第一部分代码应该是
class msg_block(gr.sync_block):
def __init__(self):
gr.sync_block.__init__(
self,
name="msg_block",
in_sig=None,
out_sig=None)
self.message_port_register_out(pmt.intern('msg_out'))
第一个问题是连一个简单的消息源都实现不了。因为如果 in_sig 和 out_sig 是 None,那么工作方法“不起作用”,如果我插入行
self.message_port_pub(pmt.intern('msg_out'), pmt.intern('hello world'))
在它内部,它并没有真正将消息放在 msg_out 端口上。事实上,如果我 运行 一个带有我的块和消息调试的 gnuradio 应用程序,则不会打印任何内容。我想我不明白方法 message_port_pub() 是如何工作的,因为我尝试了很少的解决方案,但是其中 none 有效。
第二步,当然是时间循环的引入。我想使用 threading.Timer.
消息选通码我到处找,没找到。
有人可以帮助我了解如何制作消息源和消息选通块吗?
谢谢。
I looked everywhere the message strobe code but did not find it.
您可以找到消息选通源代码here
As second step, of course, it would be the introducing of the time loop. I think to use a threading.Timer.
是的,要实现这个你需要启动一个线程或使用某种定时器。
我必须在 GNURadio 中创建消息源块。我必须使用 Windows 10 并且我不知道如何在其上安装和使用 gr-modtool,所以我正在尝试使用嵌入式 Python 块制作块。
消息块的行为类似于消息选通,它定期向输出端口发送消息。唯一不同的是,我的消息不是输入参数,而是一个需要周期性计算的变量。我正在尝试了解如何操作,但没有找到太多相关信息。
所以,这个块没有输入端口,只有一个消息输出端口,那么第一部分代码应该是
class msg_block(gr.sync_block):
def __init__(self):
gr.sync_block.__init__(
self,
name="msg_block",
in_sig=None,
out_sig=None)
self.message_port_register_out(pmt.intern('msg_out'))
第一个问题是连一个简单的消息源都实现不了。因为如果 in_sig 和 out_sig 是 None,那么工作方法“不起作用”,如果我插入行
self.message_port_pub(pmt.intern('msg_out'), pmt.intern('hello world'))
在它内部,它并没有真正将消息放在 msg_out 端口上。事实上,如果我 运行 一个带有我的块和消息调试的 gnuradio 应用程序,则不会打印任何内容。我想我不明白方法 message_port_pub() 是如何工作的,因为我尝试了很少的解决方案,但是其中 none 有效。
第二步,当然是时间循环的引入。我想使用 threading.Timer.
消息选通码我到处找,没找到。 有人可以帮助我了解如何制作消息源和消息选通块吗?
谢谢。
I looked everywhere the message strobe code but did not find it.
您可以找到消息选通源代码here
As second step, of course, it would be the introducing of the time loop. I think to use a threading.Timer.
是的,要实现这个你需要启动一个线程或使用某种定时器。