Index: firmware/App/Modes/ModeHeatDisinfectActiveCool.c =================================================================== diff -u -r721bd715bef050760e5c0f79044d1cba642c8354 -re7947c44f93d92e739a8c3d520dcd2678280cd01 --- firmware/App/Modes/ModeHeatDisinfectActiveCool.c (.../ModeHeatDisinfectActiveCool.c) (revision 721bd715bef050760e5c0f79044d1cba642c8354) +++ firmware/App/Modes/ModeHeatDisinfectActiveCool.c (.../ModeHeatDisinfectActiveCool.c) (revision e7947c44f93d92e739a8c3d520dcd2678280cd01) @@ -73,6 +73,9 @@ #define RSRVR_ACTIVE_COOL_BELOW_TARGET_TEMP_TIMEOUT_MS ( 15 * MS_PER_SECOND ) ///< Reservoir active cool temperature below target timeout in milliseconds. #define RSRVR_ACTIVE_COOL_TARGET_TEMP_TIMEOUT_MS ( 10 * SEC_PER_MIN * MS_PER_SECOND ) ///< Reservoir active cool target temperature met in milliseconds. +// Reservoir drain defines +#define RSRVR_ACTIVE_COOL_DRAIN_TARGET_FLOW_LPM 0.3F ///< Reservoir active cool drain target flow in L/min. + /// Non-volatile write structure typedef struct { @@ -985,11 +988,11 @@ case DG_HEAT_DISINFECT_ACTIVE_COOL_DRAIN_R1_STATE: // Valves - setValveState( VPI, VALVE_STATE_CLOSED ); + setValveState( VPI, VALVE_STATE_OPEN ); setValveState( VBF, VALVE_STATE_CLOSED ); setValveState( VSP, VALVE_STATE_CLOSED ); - setValveState( VPD, VALVE_STATE_DRAIN_C_TO_NO ); - setValveState( VPO, VALVE_STATE_FILL_C_TO_NC ); + setValveState( VPD, VALVE_STATE_OPEN_C_TO_NC ); + setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); setValveState( VDR, VALVE_STATE_DRAIN_C_TO_NO ); setValveState( VRC, VALVE_STATE_DRAIN_C_TO_NO ); setValveState( VRO, VALVE_STATE_R1_C_TO_NO ); @@ -1001,21 +1004,23 @@ turnOffUVReactor( INLET_UV_REACTOR ); turnOffUVReactor( OUTLET_UV_REACTOR ); // Concentrate pumps - requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID , NO_PARK_CONC_PUMPS ); - requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB , NO_PARK_CONC_PUMPS ); + setConcentratePumpTargetSpeed( CONCENTRATEPUMPS_CP1_ACID, ACID_PUMP_SPEED_ML_PER_MIN ); + setConcentratePumpTargetSpeed( CONCENTRATEPUMPS_CP2_BICARB, BICARB_PUMP_SPEED_ML_PER_MIN ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP2_BICARB ); // RO pump - signalROPumpHardStop(); + setROPumpTargetFlowRateLPM( RSRVR_ACTIVE_COOL_DRAIN_TARGET_FLOW_LPM, RSRVR_ACTIVE_COOL_MAX_ALLOWED_PRESSURE_PSI ); // Drain pump setDrainPumpTargetRPM( RSRVR_DRAIN_TARGET_RPM ); break; case DG_HEAT_DISINFECT_ACTIVE_COOL_DRAIN_R2_STATE: // Valves - setValveState( VPI, VALVE_STATE_CLOSED ); + setValveState( VPI, VALVE_STATE_OPEN ); setValveState( VBF, VALVE_STATE_CLOSED ); setValveState( VSP, VALVE_STATE_CLOSED ); - setValveState( VPD, VALVE_STATE_DRAIN_C_TO_NO ); - setValveState( VPO, VALVE_STATE_FILL_C_TO_NC ); + setValveState( VPD, VALVE_STATE_OPEN_C_TO_NC ); + setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); setValveState( VDR, VALVE_STATE_DRAIN_C_TO_NO ); setValveState( VRC, VALVE_STATE_DRAIN_C_TO_NO ); setValveState( VRO, VALVE_STATE_R1_C_TO_NO ); @@ -1027,10 +1032,12 @@ turnOffUVReactor( INLET_UV_REACTOR ); turnOffUVReactor( OUTLET_UV_REACTOR ); // Concentrate pumps - requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID, NO_PARK_CONC_PUMPS ); - requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB, NO_PARK_CONC_PUMPS ); + setConcentratePumpTargetSpeed( CONCENTRATEPUMPS_CP1_ACID, ACID_PUMP_SPEED_ML_PER_MIN ); + setConcentratePumpTargetSpeed( CONCENTRATEPUMPS_CP2_BICARB, BICARB_PUMP_SPEED_ML_PER_MIN ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP2_BICARB ); // RO pump - signalROPumpHardStop(); + setROPumpTargetFlowRateLPM( RSRVR_ACTIVE_COOL_DRAIN_TARGET_FLOW_LPM, RSRVR_ACTIVE_COOL_MAX_ALLOWED_PRESSURE_PSI ); // Drain pump setDrainPumpTargetRPM( RSRVR_DRAIN_TARGET_RPM ); break;