#include "nvs_flash.h" #include "nvs.h" #include "nvs_handle.hpp" #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "sdkconfig.h" #include #include #include #include "wifi_provisioner.hpp" extern "C" void app_main(void) { esp_err_t err = nvs_flash_init(); if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) { // NVS partition was truncated and needs to be erased // Retry nvs_flash_init ESP_ERROR_CHECK(nvs_flash_erase()); err = nvs_flash_init(); } ESP_ERROR_CHECK(err); WifiProvisioner provisioner; if (!provisioner.wifiIsConfigured()) { auto result = provisioner.startProvisioning(); if (!result.has_value()) printf("Error: %s\n", esp_err_to_name(result.error())); else printf("Provisioning started...\n"); } }