Обратный вызов GNURadio в модуле python OOT - PullRequest
1 голос
/ 28 января 2020

Я пытаюсь реализовать модуль 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?

Заранее спасибо,

Хоакин.

...