Version 0.2.2 Changed to use a permanent network and WiFi connection. Removed three mainloop stages. Removed MQTT sequence counter that was not used. Update WiFi rssi status during eacht measure cycle. Changed FreeRTOS schedulng to 500 Hz.

Sat, 14 Mar 2020 13:07:02 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 14 Mar 2020 13:07:02 +0100
changeset 47
1ab1f4a8c328
parent 46
2cf4b15895f2
child 48
d43ea0c916de

Version 0.2.2 Changed to use a permanent network and WiFi connection. Removed three mainloop stages. Removed MQTT sequence counter that was not used. Update WiFi rssi status during eacht measure cycle. Changed FreeRTOS schedulng to 500 Hz.

CMakeLists.txt file | annotate | diff | comparison | revisions
main/co2meter.c file | annotate | diff | comparison | revisions
main/config.h file | annotate | diff | comparison | revisions
main/task_mqtt.c file | annotate | diff | comparison | revisions
main/task_wifi.c file | annotate | diff | comparison | revisions
main/task_wifi.h file | annotate | diff | comparison | revisions
main/updates.c file | annotate | diff | comparison | revisions
sdkconfig file | annotate | diff | comparison | revisions
--- a/CMakeLists.txt	Sat Jan 25 12:02:22 2020 +0100
+++ b/CMakeLists.txt	Sat Mar 14 13:07:02 2020 +0100
@@ -2,7 +2,7 @@
 # in this exact order for cmake to work correctly
 cmake_minimum_required(VERSION 3.5)
 
-set(PROJECT_VER "0.2.1")
+set(PROJECT_VER "0.2.2")
 set(PROJECT_NAME "co2meter")
 
 include($ENV{IDF_PATH}/tools/cmake/project.cmake)
--- a/main/co2meter.c	Sat Jan 25 12:02:22 2020 +0100
+++ b/main/co2meter.c	Sat Mar 14 13:07:02 2020 +0100
@@ -23,6 +23,7 @@
 extern SemaphoreHandle_t        	xSemaphoreDS18B20;      	///< DS18B20 lock semaphore
 extern ADC_State                	*adc_state;             	///< ADC state
 extern SemaphoreHandle_t        	xSemaphoreADC;          	///< ADC lock semaphore
+extern SemaphoreHandle_t		xSemaphoreWiFi;
 extern WIFI_State			*wifi_state;			///< WiFi state
 extern EventGroupHandle_t		xEventGroupUser;
 extern int				count_pub;			///< Published MQTT messages in transit
@@ -122,11 +123,23 @@
     xTaskCreate(&task_user,    "task_user",     4096, NULL,10, &xTaskUser);
     xTaskCreate(&task_ds18b20, "task_ds18b20",  2560, NULL, 8, &xTaskDS18B20);
     xTaskCreate(&task_adc,     "task_adc",      2560, NULL, 8, &xTaskADC);
+    esp_log_level_set("MQTT_CLIENT", ESP_LOG_ERROR);
+    xTaskCreate(&task_mqtt,    "task_mqtt",     4096, NULL, 5, &xTaskMQTT);
     esp_log_level_set("wifi", ESP_LOG_ERROR);
     xTaskCreate(&task_wifi,    "task_wifi",     4096, NULL, 3, &xTaskWifi);
     vTaskDelay(10 / portTICK_PERIOD_MS);
