Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -ref6283257df7c1f993d58fb934da57ea3e0a7067 -r7de21ac8b699cafdfeaefbf2c062c3e21bcc956d --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision ef6283257df7c1f993d58fb934da57ea3e0a7067) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 7de21ac8b699cafdfeaefbf2c062c3e21bcc956d) @@ -71,6 +71,7 @@ #define PSI_TO_MMHG ( 51.7149F ) ///< Conversion factor for converting PSI to mmHg. +// The new arterial pressure sensor is the same as the venous pressure sensor #define VENOUS_PRESSURE_NORMAL_OP 0 ///< Venous pressure status bits indicate normal operation. #define VENOUS_PRESSURE_CMD_MODE 1 ///< Venous pressure status bits indicate sensor in command mode. #define VENOUS_PRESSURE_STALE_DATA 2 ///< Venous pressure status bits indicate data is stale (no new data since last fpga read). @@ -107,7 +108,10 @@ #define SHIFT_14_BITS 14 ///< Shift 14 bits. #define PRES_SENSORS_FPGA_ERROR_TIMEOUT_MS ( 2 * MS_PER_SECOND ) ///< Occlusion sensor FPGA error timeout in milliseconds. - + +#ifndef _RELEASE_ +#define MIN_OCCLUSION_COUNTS_V3 1500 ///< Minimum occlusion count for v3 hardware +#endif /// Defined states for the pressure and occlusion monitor state machine. typedef enum PresOccl_States { @@ -609,6 +613,14 @@ BOOL outOfRange = ( bpOccl < MIN_OCCLUSION_COUNTS || bpOccl > MAX_OCCLUSION_COUNTS ? TRUE : FALSE ); #ifndef _RELEASE_ + if ( HW_CONFIG_BETA == getHardwareConfigStatus() ) + { + outOfRange = (( bpOccl < MIN_OCCLUSION_COUNTS_V3 || bpOccl > MAX_OCCLUSION_COUNTS ? TRUE : FALSE )); + } +#endif + + +#ifndef _RELEASE_ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRESSURE_CHECKS ) != SW_CONFIG_ENABLE_VALUE ) #endif { @@ -628,7 +640,7 @@ // and setOcclusionInstallLevel has been called. if ( MODE_PRET == getCurrentOperationMode() ) { - if ( getPreTreatmentSubState() > HD_PRE_TREATMENT_CART_INSTALL_STATE && getDrySelfTestsState() > DRY_SELF_TESTS_START_STATE ) + if( getPreTreatmentSubState() > HD_PRE_TREATMENT_CART_INSTALL_STATE && getDrySelfTestsState() > DRY_SELF_TESTS_START_STATE ) { // Check for occlusion if ( bpOccl > ( OCCLUSION_THRESHOLD_OFFSET + bloodPumpOcclusionAfterCartridgeInstall ) ) @@ -638,7 +650,6 @@ } } } - // Check for occlusion in Treatment modes where pumps are moving else if ( MODE_TREA == getCurrentOperationMode() ) {