Browse Source

V105| 支持DT600B

master
zhaohe 1 month ago
parent
commit
cab91e5318
  1. 2
      .vscode/c_cpp_properties.json
  2. 14
      CMakeLists.txt
  3. BIN
      IflytopCom/IflytopCom.exe
  4. 11
      README.md
  5. 0
      TransmitDisinfection/Qt5Core.dll
  6. 0
      TransmitDisinfection/Qt5Gui.dll
  7. 0
      TransmitDisinfection/Qt5SerialPort.dll
  8. 0
      TransmitDisinfection/Qt5Widgets.dll
  9. 0
      TransmitDisinfection/iconengines/qsvgicond.dll
  10. 0
      TransmitDisinfection/imageformats/qgifd.dll
  11. 0
      TransmitDisinfection/imageformats/qicnsd.dll
  12. 0
      TransmitDisinfection/imageformats/qicod.dll
  13. 0
      TransmitDisinfection/imageformats/qsvgd.dll
  14. 0
      TransmitDisinfection/imageformats/qtgad.dll
  15. 0
      TransmitDisinfection/imageformats/qtiffd.dll
  16. 0
      TransmitDisinfection/imageformats/qwbmpd.dll
  17. 0
      TransmitDisinfection/libgcc_s_seh-1.dll
  18. 0
      TransmitDisinfection/libstdc++-6.dll
  19. 0
      TransmitDisinfection/libwinpthread-1.dll
  20. 0
      TransmitDisinfection/platforms/qdirect2d.dll
  21. 0
      TransmitDisinfection/platforms/qminimal.dll
  22. 0
      TransmitDisinfection/platforms/qoffscreen.dll
  23. 0
      TransmitDisinfection/platforms/qwebgl.dll
  24. 0
      TransmitDisinfection/platforms/qwindows.dll
  25. 0
      TransmitDisinfection/styles/qwindowsvistastyled.dll
  26. 2
      app_protocols/transmit_disfection_protocol
  27. 2
      build.bat
  28. 32
      src/app/transmit_disinfection/dt600b.cpp
  29. 16
      src/app/transmit_disinfection/dt600b.hpp
  30. 22
      src/app/transmit_disinfection/utils/tabbuilder.cpp
  31. 4
      src/app/transmit_disinfection/utils/tabbuilder.hpp
  32. 2
      src/app_version.hpp
  33. 4
      src/main.cpp
  34. 4
      src/zqui/ui/z_function_list_box.cpp
  35. 4
      src/zqui/ui/z_function_list_box.hpp
  36. 2
      tools/packet.bat

2
.vscode/c_cpp_properties.json

