Я пытаюсь реализовать исходный блок GNURadio в Python, который должен создавать вектор фиксированного размера при каждом вызове рабочей функции [general_].
В качестве первого примера-игрушки я попытался вывести просто вектор постоянных значений, которые должны меняться при каждом вызове рабочей функции [general_].
import numpy
import sys
from gnuradio import gr
class my_source_vf(gr.sync_block):
"""
docstring for block
"""
def __init__(self, v_size):
self.v_size = v_size
self.mult = 1
self.buff = numpy.ones(v_size)
gr.sync_block.__init__(self,
name="my_source_vf",
in_sig=None,
#out_sig=[numpy.float32])
out_sig=[(numpy.float32, self.v_size)])
def work(self, input_items, output_items):
# <+signal processing here+>
print len(output_items)
out = output_items[0]
out[0][:] = self.buff*self.mult
self.mult = self.mult+1
return self.v_size
Однако, когда я подключаю его к блоку приемника QT GUI Vector, я просто вижу колебания между 0 и 1, что позволяет мне думать, что рабочая функция [general_] вызывается только один раз.