Browse Source

update

master
zhaohe 12 months ago
parent
commit
1f2fb08e58
  1. 54
      .vscode/settings.json
  2. 2
      app_protocols/transmit_disfection_protocol
  3. 2
      src/app/transmit_disinfection/channel/transmit_disinfection_can_master.cpp
  4. 30
      src/app/transmit_disinfection/channel/transmit_disinfection_can_master.hpp
  5. 60
      src/app/transmit_disinfection/utils/tabbuilder.cpp

54
.vscode/settings.json

@ -4,6 +4,58 @@
"qobject": "cpp",
"variant": "cpp",
"new": "cpp",
"qtabwidget": "cpp"
"qtabwidget": "cpp",
"array": "cpp",
"atomic": "cpp",
"*.tcc": "cpp",
"cctype": "cpp",
"chrono": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"condition_variable": "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",
"functional": "cpp",
"iterator": "cpp",
"map": "cpp",
"memory": "cpp",
"memory_resource": "cpp",
"numeric": "cpp",
"optional": "cpp",
"random": "cpp",
"ratio": "cpp",
"set": "cpp",
"string": "cpp",
"string_view": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"fstream": "cpp",
"future": "cpp",
"initializer_list": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"limits": "cpp",
"mutex": "cpp",
"ostream": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"thread": "cpp",
"typeinfo": "cpp"
}
}

2
app_protocols/transmit_disfection_protocol

@ -1 +1 @@
Subproject commit 3cb7df42d6b6d1a3528def1efb837f4b3af3b60f
Subproject commit 058ea4cf80c30868271212b80b97a86539339ea1

2
src/app/transmit_disinfection/channel/transmit_disinfection_can_master.cpp

