Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -r5109bb981cab2025fcb9de33e303d046085efa18 -rb909022e776df298f2fdad4f944afae29ad2d396 --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 5109bb981cab2025fcb9de33e303d046085efa18) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision b909022e776df298f2fdad4f944afae29ad2d396) @@ -170,6 +170,9 @@ getNVRecord2Driver( GET_CAL_FILL_CONDUCTIVITIES_RECORD, (U08*)&fillCondCalRecord, sizeof( fillCondCalRecord ), 0, ALARM_ID_NO_ALARM ); } + // Constantly update the trimmer heater target temperature + setHeaterTargetTemperature( DG_TRIMMER_HEATER, getTrimmerHeaterTargetTemperature() ); + // If the mode is fault or it is standby and the RO volume has not been written already, write it if ( ( ( DG_MODE_FAUL == getCurrentOperationMode() ) || ( DG_MODE_STAN == getCurrentOperationMode() ) ) && ( FALSE == nvOps.hasROGenVolBeenWrittenToNV ) ) { @@ -711,7 +714,7 @@ heatersTempCalc.timeUFDecayMS = (F32)heatersTempCalc.timeReservoirCycleMS - heatersTempCalc.timeReservoirFillMS; UFTimeConstant = heatersTempCalc.timeUFDecayMS * UFTauCPerMS; heatersTempCalc.tempUFFill = tempLastFill + UFTimeConstant; - + // TODO If tempUFFill < 25 make it 25 C or apply exponential Tau tempTargetNumerator = heatersTempCalc.tempReservoir0 - ( ( heatingConstsCalRecord.ultrafilterVolmL / targetFillVolML ) * heatersTempCalc.tempUFFill ); tempTargetDenominator = ( ( targetFillVolML - heatingConstsCalRecord.ultrafilterVolmL ) / targetFillVolML ); tempTargetC = tempTargetNumerator / tempTargetDenominator;