diff options
author | sara <sara.halter@gmx.ch> | 2021-11-27 16:02:47 +0100 |
---|---|---|
committer | sara <sara.halter@gmx.ch> | 2021-11-27 16:02:47 +0100 |
commit | 789501e7a17d4be4d62b13a21640378ba5c0645f (patch) | |
tree | b2a158c8c5158d7a3819394e8496b9f99716113d /src/net.py | |
parent | Test FIR filter implemenatation / eigener FIR Block Gnur radio (diff) | |
parent | Very small rewording (diff) | |
download | Fading-789501e7a17d4be4d62b13a21640378ba5c0645f.tar.gz Fading-789501e7a17d4be4d62b13a21640378ba5c0645f.zip |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'src/net.py')
-rw-r--r-- | src/net.py | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -3,6 +3,8 @@ import socket from urllib.parse import urlparse import numpy as np +from numpy_ringbuffer import RingBuffer +import dearpygui.dearpygui as dpg class udpsource: @@ -31,3 +33,36 @@ class udpsource: else: return None + +class network_plot(udpsource): + def __init__(self, url, nsamples, **kwargs): + udpsource.__init__(self, url) + + self.nsamples = nsamples + self.plot = dpg.plot(**kwargs) + + # create buffer and fill with zeroes + self.buffer = RingBuffer(capacity=nsamples, dtype=(float, 2)) + for i in range(nsamples): + # TODO: remove random data used for testing + self.buffer.append(np.array([i, 1 + np.random.rand() / 5])) + + self.bind() + + def __enter__(self): + return self.plot.__enter__() + + def __exit__(self, t, val, tb): + self.plot.__exit__(t, val, tb) + + @property + def x_data(self): + return np.array(self.buffer[:,0]) + + @property + def y_data(self): + return np.array(self.buffer[:,1]) + + def refresh_series(self, tag): + dpg.set_value(tag, [self.x_data, self.y_data]) + pass |