Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r58f4669e1c3992868dcd7bb219b5f760743466a0 -ra40f31235a6e8a5041937f04789f65fdcb4a1721 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 58f4669e1c3992868dcd7bb219b5f760743466a0) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision a40f31235a6e8a5041937f04789f65fdcb4a1721) @@ -880,16 +880,18 @@ DG_CMD_RESPONSE_T dgCmdResp; DG_OP_MODE_T dgOpMode = getDGOpMode(); - if ( ( TRUE == getDGCommandResponse( DG_CMD_START_DRAIN, &dgCmdResp ) ) && ( DG_CMD_REQUEST_REJECT_REASON_INVALID_MODE == dgCmdResp.rejectCode ) ) + if ( TRUE == getDGCommandResponse( DG_CMD_START_DRAIN, &dgCmdResp ) ) { - state = PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_STATE; + if ( DG_CMD_REQUEST_REJECT_REASON_NONE == dgCmdResp.rejectCode ) + { + state = PRE_TREATMENT_RESERVOIR_MGMT_START_FILL_STATE; + } + else + { + state = PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_STATE; + } } - if ( DG_MODE_DRAI == dgOpMode ) - { - state = PRE_TREATMENT_RESERVOIR_MGMT_START_FILL_STATE; - } - return state; }