Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -r98cc51d12256e9e9d63632d0206e9cd6e5b92429 -re4f2159406af470f7116c4d8ac510806261cb2dc --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 98cc51d12256e9e9d63632d0206e9cd6e5b92429) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision e4f2159406af470f7116c4d8ac510806261cb2dc) @@ -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. @@ -801,12 +801,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 ) ) {