Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -r4fb1e15d35f6b968bab5620909c30baec98bfd4e -rf7c714a1a09b10d85a8b013712532d37b4d7b97a --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 4fb1e15d35f6b968bab5620909c30baec98bfd4e) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision f7c714a1a09b10d85a8b013712532d37b4d7b97a) @@ -15,13 +15,12 @@ * ***************************************************************************/ - #include "OperationModes.h" #include "ModeFault.h" #include "Messaging.h" #include "Utilities.h" +#include "Valves.h" - /** * @addtogroup DDFaultMode * @{ @@ -43,9 +42,9 @@ /*********************************************************************//** * @brief - * The initFaultMode function initializes the Fault Mode module. + * The initFaultMode function initializes the Fault Mode unit. * @details \b Inputs : none - * @details \b Outputs: Fault mode module initialized + * @details \b Outputs: Fault mode unit initialized * @return none *************************************************************************/ void initFaultMode( void ) @@ -63,7 +62,7 @@ *************************************************************************/ U32 transitionToFaultMode( void ) { -// deenergizeActuators( PARK_CONC_PUMPS ); + //deenergizeActuators( PARK_CONC_PUMPS ); initFaultMode(); setCurrentSubState( NO_SUB_STATE ); @@ -74,18 +73,6 @@ //sendPOSTFinalResult( FALSE ); } - //setCPLDCleanLEDColor( CPLD_CLEAN_LED_OFF ); - - // Release RTC in case the RTC semaphore was not released prior to transitioning to fault mode. - // In fault mode, the non-volatile data mgmt POST might be run again so the RTC has to be available. Also, - // the RTC time is read every second which requires the semaphore. - releaseSemaphore( SEMAPHORE_RTC ); - -//#ifndef _RELEASE_ -// setHeatNelsonSupportMode( NELSON_NONE ); -// setChemNelsonSupportMode( NELSON_NONE ); -//#endif - return faultState; } @@ -152,28 +139,38 @@ *************************************************************************/ void deenergizeActuators( BOOL parkPumps ) { -// // Turn off the UV reactors -// turnOffUVReactor( INLET_UV_REACTOR ); -// turnOffUVReactor( OUTLET_UV_REACTOR ); -// -// // De-energize all the valves -// 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 ); -// + U32 i; + + // De-energize all the hydraulics valves + // TODO : valve state name needs to be updated + setValveStateDelayed( VDR, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VTD, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VHB, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VRP, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VHO, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VDB1, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VP1, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VPT, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VDB2, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VDI, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VDO, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VP2, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + setValveStateDelayed( VHI, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + + // De-energize Balancing chamber and Ultrafiltration valves + for ( i = FIRST_BC_VALVE; i <= LAST_BC_VALVE; i++ ) + { + setValveStateDelayed( (VALVES_T)i, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + } + + for ( i = FIRST_UF_VALVE; i <= FIRST_UF_VALVE; i++ ) + { + setValveStateDelayed( (VALVES_T)i, VALVE_STATE_CLOSED, DELAY_VALVE_MS ); + } + // requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID, parkPumps ); // requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB, parkPumps ); // signalROPumpHardStop(); -// signalDrainPumpHardStop(); // stopHeater( DD_PRIMARY_HEATER ); // stopHeater( DD_TRIMMER_HEATER ); }