From a73a8eab5ab1660246e64892a2f85df661489d4f Mon Sep 17 00:00:00 2001 From: zhaohe Date: Thu, 23 May 2024 17:51:51 +0800 Subject: [PATCH] v5 --- README.md | 2 ++ iflytoplinuxsdk | 2 +- src/api/cmds/disinfection_cmd_impl.cpp | 17 +++++++++++++++++ src/configs/project_setting.hpp | 13 ++++++------- src/service/device_io_control_service.cpp | 2 +- src/version.hpp | 2 +- 6 files changed, 28 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 874c4f6..b1bf27a 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ ``` V2.2 1.添加H2O2-RS计算算法 + V5 + 1.添加传感器预热检查 ``` diff --git a/iflytoplinuxsdk b/iflytoplinuxsdk index 7fa4423..a69faba 160000 --- a/iflytoplinuxsdk +++ b/iflytoplinuxsdk @@ -1 +1 @@ -Subproject commit 7fa44239c9467488c0b2e7a4f809d4faefd1901e +Subproject commit a69fabaacf14348ad2913136f417397e0fea4462 diff --git a/src/api/cmds/disinfection_cmd_impl.cpp b/src/api/cmds/disinfection_cmd_impl.cpp index cec279b..7dd37bb 100644 --- a/src/api/cmds/disinfection_cmd_impl.cpp +++ b/src/api/cmds/disinfection_cmd_impl.cpp @@ -79,6 +79,14 @@ void DisinfectionCmdImpl::getDehumidifyAfterDisinfectionThreshold(json& cmd, jso void DisinfectionCmdImpl::startDisinfection(json& cmd, json& receipt) { auto dfs = m_disinfectionCtrlService->getDisinfectionService(); + if (zsteady_clock().gets() < SENSOR_PREHEART_TIME_S) { + logger->error("start disinfection failed, sensor preheat time not enough"); + receipt["ackcode"] = err::zecode(err::kcd_the_sensor_is_prehearting); + receipt["ackcodeInfo"] = err::zecode2str(err::kcd_the_sensor_is_prehearting); + receipt["ackDisplayInfo"] = "传感器预热中,请开机5分钟再进行消毒"; + return; + } + #if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION) if (m_deviceIoControlService->getDeviceBottomWaterDetectionSensor()) { @@ -131,6 +139,15 @@ void DisinfectionCmdImpl::startFormula(json& cmd, json& receipt) { receipt["ackcodeInfo"] = err::zecode2str(err::kdb_operate_error); return; } + + if (zsteady_clock().gets() < SENSOR_PREHEART_TIME_S) { + logger->error("start disinfection failed, sensor preheat time not enough"); + receipt["ackcode"] = err::zecode(err::kcd_the_sensor_is_prehearting); + receipt["ackcodeInfo"] = err::zecode2str(err::kcd_the_sensor_is_prehearting); + receipt["ackDisplayInfo"] = fmt::format("传感器预热中,请开机{}分钟再进行消毒", SENSOR_PREHEART_TIME_S / 60); + return; + } + #if (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION) if (m_deviceIoControlService->getDeviceBottomWaterDetectionSensor()) { diff --git a/src/configs/project_setting.hpp b/src/configs/project_setting.hpp index 11182a5..29e8768 100644 --- a/src/configs/project_setting.hpp +++ b/src/configs/project_setting.hpp @@ -23,7 +23,7 @@ #define PROJECT_NAME "large_space_disinfection" #define MAX_H2O2_SENSOR_NUM (3) #define MIN_DISINFECTANT_VOLUME 500 -#define DEVICE_IP "192.168.8.10" +#define DEVICE_IP "192.168.8.10" #endif #ifdef PROJECT_TYPE_SMALL_SPACE_DISINFECTION @@ -31,17 +31,15 @@ #define PROJECT_NAME "small_space_disinfection" #define MAX_H2O2_SENSOR_NUM (3) #define MIN_DISINFECTANT_VOLUME 500 -#define DEVICE_IP "192.168.8.11" +#define DEVICE_IP "192.168.8.11" #endif - - #ifdef PROJECT_TYPE_PIPE_DISINFECTION #define DISINFECTANT_BUCKET_CAPACITY 2500 #define PROJECT_NAME "pipe_disinfection" #define MAX_H2O2_SENSOR_NUM (1) #define MIN_DISINFECTANT_VOLUME 500 -#define DEVICE_IP "192.168.8.12" +#define DEVICE_IP "192.168.8.12" #endif #ifdef PROJECT_TYPE_DRAW_BAR_BOX @@ -49,8 +47,9 @@ #define PROJECT_NAME "draw_bar_box_disinfection" #define MAX_H2O2_SENSOR_NUM (1) #define MIN_DISINFECTANT_VOLUME 0 -#define DEVICE_IP "192.168.8.13" +#define DEVICE_IP "192.168.8.13" #endif -#define MAX_DISINFECTIONLOGGER_FILE_NUM 5 // 最大日志文件数量 +#define MAX_DISINFECTIONLOGGER_FILE_NUM 10 // 最大日志文件数量 #define USER_BEHAVIOR_RECORD_DB_MAX_RECORDS 3000 +#define SENSOR_PREHEART_TIME_S (5 * 60) diff --git a/src/service/device_io_control_service.cpp b/src/service/device_io_control_service.cpp index d3bf7ad..0effb2c 100644 --- a/src/service/device_io_control_service.cpp +++ b/src/service/device_io_control_service.cpp @@ -305,7 +305,7 @@ void DeviceIoControlService::H2O2Sensor_updateSensorData(int32_t sensorid, repor /** * @brief 系统启动至少5分钟后,才开始更新数据 */ - if (zsteady_clock().gets() > 5 * 60) { + if (zsteady_clock().gets() > SENSOR_PREHEART_TIME_S) { sensor_data->h2o2 = data->h2o2 / 10; sensor_data->temp = data->temp / 10; sensor_data->humid = data->humid / 10; diff --git a/src/version.hpp b/src/version.hpp index 268fc86..2f15e80 100644 --- a/src/version.hpp +++ b/src/version.hpp @@ -1,2 +1,2 @@ #pragma once -#define VERSION "4.0" \ No newline at end of file +#define VERSION "5.0" \ No newline at end of file