GNU Radio Manual and C++ API Reference  3.9.1.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  * SPDX-License-Identifier: GPL-3.0-or-later
8  */
9 
10 #ifndef EYE_DISPLAY_FORM_H
11 #define EYE_DISPLAY_FORM_H
12 
16 #include <QtGui/QtGui>
17 #include <vector>
18 
19 class EyeControlPanel;
20 
21 /*!
22  * \brief EyeDisplaysForm child for managing eye pattern plots.
23  * \ingroup qtgui_blk
24  */
26 {
27  Q_OBJECT
28 
29 public:
30  EyeDisplayForm(int nplots = 1, bool cmplx = false, QWidget* parent = 0);
31  ~EyeDisplayForm() override;
32 
34  EyeDisplayPlot* getSinglePlot(unsigned int);
35 
36  int getNPoints() const;
37  int getSamplesPerSymbol() const;
38 
41  float getTriggerLevel() const;
42  float getTriggerDelay() const;
43  int getTriggerChannel() const;
44  std::string getTriggerTagKey() const;
45  void setAxisLabels(bool en);
46 
47 public slots:
48  void customEvent(QEvent* e) override;
49 
50  void setSampleRate(const double samprate);
51  void setSampleRate(const QString& samprate) override;
52  void setYaxis(double min, double max);
53  void setYLabel(const std::string& label, const std::string& unit = "");
54  void setNPoints(const int);
55  void autoScale(bool en) override;
56  void autoScaleShot();
57  void tagMenuSlot(bool en);
58  void setTagMenu(unsigned int which, bool en);
59 
63  void setTriggerLevel(QString s);
64  void setTriggerLevel(float level);
65  void setTriggerDelay(QString s);
66  void setTriggerDelay(float delay);
67  void setTriggerChannel(int chan);
68  void setTriggerTagKey(QString s);
69  void setTriggerTagKey(const std::string& s);
70 
71  void setupControlPanel(bool en);
72  void setupControlPanel();
73  void teardownControlPanel();
74 
75 private slots:
76  void newData(const QEvent*) override;
77  void notifyYAxisPlus();
78  void notifyYAxisMinus();
79  void notifyYRangePlus();
80  void notifyYRangeMinus();
81  void notifyTriggerMode(const QString& mode);
82  void notifyTriggerSlope(const QString& slope);
83  void notifyTriggerLevelPlus();
84  void notifyTriggerLevelMinus();
85  void notifyTriggerDelayPlus();
86  void notifyTriggerDelayMinus();
87 
88 signals:
91  void signalTriggerLevel(float level);
92  void signalTriggerDelay(float delay);
93  void signalReplot();
94  void signalNPoints(const int npts);
95 
96 private:
97  QIntValidator* d_int_validator;
98 
99  double d_start_frequency;
100  double d_stop_frequency;
101  double d_current_units;
102  int d_npoints;
103  unsigned int d_rows;
104  unsigned int d_cols;
105  NPointsMenu* d_nptsmenu;
106 
107  QAction* d_controlpanelmenu;
108  std::vector<QAction*> d_tagsmenu;
109 
110  QMenu* d_triggermenu;
111  TriggerModeMenu* d_tr_mode_menu;
112  TriggerSlopeMenu* d_tr_slope_menu;
113  PopupMenu* d_tr_level_act;
114  PopupMenu* d_tr_delay_act;
115  TriggerChannelMenu* d_tr_channel_menu;
116  PopupMenu* d_tr_tag_key_act;
117 
118  gr::qtgui::trigger_mode d_trig_mode;
119  gr::qtgui::trigger_slope d_trig_slope;
120  float d_trig_level;
121  float d_trig_delay;
122  int d_trig_channel;
123  std::string d_trig_tag_key;
124 
125  EyeControlPanel* d_controlpanel;
126 };
127 
128 #endif /* EYE_DISPLAY_FORM_H */
EyeDisplayForm::signalTriggerMode
void signalTriggerMode(gr::qtgui::trigger_mode mode)
NPointsMenu
Definition: form_menus.h:921
EyeDisplayForm::setTriggerDelay
void setTriggerDelay(QString s)
TriggerSlopeMenu
Definition: form_menus.h:1162
EyeDisplayForm::getTriggerSlope
gr::qtgui::trigger_slope getTriggerSlope() const
TriggerChannelMenu
Definition: form_menus.h:1228
EyeDisplayForm::updateTrigger
void updateTrigger(gr::qtgui::trigger_mode mode)
EyeDisplayForm::setupControlPanel
void setupControlPanel()
gr::trellis::min
float min(float a, float b)
EyeDisplayForm::~EyeDisplayForm
~EyeDisplayForm() override
EyeDisplayForm::setYLabel
void setYLabel(const std::string &label, const std::string &unit="")
PopupMenu
Definition: form_menus.h:1433
EyeDisplayForm::customEvent
void customEvent(QEvent *e) override
EyeDisplayForm::signalTriggerDelay
void signalTriggerDelay(float delay)
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::autoScale
void autoScale(bool en) override
EyeDisplayForm::tagMenuSlot
void tagMenuSlot(bool en)
EyeDisplayPlot
QWidget for displaying eye pattern plots.
Definition: EyeDisplayPlot.h:23
EyeDisplayForm::getSinglePlot
EyeDisplayPlot * getSinglePlot(unsigned int)
EyeDisplayPlot.h
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:25
EyeDisplayForm::setTriggerLevel
void setTriggerLevel(QString s)
spectrumUpdateEvents.h
EyeDisplaysForm
Base class for setting up and managing QTGUI plot forms.
Definition: eyedisplaysform.h:28
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::getPlot
EyeDisplayPlot * getPlot()
EyeDisplayForm::getTriggerMode
gr::qtgui::trigger_mode getTriggerMode() const
gr::qtgui::trigger_slope
trigger_slope
Definition: trigger_mode.h:24
gr::qtgui::trigger_mode
trigger_mode
Definition: trigger_mode.h:17
EyeDisplayForm::getTriggerDelay
float getTriggerDelay() const
EyeDisplayForm::setNPoints
void setNPoints(const int)
EyeControlPanel
Definition: eyecontrolpanel.h:24
EyeDisplayForm::setTriggerSlope
void setTriggerSlope(gr::qtgui::trigger_slope slope)
TriggerModeMenu
Definition: form_menus.h:1085
EyeDisplayForm::teardownControlPanel
void teardownControlPanel()