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_cmd.h
1#ifndef EC_GUI_CMD_H
2#define EC_GUI_CMD_H
3
4#include <QtUiTools>
5#include <QWidget>
6
7#include "utils/ec_utils.h"
8#include "ec_gui_slider.h"
9
10class EcGuiCmd : public QWidget
11{
12 Q_OBJECT
13public:
14
15 typedef std::shared_ptr<EcGuiCmd> Ptr;
16 EcGuiCmd(EcGuiSlider::Ptr ec_gui_slider,
17 QWidget * parent = 0);
18
19 ~EcGuiCmd();
20
21 bool get_command_sts();
22 void set_command_sts(bool device_controlled);
23 void onApplyCmd();
24 void onApplyCmdReleased();
25 void onNotAllCmdReleased();
26 void onAllCmdReleased();
27 void onNotAllBrakeReleased();
28 void onAllBrakeReleased();
29 void restart_ec_gui_cmd(EcIface::Ptr client);
30
31public slots:
32 void readCommand();
33private:
34
35 std::string getFieldType() const;
36 void launch_cmd_message(QString message);
37 void fill_start_stop_motor();
38 void fill_start_stop_valve();
39 void fill_start_stop_pump();
40 bool braking_cmd_req();
41
42 ClientCmdType _ctrl_cmd_type;
43
44 DST _start_devices = {};
45 PAC _brake_cmds = {};
46
47 QString _cmd_message;
48 bool _device_start_req,_device_controlled;
49 bool _motors_selected,_valves_selected,_pumps_selected;
50
51 QComboBox * _fieldtype_combobox;
52
53 QDialogButtonBox * _cmd_manager;
54 QPushButton * _applybtn;
55 QPushButton *_notallbtn,*_allbtn;
56 QListWidget* _device_list_wid;
57
58 EcIface::Ptr _client;
59 EcGuiSlider::Ptr _ec_gui_slider;
60 EcGuiSlider::slider_map_t _slider_map;
61};
62
63#endif // EC_GUI:CMD_H
Definition ec_gui_cmd.h:11
Definition ec_gui_slider.h:17