Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -r6e2201a24809b6d718f327ff9d92251eca9a7375 -r542a50ea0f1958b02ddc8f1824eb534686616e7c --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 6e2201a24809b6d718f327ff9d92251eca9a7375) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 542a50ea0f1958b02ddc8f1824eb534686616e7c) @@ -172,8 +172,6 @@ static DIALIN_FILL_FOR_CAL_CHECK_T dialinFillForCalCheck = DIALIN_FILL_FOR_CAL_NONE; ///< Dialin fill for calibration check. // NOTE: this variable should be initialized here because the init function is called every time and then this variable is set to 0.0. static F32 roRejectionRatioFromHD = 0.0F; ///< RO rejection ratio from HD. -static OVERRIDE_F32_T usedAcidVolumeML = { 0.0, 0.0, 0.0, 0.0 }; ///< The integrated acid concentration volume has been used in mL. -static OVERRIDE_F32_T usedBicarbVolumeML = { 0.0, 0.0, 0.0, 0.0 }; ///< The integrated bicarb concentration volume has been used in mL. static OVERRIDE_U32_T fillModeDataPublishInterval = { FILL_MODE_DATA_PUB_INTERVAL, FILL_MODE_DATA_PUB_INTERVAL, 0, 0 }; ///< Interval (in ms) at which to publish fill mode data to CAN bus. static OVERRIDE_F32_T integratedVolumeML = { 0.0, 0.0, 0.0, 0.0 }; ///< Total RO flow rate over period of time. @@ -195,7 +193,6 @@ static void handleDialysateMixing( F32 measuredROFlowRate_mL_min, F32 acidMixingRatio, F32 bicarbMixingRatio ); static BOOL isValueWithinPercentRange( F32 testValue, F32 baseValue, F32 percentFactor ); static void publishFillModeData( void ); -static void updateChemicalsUsage( void ); /*********************************************************************//** * @brief @@ -354,7 +351,6 @@ { checkDialysateTemperatureSensors(); setHeaterTargetTemperature( DG_PRIMARY_HEATER, getPrimaryHeaterTargetTemperature() ); - updateChemicalsUsage(); if ( fillState != DG_FILL_MODE_STATE_PAUSED ) { @@ -498,60 +494,6 @@ /*********************************************************************//** * @brief - * The getChemicalUsedVolumeML function returns the consumed volume of the called - * chemical bottle in milliliters. - * @details Inputs: none - * @details Outputs: none - * @param bottle which the type of bottle (acid or bicarb) can be specified - * @return used chemical volume in millilters - *************************************************************************/ -F32 getChemicalUsedVolumeML( CHEMICAL_BOTTLES_T bottle ) -{ - F32 volume; - - if ( ACID == bottle ) - { - volume = getF32OverrideValue( &usedAcidVolumeML ); - } - else if ( BICARB == bottle ) - { - volume = getF32OverrideValue( &usedBicarbVolumeML ); - } - else - { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_CHEMICAL_BOTTLE_SELECTED, bottle ) - } - - return volume; -} - -/*********************************************************************//** - * @brief - * The resetChemicalUsedVolumeML function resets the used volume of a chemical - * bottle. - * @details Inputs: none - * @details Outputs: none - * @param bottle which the type of bottle (acid or bicarb) can be specified - * @return none - *************************************************************************/ -void resetChemicalUsedVolumeML( CHEMICAL_BOTTLES_T bottle ) -{ - if ( ACID == bottle ) - { - usedAcidVolumeML.data = 0.0F; - } - else if ( BICARB == bottle ) - { - usedBicarbVolumeML.data = 0.0F; - } - else - { - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_DG_SOFTWARE_FAULT, SW_FAULT_ID_INVALID_CHEMICAL_BOTTLE_SELECTED, bottle ) - } -} - -/*********************************************************************//** - * @brief * The setThisFisrtFillFlag function sets the boolean flag that indicates * the acid and bicarb bottle need priming. * @details Inputs: none @@ -1012,8 +954,6 @@ { setBadAvgConductivityDetectedFlag( TRUE ); // signal idle bad avg conductivity detected setThisFirstFillFlag( TRUE ); - resetChemicalUsedVolumeML( BICARB ); - resetChemicalUsedVolumeML( ACID ); SET_ALARM_WITH_2_F32_DATA( ALARM_ID_DG_FILL_CONDUCTIVITY_OUT_OF_RANGE, avgBicarbConduSPerCM, bicarbNormalConduSPerCM ); // trigger replace bottles alarm #1 clearAlarm( ALARM_ID_DG_CREATING_DIALYSATE_PLEASE_WAIT ); // clear this alarm before triggering in case previous fill was bad and still active from before activateAlarmNoData ( ALARM_ID_DG_CREATING_DIALYSATE_PLEASE_WAIT ); @@ -1327,8 +1267,8 @@ fillModeData.averageBicarbConductivity = averageBicarbConductivity; fillModeData.isThisTheFirstFill = isThisTheFirstFill(); fillModeData.pctDiffInConductivity = pctDiffInConductivity; - fillModeData.usedAcidVolumeML = getChemicalUsedVolumeML( ACID ); - fillModeData.usedBicarbVolumeML = getChemicalUsedVolumeML( BICARB ); + fillModeData.usedAcidVolumeML = 0.0F; + fillModeData.usedBicarbVolumeML = 0.0F; fillModeData.integratedVolumeML = getIntegratedVolumeML(); fillModeData.roOnlyModeStatus = (U32)isROOnlyModeEnabled(); fillModeData.badFillSignal = getCurrentBadFillSignal(); @@ -1340,123 +1280,13 @@ } } -/*********************************************************************//** - * @brief - * The updateChemicalsUsage function updates the used acid and bicarb volumes. - * @details Inputs: usedAcidVolumeML, usedBicarbVolumeML - * @details Outputs: none - * @return none - *************************************************************************/ -static void updateChemicalsUsage( void ) -{ - usedAcidVolumeML.data += getMeasuredPumpSpeedMLPM( CONCENTRATEPUMPS_CP1_ACID ) * FLOW_INTEGRATOR; - usedBicarbVolumeML.data += getMeasuredPumpSpeedMLPM( CONCENTRATEPUMPS_CP2_BICARB ) * FLOW_INTEGRATOR; -} - /************************************************************************* * TEST SUPPORT FUNCTIONS *************************************************************************/ - /*********************************************************************//** * @brief - * The testSetUsedAcidVolumeMLOverride function overrides the - * acid volume. - * @details Inputs: used acid volume - * @details Outputs: used acid volume - * @param value override used acid volume in mL - * @return TRUE if override successful, FALSE if not - *************************************************************************/ -BOOL testSetUsedAcidVolumeMLOverride( F32 value ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - usedAcidVolumeML.ovInitData = usedAcidVolumeML.data; - usedAcidVolumeML.ovData = value; - usedAcidVolumeML.override = OVERRIDE_KEY; - result = TRUE; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The testResetUsedAcidVolumeMLOverride function resets the override - * of the used acid volume. - * @details Inputs: used acid volume - * @details Outputs: used acid volume - * @return TRUE if override successful, FALSE if not - *************************************************************************/ -BOOL testResetUsedAcidVolumeMLOverride( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - usedAcidVolumeML.data = usedAcidVolumeML.ovInitData; - usedAcidVolumeML.override = OVERRIDE_RESET; - usedAcidVolumeML.ovInitData = 0.0F; - usedAcidVolumeML.ovData = 0.0F; - result = TRUE; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The testSetUsedBicarbVolumeMLOverride function overrides the - * bicarb volume. - * @details Inputs: used bicarb volume - * @details Outputs: used bicarb volume - * @param value override used bicarb volume in mL - * @return TRUE if override successful, FALSE if not - *************************************************************************/ -BOOL testSetUsedBicarbVolumeMLOverride( F32 value ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - usedBicarbVolumeML.ovInitData = usedBicarbVolumeML.data; - usedBicarbVolumeML.ovData = value; - usedBicarbVolumeML.override = OVERRIDE_KEY; - result = TRUE; - } - - return result; -} - -/*********************************************************************//** - * @brief - * The testResetUsedBicarbVolumeMLOverride function resets the override - * of the used bicarb volume. - * @details Inputs: used bicarb volume - * @details Outputs: used bicarb volume - * @return TRUE if override successful, FALSE if not - *************************************************************************/ -BOOL testResetUsedBicarbVolumeMLOverride( void ) -{ - BOOL result = FALSE; - - if ( TRUE == isTestingActivated() ) - { - usedBicarbVolumeML.data = usedBicarbVolumeML.ovInitData; - usedBicarbVolumeML.override = OVERRIDE_RESET; - usedBicarbVolumeML.ovInitData = 0.0F; - usedBicarbVolumeML.ovData = 0.0F; - result = TRUE; - } - - return result; -} - -/*********************************************************************//** - * @brief * The testSetFillModeDataPublishIntervalOverride function overrides the * fill mode data publish interval. * @details Inputs: FillModeDataPublishInterval