Index: firmware/App/Controllers/FluidLeak.c =================================================================== diff -u -r7a7bf19d0cf16745566956f45cef57f8eb5df445 -r37a9fd8f15e413db5337371a7d1a1cb65567af7c --- firmware/App/Controllers/FluidLeak.c (.../FluidLeak.c) (revision 7a7bf19d0cf16745566956f45cef57f8eb5df445) +++ firmware/App/Controllers/FluidLeak.c (.../FluidLeak.c) (revision 37a9fd8f15e413db5337371a7d1a1cb65567af7c) @@ -1,17 +1,17 @@ /************************************************************************** * -* Copyright (c) 2019-2021 Diality Inc. - All Rights Reserved. +* Copyright (c) 2021-2022 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 FluidLeak.c +* @file FluidLeak.c * -* @author (last) Peman Montazemi -* @date (last) 10-Mar-2021 +* @author (last) Darren Cox +* @date (last) 10-Mar-2022 * -* @author (original) Peman Montazemi -* @date (original) 19-Feb-2021 +* @author (original) Peman Montazemi +* @date (original) 09-Mar-2021 * ***************************************************************************/ @@ -30,11 +30,12 @@ // ********** private definitions ********** -#define FLUID_LEAK_PUB_INTERVAL ( MS_PER_SECOND / TASK_PRIORITY_INTERVAL ) ///< Interval (ms/task time) at which the fluid leak data is published on the CAN bus. +#define FLUID_LEAK_PUB_INTERVAL ( MS_PER_SECOND / TASK_PRIORITY_INTERVAL ) ///< Interval (ms/task time) at which the fluid leak data is published on the CAN bus. +#define DATA_PUBLISH_COUNTER_START_COUNT 50 ///< Data publish counter start count. // ********** private data ********** -static U32 fluidLeakStatePublicationTimerCounter = 0; ///< Timer counter used to schedule fluid leak publication to CAN bus. +static U32 fluidLeakStatePublicationTimerCounter; ///< Timer counter used to schedule fluid leak publication to CAN bus. /// Interval (in ms) at which to publish fluid leak data to CAN bus. static OVERRIDE_U32_T fluidLeakStatePublishInterval = { FLUID_LEAK_PUB_INTERVAL, FLUID_LEAK_PUB_INTERVAL, 0, 0 }; @@ -53,10 +54,11 @@ *************************************************************************/ void initFluidLeak( void ) { - fluidLeakState.data = FLUID_LEAK_STATE_DRY; - fluidLeakState.ovInitData = FLUID_LEAK_STATE_DRY; - fluidLeakState.ovData = FLUID_LEAK_STATE_DRY; - fluidLeakState.override = OVERRIDE_RESET; + fluidLeakState.data = FLUID_LEAK_STATE_DRY; + fluidLeakState.ovInitData = FLUID_LEAK_STATE_DRY; + fluidLeakState.ovData = FLUID_LEAK_STATE_DRY; + fluidLeakState.override = OVERRIDE_RESET; + fluidLeakStatePublicationTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; } /*********************************************************************//** @@ -130,9 +132,9 @@ // Publish fluid leak state on interval if ( ++fluidLeakStatePublicationTimerCounter >= getU32OverrideValue( &fluidLeakStatePublishInterval ) ) { - FLUID_LEAK_STATES_T state = getFluidLeakState(); + U32 state = (U32)getFluidLeakState(); - broadcastFluidLeakState( state ); + broadcastData( MSG_ID_HD_FLUID_LEAK_STATE, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&state, sizeof( U32 ) ); fluidLeakStatePublicationTimerCounter = 0; } }