Index: firmware/App/Modes/BalancingChamber.c =================================================================== diff -u -r742dfbbe3f91706a00b37c04ca97a5015e09bae3 -rba5c71eab6b1930bfb044a165d803f5c16c3379a --- firmware/App/Modes/BalancingChamber.c (.../BalancingChamber.c) (revision 742dfbbe3f91706a00b37c04ca97a5015e09bae3) +++ firmware/App/Modes/BalancingChamber.c (.../BalancingChamber.c) (revision ba5c71eab6b1930bfb044a165d803f5c16c3379a) @@ -39,6 +39,8 @@ #define SPENT_DIAL_PRESSURE_MIN_PSIG 29.0F ///< Minimum spent dialysate pressure (PDs) limit for balancing chamber fill operations. #define SPENT_DIAL_PRESSURE_MAX_PSIG 30.0F ///< Maximum spent dialysate pressure (PDs) limit for balancing chamber fill operations. #define BAL_CHAMBER_DATA_PUBLISH_INTERVAL ( 250 / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the balancing chamber data published. +#define TEST_ACID_VOLUME_ML 0.63F ///< Acid concentrate volume in ml. +#define TEST_BICARB_VOLUME_ML 1.07F ///< Bicarb concentrate volume in ml. // ********** private data ********** @@ -132,11 +134,8 @@ *************************************************************************/ U32 execBalancingChamberControl( void ) { - // Increment counter during fill time only, Also check dialysate needs to be bypassed. - if ( TRUE == isBalChamberFillInProgress ) - { - currentBalChamberSwitchingCounter += 1; - } + // Increment counter indicating fill is in progress. + currentBalChamberSwitchingCounter += 1; // execute current balancing chamber exec state switch ( balChamberExecState ) @@ -333,9 +332,6 @@ //Valve control for state 1 fill valveControlForBCState1FillStart(); - //Increment counter - currentBalChamberSwitchingCounter++; - // Update fill status flag to true isBalChamberFillInProgress = TRUE; @@ -361,9 +357,14 @@ static BAL_CHAMBER_EXEC_STATE_T handleBalChamberConcentrateControl( void ) { BAL_CHAMBER_EXEC_STATE_T state; - // TODO : start acid and bicarb pump with the expected quantity - // On completion of dosing, transition to next state based on the current switching state + // start acid and bicarb pump with the expected quantity + setConcentratePumpTargetSpeed( CONCENTRATEPUMPS_CP1_ACID, CONCENTRATE_PUMP_MAX_SPEED, TEST_ACID_VOLUME_ML ); + setConcentratePumpTargetSpeed( CONCENTRATEPUMPS_CP2_BICARB, CONCENTRATE_PUMP_MAX_SPEED, TEST_BICARB_VOLUME_ML ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP2_BICARB ); + + // On triggering of dosing, transition to next state based on the current switching state if ( BAL_CHAMBER_SW_STATE1 == balChamberSWState ) { state = BAL_CHAMBER_STATE1_FILL_END; @@ -405,6 +406,10 @@ { // close the state 1 opened valves valveControlForBCState1FillEnd(); + + //Stop the concentrate pumps + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID, NO_PARK_CONC_PUMPS ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB, NO_PARK_CONC_PUMPS ); } // On completion of cycle time, transition to next state @@ -451,9 +456,6 @@ // Valve control for state 2 fill valveControlForBCState2FillStart(); - //Increment counter - currentBalChamberSwitchingCounter++; - // Update fill status flag to true isBalChamberFillInProgress = TRUE; @@ -496,6 +498,10 @@ { // close the valves valveControlForBCState2FillEnd(); + + //Stop the concentrate pumps + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID, NO_PARK_CONC_PUMPS ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB, NO_PARK_CONC_PUMPS ); } // On completion of cycle time, transition to next state