|
From: | Sebastian Sahlin |
Subject: | Re: [Discuss-gnuradio] Issue with the Message API in Python |
Date: | Sun, 26 May 2019 14:45:26 +0200 |
Oh, I nearly forgot you asked for documentation:
https://www.gnuradio.org/doc/doxygen/classgr_1_1block.html#a7f58745d1374b30a7b866406dc97850f
Best regards,
Marcus
On Fri, 2019-05-24 at 15:53 +0200, Sebastian Sahlin wrote:
> Okay, this appears to work:
>
> def start(self):
> threading.Thread(target=self.send_message('Hello World')).start()
> return true
>
> However I am unsure why the return value is necessary (figured it out through an error message). Is there somewhere in the documentation you can point me to find more info about this?
>
> Regards
>
>
> Den fre 24 maj 2019 kl 14:45 skrev Sebastian Sahlin <address@hidden>:
> > Hi Marcus,
> >
> > Aha! I saw hints of this in the documentation but couldn't fully connect the dots.
> >
> > Would this be the start() function of top_block, or the block in question? How would the syntax look like then?
> >
> > Regards
> >
> > Den tors 23 maj 2019 kl 18:32 skrev Müller, Marcus (CEL) <address@hidden>:
> > > Hi Sebastian,
> > >
> > > classic one!
> > >
> > > You send the messages in the block's constructor in an endless loop.
> > >
> > > So, that constructor never finishes.
> > >
> > > Thus, the block never can get message-connected. Thus, your messages
> > > disappear.
> > >
> > > You can't publish message in a constructor. Spawn off a thread in the
> > > `start()` method to do that.
> > >
> > > Best regards,
> > > Marcus
> > >
> > > On Thu, 2019-05-23 at 17:42 +0200, Sebastian Sahlin wrote:
> > > > Hi,
> > > >
> > > > For learning purposes I'm trying to replicate the functionality of the Message Strobe block in Python, however I'm stumped by what should be a very basic function. I'm simply attempting to publish a message every x seconds:
> > > >
> > > > def __init__(self, period):
> > > > gr.basic_block.__init__(self,
> > > > name="msg_strobe",
> > > > in_sig=None,
> > > > out_sig=None)
> > > >
> > > > self.message_port_register_out(pmt.intern('msg_out'))
> > > >
> > > > while(True):
> > > > self.send_message('Hello World')
> > > > time.sleep(period)
> > > >
> > > > def send_message(self, string):
> > > > self.message_port_pub(pmt.intern('msg_out'), pmt.intern(string))
> > > >
> > > > However there is no message published to the Message Debug block.
> > > >
> > > > _______________________________________________
> > > > Discuss-gnuradio mailing list
> > > > address@hidden
> > > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Prev in Thread] | Current Thread | [Next in Thread] |