-    esp_log_level_set("MQTT_CLIENT", ESP_LOG_ERROR);
-    xTaskCreate(&task_mqtt,    "task_mqtt",     4096, NULL, 5, &xTaskMQTT);
+    int wait = 150;
+    while (wait) {
+	if (ready_WiFi()) {
+		ESP_LOGI(TAG, "Online in %.1f seconds", (150 - wait) / 10.0);
+        	wait = 0;
+        } else {
+		wait--;
+		if (wait < 1)
+			ESP_LOGE(TAG, "Timeout network connection");
+	}
+	vTaskDelay(100 / portTICK_PERIOD_MS);
+    }
 
     /*
      * Main application loop.
@@ -139,8 +152,8 @@
 	while (1) {
 	    switch (Main_Loop1) {
 		case ML1_INIT:
+		    status_WiFi();
 		    Main_Loop1 = ML1_CONNECT;
-		    requestWiFi_system(true);
 		    request_ds18b20();
 		    request_adc();
 		    break;
@@ -149,12 +162,13 @@
                     if (ready_WiFi()) {
                         Main_Loop1 = ML1_MQTT_CONNECT;
 			user_refresh();
+			if (! ready_mqtt())
+			    connect_mqtt(true);
 		    }
                     break;
 
 		case ML1_MQTT_CONNECT:
 		    if (ready_ds18b20() && ready_adc()) {
-			connect_mqtt(true);
 			Main_Loop1 = ML1_WAITCON;
 
 			uint32_t temp[DS18B20_MAX];
@@ -242,27 +256,10 @@
 		    break;
 
 		case ML1_WAITACK:
-		    if (count_pub == 0) // Wait until all published messages are sent.
-			Main_Loop1 = ML1_MQTT_DISCONNECT;
-		    break;
-
-		case ML1_MQTT_DISCONNECT:
-		    connect_mqtt(false); // Doesn't really disconnect.
-                    Main_Loop1 = ML1_DISCONNECT;
-		    break;
-
-		case ML1_DISCONNECT:
-		    if (! ready_mqtt()) {
-		    	requestWiFi_system(false);
-		    	Main_Loop1 = ML1_WIFI_OFF;
-		    }
-		    break;
-
-		case ML1_WIFI_OFF:
-		    if (! ready_WiFi()) {
+		    if (count_pub == 0) { // Wait until all published messages are sent.
 			ESP_LOGI(TAG, "Main loop: Done, user busy: %s", user_busy() ? "true":"false");
-			Main_Loop1 = ML1_DONE;
-			user_refresh();
+                        Main_Loop1 = ML1_DONE;
+                        user_refresh();
 		    }
 		    break;
 
--- a/main/config.h	Sat Jan 25 12:02:22 2020 +0100
+++ b/main/config.h	Sat Mar 14 13:07:02 2020 +0100
@@ -40,7 +40,6 @@
 #include "esp_spi_flash.h"
 #include "esp_ota_ops.h"
 #include "esp_http_client.h"
-#include "nvs.h"
 #include "nvs_flash.h"
 #include "lwip/sockets.h"
 #include "lwip/dns.h"
@@ -71,9 +70,6 @@
     ML1_WAITCON,		///< Wait for connection and measurements
     ML1_SEND,			///< Send MQTT node and units messages
     ML1_WAITACK,		///< MQTT messages received
-    ML1_MQTT_DISCONNECT,	///< MQTT disconnect
-    ML1_DISCONNECT,		///< Disconnect WiFi
-    ML1_WIFI_OFF,		///< WiFi power off
     ML1_DONE			///< All done
 } ML1;
 
--- a/main/task_mqtt.c	Sat Jan 25 12:02:22 2020 +0100
+++ b/main/task_mqtt.c	Sat Mar 14 13:07:02 2020 +0100
@@ -11,8 +11,6 @@
 
 EventGroupHandle_t		xEventGroupMQTT;	///< Events MQTT task
 SemaphoreHandle_t		xSemaphorePcounter;	///< Publish counter semaphore.
-uint64_t			Sequence = 0;		///< Sequence stored in NVS
-nvs_handle_t			seq_handle;		///< NVS handle
 int				count_pub = 0;		///< Outstanding published messages.
 esp_mqtt_client_handle_t	client;			///< MQTT client handle
 
@@ -60,16 +58,9 @@
  */
 char *payload_header(void)
 {
-    char        *tmp, buf[128];
-    esp_err_t   err;
+    char        *tmp;
 
-    tmp = xstrcpy((char *)"{\"seq\":");
-    sprintf(buf, "%lld", Sequence++);
-    err = nvs_set_u64(seq_handle, "Sequence_cnt", Sequence);
-    if (err != ESP_OK)
-	ESP_LOGE(TAG, "Error %s write Sequence to NVS", esp_err_to_name(err));
-    tmp = xstrcat(tmp, buf);
-    tmp = xstrcat(tmp, (char *)",\"metric\":");
+    tmp = xstrcpy((char *)"{\"metric\":");
     return tmp;
 }
 
@@ -364,29 +355,6 @@
     ESP_LOGI(TAG, "Starting MQTT task");
     xSemaphorePcounter = xSemaphoreCreateMutex();
 
