Increased some lock timeouts. Application CPU speed from 160 to 240 MHz. Added timeout timers to the update process.

Sun, 10 Nov 2019 20:53:01 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 10 Nov 2019 20:53:01 +0100
changeset 27
8bb63daa7b46
parent 26
8a3696620c0a
child 28
6d825e2962e4

Increased some lock timeouts. Application CPU speed from 160 to 240 MHz. Added timeout timers to the update process.

main/config.h file | annotate | diff | comparison | revisions
main/task_user.c file | annotate | diff | comparison | revisions
main/task_wifi.c file | annotate | diff | comparison | revisions
main/updates.c file | annotate | diff | comparison | revisions
sdkconfig file | annotate | diff | comparison | revisions
--- a/main/config.h	Fri Nov 08 22:40:15 2019 +0100
+++ b/main/config.h	Sun Nov 10 20:53:01 2019 +0100
@@ -96,7 +96,6 @@
     ML2_NETWORK,		///< Network status
     ML2_MQTT,			///< MQTT status
     ML2_UPDATE,			///< Update
-    ML2_DO_UPDATE,		///< Perform update
     ML2_SETUP_UNIT1,		///< Unit 1 setup
     ML2_SETUP_UNIT2,		///< Unit 2 setup
     ML2_SETUP_UNIT3,		///< Unit 3 setup
--- a/main/task_user.c	Fri Nov 08 22:40:15 2019 +0100
+++ b/main/task_user.c	Sun Nov 10 20:53:01 2019 +0100
@@ -685,10 +685,6 @@
                 screen_update();
                 break;
 
-	    case ML2_DO_UPDATE:
-		ESP_LOGI(TAG, "Loop user: Do update");
-		break;
-
             case ML2_SETUP_UNIT1:
             case ML2_SETUP_UNIT2:
             case ML2_SETUP_UNIT3:
@@ -884,12 +880,8 @@
 		break;
 
 	case ML2_UPDATE:
-		New_Loop2 = ML2_DO_UPDATE;
-		break;
-
-	case ML2_DO_UPDATE:
 		bin_update();
-		New_Loop2 = ML2_UPDATE;
+		screen_update();
 		break;
 
 	default:
--- a/main/task_wifi.c	Fri Nov 08 22:40:15 2019 +0100
+++ b/main/task_wifi.c	Sun Nov 10 20:53:01 2019 +0100
@@ -130,7 +130,7 @@
                 esp_wifi_sta_get_ap_info(&ap_info);
 		ESP_LOGI(TAG, "Event STA connected, ssid:%s, bssid:" MACSTR ", channel:%d, rssi: %d, authmode:%s",
                        ap_info.ssid, MAC2STR(ap_info.bssid), event->channel, ap_info.rssi, apsec[event->authmode]);
-                if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) {
+                if (xSemaphoreTake(xSemaphoreWiFi, 35) == pdTRUE) {
                     wifi_state->STA_connected = true;
                     wifi_state->STA_rssi = ap_info.rssi;
                     sprintf(wifi_state->STA_ssid, "%s", ap_info.ssid);
@@ -149,7 +149,7 @@
 
                 ESP_LOGI(TAG, "Event STA disconnected, ssid:%s, ssid_len:%d, bssid:" MACSTR ", reason:%d",
                        disconnected->ssid, disconnected->ssid_len, MAC2STR(disconnected->bssid), disconnected->reason);
-                if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) {
+                if (xSemaphoreTake(xSemaphoreWiFi, 35) == pdTRUE) {
                     wifi_state->STA_connected = false;
                     wifi_state->STA_online = false;
                     wifi_state->STA_rssi = 0;
@@ -177,7 +177,7 @@
 	case IP_EVENT_STA_GOT_IP:
             xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_HAS_IP);
 	    ip_event_got_ip_t* event = (ip_event_got_ip_t*) event_data;
-	    if (xSemaphoreTake(xSemaphoreWiFi, 10) == pdTRUE) {
+	    if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) {
             	wifi_state->STA_online = true;
 		snprintf(wifi_state->STA_ip, 16, "%s", ip4addr_ntoa(&event->ip_info.ip));
                 snprintf(wifi_state->STA_nm, 16, "%s", ip4addr_ntoa(&event->ip_info.netmask));
@@ -191,7 +191,7 @@
 	case IP_EVENT_STA_LOST_IP:
             ESP_LOGW(TAG, "Lost IP address");
             xEventGroupClearBits(xEventGroupWifi, TASK_WIFI_HAS_IP);
-            if (xSemaphoreTake(xSemaphoreWiFi, 10) == pdTRUE) {
+            if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) {
                 wifi_state->STA_ip[0] = '\0';
                 wifi_state->STA_nm[0] = '\0';
                 wifi_state->STA_gw[0] = '\0';
--- a/main/updates.c	Fri Nov 08 22:40:15 2019 +0100
+++ b/main/updates.c	Sun Nov 10 20:53:01 2019 +0100
@@ -33,16 +33,38 @@
     esp_err_t                   err;
     const esp_partition_t       *update_partition = NULL;
     esp_ota_handle_t            update_handle = 0;
+    int				timeout = 600;
 
     ESP_LOGI(TAG, "Update begin");
     update_running = 1;
     screen_updating("Stop tests", NULL);
-    requestWiFi_user(true);
 
     for (;;) {
-	vTaskDelay(50 / portTICK_PERIOD_MS);
-	if (ready_WiFi() && Main_Loop1 == ML1_DONE)
+	vTaskDelay(100 / portTICK_PERIOD_MS);
+	if (Main_Loop1 == ML1_DONE)
 	    break;
+	if (timeout)
+	    timeout--;
+	else {
+	    ESP_LOGE(TAG, "Timout request stop");
+	    goto updateerr;
+	}
+    }
+    screen_updating("Tests stopped", NULL);
+
+    screen_updating("Stop tests", "Start WiFi");
+    requestWiFi_user(true);
+    timeout = 600;
+    for (;;) {
+        vTaskDelay(100 / portTICK_PERIOD_MS);
+        if (ready_WiFi())
+            break;
+	if (timeout)
+            timeout--;
+        else {
+            ESP_LOGE(TAG, "Timout request WiFi");
+            goto updateerr;
+        }
     }
     ESP_LOGI(TAG, "System is ready for update");
     screen_updating("Prepare update", NULL);
--- a/sdkconfig	Fri Nov 08 22:40:15 2019 +0100
+++ b/sdkconfig	Sun Nov 10 20:53:01 2019 +0100
@@ -144,9 +144,9 @@
 CONFIG_ESP32_REV_MIN=1
 CONFIG_ESP32_DPORT_WORKAROUND=y
 # CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set
-CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y
-# CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set
-CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160
+# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set
+CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
+CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
 # CONFIG_ESP32_SPIRAM_SUPPORT is not set
 # CONFIG_ESP32_MEMMAP_TRACEMEM is not set
 # CONFIG_ESP32_MEMMAP_TRACEMEM_TWOBANKS is not set

mercurial