main/task_tft.c

changeset 56
756d1a63d129
parent 54
7b134c27fadb
child 57
6c5211c0120b
--- a/main/task_tft.c	Tue Jul 02 11:00:27 2019 +0200
+++ b/main/task_tft.c	Tue Jul 02 12:10:23 2019 +0200
@@ -15,7 +15,7 @@
 time_t				now;				///< Current time
 time_t				last = 0;			///< Last time
 struct tm			timeinfo;			///< Current time structure
-char				s_timer[10];			///< Timer string buffer
+char				s_timer[16];			///< Timer string buffer
 char				s_top_msg[64];			///< Top message string buffer
 
 extern float			stageTemp;
@@ -219,7 +219,7 @@
     	_fg = TFT_GREEN;
     	TFT_setFont(FONT_7SEG, NULL);
     	set_7seg_font_atrib(12, 2, 1, TFT_DARKGREY);
-    	snprintf(s_timer, 9, "%02d:%02d:%02d", Hours, Minutes, Seconds);
+    	snprintf(s_timer, 15, "%02d:%02d:%02d", Hours, Minutes, Seconds);
     	TFT_print(s_timer, X, Y);
 	_oldTime = Time;
 	snprintf(msg, 31, "{\"timer\":\"%s\"}", s_timer);
@@ -231,7 +231,7 @@
 
 void TopMessage(char *text)
 {
-    char	msg[64];
+    char	msg[96];
 
     snprintf(s_top_msg, 63, "%s", text);
     _fg = TFT_YELLOW;
@@ -240,7 +240,7 @@
     TFT_fillRect(0, 0, 319, 25, TFT_NAVY);
     TFT_print(s_top_msg, CENTER, 2);
     font_transparent = 0;
-    snprintf(msg, 63, "{\"top_msg\":\"%s\"}", s_top_msg);
+    snprintf(msg, 95, "{\"top_msg\":\"%s\"}", s_top_msg);
     ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
 }
 
@@ -248,7 +248,7 @@
 
 void MLT_info(int x, int y, bool update)
 {
-    char	ctemp[16], csp[16], cpower[16], msg[32];
+    char	ctemp[16], csp[16], cpower[16], msg[96];
     static char	ltemp[16], lsp[16], lpower[16];
     bool	con, cpwr, cpump = false;
     static bool	lon, lpwr, lpump;
@@ -290,7 +290,7 @@
 	    TFT_fillCircle(x + 166, y + 11, 8, _bg);
 	}
 	lon = con;
-	snprintf(msg, 31, "{\"mlt_led\":\"%s\"}", con ? "1":"0");
+	snprintf(msg, 95, "{\"mlt_led\":\"%s\"}", con ? "1":"0");
 	ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
     }
 
@@ -302,7 +302,7 @@
 	    TFT_fillCircle(x + 146, y + 11, 8, _bg);
 	}
 	lpump = cpump;
-	snprintf(msg, 31, "{\"pump_led\":\"%s\"}", cpump ? "1":"0");
+	snprintf(msg, 95, "{\"pump_led\":\"%s\"}", cpump ? "1":"0");
 	ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
     }
 
@@ -315,7 +315,7 @@
 		TFT_fillCircle(x + 126, y + 11, 8, _bg);
 	    }
 	    lpwr = cpwr;
-	    snprintf(msg, 31, "{\"hlt_led\":\"%s\"}", cpwr ? "1":"0");
+	    snprintf(msg, 95, "{\"hlt_led\":\"%s\"}", cpwr ? "1":"0");
 	    ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
 	}
     }
@@ -324,7 +324,7 @@
     	TFT_setFont(USER_FONT, "/spiffs/fonts/Grotesk24x48.fon");
     	TFT_print(ctemp, x + 5, y + 23);
 	strncpy(ltemp, ctemp, 16);
-	snprintf(msg, 31, "{\"mlt_pv\":\"%s\"}", ctemp);
+	snprintf(msg, 95, "{\"mlt_pv\":\"%s\"}", ctemp);
 	ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
     }
 
@@ -333,14 +333,14 @@
     	TFT_clearStringRect(x + 5, y + 70, (char *)"123.45 sp");
     	TFT_print(csp, x + 5, y + 70);
 	strncpy(lsp, csp, 16);
-	snprintf(msg, 31, "{\"mlt_sp\":\"%s\"}", csp);
+	snprintf(msg, 95, "{\"mlt_sp\":\"%s\"}", csp);
 	ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
     }
     if (strcmp(cpower, lpower) || (! update)) {
     	TFT_clearStringRect(x + 120, y + 70, (char *)"100%");
     	TFT_print(cpower, x + 120, y + 70);
 	strncpy(lpower, cpower, 16);
-	snprintf(msg, 31, "{\"mlt_power\":\"%s\"}", cpower);
+	snprintf(msg, 95, "{\"mlt_power\":\"%s\"}", cpower);
 	ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
     }
 }
