Index: firmware/App/Controllers/Pressures.c =================================================================== diff -u -r1da5fe992c0b461115912698afc9cc7039ad2df3 -rf402a3257c37a6c3cb3aa3b27f13f3a9ca744263 --- firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 1da5fe992c0b461115912698afc9cc7039ad2df3) +++ firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision f402a3257c37a6c3cb3aa3b27f13f3a9ca744263) @@ -57,13 +57,14 @@ #define MAX_VALID_BARO_PRESSURE_PSIA 15.4F ///< Maximum valid barometric pressure in psia. #define MAX_INLET_WATER_PRESSURE_WARNING_LOW_PSIG 23.0F ///< Maximum allowed low pressure value in psig. -#define MIN_INLET_WATER_PRESSURE_WARNING_LOW_PSIG 30.0F ///< Minimum allowed low pressure value in psig. +#define MAX_FLUSH_INLET_WATER_PRESSURE_WARNING_LOW_PSIG 14.0F ///< Maximum allowed low pressure value for Flush in psig. +#define MIN_INLET_WATER_PRESSURE_WARNING_LOW_PSIG 24.0F ///< Minimum allowed low pressure value in psig. #define MAX_INLET_WATER_PRESSURE_WARNING_HIGH_PSIG 80.0F ///< Maximum allowed high pressure value in psig. #define MIN_INLET_WATER_PRESSURE_WARNING_HIGH_PSIG 78.0F ///< Minimum allowed high pressure value in psig. #define INLET_WATER_PRES_OUT_OF_RANGE_TIMEOUT_MS ( 20 * MS_PER_SECOND ) ///< Persistence period for pressure out of range error in milliseconds. -#define INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS ( 1 * MS_PER_SECOND ) ///< Persistence period for pressure out of range clear in milliseconds. +#define INLET_WATER_PRES_OUT_OF_RANGE_CLEAR_MS ( 10 * MS_PER_SECOND ) ///< Persistence period for pressure out of range clear in milliseconds. #define PRESSURE_OUT_OF_RANGE_TIMEOUT_MS ( 5 * MS_PER_SECOND ) ///< Pressure out of range persistence period in milliseconds. #define PRESSURES_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_PRIORITY_INTERVAL ) ///< Interval (ms/task time) at which the pressures data is published on the CAN bus. #define DATA_PUBLISH_COUNTER_START_COUNT 10 ///< Data publish counter start count. @@ -176,10 +177,19 @@ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_WATER_QUALITY_CHECK ) != SW_CONFIG_ENABLE_VALUE ) #endif { - DG_OP_MODE_T opMode = getCurrentOperationMode(); - BOOL isPressureTooLow = ( pressure < MAX_INLET_WATER_PRESSURE_WARNING_LOW_PSIG ? TRUE : FALSE ); - BOOL isPressureTooHigh = ( pressure > MAX_INLET_WATER_PRESSURE_WARNING_HIGH_PSIG ? TRUE : FALSE ); + BOOL isPressureTooLow; + BOOL isPressureTooHigh; + F32 maxInletWaterPressureWarningLow = MAX_INLET_WATER_PRESSURE_WARNING_LOW_PSIG; + DG_OP_MODE_T opMode = getCurrentOperationMode(); + if ( DG_MODE_STAN == opMode ) + { + maxInletWaterPressureWarningLow = MAX_FLUSH_INLET_WATER_PRESSURE_WARNING_LOW_PSIG; + } + + isPressureTooLow = ( pressure < maxInletWaterPressureWarningLow ? TRUE : FALSE ); + isPressureTooLow = ( pressure > MAX_INLET_WATER_PRESSURE_WARNING_HIGH_PSIG ? TRUE : FALSE ); + switch( opMode ) { case DG_MODE_GENE: @@ -192,7 +202,7 @@ } // Per PRS 401 - checkPersistentAlarm( ALARM_ID_DG_INLET_WATER_PRESSURE_IN_LOW_RANGE, isPressureTooLow, pressure, MAX_INLET_WATER_PRESSURE_WARNING_LOW_PSIG ); + checkPersistentAlarm( ALARM_ID_DG_INLET_WATER_PRESSURE_IN_LOW_RANGE, isPressureTooLow, pressure, maxInletWaterPressureWarningLow ); if ( TRUE == isAlarmActive( ALARM_ID_DG_INLET_WATER_PRESSURE_IN_HIGH_RANGE ) ) {