Index: firmware/App/Modes/ModeChemicalDisinfect.c =================================================================== diff -u -rac305d5eedc7fb0e85adef5cd4aa34e58e94e3b8 -r653a028c13aff34d2ad06cbfb0e7a34691767dd1 --- firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision ac305d5eedc7fb0e85adef5cd4aa34e58e94e3b8) +++ firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision 653a028c13aff34d2ad06cbfb0e7a34691767dd1) @@ -1655,12 +1655,21 @@ if ( ( DG_CHEM_DISINFECT_STATE_DISINFECT_R1_TO_R2 == chemDisinfectState ) || ( DG_CHEM_DISINFECT_STATE_DISINFECT_R2_TO_R1 == chemDisinfectState ) ) { BOOL isRsrvrVolumeOutOfRange = FALSE; - isRsrvrLeaking = FALSE; - isRsrvrVolumeOutOfRange |= fabs( getLoadCellSmallFilteredWeight( LOAD_CELL_RESERVOIR_1_PRIMARY ) - R1FullVolume ) > RSRVRS_MAX_LEAK_VOL_CHANGE_ML; - isRsrvrVolumeOutOfRange |= fabs( getLoadCellSmallFilteredWeight( LOAD_CELL_RESERVOIR_2_PRIMARY ) - R2FullVolume ) > RSRVRS_MAX_LEAK_VOL_CHANGE_ML; + //isRsrvrLeaking = FALSE; - if ( ( TRUE == isRsrvrVolumeOutOfRange ) ) + if ( DG_CHEM_DISINFECT_STATE_DISINFECT_R1_TO_R2 == chemDisinfectState ) { + isRsrvrVolumeOutOfRange = fabs( getLoadCellSmallFilteredWeight( LOAD_CELL_RESERVOIR_1_PRIMARY ) - R1FullVolume ) > RSRVRS_MAX_LEAK_VOL_CHANGE_ML; + } + else + { + isRsrvrVolumeOutOfRange = fabs( getLoadCellSmallFilteredWeight( LOAD_CELL_RESERVOIR_2_PRIMARY ) - R2FullVolume ) > RSRVRS_MAX_LEAK_VOL_CHANGE_ML; + } + + isRsrvrLeaking = ( TRUE == isRsrvrLeaking ? isRsrvrLeaking : FALSE ); + + if ( TRUE == isRsrvrVolumeOutOfRange ) + { // If the leak is the first time after a while, set the flag and start the timer if ( FALSE == isRsrvrLeaking ) { Index: firmware/App/Modes/ModeHeatDisinfectActiveCool.c =================================================================== diff -u -r4ee60d5c6265f29ff84368ee870404b55718a57a -r653a028c13aff34d2ad06cbfb0e7a34691767dd1 --- firmware/App/Modes/ModeHeatDisinfectActiveCool.c (.../ModeHeatDisinfectActiveCool.c) (revision 4ee60d5c6265f29ff84368ee870404b55718a57a) +++ firmware/App/Modes/ModeHeatDisinfectActiveCool.c (.../ModeHeatDisinfectActiveCool.c) (revision 653a028c13aff34d2ad06cbfb0e7a34691767dd1) @@ -1300,12 +1300,7 @@ setHeatDisinfectActiveCoolActuators( state ); } - if ( DG_RESERVOIR_BELOW_TARGET == rsrvrsStatus.rsrvr[ rsrvrID ].rStatus ) - { - // Check for the fill timeout only until the reservoir is being filled. After that the fluid is run until TDi is below - // the target temperature and it can take a while and varies. - state = checkRsrvrMgmtTimeoutStatus( rsrvrID, state ); - } + state = checkRsrvrMgmtTimeoutStatus( rsrvrID, state ); return state; }