Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -re9b40340e9f9d4ce27368a093e1bd0fce79b30d5 -rafa33cca68071ee912f54d87879c18399b5aced8 --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision e9b40340e9f9d4ce27368a093e1bd0fce79b30d5) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision afa33cca68071ee912f54d87879c18399b5aced8) @@ -657,10 +657,6 @@ { stabilizeTime = PRES_LIMIT_SHORT_STABILIZE_TIME_MS; } - else if ( STABILIZATION_PERIOD_OFF == pressureStabilizeTime ) - { - stabilizeTime = PRES_LIMIT_STABILIZATION_OFF; - } // Normal stabilization period else { @@ -679,20 +675,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 ) { @@ -702,11 +701,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; @@ -724,7 +725,7 @@ { stabilizationStartTimeMs = getMSTimerCount(); pressureStabilizeTime = STABILIZATION_PERIOD_OFF; - currPresLimitsState = PRESSURE_LIMITS_STATE_STABILIZATION; + currPresLimitsState = PRESSURE_LIMITS_STATE_STABILIZATION_2; } break;