Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -rd3ec548d2b2bae2e882dcbb0144e27b84307c596 -r66f77cd1004d7bba851bd980edf41d63da8118ff --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision d3ec548d2b2bae2e882dcbb0144e27b84307c596) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 66f77cd1004d7bba851bd980edf41d63da8118ff) @@ -59,8 +59,8 @@ PRE_TREATMENT_RESERVOIR_MGMT_START_FILL_STATE, ///< Command DG to start filling reservoir PRE_TREATMENT_RESERVOIR_MGMT_FILL_CMD_RESP_STATE, ///< After sending fill command, process DG fill command response PRE_TREATMENT_RESERVOIR_MGMT_FILL_COMPLETE_STATE, ///< Reservoir fill has completed - PRE_TREATMENT_RESERVOIR_MGMT_REQUEST_RESERVOIR_SWITCH_STATE, - PRE_TREATMENT_RESERVOIR_MGMT_WAIT_FOR_RESERVOIR_SWITCH_STATE, ///< Wait for prime operation to switch reservoir + PRE_TREATMENT_RESERVOIR_MGMT_REQUEST_RESERVOIR_SWITCH_STATE, ///< Command DG to switch (toggle) reservoirs + PRE_TREATMENT_RESERVOIR_MGMT_WAIT_FOR_RESERVOIR_SWITCH_STATE, ///< After sending switch command, process DG fill command response PRE_TREATMENT_RESERVOIR_MGMT_COMPLETE_STATE, ///< Pre-treatment reservoir management complete state NUM_OF_PRE_TREATMENT_RESERVOIR_MGMT_STATES ///< Number of pre-treatments reservoir mgmt. states } PRE_TREATMENT_RESERVOIR_MGMT_STATE_T; @@ -136,7 +136,6 @@ reservoirFlushedStatus[ DG_RESERVOIR_1 ] = FALSE; reservoirFlushedStatus[ DG_RESERVOIR_2 ] = FALSE; - reservoirFlags[ DG_RESERVOIR_1 ].startFlushFill = FALSE; reservoirFlags[ DG_RESERVOIR_1 ].startNormalFill = FALSE; reservoirFlags[ DG_RESERVOIR_2 ].startFlushFill = FALSE; @@ -964,7 +963,6 @@ fillReservoirOneStartRequested = FALSE; cmdSetDGActiveReservoir( DG_RESERVOIR_2 ); state = PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_STATE; - //state = PRE_TREATMENT_RESERVOIR_MGMT_REQUEST_RESERVOIR_SWITCH_STATE; } return state; @@ -1057,7 +1055,6 @@ ( inactiveReservoir != DG_RESERVOIR_1 ) ) { initialReservoirDrain[ inactiveReservoir ] = TRUE; - //cmdSetDGActiveReservoir( inactiveReservoir ); state = PRE_TREATMENT_RESERVOIR_MGMT_REQUEST_RESERVOIR_SWITCH_STATE; } } @@ -1171,13 +1168,11 @@ #endif { reservoirFlushedStatus[ DG_RESERVOIR_1 ] = TRUE; - //cmdSetDGActiveReservoir( DG_RESERVOIR_1 ); } } else { reservoirFlushedStatus[ DG_RESERVOIR_2 ] = TRUE; - //cmdSetDGActiveReservoir( DG_RESERVOIR_2 ); } } } @@ -1210,7 +1205,6 @@ return state; } - /*********************************************************************//** * @brief * The handlePreTreatmentReservoirMgmtWaitReservoirSwitchState function waits @@ -1223,39 +1217,24 @@ { PRE_TREATMENT_RESERVOIR_MGMT_STATE_T state = PRE_TREATMENT_RESERVOIR_MGMT_WAIT_FOR_RESERVOIR_SWITCH_STATE; DG_CMD_RESPONSE_T dgCmdResp; + // handle fill command response from DG if ( TRUE == getDGCommandResponse( DG_CMD_SWITCH_RESERVOIR, &dgCmdResp ) ) { if ( DG_CMD_REQUEST_REJECT_REASON_INVALID_MODE == dgCmdResp.rejectCode ) { - //retry? + state = PRE_TREATMENT_RESERVOIR_MGMT_REQUEST_RESERVOIR_SWITCH_STATE; } else if ( dgCmdResp.rejectCode != DG_CMD_REQUEST_REJECT_REASON_NONE ) - {// bad call + { SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_DG_INVALID_FILL_COMMAND_REJECTED, dgCmdResp.rejectCode ) } else - {// success. move forward - state = PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_STATE; - } - } - - /* - if ( ( TRUE == reservoirFilledStatus[ DG_RESERVOIR_1 ] ) && ( FALSE == reservoirFilledStatus[ DG_RESERVOIR_2 ] ) ) - { - if ( DG_RESERVOIR_2 == getDGInactiveReservoir() ) { state = PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_STATE; } } - else - { - if ( TRUE == hasDGCompletedReservoirSwitch() ) - { - state = PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_STATE; - } - }*/ return state; } @@ -1309,6 +1288,7 @@ } #endif } + return volume; }