discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Tags in Embedded Python Blocks


From: Eli Baum
Subject: Tags in Embedded Python Blocks
Date: Tue, 24 May 2022 17:32:09 +0000

Hello,

 

We are implementing a custom Python block which reads an input stream and sends Messages when a certain Tag is seen. The message-passing component is working fine, but there seems to be an issue with the Tags.

 

The relevant work() function looks like this (based on the tutorial):

 

    def work(self, input_items, output_items):

        in0 = input_items[0]

        out = output_items[0]

       

        tags = self.get_tags_in_window(0, 0, len(in0))

        # ... process tags ...

        # ... send message ...

 

        out[:] = in0

        return len(out)

 

However, this only works for the first few tags. We’ll get around a dozen tags being returned by self.get_tags_in_window() in the first few calls to work(), and then nothing. However, with a Tag Debug block, we have confirmed that tags are in fact still being produced by the upstream block. (For our test file, we expect a few hundred tags total; all of the tags are of the same format.) Tags are even still propagating through the block (i.e. according to a Time Sink). But the python block itself can’t see them.

 

Using self.get_tags_in_range instead appears to work, interestingly – even though get_tags_in_window just calls get_tags_in_range under the hood.

 

Are we calling get_tags_in_window incorrectly? Or are there known issues with this function in python? This is on Mac OS 12.4, Gnuradio 3.9.3.

 

Thank you,

 

---

Eli Baum

Electrical Engineer

N231 Naval Enterprise & Sea Systems

The MITRE Corporation

Attachment: smime.p7s
Description: S/MIME cryptographic signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]