summaryrefslogtreecommitdiff
path: root/gr-qtgui/src/lib/waterfallGlobalData.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-qtgui/src/lib/waterfallGlobalData.cc')
-rw-r--r--gr-qtgui/src/lib/waterfallGlobalData.cc164
1 files changed, 0 insertions, 164 deletions
diff --git a/gr-qtgui/src/lib/waterfallGlobalData.cc b/gr-qtgui/src/lib/waterfallGlobalData.cc
deleted file mode 100644
index 1ba153f0d..000000000
--- a/gr-qtgui/src/lib/waterfallGlobalData.cc
+++ /dev/null
@@ -1,164 +0,0 @@
-#ifndef WATERFALL_GLOBAL_DATA_CPP
-#define WATERFALL_GLOBAL_DATA_CPP
-
-#include <waterfallGlobalData.h>
-
-WaterfallData::WaterfallData(const double minimumFrequency,
- const double maximumFrequency,
- const uint64_t fftPoints,
- const unsigned int historyExtent)
- : QwtRasterData(QwtDoubleRect(minimumFrequency /* X START */, 0 /* Y START */,
- maximumFrequency - minimumFrequency /* WIDTH */,
- static_cast<double>(historyExtent)/* HEIGHT */))
-{
- _intensityRange = QwtDoubleInterval(-200.0, 0.0);
-
- _fftPoints = fftPoints;
- _historyLength = historyExtent;
-
- _spectrumData = new double[_fftPoints * _historyLength];
-
- Reset();
-}
-
-WaterfallData::~WaterfallData()
-{
- delete[] _spectrumData;
-}
-
-void WaterfallData::Reset()
-{
- memset(_spectrumData, 0x0, _fftPoints*_historyLength*sizeof(double));
-
- _numLinesToUpdate = -1;
-}
-
-void WaterfallData::Copy(const WaterfallData* rhs)
-{
- if((_fftPoints != rhs->GetNumFFTPoints()) ||
- (boundingRect() != rhs->boundingRect()) ){
- _fftPoints = rhs->GetNumFFTPoints();
- setBoundingRect(rhs->boundingRect());
- delete[] _spectrumData;
- _spectrumData = new double[_fftPoints * _historyLength];
- }
- Reset();
- SetSpectrumDataBuffer(rhs->GetSpectrumDataBuffer());
- SetNumLinesToUpdate(rhs->GetNumLinesToUpdate());
- setRange(rhs->range());
-}
-
-void WaterfallData::ResizeData(const double startFreq,
- const double stopFreq,
- const uint64_t fftPoints)
-{
- if((fftPoints != GetNumFFTPoints()) ||
- (boundingRect().width() != (stopFreq - startFreq)) ||
- (boundingRect().left() != startFreq)){
-
- setBoundingRect(QwtDoubleRect(startFreq, 0, stopFreq-startFreq, boundingRect().height()));
- _fftPoints = fftPoints;
- delete[] _spectrumData;
- _spectrumData = new double[_fftPoints * _historyLength];
- }
-
- Reset();
-}
-
-QwtRasterData *WaterfallData::copy() const
-{
- WaterfallData* returnData = new WaterfallData(boundingRect().left(),
- boundingRect().right(),
- _fftPoints, _historyLength);
- returnData->Copy(this);
- return returnData;
-}
-
-QwtDoubleInterval WaterfallData::range() const
-{
- return _intensityRange;
-}
-
-void WaterfallData::setRange(const QwtDoubleInterval& newRange)
-{
- _intensityRange = newRange;
-}
-
-double WaterfallData::value(double x, double y) const
-{
- double returnValue = 0.0;
-
- const unsigned int intY = static_cast<unsigned int>((1.0 - (y/boundingRect().height())) *
- static_cast<double>(_historyLength - 1));
- const unsigned int intX = static_cast<unsigned int>((((x - boundingRect().left()) / boundingRect().width()) *
- static_cast<double>(_fftPoints-1)) + 0.5);
-
- const int location = (intY * _fftPoints) + intX;
- if((location > -1) && (location < static_cast<int64_t>(_fftPoints * _historyLength))){
- returnValue = _spectrumData[location];
- }
-
- return returnValue;
-}
-
-uint64_t WaterfallData::GetNumFFTPoints() const
-{
- return _fftPoints;
-}
-
-void WaterfallData::addFFTData(const double* fftData,
- const uint64_t fftDataSize,
- const int droppedFrames){
- if(fftDataSize == _fftPoints){
- int64_t heightOffset = _historyLength - 1 - droppedFrames;
- uint64_t drawingDroppedFrames = droppedFrames;
-
- // Any valid data rolled off the display so just fill in zeros and write new data
- if(heightOffset < 0){
- heightOffset = 0;
- drawingDroppedFrames = static_cast<uint64_t>(_historyLength-1);
- }
-
- // Copy the old data over if any available
- if(heightOffset > 0){
- memmove( _spectrumData, &_spectrumData[(drawingDroppedFrames+1) * _fftPoints],
- heightOffset * _fftPoints * sizeof(double)) ;
- }
-
- if(drawingDroppedFrames > 0){
- // Fill in zeros data for dropped data
- memset(&_spectrumData[heightOffset * _fftPoints], 0x00,
- static_cast<int64_t>(drawingDroppedFrames) * _fftPoints * sizeof(double));
- }
-
- // add the new buffer
- memcpy(&_spectrumData[(_historyLength - 1) * _fftPoints], fftData, _fftPoints*sizeof(double));
- }
-}
-
-double* WaterfallData::GetSpectrumDataBuffer() const
-{
- return _spectrumData;
-}
-
-void WaterfallData::SetSpectrumDataBuffer(const double* newData)
-{
- memcpy(_spectrumData, newData, _fftPoints * _historyLength * sizeof(double));
-}
-
-int WaterfallData::GetNumLinesToUpdate() const
-{
- return _numLinesToUpdate;
-}
-
-void WaterfallData::SetNumLinesToUpdate(const int newNum)
-{
- _numLinesToUpdate = newNum;
-}
-
-void WaterfallData::IncrementNumLinesToUpdate()
-{
- _numLinesToUpdate++;
-}
-
-#endif /* WATERFALL_GLOBAL_DATA_CPP */