diff -r 8d0287a1a9e1 -r 47253f294a9f main/task_driver.c --- 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;