Я пытаюсь реализовать модуль OOT Python в GNURadio 3.7, который должен обновлять параметр (логический) из QT GUI во время его работы. До сих пор я включал функцию обратного вызова в файл. xml:
<?xml version="1.0"?>
<block>
<name>Synchronous Frequency Sweep</name>
<key>PLOP_sync_sweep</key>
<category>[PLOP]</category>
<import>import PLOP</import>
<make>PLOP.sync_sweep($samp_rate, $sweep_range, $sweep_speed, $sweep_bool)</make>
<callback>set_sweepBool($sweep_bool)</callback>
<param>
<name>Enable Sweep</name>
<key>sweep_bool</key>
<value>True</value>
<type>bool</type>
<option>
<name>Enabled</name>
<key>True</key>
</option>
<option>
<name>Disabled</name>
<key>False</key>
</option>
</param>
Я также объявил функцию обратного вызова в файле python:
class sync_sweep(gr.sync_block):
"""
docstring for block sync_sweep
"""
def __init__(self,
samp_rate,
sweep_range,
sweep_speed,
sweep_bool):
self.set_sweepBool(sweep_bool)
gr.sync_block.__init__(self,
name="sync_sweep",
in_sig=None,
out_sig=[numpy.float32])
self.d_samp_rate = samp_rate
self.d_sweep_range = sweep_range
self.d_sweep_speed = sweep_speed
self.d_sweep_bool = sweep_bool
И затем Я вызываю его в рабочей функции безуспешно: (
def work(self, input_items, output_items):
out = output_items[0]
self.set_sweepBool(self.d_sweep_bool)
Любые предложения, почему обратный вызов не обновляет логическое значение при его изменении с QT GUI?
Заранее спасибо,
Хоакин.