diff --git a/.vscode/settings.json b/.vscode/settings.json index 48d5855..e911f56 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -7,6 +7,51 @@ "new": "cpp", "qtcpsocket": "cpp", "*.tcc": "cpp", - "string": "cpp" + "string": "cpp", + "functional": "cpp", + "array": "cpp", + "atomic": "cpp", + "cctype": "cpp", + "chrono": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "list": "cpp", + "unordered_map": "cpp", + "vector": "cpp", + "exception": "cpp", + "algorithm": "cpp", + "iterator": "cpp", + "map": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "numeric": "cpp", + "optional": "cpp", + "ratio": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "fstream": "cpp", + "initializer_list": "cpp", + "iosfwd": "cpp", + "istream": "cpp", + "limits": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "streambuf": "cpp", + "typeinfo": "cpp", + "variant": "cpp", + "qabstractsocket": "cpp", + "qtimer": "cpp" } } \ No newline at end of file diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user index 4e51650..7db5002 100644 --- a/CMakeLists.txt.user +++ b/CMakeLists.txt.user @@ -1,10 +1,10 @@ - + EnvironmentId - {2af8b88c-e5ba-4fff-b554-68f1c16ee860} + {7ff7bbfe-71cb-4343-a3c3-fccd36939917} ProjectExplorer.Project.ActiveTarget @@ -63,7 +63,7 @@ true Builtin.DefaultTidyAndClazy - 8 + 4 @@ -74,22 +74,22 @@ ProjectExplorer.Project.Target.0 - mingw-gcc - mingw-gcc - {70298f91-1f6a-4f9c-afc0-abb5d1400c4a} - 0 + Desktop Qt 5.12.9 MinGW 64-bit + Desktop Qt 5.12.9 MinGW 64-bit + qt.qt5.5129.win64_mingw73_kit + 1 0 0 CMAKE_BUILD_TYPE:STRING=Debug - CMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} - CMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} - CMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} - QT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} + CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx} + CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C} + CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX} + QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} 2 - D:\WORK\QT\build-socket_cmd-mingw_gcc-Debug + E:\FCMA\build-qt_client-Desktop_Qt_5_12_9_MinGW_64_bit-Debug @@ -127,13 +127,13 @@ CMAKE_BUILD_TYPE:STRING=Release - CMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} - CMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} - CMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} - QT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} + CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx} + CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C} + CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX} + QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} 2 - D:\WORK\QT\build-socket_cmd-mingw_gcc-Release + E:\FCMA\build-qt_client-Desktop_Qt_5_12_9_MinGW_64_bit-Release @@ -171,13 +171,13 @@ CMAKE_BUILD_TYPE:STRING=RelWithDebInfo - CMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} - CMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} - CMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} - QT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} + CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx} + CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C} + CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX} + QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} 2 - D:\WORK\QT\build-socket_cmd-mingw_gcc-RelWithDebInfo + E:\FCMA\build-qt_client-Desktop_Qt_5_12_9_MinGW_64_bit-RelWithDebInfo @@ -215,13 +215,13 @@ CMAKE_BUILD_TYPE:STRING=MinSizeRel - CMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} - CMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} - CMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} - QT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} + CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx} + CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C} + CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX} + QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} 2 - D:\WORK\QT\build-socket_cmd-mingw_gcc-MinSizeRel + E:\FCMA\build-qt_client-Desktop_Qt_5_12_9_MinGW_64_bit-MinSizeRel @@ -344,14 +344,204 @@ false true - D:/WORK/QT/build-socket_cmd-mingw_gcc-Debug + E:/FCMA/build-qt_client-Desktop_Qt_5_12_9_MinGW_64_bit-Release + + 1 + + + + ProjectExplorer.Project.Target.1 + + Qt 5.12.9 MinGW 64-bit + Qt 5.12.9 MinGW 64-bit + {f01e95f2-0cb5-451e-9e9e-b35e7a501b89} + 1 + 0 + 0 + + + CMAKE_BUILD_TYPE:STRING=Debug + CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx} + CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C} + CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX} + QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} + + 2 + E:\FCMA\qt_client\build + + + + + all + + true + CMakeProjectManager.MakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + + clean + + true + CMakeProjectManager.MakeStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + CMakeProjectManager.CMakeBuildConfiguration + + + + CMAKE_BUILD_TYPE:STRING=Release + CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx} + CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C} + CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX} + QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable} + + 2 + E:\FCMA\build-qt_client-Qt_5_12_9_MinGW_64_bit-Release + + + + + all + + true + CMakeProjectManager.MakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + + clean + + true + CMakeProjectManager.MakeStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + CMakeProjectManager.CMakeBuildConfiguration + + 2 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + socket_cmd + CMakeProjectManager.CMakeRunConfiguration.socket_cmd + socket_cmd + + false + + false + true + true + false + false + true + + 1 ProjectExplorer.Project.TargetCount - 1 + 2 ProjectExplorer.Project.Updater.FileVersion diff --git a/CMakeLists.txt.user.2af8b88 b/CMakeLists.txt.user.2af8b88 new file mode 100644 index 0000000..4e51650 --- /dev/null +++ b/CMakeLists.txt.user.2af8b88 @@ -0,0 +1,364 @@ + + + + + + EnvironmentId + {2af8b88c-e5ba-4fff-b554-68f1c16ee860} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + -fno-delayed-template-parsing + + true + Builtin.Questionable + + true + Builtin.DefaultTidyAndClazy + 8 + + + + true + + + + + ProjectExplorer.Project.Target.0 + + mingw-gcc + mingw-gcc + {70298f91-1f6a-4f9c-afc0-abb5d1400c4a} + 0 + 0 + 0 + + + CMAKE_BUILD_TYPE:STRING=Debug + CMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} + CMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} + CMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} + QT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} + + 2 + D:\WORK\QT\build-socket_cmd-mingw_gcc-Debug + + + + + all + + true + CMakeProjectManager.MakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + + clean + + true + CMakeProjectManager.MakeStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + CMakeProjectManager.CMakeBuildConfiguration + + + + CMAKE_BUILD_TYPE:STRING=Release + CMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} + CMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} + CMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} + QT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} + + 2 + D:\WORK\QT\build-socket_cmd-mingw_gcc-Release + + + + + all + + true + CMakeProjectManager.MakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + + clean + + true + CMakeProjectManager.MakeStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + CMakeProjectManager.CMakeBuildConfiguration + + + + CMAKE_BUILD_TYPE:STRING=RelWithDebInfo + CMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} + CMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} + CMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} + QT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} + + 2 + D:\WORK\QT\build-socket_cmd-mingw_gcc-RelWithDebInfo + + + + + all + + true + CMakeProjectManager.MakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + + clean + + true + CMakeProjectManager.MakeStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release with Debug Information + CMakeProjectManager.CMakeBuildConfiguration + + + + CMAKE_BUILD_TYPE:STRING=MinSizeRel + CMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} + CMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} + CMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} + QT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} + + 2 + D:\WORK\QT\build-socket_cmd-mingw_gcc-MinSizeRel + + + + + all + + true + CMakeProjectManager.MakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + + clean + + true + CMakeProjectManager.MakeStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Minimum Size Release + CMakeProjectManager.CMakeBuildConfiguration + + 4 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + + false + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + dwarf + + cpu-cycles + + + 250 + + -e + cpu-cycles + --call-graph + dwarf,4096 + -F + 250 + + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + socket_cmd + CMakeProjectManager.CMakeRunConfiguration.socket_cmd + socket_cmd + + false + + false + true + true + false + false + true + + D:/WORK/QT/build-socket_cmd-mingw_gcc-Debug + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 22 + + + Version + 22 + + diff --git a/mainwindow.cpp b/mainwindow.cpp index 6cbc396..6741c78 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,66 +1,1490 @@ #include "mainwindow.h" + #include "./ui_mainwindow.h" +/** + * 前散 0.1 2.0 + * 测散 0.1 2.0 + * fl1 0.02 1.5 + * fl2 0.05 1.5 + * fl3 0.3 1.5 + * + * + */ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { - ui->setupUi(this); - ui->le_server_ip->setText("127.0.0.1"); - ui->le_port->setText("1234"); - // ui->rb_con_sta->setEnabled(false); - ui->rb_con_sta->setCheckable(false); - ui->rb_con_sta->setChecked(false); - connect(ui->bt_start,QPushButton::clicked,this, &MainWindow::start_connet); - connect(ui->bt_stop,QPushButton::clicked,this, &MainWindow::stop_connet); - connect(ui->bt_cmd,QPushButton::clicked,this, &MainWindow::send_cmd); - tcp_socket = nullptr; + ui->setupUi(this); + ui->le_server_ip->setText("10.9.8.2"); + // ui->le_server_ip->setText("192.168.123.140"); + ui->le_port->setText("1122"); + // ui->rb_con_sta->setEnabled(false); + ui->rb_con_sta->setCheckable(false); + ui->rb_con_sta->setChecked(false); + connect(ui->bt_start, QPushButton::clicked, this, &MainWindow::start_connet); + connect(ui->bt_stop, QPushButton::clicked, this, &MainWindow::stop_connet); + connect(ui->bt_cmd, QPushButton::clicked, this, &MainWindow::send_cmd); + connect(ui->bt_help, QPushButton::clicked, this, &MainWindow::cmd_help); + connect(ui->bt_read, QPushButton::clicked, this, &MainWindow::cmd_read); + connect(ui->bt_set_fpga, QPushButton::clicked, this, &MainWindow::cmd_fpga); + connect(ui->bt_start_fpga, QPushButton::clicked, this, + &MainWindow::start_fpga); + connect(ui->bt_stop_fpga, QPushButton::clicked, this, &MainWindow::stop_fpga); + connect(ui->bt_sv17_open, QPushButton::clicked, this, &MainWindow::sv17_open); + connect(ui->bt_sv17_close, QPushButton::clicked, this, + &MainWindow::sv17_close); + connect(ui->bt_sv18_open, QPushButton::clicked, this, &MainWindow::sv18_open); + connect(ui->bt_sv18_close, QPushButton::clicked, this, + &MainWindow::sv18_close); + connect(ui->bt_sv20_open, QPushButton::clicked, this, &MainWindow::sv20_open); + connect(ui->bt_sv20_close, QPushButton::clicked, this, + &MainWindow::sv20_close); + connect(ui->bt_sv21_open, QPushButton::clicked, this, &MainWindow::sv21_open); + connect(ui->bt_sv21_close, QPushButton::clicked, this, + &MainWindow::sv21_close); + connect(ui->bt_p15_open, QPushButton::clicked, this, &MainWindow::p15_open); + connect(ui->bt_p15_close, QPushButton::clicked, this, &MainWindow::p15_close); + connect(ui->bt_p16_open, QPushButton::clicked, this, &MainWindow::p16_open); + connect(ui->bt_p16_close, QPushButton::clicked, this, &MainWindow::p16_close); + connect(ui->bt_p18_open, QPushButton::clicked, this, &MainWindow::p18_open); + connect(ui->bt_p18_close, QPushButton::clicked, this, &MainWindow::p18_close); + + connect(ui->bt_p19_open, QPushButton::clicked, this, &MainWindow::p19_open); + connect(ui->bt_p19_close, QPushButton::clicked, this, &MainWindow::p19_close); + connect(ui->bt_p17_back, QPushButton::clicked, this, + &MainWindow::p17_backward); + connect(ui->bt_p17_forworad, QPushButton::clicked, this, + &MainWindow::p17_forward); + connect(ui->bt_p17_close, QPushButton::clicked, this, &MainWindow::p17_close); + connect(ui->bt_p17_rotate_ext, QPushButton::clicked, this, + &MainWindow::p17_forward_ext); + connect(ui->bt_p17_back_ext, QPushButton::clicked, this, + &MainWindow::p17_backward_ext); + connect(ui->bt_pump_clean, QPushButton::clicked, this, + &MainWindow::pump_clean); + connect(ui->bt_fast_stop, QPushButton::clicked, this, &MainWindow::fast_stop); + connect(ui->bt_blue_laser_close, QPushButton::clicked, this, + &MainWindow::blue_laser_close); + connect(ui->bt_blue_laser_open, QPushButton::clicked, this, + &MainWindow::blue_laser_open); + connect(ui->bt_red_laser_close, QPushButton::clicked, this, + &MainWindow::red_laser_close); + connect(ui->bt_red_laser_open, QPushButton::clicked, this, + &MainWindow::red_laser_open); + connect(ui->bt_z_go_zero, QPushButton::clicked, this, &MainWindow::z_go_zero); + connect(ui->bt_z_go_cyto, QPushButton::clicked, this, &MainWindow::z_go_cyto); + connect(ui->bt_z_ret_mov, QPushButton::clicked, this, + &MainWindow::z_go_ret_mov); + connect(ui->bt_z_abs_mov, QPushButton::clicked, this, + &MainWindow::z_go_abs_mov); + connect(ui->bt_fulling, QPushButton::clicked, this, &MainWindow::fulling); + connect(ui->bt_water_wash, QPushButton::clicked, this, + &MainWindow::water_wash); + + connect(ui->bt_aco_wash, QPushButton::clicked, this, &MainWindow::aco_wash); + connect(ui->bt_washliq_wash, QPushButton::clicked, this, + &MainWindow::washliq_wash); + connect(ui->bt_clean, QPushButton::clicked, this, &MainWindow::info_clean); + connect(ui->bt_fpga_page_pre, QPushButton::clicked, this, + &MainWindow::fpga_page_prv); + connect(ui->bt_fpga_page_next, QPushButton::clicked, this, + &MainWindow::fpga_page_nxt); + connect(ui->bt_reverse_clean, QPushButton::clicked, this, + &MainWindow::revers_clean); + connect(ui->bt_p15_speed_set, QPushButton::clicked, this, + &MainWindow::p15_set_speed); + connect(ui->bt_laser_blue_set, QPushButton::clicked, this, + &MainWindow::laser_blue_set_power_ref); + connect(ui->bt_laser_red_set, QPushButton::clicked, this, + &MainWindow::laser_red_set_power_ref); + connect(ui->bt_rev1_open, QPushButton::clicked, this, &MainWindow::rev1_open); + connect(ui->bt_rev1_close, QPushButton::clicked, this, + &MainWindow::rev1_close); + connect(ui->bt_rev1_set, QPushButton::clicked, this, + &MainWindow::rev1_set_speed); + connect(ui->bt_open_test_data, QPushButton::clicked, this, + &MainWindow::open_test_data); + connect(ui->bt_close_test_data, QPushButton::clicked, this, + &MainWindow::close_test_data); + connect(ui->bt_sv_rev1_open, QPushButton::clicked, this, + &MainWindow::sv_rev1_open); + connect(ui->bt_sv_rev1_close, QPushButton::clicked, this, + &MainWindow::sv_rev1_close); + connect(ui->bt_sv_rev2_open, QPushButton::clicked, this, + &MainWindow::sv_rev2_open); + connect(ui->bt_sv_rev2_close, QPushButton::clicked, this, + &MainWindow::sv_rev2_close); + connect(ui->bt_sv_rev3_open, QPushButton::clicked, this, + &MainWindow::sv_rev3_open); + connect(ui->bt_sv_rev3_close, QPushButton::clicked, this, + &MainWindow::sv_rev3_close); + connect(ui->bt_read_onebyone, QPushButton::clicked, this, + &MainWindow::read_onebyone); + connect(ui->bt_close_onebyone, QPushButton::clicked, this, + &MainWindow::read_onebyone_stop); + connect(ui->bt_random_open, QPushButton::clicked, this, + &MainWindow::random_open); + connect(ui->bt_fsc_open, QPushButton::clicked, this, &MainWindow::fsc_open); + + connect(ui->bt_fast_draw, QPushButton::clicked, this, &MainWindow::fast_draw); + connect(ui->bt_fast_push, QPushButton::clicked, this, &MainWindow::fast_push); + connect(ui->bt_slow_push, QPushButton::clicked, this, &MainWindow::slow_push); + connect(ui->bt_pump_reset, QPushButton::clicked, this, + &MainWindow::pump_reset); + connect(ui->bt_sw_test_prv, QPushButton::clicked, this, + &MainWindow::sw_test_prv); + connect(ui->bt_sw_test_next, QPushButton::clicked, this, + &MainWindow::sw_test_next); + connect(ui->bt_clean_outer_pipe, QPushButton::clicked, this, + &MainWindow::clean_outer_pipe); + timer = new QTimer(this); + connect(timer, &QTimer::timeout, this, &MainWindow::stop_the_pump); + connect(ui->bt_fast_draw_water, QPushButton::clicked, this, + &MainWindow::fast_draw_water); + connect(ui->bt_p17_forward_1000, QPushButton::clicked, this, + &MainWindow::p17_forward_1000); + connect(ui->bt_pipe_clean, QPushButton::clicked, this, + &MainWindow::clean_pipe); + connect(ui->bt_set_time_delay, QPushButton::clicked, this, + &MainWindow::set_time_delay); + connect(ui->bt_fpga_menu, QPushButton::clicked, this, + &MainWindow::choose_fpga_page); + connect(ui->bt_pump_menu, QPushButton::clicked, this, + &MainWindow::choose_pump_page); + connect(ui->bt_write_fpga_cfg, QPushButton::clicked, this, + &MainWindow::write_fpga_cfg); + connect(ui->bt_read_fpga_cfg, QPushButton::clicked, this, + &MainWindow::read_fpga_cfg); + connect(ui->bt_wave_open, QPushButton::clicked, this, &MainWindow::wave_open); + connect(ui->bt_wave_close, QPushButton::clicked, this, + &MainWindow::wave_close); + // defconfig + ui->le_pz_ch1->setText("2.0"); + ui->le_pz_ch2->setText("2.0"); + ui->le_pz_ch3->setText("2.0"); + ui->le_pz_ch4->setText("2.0"); + ui->le_pz_ch5->setText("2.0"); + ui->le_pz_ch6->setText("2.0"); + ui->le_pz_ch7->setText("2.0"); + ui->le_pz_ch8->setText("2.0"); + ui->le_zy_ch1->setText("0.1"); + ui->le_zy_ch2->setText("0.1"); + ui->le_zy_ch3->setText("0.1"); + ui->le_zy_ch4->setText("0.1"); + ui->le_zy_ch5->setText("0.1"); + ui->le_zy_ch6->setText("0.1"); + ui->le_zy_ch7->setText("0.1"); + ui->le_zy_ch8->setText("0.1"); + ui->tb_msgbox->setTextBackgroundColor(Qt::gray); + ui->le_p17_speed->setText("1000"); + // user config + ui->le_pz_ch1->setText("2.0"); + ui->le_zy_ch1->setText("0.1"); + ui->le_pz_ch2->setText("2.0"); + ui->le_zy_ch2->setText("0.1"); + ui->le_pz_ch3->setText("1.5"); + ui->le_zy_ch3->setText("0.02"); + ui->le_pz_ch4->setText("1.5"); + ui->le_zy_ch4->setText("0.05"); + ui->le_delay_onebyone->setText("3000"); + ui->le_p15_speed->setText("9490"); + ui->le_p17_speed->setText("9000"); + tcp_socket = nullptr; } MainWindow::~MainWindow() { - delete ui; + stop_connet(); + delete ui; } +/** + * + * 貌似加了ReuseAddressHint也没用 + */ void MainWindow::start_connet() { - if (tcp_socket == nullptr) + if (tcp_socket == nullptr) + { + // tcp_socket->setSocketOption(QAbstractSocket::KeepAliveOption, + // QVariant::fromValue(true)); + int retry = 0; + std::cout << "start connect" << std::endl; + while (retry < 10) { - tcp_socket = new QTcpSocket(this); - tcp_socket->connectToHost(ui->le_server_ip->text(), ui->le_port->text().toInt()); - connect(tcp_socket, &QTcpSocket::connected, this, &MainWindow::connected); - connect(tcp_socket, &QTcpSocket::readyRead, this, &MainWindow::receive_cmd); + tcp_socket = new QTcpSocket(this); + connect(tcp_socket, &QTcpSocket::connected, this, &MainWindow::connected); + connect(tcp_socket, &QTcpSocket::readyRead, this, + &MainWindow::receive_cmd); + short port = ui->le_port->text().toInt(); + port = port + retry; + bool ret = tcp_socket->bind(port, QAbstractSocket::ReuseAddressHint | + QAbstractSocket::ShareAddress); + std::cout << "bind port " << port << " ret " << ret << std::endl; + tcp_socket->connectToHost(ui->le_server_ip->text(), + ui->le_port->text().toInt()); + + QAbstractSocket::SocketError error = tcp_socket->error(); + if (tcp_socket->error() == -1) + { + break; + ; + } + + QString errorString = tcp_socket->errorString(); + std::cout << "error " << error << " errorString " + << errorString.toStdString() << std::endl; + tcp_socket->close(); + delete tcp_socket; + tcp_socket = nullptr; + retry++; } + if (retry == 10) + { + tcp_socket->close(); + delete tcp_socket; + tcp_socket = nullptr; + ui->rb_con_sta->setChecked(false); + } + } } -void MainWindow::connected(){ - ui->rb_con_sta->setCheckable(true); - ui->rb_con_sta->setChecked(true); +void MainWindow::connected() +{ + ui->rb_con_sta->setCheckable(true); + ui->rb_con_sta->setChecked(true); } void MainWindow::stop_connet() { - if (tcp_socket != nullptr) - { - tcp_socket->disconnectFromHost(); - delete tcp_socket; - tcp_socket = nullptr; - - } - ui->rb_con_sta->setChecked(false); - ui->rb_con_sta->setCheckable(false); + if (tcp_socket != nullptr) + { + tcp_socket->disconnectFromHost(); + tcp_socket->close(); + delete tcp_socket; + tcp_socket = nullptr; + } + ui->rb_con_sta->setChecked(false); + ui->rb_con_sta->setCheckable(false); } -void MainWindow::send_cmd(){ - - if (tcp_socket != nullptr) - { - ui->tb_msgbox->append("[S]" + ui->le_cmd->text()); - QByteArray data = ui->le_cmd->text().toUtf8(); - tcp_socket->write(data); - } +void MainWindow::send_cmd() +{ + if (tcp_socket != nullptr) + { + ui->tb_msgbox->append("[S]" + ui->le_cmd->text()); + QByteArray data = ui->le_cmd->text().toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } } void MainWindow::receive_cmd() { - QByteArray data = tcp_socket->readAll(); - QString str = data.data(); - str="[R]" + str; - ui->tb_msgbox->append(str); -} \ No newline at end of file + QByteArray data = tcp_socket->readAll(); + QString str = data.data(); + ui->tb_msgbox->append("[R]" + str); + // if (str[0] = '\033', str[1] == '[') { + // // #define F_BLACK "30;" + // // #define F_RED "31;" + // // #define F_GREEN "32;" + // // #define F_YELLOW "33;" + // // #define F_BLUE "34;" + // // #define F_MAGENTA "35;" + // // #define F_CYAN "36;" + // // #define F_WHITE "37;" + // if (str[2] == '3' && str[4] == ';') { + // if (str[3] == '1') { + // ui->tb_msgbox->setTextColor(Qt::red); + // } else if (str[3] == '2') { + // ui->tb_msgbox->setTextColor(Qt::green); + // } else if (str[3] == '3') { + // ui->tb_msgbox->setTextColor(Qt::blue); + // } else if (str[3] == '4') { + // ui->tb_msgbox->setTextColor(Qt::yellow); + // } else if (str[3] == '5') { + // ui->tb_msgbox->setTextColor(Qt::magenta); + // } else if (str[3] == '6') { + // ui->tb_msgbox->setTextColor(Qt::cyan); + // } else if (str[3] == '7') { + // ui->tb_msgbox->setTextColor(Qt::white); + // } + // } + // if (str.length() > 8) { + // str = str.mid(8); + // } else { + // return; + // } + // } + // str = "[R]" + str; + // ui->tb_msgbox->append(str); + // ui->tb_msgbox->setTextColor(Qt::black); +} + +void MainWindow::cmd_help() +{ + if (tcp_socket != nullptr) + { + QString cmd = "help"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::cmd_read() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_liq_workflow 4"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::revers_clean() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_liq_workflow 6"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::wave_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "set_delay_time_calc 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::wave_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "set_delay_time_calc 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::cmd_fpga() +{ + if (tcp_socket != nullptr) + { + QString cmd = "test_set_gain_bias 0"; + cmd += " "; + cmd += ui->le_zy_ch1->text(); + cmd += " \r\n"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + _sleep(100); + cmd = "test_set_gain_bias 1"; + cmd += " "; + cmd += ui->le_pz_ch1->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + _sleep(100); + cmd = "test_set_gain_bias 2"; + cmd += " "; + cmd += ui->le_zy_ch2->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + _sleep(100); + cmd = "test_set_gain_bias 3"; + cmd += " "; + cmd += ui->le_pz_ch2->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + + _sleep(100); + cmd = "test_set_gain_bias 4"; + cmd += " "; + cmd += ui->le_zy_ch3->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + + _sleep(100); + cmd = "test_set_gain_bias 5"; + cmd += " "; + cmd += ui->le_pz_ch3->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + + { + // fl2 + _sleep(100); + cmd = "test_set_gain_bias 6"; + cmd += " "; + cmd += ui->le_zy_ch4->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + + _sleep(100); + cmd = "test_set_gain_bias 7"; + cmd += " "; + cmd += ui->le_pz_ch4->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } + + { + // fl3 + _sleep(100); + cmd = "test_set_gain_bias 8"; + cmd += " "; + cmd += ui->le_zy_ch5->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + + _sleep(100); + cmd = "test_set_gain_bias 9"; + cmd += " "; + cmd += ui->le_pz_ch5->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } + { + // fl4 + _sleep(100); + cmd = "test_set_gain_bias 10"; + cmd += " "; + cmd += ui->le_zy_ch6->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + + _sleep(100); + cmd = "test_set_gain_bias 11"; + cmd += " "; + cmd += ui->le_pz_ch6->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } + + { + // fl4 + _sleep(100); + cmd = "test_set_gain_bias 10"; + cmd += " "; + cmd += ui->le_zy_ch6->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + + _sleep(100); + cmd = "test_set_gain_bias 11"; + cmd += " "; + cmd += ui->le_pz_ch6->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } + + { + // fl5 + _sleep(100); + cmd = "test_set_gain_bias 12"; + cmd += " "; + cmd += ui->le_zy_ch7->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + + _sleep(100); + cmd = "test_set_gain_bias 13"; + cmd += " "; + cmd += ui->le_pz_ch7->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } + + { + // fl4 + _sleep(100); + cmd = "test_set_gain_bias 14"; + cmd += " "; + cmd += ui->le_zy_ch8->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + + _sleep(100); + cmd = "test_set_gain_bias 15"; + cmd += " "; + cmd += ui->le_pz_ch8->text(); + cmd += " \r\n"; + data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } + } +} +void MainWindow::start_fpga() +{ + if (tcp_socket != nullptr) + { + QString cmd = "test_signal_acq_ena 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::stop_fpga() +{ + if (tcp_socket != nullptr) + { + QString cmd = "test_signal_acq_ena 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::sv17_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv17 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::sv17_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv17 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::sv18_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv18 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::sv18_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv18 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::sv20_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv20 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::sv20_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv20 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::sv21_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv21 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::sv21_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv21 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::p19_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p19 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::p19_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p19 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::p15_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p15 rotate_start 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::p15_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p15 rotate_stop"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::rev1_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_motor_rev1 rotate_start 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::rev1_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_motor_rev1 rotate_stop"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::p16_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p16 70"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::p15_set_speed() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p15 speed_change "; + cmd += ui->le_p15_speed->text(); + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::rev1_set_speed() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_motor_rev1 speed_change "; + cmd += ui->le_rev1_speed->text(); + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::p16_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p16 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::p18_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p18 70"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::p18_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p18 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::p17_backward() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p17 rotate_start 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::p17_forward_ext() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p17 rotate_start_ext "; + cmd += ui->le_p17_speed->text(); + cmd += " 3000"; + cmd += " 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + // std::cout<<"cmd: "<le_p17_speed->text(); + cmd += " 3000"; + cmd += " 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::p17_forward() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p17 rotate_start 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::p17_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p17 rotate_stop"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::pump_clean() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_liq_workflow 7"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::fast_stop() +{ + if (tcp_socket != nullptr) + { + QString cmd = "stop"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::blue_laser_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "cmd_laser_ctrl 0 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::blue_laser_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "cmd_laser_ctrl 0 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::laser_blue_set_power_ref() +{ + if (tcp_socket != nullptr) + { + QString cmd = "cmd_laser_set_pwref 0 "; + cmd += ui->le_laser_blue_value->text(); + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::red_laser_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "cmd_laser_ctrl 2 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::red_laser_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "cmd_laser_ctrl 2 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::laser_red_set_power_ref() +{ + if (tcp_socket != nullptr) + { + QString cmd = "cmd_laser_set_pwref 2 "; + cmd += ui->le_laser_red_value->text(); + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::z_go_zero() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sample_z go zero"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::z_go_cyto() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sample_z go cyto"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::z_go_ret_mov() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_motor_move 2 "; + cmd += ui->le_z_ret_move->text(); + cmd += " 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::z_go_abs_mov() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_motor_move 2 "; + cmd += ui->le_z_ret_move->text(); + cmd += " 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::fulling() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_liq_workflow 5"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::water_wash() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_liq_workflow 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::aco_wash() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_liq_workflow 3"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::washliq_wash() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_liq_workflow 2"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::info_clean() { ui->tb_msgbox->setText(""); } + +void MainWindow::fpga_page_prv() +{ + if (ui->fpga_set_page->currentIndex() > 0) + { + ui->fpga_set_page->setCurrentIndex(ui->fpga_set_page->currentIndex() - 1); + } +} + +void MainWindow::fpga_page_nxt() +{ + if (ui->fpga_set_page->currentIndex() < 2) + { + ui->fpga_set_page->setCurrentIndex(ui->fpga_set_page->currentIndex() + 1); + } +} + +void MainWindow::open_test_data() +{ + if (tcp_socket != nullptr) + { + QString cmd = "test_signal_wave_ena 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::close_test_data() +{ + if (tcp_socket != nullptr) + { + QString cmd = "test_signal_wave_ena 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::sv_rev1_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv_rev1 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::sv_rev1_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv_rev1 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::sv_rev2_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv_rev2 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::sv_rev2_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv_rev2 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::sv_rev3_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv_rev3 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::sv_rev3_close() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_sv_rev3 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} +void MainWindow::read_onebyone() +{ + if (tcp_socket != nullptr) + { + p17_forward_ext(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + { + _sleep(ui->le_delay_onebyone->text().toInt()); + } + p15_open(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + p15_set_speed(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv17_open(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv_rev3_open(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + } +} +void MainWindow::read_onebyone_stop() +{ + if (tcp_socket != nullptr) + { + p17_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + p15_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv17_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv_rev3_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + } +} + +void MainWindow::fsc_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "test_signal_fsc_ena 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::random_open() +{ + if (tcp_socket != nullptr) + { + QString cmd = "test_signal_random_ena 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::sw_test_prv() +{ + if (ui->sw_test->currentIndex() > 0) + { + ui->sw_test->setCurrentIndex(ui->sw_test->currentIndex() - 1); + } +} + +void MainWindow::sw_test_next() +{ + if (ui->sw_test->currentIndex() < 2) + { + ui->sw_test->setCurrentIndex(ui->sw_test->currentIndex() + 1); + } +} + +void MainWindow::fast_draw() +{ + if (tcp_socket != nullptr) + { + sv_rev1_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv_rev2_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv_rev3_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + QString cmd = "msh_p17 move_ext "; + cmd += PUMP_SPEED; + cmd += " "; + cmd += PUMP_ACCE; + cmd += " "; + cmd += "32000 "; + cmd += "1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::fast_draw_water() +{ + if (tcp_socket != nullptr) + { + sv_rev1_open(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv_rev2_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv_rev3_open(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + QString cmd = "msh_p17 move_ext "; + cmd += PUMP_SPEED; + cmd += " "; + cmd += PUMP_ACCE; + cmd += " "; + cmd += "32000 "; + cmd += "1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::fast_push() +{ + if (tcp_socket != nullptr) + { + sv_rev1_open(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv_rev2_open(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv_rev3_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + + QString cmd = "msh_p17 move_ext "; + cmd += PUMP_SPEED; + cmd += " "; + cmd += PUMP_ACCE; + cmd += " "; + cmd += "0 "; + cmd += "1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::slow_push() +{ + if (tcp_socket != nullptr) + { + sv_rev1_open(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv_rev2_open(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv_rev3_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + QString cmd = "msh_p17 rotate_start "; + cmd += "1 "; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + timer->setSingleShot(true); // 设置定时器为单次触发 + timer->start(240000); + } +} +void MainWindow::stop_the_pump() { p17_close(); } +void MainWindow::pump_reset() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p17 rotate_start_ext "; + cmd += 1000; + cmd += " 3000"; + cmd += " 0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(3000); + // for (int i = 0; i < 2; i++) { + _sleep(1000); + // } + } + if (tcp_socket != nullptr) + { + QString cmd = "msh_p17 rotate_stop"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(3000); + } + if (tcp_socket != nullptr) + { + QString cmd = "msh_p17 init "; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::clean_outer_pipe() +{ + printf("clean_outer_pipe\n"); + if (tcp_socket != nullptr) + { + printf("clean_outer_pipe\n"); + QString cmd = "msh_p19 1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + p16_open(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + + for (int i = 0; i < 5; i++) + { + z_go_cyto(); + tcp_socket->waitForBytesWritten(3000); + _sleep(2000); + z_go_zero(); + tcp_socket->waitForBytesWritten(3000); + _sleep(2000); + } + p16_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + p19_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + } +} + +void MainWindow::p17_forward_1000() +{ + if (tcp_socket != nullptr) + { + QString cmd = "msh_p17 move_ext "; + cmd += "10000"; + cmd += " "; + cmd += "10000"; + cmd += " "; + cmd += "1000 "; + cmd += "0"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(); + } +} + +void MainWindow::clean_pipe() +{ + if (tcp_socket != nullptr) + { + p19_open(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + } + for (int i = 0; i < 5; i++) + { + if (tcp_socket != nullptr) + { + fast_draw_water(); + tcp_socket->waitForBytesWritten(3000); + _sleep(5000); + sv_rev1_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv_rev1_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + sv_rev3_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + + QString cmd = "msh_p17 move_ext "; + cmd += PUMP_SPEED; + cmd += " "; + cmd += PUMP_ACCE; + cmd += " "; + cmd += "0 "; + cmd += "1"; + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(3000); + _sleep(5000); + } + } + if (tcp_socket != nullptr) + { + p19_close(); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + } +} +void MainWindow::set_time_delay() +{ + if (tcp_socket != nullptr) + { + QString cmd = "cyto_set_laser_time_diff "; + cmd += ui->le_time_delay->text(); + QByteArray data = cmd.toUtf8(); + tcp_socket->write(data); + tcp_socket->waitForBytesWritten(3000); + _sleep(100); + } +} +void MainWindow::choose_fpga_page() { ui->sw_config->setCurrentIndex(0); } +void MainWindow::choose_pump_page() { ui->sw_config->setCurrentIndex(1); } + +void MainWindow::write_fpga_cfg() +{ + QSettings settings("config.ini", QSettings::IniFormat); + settings.setValue("pz_ch1", ui->le_pz_ch1->text()); + settings.setValue("pz_ch2", ui->le_pz_ch2->text()); + settings.setValue("pz_ch3", ui->le_pz_ch3->text()); + settings.setValue("pz_ch4", ui->le_pz_ch4->text()); + settings.setValue("pz_ch5", ui->le_pz_ch5->text()); + settings.setValue("pz_ch6", ui->le_pz_ch6->text()); + settings.setValue("pz_ch7", ui->le_pz_ch7->text()); + settings.setValue("pz_ch8", ui->le_pz_ch8->text()); + settings.setValue("zy_ch1", ui->le_zy_ch1->text()); + settings.setValue("zy_ch2", ui->le_zy_ch2->text()); + settings.setValue("zy_ch3", ui->le_zy_ch3->text()); + settings.setValue("zy_ch4", ui->le_zy_ch4->text()); + settings.setValue("zy_ch5", ui->le_zy_ch5->text()); + settings.setValue("zy_ch6", ui->le_zy_ch6->text()); + settings.setValue("zy_ch7", ui->le_zy_ch7->text()); + settings.setValue("zy_ch8", ui->le_zy_ch8->text()); + settings.setValue("red_laser_delay", ui->le_time_delay->text()); + settings.setValue("p15_speed", ui->le_p17_speed->text()); + settings.setValue("p17_speed", ui->le_p17_speed->text()); + settings.sync(); +} +void MainWindow::read_fpga_cfg() +{ + QSettings settings("config.ini", QSettings::IniFormat); + ui->le_pz_ch1->setText(settings.value("pz_ch1").toString()); + ui->le_pz_ch2->setText(settings.value("pz_ch2").toString()); + ui->le_pz_ch3->setText(settings.value("pz_ch3").toString()); + ui->le_pz_ch4->setText(settings.value("pz_ch4").toString()); + ui->le_pz_ch5->setText(settings.value("pz_ch5").toString()); + ui->le_pz_ch6->setText(settings.value("pz_ch6").toString()); + ui->le_pz_ch7->setText(settings.value("pz_ch7").toString()); + ui->le_pz_ch8->setText(settings.value("pz_ch8").toString()); + ui->le_zy_ch1->setText(settings.value("zy_ch1").toString()); + ui->le_zy_ch2->setText(settings.value("zy_ch2").toString()); + ui->le_zy_ch3->setText(settings.value("zy_ch3").toString()); + ui->le_zy_ch4->setText(settings.value("zy_ch4").toString()); + ui->le_zy_ch5->setText(settings.value("zy_ch5").toString()); + ui->le_zy_ch6->setText(settings.value("zy_ch6").toString()); + ui->le_zy_ch7->setText(settings.value("zy_ch7").toString()); + ui->le_zy_ch8->setText(settings.value("zy_ch8").toString()); + ui->le_time_delay->setText(settings.value("red_laser_delay").toString()); + ui->le_p17_speed->setText(settings.value("p17_speed").toString()); + ui->le_p15_speed->setText(settings.value("p15_speed").toString()); +} \ No newline at end of file diff --git a/mainwindow.h b/mainwindow.h index cb50029..42ebcbe 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -1,30 +1,120 @@ #ifndef MAINWINDOW_H #define MAINWINDOW_H +#include #include #include +#include +#include +#include QT_BEGIN_NAMESPACE -namespace Ui -{ - class MainWindow; +namespace Ui { +class MainWindow; } QT_END_NAMESPACE -class MainWindow : public QMainWindow -{ - Q_OBJECT +class MainWindow : public QMainWindow { + Q_OBJECT -public: - MainWindow(QWidget *parent = nullptr); - ~MainWindow(); -public slots: - void start_connet(); - void stop_connet(); - void connected(); - void send_cmd(); - void receive_cmd(); -private: - Ui::MainWindow *ui; - QTcpSocket *tcp_socket; + public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); + public slots: + void start_connet(); + void stop_connet(); + void connected(); + void send_cmd(); + void receive_cmd(); + void fulling(); + void cmd_help(); + void cmd_read(); + void cmd_fpga(); + void start_fpga(); + void stop_fpga(); + void sv17_open(); + void sv17_close(); + void p15_open(); + void p15_close(); + void p16_open(); + void p16_close(); + void p18_open(); + void p18_close(); + void p19_open(); + void p19_close(); + void p17_forward(); + void p17_backward(); + void p17_forward_ext(); + void p17_backward_ext(); + void p17_close(); + void sv18_open(); + void sv18_close(); + void sv20_open(); + void sv20_close(); + void sv21_open(); + void sv21_close(); + void pump_clean(); + void fast_stop(); + void blue_laser_open(); + void blue_laser_close(); + void red_laser_open(); + void red_laser_close(); + void z_go_zero(); + void z_go_cyto(); + void z_go_ret_mov(); + void water_wash(); + void aco_wash(); + void washliq_wash(); + void info_clean(); + void fpga_page_prv(); + void fpga_page_nxt(); + void revers_clean(); + void z_go_abs_mov(); + void p15_set_speed(); + void rev1_set_speed(); + void laser_blue_set_power_ref(); + void laser_red_set_power_ref(); + void rev1_close(); + void rev1_open(); + void open_test_data(); + void close_test_data(); + void sv_rev1_open(); + void sv_rev1_close(); + void sv_rev2_open(); + void sv_rev2_close(); + void sv_rev3_open(); + void sv_rev3_close(); + void read_onebyone(); + void read_onebyone_stop(); + void fsc_open(); + void random_open(); + void sw_test_prv(); + void sw_test_next(); + void fast_draw(); + void fast_push(); + void slow_push(); + void pump_reset(); + void stop_the_pump(); + void fast_draw_water(); + void clean_outer_pipe(); + void p17_forward_1000(); + void clean_pipe(); + void set_time_delay(); + void choose_fpga_page(); + void choose_pump_page(); + void write_fpga_cfg(); + void read_fpga_cfg(); + void wave_open(); + void wave_close(); + private: + Ui::MainWindow *ui; + QTcpSocket *tcp_socket; + QTimer *timer; }; -#endif // MAINWINDOW_H + +#define POS_250UL 32000 +#define POS_UL(x) (x * POS_250UL / 250) + +#define PUMP_SPEED "12000" +#define PUMP_ACCE "70000" + +#endif // MAINWINDOW_H diff --git a/mainwindow.ui b/mainwindow.ui index e10fe91..edc131d 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -6,8 +6,8 @@ 0 0 - 1049 - 730 + 1360 + 1118 @@ -19,46 +19,581 @@ - + + + + 300 + 16777215 + + - - Qt::AlignCenter - - - - - - - + + + - 16777215 - 60 + 300 + 150 - - - + + + - 指令: + 相对移动 - - + + - - + + - 发送 + 样本Z-debug + + + + 样本Z + + + + + + + zero + + + + + + + cyto + + + + + + + 绝对移动 + + + + + + + + + + + + + + + + 清洗液洗针 + + + + + + + 急停 + + + + + + + 酒精洗针 + + + + + + + 充盈 + + + + + + + 单步读数 + + + + + + + 柱塞泵充盈 + + + + + + + 反冲 + + + + + + + 鞘液洗针 + + + + + + + 读数 + + + + + + + 单步读数延迟 + + + + + + + + + + 关闭单步读数 + + + + + + + + + + + 300 + 16777215 + + + + + + + + + + + + + 设置 + + + + + + + + + + 正转 + + + + + + + 反转 + + + + + + + 速度: + + + + + + + 反转 + + + + + + + P17调速转动 + + + + + + + P15调速 + + + + + + + P17 + + + + + + + 正转 + + + + + + + + + + + + + + 速度: + + + + + + + 速度 + + + + + + + + + + 设置 + + + + + + + rev1调速 + + + + + + + + + + + 300 + 16777215 + + + + + + + + + + 查询 + + + + + + + 设置 + + + + + + + + + + + + + + 红激光功率: + + + + + + + + + + + + + + + + + + + + + 蓝激光功率: + + + + + + + + + + + + + + 红激光 + + + + + + + 蓝激光 + + + + + + + 设置 + + + + + + + 查询 + + + + + + + + + + uW + + + + + + + + + + uW + + + + + + + + + + + 300 + 300 + + + + + + + + + + 上一页 + + + + + + + 下一页 + + + + + + + 1 + + + + + + + 关闭测试数据 + + + + + + + sv_rev2: + + + + + + + 开启测试数据 + + + + + + + sv_rev1: + + + + + + + sv_rev3: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 快速打液 + + + + + + + 泵复位 + + + + + + + 清洗外壁 + + + + + + + 快速吸液 + + + + + + + 快速吸鞘液 + + + + + + + 慢速打液 + + + + + + + P17正走 + + + + + + + 针清洗 + + + + + + + @@ -95,34 +630,10 @@ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - + + - server ip: - - - - - - - 连接 - - - - - - - 断开连接 - - - - - - - 连接状态 + port: @@ -136,16 +647,40 @@ - - + + + + + - port: + 断开连接 + + + + + + + 连接 + + + + 连接状态 + + + + + + + server ip: + + + @@ -157,43 +692,624 @@ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - 10 - 10 - 60 - 16 - - - - - 16777215 - 60 - - - - 预设指令 - - - - - - 0 - 40 - 93 - 28 - - - - 指令列表 - - + + + + + 0 + + + + + + + + + + + + + FPGA配置 + + + + + + 设置FPGA增益和偏置 + + + + + + + 0 + + + + + + + + + + 偏置ssc: + + + + + + + 增益fsc: + + + + + + + + + + + + + + + + 偏置fl1: + + + + + + + 偏置fl2: + + + + + + + 偏置fsc: + + + + + + + 增益ssc: + + + + + + + + + + 增益fl1: + + + + + + + + + + 增益fl2: + + + + + + + + + + + + + + + + + + + + 偏置fl3: + + + + + + + 偏置fl4: + + + + + + + 增益fl3: + + + + + + + + + + + + + 增益fl6: + + + + + + + 偏置fl5: + + + + + + + 增益fl5: + + + + + + + + + + + + + 增益fl4: + + + + + + + + + + + + + 偏置fl6: + + + + + + + + + + + + + + 保存配置 + + + + + + + 读取配置 + + + + + + + 上一页 + + + + + + + 下一页 + + + + + + + + + + 红光延时 + + + + + + + + + 设置红光延时 + + + + + + + + + + FPGA模式 + + + + + + FSC打开 + + + + + + + 随机打开 + + + + + + + 关闭fpga + + + + + + + SSC打开 + + + + + + + wave打开 + + + + + + + wave关闭 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SV21 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + P15 + + + + + + + P19 + + + + + + + + + + + + + + P18 + + + + + + + P16 + + + + + + + SV20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SV18 + + + + + + + + + + + + + + + + + + + + + + + + + + + + rev1 + + + + + + + SV17 + + + + + + + + + + + + + + FPGA控制menu + + + + + + + 泵阀控制menu + + + + + + + 指令列表 + + + + + + + + + + + + + + + Qt::AlignCenter + + + + + + + 16777215 + 16777215 + + + + + 14 + + + + +background-color: rgb(108, 108, 108); + + + + + + + + 16777215 + 60 + + + + + + + + + + 指令: + + + + + + + + + + 发送 + + + + + + + 清除 + + + + + + + + + + + + + + @@ -201,7 +1317,7 @@ 0 0 - 1049 + 1360 26 diff --git a/release/D3Dcompiler_47.dll b/release/D3Dcompiler_47.dll new file mode 100644 index 0000000..56512f5 Binary files /dev/null and b/release/D3Dcompiler_47.dll differ diff --git a/release/Qt5Core.dll b/release/Qt5Core.dll new file mode 100644 index 0000000..75b0df4 Binary files /dev/null and b/release/Qt5Core.dll differ diff --git a/release/Qt5Gui.dll b/release/Qt5Gui.dll new file mode 100644 index 0000000..bba96c8 Binary files /dev/null and b/release/Qt5Gui.dll differ diff --git a/release/Qt5Network.dll b/release/Qt5Network.dll new file mode 100644 index 0000000..0e9aa8a Binary files /dev/null and b/release/Qt5Network.dll differ diff --git a/release/Qt5Svg.dll b/release/Qt5Svg.dll new file mode 100644 index 0000000..b006006 Binary files /dev/null and b/release/Qt5Svg.dll differ diff --git a/release/Qt5Widgets.dll b/release/Qt5Widgets.dll new file mode 100644 index 0000000..e6ff156 Binary files /dev/null and b/release/Qt5Widgets.dll differ diff --git a/release/bearer/qgenericbearer.dll b/release/bearer/qgenericbearer.dll new file mode 100644 index 0000000..a1a990f Binary files /dev/null and b/release/bearer/qgenericbearer.dll differ diff --git a/release/iconengines/qsvgicon.dll b/release/iconengines/qsvgicon.dll new file mode 100644 index 0000000..b10761c Binary files /dev/null and b/release/iconengines/qsvgicon.dll differ diff --git a/release/imageformats/qgif.dll b/release/imageformats/qgif.dll new file mode 100644 index 0000000..97beb57 Binary files /dev/null and b/release/imageformats/qgif.dll differ diff --git a/release/imageformats/qicns.dll b/release/imageformats/qicns.dll new file mode 100644 index 0000000..a64309b Binary files /dev/null and b/release/imageformats/qicns.dll differ diff --git a/release/imageformats/qico.dll b/release/imageformats/qico.dll new file mode 100644 index 0000000..5c744ae Binary files /dev/null and b/release/imageformats/qico.dll differ diff --git a/release/imageformats/qjpeg.dll b/release/imageformats/qjpeg.dll new file mode 100644 index 0000000..f2bb6be Binary files /dev/null and b/release/imageformats/qjpeg.dll differ diff --git a/release/imageformats/qsvg.dll b/release/imageformats/qsvg.dll new file mode 100644 index 0000000..921f25f Binary files /dev/null and b/release/imageformats/qsvg.dll differ diff --git a/release/imageformats/qtga.dll b/release/imageformats/qtga.dll new file mode 100644 index 0000000..b68d35d Binary files /dev/null and b/release/imageformats/qtga.dll differ diff --git a/release/imageformats/qtiff.dll b/release/imageformats/qtiff.dll new file mode 100644 index 0000000..31a8ce3 Binary files /dev/null and b/release/imageformats/qtiff.dll differ diff --git a/release/imageformats/qwbmp.dll b/release/imageformats/qwbmp.dll new file mode 100644 index 0000000..a6751ab Binary files /dev/null and b/release/imageformats/qwbmp.dll differ diff --git a/release/imageformats/qwebp.dll b/release/imageformats/qwebp.dll new file mode 100644 index 0000000..49862fa Binary files /dev/null and b/release/imageformats/qwebp.dll differ diff --git a/release/libEGL.dll b/release/libEGL.dll new file mode 100644 index 0000000..d3247d2 Binary files /dev/null and b/release/libEGL.dll differ diff --git a/release/libGLESV2.dll b/release/libGLESV2.dll new file mode 100644 index 0000000..7825e28 Binary files /dev/null and b/release/libGLESV2.dll differ diff --git a/release/libgcc_s_seh-1.dll b/release/libgcc_s_seh-1.dll new file mode 100644 index 0000000..46a470b Binary files /dev/null and b/release/libgcc_s_seh-1.dll differ diff --git a/release/libstdc++-6.dll b/release/libstdc++-6.dll new file mode 100644 index 0000000..5eeb76f Binary files /dev/null and b/release/libstdc++-6.dll differ diff --git a/release/libwinpthread-1.dll b/release/libwinpthread-1.dll new file mode 100644 index 0000000..500de9d Binary files /dev/null and b/release/libwinpthread-1.dll differ diff --git a/release/opengl32sw.dll b/release/opengl32sw.dll new file mode 100644 index 0000000..475e82a Binary files /dev/null and b/release/opengl32sw.dll differ diff --git a/release/platforms/qwindows.dll b/release/platforms/qwindows.dll new file mode 100644 index 0000000..f9874fc Binary files /dev/null and b/release/platforms/qwindows.dll differ diff --git a/release/socket_cmd.exe b/release/socket_cmd.exe new file mode 100644 index 0000000..0cf6095 Binary files /dev/null and b/release/socket_cmd.exe differ diff --git a/release/styles/qwindowsvistastyle.dll b/release/styles/qwindowsvistastyle.dll new file mode 100644 index 0000000..a3c0e52 Binary files /dev/null and b/release/styles/qwindowsvistastyle.dll differ diff --git a/release/translations/qt_ar.qm b/release/translations/qt_ar.qm new file mode 100644 index 0000000..1e9227a Binary files /dev/null and b/release/translations/qt_ar.qm differ diff --git a/release/translations/qt_bg.qm b/release/translations/qt_bg.qm new file mode 100644 index 0000000..dcec255 Binary files /dev/null and b/release/translations/qt_bg.qm differ diff --git a/release/translations/qt_ca.qm b/release/translations/qt_ca.qm new file mode 100644 index 0000000..0b798e5 Binary files /dev/null and b/release/translations/qt_ca.qm differ diff --git a/release/translations/qt_cs.qm b/release/translations/qt_cs.qm new file mode 100644 index 0000000..3ab5ca7 Binary files /dev/null and b/release/translations/qt_cs.qm differ diff --git a/release/translations/qt_da.qm b/release/translations/qt_da.qm new file mode 100644 index 0000000..6756496 Binary files /dev/null and b/release/translations/qt_da.qm differ diff --git a/release/translations/qt_de.qm b/release/translations/qt_de.qm new file mode 100644 index 0000000..86ae7fa Binary files /dev/null and b/release/translations/qt_de.qm differ diff --git a/release/translations/qt_en.qm b/release/translations/qt_en.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/release/translations/qt_en.qm differ diff --git a/release/translations/qt_es.qm b/release/translations/qt_es.qm new file mode 100644 index 0000000..82012da Binary files /dev/null and b/release/translations/qt_es.qm differ diff --git a/release/translations/qt_fi.qm b/release/translations/qt_fi.qm new file mode 100644 index 0000000..2548cca Binary files /dev/null and b/release/translations/qt_fi.qm differ diff --git a/release/translations/qt_fr.qm b/release/translations/qt_fr.qm new file mode 100644 index 0000000..8353f0a Binary files /dev/null and b/release/translations/qt_fr.qm differ diff --git a/release/translations/qt_gd.qm b/release/translations/qt_gd.qm new file mode 100644 index 0000000..fd7eecd Binary files /dev/null and b/release/translations/qt_gd.qm differ diff --git a/release/translations/qt_he.qm b/release/translations/qt_he.qm new file mode 100644 index 0000000..e15d45e Binary files /dev/null and b/release/translations/qt_he.qm differ diff --git a/release/translations/qt_hu.qm b/release/translations/qt_hu.qm new file mode 100644 index 0000000..b51bd1a Binary files /dev/null and b/release/translations/qt_hu.qm differ diff --git a/release/translations/qt_it.qm b/release/translations/qt_it.qm new file mode 100644 index 0000000..a2433c6 Binary files /dev/null and b/release/translations/qt_it.qm differ diff --git a/release/translations/qt_ja.qm b/release/translations/qt_ja.qm new file mode 100644 index 0000000..74409b1 Binary files /dev/null and b/release/translations/qt_ja.qm differ diff --git a/release/translations/qt_ko.qm b/release/translations/qt_ko.qm new file mode 100644 index 0000000..a46b8a0 Binary files /dev/null and b/release/translations/qt_ko.qm differ diff --git a/release/translations/qt_lv.qm b/release/translations/qt_lv.qm new file mode 100644 index 0000000..c1dbfbd Binary files /dev/null and b/release/translations/qt_lv.qm differ diff --git a/release/translations/qt_pl.qm b/release/translations/qt_pl.qm new file mode 100644 index 0000000..0909204 Binary files /dev/null and b/release/translations/qt_pl.qm differ diff --git a/release/translations/qt_ru.qm b/release/translations/qt_ru.qm new file mode 100644 index 0000000..b77ce55 Binary files /dev/null and b/release/translations/qt_ru.qm differ diff --git a/release/translations/qt_sk.qm b/release/translations/qt_sk.qm new file mode 100644 index 0000000..215d234 Binary files /dev/null and b/release/translations/qt_sk.qm differ diff --git a/release/translations/qt_uk.qm b/release/translations/qt_uk.qm new file mode 100644 index 0000000..88c4362 Binary files /dev/null and b/release/translations/qt_uk.qm differ diff --git a/release/translations/qt_zh_TW.qm b/release/translations/qt_zh_TW.qm new file mode 100644 index 0000000..21c4190 Binary files /dev/null and b/release/translations/qt_zh_TW.qm differ