Index: firmware/App/Controllers/BloodFlow.c =================================================================== diff -u -r5e85dc21e918ecdae841f8398bca20ff8823c52b -r708c23e585468515a8467d0056d712b2846b56da --- firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 5e85dc21e918ecdae841f8398bca20ff8823c52b) +++ firmware/App/Controllers/BloodFlow.c (.../BloodFlow.c) (revision 708c23e585468515a8467d0056d712b2846b56da) @@ -279,8 +279,10 @@ // Direction change while pump is running is not allowed if ( ( FALSE == isBloodPumpOn ) || ( 0 == flowRate ) || ( dir == bloodPumpDirectionSet ) ) { +#ifndef NO_PUMP_FLOW_LIMITS // Verify flow rate - if ( flowRate <= MAX_BLOOD_FLOW_RATE ) + if ( flowRate <= MAX_BLOOD_FLOW_RATE ) +#endif { resetBloodFlowMovingAverage(); targetBloodFlowRate = ( dir == MOTOR_DIR_FORWARD ? (S32)flowRate : (S32)flowRate * -1 ); @@ -319,10 +321,12 @@ } result = TRUE; } +#ifndef NO_PUMP_FLOW_LIMITS else // Requested flow rate too high { SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_BLOOD_FLOW_SET_TOO_HIGH, flowRate ) - } + } +#endif } return result; Index: firmware/App/Controllers/DialInFlow.c =================================================================== diff -u -r44a100f8e5210a02c23b8fcc4527d8e96d577381 -r708c23e585468515a8467d0056d712b2846b56da --- firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 44a100f8e5210a02c23b8fcc4527d8e96d577381) +++ firmware/App/Controllers/DialInFlow.c (.../DialInFlow.c) (revision 708c23e585468515a8467d0056d712b2846b56da) @@ -280,8 +280,10 @@ // Direction change while pump is running is not allowed if ( ( FALSE == isDialInPumpOn ) || ( 0 == flowRate ) || ( dir == dialInPumpDirectionSet ) ) { +#ifndef NO_PUMP_FLOW_LIMITS // Verify flow rate - if ( flowRate <= MAX_DIAL_IN_FLOW_RATE ) + if ( flowRate <= MAX_DIAL_IN_FLOW_RATE ) +#endif { resetDialInFlowMovingAverage(); targetDialInFlowRate = ( dir == MOTOR_DIR_FORWARD ? (S32)flowRate : (S32)flowRate * -1 ); @@ -320,10 +322,12 @@ } result = TRUE; } +#ifndef NO_PUMP_FLOW_LIMITS else // Requested flow rate too high { SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_DIAL_IN_FLOW_SET_TOO_HIGH, flowRate ) - } + } +#endif } return result; Index: firmware/App/Controllers/DialOutFlow.c =================================================================== diff -u -r5e85dc21e918ecdae841f8398bca20ff8823c52b -r708c23e585468515a8467d0056d712b2846b56da --- firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 5e85dc21e918ecdae841f8398bca20ff8823c52b) +++ firmware/App/Controllers/DialOutFlow.c (.../DialOutFlow.c) (revision 708c23e585468515a8467d0056d712b2846b56da) @@ -237,8 +237,10 @@ // Direction change while pump is running is not allowed if ( ( FALSE == isDialOutPumpOn ) || ( 0 == flowRate ) || ( dir == dialOutPumpDirectionSet ) ) { +#ifndef NO_PUMP_FLOW_LIMITS // Verify flow rate if ( flowRate <= MAX_DIAL_OUT_FLOW_RATE ) +#endif { F32 adjFlow = (F32)flowRate; @@ -283,10 +285,12 @@ } result = TRUE; } +#ifndef NO_PUMP_FLOW_LIMITS else // Requested flow rate too high { SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_DIAL_OUT_FLOW_SET_TOO_HIGH, flowRate ) } +#endif } return result; Index: firmware/App/HDCommon.h =================================================================== diff -u -ra3e8170ae9c98e957fdc8cd17c3ba2c3f3baec01 -r708c23e585468515a8467d0056d712b2846b56da --- firmware/App/HDCommon.h (.../HDCommon.h) (revision a3e8170ae9c98e957fdc8cd17c3ba2c3f3baec01) +++ firmware/App/HDCommon.h (.../HDCommon.h) (revision 708c23e585468515a8467d0056d712b2846b56da) @@ -66,8 +66,8 @@ // #define TEMP_UI_ALARM_SILENCE_FIX 1 // Temporary UI fix for handling alarm silence request msg // #define SKIP_PRIMING 1 // Skip Pre-treatment Prime #define SKIP_WET_SELF_TESTS 1 // Skip Pre-treatment prime wet self-tests -// #define V2_0_SYSTEM 1 // Build for v2.0 system -// #define SKIP_SAMPLE_WATER 1 // Skip pre-treatment sample water + #define V2_0_SYSTEM 1 // Build for v2.0 system + #define SKIP_SAMPLE_WATER 1 // Skip pre-treatment sample water #define SKIP_CONSUMABLE_TESTS 1 // Skip pre-treatment consumable Self-tests #define SKIP_DRY_SELF_TESTS 1 // Skip pre-treatment dry self-tests // #define SKIP_UI_INTERACTION 1 // Skip UI interaction. @@ -79,7 +79,8 @@ // #define DISABLE_FPGA_COUNTER_CHECKS 1 // Disable alarms associated with FPGA read/error counters // #define DISABLE_VOLTAGE_MONITOR 1 // Disable voltage monitoring/alarms #define ALLOW_1_MIN_TREATMENT_DURATION 1 // Allow user to change treatment duration to as low as 1 minute -// #define DISABLE_SYRINGE_PUMP_ALARMS 1 // Disable some syringe pump alarms that are triggering intermittently + #define DISABLE_SYRINGE_PUMP_ALARMS 1 // Disable some syringe pump alarms that are triggering intermittently + #define NO_PUMP_FLOW_LIMITS 1 // Allow any commanded flow rate for peristaltic pumps #include #include