Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -rd23f94b810d65dd54809b0bfeb32f0f763051d4d -r39b5287d113697ddf9b1624a42aa1f30dabe11a4 --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision d23f94b810d65dd54809b0bfeb32f0f763051d4d) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 39b5287d113697ddf9b1624a42aa1f30dabe11a4) @@ -788,7 +788,7 @@ F32 QdTarget = getTargetDialInFlowRate(); F32 deltaFlow; - if (QdTarget >= DIAL_IN_FLOW_QHIGHTRANSITION) + if ( QdTarget >= DIAL_IN_FLOW_QHIGHTRANSITION ) { //At higher flow rates, use the flow meter value. Assume target flow rate has already checked for out of bounds on high end. estimatedFlow = filteredDialInFlowMeterReading; @@ -804,7 +804,7 @@ F32 calculatedFlow = ( motorRPM * 2 * DIAL_IN_STROKE_VOLUME/DIAL_IN_GEAR_RATIO ) * alphaTerm; - if ( ( QdTarget < DIAL_IN_FLOW_QHIGHTRANSITION ) && ( QdTarget >= DIAL_IN_FLOW_QLOWTRANSITION ) ) + if ( ( QdTarget < DIAL_IN_FLOW_QHIGHTRANSITION ) && ( QdTarget > DIAL_IN_FLOW_QLOWTRANSITION ) ) { // use blended flow rate calculation estimatedFlow = ( ( QdTarget - DIAL_IN_FLOW_QLOWTRANSITION ) / ( DIAL_IN_FLOW_QHIGHTRANSITION - DIAL_IN_FLOW_QLOWTRANSITION ) ) * calculatedFlow + ( ( DIAL_IN_FLOW_QHIGHTRANSITION - QdTarget ) / ( DIAL_IN_FLOW_QHIGHTRANSITION - DIAL_IN_FLOW_QLOWTRANSITION ) ) * filteredDialInFlowMeterReading;