Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -r0a4dcd288d4347b85baaa0b07da568b6add5eac7 -r3d66fccdb8dbe06d7cc184c76d2e6fb096f5883d --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 0a4dcd288d4347b85baaa0b07da568b6add5eac7) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 3d66fccdb8dbe06d7cc184c76d2e6fb096f5883d) @@ -670,11 +670,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 ) @@ -890,6 +885,7 @@ { // Reset bolus data before we start bolusSalineVolumeDelivered_mL = 0.0; + expectedSalineBolusVolume_mL = 0.0; bolusSalineLastVolumeTimeStamp = getMSTimerCount(); // Bypass dialyzer @@ -924,7 +920,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; @@ -967,7 +963,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; }