Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -r1f91b5a53bda942b0967817bbd5e68a499dbf816 -ra15b3ca05344fb3aeb49dc41c384345ec2651ce0 --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 1f91b5a53bda942b0967817bbd5e68a499dbf816) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision a15b3ca05344fb3aeb49dc41c384345ec2651ce0) @@ -677,11 +677,6 @@ stopSyringePump(); setHeparinCompleted(); } - // TODO - find a better way to start continuous delivery after bolus completes - if ( HEPARIN_STATE_STOPPED == getHeparinState() ) - { - startHeparinPump(); - } // Handle current ultrafiltration state switch ( currentUFState ) @@ -909,6 +904,7 @@ { // Reset bolus data before we start bolusSalineVolumeDelivered_mL = 0.0; + expectedSalineBolusVolume_mL = 0.0; bolusSalineLastVolumeTimeStamp = getMSTimerCount(); // Bypass dialyzer @@ -943,7 +939,7 @@ F32 timeSinceLastVolumeUpdateMin = (F32)calcTimeSince( bolusSalineLastVolumeTimeStamp ) / (F32)( MS_PER_SECOND * SEC_PER_MIN ); F32 bolusTargetVolume = (F32)getTreatmentParameterU32( TREATMENT_PARAM_SALINE_BOLUS_VOLUME ); F32 maxBolusErrorMl = bolusTargetVolume * MAX_BOLUS_ERROR_PCT; - F32 bldFlowRate = getMeasuredBloodFlowRate(); // TODO - should I use raw flow instead of filtered here??? + F32 bldFlowRate = getMeasuredBloodFlowRate(); F32 volSinceLastUpdateMl = bldFlowRate * timeSinceLastVolumeUpdateMin; F32 expVolSinceLastUpdateMl = (F32)getTargetBloodFlowRate() * timeSinceLastVolumeUpdateMin; @@ -986,7 +982,7 @@ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_PUMP_FLOW_CHECKS ) != SW_CONFIG_ENABLE_VALUE ) #endif { - activateAlarmNoData( ALARM_ID_SALINE_BOLUS_VOLUME_CHECK_FAILURE ); + SET_ALARM_WITH_2_F32_DATA( ALARM_ID_SALINE_BOLUS_VOLUME_CHECK_FAILURE, bolusSalineVolumeDelivered_mL, expectedSalineBolusVolume_mL ); errorFound = TRUE; result = SALINE_BOLUS_STATE_IDLE; }