@ -41,6 +41,7 @@ void TransmitDisinfectionCanMaster::pingAllBoard() {
}
return;
}
void TransmitDisinfectionCanMaster::enableReport(int to, bool enable) { m_com->callcmd1(to, kfn_enable_report, enable, DEFUALT_OVERTIME); }
void TransmitDisinfectionCanMaster::pumpRotate(int boardid, int subid, int rpm) { m_com->callcmd2(boardid, kfn_pump_rotate, subid, rpm, DEFUALT_OVERTIME); }
void TransmitDisinfectionCanMaster::pumpStop(int boardid, int subid) { m_com->callcmd1(boardid, kfn_pump_stop, subid, DEFUALT_OVERTIME); }
@ -80,6 +81,7 @@ int TransmitDisinfectionCanMaster::airCompressorReadEI(int boardid) {
}
int TransmitDisinfectionCanMaster::airCompressorReadEIAdcRaw(int boardid) { //
auto rec = m_com->callcmd0(boardid, kfn_air_compressor_read_ei_adc_raw);
return rec->getContent(0);
}
int TransmitDisinfectionCanMaster::airTightnessTestACCtrl(int boardid, int32_t val) {

30
src/app/transmit_disinfection/channel/transmit_disinfection_can_master.hpp

@ -45,6 +45,8 @@ class TransmitDisinfectionCanMaster {
ask_taskinfo_t readtaskinfo(int to, int32_t taskoff);
void clearResetFlag(int to);
void pingAllBoard();
void enableReport(int to, bool enable);
void resetBoard(int to) { m_com->callcmd0(to, kfn_reset_board, DEFUALT_OVERTIME); }
void h2o2SensorReadCalibrationDate(int boardid, int32_t *year, int32_t *month, int32_t *day) { //
auto ret = m_com->callcmd0(boardid, kfn_h2o2_sensor_read_calibration_date);
@ -58,23 +60,26 @@ class TransmitDisinfectionCanMaster {
/***********************************************************************************************************************
* PUMP *
***********************************************************************************************************************/
void pumpRotate(int boardid, int subid, int rpm);
void pumpStop(int boardid, int subid);
void pumpSetIholdIrunIdelay(int boardid, int subid, int ihold, int irun, int idelay);
void pumpSetRamp(int boardid, int index, int vs, int a1, int amx, int v1);
void pumpSetTzw(int boardid, int index, int tzw);
void pumpSetSubicReg(int boardid, int subid, int regadd, int val);
int pumpGetSubicReg(int boardid, int subid, int regadd);
void pumpPing(int32_t boardid);
void pumpRotate(int boardid, int subid, int rpm);
void pumpStop(int boardid, int subid);
void pumpSetIholdIrunIdelay(int boardid, int subid, int ihold, int irun, int idelay);
void pumpSetRamp(int boardid, int index, int vs, int a1, int amx, int v1);
void pumpSetTzw(int boardid, int index, int tzw);
void pumpSetSubicReg(int boardid, int subid, int regadd, int val);
int pumpGetSubicReg(int boardid, int subid, int regadd);
void pumpPing(int32_t boardid);
int32_t pumpIsRun(int boardid, int subid) { return m_com->callcmd1(boardid, kfn_pump_is_run, subid, DEFUALT_OVERTIME)->getContent(0); }
/***********************************************************************************************************************
* blower *
***********************************************************************************************************************/
void blowerCtrl(int boardid, int power);
void blowerCtrlSafeValve(int boardid, int valve_state);
int blowerReadEI(int boardid);
int blowerReadEIAdcRaw(int boardid);
int blowerReadElectricIsError(int boardid);
int blowserIsOpen(int boardid) { return m_com->callcmd0(boardid, kfn_blower_is_open, DEFUALT_OVERTIME)->getContent(0); }
/***********************************************************************************************************************
* air_compressor *
@ -83,8 +88,10 @@ class TransmitDisinfectionCanMaster {
void airCompressorCtrlSafeValve(int boardid, int valve_state);
int airCompressorReadEI(int boardid);
int airCompressorReadEIAdcRaw(int boardid);
int airCompressorIsOpen(int boardid) { return m_com->callcmd0(boardid, kfn_air_compressor_is_open, DEFUALT_OVERTIME)->getContent(0); }
int airTightnessTestACCtrl(int boardid, int32_t val);
int airTightnessTestACIsOpen(int boardid) { return m_com->callcmd0(boardid, kfn_air_tightness_test_ac_is_open, DEFUALT_OVERTIME)->getContent(0); }
/***********************************************************************************************************************
* heater *
@ -95,8 +102,10 @@ class TransmitDisinfectionCanMaster {
int heaterReadTemperature(int boardid);
int heaterReadEIAdcRaw(int boardid);
int heaterReadTemperatureAdcRaw(int boardid);
int heaterIsOpen(int boardid) { return m_com->callcmd0(boardid, kfn_heater_is_open, DEFUALT_OVERTIME)->getContent(0); }
void warningLightSetState(int boardid, int r, int g, int b, int warning);
void warningLightReadState(int boardid, int *r, int *g, int *b, int *warning);
int evaporationTankWSReadState(int boardid);
int bottomWSReadState(int boardid);
@ -108,10 +117,13 @@ class TransmitDisinfectionCanMaster {
int proportionalReadPos(int boardid) { return m_com->callcmd0(boardid, kfn_proportional_read_pos, DEFUALT_OVERTIME)->getContent(0); }
int proportionalIsBusy(int boardid) { return m_com->callcmd0(boardid, kfn_proportional_is_busy, DEFUALT_OVERTIME)->getContent(0); }
void airTightnessTestCloseOffCh(int boardid) { m_com->callcmd0(boardid, kfn_air_tightness_test_close_off_ch, DEFUALT_OVERTIME); }
// kfn_air_tightness_test_is_cutoff
void airTightnessTestCloseOffCh(int boardid) { m_com->callcmd0(boardid, kfn_air_tightness_test_cutoff_ch, DEFUALT_OVERTIME); }
void airTightnessTestOpenCh(int boardid) { m_com->callcmd0(boardid, kfn_air_tightness_test_release_ch, DEFUALT_OVERTIME); }
int airTightnessTestIsCutoff(int boardid) { return m_com->callcmd0(boardid, kfn_air_tightness_test_is_cutoff, DEFUALT_OVERTIME)->getContent(0); }
void extChSelectorSetCh(int boardid, int ch) { m_com->callcmd1(boardid, kfn_ext_ch_selector_set_ch, ch, DEFUALT_OVERTIME); }
int extChSelectorGetCh(int boardid) { return m_com->callcmd0(boardid, kfn_ext_ch_selector_get_ch, DEFUALT_OVERTIME)->getContent(0); }
};
} // namespace iflytop

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

@ -46,6 +46,15 @@ ZQVTabPage *TabBuilder::getTab(const char *tabname) {
}
return tabMap[tabname];
}
// int blowserIsOpen(int boardid) {}
// int airCompressorIsOpen(int boardid) {}
// int airTightnessTestACIsOpen(int boardid) {}
// int heaterIsOpen(int boardid) {}
// extChSelectorGetCh
// int airTightnessTestIsCutoff(int boardid) { return m_com->callcmd0(boardid, kfn_air_tightness_test_is_cutoff, DEFUALT_OVERTIME)->getContent(0); }
// void warningLightReadState(int boardid, int *r, int *g, int *b, int *warning);
void TabBuilder::buildBoardBasicCtrl(const char *tabname, int boardid) { //
ZQVTabPage *tab = getTab(tabname);
ZQFunctionListBox *box = new ZQFunctionListBox(tab, "通用", 4);
@ -57,10 +66,20 @@ void TabBuilder::buildBoardBasicCtrl(const char *tabname, int boardid) { //
box->newSubButton("读取系统信息", [this, boardid](int argn, const char **args) { readSysInfo(boardid); });
box->newSubButtonEnd();
box->newSubButton("清除复位标识", [this, boardid](int argn, const char **args) { CAN_MASTER->clearResetFlag(boardid); });
// enableReport
box->newSubButtonEnd();
box->newSubButton("使能上报", [this, boardid](int argn, const char **args) { CAN_MASTER->enableReport(boardid, 1); });
box->newSubButton("失能上报", [this, boardid](int argn, const char **args) { CAN_MASTER->enableReport(boardid, 0); });
box->newSubButtonEnd();
box->newSubButton("复位板卡", [this, boardid](int argn, const char **args) { CAN_MASTER->resetBoard(boardid); });
} else {
box->newFunc("读取板卡信息", {"boardid"}, [this](int argn, const char **args) { readBoardInfo(atoi(args[0])); });
box->newFunc("读取系统信息", {"boardid"}, [this](int argn, const char **args) { readSysInfo(atoi(args[0])); });
box->newFunc("清除复位标识", {"boardid"}, [this](int argn, const char **args) { CAN_MASTER->clearResetFlag(atoi(args[0])); });
box->newFunc("使能上报", {"boardid"}, [this](int argn, const char **args) { CAN_MASTER->enableReport(atoi(args[0]), 1); });
box->newFunc("失能上报", {"boardid"}, [this](int argn, const char **args) { CAN_MASTER->enableReport(atoi(args[0]), 0); });
box->newFunc("复位板卡", {"boardid"}, [this](int argn, const char **args) { CAN_MASTER->resetBoard(atoi(args[0])); });
}
}
void TabBuilder::buildFnPumpCtrl(const char *tabname, int boardid) {
@ -93,6 +112,11 @@ void TabBuilder::buildFnPumpCtrl(const char *tabname, int boardid) {
int val = CAN_MASTER->pumpGetSubicReg(kFixBoardId_LiquidCtrl, atoi(args[0]), atoi(args[1]));
ISHOW("val:%x", val);
});
box->newFunc("pumpIsRun", {"subid"}, [](int argn, const char **args) { //
int val = CAN_MASTER->pumpIsRun(kFixBoardId_LiquidCtrl, atoi(args[0]));
ISHOW("val:%d", val);
});
}
void TabBuilder::buildHearterTab(const char *tabname, int boardid) {
@ -105,7 +129,7 @@ void TabBuilder::buildHearterTab(const char *tabname, int boardid) {
box->newSubButtonEnd();
box->newSubButton("加热安全阀打开", [this, boardid](int argn, const char **args) { CAN_MASTER->heaterCtrlSafeValve(boardid, 1); });
box->newSubButton("加热安全阀关闭", [this, boardid](int argn, const char **args) { CAN_MASTER->heaterCtrlSafeValve(boardid, 0); });
box->newSubButtonEnd();
box->newSubButton("读取电流", [this, boardid](int argn, const char **args) {
int val = CAN_MASTER->heaterReadEI(boardid);
ISHOW("val:%d", val);
@ -123,6 +147,10 @@ void TabBuilder::buildHearterTab(const char *tabname, int boardid) {
int val = CAN_MASTER->heaterReadTemperatureAdcRaw(boardid);
ISHOW("val:%d", val);
});
box->newSubButton("是否运行", [this, boardid](int argn, const char **args) {
bool val = CAN_MASTER->heaterIsOpen(boardid);
ISHOW("val:%d", val);
});
}
void TabBuilder::buildH2O2SensorTab(const char *tabname, int boardid) {
ZQVTabPage *tab = getTab(tabname);
@ -165,6 +193,11 @@ void TabBuilder::buildTripleWarningLightTab(const char *tabname, int boardid) {
box->newFunc("三色指示灯控制", {"r", "g", "b", "warning"}, [this, boardid](int argn, const char **args) { //
CAN_MASTER->warningLightSetState(boardid, atoi(args[0]), atoi(args[1]), atoi(args[2]), atoi(args[3]));
});
box->newFunc("读取三色指示灯状态", {}, [this, boardid](int argn, const char **args) {
int r, g, b, warning;
CAN_MASTER->warningLightReadState(boardid, &r, &g, &b, &warning);
ISHOW("r:%d,g:%d,b:%d,warning:%d", r, g, b, warning);
});
}
void TabBuilder::buildWaterSensorTab(const char *tabname, int boardid) {
ZQVTabPage *tab = getTab(tabname);
@ -195,10 +228,15 @@ void TabBuilder::buildBlowerTab(const char *tabname, int boardid) {
int val = CAN_MASTER->blowerReadEIAdcRaw(boardid);
ISHOW("val:%d", val);
});
box->newSubButtonEnd();
box->newSubButton("风机是否错误", [this, boardid](int argn, const char **args) {
bool val = CAN_MASTER->blowerReadElectricIsError(boardid);
ISHOW("val:%d", val);
});
box->newSubButton("风机是否打开", [this, boardid](int argn, const char **args) {
bool val = CAN_MASTER->blowserIsOpen(boardid);
ISHOW("val:%d", val);
});
}
void TabBuilder::buildAirCompressorTab(const char *tabname, int boardid) {
@ -210,7 +248,7 @@ void TabBuilder::buildAirCompressorTab(const char *tabname, int boardid) {
// box->newFunc("空压机安全阀控制", {"valve_state"}, [this, boardid](int argn, const char **args) { CAN_MASTER->airCompressorCtrlSafeValve(boardid, atoi(args[0])); });
box->newSubButton("空压机安全阀打开", [this, boardid](int argn, const char **args) { CAN_MASTER->airCompressorCtrlSafeValve(boardid, 1); });
box->newSubButton("空压机安全阀关闭", [this, boardid](int argn, const char **args) { CAN_MASTER->airCompressorCtrlSafeValve(boardid, 0); });
box->newSubButtonEnd();
box->newFunc("空压机读取电流", {}, [this, boardid](int argn, const char **args) {
int val = CAN_MASTER->airCompressorReadEI(boardid);
ISHOW("val:%d", val);
@ -219,6 +257,10 @@ void TabBuilder::buildAirCompressorTab(const char *tabname, int boardid) {
int val = CAN_MASTER->airCompressorReadEIAdcRaw(boardid);
ISHOW("val:%d", val);
});
box->newFunc("空压机是否打开", {}, [this, boardid](int argn, const char **args) {
bool val = CAN_MASTER->airCompressorIsOpen(boardid);
ISHOW("val:%d", val);
});
}
void TabBuilder::buildAirTightnessTestACTab(const char *tabname, int boardid) {
@ -226,6 +268,11 @@ void TabBuilder::buildAirTightnessTestACTab(const char *tabname, int boardid) {
ZQFunctionListBox *box = new ZQFunctionListBox(tab, "气密性测试空压机", 4);
box->newSubButton("打开", [this, boardid](int argn, const char **args) { CAN_MASTER->airTightnessTestACCtrl(boardid, 1); });
box->newSubButton("关闭", [this, boardid](int argn, const char **args) { CAN_MASTER->airTightnessTestACCtrl(boardid, 0); });
box->newSubButtonEnd();
box->newSubButton("是否打开", [this, boardid](int argn, const char **args) {
bool val = CAN_MASTER->airTightnessTestACIsOpen(boardid);
ISHOW("val:%d", val);
});
}
void TabBuilder::buildPSBusTab(const char *tabname, int boardid) {
ZQVTabPage *tab = getTab(tabname);
@ -268,6 +315,11 @@ void TabBuilder::buildAirTightnessTestTab(const char *tabname, int boardid) {
box->newSubButton("气密性测试-释放通道", [this, boardid](int argn, const char **args) { //
CAN_MASTER->airTightnessTestOpenCh(boardid);
});
box->newSubButtonEnd();
box->newSubButton("气密性测试-是否封闭", [this, boardid](int argn, const char **args) { //
int val = CAN_MASTER->airTightnessTestIsCutoff(boardid);
ISHOW("val:%d", val);
});
}
void TabBuilder::buildExtChSelectorTab(const char *tabname, int boardid) {
@ -276,6 +328,10 @@ void TabBuilder::buildExtChSelectorTab(const char *tabname, int boardid) {
box->newFunc("设置外部通道(0:消毒 1:降解 2:除湿)", {"ch"}, [this, boardid](int argn, const char **args) { //
CAN_MASTER->extChSelectorSetCh(boardid, atoi(args[0]));
});
box->newFunc("读取外部通道", {}, [this, boardid](int argn, const char **args) { //
int val = CAN_MASTER->extChSelectorGetCh(boardid);
ISHOW("val:%d", val);
});
}
void TabBuilder::buildEnd() {

Loading…
Cancel
Save