Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -rf4545d449a2a2f9353307a55d2bce9e150591c3d -rc84daa1f07003427fc5cdde8f5651434478f7313 --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision f4545d449a2a2f9353307a55d2bce9e150591c3d) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision c84daa1f07003427fc5cdde8f5651434478f7313) @@ -78,7 +78,7 @@ #define DIP_REV_PER_LITER 150.24 ///< rotor revolutions per liter #define DIP_ML_PER_MIN_TO_PUMP_RPM_FACTOR ( DIP_REV_PER_LITER / ML_PER_LITER ) ///< #define DIP_GEAR_RATIO 32.0 ///< dialIn pump motor to dialIn pump gear ratio -#define DIP_MOTOR_RPM_TO_PWM_DC_FACTOR 0.00028 //308 ///< ~28 BP motor RPM = 1% PWM duty cycle +#define DIP_MOTOR_RPM_TO_PWM_DC_FACTOR 0.00028 ///< ~28 BP motor RPM = 1% PWM duty cycle #define DIP_PWM_ZERO_OFFSET 0.1 ///< 10% PWM duty cycle = zero speed #define DIP_PWM_FROM_ML_PER_MIN(rate) ( (rate) * DIP_ML_PER_MIN_TO_PUMP_RPM_FACTOR * DIP_GEAR_RATIO * DIP_MOTOR_RPM_TO_PWM_DC_FACTOR + DIP_PWM_ZERO_OFFSET ) ///< @@ -1284,14 +1284,15 @@ /*********************************************************************//** * @brief * The testSetTargetDialInFlowRateOverride function overrides the target \n - * dialysate inlet flow rate. \n + * dialysate inlet flow rate.n * @details * Inputs : none * Outputs : targetDialInFlowRate * @param value : override target dialysate inlet flow rate (in mL/min) + * @param ctrlMode : override pump control mode to this mode (0 = closed loop, 1 = open loop) * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetTargetDialInFlowRateOverride( S32 value ) +BOOL testSetTargetDialInFlowRateOverride( S32 value, U32 ctrlMode ) { BOOL result = FALSE; @@ -1307,10 +1308,13 @@ { dir = MOTOR_DIR_FORWARD; } - targetDialInFlowRate.ovInitData = targetDialInFlowRate.data; // backup current target flow rate - targetDialInFlowRate.ovData = value; - targetDialInFlowRate.override = OVERRIDE_KEY; - result = setDialInPumpTargetFlowRate( ABS(value), dir, dialInPumpControlMode ); + if ( ctrlMode < NUM_OF_PUMP_CONTROL_MODES ) + { + targetDialInFlowRate.ovInitData = targetDialInFlowRate.data; // backup current target flow rate + targetDialInFlowRate.ovData = value; + targetDialInFlowRate.override = OVERRIDE_KEY; + result = setDialInPumpTargetFlowRate( ABS(value), dir, (PUMP_CONTROL_MODE_T)ctrlMode ); + } } return result;