-    /*
-     * Initialize Sequence counter from NVS
-     */
-    err = nvs_open("storage", NVS_READWRITE, &seq_handle);
-    if (err != ESP_OK) {
-        ESP_LOGE(TAG, "Error (%s) opening NVS handle", esp_err_to_name(err));
-    } else {
-	err = nvs_get_u64(seq_handle, "Sequence_cnt", &Sequence);
-	switch (err) {
-	    case ESP_OK:
-		ESP_LOGI(TAG, "Sequence counter from NVS = %lld", Sequence);
-		break;
-
-	    case ESP_ERR_NVS_NOT_FOUND:
-		ESP_LOGI(TAG, "Sequence counter not found");
-		break;
-
-	    default:
-		ESP_LOGE(TAG, "Error (%s) init Sequence", esp_err_to_name(err));
-		break;
-	}
-    }
-
     /* event handler and event group for the wifi driver */
     xEventGroupMQTT = xEventGroupCreate();
     EventBits_t uxBits;
@@ -436,9 +404,6 @@
 	} else if (uxBits & TASK_MQTT_DISCONNECT) {
 	    ESP_LOGI(TAG, "Request MQTT disconnect");
 	    esp_mqtt_client_stop(client);
-	    err = nvs_commit(seq_handle);
-	    if (err != ESP_OK)
-		ESP_LOGE(TAG, "Error %s commit NVS", esp_err_to_name(err));
 	    xEventGroupClearBits(xEventGroupMQTT, TASK_MQTT_DISCONNECT);
 	    xEventGroupClearBits(xEventGroupMQTT, TASK_MQTT_CONNECTED);
 	}
--- a/main/task_wifi.c	Sat Jan 25 12:02:22 2020 +0100
+++ b/main/task_wifi.c	Sat Mar 14 13:07:02 2020 +0100
@@ -34,14 +34,13 @@
 const int TASK_WIFI_REQUEST_WIFI_SCAN = BIT0;			///< When set, means a client requested to scan wireless networks.
 const int TASK_WIFI_REQUEST_STA_DISCONNECT = BIT1;		///< When set, means a client requested to disconnect from currently connected AP.
 const int TASK_WIFI_REQUEST_STA_CONNECT = BIT2;			///< When set, means a client requested to connect to an access point.
+const int TASK_WIFI_REQUEST_STA_STATUS = BIT8;
 
 const int TASK_WIFI_HAS_IP = BIT3;				///< Indicate that we have an IP address
 const int TASK_WIFI_STA_FAILED = BIT4;				///< Indicate that we could not get a connection to AP as station.
 const int TASK_WIFI_STA_DISCONNECTED = BIT5;			///< Indicate that we are disconnected from an ap station.
 const int TASK_WIFI_STA_CONNECTED = BIT6;			///< Indicate that we are connected to AP as station, flip of BIT6.
 
-const int TASK_WIFI_REQUEST_SYSTEM = BIT8;			///< The system needs a connection
-const int TASK_WIFI_REQUEST_USER = BIT9;			///< The user needs a connection
 
 
 /**
@@ -53,37 +52,6 @@
 /****************************************************************************/
 
 
