Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -r012ee7b4f72e47aa351eb723abca0e3104ea677b -r2b60564ac818a6692b714dfd9920d2e2fcf0937d --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 012ee7b4f72e47aa351eb723abca0e3104ea677b) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 2b60564ac818a6692b714dfd9920d2e2fcf0937d) @@ -1,24 +1,25 @@ /************************************************************************** * -* 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 "ModeDrain.h" +#include "MessageSupport.h" #include "ModeGenIdle.h" #include "OperationModes.h" #include "Pressures.h" @@ -90,8 +91,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 ) @@ -105,11 +106,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; } }