Browse Source

v5

storage-in-realtime
zhaohe 1 year ago
parent
commit
a73a8eab5a
  1. 2
      README.md
  2. 2
      iflytoplinuxsdk
  3. 17
      src/api/cmds/disinfection_cmd_impl.cpp
  4. 13
      src/configs/project_setting.hpp
  5. 2
      src/service/device_io_control_service.cpp
  6. 2
      src/version.hpp

2
README.md

@ -4,6 +4,8 @@
``` ```
V2.2 V2.2
1.添加H2O2-RS计算算法 1.添加H2O2-RS计算算法
V5
1.添加传感器预热检查
``` ```

2
iflytoplinuxsdk

@ -1 +1 @@
Subproject commit 7fa44239c9467488c0b2e7a4f809d4faefd1901e
Subproject commit a69fabaacf14348ad2913136f417397e0fea4462

17
src/api/cmds/disinfection_cmd_impl.cpp

@ -79,6 +79,14 @@ void DisinfectionCmdImpl::getDehumidifyAfterDisinfectionThreshold(json& cmd, jso
void DisinfectionCmdImpl::startDisinfection(json& cmd, json& receipt) { void DisinfectionCmdImpl::startDisinfection(json& cmd, json& receipt) {
auto dfs = m_disinfectionCtrlService->getDisinfectionService(); 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 (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
if (m_deviceIoControlService->getDeviceBottomWaterDetectionSensor()) { if (m_deviceIoControlService->getDeviceBottomWaterDetectionSensor()) {
@ -131,6 +139,15 @@ void DisinfectionCmdImpl::startFormula(json& cmd, json& receipt) {
receipt["ackcodeInfo"] = err::zecode2str(err::kdb_operate_error); receipt["ackcodeInfo"] = err::zecode2str(err::kdb_operate_error);
return; 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 (defined PROJECT_TYPE_LARGE_SPACE_DISINFECTION) || (defined PROJECT_TYPE_SMALL_SPACE_DISINFECTION) || (defined PROJECT_TYPE_PIPE_DISINFECTION)
if (m_deviceIoControlService->getDeviceBottomWaterDetectionSensor()) { if (m_deviceIoControlService->getDeviceBottomWaterDetectionSensor()) {

13
src/configs/project_setting.hpp

@ -23,7 +23,7 @@
#define PROJECT_NAME "large_space_disinfection" #define PROJECT_NAME "large_space_disinfection"
#define MAX_H2O2_SENSOR_NUM (3) #define MAX_H2O2_SENSOR_NUM (3)
#define MIN_DISINFECTANT_VOLUME 500 #define MIN_DISINFECTANT_VOLUME 500
#define DEVICE_IP "192.168.8.10"
#define DEVICE_IP "192.168.8.10"
#endif #endif
#ifdef PROJECT_TYPE_SMALL_SPACE_DISINFECTION #ifdef PROJECT_TYPE_SMALL_SPACE_DISINFECTION
@ -31,17 +31,15 @@
#define PROJECT_NAME "small_space_disinfection" #define PROJECT_NAME "small_space_disinfection"
#define MAX_H2O2_SENSOR_NUM (3) #define MAX_H2O2_SENSOR_NUM (3)
#define MIN_DISINFECTANT_VOLUME 500 #define MIN_DISINFECTANT_VOLUME 500
#define DEVICE_IP "192.168.8.11"
#define DEVICE_IP "192.168.8.11"
#endif #endif
#ifdef PROJECT_TYPE_PIPE_DISINFECTION #ifdef PROJECT_TYPE_PIPE_DISINFECTION
#define DISINFECTANT_BUCKET_CAPACITY 2500 #define DISINFECTANT_BUCKET_CAPACITY 2500
#define PROJECT_NAME "pipe_disinfection" #define PROJECT_NAME "pipe_disinfection"
#define MAX_H2O2_SENSOR_NUM (1) #define MAX_H2O2_SENSOR_NUM (1)
#define MIN_DISINFECTANT_VOLUME 500 #define MIN_DISINFECTANT_VOLUME 500
#define DEVICE_IP "192.168.8.12"
#define DEVICE_IP "192.168.8.12"
#endif #endif
#ifdef PROJECT_TYPE_DRAW_BAR_BOX #ifdef PROJECT_TYPE_DRAW_BAR_BOX
@ -49,8 +47,9 @@
#define PROJECT_NAME "draw_bar_box_disinfection" #define PROJECT_NAME "draw_bar_box_disinfection"
#define MAX_H2O2_SENSOR_NUM (1) #define MAX_H2O2_SENSOR_NUM (1)
#define MIN_DISINFECTANT_VOLUME 0 #define MIN_DISINFECTANT_VOLUME 0
#define DEVICE_IP "192.168.8.13"
#define DEVICE_IP "192.168.8.13"
#endif #endif
#define MAX_DISINFECTIONLOGGER_FILE_NUM 5 // 最大日志文件数量
#define MAX_DISINFECTIONLOGGER_FILE_NUM 10 // 最大日志文件数量
#define USER_BEHAVIOR_RECORD_DB_MAX_RECORDS 3000 #define USER_BEHAVIOR_RECORD_DB_MAX_RECORDS 3000
#define SENSOR_PREHEART_TIME_S (5 * 60)

2
src/service/device_io_control_service.cpp

@ -305,7 +305,7 @@ void DeviceIoControlService::H2O2Sensor_updateSensorData(int32_t sensorid, repor
/** /**
* @brief 5 * @brief 5
*/ */
if (zsteady_clock().gets() > 5 * 60) {
if (zsteady_clock().gets() > SENSOR_PREHEART_TIME_S) {
sensor_data->h2o2 = data->h2o2 / 10; sensor_data->h2o2 = data->h2o2 / 10;
sensor_data->temp = data->temp / 10; sensor_data->temp = data->temp / 10;
sensor_data->humid = data->humid / 10; sensor_data->humid = data->humid / 10;

2
src/version.hpp

@ -1,2 +1,2 @@
#pragma once #pragma once
#define VERSION "4.0"
#define VERSION "5.0"
Loading…
Cancel
Save