GeekTrack/2.Firmware/components/GeekHAL/HAL/HAL_Config.cpp

71 lines
1.8 KiB
C++

#include <stdio.h>
#include <stdbool.h>
#include "HAL.h"
/* ESP32 NVS Flash Support.*/
#include "nvs_flash.h"
#include "nvs.h"
static nvs_handle_t nvs_hal;
bool Config_InitFlag = false;
char StringBuff[64] = {0};
void Config_Init()
{
printf("Init Config Support.\n");
/* Init ESP32 NVS Flash. */
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);
// err = nvs_open("storage", NVS_READWRITE, &nvs_hal);
// if (err != ESP_OK) {
// printf("Error (%s) opening NVS handle!\n", esp_err_to_name(err));
// Config_InitFlag = false;
// }
// Config_InitFlag = true;
// size_t length = 64;
// /* If load wifi name fail. config the default name. and password */
// if(Config_GetString("WIFI_NAME", StringBuff, &length) == 0){
// Config_SetString("WIFI_NAME", "WIFI_DAFAULT_NAME");
// }
// if(Config_GetString("WIFI_NAME", StringBuff, &length) == 0){
// Config_SetString("WIFI_PWD", "WIFI_DAFAULT_PWD");
// }
}
uint8_t Config_GetString(const char* key, char* str, size_t* length)
{
if(!Config_InitFlag){
return 0;
}
esp_err_t err = nvs_get_str(nvs_hal, key, str, length);
if(err != ESP_OK)
{
printf("Cofig_GetStrig:: nvs_get_str error\n");
return 0;
}
return 1;
}
uint8_t Config_SetString(const char* key, const char* str){
if(!Config_InitFlag){
return 0;
}
esp_err_t err = nvs_set_str(nvs_hal, key, str);
if(err != ESP_OK){
printf("Cofig_SetStrig:: nvs_set_str error\n");
return 0;
}
return 1;
}