Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -r98d8996eaace58d6d75b5884d6e8c0d3c2df3b17 -rda838b2d59d8b12a239cd31f8b68b2b1bf78e4ae --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 98d8996eaace58d6d75b5884d6e8c0d3c2df3b17) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision da838b2d59d8b12a239cd31f8b68b2b1bf78e4ae) @@ -1,14 +1,14 @@ /************************************************************************** * -* Copyright (c) 2019-2022 Diality Inc. - All Rights Reserved. +* Copyright (c) 2020-2022 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) 04-Jan-2022 +* @author (last) Michael Garthwaite +* @date (last) 18-Feb-2022 * * @author (original) Sean * @date (original) 24-Jan-2020 @@ -233,7 +233,7 @@ dopMotorSpeedCalcIdx = 0; for ( i = 0; i < DOP_SPEED_CALC_BUFFER__LEN; i++ ) { - dopLastMotorHallSensorCounts[ i ] = 0; + dopLastMotorHallSensorCounts[ i ] = getFPGADialOutPumpHallSensorCount(); } dopMeasuredRate = 0.0; @@ -265,10 +265,17 @@ // Don't interrupt pump control unless rate or mode is changing if ( ( fabs( pwmDC - dialOutPumpPWMDutyCyclePct ) > NEARLY_ZERO ) || ( mode != dialOutPumpControlMode ) ) { -#ifndef NO_PUMP_FLOW_LIMITS - // Verify flow rate - if ( flowRate <= MAX_DIAL_OUT_FLOW_RATE ) + BOOL byPassFlowLimit = FALSE; + +#ifndef _RELEASE_ + if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_PUMPS_FLOW_LIMITS ) ) + { + byPassFlowLimit = TRUE; + } #endif + + // Verify flow rate + if ( ( flowRate <= MAX_DIAL_OUT_FLOW_RATE ) || ( TRUE == byPassFlowLimit ) ) { resetDialOutFlowMovingAverage(); dopControlSignal = FALSE; @@ -309,12 +316,15 @@ } result = TRUE; } -#ifndef NO_PUMP_FLOW_LIMITS else // Requested flow rate too high { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_DIAL_OUT_FLOW_SET_TOO_HIGH, flowRate ) - } +#ifndef _RELEASE_ + if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_PUMPS_FLOW_LIMITS ) != SW_CONFIG_ENABLE_VALUE ) #endif + { + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_DIAL_OUT_FLOW_SET_TOO_HIGH, flowRate ) + } + } } }