diff options
author | Tom Rondeau <trondeau@vt.edu> | 2012-07-24 09:48:06 -0400 |
---|---|---|
committer | Tom Rondeau <trondeau@vt.edu> | 2012-07-24 09:53:02 -0400 |
commit | 303489b78f95b6b3e6cd80a466c141fafecd4191 (patch) | |
tree | 8adf6bb239641b7a425ea0afd94b6ab360c81636 /gr-qtgui | |
parent | be72d11e4ef89e78863c3244be8e360fb71c5477 (diff) |
qtgui: fixing up sinks to make sure buffers are properly zeroed and right number of items is returned.
Diffstat (limited to 'gr-qtgui')
-rw-r--r-- | gr-qtgui/lib/const_sink_c_impl.cc | 2 | ||||
-rw-r--r-- | gr-qtgui/lib/freq_sink_c_impl.cc | 11 | ||||
-rw-r--r-- | gr-qtgui/lib/freq_sink_f_impl.cc | 8 | ||||
-rw-r--r-- | gr-qtgui/lib/time_sink_c_impl.cc | 1 | ||||
-rw-r--r-- | gr-qtgui/lib/time_sink_f_impl.cc | 1 |
5 files changed, 19 insertions, 4 deletions
diff --git a/gr-qtgui/lib/const_sink_c_impl.cc b/gr-qtgui/lib/const_sink_c_impl.cc index 48c3c46bd1..8ba229b757 100644 --- a/gr-qtgui/lib/const_sink_c_impl.cc +++ b/gr-qtgui/lib/const_sink_c_impl.cc @@ -60,6 +60,8 @@ namespace gr { for(int i = 0; i < d_nconnections; i++) { d_residbufs_real.push_back(fft::malloc_double(d_size)); d_residbufs_imag.push_back(fft::malloc_double(d_size)); + memset(d_residbufs_real[i], 0, d_size*sizeof(double)); + memset(d_residbufs_imag[i], 0, d_size*sizeof(double)); } // Set alignment properties for VOLK diff --git a/gr-qtgui/lib/freq_sink_c_impl.cc b/gr-qtgui/lib/freq_sink_c_impl.cc index 45c5a013c9..cf5c989c09 100644 --- a/gr-qtgui/lib/freq_sink_c_impl.cc +++ b/gr-qtgui/lib/freq_sink_c_impl.cc @@ -67,11 +67,15 @@ namespace gr { d_fft = new fft::fft_complex(d_fftsize, true); d_fbuf = fft::malloc_float(d_fftsize); + memset(d_fbuf, 0, d_fftsize*sizeof(float)); d_index = 0; for(int i = 0; i < d_nconnections; i++) { d_residbufs.push_back(fft::malloc_complex(d_fftsize)); d_magbufs.push_back(fft::malloc_double(d_fftsize)); + + memset(d_residbufs[i], 0, d_fftsize*sizeof(gr_complex)); + memset(d_magbufs[i], 0, d_fftsize*sizeof(double)); } buildwindow(); @@ -86,7 +90,7 @@ namespace gr { fft::free(d_magbufs[i]); } delete d_fft; - delete d_fbuf; + fft::free(d_fbuf); } void @@ -292,6 +296,7 @@ namespace gr { d_residbufs[i] = fft::malloc_complex(newfftsize); d_magbufs[i] = fft::malloc_double(newfftsize); + memset(d_residbufs[i], 0, newfftsize*sizeof(gr_complex)); memset(d_magbufs[i], 0, newfftsize*sizeof(double)); } @@ -309,6 +314,7 @@ namespace gr { fft::free(d_fbuf); d_fbuf = fft::malloc_float(d_fftsize); + memset(d_fbuf, 0, d_fftsize*sizeof(float)); } } @@ -340,7 +346,6 @@ namespace gr { for(int x = 0; x < d_fftsize; x++) { d_magbufs[n][x] = (double)((1.0-d_fftavg)*d_magbufs[n][x] + (d_fftavg)*d_fbuf[x]); } - //volk_32f_convert_64f_a(d_magbufs[n], d_fbuf, d_fftsize); } @@ -364,7 +369,7 @@ namespace gr { } } - return noutput_items; + return j; } } /* namespace qtgui */ diff --git a/gr-qtgui/lib/freq_sink_f_impl.cc b/gr-qtgui/lib/freq_sink_f_impl.cc index 71c2c5e8b7..6ca9137bff 100644 --- a/gr-qtgui/lib/freq_sink_f_impl.cc +++ b/gr-qtgui/lib/freq_sink_f_impl.cc @@ -67,11 +67,15 @@ namespace gr { d_fft = new fft::fft_complex(d_fftsize, true); d_fbuf = fft::malloc_float(d_fftsize); + memset(d_fbuf, 0, d_fftsize*sizeof(float)); d_index = 0; for(int i = 0; i < d_nconnections; i++) { d_residbufs.push_back(fft::malloc_float(d_fftsize)); d_magbufs.push_back(fft::malloc_double(d_fftsize)); + + memset(d_residbufs[i], 0, d_fftsize*sizeof(float)); + memset(d_magbufs[i], 0, d_fftsize*sizeof(double)); } buildwindow(); @@ -288,6 +292,7 @@ namespace gr { d_residbufs[i] = fft::malloc_float(newfftsize); d_magbufs[i] = fft::malloc_double(newfftsize); + memset(d_residbufs[i], 0, newfftsize*sizeof(float)); memset(d_magbufs[i], 0, newfftsize*sizeof(double)); } @@ -305,6 +310,7 @@ namespace gr { fft::free(d_fbuf); d_fbuf = fft::malloc_float(d_fftsize); + memset(d_fbuf, 0, d_fftsize*sizeof(float)); } } @@ -359,7 +365,7 @@ namespace gr { } } - return noutput_items; + return j; } } /* namespace qtgui */ diff --git a/gr-qtgui/lib/time_sink_c_impl.cc b/gr-qtgui/lib/time_sink_c_impl.cc index bd7ce91dcc..44e4942082 100644 --- a/gr-qtgui/lib/time_sink_c_impl.cc +++ b/gr-qtgui/lib/time_sink_c_impl.cc @@ -59,6 +59,7 @@ namespace gr { for(int i = 0; i < d_nconnections; i++) { d_residbufs.push_back(fft::malloc_double(d_size)); + memset(d_residbufs[i], 0, d_size*sizeof(double)); } // Set alignment properties for VOLK diff --git a/gr-qtgui/lib/time_sink_f_impl.cc b/gr-qtgui/lib/time_sink_f_impl.cc index ccba46fdcb..662621bafd 100644 --- a/gr-qtgui/lib/time_sink_f_impl.cc +++ b/gr-qtgui/lib/time_sink_f_impl.cc @@ -59,6 +59,7 @@ namespace gr { for(int i = 0; i < d_nconnections; i++) { d_residbufs.push_back(fft::malloc_double(d_size)); + memset(d_residbufs[i], 0, d_size*sizeof(double)); } // Set alignment properties for VOLK |