diff -r 8a67450424b7 -r bafc2d6a0790 main/task_driver.c --- a/main/task_driver.c Thu Jul 29 22:38:30 2021 +0200 +++ b/main/task_driver.c Fri Jul 30 16:45:53 2021 +0200 @@ -20,6 +20,7 @@ #define SSR_PUMP CONFIG_SSR_PUMP_GPIO ///< GPIO Pump relay pin #define PWM_MLT CONFIG_PWM_MLT_GPIO ///< GPIO PWM MLT pin +#define HENDI_SWITCH 6 ///< Hendi power on/off at % bool outEnable = false; ///< Enable outputs flag DRIVER_State * driver_state; ///< Driver state @@ -136,15 +137,16 @@ /* * If the Hendi is on, the lowest setting is 500 Watt. So, if we need less then - * 10% power, turn it off, just like the manual knob. + * HENDI_SWITCH power, turn it off, just like the manual knob. */ - MLT((val >= 10) ? 1:0); + MLT((percent >= HENDI_SWITCH) ? 1:0); if (val != oldval) { - log_msg(TAG, "MLT_PWM(%d) val=%d %.0f watt", percent, val, (percent / 100.0) * equipment.MLT_watt); + log_msg(TAG, "MLT(%d) MLT_PWM(%d) val=%d %.0f watt pv: %.3f", (percent >= HENDI_SWITCH) ? 1:0, + percent, val, (percent / 100.0) * equipment.MLT_watt, driver_state->mlt_pv); ledc_set_duty(LEDC_HIGH_SPEED_MODE, LEDC_CHANNEL_0,/* 1024 - */val); ledc_update_duty(LEDC_HIGH_SPEED_MODE, LEDC_CHANNEL_0); - if (val >= 10) { + if (val >= HENDI_SWITCH) { runtime.MLT_usage += (xTaskGetTickCount() - MLT_time) * (percent / 100.0); } MLT_time = xTaskGetTickCount(); @@ -329,14 +331,12 @@ if ((PID_GetMode() == PID_AUTOMATIC) && (MLT_Mode == MLT_MODE_PID)) { /* Mash power limited */ PWMout = (PWMout * equipment.MashPower) / 100; -// if (PWMout > equipment.MashPower) -// PWMout = equipment.MashPower; } /* - * Do not send power values < 10%. + * Do not send power values < HENDI_SWITCH. */ - if (PWMout >= 10) { // Hendi minimum power is 500 Watt, this is 10% + if (PWMout >= HENDI_SWITCH) { // Hendi minimum power is 500 Watt, this is 10% if ((((PWMout / 100.0) * equipment.MLT_watt) + equipment.HLT_watt) > equipment.Max_watt) { if (HLT_pin) { ESP_LOGI(TAG, "Current %.0f Watt above %d limit, shutdown HLT",