Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r09ac8a11080a42d32c9a217d267fc16c9f397cc2 -rd6b466c9f28e28b46b13f6c1e2f669424703d492 --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 09ac8a11080a42d32c9a217d267fc16c9f397cc2) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision d6b466c9f28e28b46b13f6c1e2f669424703d492) @@ -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,30 +398,30 @@ *************************************************************************/ 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 );