@ -8,7 +8,7 @@
"src",
"./",
"./app_protocols/",
"../build-IflytopCom-Desktop_Qt_5_12_12_MinGW_64_bit-Debug/IflytopCom_autogen/include"
"./build/TransmitDisinfection_autogen/include"
],
"defines": [
"_DEBUG",

14
CMakeLists.txt

@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.5)
cmake_minimum_required(VERSION 3.10)
project(IflytopCom VERSION 0.1 LANGUAGES CXX)
project(TransmitDisinfection VERSION 0.1 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
@ -36,19 +36,19 @@ set(PROJECT_SOURCES
app.rc
)
add_executable(IflytopCom WIN32
add_executable(TransmitDisinfection WIN32
${PROJECT_SOURCES}
)
target_link_options(IflytopCom PRIVATE -static -static-libgcc -static-libstdc++)
target_link_options(TransmitDisinfection PRIVATE -static -static-libgcc -static-libstdc++)
target_link_libraries(IflytopCom PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::SerialPort Qt${QT_VERSION_MAJOR}::Charts Qt${QT_VERSION_MAJOR}::Concurrent wsock32)
target_link_libraries(TransmitDisinfection PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::SerialPort Qt${QT_VERSION_MAJOR}::Charts Qt${QT_VERSION_MAJOR}::Concurrent wsock32)
set_target_properties(IflytopCom PROPERTIES
set_target_properties(TransmitDisinfection PROPERTIES
MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
)
if(QT_VERSION_MAJOR EQUAL 6)
qt_finalize_executable(IflytopCom)
qt_finalize_executable(TransmitDisinfection)
endif()

BIN
IflytopCom/IflytopCom.exe

11
README.md

@ -1,5 +1,12 @@
```
v1.0.0
支持16路同步盒功能
v1.0.5
支持DT600B
```
```
初始化CMake环境 ./init.bat
编译 ./build.bat
打包 ./tool/packet.bat
```

0
IflytopCom/Qt5Core.dll → TransmitDisinfection/Qt5Core.dll

0
IflytopCom/Qt5Gui.dll → TransmitDisinfection/Qt5Gui.dll

0
IflytopCom/Qt5SerialPort.dll → TransmitDisinfection/Qt5SerialPort.dll

0
IflytopCom/Qt5Widgets.dll → TransmitDisinfection/Qt5Widgets.dll

0
IflytopCom/iconengines/qsvgicond.dll → TransmitDisinfection/iconengines/qsvgicond.dll

0
IflytopCom/imageformats/qgifd.dll → TransmitDisinfection/imageformats/qgifd.dll

0
IflytopCom/imageformats/qicnsd.dll → TransmitDisinfection/imageformats/qicnsd.dll

0
IflytopCom/imageformats/qicod.dll → TransmitDisinfection/imageformats/qicod.dll

0
IflytopCom/imageformats/qsvgd.dll → TransmitDisinfection/imageformats/qsvgd.dll

0
IflytopCom/imageformats/qtgad.dll → TransmitDisinfection/imageformats/qtgad.dll

0
IflytopCom/imageformats/qtiffd.dll → TransmitDisinfection/imageformats/qtiffd.dll

0
IflytopCom/imageformats/qwbmpd.dll → TransmitDisinfection/imageformats/qwbmpd.dll

0
IflytopCom/libgcc_s_seh-1.dll → TransmitDisinfection/libgcc_s_seh-1.dll

0
IflytopCom/libstdc++-6.dll → TransmitDisinfection/libstdc++-6.dll

0
IflytopCom/libwinpthread-1.dll → TransmitDisinfection/libwinpthread-1.dll

0
IflytopCom/platforms/qdirect2d.dll → TransmitDisinfection/platforms/qdirect2d.dll

0
IflytopCom/platforms/qminimal.dll → TransmitDisinfection/platforms/qminimal.dll

0
IflytopCom/platforms/qoffscreen.dll → TransmitDisinfection/platforms/qoffscreen.dll

0
IflytopCom/platforms/qwebgl.dll → TransmitDisinfection/platforms/qwebgl.dll

0
IflytopCom/platforms/qwindows.dll → TransmitDisinfection/platforms/qwindows.dll

0
IflytopCom/styles/qwindowsvistastyled.dll → TransmitDisinfection/styles/qwindowsvistastyled.dll

2
app_protocols/transmit_disfection_protocol

@ -1 +1 @@
Subproject commit 79904e587280cccedc0237f2caf84406b374f045
Subproject commit a77985829c2972df6bf04a8a2195431559acff75

2
build.bat

@ -1,4 +1,4 @@
cd build
make -j8
cd ..
copy build\IflytopCom.exe IflytopCom\
copy build\TransmitDisinfection.exe TransmitDisinfection\

32
src/app/transmit_disinfection/dt600b.cpp

@ -0,0 +1,32 @@
#include "dt600b.hpp"
#include "dep.hpp"
#include "utils/utils.hpp"
using namespace iflytop;
using namespace zscanprotocol;
using namespace transmit_disfection_protocol;
using namespace app_transmit_disinfection;
using namespace std;
/***********************************************************************************************************************
* UTILS *
***********************************************************************************************************************/
DT600B::DT600B(QWidget *parent) : TransmitDisinfection(parent) {
TabBuilder tabBuilder(this);
tabBuilder.buildBoardBasicCtrl("功率板", kFixBoardId_PowerControl);
tabBuilder.buildBoardBasicCtrl("液路板", kFixBoardId_LiquidCtrl);
tabBuilder.buildFnPumpCtrl("液路板", kFixBoardId_LiquidCtrl);
tabBuilder.buildTripleWarningLightTab("液路板", kFixBoardId_LiquidCtrl);
tabBuilder.buildWaterSensorTab("液路板", kFixBoardId_LiquidCtrl);
tabBuilder.buildValveCtrlTab("液路板", kFixBoardId_LiquidCtrl);
tabBuilder.buildLiquidLevelStateReaderTab("液路板", kFixBoardId_LiquidCtrl);
tabBuilder.buildHearterTab("功率板", kFixBoardId_PowerControl);
tabBuilder.buildBlowerTab("功率板", kFixBoardId_PowerControl);
tabBuilder.buildAirCompressorTab("功率板", kFixBoardId_PowerControl);
tabBuilder.buildH2O2SensorTab("功率板", kFixBoardId_PowerControl);
}

16
src/app/transmit_disinfection/dt600b.hpp

@ -0,0 +1,16 @@
#pragma once
#include <QTabWidget>
#include "transmitdisinfection.hpp"
#include "zqui/zqui.hpp"
namespace iflytop {
class DT600B : public TransmitDisinfection {
Q_OBJECT
public:
explicit DT600B(QWidget *parent = nullptr);
};
IMPL_APPBUILDER("DT600B(大空间标准版)", DT600B)
} // namespace iflytop

22
src/app/transmit_disinfection/utils/tabbuilder.cpp

@ -349,7 +349,27 @@ void TabBuilder::buildValveCtrlTab(const char *tabname, int boardid) {
ZQVTabPage *tab = getTab(tabname);
ZQFunctionListBox *box = new ZQFunctionListBox(tab, "电磁阀", 4);
box->newFunc("加液进气电磁阀(打开,可以正常加液排液,关闭后加液泵倒转可以排空管路)", {"open(1)/cloce(0)"}, [this, boardid](int argn, const char **args) { //
CAN_MASTER->getCanProtocolCom()->callcmd1(boardid, kfn_add_liquid_pump_air_intake_valve, atoi(args[0]), DEFUALT_OVERTIME);
CAN_MASTER->getCanProtocolCom()->callcmd1(boardid, kfn_set_add_fluid_channel_selector_valve, atoi(args[0]), DEFUALT_OVERTIME);
});
}
// void TabBuilder::buildValveCtrlTab(const char *tabname, int boardid) {
// ZQVTabPage *tab = getTab(tabname);
// ZQFunctionListBox *box = new ZQFunctionListBox(tab, "电磁阀", 4);
// box->newFunc("加液进气电磁阀(打开,可以正常加液排液,关闭后加液泵倒转可以排空管路)", {"open(1)/cloce(0)"}, [this, boardid](int argn, const char **args) { //
// CAN_MASTER->getCanProtocolCom()->callcmd1(boardid, kfn_set_add_fluid_channel_selector_valve, atoi(args[0]), DEFUALT_OVERTIME);
// });
// }
void TabBuilder::buildLiquidLevelStateReaderTab(const char *tabname, int boardid) {
ZQVTabPage *tab = getTab(tabname);
ZQFunctionListBox *box = new ZQFunctionListBox(tab, "液位(IO版)状态读取", 4);
box->newFunc("读取状态(如果是IO0:低液位,IO1:中液位,IO2:高液位)", {}, [this, boardid](int argn, const char **args) { //
shared_ptr<Receipt> receipt = CAN_MASTER->getCanProtocolCom()->callcmd0(boardid, kfn_liquid_level_read_io_state, DEFUALT_OVERTIME);
ISHOW("IO0:%d", receipt->getContent(0) & 0x01);
ISHOW("IO1:%d", (receipt->getContent(0) >> 1) & 0x01);
ISHOW("IO2:%d", (receipt->getContent(0) >> 2) & 0x01);
});
}

4
src/app/transmit_disinfection/utils/tabbuilder.hpp

@ -37,8 +37,8 @@ class TabBuilder {
void buildAirTightnessTestTab(const char *tabname, int boardid);
void buildExtChSelectorTab(const char *tabname, int boardid);
void buildValveCtrlTab(const char *tabname, int boardid) ;
void buildValveCtrlTab(const char *tabname, int boardid);
void buildLiquidLevelStateReaderTab(const char *tabname, int boardid);
void buildEnd();

2
src/app_version.hpp

@ -1,7 +1,7 @@
#pragma once
#define VERSION(main, sub, fix) (main << 16 | sub << 8 | fix << 0)
#define APP_VERSION VERSION(1, 0, 4)
#define APP_VERSION VERSION(1, 0, 5)
#define APP_VERSION_STR "1.0.4"
#define APP_VERSION_MAIN VERSION_MAIN(APP_VERSION)

4
src/main.cpp

@ -22,6 +22,7 @@
#include "zqui/zqui/zqui.hpp"
//
#include "app/transmit_disinfection/draw_bard_dm.hpp"
#include "app/transmit_disinfection/dt600b.hpp"
#include "app/transmit_disinfection/exth2o2_sensor.hpp"
#include "app/transmit_disinfection/large_space_disinfection_machine.hpp"
#include "app/transmit_disinfection/little_space_disinfection_machine.hpp"
@ -49,13 +50,14 @@ int main(int argc, char* argv[]) {
QApplication a(argc, argv);
REG_APP(LargeSpaceDisinfectionMachine);
REG_APP(DT600B);
REG_APP(LittleSpaceDisinfectionMachine);
REG_APP(PipeDM);
REG_APP(DrawBardDM);
REG_APP(ExtH2O2Sensor);
ZQUI::ins()->initialize();
DOINUI([]() { ZQUI::ins()->mainW()->setVersionInfo(1, "APP_VERSION",APP_VERSION_STR ); });
DOINUI([]() { ZQUI::ins()->mainW()->setVersionInfo(1, "APP_VERSION", APP_VERSION_STR); });
return a.exec();
}

4
src/zqui/ui/z_function_list_box.cpp

@ -12,7 +12,7 @@ ZQFunctionListBox::ZQFunctionListBox(QWidget *parent, const QString &title, int
m_layout->setColumnMinimumWidth(column, column);
m_column = column;
for (size_t i = 0; i < column; i++) {
for (int i = 0; i < column; i++) {
layout->setColumnStretch(i, 1);
}
@ -89,7 +89,7 @@ void ZQFunctionListBox::newFunc(QString zh_name, QStringList params, std::functi
params.push_back(lineEdits[i]->text().toStdString());
}
char *args[params.size()];
for (int i = 0; i < params.size(); i++) {
for (size_t i = 0; i < params.size(); i++) {
args[i] = (char *)params[i].c_str();
}
try {

4
src/zqui/ui/z_function_list_box.hpp

@ -29,11 +29,13 @@
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
//
#include <functional>
#include "zqui/base/zexception.hpp"
#include "zqui/base/zworkqueue.hpp"
#include <functional>
namespace iflytop {
using namespace std;

2
tools/packet.bat

@ -1,2 +1,2 @@
@REM #打包指令
.\tools\makesfx.exe -ic -mf -ft -we -di -un -oo .\IflytopCom\ .\dist\IflytopCom.exe .\logo.ico .\IflytopCom\IflytopCom.exe
.\tools\makesfx.exe -ic -mf -ft -we -di -un -oo .\TransmitDisinfection\ .\dist\TransmitDisinfection.exe .\logo.ico .\TransmitDisinfection\TransmitDisinfection.exe
Loading…
Cancel
Save