Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -r544e9782a1b8d444224f41efef38a5204c262722 -r3d413ac026e89a1324c4b0e99516735ec382fed8 --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 544e9782a1b8d444224f41efef38a5204c262722) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 3d413ac026e89a1324c4b0e99516735ec382fed8) @@ -772,16 +772,17 @@ // Done with this fill. Calculate the average fill flow rate and average temperature // Reset the variables for the next fill // Get the last fill temperature before leaving to Generation Idle - fillStatus.fillFlowRateAverageLPM = fillStatus.fillFlowRateRunningSum / (F32)fillStatus.fillSampleCounter; + fillStatus.fillFlowRateAverageLPM = fillStatus.fillFlowRateRunningSum / (F32)fillStatus.fillSampleCounter; fillStatus.fillTemperatureAverage = fillStatus.fillTemperatureRunningSum / (F32)fillStatus.fillSampleCounter; fillStatus.fillFlowRateRunningSum = 0.0; fillStatus.fillTemperatureRunningSum = 0.0; - fillStatus.fillSampleCounter = 1; + fillStatus.fillSampleCounter = 0; fillStatus.fillLastTemperature = getTemperatureValue( (U32)TEMPSENSORS_OUTLET_PRIMARY_HEATER ); + calculateHeaterEstimationGain( DG_PRIMARY_HEATER ); + // Write the latest fill data into the RTC RAM for heaters control - // TODO test this and make sure it is writing it correctly - setFillInfoToRTCRAM(); // SRSDG ??? + // setFillInfoToRTCRAM(); // TODO we do not need to write to NV memory for now requestNewOperationMode( DG_MODE_GENE ); } @@ -920,6 +921,9 @@ acidCP1PumpFlowRate = MIN( acidCP1PumpFlowRate, CONCENTRATE_PUMP_MAX_SPEED ); bicarbCP2PumpFlowRate = MIN( bicarbCP2PumpFlowRate, CONCENTRATE_PUMP_MAX_SPEED ); + acidCP1PumpFlowRate = MAX( acidCP1PumpFlowRate, 0.0F ); + bicarbCP2PumpFlowRate = MAX( bicarbCP2PumpFlowRate, 0.0F ); + setConcentratePumpTargetSpeed( CONCENTRATEPUMPS_CP1_ACID, acidCP1PumpFlowRate ); setConcentratePumpTargetSpeed( CONCENTRATEPUMPS_CP2_BICARB, bicarbCP2PumpFlowRate ); }