Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -raa3d4f93029367d911d15cd0fbcd265a1522cc74 -raac87fcc5e595db0659a983017ce5113f1dd295f --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision aa3d4f93029367d911d15cd0fbcd265a1522cc74) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision aac87fcc5e595db0659a983017ce5113f1dd295f) @@ -396,6 +396,7 @@ else if ( AIR_TRAP_LEVEL_FLUID == getAirTrapLevel( AIR_TRAP_LEVEL_SENSOR_LOWER ) ) { setValveAirTrap( STATE_CLOSED ); + signalLowVenousPressureCheck( TRUE ); SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_AIR_TRAP_FILL, STATE_CLOSED, 0 ); result = AIR_TRAP_VALVE_CLOSED_STATE; } Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -rc1f0ee088a6d3e24a6920470ccda9e000c26dbed -raac87fcc5e595db0659a983017ce5113f1dd295f --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision c1f0ee088a6d3e24a6920470ccda9e000c26dbed) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision aac87fcc5e595db0659a983017ce5113f1dd295f) @@ -179,6 +179,7 @@ static OVERRIDE_F32_T shortFilteredVenousPressure = { 0.0, 0.0, 0.0, 0 }; ///< Measured venous pressure after short (1 s) filter. static BOOL useShortStabilizeTime; ///< Flag to use short stabilize time. static BOOL resetFillExemptPeriod; ///< Flag to reset the exempt period after defined time expire. +static BOOL lowVenousPressureExemptCheck; ///< low venous pressure exempt check flag based on the air trap valve status static U32 bloodPumpOcclusionAfterCartridgeInstall; ///< Measured blood pump occlusion reading taken after cartridge install. @@ -269,6 +270,7 @@ bloodPumpOcclusionAfterCartridgeInstall = 0; useShortStabilizeTime = USE_NORMAL_STABILIZATION_PERIOD; resetFillExemptPeriod = TRUE; + lowVenousPressureExemptCheck = TRUE; } /*********************************************************************//** @@ -832,10 +834,15 @@ { venLowPresExemptAfterAirTrapFillTimerCtr = 0; resetFillExemptPeriod = FALSE; + lowVenousPressureExemptCheck = FALSE; } else { - venLowPresExemptAfterAirTrapFillTimerCtr++; + // Increment counter on airtrap valve close state + if( TRUE == lowVenousPressureExemptCheck ) + { + venLowPresExemptAfterAirTrapFillTimerCtr++; + } } #ifndef _RELEASE_ @@ -1001,6 +1008,25 @@ /*********************************************************************//** * @brief + * The signalLowVenousPressureCheck function sets the low venous pressure Exempt check flag based on the air trap valve status . + * @details Inputs: lowVenousPressureExemptCheck + * @details Outputs: lowVenousPressureExemptCheck + * @return none. + *************************************************************************/ +void signalLowVenousPressureCheck( BOOL enable ) +{ + if ( TRUE == enable ) + { + lowVenousPressureExemptCheck = TRUE; + } + else + { + lowVenousPressureExemptCheck = FALSE; + } +} + +/*********************************************************************//** + * @brief * The getMeasuredArterialPressure function gets the current arterial pressure. * @details Inputs: arterialPressure * @details Outputs: none Index: firmware/App/Controllers/PresOccl.h =================================================================== diff -u -r736cc5b56cc9c784ab1d8fc8687a73d190c35759 -raac87fcc5e595db0659a983017ce5113f1dd295f --- firmware/App/Controllers/PresOccl.h (.../PresOccl.h) (revision 736cc5b56cc9c784ab1d8fc8687a73d190c35759) +++ firmware/App/Controllers/PresOccl.h (.../PresOccl.h) (revision aac87fcc5e595db0659a983017ce5113f1dd295f) @@ -97,6 +97,8 @@ BOOL isCartridgeUnloaded( void ); BOOL isSalineBagEmpty( void ); +void signalLowVenousPressureCheck( BOOL enable ); + void setOcclusionInstallLevel( void ); BOOL testSetPresOcclDataPublishIntervalOverride( U32 value );