Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r5fa35605ee20c25df3bdc822a772e4a6fe6283a6 -rc199cb4ae8b8ec123607b43c2f650964ef26ecf0 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 5fa35605ee20c25df3bdc822a772e4a6fe6283a6) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision c199cb4ae8b8ec123607b43c2f650964ef26ecf0) @@ -86,7 +86,6 @@ 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 ]; ///< Set of Flags that signal if the DG should wait to fill. - // ********** private function prototypes ********** static void publishPreTreatmentState( void ); @@ -122,7 +121,6 @@ *************************************************************************/ void initPreTreatmentMode( void ) { - currentPreTreatmentState = HD_PRE_TREATMENT_START_STATE; currentReservoirMgmtState = PRE_TREATMENT_RESERVOIR_MGMT_START_STATE; setUFVolStatus = FALSE; @@ -163,12 +161,6 @@ { F32 trimmerHeaterTemp = getTreatmentParameterF32( TREATMENT_PARAM_DIALYSATE_TEMPERATURE ); - - 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(); // Set the heaters specs to start heating up the water @@ -1053,7 +1045,13 @@ cmdStartDGFill( volume, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); state = PRE_TREATMENT_RESERVOIR_MGMT_FILL_CMD_RESP_STATE; } + else if ( ( FALSE == reservoirFlushedStatus[ inactiveReservoir ] ) && + ( FALSE == reservoirFlags[ inactiveReservoir ].startFlushFill ) ) + { + state = PRE_TREATMENT_RESERVOIR_MGMT_FILL_COMPLETE_STATE; + } + // flushed and need to fill if ( ( TRUE == reservoirFlushedStatus[ inactiveReservoir ] ) && ( TRUE == reservoirFlags[ inactiveReservoir ].startNormalFill ) ) @@ -1178,8 +1176,7 @@ if ( ( TRUE == reservoirFilledStatus[ DG_RESERVOIR_1 ] ) && ( FALSE == reservoirFilledStatus[ DG_RESERVOIR_2 ] ) ) { - if ( ( DG_RESERVOIR_2 == getDGInactiveReservoir() ) && - ( TRUE == reservoirFlags[ DG_RESERVOIR_2 ].startFlushFill ) ) + if ( DG_RESERVOIR_2 == getDGInactiveReservoir() ) { state = PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_STATE; } @@ -1206,8 +1203,8 @@ *************************************************************************/ static U32 getPreTreatmentFillVolume( DG_RESERVOIR_ID_T inactiveRes ) { - U32 volume = 0; + // Fill volumes after flushing if ( TRUE == reservoirFlushedStatus[ inactiveRes ] ) { @@ -1233,7 +1230,6 @@ else { volume = PRE_TREATMENT_FLUSH_RESERVOIR_VOLUME_ML; - #ifndef _RELEASE_ if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRIMING ) ) { @@ -1242,7 +1238,6 @@ #endif } return volume; - }