Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -r9a11f0c0584c74d169032b5fd8c041c32b7d332f -r8a8864ea7ccd35af809697129710ea8ebc96d83b --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 9a11f0c0584c74d169032b5fd8c041c32b7d332f) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 8a8864ea7ccd35af809697129710ea8ebc96d83b) @@ -669,10 +669,6 @@ { stabilizeTime = PRES_LIMIT_SHORT_STABILIZE_TIME_MS; } - else if ( STABILIZATION_PERIOD_OFF == pressureStabilizeTime ) - { - stabilizeTime = PRES_LIMIT_STABILIZATION_OFF; - } // Normal stabilization period else { @@ -691,20 +687,23 @@ { updatePressureLimitWindows(); stabilizationStartTimeMs = getMSTimerCount(); - // second stage stabilization is not required when returning from stable state on every 15 minutes once. - if ( pressureStabilizeTime == STABILIZATION_PERIOD_OFF ) - { - currPresLimitsState = PRESSURE_LIMITS_STATE_STABLE; - } - else - { - currPresLimitsState = PRESSURE_LIMITS_STATE_STABILIZATION_2; - } + currPresLimitsState = PRESSURE_LIMITS_STATE_STABILIZATION_2; pressureStabilizeTime = USE_NORMAL_STABILIZATION_PERIOD; } break; case PRESSURE_LIMITS_STATE_STABILIZATION_2: + // zero stabilize time for 15 mins once pressure limits adjust scenario + if ( STABILIZATION_PERIOD_OFF == pressureStabilizeTime ) + { + stabilizeTime = PRES_LIMIT_STABILIZATION_OFF; + } + //60 sec second stage stabilization + else + { + stabilizeTime = PRES_LIMIT_STABILIZATION_2_TIME_MS; + } + // second stage stabilization helps to re determine the pressure due to UF control change etc., if ( bpRunning != TRUE ) { @@ -714,11 +713,13 @@ { currPresLimitsState = PRESSURE_LIMITS_STATE_WIDE; } - else if ( TRUE == didTimeout( stabilizationStartTimeMs, PRES_LIMIT_STABILIZATION_2_TIME_MS ) ) + else if ( TRUE == didTimeout( stabilizationStartTimeMs, stabilizeTime ) ) { updatePressureLimitWindows(); stabilizationStartTimeMs = getMSTimerCount(); currPresLimitsState = PRESSURE_LIMITS_STATE_STABLE; + // Reset to normal period as default. + pressureStabilizeTime = USE_NORMAL_STABILIZATION_PERIOD; } break; @@ -736,7 +737,7 @@ { stabilizationStartTimeMs = getMSTimerCount(); pressureStabilizeTime = STABILIZATION_PERIOD_OFF; - currPresLimitsState = PRESSURE_LIMITS_STATE_STABILIZATION; + currPresLimitsState = PRESSURE_LIMITS_STATE_STABILIZATION_2; // Open air trap valve to clear any accumulated bubbles signalAirTrapValveOpen(); }