Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r22bb2aeb8ba0702aba894f928dbaf751fa6dcfe6 -r94b71001f7153c03fedd6904534ef1c5180f5e4a --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 22bb2aeb8ba0702aba894f928dbaf751fa6dcfe6) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 94b71001f7153c03fedd6904534ef1c5180f5e4a) @@ -84,7 +84,7 @@ static BOOL fillReservoirOneStartRequested; ///< Flag indicates fill reservoir one has been requested. static BOOL reservoirFilledStatus[ NUM_OF_DG_RESERVOIRS ]; ///< Flag indicates a reservoir has been filled. static BOOL reservoirFlushedStatus[ NUM_OF_DG_RESERVOIRS ]; ///< Flag indicates a reservoir has been flushed. -static PRE_TREATMENT_RESERVOIR_FLAGS_T reservoirFlags[ NUM_OF_DG_RESERVOIRS ]; +static PRE_TREATMENT_RESERVOIR_FLAGS_T reservoirFlags[ NUM_OF_DG_RESERVOIRS ]; ///< Set of Flags that signal if the DG should wait to fill. // ********** private function prototypes ********** @@ -111,6 +111,7 @@ static PRE_TREATMENT_RESERVOIR_MGMT_STATE_T handlePreTreatmentReservoirMgmtFillCmdRespState( void ); static PRE_TREATMENT_RESERVOIR_MGMT_STATE_T handlePreTreatmentReservoirMgmtFillCompleteState( void ); static PRE_TREATMENT_RESERVOIR_MGMT_STATE_T handlePreTreatmentReservoirMgmtWaitReservoirSwitchState( void ); +static U32 getPreTreatmentFillVolume( DG_RESERVOIR_ID_T inactiveRes ); /*********************************************************************//** * @brief @@ -132,11 +133,10 @@ reservoirFilledStatus[ DG_RESERVOIR_1 ] = FALSE; reservoirFilledStatus[ DG_RESERVOIR_2 ] = FALSE; - for( U32 i = DG_RESERVOIR_1; i < NUM_OF_DG_RESERVOIRS; ++i ) - { - reservoirFlags[ i ].startFlushFill = FALSE; - reservoirFlags[ i ].startNormalFill = FALSE; - } + reservoirFlags[ DG_RESERVOIR_1 ].startFlushFill = FALSE; + reservoirFlags[ DG_RESERVOIR_1 ].startNormalFill = FALSE; + reservoirFlags[ DG_RESERVOIR_2 ].startFlushFill = FALSE; + reservoirFlags[ DG_RESERVOIR_2 ].startNormalFill = FALSE; initSampleWater(); initConsumableSelfTest(); @@ -164,11 +164,10 @@ F32 trimmerHeaterTemp = getTreatmentParameterF32( TREATMENT_PARAM_DIALYSATE_TEMPERATURE ); - for( U32 i = DG_RESERVOIR_1; i < NUM_OF_DG_RESERVOIRS; ++i ) - { - reservoirFlags[ i ].startFlushFill = FALSE; - reservoirFlags[ i ].startNormalFill = FALSE; - } + reservoirFlags[ DG_RESERVOIR_1 ].startFlushFill = FALSE; + reservoirFlags[ DG_RESERVOIR_1 ].startNormalFill = FALSE; + reservoirFlags[ DG_RESERVOIR_2 ].startFlushFill = FALSE; + reservoirFlags[ DG_RESERVOIR_2 ].startNormalFill = FALSE; initPreTreatmentMode(); @@ -1030,7 +1029,8 @@ * @brief * The handlePreTreatmentReservoirMgmtFillCmdState function sends fill * command to DG when DG is in re-circulate mode. - * @details Inputs: DG operation mode and operation sub-mode + * @details Inputs: DG operation mode, DG operation sub-mode, + * reservoirFlushedStatus, reservoirFlags * @details Outputs: sent fill command to DG * @return current state of pre-treatment reservoir management *************************************************************************/ @@ -1040,23 +1040,23 @@ DG_OP_MODE_T dgOpMode = getDGOpMode(); U32 dgSubMode = getDGSubMode(); U32 volume = 0; - DG_RESERVOIR_ID_T inactiveReservoir = getDGInactiveReservoir() + DG_RESERVOIR_ID_T inactiveReservoir = getDGInactiveReservoir(); if ( ( DG_MODE_GENE == dgOpMode ) && ( DG_GEN_IDLE_MODE_STATE_FLUSH_WATER == dgSubMode ) ) { - U32 volume = getPreTreatmentFillVolume( inactiveReservoir ); + volume = getPreTreatmentFillVolume( inactiveReservoir ); // not flushed and need to fill - if ( FALSE = reservoirFlushedStatus[ inactiveReservoir ] && - TRUE == reservoirFlags[ inactiveReservoir ].startFlushFill ) + if ( ( FALSE == reservoirFlushedStatus[ inactiveReservoir ] ) && + ( TRUE == reservoirFlags[ inactiveReservoir ].startFlushFill ) ) { cmdStartDGFill( volume, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); state = PRE_TREATMENT_RESERVOIR_MGMT_FILL_CMD_RESP_STATE; } // flushed and need to fill - if ( TRUE = reservoirFlushedStatus[ inactiveReservoir ] && - TRUE == reservoirFlags[ inactiveReservoir ].startNormalFill ) + if ( ( TRUE == reservoirFlushedStatus[ inactiveReservoir ] ) && + ( TRUE == reservoirFlags[ inactiveReservoir ].startNormalFill ) ) { cmdStartDGFill( volume, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); state = PRE_TREATMENT_RESERVOIR_MGMT_FILL_CMD_RESP_STATE; @@ -1196,10 +1196,12 @@ /*********************************************************************//** * @brief - * The getPreTreatmentFillVolume function - * @details Inputs: DG intactive reservoir - * @details Outputs: start filling next reservoir - * @return current state of pre-treatment reservoir management + * The getPreTreatmentFillVolume function determines which volume to fill + * the inactive reservoir. + * @details Inputs: reservoirFlushedStatus + * @details Outputs: none + * @param DG inactive Reservoir + * @return volume to fill *************************************************************************/ static U32 getPreTreatmentFillVolume( DG_RESERVOIR_ID_T inactiveRes ) {