Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -r7d4711edd7b40cd3e29f43e766f79a8a09586fe9 -r3a007e014c41538a1256ce5f42093763db82e84d --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 7d4711edd7b40cd3e29f43e766f79a8a09586fe9) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 3a007e014c41538a1256ce5f42093763db82e84d) @@ -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 ); } @@ -285,6 +287,11 @@ cmdResponse.rejectCode = DG_CMD_REQUEST_REJECT_REASON_INVALID_MODE; } + if ( FALSE == cmdResponse.rejected ) + { + transferInProgress = FALSE; + } + sendCommandResponseMsg( &cmdResponse ); } @@ -333,6 +340,11 @@ cmdResponse.rejectCode = DG_CMD_REQUEST_REJECT_REASON_INVALID_MODE; } + if ( FALSE == cmdResponse.rejected ) + { + transferInProgress = TRUE; + } + sendCommandResponseMsg( &cmdResponse ); } @@ -543,6 +555,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