Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -re6e05130918b0aa7cd742d88e3b2cd850316cde7 -rac029c36127b916d68c0039a470c3e4c68879adf --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision e6e05130918b0aa7cd742d88e3b2cd850316cde7) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision ac029c36127b916d68c0039a470c3e4c68879adf) @@ -1,14 +1,14 @@ /************************************************************************** * -* Copyright (c) 2020-2023 Diality Inc. - All Rights Reserved. +* Copyright (c) 2020-2024 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 * -* @author (last) Sean Nash -* @date (last) 30-Sep-2023 +* @author (last) Dara Navaei +* @date (last) 02-Mar-2024 * * @author (original) Sean * @date (original) 18-Mar-2020 @@ -125,6 +125,7 @@ static RESERVOIRS_PREVIOUS_STATUS reservoirPreviousStatus[ NUM_OF_DG_RESERVOIRS ]; ///< Reservoirs previous status. static HD_MODE_SUB_MODE_T hdModes; ///< HD operations mode. static NV_OPS_T nvOps; ///< Non-volatile memory operations. +static BOOL transferInProgress; ///< Flag indicates if transfer is in progress between reservoirs. // ********** private function prototypes ********** @@ -149,6 +150,7 @@ dataPublishCounter = DATA_PUBLISH_COUNTER_START_COUNT; nvOps.hasDisStatusBeenWrittenToNV = FALSE; nvOps.hasROGenVolBeenWrittenToNV = FALSE; + transferInProgress = FALSE; memset( &reservoirPreviousStatus, 0.0, sizeof( RESERVOIRS_PREVIOUS_STATUS ) * NUM_OF_DG_RESERVOIRS ); } @@ -173,7 +175,8 @@ getNVRecord2Driver( GET_CAL_HEATING_RECORD, (U08*)&heatingConstsCalRecord, sizeof( heatingConstsCalRecord ), NUM_OF_CAL_DATA_RSRVRS, ALARM_ID_DG_HEATING_INVALID_CAL_RECORD ); - getNVRecord2Driver( GET_CAL_FILL_CONDUCTIVITIES_RECORD, (U08*)&fillCondCalRecord, sizeof( fillCondCalRecord ), 0, ALARM_ID_NO_ALARM ); + getNVRecord2Driver( GET_CAL_FILL_CONDUCTIVITIES_RECORD, (U08*)&fillCondCalRecord, sizeof( fillCondCalRecord ), + NUM_OF_ACID_TYPE, ALARM_ID_DG_FILL_CONDUCTIVITIES_INVALID_CAL_RECORD ); } // If the mode is fault or it is standby and the RO volume has not been written already, write it @@ -223,7 +226,8 @@ calStatus |= getNVRecord2Driver( GET_CAL_BICARB_CONCENTRATES, (U08*)&bicarbConcentrateCalRecord, sizeof( bicarbConcentrateCalRecord ), NUM_OF_ACID_AND_BICARB_NV_DATA_TO_CHECK, ALARM_ID_DG_BICARB_CONCENTRATE_INVALID_CAL_RECORD ); - calStatus |= getNVRecord2Driver( GET_CAL_FILL_CONDUCTIVITIES_RECORD, (U08*)&fillCondCalRecord, sizeof( fillCondCalRecord ), 0, ALARM_ID_NO_ALARM ); + calStatus |= getNVRecord2Driver( GET_CAL_FILL_CONDUCTIVITIES_RECORD, (U08*)&fillCondCalRecord, sizeof( fillCondCalRecord ), + NUM_OF_ACID_TYPE, ALARM_ID_DG_FILL_CONDUCTIVITIES_INVALID_CAL_RECORD ); if ( TRUE == calStatus ) { @@ -285,6 +289,11 @@ cmdResponse.rejectCode = DG_CMD_REQUEST_REJECT_REASON_INVALID_MODE; } + if ( FALSE == cmdResponse.rejected ) + { + transferInProgress = FALSE; + } + sendCommandResponseMsg( &cmdResponse ); } @@ -333,6 +342,11 @@ cmdResponse.rejectCode = DG_CMD_REQUEST_REJECT_REASON_INVALID_MODE; } + if ( FALSE == cmdResponse.rejected ) + { + transferInProgress = TRUE; + } + sendCommandResponseMsg( &cmdResponse ); } @@ -543,6 +557,18 @@ /*********************************************************************//** * @brief + * The isReservoirTransferInProgress function gets the transferInProgress flag. + * @details Inputs: transferInProgress + * @details Outputs: none + * @return reservoir in progress flag. + *************************************************************************/ +BOOL isReservoirTransferInProgress( void ) +{ + return transferInProgress; +} + +/*********************************************************************//** + * @brief * The getTargetDialysateFlowLPM function returns the target dialysate flow * rate in L/min. * @details Inputs: none