Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -r1d07de4e970f54f2ae1786ef546cf5567df9ba8e -r0ea8a7546c11144ac4880b695ce431c7272e8ede --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 1d07de4e970f54f2ae1786ef546cf5567df9ba8e) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 0ea8a7546c11144ac4880b695ce431c7272e8ede) @@ -73,8 +73,8 @@ #define DIP_MAX_MOTOR_SPEED_ERROR_RPM 300.0F ///< Maximum difference in speed between measured and commanded RPM. #define DIP_MAX_MOTOR_SPEED_VS_TRGT_DIFF_PCT 0.15F ///< Maximum motor speed vs target difference in percent. -/// Persist time (task intervals) for unexpected flow check failure condition. -static const U32 DIP_NO_FLOW_CHK_PERSIST = ((10 * MS_PER_SECOND) / TASK_PRIORITY_INTERVAL); +/// Persist time (ms) for unexpected flow check failure condition. +static const U32 DIP_NO_FLOW_CHK_PERSIST = (10 * MS_PER_SECOND); /// Persist time (task intervals) for motor off error condition. static const U32 DIP_OFF_ERROR_PERSIST = ((5 * MS_PER_SECOND) / TASK_PRIORITY_INTERVAL); /// Persist time (task intervals) motor speed error condition. @@ -1401,8 +1401,6 @@ *************************************************************************/ static void checkDialInPumpFlowRate( void ) { - F32 flow = getMeasuredDialInFlowRate(); - // Check DG Dialysate flow rate if ( ( TRUE == isDialInPumpRunning() ) && ( dialInPumpControlMode != PUMP_CONTROL_MODE_OPEN_LOOP ) ) { @@ -1412,9 +1410,10 @@ // Only check if in state where we would expect fluid in dialysate line to generate flow if ( ( MODE_TREA == mode ) || ( ( MODE_PRET == mode ) && ( subMode > HD_PRE_TREATMENT_PRIME_STATE ) ) ) { - F32 measuredDialInFlow = getDGRawDialysateFlowRateLMin() * ML_PER_LITER; + F32 measuredDialInFlow = getDGRawDialysateFlowRateLMin() * ML_PER_LITER; + BOOL lowFlow = ( measuredDialInFlow < MIN_DG_DIAL_FLOW_RATE ? TRUE : FALSE ); - if ( ( TRUE == isPersistentAlarmTriggered( ALARM_ID_HD_DIAL_IN_FLOW_CHECK_FAILURE, measuredDialInFlow < MIN_DG_DIAL_FLOW_RATE ) ) ) + if ( ( TRUE == isPersistentAlarmTriggered( ALARM_ID_HD_DIAL_IN_FLOW_CHECK_FAILURE, lowFlow ) ) ) { SET_ALARM_WITH_2_F32_DATA( ALARM_ID_HD_DIAL_IN_FLOW_CHECK_FAILURE, measuredDialInFlow, (F32)targetDialInFlowRate ); }