29 typedef std::shared_ptr<EcGuiWrapper> Ptr;
35 void clear_gui_wrapper();
37 bool get_wrapper_send_sts();
38 bool get_wrapper_cmd_sts();
39 void set_expert_user();
42 void clientStsChanged();
45 void DwTopLevelChanged(
bool isFloating);
46 void click_dock_button();
47 void start_stop_receive();
49 void start_stop_record();
54 bool eventFilter( QObject* o, QEvent* e );
58 QDockWidget *_command_dw,*_pdo_sdo_dw,*_graphics_dw,*_measurement_setup_dw;
59 std::map<std::string,bool> _floating_sts;
61 EcGuiSlider::Ptr _ec_gui_slider;
63 EcGuiPdo::Ptr _ec_gui_pdo;
64 EcGuiSdo::Ptr _ec_gui_sdo;
65 EcGuiCmd::Ptr _ec_gui_cmd;
66 EcLogger::Ptr _ec_logger;
68 std::shared_ptr<std::thread> _ec_wrapper_thread;
69 std::mutex _mutex_send;
70 std::chrono::high_resolution_clock::time_point _loop_time,_start_loop_time;
73 bool _run_wrapper_thread=
false,_send_pdo=
false;
75 QPushButton *_send_stop_btn;
77 QTimer *_receive_timer,*_log_timer;
78 QAction *_receive_action,*_record_action;
79 bool _receive_started,_record_started;
81 void onSendStopBtnReleased();
83 bool check_client_setup();
84 void stop_wrapper_thread();
85 void wrapper_thread();
87 uint8_t _stopping_write_counter=0;
88 uint8_t _max_stop_write;