Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -rd3819286869611f9c02add72a0f8e321598fdf42 -r622eebf6fb7f1c6c232ffd82bc072dd30a7b3f94 --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision d3819286869611f9c02add72a0f8e321598fdf42) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 622eebf6fb7f1c6c232ffd82bc072dd30a7b3f94) @@ -19,6 +19,7 @@ #include "CPLD.h" #include "DrainPump.h" #include "Heaters.h" +#include "MessageSupport.h" #include "ModeFault.h" #include "ModeStandby.h" #include "OperationModes.h" @@ -69,36 +70,42 @@ * @brief * The initStandbyMode function initializes the standby mode module. * @details Inputs: none - * @details Outputs: Standby mode module initialized + * @details Outputs: standbyState, stopSampleWaterRequest, startSampleWaterRequest, + * flushFilterRequest, endSampleWaterRequest, waterSampleStartTime, + * filterFlushStartTime, filterFlushPublishTimerCounter, pendingStartDGRequest * @return none *************************************************************************/ void initStandbyMode( void ) { - standbyState = DG_STANDBY_MODE_STATE_START; - stopSampleWaterRequest = FALSE; - startSampleWaterRequest = FALSE; - flushFilterRequest = FALSE; - endSampleWaterRequest = FALSE; - - waterSampleStartTime = 0; - filterFlushStartTime = 0; + standbyState = DG_STANDBY_MODE_STATE_START; + stopSampleWaterRequest = FALSE; + startSampleWaterRequest = FALSE; + flushFilterRequest = FALSE; + endSampleWaterRequest = FALSE; + waterSampleStartTime = 0; + filterFlushStartTime = 0; filterFlushPublishTimerCounter = 0; - pendingStartDGRequest = FALSE; + pendingStartDGRequest = FALSE; + + // Reset the heaters efficiency for another treatment + resetHeatersEfficiency(); } /*********************************************************************//** * @brief * The transitionToStandbyMode function prepares for transition to standby mode. * @details Inputs: none * @details Outputs: Re-initialized standby mode - * @return none + * @return initial state *************************************************************************/ -void transitionToStandbyMode( void ) +U32 transitionToStandbyMode( void ) { // re-initialize standby mode each time we transition to standby mode initStandbyMode(); deenergizeActuators(); + + return standbyState; } /*********************************************************************//** @@ -200,11 +207,13 @@ if ( FILTER_FLUSH_DATA_PUBLISH_INTERVAL <= filterFlushPublishTimerCounter++ ) { - U32 const timeout = filterFlushTimePeriod_ms / MS_PER_SECOND; - U32 const countdown = timeout - ( calcTimeSince( filterFlushStartTime ) / MS_PER_SECOND ); + STANDBY_MODE_DATA_T data; + + data.timeout = filterFlushTimePeriod_ms / MS_PER_SECOND; + data.countdown = data.timeout - ( calcTimeSince( filterFlushStartTime ) / MS_PER_SECOND ); filterFlushPublishTimerCounter = 0; - broadcastFilterFlushData( timeout, countdown ); + broadcastData( MSG_ID_DG_FILTER_FLUSH_PROGRESS, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&data, sizeof( STANDBY_MODE_DATA_T ) ); } if ( TRUE == endSampleWaterRequest )