Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -rf89cac0c61f0068c045411504925373c3731c874 -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision f89cac0c61f0068c045411504925373c3731c874) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -1646,7 +1646,7 @@ if ( TRUE == isTestingActivated() ) { - targetBloodFlowRate = (S32) BP_ML_PER_MIN_FROM_PWM( value ); + setBloodPumpTargetFlowRate( (S32)BP_ML_PER_MIN_FROM_PWM( value ), MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); result = TRUE; } Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -raf2cd84d3319b1e298057fe2d329aa7824306507 -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision af2cd84d3319b1e298057fe2d329aa7824306507) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -261,10 +261,11 @@ * @details Outputs: targetDialInFlowRate, dialInPumpdirection, dialInPumpPWMDutyCyclePct * @param flowRate new target dialIn flow rate * @param dir new dialIn flow direction - * @param mode new control mode + * @param mode new control mode + * @param pwm PWM duty cycle to set pump controller to (optional for open loop) * @return TRUE if new flow rate & dir are set, FALSE if not *************************************************************************/ -BOOL setDialInPumpTargetFlowRate( U32 flowRate, MOTOR_DIR_T dir, PUMP_CONTROL_MODE_T mode ) +BOOL setDialInPumpTargetFlowRate( U32 flowRate, MOTOR_DIR_T dir, PUMP_CONTROL_MODE_T mode, F32 pwm ) { BOOL result = FALSE; @@ -292,8 +293,15 @@ targetDialInFlowRate = dirFlowRate; dialInPumpDirection = dir; dialInPumpControlMode = mode; - // Set PWM duty cycle target to an estimated initial target to ramp to based on target flow rate - then we will control to flow when ramp completed - dialInPumpPWMDutyCyclePct = ( 0 == flowRate ? DIP_PWM_ZERO_OFFSET : DIP_PWM_FROM_ML_PER_MIN( (F32)flowRate ) ); + // Set PWM duty cycle target to an estimated initial target to ramp to based on target flow rate - then we will control to flow when ramp completed + if ( PUMP_CONTROL_MODE_CLOSED_LOOP == mode || fabs(pwm) < NEARLY_ZERO ) + { + dialInPumpPWMDutyCyclePct = ( 0 == flowRate ? DIP_PWM_ZERO_OFFSET : DIP_PWM_FROM_ML_PER_MIN( (F32)flowRate ) ); + } + else // Dialin command to open loop w/ set PWM duty cycle + { + dialInPumpPWMDutyCyclePct = pwm; + } switch ( dialInPumpState ) { @@ -403,7 +411,7 @@ { dipStopAtHomePosition = TRUE; dipHomeStartTime = getMSTimerCount(); - result = setDialInPumpTargetFlowRate( DIP_HOME_RATE, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + result = setDialInPumpTargetFlowRate( DIP_HOME_RATE, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); } return result; @@ -1397,7 +1405,7 @@ } else { - result = setDialInPumpTargetFlowRate( abs(value), dir, (PUMP_CONTROL_MODE_T)ctrlMode ); + result = setDialInPumpTargetFlowRate( abs(value), dir, (PUMP_CONTROL_MODE_T)ctrlMode, 0.0F ); } } } @@ -1644,12 +1652,11 @@ if ( TRUE == isTestingActivated() ) { - targetDialInFlowRate = (S32) DIP_ML_PER_MIN_FROM_PWM( value ); + setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, value ); result = TRUE; } return result; } - /**@}*/ Index: firmware/App/Controllers/DialInFlow.h =================================================================== diff -u -rf89cac0c61f0068c045411504925373c3731c874 -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Controllers/DialInFlow.h (.../DialInFlow.h) (revision f89cac0c61f0068c045411504925373c3731c874) +++ firmware/App/Controllers/DialInFlow.h (.../DialInFlow.h) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -54,7 +54,7 @@ void execDialInFlowMonitor( void ); void execDialInFlowController( void ); -BOOL setDialInPumpTargetFlowRate( U32 flowRate, MOTOR_DIR_T dir, PUMP_CONTROL_MODE_T mode ); +BOOL setDialInPumpTargetFlowRate( U32 flowRate, MOTOR_DIR_T dir, PUMP_CONTROL_MODE_T mode, F32 pwm ); void signalDialInPumpHardStop( void ); void signalDialInPumpRotorHallSensor( void ); BOOL homeDialInPump( void ); Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -rf89cac0c61f0068c045411504925373c3731c874 -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision f89cac0c61f0068c045411504925373c3731c874) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -1643,7 +1643,7 @@ if ( TRUE == isTestingActivated() ) { - lastGivenRate = (U32) DOP_PWM_FROM_ML_PER_MIN( value ); + setDialOutPumpTargetRate( (S32)DOP_ML_PER_MIN_FROM_PWM( value ), MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); result = TRUE; } Index: firmware/App/Modes/BloodPrime.c =================================================================== diff -u -r8b73263b38f449dacc0795c67a7cf6240cb79026 -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Modes/BloodPrime.c (.../BloodPrime.c) (revision 8b73263b38f449dacc0795c67a7cf6240cb79026) +++ firmware/App/Modes/BloodPrime.c (.../BloodPrime.c) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -143,7 +143,7 @@ // start blood and dialysate inlet pumps setBloodPumpTargetFlowRate( (U32)bloodPrimeRampFlowRate_mL_min, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); - setDialInPumpTargetFlowRate( DIALYSATE_FLOW_RATE_FOR_RECIRC, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); + setDialInPumpTargetFlowRate( DIALYSATE_FLOW_RATE_FOR_RECIRC, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP, 0.0F ); cmdStartDGTrimmerHeater(); // Start air trap control Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -r69f74d389c57686e5ad618ac57ccbdbfa6934805 -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 69f74d389c57686e5ad618ac57ccbdbfa6934805) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -238,7 +238,7 @@ } #endif - setDialInPumpTargetFlowRate( setDialysateFlowRate, MOTOR_DIR_FORWARD, mode ); + setDialInPumpTargetFlowRate( setDialysateFlowRate, MOTOR_DIR_FORWARD, mode, 0.0F ); setDialOutPumpTargetRate( setDialysateFlowRate + (S32)setUFRate, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); // Start Heparin pump as appropriate @@ -327,7 +327,7 @@ mode = PUMP_CONTROL_MODE_OPEN_LOOP; } #endif - setDialInPumpTargetFlowRate( setDialysateFlowRate, MOTOR_DIR_FORWARD, mode ); + setDialInPumpTargetFlowRate( setDialysateFlowRate, MOTOR_DIR_FORWARD, mode, 0.0F ); setDialOutPumpTargetRate( setDialysateFlowRate + (S32)setUFRate, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); } @@ -346,7 +346,7 @@ { // Stop pumps setBloodPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); - setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); + setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP, 0.0F ); setDialOutPumpTargetRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); stopSyringePump(); // Tell DG to stop heating dialysate @@ -867,7 +867,7 @@ salineBolusStartRequested = FALSE; // Cmd all pumps to stop setBloodPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); - setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); + setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP, 0.0F ); setDialOutPumpTargetRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); stopSyringePump(); // Begin saline bolus @@ -909,9 +909,9 @@ #endif // Start dialysate inlet pump at re-circ rate #ifndef RUN_PUMPS_OPEN_LOOP - setDialInPumpTargetFlowRate( DIALYSATE_FLOW_RATE_FOR_RECIRC, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); + setDialInPumpTargetFlowRate( DIALYSATE_FLOW_RATE_FOR_RECIRC, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP, 0.0F ); #else - setDialInPumpTargetFlowRate( DIALYSATE_FLOW_RATE_FOR_RECIRC, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( DIALYSATE_FLOW_RATE_FOR_RECIRC, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); #endif // Begin saline bolus result = SALINE_BOLUS_STATE_IN_PROGRESS; Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -r8b73263b38f449dacc0795c67a7cf6240cb79026 -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 8b73263b38f449dacc0795c67a7cf6240cb79026) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -138,7 +138,7 @@ { case 0: // Pumps and valves off setBloodPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); - setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); setDialOutPumpTargetRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); setValvePosition( VDO, VALVE_POSITION_C_CLOSE ); @@ -155,14 +155,14 @@ case 2: // Pumps on, valves in pos A setBloodPumpTargetFlowRate( 500, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); - setDialInPumpTargetFlowRate( 500, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( 500, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); setDialOutPumpTargetRate( 500, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); break; default: // Should not get here, reset if we do toggle = 0; setBloodPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); - setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); setDialOutPumpTargetRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); setValvePosition( VDO, VALVE_POSITION_C_CLOSE ); Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -rdf4242fcc91f8cd1aada438b33fa845c223d0e0e -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision df4242fcc91f8cd1aada438b33fa845c223d0e0e) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -598,7 +598,7 @@ signalBloodPumpHardStop(); signalDialOutPumpHardStop(); - setDialInPumpTargetFlowRate( DIP_PATIENT_CONNECTION_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( DIP_PATIENT_CONNECTION_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); cmdStartDGTrimmerHeater(); } Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -rce247681f11b5e164e00992fb73ba5c595d349aa -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision ce247681f11b5e164e00992fb73ba5c595d349aa) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -263,7 +263,7 @@ { case 0: // Pumps and valves off setBloodPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); - setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); setDialOutPumpTargetRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); setValvePosition( VDO, VALVE_POSITION_C_CLOSE ); @@ -280,15 +280,15 @@ case 2: // Pumps on, valves in pos A setBloodPumpTargetFlowRate( 500, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); - setDialInPumpTargetFlowRate( 500, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( 500, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); setDialOutPumpTargetRate( 500, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); break; default: // Should not get here, reset if we do toggle = 0; setBloodPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); - setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); setDialOutPumpTargetRate( 0, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); setValvePosition( VDO, VALVE_POSITION_C_CLOSE ); Index: firmware/App/Modes/PreTreatmentRecirc.c =================================================================== diff -u -r8b73263b38f449dacc0795c67a7cf6240cb79026 -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Modes/PreTreatmentRecirc.c (.../PreTreatmentRecirc.c) (revision 8b73263b38f449dacc0795c67a7cf6240cb79026) +++ firmware/App/Modes/PreTreatmentRecirc.c (.../PreTreatmentRecirc.c) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -165,7 +165,7 @@ startAirTrapControl(); setBloodPumpTargetFlowRate( BLOOD_PUMP_RECIRC_FLOW_RATE, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); - setDialInPumpTargetFlowRate( DIALYSATE_PUMP_RECIRC_FLOW_RATE, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( DIALYSATE_PUMP_RECIRC_FLOW_RATE, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); signalDialOutPumpHardStop(); } Index: firmware/App/Modes/Prime.c =================================================================== diff -u -rdf4242fcc91f8cd1aada438b33fa845c223d0e0e -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Modes/Prime.c (.../Prime.c) (revision df4242fcc91f8cd1aada438b33fa845c223d0e0e) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -591,7 +591,7 @@ setValveAirTrap( STATE_CLOSED ); signalBloodPumpHardStop(); - setDialInPumpTargetFlowRate( DIALYSATE_PUMP_PRIME_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( DIALYSATE_PUMP_PRIME_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); setDialOutPumpTargetRate( DIALYSATE_PUMP_PRIME_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); // Calculate the time out value that must passed prior to checking for the steady state volume in the reservoir @@ -759,7 +759,7 @@ if ( TRUE == hasDGCompletedReservoirSwitch() ) { signalBloodPumpHardStop(); - setDialInPumpTargetFlowRate( DIALYSATE_PUMP_PRIME_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( DIALYSATE_PUMP_PRIME_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); setValvePosition( VDO, VALVE_POSITION_C_CLOSE ); Index: firmware/App/Modes/Rinseback.c =================================================================== diff -u -r8b73263b38f449dacc0795c67a7cf6240cb79026 -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Modes/Rinseback.c (.../Rinseback.c) (revision 8b73263b38f449dacc0795c67a7cf6240cb79026) +++ firmware/App/Modes/Rinseback.c (.../Rinseback.c) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -193,7 +193,7 @@ endAirTrapControl(); // Re-circulate dialysate side of dialyzer w/ heating to maintain temperature - setDialInPumpTargetFlowRate( DIALYSATE_FLOW_RATE_FOR_RECIRC, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); + setDialInPumpTargetFlowRate( DIALYSATE_FLOW_RATE_FOR_RECIRC, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP, 0.0F ); cmdStartDGTrimmerHeater(); } Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r94dab74a6432263dc4569e0cf8f9fa0b01bf1917 -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 94dab74a6432263dc4569e0cf8f9fa0b01bf1917) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -777,7 +777,7 @@ havePumpsStarted = TRUE; setBloodPumpTargetFlowRate( PUMP_SELF_TEST_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); - setDialInPumpTargetFlowRate( PUMP_SELF_TEST_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( PUMP_SELF_TEST_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); setDialOutPumpTargetRate( PUMP_SELF_TEST_FLOW_RATE_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); runPumpStartTime = getMSTimerCount(); } @@ -1299,7 +1299,7 @@ { F32 bolusVol = getTreatmentParameterF32( TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME ); - setDialInPumpTargetFlowRate( DIP_FLOW_RATE_SETUP_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( DIP_FLOW_RATE_SETUP_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); fmdIntegratedVolume = 0.0; if ( ( bolusVol > 0.0 ) && ( getSyringePumpVolumeDelivered() < bolusVol ) ) @@ -1476,7 +1476,7 @@ if ( FALSE == cmdResp.rejected ) { - setDialInPumpTargetFlowRate( DIP_FLOW_RATE_FIRST_DISPLACEMENT_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( DIP_FLOW_RATE_FIRST_DISPLACEMENT_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); displacementStartTime = getMSTimerCount(); fmdIntegratedVolume = 0.0; state = WET_SELF_TESTS_FIRST_DISPLACEMENT_STATE; @@ -1614,7 +1614,7 @@ if ( FALSE == cmdResp.rejected ) { - setDialInPumpTargetFlowRate( DIP_FLOW_RATE_SECOND_DISPLACEMENT_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); + setDialInPumpTargetFlowRate( DIP_FLOW_RATE_SECOND_DISPLACEMENT_ML_MIN, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP, 0.0F ); displacementStartTime = getMSTimerCount(); fmdIntegratedVolume = 0.0; state = WET_SELF_TESTS_SECOND_DISPLACEMENT_STATE; Index: firmware/App/Modes/TreatmentStop.c =================================================================== diff -u -r8b73263b38f449dacc0795c67a7cf6240cb79026 -rd28280f1054fc9ddf9304a11373dc9ee963425e3 --- firmware/App/Modes/TreatmentStop.c (.../TreatmentStop.c) (revision 8b73263b38f449dacc0795c67a7cf6240cb79026) +++ firmware/App/Modes/TreatmentStop.c (.../TreatmentStop.c) (revision d28280f1054fc9ddf9304a11373dc9ee963425e3) @@ -144,7 +144,7 @@ { // Re-circulate dialysate side of dialyzer w/ heating to maintain temperature doorClosedRequired( TRUE, TRUE ); - setDialInPumpTargetFlowRate( DIALYSATE_FLOW_RATE_FOR_RECIRC, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP ); + setDialInPumpTargetFlowRate( DIALYSATE_FLOW_RATE_FOR_RECIRC, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_CLOSED_LOOP, 0.0F ); cmdStartDGTrimmerHeater(); }