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