Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r119a24b1a48dc9d96c43f90244a0aeedd34a4408 -rd05ec20825ed98eb4c9bfc3ff45f81894090a1ec --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 119a24b1a48dc9d96c43f90244a0aeedd34a4408) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision d05ec20825ed98eb4c9bfc3ff45f81894090a1ec) @@ -19,11 +19,11 @@ #include "ConcentratePumps.h" #include "FPGA.h" #include "MessageSupport.h" +#include "OperationModes.h" #include "PersistentAlarm.h" #include "SystemCommMessages.h" #include "TaskGeneral.h" #include "Utilities.h" -#include "OperationModes.h" /** * @addtogroup ConcentratePumps @@ -398,31 +398,31 @@ *************************************************************************/ BOOL handleConcentratePumpParkRequest( void ) { - CONCENTRATE_PUMPS_T pumpId; DG_CMD_RESPONSE_T cmdResponse; BOOL result = FALSE; DG_OP_MODE_T opMode = getCurrentOperationMode(); + cmdResponse.commandID = DG_CMD_PARK_CONCENTRATE_PUMPS; cmdResponse.rejected = FALSE; cmdResponse.rejectCode = DG_CMD_REQUEST_REJECT_REASON_NONE; - - for ( pumpId = CONCENTRATEPUMPS_CP1_ACID; pumpId < NUM_OF_CONCENTRATE_PUMPS; pumpId++ ) + // pumps should be not ON and DG operation mode is not in filling and fault mode + if ( ( concentratePumps[CONCENTRATEPUMPS_CP1_ACID].execState == CONCENTRATE_PUMP_OFF_STATE ) && + ( concentratePumps[CONCENTRATEPUMPS_CP2_BICARB].execState == CONCENTRATE_PUMP_OFF_STATE ) && + ( DG_MODE_FILL != opMode ) && + ( DG_MODE_FAUL != opMode ) ) { - // check if pump is not ON and DG mode is not in filling or fault mode, then park the concentrate pumps - if ( ( concentratePumps[ pumpId ].execState == CONCENTRATE_PUMP_OFF_STATE ) && ( ( DG_MODE_FILL != opMode ) || ( DG_MODE_FAUL != opMode ) ) ) - { - // Park concentrate pump - requestConcentratePumpOff( pumpId, PARK_CONC_PUMPS ); - result |= TRUE; - } - else - { - cmdResponse.rejected = TRUE; - cmdResponse.rejectCode = DG_CMD_REQUEST_REJECT_REASON_INVALID_MODE; - result |= FALSE; - } + // Park concentrate pump + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID, PARK_CONC_PUMPS ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB, PARK_CONC_PUMPS ); + result = TRUE; } + else + { + cmdResponse.rejected = TRUE; + cmdResponse.rejectCode = DG_CMD_REQUEST_REJECT_REASON_INVALID_MODE; + result = FALSE; + } sendCommandResponseMsg( &cmdResponse );