Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -r1f91b5a53bda942b0967817bbd5e68a499dbf816 -r75e1ae332d1446dddf9b8d4ce6e8317449c57d67 --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 1f91b5a53bda942b0967817bbd5e68a499dbf816) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 75e1ae332d1446dddf9b8d4ce6e8317449c57d67) @@ -109,8 +109,6 @@ static SALINE_BOLUS_STATE_T handleSalineBolusInProgressState( DIALYSIS_STATE_T *dialysisState ); static SALINE_BOLUS_STATE_T handleSalineBolusMaxDeliveredState( DIALYSIS_STATE_T *dialysisState ); -static void startHeparinPump( void ); - static void checkUFAccuracyAndVolume( void ); static void updateUFVolumes( void ); @@ -130,15 +128,17 @@ { U16 i; - currentDialysisState = DIALYSIS_START_STATE; - currentUFState = UF_START_STATE; + currentDialysisState = DIALYSIS_UF_STATE; + currentUFState = UF_RUNNING_STATE; currentSalineBolusState = SALINE_BOLUS_STATE_IDLE; + lastUFTimeStamp = getMSTimerCount(); + uFTimeMS = 0; + refUFVolume = 0.0; measUFVolume = 0.0; measUFVolumeFromPriorReservoirs = 0.0; - // Send reset UF volumes to dialysate outlet pump - setDialOutUFVolumes( refUFVolume, measUFVolume ); + setDialOutUFVolumes( refUFVolume, measUFVolume ); // Send reset UF volumes to dialysate outlet pump driver uFTimeMS = 0; lastUFTimeStamp = 0; @@ -154,11 +154,12 @@ uFAccuracyCheckTimerCtr = 0; lastUFVolumeChecked = 0.0; - for (i=0; i= (F32)MAX_UF_ACCURACY_ERROR_ML ) + if ( ( fabs( refUFVolume - measUFVolume ) ) > (F32)MAX_UF_ACCURACY_ERROR_ML ) { #ifndef _RELEASE_ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_ULTRAFILTRATION_ALARMS ) != SW_CONFIG_ENABLE_VALUE )