Loading...
Searching...
No Matches
waterfalldisplayform.h
Go to the documentation of this file.
/* -*- c++ -*- */
/*
* Copyright 2012 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
*/
#ifndef WATERFALL_DISPLAY_FORM_H
#define WATERFALL_DISPLAY_FORM_H
#include <gnuradio/filter/firdes.h>
#include <gnuradio/qtgui/WaterfallDisplayPlot.h>
#include <gnuradio/qtgui/spectrumUpdateEvents.h>
#include <QtGui/QtGui>
#include <vector>
#include <gnuradio/qtgui/displayform.h>
/*!
* \brief DisplayForm child for managing waterfall (spectrogram) plots.
* \ingroup qtgui_blk
*/
class WaterfallDisplayForm : public DisplayForm
{
Q_OBJECT
public:
WaterfallDisplayForm(int nplots = 1, QWidget* parent = 0);
~WaterfallDisplayForm() override;
WaterfallDisplayPlot* getPlot() override;
int getFFTSize() const;
double getTimePerFFT();
float getFFTAverage() const;
gr::fft::window::win_type getFFTWindowType() const;
int getColorMap(unsigned int which);
int getAlpha(unsigned int which);
double getMinIntensity(unsigned int which);
double getMaxIntensity(unsigned int which);
void clearData();
// returns the frequency that was last double-clicked on by the user
float getClickedFreq() const;
// checks if there was a double-click event; reset if there was
bool checkClicked();
public slots:
void customEvent(QEvent* e) override;
void setTimeTitle(const std::string);
void setSampleRate(const QString& samprate) override;
void setFFTSize(const int);
void setFFTAverage(const float);
void setFFTWindowType(const gr::fft::window::win_type);
void setFrequencyRange(const double centerfreq, const double bandwidth);
void setIntensityRange(const double minIntensity, const double maxIntensity);
void setMaxIntensity(const QString& m);
void setMinIntensity(const QString& m);
void setAlpha(unsigned int which, unsigned int alpha);
void setColorMap(unsigned int which,
const int newType,
const QColor lowColor = QColor("white"),
const QColor highColor = QColor("white"));
void autoScale(bool en = false) override;
void setPlotPosHalf(bool half);
void setTimePerFFT(double t);
void setUpdateTime(double t);
private slots:
void newData(const QEvent* updateEvent) override;
void onPlotPointSelected(const QPointF p) override;
private:
QIntValidator* d_int_validator;
double d_samp_rate, d_center_freq;
int d_fftsize;
double d_time_per_fft;
float d_fftavg;
gr::fft::window::win_type d_fftwintype;
double d_units;
bool d_clicked;
double d_clicked_freq;
double d_min_val, d_cur_min_val;
double d_max_val, d_cur_max_val;
FFTAverageMenu* d_avgmenu;
FFTWindowMenu* d_winmenu;
};
#endif /* WATERFALL_DISPLAY_FORM_H */
WaterfallDisplayPlot.h
DisplayForm
Base class for setting up and managing QTGUI plot forms.
Definition displayform.h:30
WaterfallDisplayForm
DisplayForm child for managing waterfall (spectrogram) plots.
Definition waterfalldisplayform.h:27
WaterfallDisplayForm::getAlpha
int getAlpha(unsigned int which)
WaterfallDisplayForm::setTimePerFFT
void setTimePerFFT(double t)
WaterfallDisplayForm::setFFTAverage
void setFFTAverage(const float)
WaterfallDisplayForm::getMinIntensity
double getMinIntensity(unsigned int which)
WaterfallDisplayForm::setSampleRate
void setSampleRate(const QString &samprate) override
WaterfallDisplayForm::setColorMap
void setColorMap(unsigned int which, const int newType, const QColor lowColor=QColor("white"), const QColor highColor=QColor("white"))
WaterfallDisplayForm::getMaxIntensity
double getMaxIntensity(unsigned int which)
WaterfallDisplayForm::getColorMap
int getColorMap(unsigned int which)
WaterfallDisplayForm::autoScale
void autoScale(bool en=false) override
WaterfallDisplayForm::setFFTWindowType
void setFFTWindowType(const gr::fft::window::win_type)
WaterfallDisplayForm::setPlotPosHalf
void setPlotPosHalf(bool half)
WaterfallDisplayForm::setFFTSize
void setFFTSize(const int)
WaterfallDisplayForm::setFrequencyRange
void setFrequencyRange(const double centerfreq, const double bandwidth)
WaterfallDisplayForm::clearData
void clearData()
WaterfallDisplayForm::customEvent
void customEvent(QEvent *e) override
WaterfallDisplayForm::getFFTWindowType
gr::fft::window::win_type getFFTWindowType() const
WaterfallDisplayForm::getFFTSize
int getFFTSize() const
WaterfallDisplayForm::setIntensityRange
void setIntensityRange(const double minIntensity, const double maxIntensity)
WaterfallDisplayForm::setAlpha
void setAlpha(unsigned int which, unsigned int alpha)
WaterfallDisplayForm::setMinIntensity
void setMinIntensity(const QString &m)
WaterfallDisplayForm::setTimeTitle
void setTimeTitle(const std::string)
WaterfallDisplayForm::getFFTAverage
float getFFTAverage() const
WaterfallDisplayForm::getClickedFreq
float getClickedFreq() const
WaterfallDisplayForm::getPlot
WaterfallDisplayPlot * getPlot() override
WaterfallDisplayForm::~WaterfallDisplayForm
~WaterfallDisplayForm() override
WaterfallDisplayForm::setUpdateTime
void setUpdateTime(double t)
WaterfallDisplayForm::WaterfallDisplayForm
WaterfallDisplayForm(int nplots=1, QWidget *parent=0)
WaterfallDisplayForm::setMaxIntensity
void setMaxIntensity(const QString &m)
WaterfallDisplayForm::checkClicked
bool checkClicked()
WaterfallDisplayForm::getTimePerFFT
double getTimePerFFT()
WaterfallDisplayPlot
QWidget for displaying waterfall (spectrogram) plots.
Definition WaterfallDisplayPlot.h:29
gr::fft::window::win_type
win_type
Definition window.h:28
displayform.h
firdes.h
spectrumUpdateEvents.h