Index: firmware/App/Controllers/FluidLeak.c =================================================================== diff -u -ra9315539f527b92523b1598ff91e47db4d71dae2 -r0803f828b81e046166457564650acf6a9bbd3cc6 --- firmware/App/Controllers/FluidLeak.c (.../FluidLeak.c) (revision a9315539f527b92523b1598ff91e47db4d71dae2) +++ firmware/App/Controllers/FluidLeak.c (.../FluidLeak.c) (revision 0803f828b81e046166457564650acf6a9bbd3cc6) @@ -73,7 +73,6 @@ { BOOL noFluidLeakDetected = noFPGAFluidLeakDetected(); - if ( getCurrentOperationMode() != DG_MODE_INIT ) { // Get latest state reading @@ -87,13 +86,13 @@ } // Check state reading and act upon - if ( FLUID_LEAK_STATE_WET == getFluidLeakState() ) + if ( FLUID_LEAK_STATE_DRY == getFluidLeakState() ) { - activateAlarmNoData( ALARM_ID_DG_FLUID_LEAK_DETECTED ); + clearAlarmCondition( ALARM_ID_DG_FLUID_LEAK_DETECTED ); } - else // FLUID_LEAK_STATE_DRY == getFluidLeakState() + else { - clearAlarmCondition( ALARM_ID_DG_FLUID_LEAK_DETECTED ); + activateAlarmNoData( ALARM_ID_DG_FLUID_LEAK_DETECTED ); } } @@ -134,9 +133,11 @@ // Publish fluid leak state on interval if ( ++fluidLeakStatePublicationTimerCounter >= getU32OverrideValue( &fluidLeakStatePublishInterval ) ) { - U32 state = (U32)getFluidLeakState(); + FLUID_LEAK_DATA_T data; - broadcastData( MSG_ID_DG_FLUID_LEAK_STATE, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&state, sizeof( U32 ) ); + data.fluidLeakState = (U32)getFluidLeakState(); + + broadcastData( MSG_ID_DG_FLUID_LEAK_STATE, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&data, sizeof( FLUID_LEAK_DATA_T ) ); fluidLeakStatePublicationTimerCounter = 0; } }