Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -r62adb12dba3ca647a28460a98c63db425b492bf3 -r015acf2ae3ec46adbdd2f1028f01831418f1733d --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 62adb12dba3ca647a28460a98c63db425b492bf3) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 015acf2ae3ec46adbdd2f1028f01831418f1733d) @@ -15,6 +15,7 @@ * ***************************************************************************/ +#include "BalancingChamber.h" #include "ConcentratePumps.h" #include "ConductivitySensors.h" #include "Heaters.h" @@ -43,6 +44,7 @@ static DD_STANDBY_MODE_STATE_T standbyState; ///< Currently active standby state. static OVERRIDE_U32_T pendingStartDDRequest; ///< Flag indicating TD has requested DD start the dialysis delivery(Overridable). +static BOOL pendingBalanceChamberSwOnlyRequest; ///< Flag indicating balancing chamber switch only request. //static BOOL pendingStartDDFlushRequest; ///< Flag indicating TD has requested DD start flush. //static BOOL pendingStartDDHeatDisinfectRequest; ///< Flag indicating TD has requested DD start heat disinfect. //static BOOL pendingStartDDHeatDisinfectActiveCoolRequest; ///< Flag indicating TD has requested DD start heat disinfect active cool. @@ -67,6 +69,7 @@ pendingStartDDRequest.ovData = FALSE; pendingStartDDRequest.ovInitData = FALSE; pendingStartDDRequest.override = OVERRIDE_RESET; + pendingBalanceChamberSwOnlyRequest = FALSE; // pendingStartDDFlushRequest = FALSE; // pendingStartDDHeatDisinfectRequest = FALSE; // pendingStartDDHeatDisinfectActiveCoolRequest = FALSE; @@ -199,6 +202,11 @@ pendingStartDDRequest.data = FALSE; requestNewOperationMode( DD_MODE_GEND ); } + //Test request to handle only balancing chamber switching + else if ( TRUE == pendingBalanceChamberSwOnlyRequest ) + { + execBalancingChamberControl(); + } // else if ( TRUE == pendingStartDDFlushRequest ) // { // pendingStartDDFlushRequest = FALSE; @@ -265,6 +273,42 @@ /*********************************************************************//** * @brief + * The requestBCSwitchingOnlyStart function handles Balancing chamber switching + * only start request. + * @details \b Inputs: standbyState + * @details \b Outputs: pendingBalanceChamberSwOnlyRequest + * @return TRUE if request accepted, FALSE if not. + *************************************************************************/ +BOOL requestBCSwitchingOnlyStart( void ) +{ + BOOL result = FALSE; + + if ( DD_STANDBY_MODE_STATE_IDLE == standbyState ) + { + result = TRUE; + pendingBalanceChamberSwOnlyRequest = TRUE; + } + + return result; +} + +/*********************************************************************//** + * @brief + * The requestBCSwitchingOnlyStop function handles Balancing chamber switching + * only stop request. + * @details \b Inputs: standbyState + * @details \b Outputs: pendingBalanceChamberSwOnlyRequest + * @return none. + *************************************************************************/ +void requestBCSwitchingOnlyStop( void ) +{ + pendingBalanceChamberSwOnlyRequest = FALSE; + // Close all balancing chamber valves + valveControlForBCClosedState(); +} + +/*********************************************************************//** + * @brief * The startDDFlush function starts DD flush mode. * @details \b Inputs: standbyState * @details \b Outputs: none