Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -ra0966852dd6f9f8e70289b7ea7588677967f3f2f -r45a4f6517bd771cde7cba75c9150acef8176fa13 --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision a0966852dd6f9f8e70289b7ea7588677967f3f2f) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 45a4f6517bd771cde7cba75c9150acef8176fa13) @@ -234,7 +234,6 @@ checkInletPressure(); checkRORejectionRatio(); checkDialysateTemperatureSensorsDrift(); - publishFillModeData(); // TODO: Check for open straw door status and alarm if closed // Check if run out of time to fill the reservoir @@ -290,6 +289,8 @@ break; } + publishFillModeData(); + return fillState; } @@ -461,6 +462,7 @@ } else { + setROPumpTargetFlowRateLPM( getTargetFillFlowRateLPM(), TARGET_RO_PRESSURE_PSI ); handleDialysateMixing( getMeasuredROFlowRateLPM() * ML_PER_LITER ); requestConcentratePumpOn( CONCENTRATEPUMPS_CP1_ACID ); requestConcentratePumpOn( CONCENTRATEPUMPS_CP2_BICARB ); @@ -677,9 +679,10 @@ if ( concentratePumpPrimeCount++ > CONCENTRATE_PUMP_PRIME_INTERVAL ) #endif { - fillStatus.isThisFirstFill = FALSE; setValveState( VPO, VALVE_STATE_FILL_C_TO_NC ); - result = DG_FILL_MODE_STATE_DELIVER_DIALYSATE; + + fillStatus.isThisFirstFill = FALSE; + result = DG_FILL_MODE_STATE_DELIVER_DIALYSATE; } return result; @@ -727,7 +730,7 @@ F32 avgBicarbConductivity = bicarbConductivityTotal / conductivitySampleCount; #ifndef DISABLE_FLOW_CHECK_IN_FILL - if ( integratedVolumeToLoadCellReadingPercent > FLOW_INTEGRATED_VOLUME_CHECK_TOLERANCE ) // SRSDG 439 + if ( integratedVolumeToLoadCellReadingPercent > FLOW_INTEGRATED_VOLUME_CHECK_TOLERANCE ) // SRSDG 240 { SET_ALARM_WITH_2_F32_DATA( ALARM_ID_DG_FLOW_METER_CHECK_FAILURE, filledVolumeML, integratedVolumeML ); } @@ -736,7 +739,6 @@ #ifndef DISABLE_DIALYSATE_CHECK // SRSDG 400 if ( FALSE == isValueWithinPercentRange( avgBicarbConductivity, BICARB_NORMAL_CONDUCTIVITY, FIVE_PERCENT_FACTOR ) ) { - fillStatus.isThisFirstFill = TRUE; setBadAvgConductivityDetectedFlag( TRUE ); // signal idle bad avg conductivity detected setThisFisrtFillFlag( TRUE ); SET_ALARM_WITH_2_F32_DATA( ALARM_ID_FILL_CONDUCTIVITY_OUT_OF_RANGE, avgBicarbConductivity, BICARB_NORMAL_CONDUCTIVITY ); // trigger replace bottles alarm #1 @@ -745,7 +747,6 @@ if ( FALSE == isValueWithinPercentRange( avgAcidConductivity, ACID_NORMAL_CONDUCTIVITY, FIVE_PERCENT_FACTOR ) ) { - fillStatus.isThisFirstFill = TRUE; setBadAvgConductivityDetectedFlag( TRUE ); // signal idle bad avg conductivity detected setThisFisrtFillFlag( TRUE ); SET_ALARM_WITH_2_F32_DATA( ALARM_ID_FILL_CONDUCTIVITY_OUT_OF_RANGE, avgAcidConductivity, ACID_NORMAL_CONDUCTIVITY ); // trigger replace bottles alarm #1 then