Index: firmware/App/DGCommon.h =================================================================== diff -u -r66cc826068b54bc436cde0fae70a05ba6c1ac974 -ra0966852dd6f9f8e70289b7ea7588677967f3f2f --- firmware/App/DGCommon.h (.../DGCommon.h) (revision 66cc826068b54bc436cde0fae70a05ba6c1ac974) +++ firmware/App/DGCommon.h (.../DGCommon.h) (revision a0966852dd6f9f8e70289b7ea7588677967f3f2f) @@ -61,6 +61,7 @@ // #define DISABLE_CAP_SWITCHES 1 // Implement #define DISABLE_UV_REACTORS 1 #define DISABLE_ACID_BICARB_ALARMS 1 // Implement + #define DISABLE_EMPTY_BOTTLES_ALARMS 1 // Implement // #define DISABLE_PRIME_CONCENT_LINES 1 // #define DISABLE_BICARB_CONDUCTIVITY_TEST 1 Index: firmware/App/Modes/ModeDrain.c =================================================================== diff -u -r1722e975682c9e41e0b75551ada1139d3dc522a6 -ra0966852dd6f9f8e70289b7ea7588677967f3f2f --- firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision 1722e975682c9e41e0b75551ada1139d3dc522a6) +++ firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision a0966852dd6f9f8e70289b7ea7588677967f3f2f) @@ -247,20 +247,22 @@ setValveState( VRD2, VALVE_STATE_CLOSED ); } +#ifndef DISABLE_EMPTY_BOTTLES_ALARMS // Detect empty bottles using integrated volumes - if ( ( ( ACID_CONCENTRATION_BOTTLE_VOLUME_ML - getChemicalUsedVolumeML( ACID ) ) <= CONCENTRATION_BOTTLE_LOW_VOLUME_ML ) ) // || // SRSDG 437 + if ( ( ACID_CONCENTRATION_BOTTLE_VOLUME_ML - getChemicalUsedVolumeML( ACID ) ) <= CONCENTRATION_BOTTLE_LOW_VOLUME_ML ) // || // SRSDG 437 { resetChemicalUsedVolumeML( ACID ); setThisFisrtFillFlag( TRUE ); // indicates bottles need prime activateAlarmNoData( ALARM_ID_DG_ACID_BOTTLE_LOW_VOLUME ); } - if ( ( ( BICARB_CONCENTRATION_BOTTLE_VOLUME_ML - getChemicalUsedVolumeML( BICARB ) ) <= CONCENTRATION_BOTTLE_LOW_VOLUME_ML ) ) // || // SRSDG 438 + if ( ( BICARB_CONCENTRATION_BOTTLE_VOLUME_ML - getChemicalUsedVolumeML( BICARB ) ) <= CONCENTRATION_BOTTLE_LOW_VOLUME_ML ) // || // SRSDG 438 { resetChemicalUsedVolumeML( BICARB ); setThisFisrtFillFlag( TRUE ); activateAlarmNoData( ALARM_ID_DG_BICARB_BOTTLE_LOW_VOLUME ); } +#endif if ( TRUE == isReservoirTarePending() ) { // Tare reservoir load cells at empty if requested Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -r1722e975682c9e41e0b75551ada1139d3dc522a6 -ra0966852dd6f9f8e70289b7ea7588677967f3f2f --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 1722e975682c9e41e0b75551ada1139d3dc522a6) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision a0966852dd6f9f8e70289b7ea7588677967f3f2f) @@ -564,23 +564,23 @@ DG_FILL_MODE_STATE_T result = DG_FILL_MODE_STATE_TEST_BICARB_CONDUCTIVITY; F32 bicarbConductivity = getConductivityValue( CONDUCTIVITYSENSORS_CD2_SENSOR ); -#ifndef DISABLE_BICARB_CONDUCTIVITY_TEST totalBicarbConductivity += bicarbConductivity; bicarbConductivitySampleCount++; if ( TRUE == didTimeout( concentrateTestStartTime, CONCENTRATE_TEST_TIME_OUT_MS ) ) { averageBicarbConductivity = totalBicarbConductivity / bicarbConductivitySampleCount; +#ifndef DISABLE_BICARB_CONDUCTIVITY_TEST if ( TRUE == isValueWithinPercentRange( averageBicarbConductivity, BICARB_TEST_CD2_TCD, FIVE_PERCENT_FACTOR ) ) +#endif { // Initialization requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); totalBicarbConductivity = 0.0; totalAcidConductivity = 0.0; bicarbConductivitySampleCount = 0; acidConductivitySampleCount = 0; -#endif // Set pumps flow rate to prepare for acid conductivity testing setROPumpTargetFlowRateLPM( RO_PUMP_800_ML_PER_MIN / MILLILITERS_PER_LITER, TARGET_RO_PRESSURE_PSI ); @@ -590,15 +590,15 @@ concentrateTestStartTime = getMSTimerCount(); result = DG_FILL_MODE_STATE_TEST_ACID_CONDUCTIVITY; -#ifndef DISABLE_BICARB_CONDUCTIVITY_TEST } +#ifndef DISABLE_BICARB_CONDUCTIVITY_TEST else { // Bicarb test failed, go to fault SET_ALARM_WITH_1_F32_DATA( ALARM_ID_BICARB_CONDUCTIVITY_OUT_OF_RANGE, averageBicarbConductivity ); } - } #endif + } return result; } @@ -619,7 +619,6 @@ F32 acidConductivity = getConductivityValue( CONDUCTIVITYSENSORS_CD1_SENSOR ); F32 bicarbConductivity = getConductivityValue( CONDUCTIVITYSENSORS_CD2_SENSOR ); -#ifndef DISABLE_ACID_CONDUCTIVITY_TEST totalBicarbConductivity += bicarbConductivity; bicarbConductivitySampleCount++; @@ -632,11 +631,11 @@ averageAcidConductivity = totalAcidConductivity / acidConductivitySampleCount; pctDiffInConductivity = fabs( 2.0 * ( averageAcidConductivity - averageBicarbConductivity ) / ( averageAcidConductivity + averageBicarbConductivity ) ); - +#ifndef DISABLE_ACID_CONDUCTIVITY_TEST if ( ( TRUE == isValueWithinPercentRange( averageAcidConductivity, ACID_TEST_CD2_TCD, FIVE_PERCENT_FACTOR ) ) && ( pctDiffInConductivity < FIVE_PERCENT_FACTOR ) ) - { #endif + { setROPumpTargetFlowRateLPM( getTargetFillFlowRateLPM(), TARGET_RO_PRESSURE_PSI ); handleDialysateMixing( getMeasuredROFlowRateLPM() * ML_PER_LITER ); @@ -646,17 +645,16 @@ fillStatus.isThisFirstFill = FALSE; result = DG_FILL_MODE_STATE_PRODUCE_DIALYSATE; -#ifndef DISABLE_ACID_CONDUCTIVITY_TEST } +#ifndef DISABLE_ACID_CONDUCTIVITY_TEST else { // Acid conductivity did not pass, fault SET_ALARM_WITH_1_F32_DATA( ALARM_ID_ACID_CONDUCTIVITY_OUT_OF_RANGE, averageAcidConductivity ); } +#endif } -#endif - return result; }