diff options
author | Johnathan Corgan <johnathan@corganlabs.com> | 2013-08-23 19:36:38 -0700 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2013-08-23 19:36:38 -0700 |
commit | 686a5558405c7ef48c01aba4c55b15a3d2dd72a9 (patch) | |
tree | c4ef5f9197a2876c491c43b3f9ccbd7fb330df8f | |
parent | 6bf21a5a3371939b8e3e79ac57b33deb333eea8a (diff) | |
parent | 76d2cd1ffe81f0d42c57b49c1669c3f2bdea49bb (diff) |
Merge branch 'maint'
-rw-r--r-- | gr-qtgui/include/gnuradio/qtgui/WaterfallDisplayPlot.h | 2 | ||||
-rw-r--r-- | gr-qtgui/include/gnuradio/qtgui/waterfalldisplayform.h | 1 | ||||
-rw-r--r-- | gr-qtgui/lib/FrequencyDisplayPlot.cc | 22 | ||||
-rw-r--r-- | gr-qtgui/lib/WaterfallDisplayPlot.cc | 16 | ||||
-rw-r--r-- | gr-qtgui/lib/spectrumdisplayform.cc | 13 | ||||
-rw-r--r-- | gr-qtgui/lib/waterfalldisplayform.cc | 4 |
6 files changed, 21 insertions, 37 deletions
diff --git a/gr-qtgui/include/gnuradio/qtgui/WaterfallDisplayPlot.h b/gr-qtgui/include/gnuradio/qtgui/WaterfallDisplayPlot.h index 62ea41a87c..cff06572bc 100644 --- a/gr-qtgui/include/gnuradio/qtgui/WaterfallDisplayPlot.h +++ b/gr-qtgui/include/gnuradio/qtgui/WaterfallDisplayPlot.h @@ -115,8 +115,6 @@ private: std::vector<QwtPlotSpectrogram*> d_spectrogram; #endif - gr::high_res_timer_type _lastReplot; - std::vector<int> _intensityColorMapType; QColor _userDefinedLowIntensityColor; QColor _userDefinedHighIntensityColor; diff --git a/gr-qtgui/include/gnuradio/qtgui/waterfalldisplayform.h b/gr-qtgui/include/gnuradio/qtgui/waterfalldisplayform.h index 8d78bb015a..f615eda2e9 100644 --- a/gr-qtgui/include/gnuradio/qtgui/waterfalldisplayform.h +++ b/gr-qtgui/include/gnuradio/qtgui/waterfalldisplayform.h @@ -87,7 +87,6 @@ private: QIntValidator* _intValidator; double _samp_rate, _center_freq; - double _time_per_slice; int _fftsize; float _fftavg; gr::filter::firdes::win_type _fftwintype; diff --git a/gr-qtgui/lib/FrequencyDisplayPlot.cc b/gr-qtgui/lib/FrequencyDisplayPlot.cc index 087a176d5e..3784ec1501 100644 --- a/gr-qtgui/lib/FrequencyDisplayPlot.cc +++ b/gr-qtgui/lib/FrequencyDisplayPlot.cc @@ -186,8 +186,6 @@ FrequencyDisplayPlot::FrequencyDisplayPlot(int nplots, QWidget* parent) _noiseFloorAmplitude = -HUGE_VAL; - replot(); - _zoomer = new FreqDisplayZoomer(canvas(), 0); #if QWT_VERSION < 0x060000 @@ -213,6 +211,8 @@ FrequencyDisplayPlot::FrequencyDisplayPlot(int nplots, QWidget* parent) ((QwtLegendItem*)w)->setChecked(true); w = legendDisplay->find(_max_fft_plot_curve); ((QwtLegendItem*)w)->setChecked(true); + + replot(); } FrequencyDisplayPlot::~FrequencyDisplayPlot() @@ -263,8 +263,11 @@ FrequencyDisplayPlot::setFrequencyRange(const double centerfreq, setAxisScaleDraw(QwtPlot::xBottom, new FreqDisplayScaleDraw(display_units)); setAxisTitle(QwtPlot::xBottom, QString("Frequency (%1)").arg(strunits.c_str())); - if(reset) - _resetXAxisPoints(); + if(reset) { + _resetXAxisPoints(); + clearMaxData(); + clearMinData(); + } ((FreqDisplayZoomer*)_zoomer)->setFrequencyPrecision(display_units); ((FreqDisplayZoomer*)_zoomer)->setUnitType(strunits); @@ -343,12 +346,11 @@ FrequencyDisplayPlot::plotNewData(const std::vector<double*> dataPoints, clearMinData(); } - for(int i = 0; i < _nplots; i++) { - memcpy(_dataPoints[i], dataPoints[i], numDataPoints*sizeof(double)); - } - double bottom=1e20, top=-1e20; for(int n = 0; n < _nplots; n++) { + + memcpy(_dataPoints[n], dataPoints[n], numDataPoints*sizeof(double)); + for(int64_t point = 0; point < numDataPoints; point++) { if(dataPoints[n][point] < _minFFTPoints[point]) { _minFFTPoints[point] = dataPoints[n][point]; @@ -449,7 +451,7 @@ void FrequencyDisplayPlot::_resetXAxisPoints() { double fft_bin_size = (_stopFrequency-_startFrequency) - / static_cast<double>(_numPoints); + / static_cast<double>(_numPoints-1); double freqValue = _startFrequency; for(int64_t loc = 0; loc < _numPoints; loc++) { _xAxisPoints[loc] = freqValue; @@ -461,8 +463,6 @@ FrequencyDisplayPlot::_resetXAxisPoints() // Set up zoomer base for maximum unzoom x-axis // and reset to maximum unzoom level QwtDoubleRect zbase = _zoomer->zoomBase(); - zbase.setLeft(_startFrequency); - zbase.setRight(_stopFrequency); _zoomer->zoom(zbase); _zoomer->setZoomBase(zbase); _zoomer->setZoomBase(true); diff --git a/gr-qtgui/lib/WaterfallDisplayPlot.cc b/gr-qtgui/lib/WaterfallDisplayPlot.cc index 0e38808b94..d86d0e5885 100644 --- a/gr-qtgui/lib/WaterfallDisplayPlot.cc +++ b/gr-qtgui/lib/WaterfallDisplayPlot.cc @@ -136,8 +136,6 @@ WaterfallDisplayPlot::WaterfallDisplayPlot(int nplots, QWidget* parent) setAxisTitle(QwtPlot::yLeft, "Time (s)"); setAxisScaleDraw(QwtPlot::yLeft, new QwtTimeScaleDraw()); - _lastReplot = 0; - for(int i = 0; i < _nplots; i++) { d_data.push_back(new WaterfallData(_startFrequency, _stopFrequency, _numPoints, 200)); @@ -206,8 +204,6 @@ WaterfallDisplayPlot::resetAxis() // Load up the new base zoom settings QwtDoubleRect zbase = _zoomer->zoomBase(); - zbase.setLeft(_startFrequency); - zbase.setRight(_stopFrequency); _zoomer->zoom(zbase); _zoomer->setZoomBase(zbase); _zoomer->setZoomBase(true); @@ -282,13 +278,6 @@ WaterfallDisplayPlot::plotNewData(const std::vector<double*> dataPoints, if(isVisible()) { replot(); } - - _lastReplot = gr::high_res_timer_now(); - } - - for(int i = 0; i < _nplots; i++) { - d_data[i]->addFFTData(dataPoints[i], numDataPoints, droppedFrames); - d_data[i]->incrementNumLinesToUpdate(); } QwtTimeScaleDraw* timeScale = (QwtTimeScaleDraw*)axisScaleDraw(QwtPlot::yLeft); @@ -299,6 +288,8 @@ WaterfallDisplayPlot::plotNewData(const std::vector<double*> dataPoints, ((WaterfallZoomer*)_zoomer)->setZeroTime(timestamp); for(int i = 0; i < _nplots; i++) { + d_data[i]->addFFTData(dataPoints[i], numDataPoints, droppedFrames); + d_data[i]->incrementNumLinesToUpdate(); d_spectrogram[i]->invalidateCache(); d_spectrogram[i]->itemChanged(); } @@ -567,9 +558,6 @@ WaterfallDisplayPlot::_updateIntensityRangeDisplay() // Draw again replot(); - - // Update the last replot timer - _lastReplot = gr::high_res_timer_now(); } #endif /* WATERFALL_DISPLAY_PLOT_C */ diff --git a/gr-qtgui/lib/spectrumdisplayform.cc b/gr-qtgui/lib/spectrumdisplayform.cc index 7731e41454..0d16b957a6 100644 --- a/gr-qtgui/lib/spectrumdisplayform.cc +++ b/gr-qtgui/lib/spectrumdisplayform.cc @@ -403,14 +403,15 @@ SpectrumDisplayForm::setFrequencyRange(const double newCenterFrequency, const double newStartFrequency, const double newStopFrequency) { - double fdiff; + double fcenter; if(UseRFFrequenciesCheckBox->isChecked()) { - fdiff = newCenterFrequency; + fcenter = newCenterFrequency; } else { - fdiff = std::max(fabs(newStartFrequency), fabs(newStopFrequency)); + fcenter = 0; } + double fdiff = std::max(fabs(newStartFrequency), fabs(newStopFrequency)); if(fdiff > 0) { std::string strunits[4] = {"Hz", "kHz", "MHz", "GHz"}; std::string strtime[4] = {"sec", "ms", "us", "ns"}; @@ -423,11 +424,11 @@ SpectrumDisplayForm::setFrequencyRange(const double newCenterFrequency, _stopFrequency = newStopFrequency; _centerFrequency = newCenterFrequency; - _frequencyDisplayPlot->setFrequencyRange(_centerFrequency, fdiff, + _frequencyDisplayPlot->setFrequencyRange(fcenter, fdiff, units, strunits[iunit]); - _waterfallDisplayPlot->setFrequencyRange(_centerFrequency, fdiff, + _waterfallDisplayPlot->setFrequencyRange(fcenter, fdiff, units, strunits[iunit]); - _timeDomainDisplayPlot->setSampleRate(_stopFrequency - _startFrequency, + _timeDomainDisplayPlot->setSampleRate((_stopFrequency - _startFrequency)/2.0, units, strtime[iunit]); } } diff --git a/gr-qtgui/lib/waterfalldisplayform.cc b/gr-qtgui/lib/waterfalldisplayform.cc index 1021a4f8d3..c80168e671 100644 --- a/gr-qtgui/lib/waterfalldisplayform.cc +++ b/gr-qtgui/lib/waterfalldisplayform.cc @@ -128,8 +128,7 @@ WaterfallDisplayForm::newData(const QEvent *updateEvent) _max_val = *max_val; } - getPlot()->plotNewData(dataPoints, numDataPoints, - _time_per_slice, dataTimestamp, 0); + getPlot()->plotNewData(dataPoints, numDataPoints, d_update_time, dataTimestamp, 0); } void @@ -218,7 +217,6 @@ WaterfallDisplayForm::setFrequencyRange(const double centerfreq, _center_freq = centerfreq; _samp_rate = bandwidth; - _time_per_slice = (1.0/bandwidth)*_fftsize; getPlot()->setFrequencyRange(centerfreq, bandwidth, units, strunits[iunit]); |