Index: firmware/App/HDCommon.h =================================================================== diff -u -reeeb0e3bd5139142394b4b454dcc5b5583cd2e29 -r9fc107ffe0ed515acf970426ff467abd8e7247a8 --- firmware/App/HDCommon.h (.../HDCommon.h) (revision eeeb0e3bd5139142394b4b454dcc5b5583cd2e29) +++ firmware/App/HDCommon.h (.../HDCommon.h) (revision 9fc107ffe0ed515acf970426ff467abd8e7247a8) @@ -84,6 +84,7 @@ #define SKIP_SAMPLE_WATER 1 // Skip pre-treatment sample water #define SKIP_CONSUMABLE_TESTS 1 // Skip pre-treatment consumable Self-tests #define SKIP_DRY_SELF_TESTS 1 // Skip pre-treatment dry self-tests + #define RUN_BLOOD_CIRCUIT_PRIME_AGAIN 1 // If this is 1st time priming, run blood circuit prime again // #define SKIP_PRIMING 1 // Skip Pre-treatment Prime // #define SKIP_WET_SELF_TESTS 1 // Skip Pre-treatment prime wet self-tests Index: firmware/App/Modes/Prime.c =================================================================== diff -u -r66da0a331c118550341c81098447d9fb8b7237e9 -r9fc107ffe0ed515acf970426ff467abd8e7247a8 --- firmware/App/Modes/Prime.c (.../Prime.c) (revision 66da0a331c118550341c81098447d9fb8b7237e9) +++ firmware/App/Modes/Prime.c (.../Prime.c) (revision 9fc107ffe0ed515acf970426ff467abd8e7247a8) @@ -40,7 +40,7 @@ #define BLOOD_PUMP_FAST_FLOW_RATE_PURGE_AIR_ML_MIN 400 ///< Blood pump fast flow rate to fill fluid. #define BLOOD_PUMP_SLOW_FLOW_RATE_PURGE_AIR_ML_MIN 150 ///< Blood pump slow flow rate after fluid reach lower level of air trap sensor. -#define BLOOD_PUMP_SALINE_FLOW_RATE_PURGE_AIR_ML_MIN 100 ///< Blood pump very slow flow rate during prime saline dialyzer state +#define BLOOD_PUMP_SALINE_FLOW_RATE_PURGE_AIR_ML_MIN 200 ///< Blood pump very slow flow rate during prime saline dialyzer state #define BLOOD_PUMP_FLOW_RATE_CIRC_BLOOD_CIRCUIT_ML_MIN 300 ///< Blood pump flow rate during prime recirculate blood circuit state. #define DIALYSATE_PUMP_PRIME_FLOW_RATE_ML_MIN 300 ///< Dialysate pump flow rate during priming fluid path. @@ -263,8 +263,16 @@ if ( HD_PRIME_WAIT_FOR_USER_START_STATE == currentPrimeState ) { primeStartRequested = TRUE; - accepted = TRUE; rejReason = REQUEST_REJECT_REASON_NONE; + + if ( TRUE == getReservoirFillStatus( DG_RESERVOIR_1 ) ) + { + accepted = TRUE; + } + else + { + rejReason = REQUEST_REJECT_REASON_RESERVOIR_ONE_IS_NOT_READY; + } } sendStartPrimeCmdResponse( accepted, rejReason ); @@ -636,6 +644,7 @@ { if ( TRUE == didTimeout( loadcellSteadyVolumeStartTime, MIN_LOAD_CELL_STEADY_VOLUME_TIME ) ) { +#ifdef RUN_BLOOD_CIRCUIT_PRIME_AGAIN if ( TRUE == runBloodCircuitPrimeAgain ) // TODO: Determine if we still need to go to HD_PRIME_SALINE_SETUP_STATE the first time { // since a new state HD_PRIME_SALINE_DIALYZER_STATE has been added runBloodCircuitPrimeAgain = FALSE; @@ -645,6 +654,9 @@ { state = HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE; } +#else + state = HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE; +#endif } } else