Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -r3fa496b611a3a84c8aaa882a1b27762c6bc0024c -rb1a38b584f64994784d31c50c8f21027bde1697c --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 3fa496b611a3a84c8aaa882a1b27762c6bc0024c) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision b1a38b584f64994784d31c50c8f21027bde1697c) @@ -117,8 +117,8 @@ #define DOP_PWM_TO_MOTOR_SPEED_RPM(pwm,dir) ( ( ( ( pwm ) - DOP_PWM_ZERO_OFFSET) * DOP_100_PCT_PWM_RPM_RANGE ) * ( dir == MOTOR_DIR_FORWARD ? 1.0F : -1.0F ) ) /// Conversion from RPM to PWM duty cycle %. #define DOP_MOTOR_SPEED_RPM_TO_PWM(rpm) ( ( (F32)(rpm) / DOP_100_PCT_PWM_RPM_RANGE ) + DOP_PWM_ZERO_OFFSET ) -/// Macro converts a PWM to an estimated flow rate. -#define DOP_ML_PER_MIN_FROM_PWM(pwm) ( ( ( pwm - DOP_PWM_ZERO_OFFSET ) - 0.0972F ) / 0.00072F ) +/// Macro converts a PWM to an estimated flow rate. COMMENTED BUT SAVED FOR FUTURE USE. +//#define DOP_ML_PER_MIN_FROM_PWM(pwm) ( ( ( pwm - DOP_PWM_ZERO_OFFSET ) - 0.0972F ) / 0.00072F ) /// Macro converts a PWM to an estimated flow rate (basic version). #define DOP_ML_PER_MIN_FROM_PWM_BASIC(pwm) ( ( ( ( pwm ) - DOP_PWM_ZERO_OFFSET ) * DOP_100_PCT_PWM_RPM_RANGE ) * 0.2 ) @@ -388,10 +388,11 @@ { BOOL result = FALSE; F32 pwm = DOP_MOTOR_SPEED_RPM_TO_PWM( rpm ); - F32 targetRate = DOP_ML_PER_MIN_FROM_PWM( pwm ); - result = setDialOutPumpTargetRate( (U32)targetRate, dir, PUMP_CONTROL_MODE_OPEN_LOOP ); + pwm = ( MOTOR_DIR_REVERSE == dir ? pwm * -1.0F : pwm ); + result = setDialOutPumpToFixedPWM( pwm ); + return result; }