Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -ra940a0e8fac8a3f43af9eba55abc4d781d539504 -r9e85e7ace1390d48587174a5bc6eb11d5185cea4 --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision a940a0e8fac8a3f43af9eba55abc4d781d539504) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 9e85e7ace1390d48587174a5bc6eb11d5185cea4) @@ -87,6 +87,8 @@ #define SIZE_OF_SHORT_ART_ROLLING_AVG ( ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) * 1 ) /// Measured venous pressure is filtered w/ 1 second moving average for inline pressure and unfiltered for occlusion detection. #define SIZE_OF_SHORT_VEN_ROLLING_AVG ( ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) * 1 ) + +#define DATA_PUBLISH_COUNTER_START_COUNT 5 ///< Data publish counter start count. /// Defined states for the pressure and occlusion monitor state machine. typedef enum PresOccl_States @@ -194,6 +196,7 @@ longFilteredArterialPressure = 0.0; shortFilteredArterialPressure = 0.0; shortFilteredVenousPressure = 0.0; + presOcclDataPublicationTimerCounter = DATA_PUBLISH_COUNTER_START_COUNT; #ifndef DISABLE_PRESSURE_CHECKS bloodPumpOcclusionAfterCartridgeInstall = 0; @@ -531,8 +534,7 @@ if ( TRUE == isPersistentAlarmTriggered( ALARM_ID_HD_VENOUS_PRESSURE_OUT_OF_RANGE, venPres > VENOUS_PRESSURE_MAX_MMHG ) || TRUE == isPersistentAlarmTriggered( ALARM_ID_HD_VENOUS_PRESSURE_OUT_OF_RANGE, venPres < VENOUS_PRESSURE_MIN_MMHG ) ) { - venLowLimit = MIN_VENOUS_PRESSURE_FOR_RAMP_MMHG; - venHighLimit = (F32)getS32TreatmentParamUpperRangeLimit( TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT ); + SET_ALARM_WITH_1_F32_DATA( ALARM_ID_HD_VENOUS_PRESSURE_OUT_OF_RANGE, venPres ); } // Check venous pressure during treatment mode @@ -544,7 +546,7 @@ // If BP is ramping up, extend range to outer limits as pressure may not yet have reached expected range. if ( isBloodPumpRampComplete() != TRUE ) { - venLowLimit = (F32)getS32TreatmentParamLowerRangeLimit( TREATMENT_PARAM_VEN_PRESSURE_LOW_LIMIT ); + venLowLimit = MIN_VENOUS_PRESSURE_FOR_RAMP_MMHG; venHighLimit = (F32)getS32TreatmentParamUpperRangeLimit( TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT ); }