Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -r9444f5f7223c46e4806a2547bb6e8c84d0199b72 -ra8cc81f76c1f45722e5411791b8952858819a865 --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 9444f5f7223c46e4806a2547bb6e8c84d0199b72) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision a8cc81f76c1f45722e5411791b8952858819a865) @@ -81,11 +81,9 @@ #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_AT_FILL_DELAY_MAX_BLOOD_VOL_ML ( 41.667F ) ///< Venous pressure low exemption delay after air trap fill maximum blood volume (in mL). +#define VENOUS_PRESSURE_EXEMPTION_PERIOD ( ( 2 * MS_PER_SECOND ) / \ + TASK_GENERAL_INTERVAL ) ///< Venous pressure low exemption period (in task interval) after fill for all blood flow rate -/// 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 ) ); - #define MIN_TIME_BETWEEN_AIR_TRAP_FILL_EXEMPTIONS_MS ( 1200 ) ///< To monitor low Venous pressure in the defined interval in a case where continuous air fill event happens followed by exemption period to stabilize the pressure #define MIN_TIME_BETWEEN_AIR_TRAP_FILL_EXEMPTIONS_WINDOW ( MIN_TIME_BETWEEN_AIR_TRAP_FILL_EXEMPTIONS_MS / \ TASK_GENERAL_INTERVAL ) ///< Low Venous pressure monitoring window between air fill events based on the task interval time @@ -910,10 +908,9 @@ 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; + + // Fixed exemption period (in general task intervals) for low venous pressure alarms after air trap fills + U32 exemptPeriod = VENOUS_PRESSURE_EXEMPTION_PERIOD; // minimumMonitoring Window helps to check and raise low venous pressure alarm on a case where repeated fill events occurrence. // During this interval, if another airtrap fill occurs, there is no exemptions provided to stabilize the pressure and low venous pressure being raised when it goes below threshold value. U32 minimumMonitoringWindow = exemptPeriod + MIN_TIME_BETWEEN_AIR_TRAP_FILL_EXEMPTIONS_WINDOW ;