Index: firmware/App/Modes/ModeGenDialysate.c =================================================================== diff -u -rd748813399d38ef5b71d760e327e368cc82d7a38 -re79eb4fbdacbc729b0f611f7d27b03ef004dc3da --- firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision d748813399d38ef5b71d760e327e368cc82d7a38) +++ firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision e79eb4fbdacbc729b0f611f7d27b03ef004dc3da) @@ -162,6 +162,7 @@ { initGenDialysateMode(); setCurrentSubState( NO_SUB_STATE ); + deactivateBalChamberSwitching(); transitionToUltrafiltration(); return genDialysateState; @@ -609,6 +610,8 @@ { DD_GEND_MODE_STATE_T state = DD_GEND_ISOLATED_UF_STATE; + deactivateBalChamberSwitching(); + //TODO: define isoalted ultrafiltration. return state; @@ -642,7 +645,7 @@ else { //Execute balancing chamber - execBalancingChamberControl(); + activateBalChamberSwitching(); } if ( getTestConfigStatus( TEST_CONFIG_DD_ENABLE_SPENT_CHAMBER_H_FILL ) == TRUE ) @@ -721,7 +724,7 @@ else { //Execute balancing chamber - execBalancingChamberControl(); + activateBalChamberSwitching(); //Execute ultrafiltration execUFControl(); @@ -745,6 +748,8 @@ LEVEL_STATE_T spentChamberLevel = getLevelStatus( D46_LEVL ); U32 totalSpentChamberFill = getTotalSpentChamberFillCounts(); + deactivateBalChamberSwitching(); + // High level is met or total fill count exceeded if ( ( LEVEL_STATE_HIGH == spentChamberLevel ) || ( totalSpentChamberFill >= SPENT_CHAMBER_FILL_MAX_COUNT ) ) @@ -784,6 +789,8 @@ LEVEL_STATE_T bicarbChamberLevel = getLevelStatus( D63_LEVL ); BOOL isBicarbFillTimeout = FALSE; + deactivateBalChamberSwitching(); + if ( TRUE == didTimeout( bicarbFillStartTimeMS, BICARB_CHAMBER_FILL_TIMEOUT ) ) { isBicarbFillTimeout = TRUE; @@ -840,6 +847,8 @@ DD_GEND_MODE_STATE_T state = DD_GEND_DIALYSATE_DELIVERY_PAUSE; F32 dialFlowrate = getTDDialysateFlowrate(); + deactivateBalChamberSwitching(); + // Resume pause when Qd is not zero if ( dialFlowrate > ZERO_DIAL_FLOW_RATE ) {