Просмотр исходного кода

Merge branch 'bugfix/console_example_nvs_init' into 'master'

console example: initialize nvs on startup

See merge request !1766

Ivan Grokhotkov 8 лет назад
Родитель
Сommit
e73e6bb928
1 измененных файлов с 14 добавлено и 0 удалено
  1. 14 0
      examples/system/console/main/console_example_main.c

+ 14 - 0
examples/system/console/main/console_example_main.c

@@ -18,6 +18,8 @@
 #include "argtable3/argtable3.h"
 #include "cmd_decl.h"
 #include "esp_vfs_fat.h"
+#include "nvs.h"
+#include "nvs_flash.h"
 
 static const char* TAG = "example";
 
@@ -45,6 +47,16 @@ static void initialize_filesystem()
 }
 #endif // CONFIG_STORE_HISTORY
 
+static void initialize_nvs()
+{
+    esp_err_t err = nvs_flash_init();
+    if (err == ESP_ERR_NVS_NO_FREE_PAGES) {
+        ESP_ERROR_CHECK( nvs_flash_erase() );
+        err = nvs_flash_init();
+    }
+    ESP_ERROR_CHECK(err);
+}
+
 static void initialize_console()
 {
     /* Disable buffering on stdin and stdout */
@@ -94,6 +106,8 @@ static void initialize_console()
 
 void app_main()
 {
+    initialize_nvs();
+
 #if CONFIG_STORE_HISTORY
     initialize_filesystem();
 #endif