Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -r68ee5d128b86860fac265d5ea25600bed9327077 -r7350aa8f5e25799f294433fea4d98dd23c4df642 --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 68ee5d128b86860fac265d5ea25600bed9327077) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 7350aa8f5e25799f294433fea4d98dd23c4df642) @@ -79,7 +79,6 @@ #define DOP_MAX_MOTOR_SPEED_ERROR_RPM 300.0F ///< Maximum difference in speed between measured and commanded RPM. #define DOP_MAX_MOTOR_SPEED_VS_TRGT_DIFF_PCT 0.15F ///< Maximum motor speed vs target difference in percent. - /// Persist time (task intervals) for motor off error condition. static const U32 DOP_OFF_ERROR_PERSIST = ((5 * MS_PER_SECOND) / TASK_PRIORITY_INTERVAL); /// Persist time (task intervals) motor speed error condition. @@ -1054,7 +1053,7 @@ F32 measRotorSpeed = fabs( getMeasuredDialOutPumpRotorSpeed() ); F32 measMotorSpeedInRotorRPM = measMotorSpeed / DOP_GEAR_RATIO; F32 deltaRotorSpeed = fabs( measRotorSpeed - measMotorSpeedInRotorRPM ); - F32 measMotorSpeedDeltaPct = deltaRotorSpeed / measMotorSpeedInRotorRPM; + F32 measMotorSpeedDeltaPct = fabs( deltaRotorSpeed / measMotorSpeedInRotorRPM ); // Check measured motor speed vs. commanded motor speed while controlling to target if ( ( deltaMotorSpeed > DOP_MAX_MOTOR_SPEED_ERROR_RPM ) || ( deltaMCMotorSpeed > DOP_MAX_MOTOR_SPEED_ERROR_RPM ) )