GNU Radio Block 运行 程序终止代码
GNU Radio Block run code on program termination
我正在为自定义 SDR 硬件编写 gnuradio 接收器块。当 gnuradio 程序关闭时,我需要确保功率放大器被禁用(因为它们消耗相当多的功率并产生大量热量)。我尝试使用 class 析构函数来执行此操作,认为它会在程序终止时被调用,但事实并非如此。 gnuradio 是否提供了在程序终止时 运行 清理的方法?
您可以重载 gr::block
基础 class 的 stop
方法。正是为了这个!
Python 中的覆盖示例:如果插入 Python 块,请像这样添加 stop
方法:
class blk(gr.sync_block):
def __init__(self):
# omitted...
def work(self):
# omitted...
def stop(self):
print "do stopping work here"
return True
备注:
我不知道 return 值有什么用。(在评论中回答了——谢谢! )
- 在我的实验中,对于缺少输入和输出的块,
stop
似乎不会 运行。
我正在为自定义 SDR 硬件编写 gnuradio 接收器块。当 gnuradio 程序关闭时,我需要确保功率放大器被禁用(因为它们消耗相当多的功率并产生大量热量)。我尝试使用 class 析构函数来执行此操作,认为它会在程序终止时被调用,但事实并非如此。 gnuradio 是否提供了在程序终止时 运行 清理的方法?
您可以重载 gr::block
基础 class 的 stop
方法。正是为了这个!
Python 中的覆盖示例:如果插入 Python 块,请像这样添加 stop
方法:
class blk(gr.sync_block):
def __init__(self):
# omitted...
def work(self):
# omitted...
def stop(self):
print "do stopping work here"
return True
备注:
我不知道 return 值有什么用。(在评论中回答了——谢谢! )- 在我的实验中,对于缺少输入和输出的块,
stop
似乎不会 运行。