From 501dd417fa41dbe2ba6a550e78af4b8f8b7a1630 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 15 Nov 2021 18:51:53 +0100 Subject: Test UDP connection on sink block Can be tested locally with: netcat -l4kuv localhost 31415 --- src/gr-fadingui/grc/fadingui_dearpygui_sink.block.yml | 2 +- src/gr-fadingui/python/dearpygui_sink.py | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) (limited to 'src/gr-fadingui') diff --git a/src/gr-fadingui/grc/fadingui_dearpygui_sink.block.yml b/src/gr-fadingui/grc/fadingui_dearpygui_sink.block.yml index 3712be4..dbe6198 100644 --- a/src/gr-fadingui/grc/fadingui_dearpygui_sink.block.yml +++ b/src/gr-fadingui/grc/fadingui_dearpygui_sink.block.yml @@ -4,7 +4,7 @@ category: '[fadingui]' templates: imports: import fadingui - make: fadingui.dearpygui_sink() + make: fadingui.dearpygui_sink(sock_addr=${sock_addr}, ui_element_id=${ui_element_id}) # Make one 'parameters' list entry for every parameter you want settable from the GUI. # Keys include: diff --git a/src/gr-fadingui/python/dearpygui_sink.py b/src/gr-fadingui/python/dearpygui_sink.py index 2b8e9fb..353f2d9 100644 --- a/src/gr-fadingui/python/dearpygui_sink.py +++ b/src/gr-fadingui/python/dearpygui_sink.py @@ -19,6 +19,8 @@ # Boston, MA 02110-1301, USA. # +import socket +from urllib.parse import urlparse import numpy as np from gnuradio import gr @@ -27,15 +29,24 @@ class dearpygui_sink(gr.sync_block): """ docstring for block dearpygui_sink """ - def __init__(self): + def __init__(self, sock_addr, ui_element_id): gr.sync_block.__init__(self, name="dearpygui_sink", in_sig=[np.complex64], out_sig=None) + # sockets + self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + self.srv = urlparse(sock_addr) + + def send(self, value): + data = bytes(repr(value), "ascii") + sent = self.socket.sendto(data, (self.srv.hostname, self.srv.port)) + + return len(data) == sent def work(self, input_items, output_items): in0 = input_items[0] - # <+signal processing here+> + self.send(in0) return len(input_items[0]) -- cgit v1.2.1