Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -ra8217942deffba9665724cef8d16d98a926adfb4 -r6afab05077550ab6f89a61f56d7df43e83237b2c --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision a8217942deffba9665724cef8d16d98a926adfb4) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 6afab05077550ab6f89a61f56d7df43e83237b2c) @@ -79,6 +79,8 @@ #define VENOUS_PRESSURE_OCCL_OFFSET_MMHG ( 50.0F ) ///< Venous pressure occlusion threshold offset from max alarm limit (in mmHg). #define VENOUS_PRES_AT_FILL_DELAY_MAX_BLOOD_VOL_ML ( 41.667F ) ///< Venous pressure low exemption delay after air trap fill maximum blood volume (in mL). +#define MIN_BLOOD_FLOW_FOR_VENOUS_PRES ( 0.90*MIN_SET_BLOOD_FLOW_RATE ) ///< Minimum blood flow to establish venous pressure in a good range. + /// Venous pressure low exemption period (in task intervals) conversion factor (from Qb in mL/min) following an air trap fill. static const U32 VENOUS_PRES_AT_FILL_DELAY_FACTOR = (U32)( VENOUS_PRES_AT_FILL_DELAY_MAX_BLOOD_VOL_ML * (F32)SEC_PER_MIN * ( (F32)MS_PER_SECOND / (F32)TASK_GENERAL_INTERVAL ) ); @@ -572,6 +574,7 @@ static void execPressureLimits( void ) { BOOL bpRunning = isBloodPumpRunning(); + BOOL bpRampComplete = isBloodPumpRampComplete(); HD_OP_MODE_T currMode = getCurrentOperationMode(); TREATMENT_STATE_T currTxState = getTreatmentState(); @@ -590,7 +593,7 @@ break; case PRESSURE_LIMITS_STATE_IDLE: - if ( TRUE == bpRunning ) + if ( TRUE == bpRampComplete ) { currPresLimitsState = PRESSURE_LIMITS_STATE_WIDE; }