Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r1afa4c22ab3d44f71eace94e83ad1616a47407d2 -rc8f686ebb93d52faa7bd1cb5a69090fe3dd26990 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 1afa4c22ab3d44f71eace94e83ad1616a47407d2) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision c8f686ebb93d52faa7bd1cb5a69090fe3dd26990) @@ -1157,35 +1157,42 @@ DG_OP_MODE_T dgOpMode = getDGOpMode(); U32 dgSubMode = getDGSubMode(); DG_RESERVOIR_ID_T inactiveReservoir = getDGInactiveReservoir(); - DG_RESERVOIR_ID_T activeReservoir = getDGActiveReservoir(); if ( ( DG_MODE_GENE == dgOpMode ) && ( DG_GEN_IDLE_MODE_STATE_FLUSH_WATER == dgSubMode ) ) { state = PRE_TREATMENT_RESERVOIR_MGMT_REQUEST_RESERVOIR_SWITCH_STATE; if ( ( TRUE == reservoirStatus[ DG_RESERVOIR_1 ].flushComplete ) && - ( TRUE == reservoirStatus[ DG_RESERVOIR_2 ].flushComplete ) ) + ( TRUE == reservoirStatus[ DG_RESERVOIR_2 ].flushComplete ) ) { - reservoirStatus[ inactiveReservoir ].fillComplete = TRUE; + reservoirStatus[ inactiveReservoir ].fillComplete = TRUE; - if ( ( TRUE == reservoirStatus[ DG_RESERVOIR_1 ].fillComplete ) && + if ( ( TRUE == reservoirStatus[ DG_RESERVOIR_1 ].fillComplete ) && ( TRUE == reservoirStatus[ DG_RESERVOIR_2 ].fillComplete ) ) - { - state = PRE_TREATMENT_RESERVOIR_MGMT_COMPLETE_STATE; - } + { + state = PRE_TREATMENT_RESERVOIR_MGMT_COMPLETE_STATE; + } } - - // Start tracking flush cycles, flushComplete => don't drain again, this completes the final fill. - if ( FALSE == reservoirStatus[ inactiveReservoir ].flushComplete ) + else { - if ( reservoirStatus[ inactiveReservoir ].flushCount > 0 ) + DG_SWITCH_RSRVRS_CMD_T rsrvrCmd; + + // Start tracking flush cycles, flushComplete => don't drain again, this completes the final fill. + if ( FALSE == reservoirStatus[ inactiveReservoir ].flushComplete ) { - reservoirStatus[ inactiveReservoir ].flushCount -= 1; + if ( reservoirStatus[ inactiveReservoir ].flushCount > 0 ) + { + reservoirStatus[ inactiveReservoir ].flushCount -= 1; + } + if ( 0 == reservoirStatus[ inactiveReservoir ].flushCount ) + { + reservoirStatus[ inactiveReservoir ].flushComplete = TRUE; + } } - if ( 0 == reservoirStatus[ inactiveReservoir ].flushCount ) - { - reservoirStatus[ inactiveReservoir ].flushComplete = TRUE; - } + + rsrvrCmd.reservoirID = (U32)activeReservoir; + rsrvrCmd.useLastTrimmerHeaterDC = FALSE; + cmdSetDGActiveReservoir( &rsrvrCmd ); } }