Index: firmware/App/Modes/FPModes/InletPressureCheck.c =================================================================== diff -u -rfb0f180eb25dbcfd15d58ef584d535efd1c24e30 -r95a7e12ec9b9d70b13baf9aafd94e183beccd89c --- firmware/App/Modes/FPModes/InletPressureCheck.c (.../InletPressureCheck.c) (revision fb0f180eb25dbcfd15d58ef584d535efd1c24e30) +++ firmware/App/Modes/FPModes/InletPressureCheck.c (.../InletPressureCheck.c) (revision 95a7e12ec9b9d70b13baf9aafd94e183beccd89c) @@ -50,7 +50,6 @@ static FP_INLET_PRES_CHECK_STATE_T inletPressureCheckState; ///< Currently active Inlet Pressure check state. static U32 inletPressureCheckDataPublicationTimerCounter; ///< Used to schedule Inlet Pressure Check data publication to CAN bus. static U32 inletPressureCheckTimer; ///< Inlet Pressure check timeout timer -static U32 inletPressureCheckPersistanceStartTimeMS; ///< Current time for inlet pressure check persistence time started in milliseconds. static BOOL isPressureCheckComplete; ///< Inlet Pressure Check complete BOOL static OVERRIDE_U32_T inletPressureCheckDataPublishInterval; ///< Inlet Pressure Check mode data publish interval. static OVERRIDE_U32_T inletPressureCheckTimeout; ///< Inlet Pressure check timeout value @@ -84,7 +83,6 @@ inletPressureCheckTimeout.override = OVERRIDE_RESET; inletPressureCheckDataPublicationTimerCounter = 0; inletPressureCheckTimer = 0; - inletPressureCheckPersistanceStartTimeMS = 0; isPressureCheckComplete = FALSE; // Pressure alarms @@ -168,23 +166,19 @@ { isPresOutOfLowRange = ( ( m3Pressure < minThreshold ) ? TRUE : FALSE ); isPresOutOfHighRange = ( ( ( m3Pressure > maxThreshold ) ) ? TRUE : FALSE ); - - // SET_ALARM_WITH_2_U32_DATA( ALARM_ID_FP_RO_INLET_PRESSURE_OUT_HIGH_RANGE, INLET_PRES_CHECK_TIMEOUT, m3Pressure ); // re-check the alarm ID - // check persistent alarm for 1 second - checkPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_OUT_LOW_RANGE, isPresOutOfLowRange, m3Pressure, minThreshold ); - checkPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_OUT_HIGH_RANGE, isPresOutOfHighRange, m3Pressure, maxThreshold ); - - // Trigger alarm if M3 pressure is not within range after 10 + 1 seconds - if ( TRUE == didTimeout( inletPressureCheckPersistanceStartTimeMS, getInletPressureCheckTimeout() + INLET_PRES_PERSISTENCE_TIME_WITH_BP_MS ) ) + // check for inlet pressure (M3) within range + if( ( m3Pressure >= minThreshold ) && ( m3Pressure <= maxThreshold ) ) { - // check for inlet pressure (M3) within range - if( ( m3Pressure >= minThreshold ) && ( m3Pressure <= maxThreshold ) ) - { - inletPressureCheckPersistanceStartTimeMS = 0; - isPressureCheckComplete = TRUE; - state = INLET_PRES_CHECK_PAUSED; - } + isPressureCheckComplete = TRUE; + state = INLET_PRES_CHECK_PAUSED; } + else + { + // check persistent alarm for 1 second + checkPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_OUT_LOW_RANGE, isPresOutOfLowRange, m3Pressure, minThreshold ); + checkPersistentAlarm( ALARM_ID_FP_INLET_PRESSURE_OUT_HIGH_RANGE, isPresOutOfHighRange, m3Pressure, maxThreshold ); + } + } } else @@ -255,7 +249,6 @@ } signalROPumpHardStop(); inletPressureCheckTimer = getMSTimerCount(); - inletPressureCheckPersistanceStartTimeMS = getMSTimerCount(); break; case INLET_PRES_CHECK_PAUSED: