GNU Radio Companion:如何将浮动流转换为打印到控制台?
GNU Radio Companion: how can I convert float stream to be printed to console?
我有一个阈值块的输入,我已经验证它正在使用 QT GUI 数字接收器。
我想将 Threshold 块的输出打印到控制台,最好使用 Message Debug 块。
但是,Threshold 块的输出是浮点流,与 Message Debug 块的输入不匹配。
有没有办法将浮动流转换为消息,还是我走错了路?
我的总体目标是:当输入超过某个阈值时,打印到控制台。另一个程序将监视控制台,当有打印输出时,这会触发另一个操作。我也不确定如何仅在超过阈值时输出,但一次一个问题。
I'm also not sure how to output ONLY when the threshold is exceeded, but one problem at a time.
是的,但这个问题是一个障碍:标准输出是 GNU Radio 进程中所有事物的共享事物,因此您通常不能保证排他性。
我们不要走那条路!
相反,使用几十年前在 UNIX 中专门为此类事情设计的东西!
命名管道。这些是您可以像文件一样处理的 FIFO。
因此,使用文件源写入 FIFO,然后将该 FIFO 通过管道传输到您的其他程序中。
真的很简单:
mkfifo /path/to/where/you/want/to/named/pipe
- 添加写入
/path/to/where/you/want/to/named/pipe
的文件接收器
- 要么让你的其他软件打开
/path/to/where/you/want/to/named/pipe
,要么做类似 other_program < /path/to/where/you/want/to/named/pipe
的事情(这实际上使你的其他程序的标准(==console-equivalent)输入与你写入的内容相同文件接收器)
我有一个阈值块的输入,我已经验证它正在使用 QT GUI 数字接收器。
我想将 Threshold 块的输出打印到控制台,最好使用 Message Debug 块。
但是,Threshold 块的输出是浮点流,与 Message Debug 块的输入不匹配。
有没有办法将浮动流转换为消息,还是我走错了路?
我的总体目标是:当输入超过某个阈值时,打印到控制台。另一个程序将监视控制台,当有打印输出时,这会触发另一个操作。我也不确定如何仅在超过阈值时输出,但一次一个问题。
I'm also not sure how to output ONLY when the threshold is exceeded, but one problem at a time.
是的,但这个问题是一个障碍:标准输出是 GNU Radio 进程中所有事物的共享事物,因此您通常不能保证排他性。
我们不要走那条路!
相反,使用几十年前在 UNIX 中专门为此类事情设计的东西!
命名管道。这些是您可以像文件一样处理的 FIFO。
因此,使用文件源写入 FIFO,然后将该 FIFO 通过管道传输到您的其他程序中。
真的很简单:
mkfifo /path/to/where/you/want/to/named/pipe
- 添加写入
/path/to/where/you/want/to/named/pipe
的文件接收器
- 要么让你的其他软件打开
/path/to/where/you/want/to/named/pipe
,要么做类似other_program < /path/to/where/you/want/to/named/pipe
的事情(这实际上使你的其他程序的标准(==console-equivalent)输入与你写入的内容相同文件接收器)