Browse Source

update

storage-in-realtime
zhaohe 1 year ago
parent
commit
64599cd226
  1. 2
      src/api/cmds/test_page_cmd_impl.cpp
  2. 3
      src/configs/project_setting.hpp
  3. 114
      src/service/device_io_control_service.cpp
  4. 25
      src/service/device_io_control_service.hpp
  5. 39
      src/service/device_io_control_service_test.cpp
  6. 23
      src/service/device_io_control_service_test.hpp
  7. 62
      src/service/disfection_ctl/disinfection_service.cpp
  8. 4
      src/service/disfection_ctl/disinfection_service.hpp
  9. 2
      src/service/disfection_ctl/disinfection_state.hpp
  10. 4
      src/service/disinfection_printer_service.cpp
  11. 23
      src/service/if_devoce_io_contrl_service.hpp

2
src/api/cmds/test_page_cmd_impl.cpp

@ -53,7 +53,7 @@ void TestPageCmdImpl::TestPage_WarningLightCtrl(json& cmd, json& receipt) {
void TestPageCmdImpl::DBDBTestPage__sprayLiquidPump_run(json& cmd, json& receipt) {
int gpm = jsonGet<int>(cmd["params"]["gpm"]);
m_deviceIoControlService->DBDB__sprayLiquidPump_run(gpm);
m_deviceIoControlService->sprayLiquidPump_open(gpm);
return;
}

3
src/configs/project_setting.hpp

@ -54,6 +54,9 @@
#define EMTPTY_LINE_WHEN_ADDING_DISINFECTANT_TIMES 80
#endif
#define SPRAYLIQUID_PUMP_MAX_GPM 40
#define EMTPTY_LINE_WHEN_DISINFECTION 60
#define MAX_DISINFECTIONLOGGER_FILE_NUM 10 // 最大日志文件数量
#define USER_BEHAVIOR_RECORD_DB_MAX_RECORDS 3000
#define SENSOR_PREHEART_TIME_S (5 * 60)

114
src/service/device_io_control_service.cpp

@ -348,6 +348,56 @@ void DeviceIoControlService::H2O2Sensor_updateSensorData(int32_t sensorid, repor
}
}
/*******************************************************************************
* sprayLiquidPump *
*******************************************************************************/
static int32_t SprayLiquidPump__gpm;
void DeviceIoControlService::sprayLiquidPump_open(int gpm) {
logger->info("sprayLiquidPump_open {}", gpm);
SprayLiquidPump__gpm = gpm;
int speed = GPM_TO_SPEED(gpm);
if (speed > 450) {
speed = 450;
} else if (speed < -450) {
speed = -450;
}
m_zcanHost->pumpctrl_c1004(2, 100, speed, 1, 18);
}
void DeviceIoControlService::sprayLiquidPump_close() {
logger->info("sprayLiquidPump_close");
SprayLiquidPump__gpm = 0;
m_zcanHost->pumpctrl_c1004(2, 100, 0, 1, 15);
}
void DeviceIoControlService::sprayLiquidPump_open_for_test(int gpm) {
logger->info("sprayLiquidPump_open {}", gpm);
int speed = GPM_TO_SPEED(gpm);
if (speed > 450) {
speed = 450;
} else if (speed < -450) {
speed = -450;
}
SprayLiquidPump__gpm = gpm;
m_zcanHost->pumpctrl_c1004(2, 100, speed, 1, 15);
}
void DeviceIoControlService::sprayLiquidPump_close_for_test() {
logger->info("sprayLiquidPump_close");
SprayLiquidPump__gpm = 0;
m_zcanHost->pumpctrl_c1004(2, 100, 0, 1, 15);
}
int DeviceIoControlService::sprayLiquidPump_getRPM() { return GPM_TO_SPEED(SprayLiquidPump__gpm); }
int DeviceIoControlService::sprayLiquidPump_getGPM() { return SprayLiquidPump__gpm; }
int DeviceIoControlService::sprayLiquidPump_getState() { //
lock_guard<recursive_mutex> lock(lock_);
return (sprayLiquidPump_getRPM() != 0);
}
#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
void DeviceIoControlService::airCompressor_setState(bool val) {
@ -418,7 +468,7 @@ int DeviceIoControlService::heatingStrip_getcurrentValue() { return m_adc_2 * 0.
// }
#define replenishingFluidsPump_GPM2RPM(gpm) (gpm / 2)
void DeviceIoControlService::replenishingFluidsPump_open(int32_t rpm) {
logger->info("replenishingFluidsPump_open {}",rpm);
logger->info("replenishingFluidsPump_open {}", rpm);
// 600g/m 300RPM
m_zcanHost->pumpctrl_c1004(1, 100, rpm, 1, 20);
}
@ -441,54 +491,6 @@ void DeviceIoControlService::replenishingFluidsPump_close_for_test() {
logger->info("replenishingFluidsPump_close_for_test");
m_zcanHost->pumpctrl_c1004(1, 100, 0, 1, 20);
}
/*******************************************************************************
* sprayLiquidPump *
*******************************************************************************/
static int32_t SprayLiquidPump__gpm;
void DeviceIoControlService::sprayLiquidPump_open(int gpm) {
logger->info("sprayLiquidPump_open {}", gpm);
SprayLiquidPump__gpm = gpm;
int speed = GPM_TO_SPEED(gpm);
if (speed > 450) {
speed = 450;
} else if (speed < -450) {
speed = -450;
}
m_zcanHost->pumpctrl_c1004(2, 100, speed, 1, 18);
}
void DeviceIoControlService::sprayLiquidPump_close() {
logger->info("sprayLiquidPump_close");
SprayLiquidPump__gpm = 0;
m_zcanHost->pumpctrl_c1004(2, 100, 0, 1, 15);
}
void DeviceIoControlService::sprayLiquidPump_open_for_test(int gpm) {
logger->info("sprayLiquidPump_open {}", gpm);
int speed = GPM_TO_SPEED(gpm);
if (speed > 450) {
speed = 450;
} else if (speed < -450) {
speed = -450;
}
SprayLiquidPump__gpm = gpm;
m_zcanHost->pumpctrl_c1004(2, 100, speed, 1, 15);
}
void DeviceIoControlService::sprayLiquidPump_close_for_test() {
logger->info("sprayLiquidPump_close");
SprayLiquidPump__gpm = 0;
m_zcanHost->pumpctrl_c1004(2, 100, 0, 1, 15);
}
int DeviceIoControlService::sprayLiquidPump_getRPM() { return GPM_TO_SPEED(SprayLiquidPump__gpm); }
int DeviceIoControlService::sprayLiquidPump_getGPM() { return SprayLiquidPump__gpm; }
int DeviceIoControlService::sprayLiquidPump_getState() { //
lock_guard<recursive_mutex> lock(lock_);
return (sprayLiquidPump_getRPM() != 0);
}
int DeviceIoControlService::getDisinfectantVolume_g() {
// kpa;
@ -604,20 +606,6 @@ float DeviceIoControlService::airCompressor_getPressureDirectKpa() {
/*******************************************************************************
* - *
*******************************************************************************/
static int DBDB__sprayLiquidPump_run_gpm = 0;
void DeviceIoControlService::DBDB__sprayLiquidPump_run(int gpm) {
logger->info("DBDB__sprayLiquidPump_run run {}", gpm);
int speed = GPM_TO_SPEED(gpm);
if (speed > 400) {
speed = 400;
} else if (speed < -400) {
speed = -400;
}
DBDB__sprayLiquidPump_run_gpm = gpm;
m_zcanHost->pumpctrl_c1004(2, 100, speed, 1, 15);
}
int DeviceIoControlService::DBDB__sprayLiquidPump_readSpeed() { return DBDB__sprayLiquidPump_run_gpm; }
int32_t DeviceIoControlService::DBDB__readPressureSensor(int index) {
int32_t ackcontent = 0;

25
src/service/device_io_control_service.hpp

@ -78,7 +78,7 @@ class DeviceIoControlService : public IF_DeviceIoContrlService {
//
bool m_deviceBottomWaterDetectionSensor = false; // 漏液检测
bool m_evaporationBinWaterDetection = false; // 仓内液体检测
bool m_evaporationBinWaterDetection = false; // 仓内液体检测
int m_adc_0 = 0; //
int m_adc_1 = 0; //
@ -117,6 +117,17 @@ class DeviceIoControlService : public IF_DeviceIoContrlService {
void H2O2Sensor_updateSensorData(int32_t sensorid, report_h2o2_data_t* data);
public:
// 喷液泵
virtual void sprayLiquidPump_open(int gpm) override;
virtual void sprayLiquidPump_close() override;
virtual int sprayLiquidPump_getState() override;
virtual int sprayLiquidPump_getRPM() override;
virtual int sprayLiquidPump_getGPM() override;
virtual void sprayLiquidPump_open_for_test(int gpm) override;
virtual void sprayLiquidPump_close_for_test() override;
public:
#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
/*******************************************************************************
@ -168,16 +179,6 @@ class DeviceIoControlService : public IF_DeviceIoContrlService {
virtual void replenishingFluidsPump_open_for_test(int speed) override;
virtual void replenishingFluidsPump_close_for_test() override;
// 喷液泵
virtual void sprayLiquidPump_open(int gpm) override;
virtual void sprayLiquidPump_close() override;
virtual int sprayLiquidPump_getState() override;
virtual int sprayLiquidPump_getRPM() override;
virtual int sprayLiquidPump_getGPM() override;
virtual void sprayLiquidPump_open_for_test(int gpm) override;
virtual void sprayLiquidPump_close_for_test() override;
/******************************************************************************
* *
******************************************************************************/
@ -209,8 +210,6 @@ class DeviceIoControlService : public IF_DeviceIoContrlService {
/*******************************************************************************
* - *
*******************************************************************************/
virtual void DBDB__sprayLiquidPump_run(int gpm) override;
virtual int DBDB__sprayLiquidPump_readSpeed() override;
virtual int32_t DBDB__readPressureSensor(int index) override;
virtual int32_t DBDB__sprayAirCompressorPowerCtrl(int index) override;

39
src/service/device_io_control_service_test.cpp

@ -84,6 +84,22 @@ void DeviceIoControlServiceTest::SelfTest_H2O2Sensor_setSensorState(int32_t sens
return;
}
// 喷液泵
static int sprayLiquidPump_rpm;
void DeviceIoControlServiceTest::sprayLiquidPump_open(int gpm) {
logger->info("sprayLiquidPump_open:{}", gpm);
sprayLiquidPump_rpm = gpm;
}
void DeviceIoControlServiceTest::sprayLiquidPump_close() {
logger->info("sprayLiquidPump_close");
sprayLiquidPump_rpm = 0;
}
int DeviceIoControlServiceTest::sprayLiquidPump_getState() { return sprayLiquidPump_rpm; }
int DeviceIoControlServiceTest::sprayLiquidPump_getRPM() { return sprayLiquidPump_rpm; }
int DeviceIoControlServiceTest::sprayLiquidPump_getGPM() { return sprayLiquidPump_rpm; }
void DeviceIoControlServiceTest::sprayLiquidPump_open_for_test(int gpm) { sprayLiquidPump_rpm = gpm; }
void DeviceIoControlServiceTest::sprayLiquidPump_close_for_test() { sprayLiquidPump_rpm = 0; }
/*******************************************************************************
* *
*******************************************************************************/
@ -157,21 +173,7 @@ void DeviceIoControlServiceTest::replenishingFluidsPump_open(int32_t rpm) { drai
void DeviceIoControlServiceTest::replenishingFluidsPump_close() { drainingPump_rpm = 0; }
void DeviceIoControlServiceTest::replenishingFluidsPump_open_for_test(int speed) { drainingPump_rpm = speed; }
void DeviceIoControlServiceTest::replenishingFluidsPump_close_for_test() { drainingPump_rpm = 0; }
// 喷液泵
static int sprayLiquidPump_rpm;
void DeviceIoControlServiceTest::sprayLiquidPump_open(int gpm) {
logger->info("sprayLiquidPump_open:{}", gpm);
sprayLiquidPump_rpm = gpm;
}
void DeviceIoControlServiceTest::sprayLiquidPump_close() {
logger->info("sprayLiquidPump_close");
sprayLiquidPump_rpm = 0;
}
int DeviceIoControlServiceTest::sprayLiquidPump_getState() { return sprayLiquidPump_rpm; }
int DeviceIoControlServiceTest::sprayLiquidPump_getRPM() { return sprayLiquidPump_rpm; }
int DeviceIoControlServiceTest::sprayLiquidPump_getGPM() { return sprayLiquidPump_rpm; }
void DeviceIoControlServiceTest::sprayLiquidPump_open_for_test(int gpm) { sprayLiquidPump_rpm = gpm; }
void DeviceIoControlServiceTest::sprayLiquidPump_close_for_test() { sprayLiquidPump_rpm = 0; }
/******************************************************************************
* *
@ -258,13 +260,6 @@ int32_t DeviceIoControlServiceTest::AirProportionalValve_isBusy(int32_t* isbusy)
/*******************************************************************************
* - *
*******************************************************************************/
int32_t DBDB__sprayLiquidPump_gpm;
void DeviceIoControlServiceTest::DBDB__sprayLiquidPump_run(int gpm) {
logger->info("DBDB__sprayLiquidPump_run gpm:{}", gpm);
DBDB__sprayLiquidPump_gpm = gpm;
}
int DeviceIoControlServiceTest::DBDB__sprayLiquidPump_readSpeed() { return DBDB__sprayLiquidPump_gpm; }
int32_t DeviceIoControlServiceTest::DBDB__readPressureSensor(int index) { return index; }
int32_t DeviceIoControlServiceTest::DBDB__sprayAirCompressorPowerCtrl(int power) {

23
src/service/device_io_control_service_test.hpp

@ -60,6 +60,17 @@ class DeviceIoControlServiceTest : public IF_DeviceIoContrlService {
void SelfTest_H2O2Sensor_setSaturation(int32_t sensorid, int32_t val);
void SelfTest_H2O2Sensor_setSensorState(int32_t sensorid, int32_t val);
public:
// 喷液泵
virtual void sprayLiquidPump_open(int gpm) override;
virtual void sprayLiquidPump_close() override;
virtual int sprayLiquidPump_getState() override;
virtual int sprayLiquidPump_getRPM() override;
virtual int sprayLiquidPump_getGPM() override;
virtual void sprayLiquidPump_open_for_test(int gpm) override;
virtual void sprayLiquidPump_close_for_test() override;
#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
/*******************************************************************************
@ -98,16 +109,6 @@ class DeviceIoControlServiceTest : public IF_DeviceIoContrlService {
virtual void replenishingFluidsPump_open_for_test(int speed) override;
virtual void replenishingFluidsPump_close_for_test() override;
// 喷液泵
virtual void sprayLiquidPump_open(int gpm) override;
virtual void sprayLiquidPump_close() override;
virtual int sprayLiquidPump_getState() override;
virtual int sprayLiquidPump_getRPM() override;
virtual int sprayLiquidPump_getGPM() override;
virtual void sprayLiquidPump_open_for_test(int gpm) override;
virtual void sprayLiquidPump_close_for_test() override;
/******************************************************************************
* *
******************************************************************************/
@ -154,8 +155,6 @@ class DeviceIoControlServiceTest : public IF_DeviceIoContrlService {
/*******************************************************************************
* - *
*******************************************************************************/
virtual void DBDB__sprayLiquidPump_run(int gpm) override;
virtual int DBDB__sprayLiquidPump_readSpeed() override;
virtual int32_t DBDB__readPressureSensor(int index) override;
virtual int32_t DBDB__sprayAirCompressorPowerCtrl(int index) override;

62
src/service/disfection_ctl/disinfection_service.cpp

@ -28,17 +28,16 @@ void DisinfectionService::initialize() {
GET_TO_SERVICE(m_disinfectionLogsManager);
GET_TO_SERVICE(m_disinfectionPrinterService);
m_dvalueComputer.initialize();
m_deviceIoControlService->sprayLiquidPump_close();
#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
m_deviceIoControlService->replenishingFluidsPump_close();
m_deviceIoControlService->sprayLiquidPump_close();
m_deviceIoControlService->heartingPlate_setPower(false);
m_deviceIoControlService->airBlower_setState(false);
m_deviceIoControlService->airCompressor_setState(false);
#elif (defined PROJECT_TYPE_DRAW_BAR_BOX)
m_deviceIoControlService->DBDB__airTightnessTestAirCompressorPowerCtrl(false);
m_deviceIoControlService->DBDB__sprayLiquidPump_run(0);
m_deviceIoControlService->DBDB__sprayAirCompressorPowerCtrl(0);
m_deviceIoControlService->DBDB__heaterCtrl(0);
m_deviceIoControlService->DBDB__miniPwmBlowerCtrl(0);
@ -51,7 +50,7 @@ void DisinfectionService::initialize() {
sm.regStateProcesser(kstate_finished, bind(&DisinfectionService::processStateFinished, this, placeholders::_1));
sm.regStateProcesser(kstate_dehumidification_before_disinfection, bind(&DisinfectionService::processStateDehumidification_before_disinfection, this, placeholders::_1));
sm.regStateProcesser(kstate_dehumidification_after_disinfection, bind(&DisinfectionService::processStateDehumidification_after_disinfection, this, placeholders::_1));
sm.regStateProcesser(kstate_empty_liquid_from_the_line, bind(&DisinfectionService::processStateEmpytLiquidFromTheLine, this, placeholders::_1));
sm.regBfStateProcess(bind(&DisinfectionService::beforeStateProcess, this));
sm.startProcess();
}
@ -199,7 +198,7 @@ void DisinfectionService::__dumpDisinfectionLogsToCSV(bool header) {
if (header) {
content += fmt::format(" {} ,", ZIconv::noChange("喷液泵(g/min)"));
} else {
content += fmt::format(" {} ,", ds->DBDB__sprayLiquidPump_readSpeed());
content += fmt::format(" {} ,", ds->sprayLiquidPump_getGPM());
}
#endif
@ -236,7 +235,7 @@ void DisinfectionService::logstate() {
#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
logval += fmt::format("h:{},airB:{},airC:{},pump:{},", ds->heatingStrip_getstate(), ds->airBlower_getstate(), ds->airCompressor_getstate(), ds->sprayLiquidPump_getGPM());
#elif (defined PROJECT_TYPE_DRAW_BAR_BOX)
logval += fmt::format("pump:{},", ds->DBDB__sprayLiquidPump_readSpeed());
logval += fmt::format("pump:{},", ds->sprayLiquidPump_getGPM());
#endif
#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
logval += fmt::format("g:{},remainS:{}", m_deviceIoControlService->getDisinfectantVolume_g(), formattimeS(remaintime));
@ -569,27 +568,27 @@ bool DisinfectionService::isTimeToResumeDisinfection() {
void DisinfectionService::pauseDisinfection() {
logger->info("pauseDisinfection");
#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
m_deviceIoControlService->sprayLiquidPump_close();
usleep(1000 * 1000);
#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
m_deviceIoControlService->airCompressor_setState(false);
#elif (defined PROJECT_TYPE_DRAW_BAR_BOX)
m_deviceIoControlService->DBDB__miniPwmBlowerCtrl(0);
m_deviceIoControlService->DBDB__sprayLiquidPump_run(0);
#endif
context.is_disinfection_take_break = true;
}
void DisinfectionService::resumeDisinfection() {
logger->info("resumeDisinfection");
#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
m_deviceIoControlService->sprayLiquidPump_open(cfg.injection_pump_speed);
usleep(1000 * 1000);
#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
m_deviceIoControlService->airCompressor_setState(true);
#elif (defined PROJECT_TYPE_DRAW_BAR_BOX)
m_deviceIoControlService->DBDB__miniPwmBlowerCtrl(0);
m_deviceIoControlService->DBDB__sprayLiquidPump_run(cfg.injection_pump_speed);
#endif
context.is_disinfection_take_break = false;
}
@ -732,7 +731,8 @@ void DisinfectionService::processStatePreheat(disinfection_event_t* event) {
}
void DisinfectionService::processStateDisinfection(disinfection_event_t* event) {
disinfection_state_t next_state = kstate_dehumidification_after_disinfection;
// disinfection_state_t next_state = kstate_dehumidification_after_disinfection;
disinfection_state_t next_state = kstate_empty_liquid_from_the_line;
/**
* @brief
@ -866,6 +866,46 @@ void DisinfectionService::processStateDisinfection(disinfection_event_t* event)
}
}
void DisinfectionService::processStateEmpytLiquidFromTheLine(disinfection_event_t* event) { //
disinfection_state_t next_state = kstate_dehumidification_after_disinfection;
/**
* @brief
* 1.
* 2.
*/
/*******************************************************************************
* *
*******************************************************************************/
if (event->event == kdisinfection_event_enter_state) {
tryLogSatate(true);
m_deviceIoControlService->sprayLiquidPump_open(-SPRAYLIQUID_PUMP_MAX_GPM);
}
/*******************************************************************************
* *
*******************************************************************************/
else if (event->event == kdisinfection_event_exit_state) {
m_deviceIoControlService->sprayLiquidPump_close();
}
/*******************************************************************************
* *
*******************************************************************************/
else if (event->event == kdisinfection_event_tmr_1s) {
if (sm.getStateHasPassedTimeMs() > EMTPTY_LINE_WHEN_DISINFECTION * 1000) {
sm.changeState(next_state);
}
}
/*******************************************************************************
* *
*******************************************************************************/
else if (event->event == kdisinfection_event_stop) {
sm.changeState(kstate_finished);
}
}
void DisinfectionService::processStateDehumidification_after_disinfection(disinfection_event_t* event) {
disinfection_state_t next_state = kstate_degradation;

4
src/service/disfection_ctl/disinfection_service.hpp

@ -75,7 +75,7 @@ class DisinfectionService : public enable_shared_from_this<DisinfectionService>
int remaintime = 0;
float now_loglevel = 0;
float dvalue = 0;
bool is_disinfection_take_break; // 消毒工作中是否暂停工作
bool is_disinfection_take_break; // 消毒工作中是否因为RS,RH,PPM过大而暂停工作
/*******************************************************************************
* *
@ -181,7 +181,7 @@ class DisinfectionService : public enable_shared_from_this<DisinfectionService>
void processStateFinished(disinfection_event_t* event);
void processStateDehumidification_before_disinfection(disinfection_event_t* event);
void processStateDehumidification_after_disinfection(disinfection_event_t* event);
void processStateEmpytLiquidFromTheLine(disinfection_event_t* event);
private:
void initState();

2
src/service/disfection_ctl/disinfection_state.hpp

@ -42,6 +42,7 @@ typedef enum {
kstate_finished = 5, // 结束
kstate_dehumidification_before_disinfection = 6, // 消毒前除湿
kstate_dehumidification_after_disinfection = 7, // 消毒后除湿
kstate_empty_liquid_from_the_line = 8, // 排空管路中的液体
} disinfection_state_t;
@ -150,7 +151,6 @@ class DisinfectionPrinterTask {
int targetLog;
int actualLog;
};
class DisinfectionContext {

4
src/service/disinfection_printer_service.cpp

@ -81,9 +81,13 @@ void DisinfectionPrinterService::printTask(shared_ptr<DisinfectionPrinterTask> t
dio->printerPrintf(fmt::format("结束...\n"));
} else if (now_state == kstate_dehumidification_before_disinfection) {
dio->printerPrintf(fmt::format("消毒前除湿中...\n"));
} else if (now_state == kstate_empty_liquid_from_the_line) {
dio->printerPrintf(fmt::format("排空管路中...\n"));
} else if (now_state == kstate_dehumidification_after_disinfection) {
dio->printerPrintf(fmt::format("消毒后除湿中...\n"));
}
dio->printerPrintf(fmt::format("{}ppm {}%RS {}%RH {}LOG\n", ss->min_h2o2, ss->max_saturation, ss->max_humid, (int)ss->dloglevel));
state = now_state;
} else {

23
src/service/if_devoce_io_contrl_service.hpp

@ -67,6 +67,17 @@ class IF_DeviceIoContrlService {
virtual bool H2O2Sensor_readSensorState(int32_t sensorid) = 0;
// 喷液泵
virtual void sprayLiquidPump_open(int gpm) = 0;
virtual void sprayLiquidPump_close() = 0;
virtual int sprayLiquidPump_getState() = 0;
virtual int sprayLiquidPump_getRPM() = 0;
virtual int sprayLiquidPump_getGPM() = 0;
virtual void sprayLiquidPump_open_for_test(int gpm) = 0;
virtual void sprayLiquidPump_close_for_test() = 0;
#if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
/*******************************************************************************
@ -108,16 +119,6 @@ class IF_DeviceIoContrlService {
virtual void replenishingFluidsPump_open_for_test(int speed) = 0;
virtual void replenishingFluidsPump_close_for_test() = 0;
// 喷液泵
virtual void sprayLiquidPump_open(int gpm) = 0;
virtual void sprayLiquidPump_close() = 0;
virtual int sprayLiquidPump_getState() = 0;
virtual int sprayLiquidPump_getRPM() = 0;
virtual int sprayLiquidPump_getGPM() = 0;
virtual void sprayLiquidPump_open_for_test(int gpm) = 0;
virtual void sprayLiquidPump_close_for_test() = 0;
/******************************************************************************
* *
******************************************************************************/
@ -173,8 +174,6 @@ class IF_DeviceIoContrlService {
/*******************************************************************************
* - *
*******************************************************************************/
virtual void DBDB__sprayLiquidPump_run(int gpm) = 0;
virtual int DBDB__sprayLiquidPump_readSpeed() = 0;
virtual int32_t DBDB__readPressureSensor(int index) = 0;
virtual int32_t DBDB__sprayAirCompressorPowerCtrl(int index) = 0;

Loading…
Cancel
Save