Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -r68ee5d128b86860fac265d5ea25600bed9327077 -r7350aa8f5e25799f294433fea4d98dd23c4df642 --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 68ee5d128b86860fac265d5ea25600bed9327077) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 7350aa8f5e25799f294433fea4d98dd23c4df642) @@ -76,7 +76,6 @@ #define BP_MAX_MOTOR_SPEED_ERROR_RPM 300.0F ///< Maximum difference in speed between measured and commanded RPM. #define BP_MAX_MOTOR_SPEED_VS_TRGT_DIFF_PCT 0.15F ///< Maximum motor speed vs target difference in percent. - /// Persist time (in ms) for motor off error condition. static const U32 BP_OFF_ERROR_PERSIST = ( 5 * MS_PER_SECOND ); /// Persist time (in ms) motor speed error condition. @@ -1169,7 +1168,7 @@ F32 measRotorSpeed = fabs( getMeasuredBloodPumpRotorSpeed() ); F32 measMotorSpeedInRotorRPM = measMotorSpeed / BP_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 ( ( TRUE == isPersistentAlarmTriggered( ALARM_ID_BLOOD_PUMP_MOTOR_SPEED_CHECK, Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -r68ee5d128b86860fac265d5ea25600bed9327077 -r7350aa8f5e25799f294433fea4d98dd23c4df642 --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 68ee5d128b86860fac265d5ea25600bed9327077) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 7350aa8f5e25799f294433fea4d98dd23c4df642) @@ -1299,7 +1299,7 @@ F32 measRotorSpeed = fabs( getMeasuredDialInPumpRotorSpeed() ); F32 measMotorSpeedInRotorRPM = measMotorSpeed / DIP_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 > DIP_MAX_MOTOR_SPEED_ERROR_RPM ) || ( deltaMCMotorSpeed > DIP_MAX_MOTOR_SPEED_ERROR_RPM ) ) 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 ) ) Index: firmware/App/Modes/SelfTests.c =================================================================== diff -u -r5c2c248ad4bcdccdcd78943ce567ba6dd7b900b5 -r7350aa8f5e25799f294433fea4d98dd23c4df642 --- firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 5c2c248ad4bcdccdcd78943ce567ba6dd7b900b5) +++ firmware/App/Modes/SelfTests.c (.../SelfTests.c) (revision 7350aa8f5e25799f294433fea4d98dd23c4df642) @@ -1588,8 +1588,8 @@ * @brief * The handleWetSelfTestStartFirstDisplacementState function setups the valves * and pumps to start first dialysate displacement. - * @details Inputs: settleStartTime - * @details Outputs: setup valves and pump, reservoirVolume[] + * @details Inputs: settleStartTime, isValvesSettingSent + * @details Outputs: isValvesSettingSent * @return the next state of wet self-tests state machine *************************************************************************/ static WET_SELF_TESTS_STATE_T handleWetSelfTestFirstDisplacementSetupState( void ) @@ -1731,8 +1731,8 @@ * @brief * The handleWetSelfTestSecondDisplacementSetupState function setups the valves * and pumps to start second dialysate displacement. - * @details Inputs: settleStartTime - * @details Outputs: setup valves and pump, reservoirVolume[] + * @details Inputs: settleStartTime, isValvesSettingSent + * @details Outputs: isValvesSettingSent * @return the next state of wet self-tests state machine *************************************************************************/ static WET_SELF_TESTS_STATE_T handleWetSelfTestSecondDisplacementSetupState( void ) @@ -1775,8 +1775,8 @@ * @brief * The handleWetSelfTestSecondDisplacementState function handles the first * dialysate displacement from reservoir 2 to reservoir 1. - * @details Inputs: firstDisplacementStartTime, measured dialysate flow rate - * @details Outputs: integrated volume + * @details Inputs: displacementStartTime, fmdIntegratedVolume, settleStartTime + * @details Outputs: displacementStartTime * @return the next state of wet self-tests state machine *************************************************************************/ static WET_SELF_TESTS_STATE_T handleWetSelfTestSecondDisplacementState( void )