Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -r98a1a2a624373a1d140daed0136522ab6e635237 -r4e11c80367b5ae522aa34fb137079e516c98831b --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 98a1a2a624373a1d140daed0136522ab6e635237) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 4e11c80367b5ae522aa34fb137079e516c98831b) @@ -153,6 +153,7 @@ if ( ( ( DG_MODE_FAUL == getCurrentOperationMode() ) || ( DG_MODE_STAN == getCurrentOperationMode() ) ) && ( FALSE == hasROVolBeenWrittenToNV ) ) { + // If the mode is fault or it is standby and the RO volume has not been written already, write it BOOL status; DG_OP_MODE_T prevMode = getPreviousOperationMode(); @@ -165,19 +166,22 @@ case DG_MODE_HEAT: case DG_MODE_CHEM: // Mode is changing, write the RO generated volume to the RTC RAM and set the service flag to FALSE - // since this is not a from a service change + // since this is not a from a service change. If the previous modes were any of the above modes, it means + // it has been generating water. status = setROWaterGeneratedL( getROGeneratedVolumeL() ); break; } if ( TRUE == status ) { + // The generated water has been successfully written hasROVolBeenWrittenToNV = TRUE; } } if ( ( FALSE == hasDisinfectStatusBeenSet ) && ( MODE_TREA == hdModes.hdMode ) ) { + // If the disinfect status has not been set and we are in treatment mode, void the disinfect (chemical or heat disinfects) BOOL status = setDisinfectStatus( FALSE ); if ( TRUE == status )