-
-void requestWiFi_system(bool state)
-{
-    if (state)
-	xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_REQUEST_SYSTEM);
-    else
-        xEventGroupClearBits(xEventGroupWifi, TASK_WIFI_REQUEST_SYSTEM);
-
-    if (xEventGroupGetBits(xEventGroupWifi) & (TASK_WIFI_REQUEST_SYSTEM | TASK_WIFI_REQUEST_USER))
-	xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_REQUEST_STA_CONNECT);
-    else
-	xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_REQUEST_STA_DISCONNECT);
-}
-
-
-
-void requestWiFi_user(bool state)
-{
-    if (state)
-        xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_REQUEST_USER);
-    else
-        xEventGroupClearBits(xEventGroupWifi, TASK_WIFI_REQUEST_USER);
-
-    if (xEventGroupGetBits(xEventGroupWifi) & (TASK_WIFI_REQUEST_SYSTEM | TASK_WIFI_REQUEST_USER))
-        xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_REQUEST_STA_CONNECT);
-    else
-        xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_REQUEST_STA_DISCONNECT);
-}
-
-
-
 bool ready_WiFi(void)
 {
     if (wifi_state->STA_connected && wifi_state->STA_online)
@@ -93,6 +61,13 @@
 
 
 
+void status_WiFi(void)
+{
+    xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_REQUEST_STA_STATUS);
+}
+
+
+
 static void wifi_event_handler(void* arg, esp_event_base_t event_base, int32_t event_id, void* event_data)
 {
     switch (event_id) {
@@ -105,11 +80,11 @@
 	    break;
 
 	case WIFI_EVENT_STA_START:
-	    ESP_LOGI(TAG, "Event wifi START");
-            // Set the configured hostname for the dhcp client.
-            ESP_ERROR_CHECK(tcpip_adapter_set_hostname(TCPIP_ADAPTER_IF_STA, config.hostname));
-            esp_wifi_connect();
-	    break;
+		ESP_LOGI(TAG, "Event wifi START");
+        	// Set the configured hostname for the dhcp client.
+        	ESP_ERROR_CHECK(tcpip_adapter_set_hostname(TCPIP_ADAPTER_IF_STA, config.hostname));
+        	esp_wifi_connect();
+		break;
 
 	case WIFI_EVENT_STA_CONNECTED:
 	    {
@@ -145,8 +120,49 @@
                 } else {
 		    ESP_LOGE(TAG, "wifi_event_handler() lock error WIFI_EVENT_STA_DISCONNECTED");
 		}
+		connect_mqtt(false);
                 xEventGroupClearBits(xEventGroupWifi, TASK_WIFI_STA_CONNECTED);
                 xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_STA_DISCONNECTED);
+
+		//if (disconnected->reason == WIFI_REASON_NO_AP_FOUND && ! _wifi_ScanAPs) {
+                //    ESP_LOGI(TAG, "Request scan for another AP");
+                //    _wifi_ScanAPs = true;
+                //    _wifi_ScanDone = false;
+                //    ap_num = MAX_AP_NUM;
+                //    ESP_ERROR_CHECK(esp_wifi_scan_start(&scan_config, false));
+                //    xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_REQUEST_STA_CONNECT); // Keep looping active.
+                //    break;
+                //}
+
+		//if (disconnected->reason == WIFI_REASON_NO_AP_FOUND && _wifi_ScanAPs && _wifi_ScanDone) {
+                //    ESP_LOGD(TAG, "Scan completed, look for another AP, found:%d", _wifi_Scanned);
+                //    _wifi_ScanAPs = false;
+                //    _wifi_ScanDone = false;
+                //    for (int i = 0; i < _wifi_Scanned; i++) {
+                //        ap = accessp_records[i];
+                //        if ((read_station(ap.ssid) != -1)) {
+                //            if (wifiStation.hide) {
+                //                continue;               // Blacklisted.
+                //            }
+                            /* We know this one */
+                //            wifi_config_t* config = task_wifi_ConfigSTA;
+                //            memset(config, 0x00, sizeof(wifi_config_t));
+                //            memcpy(config->sta.ssid, wifiStation.SSID, strlen(wifiStation.SSID));
+                //            memcpy(config->sta.password, wifiStation.Password, strlen(wifiStation.Password));
+                //            ESP_LOGD(TAG, "new AP %s %s", wifiStation.SSID, wifiStation.Password);
+                //            xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_REQUEST_STA_CONNECT);
+                //            break;
+                //        }
+                //    }
+                //    break;
+                //}
+
+		/*
+                 * Reconnect previous AP.
+                 */
+                //if (FetchStaConfig()) {
+                //    xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_REQUEST_STA_CONNECT);
+                //}
 		break;
 	    }
 
@@ -163,36 +179,42 @@
     switch (event_id) {
 
 	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, 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));
-                snprintf(wifi_state->STA_gw, 16, "%s", ip4addr_ntoa(&event->ip_info.gw));
-                xSemaphoreGive(xSemaphoreWiFi);
-	    } else {
-		ESP_LOGE(TAG, "got_ip_event_handler() lock error IP_EVENT_STA_GOT_IP");
-	    }
-	    break;
+		xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_HAS_IP);
+		ip_event_got_ip_t* event = (ip_event_got_ip_t*) event_data;
+		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));
+			snprintf(wifi_state->STA_gw, 16, "%s", ip4addr_ntoa(&event->ip_info.gw));
+			xSemaphoreGive(xSemaphoreWiFi);
+		} else {
+			ESP_LOGE(TAG, "got_ip_event_handler() lock error IP_EVENT_STA_GOT_IP");
+		}
+		connect_mqtt(true);
+		break;
 
 	case IP_EVENT_STA_LOST_IP:
