Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -r6015f14d02e1b0dd73b2bed1d9ac84a83a20172e -rf3f7cd41b9d18b7bdae862a4bc1645f5926a72fd --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 6015f14d02e1b0dd73b2bed1d9ac84a83a20172e) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision f3f7cd41b9d18b7bdae862a4bc1645f5926a72fd) @@ -97,6 +97,7 @@ static const U32 EMPTY_SALINE_BAG_PERSISTENCE = ( 250 / TASK_GENERAL_INTERVAL ); ///< Time that saline bag looks empty before saying it is empty. #define PRES_ALARM_PERSISTENCE ( 1 * MS_PER_SECOND ) ///< Alarm persistence period for pressure alarms. +#define PRES_OCCL_ALARM_PERSISTENCE ( 3 * MS_PER_SECOND ) ///< Alarm persistence period for occlusion alarms #define VEN_OCCL_ALARM_PERSISTENCE 100 ///< Alarm persistence period for venous occlusion alarm. #define AIR_PUMP_TOLERANCE_TIMEOUT_MS (1 * MS_PER_SECOND ) ///< Time to allow increased maximum venous high limit @@ -201,7 +202,7 @@ initPersistentAlarm( ALARM_ID_VENOUS_PRESSURE_HIGH, 0, PRES_ALARM_PERSISTENCE ); initPersistentAlarm( ALARM_ID_HD_ARTERIAL_PRESSURE_OUT_OF_RANGE, 0, PRES_ALARM_PERSISTENCE ); initPersistentAlarm( ALARM_ID_HD_VENOUS_PRESSURE_OUT_OF_RANGE, 0, PRES_ALARM_PERSISTENCE ); - initPersistentAlarm( ALARM_ID_HD_BP_OCCLUSION_OUT_OF_RANGE, 0, PRES_ALARM_PERSISTENCE ); + initPersistentAlarm( ALARM_ID_HD_BP_OCCLUSION_OUT_OF_RANGE, 0, PRES_OCCL_ALARM_PERSISTENCE ); initPersistentAlarm( ALARM_ID_HD_VENOUS_LINE_OCCLUSION, 0, VEN_OCCL_ALARM_PERSISTENCE ); // Initialize the FPGA persistent alarms @@ -317,6 +318,7 @@ #endif { bloodPumpOcclusionAfterCartridgeInstall = getMeasuredBloodPumpOcclusion(); + SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_OCCLUSION_BASELINE, bloodPumpOcclusionAfterCartridgeInstall, OCCLUSION_THRESHOLD_OFFSET ); } } @@ -638,7 +640,7 @@ // Range check occlusion sensor (OB) if ( TRUE == isPersistentAlarmTriggered( ALARM_ID_HD_BP_OCCLUSION_OUT_OF_RANGE, outOfRange ) ) { - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_HD_BP_OCCLUSION_OUT_OF_RANGE, bpOccl ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_BP_OCCLUSION_OUT_OF_RANGE, bpOccl, bloodPumpOcclusionAfterCartridgeInstall ) } // Check for occlusion in PreTreatment modes when the cartridge is installed @@ -652,7 +654,7 @@ if ( bpOccl > ( OCCLUSION_THRESHOLD_OFFSET + bloodPumpOcclusionAfterCartridgeInstall ) ) { signalBloodPumpHardStop(); // Stop pump immediately - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_OCCLUSION_BLOOD_PUMP, bpOccl ) + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_OCCLUSION_BLOOD_PUMP, bpOccl, bloodPumpOcclusionAfterCartridgeInstall ) } } } @@ -666,7 +668,7 @@ if ( bpOccl > ( OCCLUSION_THRESHOLD_OFFSET + bloodPumpOcclusionAfterCartridgeInstall ) ) { signalBloodPumpHardStop(); // Stop pump immediately - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_OCCLUSION_BLOOD_PUMP, bpOccl ) + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_OCCLUSION_BLOOD_PUMP, bpOccl, bloodPumpOcclusionAfterCartridgeInstall ) } } }