main/task_user.c

changeset 52
90a36619b07b
parent 51
5035385299f6
child 54
3b1834482899
--- a/main/task_user.c	Sun Apr 05 19:17:17 2020 +0200
+++ b/main/task_user.c	Mon Apr 06 10:42:08 2020 +0200
@@ -28,6 +28,9 @@
 int					num_ssids = 0;			///< Number of SSIDs we know
 struct strStations			editAP;				///< Data of station to edit
 char					sensors[DS18B20_MAX][17];	///< Sensors to select
+uint32_t				err_connect = 0;		///< Connect error count
+uint32_t				err_alarm = 0;			///< Alarm watchdog error count
+
 
 extern const esp_app_desc_t		*app_desc;			///< App description
 extern unit_t				units[3];			///< Pressure test units
@@ -80,6 +83,7 @@
     if (AlarmTimer == 1) {
 	ESP_LOGI(TAG, "Alarm Timer timeout");
 	Main_Loop1 = ML1_INIT;
+	err_alarm++;
     }
 
     if (AlarmTimer) {
@@ -705,6 +709,19 @@
 
 
 
+/*
+ * @brief The counters display screen.
+ */
+void screen_counters()
+{
+    screen_top("Software tellers");
+    menu_line(0, 1, 25, "Network  %d", err_connect);
+    menu_line(0, 1, 37, "Watchdog %d", err_alarm);
+    u8g2_SendBuffer(&u8g2);
+}
+
+
+
 /**
  * @brief Interrupt service routine for the rotary pushbutton.
  */
@@ -902,6 +919,10 @@
                 screen_update();
                 break;
 
+	    case ML2_COUNTERS:
+		screen_counters();
+		break;
+
             case ML2_SETUP_UNIT1:
             case ML2_SETUP_UNIT2:
             case ML2_SETUP_UNIT3:
@@ -953,7 +974,8 @@
 	case ML2_WIFI:          rotate_to_menu(event.state.position, ML2_NETWORK, ML2_UNIT3); break;
 	case ML2_NETWORK:       rotate_to_menu(event.state.position, ML2_MQTT, ML2_WIFI); break;
 	case ML2_MQTT:          rotate_to_menu(event.state.position, ML2_UPDATE, ML2_NETWORK); break;
-	case ML2_UPDATE:        rotate_to_menu(event.state.position, ML2_UPDATE, ML2_MQTT); break;
+	case ML2_UPDATE:        rotate_to_menu(event.state.position, ML2_COUNTERS, ML2_MQTT); break;
+	case ML2_COUNTERS:	rotate_to_menu(event.state.position, ML2_COUNTERS, ML2_UPDATE); break;
 	case ML2_SETUP_UNIT1:
 	case ML2_SETUP_UNIT2:
 	case ML2_SETUP_UNIT3:   if (rotate_to_sub(event.state.position, 3, &SubMenu, &SubOffset))
@@ -1311,11 +1333,12 @@
 		if (xEventGroupGetBits(xEventGroupUser) & TASK_USER_REFRESH) {
 		    xEventGroupClearBits(xEventGroupUser, TASK_USER_REFRESH);
     		    switch (Main_Loop2) {
-        		case ML2_USER:  screen_main();  break;
-        		case ML2_UNIT1: screen_unit(0); break;
-        		case ML2_UNIT2: screen_unit(1); break;
-        		case ML2_UNIT3: screen_unit(2); break;
-        		case ML2_WIFI:  screen_wifi();  break;
+        		case ML2_USER:  	screen_main();     break;
+        		case ML2_UNIT1: 	screen_unit(0);    break;
+        		case ML2_UNIT2: 	screen_unit(1);    break;
+        		case ML2_UNIT3: 	screen_unit(2);    break;
+        		case ML2_WIFI:  	screen_wifi();     break;
+			case ML2_COUNTERS:	screen_counters(); break;
     		    }
 		}
 

mercurial