Index: firmware/App/Controllers/DGInterface.c =================================================================== diff -u -r8a0735916a4006faaf0651d685131916517c4f33 -r954107454f4c5d4cfbdfaefda5cc1cd15b1e18ac --- firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 8a0735916a4006faaf0651d685131916517c4f33) +++ firmware/App/Controllers/DGInterface.c (.../DGInterface.c) (revision 954107454f4c5d4cfbdfaefda5cc1cd15b1e18ac) @@ -253,7 +253,7 @@ { if ( DG_GEN_IDLE_MODE_STATE_FLUSH_WATER == dgSubMode ) { - cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, FALSE ); + cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, FALSE, TRUE ); } } else if ( DG_MODE_DRAI == dgOpMode ) @@ -835,17 +835,19 @@ * @details Inputs: none * @details Outputs: drain command sent to DG. * @param drainToVolMl volume (in mL) to drain inactive reservoir to - * @param tareLoadCell flag to tell DG tare load cell or not + * @param tareLoadCell flag to tell DG tare load cell or not + * @param start flag to tell DG to start or stop the drain mode * @return none *************************************************************************/ -void cmdStartDGDrain( U32 drainToVolMl, BOOL tareLoadCell, BOOL rinse ) +void cmdStartDGDrain( U32 drainToVolMl, BOOL tareLoadCell, BOOL rinse, BOOL start ) { DRAIN_RESERVOIR_CMD_PAYLOAD_T payload; dgCmdResp[ DG_CMD_START_DRAIN ].commandID = DG_CMD_NONE; payload.drainToVolumeML = drainToVolMl; payload.tareLoadCells = tareLoadCell; - payload.rinseConcentrateLines = rinse; + payload.rinseConcentrateLines = rinse; + payload.cmd = start; dgReservoirDrainVolumeTargetSet = drainToVolMl; sendDGDrainCommand( &payload ); Index: firmware/App/Controllers/DGInterface.h =================================================================== diff -u -rd39ef6232e746a4f2d425135208602670fae60bd -r954107454f4c5d4cfbdfaefda5cc1cd15b1e18ac --- firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision d39ef6232e746a4f2d425135208602670fae60bd) +++ firmware/App/Controllers/DGInterface.h (.../DGInterface.h) (revision 954107454f4c5d4cfbdfaefda5cc1cd15b1e18ac) @@ -86,6 +86,7 @@ U32 drainToVolumeML; ///< Drain to target volume in ml BOOL tareLoadCells; ///< Flag indicates to tare load cells or not BOOL rinseConcentrateLines; ///< Flag indicates to rinse concentrate lines or not + BOOL cmd; ///< Flag indicates to start or stop the drain mode } DRAIN_RESERVOIR_CMD_PAYLOAD_T; /// DG command response data record structure. @@ -141,7 +142,7 @@ void cmdChangeDGValveSetting( DG_VALVE_SETTING_ID_T valveSettingID ); void cmdStartDGFill( U32 fillToVolMl ); void cmdStopDGFill( void ); -void cmdStartDGDrain( U32 drainToVolMl, BOOL tareLoadCell, BOOL rinse ); +void cmdStartDGDrain( U32 drainToVolMl, BOOL tareLoadCell, BOOL rinse, BOOL start ); void cmdStartDGTrimmerHeater( void ); void cmdStopDGTrimmerHeater( void ); void cmdDGSampleWater( SAMPLE_WATER_CMD_T cmd ); Index: firmware/App/Modes/ModePostTreat.c =================================================================== diff -u -r031627883dbd40abd52312d64a1a3b811478d1c3 -r954107454f4c5d4cfbdfaefda5cc1cd15b1e18ac --- firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision 031627883dbd40abd52312d64a1a3b811478d1c3) +++ firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision 954107454f4c5d4cfbdfaefda5cc1cd15b1e18ac) @@ -513,7 +513,7 @@ } else { - cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, rinseConcentrateLines ); + cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, rinseConcentrateLines, TRUE ); } } @@ -540,7 +540,7 @@ { state = DRAIN_FIRST_RESERVOIR_STATE; rinseConcentrateLines = TRUE; - cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, rinseConcentrateLines ); + cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, rinseConcentrateLines, TRUE ); } } @@ -600,7 +600,7 @@ { state = DRAIN_SECOND_RESERVOIR_STATE; rinseConcentrateLines = FALSE; - cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, rinseConcentrateLines ); + cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, rinseConcentrateLines, TRUE ); } return state; Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -re45524455c005d4fa1734efcbaf7ed0499302670 -r954107454f4c5d4cfbdfaefda5cc1cd15b1e18ac --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision e45524455c005d4fa1734efcbaf7ed0499302670) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 954107454f4c5d4cfbdfaefda5cc1cd15b1e18ac) @@ -882,7 +882,7 @@ if ( ( DG_MODE_GENE == dgOpMode ) && ( DG_GEN_IDLE_MODE_STATE_FLUSH_WATER == dgSubMode ) ) { state = PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_RESP_STATE; - cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, FALSE ); + cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, FALSE, TRUE ); } } Index: firmware/App/Modes/TreatmentEnd.c =================================================================== diff -u -r41885eaa6f8d4b38f57448bc6f6639867e8a8d24 -r954107454f4c5d4cfbdfaefda5cc1cd15b1e18ac --- firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision 41885eaa6f8d4b38f57448bc6f6639867e8a8d24) +++ firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision 954107454f4c5d4cfbdfaefda5cc1cd15b1e18ac) @@ -233,7 +233,7 @@ } else { - cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, FALSE ); + cmdStartDGDrain( DRAIN_RESERVOIR_TO_VOLUME_ML, TRUE, FALSE, TRUE ); } }