Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -r2fff37fa585181917705645494549b5fd4a4d522 -r89259a1e69799a051874afaf351c37091bef26da --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 2fff37fa585181917705645494549b5fd4a4d522) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 89259a1e69799a051874afaf351c37091bef26da) @@ -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,18 +122,18 @@ 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 );