GNU Radio Manual and C++ API Reference 3.9.4.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
19class EyeControlPanel;
20
21/*!
22 * \brief EyeDisplaysForm child for managing eye pattern plots.
23 * \ingroup qtgui_blk
24 */
26{
27 Q_OBJECT
28
29public:
30 EyeDisplayForm(int nplots = 1, bool cmplx = false, QWidget* parent = 0);
31 ~EyeDisplayForm() override;
32
35
36 int getNPoints() 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
47public 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;
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);
74
75private 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
88signals:
91 void signalTriggerLevel(float level);
92 void signalTriggerDelay(float delay);
94 void signalNPoints(const int npts);
95
96private:
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 */
Definition: eyecontrolpanel.h:25
EyeDisplaysForm child for managing eye pattern plots.
Definition: eyedisplayform.h:26
gr::qtgui::trigger_mode getTriggerMode() const
void setSampleRate(const QString &samprate) override
void setupControlPanel(bool en)
void teardownControlPanel()
float getTriggerLevel() const
void setTriggerTagKey(QString s)
void autoScale(bool en) override
void signalTriggerLevel(float level)
std::string getTriggerTagKey() const
float getTriggerDelay() const
int getTriggerChannel() const
void setTriggerMode(gr::qtgui::trigger_mode mode)
void signalTriggerMode(gr::qtgui::trigger_mode mode)
void signalTriggerSlope(gr::qtgui::trigger_slope slope)
void setYaxis(double min, double max)
void setTriggerChannel(int chan)
void setAxisLabels(bool en)
void tagMenuSlot(bool en)
void updateTrigger(gr::qtgui::trigger_mode mode)
void setYLabel(const std::string &label, const std::string &unit="")
gr::qtgui::trigger_slope getTriggerSlope() const
void setTriggerTagKey(const std::string &s)
void signalReplot()
int getNPoints() const
EyeDisplayPlot * getPlot()
int getSamplesPerSymbol() const
void setTriggerLevel(QString s)
void setSampleRate(const double samprate)
void setTriggerLevel(float level)
void customEvent(QEvent *e) override
void signalTriggerDelay(float delay)
void setTagMenu(unsigned int which, bool en)
void setupControlPanel()
EyeDisplayForm(int nplots=1, bool cmplx=false, QWidget *parent=0)
void setTriggerDelay(float delay)
EyeDisplayPlot * getSinglePlot(unsigned int)
void signalNPoints(const int npts)
~EyeDisplayForm() override
void setNPoints(const int)
void setTriggerDelay(QString s)
void setTriggerSlope(gr::qtgui::trigger_slope slope)
void autoScaleShot()
QWidget for displaying eye pattern plots.
Definition: EyeDisplayPlot.h:24
Base class for setting up and managing QTGUI plot forms.
Definition: eyedisplaysform.h:29
Definition: form_menus.h:922
Definition: form_menus.h:1434
Definition: form_menus.h:1229
Definition: form_menus.h:1086
Definition: form_menus.h:1163
trigger_mode
Definition: trigger_mode.h:17
trigger_slope
Definition: trigger_mode.h:24
float min(float a, float b)