Fixed KWh measurement for Hendi equipment.

Thu, 29 Jul 2021 19:57:41 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Thu, 29 Jul 2021 19:57:41 +0200
changeset 113
ac0c31c38959
parent 112
77cf1e9866e5
child 114
1413c4c5cd8c

Fixed KWh measurement for Hendi equipment.

main/task_driver.c file | annotate | diff | comparison | revisions
sdkconfig file | annotate | diff | comparison | revisions
--- 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;
 }
--- 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

mercurial