Index: firmware/App/Modes/ModeChemicalDisinfect.c =================================================================== diff -u -r56ba1b163b0cbf6953638065b2108f745b17ec8f -ra3916397312e1dc73efe99d6b3569b7387a9419b --- firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision 56ba1b163b0cbf6953638065b2108f745b17ec8f) +++ firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision a3916397312e1dc73efe99d6b3569b7387a9419b) @@ -286,6 +286,8 @@ initPersistentAlarm( ALARM_ID_DG_CHEM_DISINFECT_TARGET_TEMP_OUT_OF_RANGE, DISINFECT_TEMP_OUT_OF_RANGE_TIMEOUT_MS, DISINFECT_TEMP_OUT_OF_RANGE_TIMEOUT_MS ); initPersistentAlarm( ALARM_ID_DG_CHEM_DISINFECT_TARGET_COND_OUT_OF_RANGE, DISINFECT_COND_OUT_OF_RANGE_TIMEOUT_MS, DISINFECT_COND_OUT_OF_RANGE_TIMEOUT_MS ); + + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID, PARK_CONC_PUMPS ); } /*********************************************************************//** @@ -306,7 +308,7 @@ setCPLDCleanLEDColor( CPLD_CLEAN_LED_YELLOW ); #ifndef _RELEASE_ - if ( nelsonSupport != NELSON_POS_CONTROL_CHEM_DISINFECT ) + if ( nelsonSupport != NELSON_CHEM_DISINFECT ) #endif { activateAlarmNoData( ALARM_ID_DG_CHEM_DISINFECT_INSERT_ACID ); @@ -576,14 +578,8 @@ setValveState( VRD2, VALVE_STATE_CLOSED ); setValveState( VPI, VALVE_STATE_OPEN ); setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); + turnOnUVReactor( INLET_UV_REACTOR ); -#ifndef _RELEASE_ - if ( nelsonSupport != NELSON_POS_CONTROL_CHEM_DISINFECT ) -#endif - { - turnOnUVReactor( INLET_UV_REACTOR ); - } - stateTrialCounter = 0; stateTimer = getMSTimerCount(); state = DG_CHEM_DISINFECT_STATE_FLUSH_DRAIN; @@ -621,18 +617,12 @@ // set pumps and valves for next state, flush circulation setValveState( VPD, VALVE_STATE_OPEN_C_TO_NC ); setROPumpTargetFlowRateLPM( RO_PUMP_TARGET_FLUSH_FLOW_RATE_LPM, MAX_RO_PUMP_FLUSH_FILL_PRESSURE_PSI ); + // Start heating the water while we are flushing + setHeaterTargetTemperature( DG_PRIMARY_HEATER, CHEM_DISINFECT_HEATER_CONTROL_TEMPERATURE_C ); + startHeater( DG_PRIMARY_HEATER ); + // The UV reactors will be on for the entire disinfect cycle + turnOnUVReactor( OUTLET_UV_REACTOR ); -#ifndef _RELEASE_ - if ( nelsonSupport != NELSON_POS_CONTROL_CHEM_DISINFECT ) -#endif - { - // Start heating the water while we are flushing - setHeaterTargetTemperature( DG_PRIMARY_HEATER, CHEM_DISINFECT_HEATER_CONTROL_TEMPERATURE_C ); - startHeater( DG_PRIMARY_HEATER ); - // The UV reactors will be on for the entire disinfect cycle - turnOnUVReactor( OUTLET_UV_REACTOR ); - } - flushCircWaitTime = FLUSH_CICRCULATION_INITIAL_WAIT_TIME_MS; stateTimer = getMSTimerCount(); state = DG_CHEM_DISINFECT_STATE_FLUSH_CIRCULATION; @@ -696,7 +686,7 @@ } // Check if any of the temperature sensors are out of tolerance - if( ( TRUE == isTPoOut ) || ( TRUE == isTD2Out ) || ( TRUE == isCD2Out ) || ( TRUE == isCPoOut) ) + if( ( TRUE == isTPoOut ) || ( TRUE == isTD2Out ) || ( TRUE == isCD2Out ) || ( TRUE == isCPoOut ) ) { // Check if we have exceeded the number of trials. If not, try another time ++stateTrialCounter; @@ -762,7 +752,7 @@ #ifndef _RELEASE_ if ( ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_DISINFECT_CONDUCTIVITY_CHECK ) != SW_CONFIG_ENABLE_VALUE ) && - ( ( nelsonSupport != NELSON_POS_CONTROL_CHEM_DISINFECT ) || ( nelsonSupport != NELSON_CHEM_DISINFECT ) ) ) + ( nelsonSupport != NELSON_CHEM_DISINFECT ) ) #endif { if ( cd2Conductivity < MIN_PRIME_ACID_CONDUCTIVITY_US_PER_CM ) @@ -1099,7 +1089,7 @@ state = DG_CHEM_DISINFECT_STATE_DRAIN_R1; #ifndef _RELEASE_ - if ( ( NELSON_POS_CONTROL_CHEM_DISINFECT == nelsonSupport ) || ( NELSON_CHEM_DISINFECT == nelsonSupport ) ) + if ( NELSON_CHEM_DISINFECT == nelsonSupport ) { deenergizeActuators( NO_PARK_CONC_PUMPS ); state = DG_CHEM_DISINFECT_STATE_COMPLETE; @@ -1784,9 +1774,7 @@ { switch ( nelsonSupport ) { - case NELSON_POS_CONTROL_CHEM_DISINFECT: case NELSON_CHEM_DISINFECT: - // Set the valves to start flush circulation setValveState( VPI, VALVE_STATE_OPEN ); setValveState( VBF, VALVE_STATE_CLOSED ); @@ -1800,17 +1788,11 @@ setValveState( VRD1, VALVE_STATE_CLOSED ); setValveState( VRD2, VALVE_STATE_CLOSED ); setROPumpTargetFlowRateLPM( RO_PUMP_TARGET_FLUSH_FLOW_RATE_LPM, MAX_RO_PUMP_FLUSH_FILL_PRESSURE_PSI ); + setHeaterTargetTemperature( DG_PRIMARY_HEATER, CHEM_DISINFECT_HEATER_CONTROL_TEMPERATURE_C ); + startHeater( DG_PRIMARY_HEATER ); + turnOnUVReactor( INLET_UV_REACTOR ); + turnOnUVReactor( OUTLET_UV_REACTOR ); -#ifndef _RELEASE_ - if ( NELSON_CHEM_DISINFECT == nelsonSupport ) -#endif - { - setHeaterTargetTemperature( DG_PRIMARY_HEATER, CHEM_DISINFECT_HEATER_CONTROL_TEMPERATURE_C ); - startHeater( DG_PRIMARY_HEATER ); - turnOnUVReactor( INLET_UV_REACTOR ); - turnOnUVReactor( OUTLET_UV_REACTOR ); - } - flushCircWaitTime = FLUSH_CICRCULATION_INITIAL_WAIT_TIME_MS; stateTimer = getMSTimerCount(); chemDisinfectState = DG_CHEM_DISINFECT_STATE_FLUSH_CIRCULATION;