-            ESP_LOGW(TAG, "Lost IP address");
-            xEventGroupClearBits(xEventGroupWifi, TASK_WIFI_HAS_IP);
-            if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) {
-                wifi_state->STA_ip[0] = '\0';
-                wifi_state->STA_nm[0] = '\0';
-                wifi_state->STA_gw[0] = '\0';
-                wifi_state->STA_online = false;
-                xSemaphoreGive(xSemaphoreWiFi);
-            } else {
-                ESP_LOGE(TAG, "got_ip_event_handler() lock error IP_EVENT_STA_LOST_IP");
-            }
-	    break;
+		ESP_LOGW(TAG, "Lost IP address");
+		xEventGroupClearBits(xEventGroupWifi, TASK_WIFI_HAS_IP);
+		if (xSemaphoreTake(xSemaphoreWiFi, 25) == pdTRUE) {
+			wifi_state->STA_ip[0] = '\0';
+			wifi_state->STA_nm[0] = '\0';
+			wifi_state->STA_gw[0] = '\0';
+			wifi_state->STA_online = false;
+			xSemaphoreGive(xSemaphoreWiFi);
+		} else {
+			ESP_LOGE(TAG, "got_ip_event_handler() lock error IP_EVENT_STA_LOST_IP");
+		}
+		connect_mqtt(false);
+		break;
+
+	case IP_EVENT_AP_STAIPASSIGNED:
+		ESP_LOGI(TAG, "IP_EVENT_AP_STAIPASSIGNED");
+		break;
 
 	default:
-	    ESP_LOGW(TAG, "Unknown IP event %d", event_id);
-	    break;
+		ESP_LOGW(TAG, "Unknown IP event %d", event_id);
+		break;
     }
 }
 
@@ -230,12 +252,13 @@
     ESP_ERROR_CHECK(esp_wifi_init(&wifi_init_config));
 
     ESP_ERROR_CHECK( esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &wifi_event_handler, NULL) );
-    ESP_ERROR_CHECK( esp_event_handler_register(IP_EVENT, IP_EVENT_STA_GOT_IP, &got_ip_event_handler, NULL) );
+    ESP_ERROR_CHECK( esp_event_handler_register(IP_EVENT, ESP_EVENT_ANY_ID, &got_ip_event_handler, NULL) );
 
     ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM));
     ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
     ESP_ERROR_CHECK(esp_wifi_start());
 
+    xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_REQUEST_STA_CONNECT);
     xEventGroupSetBits(xEventGroupWifi, TASK_WIFI_STA_DISCONNECTED);
     EventBits_t uxBits;
 
@@ -243,13 +266,14 @@
 
 	/* actions that can trigger: request a connection, a scan, or a disconnection */
 	uxBits = xEventGroupWaitBits(xEventGroupWifi, 
-		                     TASK_WIFI_REQUEST_STA_CONNECT | TASK_WIFI_REQUEST_WIFI_SCAN | TASK_WIFI_REQUEST_STA_DISCONNECT,
+		                     TASK_WIFI_REQUEST_STA_CONNECT | TASK_WIFI_REQUEST_WIFI_SCAN | TASK_WIFI_REQUEST_STA_DISCONNECT | TASK_WIFI_REQUEST_STA_STATUS,
 		                     pdFALSE, pdFALSE, portMAX_DELAY );
 
 	if (uxBits & TASK_WIFI_REQUEST_STA_DISCONNECT) {
 	    /*
 	     * user requested a disconnect, this will in effect disconnect the wifi
 	     */
+	    connect_mqtt(false);
 	    ESP_LOGD(TAG, "Request STA disconnect");
 	    ESP_ERROR_CHECK(esp_wifi_disconnect());
 	    xEventGroupWaitBits(xEventGroupWifi, TASK_WIFI_STA_DISCONNECTED, pdFALSE, pdTRUE, portMAX_DELAY );
@@ -305,6 +329,21 @@
 		ESP_LOGI(TAG, "No known AP found, scan again");
 		vTaskDelay(3000 / portTICK_PERIOD_MS);
 	    }
