Index: firmware/App/Controllers/ConcentratePumps.c =================================================================== diff -u -re6f3a632890f96a5aa282922d11df148bdd06587 -rc914eb443ee2679eb9fe3668119058ccc578437d --- firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision e6f3a632890f96a5aa282922d11df148bdd06587) +++ firmware/App/Controllers/ConcentratePumps.c (.../ConcentratePumps.c) (revision c914eb443ee2679eb9fe3668119058ccc578437d) @@ -243,14 +243,14 @@ /*********************************************************************//** * @brief - * The requestConcentratePumpsOn function requests the module to turn on + * The requestConcentratePumpOn function requests the module to turn on * the concentrate pumps. * @details Inputs: none * @details Outputs: set flag isPumpOnRequested to TRUE * @param pumpId concentrate pump id * @return none *************************************************************************/ -void requestConcentratePumpsOn( CONCENTRATE_PUMPS_T pumpId ) +void requestConcentratePumpOn( CONCENTRATE_PUMPS_T pumpId ) { if ( pumpId < NUM_OF_CONCENTRATE_PUMPS ) { @@ -264,14 +264,14 @@ /*********************************************************************//** * @brief - * The requestConcentratePumpsOff function requests the module to turn off + * The requestConcentratePumpOff function requests the module to turn off * the concentrate pumps. * @details Inputs: none * @details Outputs: set flag isPumpOffRequested to TRUE * @param pumpId concentrate pump id * @return none *************************************************************************/ -void requestConcentratePumpsOff( CONCENTRATE_PUMPS_T pumpId ) +void requestConcentratePumpOff( CONCENTRATE_PUMPS_T pumpId ) { if ( pumpId < NUM_OF_CONCENTRATE_PUMPS ) { Index: firmware/App/Controllers/ConcentratePumps.h =================================================================== diff -u -re6f3a632890f96a5aa282922d11df148bdd06587 -rc914eb443ee2679eb9fe3668119058ccc578437d --- firmware/App/Controllers/ConcentratePumps.h (.../ConcentratePumps.h) (revision e6f3a632890f96a5aa282922d11df148bdd06587) +++ firmware/App/Controllers/ConcentratePumps.h (.../ConcentratePumps.h) (revision c914eb443ee2679eb9fe3668119058ccc578437d) @@ -58,8 +58,8 @@ SELF_TEST_STATUS_T execConcenratePumpsSelfTest( void ); -void requestConcentratePumpsOn( CONCENTRATE_PUMPS_T pumpId ); -void requestConcentratePumpsOff( CONCENTRATE_PUMPS_T pumpId ); +void requestConcentratePumpOn( CONCENTRATE_PUMPS_T pumpId ); +void requestConcentratePumpOff( CONCENTRATE_PUMPS_T pumpId ); void setConcentratePumpTargetSpeed( CONCENTRATE_PUMPS_T pumpId, F32 targetSpeed_ml_min ); F32 getMeasuredPumpSpeed( CONCENTRATE_PUMPS_T pumpId ); Index: firmware/App/Modes/ModeChemicalDisinfect.c =================================================================== diff -u -r6f1f269cd7d91f41c51797d17a85a7ea249e21f3 -rc914eb443ee2679eb9fe3668119058ccc578437d --- firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision 6f1f269cd7d91f41c51797d17a85a7ea249e21f3) +++ firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision c914eb443ee2679eb9fe3668119058ccc578437d) @@ -941,7 +941,7 @@ setConcentratePumpTargetSpeed( CONCENTRATEPUMPS_CP2_BICARB, CONC_PUMP_PRIME_SPEED_ML_PER_MIN ); // The bicarb line is used to inject the acid into the fluid path during chemical disinfect - requestConcentratePumpsOn( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP2_BICARB ); // Start the timer for drain timeout stateTimer = getMSTimerCount(); @@ -989,7 +989,7 @@ { // Turn off the concentrate pump for now until there is sufficient RO flow to turn it // back for mixing - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); // Prepare for filling the reservoirs and heating the water setValveState( VPI, VALVE_STATE_OPEN ); @@ -1048,7 +1048,7 @@ // control it. if ( measuredROFlowRate < MIN_RO_FLOW_FOR_CONC_PUMP_MIXING_LPM ) { - requestConcentratePumpsOn( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP2_BICARB ); } else { @@ -1079,7 +1079,7 @@ setValveState( VRC, VALVE_STATE_RECIRC_C_TO_NC ); // Done with mixing acid - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); // Set the drain pump to control mode setDrainPumpTargetOutletPressure( CHEM_DISINFECT_TARGET_DRAIN_PRES_PSI ); Index: firmware/App/Modes/ModeFault.c =================================================================== diff -u -r89259a1e69799a051874afaf351c37091bef26da -rc914eb443ee2679eb9fe3668119058ccc578437d --- firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision 89259a1e69799a051874afaf351c37091bef26da) +++ firmware/App/Modes/ModeFault.c (.../ModeFault.c) (revision c914eb443ee2679eb9fe3668119058ccc578437d) @@ -135,8 +135,8 @@ setValveStateDelayed( VRI, VALVE_STATE_R1_C_TO_NO, DELAY_VALVE_MS ); setValveStateDelayed( VRF, VALVE_STATE_R2_C_TO_NO, DELAY_VALVE_MS ); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); signalROPumpHardStop(); signalDrainPumpHardStop(); stopPrimaryHeater(); Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -re6f3a632890f96a5aa282922d11df148bdd06587 -rc914eb443ee2679eb9fe3668119058ccc578437d --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision e6f3a632890f96a5aa282922d11df148bdd06587) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision c914eb443ee2679eb9fe3668119058ccc578437d) @@ -94,8 +94,6 @@ static BOOL isWaterQualityGood( void ); static BOOL checkDialysateTemperature( void ); static void handleDialysateMixing( F32 measuredROFlowRate_mL_min ); -static F32 getUsedAcidVolume( void ); -static F32 getUsedBicarbVolume( void ); /*********************************************************************//** * @brief @@ -236,10 +234,10 @@ #endif { concentrateTestStartTime = getMSTimerCount(); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOn( CONCENTRATEPUMPS_CP2_BICARB ); #ifndef DISABLE_MIXING setConcentratePumpTargetSpeed( CONCENTRATEPUMPS_CP2_BICARB, CONCENTRATE_PUMP_MAX_SPEED ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP2_BICARB ); #endif result = DG_FILL_MODE_STATE_BICARB_PUMP_CHECK; } @@ -285,11 +283,12 @@ { concentratePumpPrimeCount = 0; concentrateTestStartTime = getMSTimerCount(); - requestConcentratePumpsOn( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); #ifndef DISABLE_MIXING setConcentratePumpTargetSpeed( CONCENTRATEPUMPS_CP1_ACID, CONCENTRATE_PUMP_MAX_SPEED ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); #endif + result = DG_FILL_MODE_STATE_ACID_PUMP_CHECK; } } @@ -338,8 +337,8 @@ if ( concentratePumpPrimeCount++ > CONCENTRATE_PUMP_PRIME_INTERVAL ) { concentratePumpPrimeCount = 0; - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); result = DG_FILL_MODE_STATE_DIALYSATE_PRODUCTION; } } @@ -377,9 +376,9 @@ #endif { // Prime mixing before deliver result to reservoir - requestConcentratePumpsOn( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOn( CONCENTRATEPUMPS_CP2_BICARB ); handleDialysateMixing( measuredROFlowRate_mL_min ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP2_BICARB ); if ( concentratePumpPrimeCount++ > CONCENTRATE_PUMP_PRIME_INTERVAL ) { @@ -430,42 +429,42 @@ #ifndef DISABLE_DIALYSATE_CHECK if ( ( isWaterQualityGood() != TRUE ) || ( checkDialysateTemperature() != TRUE ) ) { - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); result = DG_FILL_MODE_STATE_DIALYSATE_PRODUCTION; } if ( TRUE == isPersistentAlarmTriggered( ALARM_ID_ACID_CONDUCTIVITY_OUT_OF_RANGE, isAcidConductivityOutOfRange ) ) { usedAcidVolume_mL.data = 0.0; - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); result = DG_FILL_MODE_STATE_PAUSED; } if ( TRUE == isPersistentAlarmTriggered( ALARM_ID_BICARB_CONDUCTIVITY_OUT_OF_RANGE, isDialysateConductivityOutOfRange ) ) { usedBicarbVolume_mL.data = 0.0; - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); result = DG_FILL_MODE_STATE_PAUSED; } #endif - if ( ( ACID_CONCENTRATION_BOTTLE_VOLUME_ML - getUsedAcidVolume() ) <= CONCENTRATION_BOTTLE_LOW_VOLUME_ML ) + if ( ( ACID_CONCENTRATION_BOTTLE_VOLUME_ML - getF32OverrideValue( &usedAcidVolume_mL ) ) <= CONCENTRATION_BOTTLE_LOW_VOLUME_ML ) { activateAlarmNoData( ALARM_ID_DG_ACID_BOTTLE_LOW_VOLUME ); } - if ( ( BICARB_CONCENTRATION_BOTTLE_VOLUME_ML - getUsedBicarbVolume() ) <= CONCENTRATION_BOTTLE_LOW_VOLUME_ML ) + if ( ( BICARB_CONCENTRATION_BOTTLE_VOLUME_ML - getF32OverrideValue( &usedBicarbVolume_mL ) ) <= CONCENTRATION_BOTTLE_LOW_VOLUME_ML ) { activateAlarmNoData( ALARM_ID_DG_BICARB_BOTTLE_LOW_VOLUME ); } - // if we've reached our target fill to volume (by weight), we're done filling - go back to generation idle mode + // If we've reached our target fill to volume (by weight), we're done filling - go back to generation idle mode if ( ( TRUE == hasTargetFillVolumeBeenReached( inactiveReservoir ) ) || ( ( integratedVolume_mL - reservoirBaseWeight ) >= MAX_RESERVOIR_VOLUME_ML ) ) { F32 const filledVolume_mL = getReservoirWeight( inactiveReservoir ) - reservoirBaseWeight; @@ -529,7 +528,7 @@ BOOL const isWaterConductivityGood = !isAlarmActive( ALARM_ID_INLET_WATER_HIGH_CONDUCTIVITY ) && !isAlarmActive( ALARM_ID_INLET_WATER_LOW_CONDUCTIVITY ) && !isAlarmActive( ALARM_ID_RO_REJECTION_RATIO_OUT_OF_RANGE ); - return ( isInletPressureGood && isWaterTemperatureGood && isWaterConductivityGood ); + return ( ( isInletPressureGood && isWaterTemperatureGood && isWaterConductivityGood ) ? TRUE : FALSE ); } /*********************************************************************//** @@ -573,45 +572,7 @@ #endif } -/*********************************************************************//** - * @brief - * The getUsedAcidVolume function returns the used volume of acid concentration. - * @details Inputs: usedAcidVolume_mL - * @details Outputs: none - * @return used acid concentration volume - *************************************************************************/ -static F32 getUsedAcidVolume( void ) -{ - F32 result = usedAcidVolume_mL.data; - if ( OVERRIDE_KEY == usedAcidVolume_mL.override ) - { - result = usedAcidVolume_mL.ovData; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The getUsedBicarbVolume function returns the used volume of bicarbonate concentration. - * @details Inputs: usedBicarbVolume_mL - * @details Outputs: none - * @return used bicarbonate concentration volume - *************************************************************************/ -static F32 getUsedBicarbVolume( void ) -{ - F32 result = usedBicarbVolume_mL.data; - - if ( OVERRIDE_KEY == usedBicarbVolume_mL.override ) - { - result = usedBicarbVolume_mL.ovData; - } - - return result; -} - - /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/ Index: firmware/App/Modes/ModeFlush.c =================================================================== diff -u -re6f3a632890f96a5aa282922d11df148bdd06587 -rc914eb443ee2679eb9fe3668119058ccc578437d --- firmware/App/Modes/ModeFlush.c (.../ModeFlush.c) (revision e6f3a632890f96a5aa282922d11df148bdd06587) +++ firmware/App/Modes/ModeFlush.c (.../ModeFlush.c) (revision c914eb443ee2679eb9fe3668119058ccc578437d) @@ -465,8 +465,8 @@ setConcentratePumpTargetSpeed( CONCENTRATEPUMPS_CP2_BICARB, BICARB_PUMP_SPEED_ML_PER_MIN ); // Turn on the concentrate pumps - requestConcentratePumpsOn( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOn( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOn( CONCENTRATEPUMPS_CP2_BICARB ); stateTimerStart = getMSTimerCount(); @@ -492,8 +492,8 @@ if ( TRUE == didTimeout( stateTimerStart, FLUSH_CONCENTRATE_STRAWS_TIME_MS ) ) { // Done with flushing the concentrate pumps line - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); setValveState( VPO, VALVE_STATE_FILL_C_TO_NC ); setValveState( VRF, VALVE_STATE_R1_C_TO_NC ); Index: firmware/App/Modes/ModeGenIdle.c =================================================================== diff -u -re6f3a632890f96a5aa282922d11df148bdd06587 -rc914eb443ee2679eb9fe3668119058ccc578437d --- firmware/App/Modes/ModeGenIdle.c (.../ModeGenIdle.c) (revision e6f3a632890f96a5aa282922d11df148bdd06587) +++ firmware/App/Modes/ModeGenIdle.c (.../ModeGenIdle.c) (revision c914eb443ee2679eb9fe3668119058ccc578437d) @@ -93,8 +93,8 @@ setValveState( VPO, VALVE_STATE_NOFILL_C_TO_NO ); signalDrainPumpHardStop(); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); // UV reactors on turnOnUVReactor( INLET_UV_REACTOR ); Index: firmware/App/Modes/ModeHeatDisinfect.c =================================================================== diff -u -re6f3a632890f96a5aa282922d11df148bdd06587 -rc914eb443ee2679eb9fe3668119058ccc578437d --- firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision e6f3a632890f96a5aa282922d11df148bdd06587) +++ firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision c914eb443ee2679eb9fe3668119058ccc578437d) @@ -700,8 +700,8 @@ rsrvr2Status = DG_RESERVOIR_BELOW_TARGET; // Done with flushing the concentrate pumps line - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); setValveState( VPO, VALVE_STATE_FILL_C_TO_NC ); setValveState( VRF, VALVE_STATE_R1_C_TO_NC ); @@ -1078,8 +1078,8 @@ case HEAT_DISINFECT_COMPLETE: - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP1_ACID ); - requestConcentratePumpsOff( CONCENTRATEPUMPS_CP2_BICARB ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB ); // Set the valves to transfer hot water from R1 to R2 and fill up R2. setValveState( VRO, VALVE_STATE_R2_C_TO_NC ); setValveState( VRD1, VALVE_STATE_OPEN ); Index: firmware/App/Services/SystemCommMessages.c =================================================================== diff -u -re6f3a632890f96a5aa282922d11df148bdd06587 -rc914eb443ee2679eb9fe3668119058ccc578437d --- firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision e6f3a632890f96a5aa282922d11df148bdd06587) +++ firmware/App/Services/SystemCommMessages.c (.../SystemCommMessages.c) (revision c914eb443ee2679eb9fe3668119058ccc578437d) @@ -2909,11 +2909,11 @@ memcpy( &payload, message->payload, sizeof( TEST_OVERRIDE_ARRAY_PAYLOAD_T ) ); if ( ( BOOL )payload.state.u32 ) { - requestConcentratePumpsOn( ( CONCENTRATE_PUMPS_T )payload.index ); + requestConcentratePumpOn( ( CONCENTRATE_PUMPS_T )payload.index ); } else { - requestConcentratePumpsOff( ( CONCENTRATE_PUMPS_T )payload.index ); + requestConcentratePumpOff( ( CONCENTRATE_PUMPS_T )payload.index ); } }