Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -rcbcd41ec1ac2d5ae6446ec206ed6991a5306c249 -r94a190522ce398399c7b93c59f788d7666ec0060 --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision cbcd41ec1ac2d5ae6446ec206ed6991a5306c249) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 94a190522ce398399c7b93c59f788d7666ec0060) @@ -1,23 +1,24 @@ /************************************************************************** * -* Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +* Copyright (c) 2019-2021 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 Reservoirs.c +* @file Reservoirs.c * -* @author (last) Quang Nguyen -* @date (last) 26-Aug-2020 +* @author (last) Dara Navaei +* @date (last) 11-Nov-2021 * -* @author (original) Sean -* @date (original) 18-Mar-2020 +* @author (original) Sean +* @date (original) 18-Mar-2020 * ***************************************************************************/ #include // for memcpy() #include "LoadCell.h" +#include "MessageSupport.h" #include "ModeGenIdle.h" #include "OperationModes.h" #include "Reservoirs.h" @@ -84,8 +85,8 @@ /*********************************************************************//** * @brief * The execReservoirs function manages periodic tasks for the Reservoirs module. - * @details Inputs: none - * @details Outputs: Reservoir data broadcast on interval + * @details Inputs: reservoirDataPublicationTimerCounter + * @details Outputs: reservoirDataPublicationTimerCounter * @return none *************************************************************************/ void execReservoirs( void ) @@ -99,11 +100,14 @@ // publish active reservoir, fill/drain volume targets at 1 Hz. if ( ++reservoirDataPublicationTimerCounter >= RESERVOIR_DATA_PUB_INTERVAL ) - { - U32 actRes = getU32OverrideValue( &activeReservoir ); - U32 filVol = getU32OverrideValue( &fillVolumeTargetMl ); - U32 drnVol = getU32OverrideValue( &drainVolumeTargetMl ); - broadcastReservoirData( actRes, filVol, drnVol ); + { + RESERVOIR_DATA_T data; + + data.activeReservoir = getU32OverrideValue( &activeReservoir ); + data.fillToVolumeMl = getU32OverrideValue( &fillVolumeTargetMl ); + data.drainToVolumeMl = getU32OverrideValue( &drainVolumeTargetMl ); + + broadcastData( MSG_ID_DG_RESERVOIR_DATA, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&data, sizeof( RESERVOIR_DATA_T ) ); reservoirDataPublicationTimerCounter = 0; } }