Index: firmware/App/Modes/Prime.c =================================================================== diff -u -reaffb84a318bb78cbc28d8867f158ba35e19b552 -rc9a699f3e65bb1680c265d6d0ad755aa653b1707 --- firmware/App/Modes/Prime.c (.../Prime.c) (revision eaffb84a318bb78cbc28d8867f158ba35e19b552) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision c9a699f3e65bb1680c265d6d0ad755aa653b1707) @@ -60,7 +60,8 @@ #define STEADY_VOLUME_COUNT_SEC ( 10000 / LOAD_CELL_STEADY_VOLUME_SAMPLING_TIME ) ///< Counter must be greater than 10 seconds before steady volume is true. #define STEADY_VOLUME_TIME_DEADLINE_MS ( 55 * MS_PER_SECOND ) ///< Time in msec for the steady volume deadline time out. -#define VENOUS_PRESSURE_BUBBLE_CLEAR_MAX_MMHG ( 200.0F ) ///< Maximum arterial pressure reading (in mmHg) for bubble clear. +#define VENOUS_PRESSURE_BUBBLE_CLEAR_MAX_MMHG ( 200.0F ) ///< Maximum venous pressure reading (in mmHg) for bubble clear. +#define BUBBLE_CLEAR_PRESSURE_REPETITIONS ( 5 ) ///< Bubble clear pressure repetitions in dialyzer priming. /// States of the treatment reservoir management state machine. typedef enum PrimeReservoirMgmt_States @@ -749,7 +750,7 @@ HD_PRE_TREATMENT_PRIME_STATE_T state = HD_PRIME_SALINE_DIALYZER_STATE; // Close valve 4-5 times to create pressure to clear Dialyzer bubbles - if ( TRUE == didTimeout( primeSalineDialyzerBubbleClearStartTime, ( primeSalineDialyzerTimeLimit / 5 ) ) ) + if ( TRUE == didTimeout( primeSalineDialyzerBubbleClearStartTime, ( primeSalineDialyzerTimeLimit / BUBBLE_CLEAR_PRESSURE_REPETITIONS ) ) ) { primeSalineDialyzerBubbleClearStartTime = getMSTimerCount(); setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); @@ -765,6 +766,9 @@ if ( TRUE == didTimeout( primeSalineDialyzerStartTime, primeSalineDialyzerTimeLimit ) ) { state = HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE; + // Release pressure + setValvePosition( VDI, VALVE_POSITION_A_INSERT_EJECT ); + bubbleClearActive = FALSE; } // TODO: Rework alarm and timeout logic here. PRIME_SALINE_DIALYZER_TIME_OUT_COUNT may not be reached. if ( TRUE == didTimeout( primeSalineDialyzerStartTime, PRIME_SALINE_DIALYZER_TIME_OUT_COUNT ) )