Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -r97e1c0abbbf667f834d284eb6fc14999f073b020 -r9a6d1f31738e50e669baa306ba5b4784f66ddc4c --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 97e1c0abbbf667f834d284eb6fc14999f073b020) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 9a6d1f31738e50e669baa306ba5b4784f66ddc4c) @@ -1122,7 +1122,7 @@ BOOL isDirIncorrect; U08 dirErrorCnt = getFPGABloodPumpHallSensorStatus() & PUMP_DIR_ERROR_COUNT_MASK; F32 measMCSpeed = getMeasuredBloodPumpMCSpeed(); - BOOL minDirSpeed = ( measMCSpeed >= BP_MIN_DIR_CHECK_SPEED_RPM ? TRUE : FALSE ); + BOOL minDirSpeed = ( fabs( measMCSpeed ) >= BP_MIN_DIR_CHECK_SPEED_RPM ? TRUE : FALSE ); BOOL isHallSensorFailed = ( TRUE == minDirSpeed && lastBloodPumpDirectionCount != dirErrorCnt ? TRUE : FALSE ); // Check pump direction error count Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -reae4d66afd46aab948c6030f3f38fcbaa831ad0a -r9a6d1f31738e50e669baa306ba5b4784f66ddc4c --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision eae4d66afd46aab948c6030f3f38fcbaa831ad0a) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 9a6d1f31738e50e669baa306ba5b4784f66ddc4c) @@ -1244,7 +1244,7 @@ MOTOR_DIR_T dipMCDir, dipDir; U08 dirErrorCnt = getFPGADialInPumpHallSensorStatus() & PUMP_DIR_ERROR_COUNT_MASK; F32 measMCSpeed = getMeasuredDialInPumpMCSpeed(); - BOOL minDirSpeed = ( measMCSpeed >= DIP_MIN_DIR_CHECK_SPEED_RPM ? TRUE : FALSE ); + BOOL minDirSpeed = ( fabs( measMCSpeed ) >= DIP_MIN_DIR_CHECK_SPEED_RPM ? TRUE : FALSE ); BOOL isHallSensorFailed = ( TRUE == minDirSpeed && lastDialInPumpDirectionCount != dirErrorCnt ? TRUE : FALSE ); // Check pump direction error count Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -rffaf9f13166d7a9beb4252fad804c488f870aaaa -r9a6d1f31738e50e669baa306ba5b4784f66ddc4c --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision ffaf9f13166d7a9beb4252fad804c488f870aaaa) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 9a6d1f31738e50e669baa306ba5b4784f66ddc4c) @@ -1035,7 +1035,7 @@ MOTOR_DIR_T dopMCDir, dopDir; U08 dirErrorCnt = getFPGADialOutPumpHallSensorStatus() & PUMP_DIR_ERROR_COUNT_MASK; F32 measMCSpeed = getMeasuredDialOutPumpMCSpeed(); - BOOL minDirSpeed = ( measMCSpeed >= DOP_MIN_DIR_CHECK_SPEED_RPM ? TRUE : FALSE ); + BOOL minDirSpeed = ( fabs( measMCSpeed ) >= DOP_MIN_DIR_CHECK_SPEED_RPM ? TRUE : FALSE ); BOOL isHallSensorFailed = ( TRUE == minDirSpeed && lastDialOutPumpDirectionCount != dirErrorCnt ? TRUE : FALSE ); // Check pump direction error count