+	} else if (uxBits & TASK_WIFI_REQUEST_STA_STATUS) {
+	    /*
+	     * Request WiFi update status, refresh the rssi.
+	     */
+	    xEventGroupClearBits(xEventGroupWifi, TASK_WIFI_REQUEST_STA_STATUS);
+	    wifi_ap_record_t ap_info;
+            esp_wifi_sta_get_ap_info(&ap_info);
+            ESP_LOGI(TAG, "Event STA status, ssid:%s, bssid:" MACSTR ", rssi: %d", ap_info.ssid, MAC2STR(ap_info.bssid), ap_info.rssi);
+	    if (xSemaphoreTake(xSemaphoreWiFi, 35) == pdTRUE) {
+                wifi_state->STA_rssi = ap_info.rssi;
+                xSemaphoreGive(xSemaphoreWiFi);
+            } else {
+                ESP_LOGE(TAG, "lock error TASK_WIFI_REQUEST_STA_STATUS");
+            }
+	    user_refresh();
 	}
 
     } /* for(;;) */
--- a/main/task_wifi.h	Sat Jan 25 12:02:22 2020 +0100
+++ b/main/task_wifi.h	Sat Mar 14 13:07:02 2020 +0100
@@ -29,23 +29,15 @@
 
 
 /**
- * @brief System request for WiFi connection.
- * @param state Boolean state request.
- */
-void requestWiFi_system(bool state);
-
-/**
- * @brief User request for WiFi connection.
- * @param state Boolean state request.
- */
-void requestWiFi_user(bool state);
-
-/**
  * @brief Test if Wifi is ready and connected
  * @return Return true is connected and we have an IP address.
  */
 bool ready_WiFi(void);
 
+
+void status_WiFi(void);
+
+
 /**
  * @brief Main task for the wifi_manager
  * @param pvParameters Parameters for the task.
--- a/main/updates.c	Sat Jan 25 12:02:22 2020 +0100
+++ b/main/updates.c	Sat Mar 14 13:07:02 2020 +0100
@@ -51,7 +51,6 @@
     }
 
     screen_updating("Stop meten", "Start WiFi");
-    requestWiFi_user(true);
     timeout = 600;
     for (;;) {
         vTaskDelay(100 / portTICK_PERIOD_MS);
@@ -219,7 +218,6 @@
 
 updateok:
     update_running = 0;
-    requestWiFi_user(false);
     vTaskDelay(3000 / portTICK_PERIOD_MS);
 }
 
--- a/sdkconfig	Sat Jan 25 12:02:22 2020 +0100
+++ b/sdkconfig	Sat Mar 14 13:07:02 2020 +0100
@@ -29,9 +29,7 @@
 CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
 # CONFIG_BOOTLOADER_FACTORY_RESET is not set
 # CONFIG_BOOTLOADER_APP_TEST is not set
-CONFIG_BOOTLOADER_WDT_ENABLE=y
-# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
-CONFIG_BOOTLOADER_WDT_TIME_MS=9000
+# CONFIG_BOOTLOADER_WDT_ENABLE is not set
 # CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set
 # CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set
 CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
@@ -319,7 +317,7 @@
 CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
 CONFIG_FREERTOS_CORETIMER_0=y
 # CONFIG_FREERTOS_CORETIMER_1 is not set
-CONFIG_FREERTOS_HZ=200
+CONFIG_FREERTOS_HZ=500
 CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y
 # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
 # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
@@ -345,13 +343,14 @@
 CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
 CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
 # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
-CONFIG_HEAP_POISONING_DISABLED=y
-# CONFIG_HEAP_POISONING_LIGHT is not set
+# CONFIG_HEAP_POISONING_DISABLED is not set
+CONFIG_HEAP_POISONING_LIGHT=y
 # CONFIG_HEAP_POISONING_COMPREHENSIVE is not set
 CONFIG_HEAP_TRACING_OFF=y
 # CONFIG_HEAP_TRACING_STANDALONE is not set
 # CONFIG_HEAP_TRACING_TOHOST is not set
 # CONFIG_HEAP_TRACING is not set
+CONFIG_HEAP_TASK_TRACKING=y
 CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y
 # CONFIG_LOG_DEFAULT_LEVEL_NONE is not set
 # CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set
@@ -546,7 +545,7 @@
 # CONFIG_UNITY_ENABLE_FIXTURE is not set
 # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set
 CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y
-CONFIG_VFS_SUPPORT_TERMIOS=y
+# CONFIG_VFS_SUPPORT_TERMIOS is not set
 CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1
 CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN=128
 # CONFIG_WL_SECTOR_SIZE_512 is not set
@@ -701,5 +700,5 @@
 # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set
 CONFIG_IP_LOST_TIMER_INTERVAL=120
 CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y
-CONFIG_SUPPORT_TERMIOS=y
+# CONFIG_SUPPORT_TERMIOS is not set
 # End of deprecated options

mercurial