From ecf6d4faab8fc144d522a98bd489e00dfc2cf1ee Mon Sep 17 00:00:00 2001 From: Forairaaaaa Date: Thu, 20 Jun 2024 17:49:25 +0800 Subject: [PATCH] add nvs reset api --- .../main/hal_vameter/components/hal_fs.cpp | 3 + .../main/hal_vameter/components/hal_nvs.cpp | 9 + .../vameter/main/hal_vameter/hal_vameter.h | 3 +- platforms/vameter/sdkconfig | 296 +++++++++--------- 4 files changed, 162 insertions(+), 149 deletions(-) diff --git a/platforms/vameter/main/hal_vameter/components/hal_fs.cpp b/platforms/vameter/main/hal_vameter/components/hal_fs.cpp index a944479..9e1fa48 100644 --- a/platforms/vameter/main/hal_vameter/components/hal_fs.cpp +++ b/platforms/vameter/main/hal_vameter/components/hal_fs.cpp @@ -302,6 +302,9 @@ void HAL_VAMeter::factoryReset(OnLogPageRenderCallback_t onLogPageRender) if (!fs_format()) popFatalError("Factory format\nFailed"); + if (!_nvs_reset()) + popFatalError("Nvs format\nFailed"); + reboot(); } diff --git a/platforms/vameter/main/hal_vameter/components/hal_nvs.cpp b/platforms/vameter/main/hal_vameter/components/hal_nvs.cpp index abbb335..eac4efb 100644 --- a/platforms/vameter/main/hal_vameter/components/hal_nvs.cpp +++ b/platforms/vameter/main/hal_vameter/components/hal_nvs.cpp @@ -92,3 +92,12 @@ void HAL_VAMeter::_update_boot_count() nvsSet(NVS_KEY_BOOT_COUNT, boot_count); } } + +bool HAL_VAMeter::_nvs_reset() +{ + spdlog::info("reset nvs"); + + if (nvs_flash_erase() != ESP_OK) + return false; + return true; +} diff --git a/platforms/vameter/main/hal_vameter/hal_vameter.h b/platforms/vameter/main/hal_vameter/hal_vameter.h index 145dc56..2e7a1a0 100644 --- a/platforms/vameter/main/hal_vameter/hal_vameter.h +++ b/platforms/vameter/main/hal_vameter/hal_vameter.h @@ -31,6 +31,8 @@ class HAL_VAMeter : public HAL std::string _fs_get_rec_file_path(const std::string& recordName); void _nvs_init(); + void _update_boot_count(); + bool _nvs_reset(); std::string _get_mac(); std::string _get_ip(); @@ -123,5 +125,4 @@ class HAL_VAMeter : public HAL bool nvsSet(const char* key, const int32_t& value) override; int32_t nvsGet(const char* key) override; - void _update_boot_count(); }; diff --git a/platforms/vameter/sdkconfig b/platforms/vameter/sdkconfig index 8b4139f..97c1df6 100644 --- a/platforms/vameter/sdkconfig +++ b/platforms/vameter/sdkconfig @@ -520,47 +520,6 @@ CONFIG_ARDUHAL_PARTITION_SCHEME="default" # CONFIG_ARDUINO_SELECTIVE_COMPILATION is not set # end of Arduino Configuration -# -# ESP Speech Recognition -# -CONFIG_MODEL_IN_FLASH=y -# CONFIG_MODEL_IN_SDCARD is not set -CONFIG_USE_AFE=y -CONFIG_AFE_INTERFACE_V1=y -# CONFIG_USE_NSNET is not set -CONFIG_USE_WAKENET=y -# CONFIG_SR_WN_WN8_ALEXA is not set -CONFIG_SR_WN_WN9_HILEXIN=y -# CONFIG_SR_WN_WN9_XIAOAITONGXUE is not set -# CONFIG_SR_WN_WN9_ALEXA is not set -# CONFIG_SR_WN_WN9_HIESP is not set -# CONFIG_SR_WN_WN9_HIMFIVE is not set -# CONFIG_SR_WN_WN9_NIHAOXIAOZHI is not set -# CONFIG_SR_WN_WN9_JARVIS_TTS is not set -# CONFIG_SR_WN_WN9_COMPUTER_TTS is not set -# CONFIG_SR_WN_WN9_HEYWILLOW_TTS is not set -# CONFIG_SR_WN_WN9_SOPHIA_TTS is not set -# CONFIG_SR_WN_WN9_NIHAOXIAOXIN_TTS is not set -# CONFIG_SR_WN_WN9_XIAOMEITONGXUE_TTS is not set -# CONFIG_SR_WN_WN9_HIXIAOXING_TTS is not set -# CONFIG_SR_WN_WN9_MYCROFT_TTS is not set -# CONFIG_SR_WN_WN9_HEYPRINTER_TTS is not set -# CONFIG_SR_WN_WN9_XIAOLONGXIAOLONG_TTS is not set -# CONFIG_SR_WN_WN9_CUSTOMWORD is not set -# CONFIG_SR_WN_LOAD_MULIT_WORD is not set -CONFIG_USE_MULTINET=y -# CONFIG_SR_MN_CN_NONE is not set -# CONFIG_SR_MN_CN_MULTINET5_RECOGNITION_QUANT8 is not set -CONFIG_SR_MN_CN_MULTINET6_QUANT=y -# CONFIG_SR_MN_CN_MULTINET6_AC_QUANT is not set -# CONFIG_SR_MN_CN_MULTINET7_QUANT is not set -# CONFIG_SR_MN_CN_MULTINET7_AC_QUANT is not set -CONFIG_SR_MN_EN_NONE=y -# CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8 is not set -# CONFIG_SR_MN_EN_MULTINET6_QUANT is not set -# CONFIG_SR_MN_EN_MULTINET7_QUANT is not set -# end of ESP Speech Recognition - # # ESP RainMaker Config # @@ -625,6 +584,47 @@ CONFIG_ESP_RMAKER_CMD_RESP_ENABLE=y # end of ESP RainMaker Command-Response # end of ESP RainMaker Config +# +# ESP Speech Recognition +# +CONFIG_MODEL_IN_FLASH=y +# CONFIG_MODEL_IN_SDCARD is not set +CONFIG_USE_AFE=y +CONFIG_AFE_INTERFACE_V1=y +# CONFIG_USE_NSNET is not set +CONFIG_USE_WAKENET=y +# CONFIG_SR_WN_WN8_ALEXA is not set +CONFIG_SR_WN_WN9_HILEXIN=y +# CONFIG_SR_WN_WN9_XIAOAITONGXUE is not set +# CONFIG_SR_WN_WN9_ALEXA is not set +# CONFIG_SR_WN_WN9_HIESP is not set +# CONFIG_SR_WN_WN9_HIMFIVE is not set +# CONFIG_SR_WN_WN9_NIHAOXIAOZHI is not set +# CONFIG_SR_WN_WN9_JARVIS_TTS is not set +# CONFIG_SR_WN_WN9_COMPUTER_TTS is not set +# CONFIG_SR_WN_WN9_HEYWILLOW_TTS is not set +# CONFIG_SR_WN_WN9_SOPHIA_TTS is not set +# CONFIG_SR_WN_WN9_NIHAOXIAOXIN_TTS is not set +# CONFIG_SR_WN_WN9_XIAOMEITONGXUE_TTS is not set +# CONFIG_SR_WN_WN9_HIXIAOXING_TTS is not set +# CONFIG_SR_WN_WN9_MYCROFT_TTS is not set +# CONFIG_SR_WN_WN9_HEYPRINTER_TTS is not set +# CONFIG_SR_WN_WN9_XIAOLONGXIAOLONG_TTS is not set +# CONFIG_SR_WN_WN9_CUSTOMWORD is not set +# CONFIG_SR_WN_LOAD_MULIT_WORD is not set +CONFIG_USE_MULTINET=y +# CONFIG_SR_MN_CN_NONE is not set +# CONFIG_SR_MN_CN_MULTINET5_RECOGNITION_QUANT8 is not set +CONFIG_SR_MN_CN_MULTINET6_QUANT=y +# CONFIG_SR_MN_CN_MULTINET6_AC_QUANT is not set +# CONFIG_SR_MN_CN_MULTINET7_QUANT is not set +# CONFIG_SR_MN_CN_MULTINET7_AC_QUANT is not set +CONFIG_SR_MN_EN_NONE=y +# CONFIG_SR_MN_EN_MULTINET5_SINGLE_RECOGNITION_QUANT8 is not set +# CONFIG_SR_MN_EN_MULTINET6_QUANT is not set +# CONFIG_SR_MN_EN_MULTINET7_QUANT is not set +# end of ESP Speech Recognition + # # Compiler options # @@ -2020,83 +2020,30 @@ CONFIG_TINYUSB_NET_MODE_NONE=y # end of TinyUSB Stack # -# ESP Insights -# -# CONFIG_ESP_INSIGHTS_ENABLED is not set -# CONFIG_ESP_INSIGHTS_TRANSPORT_MQTT is not set -CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS=y -CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS_HOST="https://client.insights.espressif.com" -CONFIG_ESP_INSIGHTS_CLOUD_POST_MIN_INTERVAL_SEC=60 -CONFIG_ESP_INSIGHTS_CLOUD_POST_MAX_INTERVAL_SEC=240 -CONFIG_ESP_INSIGHTS_META_VERSION_10=y -# end of ESP Insights - -# -# LittleFS -# -# CONFIG_LITTLEFS_SDMMC_SUPPORT is not set -CONFIG_LITTLEFS_MAX_PARTITIONS=3 -CONFIG_LITTLEFS_PAGE_SIZE=256 -CONFIG_LITTLEFS_OBJ_NAME_LEN=64 -CONFIG_LITTLEFS_READ_SIZE=128 -CONFIG_LITTLEFS_WRITE_SIZE=128 -CONFIG_LITTLEFS_LOOKAHEAD_SIZE=128 -CONFIG_LITTLEFS_CACHE_SIZE=512 -CONFIG_LITTLEFS_BLOCK_CYCLES=512 -CONFIG_LITTLEFS_USE_MTIME=y -# CONFIG_LITTLEFS_USE_ONLY_HASH is not set -# CONFIG_LITTLEFS_HUMAN_READABLE is not set -CONFIG_LITTLEFS_MTIME_USE_SECONDS=y -# CONFIG_LITTLEFS_MTIME_USE_NONCE is not set -# CONFIG_LITTLEFS_SPIFFS_COMPAT is not set -# CONFIG_LITTLEFS_FLUSH_FILE_EVERY_WRITE is not set -# CONFIG_LITTLEFS_FCNTL_GET_PATH is not set -# CONFIG_LITTLEFS_MULTIVERSION is not set -# CONFIG_LITTLEFS_MALLOC_STRATEGY_DISABLE is not set -CONFIG_LITTLEFS_MALLOC_STRATEGY_DEFAULT=y -# CONFIG_LITTLEFS_MALLOC_STRATEGY_INTERNAL is not set -CONFIG_LITTLEFS_ASSERTS=y -# end of LittleFS - -# -# Diagnostics data store -# -CONFIG_DIAG_DATA_STORE_RTC=y -# CONFIG_DIAG_DATA_STORE_FLASH is not set -CONFIG_DIAG_DATA_STORE_REPORTING_WATERMARK_PERCENT=80 - -# -# RTC Store -# -CONFIG_RTC_STORE_DATA_SIZE=6144 -CONFIG_RTC_STORE_CRITICAL_DATA_SIZE=4096 -# end of RTC Store -# end of Diagnostics data store - -# -# Diagnostics -# -CONFIG_DIAG_LOG_MSG_ARG_FORMAT_TLV=y -# CONFIG_DIAG_LOG_MSG_ARG_FORMAT_STRING is not set -CONFIG_DIAG_LOG_MSG_ARG_MAX_SIZE=64 -CONFIG_DIAG_LOG_DROP_WIFI_LOGS=y -CONFIG_DIAG_ENABLE_METRICS=y -CONFIG_DIAG_METRICS_MAX_COUNT=20 -CONFIG_DIAG_ENABLE_HEAP_METRICS=y -CONFIG_DIAG_ENABLE_WIFI_METRICS=y -CONFIG_DIAG_ENABLE_VARIABLES=y -CONFIG_DIAG_VARIABLES_MAX_COUNT=20 -CONFIG_DIAG_ENABLE_NETWORK_VARIABLES=y -# CONFIG_DIAG_MORE_NETWORK_VARS is not set -# CONFIG_DIAG_USE_EXTERNAL_LOG_WRAP is not set -# end of Diagnostics - -# -# ESP Secure Cert Manager +# ESP RainMaker Common # -CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=y -# CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS is not set -# end of ESP Secure Cert Manager +CONFIG_ESP_RMAKER_LIB_ESP_MQTT=y +# CONFIG_ESP_RMAKER_LIB_AWS_IOT is not set +CONFIG_ESP_RMAKER_MQTT_GLUE_LIB=1 +CONFIG_ESP_RMAKER_MQTT_PORT_443=y +# CONFIG_ESP_RMAKER_MQTT_PORT_8883 is not set +CONFIG_ESP_RMAKER_MQTT_PORT=1 +# CONFIG_ESP_RMAKER_MQTT_PERSISTENT_SESSION is not set +CONFIG_ESP_RMAKER_MQTT_SEND_USERNAME=y +CONFIG_ESP_RMAKER_MQTT_PRODUCT_NAME="RMDev" +CONFIG_ESP_RMAKER_MQTT_PRODUCT_VERSION="1x0" +CONFIG_ESP_RMAKER_MQTT_PRODUCT_SKU="EX00" +CONFIG_ESP_RMAKER_MQTT_USE_CERT_BUNDLE=y +CONFIG_ESP_RMAKER_MAX_MQTT_SUBSCRIPTIONS=10 +CONFIG_ESP_RMAKER_NETWORK_OVER_WIFI=y +CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=4096 +CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_PRIORITY=5 +CONFIG_ESP_RMAKER_FACTORY_PARTITION_NAME="fctry" +CONFIG_ESP_RMAKER_FACTORY_NAMESPACE="rmaker_creds" +CONFIG_ESP_RMAKER_DEF_TIMEZONE="Asia/Shanghai" +CONFIG_ESP_RMAKER_SNTP_SERVER_NAME="pool.ntp.org" +CONFIG_ESP_RMAKER_MAX_COMMANDS=10 +# end of ESP RainMaker Common # # mDNS @@ -2128,6 +2075,35 @@ CONFIG_MDNS_PREDEF_NETIF_ETH=y # end of MDNS Predefined interfaces # end of mDNS +# +# Diagnostics data store +# +CONFIG_DIAG_DATA_STORE_RTC=y +# CONFIG_DIAG_DATA_STORE_FLASH is not set +CONFIG_DIAG_DATA_STORE_REPORTING_WATERMARK_PERCENT=80 + +# +# RTC Store +# +CONFIG_RTC_STORE_DATA_SIZE=6144 +CONFIG_RTC_STORE_CRITICAL_DATA_SIZE=4096 +# end of RTC Store +# end of Diagnostics data store + +# +# Zigbee +# +# CONFIG_ZB_ENABLED is not set +# end of Zigbee + +# +# jsmn +# +# CONFIG_JSMN_PARENT_LINKS is not set +# CONFIG_JSMN_STRICT is not set +# CONFIG_JSMN_STATIC is not set +# end of jsmn + # # DSP Library # @@ -2146,44 +2122,68 @@ CONFIG_DSP_MAX_FFT_SIZE=4096 # end of DSP Library # -# Zigbee +# ESP Insights # -# CONFIG_ZB_ENABLED is not set -# end of Zigbee +# CONFIG_ESP_INSIGHTS_ENABLED is not set +# CONFIG_ESP_INSIGHTS_TRANSPORT_MQTT is not set +CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS=y +CONFIG_ESP_INSIGHTS_TRANSPORT_HTTPS_HOST="https://client.insights.espressif.com" +CONFIG_ESP_INSIGHTS_CLOUD_POST_MIN_INTERVAL_SEC=60 +CONFIG_ESP_INSIGHTS_CLOUD_POST_MAX_INTERVAL_SEC=240 +CONFIG_ESP_INSIGHTS_META_VERSION_10=y +# end of ESP Insights # -# ESP RainMaker Common +# ESP Secure Cert Manager # -CONFIG_ESP_RMAKER_LIB_ESP_MQTT=y -# CONFIG_ESP_RMAKER_LIB_AWS_IOT is not set -CONFIG_ESP_RMAKER_MQTT_GLUE_LIB=1 -CONFIG_ESP_RMAKER_MQTT_PORT_443=y -# CONFIG_ESP_RMAKER_MQTT_PORT_8883 is not set -CONFIG_ESP_RMAKER_MQTT_PORT=1 -# CONFIG_ESP_RMAKER_MQTT_PERSISTENT_SESSION is not set -CONFIG_ESP_RMAKER_MQTT_SEND_USERNAME=y -CONFIG_ESP_RMAKER_MQTT_PRODUCT_NAME="RMDev" -CONFIG_ESP_RMAKER_MQTT_PRODUCT_VERSION="1x0" -CONFIG_ESP_RMAKER_MQTT_PRODUCT_SKU="EX00" -CONFIG_ESP_RMAKER_MQTT_USE_CERT_BUNDLE=y -CONFIG_ESP_RMAKER_MAX_MQTT_SUBSCRIPTIONS=10 -CONFIG_ESP_RMAKER_NETWORK_OVER_WIFI=y -CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=4096 -CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_PRIORITY=5 -CONFIG_ESP_RMAKER_FACTORY_PARTITION_NAME="fctry" -CONFIG_ESP_RMAKER_FACTORY_NAMESPACE="rmaker_creds" -CONFIG_ESP_RMAKER_DEF_TIMEZONE="Asia/Shanghai" -CONFIG_ESP_RMAKER_SNTP_SERVER_NAME="pool.ntp.org" -CONFIG_ESP_RMAKER_MAX_COMMANDS=10 -# end of ESP RainMaker Common +CONFIG_ESP_SECURE_CERT_DS_PERIPHERAL=y +# CONFIG_ESP_SECURE_CERT_SUPPORT_LEGACY_FORMATS is not set +# end of ESP Secure Cert Manager # -# jsmn +# LittleFS # -# CONFIG_JSMN_PARENT_LINKS is not set -# CONFIG_JSMN_STRICT is not set -# CONFIG_JSMN_STATIC is not set -# end of jsmn +# CONFIG_LITTLEFS_SDMMC_SUPPORT is not set +CONFIG_LITTLEFS_MAX_PARTITIONS=3 +CONFIG_LITTLEFS_PAGE_SIZE=256 +CONFIG_LITTLEFS_OBJ_NAME_LEN=64 +CONFIG_LITTLEFS_READ_SIZE=128 +CONFIG_LITTLEFS_WRITE_SIZE=128 +CONFIG_LITTLEFS_LOOKAHEAD_SIZE=128 +CONFIG_LITTLEFS_CACHE_SIZE=512 +CONFIG_LITTLEFS_BLOCK_CYCLES=512 +CONFIG_LITTLEFS_USE_MTIME=y +# CONFIG_LITTLEFS_USE_ONLY_HASH is not set +# CONFIG_LITTLEFS_HUMAN_READABLE is not set +CONFIG_LITTLEFS_MTIME_USE_SECONDS=y +# CONFIG_LITTLEFS_MTIME_USE_NONCE is not set +# CONFIG_LITTLEFS_SPIFFS_COMPAT is not set +# CONFIG_LITTLEFS_FLUSH_FILE_EVERY_WRITE is not set +# CONFIG_LITTLEFS_FCNTL_GET_PATH is not set +# CONFIG_LITTLEFS_MULTIVERSION is not set +# CONFIG_LITTLEFS_MALLOC_STRATEGY_DISABLE is not set +CONFIG_LITTLEFS_MALLOC_STRATEGY_DEFAULT=y +# CONFIG_LITTLEFS_MALLOC_STRATEGY_INTERNAL is not set +CONFIG_LITTLEFS_ASSERTS=y +# end of LittleFS + +# +# Diagnostics +# +CONFIG_DIAG_LOG_MSG_ARG_FORMAT_TLV=y +# CONFIG_DIAG_LOG_MSG_ARG_FORMAT_STRING is not set +CONFIG_DIAG_LOG_MSG_ARG_MAX_SIZE=64 +CONFIG_DIAG_LOG_DROP_WIFI_LOGS=y +CONFIG_DIAG_ENABLE_METRICS=y +CONFIG_DIAG_METRICS_MAX_COUNT=20 +CONFIG_DIAG_ENABLE_HEAP_METRICS=y +CONFIG_DIAG_ENABLE_WIFI_METRICS=y +CONFIG_DIAG_ENABLE_VARIABLES=y +CONFIG_DIAG_VARIABLES_MAX_COUNT=20 +CONFIG_DIAG_ENABLE_NETWORK_VARIABLES=y +# CONFIG_DIAG_MORE_NETWORK_VARS is not set +# CONFIG_DIAG_USE_EXTERNAL_LOG_WRAP is not set +# end of Diagnostics # end of Component config # CONFIG_IDF_EXPERIMENTAL_FEATURES is not set