main/task_driver.c

changeset 87
47253f294a9f
parent 86
8d0287a1a9e1
child 88
7f02dbee58d0
--- a/main/task_driver.c	Sun Jun 07 22:30:07 2020 +0200
+++ b/main/task_driver.c	Wed Jun 10 09:43:51 2020 +0200
@@ -34,12 +34,17 @@
 double			HLT_Setpoint = 0;			///< HLT setpoint values
 int			HLT_Output = 0;				///< HLT output value
 int			HLT_Mode = HLT_MODE_NONE;		///< HLT mode flag
+TickType_t		MLT_time, HLT_time;
+
+
+static const char	*MLTTypes[] = { "None", "Bang", "PID", "Off", "Ext" };
+static const char	*HLTTypes[] = { "None", "Bang", "Off", "On" };
 
 static const char       *TAG = "task_driver";
 
-extern SemaphoreHandle_t xSemaphoreDS18B20;
-extern DS18B20_State * ds18b20_state;
-extern unsigned long lastTime;
+extern SemaphoreHandle_t	xSemaphoreDS18B20;
+extern DS18B20_State		*ds18b20_state;
+extern unsigned long		lastTime;
 
 
 /**
@@ -62,9 +67,13 @@
 void MLT(int onoff) {
 
     if (onoff && outEnable) {
+	if (MLT_pin != 1)
+	    MLT_time = xTaskGetTickCount();
 	gpio_set_level(SSR_MLT, 1);
 	MLT_pin = 1;
     } else {
+	if (MLT_pin)
+	    runtime.MLT_usage += xTaskGetTickCount() - MLT_time;
 	gpio_set_level(SSR_MLT, 0);
 	MLT_pin = 0;
     }
@@ -75,9 +84,13 @@
 void HLT(int onoff) {
 
     if (onoff && outEnable) {
+	if (HLT_pin != 1)
+	    HLT_time = xTaskGetTickCount();
 	gpio_set_level(SSR_HLT, 1);
 	HLT_pin = 1;
     } else {
+	if (HLT_pin)
+	    runtime.HLT_usage += xTaskGetTickCount() - HLT_time;
 	gpio_set_level(SSR_HLT, 0);
 	HLT_pin = 0;
     }
@@ -184,11 +197,11 @@
 		    LoadPIDsettings();
 		}
 		MLT_Mode = driver_state->mlt_mode;
-		ESP_LOGI(TAG, "MLT mode set to %d", MLT_Mode);
+		ESP_LOGI(TAG, "MLT mode set to %s", MLTTypes[MLT_Mode]);
 	    }
 	    if (driver_state->hlt_mode != HLT_Mode) {
 		HLT_Mode = driver_state->hlt_mode;
-		ESP_LOGI(TAG, "HLT mode set to %d", HLT_Mode);
+		ESP_LOGI(TAG, "HLT mode set to %s", HLTTypes[HLT_Mode]);
 	    }
 	    outEnable = driver_state->enable;
 	    HLT_Input = driver_state->hlt_pv;

mercurial