Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -r68115981be5fff762a3ef52340f69c28d5d3a5c4 -rc2415db7dd138b58958d7ae712f31c67bc30b821 --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 68115981be5fff762a3ef52340f69c28d5d3a5c4) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision c2415db7dd138b58958d7ae712f31c67bc30b821) @@ -77,7 +77,7 @@ #define VENOUS_PRESSURE_LIMIT_MAX_MMHG ( 400.0F ) ///< Maximum venous pressure limit (in mmHg). #define VENOUS_PRESSURE_LIMIT_MIN_MMHG ( 20.0F ) ///< Minimum venous pressure limit (in mmHg). #define VENOUS_PRESSURE_OCCL_OFFSET_MMHG ( 50.0F ) ///< Venous pressure occlusion threshold offset from max alarm limit (in mmHg). -#define VENOUS_PRES_AIR_TRAP_FILL_DELAY_MS ( ( 5 * MS_PER_SECOND ) / TASK_GENERAL_INTERVAL ) ///< Venous pressure low exemption delay (in task intervals) following an air trap fill. +#define VENOUS_PRES_AT_FILL_DELAY_FACTOR ( 50000 ) ///< Venous pressure low exemption delay (in task intervals) conversion factor (from Qb) following an air trap fill. #define PSI_TO_MMHG ( 51.7149F ) ///< Conversion factor for converting PSI to mmHg. @@ -802,12 +802,16 @@ if ( pressureLimitsActive != FALSE ) { BOOL venPresLow, venPresHigh; + S32 qB = abs( getTargetBloodFlowRate() ); + U32 qBx = ( 0 == qB ? MIN_SET_BLOOD_FLOW_RATE : (U32)qB ); + // compute exemption period (in general task intervals) for low venous pressure alarms after air trap fills + U32 exemptPeriod = VENOUS_PRES_AT_FILL_DELAY_FACTOR / qBx; venPresLow = ( venPres < (F32)currentVenousMinLimit ? TRUE : FALSE ); venPresHigh = ( venPres > (F32)currentVenousMaxLimit ? TRUE : FALSE ); // Check venous pressure is within alarm limits - if ( ( airTrapValveState != STATE_OPEN ) && ( venLowPresExemptAfterAirTrapFillTimerCtr > VENOUS_PRES_AIR_TRAP_FILL_DELAY_MS ) ) + if ( ( airTrapValveState != STATE_OPEN ) && ( venLowPresExemptAfterAirTrapFillTimerCtr > exemptPeriod ) ) { if ( TRUE == isPersistentAlarmTriggered( ALARM_ID_HD_VENOUS_PRESSURE_LOW, venPresLow ) ) {