Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -r3ebcff44116a7853d2011c7b2f1eb38c1f37ba2a -r2610908e6147de229a37df3ec7d000e2ea5917e0 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 3ebcff44116a7853d2011c7b2f1eb38c1f37ba2a) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 2610908e6147de229a37df3ec7d000e2ea5917e0) @@ -467,13 +467,18 @@ isTargetTempAdjusted = TRUE; primaryTargetTempAdjCounter = 0; #else - if ( fabs(deltaTempC) >= D5_HEAT_OUT_DEADBAND_CONTROL ) + if ( FALSE == isTargetTempAdjusted ) { + isTargetTempAdjusted = TRUE; + adjustedPrimaryTargetTemp = calcTargetTemp; + resetPIController( PI_CONTROLLER_ID_D5_HEAT_OUTER_LOOP, calcTargetTemp, HEATERS_MIN_DUTY_CYCLE ); + } + else if ( fabs(deltaTempC) >= D5_HEAT_OUT_DEADBAND_CONTROL ) + { ctrl = runPIController( PI_CONTROLLER_ID_D5_HEAT_OUTER_LOOP, targetTempfromTD, measuredTempAtDialyzer ); adjustedPrimaryTargetTemp = ctrl; } - isTargetTempAdjusted = TRUE; primaryTargetTempAdjCounter = 0; #endif }