Index: firmware/App/Controllers/FluidLeak.c =================================================================== diff -u -r006ac87faf5a04edba3fa192a88a16b46f6106ec -r939c150fe0a0feabe1fa8bea2a9ebc6f0919f482 --- firmware/App/Controllers/FluidLeak.c (.../FluidLeak.c) (revision 006ac87faf5a04edba3fa192a88a16b46f6106ec) +++ firmware/App/Controllers/FluidLeak.c (.../FluidLeak.c) (revision 939c150fe0a0feabe1fa8bea2a9ebc6f0919f482) @@ -18,6 +18,7 @@ #include "AlarmMgmt.h" #include "FluidLeak.h" #include "FPGA.h" +#include "OperationModes.h" #include "SystemCommMessages.h" #include "TaskPriority.h" #include "Timers.h" @@ -67,25 +68,29 @@ { BOOL noFluidLeakDetected = noFPGAFluidLeakDetected(); - // Get latest state reading - if ( TRUE == noFluidLeakDetected ) - { - fluidLeakState.data = FLUID_LEAK_STATE_DRY; - } - else - { - fluidLeakState.data = FLUID_LEAK_STATE_WET; - } - // Check state reading and act upon - if ( FLUID_LEAK_STATE_WET == getFluidLeakState() ) + if ( getCurrentOperationMode() != DG_MODE_INIT ) { - activateAlarmNoData( ALARM_ID_DG_FLUID_LEAK_DETECTED ); + // Get latest state reading + if ( TRUE == noFluidLeakDetected ) + { + fluidLeakState.data = FLUID_LEAK_STATE_DRY; + } + else + { + fluidLeakState.data = FLUID_LEAK_STATE_WET; + } + + // Check state reading and act upon + if ( FLUID_LEAK_STATE_WET == getFluidLeakState() ) + { + activateAlarmNoData( ALARM_ID_DG_FLUID_LEAK_DETECTED ); + } + else // FLUID_LEAK_STATE_DRY == getFluidLeakState() + { + clearAlarmCondition( ALARM_ID_DG_FLUID_LEAK_DETECTED ); + } } - else // FLUID_LEAK_STATE_DRY == getFluidLeakState() - { - clearAlarmCondition( ALARM_ID_DG_FLUID_LEAK_DETECTED ); - } // Publish fluid leak state if due publishFluidLeakState();