aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNao Pross <np@0hm.ch>2021-11-15 18:14:19 +0100
committerNao Pross <np@0hm.ch>2021-11-15 18:14:19 +0100
commit785afc898559833cd5dfb7415bdb0da52942886e (patch)
tree244a94edabed036b88e5543354ce27a1d438f726
parentPartially fix framer (diff)
downloadFading-785afc898559833cd5dfb7415bdb0da52942886e.tar.gz
Fading-785afc898559833cd5dfb7415bdb0da52942886e.zip
Create UI Plot sink block
-rw-r--r--src/gr-fadingui/grc/CMakeLists.txt2
-rw-r--r--src/gr-fadingui/grc/fadingui_dearpygui_sink.block.yml38
-rw-r--r--src/gr-fadingui/python/CMakeLists.txt3
-rw-r--r--src/gr-fadingui/python/__init__.py1
-rw-r--r--src/gr-fadingui/python/dearpygui_sink.py41
-rw-r--r--tests/fadingui/QAM/qam_nogui.grc20
6 files changed, 100 insertions, 5 deletions
diff --git a/src/gr-fadingui/grc/CMakeLists.txt b/src/gr-fadingui/grc/CMakeLists.txt
index e4b2ee9..98713e8 100644
--- a/src/gr-fadingui/grc/CMakeLists.txt
+++ b/src/gr-fadingui/grc/CMakeLists.txt
@@ -19,5 +19,5 @@
# Boston, MA 02110-1301, USA.
install(FILES
fadingui_datasource.block.yml
- DESTINATION share/gnuradio/grc/blocks
+ fadingui_dearpygui_sink.block.yml DESTINATION share/gnuradio/grc/blocks
)
diff --git a/src/gr-fadingui/grc/fadingui_dearpygui_sink.block.yml b/src/gr-fadingui/grc/fadingui_dearpygui_sink.block.yml
new file mode 100644
index 0000000..3712be4
--- /dev/null
+++ b/src/gr-fadingui/grc/fadingui_dearpygui_sink.block.yml
@@ -0,0 +1,38 @@
+id: fadingui_dearpygui_sink
+label: UI Sink
+category: '[fadingui]'
+
+templates:
+ imports: import fadingui
+ make: fadingui.dearpygui_sink()
+
+# Make one 'parameters' list entry for every parameter you want settable from the GUI.
+# Keys include:
+# * id (makes the value accessible as \$keyname, e.g. in the make entry)
+# * label (label shown in the GUI)
+# * dtype (e.g. int, float, complex, byte, short, xxx_vector, ...)
+parameters:
+- id: sock_addr
+ label: Socket address
+ dtype: string
+ default: udp://
+
+- id: ui_element_id
+ label: UI element ID
+ dtype: raw
+
+
+# Make one 'inputs' list entry per input and one 'outputs' list entry per output.
+# Keys include:
+# * label (an identifier for the GUI)
+# * domain (optional - stream or message. Default is stream)
+# * dtype (e.g. int, float, complex, byte, short, xxx_vector, ...)
+# * vlen (optional - data stream vector length. Default is 1)
+# * optional (optional - set to 1 for optional inputs. Default is 0)
+inputs:
+- label: in
+ dtype: complex
+
+# 'file_format' specifies the version of the GRC yml format used in the file
+# and should usually not be changed.
+file_format: 1
diff --git a/src/gr-fadingui/python/CMakeLists.txt b/src/gr-fadingui/python/CMakeLists.txt
index 4ab9bbc..27b5f4b 100644
--- a/src/gr-fadingui/python/CMakeLists.txt
+++ b/src/gr-fadingui/python/CMakeLists.txt
@@ -33,7 +33,7 @@ GR_PYTHON_INSTALL(
FILES
__init__.py
datasource.py
- DESTINATION ${GR_PYTHON_DIR}/fadingui
+ dearpygui_sink.py DESTINATION ${GR_PYTHON_DIR}/fadingui
)
########################################################################
@@ -43,3 +43,4 @@ include(GrTest)
set(GR_TEST_TARGET_DEPS gnuradio-fadingui)
set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig)
+GR_ADD_TEST(qa_dearpygui_sink ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_dearpygui_sink.py)
diff --git a/src/gr-fadingui/python/__init__.py b/src/gr-fadingui/python/__init__.py
index 6cfa23b..d551a71 100644
--- a/src/gr-fadingui/python/__init__.py
+++ b/src/gr-fadingui/python/__init__.py
@@ -33,5 +33,6 @@ except ImportError:
# import any pure python here
from .datasource import datasource
+from .dearpygui_sink import dearpygui_sink
#
diff --git a/src/gr-fadingui/python/dearpygui_sink.py b/src/gr-fadingui/python/dearpygui_sink.py
new file mode 100644
index 0000000..2b8e9fb
--- /dev/null
+++ b/src/gr-fadingui/python/dearpygui_sink.py
@@ -0,0 +1,41 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# Copyright 2021 Naoki Pross.
+#
+# This is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This software is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this software; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+
+
+import numpy as np
+from gnuradio import gr
+
+class dearpygui_sink(gr.sync_block):
+ """
+ docstring for block dearpygui_sink
+ """
+ def __init__(self):
+ gr.sync_block.__init__(self,
+ name="dearpygui_sink",
+ in_sig=[np.complex64],
+ out_sig=None)
+
+
+ def work(self, input_items, output_items):
+ in0 = input_items[0]
+ # <+signal processing here+>
+ return len(input_items[0])
+
diff --git a/tests/fadingui/QAM/qam_nogui.grc b/tests/fadingui/QAM/qam_nogui.grc
index 681ec7f..be2f20a 100644
--- a/tests/fadingui/QAM/qam_nogui.grc
+++ b/tests/fadingui/QAM/qam_nogui.grc
@@ -337,7 +337,7 @@ blocks:
modulus: eq_mod
mu: eq_gain
num_taps: eq_ntaps
- sps: sps
+ sps: '1'
states:
bus_sink: false
bus_source: false
@@ -444,8 +444,8 @@ blocks:
max_dev: '1.5'
maxoutbuf: '0'
minoutbuf: '0'
- osps: sps
- sps: sps * 1.001
+ osps: '1'
+ sps: sps
taps: rrc_taps
type: ccf
states:
@@ -474,6 +474,19 @@ blocks:
coordinate: [64, 252.0]
rotation: 0
state: true
+- name: fadingui_dearpygui_sink_0
+ id: fadingui_dearpygui_sink
+ parameters:
+ affinity: ''
+ alias: ''
+ comment: ''
+ states:
+ bus_sink: false
+ bus_source: false
+ bus_structure: null
+ coordinate: [2120, 200.0]
+ rotation: 0
+ state: true
connections:
- [blocks_throttle_0, '0', channels_channel_model_0, '0']
@@ -483,6 +496,7 @@ connections:
- [digital_constellation_decoder_cb_0, '0', digital_diff_decoder_bb_0, '0']
- [digital_constellation_modulator_0, '0', blocks_throttle_0, '0']
- [digital_costas_loop_cc_0, '0', digital_constellation_decoder_cb_0, '0']
+- [digital_costas_loop_cc_0, '0', fadingui_dearpygui_sink_0, '0']
- [digital_diff_decoder_bb_0, '0', digital_map_bb_0, '0']
- [digital_map_bb_0, '0', blocks_null_sink_0, '0']
- [digital_pfb_clock_sync_xxx_0, '0', digital_cma_equalizer_cc_0, '0']