Browse Source

修复RS显示错误BUG

master
zhaohe 1 year ago
parent
commit
7e50f0e309
  1. 4
      src/service/device_io_control_service.cpp
  2. 17
      src/service/disfection_ctl/disinfection_service.cpp
  3. 4
      src/service/disfection_ctl/disinfection_service.hpp

4
src/service/device_io_control_service.cpp

@ -281,10 +281,12 @@ void DeviceIoControlService::H2O2Sensor_updateSensorData(int32_t sensorid, repor
sensor_data->humid = data->humid / 10; sensor_data->humid = data->humid / 10;
sensor_data->saturation = data->saturation / 10; sensor_data->saturation = data->saturation / 10;
if (sensor_data->saturation == 0) { if (sensor_data->saturation == 0) {
sensor_data->saturation = zh2o2_compute_rs(data->h2o2, zh2o2_t2k(data->temp), data->humid, AIR_PRESSURE);
sensor_data->saturation = zh2o2_compute_rs(sensor_data->h2o2, zh2o2_t2k(sensor_data->temp), sensor_data->humid, AIR_PRESSURE);
} }
sensor_data->sensorId = data->sensorid; sensor_data->sensorId = data->sensorid;
sensor_data->updatetime = zsys_get_ticket(); sensor_data->updatetime = zsys_get_ticket();
// logger->info("sensorid:{} h2o2:{} temp:{} humid:{} saturation:{}", sensorid, sensor_data->h2o2, sensor_data->temp, sensor_data->humid, sensor_data->saturation);
} else { } else {
sensor_data->h2o2 = 0; sensor_data->h2o2 = 0;
sensor_data->temp = data->temp / 10; sensor_data->temp = data->temp / 10;

17
src/service/disfection_ctl/disinfection_service.cpp

@ -681,6 +681,13 @@ void DisinfectionService::processStatePreheat(disinfection_event_t* event) {
m_deviceIoControlService->heartingPlate_setPower(true); m_deviceIoControlService->heartingPlate_setPower(true);
m_deviceIoControlService->airBlower_setState(true); m_deviceIoControlService->airBlower_setState(true);
#elif (defined PROJECT_TYPE_DRAW_BAR_BOX) #elif (defined PROJECT_TYPE_DRAW_BAR_BOX)
m_deviceIoControlService->DBDB__miniPwmBlowerCtrl(DBDB_MINI_PWM_BLOWER_VAL); // 风量
usleep(1000 * 1000);
m_deviceIoControlService->DBDB__heaterCtrl(true);
usleep(100 * 1000);
m_deviceIoControlService->DBDB__heaterCtrlSafeValve(true);
#else #else
#endif #endif
} }
@ -693,6 +700,12 @@ void DisinfectionService::processStatePreheat(disinfection_event_t* event) {
m_deviceIoControlService->heartingPlate_setPower(false); m_deviceIoControlService->heartingPlate_setPower(false);
m_deviceIoControlService->airBlower_setState(false); m_deviceIoControlService->airBlower_setState(false);
#elif (defined PROJECT_TYPE_DRAW_BAR_BOX) #elif (defined PROJECT_TYPE_DRAW_BAR_BOX)
m_deviceIoControlService->DBDB__miniPwmBlowerCtrl(0); // 风量
usleep(1000 * 1000);
m_deviceIoControlService->DBDB__heaterCtrl(false);
usleep(100 * 1000);
m_deviceIoControlService->DBDB__heaterCtrlSafeValve(false);
#else #else
#endif #endif
} }
@ -756,9 +769,9 @@ void DisinfectionService::processStateDisinfection(disinfection_event_t* event)
m_deviceIoControlService->DBDB__heaterCtrl(1); m_deviceIoControlService->DBDB__heaterCtrl(1);
usleep(100 * 1000); usleep(100 * 1000);
m_deviceIoControlService->DBDB__heaterCtrlSafeValve(1); m_deviceIoControlService->DBDB__heaterCtrlSafeValve(1);
usleep(100 * 1000);
usleep(1000 * 1000);
m_deviceIoControlService->DBDB__miniPwmBlowerCtrl(DBDB_MINI_PWM_BLOWER_VAL); // 风量 m_deviceIoControlService->DBDB__miniPwmBlowerCtrl(DBDB_MINI_PWM_BLOWER_VAL); // 风量
usleep(100 * 1000);
usleep(1000 * 1000);
m_deviceIoControlService->DBDB__extValveCtrl(IF_DeviceIoContrlService::kExtValveChannel_disinfectionChannel); m_deviceIoControlService->DBDB__extValveCtrl(IF_DeviceIoContrlService::kExtValveChannel_disinfectionChannel);
#endif #endif

4
src/service/disfection_ctl/disinfection_service.hpp

@ -54,8 +54,8 @@ class DisinfectionService : public enable_shared_from_this<DisinfectionService>
int injection_pump_speed; // 注液泵速度 int injection_pump_speed; // 注液泵速度
float targetLoglevel = 0; // 目标浓度 float targetLoglevel = 0; // 目标浓度
bool enable_bf_dinft_dehumidification = true; // 是否在消毒前开启除湿
bool enable_af_dinft_dehumidification = true; // 是否在消毒后开启除湿
bool enable_bf_dinft_dehumidification = false; // 是否在消毒前开启除湿
bool enable_af_dinft_dehumidification = false; // 是否在消毒后开启除湿
bool enable_degradation = true; // 是否开启降解 bool enable_degradation = true; // 是否开启降解
int bf_dinft_dehumidification_target_val = 20; // 消毒前除湿目标湿度 int bf_dinft_dehumidification_target_val = 20; // 消毒前除湿目标湿度

Loading…
Cancel
Save