27 #ifndef OSCILLOSCOPE_H 28 #define OSCILLOSCOPE_H 53 "Trigger activity for the oscilloscope",
60 return {{
"Probing Channel",
61 "This is the channel used by the osciloscope to probe on other " 78 std::unique_ptr<RT::OS::Fifo> fifo;
100 void syncBlockInfo();
101 void showChannelTab();
102 void showDisplayTab();
103 void buildChannelList();
106 void showTab(
int index);
107 void activateChannel(
bool active);
108 void removeBlockChannels(
IO::Block* block);
109 void syncChannelProperties();
112 void buildBlockList();
113 void enableChannel();
114 void disableChannel();
121 void updateWindowTimeDiv();
124 QTabWidget* tabWidget =
nullptr;
127 Scope* scopeWindow =
nullptr;
130 QwtPlotCurve* curve =
nullptr;
134 void applyChannelTab();
135 void applyDisplayTab();
136 QWidget* createChannelTab(QWidget* parent);
137 QWidget* createDisplayTab(QWidget* parent);
140 QVBoxLayout* layout =
nullptr;
141 QWidget* scopeGroup =
nullptr;
142 QGroupBox* setBttnGroup =
nullptr;
146 QLineEdit* sizesEdit =
nullptr;
147 QButtonGroup* trigsGroup =
nullptr;
148 QComboBox* timesList =
nullptr;
149 QComboBox* trigsChanList =
nullptr;
150 QComboBox* trigsThreshList =
nullptr;
151 QComboBox* refreshDropdown =
nullptr;
152 QLineEdit* trigsThreshEdit =
nullptr;
153 QLineEdit* trigWindowEdit =
nullptr;
154 QComboBox* trigWindowList =
nullptr;
157 QComboBox* blocksListDropdown =
nullptr;
158 QComboBox* typesList =
nullptr;
159 QComboBox* channelsList =
nullptr;
160 QComboBox* colorsList =
nullptr;
161 QComboBox* offsetsList =
nullptr;
162 QComboBox* scalesList =
nullptr;
163 QComboBox* stylesList =
nullptr;
164 QComboBox* widthsList =
nullptr;
165 QLineEdit* offsetsEdit =
nullptr;
168 QPushButton* pauseButton =
nullptr;
169 QPushButton* settingsButton =
nullptr;
170 QPushButton* applyButton =
nullptr;
171 QPushButton* activateButton =
nullptr;
196 struct registry_entry_t
199 std::unique_ptr<Oscilloscope::Component> component;
202 std::vector<registry_entry_t> m_component_registry;
Component(Widgets::Plugin *hplugin, const std::string &probe_name)
RT::OS::Fifo * getFifoPtr()
void updateBlockChannels(IO::Block *block)
Panel(QMainWindow *mw, Event::Manager *ev_manager)
void setActivity(IO::endpoint endpoint, bool activity)
Plugin(Event::Manager *ev_manager)
Plugin & operator=(Plugin &&)=delete
Oscilloscope::Trigger::Info getTriggerInfo()
Plugin(const Plugin &)=delete
void receiveEvent(Event::Object *event) override
void setProbeActivity(IO::endpoint endpoint, bool activity)
void deleteProbe(IO::endpoint probe_info)
Oscilloscope::Component * getProbeComponentPtr(IO::endpoint endpoint)
RT::OS::Fifo * createProbe(IO::endpoint probe_info)
std::vector< IO::endpoint > getTrackedEndpoints()
void setAllProbesActivity(bool activity)
void deleteAllProbes(IO::Block *block)
Plugin & operator=(const Plugin &)=delete
struct IO::endpoint endpoint
struct Oscilloscope::Trigger::Info Info
constexpr std::string_view MODULE_NAME
std::unique_ptr< Widgets::Plugin > createRTXIPlugin(Event::Manager *ev_manager)
Widgets::FactoryMethods getFactories()
std::unique_ptr< Widgets::Component > createRTXIComponent(Widgets::Plugin *host_plugin)
std::vector< Widgets::Variable::Info > get_default_vars()
Widgets::Panel * createRTXIPanel(QMainWindow *main_window, Event::Manager *ev_manager)
std::vector< IO::channel_t > get_default_channels()