main/task_driver.c

changeset 116
bafc2d6a0790
parent 113
ac0c31c38959
--- 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",

mercurial