Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -r0b93322875e9aa5719941574fde93d3042dc6796 -rf1cb4be5fb8201cec188589e683c8bf20d895ec0 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 0b93322875e9aa5719941574fde93d3042dc6796) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision f1cb4be5fb8201cec188589e683c8bf20d895ec0) @@ -641,7 +641,7 @@ // If the last fill temperature > target temperature, it means the primary heater overshot the duty cycle // so with its efficiency is toned down for the next fill cycle // If the heater under-shoots the duty cycle, the efficiency increases the duty cycle for the next fill cycle - if ( lastFillTemperature - primaryTargetTemperature < NEARLY_ZERO ) + if ( lastFillTemperature - primaryTargetTemperature < 0.0F ) { heaterEfficiency -= ( lastFillTemperature - primaryTargetTemperature ) * PRIMARY_HEATER_DUTY_CYCLE_PER_TEMPERATURE_C; } @@ -790,6 +790,7 @@ if ( ++dataPublicationTimerCounter >= getU32OverrideValue( &heatersDataPublishInterval ) ) { HEATERS_DATA_T data; + data.mainPrimayHeaterDC = heatersStatus[ DG_PRIMARY_HEATER ].dutycycle * 100.0; // The duty cycle of the primary heater is divided into 2 parts and is applied to main // and small primary heaters. So they are always the same.