Index: firmware/App/Controllers/Pressures.c =================================================================== diff -u -rc7d750b36ffa45ed57c73899aa7861e2d8d63be9 -r93a5ad88c7754e2d64d11d3425571aa27fe12652 --- firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision c7d750b36ffa45ed57c73899aa7861e2d8d63be9) +++ firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 93a5ad88c7754e2d64d11d3425571aa27fe12652) @@ -69,6 +69,7 @@ #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. #define PRESSURE_SENSORS_ADC_CHECK_ARRAY_LEN 4 ///< Pressure sensors ADC check array length. +#define CLEANING_MODE_LOW_PRESSURE_STATE_NUMBER 3 ///< Cleaning mode low pressure state number. static const U32 TWO_TO_POWER_OF_6 = ( 1 << 6 ); ///< 2^6. static const U32 TWO_TO_POWER_OF_7 = ( 1 << 7 ); ///< 2^7. @@ -182,9 +183,30 @@ F32 maxInletWaterPressureWarningLow = MAX_INLET_WATER_PRESSURE_WARNING_LOW_PSIG; DG_OP_MODE_T opMode = getCurrentOperationMode(); - if ( DG_MODE_STAN == opMode ) + switch ( opMode ) { - maxInletWaterPressureWarningLow = MAX_FLUSH_INLET_WATER_PRESSURE_WARNING_LOW_PSIG; + case DG_MODE_STAN: + maxInletWaterPressureWarningLow = MAX_FLUSH_INLET_WATER_PRESSURE_WARNING_LOW_PSIG; + break; + + case DG_MODE_FLUS: + case DG_MODE_HEAT: + case DG_MODE_CHEM: + case DG_MODE_CHFL: + case DG_MODE_ROPS: + // Per PRS 401 the low pressure limit for the cleaning modes that have the filter flush state is 14 psig. + // In the cleaning modes, flush, heat disinfect, chem disinfect, chem flush disinfect, and RO permeate sample, the 3rd state is + // flush drain so only in that state the limit is set to 14 psig. + // NOTE: Active cool does not have a flush drain state. + if ( CLEANING_MODE_LOW_PRESSURE_STATE_NUMBER == getCurrentOperationSubMode() ) + { + maxInletWaterPressureWarningLow = MAX_FLUSH_INLET_WATER_PRESSURE_WARNING_LOW_PSIG; + } + break; + + default: + // Do nothing for the rest of the modes since the default inlet pressure has been set. + break; } isPressureTooLow = ( pressure < maxInletWaterPressureWarningLow ? TRUE : FALSE );