Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -rd7926685f2fe3086bab183166119f0965a192a69 -r1a5efe97f5f39594b45797fded52cafce92afe80 --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision d7926685f2fe3086bab183166119f0965a192a69) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 1a5efe97f5f39594b45797fded52cafce92afe80) @@ -15,11 +15,13 @@ * ***************************************************************************/ +#include "ConcentratePumps.h" #include "DrainPump.h" #include "Heaters.h" #include "ModeFault.h" #include "OperationModes.h" #include "ROPump.h" +#include "SystemCommMessages.h" #include "UVReactors.h" #include "Valves.h" @@ -57,6 +59,12 @@ *************************************************************************/ void transitionToFaultMode( void ) { + // Publish POST failure status to UI if fault triggered in Init/POST mode + if ( DG_MODE_INIT == getPreviousOperationMode() ) + { + // Broadcast final POST failed + sendPOSTFinalResult( FALSE ); + } } /*********************************************************************//** @@ -113,16 +121,18 @@ setValveState( VPI, VALVE_STATE_CLOSED ); setValveState( VBF, VALVE_STATE_CLOSED ); setValveState( VSP, VALVE_STATE_CLOSED ); - setValveState( VPD, VALVE_STATE_OPEN_C_TO_NO ); + 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( VRD, VALVE_STATE_R2_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 ); - //TODO add the composition pumps + requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); signalROPumpHardStop(); signalDrainPumpHardStop(); stopPrimaryHeater();