Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -re2cf7feff54dad3fc5be72619fa64b5421fc6f9f -rcd5be724d5a3ba7457e761191d82f278654d7f5c --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision e2cf7feff54dad3fc5be72619fa64b5421fc6f9f) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision cd5be724d5a3ba7457e761191d82f278654d7f5c) @@ -1,14 +1,14 @@ /************************************************************************** * -* Copyright (c) 2020-2023 Diality Inc. - All Rights Reserved. +* Copyright (c) 2020-2024 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * @file DialOutFlow.c * -* @author (last) Sean Nash -* @date (last) 11-Sep-2023 +* @author (last) Darren Cox +* @date (last) 04-Oct-2023 * * @author (original) Sean * @date (original) 24-Jan-2020 @@ -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; }