# HG changeset patch # User Michiel Broek # Date 1627581461 -7200 # Node ID ac0c31c3895971bdd9648e00d893701960575580 # Parent 77cf1e9866e5eec3588cd3b59edae79557f1916a Fixed KWh measurement for Hendi equipment. diff -r 77cf1e9866e5 -r ac0c31c38959 main/task_driver.c --- a/main/task_driver.c Wed Jul 28 22:04:54 2021 +0200 +++ b/main/task_driver.c Thu Jul 29 19:57:41 2021 +0200 @@ -73,12 +73,12 @@ void MLT(int onoff) { if (onoff && outEnable) { - if (MLT_pin != 1) + if (MLT_pin != 1 && ! equipment.Hendi) MLT_time = xTaskGetTickCount(); gpio_set_level(SSR_MLT, 1); MLT_pin = 1; } else { - if (MLT_pin) + if (MLT_pin && ! equipment.Hendi) runtime.MLT_usage += xTaskGetTickCount() - MLT_time; gpio_set_level(SSR_MLT, 0); MLT_pin = 0; @@ -123,6 +123,7 @@ if (outEnable) { if (percent < 0) { val = 0; + MLT_time = xTaskGetTickCount(); } else if (percent > 100) { val = 1024; } else { @@ -130,6 +131,7 @@ } } else { val = 0; + MLT_time = xTaskGetTickCount(); } /* @@ -142,6 +144,10 @@ log_msg(TAG, "MLT_PWM(%d) val=%d %.0f watt", percent, val, (percent / 100.0) * equipment.MLT_watt); 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) { + runtime.MLT_usage += (xTaskGetTickCount() - MLT_time) * (percent / 100.0); + } + MLT_time = xTaskGetTickCount(); } oldval = val; } diff -r 77cf1e9866e5 -r ac0c31c38959 sdkconfig --- a/sdkconfig Wed Jul 28 22:04:54 2021 +0200 +++ b/sdkconfig Thu Jul 29 19:57:41 2021 +0200 @@ -121,10 +121,8 @@ # # BrewBoard Configuration # -CONFIG_TEMP_SENSORS_ONEWIRE=y -# CONFIG_TEMP_SENSORS_SIMULATOR is not set -CONFIG_ONE_WIRE_MLT=27 -CONFIG_ONE_WIRE_HLT=26 +# CONFIG_TEMP_SENSORS_ONEWIRE is not set +CONFIG_TEMP_SENSORS_SIMULATOR=y CONFIG_SSR_MLT_GPIO=32 CONFIG_PWM_MLT_GPIO=0 CONFIG_SSR_HLT_GPIO=33