Added namespace and output variables in NVS.

Fri, 31 Mar 2023 21:12:39 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Fri, 31 Mar 2023 21:12:39 +0200
changeset 8
115e93bf8796
parent 7
2b337dd92f25
child 9
1659bd3c7a2b

Added namespace and output variables in NVS.

main/iotbalkon.c file | annotate | diff | comparison | revisions
main/task_wifi.c file | annotate | diff | comparison | revisions
--- a/main/iotbalkon.c	Fri Mar 31 20:31:12 2023 +0200
+++ b/main/iotbalkon.c	Fri Mar 31 21:12:39 2023 +0200
@@ -22,6 +22,8 @@
 static TaskHandle_t			xTaskMQTT = NULL;
 static TaskHandle_t			xTaskWifi = NULL;
 
+nvs_handle_t				my_handle;
+
 #define	MAX_LOOPS			32
 #define SUB_TIME			1000
 
@@ -69,6 +71,14 @@
 #define ST_INTERVAL			10000
 #define MAX_LOOPS			32
 
+/*
+ * Variables in NVS namespace "balkon"
+ */
+uint8_t					Relay1;
+uint8_t					Relay2;
+uint8_t					Dimmer3;
+uint8_t					Dimmer4;
+
 
 
 //                              0%    10%    20%    30%    40%    50%    60%    70%    80%    90%   100%
@@ -274,6 +284,60 @@
     ESP_LOGI(TAG, "Starting testing");
 #endif
 
+    /*
+     * Initialize NVS
+     */
+    esp_err_t err = nvs_flash_init();
+    if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) {
+      ESP_ERROR_CHECK(nvs_flash_erase());
+      err = nvs_flash_init();
+    }
+    ESP_ERROR_CHECK(err);
+
+    err = nvs_open("balkon", NVS_READWRITE, &my_handle);
+    if (err != ESP_OK) {
+        ESP_LOGE(TAG, "Error (%s) opening NVS handle 'balkon'", esp_err_to_name(err));
+    } else {
+        err = nvs_get_u8(my_handle, (char *)"out1", &Relay1);
+	if (err == ESP_ERR_NVS_NOT_FOUND) {
+	    err = nvs_set_u8(my_handle, (char *)"out1", 0);
+	    Relay1 = 0;
+	}
+	if (err != ESP_OK) {
+	    ESP_LOGE(TAG, "Error (%s) opening NVS handle 'balkon', key 'out1'", esp_err_to_name(err));
+	}
+
+	err = nvs_get_u8(my_handle, (char *)"out2", &Relay2);
+        if (err == ESP_ERR_NVS_NOT_FOUND) {
+            err = nvs_set_u8(my_handle, (char *)"out2", 0);
+            Relay2 = 0;
+        }
+	if (err != ESP_OK) {
+            ESP_LOGE(TAG, "Error (%s) opening NVS handle 'balkon', key 'out2'", esp_err_to_name(err));
+        }
+
+	err = nvs_get_u8(my_handle, (char *)"out3", &Dimmer3);
+        if (err == ESP_ERR_NVS_NOT_FOUND) {
+            err = nvs_set_u8(my_handle, (char *)"out3", 0);
+            Dimmer3 = 0;
+        }
+	if (err != ESP_OK) {
+            ESP_LOGE(TAG, "Error (%s) opening NVS handle 'balkon', key 'out3'", esp_err_to_name(err));
+        }
+
+	err = nvs_get_u8(my_handle, (char *)"out4", &Dimmer4);
+        if (err == ESP_ERR_NVS_NOT_FOUND) {
+            err = nvs_set_u8(my_handle, (char *)"out4", 0);
+            Dimmer4 = 0;
+        }
+	if (err != ESP_OK) {
+            ESP_LOGE(TAG, "Error (%s) opening NVS handle 'balkon', key 'out4'", esp_err_to_name(err));
+        }
+
+	nvs_commit(my_handle);
+	nvs_close(my_handle);
+    }
+
     gLastTime = millis();
     ESP_ERROR_CHECK(i2cdev_init());
 
--- a/main/task_wifi.c	Fri Mar 31 20:31:12 2023 +0200
+++ b/main/task_wifi.c	Fri Mar 31 21:12:39 2023 +0200
@@ -170,16 +170,6 @@
 {
     ESP_LOGI(TAG, "Start WiFi");
 
-    /*
-     * Initialize NVS
-     */
-    esp_err_t ret = nvs_flash_init();
-    if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
-      ESP_ERROR_CHECK(nvs_flash_erase());
-      ret = nvs_flash_init();
-    }
-    ESP_ERROR_CHECK(ret);
-
     /* event handler and event group for the wifi driver */
     xEventGroupWifi = xEventGroupCreate();
     /* initialize the tcp stack */

mercurial