I think having the work fn return "-1" will cause the flowgraph to exit, so you could potentially have a "self.count = 1" in __init__ and then when you've output >= self.count, have work return -1
-Doug Douglas Anderson | Intern DOC/NTIA/ITS-T | 325 Broadway St., Boulder, CO 80305 | P: 303 497 3582 ________________________________ From: discuss-gnuradio-bounces+danderson=its.bldrdoc....@gnu.org [discuss-gnuradio-bounces+danderson=its.bldrdoc....@gnu.org] on behalf of Thanasis Balafoutis [abalafou...@gmail.com] Sent: Thursday, January 22, 2015 2:12 PM To: discuss-gnuradio@gnu.org Subject: [Discuss-gnuradio] Fwd: Write a source block in python Hi I wrote a simple source block that reads a string (as a parameter) and outputs the corresponding array of bytes. Here is the code: class myblock(gr.sync_block): def __init__(self, helloMsg): gr.sync_block.__init__(self, name="myblock", in_sig=None, out_sig=[numpy.byte]) self.helloMsg = helloMsg def work(self, input_items, output_items): out = output_items[0] test = array.array('B',self.helloMsg) for j in range(len(test)): out[j] = test[j] return len(output_items[0][:len(test)]) In the output I repeatedly get the helloMsg. (it seems that the work() function is always running) Is it possible to get in the output my helloMsg only one time (or a specific amount of times) and then stop the execution of the flowgraph? Thank you in advance! Thanasis
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio