Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -rc9cf3c88d4db4ddeb62c85489bbcb25e48688c35 -rc9cb494c004e390155ce7c8b3cda96cf8c1b5fa7 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision c9cf3c88d4db4ddeb62c85489bbcb25e48688c35) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision c9cb494c004e390155ce7c8b3cda96cf8c1b5fa7) @@ -935,8 +935,8 @@ if ( ++bpMotorSpeedCalcTimerCtr >= BP_SPEED_CALC_INTERVAL ) { U16 bpMotorHallSensorCount = getFPGABloodPumpHallSensorCount(); - U16 incDelta = ( bpMotorHallSensorCount >= bpLastMotorHallSensorCount ? bpMotorHallSensorCount - bpLastMotorHallSensorCount : ( 0x10000 - bpLastMotorHallSensorCount ) + bpMotorHallSensorCount ); - U16 decDelta = 0x10000 - incDelta; + U16 incDelta = ( bpMotorHallSensorCount >= bpLastMotorHallSensorCount ? bpMotorHallSensorCount - bpLastMotorHallSensorCount : ( HEX_64_K - bpLastMotorHallSensorCount ) + bpMotorHallSensorCount ); + U16 decDelta = HEX_64_K - incDelta; U16 delta; // determine blood pump speed/direction from delta hall sensor count since last interval