EtherCAT Graphical User Interface Code 0.0.1
EtherCAT GUI that uses different communication protocols with EtherCAT Master server.
Loading...
Searching...
No Matches
ec_gui_slider.h
1#ifndef EC_GUI_SLIDER_H
2#define EC_GUI_SLIDER_H
3
4#include <QtUiTools>
5#include <QWidget>
6
7#include "slider_window.h"
8#include "slider_widget.h"
9#include "utils/ec_utils.h"
10#include <cfloat>
11
12class EcGuiSlider : public QWidget
13{
14 Q_OBJECT
15
16public:
18 std::map<int, SliderWidget*> motor_sw_map;
19 std::map<int, SliderWidget*> valve_sw_map;
20 std::map<int, SliderWidget*> pump_sw_map;
21 };
22
24 std::map<int32_t,std::map<int32_t,std::vector<float>>> device_gains;
25 std::map<int32_t,std::vector<float>> device_limits;
26 };
27
28 typedef std::shared_ptr<EcGuiSlider> Ptr;
29
30 explicit EcGuiSlider(QWidget *parent = nullptr);
31
33
34 slider_map_t get_sliders();
35
36 void create_sliders(SSI device_info,device_ctrl_t device_ctrl);
37 void delete_sliders();
38 void reset_sliders();
39 void enable_sliders();
40 void disable_sliders();
41 void check_sliders();
42 void uncheck_sliders();
43 void set_sliders_info(double st,bool stopping_wave);
44 int get_control_mode(std::string tab_name);
45 void enable_control_mode(const std::string& tab_name);
46 void disable_control_mode(const std::string& tab_name);
47
48private slots:
49 void control_mode_change();
50
51private:
52
53 slider_map_t _slider_map;
54
55 float _control_mode;
56
57 QTabWidget *_devicecontrol;
58 std::map<std::string,SliderWindow *> _sliders_window_map;
59 QVBoxLayout *_sliders_motorlayout;
60 QVBoxLayout *_sliders_valvelayout,*_sliders_pumplayout;
61 QListWidget* _device_list_wid;
62 std::map<int32_t,std::map<int32_t,std::vector<float>>> _device_gains;
63 void delete_items(QLayout * layout);
64 void on_checkbox_clicked(QCheckBox *,int);
65 void set_control_mode(const std::string &tab_name);
66 QVBoxLayout* retrieve_slider_layout(const std::string &tab_name,
67 const QStringList &control_mode,
68 const std::vector<int> control_mode_hex);
69 device_ctrl_t _device_ctrl;
70 int _ctrl_mode,_old_ctrl_mode;
71 void adjust_slave_info(SliderWidget::slider_info_s &slide_info,
72 int index,
73 std::vector<std::string> new_fields);
74};
75
76#endif // EC_GUI_SLIDER_H
Definition ec_gui_slider.h:13
Definition ec_gui_slider.h:23
Definition ec_gui_slider.h:17
Definition slider_widget.h:17