The input vector may contain more items than the scheduler is expecting you
to return. Use len(output_items[0]) to determine how much to consume and
return. For reference, here is the autogenerated code for a new module:

    def work(self, input_items, output_items):
        in0 = input_items[0]
        out = output_items[0]
        # <+signal processing here+>
        out[:] = in0
        return len(output_items[0])

On Wed, Oct 27, 2021 at 11:46 AM Verónica Toro Betancur <vetor...@gmail.com>
wrote:

> Hi,
>
> I've been trying to implement a sync python embedded block that processes
> all input_items. At the end of the work() function, I call
>
> output_items[0][:] = input_items[0]
> self.consume_each(len(input_items[0]))
> return len(input_items[0])
>
> This works well the first time and all data is processed correctly, but
> then, the block stops working, i.e., it doesn't process any new upcoming
> data and input_items[0] is always filled with zeros.
>
> I hope someone could help me with this.
>
> Thanks in advance.
>
>
> Best regards,
> Verónica
>

Reply via email to