Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -rd48e02f028dbd430bedda41be0173fbfc45116d7 -r7d4711edd7b40cd3e29f43e766f79a8a09586fe9 --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision d48e02f028dbd430bedda41be0173fbfc45116d7) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 7d4711edd7b40cd3e29f43e766f79a8a09586fe9) @@ -1,14 +1,14 @@ /************************************************************************** * -* Copyright (c) 2019-2022 Diality Inc. - All Rights Reserved. +* Copyright (c) 2019-2024 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file ModeFault.c * * @author (last) Dara Navaei -* @date (last) 12-Oct-2022 +* @date (last) 29-Aug-2023 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 @@ -18,7 +18,9 @@ #include "ConcentratePumps.h" #include "DrainPump.h" #include "Heaters.h" +#include "ModeChemicalDisinfect.h" #include "ModeFault.h" +#include "ModeHeatDisinfect.h" #include "NVDataMgmt.h" #include "OperationModes.h" #include "ROPump.h" @@ -73,7 +75,7 @@ deenergizeActuators( PARK_CONC_PUMPS ); initFaultMode(); - + setCurrentSubState( NO_SUB_STATE ); // Publish POST failure status to UI if fault triggered in Init/POST mode if ( DG_MODE_INIT == getPreviousOperationMode() ) { @@ -88,6 +90,11 @@ // 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; } @@ -114,7 +121,13 @@ break; case DG_FAULT_STATE_COMPLETE: - // Do nothing + // Do nothing unless the test configuration to recover treatment is enabled + if ( ( TRUE == getTestConfigStatus( TEST_CONFIG_RECOVER_TREATMENT ) ) && ( TRUE == hasRecoverFromFaultModeBeenSet() ) ) + { + DG_OP_MODE_T prevMode = getPreviousOperationMode(); + + requestNewOperationMode( prevMode ); + } break; default: