Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -r2fafa5769ca6850277200ae0ec08a0e508b0d2ed -r037f0edb0b880130563058c809ba50308f2a63e9 --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 2fafa5769ca6850277200ae0ec08a0e508b0d2ed) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 037f0edb0b880130563058c809ba50308f2a63e9) @@ -48,8 +48,6 @@ #define DIALYSATE_FILL_TIME_OUT ( 5 * SEC_PER_MIN * MS_PER_SECOND ) ///< Time out period when reservoir is not filled with correct dialysate. ///< Persistent time interval for concentrate pumps test. #define CONCENTRATE_PUMP_TEST_PERSISTENT_INTERVAL ( 2 * MS_PER_SECOND / TASK_GENERAL_INTERVAL ) -///< Persistent time interval for concentrate pumps prime. -#define CONCENTRATE_PUMP_PRIME_INTERVAL ( 3 * MS_PER_SECOND / TASK_GENERAL_INTERVAL ) #define ACID_BICARB_CONCENTRATE_ADDITION_MULTIPLER 1.06 ///< Acid and bicarbonate concentrates make up around 6% to total volume. #define FLOW_INTEGRATED_VOLUME_CHECK_TOLERANCE 0.1 ///< Flow integrated volume has 10% tolerance compare to load cell reading. @@ -404,27 +402,27 @@ static DG_FILL_MODE_STATE_T handleDialysateProductionState( void ) { DG_FILL_MODE_STATE_T result = DG_FILL_MODE_STATE_DIALYSATE_PRODUCTION; - BOOL const isDialysateGood = checkDialysateConductivity(); handleDialysateMixing(); #ifndef DISABLE_DIALYSATE_CHECK - if ( ( TRUE == isDialysateGood ) && ( TRUE == checkDialysateTemperature() ) ) -#else - if ( TRUE ) + if ( ( TRUE == checkDialysateConductivity() ) && ( TRUE == checkDialysateTemperature() ) ) #endif { setValveState( VPO, VALVE_STATE_FILL_C_TO_NC ); result = DG_FILL_MODE_STATE_DELIVER_DIALYSATE; } - else if ( isDialysateGood != TRUE ) + + if ( checkDialysateConductivity() != TRUE ) { if ( ( TRUE == isAlarmActive( ALARM_ID_ACID_CONDUCTIVITY_OUT_OF_RANGE ) ) || ( TRUE == isAlarmActive( ALARM_ID_DIALYSATE_CONDUCTIVITY_OUT_OF_RANGE ) ) ) { result = DG_FILL_MODE_STATE_PAUSED; requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); + signalROPumpHardStop(); + stopPrimaryHeater(); } } @@ -449,6 +447,8 @@ ( isAlarmActive( ALARM_ID_DIALYSATE_CONDUCTIVITY_OUT_OF_RANGE ) ) != TRUE ) { result = DG_FILL_MODE_STATE_CHECK_INLET_WATER; + setROPumpTargetFlowRate( TARGET_RO_FLOW_RATE_L, TARGET_RO_PRESSURE_PSI ); + startPrimaryHeater(); } }