|
|
@ -127,6 +127,7 @@ void AirLeakDetectTest::airLeakDetectTestThread(int inflationTimeMs) { |
|
|
|
m_workstate = kstabilizingPressure; |
|
|
|
for (int i = 0; i < leakTestStabilizationTimeS; ++i) { |
|
|
|
pressurePa = readPressurePa(); |
|
|
|
|
|
|
|
thisThread.sleepForMs(1000); |
|
|
|
logger->info(" waiting for stabilizing pressure, current pressure: {} kPa", pressurePa / 1000.0); |
|
|
|
if (thisThread.getExitFlag()) { |
|
|
@ -139,9 +140,13 @@ void AirLeakDetectTest::airLeakDetectTestThread(int inflationTimeMs) { |
|
|
|
{ |
|
|
|
// 检漏中
|
|
|
|
logger->info("leak testing....."); |
|
|
|
m_workstate = kleakTesting; |
|
|
|
m_workstate = kleakTesting; |
|
|
|
pressurePa = readPressurePa(); |
|
|
|
initialPressurePa = pressurePa; |
|
|
|
|
|
|
|
while (!thisThread.getExitFlag()) { |
|
|
|
pressurePa = readPressurePa(); |
|
|
|
pressurePa = readPressurePa(); |
|
|
|
diffPressurePa = pressurePa - initialPressurePa; |
|
|
|
thisThread.sleepForMs(1000); |
|
|
|
} |
|
|
|
} |
|
|
@ -188,12 +193,17 @@ void AirLeakDetectTest::stopStateReport(shared_ptr<MsgProcessContext> cxt) {} |
|
|
|
json AirLeakDetectTest::getState() { |
|
|
|
json state; |
|
|
|
if (getWorkstate() == kidle) { |
|
|
|
pressurePa = readPressurePa(); |
|
|
|
pressurePa = readPressurePa(); |
|
|
|
initialPressurePa = 0; |
|
|
|
diffPressurePa = 0; |
|
|
|
} |
|
|
|
state["pressure"] = fmt::format("{:.2f}", pressurePa / 1000.0); |
|
|
|
state["initialPressure"] = fmt::format("{:.2f}", initialPressurePa / 1000.0); |
|
|
|
state["diffPressurePa"] = fmt::format("{:.2f}", diffPressurePa / 1000.0); |
|
|
|
state["workState"] = state2str(getWorkstate()); |
|
|
|
state["workStateDisplay"] = state2chstr(getWorkstate()); |
|
|
|
return state; |
|
|
|
} |
|
|
|
|
|
|
|
float AirLeakDetectTest::readPressurePa() { return CalibrationInfoDao::ins()->acPressureSensorTare(m_dics->ACPostPS_readPa() / 1000.0) * 1000; } |
|
|
|
void AirLeakDetectTest::updatePressure() { pressurePa = readPressurePa(); } |