Index: firmware/App/Controllers/AirTrap.c =================================================================== diff -u -r213af8d663da48931adb07f641ebacf8d0f3b4aa -r134e2da4b4c4f01528c4a6603bb4bd7a807711b3 --- firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 213af8d663da48931adb07f641ebacf8d0f3b4aa) +++ firmware/App/Controllers/AirTrap.c (.../AirTrap.c) (revision 134e2da4b4c4f01528c4a6603bb4bd7a807711b3) @@ -38,7 +38,9 @@ #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 ( 100 / TASK_GENERAL_INTERVAL ) ///< Persistence time for air pump operation after air trap upper level reads air. +#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_TIME_WIN_MS ( 60 * MS_PER_SECOND ) ///< Time window for Air Pump on count error. /// Persistence period for illegal level sensors fault. #define AIR_TRAP_ILLEGAL_LEVELS_TIMEOUT_MS ( 2 * MS_PER_SECOND ) ///< Air trap illegal values timeout (in ms) @@ -336,7 +338,7 @@ { setAirPumpState( AIR_PUMP_STATE_ON ); airPumpUpperLevelCtr = 0; - signalInitiatePressureStabilization(); + signalInitiatePressureStabilization( USE_SHORT_STABILIZATION_PERIOD ); } } Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -rc966bb0f40796e7877468b78db9e450e10e37b34 -r134e2da4b4c4f01528c4a6603bb4bd7a807711b3 --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision c966bb0f40796e7877468b78db9e450e10e37b34) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 134e2da4b4c4f01528c4a6603bb4bd7a807711b3) @@ -85,6 +85,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). @@ -926,7 +927,6 @@ } } } - // Check for occlusion in Treatment modes where pumps are moving else if ( MODE_TREA == getCurrentOperationMode() ) { Index: firmware/App/Controllers/PresOccl.h =================================================================== diff -u -r727f30438c094ec62abe1fad1f5a8962cd304a4d -r134e2da4b4c4f01528c4a6603bb4bd7a807711b3 --- firmware/App/Controllers/PresOccl.h (.../PresOccl.h) (revision 727f30438c094ec62abe1fad1f5a8962cd304a4d) +++ firmware/App/Controllers/PresOccl.h (.../PresOccl.h) (revision 134e2da4b4c4f01528c4a6603bb4bd7a807711b3) @@ -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 @@ -86,7 +88,7 @@ void setPressureLimitsToOuterBounds( void ); void updatePressureLimitWindows( void ); -void signalInitiatePressureStabilization( void ); +void signalInitiatePressureStabilization( BOOL useShort ); void resetArtVenPressureOffsets( void ); void setArtVenPressureOffsets( void ); Index: firmware/App/Modes/Dialysis.c =================================================================== diff -u -rdd9b6a7b7259bea3d954674457d3ff7a2babf5ec -r134e2da4b4c4f01528c4a6603bb4bd7a807711b3 --- firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision dd9b6a7b7259bea3d954674457d3ff7a2babf5ec) +++ firmware/App/Modes/Dialysis.c (.../Dialysis.c) (revision 134e2da4b4c4f01528c4a6603bb4bd7a807711b3) @@ -889,7 +889,6 @@ // Reset bolus data before we start bolusSalineVolumeDelivered_mL = 0.0; bolusSalineLastVolumeTimeStamp = getMSTimerCount(); - // Bypass dialyzer setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); setValvePosition( VDO, VALVE_POSITION_C_CLOSE );