diff --git a/README.md b/README.md index 7dd6b7e..d409c4f 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,9 @@ VERSION 1.2.4 VERSION 1.2.5 1. 更新版本 + +VERSION 1.2.6 + 1. fix some bug TODO: 1.添加用户增加用户查重检查 diff --git a/appsrc/appsetting/project_port/basic/zappversion.hpp b/appsrc/appsetting/project_port/basic/zappversion.hpp index df26e2c..d78134c 100644 --- a/appsrc/appsetting/project_port/basic/zappversion.hpp +++ b/appsrc/appsetting/project_port/basic/zappversion.hpp @@ -1,3 +1,3 @@ #pragma once -#define VERSION "1.2.5" +#define VERSION "1.2.6" #define PROJECT_NAME "TRANSMIT_DM" \ No newline at end of file diff --git a/appsrc/service/app/air_leak_detect_test.cpp b/appsrc/service/app/air_leak_detect_test.cpp index ee183e4..ac9d68b 100644 --- a/appsrc/service/app/air_leak_detect_test.cpp +++ b/appsrc/service/app/air_leak_detect_test.cpp @@ -21,6 +21,8 @@ void AirLeakDetectTest::initialize() { REG_EXTFN_VOID(stopStateReport, void()); } +#define FORCE_DO + void AirLeakDetectTest::start(int inflationTimeMs) { logger->info("AirLeakDetectTest start"); auto nowstate = m_ds->getDeviceState(); @@ -34,13 +36,15 @@ void AirLeakDetectTest::start(int inflationTimeMs) { m_thread.reset(new Thread("AirLeakDetectTestThread", [this, inflationTimeMs]() { try { airLeakDetectTestThread(inflationTimeMs); + } catch (const appexception& e) { AppEventBus::ins()->push(make_shared(e)); } - GET_SERVICE(PipelinePressureControl)->syncPressureValueState(); try { - if (PORT.isPipeDM()) m_dics->AirLeakDetectTestModeCtrl_setMode(AirLeakTestMode::disinfection); + if (PORT.isPipeDM()) { + m_dics->AirLeakDetectTestModeCtrl_setMode(AirLeakTestMode::disinfection); + } } catch (...) { } @@ -93,6 +97,18 @@ void AirLeakDetectTest::airLeakDetectTestThread(int inflationTimeMs) { pressurePa = m_dics->ACPostPS_readPa(); ThisThread().sleepForMs(1000); } + + m_workstate = kstopping; + // 放气 + logger->info("stoping....."); + m_dics->AirLeakDetectTestModeCtrl_setMode(AirLeakTestMode::inflation); + m_dics->PosiPressureProp_setValve(50); + m_dics->NegaPressureProp_setValve(50); + usleep(3000 * 1000); + logger->info("stoped"); + + GET_SERVICE(PipelinePressureControl)->syncPressureValueState(); + m_dics->AirLeakDetectTestModeCtrl_setMode(AirLeakTestMode::disinfection); } } /******************************************************************************* @@ -148,6 +164,11 @@ void AirLeakDetectTest::stopStateReport(shared_ptr cxt) { } json AirLeakDetectTest::getState() { json state; + + if (getWorkstate() == kidle) { + pressurePa = m_dics->ACPostPS_readPa(); + } + state["pressure"] = pressurePa / 1000.0; state["workState"] = state2str(getWorkstate()); state["workStateDisplay"] = state2chstr(getWorkstate());