Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -rc48ea51c06c9d002f1b9b6a1d7b72d69756f183d -rbaa9fb9bb10eed6cd211abaa80e9f9acffdeb20d --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision c48ea51c06c9d002f1b9b6a1d7b72d69756f183d) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision baa9fb9bb10eed6cd211abaa80e9f9acffdeb20d) @@ -85,7 +85,7 @@ #ifndef V2_0_SYSTEM #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.00025 ///< ~40 BP motor RPM = 1% PWM duty cycle + #define DOP_MOTOR_RPM_TO_PWM_DC_FACTOR 0.000198 ///< ~40 BP motor RPM = 1% PWM duty cycle #else #define DOP_SPEED_ADC_TO_RPM_FACTOR 1.280938 ///< Conversion factor from ADC counts to RPM for blood pump motor #define DOP_MOTOR_RPM_TO_PWM_DC_FACTOR 0.0003125 ///< ~32 BP motor RPM = 1% PWM duty cycle @@ -219,7 +219,7 @@ } // Initialize dialysate outlet flow PI controller - initializePIController( PI_CONTROLLER_ID_ULTRAFILTRATION, 0, DOP_P_COEFFICIENT, DOP_I_COEFFICIENT, + initializePIController( PI_CONTROLLER_ID_ULTRAFILTRATION, 0.0, DOP_P_COEFFICIENT, DOP_I_COEFFICIENT, MIN_DIAL_OUT_PUMP_PWM_OFFSET_CONTROL, MAX_DIAL_OUT_PUMP_PWM_OFFSET_CONTROL ); } @@ -516,7 +516,7 @@ else if ( dialOutPumpPWMDutyCyclePctSet >= dialOutPumpPWMDutyCyclePct ) { dialOutPumpPWMDutyCyclePctSet = dialOutPumpPWMDutyCyclePct; - if ( dialOutPumpControlModeSet == PUMP_CONTROL_MODE_OPEN_LOOP ) + if ( dialOutPumpControlMode == PUMP_CONTROL_MODE_OPEN_LOOP ) { resetPIController( PI_CONTROLLER_ID_ULTRAFILTRATION, dialOutPumpPWMDutyCyclePctSet ); } @@ -525,7 +525,7 @@ resetPIController( PI_CONTROLLER_ID_ULTRAFILTRATION, dialOutPumpPWMDutyCyclePctSet - getDialInPumpPWMDutyCyclePct() ); } dialOutPumpControlModeSet = dialOutPumpControlMode; - setDialOutPumpControlSignalPWM( dialOutPumpPWMDutyCyclePct ); + setDialOutPumpControlSignalPWM( dialOutPumpPWMDutyCyclePctSet ); dopControlTimerCounter = 0; result = DIAL_OUT_PUMP_CONTROL_TO_TARGET_STATE; }