aboutsummaryrefslogtreecommitdiffstats
path: root/gr-qtgui/lib/sink_f_impl.cc
diff options
context:
space:
mode:
authorVolker Schroer <3470424+dl1ksv@users.noreply.github.com>2022-01-11 12:55:15 +0100
committerGitHub <noreply@github.com>2022-01-11 06:55:15 -0500
commitfdecbb9b105fa452bd9352709e537dc45b900db4 (patch)
treea2de9664d8487ab9c65b68df4bfc47ed24991dcc /gr-qtgui/lib/sink_f_impl.cc
parentpybind: fix rfnoc_block binding generation (diff)
downloadgnuradio-fdecbb9b105fa452bd9352709e537dc45b900db4.tar.xz
gnuradio-fdecbb9b105fa452bd9352709e537dc45b900db4.zip
qtgui: bounds checking and pow of 2 check for freq/waterfall sinks
* qtgui: freq_sink waterfall_sink sink: Add bounds checking to GRC bindings In addition: fftsize starts in the runtime gui of the f/c sink with 512. Adjust it to 32 , as in freq_sink_f/c Check inside the sink_(f/c) block, if the fftsize is valid, to avoid core dump. Signed-off-by: Volker Schroer <3470424+dl1ksv@users.noreply.github.com> * qtgui: freq_sink waterfall_sink sink: Add power-of-two check to GRC bindings Signed-off-by: Volker Schroer <3470424+dl1ksv@users.noreply.github.com>
Diffstat (limited to '')
-rw-r--r--gr-qtgui/lib/sink_f_impl.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/gr-qtgui/lib/sink_f_impl.cc b/gr-qtgui/lib/sink_f_impl.cc
index 052e6ecd9..212e4da00 100644
--- a/gr-qtgui/lib/sink_f_impl.cc
+++ b/gr-qtgui/lib/sink_f_impl.cc
@@ -135,8 +135,18 @@ QWidget* sink_f_impl::qwidget() { return d_main_gui.qwidget(); }
void sink_f_impl::set_fft_size(const int fftsize)
{
- d_fftsize = fftsize;
- d_main_gui.setFFTSize(fftsize);
+ if ((fftsize >= d_main_gui.MIN_FFT_SIZE) && (fftsize <= d_main_gui.MAX_FFT_SIZE)) {
+ d_fftsize = fftsize;
+ d_main_gui.setFFTSize(fftsize);
+ } else {
+ GR_LOG_INFO(
+ d_logger,
+ fmt::format("FFT size must be >= {} and <= {}.\nSo falling back to {}.",
+ d_main_gui.MIN_FFT_SIZE,
+ d_main_gui.MAX_FFT_SIZE,
+ d_main_gui.DEFAULT_FFT_SIZE));
+ d_main_gui.setFFTSize(d_main_gui.DEFAULT_FFT_SIZE);
+ }
}
int sink_f_impl::fft_size() const { return d_fftsize; }