Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -r47205a5002f27add91d8548f31c8a6fa18993fea -r54e58f64179ea382d2e2c403c8c3b9a15a612636 --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 47205a5002f27add91d8548f31c8a6fa18993fea) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 54e58f64179ea382d2e2c403c8c3b9a15a612636) @@ -32,9 +32,11 @@ // ********** private definitions ********** +#define DELAY_VALVE_MS ( 1 * MS_PER_SECOND ) ///< Valve state change delay in ms. + // ********** private data ********** -static DG_FAULT_STATE_T faultState = DG_FAULT_STATE_START; ///< Currently active fault state. +static DG_FAULT_STATE_T faultState = DG_FAULT_STATE_START; ///< Currently active fault state. // ********** private function prototypes ********** @@ -120,21 +122,21 @@ turnOffUVReactor( OUTLET_UV_REACTOR ); // De-energize all the valves - setValveState( VPI, VALVE_STATE_CLOSED ); - setValveState( VBF, VALVE_STATE_CLOSED ); - setValveState( VSP, VALVE_STATE_CLOSED ); - setValveState( VPD, VALVE_STATE_DRAIN_C_TO_NO ); - 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 ); - setValveState( VRD1, VALVE_STATE_CLOSED ); - setValveState( VRD2, VALVE_STATE_CLOSED ); - setValveState( VRI, VALVE_STATE_R1_C_TO_NO ); - setValveState( VRF, VALVE_STATE_R2_C_TO_NO ); + setValveStateDelayed( VPI, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VBF, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VSP, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VPD, VALVE_STATE_DRAIN_C_TO_NO, DELAY_VALVE_MS ); + setValveStateDelayed( VPO, VALVE_STATE_NOFILL_C_TO_NO, DELAY_VALVE_MS ); + setValveStateDelayed( VDR, VALVE_STATE_DRAIN_C_TO_NO, DELAY_VALVE_MS ); + setValveStateDelayed( VRC, VALVE_STATE_DRAIN_C_TO_NO, DELAY_VALVE_MS ); + setValveStateDelayed( VRO, VALVE_STATE_R1_C_TO_NO, DELAY_VALVE_MS ); + setValveStateDelayed( VRD1, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VRD2, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VRI, VALVE_STATE_R1_C_TO_NO, DELAY_VALVE_MS ); + setValveStateDelayed( VRF, VALVE_STATE_R2_C_TO_NO, DELAY_VALVE_MS ); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); signalROPumpHardStop(); signalDrainPumpHardStop(); stopHeater( DG_PRIMARY_HEATER );