我目前正在尝试为GNURadio创建一个自定义块。我希望该块停止流程图直到经过特定时间,然后重新启动它。我这样做是为了自动侦听来自NOAA卫星的APT数据,但我也想了解GNURadio的内部工作方式(我知道已经存在针对NOAA卫星的自动化解决方案)。
例如,让我们说我想在两天的12:34:00 pm收听NOAA-19飞越。该块将像这样工作:
boost::this_thread::sleep_until()
进行阻止,直到12:34:00 pm。start()
,但是由于时间已过去,我的自定义块将不再停止图形,并且可以开始处理数据。我可以弄清楚如何执行步骤1,但是在尝试执行步骤2时会出现问题。如果我的理解是正确的,我应该能够通过调用顶部的stop()
来停止图形。但是,我不知道如何在图中找到顶部的块。是否有一些函数返回对其的引用?还是某种方法可以备份图表以获取顶部块?还是只是有更好/没有办法在这里做我想做的事?
要清楚,我熟悉head块和skip_head块。我如上所述要这样做的原因是,它应该具有以下好处:
如果由于某种原因我的解决方案无法实现,我想我可以编写脚本来为我做排队。就是说,如果可以的话,如果我可以将其放入GNURadio块,那就太好了。我可以想到很多类似的用途。
-Mynameisspam1