Index: firmware/App/Controllers/Pressures.c =================================================================== diff -u -r9e5ee62245eb2a73b167eabd6c274a71a76a7b0e -r702f24539279765e906d1c2764253e65ef2638a1 --- firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 9e5ee62245eb2a73b167eabd6c274a71a76a7b0e) +++ firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 702f24539279765e906d1c2764253e65ef2638a1) @@ -209,9 +209,9 @@ if ( VALVE_STATE_OPEN == getValveStateName( VPI ) ) { // TODO define the PRS - checkPersistentAlarm( ALARM_ID_DG_CLEANING_MODE_INLET_WATER_PRESSURE_TOO_HIGH, isPressureTooHigh, pressure, MIN_INLET_WATER_PRESSURE_WARNING_HIGH_PSIG ); + checkPersistentAlarm( ALARM_ID_DG_CLEANING_MODE_INLET_WATER_PRESSURE_TOO_HIGH, isPressureTooHigh, pressure, MAX_INLET_WATER_PRESSURE_WARNING_HIGH_PSIG ); // TODO define the PRS - checkPersistentAlarm( ALARM_ID_DG_CLEANING_MODE_INLET_WATER_PRESSURE_TOO_LOW, isPressureTooLow, pressure, MIN_INLET_WATER_PRESSURE_WARNING_LOW_PSIG ); + checkPersistentAlarm( ALARM_ID_DG_CLEANING_MODE_INLET_WATER_PRESSURE_TOO_LOW, isPressureTooLow, pressure, MAX_INLET_WATER_PRESSURE_WARNING_LOW_PSIG ); } break; @@ -587,7 +587,14 @@ // Bitwise OR the current pressure sensor with the total pressure sensor to persistent alarm check // Remember the ID of the pressure sensor that is out of range. The ID is converted to float since the check persistent alarm function // accepts only floats. - pressureReading = getMeasuredDGPressure( sensorId ) + getBaroPressurePSI(); + pressureReading = getMeasuredDGPressure( sensorId ) + getBaroPressurePSI(); + + if ( OVERRIDE_KEY == pressures[ sensorId ].override ) + { + // If the pressure override key is on, do not add the baro sensor to make it absolute. The overridden value is the absolute value. + pressureReading = getMeasuredDGPressure( sensorId ); + } + if ( ( pressureReading < MIN_VALID_PRESSURE_RANGE_PSIA ) || ( pressureReading > MAX_VALID_PRESSURE_RANGE_PSIA ) ) { isPressureOutOfRange = TRUE;