Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -r9034e1809869ded91cc2f878df0d9c0fd0b89d16 -rcbb126cfd3a02c08436a66ffecb2bdf926263705 --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 9034e1809869ded91cc2f878df0d9c0fd0b89d16) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision cbb126cfd3a02c08436a66ffecb2bdf926263705) @@ -85,7 +85,6 @@ #define DOP_SPEED_ADC_TO_RPM_FACTOR 1.751752 ///< Conversion factor from ADC counts to RPM for dialysate outlet pump motor. #define DOP_MOTOR_RPM_TO_PWM_DC_FACTOR 0.000193 ///< ~52 BP motor RPM = 1% PWM duty cycle -#define UF_PWM_DC_PCT_PER_ML_PER_MIN 0.004 ///< Estimated DPo PWM duty cycle amount per each mL/min of ultrafiltration desired. #define DOP_CURRENT_ADC_TO_MA_FACTOR 3.002 ///< Conversion factor from ADC counts to mA for dialysate outlet pump motor. #define DOP_ADC_FULL_SCALE_V 3.0 ///< DPo analog signals are 0-3V (while int. ADC ref V may be different). #define DOP_ADC_ZERO 1998 ///< Mid-point (zero) for ADC readings. Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -r38a89cb53b4ed2e467f51d41e30d43010fdd23e3 -rcbb126cfd3a02c08436a66ffecb2bdf926263705 --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision 38a89cb53b4ed2e467f51d41e30d43010fdd23e3) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision cbb126cfd3a02c08436a66ffecb2bdf926263705) @@ -914,6 +914,11 @@ { signalTreatmentEndAlarmEndTxUserAction(); } + // Handle alarm response from user to resume slow blood flow while waiting for rinseback request + else if ( TRUE == resumeTreatmentAlarmResponseRequest ) + { + signalTreatmentEndAlarmResumeUserAction(); + } // Execute treatment end sub-mode execTreatmentEnd(); Index: firmware/App/Modes/Rinseback.c =================================================================== diff -u -r5f8b28ed7694abc1d5191f0b531548e14fb5c87a -rcbb126cfd3a02c08436a66ffecb2bdf926263705 --- firmware/App/Modes/Rinseback.c (.../Rinseback.c) (revision 5f8b28ed7694abc1d5191f0b531548e14fb5c87a) +++ firmware/App/Modes/Rinseback.c (.../Rinseback.c) (revision cbb126cfd3a02c08436a66ffecb2bdf926263705) @@ -408,13 +408,15 @@ if ( TRUE == endRinsebackRequested ) { setupForRinsebackStopOrPause(); + targetRinsebackVolumePlusAdditional_mL = getRinsebackVolume(); result = RINSEBACK_STOP_STATE; } // Has rinseback completed? else if ( getRinsebackVolume() >= TARGET_RINSEBACK_VOLUME_ML ) { setRinsebackIsCompleted( TRUE ); setupForRinsebackStopOrPause(); + targetRinsebackVolumePlusAdditional_mL = getRinsebackVolume(); result = RINSEBACK_STOP_STATE; #ifndef DISABLE_PUMP_FLOW_CHECKS // Check for under-delivery @@ -501,6 +503,7 @@ // Has user requested to end rinseback? else if ( TRUE == endRinsebackRequested ) { + targetRinsebackVolumePlusAdditional_mL = getRinsebackVolume(); result = RINSEBACK_STOP_STATE; } Index: firmware/App/Modes/TreatmentEnd.c =================================================================== diff -u -r124b3745d056ac667280cfa0ae1fab8610d44ed2 -rcbb126cfd3a02c08436a66ffecb2bdf926263705 --- firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision 124b3745d056ac667280cfa0ae1fab8610d44ed2) +++ firmware/App/Modes/TreatmentEnd.c (.../TreatmentEnd.c) (revision cbb126cfd3a02c08436a66ffecb2bdf926263705) @@ -147,6 +147,8 @@ *************************************************************************/ static void setupForTxEndWait4RinsebackState( void ) { + // No resume alarm action allowed + setAlarmUserActionEnabled( ALARM_USER_ACTION_RESUME, FALSE ); // Open VBA and VBV valves to allow flow from saline bag and to patient venous line setValvePosition( VBA, VALVE_POSITION_B_OPEN ); setValvePosition( VBV, VALVE_POSITION_B_OPEN ); @@ -168,6 +170,8 @@ *************************************************************************/ static void setupForTxEndPausedState( void ) { + // Resume alarm action will take us back to TxEndWait4RinsebackState + setAlarmUserActionEnabled( ALARM_USER_ACTION_RESUME, TRUE ); // Stop blood pump signalBloodPumpHardStop(); // Close arterial and venous lines