Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r7c84f3bce2c16c4256113c6dae208bcb7bb15825 -r94d39c4d2f4f24c172785903b9d715583ab496b9 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 7c84f3bce2c16c4256113c6dae208bcb7bb15825) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 94d39c4d2f4f24c172785903b9d715583ab496b9) @@ -1124,12 +1124,20 @@ DG_CMD_RESPONSE_T dgCmdResp; DG_OP_MODE_T dgOpMode = getDGOpMode(); - - if ( ( TRUE == getDGCommandResponse( DG_CMD_START_FILL, &dgCmdResp ) ) && ( DG_CMD_REQUEST_REJECT_REASON_INVALID_MODE == dgCmdResp.rejectCode ) ) + // handle fill command response from DG + if ( TRUE == getDGCommandResponse( DG_CMD_START_FILL, &dgCmdResp ) ) { - state = PRE_TREATMENT_RESERVOIR_MGMT_START_FILL_STATE; + if ( DG_CMD_REQUEST_REJECT_REASON_INVALID_MODE == dgCmdResp.rejectCode ) + { + state = PRE_TREATMENT_RESERVOIR_MGMT_START_FILL_STATE; + } + else if ( dgCmdResp.rejectCode != DG_CMD_REQUEST_REJECT_REASON_NONE ) + { + // TODO - s/w fault + } } + // wait for DG to begin filling before moving on to next state if ( DG_MODE_FILL == dgOpMode ) { state = PRE_TREATMENT_RESERVOIR_MGMT_FILL_COMPLETE_STATE;