Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -rda757a96fa3b5756a2cc6321cc851af9a2cfcf09 -rdd9b6a7b7259bea3d954674457d3ff7a2babf5ec --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision da757a96fa3b5756a2cc6321cc851af9a2cfcf09) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision dd9b6a7b7259bea3d954674457d3ff7a2babf5ec) @@ -38,7 +38,7 @@ #define AIR_TRAP_DATA_PUB_INTERVAL ( MS_PER_SECOND / TASK_GENERAL_INTERVAL ) ///< Interval (ms/task time) at which the air trap data is published on the CAN bus. #define AIR_TRAP_FILL_TIMEOUT_MS ( 6 * MS_PER_SECOND ) ///< Air trap fill timeout period (in ms). #define AIR_PUMP_UPPER_LEVEL_PERSISTENCE ( 300 / TASK_GENERAL_INTERVAL ) ///< Persistence time for air pump operation after air trap upper level reads air. -#define AIR_PUMP_ON_ERROR_MAX_CNT 6 ///< Maximum number of air pump on events within time window before alarm triggered. Do not exceed MAX_TIME_WINDOWED_COUNT. +#define AIR_PUMP_ON_ERROR_MAX_CNT 6 ///< Maximum number of air pump on events within time window before alarm triggered. Do not exceed MAX_TIME_WINDOWED_COUNT. #define AIR_PUMP_ON_ERROR_TIME_WIN_MS ( 60 * MS_PER_SECOND ) ///< Time window for Air Pump on count error. /// Persistence period for illegal level sensors fault. static const U32 AIR_TRAP_ILLEGAL_LEVELS_PERSISTENCE = ( MS_PER_SECOND * 2 / TASK_GENERAL_INTERVAL ); @@ -348,7 +348,7 @@ setAirPumpState( AIR_PUMP_STATE_ON ); airPumpUpperLevelCtr = 0; - signalInitiatePressureStabilization( TRUE ); + signalInitiatePressureStabilization( USE_SHORT_STABILIZATION_PERIOD ); } } Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -rda757a96fa3b5756a2cc6321cc851af9a2cfcf09 -rdd9b6a7b7259bea3d954674457d3ff7a2babf5ec --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision da757a96fa3b5756a2cc6321cc851af9a2cfcf09) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision dd9b6a7b7259bea3d954674457d3ff7a2babf5ec) @@ -260,7 +260,7 @@ presOcclState = PRESSURE_WAIT_FOR_POST_STATE; presOcclPostState = PRESSURE_SELF_TEST_STATE_START; bloodPumpOcclusionAfterCartridgeInstall = 0; - useShortStablizeTime = FALSE; + useShortStablizeTime = USE_NORMAL_STABILIZATION_PERIOD; } /*********************************************************************//** @@ -405,18 +405,18 @@ * will be in effect immediately (next monitor pass). If treatment paused, * resume will start a new stabilization period ending in another set of * stable pressures before windowed limits recalculated. - * @details Inputs: useShort - * @details Outputs: stableArterialPressure, stableVenousPressure + * @details Inputs: none + * @details Outputs: stableArterialPressure, stableVenousPressure, useShortStablizeTime * @return none *************************************************************************/ -void updatePressureLimitWindows( BOOL useShort ) +void updatePressureLimitWindows( void ) { F32 filtArt; F32 filtVen; S32 curArtPres; S32 curVenPres; - if ( useShort ) + if ( USE_SHORT_STABILIZATION_PERIOD == useShortStablizeTime ) { filtArt = getFilteredArterialPressure(); filtVen = getFilteredVenousPressure(); @@ -442,8 +442,9 @@ * changed the blood and/or dialysate flow rate. If pressure limits state * was stable, a rate change will kick us back to stabilization state. * Else reset stabilize counter. - * @details Inputs: useShort + * @details Inputs: currPresLimitsState * @details Outputs: currPresLimitsState, stabilizationStartTimeMs, useShortStablizeTime + * @param useShort USE_NORMAL_STABILIZATION_PERIOD, USE_SHORT_STABILIZATION_PERIOD * @return none *************************************************************************/ void signalInitiatePressureStabilization( BOOL useShort ) @@ -624,7 +625,7 @@ else if ( ( TREATMENT_DIALYSIS_STATE == currTxState ) || ( TREATMENT_STOP_STATE == currTxState ) ) { stabilizationStartTimeMs = getMSTimerCount(); - useShortStablizeTime = FALSE; + useShortStablizeTime = USE_NORMAL_STABILIZATION_PERIOD; currPresLimitsState = PRESSURE_LIMITS_STATE_STABILIZATION; } break; @@ -649,9 +650,9 @@ } else if ( TRUE == didTimeout( stabilizationStartTimeMs, stabilizeTime ) ) { - updatePressureLimitWindows( useShortStablizeTime ); + updatePressureLimitWindows(); stabilizationStartTimeMs = getMSTimerCount(); - useShortStablizeTime = FALSE; + useShortStablizeTime = USE_NORMAL_STABILIZATION_PERIOD; currPresLimitsState = PRESSURE_LIMITS_STATE_STABLE; } break; @@ -668,7 +669,7 @@ else if ( TRUE == didTimeout( stabilizationStartTimeMs, PRES_LIMIT_RESTABILIZE_TIME_MS ) ) { stabilizationStartTimeMs = getMSTimerCount(); - useShortStablizeTime = FALSE; + useShortStablizeTime = USE_NORMAL_STABILIZATION_PERIOD; currPresLimitsState = PRESSURE_LIMITS_STATE_STABILIZATION; } break; Index: firmware/App/Controllers/PresOccl.h =================================================================== diff -u -rda757a96fa3b5756a2cc6321cc851af9a2cfcf09 -rdd9b6a7b7259bea3d954674457d3ff7a2babf5ec --- firmware/App/Controllers/PresOccl.h (.../PresOccl.h) (revision da757a96fa3b5756a2cc6321cc851af9a2cfcf09) +++ firmware/App/Controllers/PresOccl.h (.../PresOccl.h) (revision dd9b6a7b7259bea3d954674457d3ff7a2babf5ec) @@ -31,6 +31,8 @@ */ // ********** public definitions ********** +#define USE_NORMAL_STABILIZATION_PERIOD FALSE +#define USE_SHORT_STABILIZATION_PERIOD TRUE /// Enumeration of pressure sensors monitored by this module. typedef enum PressureSensors @@ -85,8 +87,8 @@ SELF_TEST_STATUS_T execPresOcclSelfTest( void ); void setPressureLimitsToOuterBounds( void ); -void updatePressureLimitWindows( BOOL ); -void signalInitiatePressureStabilization( BOOL ); +void updatePressureLimitWindows( void ); +void signalInitiatePressureStabilization( BOOL useShort ); void resetArtVenPressureOffsets( void ); void setArtVenPressureOffsets( void ); Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -rda757a96fa3b5756a2cc6321cc851af9a2cfcf09 -rdd9b6a7b7259bea3d954674457d3ff7a2babf5ec --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision da757a96fa3b5756a2cc6321cc851af9a2cfcf09) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision dd9b6a7b7259bea3d954674457d3ff7a2babf5ec) @@ -397,7 +397,7 @@ { accept = TRUE; salineBolusStartRequested = TRUE; - signalInitiatePressureStabilization( FALSE ); + signalInitiatePressureStabilization( USE_NORMAL_STABILIZATION_PERIOD ); } // Send response @@ -438,7 +438,7 @@ { accept = TRUE; salineBolusAbortRequested = TRUE; - signalInitiatePressureStabilization( FALSE ); + signalInitiatePressureStabilization( USE_NORMAL_STABILIZATION_PERIOD ); } // Send response @@ -987,7 +987,7 @@ sendOperationStatusEvent(); } - signalInitiatePressureStabilization( FALSE ); + signalInitiatePressureStabilization( USE_NORMAL_STABILIZATION_PERIOD ); // Resume dialysis transitionToDialysis(); } Index: firmware/App/Modes/ModeTreatment.c =================================================================== diff -u -rda757a96fa3b5756a2cc6321cc851af9a2cfcf09 -rdd9b6a7b7259bea3d954674457d3ff7a2babf5ec --- firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision da757a96fa3b5756a2cc6321cc851af9a2cfcf09) +++ firmware/App/Modes/ModeTreatment.c (.../ModeTreatment.c) (revision dd9b6a7b7259bea3d954674457d3ff7a2babf5ec) @@ -831,7 +831,7 @@ transitionToBloodPrime(); result = TREATMENT_BLOOD_PRIME_STATE; } - signalInitiatePressureStabilization( FALSE ); + signalInitiatePressureStabilization( USE_NORMAL_STABILIZATION_PERIOD ); } // If user requests rinseback, go to rinseback else if ( TRUE == initiateRinsebackAlarmResponseRequest ) @@ -1214,7 +1214,7 @@ { sendTreatmentLogEventData( UF_RATE_CHANGE_EVENT, presUFRate, pendingUFRateChange ); presUFRate = pendingUFRateChange; - signalInitiatePressureStabilization( FALSE ); + signalInitiatePressureStabilization( USE_NORMAL_STABILIZATION_PERIOD ); } setDialysisParams( getTreatmentParameterU32( TREATMENT_PARAM_BLOOD_FLOW ), getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ), presMaxUFVolumeML, presUFRate ); @@ -1281,7 +1281,7 @@ if ( ( bloodRate != (U32)getTreatmentParameterU32( TREATMENT_PARAM_BLOOD_FLOW ) ) || ( dialRate != (U32)getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ) ) ) { - signalInitiatePressureStabilization( FALSE ); + signalInitiatePressureStabilization( USE_NORMAL_STABILIZATION_PERIOD ); } // Set to new rates setTreatmentParameterU32( TREATMENT_PARAM_BLOOD_FLOW, bloodRate ); Index: firmware/App/Modes/TreatmentStop.c =================================================================== diff -u -rda757a96fa3b5756a2cc6321cc851af9a2cfcf09 -rdd9b6a7b7259bea3d954674457d3ff7a2babf5ec --- firmware/App/Modes/TreatmentStop.c (.../TreatmentStop.c) (revision da757a96fa3b5756a2cc6321cc851af9a2cfcf09) +++ firmware/App/Modes/TreatmentStop.c (.../TreatmentStop.c) (revision dd9b6a7b7259bea3d954674457d3ff7a2babf5ec) @@ -112,7 +112,7 @@ setupForDialysateRecirculationState(); - signalInitiatePressureStabilization( FALSE ); + signalInitiatePressureStabilization( USE_NORMAL_STABILIZATION_PERIOD ); // Reset saline bolus state in case alarm interrupted one resetSalineBolus();