summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoine Blais2024-02-18 16:04:31 +0100
committerAntoine Blais2024-02-18 16:04:31 +0100
commit0faed698d70c3b16d3ac6c7e5bbc6af014a4b598 (patch)
treed9e8f8d0ee398aa0d4e1a75fa384b8ed4d713f22
parent397c253ba09841708f578d2aac4ea342623ca6a7 (diff)
downloadspectrum_analyser-0faed698d70c3b16d3ac6c7e5bbc6af014a4b598.zip
spectrum_analyser-0faed698d70c3b16d3ac6c7e5bbc6af014a4b598.tar.gz
spectrum_analyser-0faed698d70c3b16d3ac6c7e5bbc6af014a4b598.tar.bz2
spectrum_analyser-0faed698d70c3b16d3ac6c7e5bbc6af014a4b598.tar.xz
Sauvegarde.
-rw-r--r--simple_spectrum_analyser_scope.py35
1 files changed, 29 insertions, 6 deletions
diff --git a/simple_spectrum_analyser_scope.py b/simple_spectrum_analyser_scope.py
index 1368dee..3343751 100644
--- a/simple_spectrum_analyser_scope.py
+++ b/simple_spectrum_analyser_scope.py
@@ -55,6 +55,8 @@ def plot_spectrum(x_1, x_2, data_1, data_2, i, i_last, ax, canvas):
ax.plot(x_2[j:i_last], data_2[j:i_last], 'r')
# ax.plot(x_2[0:i_last], data_2[0:i_last], 'b')
+ ax.grid()
+
canvas.draw()
renderer = canvas.get_renderer()
@@ -81,18 +83,20 @@ if __name__ == "__main__":
# The higher the transmission rate in GRC the higher the socket polling rate
pygame.time.set_timer(POLL_SOCKET, 1)
- # figsize=[w, h] in inches, the resulting buffer is (w*dpi)x(h*dpi) pixels
- fig = plt.figure(figsize=[10, 5], dpi=100)
- ax = fig.gca()
- canvas = agg.FigureCanvasAgg(fig)
-
pygame.init()
- screen = pygame.display.set_mode((1000, 500))
+ screen = pygame.display.set_mode((0, 0), pygame.RESIZABLE)
+ screen_h, screen_w = pygame.display.get_window_size()
pygame.display.set_caption('Spectrum analyzer scope')
# Erase screen
screen.fill((255, 255, 255))
+ # figsize=[w, h] in inches, the resulting buffer is (w*dpi)x(h*dpi) pixels
+ dpi = 100
+ fig = plt.figure(figsize=[int(screen_h/dpi), int(screen_w/dpi)], dpi=dpi)
+ ax = fig.gca()
+ canvas = agg.FigureCanvasAgg(fig)
+
freq_l, freq_h = None, None
range_set = False
update = False
@@ -125,6 +129,12 @@ if __name__ == "__main__":
(event.type == KEYDOWN and event.key == K_q):
pygame.quit()
sys.exit()
+ if event.type == pygame.WINDOWRESIZED:
+ # When user resizes the window
+ screen_h, screen_w = screen.get_size()
+ fig.set_size_inches([int(screen_h/dpi), int(screen_w/dpi)])
+ screen.fill((255, 255, 255))
+ plt.draw()
if event.type == POLL_SOCKET:
try:
@@ -147,13 +157,18 @@ if __name__ == "__main__":
# old_freq, old_pow, old_t = freq_val, pow_val, t_now
if pow_val > 0:
+ pow_val_old = pow_val
if in_dB is True:
pow_val = 10*np.log10(pow_val)
+ print(f"pow_val lin = {pow_val_old}", file=sys.stderr)
+ print(f"pow_val = {pow_val}", file=sys.stderr)
else:
pass
else:
continue
+ print(f" pow_val = {pow_val}", file=sys.stderr)
+
if range_set is False:
freq_l, freq_h = start_freq, start_freq + span
freq_old = freq_val
@@ -192,9 +207,11 @@ if __name__ == "__main__":
# format(i, i_last, n), file=sys.stderr)
except zmq.ZMQError:
+ print(u"ZMQ error", file=sys.stderr)
continue
if update is True:
+ print(f" pow_val = {pow_val}", file=sys.stderr)
if range_set is False:
pow_min, pow_max = pow_val, pow_val
@@ -208,8 +225,14 @@ if __name__ == "__main__":
pow_min = pow_val
ax.set_ylim([pow_min, pow_max])
elif (pow_val > pow_max):
+ print(f" pow_val lin = {pow_val_old}", file=sys.stderr)
+ print(f" pow_val = {pow_val}", file=sys.stderr)
pow_max = pow_val
ax.set_ylim([pow_min, pow_max])
+ print(f" pow_max = {pow_max}", file=sys.stderr)
+
+ print(f"pow_min = {pow_min:.3f}, pow_max = {pow_max:.3f}",
+ file=sys.stderr)
pong_or_ping = (ping_or_pong + 1)%2
surf = plot_spectrum(f[ping_or_pong]/1e6, f[pong_or_ping]/1e6,