Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -r4ea1d6f81be132a2959ba1d11555102761b5f080 -rd05ec20825ed98eb4c9bfc3ff45f81894090a1ec --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision 4ea1d6f81be132a2959ba1d11555102761b5f080) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision d05ec20825ed98eb4c9bfc3ff45f81894090a1ec) @@ -641,7 +641,7 @@ // Park concentrate pump too if requested #ifndef _RELEASE_ - if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_CONCENTRATE_PUMPS_PARK ) != SW_CONFIG_ENABLE_VALUE ) + if ( SW_CONFIG_DISABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_CONCENTRATE_PUMPS_PARK ) ) { if ( HW_CONFIG_BETA == getHardwareConfigStatus() ) { Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -r2de5552645e060e73d186ffb5a20223f163d4673 -rd05ec20825ed98eb4c9bfc3ff45f81894090a1ec --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 2de5552645e060e73d186ffb5a20223f163d4673) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision d05ec20825ed98eb4c9bfc3ff45f81894090a1ec) @@ -80,7 +80,7 @@ // 2m long tubing to cap = 19.5 mL (acid line) + 7.92 mL/m * 2 m (tubing to cap) + 20.82 mL (straw) = 56.15 mL // Prime time in seconds = ( 56.15 mL / 48 mL/min ) x 60 second/min + 25 seconds margin time = 95 seconds. -#define PRIME_CONCENTRATE_LINES_TIME_OUT_MS ( 95 * MS_PER_SECOND ) ///< Time required to prime the concentrate lines. +#define PRIME_CONCENTRATE_LINES_TIME_OUT_MS ( 60 * MS_PER_SECOND ) ///< Time required to prime the concentrate lines. #define FLUSH_BUBBLES_PUMP_TIME_OUT_MS ( 2 * MS_PER_SECOND ) ///< RO pump on during flush bubble interval in ms. #define DIALYSATE_TEMPERATURE_TOLERANCE_C 2.0F ///< Dialysate temperature tolerance in degree C. #define DATA_PUBLISH_COUNTER_START_COUNT 63 ///< Data publish counter start count. @@ -146,6 +146,7 @@ static U32 pumpSpeedIndex; ///< Index used to access the desired pump speed in roPumpFlushBubblesSpeed table. static BOOL havePauseActuatorsBeenSet; ///< Flag to indicate the actuators have been set to pause for the first time. +static BOOL didFillRecoverFromPause; ///< Flag to indicate whether the previous state was pause or not. static FILL_ACID_BICARB_TYPES_T chemicalsTypes; ///< Chemicals Types (acid and bicarb). static DG_CHEMICALS_FILL_COND_CAL_RECORD_T chemicalsCond; ///< Chemicals fill conductivity records. static F32 acidMixRatio; ///< Acid conductivity mix ratio. @@ -218,6 +219,7 @@ sumFillCPoConductivity = 0.0F; sumFillRejRatio = 0.0F; fillCPoConductivitySampleCnt = 0; + didFillRecoverFromPause = FALSE; } /*********************************************************************//** @@ -967,7 +969,7 @@ * The handlePausedState function executes the paused state of the fill * mode state machine. * @details Inputs: havePauseActuatorsBeenSet - * @details Outputs: havePauseActuatorsBeenSet + * @details Outputs: havePauseActuatorsBeenSet, didFillRecoverFromPause * @return the next state *************************************************************************/ static DG_FILL_MODE_STATE_T handlePausedState( void ) @@ -978,6 +980,7 @@ if ( ( FALSE == areInletWaterConditionsAlarmsActive() ) && ( FALSE == areConductivityAlarmsActive() ) ) { + didFillRecoverFromPause = TRUE; havePauseActuatorsBeenSet = FALSE; result = DG_FILL_MODE_STATE_TEST_INLET_WATER; } @@ -989,11 +992,13 @@ * @brief * The setModeFillStateTransition function sets the actuators and variables * for the state transition in mode fill. - * @details Inputs: pumpSpeedIndex, havePauseActuatorsBeenSet + * @details Inputs: pumpSpeedIndex, havePauseActuatorsBeenSet, + * didFillRecoverFromPause * @details Outputs: concPumpPrimeStartTimeMS, fillStatus, pumpSpeedIndex, * concentratePrimingStartTime, totalBicarbConductivity, averageBicarbConductivity, * bicarbConductivitySampleCount, concentrateTestStartTime, fillStatus, - * havePauseActuatorsBeenSet, flushBubblesStartTime + * havePauseActuatorsBeenSet, flushBubblesStartTime, didFMPCheckStart, + * didFillRecoverFromPause * @param state mode fill state enum * @return none *************************************************************************/ @@ -1067,7 +1072,11 @@ case DG_FILL_MODE_STATE_DELIVER_DIALYSATE: setValveState( VPO, VALVE_STATE_FILL_C_TO_NC ); - dialysateFillStartTimeMS = getMSTimerCount(); + if ( didFillRecoverFromPause != TRUE ) + { + dialysateFillStartTimeMS = getMSTimerCount(); + } + didFillRecoverFromPause = FALSE; fillStatus.isThisFirstFill = FALSE; break;