Dear Marcus,

So, I'm very unfamiliar with what *message connections* are so we'll go
with a no. I'll describe exactly what I've done and perhaps we can workout
where I've gone wrong.

I have constructed a flowgraph which contains 5 blocks total. Two of them
are custom ones I've managed to hack together.

1) Options block (default)
2) Variable block (default)
3) An OOT UDP Broadcast block written in Python. No inputs or outputs.

This block has been written to send out a UDP packet to a piece of
hardware. This block does exactly what I want it to do and does every
inside of the *__init__* method. It simply utilises the *socket* library
and sends a packet using .sendto(MESSAGE, (UDP_IP, UDP_PORT)). I'm quite
new to UDP programming work so I wonder if the fact I haven't closed the
socket is a problem. Another issue I'm starting to wonder is that I removed
this block's inputs and outputs from the XML, but haven't changed anything
in the python code. the *general_work* method still takes *(self,
input_items, output_items). *Is there a name for blocks which have no
inputs / outputs? This could be an issue.

4) An OOT UDP Server block written in Python. One output

This block was made with gr_modtool as a source. The purpose of this block
is to read incoming packets and kill the flowgraph upon receiving a "stop"
command. In the *__init__* method,* .bind((UDP_IP, UDP_PORT))* is called,
setting up the server. The *work *method gets blocked as the block waits
for an incoming packet with the *.recvfrom* method (but I don't think this
should be an issue). I finally have an *if* statement which returns *-1* should
"stop" be received.

5) A null sink.

I suppose this could be anything.

Hopefully this reply isn't an incoherent mess and you understand what I'm
trying to accomplish. Having written this, I am wondering if the fact that
my UDP Broadcast block still wants to take input and output, but isn't is
the issue.

Many thanks
David

On Mon, Dec 19, 2016 at 5:34 PM, Marcus Müller <marcus.muel...@ettus.com>
wrote:

> Hey David,
>
> no, more bleeding edge than 3.7.10.1 wouldn't sound recommendable.
>
> At the moment, I don't have much idea what could be wrong with your
> UDP-based source. What else is in the flow graph, or is it just the null
> sink? Any message connections?
>
> Best regards,
>
> Marcus
>
> On 19.12.2016 16:59, David Kersh wrote:
>
> Dear Marcus,
>
> Excellent news!
>
> I've just installed 3.7.10.1 and my flow graph still doesn't appear to end
> (but my UDP server block stops because it won't receive anymore packets
> after returning -1). Currently I have a basic flowgraph which has my server
> block running alongside a symbol noise source and frequency visualisation
> sink.
>
> Do you recommend using one of the bleeding edge releases?
>
> Many Thanks
> David
>
> On Mon, Dec 19, 2016 at 1:08 PM, Marcus Müller <marcus.muel...@ettus.com>
> wrote:
>
>> Hi David,
>>
>> that worked :)
>>
>> yep, returning -1 (which is the magical value for "there's nothing coming
>> anymore, you can shut down") would normally end a flow graph.
>>
>> However, we've had (still have) problems with the shutdown logic, but
>> people recently patched a lot of things – so whatever you do, please make
>> sure you're using the current release of GNU Radio. Which is it that you're
>> currently using?
>>
>> Best regards,
>>
>> Marcus
>>
>> On 19.12.2016 12:45, David Kersh wrote:
>>
>> Hello all,
>>
>> I've created a custom out of tree source block which listens for UDP
>> packets and does different things depending on the received packet. It is
>> connected to a NULL sink because I haven't quite worked out how to make a
>> standalone UDP Server (and I've found the tutorials to be very confusing
>> unfortunately).
>>
>> When the packet is "stop", I would like the flowgraph to be stopped. I've
>> seen from researching different forums that if *-1* is returned, the
>> flowgraph is supposed to stop but I only find that this stops my block from
>> running, the rest of the flowgraph continues running.
>>
>> Is there not a simple command which I can use to kill the whole
>> flowgraph?
>>
>> An alternative solution I tried to implement was to access these values
>> using a *vector sink* block and the .data() method from the top_block.py
>> This didn't seem to work correctly as Python's UDP calls block.
>>
>> Thank you, hopefully I've made this post properly. I'm quite new to
>> programming with GNURADIO.
>>
>> David
>>
>>
>> _______________________________________________
>> Discuss-gnuradio mailing 
>> listDiscuss-gnuradio@gnu.orghttps://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>
>> _______________________________________________ Discuss-gnuradio mailing
>> list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/
>> listinfo/discuss-gnuradio
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to