Index: firmware/App/Monitors/Pressures.c =================================================================== diff -u -ra12f3ce494cd2a18aee31659c17d8a619fc70f7d -r246100589a3755b37ee782fb1b41c69c5f555a38 --- firmware/App/Monitors/Pressures.c (.../Pressures.c) (revision a12f3ce494cd2a18aee31659c17d8a619fc70f7d) +++ firmware/App/Monitors/Pressures.c (.../Pressures.c) (revision 246100589a3755b37ee782fb1b41c69c5f555a38) @@ -72,7 +72,7 @@ #define VENOUS_PRESSURE_MAX_MMHG ( 2000.0F ) ///< Maximum venous pressure reading (in mmHg) for range check. #define VENOUS_PRESSURE_MIN_MMHG ( -1500.0F ) ///< Minimum venous pressure reading (in mmHg) for range check. #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_LIMIT_MIN_MMHG ( 10.0F ) ///< Minimum venous pressure limit (in mmHg). #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 @@ -431,7 +431,7 @@ } // Using final TMP value for override. - filtTmp = getTMPPressure(); + filtTmp = getLongFilteredTMPPressure(); curArtPres = FLOAT_TO_INT_WITH_ROUND( filtArt ); curVenPres = FLOAT_TO_INT_WITH_ROUND( filtVen ); @@ -496,10 +496,10 @@ if ( PRESSURE_LIMITS_STATE_STABLE == currPresLimitsState ) { // apply pressure windows when stable - S32 artOffset = (S32)getSysConfigTreatmentParameterU32( TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW ) / 2; + S32 artOffset = (S32)getSysConfigTreatmentParameterU32( TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW ); S32 venMinOffset = (S32)getSysConfigTreatmentParameterU32( TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC ); S32 venMaxOffset = (S32)getSysConfigTreatmentParameterU32( TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW ) - venMinOffset; - S32 tmpOffset = (S32)getSysConfigTreatmentParameterU32( TREATMENT_PARAM_TMP_PRES_LIMIT_WINDOW ) / 2; + S32 tmpOffset = (S32)getSysConfigTreatmentParameterU32( TREATMENT_PARAM_TMP_PRES_LIMIT_WINDOW ); currentArterialMinLimit = stableArterialPressure - artOffset; currentArterialMinLimit = MAX( currentArterialMinLimit, ARTERIAL_PRESSURE_LIMIT_MIN_MMHG ); @@ -711,9 +711,9 @@ } else if ( TRUE == didTimeout( stabilizationStartTimeMs, PRES_LIMIT_RESTABILIZE_TIME_MS ) ) { - stabilizationStartTimeMs = getMSTimerCount(); - pressureStabilizeTime = STABILIZATION_PERIOD_OFF; - currPresLimitsState = PRESSURE_LIMITS_STATE_STABILIZATION; + stabilizationStartTimeMs = getMSTimerCount(); + pressureStabilizeTime = STABILIZATION_PERIOD_OFF; + currPresLimitsState = PRESSURE_LIMITS_STATE_STABILIZATION; } break; @@ -1237,6 +1237,7 @@ // Verify message payload length if ( message->hdr.payloadLen == 0 ) { + pressureLimitResetRequestActive = TRUE; // Initiate pressure stabilization signalInitiatePressureStabilization( USE_NORMAL_STABILIZATION_PERIOD ); result = TRUE;