@@ -349,7 +349,7 @@
 
 void HLT_info(int x, int y, bool update, bool small)
 {
-    char        ctemp[16], csp[16], cpower[16], msg[32];
+    char        ctemp[16], csp[16], cpower[16], msg[96];
     static char	ltemp[16], lsp[16], lpower[16];
     bool        con = false;
     static bool lon;
@@ -391,7 +391,7 @@
 	    TFT_fillCircle(x + 166, y + 11, 8, _bg);
 	}
 	lon = con;
-	snprintf(msg, 31, "{\"hlt_led\":\"%s\"}", con ? "1":"0");
+	snprintf(msg, 95, "{\"hlt_led\":\"%s\"}", con ? "1":"0");
 	ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
     }
 
@@ -404,7 +404,7 @@
 	    TFT_print(ctemp, x + 5,  y + 23);
 	}
 	strncpy(ltemp, ctemp, 16);
-	snprintf(msg, 31, "{\"hlt_pv\":\"%s\"}", ctemp);
+	snprintf(msg, 95, "{\"hlt_pv\":\"%s\"}", ctemp);
 	ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
     }
 
@@ -414,14 +414,14 @@
 	TFT_clearStringRect(x + 5, y + H, (char *)"123.45 sp");
 	TFT_print(csp, x + 5, y + H);
 	strncpy(lsp, csp, 16);
-	snprintf(msg, 31, "{\"hlt_sp\":\"%s\"}", csp);
+	snprintf(msg, 95, "{\"hlt_sp\":\"%s\"}", csp);
 	ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
     }
     if (strcmp(cpower, lpower) || (! update)) {
 	TFT_clearStringRect(x + 120, y + H, (char *)"100%");
 	TFT_print(cpower, x + 120, y + H);
 	strncpy(lpower, cpower, 16);
-	snprintf(msg, 31, "{\"hlt_power\":\"%s\"}", cpower);
+	snprintf(msg, 95, "{\"hlt_power\":\"%s\"}", cpower);
 	ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
     }
 }
@@ -437,7 +437,7 @@
 	counts = 1;	// Prevent division by zero.
 
     if (xSemaphoreTake(xSemaphoreDriver, 10) == pdTRUE) {
-	snprintf(json_log->time, 8, "%02d:%02d", Hour, Minute);
+	snprintf(json_log->time, 11, "%02d:%02d", Hour, Minute);
 	json_log->mlt_sp = driver_state->mlt_sp;
 	json_log->mlt_pv = driver_state->mlt_pv;
 	json_log->mlt_power = power_MLT / counts;
@@ -490,7 +490,7 @@
 
 void task_tft(void *pvParameter)
 {
-    char	msg[64];
+    char	msg[96];
 
     ESP_LOGI(TAG, "Initialize TFT/Touch task");
 
@@ -527,7 +527,7 @@
 	     * With each screenchange, remove the timer too.
 	     */
 	    Sub_Screen = 0;
-	    snprintf(msg, 63, "{\"main\":\"%d\",\"sub\":\"%d\",\"timer\":\"\"}", Main_Screen, Sub_Screen);
+	    snprintf(msg, 95, "{\"main\":\"%d\",\"sub\":\"%d\",\"timer\":\"\"}", Main_Screen, Sub_Screen);
 	    ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
 
 	    ESP_LOGI(TAG, "Change screen %d to %d", Old_Screen, Main_Screen);
@@ -673,12 +673,14 @@
 		}
 		if (System_TimeOk && (now != last)) {
 		    last = now;
-		    strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);
+		    //strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);
+		    strftime(strftime_buf, sizeof(strftime_buf), "%a %e %b %Y %T", &timeinfo);
 		    _bg = TFT_BLACK;
 		    _fg = TFT_ORANGE;
 		    TFT_setFont(DEJAVU18_FONT, NULL);
-		    TFT_print(strftime_buf, CENTER, 125);
-		    snprintf(msg, 63, "{\"timer\":\"%s\"}", strftime_buf);	// Fix string termination and only send once/second.
+		    snprintf(msg, 95, " %s ", strftime_buf);
+		    TFT_print(msg, CENTER, 125);
+		    snprintf(msg, 95, "{\"timer\":\"%s\"}", strftime_buf);	// Fix string termination and only send once/second.
 		    ws_server_send_text_clients((char *)"/ws", msg, strlen(msg));
 		}
 		break;

mercurial