GNU Radio Manual and C++ API Reference  3.8.2.0
The Free & Open Software Radio Ecosystem
eyedisplayform.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2020 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * GNU Radio is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3, or (at your option)
10  * any later version.
11  *
12  * GNU Radio is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with GNU Radio; see the file COPYING. If not, write to
19  * the Free Software Foundation, Inc., 51 Franklin Street,
20  * Boston, MA 02110-1301, USA.
21  */
22 
23 #ifndef EYE_DISPLAY_FORM_H
24 #define EYE_DISPLAY_FORM_H
25 
29 #include <QtGui/QtGui>
30 #include <vector>
31 
32 class EyeControlPanel;
33 
34 /*!
35  * \brief EyeDisplaysForm child for managing eye pattern plots.
36  * \ingroup qtgui_blk
37  */
39 {
40  Q_OBJECT
41 
42 public:
43  EyeDisplayForm(int nplots = 1, bool cmplx = false, QWidget* parent = 0);
45 
47  EyeDisplayPlot* getSinglePlot(unsigned int);
48 
49  int getNPoints() const;
50  int getSamplesPerSymbol() const;
51 
54  float getTriggerLevel() const;
55  float getTriggerDelay() const;
56  int getTriggerChannel() const;
57  std::string getTriggerTagKey() const;
58  void setAxisLabels(bool en);
59 
60 public slots:
61  void customEvent(QEvent* e);
62 
63  void setSampleRate(const double samprate);
64  void setSampleRate(const QString& samprate);
65  void setYaxis(double min, double max);
66  void setYLabel(const std::string& label, const std::string& unit = "");
67  void setNPoints(const int);
68  void autoScale(bool en);
69  void autoScaleShot();
70  void tagMenuSlot(bool en);
71  void setTagMenu(unsigned int which, bool en);
72 
76  void setTriggerLevel(QString s);
77  void setTriggerLevel(float level);
78  void setTriggerDelay(QString s);
79  void setTriggerDelay(float delay);
80  void setTriggerChannel(int chan);
81  void setTriggerTagKey(QString s);
82  void setTriggerTagKey(const std::string& s);
83 
84  void setupControlPanel(bool en);
87 
88 private slots:
89  void newData(const QEvent*);
90  void notifyYAxisPlus();
91  void notifyYAxisMinus();
92  void notifyYRangePlus();
93  void notifyYRangeMinus();
94  void notifyTriggerMode(const QString& mode);
95  void notifyTriggerSlope(const QString& slope);
96  void notifyTriggerLevelPlus();
97  void notifyTriggerLevelMinus();
98  void notifyTriggerDelayPlus();
99  void notifyTriggerDelayMinus();
100 
101 signals:
104  void signalTriggerLevel(float level);
105  void signalTriggerDelay(float delay);
106  void signalReplot();
107  void signalNPoints(const int npts);
108 
109 private:
110  QIntValidator* d_int_validator;
111 
112  double d_start_frequency;
113  double d_stop_frequency;
114  double d_current_units;
115  int d_npoints;
116  unsigned int d_rows;
117  unsigned int d_cols;
118  NPointsMenu* d_nptsmenu;
119 
120  QAction* d_controlpanelmenu;
121  std::vector<QAction*> d_tagsmenu;
122 
123  QMenu* d_triggermenu;
124  TriggerModeMenu* d_tr_mode_menu;
125  TriggerSlopeMenu* d_tr_slope_menu;
126  PopupMenu* d_tr_level_act;
127  PopupMenu* d_tr_delay_act;
128  TriggerChannelMenu* d_tr_channel_menu;
129  PopupMenu* d_tr_tag_key_act;
130 
131  gr::qtgui::trigger_mode d_trig_mode;
132  gr::qtgui::trigger_slope d_trig_slope;
133  float d_trig_level;
134  float d_trig_delay;
135  int d_trig_channel;
136  std::string d_trig_tag_key;
137 
138  EyeControlPanel* d_controlpanel;
139 };
140 
141 #endif /* EYE_DISPLAY_FORM_H */
EyeDisplayForm::signalTriggerMode
void signalTriggerMode(gr::qtgui::trigger_mode mode)
EyeDisplayForm::setTriggerTagKey
void setTriggerTagKey(const std::string &s)
NPointsMenu
Definition: form_menus.h:937
EyeDisplayForm::setTriggerDelay
void setTriggerDelay(QString s)
TriggerSlopeMenu
Definition: form_menus.h:1165
EyeDisplayForm::getTriggerSlope
gr::qtgui::trigger_slope getTriggerSlope() const
TriggerChannelMenu
Definition: form_menus.h:1232
EyeDisplayForm::updateTrigger
void updateTrigger(gr::qtgui::trigger_mode mode)
EyeDisplayForm::setupControlPanel
void setupControlPanel()
gr::trellis::min
float min(float a, float b)
EyeDisplayForm::autoScale
void autoScale(bool en)
EyeDisplayForm::setYLabel
void setYLabel(const std::string &label, const std::string &unit="")
PopupMenu
Definition: form_menus.h:1439
EyeDisplayForm::signalTriggerDelay
void signalTriggerDelay(float delay)
EyeDisplayForm::setSampleRate
void setSampleRate(const QString &samprate)
EyeDisplayForm::customEvent
void customEvent(QEvent *e)
EyeDisplayForm::getTriggerLevel
float getTriggerLevel() const
EyeDisplayForm::signalNPoints
void signalNPoints(const int npts)
EyeDisplayForm::setSampleRate
void setSampleRate(const double samprate)
EyeDisplayForm::getTriggerTagKey
std::string getTriggerTagKey() const
EyeDisplayForm::signalTriggerSlope
void signalTriggerSlope(gr::qtgui::trigger_slope slope)
EyeDisplayForm::setYaxis
void setYaxis(double min, double max)
EyeDisplayForm::autoScaleShot
void autoScaleShot()
EyeDisplayForm::signalReplot
void signalReplot()
EyeDisplayForm::tagMenuSlot
void tagMenuSlot(bool en)
EyeDisplayPlot
QWidget for displaying eye pattern plots.
Definition: EyeDisplayPlot.h:37
EyeDisplayForm::getSinglePlot
EyeDisplayPlot * getSinglePlot(unsigned int)
EyeDisplayPlot.h
EyeDisplayForm::setupControlPanel
void setupControlPanel(bool en)
EyeDisplayForm::setAxisLabels
void setAxisLabels(bool en)
eyedisplaysform.h
EyeDisplayForm::EyeDisplayForm
EyeDisplayForm(int nplots=1, bool cmplx=false, QWidget *parent=0)
EyeDisplayForm::setTriggerTagKey
void setTriggerTagKey(QString s)
EyeDisplayForm::setTagMenu
void setTagMenu(unsigned int which, bool en)
EyeDisplayForm::setTriggerChannel
void setTriggerChannel(int chan)
EyeDisplayForm::signalTriggerLevel
void signalTriggerLevel(float level)
EyeDisplayForm
EyeDisplaysForm child for managing eye pattern plots.
Definition: eyedisplayform.h:39
EyeDisplayForm::setTriggerLevel
void setTriggerLevel(QString s)
spectrumUpdateEvents.h
EyeDisplaysForm
Base class for setting up and managing QTGUI plot forms.
Definition: eyedisplaysform.h:42
EyeDisplayForm::setTriggerMode
void setTriggerMode(gr::qtgui::trigger_mode mode)
EyeDisplayForm::getTriggerChannel
int getTriggerChannel() const
EyeDisplayForm::getSamplesPerSymbol
int getSamplesPerSymbol() const
EyeDisplayForm::getNPoints
int getNPoints() const
EyeDisplayForm::setTriggerDelay
void setTriggerDelay(float delay)
EyeDisplayForm::~EyeDisplayForm
~EyeDisplayForm()
EyeDisplayForm::getPlot
EyeDisplayPlot * getPlot()
EyeDisplayForm::setTriggerLevel
void setTriggerLevel(float level)
EyeDisplayForm::getTriggerMode
gr::qtgui::trigger_mode getTriggerMode() const
gr::qtgui::trigger_slope
trigger_slope
Definition: trigger_mode.h:36
gr::qtgui::trigger_mode
trigger_mode
Definition: trigger_mode.h:29
EyeDisplayForm::getTriggerDelay
float getTriggerDelay() const
EyeDisplayForm::setNPoints
void setNPoints(const int)
EyeControlPanel
Definition: eyecontrolpanel.h:38
EyeDisplayForm::setTriggerSlope
void setTriggerSlope(gr::qtgui::trigger_slope slope)
TriggerModeMenu
Definition: form_menus.h:1087
EyeDisplayForm::teardownControlPanel
void teardownControlPanel()