From 6cf7455986433f3b704a914e46d5492e1aacca95 Mon Sep 17 00:00:00 2001 From: Clawdia Date: Tue, 11 Aug 2026 22:33:36 +0200 Subject: [PATCH] init --- .pio/build/project.checksum | 1 + .../.cmake/api/v1/query/codemodel-v2 | 0 .pio/build/xiao-esp32c6/CMakeCache.txt | 648 + .../CMakeFiles/3.30.2/CMakeASMCompiler.cmake | 28 + .../CMakeFiles/3.30.2/CMakeCCompiler.cmake | 81 + .../CMakeFiles/3.30.2/CMakeCXXCompiler.cmake | 105 + .../3.30.2/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 9760 bytes .../3.30.2/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 9784 bytes .../CMakeFiles/3.30.2/CMakeSystem.cmake | 15 + .../3.30.2/CompilerIdC/CMakeCCompilerId.c | 904 + .../CMakeFiles/3.30.2/CompilerIdC/a.out | Bin 0 -> 96396 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 919 + .../CMakeFiles/3.30.2/CompilerIdCXX/a.out | Bin 0 -> 96460 bytes .../CMakeFiles/CMakeConfigureLog.yaml | 2067 + .../xiao-esp32c6/CMakeFiles/cmake.check_cache | 1 + .../xiao-esp32c6/CMakeFiles/git-data/HEAD | 1 + .../CMakeFiles/git-data/grabRef.cmake | 50 + .../bootloader-patch-info.txt | 6 + .../bootloader-source_dirinfo.txt | 9 + .../bootloader-update-info.txt | 7 + .../tmp/bootloader-cfgcmd.txt | 1 + .../tmp/bootloader-mkdirs.cmake | 27 + ...ponents_with_manifests_list.temp.overrides | 1 + .pio/build/xiao-esp32c6/config.env | 12 + .../xiao-esp32c6/config/kconfig_menus.json | 36367 ++++++++++++++++ .../build/xiao-esp32c6/config/sdkconfig.cmake | 1608 + .pio/build/xiao-esp32c6/config/sdkconfig.h | 1055 + .pio/build/xiao-esp32c6/config/sdkconfig.json | 1436 + .pio/build/xiao-esp32c6/gdbinit/connect | 7 + .pio/build/xiao-esp32c6/gdbinit/gdbinit | 2 + .pio/build/xiao-esp32c6/gdbinit/prefix_map | 1 + .pio/build/xiao-esp32c6/gdbinit/py_extensions | 7 + .pio/build/xiao-esp32c6/gdbinit/symbols | 20 + .pio/build/xiao-esp32c6/hints.yml | 766 + .pio/build/xiao-esp32c6/kconfigs.in | 81 + .pio/build/xiao-esp32c6/kconfigs_projbuild.in | 7 + .pio/build/xiao-esp32c6/ldgen_libraries.in | 207 + .pio/build/xiao-esp32c6/specs/picolibc.specs | 30 + .pio/build/xiao-esp32c6/toolchain/asmflags | 2 + .pio/build/xiao-esp32c6/toolchain/cflags | 2 + .pio/build/xiao-esp32c6/toolchain/cxxflags | 3 + .pio/build/xiao-esp32c6/toolchain/ldflags | 2 + .../toolchain/toolchain-esp32c6.cmake | 2 + CMakeLists.txt | 3 + README.md | 67 + platformio.ini | 7 + sdkconfig.xiao-esp32c6 | 3816 ++ src/CMakeLists.txt | 6 + src/led_strip_encoder.c | 126 + src/led_strip_encoder.h | 36 + src/main.c | 184 + 51 files changed, 50733 insertions(+) create mode 100644 .pio/build/project.checksum create mode 100644 .pio/build/xiao-esp32c6/.cmake/api/v1/query/codemodel-v2 create mode 100644 .pio/build/xiao-esp32c6/CMakeCache.txt create mode 100644 .pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeASMCompiler.cmake create mode 100644 .pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeCCompiler.cmake create mode 100644 .pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeCXXCompiler.cmake create mode 100755 .pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeDetermineCompilerABI_C.bin create mode 100755 .pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeDetermineCompilerABI_CXX.bin create mode 100644 .pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeSystem.cmake create mode 100644 .pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdC/CMakeCCompilerId.c create mode 100755 .pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdC/a.out create mode 100644 .pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 .pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdCXX/a.out create mode 100644 .pio/build/xiao-esp32c6/CMakeFiles/CMakeConfigureLog.yaml create mode 100644 .pio/build/xiao-esp32c6/CMakeFiles/cmake.check_cache create mode 100644 .pio/build/xiao-esp32c6/CMakeFiles/git-data/HEAD create mode 100644 .pio/build/xiao-esp32c6/CMakeFiles/git-data/grabRef.cmake create mode 100644 .pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp/bootloader-patch-info.txt create mode 100644 .pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp/bootloader-source_dirinfo.txt create mode 100644 .pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp/bootloader-update-info.txt create mode 100644 .pio/build/xiao-esp32c6/bootloader-prefix/tmp/bootloader-cfgcmd.txt create mode 100644 .pio/build/xiao-esp32c6/bootloader-prefix/tmp/bootloader-mkdirs.cmake create mode 100644 .pio/build/xiao-esp32c6/components_with_manifests_list.temp.overrides create mode 100644 .pio/build/xiao-esp32c6/config.env create mode 100644 .pio/build/xiao-esp32c6/config/kconfig_menus.json create mode 100644 .pio/build/xiao-esp32c6/config/sdkconfig.cmake create mode 100644 .pio/build/xiao-esp32c6/config/sdkconfig.h create mode 100644 .pio/build/xiao-esp32c6/config/sdkconfig.json create mode 100644 .pio/build/xiao-esp32c6/gdbinit/connect create mode 100644 .pio/build/xiao-esp32c6/gdbinit/gdbinit create mode 100644 .pio/build/xiao-esp32c6/gdbinit/prefix_map create mode 100644 .pio/build/xiao-esp32c6/gdbinit/py_extensions create mode 100644 .pio/build/xiao-esp32c6/gdbinit/symbols create mode 100644 .pio/build/xiao-esp32c6/hints.yml create mode 100644 .pio/build/xiao-esp32c6/kconfigs.in create mode 100644 .pio/build/xiao-esp32c6/kconfigs_projbuild.in create mode 100644 .pio/build/xiao-esp32c6/ldgen_libraries.in create mode 100644 .pio/build/xiao-esp32c6/specs/picolibc.specs create mode 100644 .pio/build/xiao-esp32c6/toolchain/asmflags create mode 100644 .pio/build/xiao-esp32c6/toolchain/cflags create mode 100644 .pio/build/xiao-esp32c6/toolchain/cxxflags create mode 100644 .pio/build/xiao-esp32c6/toolchain/ldflags create mode 100644 .pio/build/xiao-esp32c6/toolchain/toolchain-esp32c6.cmake create mode 100644 CMakeLists.txt create mode 100644 README.md create mode 100644 platformio.ini create mode 100644 sdkconfig.xiao-esp32c6 create mode 100644 src/CMakeLists.txt create mode 100644 src/led_strip_encoder.c create mode 100644 src/led_strip_encoder.h create mode 100644 src/main.c diff --git a/.pio/build/project.checksum b/.pio/build/project.checksum new file mode 100644 index 0000000..4b6c7ac --- /dev/null +++ b/.pio/build/project.checksum @@ -0,0 +1 @@ +ac3ea98dccf9ac5547d61227bb24264522a0582e \ No newline at end of file diff --git a/.pio/build/xiao-esp32c6/.cmake/api/v1/query/codemodel-v2 b/.pio/build/xiao-esp32c6/.cmake/api/v1/query/codemodel-v2 new file mode 100644 index 0000000..e69de29 diff --git a/.pio/build/xiao-esp32c6/CMakeCache.txt b/.pio/build/xiao-esp32c6/CMakeCache.txt new file mode 100644 index 0000000..cb94410 --- /dev/null +++ b/.pio/build/xiao-esp32c6/CMakeCache.txt @@ -0,0 +1,648 @@ +# This is the CMakeCache file. +# For build in directory: /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6 +# It was generated by CMake: /home/claw/.platformio/packages/tool-cmake/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-ar + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_ASM_COMPILER_AR:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc-ar + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_ASM_COMPILER_RANLIB:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc-ranlib + +//Asm Compiler Base Flags +CMAKE_ASM_FLAGS:STRING=@"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/asmflags" + +//Flags used by the ASM compiler during DEBUG builds. +CMAKE_ASM_FLAGS_DEBUG:STRING=-g + +//Flags used by the ASM compiler during MINSIZEREL builds. +CMAKE_ASM_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the ASM compiler during RELEASE builds. +CMAKE_ASM_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the ASM compiler during RELWITHDEBINFO builds. +CMAKE_ASM_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc-ar + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc-ranlib + +//C++ Compiler Base Flags +CMAKE_CXX_FLAGS:STRING=@"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc-ar + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc-ranlib + +//C Compiler Base Flags +CMAKE_C_FLAGS:STRING=@"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Linker Base Flags +CMAKE_EXE_LINKER_FLAGS:STRING=@"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/pkgRedirects + +//User executables (bin) +CMAKE_INSTALL_BINDIR:PATH=bin + +//Read-only architecture-independent data (DATAROOTDIR) +CMAKE_INSTALL_DATADIR:PATH= + +//Read-only architecture-independent data root (share) +CMAKE_INSTALL_DATAROOTDIR:PATH=share + +//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) +CMAKE_INSTALL_DOCDIR:PATH= + +//C header files (include) +CMAKE_INSTALL_INCLUDEDIR:PATH=include + +//Info documentation (DATAROOTDIR/info) +CMAKE_INSTALL_INFODIR:PATH= + +//Object code libraries (lib) +CMAKE_INSTALL_LIBDIR:PATH=lib + +//Program executables (libexec) +CMAKE_INSTALL_LIBEXECDIR:PATH=libexec + +//Locale-dependent data (DATAROOTDIR/locale) +CMAKE_INSTALL_LOCALEDIR:PATH= + +//Modifiable single-machine data (var) +CMAKE_INSTALL_LOCALSTATEDIR:PATH=var + +//Man documentation (DATAROOTDIR/man) +CMAKE_INSTALL_MANDIR:PATH= + +//C header files for non-gcc (/usr/include) +CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Run-time variable data (LOCALSTATEDIR/run) +CMAKE_INSTALL_RUNSTATEDIR:PATH= + +//System admin executables (sbin) +CMAKE_INSTALL_SBINDIR:PATH=sbin + +//Modifiable architecture-independent data (com) +CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com + +//Read-only single-machine data (etc) +CMAKE_INSTALL_SYSCONFDIR:PATH=etc + +//Path to a program. +CMAKE_LINKER:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-ld + +//Program used to build from build.ninja files. +CMAKE_MAKE_PROGRAM:FILEPATH=/home/claw/.platformio/packages/tool-ninja/ninja + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=led-laser-frequenzen + +//Value Computed by CMake +CMAKE_PROJECT_VERSION:STATIC=4.0.0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MAJOR:STATIC=4 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MINOR:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_PATCH:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_TWEAK:STATIC= + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-strip + +//Path to a program. +CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND + +//The CMake toolchain file +CMAKE_TOOLCHAIN_FILE:FILEPATH=/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain-esp32c6.cmake + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Disable package configuration, target export and installation +DISABLE_PACKAGE_CONFIG_AND_INSTALL:BOOL=ON + +//Build TF-PSA-Crypto programs. +ENABLE_PROGRAMS:BOOL=OFF + +//Build TF-PSA-Crypto tests. +ENABLE_TESTING:BOOL=OFF + +//No help, variable specified on the command line. +EXTRA_COMPONENT_DIRS:PATH=/home/claw/.openclaw/workspace/led-laser-frequenzen/src + +//Generate the auto-generated files as needed +GEN_FILES:BOOL=OFF + +//Git command line client +GIT_EXECUTABLE:FILEPATH=/usr/bin/git + +//IDF Build Target +IDF_TARGET:STRING=esp32c6 + +//IDF Build Toolchain Type +IDF_TOOLCHAIN:STRING=gcc + +//Path to toolchain build directory containing response files and +// toolchain file copy +IDF_TOOLCHAIN_BUILD_DIR:PATH=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain + +//Install Mbed TLS headers. +INSTALL_MBEDTLS_HEADERS:BOOL=ON + +//Install TF PSA Crypto headers. +INSTALL_TF_PSA_CRYPTO_HEADERS:BOOL=ON + +//Explicitly link Mbed TLS library to pthread. +LINK_WITH_PTHREAD:BOOL=OFF + +//Explicitly link Mbed TLS library to trusted_storage. +LINK_WITH_TRUSTED_STORAGE:BOOL=OFF + +//Mbed TLS config file (overrides default). +MBEDTLS_CONFIG_FILE:FILEPATH= + +//Compiler warnings treated as errors +MBEDTLS_FATAL_WARNINGS:BOOL=ON + +//Mbed TLS user config file (appended to default). +MBEDTLS_USER_CONFIG_FILE:FILEPATH= + +//Value Computed by CMake +Mbed TLS_BINARY_DIR:STATIC=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/esp-idf/mbedtls/mbedtls + +//Value Computed by CMake +Mbed TLS_IS_TOP_LEVEL:STATIC=OFF + +//Value Computed by CMake +Mbed TLS_SOURCE_DIR:STATIC=/home/claw/.platformio/packages/framework-espidf/components/mbedtls/mbedtls + +//No help, variable specified on the command line. +PYTHON:UNINITIALIZED=/home/claw/.platformio/penv/.espidf-6.0.1/bin/python + +//No help, variable specified on the command line. +PYTHON_DEPS_CHECKED:UNINITIALIZED=1 + +//No help, variable specified on the command line. +SDKCONFIG:UNINITIALIZED=/home/claw/.openclaw/workspace/led-laser-frequenzen/sdkconfig.xiao-esp32c6 + +//Value Computed by CMake +TF-PSA-Crypto_BINARY_DIR:STATIC=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/esp-idf/mbedtls/mbedtls/tf-psa-crypto + +//Value Computed by CMake +TF-PSA-Crypto_IS_TOP_LEVEL:STATIC=OFF + +//Value Computed by CMake +TF-PSA-Crypto_SOURCE_DIR:STATIC=/home/claw/.platformio/packages/framework-espidf/components/mbedtls/mbedtls/tf-psa-crypto + +//TF-PSA-Crypto config file (overrides default). +TF_PSA_CRYPTO_CONFIG_FILE:FILEPATH= + +//Compiler warnings treated as errors +TF_PSA_CRYPTO_FATAL_WARNINGS:BOOL=ON + +TF_PSA_CRYPTO_TARGET_PREFIX:STRING= + +//Path to the PSA Crypto configuration file +TF_PSA_CRYPTO_USER_CONFIG_FILE:STRING=mbedtls/esp_config.h + +//Build Mbed TLS shared library. +USE_SHARED_MBEDTLS_LIBRARY:BOOL=OFF + +//Build TF-PSA-Crypto shared library. +USE_SHARED_TF_PSA_CRYPTO_LIBRARY:BOOL=OFF + +//Build Mbed TLS static library. +USE_STATIC_MBEDTLS_LIBRARY:BOOL=ON + +//Build TF-PSA-Crypto static library. +USE_STATIC_TF_PSA_CRYPTO_LIBRARY:BOOL=ON + +//Dependencies for the target +builtin_LIB_DEPENDS:STATIC=general;__idf_cxx;general;__idf_esp_libc;general;__idf_freertos;general;__idf_esp_hw_support;general;__idf_heap;general;__idf_log;general;__idf_soc;general;__idf_hal;general;__idf_esp_rom;general;__idf_esp_common;general;__idf_esp_system;general;__idf_esp_stdio;general;__idf_riscv;general;idf::esp_security;general;idf::esp_mm; + +//Value Computed by CMake +esp-idf_BINARY_DIR:STATIC=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/esp-idf + +//Value Computed by CMake +esp-idf_IS_TOP_LEVEL:STATIC=OFF + +//Value Computed by CMake +esp-idf_SOURCE_DIR:STATIC=/home/claw/.platformio/packages/framework-espidf + +//Dependencies for the target +everest_LIB_DEPENDS:STATIC=general;__idf_cxx;general;__idf_esp_libc;general;__idf_freertos;general;__idf_esp_hw_support;general;__idf_heap;general;__idf_log;general;__idf_soc;general;__idf_hal;general;__idf_esp_rom;general;__idf_esp_common;general;__idf_esp_system;general;__idf_esp_stdio;general;__idf_riscv; + +//Value Computed by CMake +led-laser-frequenzen_BINARY_DIR:STATIC=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6 + +//Value Computed by CMake +led-laser-frequenzen_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +led-laser-frequenzen_SOURCE_DIR:STATIC=/home/claw/.openclaw/workspace/led-laser-frequenzen + +//Dependencies for the target +mbedtls_LIB_DEPENDS:STATIC=general;__idf_cxx;general;__idf_esp_libc;general;__idf_freertos;general;__idf_esp_hw_support;general;__idf_heap;general;__idf_log;general;__idf_soc;general;__idf_hal;general;__idf_esp_rom;general;__idf_esp_common;general;__idf_esp_system;general;__idf_esp_stdio;general;__idf_riscv;general;mbedx509; + +//Dependencies for the target +mbedx509_LIB_DEPENDS:STATIC=general;__idf_cxx;general;__idf_esp_libc;general;__idf_freertos;general;__idf_esp_hw_support;general;__idf_heap;general;__idf_log;general;__idf_soc;general;__idf_hal;general;__idf_esp_rom;general;__idf_esp_common;general;__idf_esp_system;general;__idf_esp_stdio;general;__idf_riscv;general;tfpsacrypto; + +//Dependencies for the target +p256m_LIB_DEPENDS:STATIC=general;__idf_cxx;general;__idf_esp_libc;general;__idf_freertos;general;__idf_esp_hw_support;general;__idf_heap;general;__idf_log;general;__idf_soc;general;__idf_hal;general;__idf_esp_rom;general;__idf_esp_common;general;__idf_esp_system;general;__idf_esp_stdio;general;__idf_riscv;general;idf::esp_security; + +//Dependencies for the target +tfpsacrypto_LIB_DEPENDS:STATIC=general;__idf_cxx;general;__idf_esp_libc;general;__idf_freertos;general;__idf_esp_hw_support;general;__idf_heap;general;__idf_log;general;__idf_soc;general;__idf_hal;general;__idf_esp_rom;general;__idf_esp_common;general;__idf_esp_system;general;__idf_esp_stdio;general;__idf_riscv;general;builtin;general;everest;general;p256m;general;__idf_nvs_flash;general;idf::esp_security;general;idf::esp_driver_dma;general;idf::esp_mm;general;idf::efuse;general;idf::efuse; + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_ASM_COMPILER_AR +CMAKE_ASM_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_ASM_COMPILER_RANLIB +CMAKE_ASM_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +CMAKE_ASM_COMPILER_WORKS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_ASM_FLAGS +CMAKE_ASM_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_ASM_FLAGS_DEBUG +CMAKE_ASM_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_ASM_FLAGS_MINSIZEREL +CMAKE_ASM_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_ASM_FLAGS_RELEASE +CMAKE_ASM_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_ASM_FLAGS_RELWITHDEBINFO +CMAKE_ASM_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6 +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=30 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=2 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/home/claw/.platformio/packages/tool-cmake/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/home/claw/.platformio/packages/tool-cmake/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/home/claw/.platformio/packages/tool-cmake/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/home/claw/.platformio/packages/tool-cmake/bin/ccmake +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Test CMAKE_HAVE_LIBC_PTHREAD +CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/claw/.openclaw/workspace/led-laser-frequenzen +//ADVANCED property for variable: CMAKE_INSTALL_BINDIR +CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATADIR +CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR +CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR +CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR +CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INFODIR +CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR +CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR +CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR +CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR +CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_MANDIR +CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR +CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR +CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR +CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR +CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR +CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=158 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_TAPI +CMAKE_TAPI-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS +C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS:INTERNAL=1 +//Details about finding Git +FIND_PACKAGE_MESSAGE_DETAILS_Git:INTERNAL=[/usr/bin/git][v2.47.3()] +//Details about finding Python3 +FIND_PACKAGE_MESSAGE_DETAILS_Python3:INTERNAL=[/home/claw/.platformio/penv/.espidf-6.0.1/bin/python][cfound components: Interpreter ][v3.13.5()] +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] +//ADVANCED property for variable: GIT_EXECUTABLE +GIT_EXECUTABLE-ADVANCED:INTERNAL=1 +//CMAKE_INSTALL_PREFIX during last run +_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local +//Compiler reason failure +_Python3_Compiler_REASON_FAILURE:INTERNAL= +//Development reason failure +_Python3_Development_REASON_FAILURE:INTERNAL= +_Python3_EXECUTABLE:INTERNAL=/home/claw/.platformio/penv/.espidf-6.0.1/bin/python +//Python3 Properties +_Python3_INTERPRETER_PROPERTIES:INTERNAL=Python;3;13;5;32;64;;;abi3;/usr/lib/python3.13;/home/claw/.platformio/penv/.espidf-6.0.1/lib/python3.13;/home/claw/.platformio/penv/.espidf-6.0.1/lib/python3.13/site-packages;/home/claw/.platformio/penv/.espidf-6.0.1/lib/python3.13/site-packages +_Python3_INTERPRETER_SIGNATURE:INTERNAL=a96d5b532b0bb9aa9eec99d7ec67e41e +//NumPy reason failure +_Python3_NumPy_REASON_FAILURE:INTERNAL= + diff --git a/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeASMCompiler.cmake b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeASMCompiler.cmake new file mode 100644 index 0000000..1a90cf8 --- /dev/null +++ b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeASMCompiler.cmake @@ -0,0 +1,28 @@ +set(CMAKE_ASM_COMPILER "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc") +set(CMAKE_ASM_COMPILER_ARG1 "") +set(CMAKE_AR "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-ar") +set(CMAKE_ASM_COMPILER_AR "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc-ar") +set(CMAKE_RANLIB "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-ranlib") +set(CMAKE_ASM_COMPILER_RANLIB "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc-ranlib") +set(CMAKE_LINKER "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-ld") +set(CMAKE_LINKER_LINK "") +set(CMAKE_LINKER_LLD "") +set(CMAKE_ASM_COMPILER_LINKER "") +set(CMAKE_ASM_COMPILER_LINKER_ID "") +set(CMAKE_ASM_COMPILER_LINKER_VERSION ) +set(CMAKE_ASM_COMPILER_LINKER_FRONTEND_VARIANT ) +set(CMAKE_MT "") +set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") +set(CMAKE_ASM_COMPILER_LOADED 1) +set(CMAKE_ASM_COMPILER_ID "GNU") +set(CMAKE_ASM_COMPILER_VERSION "") +set(CMAKE_ASM_COMPILER_ENV_VAR "ASM") + + + + +set(CMAKE_ASM_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_ASM_LINKER_PREFERENCE 0) +set(CMAKE_ASM_LINKER_DEPFILE_SUPPORTED ) + + diff --git a/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeCCompiler.cmake b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeCCompiler.cmake new file mode 100644 index 0000000..c40c4a3 --- /dev/null +++ b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeCCompiler.cmake @@ -0,0 +1,81 @@ +set(CMAKE_C_COMPILER "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "15.2.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "23") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_STANDARD_LATEST "23") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-ar") +set(CMAKE_C_COMPILER_AR "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc-ar") +set(CMAKE_RANLIB "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-ranlib") +set(CMAKE_C_COMPILER_RANLIB "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc-ranlib") +set(CMAKE_LINKER "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-ld") +set(CMAKE_LINKER_LINK "") +set(CMAKE_LINKER_LLD "") +set(CMAKE_C_COMPILER_LINKER "NOTFOUND") +set(CMAKE_C_COMPILER_LINKER_ID "") +set(CMAKE_C_COMPILER_LINKER_VERSION ) +set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT ) +set(CMAKE_MT "") +set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) +set(CMAKE_C_LINKER_DEPFILE_SUPPORTED FALSE) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "4") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;c;nosys;c;gcc") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeCXXCompiler.cmake b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..8c58612 --- /dev/null +++ b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeCXXCompiler.cmake @@ -0,0 +1,105 @@ +set(CMAKE_CXX_COMPILER "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "15.2.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_STANDARD_LATEST "26") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23;cxx_std_26") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") +set(CMAKE_CXX26_COMPILE_FEATURES "cxx_std_26") + +set(CMAKE_CXX_PLATFORM_ID "") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-ar") +set(CMAKE_CXX_COMPILER_AR "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc-ar") +set(CMAKE_RANLIB "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc-ranlib") +set(CMAKE_LINKER "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-ld") +set(CMAKE_LINKER_LINK "") +set(CMAKE_LINKER_LLD "") +set(CMAKE_CXX_COMPILER_LINKER "NOTFOUND") +set(CMAKE_CXX_COMPILER_LINKER_ID "") +set(CMAKE_CXX_COMPILER_LINKER_VERSION ) +set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT ) +set(CMAKE_MT "") +set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang IN ITEMS C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) +set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED FALSE) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "4") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/backward;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "gcc;c;nosys;c;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") +set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "") + +set(CMAKE_CXX_COMPILER_IMPORT_STD "") +### Imported target for C++23 standard library +set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Toolchain does not support discovering `import std` support") + + +### Imported target for C++26 standard library +set(CMAKE_CXX26_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Toolchain does not support discovering `import std` support") + + + diff --git a/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeDetermineCompilerABI_C.bin b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..a3a6d61cab424506aa34ea04e510ef612ae8433b GIT binary patch literal 9760 zcmeHNOK%)S5U$PGUh*Q7ph%G-LF0|`KxDjLoQoqOoXy%=O1U~e)FjQ} z1QK+O6NQZSGctf7Zz9o{AjbI(%aEZ<^Uhz@#Lg4du$zD9OwW1+yaHYUuYgy;E8rFI z3U~#)0$u^HfLGwfRbc(YiC-u0!?9ZQ<%8Or-#)0F9DDeE6~b3Gs{8Jo`sv?$ckldM zg$o;qAKtrLJNdWuZtN%TXI1q7wxj>xF8)J1?@sr*@aZ@2O)j;>Cm#c}JM&j&%jCAq zR(LO0#d3Y-19}^s_LceWtXk)?$YgK1XkX+DomTr&XAZPq=XKYW^#qwf%X=$;= zTb)boxei8Xzvw2*`2RyEytuE}Kbcp+E8rFI3U~#)0$u^HfLFjP;1%!+cm-gg*_>sk z<030dm1X_2odqV#{Ot6(s1en9quw|--Kfu;VTORYE^1aJWqcDV?;{)w$BUb9HIha? z&C^C+=Ymj7=ynp9g#jya5KD|fGELX|(*%S_GXwfX8EX^^T%P?-bVop7x(8rWcLV_T zBJ6P)j6gu$31%=_0-%lnJs8b_=|UjLXbMc%0YOGnFw#8`z)M8`Hv-seD=^d;Y;7M! z_ygASDy|i*ho0egw3)R#xc-Co%htYzD-P4)fEiyI+mc(`-yzaH5;|yW`^ORgePc6P zLVTV-aCLnYA=cA$$=VO_C$5_qN_8H_`fR%gLlg4@IDqlP`LChON)O5Rd>uT&%>cXPR=5`_YY%Jo!#9QvH-V_gXnTmvtf4?KZjuT1SoqB7|g&aI0CPN2aug*HUl6s>J&=KRr$UGY4>Lk zplg~SM3kSA0Ss{+iN*{e)~`{92we)d{;~olZ`8wn{>hmRbqqKL90QI4$ADwNG2j?* z3^)cH1C9a5z{|_P=4Ug%%>E3=D#4e#mG{5it(=^C@=Y21x3K)1|HwZ6*C$t}`&|6utB+@wTm1980G)1oX}*YWi*zmQ zXEI-{&V5R6quW_(_vYnhDDqVFSM$#0aG~4kT?|)Yw!&8T zN~h7q2<7L!coqMDsDzjI6}u;M3^)cH1C9a5fMdWh;23ZWI0hU8jseF2EHs<*>{OJe zMIqC4aHhM!M3J4ToeSzgHLO?b=W6xp+-ar(X!MY?JT9V}P+CEC%Ad|}eo&9=SuITJ zSvBOOMWo%1qaxSJnixg`V-QS|jX{kR&XZItgS?287I75Men z*bGLBN7D&{fz8+!@mZ)h`P=P3V1`!!?VL5WLGJYa>Nv~9qhz28w&GZQLkXYY?O z|E{(f2_K)&%v-2>KK6IbCM!R{F>RZ84=QNeISh(FkM<+ekB@h5=y)G7coXg8&*V=- zdn|wX89%;{=2d<}G*?!dX_CbQkvA@Pf+))%ytY_79}m~kaO4jUp>>V^_x~pB#n(eI z?8khl{2!{U5&s~Tav(-RE~p6n!viO7{okKx81}j3s%Z#AIVeIth_7R322VHgNLY8T zD5$M5=Ln)zsY~iq1BqKwr6xQcEB>^aBw|QObj|}VWgho7q$u$9zwmkoBk40xGduJx;n%o5l5J1z zyC#lo^!wWww>A=IPw#0HXHGW*HWFlfgwWZe`_hH$xp5z%lTP-2^)6w|i_~jRs%K6# zx@m*_+E#r7_0hQRD*)@1V3v*h7bA~i^Z)<= literal 0 HcmV?d00001 diff --git a/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeSystem.cmake b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeSystem.cmake new file mode 100644 index 0000000..1e5827a --- /dev/null +++ b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-6.18.34+rpt-rpi-2712") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "6.18.34+rpt-rpi-2712") +set(CMAKE_HOST_SYSTEM_PROCESSOR "aarch64") + +include("/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/toolchain-esp32c6.cmake") + +set(CMAKE_SYSTEM "Generic") +set(CMAKE_SYSTEM_NAME "Generic") +set(CMAKE_SYSTEM_VERSION "") +set(CMAKE_SYSTEM_PROCESSOR "") + +set(CMAKE_CROSSCOMPILING "TRUE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdC/CMakeCCompilerId.c b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..8d8bb03 --- /dev/null +++ b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,904 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) && defined(__ti__) +# define COMPILER_ID "TIClang" + # define COMPILER_VERSION_MAJOR DEC(__ti_major__) + # define COMPILER_VERSION_MINOR DEC(__ti_minor__) + # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) +# define COMPILER_VERSION_INTERNAL DEC(__ti_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__clang__) && defined(__ti__) +# if defined(__ARM_ARCH) +# define ARCHITECTURE_ID "Arm" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#define C_STD_99 199901L +#define C_STD_11 201112L +#define C_STD_17 201710L +#define C_STD_23 202311L + +#ifdef __STDC_VERSION__ +# define C_STD __STDC_VERSION__ +#endif + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif C_STD > C_STD_17 +# define C_VERSION "23" +#elif C_STD > C_STD_11 +# define C_VERSION "17" +#elif C_STD > C_STD_99 +# define C_VERSION "11" +#elif C_STD >= C_STD_99 +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdC/a.out b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..9f81759cc13e2379a5d5e6c9e2fce047cfcc985e GIT binary patch literal 96396 zcmeEv2b@*awf;W$lzZ>gJ9CHWeTJckNEKAn0VzV%ph3lmA`W7S1rd!V5^1AiSFi>R z5gR5ki6x|pC}2yBDaM#*DiY1pL`^jL^P=(peQTF{?l7ZR67yc1`R#l5+I_FR_CDWP zYoC42n{>cr&-0Z1OQ^pnQcvP{6t3T2=m|YaHLE}kRMo0V`AW?{vfSoS>OA8OaAn?H zX__i3Q;IHRx{QvOuoh1h!8IeWXu&9j?^MCF7T8QCZE#Gcsp-RsEI9hPPH!b>JG^HadOTl1VSC z=7m*Akq!Hw_VvM_PE1TXKxHfYtFmb5H77Qovmx8P@$!`yY`nbd{M*&aq*AEif~AWk z6fr9tEhDhT%&dpLAR{?9N<^RzDBdJ*Dl! zS6AKL**bB&w{)@O{NbeI#+R+^9)C5{MO$pjyF15wQ#YJ*di1l_pQ`G%p|`xzHsszn z+B$-N__uGoeA$3aZ+`pQWe+FSJ{Q3Mk8fYw*6|u*yes;O8Q(|D=Hs&$BvXCmTGB@@ zw4sj}wq~F1yQjC#m^5eU;yb&SO!g*wlTK5M&m?y^W^I-CskW-ks;xOxZLM(aa*f&s z;yM^^NT^ySFPW4LH-{(gvhnzp7d$^>)|0#rm|6c*UXw@7lI!iq)c<_t1>A;r_S4a+|=W;(PVJ{ zxSwUiu>1!%A243G68Wwfyu54q>*{4SzrAQ8Yw7BKT~Ws7w;cc)sr^k%j4Z^`BrFWzzB__Aor#+JJ~y-6H(Z_?7my{9=YFU`i|Ar}|izMD7s z%1MyBYoaY}Uw-w9Q}zxge-ZTf8z=33cV~L?ql{ZS-aGIa{0uv#S@?He6y_20G$AxK$-wD8-O?9)KwD`Q^|pBusr(ShAUA^sAg>(9;P;BBUQU((wQBLAGmpW z_j<2v@RsO_aNiM=>JMG=@Si)wIlHbGIT%*|6#Me#-<}%%$Mxju@G*CHPMx>WjAH-M zVV7kLxIsc#-p zGAX+NGuS>}j#E!wV@UAs+ntr+7S(mi6! z&`nEk7%}TN38^6KEOsi8V||2wZe_Yo@_%MRb97JYhA z)%MHVDqmB7Tu)hGxn5c8_d6b&_Q*l#H>4(W=klS;N38h9iYp&xSt~GyzBM?PcUiyZ z6!RZD@z0%4oImaSyQfZ=+R^>viQ$|%cg9<=YwM!JmthRM8n&ryGF+TZCKv0PZF|Dw zpOKcF@W`9%SyOrq^LIRm`nw@-cX?M}g>8EC@UF_&)w0_+Vx3+60P|iY>({c|y(_zx z-d;58V75PcLib?s@^ueCJEi-fB@?r0m6|pE*(tYOd&z#6Zo4wrdPDnLv%uN!PkE|k z*7QsEyMAM9_a6q$n!bF>lJDQv-P*mp^VODLZdkT1#Jqa6<%#ZB*B`Jy(;PMEfa$z0 zYAKo}bjty9J!jC6PSQsVTGoG434N!xEbG5qd{bKvn8}c@462{8;_=pQ^6JMECrrJ2 zYB*=<1%K{5cA}#eFI}AL_1)dOpKp7fDeJ4}y{CV&S z%#uquqgO2VrgmkoPvl~PvL%;DXv6hNkBpvU^_^k5ELeK&qZ_Pm`v%===3TiwD9Z*D z%fd^dE$QWD&*jE+QN_xtc6HmetM^-a?Y8wx!5jM@LRRVcuhg4U?mWNie;zK${%vI(wf*6u>wnvFho@G){(9-ktGd-a+YVJL zuL?c6F4*$c$YqDAm4ALP*>zb$-IJK!xpHYDbSbzTcRaLvl&7e53v(YEFrs_kaD zTi|Yky94e{xG%%q1-IrK3B)H5pFn&9@d?By5T8JN0`URj1H=c24-g+9K0thc_yF+{ z;v>XIh>s8-AwEKUg!pLX`B7@?pXU9w_@X1Wu%{!>f4H+Cy8Ei*7bm>7%fF%4UWPWn zt-TaixV4wy3b*!RT;bMUge%Js3T4*NPDredD5UjrMQxR(UUF zmyf@*ZOxKZS>TcM!^;LJtlY1qW_2!_(lz^UiaEo*7af|L5v|j%nua;DxT`oF`2Cls zihoO-^4ni$!^IBAocI*h?hNkUnYQ*@P*yl)TTy<&1#)iY{Y$E3`mm$$WU%VaMAhD5y=C1*ac&#JceQQo4F-lXpV?Hu;lNe>LZ zlyRSY>({pR|gpb|*vDO2wIv{c2 zq&eUE&I6sx)-6wE)33c%5RANNh3Z(fbxQh;u1gA4*EMOisOI$A(<`v%4R|cM^@dNs z_47{fqpGWVfZuj=yZ6VREc^0A)pcQ7ExRp^z6|lUU$){;ORs&lbL&;tZeMo0w`%L+ z*WS2w1Mhx6+OX`lshMT{AA9S}%f07M>Rx*7A2tld?~gY8=m*Pg-~5(d8MDhbzt!~< zptV(lw`^<0J#5v8Nh@BIyXP%SR&i|#=R9*~*P_={rt_W%EA}-{t5y3wyWic{R6H>2 zfmb)|bHTIwUH{P5MX&v%V!x5m)2gfKe56F|L!`D|@$eg0=+qC*dg#CnU1x4mU!PLH z@woN9mDc&t_zil+TXy^SRUHpJ9c?#%an)_z)4E?B`sR$T+N;%~ z8CVDO(Iy8m%ccuVKB?n8%e&0PJDKWv~Ru3SD^y?R~rMCH5oS>i*?jn*!DK=DpG?Z&F;=C~1RN{AeI~vd{88o@3otk9qTOps&W)3w&_r<_jKu z@z4i+AdDrGrggX8u%e@@?#@&_>b~)k+q(Pji#61L9rSJ2)<3{fe!gG-=i4A7{nk`; zc3;-@NEGZkrEAgCiQs{e$yMO&1z0D3yJ}Wv1$Z^BySq6X-V203QO&u2Wb*aSt%=wF zy637Dm)AeAZo|(X`oo5qon2R7fR*RBt9}G}h0 zo!))%iWhlrCtAGp`GE(#{K|Rjc-OxEWyUR$kfwFsRJ}$|>(=Z0&D|Z{R}ZY8Ie5kO z4;M}EfW&ouB2ip@caJ1Gd-;{G zK6~!;w#q=+x@OJIZTc`{Am?leDDt!eL9=` z+j)zCT%J?a`*RjmKajn4jMp_YsUQs%udCIaS8hGwkppJ7t!ekVe-P{caQ44pP0@63 zayRNqTnkA%e{0R_e_h>q-_zL(#{8q^p>OGzA3MJT7;x#eBPMr!e2o&$Kc5VU%yR3g$oDlP)9X6_uzvMa zD+fznT!N>O)`=b68cD@v;^R+p^tb)w?CIgfHP2Hjj0{}Z(S39G_|fN1zjJx_#eevV zm6^?N$#|VVX@mF2_%qGszw(*pv{zn!Qjg(%1N9hw#o&M(#@l;fUpOS2TpYID_1h~J z9SYRmhab3b)sp8Q#dFz|iThmLcH0+M?bDr~+FL`MtJKtkCVza-uG3DLf8xoSfojYg2+}U%Fn>XjolNTO2Vx-G=+}R6{JC&83;bK325Mz}(7kZEb;P?mlp%%Al zKd&#qO>fh*B=|r2b8^O0_rh(0dlK#?xaJn{1^u70-+p^G5A0fS+8JjoJngiTcRgrI z^Koa)-xb4z@tHkh*oe`?M+_S^s96W7@t*^a7MyrS*ICM22yc)H7o0V6#EB#351)O? zi21{2&!KPLi1{OC&*e`S!#;Cj*BJ}6XWntAb{&V*2t4JKGfy5)&zw1@oTfb|FF2!1 zd|h+&Wv;%=!$qaMfNFYqYy z*gtkGp}J6ojz0kYUL1N|7T)N4Iyu0O-|e$cA| zPeEa&zKv@wu0J(bc;!#GJDs)l{t5BNm^fa>!6nqM>umf%p|0<9xU!{7aXkpvCvn{q z*Mdm5177*l<$nQaQTHo@_#rkDR~S3{t^jT+^PH`aWU{HcKGqRw9hPf=f`sjt8|YA$XDDs_;ih znJ5nT0QF;r(3AKKf6lf)s%SX6=N}-6?DFibE}nO)^2TPEmZk{ytAvX$Yx2EMdc%D0 z$n;wO)`DH`7;y(eW-;U_k83VOU0C!o{6UUI5gJAoHNo+3jPy}>6TUy*7)D1yGFXg) zQ-($938*pg1;3P?DChv;mq)k5pO6))a0o(zqKLNx2@#&Cq5%jFkBaP_2&~u}A>Qah z=IVqS2UqeS7X2Y;Xno<>proj$V-4+_o$6;#zM0#z^oC5Npw zyP<$^6n~TtS^8Ca_NUZXsV(r&L8f4AA*)XL zqlBm+QRHty?qF;kiA;L-*=mo%FCue=3Mb)GScRXj!%1II*D7Rf5B463VfP!+gJ9pZ z?#>Dp(ALw_Y)%Hk0&uvhzfr^^Gp(=+MmumlZB}FUu9pX z2+^!Yv|z|nUNAkikZt$_;|?yMU-@5Vd55G)EN+_*PRwBQmDlzq_z$NaP^GXRuFH`` zy40jfhM~Yqf+IJxIAPzca{84&n~gXsV*dgk3z-UzPCtg2l;6Z!XE*-_#DywkVTHfI z51lDB{5AX|L-MKQIW#L3EG$9^{$b2{W*Pm;?~kP;I7?Tc!Z`>kxgQZH1lNBIRi|gq zS2vVP%Jl37>hpRe)3ZOVR*N^~e*>ilH>OWO#v*@DmVA>CCF$A6&Qo6~+lKgz{}rZM zBU!5b>)DO99JkOKTl-G%n=;dAoiIn#g3Rvznk|^>%36`JlrDPs> zK8Opw^u5Sh;hllsi*;$$-nT(qqKSI10tH;=RTieez)`bLnXiH?yz&gFcJBvBca>Mr z3}T=+1;i?yX^3|^s=HPb!@Lb3uG1Bb@}P)TH+b3p$TQYE3NfGeGJ`>k^S+K|uhz*r zy~okGFL*_JB4(m@0gAra%Ti+Z_f~>f>y=X=5AePK;ubG+Hp=yAyAfqml49u?B)4A`{+UUbh4Ph4qQZWlWnrc0$Q;8hd=3&GWN8e+uP8Sq zUTqn!g^c)=jZCO=av&)8N{_@f^CBZEJT4d>=X|ACM!)iI!f%xxoWQF=YpONVQYs`P zLzY_pDt>}GuOCA)UqEHmBYmL7vlevVq=HC~dwbhIuD}I9(HCy)U6n3pCN`-H4boG_k)bq|`(ZKIw5%wQfQs zAp=74p`CL^#va4Yz=u$K$eU0*MczotzKq$8Kc7UN@~gm`V6b0F`7I~72>@=m9vA!u zG0}t!2d+N_W>0TDazzzLsG{%S*NbMMJ&9;8{C;#j(gnLu{P+yC=!eK3MZZQ!GWrbs zspuxumDc4<@ygPO{up9a^eg;&(M+UCL?u$rI5sHS4dG!FvcJ)52v0^2BP10aj+E)> zI+Rur)gZhu+K%)^s_roM$RE<`sX7X8=u-n!_YLt@Kp9dp9Az!^mK}k*{g)8zEteUt z{Jjw2b*H*eK#?l%kD@)GJtBrNLkvN*Q2z$fja!E736iRQ0wPDQbacZ?G$%FCOL5wN zmBBKhJCRgnk3zGP_m*;kKIWpBP-VBGnB+Yf&gGZ$q7u33o&6X(nfzMwIwYznutm%I zl3OdX|6nCwl0RX+d>+GP`C_@hFyvGO?tj_|Ci1i%=eqVxs8 zjZY$t49MZ~@3h4qx@W`S6Yu_H;}}Q>!HztCeKcUcF6L?G2Y? zl|Mym$~>za@>a7ERn!rkf#Fq^kE60e&+3r8)z2`RsVQ1&>`LVJUiYjn$y+@Jx8#~L z)ax~@XfBe>g4^T2fiu2_jur8T-1HKj-;Sik-$cOAOA%7M8a}D~4tRu915QNczqk4= zZ}m+qo8A3=6HC7oxt73{wxc-|p#_Ks+xQSuI?9Bdp9`y)X2Osr_uPh+;`8jpT^{*i zm1Ev&Ho0c5x~qy+J&tM~f@=hWzm{ggzk~Vo^X5B zp%>mJuNB=I$Wos}Gt&Hl{Hpu>T@Y0K5=ddgpt=%-B5CEPaQ$B9Cd4L3BWxOqnhcj5 z0^(SBj)ohz4~VnjSqN8JfNY%MOOS_rSc=~x{emw;zjqm;I01w`MF^&l&hiV^AYU=t zLe3XgAQd@ZIszU}ip{zt|LmV5c9e;&JuFw4fA+JiL`w6EB>aDJX2#RR!Q^XY4 zfGron4PK94?8`bUtThKNW zYXGOO)!KTiKaD0Nmm#PgbymP7F9&fDJp029Vd9zKA0IZWJxMqp;k>g;!b{;<0atty z63OILyKrUUGSrSd-fGHMau$N_LbBVK?*tHhxZw?S2os-+#QPv|t0xH)7#mrpnXm~2 zMY;GgB$CBJji)$UJ+rrZ5V`*~#1>3L8EeB1JoYD-BWzD(N!Szs=0BCeQ7#1#{fC?-}R zbA|HxD43!q?G`xc3aS#t#NPcOu!*={A`#b1B;tCBL|iYCXk;^tULq0KOC;iYi9}p4 zk$4p|-svT3onC@ZR|%t+pkF1p>O(IN(mCZD<#&Vu$@p!Jc-+0bG=ncP}Sj-65BxR zgi?YPIiLF7UC z&`FmG2Fqu;|kZ`I75>C}X!l@ca z?5|Rkg~w5_^f;+9R5kbv@X3dA&IB1z<^O_#7b4K-ZKa%oY{ox;Ncyiax(Po?qfp?8 zG{&DYtsUH3O$9@i5VWz8!g?}BelA?olaOPtanO^9<|fn2;j+i8rYuE(OYFDdit!}T zl71XXehlgfhMcNekc0_N5l2l z8sS75;Y1qYL>l2l8sWgyM}&i-p1~#C8^WRO#UdQ>#}H0~wY^m2Y%dit+e>;5GH-(` z&aT+&2PUxSmbpel`UhGQB1a1c(jLpTfA27_?ucL;~X;z~g{+VWBvx4ei-Whs(K zkF4e8$Ol=Pz{6SP^!JW%9!88qIKKpOp$b@5`f2>onL>kS;cp4ZCT)0Gn8N(92#5Y2 z2q&0>AZ>TKo~n_QARI}U$|0Q8jtJ)j{jXe(GJV-8Dv&&Kt4&jh54&kt?4&hLz?GO%&ehH>d2wsK{ zT%>(6)2Dd&LUN&30WmO^R3e-<`UC2pB+phR&*c$P=lKrP(V{1MSxQnY-Hj;K*Xd~I z%g{^t$|b?RInc7EQgmd7B{V(N(pbbT!YPIjmKua}5#lYvp}%*8Bl4gE@+x47r3T?V z#oPwr(C-iq35Re_LqrdRlV;d9BrE3r{Nje@1eN!5=CCtyH8K2&ig z$cU=o_YCA+B;akOih^v$pC-$IYR6y~q)8ft!x2d~ARs!pT$BN0kfOaTiQh{ETpR+Q zmKG7CGR~kch$Zl>ycmB3$xbj#m9eU;OS#6}ke`M@x;bUUUe`%E_vfdPInjxPs+^{X zMXc6tAM{ptqya_=yB5`QHelPn>VPY1gS zdb05F_aJ`<$0nUx&L$;M+*=GG%sVYhz6@b^;A(yam`C2`wKDW(QEgo$+l@l+C=$g& zpy@QZOk0OC?6ym9HI;GxxO)u;~Gdu1y?OjUU7~ttS_=Qdnjf85gn%txe?R;-u z#6XN^Z|r7LZ*>YVv}iI)8DGyfCLpx`z;yse-J2lY@s6xzNA@dWd%an;Cm(mJnkb#{ zj#2}u$n;t~mTI@EdaH#$Ei$xCD6tMs_|qx{c7hxWC;VxXVvh&e#h_DFyA-_~#9}z| zr$hKduzMpzIIsgM$e_nSJ_1)W3#{OT*lAX%tC?DP!BDU^o5SzFh2(5USFpKJ{*Hj2 zGhZuN@&2@u#c|A@j%g*+F|A}ehS~dBtz=0~D_IiLN+zvVGNmzl3@w@GHJDv(iN;tAGTJq+F|y$*GgstvumwnMlie4N+x-iq3T9@^Z{ul zlU6Hf3Kgwn%|}|v{}ioct;OvBL0ZYWf2med)>LXGWrih`(9~F&g{jzL_J0GdWU>o4 zDr)0QTmSECC6iVwDLqcA(tNFCS)W=-LB_pmCF@VXeg>~XAY}v1AyJVhJ0ph!Cg>cE z1nxdE*9f+Ce zxJ4u8LW4NfGr+I}CZ%XaRSuYpK@9{Z)F|+8I;_t5ip6RTOx~+9u`CWu3S+>eFa}Ht zW5A@w0+aF_Fe#4#le7gU@@VCwv+ry!EsOz^x}Y!yObUAflPrNrVGNiQ^XWG}wzKFD>$cF&{tTjmcQXsUqDL92r6yn?!I7>hb(;wr7Yn<~ zgiViyeZz#!jfLHB!p@F`Z82e&#KN95VQXSxzc69<#=?GQ!XC+m4frd<^7K*Q!GYuy zz}*cUmt_|Up1a%wX zF?-en0-p*sTYNu^F7L?UC z)nV}cX8gz=IIC?cMS$4@cLBWCLQKEe1INk&y9bU$%I<+9QDpbPk;v#haF-x6_P`Ct zC5df|cq_I>>fB0f!zZ~B4zi$ktniz;7DZb9yk&eb`KnhYP$!H zM7`YuN1|EPI8b*q+h8oj^eejuj)d6*$JX0DaP(sjT++k!R3wqXaoQ&COSKka`kjTC z)dqGC+&#=^_rN_00(;Qf>FZoefEI7GiS4S%|-k7-u2= zDF|mF{u>BqA*RL7?tx=9b`KnzYxlsh#!kBjj&D{uP}d)X-2=zm&O*#A)9oHO?u~F3 z;{Ir)+XKgm! zc_iG6dCy@jZmzSS?hl}xg?Kv%XCY=L_hKFi_hKF^au(u$Adj;U`&bE`g_y~lg*b~C zXCc0eT(lPAQ$aWj@zLm=vkvpXW(E|GKu9)O`D+kp z_Q2KC?=QlS|A6UmxN(UBPj zZPR2V9BpZcy#;mK(f=eP4zZC5ReUo1crR}PE_Q$1Rq$KuG5yYZ%oe!!@NVxrRB;5Wu=6BX(*6d!zV=`wwCgH5dB%Jk_ zgtH!#*k2_nC%;C)(qp?njsZUTP|jH*qpkcuF>o~kecp1)Dda{rs^Rrh{27Tf#RPo7 zdla`~zLtl#@+iF7p$HFsp6HWp6>mH6pZX2G$_u^@bx;gY5NZ=p9Ec?RI|0BV-;8Bp z#(UgcUwSLLVqg2Wz~Us-WPyeFW7;AC7LOu9CZ{dR#I!{{%~%2~-b8u}EaWN50*iHs z$N`IIK;?kN>7XpI;3hNKTwnH|Y{tp~i?=spmB+M2<#BD%zs`(R`;i&zKgEpYfW?21 z8LQrDi~bdx>)*+YRce97M`kQ}kDs?22OdZ`@bJ&rT;J1-RhF+U%J!)(%J!)(YKWP! z8oTfkVN~W7bfY7C0VaqUD7Kt=h!^5WfQ)d6tmG8MJuF z0Qb2S&p+)9wM#K`@_>zYxMuFj@`i}r>i~H7hiehL*HCG}@t}``Yi&$wyH`ov?p30X zeA0WcO7w;-y9Z0Xh-}0-x0U5#oUuS4#5l(ojB^~0)aw=F#JAeNSA9wz-mxzezTH-P z!8=c(c?Rz+r&r@0hN{#Y{A`1hS1XJng}X(1#XI*QVeVx@W~=UVtG&;y_JVip%Y;Nh zMv=n(m{yTOzfq(RTscJw38zRQ;S?z(j3Q+XGDDFv373@JYA;=Jij)s;t9=gdy!}>t zjd%1`dyRMK=gWlL?a2Me(j%ux;dW)KNTJ^;QZ)O_%Y?mbwf9+8%5Jqch5FoTU+a@i zMv?LkTkZWhsM07>xZ_zXQe>3sHPLV>5q*J7j8%~k( z0AidX@f-OLK}8?xuE%6xmvBtz#sdB87RJB8595ogzgT*y{;LTt#z=l>g0J?R^Sf5g)(U z^?=L_C?0{3!cU*u>#ZV%exF>?nYE+wry~$z3kH9 zR{LBM6lH-s>!rs@rST2}{B2-XmRs#*M3v92 z_CD3|KDXLuxz*l`KQW6>2;%R8GYY0Lq*mV*Fy zxK(-Q;m)f_O}KLb@Jvjlb1B%d9krc-M)2?0ijUyVZs5g7aOWeqBRlJy-RK0&4reza zVeLjA!5uKe+KoPfJ2=phOmKFiUfwMH2=06YcXGBNKAt<<5D8}+BH?U9Bye`ZKN;@u zIG3opC)^R>(}`)Wd}?8un)y;;QomJbPu#blM_ylR1xTrf%YmNBpgI{Mpr@QAo&=KH zXJVj-yJYa4C9C5R&~rQJTj5$i_pU(?&wV54Ii(+3p4%9+8(L4$b3RzgzuAc1`IF7< ziRk+Lg+OntF^8sy=KKZPsoat2@_KM|4T9*BICgk7uIa?t;6e6ccoUbwS0TPnz}HWF zH^Wy+U%@>1yhhJ{x&ZINEyI(B*IYoG)Pvy6cj1b#*Q!NA{s8J}IQ@xHcE7nYulq|) z_pdkI{|cf%gzn#iZk0(_x4>5}U45Eet@Z3z7;IPTrDMYi@Erv>cC|r5_65bW1o5sO z9_QKBpP(;MZlq}h;7H?CJ^4EqUjhy6z{$ZGa-2k>wPq6H!)f?Q(Wd8lGgHTbNRI_0 zy(7erocc}gM1Pbzi)llDI?Sbs08Kbb)BG+<;y}2ajnK_9E>v7{s9@6z-r&|=;nmq3@iZ=5-iS$$(dY-B4C1e@C+=hNe*X4f=p}XB+ zL(d$fOSl1{yYh)k>Ym@EL*>BEEjIL1gXmSV2eEixwr5bW_neKL*DSFmk0Zc-fWuq; z7N}C5^5=b0W%k0=erv;9U3LJ-dE_D-+QgzE9Dl;-dta-@3Y+rOh5kv1d<5=Gh{jhF zc*N*%9pkIpjXYH%b!kqX&d11YNAlNEKL0*dhpbwj%nFb(>w&g_yEP!%%!ca2SKjWk z31vZwuO}p`IJZ-LJHc(P-xuC~{tbw!WGeGsQAiT{--PzLW(tZ4PfoH&-)1NaQ6+Mg?qj5xUX_Rh|H9F= z{Kka0ubj1NzoLQ@FUO)RZ{ONIkYgn(yBIFQCnY-5?AZoT>lrdIbu=iM8zeczE}MYnZRRN%iddF`#C`HU19wbF5YB90*!*GeV~CLanz- zK8pypJ{c9@pig+3c8BK{c-A0kGmfk*fb=FWG_guuVMO(n8Vo^BRDW$ml`A9vo@_v~ z@>;Wp6xGt564fXss!?22Wnd{I`u(`f`xn(D2a`^hD56>>qH3hH zoKl)FVw&Z;?v;6*dKHvF_$gAMKM<>MKdv#MKLg&hh}>16#VDoHB62r7x{_b+@Fsfp zqdeZ~%Mehtw}i^)D^{Uee2Y?5tpP6&I1s<9f|fp+59`U8OgLvn$tOV{vb|cb2G)3|2diGK=SmFmRLHaJl=`l>n==x>OK zaV@wd$wKrl<-mSJB$9VE^fyFmf`}6)tg7LQMG3&&QF(B`#pY#oV=e))_d88@%p4cch2^*-fr z@6>3FjqFqo_f0da-l-gR3ZZu@hvS9NJC(x;Lg<~!;eJBsoyy@vA@ok=aFP&ur*b%1 z2)$D|oFYWCGN*Nh(^GtfOzv#q!3Ff|TU&TYn#5xLUc5H2>G$H}2DbB&MEYb6Y~hh9 zZZ6ggoK;T0lJh$8(HwSA?^OJq3i; zJB2q1QDR;~dja)pGh4VuL{FR9!nNi6_JcOFh2}#da%N|^uHiAnXfs>*r3QZ2L7Uma zyNdfk8ufnV@T=*eAcmQj&{)kV^AZ}HJI=g>#zyM>%HjI5k;tI;D~I1K+YiJP^AZ|! zYcpGTzcf;t*+TOn5jnFnG#?U?6Rkq?ArU#zDtuH#Be!3fJ+o#uHo)nfu1B5D%tpfP zS0>@iY|P`#Yjnppxl0C9!TZ(D>IYZuS~-2S7t?S zzcS4XZohH}!tGaPGPhruY9qH_nKJA4D^n!he&u7(JGWn%U3Ge=CKTZIE3;_qSEk^} zGd1ae%+!_)A=zYnYzKk%%uf1!?uwN>G?K;g2&wbX!sc`TvY6Q@NwIWdX4C1olevgq z%2zIl@@qk-IuSw9ky!>a8|hD28X$?=ib8xyq#v%<%tmXD-IGke+mp;%+@55S2j!Dj zK1;M_HojMF&202LGaCtKW;+NGZcp+qATlb&u$Pg@wAGr~hCv?eo@805?Ve=a9J42x zF>X&XvtUm$!>pO@M=WJKO2?U<92vJKnJOT+Cz*uXRz$*WD`I}PCz&<7J;_Yw_9T5fhK0@v3)z90Y3Rq#+e`^s{B_NcoPDB-d@Tm$N^h{VTKpz6+feqCb|!|?8JE) zKIs%(41X%IBr_ASi4Ne5#B~L{SF6MZBu#w2juCE@K50{TLp;-l#%zT1`@QEWee=&j~gJF?dyRT(G5XHoa*aM^hXX`pTH zHc)Henr9&-akE#HllnO|sSgQF z>O(@4`jAkhdg`VqRq0OtfE)6vBtCwa z3U5yH)k8sO;VnrPq7hoSE@VFf6%wI^clylMtRHD2jnL$oCfQo^3B>qRjL6{tArV^C zUN;2+`fz|~bZR3A0T|JkEdA!JQC6oBS~Rwhghpu5*a{LFp+#fsNM!U`qg#*}2<=2% z($s1E49>iTtB(hW_D&r^N#c3x(Y|SB)d(%>6hb4kXuJ>_p+ysf&Utr5}F2rXJ$&JUJpgcjXiK%VH0P|>=EKOsgV zwCGC>l~_eJLW}My-UEb2Xwg^Gd{@VwIm&A6nWJp3J#&7Wjk4&G5>6@oMp^Wzh{jxHj|pJUEJ9-g z976jZ>U0Q=ghOZ~971CrhtPhB!W=?lj6-N7975wQrMZo7ltn;jrJx)_BMNc|jhP%m zBjFGlD{=^}9eEr=8wA23G$wNhZ4bmaghrWl2#q4?5E_r1a|n%HbqH-g6yOjViv~iY z;FbIUO(PwUnE}Nk5Ry$+KHtK@3jKWqx6|)$z>nl9L+PZX=4IB*oG( zDA4J6q@H|Rlk$~IqWpb8%j!zeky(ag0y>fL)0W2llL##WLfZpZdrW|6(>by6H8=Vl zLSuyvp@}>wpSCf91qh8{_LzXzS&Bhu92tkuI58YTBjFGl35U>_-yt;C><}80IfO>SAv6-s zGDyN%21($|QOW|JC#1*rm;eU&Es1Q}7~S1|BF@|w4oeiURg{`)Y7?}YhBAW!&n z+_F;#iaH^z#BDuwNWVpBZD^3&3iyjGa$AL5y&^Y80J)uvOK6ZA{gp&+w`INtuYW!1 z--5oqlY*0=)___VdddyN0l$8qlLM}qzhj^q63BSH3nga+Kb z+yMzZy2u`o@H5Qm-uLx)L-O6ee%>?P0SRv+#vPEb2Z)@)aWPgY3uhVQ;4II!a&VS} zgR>+YoMj#dXWz}KS08;ONQvo$1E5dJ5>m!MpTJMm*!%fN&^x`y_|b8kC7c)z&XRC& zmV|?||BCk*KY-&n8)=pF+C6?2uW5<)({fZU=G)zY6#_9Tm5cdyvZI>`I-`qirxxL5Z7V-|~w67nYgc|Lae#B4xo4-=b)V1$$ zIA_mq8P@H@;hgqMKhL1vdiVMvVT%3Ik2`Kb^l$d{Lk?A6hjacDzGe8KAI{mJb#KA+ z)I7+8J;#ZDt$VZIGVJqk&Ys^g{6G%p?DboQjql@d&X2xjhymScm}0eVTv$F7n9^j= zapF!(r*-2?=1%LzTej1>k#Jf!;vuJX`>?-dxD$tS8oOw-J8t1$aX9BYearCQ>2S`T z-!imXxA*rgL#uTo%&=NFijLE|eTXon=eG<$fWtYHzo8m+LS}DZjh0Q&ECs{-EGM{p z{e6^I%5ApcZpEDrpvZUMM|yH>X9~x5&SngA2yj+yM?g`NyseaTk48itCFVr=^k6CR zPdKjlN>^Yh5l}d?nEDfqiAwqH_~bWAsf?5Ss{KHe8f}&>yUqBp3BLUdWb_8&tMGA^ z&(^T~JAiX;hASM11hok0KMWqGDZmF27x0j=j>V`dy2+Dr2%x?#!!3{bKMF2OcMPSn4y;;b9J_{Lv$RTjMEJgzM zs{nelbC9s`8U(QGg?GSn9z2=*;UN##p$wf2&E+|yLmorSw_K>o{01~%W%xlX>=hIC z+gR8eChYZGSYZHGa10A8;9ixpfYoxn|AoWC{}QWC{{y>)a~9O&DgWXzqD#d!at!Gya)t-5K+l zYZC5=PZHWJ8^kxx;WO7#nLXl@ggfGsggfGsggfGsgfq*&BQ(?>fy7n<%nJPxNcw4( zrSY44>tt}6RN*_E+sG4Vh=ID(dCjcE-G04HonCuEAoAGsu!~2H9t^UTA}C0E2AbCsQz! zgN7t}hlYKB1d=eo8D#lFzca{w17qL}vJ`D+ke!CRjx)$oS?3J0{ZN22$g*e{Wciuv z;v3O4(sJjEo!ibPEBVZ|Ik&ytK|{&Yn+8kg;lUR2nd{;!QN&yMWi!ZZnc`=zi#A2#Y@OGS%qx0V zAA~#z#rD`fC&pQx&S2VIMAKzvmKQ&zf+u$?Yn;_hGsaoQIO8m{z&OjWB6Eg&{FI9K z0u!0v8E09uGtLrcI^!$}XPhPBjI$)1ah3#(vy=-SN+CTqAB6PXDHYXnN(I-T_$d{9 z=c8IqsbDK`7zxBPcS=Q-ImVL$nuo{YyN(d_VH>0&=)hA67Po}#$oES&4lxv_@+qk+$6zzu#5N%lnvMFX>bF6CE1{t0f^ zi%?7fin$xsd`>8E`)wTYG}E_8?G`;b25Psg8G-&w)6L0jH`@ z^=Cmhfw+MI3)RW(HzMF}5O=|4)+6~Ta(jFXMogSX-sjmM%h^)t2st0&?$@SZ(P$AJ)do^j<|kViFD#lW>rjL`I)_zXmnM-zMQZ zp3)U8a~cxI4{Kvacj`R}2Z>2INKC?=dQU>{R17AjNjOMM!a-sZ4ib}SR#i@0`u2yl zz5Tl+OCeX%Bl|8%-`_=NwGI-$tHau=cj~YP|e#N)+WjHsrU50%hOAk#X;hK z$zg4*QSVU%B;L8h+L*;b;wwQoNX&;bXVm3HazpizE(%DHBdx%8B8Ox+I)YmxMFw=D}cLxAzKU<}|N_$s7zO;b1Tc2ZKpC7))Zv z(@V5b*TLX2fx(=eaTv_oN}0f5wxTBtu9L%QtBV*{e?9?VrI+Rl5qkqN=;PfQxJfX1 zgM1{K$Z;@|daD}=3B4h5M%&(iFJs`EE@~Rf#KbNnOW2Rd@^!0q$_;<0mV<5_wbJw$WQ% zaHWJ6?|~F6!Hdh`01n~U#r5c7kn7^7*f0DIHeGB%h520!H7K)(s^}L(-o3hkleUZUrnl*0`XFf2y~7s2T4jtJGW9^lQ!hAitcMqITagh*cuIHY( zK#7oec$1e;c>(_wZ+CQwox+-9zG0PqvCN!<5_F(gFYVb1yw%}?E(8>Hp|*q3 z3IXBzqv8X8+U%ef00fAi2#s6W(EXsBH)O@(<&X2|jnhl?PCYJ^Hm z!NtxTzKoyzDw$g3F^!%WDPp2Dbtzs_PJpm=VFe66gJe7nB2!g{_f7ngx|06#jF%Xy z{E~fZruJhnTD+H}YgdJZ`xN?Ub0SnzIWSXIqWW{yX!Ag%ug4Q=SmvRG!YjPOE4|2X zs%ttFC1-G4O=L3TCX*~hIgn{ySW3E|8c>5d9e94pK7|b1vv9A%JqkU<6%O_Gt?^5A zz<`>m*>N=tF6tSKc1E4mpFuIjAwCzQ(@)JNs@6|H?&3VYGytnB_U#$;w zt;fD^wq82H)~9sqA!5?Za1XS9-P66-FVYr14ukl&^AvMjHZ zz0+MQW+PgHy`&Xm(M&r~5+Pijnq_!kM=nHnS^{lt?s0Gr&14xSZSGr{-S&VIAp$tn)D%NOvGbU2ntz*mjc^quUmhZ^e zY(8VHP*lW5xt~Zui>Dh4)sxABkZ_L{6mA8ERaCK=Mm(x*Mqwe8UzV0m8hNU<9IqRt zreqVC0QI)~5H+?G4=_XB;982}a^l;FK7o~{b*9j!q2Q4YWCNR9e6|fop5^2UfK89E zZ~N7nMKpyCFW~B-NA(359^Clb$wZdXKk)WxNfx$Xc=l{bk^xl=?ywbVj!ezs>q!hB zV8c;V4^9ni@P=m(@xD2sko=q3;vG?VxXjZ*F5=LtSnyzQ&-SUz$?h&gQA&IOhS=OK zfzBQt-hxGX*S@CX(A;#~t;#cUCG8lN%_E2F$vQ$LEX*w{BlV;mB_a)!WF>lZhpcP6 zV=AP$oQ;VKA07$Za6%gLWoQrE1MW{ zyX-ZiDf`H%$P}g^HA{E*6+trd8c!)mW7fX>){T#I92mtl7VIwM7~;eNne`B5PL_ux^fXvDIP?!sXcuEisn6`^T zac>i-B!8-u>TbBHlCe{z%=RxgRm$yD!PmEToS7ANvBd4L_q$tVP9UrD1+qF{AZxTh z*7g+0IxUd(!n>G2HfVutbW&v2k@)Osl1XMp$1EnzT%mSyEcFNmZb(DhU3<^Qp!OWX z9mY6q2erTsYGH4zEXpkixQUp?_CA_90kASrnhUZrk;%zKnc)#uIGLUHwoq=vx!iI= z%b$bUe5nE0=ZfW|1`u2?u$4PXO_i0J>e!v9#@-uh^ZSpPRo9pJ)aS&fAzyqN^Tnr0 zi%)Y;@oCZG)7n#f+O+tzcR&>S=dTqVx}CD%=LrxRI?#!m;iMI}os=jiN;|bWSjkCQ z$w}w07w>*`$RE;@9z$AchcvU}kP7f1Ps;O0Pvb}|-o4NNirfJ9%OAkX`~j@e1Bg`t zcqn#5s?h^j+j9Wx^Z?eI`w)i1qRYOZMc+f$6c>Q_IzjB%VkiB3TmEhC_>v)giQflO zIg#sSxyT>%qTF1!)4w#)1$mf6{8rfGaOX6Iamg*&lTE)WnI%eQtQ7;mjr!f8B z(qvg)Ef|Cvv}e1ClYGOOmITorban(dmd&_N##Ezy4NA|)VuMfxO|dlUOr7SIdeaey_tHQ~|V_l#|>RJce8T=m9WV%K|ISh4MJq(gbb49=(Lt(`gt-oq^FTx2AM%-0F!nA z_47OjFx~sW;4K#l0d$|eKTZ|p#-~`1Pl+8LtqO`gKwBe%n|ft>e0nnD>n`0W(7Y{ZTVTT_EPxxyf) z#m3l@uyWaPHID*fMKSV}Q^{B5u~*C5c<_g(!i^8P zmbxBL(awIEttPeb%k-!vUu$m+46U)ny)9-yXwOak{#JN8VltzxJVvN#Pk`D_)@~!Z z*wHQ=bfgus=v@g}zGOwVB}p^2ahpwPX^V2w){Al|*BPrAa)Rg7LTs28ydG*H5d)EB z!^wso9M|646)BKmH%=<$GL2bIFmk}oMX>Yp;+`O8l)w=ugQ725l%U0+0Tt(OzG!cdX8 z;|i1C9X%V2;+fs;eO+-9vU95Ep-LlLvEE1AUVv>2vRwB7Xw`i!3pKfAp*DY6sLNj# z>h-eF&~sU6)XPFs&t;)mFAFWEiLzi&DbFUpgDM(}qE1OZwdeCO-%8h?%bwYyky~l7 zip0%%SZ8D%H9}}sOuOX7ZvcaG5P5K1ZcUb5>>@ja9yZS2{Nh_{1jCrRxIV@nii}a* z3fJ3PMe=2|mz$q?^oU7hOh~On7UxVMCA|p-?ISzvIWafF{EaBqkSblXJ6X!@{CGe1 zQeic^A*;W>J62nLuCbev*|qj=Ave1Z^;V~+U7k$uAbxtr15cUzpGc(+?9-6SZVr-R zGB;Qwd4rvtGlj^Zk@_L|<>yb2U32n0)W~!E4!fI`=V7i8Gxc(d@9_60>N!03FWLX` zLELrwS}C)+m9ip#rR}mjV{WxxDQkMJl(l-L#HKNTJ+pA=Szx!1#RQGx zpR@7qFkFpBc;c&CuNy&R+UKu`J#N5O9pP*ZZFb$tQx)jO@1UQg1kvhc6=&Gs8SdD@ zxQ_Flb*3UeL_OwX>`f?At;$&6ZE`Kqb+RvIJU|2 z{`%*hZI=(bdd?n;R0$#hq97e9 z55MSOSb&5lAt5Te*Hk^Nud0LXh+)-p(NtG`6p@`X*!p|%lQ@z;t|30kzZWb$KpN5z z@;vsaOd3KW0rP?I!-WJYs?p8$!g^_9gj7+r&gq3hA%z(#wEHaH6u`1$`)YT{c3GQYE7{(LXYo776HkGe1ERrCEVzFX;~;{OnyW+_lAV zoB7Ctlx}5YCyy8Qh!OV6ES8ch(SDYnYyTmxdGz_$CD_qe7y3z0MV|XfOf8Cl0Ae`6 zD{_OsGCqn4^r+PIh_SPUHKWay!f!Cxv<%ES%e8|(|K<;?9XGgk(08BfG8P0ctVMVI z$rM|q4wA;#A`BnIkg!x_*NnIVJv9(FMaLbkM==HJDJ(F(qLBVg>^bQH-oZlqnl|`XK9$wEe>^D z0IEd>#-%Hf7IHncdD*l8bAl_a$bSNh8yThRtu^(U9&kD0eTFwYTY|p*^+mZ=Rd|_C zxfPlVs#(|bQ@kT(@^Oypah92#i2S3yaCbJ67wHVfWTuu&G_@RIm0^DA49oQ*3(7+Z z6PC(xo(&~)_QgncCjaN=#TS#9_U0KWZwo%Si!-*|tJ_s9q+XXD2!-oq|FGUjpqM zg}!3hCmXLt^T^bh@1CiteNnW!2|Y2yn>os|-DBKevw_G5{$8h6B<87Quaxpj&IP!QSmjlQd6jdRPHc{V~;jWjbl%U>W}J13f}AcJ{N8mZq>G>2k0 zVz2X^4^8smLD6Jw<9BRU1%e_~3l8D@5%|e1&QQ%chKooV0p(EUPc!0ga;pV-5EB#M zDujSzl9S7vOl~w}obEQK%+4)yJ9Ila20d2G`|7qlR+)NtmjPhi!Bg{QdKily}BAnzyzmq^d1DY5{!oK{=eOR6aS-EgR@`Ye95xML2nu+cH8?iCm`VaexU2DsHV zp`G?7r57>|Ce}(m5m9svZn0{^dLW{=O%GJC1CA{bpoG$VEU-k%4liTXCWdlRa#Ju^ znz%48@*VSm0WWE8J`Tok5qUS}5$7fg8~#q*tT)^waH!95lWgSknOOjG%PD(7 z-s8q-a4sJbsVXEuAh5LDKzABbvgQukDdC`C5FTma;73tZ3!WA{YF(+iW?_p=cL;`? zb>YSrB*uru@VB~9`hvuM658%U=?fB*B(%eY(ibGANa#QpN?(weDxrg2D1D!gu@&;f zB^GQ!^+R1U`hvuPVG%+{xKR3n#B?cglnbRVNE{-eyX#P%H%k%d+g`!Nb|4?8#9pz8 ztdbwpHx_0155n9a4fFYA?D^K{fO`Ur6bvCav_=hWn6T+}IMe758_p1cJI0WqO&bEZ zjd3LIC)~8mp-CzSpDZ1(S3V}wWH1Ge2B36DdkvfMl$d7Y)1FvD8wUTGf&?hs9nUu zOATotx>3GLZ~e5lSdCg_HK!(rUaoSt17k%p&k`A}nVa#x}Z zFP=(~ZW5j~BKxf2AI693ggOkZVJ?|aJ$|vM`cOm1l?e_F7ol&cIsTl}q#rh@n2}ad z@rpa2eF6~8nnBruyc=!$tS-wv!$`@7s$pD%t%pw`)wnIB@I=y>*Mdq=_NH2?>o;v{ z%}bZhu?*07?zx**E8@bZWbbSfb@!Cu*A%c_ z!KRpinG)kF7cEwO{Td4aH9!G0Kpd@{Uu%Xc%m8=DEwUVG64-hr;^m*=23V9Z@me&1 zIZ6vatq4bju!nxKoBAC7T0I+Mfq(q(L3JwJuM<6QHWX>8v!f`>Fr*K?*WjoLrNIm4 zbJX>3t(6Wcee~VmDCH7SChTB69xeoLf!`Qb=+YE)xgt5$f)y%Jr2sM`O~emunn+ko zK5Z_>A-$`cH;EjTYe|b~u>UDO{pxZ-zD5eThCn@|>w0T1C zA?8f0s7*l8rp(DjRW3o02M$UMFDHzY&WF+#Pb(A|SeW?Rb zrn&(?iM{#L+vDHOh@c{fwFL=(jZaD7+C&(pe`yAkws950+#%&(@j1Ol)#=E3(Y*dY zks|*F#EJf(K9^H-7fh+tW%1d`@Yj?s7ykutR$DhsFqah%Yn}`t^-(B8mXm5>^I*$t zv-~i{$8@z0K*<1zQAuRl6f8y7*zAL4d?>;kB~(_Y)g9WhRUHmQd?l=0A`zkpVGOAL zQkgD?O#+Lkp^@GtAU!l$qoaI!Agqx-JHF^ODb__QC8dj0^Fn3~MT@yVw$Bs$>Ul?K+aX0^~DCD(YBHC=&x%( zTU-Xo;+Nzc+xAK&lh4-N!Y65<=EYCp#-wAXes&?Mm zgD)XTK&cM3E>SliNW2h}>;K=}w+6>`Txa&3xttjSAOwOS2);m&f+&h49)w_uRw$VS zL5QS45+WfA5-D8{<^ha2n1N;nd}tX{ba`#ct2nYY4@Xgnc{qtml_)N+qOuj0S8^p4 z$#x|!JMku)l%r%HwHsGdUT-Qtvd((H?{xQ_9$@&A;i{dgnd#H#^y$;5PoM64Z=b%# zqIp}x$6d}gP-_#@H##^3m`{5*UAG=2=s|5I{6#*V>}&y@^k_Inmg;^BZH#)RrD;RB zT{u^rEqZO49V2GG3rhkQ>VBCxXFgP^YM5652bx5;CWZ0)0fx`~@#~IaBPZ{0@+y{d zWoQSiS<}Xvfp37*Gy5%!OlIvu$f#wr_1EDzGS4iH6|nrP;H9S)`=mJ*{Q*3LFxB@o z`3M6|3zbMGh=!8Foy;q77pMd_psqfxO-h7!{*(CSTyMIO9$_T}6B#5=Kj$^wh=xjM zgk3D&ce8EDov6iIa+mzxNgmPX(99YU#o5wgA#k+9zTuNdaeQ2#NHatsbjT4r6E=C` zmh?T7R;kXoC_cHRL*uVrBJme&wn@njUA|rJlIsWJdLbF>lNACQbcd9rQlU=MM_ufr z^|t@k5@K(1{F@#Y%edXzNfmEjW@TDvwHbZ-P!W6DL);jD*y)wtH`gi-L$C|Zp5I=5DMOXxzW3n-YENqmHbxC?vP zVme7KplHSV;y9!h0|3N}9jQm=(LStW1>!{>d>o%%g3`=U1~QvOjko24kJtvwvWG9!tp*Qg%8qJk#qYsCJxC!m*kVSsGaCQ0Fk;4sf zdat4B6;6s~d8Lf?0Lo#cJZm&^4=WuK>7RAm;1M9^k zw?wpvgVXC2ZYN<&?5!!d(Qx~OTrGvSpX9zJw6r85FPD=UiK*z1pr-0G$ve;^Vl&i0 z^eLheYO{pL3IK(kQmo(sE`7h^Y^B*O73_mB0cq}vi}fJ7#xXBllGVo4$! zF9WD{UM!hbnhK?)Of*swt^Fq2s2v|u(U)P$)z(5%$C(0Z0%!iVU;^R78spNj3*Dc# z7kLHj`bEBL1vUL7&r|t=H}%f7{9?_+WY#w9G)0@CQ7a#{>HRo3kpOA#KjmX!-dELo zb7b(FrV*o?R(+m&tB(}zlvpt@ha zMPQ80m^+`i(!)T>`hH$Go#-uwa*x7LL;Yw4U%~MqG$HRA z`2!;wdEBHX_~r~$H+GAfkT-iY;M5R`Odj0I$_bk*a=zIDJRiA5p7Iio!0;pwZd#*W z<$6qO=Sj^PXHkLqkMW5r@1oZf5g1vDp*+OR$G0J`3tvXqti%6MbIZt;$YpOn-4@^u z;LAuKzQqW1!=#H`YJ|hblDqzXBdnvjzI|5!Z9!aFQ;T3M=pEE-Z_MFYzyV#o_l!o5au>}!d5=+ ztp6%twC%tP{$=k< z$Uo-D&mF|XjWoB6vTan_e0}3ZE9%QI7w!{2EqwZqT#3Bk|NAAs5c|dWW$)SOW1(Q* z8T#{~ztG|>;M0Y&e8&tot5Pp$+t8KBfy>?zh|KO9YLqgh;l5JLE20m=+%|dy@JMsl zA?kv)U-t6o?~(5eeS7#l%H0J#X}L@DUL-^Qrxx<(W=X4m*G9?X3*fUM@2^Jg;GX7FQ&y_`;N3xY}11Cd3B+DH*PX=o0QR! z)PLwY^|Q%-s?$%zY9r%pDRg%)Jq` zH(Q@|`HFpg?8y$MVAG;E<<0Y~))RjA27T6WX zc0VpK`QT9V>L2>W_|S_@kNr~OmzRFNL3;%~4u7TbNW;4$?}&5IOuswypN9T&=&y$U zvlv~y{@~6)K9qSG^&DvK5+8axbfJ+ao7Fq-&M!wB_#>3#E%z~LAII<^n)+q$iO>y5 zU(&8f%Uj5;@E=+i=yB^j;5KAPab*0th`B%q(jOS8yn|)O>mU-mqhw)M|CBEc1n=&= zspW%%(H^f#mxZXn7IN7dFEW9U#}s-V1(oofkHQ z4evIzys|irH2go@hjLnz$8UaL5`G?d`x3l*_%8x)-w{_2|1IF{YuxJLe*nCFV_7{s-*0Z;3|0@{54?Q~ zSKs7ZE}t&<<%}o zg>+Pg=q_EHo6KhnI#iL?B^W_n#R8cqVTGJjGM^9GmQ|{l&LFp3N#}}^9ZV++>3pW7 zPCPPv@ByMyun^EdWhoV$OI3<9lb}Zx>gf1^{l`F(oelEE)R_RRRZtq-#ZtKfD-Ftc zSv!EKLNXsr&Sh1QpUjqXPlI1JpPVWynBOE&x_&8he0(o?qM&A4%H%Ui5nxi+8q7?V z@X|#i11L+GWEz!JpbJ!)oh_CF{ujzBTb#p-5`$E+cqRuWWoL@eY<>>459Ow)t>cG} z4x_TlOmHrpyufPDm2zlVkUf{op9#vExRfc+Z;t zD(UKx@d#~-W=JiaOHD)a;v{4#7PMib?d5>4E@h_%=W>uH+*z-l;)T%WiojTNytS@U|(iRXEW)bA9X!E3RmXj?R3)jIBD3xIk?#B_^Gnl zp=L5Ox_^z8iLyD$*qj--HRvQ;U>mf)a^*C|nb)aiu+;P`jk1XLjUL_iU@)$Z4<8-Z zLsF}0QuDizf#>1a1Cm1>EHbodXfz2wR<%});ndj*-+GE(J}*|A-#M7n#ypunqenNa zP8}cHzfT1P>4kF`ZEQ)pTr?gA)ru998$H9=F;c@kF={daIu_$3omR(3M)!&v67QkM zqaBy!3bc79$S0*^CTW@0UPNs6EyWRw5Yx~DEVO#`CT5)lS~O$N(V})P#?rF|JxK)^ zlVqJ04@qM$h>+sh2Gof$I#3SMeFuVlqkE4ZheeiU`oe(Bz%S7=1aQybq4g}10tX+V zjavnC!V>L}Tof$A7U}QAQL$2j{12tblNLGWra5t`%5<)bNq~f@d@?siM4 zWKb3%m6is{QYm?X8ZC*0nA)9u$PB9#FH%cao69%V22Qa+XJk=u9)BlG({L?;A!-S= zlFkH})e2{;eG~Sf>0r#_gH&u0W?#2=?SwK{m@Bgvz-qo(`gL9@^mPm$*w#-KPOoUFag1v%BoCj z@>Umy&Pubo;7s++BvaG5LdGmQwd4C~EIW0b(3v{}05q#34&o5%SGo@sJiFLCoyx45 z4Jt)({z^s*)-txQskka+W@KXrsp+}G8E}FF)e{a^t;_=}m?cM=p$xr~fu$Bb(O}F} zKqnb765k6>GOFL?va)Kn}>2K_|;Frd-;W zsS?w4mU%3p;Up?EvvkRYqRL8^!m>JR z>g!fHJHyvr!RaxpKIDa>!_f5ynCifP@h>~g_}A=vrGC z$;oumxoS@J!P4_{xOTb`uj^cWFVsPw5izyMZ0W;$Q@G5;5;ncK3g|0eC~H@D6MS!8 z8Mz{^Z?W^mfIgp^s6*!&FWEZ)%KCCm+*;yzF8p;(v1a}#Sy!BG%ZI!;M)WZ89 z`fkNf!E|!PKDl6p_={(cV5)VoXiPtxgR73lngJ-x`eZsOEnd4dSNUCRrh1*d*j#01 z`Y9+NnO=0JGXE_iSGgm#NcK)%7?|QF7n3C~Uly;+MM`mli#8@}7USkF#D`dnUt^H! zxwp@*xff3pA!E6p8BUvpB<{TG)$$@5nyHM7b8^-EF-7nq9n0(wFRln%uh6WC;i5zhTn|-R>QVe23}EDWn)c9ACIdTcO)S~7Szkuc@xUVMurgY z`-ud$)yB9B$5(OC#9Jeu%loZuky74o+l(|$KyO&FVkJK9?bt7htv%Qr4Z@X!-h@B+ zGf4f+Zl`{K_a5Z$8FsR8XmsMxp$8vSF>VYpqP*yNlm3g|%br8%zwCV#*{Wsb9S0vA z9X%ZTC!ucu!!18l_I#$NpL9R(OGrmo^0c|5YFh z)Jc_ip6!a9$2(NkAATgJq?OH)!K?nisLy)%SM5$d1Y$M>Sj*fdp^l)w57Z}6EuMLI z^!E1Svtx&fasQUD2GRUMBK=QzpZ5HxU%7PE|Fn0drcqbC=Sc9J_q>}8kycqQ{piGg zjcqi&sHkjRN3VCv@735Qi;c&ZExYYD731zM1T8^|)-G3(U7L`#soTk7H)12BDX|JQ zu96a_LcgoqJE@k$;|;M1;n@TRO|32izoEe*m!tS{L5A{LiMXfi)+Ev;t|!sO>q(@M z3ngl7N_-LJaF*vYn>>t*+gcJ|0^AUb{ttn<{h|Luez~zGkPF_IK7= z_GvFoTW)W6Nl*G~c6k|pmylX*?mq2hupg&omEqWlKHR+9JEa=eukVaC$o{ZobY>hLpt!EP=A0uJYfsy7q~AB z!OFldiMc(ed~6ohNFSB@g0ww{eeKsqqO~fq7Q5}XmKICU0M-p#A>r0u zQdw2>-pirm@;T)%6F#9eyU524a+xvp$jw)hP>JtB)a~A52#{U2diC11D#opMzPb}C zx$_WId+0DyhmX{>g6_={ZbBP2?M54R3ysy0YHC`ws>*INdvgTtV&pJVnqAnK#>V#c zDrvX(xZgeOrTpQ;NNLirX*W}IG^%2HKVbx-NBkPmsW@&(G`-VbgN((NEo(+}l_rqh zf&cf{)eif9+dGyIdPn$#4RR|%?+7w%!p&EL-Z=$P;h5C8JM`l5)>akcmPKDRpotAz z&`(>o*EFTE(Ne5H2dxmK?VCoG=tkiV@cng{Z)4-JW8?Td{P2krD#q=NzUl`5?$_vz zU-Q1=0r-mdrt6gbH#q@K_+Rzjt;v4Z`#PxAmTid_z$Xq*dE2VZTeohHO$*y*2(`5r zKfOD>l-k(ceMjtyAYy0=Hbb6NU7HikX~4jK$rUmdqwR6Oq-p$il-OR|kMVdDf`2qk z6Dnz11;JMdjnx5$SCyt2HrXuhw6-6s6sus0nt|=dCY9)f5L99v`M5XpM)GNz>&vHU zt|y;f@G(}zcK5pbIIQ^Sg*4)~rVqY}!J?gh_qH*tr z87ysRpz~bO*51B)^}2N%HdwLzLF)vF$i<)lrviWQ-8`O6y9C4VMCR6Jq&mKIQ-za(Avp?v?s z{Pia={hkn7Fs$Nlvan13gP*4VSqX4K~G+k1NU#WrCJs*!d@^!ydi zZ#xD%U)Ivn-oAd*!PxuK7_Rdo9kJ+_Z^vT6@7MzH-rs;PP=Dttps8uyy3S4&ff_(^zhMG1CK3H z8?h!HcmO|`{sQ&UeftqCB8W|1&fl`f%c*aZImh~IPW3y6gJ9NA5Q`BuwU*CA_wb98gxYrBeS7xq-~Ye^M~)mbxXr+A-X8h5@AnQOIk=0-T_Z@2j3SA-A#n;!+Tds# zTM|zq33FE~+~rYQo1VbAo!3`e(W0%p-9Fp>F=T!0g$ONoJ}sQP(ApM(_9SUp-sGwE z-CKu;$Ft?~*|X=)UAS=Z;-|gXb5hq*h}k}dCXaofkbK@l=LY^4yjM8UyyCq|=vDqr z;O{j;uW`1SP@P>}Teoi8*3&b%XLy(oQz{iQfBNZ*7cX7n1?6}$tHAM!?NaftYeRfOij@X{#Cz;bNRrP2&{Qz zB6}|OzTi4B{p>#BA?&!RNncfRL$n0pLiQU!a8oHU|qqzlxg_m6&9cvKF%T3)l5CYY##`@kLI_A{nAA6G{egQ28 z(-3-3(^~T*Ev#eXMiu*-@Qi_H?0X7YilZ`Abyl*MB75lot3u~Ks{R(Uf}JJs3aMCZ z=~6DMxPRN+OXzSV>eztd8+Zf2-@HW{5{q$_!KQF;xbc2#+%jvrP^L@P*{7X+1cXS@ zYC$Ywq@ZmQ3ZC@4culiLCEft{b_m?asy-uC$*O3mhGl1Gp-?R1yk*h)2r3?V4R+?g z7I|F;rnw!0lW*Rl`Kiv%nHiVh`Tv z#_$M#M@DficXFy&j%^owC#-hY{pbOdQn6vlW4Cl|f$_yVhlY(Q_zj3F3~OTw;N zW48>OTwaSsQ**nkp#gO@qutHzZe58++?rStJ&o)5o05(35!Upn4ynt0iw4FoJ;c1}wT*HEV75d3Q<0CGyXU zOHf~2Liyqnq!;InknXqy-o+)vE-ry}@$Vx4t6p3p<>C?#7uS(*H3I7Zw>uqy;}WYD zm#fFP#Gu6`x(xSt7=KbzT8E4=ki#l!$tk&nS?BK@QcF%ty1^f~U&SR-%&RRP!wR>* zHj7L7d0AXN&&&EHWSyujsH3d*JEFuTfGRFwQ*jBFic5%8Tmqxw5)KuY1#DbGpW+hm z6xU%+Zs*4(vI)VY4)Y~nl%-U}zkkF(@+$gAB9?RzXH^$^jp8@7sklTP>7bVo|2Hz{ zZ1VRU@yCw&;~4W2V-)9d;{}{$;?x(HXrQ=`0cv*<687W8Ighl+A;cm3w0MCxJpaFY z|Ac^8J@T9V`$tur{_m|woG$rv{G0gQQmaiHbAyT&d}!nRAjVbx^9+6!7)vL763Z=& zd&c-QZL~0^M0{F8c!|JmA&kHv;yFO^i7Eur;Ilo15g3C{I)o91>wKaL2LL#qs6xPz z^NC8NRW&235SQ$HqN>?}SU+vO`iV-!lnXDf0!T$w>pU1QxO6^IMC1OxR*~fT>VN&1 zEw%c@VnWVwvqdbPFErF2Pn9eZ|HS_+{;j@o%7IXJcvbr6fwwSD&QLD^?lpMAzXf>I zf&UON^-B((TB`m8|F*wiLh1v+7ajV40Xz-*4nq&06ZSW~m+2~CwY=nu^}oQZVOt%2 z(5>nZ4j8vdWLSOB6I%TJNQ!4f2HQi7ymn3qJoS$-K^q5c@pPX0f7822W0O*ZQO7r{i{EdT_2jOApT*er$c5LM;AEHi-<2=X_%Ee`u2qo|B8kf6XQxyqxITo^oPhL4_m`Y{?%+8oxp+D0+`-Ek=MKy%%cYlN%pE+ZF&8gKmmBzD_O#^(>)_>(U?ITy1a(I+lA%_07I(RwT!{FbjgJ;b za15}1E~M*Q4%n`@TEKs!122!nRS#eri@XW-?E-AqhOB=NV7+A5{0@*F?RnF*=NMqU zywvzd0q=o4RzGI}>&3jrUjb}mtI7YffZIa(S0MZrV7byT^?w8K zuv6dn0Y3wH7X(<2_08YF9)`PZ|1DKN0N$Q+Kz^-QqS|v22=4-H&oLqVAYfV9oBECe zwr3X*p9ai(!_P^7ELHynOIohy4jB3Z@b(-A(tn09?7zw2KL@zOY5%VRw&yI6{`Ubt z1A3k>u^b-nEx`61590qAuw3*Qe*X=yTo@Yo`+&O~{!K7MS05dK$3uKVZ3HaWho<~p zfbBU2tnVJc^lzsPelK8q?ga5Ez;->~0{bii=KS+1bOG^a0dsx$wkiK_0NZmfh<_2V zz7Ey&zezm&D=*iGe-*Gjdx7xlfbBUNgx3JJXYmkz53s(z)aAboxI1ibTzwC)J^z68 z{}Zr16Nd0V1J+m7x_k`%YyA%%ajTUEW`E*Fq*@Qyo(;hA-GHn5h^xPzXOG)}KLB~` zcsT&ro(seBuK?Ef9CZB;0q)x9sUMj7o&apm*&+Q?fbH1^gwFxC=Y$acdBFDE55m6# z*q&8D`1b(sa^(3Vz`GszyMQM`{Uy{t06yiw{|cD?2Ez>ch^t1ps4=JfAH#pyvm02S z>OL<)`vbE(f|-HY{vgRzc3^fONb@JfJc;Gk2_4QaX-4$#AeKS>I>ESpNu`qdFRlNw z_|tJOMgEm5bJ;BRPzAyM1Hs6#y@&S)L;D{%cq9lEf|70cK0E;A`UHySlsm7%*+K}d_Rp@ut0?PgEA`_XJzG@|ea=2Sg!qdA?LRUM^Fd!iEhaYhn!&Qv zTn)_)qHb*vZ!MY072z2QY%O%Qh;7Z8Qa5tgazwalP1T9I4Fi)Y5$H{*q6vtsmcLO{ zu9ywt2eU=Qa~G!Ol2aLmIu_E&QrhlV279qG9g}Jgs?c$XK!u^v!SUg}<9ova83f~p z_XSqFR`J-q%`Qf(*=PI@KU^>7zc!@#TG7i351WwqQyN05_LvZB0CY9i^v$5Zemky`UWuzCik!xRf;$3TXT9}l})8!ec;bK%eHMweuX@qlsL2qU>P?Z*N^IafWaj|{^O{f% zMXzmISV|v5VGA3DMZazRBx#$P43O$WDriXs<-N9Rd3ZTt6oi4Hh(Y<)hj=cWQNCP^h%^-Z?b~e z#Yvn(0DL+#IX4BD4d+$`DSn8WoJ0_@g%CB3`gI{Aj0PaG%_j{!Vihi?7&{(TRw_(s z7%Qop`>X{S*O6GV%9`Xz_VV`ajo43x*s8JKepb7kYVY# z=EMUy+2%f<4*N`br7Zlo7T*rKU6u&{mfsT&9q*Bo?tNBZK9(*8nA!a%pLBgD%|GJ! z&EtzU%;HZzCqZ|~0{FMAKklT7ejjvi+sXh_c7A>iUt5OoudPz*-~A3#`eSjw0??+3 z+4dimD)(v{{#qQ1+BEZD{zqKP@?cE!vAF*L*rti%`hUy{1=x!EHqxZCdU<85r~b@& z1VbFZ-6W)cJ_8-u=&Bx;S?_{ej zk9+DF)XS%BpTn2!z)-+l18pn#lg}$>@c7JWujL1`6q_<+>RV+`{T~b9-_rd*q{5CL literal 0 HcmV?d00001 diff --git a/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdCXX/CMakeCXXCompilerId.cpp b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..da6c824 --- /dev/null +++ b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,919 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) && defined(__ti__) +# define COMPILER_ID "TIClang" + # define COMPILER_VERSION_MAJOR DEC(__ti_major__) + # define COMPILER_VERSION_MINOR DEC(__ti_minor__) + # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) +# define COMPILER_VERSION_INTERNAL DEC(__ti_version__) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__clang__) && defined(__ti__) +# if defined(__ARM_ARCH) +# define ARCHITECTURE_ID "Arm" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#define CXX_STD_98 199711L +#define CXX_STD_11 201103L +#define CXX_STD_14 201402L +#define CXX_STD_17 201703L +#define CXX_STD_20 202002L +#define CXX_STD_23 202302L + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) +# if _MSVC_LANG > CXX_STD_17 +# define CXX_STD _MSVC_LANG +# elif _MSVC_LANG == CXX_STD_17 && defined(__cpp_aggregate_paren_init) +# define CXX_STD CXX_STD_20 +# elif _MSVC_LANG > CXX_STD_14 && __cplusplus > CXX_STD_17 +# define CXX_STD CXX_STD_20 +# elif _MSVC_LANG > CXX_STD_14 +# define CXX_STD CXX_STD_17 +# elif defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# elif defined(__INTEL_CXX11_MODE__) +# define CXX_STD CXX_STD_11 +# else +# define CXX_STD CXX_STD_98 +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# if _MSVC_LANG > __cplusplus +# define CXX_STD _MSVC_LANG +# else +# define CXX_STD __cplusplus +# endif +#elif defined(__NVCOMPILER) +# if __cplusplus == CXX_STD_17 && defined(__cpp_aggregate_paren_init) +# define CXX_STD CXX_STD_20 +# else +# define CXX_STD __cplusplus +# endif +#elif defined(__INTEL_COMPILER) || defined(__PGI) +# if __cplusplus == CXX_STD_11 && defined(__cpp_namespace_attributes) +# define CXX_STD CXX_STD_17 +# elif __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# else +# define CXX_STD __cplusplus +# endif +#elif (defined(__IBMCPP__) || defined(__ibmxl__)) && defined(__linux__) +# if __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# else +# define CXX_STD __cplusplus +# endif +#elif __cplusplus == 1 && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define CXX_STD CXX_STD_11 +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > CXX_STD_23 + "26" +#elif CXX_STD > CXX_STD_20 + "23" +#elif CXX_STD > CXX_STD_17 + "20" +#elif CXX_STD > CXX_STD_14 + "17" +#elif CXX_STD > CXX_STD_11 + "14" +#elif CXX_STD >= CXX_STD_11 + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdCXX/a.out b/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdCXX/a.out new file mode 100755 index 0000000000000000000000000000000000000000..9ec54e0eb34efe950a232d8ec039f1859bd9de26 GIT binary patch literal 96460 zcmeEv2b@*K+5XHu<=(sX?%wUau@n)h0*bOAJ!;UPqN0ckSYkm$qedcaQS1tekkt^d zVGNd(^Hvwz970@VygshXn<-6G zlZu3(3z#mY<5gIr6qDc@kZc4B4Nd%EI~UBRx9cC{kzI@_T0FjKYq-7NvRB1xHA`<> ze9bivEm_^v@v6A`{MCbmSh-kUl162fTh30MBg=aUkq+iml(*s<&K;S&a`E_AMZ*i<^C#oyj44{#G3Gj^3%A>pcejm^lQ*A#R``pipNop-0XM(h-2dLUn_K;V zc(-l2YH9DS?|g6d(ud>Xz>DGk$M;q@x4wZGd38@QV|s|$c2fG{c%r9Vi+jk0HuMm~ z)*RSz_td6o<7X{dbVtYH337rQf2LS;4!OfIYc9J_G?#A^%?*KQZh~u3*RZ({uKnQp z2cmJp;_>NVTX4!=TTWVe@k`TYJjrYC=`}y+HGbR-b-nF`nrByDJm$vq#aphwC;mp; zkob#jD>s#k^zd>B@N-wKcnKr8p}pb_jPtUfX&iYPe9dxy^4x86CeKNSVd=__Iln+{ zr9WPO@EF}n>X{jd!=n@f>wIe#xTl)6B_Av*jen#l^SnBPU!l9&&em zxV`!7uU~!o0l|c?f*y0@_yg{4OHO!{aT~_SL+-=-}#(b+4P`K61-J>T|DdHYY}u|;i@|FAN6plS+wHPG+3?0}uk>wK|r^j#C1 z8+M7i)_LVy#h{nBe4!&gV=Fn>+~kMb2An^-aYA#0k8y)*g6jj<53av2IBHvir&~eC zK*x~Ahs^rm4LEh}xY%TJAnh*;f4KP?)DnmpTLuM*t?5uyEgpYP>!JtNFYDMOi~4O3 zp9n?|9$$0B;)nmz7R=gvlahmhHBYlI@4WT&us>}gR|gHhyKVB^EoKyZ4I_sK-Oi9P zMP_7&%kkm%#s-f4)AyZ!R@2X?JbCC7hyUov$HHH<{-IK>oZteK#xM0?-JEASvyJ_K3OEHG+wL3*R9xO`7EKCBb6nqpr}Db6F>i*V8xL03 z^ZWL1BYkw=rMzPn@J<+kUkqMmx*eflR0K3MwK^4~lC$UsS1gm0 z+tX`enV7AJQK7YKgdQ0^$7r{_e+Dz!|lmsMK5N? zbYaQL@)mLH>du3ftlqh433y}w1IQ{J|AlyG;vLJ||L5U?^jrIi%Ac%`;a-~VE!JKe zE`4dyiDhdSomIZy^=qzd-}P|bnim>xmty6cZx*h+wnN;r^9Zr>+CZx7{O#`!S$d>c z`IiUd?N`RcJ+Y~6E0@F)_bflMZ8h+~^(#+W^bpWQ^SW<~=Jjwl!`%vZJKP;`Ux&LB zZr!(Ih>syYhWHrbV~CF-K8E-h;(f&Xi1!iiBi={6k9Z&PKH@{fhlmdmA0j?Pe2DlE z@!`tlVPeOh=l(7K(xbPtr$d%M+?EsGeeFq$VzT+FZ;K6Aq785xuD}&;!{xZbZMY0q zxDA)$3b$beu5cSJ!4+=9#kj(4SdJ^)h7MfeHY~#xZo^Vs;WjM66>h^~T;Vn>!W9np zk|NHzek;6N#$40%qeHhJzV*ll!zb=sG5FGNU;5o)-pz8Ad?meX%pJ|^7OzSJk0c*n z+FM}dej_oXZQ;cBnQsZ^3=UX$L}o@bO}Tao=E$P<{G{*oT9(LvfjH%b-=u>@4#%AG zG}i7E?%t{9mYY#lFmdJey~Q2ZH?Nx@z1AQ#r2H*$^p(vG+fvQzj!dqY&|dzWSlT*1 zb;MQ8O*>QRi-93g@1^nS4;;9vxn-zaI7E*BA<)i|kDdBJzbhDb%p=EdKXEJ3PwP+h ziaqziJ1_gj{=vaZ(W@(d+cb@-?w*=iqsM;c?$0zGeC@%pL&neg?)M*PTe@*sBAtBW z-5h_&r7J}1svQ%PZ?|8bE84G5iiMSDRh?CWHLv$$@f~Zw@b0s1;756TMQ^WpeT)3l z&z63DoM^u!DVE-vL|^*LU01I7^ODuix9zxg^{%D2$yGZRz47)fn|b$pYV*=tC#RP7 zdhFeEu97dE+OcHyA2$!c?^Bzf`tj1+w!N!Y#`Lmn@3#L8Xl+%$?K_)r4_h^O{EC;= z-Sg(ftGG4=v!1)7ec>A-)pk#a75n;U#HxdyKj`l3OCFf3Ds>JJZ^$t`iHVVQt8|cMlV1-LNC<_{TlL z&23XUju@~bb=^PyxS5i;a@jEP`VHX|O+VtD?C`B$_3xV4{?|9e{ma_7`l9`vdsVCC z_^7N=()z7 zbr)mhd12L4pto#Ze{oye#?1#Vd;XwrY~rZwxas15G&jY?aho-2n$j_{VdQ3i%W<31 z9dhL#@8$279}uhXzB=WBjvw>hp4?V*#F`zizIN5?7f$WCY{kpGw-YU1@lv0IUw!SO zjl65Gd6jXCRY?6tIa#mKQ#$nezP_Wi9!2kbVp-5bh|KzrTd}RRqhkos*{iR8^Z5&>HkbLr)-`iI+wktXS6@5x zzs>>{3!mt>eR0d(7`0$lugyzWTeK2BG3Al;TNexVXV$C1NkkXNUDbU3PVwxR_VK?J z-xZyB;;dz+ki&5ma$S8Uz!xrTRZ(AvkAw*mt$ zSv`0{`)Ah)#rc=wK9N~wJyr63{gC9wwm)v_oNVP_@ymGRs7!qJNsj)` zpPe@~xUBLeN`;YuOIkbDcZ?Z!;nX{pbzJtxzgn5u_O2SQ<>NQYKSiHuw*8IIG-tl{ z>XUj5@9U$-@EZmPWH8G-0c`OX)vUU&phdk=o#!c~i3dX&#)lMcMD`PQ$l zIE5zhOCwz9l_A^hPcgksV<{vxp&?AoP5;pVPIrGmx<;*jV9jN{W4I7|6 z0|#5rKxEP7%sXw?g1KkTKmFL_G(Bs6`^naS_JUbw%$_xW_RQIH=FU3jv<1fw8t(GV zId8$7Gg!&lF7~sB9;fsQC|Yr;_uU6@6=Mqqj)QI?Ha0II zVs~#D`$%4F;MfAj2xJil!|@N$Mf{*i`+03?mf~`_|LcFJrKGqQZY$iAaIe74fPUu^ z@L=LW2kqC;r+xmJXP>>`%rj5h`_PFEbIzW(H-;EvJ9F^B!NUd(9yqjbgANd5z655? zKjrN9bA?<0ub&F$pF3pmDTC(?ntA%*c>`z8qHpftd4p%p=1)7rE;yzA?D^U=cg`8@ zbC4Q=r=Nb#X@lsQHS6>X-VkNy?{x zbUc(zCjR)C6nVSFPs5<={P!Y1^VmOjDkj=dg^oWJ`L9OU|KM7JYk?=lI9w0MwFTF6 z&2=rV13^EAEA?Sdn(Hrcy&v={UkWI?#P@Km!u99o3a|Rp?M|j`y?;jh2_}x0QE)Nw zn`#?>XrSx+60U6N5?l|(^+{a!!!;+=?SNPP>GHn*HqhjHDm?D#34vGMzM8$WWIji1|X`~WNyy58#%f21uOS6%k<;Q5Dn(qWUejd+G?(S%(Wk`ta*UB4mROK&DB<=+c9jG zt!D({mq(Ts9e=WmzdtF(6E-uhIzEl&>V96H(_Q>+b8Y-Fxl-H|$=?EhO!S&(U2*pwdv*}{(FdQD3ESVW?ITnOuTl5O*atn zqfp;zg<5`pgliurG=I9EZ{1+izk&FEHWF7If8SSad>z)R-RJKO>ur3$ZsS*Ou<`qL z8^7vi8$TBDWxLfs{uUcQz1#c~Zng2V5l?xtf4cpzy7;+>_iZGud&31nsvtEiT);4@ zLL3J7H8{B__Gc_~`=|&{)FTx$kcq(?_^I_KmU-fv2;K$C^5zH3nTY?K7eD@MTtYuM z<%|Ug3^p+^<^Mlqkuuz-E{TVDi3L6yFJtkYr2IgY;>VvuhPa>b7vY+eGVvqC=4?}e zoLjLV{01(50Xyzju>}8RhKt;%kTRAZj0E*lhR_qcfIsKiACWf*-SZAsiR|($JM-tB zA>@b@)6#^&eid->Wlf$uMh^7kvB?eIEjfGLKKOQo%wWiIl4~wRU9sp@`27rvLNtsl zs)ys>aMee}o8Y7I#xOecg(jzx{JuXu&*L{2LRuQka{D91&kK1w zP$7yZBCj`sgX2PbCju)DK!_Zc%Uo@6qu>f2gq*Ofci_Me|t(9)C8(v#5AlaNY!5?Xo^ zT6z*%dQjAJ$k%X7h%(NVs*s%X<7o4Mf^!j(Q-Ef83$(w6;Va8WB77g;yTyANo<>@T zZp&Ln?|vxc_B2C9?kxQ5gv(>IJTWlgtxsYN72aYNcypYE2yZzimbWpu4}M?dJcFXV zJ3M9^Dp)20aD`vQqEib!}{m~5;f^1M1$eUKtj-WU?& z6j9=hVV?1dsPLvT&jdx(c(1ds6BW@Q1~+2J6VjiWSim;?k#UFR&@a5Nv%JHTBo;N# z11F}j`9d~-4gRC(2UN)|#dR5ys4mruf`KUTa{t(EEKad+Mlt=uo5@BT7qWl8hlNb| z$0r{{Ov0;Ytuq^b3*r(Hu&~@;;)l+Z8vF+SAp!YR@FJR(@E7Ev1n)@ZJg10$;q}7O z;h(E35Wy@272J=All?WHLDk8b^TgU>l`=VVzWA~p$>hv0h)(5Ac;80p{*B3#kulHP zk0sxvh=SzI6X%Mr6zxQO%KHXWty5Vlyfy5`hT?0GxW;QFaa#@<(%@Z`4`O5OHpH}e zx0CoYfi2d`bT8x? zA&*1Mmu0FSh*9z`G`mwLYm<+oabJ;n`ypnWyck8VmuX7uB)JmA23bsjJXn4O#LY5w z9?E%Eo`&DsG!tHwa}j^LEFXsg{vf{!Vxunl6%kPIiZ+7r?0SsMj8Qydic~W__$~sm zuJTShjQ-$y{HQ#CVDd~JMd~~cFx_KJcO%NCBt_CONZo!#@E0aw7Rpy9i3mzTtA&-K zqvjZH;j@tNP)lP7eoeV4kX1#v<}%{*HZmrP$pODu79NXh>SachNG=$XbG}R#(J$mp z_$}9iBv1)6QO(# zNr%beGZB#|zl-=0vSlw2DUr)C3XUYSOnjw!sker3WXG*=C%iBPlVB2;j25Od$ zNyv6&IZ>7{OP&b0_@@p-g;VFszp<2E@SmcGSjan(@l>g%kS|Ze;D25dc``)W(=<^c z7bDNc@<$-f&^5Qn*O2E-ove?18l}zC#6Wo}h_f^?LVgWxny-mAc_U)Z*2E-{ zOQ{JVe5%KB(XG20nz^1KxyMDDp;9Ml)s~{v3lm#n*y2em}2_ z@>@)B;{)7qJ({=elJ{ubpF2MK06I9 z`U&!f;cpNU4=;c}5#EHllDeFUvM7n@&mdNWzs9c&rz1@)EKuc)VuQkc5FUg9`y0N2 z@ObzzLK5LoNSO?8KxsK)CBk#VT}YoNs*hxkypx-xsHX4+9<@K!-&WqKP=pi=LRkys z(xXwg_X>jLGBv}6w?86eN1`1C5C|UyT5itz!ZwR7=nzxZ|)KX-RkrXv!5jkX~ zqia{9If*_p!D;_Z2CE6(hNL2W9GV@!w~!O`F&D*zBE18}#P3OQF29-;70XQT^k>k? z__rE1B2h_>En2NFnYAMQ4_5Lum1tykqRb*xy9m{VH%W!ek8r8z69HLJJB|F`;N`Kc zUvvqSPtEjT5dzgxv&zNtMj+DL!JuSglFho8QL23`Cf0@@QPUd?+G{Ig_#*bKQTPYIjbo6;1L5<*z?a7c9`!K3oDp~&Pfei7tx(BW ztx8rQYizO#IY=cd`#D-uB&~8tcCr!W)DfMH;T2_%qq1CSbx5-FIYu)zMN5oWiQMu{ zX?01mb2x6vm1m1LD_PNOB$)v>^1p#IzJ-qE@rT@$G3m7+Y5sQ*@N6MM@;l*EmER7J z;#BWbQ2FnzeoJ=V#Io7l-`BJBE0Ak3Twx2ELlK&fc(9ERF@-}-*z!zR$rKZYG@0i% ztQ22nC+?KwhgFWrPByu6wz#vLRXvVs9)ha_gTIwz!oP$1D?`o@cPRkUj6tr2t2+r$ ziK0iH!+vo4SECnlt87BI`mod&(TpU2Aiv^1Z!ZMpzXDRRp>H*{#7J89d0c;(x(TuI zVF;Uoq9(w_`-3yR&>Z6W9LOOT43FB}XHC&e~hl6T&-h#hKTtB%YR=AHLED^aD%5kegBL-O(~ zQuZDP&l;g zP>I%oc}#IV*m5aczfI`HXg1<`P|q@i>u(!F{s+|G;0o74CqUl5jatCpE-Wee3!=$O zMCCedLGyI10i3>8Yb!gyfF{J3BB%y+mcYfY0&yrjli>O@@pSNy51SQIC7g$F-q}^c zE8tlHmwze}smUq!;>yBhs0DdsC*>h~!{^ z7y6b**@0X^bprg%A!UjJ{(xiR=HL_-aR$PtAp0a1@q=g)w3o1m5i9~K_OXW|DN__5 z%`V>(95fvPp+}p_S4y~wx!M`TtYev#Ocg)nJy}Sfu(dR!rTA~ux(m@yG7bJtLCXTI zr3kc^qD*Tk0#G^=1s5KK2OfXa=j=&E~PHN3W1vL}zfR05q6EUNi*oX*U#EoWx*(&|G z(M+5LDsD6r;Fs|F;3q}RMBHd5__Up)G!w(Ff;Xm~tcR!R7hy&*5j!7wtYRV-RZPU9 ziiuDuCRQPHiSYO+n4l)@W;oRqRHYOX2lRr##-e(OSX3_&i|Qp}QN2X0j?FN7iC9!G z5sT_2Vo|+B>~+j|r&V#f)Bpei7rU54{A5MMX+4!PaBTp3+OukA*YAhuU+I zMD?g%7HO6(0{VyKl8%snY~8OO~iC1OS?(Sfc^i+z_d z+w=BDBd5oVQi2m{Ml4Gyk!zF^>{+);iKQ&ZDkVrbr38uYl@c3J*d8b)p2Tghp~fmD zsOoS^iJc(!KqhT((iTPN9E!A70IJWo#&fO z$7j(zYMLlXk#r35b-EXrgkH*5CW-KT&}vPk=%^VM)ARwBhS*!Bgv9M4*XSL-gm|lW zpuc;)gOUf~kyjo|%r&ZpN15BG8t8Yb1`ZB~N$^%QdQo@3WL$C>^Q>j*L?^aAG)B0|}>UAmLOE%-_ALfytbzfrL{v zkZ`I75>C}XVvgAWqN>4TfJZ(Qb0(+}72YoycnJbM-d2h!$Y%U~h@|%h zqwDb#Hwp!gNL}N`BG5I)>{1ns^3^_wIsV9k-KRu+b3u`A*y*EeX7o&n$c+EE=2EuG9m1jQ#UdQ#k06{{YkMil*j`E^ zwwL5AWZnsvqY+M>wY_wUaJ22kA{=I`cL--8TM@Cn_|&A7MiCBikG8!G`!c*1;m|J< z9~j{z6vE+SR|(7@xFm_7z6Gbcf~qva8H8o@lR-EQ4&lsa8w|ps-ys|li^>$j(UzC8 zsO3eeRF)u#>XEg)9Qz@aj07<;p%D&q zcaLy*=W_^0nO!WxQD&EHgi~k`4tv%u!nq1{I)p>QAsiCjBOKnC_W2#0XU7l&}zRflk>({>1l zMZW@5Cj>9W2QJbcndwnHJVkP$7d|mCmQ*5~X8L{VpH!Y5OrFW3NS){VOh=2J(#ukk zBI#~Ksh&ML6_#k8qSc z2%o(2Sz@6qzawiAg=TMG@sX~l3_grgSdZV?V+9KvCi zJmE8}&>$SVEa?yqN5&x>g+|}sn8N(sBODgs5Dp24a7Z|WL&6~(5|f0oQ9gr$RgdGM zlnBRXfKNV@b0(+}75?uT$h(No+e$eF*^EC;mOj;v{$5BEHwcF#60b!-cv!Jg1`J1v zmZCU*FIV8=aQL*eC^0JH4El<)1fH7};|(U+28M|uR&`w=*O;~0X&9uNQ$*}_gDU6# z>@;dlv>~A=rYT|}tF_w)WoK&=V3e?HVHIZsw)=}#xV$FF<(CSWcOuAx;0Ur7C7GT^ zpA+CJxXW+^Y74S;zx0Rhz$;uX^jD>KjvQt%M>p`w%(C<6c2w7@^^4-(iz2UQXIv-%Mil6Gt=Zte|871^4EZQpZpHD3HgI$X5iKPLs=&jVQxzyOf<&Ix0R*QG7Z81rLK$P5+E)`dpAFz~!EJ&RlVD z30D+$av6ip5Qj99@0&ny60qT)RSo|ws9(bM`ht*Cb6e5O);mmlmryqbczQm5q0>Vn zp<1gTHz`AV-kX;(5M$UIyO~sWCICb8CZLotHEd%HLi-O~dvny~Sk)bQY!y3lPyyR3 zXH=aw=L|7UbwVB|`cRQ68zoD%TUBMJ;!mR*+Io~&4X60iqzY^UIRZ}cr&$$y63BK2 zogrFO(aS(Af+K%g6@LhJZ)6Auws#2`^ccuT;3{W;6`T-z%nETGQw!-20Bh43{Qd$Y zXBWDH&5i2sXy`e!wUQ+tO)Hrn#q7z5Rx%mUN+u(iz0_(Y3o=^Cf{0c!ZncsLjoHig zKr5MyXeG=2WJD{O?5dS4BxXcu$VmIqf)#3K7E zEhOGl6%BMPK+HtPjT$lM8pJ7{1BN9qDMTyEGr(jxY9KJ7MuC4*VRg<{ELLb>@?n*U zMNwdq8v!P{5nz%V0Vb6em=tG#NpS?2BrPyek5(Q!`~K$A+z2qK_H!e^B)2OtNfVgl zMu16P59ZSN2UaG=yP8Xr7MQ560Ly;Tz@%mmfk{aOn3P0;iP}+5V4`|dFY-PPb7|57 z6H}-HCbbHfKiL{70Wuh{V**)AOx>qLB6txG+#3#9=)%~9V zCI!@1u*|ET8Dqy;9Xt@$5|xitUZ*j$>lz(n;pF4Eb+q_jt1 zQre@rw1FG7{T8pBg3zc?N|oBR8+fN-YjYEIieWz)j%Turur&7}{Z%itZ}-a179tf{ z-@ruUFXsB1=e8A06^c+4KSdGu;f$50WUfS;$}5-iaZ#PWl@8P$&o&qfG5x~sfg@q|z_Imq4;=m20~eRLo`EE4 zaGbV@`%pKXj&0?-BT`JhI8`fqMg9YayoJ zS%_8n!lTHTJ#d4eUe$ZxR6@N6P9@WO;OI@*J#dGBa28?`b`RVWsKi-_nWe(+fjbY9 z<}AeIhO-cV9Wl;A{Bsb_Li`p8XCbD=&hCL@HFggin``&LvBoyL2aa!6IZ)RNgxv$j z+|EMGEK}_sIPQ&b7UEuLq}v0>iRAXcG0$va_rS4d7Su6D*cbCwqfQ6vNH_~I2?y$! zCuLvE`!Wi1ppG%_#XJ)3#k?1>7B^H|Q1?er&O*EkgtHJclY23bgnKcM6*&v>Kaj^+ zh&`-?&O*#&&O)3(C;n8kIM5CCeP$iq|S32)7`~%D^LU_DUyyszE1ZXlh8}~ z$|MmUUnf#)Dn&=lFld`5AmK1eL+mZ6+lBte8F9FcjEVfy;KzG;V{x(j z)?>E7y_ctCMR??+$3pG?xL+~1u^!X!tj8pr^>`X0ob~t=5GfI7*q@Nd^uubR24LK+ z^;j+5)_Sa)V_wB$jI$my3--q`%H0`Q;sExkhecR?K#0ThJV z1QdrL3I9$8u*f!JS(x!5H`f>5g09%t{w=UL6*XC4q5KhTkpdQvB0(ynElNeSMP1EU z3Rt{@^cGmCrzi_7HX|E0TyS0vcQ6y%+%)kqW@$wRt8wSw;8KAqAev>k1iS4|Btt*UF$( zwFm&>cYq_$6OuTC77rQVKDYdNXPzzg%4bd3iOdrdJk5C-jHSYV2PKJjTq(0;GJdkYP`cxk(h;_op9>a3ZqEjZjo;B&V5Ljd6|&e zDtg>%?{TZW!aMe5LZTp}Na21=t4N{WC{hTnoFavUQ>2h^iWCw?k+Ke%p-35zOTuoo zS6y+6luvG}eFpEm_f~t2cl1_!jd$qh%Y@wR$oLcdd_X!e9 z@3E|e-D+lg{ANMRnQNa2o1r$|u@?Dm8s zuA&)5%KzrA_8tWZ$F24X z7g3TT>25@IX4?k0+N)g}+-jdmB0MTq)SAkz_G*UVWkOCEZo@VUlfygQYHyV#A7rb& zM+>XR60Nf2Y51+Ognp+iA>ouI-E6f_*sb=atyWp`p|{$5T+XesB5BQ@d9#lSNWmChAl$1c=%HX6ad6H7jYJNtka zpTeC_;f~r_=j=u&V|F;Z5eaKI`V{Vf8P;y}Dcr$EroMqM6~^^jh4#dK3wqS+YfS(t zHEfv#oUHuvQ5@tr4MgWd9PSsO?7vc+|z8yGqaE3ZgBGyzn z9`V5x{3K}8lX7}u4v6FkFj5|^{K%=_^p5pHsWX^1@GghBH0GlT$7!11M2Q^&`glz* zBYgo1nW^bTr2mLso}lRqN$-#Jvow7k=@!r@YI*_b5c%6RJrA@p?~jV1OY(bY>vjG0 z!)^mo?N?z#uWnMIInxjt8=gn)9i7T?={_nhSBq}mlT0#9C6Uu@nq|Fosp=%sGi>NZ zrmk0zWzaGkdV#LX`xZj?S!+Yj>8ndvi_pFK#HH$1uer>+n-d(M;?8T(PN%=Mbd! za~+mLuinmec#{4_No929hXjO7Dx)j?P(tQ#JLMnX)aL<2iQ1tbJ2ugZ_9-pojADAV z64IQrt~PTWpWF-KdN0?^hBo-Im5T-C@Z3x~U7|M{-coNZV#=7xeB2;!pIq#V^D0<) z-U0C6=#?{f`8NE-eZFPt2jP{7?dH1>`MDUTVO1SSRB;@V1l}9aK37geF~MnZ_UL;I zWg((Kou&I2X{HwiN`ims=qi3=LXK8vt=g}s;Ka)jC`*p68i^b$QQ2j1AwDV5mSoR1 zgWAN9S@Ta4V-l?JWso}lOBz?jzK?--f4JItLXNLt*G~X79j@+o zxSwOK66ZtE@*5B`buVhYMf`b0u=VjU2M2w^Q@<}fH^Z|INgHrvWe%h_eu;?{;%XzR zuT^3QGNSq$BdS~(`S)Zknw2H0c^^$w^Zg(rszDb~Eug3t?vbd55m61JqN)a#GNRv) zOMP@vjdL*Rbcsq-iL@fMFmbe9oJ0xdH~dS;QV=F zf|8s+fOrwE@<{y1i6tx|RMmf_N{QU0W{TY35xWb{KSNAbr-y_*Q;W2v4mZyyJ1jeF*DgiChituvZ*WVB^@5Ix%X5NW^ z8eWlT!_Q7QrE2sOg(Yus=`wfv$y{nb&B5?A{X)Nd#_F_rEf|qYLYvou5hWzFc`X=G zO(LaVKBGuR&1-jqHd<`GPdPXsF$`m)b}9#>lgz4jDhF+f&^wibF^bSTm4mU0&^wib zgA}26DhJ~fp?4|=;}xNIDhCr3p?4|=6BW@Q%xRs$)C6B4Q+KxDupIjJtt~h_Nn(+H zFJ2qi^n3A91KV;WQGK!ow&2(VHy3LL&M2l|sPj7U(HwSA?^OrA=(XfSecPj_y>KcUCh9GTZ3)UofV5xoy zO(oSYp{b_mm(b|ddZ*yVb z9$MHu?q61BHcC2@Oy>3^lh|{;6J>!WX4PZ+c02<-@}Y<`L5-;JUSr@*2=sV+ zDWV|zYz2lHUZ7X}3`3gmKHRcn7p3^5lXDsTiP+-Qbi~G5fiq$^E04G`&ATgW&StbG6zXn_J zTQ5i81qc+q*Rv6u%2j{+a934q(;&98Z@Y+nUo{1@1ZjxA`qV)XGEW5ep+usunP>_B z`Za?S8hyp}dtq^XNN8L?r^fXmp>cgkXj~r>ij>bGZ`|zg{spS?eqVVmf@<~SL{Nfm zdw;0n!vS?eyyHPYe~wHvWJc>Qza6{4f!$Px946h0ubV<19oYv|wYve)u9FLJRKjn5{uS z(u5kJsb`vaQ|0Fn<54l94hIN`(88ALi3re#1BAm8TR2h*#iQ?V-v5iJf1fi&M2l|Bed|i zkR8+rEj&K?I$|_J3uiXOAtOL&EG@~crgWxQk6#pP^2jKCL_oM8!E+p9N3zA|6w$8{ zT6nImL3nKl(uV|uYZ42hBkGh#GC3%^!dhE-G}wD8XSksvfe3%{AyxD%_rT92%+L zC<`Ac;FQvDl!cEf(U>jlF#+tEMQCh*LufxloerUqa0rcrLukz75ZbR$m_ulcaR`ls zLukCEG&J*#vJeQZ5R^k`L_rRrF_S}RBpgCxMGm30Adf?6eL*;c#$*nmjYNz?Xp~up z&?u4)q4CH$htSwnhtLi}0S=+DXdpBSUcryiG}1nq=~Fy>MY74l<6Agbp?`$n7W%!- z_)&R^Pk#Go&`5i)I%?_b4nL}tK96}@EEQ2JRWsn5U9HlJqc|!Hr9uvR-k9;WQOi&{# zyb=aJNM7^yQc6KK<9{Gy_)eI2H1Y(`;+CB_M5z;kGThb^hnFryYXgJaR=}TUk=rWd z>K3^%0?6$&TmpmK=r1F3yEXMKc)c~GUjThuA=z1e3+V01z`Fs;wetHwJeml+RUj%9 zy8Ca0=&tnI3$4moTfjNOjZs=;uS2^;g#v!1Hc+(k8*0gZDyjXdwd|ykppxM4&n28} zhX8_&hpReU{JHlDsOEeSXTcTD1Ds=9zYF442Fw?)smAkLNxM`EfU(!}*#1iqbO~H) z2wL}gnnBlrT*)AwJNg&3X08Ky6N4I%>WwsO`zFYZaJ>(~3i4Ytz0dqPr;AuZ=2J)> zN6f=;BKML!90GvoH{e3(;+7!ndW5kz1#mhnl*i(1Pmy~sV#u=I(HMNgC-*^JSBTQ! zz|5cJk}Cs2^n**iixK#l8vBVL$HV2OOsjw8nt=YW)m0|qt!M;WT|L&s*cOTnsFXl> zZ9|qCaz1hrFP;xB^Y1f#kSt3L`4K-7^ns7#bRP-Y!{a#jZ{lJ0O8a7uf?6et|jN{l5MVNWR|zY_Jf>y_31}~gfg9Q0Q5;&id18u zPvEC&?4x`n=>6Vf{PZ}^0!|DEXGu6XOTxj~f5m%@AH#8+b+kRk@z)i2h5T8@g9 z`F3Am1z#DJik10xf}SrzPXGYI+!nG^?cAdBZ7{|21i+OUa3yn*pcUCfBe7?A zN&Yb|hx+nRU#4D&l;<-wi({q0yTBuaDVH_@wr2Eo+?%os(bpQ7@=BksFs0I{+&<)S z3t5MA+Sd z(!bf)4>?pl9nSer_?F=(emG~X*1h>t6LTRC_8cerweHP+%dp48IlF$#@MAfgv)gYO z)_sJ-IY0fDAqI4hVT#qdabfvHU`o9`$B8>Foz{&nnLDi;Z`n@kM#5>`h=-ik?UVkN z;T{~$Y3!m6?zn}2#o?Uq_btPJr^7kBe#_8m-9Fm446W9UFvDuyC^}B-_6fq2uHQ2J z7!K!*|CVahv8e-qH5#`+eHlA-CBE`{cJdfTF(pK18ZxI}}aQOcaCK0R1S{1c4Izs40QSJ3jvHLMr1_ ze$jFWN)5NEExQf)unE5X3}o~+;>+=Il`mGZ{M&(Z*2CrYL4qm-^cn~c)8ycTi1T^K zSnDEG72YIOIRsGOQ|0uYhSKH!)$GN?C}A@k%N$$hXa}hkL`{5xEH=+!k z49(>^r2QX5%y(U=Nc|QxUuF1lBrpCM?$nD>#O^CGfD`+$wmee9f(c zr#CzRUI3DWhP`?L9c7?l9fEfunx_Kr@5a5rM6JOxAB5cV?>(BM-HrLyd@eHUBajK2 zW<711O_(D-X`D|OXh@h?XQ83_2qgC~nvXy}3a>U6JO__bPt!Ep<=l1_;*R*-2tU4k z#Ya9I@yTordSkS&O|xoebkJ1kprQH*WFm5IdoC?u6}x}ty6e_CeCC=pyOSwMxRWVJ zn5}cG05@TnrJ}j(x$U|7h|lO}u61Y3XRb-OBR)xJv#cN8IET+%tIF&VpCsH7pCsH7 zpCsH7pCp`F_I;tD{s<(t5@1&7k3iB-vn-9@+*_vxr(Wc~&$;ca)*bQL(`T-`J-59{ zLBrhlIk#PvFT6HXlY2kLv4?ZpRkE&I=J1*8iO8q7%=y_{=BONUCsQ!DJDGw@ggco+ zZ3Xx+pSd<$=2(s0GN(Rsz1x;Ke^b%!8m#WlZD%9h$rK$R_5d0(&uo#`&AIK2`Jfss z=ILI8#TaLhCE*OR&ttvN23a2l*`80PU?v9*Npueld;SO{VSqEp@`Zk9ko`8sz!_vI z+Rh+51$P~1kfpND8DvXQfHTOlXc%Pqnd|%;(KOQP&KEhiolO?%GuP(a_7(>XRi5rN zSUL|6wosqB&c6mlyqjG%gUpsGe&#x#St`)bO!Y#2<~rGi2r56-v^54~(gdePNcp~m0TA9C1S$bL-^Ft5MUer8moZqW#fl6lyfG7EK;buS zR?(Zg>j*&~wm}+#_Bn%KaeKgy{HRchKDf%x-atcr0qXE_V-Qp(j7AB0 z2n^)0IF%j&qWBg3@~f45y#Y^u9j8&GN3~o33t7omrK*KFPEfV{1_=wOtoyq{lh>kx zOW+Dn@!J)w_Hj@T!4>kPjen?J%CCX^Gu+;nqL>^Mb2rirP;e4!AqVOm#O{LIXBASA zB|Jc$c(VBG2q4!g?}mq!KMkj2(HFwV;>Qp}ev5&G=JF&-z7QIZLN{fnYVAoitfsCA zxF3$KJz2H(P*4-#U_?E&ns=8kfjE}|XNb@DVnH{7Sj&I~;d_3=CdiVDL+5760xVh-6uY+&Fg~#@1DhM{N3|X-l(=x>j3CyS&wwD!+lmtgnQS z_-S~0dY@z#;&#HRJ++=FB_t;Hu!ps=5C@658!P*;wlb$JU5GfVE!_tNWZoyS+S2zw ztc{iFy^4UuBpf6r;UF=Ils@%-9cqfcO~Q9PRadagX-FJBtc@AnsrMutBqre?F$s6- zJqf*2(I1y2;UF;y2Z>2INKB$Zlsj$ddmq;J-tUqufn2E`*>_2L{w_MJb&&W29oAN{ zM~Ahk@`X1G)x6hXZ7P{Q^`71jczOx5I7s|2IjoH}>OG2p#CvvF8?!h_d<_T(iTQBm zjJlji&Zx^g8KZ9Wur|gxNW6!qmoSfm#6)s#k0N6nBqos!i7TzPv}Z`nOb!y0aFCc4 zIc;grkeJE3hr|y;njIvjXgf&EM+FCoKicUfY_fifYhqdWE?|)dEPNxoQqxZuc z*5-`5dvsVEYjKd6d`XB;@~}4D90P;D4EgQ~gBfPuB8kFa%7oLFa$-26E(vGUCE<*^ zSuj|!TfPRFIa3xenS;S391JGmU@!>>gGuaudWkmbIv8A}U@&KA6bAFQQlwxoThSE; zSF6KmEAkjuvz!31OeXn4!~uW|`gpfmZW4^IRUe5aa_onsva^nmQ1(}6v>gEWG90e{ za-@`dtM_JSf<6{bpTD+Gl03Ws^m%ZNtVj-2^>DAEuBRzXY5Q+;^blH9_8T~&mul4P z-HWWX-b5Vh$sLvat3x(=?*<0SenZ0%=)%NMZXyG0Zt<^M{-cz7)H7nw_Q|kdYdjL4}~^emPNXl!{dxi z7i}AH=*a#UYgwQa=9|#Hd*D2Ziwc3}diE*vg%T2pH+lJl$F9$X4mQ&D2Ta%ZHC?~@ zCHY)fTlo@RjhVBCM9 z^UpX2kk4QMKi2LT@C}v*2GsQjz{`w%2}w zlz{GouI~k>MYg*UyM=7Sh%MYZYs7wN7%&?Qz)~-gLs64{B@ANr5Ej+K4Cc2ZAg>*@9fl@<7A`ywO+O^VDn6+dEEdMCD5HctRi`Yb5?9AcI`0;O&sd@d~O7dZ}l;*Z|=bjINwq%3!p3f0eF9!HoDKuqSq zOct?Z=+#%(AAyonIIbo%nQ@be7or@yKhVf*FopF1*FA})7;99`)Z=z!jplhdOr8JyQO80`$(DlR}V`2ju`qtj1L z$I3U2MdbyP-m8%kk==Vq!Xm2~cCp4^U%ces43>wXUToE+f8m=o46J zT4xHa9{?WdKsK4B(i*XZq@Mhoxm=TxHp7~snK;Jp1n>a z>^hOO>qJgw1%S+{^&vMC1o2csIAGc?3i;hlpn~kFQmDJ(rb^0Al_J}}%v341Qw3k& z+I?o0*u@gJ!|v~HWf_4i&lbpvY=NxQ0$J5nAgi@N)+pXZ1hQ5OWSx^DvyMb(PraIC zW^~MA(!dpJ564oEpznq>u-&!yYz%7GA>3_@lXg&Z?4ag$$I86Sf`FTdX>9kSnGpah z6NQ-|D-)@VOcWU&VTDt()7}<}Z8(=(E@;_vFr6(m0Q+3AoYVk<>jk!Kcd042Qd1GR z^Hkb|4O+3UpzUmdcCw4lq77TO_A?LMRmc#tQ> z*`ud%Bo^=P=YL6N086t6uq=B3%k=k2u09JJ!z-m2!HRe8q;jrkkCuq_0 z(A7r;Ai7QvJ2u)$|KXN@n>)H>sJ=w+1Br~tb+cS#4|-l^uG{IKp9!+lAF42WODI$< z>Vm0Kb}|-ai$rl3k-$T?p5S*|=n0Vh1tbT0-K88N8L76UB!QJ7M# z#h|9E7}RPpsOu^Q^;!%Xj2NgJvwp~E%$5vd(IzJX>Sm#zFPgIhGZVT+33~S3qw7+U zi$}!bP%RZ?D4_EHl7&Fagn1s)4EtD6f`$DhT_u5!x}_N@D9e_D@@y%n&{9y@RSK%K z6jXPWf*LIaA8v-4Ms*L+KK>=RyXCXMt`ddWv(c=>?w(s@XQP>>(b<@`vvD`pTTR11 zoBg%fGmZ~myTLO(=kP?At-Q$0x`wPHn4{tL4>#L8w8ywwpM~Gn{FR5$!=|M}TA5 zjQeCnHQLjlbbTx~2vwmemPVba)7(<;+C?Xdd$ zIH_n1jLs2-?uXL$YqU%@8O?7*|6{erfmS1g-Q5G?Ru7zTlG}*KaLXS(07h$>W2HG) zJq|Y3L)))MFQ)Z$8pcs)U^I*Fkq8V?_gnS!o>9UU_B48_4Bv}16f3sKBi$8~m2@52 zQVr6|G$t$W&UjH_VPa+W@LA17RoCDQKB(>nA7niQnh8rV(iJn*W#D?fzPnI38Z7wA zn$PbwvZ`o1hfIB$rAH4Sm3MwS#9(2P%VAt6r!Ui}G$pNgEJM z>4s~S(c)QnRaSt8f7KafFzgBTS+kZS2!v@zuij3jhKSL^g2N!A$^Kv}TQ@B+m!Ry! zpu#*sQ-+!EJ%dBXZ>O+jBX(EVni|xTD-3d4Y>X`lE0-Nt^C+OKC`O(#Dj6$9RPbe{ zH&wPu1RK|RY_H)thZLQN?ccZ|8vMzraHB)6rLGH9w6kB$R+C!s%k-!*TWfC&3{8>6 zy*Xk)Xvs|dURHQoBQm3{JVvN#Pk`D_t=&d+v7=pa(2-Wi!Ve^5*^(97mc-4}#%(sC zr7g@zTQ|y~OlPcO$O)cP3$bBZ@Vcmllo%*kHk?c;?y6NQBQV{oh|DBV`!KRpL~QTw zDx$1{^(dEfAz|k@@hhwhC$nUjRz|aoW*TG^$mX_dnqI9rffb^sRkJp;YSv||AL_H! z4-I-vZR~ohYtkzxEsDIgC=n!fffkvoL$9uPE&Z?yYhw2gyAGbQ?NwdnGIWCxYP(3mYL zHtL@;-r37fH@7jnAm!Tos$E}{;#w~!ZiS&DarYG_yE}R|7{xQY+x@!YBxKK2&jW-; zw#s@Ra(e-`EvV(X3qY&rX<4YuEDKfH%R+VbvQVR!h1#ymLY-a~>bour4SHEkXu=-qMHzl*H?A=1$ z>^{+3ot}1CGQFGl=@}0^W$u4UDs^CwhE#U5uNo$EgEf-Z&&fGcC^=m)g z4cMw9oUNhRu3K5E0^RuC^plhzTD`2|3>!Ry-8&f7QR=;ciD)81W2+=E%T7kXp*8Df zS?{iGnRTxb3RM>BcO7KgT)SZj%?+b1(c{rYhk?c2?(fw6M#;Nr@-kD2J73%Yn~D7~ zHkVST9@BSkcQ*hhnur|PZAWdU-FkCQwyb2eyC-H^O{&RiOQZ;62gq)`pnN!`m1cO> z7_gb~tafV+iBfH2C^GXi$MPbpnMP7Sq%_zfvs$2A`AM-i(_ue*0e9Pkx$_ws*bG~Z z*paV})r2vbbvpI|CbU)Qg?5Wh7IQdW39G?LIvlv$nw1%?@1Q9GcDxT@lcfAR^g+0& z4Qnc(p1bzNF>o50gXRJ;iQz6kby5#H-l+3RQO8Et}g>4_jHc9!nzjST8`moE_5ZjIpvHiLJH`%p! z@FS1m&tZ%}PmYgC@!3G)wfc&{!*5syA_gKS848JCbTG(4!c&nDmECKqp3+m*{w~C@ z>e*|g%vud3>1YFW~k8ab9qw$%TDa6-2vNui6_Jl(6p?!=k!CU_yT@njrftL1 z7hV-eZxMd{BxA`_zlfya*HNlJ5yq0GWN&p)h*nny1^6uva`B6{EB4EtDVKusW74~@ z;!Id5gKVnE#(_l=)j*E$%Ymie)?9(sB+#Zp{MJVNHQ*-tAM>RQ%8?5`_PTFobQu!3VMb(PC+Q-$IO& zWG%M^o|0Q6pzodR1aXvR1)ja6--qzCcbRb47RPPoBM%a~m7$$HGUyVc*sEr-D!B~p zXZe}-AMTn*pLauy9gTFMRP|KJbE%4{LJ<%^3}+ApXmgq3 zHyCVM2IidW+CiVU{*!9QTGtNx?sHwnf*^w`bl00eu@&M_)%Yre;e!||ERhwa#0S&! zAk9z;nh}2#^*O~eZ<3B{KwOTV8i<>y;<~l&1 zcUgv!hQID@5Kk0W3xa1GE&0u*#;)Qz>&8?Hv*=-?WAcFIz)-wCjmph54&j zkMU}?Q!~3tHJFvkpjt;~W>A`KbTduWSs280ivu0!gKAU*YW0`wVY*wgi3q>xpu!s^Vof-ZWvJJG^r)1plTPp5 zcu`c)5NQM%ResM^PM`O+%rrt{6@uX+8<`a7Jts<;8eaOj)aQV)E*z!)+?7h7cXxKF zS{Uq2fq66j40~A~ZyiJ)f7ay@6%cuR4$SQqto4jM;{OdWA%=70dqf_lqJ34Tq619+xx?-E=mBoC@6TQZ*^cSWhEl4 z7UHnps2?>I+2te$!)#lje5hVcJZUF7DV>5s178g79E!eT*(V!Uqj_ZN^bgL|#Ap;P zE`Lv^65SERv9|qp<7~a2()p@~jX@G^r9Xx>DM@DWexeoy!U%B4@T&+tsYW^lT^Lhp zV^Yb2$OI+Y{*vyd@f{m!f)Qn~7m-U`GWupml4(hB6N@cLAv#agDR4u7Liv^K5|v<# zEu7GxA|urjgPeoZaaD?1Wb1Sv>roC<^S4mNcMXY&-9sQdX#A6|@$@Z485Z~G#v7qZ zBZ7=0o9QQdR&3U(&}^ck3RQWT>Rg89WNaPsIF_fa2o`gtVJ0|evz{~(FHkfGU^im7^PLY(>cNAe$=b&3-mDS? zg`x@^!uccclUtmjnsW?SB54GaLzz9zh`-6LM&vW2)r#$rXT}_0I*x>UX4Gg3 z;uOZ!4Cj#rl-u`KXiza=*w76pqv9MtgsqPjS)MLr#VEVY#)uWyECZ!iL4kp%0J`quL z4Q{b&!x|u>_e>8|up5poP(TT#d01eHlpS8is!a^#qSQ^nU}@sQtjPDx2L`;Nx%oI4 z!$stSaB~T{`9zePENsyGakIv7lfa=S!%ec0&u3-<$SkMq1$mDfqrtg+NTjNe0D-{L zas%C|OQ;2sGF1%vQN3kN@nA{z0uAgOhw>Y9ZuG~FQ>ZqS7rpC20&dHVK1?IIRlYDj&h8|AC?)=ztj z)u@G5b82$vDN+u#Qz((%XeY~&f(suicO|Of#ZxKLjmNV_XrDE_ zBl%Dr6Gx&o%%vt&mtQQZ9@NlLWr9P)dFUHzjy~tq>xT_0W>l-Fc*UL1J^?7rnnBqL zdDq$WX zIk~9HB?yw>pz4QdGh<9!D^ZJ@XC@5ta|}NPBjr{jk?*gg+->Pg9E>u>TKvQg;7@mt zf9nxJMG$NAW8ONClEAfzFiii_45-@1RS0v3ly~))^cq#IBWslA_5Ud;^420w=?`i$ zIW>2|lrmiwpPdYUP3h|5{Q;cS)=d-4Wkq7mQ$t976v|M`Nrhr_Kg(>h{4m95bhQpZ zsR2+%B_-3QU{z$L&E8Lq4@H=xgvzS5x<6&oVi(?B@M~C0 z)Oc*lRWk|`$BIT3-B@lks;kr4`~M6iKCOCzewL^O@FV}tv1?<|e5~Q) zDQ7FFwTbBm9UKD8r@fo5TMH8OptchJM?T){YyqA0XgEd|>V6AtjC!V}X+zj3oU6_j zy|&1X5i{R~C4mcdzet=jU#e6!%sYSsO`=u?;Icb3KqSpHS;(o>6l(;SQb7#>2H>SvmKg@LAp zN~9A+LrG!smTQ;3QatEBgE5s*IjaQGim?Gcp_$7-UTX)8yuxi4$P6OB)|Gl&@e|V7 z5v#k`KDeO+VA^*5YRD*EzZzN+SPsEN2FcU!c}+K>q0$*)7mN4Z zWLvTswRj6YBL6p&NAy`VvqnU5wzOCX9Idc#_$E>uAJ-?+3{eOjas=;$O`f^_$eexdi+OBnbXFOrHWihPvu{@EgB^UdS(JtL2S15OCJ!H%P)NkBcOF zDeF9lZopudJ0X2{q!+&YA3AHU{V~Y64U9?oLG@hCX=?N8l@><-CrfC$8!FK3hzf^k zc;AGs4Bx=e+O^T3dn2$KQ!auIXFc4j#Umd1XGtd^tJJV7CQ0_WA$AoTyS)7MY(EKn3@wpPy+7-Dt3_?vvg=Q(n zs;kr#L+ZC{b9s>)^3iLLkWZ)?3Q0!LVH8RBoxQC_?YslyCrh;%GIh=Ae6tsWGn*Z; zU78RovP}jPWHMa2PzMwZ*~zVM=uLcxMsp?G=)>V4ZbG}-Ws%<|TwQ*4jTy4jj`HJ^kP=auob0|f_JbZN`@)Mkj&bl+iTSCIUHMzMX@u|zp^%D(fpjoJO&xPH}o3UF?65)82=f`?f(rt+~Kq8aUvy3(ou_Td=w*gc; zZ<4gfHfiwTNU;^R78spNj3*Dc#7kLNl z`bBHRo3kpOA#Kjmv+K3COyb7b(F zrV*o?R(+p(r>_+G!4x$9EaZ3IfXt10Kut=0i!J2q#E5(oCWX!9Tp*DL_rE$5=R#PY z?f3AB14#Mtk`Gaxe4piaO?Bk4`Sz;gr$RnNb@EM=Mf|1$L?(~htd1WCL3LlaLuJYr zNRp;H^5Cv6Dw9)$`(ICDFn7LjrH6r%_4B-NI?-DUwYJRiA3p7Ifn!0;pwZd#*W<$g?S z=LyXkXHkLq&u~SRciC%-2#hSnP#)rD<6Du}i9bfztikUkfV*cQseJ@@eFA4#AEFF57=9b+VUdw~p_Gy5#kAOK-%I7)M)((D; z$Ce$r;tiRSVgI}RK|VWR2;4&f6^rf(a}R|JbI*hebGL*GbDx9@bBBZrb8iIg&DJNI zARL(6A6$BFe6X-9FKyvJff3*Mei!M1=FWjYaCIm!l2*OO)dy_Yr9y$M7MV`W5f-&<#jm(ymC$ zN61UzKeR5;p$q3wi!JW$sMlJ8rf5Ku-tn1S zK3(q3rL(=MQn6gF6pQ)pBMP{KzYUF=6IHu;*Xsb~V9C^5N@A1z5o*f@m`C?(BQ~u=&6%_=@O6EeY z5>zfuXUYz8rclmJ6f)^fO_iwxsS8PAw6Fi3&g~!V>F??5?4BwVyHiu$)5U3gxV#F^ zlqb7OnRA&^IfKmPc<#Pje)^t%q;utDcX>LKy05=)`^UHUZ@-85Qfl(P5>%C&N@mlk z;8HGCF5!PRQ%GfU!KJCGnS5|5nVc%(f4)=(MJkEEH2$)k-4mVNN6Y#z3vsBAO0Lk^ zoz2b^Qk7h>&|S{RFNm_~WCa2kScQ#DO(sjwMJY3pD_1h5fGU|T6;rA_Su9mLLpmx$ zbeAs9jOQ~39jZv{5{#g(Vu4JQutH8Mna_u8%PLh&XOLU2q;o~d4knX@bUss3CmtC* z_yAEUSO{pKvXlzWrz*v%anPd*b#(N={$n7?P6zp7>TCekDk$yP#ZtKfD-Fu{SUZ4; zLNXtW&tz4QAJ3L^m%uNZPfnB-%x@ehUB8q$KDw7YQBX52W%8M%2r#Z|4W`CR_~@dM z0hFaoGL1?q&;_c@P8Z7oe+y-mEzaOWi9xDZJez}(vQtH9Ha~;f2XYhC*73tf2T@sN zDmb4`USzfBOF6VG$evH;&jw{pT*{PZ@)ebWAcdJ}EvzmzS)5^irBDxB3qDi1f(mj| z(=(+^z)prjpit^Wa|zC>AX$bTOl7n}g7VP8;r-BTy3G1*vy-V$&g4pvB+%$$He1fH z4iL-~sBU$5?^pnBjiPX7DpQ((nO;JpvSkf}tUSp^*etMeCKy zMpkO3RL-4aJ*H+|;-aV{S3tQOR0uTO~GDm=fT1bj_L}hq(WFqz~REGq$XRc+HA416MK)1DAb-Qm2~yU zc!V}ZGo+TzrzRnJaU8M~3)-;J_Hw{am$FlX^SR1okj-K2NPnW!CX!QANwHO=R4`7X z8$3EZOmobZGMPMvB;=wcurD*EbD4C|hq@jfhAVUOb~@>gIceCydAQi>_^GnluBI|m zx_^z8iLyD$*qkZ2HRvQ;U>mf)a^*C|nboOgu+;P`jk1XL4Ikb2U@)qV4;~%WLsF}0 zT=Tn_f#>1a1Cm1>EHbodXfz2wR<%});ncYbzj}&Zz93ec-?<~Hjd?tOR*!C2ojN|U zf1e5p(hKJ?+SrnGxoA8Lsue3HH+qJVW2A<8V$@^;bS%b6I<1Zm4eu2{Ud z6=?HpkWWg-jMFl$y@=TCTZ$tVA*P`RSZMX=P0TuTv}nejqebmpjHPD_dXfq-CdoQ0 z9+Jjh5Fy30^{W#jbf6rh`wj&AhW8#n4vQ?y^o0SLfnTC$2;iQ21r9z!8@CE( zgeBS`xhPnKEz;kKqhh55`5Q`+CoOW$Pjcc?mC0NglK=@*`DAX&_AG6h<&3l9$e=7j zDlH9?rBd=DHChr0F||ASkQr7fUZj?;HkV(j4V+?u&d8$REdEZGrr}xwL(~##C7lg0 zs};^w`zGu|)4`a|0BBZ69K<2ir*t1Gcy_UOI+bZP9aM_q z{FRIrtYvIpQ*l+u%*e(LQj;@qQRJ{fKq&y zr5-O~O(Nm}lg^3zN#?P-3Z_+=NCCvCXTsuoD%NgUh)T+ofgF%4gHD!VOu4i#QzfS9 zEb~}G!%0-8rs>JS?(0rD zJHyxB!RaxpKIDy}!_f5ynCifP{%o~wgiBVuZv+0uviq;Q*wC2V?r70_G0Sk|uYHu&DYGIB-S z-(uwnrdZ{{b09&ND{wlU$i0}@#oJT!Bp#F-k5$k2Ui`9H3LwX^~!Won!k2yuJV7rnd)`+d~=nV=@+1Y zWP0A2%KSHvT;++>JlQ*WVPJ}zoKKd#eVM;57b(RJ&fA!*S&W;f5FcVOeuF`(=iXks z=AJ)IgpB2RW;ksYl6dl}SIhHgXr?kQ&dF8t#}vVvbS$$!#AI=Eb=`ggs(fy_Qn9yP zcm|WnCh-(YKWd+U;pf*rsbb7-;^*hpe8^R9UgnRho;-LX^m7_txZFmfP~-~h=kQ5$ znCVIL=WF&{rZN%DH&fnQ%{Nc>&wTTgscpWQ%A=S0W@_&hM4@bKZ- zPlUb!47Yrs@c$|A(;j|4?S01cFFgO`b+u&GU3WitIQF+fx6BKCe6%6(|DOU`piZg8 zb8J`S0=}WL_V6PyC9Q0Z?6~g#o%&@DzpBm2hd|7R0IQkXB-9bq_r7`>)#9CZdrwav zuI<}ZjQh8IwFAxHL8Sk*_gT-s^vaXh{m*(=YZ`UcdzJ*xde6Dp5NUlK4rh73wZX%icF(~n4_eXwZ zOf|Kl>L$rt>OJar40w;?H21`^WllYjzUw}|BRS^x?1psUKc>EcJv?Cx=oh#z48h94 zFNnE4r+jP{)<_?f`hv7QhkflgMxwPU#w}@P)ZSaeHWpjFxTVDsG=O!(R!F$Dhg4P- zJ@<0xxO`6gi-b>T%`WmWgIr`xJ#zb%Bvj%rA?h~oBm!g?tz5Z!wTf};ov$`SC7TaH zwTBKPb@)h4E9l-V;Rdu}!)~-;x6oJ}sivkCE2``^u{Vd{E`|;xrP+mzX>4q3tCDtk zkNI7LUdkUljFct~n|3=jN24mH_Y+1Sdc?00or>dzMAJKcHON?O(V}KVS7`$29r%BL zP3^Gnv%O>apm&5%*dVtO^o}6ICft4{=$+FL6^==bxU%FJqxMk5-4QOJ+7WC7W zZ8c44Y_t^1&_T-tY5S&8CAv_!9en?Z%eS%d*s)Pu4?le3go<%{qp!Nazw0%6De$f>&7NhNPzocpWHk8;_+mG>h6M}ydV2#wVNhF6uQ88+E0?zFZas}w6>ikgA#$0n8NfDlw-9r?I7^H%a{nw!g~X>KN; zrl>35ksHg$eW16JPt)97K238o`7}jc`95XjD>(g|Sk%0C;5(^VPc6Va2q!u>H5`iE*JgmB@8ULDBMK5^Q)m=^*MIWR0kk0in|JNlYx5Dmr(e2&AN3}+O;s;wWIKZqe5#Z2hyfU+u7;Tp7z(C z!1Q}UXpJKhzL{~j$!^C6Ix@>LYq;Wwr%U~-WS_|EvQD?Wzh>)J-_uB z?0iv6OIzF84F_ZINn^Oqi?qk0KjGrQZ{Gs&-rs~TQ2)_YKvUD2H60x)#$Bz3 zMUTLXSiD1zYUxs!^pwByMe&`sg+g{pwX9t?8k?3{+o0PupP_EMdwWM?|5P%4i06-Z zkE^@yyKm3l{rewy;K-3<2Db^gP1_=$^8KD2NbcChkg8CarL^jV*~M zkc7FbW$yB*wN+2x+|KK(t!UBK-EN=l{sgi&k5Ms8CpvfceD?Oo-`0jkw6!DE zz8QH#BltJ+Idc9S?m?nYUcRoYACu}M7kphmD>h=h=0%?LA;8xu$JaR-KJI_pgN=@< z)0spA_9ZvNf*#K%nviTk@1MygT99l)$2BZ!Zo@kEn8?%=z35-}n>d&EUyZ<;hsLt! zWA6#B1Jlp$6CT2jo0{}pB{yXIO6Ij4@FzQVxm~ksM7xtEOH@n~wn6`GU0~fc;`YJf z*0wckVcJ>%s$vuV;nRF4v0FK@6WL4Ajse%yBM5KhZfx9MgB0sv=SEr)$*tSKSS9|*^#PV`eHx7hAH7l{c_XmzSb@|8MOdMI{IimXNT9T&jwm+3uDst1oAeJIu> zwKPN*{tOd9GnNXq>uTOVsu;K2o2AhvXlK*b8YOZ`s43+BS&-JFVM!Q6FdUbJowdep z88*4R=8LB0aaThF>S{*2o7>#F5{-B?u^{>)?(1($HpWL-)2BMH%2A7*ytoePtI5)F zd@ndu3(SKNzh$XfU>-?G`b9iefRFHF&3(&@UYrj?y5bUe7ncybxCGY4e}MdNdU1)Ai%UFQTt~ju2&@C#Hah~xB~~pi zcaL$2L5oXt8J_Vl{-ma~4jE%0hgH;q({c;5#@{)h7MziEgWrF@ic6%JS6e)W6>eW` z7MJp~vbcJlmG$e$I#F9tM_KK6M2SlPRb0ZR;u0(smk_DA1V+Ur94amg*tmo~#Ui@d9sn{(td) zf`C{(@|*qphgF>Z@2yCjF8NISJNUn)R+~2F1{KY@Xyd#P<0`*-2EPi7r4z2i5)0#* zF|GsaEevzVH5|eSl)^O`Cy`mB^<-$v<08&x4bQX*cTsl`2(YSxCRV2B-`kSAz zrBQtt!4?9l%m;Fm$)Zs_52!v3cBGF=6%miObpKLvYXJS3wD zSr6_9h{olqy>;|MH>)pCJ!q52u==5AwD?gZ#Zw}K+=-FT&1An59J~*4&@`vi+<}v5B>y($159eGAL+-&hr*TKt?EJA>@@9W?h`)bR7sSaKaJu&59t%H|S zN(}yMz;i*(ncY(f`9Q1YT^;Xobcmtnxx4nV_9kb282oqY;28_6uetNzUx0qltT#CS zxfl8WXW;Gnf{WC@1#IUt!u&RD6~;R}z;?aD7WB-5_s)VJ0jyWCc%lUjoB=%Y5iM^E z>MsGl3jHu=3G{Ofusy4R^e+IG6*};Qe-p4?<7xPHz|&6oi-6Nc-%GGQ`VL@w4gkyl zHQ+G^@1bM3eq#Ty{x&4?4!j1ieov(9+YH#Qzgobb-?y{yl1NFfbCk5 z^`8K&m++e3UF^O ztPkSf25iq;ApAYRa_3>{=SRGra_aN21m%m~T@YXi);k}-KA!5b{f8|Mz}s^V$Zrc^ zdrku3BY^F>CWMoKWu@1OEi@X@}o(EWzFOuLt~Gh)<}k zfaU(slx#ODFq^?VEL@d9AZH=lvZiGLC>*Mo1H@}CB5 z&%Gf2OMvx#sHXo4@$jd-T_gUt0o$_|2>$_KdyWR-jezZ0JcPdoSl?gj@;?H6CTwq9 z{a3*D`~%W|0N9=hL-=Qa^2d$s}LrvTe?LI^(( z*q-}Am}eo_vkC~m0l4DG^REG4aNxfJ{A;2966${ge%^s&xP_xX!7zkA;;I$!vrhRR z!GGDa8(5#}x*$RO{nOinss8D{Ajwp=f4VI-Fn9jOgD^EQ9)Wf^q$l zN+tDATK{D6qvKwR{3%yvvRUk*3WEIyf}vx35AP2K_CIj&NDwFlCEM_Qgx+G~VnKqT z(#608yQeF~QaMP@TtM{w)O0>m$)tO>gHs&}C;SnCMTkN~99j~wxapaxsf(&O{sc}C z=wS@9lU*BZ$uj#6C(mZ~jg9R?b%=N_9mJlxX~eRf9NylaD`blSPe{N41&G|L20_dT zcdy2WS3}U}gzxuEBUls?*>D8ez6m{r`}D(I@ZrXF?(yS($#8qP*@kVlPGhHGDoA#l zFu~%jdizd08oCR251Z2wLb!IrFJZaCN$nO;yC>3YV>CMtZI~F; zWcLl)t$xn#JOuuWS?xbE2%|y|LoFs^_J$#})LaeCEn;zPXm2f<$ra%lAZ+b+x`@rr znNk;W*mA_ZYE9LN#SO!iDG}&R0HX<$td_r3tge_1q6%T7`D9^YCOMH|0AwMZET!!} zX0R74(~+w7_zE4Z2vis_9ULFrJGwU@zcwb<(YZZ?@-RxqtntjIKFuL1BK8C{I zAPRYQlr;J27EI@pm29zuvjyx~3;M(iL`cpGbe|JfAsMwqpV(pP;?8dOps=Hpq_jp-OvOq+>u8K1m}TbX5EJ2vlS1^NB-W(r zg?XbULu{%yMMA@{5%iFqClSnQLNzA6wrOE0eIAXK;MNi8#_VNaT90M&s`1id5u8ss z!9gbDp(u0M4<^Q4^^`A8Rg&ZQ#Q_rXJ84r0pRcH%Qc;@Rlfe-ooNrZ6)w8OeswY-G znyzeqU>vGP{y~x{o}bYpA&))D3W6BNaU22g>CE`d1iUo-Srw%CA!>Xa(Zm))_%!O* zg^Vy7fXFtVG;o4dxR_!Pd01JgFri^Asc!394JxiDv2>NS*=dsA&%FgQ_;m?*K{KFMW{lnj4N?#WD8vt#ZnA9ICRqoL={BLnAYSYaB!T-eBm^>iU zTo(7+fNh#6-Zzd|p#WP^-$t5rRxj^u_0*p_uVRSf-=EB)`xm%L#{qreW$Auo=qzI8 z1D<-sdG$g%UjGAsHcfaM->Z9{#%(T(#rX@RyC{K)m* cS$x9NX|Lr6vlJUOWNJypQ~$>T__cKZA8mfLr~m)} literal 0 HcmV?d00001 diff --git a/.pio/build/xiao-esp32c6/CMakeFiles/CMakeConfigureLog.yaml b/.pio/build/xiao-esp32c6/CMakeFiles/CMakeConfigureLog.yaml new file mode 100644 index 0000000..75b7056 --- /dev/null +++ b/.pio/build/xiao-esp32c6/CMakeFiles/CMakeConfigureLog.yaml @@ -0,0 +1,2067 @@ + +--- +events: + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineSystem.cmake:200 (message)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:624 (__project)" + - "CMakeLists.txt:3 (project)" + message: | + The target system is: Generic - - + The host system is: Linux - 6.18.34+rpt-rpi-2712 - aarch64 + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:624 (__project)" + - "CMakeLists.txt:3 (project)" + message: | + Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. + Compiler: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc + Build flags: @/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags + Id flags: + + The output was: + 0 + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-closer.o): in function `_close_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/closer.c:47:(.text._close_r+0x14): warning: _close is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-lseekr.o): in function `_lseek_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/lseekr.c:49:(.text._lseek_r+0x18): warning: _lseek is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-readr.o): in function `_read_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/readr.c:49:(.text._read_r+0x18): warning: _read is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-writer.o): in function `_write_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/writer.c:49:(.text._write_r+0x18): warning: _write is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-fclose.o): in function `fclose': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/fclose.c:125:(.text.fclose+0x6): warning: __getreent is not implemented and will always fail + + + Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + + The C compiler identification is GNU, found in: + /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdC/a.out + + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:624 (__project)" + - "CMakeLists.txt:3 (project)" + message: | + Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. + Compiler: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ + Build flags: @/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags + Id flags: + + The output was: + 0 + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-closer.o): in function `_close_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/closer.c:47:(.text._close_r+0x14): warning: _close is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-lseekr.o): in function `_lseek_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/lseekr.c:49:(.text._lseek_r+0x18): warning: _lseek is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-readr.o): in function `_read_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/readr.c:49:(.text._read_r+0x18): warning: _read is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-writer.o): in function `_write_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/writer.c:49:(.text._write_r+0x18): warning: _write is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-fclose.o): in function `fclose': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/fclose.c:125:(.text.fclose+0x6): warning: __getreent is not implemented and will always fail + + + Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + + The CXX compiler identification is GNU, found in: + /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/3.30.2/CompilerIdCXX/a.out + + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:1192 (message)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineASMCompiler.cmake:135 (CMAKE_DETERMINE_COMPILER_ID_VENDOR)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:624 (__project)" + - "CMakeLists.txt:3 (project)" + message: | + Checking whether the ASM compiler is GNU using "--version" matched "(GNU assembler)|(GCC)|(Free Software Foundation)": + riscv32-esp-elf-gcc (crosstool-NG esp-15.2.0_20251204) 15.2.0 + Copyright (C) 2025 Free Software Foundation, Inc. + This is free software; see the source for copying conditions. There is NO + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + - + kind: "try_compile-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:624 (__project)" + - "CMakeLists.txt:3 (project)" + checks: + - "Detecting C compiler ABI info" + directories: + source: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-uq7jU1" + binary: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-uq7jU1" + cmakeVariables: + CMAKE_C_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags\"" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags\"" + CMAKE_MODULE_PATH: "/home/claw/.platformio/packages/framework-espidf/tools/cmake;/home/claw/.platformio/packages/framework-espidf/tools/cmake/third_party" + buildResult: + variable: "CMAKE_C_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-uq7jU1' + + Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_19351 + [1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" -v -o CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c + Using built-in specs. + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.obj' '-c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'CMakeFiles/cmTC_19351.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1 -quiet -v -imultilib . -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_19351.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf -version -o /tmp/ccI9s7qI.s + GNU C23 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf) + compiled by GNU C version 6.3.0 20170516, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include" + ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include" + #include "..." search starts here: + #include <...> search starts here: + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include + End of search list. + Compiler executable checksum: 55f261104f1eeb8c8d6812a84966af74 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.obj' '-c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'CMakeFiles/cmTC_19351.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc -march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.obj /tmp/ccI9s7qI.s + GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45 + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.obj' '-c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.' + [2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.obj -o cmTC_19351 && : + Using built-in specs. + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc + COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_19351' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'cmTC_19351.' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccQRHLrF.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_19351 /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/crt0.o /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/ccaW03AU -lgcc -lc -lnosys -lc -lgcc /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtend.o + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-closer.o): in function `_close_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/closer.c:47:(.text._close_r+0x14): warning: _close is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-lseekr.o): in function `_lseek_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/lseekr.c:49:(.text._lseek_r+0x18): warning: _lseek is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-readr.o): in function `_read_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/readr.c:49:(.text._read_r+0x18): warning: _read is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-writer.o): in function `_write_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/writer.c:49:(.text._write_r+0x18): warning: _write is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-fclose.o): in function `fclose': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/fclose.c:125:(.text.fclose+0x6): warning: __getreent is not implemented and will always fail + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_19351' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'cmTC_19351.' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:624 (__project)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed C implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + end of search list found + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + implicit include dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + + + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:624 (__project)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed C implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-uq7jU1'] + ignore line: [] + ignore line: [Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_19351] + ignore line: [[1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" -v -o CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.obj' '-c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'CMakeFiles/cmTC_19351.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1 -quiet -v -imultilib . -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_19351.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf -version -o /tmp/ccI9s7qI.s] + ignore line: [GNU C23 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf)] + ignore line: [ compiled by GNU C version 6.3.0 20170516 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include"] + ignore line: [ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 55f261104f1eeb8c8d6812a84966af74] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.obj' '-c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'CMakeFiles/cmTC_19351.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc -march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.obj /tmp/ccI9s7qI.s] + ignore line: [GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.obj' '-c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.'] + ignore line: [[2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_19351.dir/CMakeCCompilerABI.c.obj -o cmTC_19351 && :] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc] + ignore line: [COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_19351' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'cmTC_19351.'] + link line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccQRHLrF.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_19351 /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/crt0.o /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/ccaW03AU -lgcc -lc -lnosys -lc -lgcc /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtend.o] + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccQRHLrF.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lnosys] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf] ==> ignore + arg [-melf32lriscv] ==> ignore + arg [-X] ==> ignore + arg [-o] ==> ignore + arg [cmTC_19351] ==> ignore + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/crt0.o] ==> obj [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/crt0.o] + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o] ==> obj [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] + arg [@/tmp/ccaW03AU] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lnosys] ==> lib [nosys] + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtend.o] ==> obj [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtend.o] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-closer.o): in function `_close_r':] + ignore line: [/builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/closer.c:47:(.text._close_r+0x14): warning: _close is not implemented and will always fail] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-lseekr.o): in function `_lseek_r':] + ignore line: [/builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/lseekr.c:49:(.text._lseek_r+0x18): warning: _lseek is not implemented and will always fail] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-readr.o): in function `_read_r':] + ignore line: [/builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/readr.c:49:(.text._read_r+0x18): warning: _read is not implemented and will always fail] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-writer.o): in function `_write_r':] + ignore line: [/builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/writer.c:49:(.text._write_r+0x18): warning: _write is not implemented and will always fail] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-fclose.o): in function `fclose':] + ignore line: [/builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/fclose.c:125:(.text.fclose+0x6): warning: __getreent is not implemented and will always fail] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_19351' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'cmTC_19351.'] + ignore line: [] + ignore line: [] + collapse obj [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/crt0.o] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/crt0.o] + collapse obj [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o] + collapse obj [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtend.o] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/crtend.o] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit libs: [gcc;c;nosys;c;gcc] + implicit objs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/crt0.o;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/crtend.o] + implicit dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit fwks: [] + + + - + kind: "try_compile-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:624 (__project)" + - "CMakeLists.txt:3 (project)" + checks: + - "Detecting CXX compiler ABI info" + directories: + source: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-EriVMB" + binary: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-EriVMB" + cmakeVariables: + CMAKE_CXX_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags\"" + CMAKE_CXX_FLAGS_DEBUG: "-g" + CMAKE_CXX_SCAN_FOR_MODULES: "OFF" + CMAKE_EXE_LINKER_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags\"" + CMAKE_MODULE_PATH: "/home/claw/.platformio/packages/framework-espidf/tools/cmake;/home/claw/.platformio/packages/framework-espidf/tools/cmake/third_party" + buildResult: + variable: "CMAKE_CXX_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-EriVMB' + + Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_7946c + [1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" -v -o CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp + Using built-in specs. + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'CMakeFiles/cmTC_7946c.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1plus -quiet -v -imultilib . -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_7946c.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf -version -o /tmp/ccB3g10O.s + GNU C++17 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf) + compiled by GNU C version 6.3.0 20170516, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/." + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include" + ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include" + #include "..." search starts here: + #include <...> search starts here: + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0 + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/. + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include + End of search list. + Compiler executable checksum: 32cef37832cd37e880dc86ec51f00a14 + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'CMakeFiles/cmTC_7946c.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc -march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccB3g10O.s + GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45 + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.' + [2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_7946c && : + Using built-in specs. + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ + COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_7946c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'cmTC_7946c.' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccYWC9z8.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_7946c /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/crt0.o /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/cc9SDP9H -lgcc -lc -lnosys -lc -lgcc /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtend.o + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-closer.o): in function `_close_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/closer.c:47:(.text._close_r+0x14): warning: _close is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-lseekr.o): in function `_lseek_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/lseekr.c:49:(.text._lseek_r+0x18): warning: _lseek is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-readr.o): in function `_read_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/readr.c:49:(.text._read_r+0x18): warning: _read is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-writer.o): in function `_write_r': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/writer.c:49:(.text._write_r+0x18): warning: _write is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-fclose.o): in function `fclose': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/fclose.c:125:(.text.fclose+0x6): warning: __getreent is not implemented and will always fail + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_7946c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'cmTC_7946c.' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:624 (__project)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed CXX implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/.] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + end of search list found + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/.] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/backward] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + implicit include dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/backward;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + + + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:624 (__project)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed CXX implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-EriVMB'] + ignore line: [] + ignore line: [Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_7946c] + ignore line: [[1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" -v -o CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'CMakeFiles/cmTC_7946c.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1plus -quiet -v -imultilib . -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_7946c.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf -version -o /tmp/ccB3g10O.s] + ignore line: [GNU C++17 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf)] + ignore line: [ compiled by GNU C version 6.3.0 20170516 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/."] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include"] + ignore line: [ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/.] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 32cef37832cd37e880dc86ec51f00a14] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'CMakeFiles/cmTC_7946c.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc -march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccB3g10O.s] + ignore line: [GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [[2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_7946c.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_7946c && :] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++] + ignore line: [COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_7946c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'cmTC_7946c.'] + link line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccYWC9z8.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_7946c /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/crt0.o /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/cc9SDP9H -lgcc -lc -lnosys -lc -lgcc /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtend.o] + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccYWC9z8.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lnosys] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf] ==> ignore + arg [-melf32lriscv] ==> ignore + arg [-X] ==> ignore + arg [-o] ==> ignore + arg [cmTC_7946c] ==> ignore + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/crt0.o] ==> obj [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/crt0.o] + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o] ==> obj [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] + arg [@/tmp/cc9SDP9H] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lnosys] ==> lib [nosys] + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtend.o] ==> obj [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtend.o] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-closer.o): in function `_close_r':] + ignore line: [/builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/closer.c:47:(.text._close_r+0x14): warning: _close is not implemented and will always fail] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-lseekr.o): in function `_lseek_r':] + ignore line: [/builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/lseekr.c:49:(.text._lseek_r+0x18): warning: _lseek is not implemented and will always fail] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-readr.o): in function `_read_r':] + ignore line: [/builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/readr.c:49:(.text._read_r+0x18): warning: _read is not implemented and will always fail] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-writer.o): in function `_write_r':] + ignore line: [/builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/reent/writer.c:49:(.text._write_r+0x18): warning: _write is not implemented and will always fail] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/libc.a(libc_a-fclose.o): in function `fclose':] + ignore line: [/builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/newlib/newlib/libc/stdio/fclose.c:125:(.text.fclose+0x6): warning: __getreent is not implemented and will always fail] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_7946c' '-march=rv32imafdc_zicsr_zifencei_zaamo_zalrsc' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd_zcf' '-dumpdir' 'cmTC_7946c.'] + ignore line: [] + ignore line: [] + collapse obj [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/crt0.o] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/crt0.o] + collapse obj [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o] + collapse obj [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/crtend.o] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/crtend.o] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit libs: [gcc;c;nosys;c;gcc] + implicit objs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/crt0.o;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/crtbegin.o;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/crtend.o] + implicit dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit fwks: [] + + + - + kind: "try_compile-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/components/soc/project_include.cmake:83 (idf_toolchain_rerun_abi_detection)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:519 (include)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:793 (__build_process_project_includes)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:775 (idf_build_process)" + - "CMakeLists.txt:3 (project)" + checks: + - "Detecting C compiler ABI info" + directories: + source: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-5yQv39" + binary: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-5yQv39" + cmakeVariables: + CMAKE_C_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags\"" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags\"" + CMAKE_MODULE_PATH: "/home/claw/.platformio/packages/framework-espidf/tools/cmake;/home/claw/.platformio/packages/framework-espidf/tools/cmake/third_party" + buildResult: + variable: "CMAKE_C_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-5yQv39' + + Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_6c361 + [1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" -v -o CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c + Using built-in specs. + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-v' '-o' 'CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_6c361.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1 -quiet -v -imultilib rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_6c361.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -version -o /tmp/ccZRVydw.s + GNU C23 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf) + compiled by GNU C version 6.3.0 20170516, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include" + ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include" + #include "..." search starts here: + #include <...> search starts here: + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include + End of search list. + Compiler executable checksum: 55f261104f1eeb8c8d6812a84966af74 + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-v' '-o' 'CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_6c361.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.obj /tmp/ccZRVydw.s + GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45 + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-v' '-o' 'CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.' + [2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.obj -o cmTC_6c361 && : + Using built-in specs. + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc + COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-nostartfiles' '-v' '-o' 'cmTC_6c361' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_6c361.' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccuZEX0a.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_6c361 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/ccsU6Eao -lgcc -lc -lnosys -lc -lgcc + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start; defaulting to 00010094 + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-nostartfiles' '-v' '-o' 'cmTC_6c361' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_6c361.' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/components/soc/project_include.cmake:83 (idf_toolchain_rerun_abi_detection)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:519 (include)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:793 (__build_process_project_includes)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:775 (idf_build_process)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed C implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + end of search list found + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + implicit include dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + + + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/components/soc/project_include.cmake:83 (idf_toolchain_rerun_abi_detection)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:519 (include)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:793 (__build_process_project_includes)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:775 (idf_build_process)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed C implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-5yQv39'] + ignore line: [] + ignore line: [Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_6c361] + ignore line: [[1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" -v -o CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-v' '-o' 'CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_6c361.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1 -quiet -v -imultilib rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_6c361.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -version -o /tmp/ccZRVydw.s] + ignore line: [GNU C23 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf)] + ignore line: [ compiled by GNU C version 6.3.0 20170516 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include"] + ignore line: [ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 55f261104f1eeb8c8d6812a84966af74] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-v' '-o' 'CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_6c361.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.obj /tmp/ccZRVydw.s] + ignore line: [GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-v' '-o' 'CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.'] + ignore line: [[2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_6c361.dir/CMakeCCompilerABI.c.obj -o cmTC_6c361 && :] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc] + ignore line: [COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-nostartfiles' '-v' '-o' 'cmTC_6c361' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_6c361.'] + link line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccuZEX0a.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_6c361 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/ccsU6Eao -lgcc -lc -lnosys -lc -lgcc] + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccuZEX0a.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lnosys] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf] ==> ignore + arg [-melf32lriscv] ==> ignore + arg [-X] ==> ignore + arg [-o] ==> ignore + arg [cmTC_6c361] ==> ignore + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] + arg [@/tmp/ccsU6Eao] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lnosys] ==> lib [nosys] + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start] + ignore line: [ defaulting to 00010094] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-nostartfiles' '-v' '-o' 'cmTC_6c361' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_6c361.'] + ignore line: [] + ignore line: [] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit libs: [gcc;c;nosys;c;gcc] + implicit objs: [] + implicit dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit fwks: [] + + + - + kind: "try_compile-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/components/soc/project_include.cmake:83 (idf_toolchain_rerun_abi_detection)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:519 (include)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:793 (__build_process_project_includes)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:775 (idf_build_process)" + - "CMakeLists.txt:3 (project)" + checks: + - "Detecting CXX compiler ABI info" + directories: + source: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-KZup5W" + binary: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-KZup5W" + cmakeVariables: + CMAKE_CXX_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags\"" + CMAKE_CXX_FLAGS_DEBUG: "-g" + CMAKE_CXX_SCAN_FOR_MODULES: "OFF" + CMAKE_EXE_LINKER_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags\"" + CMAKE_MODULE_PATH: "/home/claw/.platformio/packages/framework-espidf/tools/cmake;/home/claw/.platformio/packages/framework-espidf/tools/cmake/third_party" + buildResult: + variable: "CMAKE_CXX_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-KZup5W' + + Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_ab08e + [1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" -v -o CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp + Using built-in specs. + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-v' '-o' 'CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_ab08e.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1plus -quiet -v -imultilib rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_ab08e.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -version -o /tmp/ccDKYD26.s + GNU C++17 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf) + compiled by GNU C version 6.3.0 20170516, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include" + ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include" + #include "..." search starts here: + #include <...> search starts here: + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0 + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include + End of search list. + Compiler executable checksum: 32cef37832cd37e880dc86ec51f00a14 + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-v' '-o' 'CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_ab08e.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccDKYD26.s + GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45 + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-v' '-o' 'CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.' + [2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_ab08e && : + Using built-in specs. + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ + COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-nostartfiles' '-v' '-o' 'cmTC_ab08e' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_ab08e.' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbmFSP1.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_ab08e -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/cczIsGtm -lgcc -lc -lnosys -lc -lgcc + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start; defaulting to 00010094 + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-nostartfiles' '-v' '-o' 'cmTC_ab08e' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_ab08e.' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/components/soc/project_include.cmake:83 (idf_toolchain_rerun_abi_detection)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:519 (include)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:793 (__build_process_project_includes)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:775 (idf_build_process)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed CXX implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + end of search list found + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/backward] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + implicit include dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/backward;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + + + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/components/soc/project_include.cmake:83 (idf_toolchain_rerun_abi_detection)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:519 (include)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:793 (__build_process_project_includes)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:775 (idf_build_process)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed CXX implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-KZup5W'] + ignore line: [] + ignore line: [Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_ab08e] + ignore line: [[1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" -v -o CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-v' '-o' 'CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_ab08e.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1plus -quiet -v -imultilib rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_ab08e.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -version -o /tmp/ccDKYD26.s] + ignore line: [GNU C++17 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf)] + ignore line: [ compiled by GNU C version 6.3.0 20170516 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include"] + ignore line: [ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 32cef37832cd37e880dc86ec51f00a14] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-v' '-o' 'CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_ab08e.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccDKYD26.s] + ignore line: [GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-v' '-o' 'CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [[2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_ab08e.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_ab08e && :] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++] + ignore line: [COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-nostartfiles' '-v' '-o' 'cmTC_ab08e' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_ab08e.'] + link line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccbmFSP1.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lnosys -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_ab08e -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/cczIsGtm -lgcc -lc -lnosys -lc -lgcc] + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccbmFSP1.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lnosys] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf] ==> ignore + arg [-melf32lriscv] ==> ignore + arg [-X] ==> ignore + arg [-o] ==> ignore + arg [cmTC_ab08e] ==> ignore + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] + arg [@/tmp/cczIsGtm] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lnosys] ==> lib [nosys] + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start] + ignore line: [ defaulting to 00010094] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-nostartfiles' '-v' '-o' 'cmTC_ab08e' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_ab08e.'] + ignore line: [] + ignore line: [] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit libs: [gcc;c;nosys;c;gcc] + implicit objs: [] + implicit dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit fwks: [] + + + - + kind: "try_compile-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/components/esp_libc/project_include.cmake:63 (idf_toolchain_rerun_abi_detection)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:519 (include)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:793 (__build_process_project_includes)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:775 (idf_build_process)" + - "CMakeLists.txt:3 (project)" + checks: + - "Detecting C compiler ABI info" + directories: + source: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-jeqesh" + binary: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-jeqesh" + cmakeVariables: + CMAKE_C_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags\"" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags\"" + CMAKE_MODULE_PATH: "/home/claw/.platformio/packages/framework-espidf/tools/cmake;/home/claw/.platformio/packages/framework-espidf/tools/cmake/third_party" + buildResult: + variable: "CMAKE_C_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-jeqesh' + + Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_5a2e7 + [1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" -v -o CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c + Using built-in specs. + Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs + rename spec link to picolibc_link + rename spec link_libgcc to picolibc_link_libgcc + rename spec cpp to picolibc_cpp + rename spec cc1 to picolibc_cc1 + rename spec cc1plus to picolibc_cc1plus + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_5a2e7.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1 -quiet -v -imultilib rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c -ftls-model=local-exec -mstack-protector-guard=global -quiet -dumpdir CMakeFiles/cmTC_5a2e7.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -version -o /tmp/cclLyqxz.s + GNU C23 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf) + compiled by GNU C version 6.3.0 20170516, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include" + ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include" + #include "..." search starts here: + #include <...> search starts here: + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include + End of search list. + Compiler executable checksum: 55f261104f1eeb8c8d6812a84966af74 + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_5a2e7.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.obj /tmp/cclLyqxz.s + GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45 + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.' + [2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.obj -o cmTC_5a2e7 && : + Using built-in specs. + Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs + rename spec link to picolibc_link + rename spec link_libgcc to picolibc_link_libgcc + rename spec cpp to picolibc_cpp + rename spec cc1 to picolibc_cc1 + rename spec cc1plus to picolibc_cc1plus + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc + COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-v' '-o' 'cmTC_5a2e7' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_5a2e7.' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccUHMdrw.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib -Tpicolibc.ld --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_5a2e7 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/ccQlSN6F -lgcc --start-group -lgcc -lc --end-group -lgcc + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start; defaulting to 10000000 + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-v' '-o' 'cmTC_5a2e7' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_5a2e7.' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/components/esp_libc/project_include.cmake:63 (idf_toolchain_rerun_abi_detection)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:519 (include)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:793 (__build_process_project_includes)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:775 (idf_build_process)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed C implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + end of search list found + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/include] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + implicit include dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + + + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/components/esp_libc/project_include.cmake:63 (idf_toolchain_rerun_abi_detection)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:519 (include)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:793 (__build_process_project_includes)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:775 (idf_build_process)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed C implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-jeqesh'] + ignore line: [] + ignore line: [Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_5a2e7] + ignore line: [[1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" -v -o CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs] + ignore line: [rename spec link to picolibc_link] + ignore line: [rename spec link_libgcc to picolibc_link_libgcc] + ignore line: [rename spec cpp to picolibc_cpp] + ignore line: [rename spec cc1 to picolibc_cc1] + ignore line: [rename spec cc1plus to picolibc_cc1plus] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_5a2e7.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1 -quiet -v -imultilib rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c -ftls-model=local-exec -mstack-protector-guard=global -quiet -dumpdir CMakeFiles/cmTC_5a2e7.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -version -o /tmp/cclLyqxz.s] + ignore line: [GNU C23 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf)] + ignore line: [ compiled by GNU C version 6.3.0 20170516 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include"] + ignore line: [ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 55f261104f1eeb8c8d6812a84966af74] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_5a2e7.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.obj /tmp/cclLyqxz.s] + ignore line: [GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.'] + ignore line: [[2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_5a2e7.dir/CMakeCCompilerABI.c.obj -o cmTC_5a2e7 && :] + ignore line: [Using built-in specs.] + ignore line: [Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs] + ignore line: [rename spec link to picolibc_link] + ignore line: [rename spec link_libgcc to picolibc_link_libgcc] + ignore line: [rename spec cpp to picolibc_cpp] + ignore line: [rename spec cc1 to picolibc_cc1] + ignore line: [rename spec cc1plus to picolibc_cc1plus] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc] + ignore line: [COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-v' '-o' 'cmTC_5a2e7' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_5a2e7.'] + link line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccUHMdrw.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib -Tpicolibc.ld --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_5a2e7 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/ccQlSN6F -lgcc --start-group -lgcc -lc --end-group -lgcc] + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccUHMdrw.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib] + arg [-Tpicolibc.ld] ==> ignore + arg [--sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf] ==> ignore + arg [-melf32lriscv] ==> ignore + arg [-X] ==> ignore + arg [-o] ==> ignore + arg [cmTC_5a2e7] ==> ignore + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] + arg [@/tmp/ccQlSN6F] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--start-group] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [--end-group] ==> ignore + arg [-lgcc] ==> lib [gcc] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start] + ignore line: [ defaulting to 10000000] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-v' '-o' 'cmTC_5a2e7' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_5a2e7.'] + ignore line: [] + ignore line: [] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit libs: [gcc;gcc;c;gcc] + implicit objs: [] + implicit dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit fwks: [] + + + - + kind: "try_compile-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/components/esp_libc/project_include.cmake:63 (idf_toolchain_rerun_abi_detection)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:519 (include)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:793 (__build_process_project_includes)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:775 (idf_build_process)" + - "CMakeLists.txt:3 (project)" + checks: + - "Detecting CXX compiler ABI info" + directories: + source: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-Hgo39u" + binary: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-Hgo39u" + cmakeVariables: + CMAKE_CXX_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags\"" + CMAKE_CXX_FLAGS_DEBUG: "-g" + CMAKE_CXX_SCAN_FOR_MODULES: "OFF" + CMAKE_EXE_LINKER_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags\"" + CMAKE_MODULE_PATH: "/home/claw/.platformio/packages/framework-espidf/tools/cmake;/home/claw/.platformio/packages/framework-espidf/tools/cmake/third_party" + buildResult: + variable: "CMAKE_CXX_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-Hgo39u' + + Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_f17d0 + [1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" -v -o CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp + Using built-in specs. + Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs + rename spec link to picolibc_link + rename spec link_libgcc to picolibc_link_libgcc + rename spec cpp to picolibc_cpp + rename spec cc1 to picolibc_cc1 + rename spec cc1plus to picolibc_cc1plus + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_f17d0.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1plus -quiet -v -imultilib rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -ftls-model=local-exec -mstack-protector-guard=global -quiet -dumpdir CMakeFiles/cmTC_f17d0.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -version -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -ftls-model=local-exec -mstack-protector-guard=global -o /tmp/ccFjpy85.s + GNU C++17 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf) + compiled by GNU C version 6.3.0 20170516, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include" + ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include" + #include "..." search starts here: + #include <...> search starts here: + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0 + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include + End of search list. + Compiler executable checksum: 32cef37832cd37e880dc86ec51f00a14 + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_f17d0.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccFjpy85.s + GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45 + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.' + [2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_f17d0 && : + Using built-in specs. + Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs + rename spec link to picolibc_link + rename spec link_libgcc to picolibc_link_libgcc + rename spec cpp to picolibc_cpp + rename spec cc1 to picolibc_cc1 + rename spec cc1plus to picolibc_cc1plus + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ + COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-v' '-o' 'cmTC_f17d0' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_f17d0.' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccYjxTrA.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib -Tpicolibc.ld --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_f17d0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/cc8ib1pH -lgcc --start-group -lgcc -lc --end-group -lgcc + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start; defaulting to 10000000 + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-v' '-o' 'cmTC_f17d0' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_f17d0.' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/components/esp_libc/project_include.cmake:63 (idf_toolchain_rerun_abi_detection)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:519 (include)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:793 (__build_process_project_includes)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:775 (idf_build_process)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed CXX implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + end of search list found + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/include] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/backward] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + implicit include dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/backward;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + + + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/components/esp_libc/project_include.cmake:63 (idf_toolchain_rerun_abi_detection)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:519 (include)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/build.cmake:793 (__build_process_project_includes)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/project.cmake:775 (idf_build_process)" + - "CMakeLists.txt:3 (project)" + message: | + Parsed CXX implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-Hgo39u'] + ignore line: [] + ignore line: [Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_f17d0] + ignore line: [[1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" -v -o CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs] + ignore line: [rename spec link to picolibc_link] + ignore line: [rename spec link_libgcc to picolibc_link_libgcc] + ignore line: [rename spec cpp to picolibc_cpp] + ignore line: [rename spec cc1 to picolibc_cc1] + ignore line: [rename spec cc1plus to picolibc_cc1plus] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_f17d0.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1plus -quiet -v -imultilib rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -ftls-model=local-exec -mstack-protector-guard=global -quiet -dumpdir CMakeFiles/cmTC_f17d0.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -version -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -ftls-model=local-exec -mstack-protector-guard=global -o /tmp/ccFjpy85.s] + ignore line: [GNU C++17 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf)] + ignore line: [ compiled by GNU C version 6.3.0 20170516 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include"] + ignore line: [ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 32cef37832cd37e880dc86ec51f00a14] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_f17d0.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.obj /tmp/ccFjpy85.s] + ignore line: [GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [[2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_f17d0.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_f17d0 && :] + ignore line: [Using built-in specs.] + ignore line: [Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs] + ignore line: [rename spec link to picolibc_link] + ignore line: [rename spec link_libgcc to picolibc_link_libgcc] + ignore line: [rename spec cpp to picolibc_cpp] + ignore line: [rename spec cc1 to picolibc_cc1] + ignore line: [rename spec cc1plus to picolibc_cc1plus] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++] + ignore line: [COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-v' '-o' 'cmTC_f17d0' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_f17d0.'] + link line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccYjxTrA.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib -Tpicolibc.ld --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_f17d0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/cc8ib1pH -lgcc --start-group -lgcc -lc --end-group -lgcc] + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccYjxTrA.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib] + arg [-Tpicolibc.ld] ==> ignore + arg [--sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf] ==> ignore + arg [-melf32lriscv] ==> ignore + arg [-X] ==> ignore + arg [-o] ==> ignore + arg [cmTC_f17d0] ==> ignore + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] + arg [@/tmp/cc8ib1pH] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--start-group] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [--end-group] ==> ignore + arg [-lgcc] ==> lib [gcc] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start] + ignore line: [ defaulting to 10000000] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-v' '-o' 'cmTC_f17d0' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_f17d0.'] + ignore line: [] + ignore line: [] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit libs: [gcc;gcc;c;gcc] + implicit objs: [] + implicit dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit fwks: [] + + + - + kind: "try_compile-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/CMakeLists.txt:89 (idf_toolchain_rerun_abi_detection)" + checks: + - "Detecting C compiler ABI info" + directories: + source: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-N4Utq8" + binary: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-N4Utq8" + cmakeVariables: + CMAKE_C_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags\"" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags\"" + CMAKE_MODULE_PATH: "/home/claw/.platformio/packages/framework-espidf/tools/cmake;/home/claw/.platformio/packages/framework-espidf/tools/cmake/third_party" + buildResult: + variable: "CMAKE_C_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-N4Utq8' + + Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_c5308 + [1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" -v -o CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c + Using built-in specs. + Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs + rename spec link to picolibc_link + rename spec link_libgcc to picolibc_link_libgcc + rename spec cpp to picolibc_cpp + rename spec cc1 to picolibc_cc1 + rename spec cc1plus to picolibc_cc1plus + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_c5308.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1 -quiet -v -imultilib rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c -ftls-model=local-exec -mstack-protector-guard=global -quiet -dumpdir CMakeFiles/cmTC_c5308.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -version -o /tmp/ccK43DZu.s + GNU C23 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf) + compiled by GNU C version 6.3.0 20170516, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include" + ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include" + #include "..." search starts here: + #include <...> search starts here: + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include + End of search list. + Compiler executable checksum: 55f261104f1eeb8c8d6812a84966af74 + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_c5308.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.obj /tmp/ccK43DZu.s + GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45 + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.' + [2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.obj -o cmTC_c5308 && : + Using built-in specs. + Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs + rename spec link to picolibc_link + rename spec link_libgcc to picolibc_link_libgcc + rename spec cpp to picolibc_cpp + rename spec cc1 to picolibc_cc1 + rename spec cc1plus to picolibc_cc1plus + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc + COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-fno-rtti' '-v' '-o' 'cmTC_c5308' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_c5308.' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cclXcDAk.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib -Tpicolibc.ld --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_c5308 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/cciienu8 -lgcc --start-group -lgcc -lc --end-group -lgcc + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start; defaulting to 10000000 + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-fno-rtti' '-v' '-o' 'cmTC_c5308' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_c5308.' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/CMakeLists.txt:89 (idf_toolchain_rerun_abi_detection)" + message: | + Parsed C implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + end of search list found + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/include] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + implicit include dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + + + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/CMakeLists.txt:89 (idf_toolchain_rerun_abi_detection)" + message: | + Parsed C implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-N4Utq8'] + ignore line: [] + ignore line: [Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_c5308] + ignore line: [[1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" -v -o CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs] + ignore line: [rename spec link to picolibc_link] + ignore line: [rename spec link_libgcc to picolibc_link_libgcc] + ignore line: [rename spec cpp to picolibc_cpp] + ignore line: [rename spec cc1 to picolibc_cc1] + ignore line: [rename spec cc1plus to picolibc_cc1plus] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_c5308.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1 -quiet -v -imultilib rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32 /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCCompilerABI.c -ftls-model=local-exec -mstack-protector-guard=global -quiet -dumpdir CMakeFiles/cmTC_c5308.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -version -o /tmp/ccK43DZu.s] + ignore line: [GNU C23 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf)] + ignore line: [ compiled by GNU C version 6.3.0 20170516 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include"] + ignore line: [ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 55f261104f1eeb8c8d6812a84966af74] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_c5308.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.obj /tmp/ccK43DZu.s] + ignore line: [GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-v' '-o' 'CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.'] + ignore line: [[2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_c5308.dir/CMakeCCompilerABI.c.obj -o cmTC_c5308 && :] + ignore line: [Using built-in specs.] + ignore line: [Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs] + ignore line: [rename spec link to picolibc_link] + ignore line: [rename spec link_libgcc to picolibc_link_libgcc] + ignore line: [rename spec cpp to picolibc_cpp] + ignore line: [rename spec cc1 to picolibc_cc1] + ignore line: [rename spec cc1plus to picolibc_cc1plus] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc] + ignore line: [COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-fno-rtti' '-v' '-o' 'cmTC_c5308' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_c5308.'] + link line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cclXcDAk.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib -Tpicolibc.ld --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_c5308 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/cciienu8 -lgcc --start-group -lgcc -lc --end-group -lgcc] + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cclXcDAk.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib] + arg [-Tpicolibc.ld] ==> ignore + arg [--sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf] ==> ignore + arg [-melf32lriscv] ==> ignore + arg [-X] ==> ignore + arg [-o] ==> ignore + arg [cmTC_c5308] ==> ignore + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] + arg [@/tmp/cciienu8] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--start-group] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [--end-group] ==> ignore + arg [-lgcc] ==> lib [gcc] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start] + ignore line: [ defaulting to 10000000] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-fno-rtti' '-v' '-o' 'cmTC_c5308' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_c5308.'] + ignore line: [] + ignore line: [] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit libs: [gcc;gcc;c;gcc] + implicit objs: [] + implicit dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit fwks: [] + + + - + kind: "try_compile-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/CMakeLists.txt:89 (idf_toolchain_rerun_abi_detection)" + checks: + - "Detecting CXX compiler ABI info" + directories: + source: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-qV1Pzu" + binary: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-qV1Pzu" + cmakeVariables: + CMAKE_CXX_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags\"" + CMAKE_CXX_FLAGS_DEBUG: "-g" + CMAKE_CXX_SCAN_FOR_MODULES: "OFF" + CMAKE_EXE_LINKER_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags\"" + CMAKE_MODULE_PATH: "/home/claw/.platformio/packages/framework-espidf/tools/cmake;/home/claw/.platformio/packages/framework-espidf/tools/cmake/third_party" + buildResult: + variable: "CMAKE_CXX_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-qV1Pzu' + + Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_47b35 + [1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" -v -o CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp + Using built-in specs. + Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs + rename spec link to picolibc_link + rename spec link_libgcc to picolibc_link_libgcc + rename spec cpp to picolibc_cpp + rename spec cc1 to picolibc_cc1 + rename spec cc1plus to picolibc_cc1plus + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-fno-rtti' '-v' '-o' 'CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_47b35.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1plus -quiet -v -imultilib rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -ftls-model=local-exec -mstack-protector-guard=global -quiet -dumpdir CMakeFiles/cmTC_47b35.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -version -fno-rtti -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -ftls-model=local-exec -mstack-protector-guard=global -o /tmp/cczaijEh.s + GNU C++17 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf) + compiled by GNU C version 6.3.0 20170516, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include" + ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include" + ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include" + #include "..." search starts here: + #include <...> search starts here: + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0 + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include + End of search list. + Compiler executable checksum: 32cef37832cd37e880dc86ec51f00a14 + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-fno-rtti' '-v' '-o' 'CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_47b35.dir/' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.obj /tmp/cczaijEh.s + GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45 + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-fno-rtti' '-v' '-o' 'CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.' + [2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_47b35 && : + Using built-in specs. + Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs + rename spec link to picolibc_link + rename spec link_libgcc to picolibc_link_libgcc + rename spec cpp to picolibc_cpp + rename spec cc1 to picolibc_cc1 + rename spec cc1plus to picolibc_cc1plus + COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ + COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper + Target: riscv32-esp-elf + Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c,c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) + COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ + LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/ + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-fno-rtti' '-v' '-o' 'cmTC_47b35' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_47b35.' + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccHQnQuq.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib -Tpicolibc.ld --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_47b35 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/ccls50yT -lgcc --start-group -lgcc -lc --end-group -lgcc + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start; defaulting to 10000000 + COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-fno-rtti' '-v' '-o' 'cmTC_47b35' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_47b35.' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/CMakeLists.txt:89 (idf_toolchain_rerun_abi_detection)" + message: | + Parsed CXX implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + add: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + end of search list found + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/include] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/backward] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + collapse include dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + implicit include dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include/c++/15.2.0/backward;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/include-fixed;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/include] + + + - + kind: "message-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/home/claw/.platformio/packages/framework-espidf/tools/cmake/toolchain_flags.cmake:179 (cmake_determine_compiler_abi)" + - "/home/claw/.platformio/packages/framework-espidf/CMakeLists.txt:89 (idf_toolchain_rerun_abi_detection)" + message: | + Parsed CXX implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-qV1Pzu'] + ignore line: [] + ignore line: [Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_47b35] + ignore line: [[1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" -v -o CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.obj -c /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs] + ignore line: [rename spec link to picolibc_link] + ignore line: [rename spec link_libgcc to picolibc_link_libgcc] + ignore line: [rename spec cpp to picolibc_cpp] + ignore line: [rename spec cc1 to picolibc_cc1] + ignore line: [rename spec cc1plus to picolibc_cc1plus] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-fno-rtti' '-v' '-o' 'CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_47b35.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/cc1plus -quiet -v -imultilib rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -iprefix /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/ -isysroot /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti /home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CMakeCXXCompilerABI.cpp -ftls-model=local-exec -mstack-protector-guard=global -quiet -dumpdir CMakeFiles/cmTC_47b35.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -mabi=ilp32 -misa-spec=20191213 -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -version -fno-rtti -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include -isystem /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -ftls-model=local-exec -mstack-protector-guard=global -o /tmp/cczaijEh.s] + ignore line: [GNU C++17 (crosstool-NG esp-15.2.0_20251204) version 15.2.0 (riscv32-esp-elf)] + ignore line: [ compiled by GNU C version 6.3.0 20170516 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.26-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include"] + ignore line: [ignoring nonexistent directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/../../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include"] + ignore line: [ignoring duplicate directory "/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/include/../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/riscv32-esp-elf/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include/c++/15.2.0/backward] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/include-fixed] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 32cef37832cd37e880dc86ec51f00a14] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-fno-rtti' '-v' '-o' 'CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_47b35.dir/'] + ignore line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/as -v --traditional-format -march=rv32imac_zicsr_zifencei_zaamo_zalrsc -march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca -mabi=ilp32 -misa-spec=20191213 -o CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.obj /tmp/cczaijEh.s] + ignore line: [GNU assembler version 2.45 (riscv32-esp-elf) using BFD version (crosstool-NG esp-15.2.0_20251204) 2.45] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-fno-rtti' '-v' '-o' 'CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.obj' '-c' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [[2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++ @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cxxflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" -v CMakeFiles/cmTC_47b35.dir/CMakeCXXCompilerABI.cpp.obj -o cmTC_47b35 && :] + ignore line: [Using built-in specs.] + ignore line: [Reading specs from /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs] + ignore line: [rename spec link to picolibc_link] + ignore line: [rename spec link_libgcc to picolibc_link_libgcc] + ignore line: [rename spec cpp to picolibc_cpp] + ignore line: [rename spec cc1 to picolibc_cc1] + ignore line: [rename spec cc1plus to picolibc_cc1plus] + ignore line: [COLLECT_GCC=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-g++] + ignore line: [COLLECT_LTO_WRAPPER=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] + ignore line: [Target: riscv32-esp-elf] + ignore line: [Configured with: /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/configure --build=x86_64-build_pc-linux-gnu --host=aarch64-host_unknown-linux-gnu --target=riscv32-esp-elf --prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --exec_prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf --with-local-prefix=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-sysroot=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf --with-native-system-header-dir=/include --with-headers=/builds/idf/crosstool-NG/builds/riscv32-esp-elf/riscv32-esp-elf/include --with-newlib --enable-threads=no --disable-shared --with-arch=rv32gc --with-abi=ilp32 --with-pkgversion='crosstool-NG esp-15.2.0_20251204' --disable-__cxa_atexit --enable-cxx-flags='-ffunction-sections -fdata-sections' --disable-libgomp --disable-libmudflap --disable-libmpx --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libstdcxx-verbose --with-gmp=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpfr=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-mpc=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --with-isl=/builds/idf/crosstool-NG/.build/riscv32-esp-elf/buildtools/complibs-host --enable-lto --enable-target-optspace --without-long-double-128 --disable-plugin --disable-nls --enable-multiarch --enable-languages=c c++ --disable-libstdcxx-verbose --enable-threads=posix --enable-libstdcxx-time=yes] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 15.2.0 (crosstool-NG esp-15.2.0_20251204) ] + ignore line: [COMPILER_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/] + ignore line: [LIBRARY_PATH=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/:/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-fno-rtti' '-v' '-o' 'cmTC_47b35' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_47b35.'] + link line: [ /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2 -plugin /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so -plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccHQnQuq.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib -Tpicolibc.ld --sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf -melf32lriscv -X -o cmTC_47b35 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0 -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib -L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib @/tmp/ccls50yT -lgcc --start-group -lgcc -lc --end-group -lgcc] + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../libexec/gcc/riscv32-esp-elf/15.2.0/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccHQnQuq.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib] + arg [-Tpicolibc.ld] ==> ignore + arg [--sysroot=/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf] ==> ignore + arg [-melf32lriscv] ==> ignore + arg [-X] ==> ignore + arg [-o] ==> ignore + arg [cmTC_47b35] ==> ignore + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] + arg [-L/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] + arg [@/tmp/ccls50yT] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--start-group] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [--end-group] ==> ignore + arg [-lgcc] ==> lib [gcc] + ignore line: [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start] + ignore line: [ defaulting to 10000000] + ignore line: [COLLECT_GCC_OPTIONS='-march=rv32imac_zicsr_zifencei_zaamo_zalrsc' '-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs' '-nostartfiles' '-fno-rtti' '-v' '-o' 'cmTC_47b35' '-mabi=ilp32' '-misa-spec=20191213' '-march=rv32imac_zicsr_zifencei_zmmul_zaamo_zalrsc_zca' '-dumpdir' 'cmTC_47b35.'] + ignore line: [] + ignore line: [] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/lib/gcc/riscv32-esp-elf/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + collapse library dir [/home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/lib] ==> [/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit libs: [gcc;gcc;c;gcc] + implicit objs: [] + implicit dirs: [/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/riscv32-esp-elf/lib;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti;/home/claw/.platformio/packages/toolchain-riscv32-esp/picolibc/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc/riscv32-esp-elf/15.2.0;/home/claw/.platformio/packages/toolchain-riscv32-esp/lib/gcc;/home/claw/.platformio/packages/toolchain-riscv32-esp/riscv32-esp-elf/lib] + implicit fwks: [] + + + - + kind: "try_compile-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CheckCSourceCompiles.cmake:52 (cmake_check_source_compiles)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/FindThreads.cmake:97 (CHECK_C_SOURCE_COMPILES)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/FindThreads.cmake:163 (_threads_check_libc)" + - "/home/claw/.platformio/packages/framework-espidf/components/mbedtls/mbedtls/CMakeLists.txt:127 (find_package)" + checks: + - "Performing Test CMAKE_HAVE_LIBC_PTHREAD" + directories: + source: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-CBHTOk" + binary: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-CBHTOk" + cmakeVariables: + CMAKE_C_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags\"" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags\"" + CMAKE_MODULE_PATH: "/home/claw/.platformio/packages/framework-espidf/tools/cmake;/home/claw/.platformio/packages/framework-espidf/tools/cmake/third_party" + buildResult: + variable: "CMAKE_HAVE_LIBC_PTHREAD" + cached: true + stdout: | + Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-CBHTOk' + + Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_e2804 + [1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc -DCMAKE_HAVE_LIBC_PTHREAD @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" -o CMakeFiles/cmTC_e2804.dir/src.c.obj -c /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-CBHTOk/src.c + [2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" CMakeFiles/cmTC_e2804.dir/src.c.obj -o cmTC_e2804 && : + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: CMakeFiles/cmTC_e2804.dir/src.c.obj: in function `main': + src.c:(.text+0x6e): warning: pthread_atfork is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: src.c:(.text+0x50): warning: pthread_cancel is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: src.c:(.text+0x34): warning: pthread_create is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: src.c:(.text+0x42): warning: pthread_detach is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: src.c:(.text+0x78): warning: pthread_exit is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: src.c:(.text+0x60): warning: pthread_join is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../riscv32-esp-elf/../picolibc/riscv32-esp-elf/lib/rv32imac_zicsr_zifencei_zaamo_zalrsc/ilp32/no-rtti/libc.a(libc_stdlib_pico-exit.c.o): in function `exit': + /builds/idf/crosstool-NG/.build/riscv32-esp-elf/build/build-picolibc-build-x86_64-build_pc-linux-gnu/../../../src/picolibc-git-1738c754/newlib/libc/stdlib/pico-exit.c:49:(.text.exit+0x10): warning: _exit is not implemented and will always fail + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start; defaulting to 10000000 + + exitCode: 0 + - + kind: "try_compile-v1" + backtrace: + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/Internal/CheckCompilerFlag.cmake:18 (cmake_check_source_compiles)" + - "/home/claw/.platformio/packages/tool-cmake/share/cmake-3.30/Modules/CheckCCompilerFlag.cmake:51 (cmake_check_compiler_flag)" + - "/home/claw/.platformio/packages/framework-espidf/components/mbedtls/mbedtls/tf-psa-crypto/CMakeLists.txt:247 (CHECK_C_COMPILER_FLAG)" + - "/home/claw/.platformio/packages/framework-espidf/components/mbedtls/mbedtls/tf-psa-crypto/CMakeLists.txt:218 (tf_psa_crypto_set_gnu_base_compile_options)" + - "/home/claw/.platformio/packages/framework-espidf/components/mbedtls/mbedtls/tf-psa-crypto/core/CMakeLists.txt:145 (tf_psa_crypto_set_base_compile_options)" + checks: + - "Performing Test C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS" + directories: + source: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-MJJpoC" + binary: "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-MJJpoC" + cmakeVariables: + CMAKE_C_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags\"" + CMAKE_C_FLAGS_DEBUG: "-g" + CMAKE_EXE_LINKER_FLAGS: "@\"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags\"" + CMAKE_MODULE_PATH: "/home/claw/.platformio/packages/framework-espidf/tools/cmake;/home/claw/.platformio/packages/framework-espidf/tools/cmake/third_party" + buildResult: + variable: "C_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS" + cached: true + stdout: | + Change Dir: '/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-MJJpoC' + + Run Build Command(s): /home/claw/.platformio/packages/tool-ninja/ninja -v cmTC_aeca7 + [1/2] /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc -DC_COMPILER_SUPPORTS_WFORMAT_SIGNEDNESS @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" -std=c2x -Wformat-signedness -o CMakeFiles/cmTC_aeca7.dir/src.c.obj -c /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/CMakeScratch/TryCompile-MJJpoC/src.c + [2/2] : && /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/cflags" @"/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/toolchain/ldflags" CMakeFiles/cmTC_aeca7.dir/src.c.obj -o cmTC_aeca7 && : + /home/claw/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/15.2.0/../../../../riscv32-esp-elf/bin/ld: warning: cannot find entry symbol _start; defaulting to 10000000 + + exitCode: 0 +... diff --git a/.pio/build/xiao-esp32c6/CMakeFiles/cmake.check_cache b/.pio/build/xiao-esp32c6/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/.pio/build/xiao-esp32c6/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/.pio/build/xiao-esp32c6/CMakeFiles/git-data/HEAD b/.pio/build/xiao-esp32c6/CMakeFiles/git-data/HEAD new file mode 100644 index 0000000..b870d82 --- /dev/null +++ b/.pio/build/xiao-esp32c6/CMakeFiles/git-data/HEAD @@ -0,0 +1 @@ +ref: refs/heads/main diff --git a/.pio/build/xiao-esp32c6/CMakeFiles/git-data/grabRef.cmake b/.pio/build/xiao-esp32c6/CMakeFiles/git-data/grabRef.cmake new file mode 100644 index 0000000..5a2551b --- /dev/null +++ b/.pio/build/xiao-esp32c6/CMakeFiles/git-data/grabRef.cmake @@ -0,0 +1,50 @@ +# +# Internal file for GetGitRevisionDescription.cmake +# +# Requires CMake 2.6 or newer (uses the 'function' command) +# +# Original Author: +# 2009-2010 Ryan Pavlik +# http://academic.cleardefinition.com +# Iowa State University HCI Graduate Program/VRAC +# +# Copyright Iowa State University 2009-2010. +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +set(HEAD_HASH) + +file(READ "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/git-data/HEAD" HEAD_CONTENTS LIMIT 1024) + +string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS) +set(GIT_DIR "/home/claw/.openclaw/workspace/led-laser-frequenzen/.git") +# handle git-worktree +if(EXISTS "${GIT_DIR}/commondir") + file(READ "${GIT_DIR}/commondir" GIT_DIR_NEW LIMIT 1024) + string(STRIP "${GIT_DIR_NEW}" GIT_DIR_NEW) + if(NOT IS_ABSOLUTE "${GIT_DIR_NEW}") + get_filename_component(GIT_DIR_NEW ${GIT_DIR}/${GIT_DIR_NEW} ABSOLUTE) + endif() + if(EXISTS "${GIT_DIR_NEW}") + set(GIT_DIR "${GIT_DIR_NEW}") + endif() +endif() +if(HEAD_CONTENTS MATCHES "ref") + # named branch + string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}") + if(EXISTS "${GIT_DIR}/${HEAD_REF}") + configure_file("${GIT_DIR}/${HEAD_REF}" "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/git-data/head-ref" COPYONLY) + elseif(EXISTS "${GIT_DIR}/logs/${HEAD_REF}") + configure_file("${GIT_DIR}/logs/${HEAD_REF}" "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/git-data/head-ref" COPYONLY) + set(HEAD_HASH "${HEAD_REF}") + endif() +else() + # detached HEAD + configure_file("${GIT_DIR}/HEAD" "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/git-data/head-ref" COPYONLY) +endif() + +if(NOT HEAD_HASH) + file(READ "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/CMakeFiles/git-data/head-ref" HEAD_HASH LIMIT 1024) + string(STRIP "${HEAD_HASH}" HEAD_HASH) +endif() diff --git a/.pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp/bootloader-patch-info.txt b/.pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp/bootloader-patch-info.txt new file mode 100644 index 0000000..53e1e1e --- /dev/null +++ b/.pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp/bootloader-patch-info.txt @@ -0,0 +1,6 @@ +# This is a generated file and its contents are an internal implementation detail. +# The update step will be re-executed if anything in this file changes. +# No other meaning or use of this file is supported. + +command= +work_dir= diff --git a/.pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp/bootloader-source_dirinfo.txt b/.pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp/bootloader-source_dirinfo.txt new file mode 100644 index 0000000..4675a0d --- /dev/null +++ b/.pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp/bootloader-source_dirinfo.txt @@ -0,0 +1,9 @@ +# This is a generated file and its contents are an internal implementation detail. +# The download step will be re-executed if anything in this file changes. +# No other meaning or use of this file is supported. + +method=source_dir +command= +source_dir=/home/claw/.platformio/packages/framework-espidf/components/bootloader/subproject +work_dir= + diff --git a/.pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp/bootloader-update-info.txt b/.pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp/bootloader-update-info.txt new file mode 100644 index 0000000..31617d1 --- /dev/null +++ b/.pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp/bootloader-update-info.txt @@ -0,0 +1,7 @@ +# This is a generated file and its contents are an internal implementation detail. +# The patch step will be re-executed if anything in this file changes. +# No other meaning or use of this file is supported. + +command (connected)= +command (disconnected)= +work_dir= diff --git a/.pio/build/xiao-esp32c6/bootloader-prefix/tmp/bootloader-cfgcmd.txt b/.pio/build/xiao-esp32c6/bootloader-prefix/tmp/bootloader-cfgcmd.txt new file mode 100644 index 0000000..23fa7ce --- /dev/null +++ b/.pio/build/xiao-esp32c6/bootloader-prefix/tmp/bootloader-cfgcmd.txt @@ -0,0 +1 @@ +cmd='/home/claw/.platformio/packages/tool-cmake/bin/cmake;-DSDKCONFIG=/home/claw/.openclaw/workspace/led-laser-frequenzen/sdkconfig.xiao-esp32c6;-DIDF_PATH=/home/claw/.platformio/packages/framework-espidf;-DIDF_TARGET=esp32c6;-DPYTHON_DEPS_CHECKED=1;-DPYTHON=/home/claw/.platformio/penv/.espidf-6.0.1/bin/python;-DEXTRA_COMPONENT_DIRS=/home/claw/.platformio/packages/framework-espidf/components/bootloader;-DPROJECT_SOURCE_DIR=/home/claw/.openclaw/workspace/led-laser-frequenzen;-DIGNORE_EXTRA_COMPONENT=;-GNinja;-S;;-B;' diff --git a/.pio/build/xiao-esp32c6/bootloader-prefix/tmp/bootloader-mkdirs.cmake b/.pio/build/xiao-esp32c6/bootloader-prefix/tmp/bootloader-mkdirs.cmake new file mode 100644 index 0000000..f6166c7 --- /dev/null +++ b/.pio/build/xiao-esp32c6/bootloader-prefix/tmp/bootloader-mkdirs.cmake @@ -0,0 +1,27 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +cmake_minimum_required(VERSION 3.5) + +# If CMAKE_DISABLE_SOURCE_CHANGES is set to true and the source directory is an +# existing directory in our source tree, calling file(MAKE_DIRECTORY) on it +# would cause a fatal error, even though it would be a no-op. +if(NOT EXISTS "/home/claw/.platformio/packages/framework-espidf/components/bootloader/subproject") + file(MAKE_DIRECTORY "/home/claw/.platformio/packages/framework-espidf/components/bootloader/subproject") +endif() +file(MAKE_DIRECTORY + "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/bootloader" + "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/bootloader-prefix" + "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/bootloader-prefix/tmp" + "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp" + "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/bootloader-prefix/src" + "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp" +) + +set(configSubDirs ) +foreach(subDir IN LISTS configSubDirs) + file(MAKE_DIRECTORY "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp/${subDir}") +endforeach() +if(cfgdir) + file(MAKE_DIRECTORY "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/bootloader-prefix/src/bootloader-stamp${cfgdir}") # cfgdir has leading slash +endif() diff --git a/.pio/build/xiao-esp32c6/components_with_manifests_list.temp.overrides b/.pio/build/xiao-esp32c6/components_with_manifests_list.temp.overrides new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/.pio/build/xiao-esp32c6/components_with_manifests_list.temp.overrides @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.pio/build/xiao-esp32c6/config.env b/.pio/build/xiao-esp32c6/config.env new file mode 100644 index 0000000..0d12457 --- /dev/null +++ b/.pio/build/xiao-esp32c6/config.env @@ -0,0 +1,12 @@ +{ + "COMPONENT_KCONFIGS": "/home/claw/.platformio/packages/framework-espidf/components/bt/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/console/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/driver/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/efuse/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp-tls/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_adc/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_coex/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_common/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_ana_cmpr/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_bitscrambler/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_cam/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_dac/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_dma/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_gpio/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_gptimer/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_i2c/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_i2s/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_i3c/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_isp/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_jpeg/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_ledc/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_mcpwm/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_parlio/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_pcnt/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_rmt/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_sdm/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_sdmmc/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_spi/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_touch_sens/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_tsens/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_twai/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_uart/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_usb_serial_jtag/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_eth/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_event/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_gdbstub/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_hid/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_http_client/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_http_server/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_https_ota/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_https_server/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_hw_support/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_lcd/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_libc/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_mm/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_netif/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_partition/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_phy/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_pm/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_psram/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_ringbuf/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_rom/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_security/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_stdio/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_system/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_timer/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_trace/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/esp_wifi/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/espcoredump/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/fatfs/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/freertos/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/hal/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/heap/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/ieee802154/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/log/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/lwip/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/mbedtls/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/nvs_flash/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/nvs_sec_provider/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/openthread/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/protocomm/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/pthread/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/sdmmc/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/soc/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/spi_flash/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/spiffs/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/tcp_transport/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/ulp/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/unity/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/vfs/Kconfig;/home/claw/.platformio/packages/framework-espidf/components/wear_levelling/Kconfig", + "COMPONENT_KCONFIGS_PROJBUILD": "/home/claw/.platformio/packages/framework-espidf/components/app_update/Kconfig.projbuild;/home/claw/.platformio/packages/framework-espidf/components/bootloader/Kconfig.projbuild;/home/claw/.platformio/packages/framework-espidf/components/esp_app_format/Kconfig.projbuild;/home/claw/.platformio/packages/framework-espidf/components/esp_rom/Kconfig.projbuild;/home/claw/.platformio/packages/framework-espidf/components/esp_tee/Kconfig.projbuild;/home/claw/.platformio/packages/framework-espidf/components/esptool_py/Kconfig.projbuild;/home/claw/.platformio/packages/framework-espidf/components/partition_table/Kconfig.projbuild", + "COMPONENT_SDKCONFIG_RENAMES": "/home/claw/.platformio/packages/framework-espidf/components/app_trace/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/bootloader/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/bt/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/driver/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_adc/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_coex/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_ana_cmpr/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_cam/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_gptimer/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_driver_mcpwm/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_event/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_gdbstub/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_https_ota/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_hw_support/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_lcd/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_libc/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_phy/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_pm/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_system/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_timer/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esp_wifi/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/espcoredump/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/esptool_py/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/freertos/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/hal/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/lwip/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/pthread/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/spi_flash/sdkconfig.rename;/home/claw/.platformio/packages/framework-espidf/components/vfs/sdkconfig.rename", + "IDF_TARGET": "esp32c6", + "IDF_TOOLCHAIN": "gcc", + "IDF_VERSION": "6.0.1", + "IDF_ENV_FPGA": "", + "IDF_PATH": "/home/claw/.platformio/packages/framework-espidf", + "COMPONENT_KCONFIGS_SOURCE_FILE": "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/kconfigs.in", + "COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE": "/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/kconfigs_projbuild.in" +} diff --git a/.pio/build/xiao-esp32c6/config/kconfig_menus.json b/.pio/build/xiao-esp32c6/config/kconfig_menus.json new file mode 100644 index 0000000..25f9006 --- /dev/null +++ b/.pio/build/xiao-esp32c6/config/kconfig_menus.json @@ -0,0 +1,36367 @@ +[ + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_SUPPORTED", + "name": "SOC_ADC_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_DEDICATED_GPIO_SUPPORTED", + "name": "SOC_DEDICATED_GPIO_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_SUPPORTED", + "name": "SOC_UART_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UHCI_SUPPORTED", + "name": "SOC_UHCI_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GDMA_SUPPORTED", + "name": "SOC_GDMA_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_AHB_GDMA_SUPPORTED", + "name": "SOC_AHB_GDMA_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPTIMER_SUPPORTED", + "name": "SOC_GPTIMER_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PCNT_SUPPORTED", + "name": "SOC_PCNT_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MCPWM_SUPPORTED", + "name": "SOC_MCPWM_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_TWAI_SUPPORTED", + "name": "SOC_TWAI_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ETM_SUPPORTED", + "name": "SOC_ETM_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PARLIO_SUPPORTED", + "name": "SOC_PARLIO_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BT_SUPPORTED", + "name": "SOC_BT_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_IEEE802154_SUPPORTED", + "name": "SOC_IEEE802154_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ASYNC_MEMCPY_SUPPORTED", + "name": "SOC_ASYNC_MEMCPY_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_USB_SERIAL_JTAG_SUPPORTED", + "name": "SOC_USB_SERIAL_JTAG_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_TEMP_SENSOR_SUPPORTED", + "name": "SOC_TEMP_SENSOR_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PHY_SUPPORTED", + "name": "SOC_PHY_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_WIFI_SUPPORTED", + "name": "SOC_WIFI_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SUPPORTS_SECURE_DL_MODE", + "name": "SOC_SUPPORTS_SECURE_DL_MODE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ULP_SUPPORTED", + "name": "SOC_ULP_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LP_CORE_SUPPORTED", + "name": "SOC_LP_CORE_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EFUSE_KEY_PURPOSE_FIELD", + "name": "SOC_EFUSE_KEY_PURPOSE_FIELD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EFUSE_SUPPORTED", + "name": "SOC_EFUSE_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RTC_FAST_MEM_SUPPORTED", + "name": "SOC_RTC_FAST_MEM_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RTC_MEM_SUPPORTED", + "name": "SOC_RTC_MEM_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2S_SUPPORTED", + "name": "SOC_I2S_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RMT_SUPPORTED", + "name": "SOC_RMT_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SDM_SUPPORTED", + "name": "SOC_SDM_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPSPI_SUPPORTED", + "name": "SOC_GPSPI_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LEDC_SUPPORTED", + "name": "SOC_LEDC_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2C_SUPPORTED", + "name": "SOC_I2C_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SYSTIMER_SUPPORTED", + "name": "SOC_SYSTIMER_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SUPPORT_COEXISTENCE", + "name": "SOC_SUPPORT_COEXISTENCE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_AES_SUPPORTED", + "name": "SOC_AES_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MPI_SUPPORTED", + "name": "SOC_MPI_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SHA_SUPPORTED", + "name": "SOC_SHA_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_HMAC_SUPPORTED", + "name": "SOC_HMAC_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_DIG_SIGN_SUPPORTED", + "name": "SOC_DIG_SIGN_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ECC_SUPPORTED", + "name": "SOC_ECC_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_FLASH_ENC_SUPPORTED", + "name": "SOC_FLASH_ENC_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SECURE_BOOT_SUPPORTED", + "name": "SOC_SECURE_BOOT_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SDIO_SLAVE_SUPPORTED", + "name": "SOC_SDIO_SLAVE_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BOD_SUPPORTED", + "name": "SOC_BOD_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_APM_SUPPORTED", + "name": "SOC_APM_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PMU_SUPPORTED", + "name": "SOC_PMU_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PMU_PVT_SUPPORTED", + "name": "SOC_PMU_PVT_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PAU_SUPPORTED", + "name": "SOC_PAU_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RTC_TIMER_V2_SUPPORTED", + "name": "SOC_RTC_TIMER_V2_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LP_AON_SUPPORTED", + "name": "SOC_LP_AON_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LP_PERIPHERALS_SUPPORTED", + "name": "SOC_LP_PERIPHERALS_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LP_I2C_SUPPORTED", + "name": "SOC_LP_I2C_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ULP_LP_UART_SUPPORTED", + "name": "SOC_ULP_LP_UART_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CLK_TREE_SUPPORTED", + "name": "SOC_CLK_TREE_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ASSIST_DEBUG_SUPPORTED", + "name": "SOC_ASSIST_DEBUG_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_WDT_SUPPORTED", + "name": "SOC_WDT_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_FLASH_SUPPORTED", + "name": "SOC_SPI_FLASH_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RNG_SUPPORTED", + "name": "SOC_RNG_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LIGHT_SLEEP_SUPPORTED", + "name": "SOC_LIGHT_SLEEP_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_DEEP_SLEEP_SUPPORTED", + "name": "SOC_DEEP_SLEEP_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MODEM_CLOCK_SUPPORTED", + "name": "SOC_MODEM_CLOCK_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORTED", + "name": "SOC_PM_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_XTAL_SUPPORT_40M", + "name": "SOC_XTAL_SUPPORT_40M", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_XTAL_CLOCK_PATH_DEPENDS_ON_TOP_DOMAIN", + "name": "SOC_XTAL_CLOCK_PATH_DEPENDS_ON_TOP_DOMAIN", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_AES_SUPPORT_DMA", + "name": "SOC_AES_SUPPORT_DMA", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_AES_GDMA", + "name": "SOC_AES_GDMA", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_AES_SUPPORT_AES_128", + "name": "SOC_AES_SUPPORT_AES_128", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_AES_SUPPORT_AES_256", + "name": "SOC_AES_SUPPORT_AES_256", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_DIG_CTRL_SUPPORTED", + "name": "SOC_ADC_DIG_CTRL_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_DIG_IIR_FILTER_SUPPORTED", + "name": "SOC_ADC_DIG_IIR_FILTER_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_MONITOR_SUPPORTED", + "name": "SOC_ADC_MONITOR_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_DMA_SUPPORTED", + "name": "SOC_ADC_DMA_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_PERIPH_NUM", + "name": "SOC_ADC_PERIPH_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_MAX_CHANNEL_NUM", + "name": "SOC_ADC_MAX_CHANNEL_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_ATTEN_NUM", + "name": "SOC_ADC_ATTEN_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_DIGI_CONTROLLER_NUM", + "name": "SOC_ADC_DIGI_CONTROLLER_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_PATT_LEN_MAX", + "name": "SOC_ADC_PATT_LEN_MAX", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_DIGI_MAX_BITWIDTH", + "name": "SOC_ADC_DIGI_MAX_BITWIDTH", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_DIGI_MIN_BITWIDTH", + "name": "SOC_ADC_DIGI_MIN_BITWIDTH", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_DIGI_IIR_FILTER_NUM", + "name": "SOC_ADC_DIGI_IIR_FILTER_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_DIGI_MONITOR_NUM", + "name": "SOC_ADC_DIGI_MONITOR_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_DIGI_RESULT_BYTES", + "name": "SOC_ADC_DIGI_RESULT_BYTES", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_DIGI_DATA_BYTES_PER_CONV", + "name": "SOC_ADC_DIGI_DATA_BYTES_PER_CONV", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_SAMPLE_FREQ_THRES_HIGH", + "name": "SOC_ADC_SAMPLE_FREQ_THRES_HIGH", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_SAMPLE_FREQ_THRES_LOW", + "name": "SOC_ADC_SAMPLE_FREQ_THRES_LOW", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_RTC_MIN_BITWIDTH", + "name": "SOC_ADC_RTC_MIN_BITWIDTH", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_RTC_MAX_BITWIDTH", + "name": "SOC_ADC_RTC_MAX_BITWIDTH", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_CALIBRATION_V1_SUPPORTED", + "name": "SOC_ADC_CALIBRATION_V1_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_SELF_HW_CALI_SUPPORTED", + "name": "SOC_ADC_SELF_HW_CALI_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED", + "name": "SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_TEMPERATURE_SHARE_INTR", + "name": "SOC_ADC_TEMPERATURE_SHARE_INTR", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ADC_SHARED_POWER", + "name": "SOC_ADC_SHARED_POWER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_APB_BACKUP_DMA", + "name": "SOC_APB_BACKUP_DMA", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BROWNOUT_RESET_SUPPORTED", + "name": "SOC_BROWNOUT_RESET_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SHARED_IDCACHE_SUPPORTED", + "name": "SOC_SHARED_IDCACHE_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CACHE_FREEZE_SUPPORTED", + "name": "SOC_CACHE_FREEZE_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CPU_CORES_NUM", + "name": "SOC_CPU_CORES_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CPU_INTR_NUM", + "name": "SOC_CPU_INTR_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CPU_HAS_FLEXIBLE_INTC", + "name": "SOC_CPU_HAS_FLEXIBLE_INTC", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_INT_PLIC_SUPPORTED", + "name": "SOC_INT_PLIC_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CPU_HAS_CSR_PC", + "name": "SOC_CPU_HAS_CSR_PC", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CPU_BREAKPOINTS_NUM", + "name": "SOC_CPU_BREAKPOINTS_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CPU_WATCHPOINTS_NUM", + "name": "SOC_CPU_WATCHPOINTS_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CPU_WATCHPOINT_MAX_REGION_SIZE", + "name": "SOC_CPU_WATCHPOINT_MAX_REGION_SIZE", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CPU_HAS_PMA", + "name": "SOC_CPU_HAS_PMA", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CPU_IDRAM_SPLIT_USING_PMP", + "name": "SOC_CPU_IDRAM_SPLIT_USING_PMP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CPU_PMP_REGION_GRANULARITY", + "name": "SOC_CPU_PMP_REGION_GRANULARITY", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CPU_MISALIGNED_ACCESS_ON_PMP_MISMATCH_ISSUE", + "name": "SOC_CPU_MISALIGNED_ACCESS_ON_PMP_MISMATCH_ISSUE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_DS_SIGNATURE_MAX_BIT_LEN", + "name": "SOC_DS_SIGNATURE_MAX_BIT_LEN", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_DS_KEY_PARAM_MD_IV_LENGTH", + "name": "SOC_DS_KEY_PARAM_MD_IV_LENGTH", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_DS_KEY_CHECK_MAX_WAIT_US", + "name": "SOC_DS_KEY_CHECK_MAX_WAIT_US", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_AHB_GDMA_VERSION", + "name": "SOC_AHB_GDMA_VERSION", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GDMA_SUPPORT_ETM", + "name": "SOC_GDMA_SUPPORT_ETM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GDMA_SUPPORT_SLEEP_RETENTION", + "name": "SOC_GDMA_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_PORT", + "name": "SOC_GPIO_PORT", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_PIN_COUNT", + "name": "SOC_GPIO_PIN_COUNT", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER", + "name": "SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_FLEX_GLITCH_FILTER_NUM", + "name": "SOC_GPIO_FLEX_GLITCH_FILTER_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_SUPPORT_ETM", + "name": "SOC_GPIO_SUPPORT_ETM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP", + "name": "SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LP_IO_CLOCK_IS_INDEPENDENT", + "name": "SOC_LP_IO_CLOCK_IS_INDEPENDENT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_IN_RANGE_MAX", + "name": "SOC_GPIO_IN_RANGE_MAX", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_OUT_RANGE_MAX", + "name": "SOC_GPIO_OUT_RANGE_MAX", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_MASK", + "name": "SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_MASK", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_PIN_CNT", + "name": "SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_PIN_CNT", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK", + "name": "SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_SUPPORT_FORCE_HOLD", + "name": "SOC_GPIO_SUPPORT_FORCE_HOLD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP", + "name": "SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX", + "name": "SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CLOCKOUT_HAS_SOURCE_GATE", + "name": "SOC_CLOCKOUT_HAS_SOURCE_GATE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_GPIO_CLOCKOUT_CHANNEL_NUM", + "name": "SOC_GPIO_CLOCKOUT_CHANNEL_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RTCIO_PIN_COUNT", + "name": "SOC_RTCIO_PIN_COUNT", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RTCIO_INPUT_OUTPUT_SUPPORTED", + "name": "SOC_RTCIO_INPUT_OUTPUT_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RTCIO_HOLD_SUPPORTED", + "name": "SOC_RTCIO_HOLD_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RTCIO_WAKE_SUPPORTED", + "name": "SOC_RTCIO_WAKE_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SDM_SUPPORT_SLEEP_RETENTION", + "name": "SOC_SDM_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ETM_SUPPORT_SLEEP_RETENTION", + "name": "SOC_ETM_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2C_NUM", + "name": "SOC_I2C_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_HP_I2C_NUM", + "name": "SOC_HP_I2C_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LP_I2C_NUM", + "name": "SOC_LP_I2C_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2C_SUPPORT_XTAL", + "name": "SOC_I2C_SUPPORT_XTAL", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2C_SUPPORT_RTC", + "name": "SOC_I2C_SUPPORT_RTC", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2C_SUPPORT_10BIT_ADDR", + "name": "SOC_I2C_SUPPORT_10BIT_ADDR", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2C_SUPPORT_SLAVE", + "name": "SOC_I2C_SUPPORT_SLAVE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2C_SLAVE_SUPPORT_BROADCAST", + "name": "SOC_I2C_SLAVE_SUPPORT_BROADCAST", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE", + "name": "SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2C_SUPPORT_SLEEP_RETENTION", + "name": "SOC_I2C_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2S_HW_VERSION_2", + "name": "SOC_I2S_HW_VERSION_2", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2S_SUPPORTS_ETM", + "name": "SOC_I2S_SUPPORTS_ETM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2S_SUPPORTS_PCM", + "name": "SOC_I2S_SUPPORTS_PCM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2S_SUPPORTS_PDM", + "name": "SOC_I2S_SUPPORTS_PDM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2S_SUPPORTS_PDM_TX", + "name": "SOC_I2S_SUPPORTS_PDM_TX", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2S_SUPPORTS_PCM2PDM", + "name": "SOC_I2S_SUPPORTS_PCM2PDM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2S_SUPPORTS_PDM_RX", + "name": "SOC_I2S_SUPPORTS_PDM_RX", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2S_PDM_MAX_TX_LINES", + "name": "SOC_I2S_PDM_MAX_TX_LINES", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2S_PDM_MAX_RX_LINES", + "name": "SOC_I2S_PDM_MAX_RX_LINES", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_I2S_SUPPORTS_TDM", + "name": "SOC_I2S_SUPPORTS_TDM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LEDC_SUPPORT_PLL_DIV_CLOCK", + "name": "SOC_LEDC_SUPPORT_PLL_DIV_CLOCK", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LEDC_SUPPORT_XTAL_CLOCK", + "name": "SOC_LEDC_SUPPORT_XTAL_CLOCK", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LEDC_TIMER_NUM", + "name": "SOC_LEDC_TIMER_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LEDC_CHANNEL_NUM", + "name": "SOC_LEDC_CHANNEL_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LEDC_TIMER_BIT_WIDTH", + "name": "SOC_LEDC_TIMER_BIT_WIDTH", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LEDC_SUPPORT_FADE_STOP", + "name": "SOC_LEDC_SUPPORT_FADE_STOP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED", + "name": "SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX", + "name": "SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LEDC_FADE_PARAMS_BIT_WIDTH", + "name": "SOC_LEDC_FADE_PARAMS_BIT_WIDTH", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LEDC_SUPPORT_SLEEP_RETENTION", + "name": "SOC_LEDC_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LEDC_SUPPORT_ETM", + "name": "SOC_LEDC_SUPPORT_ETM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MMU_PAGE_SIZE_CONFIGURABLE", + "name": "SOC_MMU_PAGE_SIZE_CONFIGURABLE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MMU_PAGE_SIZE_8KB_SUPPORTED", + "name": "SOC_MMU_PAGE_SIZE_8KB_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MMU_PERIPH_NUM", + "name": "SOC_MMU_PERIPH_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MMU_LINEAR_ADDRESS_REGION_NUM", + "name": "SOC_MMU_LINEAR_ADDRESS_REGION_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MMU_DI_VADDR_SHARED", + "name": "SOC_MMU_DI_VADDR_SHARED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MPU_CONFIGURABLE_REGIONS_SUPPORTED", + "name": "SOC_MPU_CONFIGURABLE_REGIONS_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MPU_MIN_REGION_SIZE", + "name": "SOC_MPU_MIN_REGION_SIZE", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MPU_REGIONS_MAX_NUM", + "name": "SOC_MPU_REGIONS_MAX_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MPU_REGION_RO_SUPPORTED", + "name": "SOC_MPU_REGION_RO_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MPU_REGION_WO_SUPPORTED", + "name": "SOC_MPU_REGION_WO_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE", + "name": "SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RMT_MEM_WORDS_PER_CHANNEL", + "name": "SOC_RMT_MEM_WORDS_PER_CHANNEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RMT_SUPPORT_RX_PINGPONG", + "name": "SOC_RMT_SUPPORT_RX_PINGPONG", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RMT_SUPPORT_TX_LOOP_COUNT", + "name": "SOC_RMT_SUPPORT_TX_LOOP_COUNT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP", + "name": "SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RMT_SUPPORT_SLEEP_RETENTION", + "name": "SOC_RMT_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MCPWM_SWSYNC_CAN_PROPAGATE", + "name": "SOC_MCPWM_SWSYNC_CAN_PROPAGATE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MCPWM_SUPPORT_ETM", + "name": "SOC_MCPWM_SUPPORT_ETM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MCPWM_CAPTURE_CLK_FROM_GROUP", + "name": "SOC_MCPWM_CAPTURE_CLK_FROM_GROUP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MCPWM_SUPPORT_SLEEP_RETENTION", + "name": "SOC_MCPWM_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH", + "name": "SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH", + "name": "SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PARLIO_TX_RX_SHARE_INTERRUPT", + "name": "SOC_PARLIO_TX_RX_SHARE_INTERRUPT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PARLIO_SUPPORT_SLEEP_RETENTION", + "name": "SOC_PARLIO_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MPI_MEM_BLOCKS_NUM", + "name": "SOC_MPI_MEM_BLOCKS_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MPI_OPERATIONS_NUM", + "name": "SOC_MPI_OPERATIONS_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RSA_MAX_BIT_LEN", + "name": "SOC_RSA_MAX_BIT_LEN", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SHA_DMA_MAX_BUFFER_SIZE", + "name": "SOC_SHA_DMA_MAX_BUFFER_SIZE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SHA_SUPPORT_DMA", + "name": "SOC_SHA_SUPPORT_DMA", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SHA_SUPPORT_RESUME", + "name": "SOC_SHA_SUPPORT_RESUME", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SHA_GDMA", + "name": "SOC_SHA_GDMA", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SHA_SUPPORT_SHA1", + "name": "SOC_SHA_SUPPORT_SHA1", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SHA_SUPPORT_SHA224", + "name": "SOC_SHA_SUPPORT_SHA224", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SHA_SUPPORT_SHA256", + "name": "SOC_SHA_SUPPORT_SHA256", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_PERIPH_NUM", + "name": "SOC_SPI_PERIPH_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_MAX_CS_NUM", + "name": "SOC_SPI_MAX_CS_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_MAXIMUM_BUFFER_SIZE", + "name": "SOC_SPI_MAXIMUM_BUFFER_SIZE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_SUPPORT_DDRCLK", + "name": "SOC_SPI_SUPPORT_DDRCLK", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_SLAVE_SUPPORT_SEG_TRANS", + "name": "SOC_SPI_SLAVE_SUPPORT_SEG_TRANS", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_SUPPORT_CD_SIG", + "name": "SOC_SPI_SUPPORT_CD_SIG", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_SUPPORT_CONTINUOUS_TRANS", + "name": "SOC_SPI_SUPPORT_CONTINUOUS_TRANS", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_SUPPORT_SLAVE_HD_VER2", + "name": "SOC_SPI_SUPPORT_SLAVE_HD_VER2", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_SUPPORT_SLEEP_RETENTION", + "name": "SOC_SPI_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_SUPPORT_CLK_XTAL", + "name": "SOC_SPI_SUPPORT_CLK_XTAL", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_SUPPORT_CLK_PLL_F80M", + "name": "SOC_SPI_SUPPORT_CLK_PLL_F80M", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_SUPPORT_CLK_RC_FAST", + "name": "SOC_SPI_SUPPORT_CLK_RC_FAST", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_SCT_SUPPORTED", + "name": "SOC_SPI_SCT_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_SCT_REG_NUM", + "name": "SOC_SPI_SCT_REG_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_SCT_BUFFER_NUM_MAX", + "name": "SOC_SPI_SCT_BUFFER_NUM_MAX", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_SCT_CONF_BITLEN_MAX", + "name": "SOC_SPI_SCT_CONF_BITLEN_MAX", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MEMSPI_IS_INDEPENDENT", + "name": "SOC_MEMSPI_IS_INDEPENDENT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_MAX_PRE_DIVIDER", + "name": "SOC_SPI_MAX_PRE_DIVIDER", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE", + "name": "SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND", + "name": "SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_MEM_SUPPORT_AUTO_RESUME", + "name": "SOC_SPI_MEM_SUPPORT_AUTO_RESUME", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_MEM_SUPPORT_IDLE_INTR", + "name": "SOC_SPI_MEM_SUPPORT_IDLE_INTR", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_MEM_SUPPORT_SW_SUSPEND", + "name": "SOC_SPI_MEM_SUPPORT_SW_SUSPEND", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_MEM_SUPPORT_CHECK_SUS", + "name": "SOC_SPI_MEM_SUPPORT_CHECK_SUS", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SPI_MEM_SUPPORT_WRAP", + "name": "SOC_SPI_MEM_SUPPORT_WRAP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MEMSPI_ENCRYPTION_ALIGNMENT", + "name": "SOC_MEMSPI_ENCRYPTION_ALIGNMENT", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SYSTIMER_COUNTER_NUM", + "name": "SOC_SYSTIMER_COUNTER_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SYSTIMER_ALARM_NUM", + "name": "SOC_SYSTIMER_ALARM_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SYSTIMER_BIT_WIDTH_LO", + "name": "SOC_SYSTIMER_BIT_WIDTH_LO", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SYSTIMER_BIT_WIDTH_HI", + "name": "SOC_SYSTIMER_BIT_WIDTH_HI", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SYSTIMER_FIXED_DIVIDER", + "name": "SOC_SYSTIMER_FIXED_DIVIDER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SYSTIMER_SUPPORT_RC_FAST", + "name": "SOC_SYSTIMER_SUPPORT_RC_FAST", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SYSTIMER_INT_LEVEL", + "name": "SOC_SYSTIMER_INT_LEVEL", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SYSTIMER_ALARM_MISS_COMPENSATE", + "name": "SOC_SYSTIMER_ALARM_MISS_COMPENSATE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SYSTIMER_SUPPORT_ETM", + "name": "SOC_SYSTIMER_SUPPORT_ETM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LP_TIMER_BIT_WIDTH_LO", + "name": "SOC_LP_TIMER_BIT_WIDTH_LO", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LP_TIMER_BIT_WIDTH_HI", + "name": "SOC_LP_TIMER_BIT_WIDTH_HI", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_TIMER_SUPPORT_ETM", + "name": "SOC_TIMER_SUPPORT_ETM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_TIMER_SUPPORT_SLEEP_RETENTION", + "name": "SOC_TIMER_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MWDT_SUPPORT_XTAL", + "name": "SOC_MWDT_SUPPORT_XTAL", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MWDT_SUPPORT_SLEEP_RETENTION", + "name": "SOC_MWDT_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_TWAI_CONTROLLER_NUM", + "name": "SOC_TWAI_CONTROLLER_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_TWAI_MASK_FILTER_NUM", + "name": "SOC_TWAI_MASK_FILTER_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_TWAI_SUPPORT_SLEEP_RETENTION", + "name": "SOC_TWAI_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EFUSE_DIS_DOWNLOAD_ICACHE", + "name": "SOC_EFUSE_DIS_DOWNLOAD_ICACHE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EFUSE_DIS_PAD_JTAG", + "name": "SOC_EFUSE_DIS_PAD_JTAG", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EFUSE_DIS_USB_JTAG", + "name": "SOC_EFUSE_DIS_USB_JTAG", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EFUSE_DIS_DIRECT_BOOT", + "name": "SOC_EFUSE_DIS_DIRECT_BOOT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EFUSE_SOFT_DIS_JTAG", + "name": "SOC_EFUSE_SOFT_DIS_JTAG", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EFUSE_DIS_ICACHE", + "name": "SOC_EFUSE_DIS_ICACHE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK", + "name": "SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EFUSE_XTS_AES_KEY_128", + "name": "SOC_EFUSE_XTS_AES_KEY_128", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SECURE_BOOT_V2_RSA", + "name": "SOC_SECURE_BOOT_V2_RSA", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SECURE_BOOT_V2_ECC", + "name": "SOC_SECURE_BOOT_V2_ECC", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS", + "name": "SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS", + "name": "SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY", + "name": "SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX", + "name": "SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_FLASH_ENCRYPTION_XTS_AES", + "name": "SOC_FLASH_ENCRYPTION_XTS_AES", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_FLASH_ENCRYPTION_XTS_AES_128", + "name": "SOC_FLASH_ENCRYPTION_XTS_AES_128", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_FLASH_ENCRYPTION_PAGE_CONFIGURABLE", + "name": "SOC_FLASH_ENCRYPTION_PAGE_CONFIGURABLE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_APM_CTRL_FILTER_SUPPORTED", + "name": "SOC_APM_CTRL_FILTER_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_APM_LP_APM0_SUPPORTED", + "name": "SOC_APM_LP_APM0_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_APM_SUPPORT_LP_TEE_CTRL", + "name": "SOC_APM_SUPPORT_LP_TEE_CTRL", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CRYPTO_DPA_PROTECTION_SUPPORTED", + "name": "SOC_CRYPTO_DPA_PROTECTION_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_NUM", + "name": "SOC_UART_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_HP_NUM", + "name": "SOC_UART_HP_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_LP_NUM", + "name": "SOC_UART_LP_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_FIFO_LEN", + "name": "SOC_UART_FIFO_LEN", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LP_UART_FIFO_LEN", + "name": "SOC_LP_UART_FIFO_LEN", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_BITRATE_MAX", + "name": "SOC_UART_BITRATE_MAX", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_SUPPORT_RTC_CLK", + "name": "SOC_UART_SUPPORT_RTC_CLK", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_SUPPORT_XTAL_CLK", + "name": "SOC_UART_SUPPORT_XTAL_CLK", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_SUPPORT_WAKEUP_INT", + "name": "SOC_UART_SUPPORT_WAKEUP_INT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_HAS_LP_UART", + "name": "SOC_UART_HAS_LP_UART", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_SUPPORT_SLEEP_RETENTION", + "name": "SOC_UART_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_WAKEUP_CHARS_SEQ_MAX_LEN", + "name": "SOC_UART_WAKEUP_CHARS_SEQ_MAX_LEN", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE", + "name": "SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_WAKEUP_SUPPORT_FIFO_THRESH_MODE", + "name": "SOC_UART_WAKEUP_SUPPORT_FIFO_THRESH_MODE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_WAKEUP_SUPPORT_START_BIT_MODE", + "name": "SOC_UART_WAKEUP_SUPPORT_START_BIT_MODE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UART_WAKEUP_SUPPORT_CHAR_SEQ_MODE", + "name": "SOC_UART_WAKEUP_SUPPORT_CHAR_SEQ_MODE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_UHCI_NUM", + "name": "SOC_UHCI_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_COEX_HW_PTI", + "name": "SOC_COEX_HW_PTI", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EXTERNAL_COEX_ADVANCE", + "name": "SOC_EXTERNAL_COEX_ADVANCE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_EXTERNAL_COEX_LEADER_TX_LINE", + "name": "SOC_EXTERNAL_COEX_LEADER_TX_LINE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PHY_DIG_REGS_MEM_SIZE", + "name": "SOC_PHY_DIG_REGS_MEM_SIZE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH", + "name": "SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RTC_MEM_SUPPORT_SPEED_MODE_SWITCH", + "name": "SOC_RTC_MEM_SUPPORT_SPEED_MODE_SWITCH", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_WIFI_WAKEUP", + "name": "SOC_PM_SUPPORT_WIFI_WAKEUP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_BEACON_WAKEUP", + "name": "SOC_PM_SUPPORT_BEACON_WAKEUP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_BT_WAKEUP", + "name": "SOC_PM_SUPPORT_BT_WAKEUP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_EXT1_WAKEUP", + "name": "SOC_PM_SUPPORT_EXT1_WAKEUP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN", + "name": "SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_CPU_PD", + "name": "SOC_PM_SUPPORT_CPU_PD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_MODEM_PD", + "name": "SOC_PM_SUPPORT_MODEM_PD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_XTAL32K_PD", + "name": "SOC_PM_SUPPORT_XTAL32K_PD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_RC32K_PD", + "name": "SOC_PM_SUPPORT_RC32K_PD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_RC_FAST_PD", + "name": "SOC_PM_SUPPORT_RC_FAST_PD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_VDDSDIO_PD", + "name": "SOC_PM_SUPPORT_VDDSDIO_PD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_TOP_PD", + "name": "SOC_PM_SUPPORT_TOP_PD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_HP_AON_PD", + "name": "SOC_PM_SUPPORT_HP_AON_PD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_MAC_BB_PD", + "name": "SOC_PM_SUPPORT_MAC_BB_PD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_RTC_PERIPH_PD", + "name": "SOC_PM_SUPPORT_RTC_PERIPH_PD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_PMU_MODEM_STATE", + "name": "SOC_PM_SUPPORT_PMU_MODEM_STATE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_PMU_CLK_ICG", + "name": "SOC_PM_SUPPORT_PMU_CLK_ICG", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY", + "name": "SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_CPU_RETENTION_BY_SW", + "name": "SOC_PM_CPU_RETENTION_BY_SW", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_MODEM_RETENTION_BY_REGDMA", + "name": "SOC_PM_MODEM_RETENTION_BY_REGDMA", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_RETENTION_HAS_CLOCK_BUG", + "name": "SOC_PM_RETENTION_HAS_CLOCK_BUG", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_MODEM_RF_FLAG_UPDATE_WORKAROUND", + "name": "SOC_PM_MODEM_RF_FLAG_UPDATE_WORKAROUND", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_PAU_LINK_NUM", + "name": "SOC_PM_PAU_LINK_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_PAU_REGDMA_LINK_MULTI_ADDR", + "name": "SOC_PM_PAU_REGDMA_LINK_MULTI_ADDR", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_PAU_REGDMA_LINK_WIFIMAC", + "name": "SOC_PM_PAU_REGDMA_LINK_WIFIMAC", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_PAU_REGDMA_UPDATE_CACHE_BEFORE_WAIT_COMPARE", + "name": "SOC_PM_PAU_REGDMA_UPDATE_CACHE_BEFORE_WAIT_COMPARE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_PMU_MIN_SLP_SLOW_CLK_CYCLE_FIXED", + "name": "SOC_PM_PMU_MIN_SLP_SLOW_CLK_CYCLE_FIXED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PM_RETENTION_MODULE_NUM", + "name": "SOC_PM_RETENTION_MODULE_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CLK_RC_FAST_SUPPORT_CALIBRATION", + "name": "SOC_CLK_RC_FAST_SUPPORT_CALIBRATION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_MODEM_CLOCK_IS_INDEPENDENT", + "name": "SOC_MODEM_CLOCK_IS_INDEPENDENT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CLK_XTAL32K_SUPPORTED", + "name": "SOC_CLK_XTAL32K_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CLK_OSC_SLOW_SUPPORTED", + "name": "SOC_CLK_OSC_SLOW_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CLK_RC32K_SUPPORTED", + "name": "SOC_CLK_RC32K_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CLK_LP_FAST_SUPPORT_XTAL_D2", + "name": "SOC_CLK_LP_FAST_SUPPORT_XTAL_D2", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RCC_IS_INDEPENDENT", + "name": "SOC_RCC_IS_INDEPENDENT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC", + "name": "SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL", + "name": "SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_TEMPERATURE_SENSOR_INTR_SUPPORT", + "name": "SOC_TEMPERATURE_SENSOR_INTR_SUPPORT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_TEMPERATURE_SENSOR_SUPPORT_ETM", + "name": "SOC_TEMPERATURE_SENSOR_SUPPORT_ETM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION", + "name": "SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN", + "name": "SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_RNG_CLOCK_IS_INDEPENDENT", + "name": "SOC_RNG_CLOCK_IS_INDEPENDENT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_WIFI_HW_TSF", + "name": "SOC_WIFI_HW_TSF", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_WIFI_FTM_SUPPORT", + "name": "SOC_WIFI_FTM_SUPPORT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_WIFI_GCMP_SUPPORT", + "name": "SOC_WIFI_GCMP_SUPPORT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_WIFI_WAPI_SUPPORT", + "name": "SOC_WIFI_WAPI_SUPPORT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_WIFI_TXOP_SUPPORT", + "name": "SOC_WIFI_TXOP_SUPPORT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_WIFI_CSI_SUPPORT", + "name": "SOC_WIFI_CSI_SUPPORT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_WIFI_MESH_SUPPORT", + "name": "SOC_WIFI_MESH_SUPPORT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_WIFI_HE_SUPPORT", + "name": "SOC_WIFI_HE_SUPPORT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_WIFI_MAC_VERSION_NUM", + "name": "SOC_WIFI_MAC_VERSION_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BLE_SUPPORTED", + "name": "SOC_BLE_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BLE_MESH_SUPPORTED", + "name": "SOC_BLE_MESH_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_ESP_NIMBLE_CONTROLLER", + "name": "SOC_ESP_NIMBLE_CONTROLLER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BLE_50_SUPPORTED", + "name": "SOC_BLE_50_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BLE_DEVICE_PRIVACY_SUPPORTED", + "name": "SOC_BLE_DEVICE_PRIVACY_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BLE_POWER_CONTROL_SUPPORTED", + "name": "SOC_BLE_POWER_CONTROL_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED", + "name": "SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BLUFI_SUPPORTED", + "name": "SOC_BLUFI_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BLE_MULTI_CONN_OPTIMIZATION", + "name": "SOC_BLE_MULTI_CONN_OPTIMIZATION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BLE_SUBRATE_SUPPORTED", + "name": "SOC_BLE_SUBRATE_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BLE_PERIODIC_ADV_WITH_RESPONSE", + "name": "SOC_BLE_PERIODIC_ADV_WITH_RESPONSE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND", + "name": "SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_PHY_COMBO_MODULE", + "name": "SOC_PHY_COMBO_MODULE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_CAPS_NO_RESET_BY_ANA_BOD", + "name": "SOC_CAPS_NO_RESET_BY_ANA_BOD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR", + "name": "SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_LP_CORE_SUPPORT_ETM", + "name": "SOC_LP_CORE_SUPPORT_ETM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SOC_DEBUG_HAVE_OCD_STUB_BINS", + "name": "SOC_DEBUG_HAVE_OCD_STUB_BINS", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_CMAKE", + "name": "IDF_CMAKE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "- This option is for internal use only.\n- Enabling this option will help enable all FPGA support so as to\n run ESP-IDF on an FPGA. This can help reproduce some issues that\n only happens on FPGA condition, or when you have to burn some\n efuses multiple times.", + "id": "IDF_ENV_FPGA", + "name": "IDF_ENV_FPGA", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "- This option is ONLY used when doing new chip bringup.\n- This option will only enable necessary hw / sw settings for running\n a hello_world application.", + "id": "IDF_ENV_BRINGUP", + "name": "IDF_ENV_BRINGUP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_CI_BUILD", + "name": "IDF_CI_BUILD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_DOC_BUILD", + "name": "IDF_DOC_BUILD", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TOOLCHAIN", + "name": "IDF_TOOLCHAIN", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TOOLCHAIN_CLANG", + "name": "IDF_TOOLCHAIN_CLANG", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TOOLCHAIN_GCC", + "name": "IDF_TOOLCHAIN_GCC", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ARCH_RISCV", + "name": "IDF_TARGET_ARCH_RISCV", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ARCH_XTENSA", + "name": "IDF_TARGET_ARCH_XTENSA", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ARCH", + "name": "IDF_TARGET_ARCH", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET", + "name": "IDF_TARGET", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_INIT_VERSION", + "name": "IDF_INIT_VERSION", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ESP32", + "name": "IDF_TARGET_ESP32", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ESP32S2", + "name": "IDF_TARGET_ESP32S2", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ESP32S3", + "name": "IDF_TARGET_ESP32S3", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ESP32C3", + "name": "IDF_TARGET_ESP32C3", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ESP32C2", + "name": "IDF_TARGET_ESP32C2", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ESP32C6", + "name": "IDF_TARGET_ESP32C6", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ESP32C5", + "name": "IDF_TARGET_ESP32C5", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ESP32P4", + "name": "IDF_TARGET_ESP32P4", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ESP32H2", + "name": "IDF_TARGET_ESP32H2", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ESP32C61", + "name": "IDF_TARGET_ESP32C61", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ESP32H21", + "name": "IDF_TARGET_ESP32H21", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_ESP32H4", + "name": "IDF_TARGET_ESP32H4", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_TARGET_LINUX", + "name": "IDF_TARGET_LINUX", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "IDF_FIRMWARE_CHIP_ID", + "name": "IDF_FIRMWARE_CHIP_ID", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "!IDF_TARGET_LINUX && ", + "help": null, + "id": "APP_BUILD_TYPE_APP_2NDBOOT", + "name": "APP_BUILD_TYPE_APP_2NDBOOT", + "range": null, + "title": "Default (binary application + 2nd stage bootloader)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "APP_BUILD_TYPE_RAM", + "name": "APP_BUILD_TYPE_RAM", + "range": null, + "title": "Build app runs entirely in RAM (EXPERIMENTAL)", + "type": "bool" + } + ], + "depends_on": null, + "help": "Select the way the application is built.\n\nBy default, the application is built as a binary file in a format compatible with\nthe ESP-IDF bootloader. In addition to this application, 2nd stage bootloader is\nalso built. Application and bootloader binaries can be written into flash and\nloaded/executed from there.\n\nAnother option, useful for only very small and limited applications, is to only link\nthe .elf file of the application, such that it can be loaded directly into RAM over\nJTAG or UART. Note that since IRAM and DRAM sizes are very limited, it is not possible\nto build any complex application this way. However for some kinds of testing and debugging,\nthis option may provide faster iterations, since the application does not need to be\nwritten into flash.\n\nNote: when APP_BUILD_TYPE_RAM is selected and loaded with JTAG, ESP-IDF does not contain\nall the startup code required to initialize the CPUs and ROM memory (data/bss).\nTherefore it is necessary to execute a bit of ROM code prior to executing the application.\nA gdbinit file may look as follows (for ESP32):\n\n # Connect to a running instance of OpenOCD\n target remote :3333\n # Reset and halt the target\n mon reset halt\n # Run to a specific point in ROM code,\n # where most of initialization is complete.\n thb *0x40007d54\n c\n # Load the application into RAM\n load\n # Run till app_main\n tb app_main\n c\n\nExecute this gdbinit file as follows:\n\n xtensa-esp32-elf-gdb build/app-name.elf -x gdbinit\n\nExample gdbinit files for other targets can be found in tools/test_apps/system/gdb_loadable_elf/\n\nWhen loading the BIN with UART, the ROM will jump to ram and run the app after finishing the ROM\nstartup code, so there's no additional startup initialization required. You can use the\n`load-ram` in esptool to load the generated .bin file into ram and execute.\n\nExample:\n esptool --chip {chip} -p {port} -b {baud} --no-stub load-ram {app.bin}\n\nRecommended sdkconfig.defaults for building loadable ELF files is as follows.\nCONFIG_APP_BUILD_TYPE_RAM is required, other options help reduce application\nmemory footprint.\n\n CONFIG_APP_BUILD_TYPE_RAM=y\n CONFIG_VFS_SUPPORT_TERMIOS=\n CONFIG_LIBC_NEWLIB_NANO_FORMAT=y\n CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y\n CONFIG_ESP_DEBUG_STUBS_ENABLE=\n CONFIG_ESP_ERR_TO_NAME_LOOKUP=", + "id": "build-type-application-build-type-home-claw-.platformio-packages-framework-espidf-Kconfig-177", + "name": "APP_BUILD_TYPE", + "title": "Application build type", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "APP_BUILD_GENERATE_BINARIES", + "name": "APP_BUILD_GENERATE_BINARIES", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "APP_BUILD_BOOTLOADER", + "name": "APP_BUILD_BOOTLOADER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "APP_BUILD_TYPE_RAM", + "help": "If this option is enabled, external memory and related peripherals, such as Cache, MMU,\nFlash and PSRAM, won't be initialized. Corresponding drivers won't be introduced either.\nComponents that depend on the spi_flash component will also be unavailable, such as\napp_update, etc. When this option is enabled, about 26KB of RAM space can be saved.", + "id": "APP_BUILD_TYPE_PURE_RAM_APP", + "name": "APP_BUILD_TYPE_PURE_RAM_APP", + "range": null, + "title": "Build app without SPI_FLASH/PSRAM support (saves ram)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "APP_BUILD_USE_FLASH_SECTIONS", + "name": "APP_BUILD_USE_FLASH_SECTIONS", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If enabled, all date, time, and path information would be eliminated. A .gdbinit file would be create\nautomatically. (or will be append if you have one already)", + "id": "APP_REPRODUCIBLE_BUILD", + "name": "APP_REPRODUCIBLE_BUILD", + "range": null, + "title": "Enable reproducible build", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If enabled, this disables the linking of binary libraries in the application build. Note\nthat after enabling this Wi-Fi/Bluetooth will not work.", + "id": "APP_NO_BLOBS", + "name": "APP_NO_BLOBS", + "range": null, + "title": "No Binary Blobs", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32", + "help": "Bootloaders before ESP-IDF v2.1 did less initialisation of the\nsystem clock. This setting needs to be enabled to build an app\nwhich can be booted by these older bootloaders.\n\nIf this setting is enabled, the app can be booted by any bootloader\nfrom IDF v1.0 up to the current version.\n\nIf this setting is disabled, the app can only be booted by bootloaders\nfrom IDF v2.1 or newer.\n\nEnabling this setting adds approximately 1KB to the app's IRAM usage.", + "id": "APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS", + "name": "APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS", + "range": null, + "title": "App compatible with bootloaders before ESP-IDF v2.1", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32", + "help": "Partition tables before ESP-IDF V3.1 do not contain an MD5 checksum\nfield, and the bootloader before ESP-IDF v3.1 cannot read a partition\ntable that contains an MD5 checksum field.\n\nEnable this option only if your app needs to boot on a bootloader and/or\npartition table that was generated from a version *before* ESP-IDF v3.1.\n\nIf this option and Flash Encryption are enabled at the same time, and any\ndata partitions in the partition table are marked Encrypted, then the\npartition encrypted flag should be manually verified in the app before accessing\nthe partition (see CVE-2021-27926).", + "id": "APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS", + "name": "APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS", + "range": null, + "title": "App compatible with bootloader and partition table before ESP-IDF v3.1", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32", + "help": null, + "id": "APP_INIT_CLK", + "name": "APP_INIT_CLK", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": null, + "id": "build-type-home-claw-.platformio-packages-framework-espidf-Kconfig-175", + "title": "Build type", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT || SECURE_SIGNED_APPS", + "help": "If set, the Data partition images will be verified during OTA updates.\nOnly partitions with subtype ESP_PARTITION_SUBTYPE_DATA_UNDEFINED will be verified.", + "id": "SECURE_SIGNED_DATA_PARTITION", + "name": "SECURE_SIGNED_DATA_PARTITION", + "range": null, + "title": "Require signed Data partition images", + "type": "bool" + } + ], + "depends_on": null, + "id": "app-update-config-home-claw-.platformio-packages-framework-espidf-components-app_update-Kconfig.projbuild-1", + "title": "App Update config", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "!APP_REPRODUCIBLE_BUILD", + "help": "If set, then the bootloader will be built with the current time/date stamp.\nIt is stored in the bootloader description\nstructure. If not set, time/date stamp will be excluded from bootloader image.\nThis can be useful for getting the\nsame binary image files made from the same source, but at different times.", + "id": "BOOTLOADER_COMPILE_TIME_DATE", + "name": "BOOTLOADER_COMPILE_TIME_DATE", + "range": null, + "title": "Use time/date stamp for bootloader", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Project version. It is placed in \"version\" field of the esp_bootloader_desc structure.\nThe type of this field is \"uint32_t\".", + "id": "BOOTLOADER_PROJECT_VER", + "name": "BOOTLOADER_PROJECT_VER", + "range": [ + 0, + 4294967295 + ], + "title": "Project version", + "type": "int" + } + ], + "depends_on": null, + "id": "bootloader-config-bootloader-manager-home-claw-.platformio-packages-framework-espidf-components-bootloader-..-esp_bootloader_format-Kconfig.bootloader-1", + "title": "Bootloader manager", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BOOTLOADER_APP_ANTI_ROLLBACK", + "help": "The secure version is the sequence number stored in the header of each firmware.\nThe security version is set in the bootloader, version is recorded in the eFuse field\nas the number of set ones. The allocated number of bits in the efuse field\nfor storing the security version is limited (see BOOTLOADER_APP_SEC_VER_SIZE_EFUSE_FIELD option).\n\nBootloader: When bootloader selects an app to boot, an app is selected that has\na security version greater or equal that recorded in eFuse field.\nThe app is booted with a higher (or equal) secure version.\n\nThe security version is worth increasing if in previous versions there is\na significant vulnerability and their use is not acceptable.\n\nYour partition table should has a scheme with ota_0 + ota_1 (without factory).", + "id": "BOOTLOADER_APP_SECURE_VERSION", + "name": "BOOTLOADER_APP_SECURE_VERSION", + "range": null, + "title": "eFuse secure version of app", + "type": "int" + }, + { + "children": [], + "depends_on": "BOOTLOADER_APP_ANTI_ROLLBACK", + "help": "The size of the efuse secure version field.\nIts length is limited to 32 bits for ESP32, 4 bits for ESP32-C2,\n9 bits for ESP32-C5, and 16 bits for other targets.\nThis determines how many times the security version can be increased.", + "id": "BOOTLOADER_APP_SEC_VER_SIZE_EFUSE_FIELD", + "name": "BOOTLOADER_APP_SEC_VER_SIZE_EFUSE_FIELD", + "range": null, + "title": "Size of the efuse secure version field", + "type": "int" + }, + { + "children": [], + "depends_on": "BOOTLOADER_APP_ANTI_ROLLBACK", + "help": "This option allows to emulate read/write operations with all eFuses and efuse secure version.\nIt allows to test anti-rollback implementation without permanent write eFuse bits.\nThere should be an entry in partition table with following details: `emul_efuse, data, efuse, , 0x2000`.\n\nThis option enables: EFUSE_VIRTUAL and EFUSE_VIRTUAL_KEEP_IN_FLASH.", + "id": "BOOTLOADER_EFUSE_SECURE_VERSION_EMULATE", + "name": "BOOTLOADER_EFUSE_SECURE_VERSION_EMULATE", + "range": null, + "title": "Emulate operations with efuse secure version(only test)", + "type": "bool" + } + ], + "depends_on": "BOOTLOADER_APP_ROLLBACK_ENABLE", + "help": "This option prevents rollback to previous firmware/application image with lower security version.", + "id": "BOOTLOADER_APP_ANTI_ROLLBACK", + "name": "BOOTLOADER_APP_ANTI_ROLLBACK", + "range": null, + "title": "Enable app anti-rollback support", + "type": "bool" + } + ], + "depends_on": null, + "help": "After updating the app, the bootloader runs a new app with the \"ESP_OTA_IMG_PENDING_VERIFY\" state set.\nThis state prevents the re-run of this app. After the first boot of the new app in the user code, the\nfunction should be called to confirm the operability of the app or vice versa about its non-operability.\nIf the app is working, then it is marked as valid. Otherwise, it is marked as not valid and rolls back to\nthe previous working app. A reboot is performed, and the app is booted before the software update.\nNote: If during the first boot a new app the power goes out or the WDT works, then roll back will happen.\nRollback is possible only between the apps with the same security versions.", + "id": "BOOTLOADER_APP_ROLLBACK_ENABLE", + "name": "BOOTLOADER_APP_ROLLBACK_ENABLE", + "range": null, + "title": "Enable app rollback support", + "type": "bool" + } + ], + "depends_on": null, + "id": "bootloader-config-application-rollback-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.app_rollback-1", + "title": "Application Rollback", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BOOTLOADER_RECOVERY_ENABLE", + "help": "Flash address where the recovery bootloader is stored.\nThis value must be written to the eFuse field (ESP_EFUSE_RECOVERY_BOOTLOADER_FLASH_SECTOR)\nto activate the recovery bootloader in the ROM bootloader. The eFuse can be programmed\nusing espefuse or in the user application with the API esp_efuse_set_recovery_bootloader_offset().\nSetting this value in the config allows parttool.py to verify that it does not overlap with existing\npartitions in the partition table.\n\nThe address must be a multiple of the flash sector size (0x1000 bytes).\nThe eFuse field stores the offset in sectors.\nIf the feature is no longer needed or unused, you can burn the 0xFFF value to disable this feature in\nthe ROM bootloader.", + "id": "BOOTLOADER_RECOVERY_OFFSET", + "name": "BOOTLOADER_RECOVERY_OFFSET", + "range": null, + "title": "Recovery Bootloader Flash Offset", + "type": "hex" + }, + { + "children": [ + { + "children": [], + "depends_on": "BOOTLOADER_ANTI_ROLLBACK_ENABLE", + "help": "The secure version is the sequence number stored in the header of each bootloader.\n\nThe ROM Bootloader which runs the 2nd stage bootloader (PRIMARY or RECOVERY) checks that\nthe security version is greater or equal that recorded in the eFuse field.\nBootloaders that have a secure version in the image < secure version in efuse will not boot.\n\nThe security version is worth increasing if in previous versions there is\na significant vulnerability and their use is not acceptable.", + "id": "BOOTLOADER_SECURE_VERSION", + "name": "BOOTLOADER_SECURE_VERSION", + "range": null, + "title": "Secure version of bootloader", + "type": "int" + } + ], + "depends_on": "BOOTLOADER_RECOVERY_ENABLE", + "help": "This option prevents rollback to previous bootloader image with lower security version.", + "id": "BOOTLOADER_ANTI_ROLLBACK_ENABLE", + "name": "BOOTLOADER_ANTI_ROLLBACK_ENABLE", + "range": null, + "title": "Enable bootloader rollback support", + "type": "bool" + } + ], + "depends_on": "SOC_RECOVERY_BOOTLOADER_SUPPORTED", + "help": "The recovery bootloader feature is implemented in the ROM bootloader. It is required for safe OTA\nupdates of the bootloader. The feature is activated when the eFuse field\n(ESP_EFUSE_RECOVERY_BOOTLOADER_FLASH_SECTOR) is set, which defines the flash address of the\nrecovery bootloader. If activated and the primary bootloader fails to load, the ROM bootloader\nwill attempt to load the recovery bootloader from the address specified in eFuse.", + "id": "BOOTLOADER_RECOVERY_ENABLE", + "name": "BOOTLOADER_RECOVERY_ENABLE", + "range": null, + "title": "Enable Recovery Bootloader", + "type": "bool" + } + ], + "depends_on": null, + "id": "bootloader-config-recovery-bootloader-and-rollback-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.bootloader_rollback-1", + "title": "Recovery Bootloader and Rollback", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": "Offset address that 2nd bootloader will be flashed to.\nThe value is determined by the ROM bootloader.\nIt's not configurable in ESP-IDF.", + "id": "BOOTLOADER_OFFSET_IN_FLASH", + "name": "BOOTLOADER_OFFSET_IN_FLASH", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_COMPILER_OPTIMIZATION_SIZE", + "name": "BOOTLOADER_COMPILER_OPTIMIZATION_SIZE", + "range": null, + "title": "Size (-Os with GCC, -Oz with Clang)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG", + "name": "BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG", + "range": null, + "title": "Debug (-Og)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_COMPILER_OPTIMIZATION_PERF", + "name": "BOOTLOADER_COMPILER_OPTIMIZATION_PERF", + "range": null, + "title": "Optimize for performance (-O2)", + "type": "bool" + } + ], + "depends_on": null, + "help": "This option sets compiler optimization level (gcc -O argument)\nfor the bootloader.\n\n- The default \"Size\" setting will add the -Os (-Oz with clang) flag to CFLAGS.\n- The \"Debug\" setting will add the -Og flag to CFLAGS.\n- The \"Performance\" setting will add the -O2 flag to CFLAGS.\n\nNote that custom optimization levels may be unsupported.", + "id": "bootloader-config-bootloader-optimization-level-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-18", + "name": "BOOTLOADER_COMPILER_OPTIMIZATION", + "title": "Bootloader optimization Level", + "type": "choice" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_LOG_VERSION_1", + "name": "BOOTLOADER_LOG_VERSION_1", + "range": null, + "title": "V1", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_LOG_VERSION_2", + "name": "BOOTLOADER_LOG_VERSION_2", + "range": null, + "title": "V2", + "type": "bool" + } + ], + "depends_on": null, + "help": "Select the log version to be used by the ESP log component.\nThe app log version (CONFIG_LOG_VERSION) controls the version used in the bootloader,\npreventing the selection of different versions.\nFor description of V1 and V2 see CONFIG_LOG_VERSION.", + "id": "bootloader-config-log-log-version-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.log-3", + "name": "BOOTLOADER_LOG_VERSION", + "title": "Log version", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": "This configuration sets the log version number based on the chosen log version.", + "id": "BOOTLOADER_LOG_VERSION", + "name": "BOOTLOADER_LOG_VERSION", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_LOG_LEVEL_NONE", + "name": "BOOTLOADER_LOG_LEVEL_NONE", + "range": null, + "title": "No output", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_LOG_LEVEL_ERROR", + "name": "BOOTLOADER_LOG_LEVEL_ERROR", + "range": null, + "title": "Error", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_LOG_LEVEL_WARN", + "name": "BOOTLOADER_LOG_LEVEL_WARN", + "range": null, + "title": "Warning", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_LOG_LEVEL_INFO", + "name": "BOOTLOADER_LOG_LEVEL_INFO", + "range": null, + "title": "Info", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_LOG_LEVEL_DEBUG", + "name": "BOOTLOADER_LOG_LEVEL_DEBUG", + "range": null, + "title": "Debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_LOG_LEVEL_VERBOSE", + "name": "BOOTLOADER_LOG_LEVEL_VERBOSE", + "range": null, + "title": "Verbose", + "type": "bool" + } + ], + "depends_on": null, + "help": "Specify how much output to see in bootloader logs.", + "id": "bootloader-config-log-bootloader-log-verbosity-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.log-24", + "name": "BOOTLOADER_LOG_LEVEL", + "title": "Bootloader log verbosity", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "BOOTLOADER_LOG_LEVEL", + "name": "BOOTLOADER_LOG_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enable ANSI terminal color codes. Logs (info, errors, warnings) will contain color codes.\nIn order to view these, your terminal program must support ANSI color codes.", + "id": "BOOTLOADER_LOG_COLORS", + "name": "BOOTLOADER_LOG_COLORS", + "range": null, + "title": "Color", + "type": "bool" + }, + { + "children": [], + "depends_on": "BOOTLOADER_LOG_VERSION_2", + "help": "Enables support for color codes in the esp_log() function. If CONFIG_LOG_COLORS is enabled, this option\nis always active. If CONFIG_LOG_COLORS is disabled, this option allows you to still handle color codes\nin specific files by defining ESP_LOG_COLOR_DISABLED as 0 before including esp_log.h.\n\nNote that enabling this option may slightly increase RAM/FLASH usage due to additional color handling\nfunctionality. It provides flexibility to manage color output even when CONFIG_LOG_COLORS is turned off.", + "id": "BOOTLOADER_LOG_COLORS_SUPPORT", + "name": "BOOTLOADER_LOG_COLORS_SUPPORT", + "range": null, + "title": "Allow enabling color output at run time", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BOOTLOADER_LOG_VERSION_2 && ", + "help": null, + "id": "BOOTLOADER_LOG_TIMESTAMP_SOURCE_NONE", + "name": "BOOTLOADER_LOG_TIMESTAMP_SOURCE_NONE", + "range": null, + "title": "None", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS", + "name": "BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS", + "range": null, + "title": "Milliseconds Since Boot", + "type": "bool" + } + ], + "depends_on": null, + "help": "Choose what sort of timestamp is displayed in the log output:\n\n- \"None\" - The log will only contain the actual log messages themselves\n without any time-related information. Avoiding timestamps can help conserve\n processing power and memory. It might useful when you\n perform log analysis or debugging, sometimes it's more straightforward\n to work with logs that lack timestamps, especially if the time of occurrence\n is not critical for understanding the issues.\n \"I log_test: info message\"\n\n- \"Milliseconds since boot\" is calculated from the RTOS tick count multiplied\n by the tick period. This time will reset after a software reboot.\n \"I (112500) log_test: info message\"", + "id": "bootloader-config-log-format-timestamp-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.log.format-23", + "name": "BOOTLOADER_LOG_TIMESTAMP_SOURCE", + "title": "Timestamp", + "type": "choice" + }, + { + "children": [], + "depends_on": "BOOTLOADER_LOG_VERSION_2", + "help": "Enables support for timestamp in the esp_log() function.\nIf CONFIG_LOG_TIMESTAMP_SOURCE_NONE, this option allows you to still handle timestamp\nin specific files by defining ESP_LOG_TIMESTAMP_DISABLED as 0 before including esp_log.h.\n\nNote that enabling this option may slightly increase RAM/FLASH usage due to additional timestamp handling\nfunctionality. It provides flexibility to manage timestamp output even when\nCONFIG_LOG_TIMESTAMP_SOURCE_NONE.", + "id": "BOOTLOADER_LOG_TIMESTAMP_SUPPORT", + "name": "BOOTLOADER_LOG_TIMESTAMP_SUPPORT", + "range": null, + "title": "Allow enabling timestamp output at run time", + "type": "bool" + } + ], + "depends_on": null, + "id": "bootloader-config-log-format-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.log.format-1", + "title": "Format", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "BOOTLOADER_LOG_MODE_TEXT_EN", + "name": "BOOTLOADER_LOG_MODE_TEXT_EN", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "BOOTLOADER_LOG_MODE_BINARY_EN", + "name": "BOOTLOADER_LOG_MODE_BINARY_EN", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Enables text-based logging, where log messages are stored in a human-readable format.\nThis mode is useful for development and debugging, as it allows logs to be easily\nread and interpreted without additional processing.", + "id": "BOOTLOADER_LOG_MODE_TEXT", + "name": "BOOTLOADER_LOG_MODE_TEXT", + "range": null, + "title": "Text Log Mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "BOOTLOADER_LOG_VERSION_2 && ", + "help": "Enables binary logging with host-side format string expansion. In this mode, the\nformat argument of ESP_LOGx, ESP_EARLY_LOG, and ESP_DRAM_LOG macros is stored in a\nNOLOAD section, not included in the final binary file. This reduces flash usage by\napproximately 10% - 35%. The esp_log() function uses the binary log handler to output\nmessages. Instead of sending the full log string, the chip transmits only the\naddresses of these strings (if present in the ELF file). If the format string\ncannot be found in the ELF file, the chip sends the entire string. The host-side\nmonitor tool, which has access to the ELF file, reconstructs the log message using\nthe format string.\nThis reduces firmware size by eliminating format strings from\nflash memory and removing the usage of printf-like functions, potentially freeing up\na few kilobytes of space. To further reduce firmware size, wrap string data with ESP_LOG_ATTR_STR.", + "id": "BOOTLOADER_LOG_MODE_BINARY", + "name": "BOOTLOADER_LOG_MODE_BINARY", + "range": null, + "title": "Binary Log Mode", + "type": "bool" + } + ], + "depends_on": null, + "help": null, + "id": "bootloader-config-log-settings-log-mode-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.log.settings-9", + "name": "BOOTLOADER_LOG_MODE", + "title": "Log Mode", + "type": "choice" + } + ], + "depends_on": null, + "id": "bootloader-config-log-settings-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.log.settings-1", + "title": "Settings", + "type": "menu" + } + ], + "depends_on": null, + "id": "bootloader-config-log-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.log-1", + "title": "Log", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": "The CPU clock frequency to be at least raised to in 2nd bootloader. Invisible for users.", + "id": "BOOTLOADER_CPU_CLK_FREQ_MHZ", + "name": "BOOTLOADER_CPU_CLK_FREQ_MHZ", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "IDF_TARGET_ESP32 && (ESPTOOLPY_FLASHMODE_QIO || ESPTOOLPY_FLASHMODE_QOUT)", + "help": "This setting is only used if the SPI flash pins have been overridden by setting the eFuses\nSPI_PAD_CONFIG_xxx, and the SPI flash mode is QIO or QOUT.\n\nWhen this is the case, the eFuse config only defines 3 of the 4 Quad I/O data pins. The WP pin (aka\nESP32 pin \"SD_DATA_3\" or SPI flash pin \"IO2\") is not specified in eFuse. The same pin is also used\nfor external SPIRAM if it is enabled.\n\nIf this config item is set to N (default), the correct WP pin will be automatically used for any\nEspressif chip or module with integrated flash. If a custom setting is needed, set this config item to\nY and specify the GPIO number connected to the WP.", + "id": "BOOTLOADER_SPI_CUSTOM_WP_PIN", + "name": "BOOTLOADER_SPI_CUSTOM_WP_PIN", + "range": null, + "title": "Use custom SPI Flash WP Pin when flash pins set in eFuse (read help)", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32 && (ESPTOOLPY_FLASHMODE_QIO || ESPTOOLPY_FLASHMODE_QOUT)", + "help": "The option \"Use custom SPI Flash WP Pin\" must be set or this value is ignored\n\nIf burning a customized set of SPI flash pins in eFuse and using QIO or QOUT mode for flash, set this\nvalue to the GPIO number of the SPI flash WP pin.", + "id": "BOOTLOADER_SPI_WP_PIN", + "name": "BOOTLOADER_SPI_WP_PIN", + "range": null, + "title": "Custom SPI Flash WP Pin", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "This will force 2nd bootloader to be loaded by DOUT mode, and will restore Dummy Cycle setting by\nresetting the Flash", + "id": "BOOTLOADER_FLASH_DC_AWARE", + "name": "BOOTLOADER_FLASH_DC_AWARE", + "range": null, + "title": "Allow app adjust Dummy Cycle bits in SPI Flash for higher frequency (READ HELP FIRST)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Perform the startup flow recommended by XMC. Please consult XMC for the details of this flow.\nXMC chips will be forbidden to be used, when this option is disabled.\n\nDON'T DISABLE THIS UNLESS YOU KNOW WHAT YOU ARE DOING.\n\ncomment \"Features below require specific hardware (READ DOCS FIRST!)\"", + "id": "BOOTLOADER_FLASH_XMC_SUPPORT", + "name": "BOOTLOADER_FLASH_XMC_SUPPORT", + "range": null, + "title": "Enable the support for flash chips of XMC (READ DOCS FIRST)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This is a helper config for 32bits address flash. Invisible for users.", + "id": "BOOTLOADER_FLASH_32BIT_ADDR", + "name": "BOOTLOADER_FLASH_32BIT_ADDR", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This is a helper config for 32bits address flash. Invisible for users.", + "id": "BOOTLOADER_FLASH_NEEDS_32BIT_FEAT", + "name": "BOOTLOADER_FLASH_NEEDS_32BIT_FEAT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This is a helper config for 32bits address quad flash. Invisible for users.", + "id": "BOOTLOADER_FLASH_NEEDS_32BIT_ADDR_QUAD_FLASH", + "name": "BOOTLOADER_FLASH_NEEDS_32BIT_ADDR_QUAD_FLASH", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "BOOTLOADER_FLASH_NEEDS_32BIT_ADDR_QUAD_FLASH && IDF_EXPERIMENTAL_FEATURES", + "help": "Enabling this option allows the CPU to access 32-bit-address flash beyond 16M range.\n1. This option only valid for 4-line flash. Octal flash doesn't need this.\n2. This option is experimental, which means it can\u2019t use on all flash chips stable, for more\ninformation, please contact Espressif Business support.", + "id": "BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH", + "name": "BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH", + "range": null, + "title": "Enable cache access to 32-bit-address (over 16MB) range of SPI Flash (READ DOCS FIRST)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "BOOTLOADER_CACHE_32BIT_ADDR_OCTAL_FLASH", + "name": "BOOTLOADER_CACHE_32BIT_ADDR_OCTAL_FLASH", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": null, + "id": "bootloader-config-serial-flash-configurations-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-52", + "title": "Serial Flash Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "!ESPTOOLPY_FLASHFREQ_80M && ", + "help": null, + "id": "BOOTLOADER_VDDSDIO_BOOST_1_8V", + "name": "BOOTLOADER_VDDSDIO_BOOST_1_8V", + "range": null, + "title": "1.8V", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_VDDSDIO_BOOST_1_9V", + "name": "BOOTLOADER_VDDSDIO_BOOST_1_9V", + "range": null, + "title": "1.9V", + "type": "bool" + } + ], + "depends_on": "SOC_CONFIGURABLE_VDDSDIO_SUPPORTED", + "help": "If this option is enabled, and VDDSDIO LDO is set to 1.8V (using eFuse\nor MTDI bootstrapping pin), bootloader will change LDO settings to\noutput 1.9V instead. This helps prevent flash chip from browning out\nduring flash programming operations.\n\nThis option has no effect if VDDSDIO is set to 3.3V, or if the internal\nVDDSDIO regulator is disabled via eFuse.", + "id": "bootloader-config-vddsdio-ldo-voltage-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-135", + "name": "BOOTLOADER_VDDSDIO_BOOST", + "title": "VDDSDIO LDO voltage", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "BOOTLOADER_FACTORY_RESET", + "help": "The selected GPIO will be configured as an input with internal pull-up enabled. To trigger a factory\nreset, this GPIO must be held high or low (as configured) on startup.\n\nNote that on some SoCs not all pins have an internal pull-up and certain pins are already\nused by ROM bootloader as bootstrapping. Refer to the technical reference manual for further\ndetails on the selected SoC.", + "id": "BOOTLOADER_NUM_PIN_FACTORY_RESET", + "name": "BOOTLOADER_NUM_PIN_FACTORY_RESET", + "range": null, + "title": "Number of the GPIO input for factory reset", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_FACTORY_RESET_PIN_LOW", + "name": "BOOTLOADER_FACTORY_RESET_PIN_LOW", + "range": null, + "title": "Reset on GPIO low", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_FACTORY_RESET_PIN_HIGH", + "name": "BOOTLOADER_FACTORY_RESET_PIN_HIGH", + "range": null, + "title": "Reset on GPIO high", + "type": "bool" + } + ], + "depends_on": "BOOTLOADER_FACTORY_RESET", + "help": "Pin level for factory reset, can be triggered on low or high.", + "id": "bootloader-config-gpio-triggers-factory-reset-factory-reset-gpio-level-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-187", + "name": "BOOTLOADER_FACTORY_RESET_PIN_LEVEL", + "title": "Factory reset GPIO level", + "type": "choice" + }, + { + "children": [], + "depends_on": "BOOTLOADER_FACTORY_RESET", + "help": "The device will boot from \"factory\" partition (or OTA slot 0 if no factory partition is present) after a\nfactory reset.", + "id": "BOOTLOADER_OTA_DATA_ERASE", + "name": "BOOTLOADER_OTA_DATA_ERASE", + "range": null, + "title": "Clear OTA data on factory reset (select factory partition)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BOOTLOADER_FACTORY_RESET", + "help": "Allows customers to select which data partitions will be erased while factory reset.\n\nSpecify the names of partitions as a comma-delimited with optional spaces for readability. (Like this:\n\"nvs, phy_init, ...\")\nMake sure that the name specified in the partition table and here are the same.\nPartitions of type \"app\" cannot be specified here.", + "id": "BOOTLOADER_DATA_FACTORY_RESET", + "name": "BOOTLOADER_DATA_FACTORY_RESET", + "range": null, + "title": "Comma-separated names of partitions to clear on factory reset", + "type": "string" + } + ], + "depends_on": null, + "help": "Allows to reset the device to factory settings:\n- clear one or more data partitions;\n- boot from \"factory\" partition.\nThe factory reset will occur if there is a GPIO input held at the configured level while\ndevice starts up. See settings below.", + "id": "BOOTLOADER_FACTORY_RESET", + "name": "BOOTLOADER_FACTORY_RESET", + "range": null, + "title": "GPIO triggers factory reset", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BOOTLOADER_APP_TEST", + "help": "The selected GPIO will be configured as an input with internal pull-up enabled.\nTo trigger a test app, this GPIO must be pulled low on reset.\nAfter the GPIO input is deactivated and the device reboots, the old application will boot.\n(factory or OTA[x]).\n\nNote that on some SoCs not all pins have an internal pull-up and certain pins are already\nused by ROM bootloader as bootstrapping. Refer to the technical reference manual for further\ndetails on the selected SoC.", + "id": "BOOTLOADER_NUM_PIN_APP_TEST", + "name": "BOOTLOADER_NUM_PIN_APP_TEST", + "range": null, + "title": "Number of the GPIO input to boot TEST partition", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_APP_TEST_PIN_LOW", + "name": "BOOTLOADER_APP_TEST_PIN_LOW", + "range": null, + "title": "Enter test app on GPIO low", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BOOTLOADER_APP_TEST_PIN_HIGH", + "name": "BOOTLOADER_APP_TEST_PIN_HIGH", + "range": null, + "title": "Enter test app on GPIO high", + "type": "bool" + } + ], + "depends_on": "BOOTLOADER_APP_TEST", + "help": "Pin level for app test, can be triggered on low or high.", + "id": "bootloader-config-gpio-triggers-boot-from-test-app-partition-app-test-gpio-level-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-252", + "name": "BOOTLOADER_APP_TEST_PIN_LEVEL", + "title": "App test GPIO level", + "type": "choice" + } + ], + "depends_on": "!BOOTLOADER_APP_ANTI_ROLLBACK", + "help": "Allows to run the test app from \"TEST\" partition.\nA boot from \"test\" partition will occur if there is a GPIO input pulled low while device starts up.\nSee settings below.", + "id": "BOOTLOADER_APP_TEST", + "name": "BOOTLOADER_APP_TEST", + "range": null, + "title": "GPIO triggers boot from test app partition", + "type": "bool" + }, + { + "children": [], + "depends_on": "BOOTLOADER_FACTORY_RESET || BOOTLOADER_APP_TEST", + "help": "The GPIO must be held low continuously for this period of time after reset\nbefore a factory reset or test partition boot (as applicable) is performed.", + "id": "BOOTLOADER_HOLD_TIME_GPIO", + "name": "BOOTLOADER_HOLD_TIME_GPIO", + "range": null, + "title": "Hold time of GPIO for reset/test mode (seconds)", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Protects the unmapped memory regions of the entire address space from unintended accesses.\nThis will ensure that an exception will be triggered whenever the CPU performs a memory\noperation on unmapped regions of the address space.\nNOTE: Disabling this config on some targets (ESP32-C6, ESP32-H2, ESP32-C5) would not generate\nan exception when reading from or writing to 0x0.", + "id": "BOOTLOADER_REGION_PROTECTION_ENABLE", + "name": "BOOTLOADER_REGION_PROTECTION_ENABLE", + "range": null, + "title": "Enable protection for unmapped memory regions", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BOOTLOADER_WDT_ENABLE", + "help": "If this option is set, the ESP-IDF app must explicitly reset, feed, or disable the rtc_wdt in\nthe app's own code.\nIf this option is not set (default), then rtc_wdt will be disabled by ESP-IDF before calling\nthe app_main() function.\n\nUse function wdt_hal_feed() for resetting counter of RTC_WDT.\nFor esp32/s2 you can also use rtc_wdt_feed().\n\nUse function wdt_hal_disable() for disabling RTC_WDT.\nFor esp32/s2 you can also use rtc_wdt_disable().", + "id": "BOOTLOADER_WDT_DISABLE_IN_USER_CODE", + "name": "BOOTLOADER_WDT_DISABLE_IN_USER_CODE", + "range": null, + "title": "Allows RTC watchdog disable in user code", + "type": "bool" + }, + { + "children": [], + "depends_on": "BOOTLOADER_WDT_ENABLE", + "help": "Verify that this parameter is correct and more then the execution time.\nPay attention to options such as reset to factory, trigger test partition and encryption on boot\n- these options can increase the execution time.\nNote: RTC_WDT will reset while encryption operations will be performed.", + "id": "BOOTLOADER_WDT_TIME_MS", + "name": "BOOTLOADER_WDT_TIME_MS", + "range": [ + 0, + 120000 + ], + "title": "Timeout for RTC watchdog (ms)", + "type": "int" + } + ], + "depends_on": null, + "help": "Tracks the execution time of startup code.\nIf the execution time is exceeded, the RTC_WDT will restart system.\nIt is also useful to prevent a lock up in start code caused by an unstable power source.\nNOTE: Tracks the execution time starts from the bootloader code - re-set timeout, while selecting the\nsource for slow_clk - and ends calling app_main.\nRe-set timeout is needed due to WDT uses a SLOW_CLK clock source. After changing a frequency slow_clk a\ntime of WDT needs to re-set for new frequency.\nslow_clk depends on RTC_CLK_SRC (INTERNAL_RC or EXTERNAL_CRYSTAL).", + "id": "BOOTLOADER_WDT_ENABLE", + "name": "BOOTLOADER_WDT_ENABLE", + "range": null, + "title": "Use RTC watchdog in start code", + "type": "bool" + }, + { + "children": [], + "depends_on": "(SECURE_BOOT && SECURE_BOOT_INSECURE) || !SECURE_BOOT", + "help": "This option disables the normal validation of an image coming out of\ndeep sleep (checksums, SHA256, and signature). This is a trade-off\nbetween wakeup performance from deep sleep, and image integrity checks.\n\nOnly enable this if you know what you are doing. It should not be used\nin conjunction with using deep_sleep() entry and changing the active OTA\npartition as this would skip the validation upon first load of the new\nOTA partition.\n\nIt is possible to enable this option with Secure Boot if \"allow insecure\noptions\" is enabled, however it's strongly recommended to NOT enable it as\nit may allow a Secure Boot bypass.", + "id": "BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP", + "name": "BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP", + "range": null, + "title": "Skip image validation when exiting deep sleep", + "type": "bool" + }, + { + "children": [], + "depends_on": "!SECURE_SIGNED_ON_BOOT", + "help": "Some applications need to boot very quickly from power on. By default, the entire app binary\nis read from flash and verified which takes up a significant portion of the boot time.\n\nEnabling this option will skip validation of the app when the SoC boots from power on.\nNote that in this case it's not possible for the bootloader to detect if an app image is\ncorrupted in the flash, therefore it's not possible to safely fall back to a different app\npartition. Flash corruption of this kind is unlikely but can happen if there is a serious\nfirmware bug or physical damage.\n\nFollowing other reset types, the bootloader will still validate the app image. This increases\nthe chances that flash corruption resulting in a crash can be detected following soft reset, and\nthe bootloader will fall back to a valid app image. To increase the chances of successfully recovering\nfrom a flash corruption event, keep the option BOOTLOADER_WDT_ENABLE enabled and consider also enabling\nBOOTLOADER_WDT_DISABLE_IN_USER_CODE - then manually disable the RTC Watchdog once the app is running.\nIn addition, enable both the Task and Interrupt watchdog timers with reset options set.", + "id": "BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON", + "name": "BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON", + "range": null, + "title": "Skip image validation from power on reset (READ HELP FIRST)", + "type": "bool" + }, + { + "children": [], + "depends_on": "!SECURE_SIGNED_ON_BOOT", + "help": "Selecting this option prevents the bootloader from ever validating the app image before\nbooting it. Any flash corruption of the selected app partition will make the entire SoC\nunbootable.\n\nAlthough flash corruption is a very rare case, it is not recommended to select this option.\nConsider selecting \"Skip image validation from power on reset\" instead. However, if boot time\nis the only important factor then it can be enabled.", + "id": "BOOTLOADER_SKIP_VALIDATE_ALWAYS", + "name": "BOOTLOADER_SKIP_VALIDATE_ALWAYS", + "range": null, + "title": "Skip image validation always (READ HELP FIRST)", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_RTC_FAST_MEM_SUPPORTED", + "help": "Reserve RTC FAST memory for Skip image validation. This option in bytes.\nThis option reserves an area in the RTC FAST memory (access only PRO_CPU).\nUsed to save the addresses of the selected application.\nWhen a wakeup occurs (from Deep sleep), the bootloader retrieves it and\nloads the application without validation.", + "id": "BOOTLOADER_RESERVE_RTC_SIZE", + "name": "BOOTLOADER_RESERVE_RTC_SIZE", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [ + { + "children": [], + "depends_on": "BOOTLOADER_CUSTOM_RESERVE_RTC", + "help": "This option allows the customer to use the legacy bootloader behavior when the\nRTC FAST memory CRC calculation takes place. When this option is enabled, the\nallocated user custom data will be taken into account in the CRC calculation.\nThis means that any change to the custom data would need a CRC update to prevent\nthe bootloader from marking this data as corrupted.\nIf this option is disabled, the custom data will not be taken into account when\ncalculating the RTC FAST memory CRC. The user custom data can be changed freely,\nwithout the need to update the CRC.\nTHIS OPTION MUST BE THE SAME FOR BOTH THE BOOTLOADER AND THE APPLICATION BUILDS.", + "id": "BOOTLOADER_CUSTOM_RESERVE_RTC_IN_CRC", + "name": "BOOTLOADER_CUSTOM_RESERVE_RTC_IN_CRC", + "range": null, + "title": "Include custom memory in the CRC calculation", + "type": "bool" + }, + { + "children": [], + "depends_on": "BOOTLOADER_CUSTOM_RESERVE_RTC", + "help": "This option reserves in RTC FAST memory the area for custom purposes.\nIf you want to create your own bootloader and save more information\nin this area of memory, you can increase it. It must be a multiple of 4 bytes.\nThis area (rtc_retain_mem_t) is reserved and has access from the bootloader and an application.", + "id": "BOOTLOADER_CUSTOM_RESERVE_RTC_SIZE", + "name": "BOOTLOADER_CUSTOM_RESERVE_RTC_SIZE", + "range": null, + "title": "Size in bytes for custom purposes", + "type": "hex" + } + ], + "depends_on": "SOC_RTC_FAST_MEM_SUPPORTED", + "help": "This option allows the customer to place data in the RTC FAST memory,\nthis area remains valid when rebooted, except for power loss.\nThis memory is located at a fixed address and is available\nfor both the bootloader and the application.\n(The application and bootloader must be compiled with the same option).\nThe RTC FAST memory has access only through PRO_CPU.", + "id": "BOOTLOADER_CUSTOM_RESERVE_RTC", + "name": "BOOTLOADER_CUSTOM_RESERVE_RTC", + "range": null, + "title": "Reserve RTC FAST memory for custom purposes", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_RTC_FAST_MEM_SUPPORTED", + "help": "This option reserves an area in RTC FAST memory for the following features:\n- \"Skip image validation when exiting deep sleep\"\n- \"Reserve RTC FAST memory for custom purposes\"\n- \"GPIO triggers factory reset\"", + "id": "BOOTLOADER_RESERVE_RTC_MEM", + "name": "BOOTLOADER_RESERVE_RTC_MEM", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": null, + "id": "bootloader-config-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-1", + "title": "Bootloader config", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SECURE_BOOT || SECURE_SIGNED_ON_BOOT_NO_SECURE_BOOT", + "help": null, + "id": "SECURE_SIGNED_ON_BOOT", + "name": "SECURE_SIGNED_ON_BOOT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_BOOT || SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT", + "help": null, + "id": "SECURE_SIGNED_ON_UPDATE", + "name": "SECURE_SIGNED_ON_UPDATE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_SIGNED_ON_BOOT || SECURE_SIGNED_ON_UPDATE", + "help": null, + "id": "SECURE_SIGNED_APPS", + "name": "SECURE_SIGNED_APPS", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "(IDF_TARGET_ESP32 && ESP32_REV_MIN_FULL >= 300) || SOC_SECURE_BOOT_V2_RSA", + "help": null, + "id": "SECURE_BOOT_V2_RSA_SUPPORTED", + "name": "SECURE_BOOT_V2_RSA_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_SECURE_BOOT_V2_ECC", + "help": null, + "id": "SECURE_BOOT_V2_ECC_SUPPORTED", + "name": "SECURE_BOOT_V2_ECC_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_SECURE_BOOT_V1", + "help": null, + "id": "SECURE_BOOT_V1_SUPPORTED", + "name": "SECURE_BOOT_V1_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP32_REV_MIN_FULL >= 300", + "help": null, + "id": "SECURE_BOOT_V2_PREFERRED", + "name": "SECURE_BOOT_V2_PREFERRED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SECURE_BOOT_V2_ECDSA_ENABLED", + "name": "SECURE_BOOT_V2_ECDSA_ENABLED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SECURE_BOOT_V2_RSA_ENABLED", + "name": "SECURE_BOOT_V2_RSA_ENABLED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SECURE_BOOT_FLASH_ENC_KEYS_BURN_TOGETHER", + "name": "SECURE_BOOT_FLASH_ENC_KEYS_BURN_TOGETHER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "!SECURE_BOOT", + "help": "Require apps to be signed to verify their integrity.\n\nThis option uses the same app signature scheme as hardware secure boot, but unlike hardware secure boot it\ndoes not prevent the bootloader from being physically updated. This means that the device can be secured\nagainst remote network access, but not physical access. Compared to using hardware Secure Boot this option\nis much simpler to implement.", + "id": "SECURE_SIGNED_APPS_NO_SECURE_BOOT", + "name": "SECURE_SIGNED_APPS_NO_SECURE_BOOT", + "range": null, + "title": "Require signed app images", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "SECURE_BOOT_V1_SUPPORTED && (SECURE_SIGNED_APPS_NO_SECURE_BOOT || SECURE_BOOT_V1_ENABLED) && ", + "help": "Embeds the ECDSA public key in the bootloader and signs the application with an ECDSA key.\nRefer to the documentation before enabling.", + "id": "SECURE_SIGNED_APPS_ECDSA_SCHEME", + "name": "SECURE_SIGNED_APPS_ECDSA_SCHEME", + "range": null, + "title": "ECDSA", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_BOOT_V2_RSA_SUPPORTED && (SECURE_SIGNED_APPS_NO_SECURE_BOOT || SECURE_BOOT_V2_ENABLED) && !(IDF_TARGET_ESP32C5 && ESP32C5_REV_MIN_FULL < 1) && ", + "help": "Appends the RSA-3072 based Signature block to the application.\nRefer to before enabling.", + "id": "SECURE_SIGNED_APPS_RSA_SCHEME", + "name": "SECURE_SIGNED_APPS_RSA_SCHEME", + "range": null, + "title": "RSA", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_BOOT_V2_ECC_SUPPORTED && (SECURE_SIGNED_APPS_NO_SECURE_BOOT || SECURE_BOOT_V2_ENABLED) && ", + "help": "For Secure boot V2 (e.g., ESP32-C2 SoC), appends ECDSA based signature block to the application.\nRefer to documentation before enabling.", + "id": "SECURE_SIGNED_APPS_ECDSA_V2_SCHEME", + "name": "SECURE_SIGNED_APPS_ECDSA_V2_SCHEME", + "range": null, + "title": "ECDSA (V2)", + "type": "bool" + } + ], + "depends_on": "SECURE_BOOT || SECURE_SIGNED_APPS_NO_SECURE_BOOT", + "help": "Select the Secure App signing scheme. Depends on the Chip Revision.\nThere are two secure boot versions:\n\n1. Secure boot V1\n - Legacy custom secure boot scheme. Supported in ESP32 SoC.\n\n2. Secure boot V2\n - RSA based secure boot scheme.\n Supported in ESP32-ECO3 (ESP32 Chip Revision 3 onwards), ESP32-S2, ESP32-C3, ESP32-S3 SoCs.\n\n - ECDSA based secure boot scheme. Supported in ESP32-C2 SoC.", + "id": "security-features-app-signing-scheme-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-515", + "name": "SECURE_SIGNED_APPS_SCHEME", + "title": "App Signing Scheme", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "SECURE_SIGNED_APPS_ECDSA_V2_SCHEME && ", + "help": "This legacy option is not recommended for new designs. Prefer NISTP256 or NISTP384.", + "id": "SECURE_BOOT_ECDSA_KEY_LEN_192_BITS", + "name": "SECURE_BOOT_ECDSA_KEY_LEN_192_BITS", + "range": null, + "title": "Using ECC curve NISTP192 (Legacy, not recommended)", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_SIGNED_APPS_ECDSA_V2_SCHEME && ", + "help": null, + "id": "SECURE_BOOT_ECDSA_KEY_LEN_256_BITS", + "name": "SECURE_BOOT_ECDSA_KEY_LEN_256_BITS", + "range": null, + "title": "Using ECC curve NISTP256 (Recommended)", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_SIGNED_APPS_ECDSA_V2_SCHEME && SOC_ECDSA_SUPPORT_CURVE_P384 && ", + "help": null, + "id": "SECURE_BOOT_ECDSA_KEY_LEN_384_BITS", + "name": "SECURE_BOOT_ECDSA_KEY_LEN_384_BITS", + "range": null, + "title": "Using ECC curve NISTP384 (Recommended)", + "type": "bool" + } + ], + "depends_on": "SECURE_SIGNED_APPS_ECDSA_V2_SCHEME", + "help": "Select the ECDSA key size. Three key sizes are supported depending upon on the target:\n\n- 192 bit key using NISTP192 curve (Legacy, not recommended)\n- 256 bit key using NISTP256 curve (Recommended)\n- 384 bit key using NISTP384 curve (Recommended)\n\nThe advantage of using 384 and 256 bit keys is the extra randomness which makes it difficult to be\nbruteforced compared to 192 bit key.\nAt present, both key sizes are practically implausible to bruteforce.", + "id": "security-features-ecdsa-key-size-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-558", + "name": "SECURE_BOOT_ECDSA_KEY_LEN_SIZE", + "title": "ECDSA key size", + "type": "choice" + }, + { + "children": [], + "depends_on": "SECURE_SIGNED_APPS_NO_SECURE_BOOT && SECURE_SIGNED_APPS_ECDSA_SCHEME", + "help": "If this option is set, the bootloader will be compiled with code to verify that an app is signed before\nbooting it.\n\nIf hardware secure boot is enabled, this option is always enabled and cannot be disabled.\nIf hardware secure boot is not enabled, this option doesn't add significant security by itself so most\nusers will want to leave it disabled.", + "id": "SECURE_SIGNED_ON_BOOT_NO_SECURE_BOOT", + "name": "SECURE_SIGNED_ON_BOOT_NO_SECURE_BOOT", + "range": null, + "title": "Bootloader verifies app signatures", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_SIGNED_APPS_NO_SECURE_BOOT", + "help": "If this option is set, any OTA updated apps will have the signature verified before being considered valid.\n\nWhen enabled, the signature is automatically checked whenever the esp_ota_ops.h APIs are used for OTA\nupdates, or esp_image_format.h APIs are used to verify apps.\n\nIf hardware secure boot is enabled, this option is always enabled and cannot be disabled.\nIf hardware secure boot is not enabled, this option still adds significant security against network-based\nattackers by preventing spoofing of OTA updates.", + "id": "SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT", + "name": "SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT", + "range": null, + "title": "Verify app signature on update", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "SECURE_BOOT_V1_SUPPORTED && ", + "help": "Build a bootloader which enables secure boot version 1 on first boot.\nRefer to the Secure Boot section of the ESP-IDF Programmer's Guide for this version before enabling.", + "id": "SECURE_BOOT_V1_ENABLED", + "name": "SECURE_BOOT_V1_ENABLED", + "range": null, + "title": "Enable Secure Boot version 1", + "type": "bool" + }, + { + "children": [], + "depends_on": "(SECURE_BOOT_V2_RSA_SUPPORTED || SECURE_BOOT_V2_ECC_SUPPORTED) && ", + "help": "Build a bootloader which enables Secure Boot version 2 on first boot.\nRefer to Secure Boot V2 section of the ESP-IDF Programmer's Guide for this version before enabling.", + "id": "SECURE_BOOT_V2_ENABLED", + "name": "SECURE_BOOT_V2_ENABLED", + "range": null, + "title": "Enable Secure Boot version 2", + "type": "bool" + } + ], + "depends_on": "SECURE_BOOT", + "help": "Select the Secure Boot Version. Depends on the Chip Revision.\nSecure Boot V2 is the new RSA / ECDSA based secure boot scheme.\n\n - RSA based scheme is supported in ESP32 (Revision 3 onwards), ESP32-S2, ESP32-C3 (ECO3), ESP32-S3.\n - ECDSA based scheme is supported in ESP32-C2 SoC.\n\nPlease note that, RSA or ECDSA secure boot is property of specific SoC based on its HW design, supported\ncrypto accelerators, die-size, cost and similar parameters. Please note that RSA scheme has requirement\nfor bigger key sizes but at the same time it is comparatively faster than ECDSA verification.\n\nSecure Boot V1 is the AES based (custom) secure boot scheme supported in ESP32 SoC.", + "id": "security-features-enable-hardware-secure-boot-in-bootloader-read-docs-first--select-secure-boot-version-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-630", + "name": "SECURE_BOOT_VERSION", + "title": "Select secure boot version", + "type": "choice" + } + ], + "depends_on": "SOC_SECURE_BOOT_SUPPORTED && !(IDF_TARGET_ESP32C3 && ESP32C3_REV_MIN_FULL < 3)", + "help": "Build a bootloader which enables Secure Boot on first boot.\n\nOnce enabled, Secure Boot will not boot a modified bootloader. The bootloader will only load a partition\ntable or boot an app if the data has a verified digital signature. There are implications for reflashing\nupdated apps once secure boot is enabled.\n\nWhen enabling secure boot, JTAG and ROM BASIC Interpreter are permanently disabled by default.", + "id": "SECURE_BOOT", + "name": "SECURE_BOOT", + "range": null, + "title": "Enable hardware Secure Boot in bootloader (READ DOCS FIRST)", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "On first boot, the bootloader will generate a key which is not readable externally or by software. A\ndigest is generated from the bootloader image itself. This digest will be verified on each subsequent\nboot.\n\nEnabling this option means that the bootloader cannot be changed after the first time it is booted.", + "id": "SECURE_BOOTLOADER_ONE_TIME_FLASH", + "name": "SECURE_BOOTLOADER_ONE_TIME_FLASH", + "range": null, + "title": "One-time flash", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Generate a reusable secure bootloader key, derived (via SHA-256) from the secure boot signing key.\n\nThis allows the secure bootloader to be re-flashed by anyone with access to the secure boot signing\nkey.\n\nThis option is less secure than one-time flash, because a leak of the digest key from one device\nallows reflashing of any device that uses it.", + "id": "SECURE_BOOTLOADER_REFLASHABLE", + "name": "SECURE_BOOTLOADER_REFLASHABLE", + "range": null, + "title": "Reflashable", + "type": "bool" + } + ], + "depends_on": "SECURE_BOOT_V1_ENABLED", + "help": null, + "id": "security-features-secure-bootloader-mode-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-663", + "name": "SECURE_BOOTLOADER_MODE", + "title": "Secure bootloader mode", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "SECURE_BOOT_BUILD_SIGNED_BINARIES", + "help": "Path to the key file used to sign app images.\n\nKey file is an ECDSA private key (NIST256p curve) in PEM format for Secure Boot V1.\nKey file is an RSA private key in PEM format for Secure Boot V2 (RSA scheme).\nKey file is an ECDSA private key (NIST 192p, 256p or 384p) in PEM format for Secure Boot V2 (ECDSA scheme).\n\nPath is evaluated relative to the project directory.\n\nYou can generate a new signing key by running the following command:\nespsecure generate-signing-key secure_boot_signing_key.pem\n\nSee the Secure Boot section of the ESP-IDF Programmer's Guide for this version for details.", + "id": "SECURE_BOOT_SIGNING_KEY", + "name": "SECURE_BOOT_SIGNING_KEY", + "range": null, + "title": "Secure boot private signing key", + "type": "string" + } + ], + "depends_on": "SECURE_SIGNED_APPS", + "help": "Once secure boot or signed app requirement is enabled, app images are required to be signed.\n\nIf enabled (default), these binary files are signed as part of the build process. The file named in\n\"Secure boot private signing key\" will be used to sign the image.\n\nIf disabled, unsigned app/partition data will be built. They must be signed manually using espsecure.\nVersion 1 to enable ECDSA Based Secure Boot and Version 2 to enable RSA based Secure Boot.\n(for example, on a remote signing server.)", + "id": "SECURE_BOOT_BUILD_SIGNED_BINARIES", + "name": "SECURE_BOOT_BUILD_SIGNED_BINARIES", + "range": null, + "title": "Sign binaries during build", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_SIGNED_APPS && SECURE_SIGNED_APPS_ECDSA_SCHEME && !SECURE_BOOT_BUILD_SIGNED_BINARIES", + "help": "Path to a public key file used to verify signed images.\nSecure Boot V1: This ECDSA public key is compiled into the bootloader and/or\napp, to verify app images.\n\nKey file is in raw binary format, and can be extracted from a\nPEM formatted private key using the espsecure\nextract-public-key command.\n\nRefer to the Secure Boot section of the ESP-IDF Programmer's Guide for this version before enabling.", + "id": "SECURE_BOOT_VERIFICATION_KEY", + "name": "SECURE_BOOT_VERIFICATION_KEY", + "range": null, + "title": "Secure boot public signature verification key", + "type": "string" + }, + { + "children": [], + "depends_on": "SECURE_BOOT && SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY", + "help": "If this option is set, ROM bootloader will revoke the public key digest burned in efuse block\nif it fails to verify the signature of software bootloader with it.\nRevocation of keys does not happen when enabling secure boot. Once secure boot is enabled,\nkey revocation checks will be done on subsequent boot-up, while verifying the software bootloader\n\nThis feature provides a strong resistance against physical attacks on the device.\n\nNOTE: Once a digest slot is revoked, it can never be used again to verify an image\nThis can lead to permanent bricking of the device, in case all keys are revoked\nbecause of signature verification failure.", + "id": "SECURE_BOOT_ENABLE_AGGRESSIVE_KEY_REVOKE", + "name": "SECURE_BOOT_ENABLE_AGGRESSIVE_KEY_REVOKE", + "range": null, + "title": "Enable Aggressive key revoke strategy", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_BOOT_V2_ENABLED", + "help": "If not set (default, recommended), on first boot the bootloader will burn the WR_DIS_RD_DIS\nefuse when Secure Boot is enabled. This prevents any more efuses from being read protected.\n\nIf this option is set, it will remain possible to write the EFUSE_RD_DIS efuse field after Secure\nBoot is enabled. This may allow an attacker to read-protect the BLK2 efuse (for ESP32) and\nBLOCK4-BLOCK10 (i.e. BLOCK_KEY0-BLOCK_KEY5)(for other chips) holding the secure boot public key digest,\ncausing an immediate denial of service and possibly allowing an additional fault injection attack to\nbypass the signature protection.\n\nThe option must be set when you need to program any read-protected key type into the efuses,\ne.g., HMAC, ECDSA etc. after secure boot has already been enabled on the device.\nPlease refer to secure boot V2 documentation guide for more details.\n\nNOTE: Once a BLOCK is read-protected, the application will read all zeros from that block\n\nNOTE: If \"UART ROM download mode (Permanently disabled (recommended))\" or\n\"UART ROM download mode (Permanently switch to Secure mode (recommended))\" is set,\nthen it is __NOT__ possible to read/write efuses using espefuse utility.\nHowever, efuse can be read/written from the application\n\nPlease refer to the Secure Boot V2 documentation guide for more information.", + "id": "SECURE_BOOT_V2_ALLOW_EFUSE_RD_DIS", + "name": "SECURE_BOOT_V2_ALLOW_EFUSE_RD_DIS", + "range": null, + "title": "Do not disable the ability to further read protect eFuses", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_BOOT_V2_ENABLED", + "help": "When Secure Boot V2 is enabled, by default the bootloader is not flashed along with other artifacts\nlike the application and the partition table images, i.e. bootloader has to be separately flashed\nusing the command `idf.py bootloader flash`, whereas, the application and partition table can be flashed\nusing the command `idf.py flash` itself.\nEnabling this option allows flashing the bootloader along with the other artifacts\nby invocation of the command `idf.py flash`.\n\nIf this option is enabled make sure that even the bootloader is signed using the correct secure boot key,\notherwise the bootloader signature verification would fail, as hash of the public key which is present in\nthe bootloader signature would not match with the digest stored into the efuses\nand thus the device will not be able to boot up.", + "id": "SECURE_BOOT_FLASH_BOOTLOADER_DEFAULT", + "name": "SECURE_BOOT_FLASH_BOOTLOADER_DEFAULT", + "range": null, + "title": "Flash bootloader along with other artifacts when using the default flash command", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "SECURE_BOOTLOADER_KEY_ENCODING_256BIT", + "name": "SECURE_BOOTLOADER_KEY_ENCODING_256BIT", + "range": null, + "title": "No encoding (256 bit key)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SECURE_BOOTLOADER_KEY_ENCODING_192BIT", + "name": "SECURE_BOOTLOADER_KEY_ENCODING_192BIT", + "range": null, + "title": "3/4 encoding (192 bit key)", + "type": "bool" + } + ], + "depends_on": "SECURE_BOOTLOADER_REFLASHABLE", + "help": "In reflashable secure bootloader mode, a hardware key is derived from the signing key (with SHA-256) and\ncan be written to eFuse with espefuse.\n\nNormally this is a 256-bit key, but if 3/4 Coding Scheme is used on the device then the eFuse key is\ntruncated to 192 bits.\n\nThis configuration item doesn't change any firmware code, it only changes the size of key binary which is\ngenerated at build time.", + "id": "security-features-hardware-key-encoding-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-797", + "name": "SECURE_BOOTLOADER_KEY_ENCODING", + "title": "Hardware Key Encoding", + "type": "choice" + }, + { + "children": [], + "depends_on": "SECURE_BOOT", + "help": "You can disable some of the default protections offered by secure boot, in order to enable testing or a\ncustom combination of security features.\n\nOnly enable these options if you are very sure.\n\nRefer to the Secure Boot section of the ESP-IDF Programmer's Guide for this version before enabling.", + "id": "SECURE_BOOT_INSECURE", + "name": "SECURE_BOOT_INSECURE", + "range": null, + "title": "Allow potentially insecure options", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Use a key that is stored in the eFuses key blocks.", + "id": "SECURE_FLASH_ENCRYPTION_KEY_SOURCE_EFUSES", + "name": "SECURE_FLASH_ENCRYPTION_KEY_SOURCE_EFUSES", + "range": null, + "title": "eFuse Key Block", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_KEY_MANAGER_SUPPORTED && SOC_KEY_MANAGER_FE_KEY_DEPLOY && !(IDF_TARGET_ESP32P4 && ESP32P4_SELECTS_REV_LESS_V3) && ", + "help": "Use a key that is deployed using the Key Manager", + "id": "SECURE_FLASH_ENCRYPTION_KEY_SOURCE_KEY_MGR", + "name": "SECURE_FLASH_ENCRYPTION_KEY_SOURCE_KEY_MGR", + "range": null, + "title": "Key Manager", + "type": "bool" + } + ], + "depends_on": "SECURE_FLASH_ENC_ENABLED", + "help": "Specify the key source for the Flash Encryption Key", + "id": "security-features-enable-flash-encryption-on-boot-read-docs-first--flash-encryption-key-source-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-845", + "name": "SECURE_FLASH_ENCRYPTION_KEY_SOURCE", + "title": "Flash Encryption Key Source", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_FLASH_ENCRYPTION_XTS_AES_128_DERIVED && ", + "help": null, + "id": "SECURE_FLASH_ENCRYPTION_AES128_DERIVED", + "name": "SECURE_FLASH_ENCRYPTION_AES128_DERIVED", + "range": null, + "title": "AES-128 key derived from 128 bits (SHA256(128 bits))", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_FLASH_ENCRYPTION_XTS_AES_128 && ((SECURE_FLASH_ENCRYPTION_KEY_SOURCE_EFUSES && SOC_EFUSE_XTS_AES_KEY_128) || (SECURE_FLASH_ENCRYPTION_KEY_SOURCE_KEY_MGR && SOC_KEY_MANAGER_FE_KEY_DEPLOY_XTS_AES_128)) && !(IDF_TARGET_ESP32C2 && SECURE_BOOT) && ", + "help": null, + "id": "SECURE_FLASH_ENCRYPTION_AES128", + "name": "SECURE_FLASH_ENCRYPTION_AES128", + "range": null, + "title": "AES-128 (256-bit key)", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_FLASH_ENCRYPTION_XTS_AES_256 && ((SECURE_FLASH_ENCRYPTION_KEY_SOURCE_EFUSES && SOC_EFUSE_XTS_AES_KEY_256) || (SECURE_FLASH_ENCRYPTION_KEY_SOURCE_KEY_MGR && SOC_KEY_MANAGER_FE_KEY_DEPLOY_XTS_AES_256)) && ", + "help": null, + "id": "SECURE_FLASH_ENCRYPTION_AES256", + "name": "SECURE_FLASH_ENCRYPTION_AES256", + "range": null, + "title": "AES-256 (512-bit key)", + "type": "bool" + } + ], + "depends_on": "SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS && SECURE_FLASH_ENC_ENABLED", + "help": "Size of generated XTS-AES key.\n\n- AES-128 uses a 256-bit key (32 bytes) derived from 128 bits (16 bytes) burned in half Efuse key block.\n Internally, it calculates SHA256(128 bits)\n- AES-128 uses a 256-bit key (32 bytes) which occupies one Efuse key block.\n- AES-256 uses a 512-bit key (64 bytes) which occupies two Efuse key blocks.\n\nThis setting is ignored if either type of key is already burned to Efuse before the first boot.\nIn this case, the pre-burned key is used and no new key is generated.", + "id": "security-features-enable-flash-encryption-on-boot-read-docs-first--size-of-generated-xts-aes-key-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-865", + "name": "SECURE_FLASH_ENCRYPTION_KEYSIZE", + "title": "Size of generated XTS-AES key", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT", + "name": "SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT", + "range": null, + "title": "Development (NOT SECURE)", + "type": "bool" + }, + { + "children": [], + "depends_on": "(!EFUSE_VIRTUAL || IDF_CI_BUILD) && ", + "help": null, + "id": "SECURE_FLASH_ENCRYPTION_MODE_RELEASE", + "name": "SECURE_FLASH_ENCRYPTION_MODE_RELEASE", + "range": null, + "title": "Release", + "type": "bool" + } + ], + "depends_on": "SECURE_FLASH_ENC_ENABLED", + "help": "By default Development mode is enabled which allows ROM download mode to perform flash encryption\noperations (plaintext is sent to the device, and it encrypts it internally and writes ciphertext\nto flash.) This mode is not secure, it's possible for an attacker to write their own chosen plaintext\nto flash.\n\nRelease mode should always be selected for production or manufacturing. Once enabled it's no longer\npossible for the device in ROM Download Mode to use the flash encryption hardware.\n\nWhen EFUSE_VIRTUAL is enabled, SECURE_FLASH_ENCRYPTION_MODE_RELEASE is not available.\nFor CI tests we use IDF_CI_BUILD to bypass it (\"export IDF_CI_BUILD=1\").\nWe do not recommend bypassing it for other purposes.\n\nRefer to the Flash Encryption section of the ESP-IDF Programmer's Guide for details.", + "id": "security-features-enable-flash-encryption-on-boot-read-docs-first--enable-usage-mode-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-898", + "name": "SECURE_FLASH_ENCRYPTION_MODE", + "title": "Enable usage mode", + "type": "choice" + } + ], + "depends_on": null, + "help": "If this option is set, flash contents will be encrypted by the bootloader on first boot.\n\nNote: After first boot, the system will be permanently encrypted. Re-flashing an encrypted\nsystem is complicated and not always possible.\n\nRead https://docs.espressif.com/projects/esp-idf/en/latest/security/flash-encryption.html\nbefore enabling.", + "id": "SECURE_FLASH_ENC_ENABLED", + "name": "SECURE_FLASH_ENC_ENABLED", + "range": null, + "title": "Enable flash encryption on boot (READ DOCS FIRST)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SECURE_FLASH_HAS_WRITE_PROTECTION_CACHE", + "name": "SECURE_FLASH_HAS_WRITE_PROTECTION_CACHE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "(SECURE_BOOT_INSECURE || SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT) && IDF_TARGET_ESP32", + "help": "By default, the BASIC ROM Console starts on reset if no valid bootloader is\nread from the flash.\n\nWhen either flash encryption or secure boot are enabled, the default is to\ndisable this BASIC fallback mode permanently via eFuse.\n\nIf this option is set, this eFuse is not burned and the BASIC ROM Console may\nremain accessible. Only set this option in testing environments.", + "id": "SECURE_BOOT_ALLOW_ROM_BASIC", + "name": "SECURE_BOOT_ALLOW_ROM_BASIC", + "range": null, + "title": "Leave ROM BASIC Interpreter available on reset", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_BOOT_INSECURE || SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT", + "help": "If not set (default), the bootloader will permanently disable JTAG (across entire chip) on first boot\nwhen either secure boot or flash encryption is enabled.\n\nSetting this option leaves JTAG on for debugging, which negates all protections of flash encryption\nand some of the protections of secure boot.\n\nOnly set this option in testing environments.", + "id": "SECURE_BOOT_ALLOW_JTAG", + "name": "SECURE_BOOT_ALLOW_JTAG", + "range": null, + "title": "Allow JTAG Debugging", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_BOOT_INSECURE || SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT", + "help": "If not set (default), app partition size must be a multiple of 64KB. App images are padded to 64KB\nlength, and the bootloader checks any trailing bytes after the signature (before the next 64KB\nboundary) have not been written. This is because flash cache maps entire 64KB pages into the address\nspace. This prevents an attacker from appending unverified data after the app image in the flash,\ncausing it to be mapped into the address space.\n\nSetting this option allows the app partition length to be unaligned, and disables padding of the app\nimage to this length. It is generally not recommended to set this option, unless you have a legacy\npartitioning scheme which doesn't support 64KB aligned partition lengths.", + "id": "SECURE_BOOT_ALLOW_SHORT_APP_PARTITION", + "name": "SECURE_BOOT_ALLOW_SHORT_APP_PARTITION", + "range": null, + "title": "Allow app partition length not 64KB aligned", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_BOOT_INSECURE && SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS", + "help": "If not set (default), during startup in the app all unused digest slots will be revoked.\nTo revoke unused slot will be called esp_efuse_set_digest_revoke(num_digest) for each digest.\nRevoking unused digest slots makes ensures that no trusted keys can be added later by an attacker.\nIf set, it means that you have a plan to use unused digests slots later.\n\nNote that if you plan to enable secure boot during the first boot up, the bootloader will intentionally\nrevoke the unused digest slots while enabling secure boot, even if the above config is enabled because\nkeeping the unused key slots un-revoked would a security hazard.\nIn case for any development workflow if you need to avoid this revocation, you should enable\nsecure boot externally (host based mechanism) rather than enabling it during the boot up,\nso that the bootloader would not need to enable secure boot and thus you could avoid its revocation\nstrategy.", + "id": "SECURE_BOOT_ALLOW_UNUSED_DIGEST_SLOTS", + "name": "SECURE_BOOT_ALLOW_UNUSED_DIGEST_SLOTS", + "range": null, + "title": "Leave unused digest slots available (not revoke)", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_ECDSA_SUPPORT_CURVE_P384 && SOC_FLASH_ENCRYPTION_XTS_AES_SUPPORT_PSEUDO_ROUND", + "help": "If not set (default, recommended), on the first boot when Secure Boot is enabled for\ntargets that support Secure Boot using ECDSA-P384, the bootloader will burn the write-protection bit of\nof SECURE_BOOT_SHA384_EN that could be shared by multiple other efuse bits like\nSECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH / XTS_DPA_PSEUDO_LEVEL.\n\nOnce this efuse bit is write-protected you cannot update the values of the shared efuses, for example,\nthe security strength value of XTS_DPA_PSEUDO_LEVEL or setting ECC_FORCE_CONST_TIME.\n\nList of eFuses with the same write protection bit:\n\nESP32-C5: XTS_DPA_PSEUDO_LEVEL and ECC_FORCE_CONST_TIME", + "id": "SECURE_BOOT_SKIP_WRITE_PROTECTION_SCA", + "name": "SECURE_BOOT_SKIP_WRITE_PROTECTION_SCA", + "range": null, + "title": "Skip write-protection of SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT", + "help": "If not set (default), the bootloader will permanently disable UART bootloader encryption access on\nfirst boot. If set, the UART bootloader will still be able to access hardware encryption.\n\nIt is recommended to only set this option in testing environments.", + "id": "SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC", + "name": "SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC", + "range": null, + "title": "Leave UART bootloader encryption enabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT && IDF_TARGET_ESP32", + "help": "If not set (default), the bootloader will permanently disable UART bootloader decryption access on\nfirst boot. If set, the UART bootloader will still be able to access hardware decryption.\n\nOnly set this option in testing environments. Setting this option allows complete bypass of flash\nencryption.", + "id": "SECURE_FLASH_UART_BOOTLOADER_ALLOW_DEC", + "name": "SECURE_FLASH_UART_BOOTLOADER_ALLOW_DEC", + "range": null, + "title": "Leave UART bootloader decryption enabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT && (IDF_TARGET_ESP32 || SOC_EFUSE_DIS_DOWNLOAD_ICACHE || SOC_EFUSE_DIS_DOWNLOAD_DCACHE)", + "help": "If not set (default), the bootloader will permanently disable UART bootloader flash cache access on\nfirst boot. If set, the UART bootloader will still be able to access the flash cache.\n\nOnly set this option in testing environments.", + "id": "SECURE_FLASH_UART_BOOTLOADER_ALLOW_CACHE", + "name": "SECURE_FLASH_UART_BOOTLOADER_ALLOW_CACHE", + "range": null, + "title": "Leave UART bootloader flash cache enabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT", + "help": "If not set (default), and flash encryption is not yet enabled in eFuses, the 2nd stage bootloader\nwill enable flash encryption: generate the flash encryption key and program eFuses.\nIf this option is set, and flash encryption is not yet enabled, the bootloader will error out and\nreboot.\nIf flash encryption is enabled in eFuses, this option does not change the bootloader behavior.\n\nOnly use this option in testing environments, to avoid accidentally enabling flash encryption on\nthe wrong device. The device needs to have flash encryption already enabled using espefuse.", + "id": "SECURE_FLASH_REQUIRE_ALREADY_ENABLED", + "name": "SECURE_FLASH_REQUIRE_ALREADY_ENABLED", + "range": null, + "title": "Require flash encryption to be already enabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_FLASH_HAS_WRITE_PROTECTION_CACHE", + "help": "If not set (default, recommended), on the first boot the bootloader will burn the write-protection of\nDIS_CACHE(for ESP32) or DIS_ICACHE/DIS_DCACHE(for other chips) eFuse when Flash Encryption is enabled.\nWrite protection for cache disable efuse prevents the chip from being blocked if it is set by accident.\nApp and bootloader use cache so disabling it makes the chip useless for IDF.\nDue to other eFuses are linked with the same write protection bit (see the list below) then\nwrite-protection will not be done if these SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC,\nSECURE_BOOT_ALLOW_JTAG or SECURE_FLASH_UART_BOOTLOADER_ALLOW_CACHE options are selected\nto give a chance to turn on the chip into the release mode later.\n\nList of eFuses with the same write protection bit:\nESP32: MAC, MAC_CRC, DISABLE_APP_CPU, DISABLE_BT, DIS_CACHE, VOL_LEVEL_HP_INV.\n\nESP32-C3: DIS_ICACHE, DIS_USB_JTAG, DIS_DOWNLOAD_ICACHE, DIS_USB_SERIAL_JTAG,\nDIS_FORCE_DOWNLOAD, DIS_TWAI, JTAG_SEL_ENABLE, DIS_PAD_JTAG, DIS_DOWNLOAD_MANUAL_ENCRYPT.\n\nESP32-C6: SWAP_UART_SDIO_EN, DIS_ICACHE, DIS_USB_JTAG, DIS_DOWNLOAD_ICACHE,\nDIS_USB_SERIAL_JTAG, DIS_FORCE_DOWNLOAD, DIS_TWAI, JTAG_SEL_ENABLE,\nDIS_PAD_JTAG, DIS_DOWNLOAD_MANUAL_ENCRYPT.\n\nESP32-H2 & ESP32H21: DIS_ICACHE, DIS_ICACHE, DIS_USB_JTAG, POWERGLITCH_EN, DIS_FORCE_DOWNLOAD,\nSPI_DOWNLOAD_MSPI_DIS, DIS_TWAI, JTAG_SEL_ENABLE, DIS_PAD_JTAG, DIS_DOWNLOAD_MANUAL_ENCRYPT,\nDIS_USB_SERIAL_JTAG\n\nESP32-S2: DIS_ICACHE, DIS_DCACHE, DIS_DOWNLOAD_ICACHE, DIS_DOWNLOAD_DCACHE,\nDIS_FORCE_DOWNLOAD, DIS_USB, DIS_TWAI, DIS_BOOT_REMAP, SOFT_DIS_JTAG,\nHARD_DIS_JTAG, DIS_DOWNLOAD_MANUAL_ENCRYPT.\n\nESP32-S3: DIS_ICACHE, DIS_DCACHE, DIS_DOWNLOAD_ICACHE, DIS_DOWNLOAD_DCACHE,\nDIS_FORCE_DOWNLOAD, DIS_USB_OTG, DIS_TWAI, DIS_APP_CPU, DIS_PAD_JTAG,\nDIS_DOWNLOAD_MANUAL_ENCRYPT, DIS_USB_JTAG, DIS_USB_SERIAL_JTAG, STRAP_JTAG_SEL, USB_PHY_SEL.", + "id": "SECURE_FLASH_SKIP_WRITE_PROTECTION_CACHE", + "name": "SECURE_FLASH_SKIP_WRITE_PROTECTION_CACHE", + "range": null, + "title": "Skip write-protection of DIS_CACHE (DIS_ICACHE, DIS_DCACHE)", + "type": "bool" + } + ], + "depends_on": null, + "id": "security-features-potentially-insecure-options-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-932", + "title": "Potentially insecure options", + "type": "menu" + }, + { + "children": [], + "depends_on": "SECURE_FLASH_ENC_ENABLED && !SECURE_FLASH_REQUIRE_ALREADY_ENABLED", + "help": "If set (default), optimise encryption time for the partition of type APP,\nby only encrypting the app image that is present in the partition,\ninstead of the whole partition.\nThe image length used for encryption is derived from the image metadata, which\nincludes the size of the app image, checksum, hash and also the signature sector\nwhen secure boot is enabled.\n\nIf not set, the whole partition of type APP would be encrypted,\nwhich increases the encryption time but might be useful if there\nis any custom data appended to the firmware image.", + "id": "SECURE_FLASH_ENCRYPT_ONLY_IMAGE_LEN_IN_APP_PART", + "name": "SECURE_FLASH_ENCRYPT_ONLY_IMAGE_LEN_IN_APP_PART", + "range": null, + "title": "Encrypt contents upto app image length in app partition", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_FLASH_ENC_ENABLED", + "help": "If set (default), in an app during startup code,\nthere is a check of the flash encryption eFuse bit is on\n(as the bootloader should already have set it).\nThe app requires this bit is on to continue work otherwise abort.\n\nIf not set, the app does not care if the flash encryption eFuse bit is set or not.", + "id": "SECURE_FLASH_CHECK_ENC_EN_IN_APP", + "name": "SECURE_FLASH_CHECK_ENC_EN_IN_APP", + "range": null, + "title": "Check Flash Encryption enabled on app startup", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH_LOW", + "name": "SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH_LOW", + "range": null, + "title": "Low", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH_MEDIUM", + "name": "SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH_MEDIUM", + "range": null, + "title": "Medium", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH_HIGH", + "name": "SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH_HIGH", + "range": null, + "title": "High", + "type": "bool" + } + ], + "depends_on": "SECURE_FLASH_PSEUDO_ROUND_FUNC", + "help": "The strength of the pseudo rounds functions can be configured to low, medium and high,\neach denoting the values that would be stored in the efuses field.\nBy default the value to set to low.\n\nIt is recommended that the required strength of the pseudo rounds function should be set during the\nfirst boot itself. If your workflow needs to update the function's strength after the first boot,\nyou should enable CONFIG_SECURE_BOOT_SKIP_WRITE_PROTECTION_SCA to avoid write protecting this\nbit during the boot up for targets that support Secure Boot using ECDSA-P384.\n\nYou can configure the strength of the pseudo rounds functions according to your use cases,\nfor example, increasing the strength would provide higher security but would slow down the\nflash encryption/decryption operations.\nFor more info regarding the performance impact, please checkout the pseudo round function section of the\nsecurity guide documentation.", + "id": "security-features-permanently-enable-xts-aes-s-pseudo-rounds-function-strength-of-the-pseudo-rounds-function-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-1144", + "name": "SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH", + "title": "Strength of the pseudo rounds function", + "type": "choice" + } + ], + "depends_on": "SECURE_FLASH_ENC_ENABLED && SOC_FLASH_ENCRYPTION_XTS_AES_SUPPORT_PSEUDO_ROUND", + "help": "If set (default), the bootloader will permanently enable the XTS-AES peripheral's pseudo rounds function.\nNote: Enabling this config would burn an efuse.", + "id": "SECURE_FLASH_PSEUDO_ROUND_FUNC", + "name": "SECURE_FLASH_PSEUDO_ROUND_FUNC", + "range": null, + "title": "Permanently enable XTS-AES's pseudo rounds function", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH", + "name": "SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "SECURE_ROM_DL_MODE_ENABLED", + "name": "SECURE_ROM_DL_MODE_ENABLED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "If set, during startup the app will burn an eFuse bit to permanently disable the UART ROM\nDownload Mode. This prevents any future use of esptool, espefuse and similar tools.\n\nOnce disabled, if the SoC is booted with strapping pins set for ROM Download Mode\nthen an error is printed instead.\n\nIt is recommended to enable this option in any production application where Flash\nEncryption and/or Secure Boot is enabled and access to Download Mode is not required.\n\nIt is also possible to permanently disable Download Mode by calling\nesp_efuse_disable_rom_download_mode() at runtime.", + "id": "SECURE_DISABLE_ROM_DL_MODE", + "name": "SECURE_DISABLE_ROM_DL_MODE", + "range": null, + "title": "UART ROM download mode (Permanently disabled (recommended))", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_SUPPORTS_SECURE_DL_MODE && ", + "help": "If set, during startup the app will burn an eFuse bit to permanently switch the UART ROM\nDownload Mode into a separate Secure Download mode. This option can only work if\nDownload Mode is not already disabled by eFuse.\n\nSecure Download mode limits the use of Download Mode functions to update SPI config,\nchanging baud rate, basic flash write and a command to return a summary of currently\nenabled security features (`get-security-info`).\n\nSecure Download mode is not compatible with the esptool flasher stub feature,\nespefuse, read/writing memory or registers, encrypted download, or any other\nfeatures that interact with unsupported Download Mode commands.\n\nSecure Download mode should be enabled in any application where Flash Encryption\nand/or Secure Boot is enabled. Disabling this option does not immediately cancel\nthe benefits of the security features, but it increases the potential \"attack\nsurface\" for an attacker to try and bypass them with a successful physical attack.\n\nIt is also possible to enable secure download mode at runtime by calling\nesp_efuse_enable_rom_secure_download_mode()\n\nNote: Secure Download mode is not available for ESP32.", + "id": "SECURE_ENABLE_SECURE_ROM_DL_MODE", + "name": "SECURE_ENABLE_SECURE_ROM_DL_MODE", + "range": null, + "title": "UART ROM download mode (Permanently switch to Secure mode (recommended))", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "This is a potentially insecure option.\nEnabling this option will allow the full UART download mode to stay enabled.\nThis option SHOULD NOT BE ENABLED for production use cases.", + "id": "SECURE_INSECURE_ALLOW_DL_MODE", + "name": "SECURE_INSECURE_ALLOW_DL_MODE", + "range": null, + "title": "UART ROM download mode (Enabled (not recommended))", + "type": "bool" + } + ], + "depends_on": "(SECURE_BOOT_V2_ENABLED || SECURE_FLASH_ENC_ENABLED) && !(IDF_TARGET_ESP32 && ESP32_REV_MIN_FULL < 300)", + "help": null, + "id": "security-features-uart-rom-download-mode-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-1184", + "name": "SECURE_UART_ROM_DL_MODE", + "title": "UART ROM download mode", + "type": "choice" + } + ], + "depends_on": null, + "id": "security-features-home-claw-.platformio-packages-framework-espidf-components-bootloader-Kconfig.projbuild-447", + "title": "Security features", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "!APP_REPRODUCIBLE_BUILD", + "help": "If set, then the app will be built with the current time/date stamp. It is stored in the app description\nstructure. If not set, time/date stamp will be excluded from app image. This can be useful for getting the\nsame binary image files made from the same source, but at different times.", + "id": "APP_COMPILE_TIME_DATE", + "name": "APP_COMPILE_TIME_DATE", + "range": null, + "title": "Use time/date stamp for app", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "The PROJECT_VER variable from the build system will not affect the firmware image.\nThis value will not be contained in the esp_app_desc structure.", + "id": "APP_EXCLUDE_PROJECT_VER_VAR", + "name": "APP_EXCLUDE_PROJECT_VER_VAR", + "range": null, + "title": "Exclude PROJECT_VER from firmware image", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "The PROJECT_NAME variable from the build system will not affect the firmware image.\nThis value will not be contained in the esp_app_desc structure.", + "id": "APP_EXCLUDE_PROJECT_NAME_VAR", + "name": "APP_EXCLUDE_PROJECT_NAME_VAR", + "range": null, + "title": "Exclude PROJECT_NAME from firmware image", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "APP_PROJECT_VER_FROM_CONFIG", + "help": "Project version", + "id": "APP_PROJECT_VER", + "name": "APP_PROJECT_VER", + "range": null, + "title": "Project version", + "type": "string" + } + ], + "depends_on": null, + "help": "If this is enabled, then config item APP_PROJECT_VER will be used for the variable PROJECT_VER.\nOther ways to set PROJECT_VER will be ignored.", + "id": "APP_PROJECT_VER_FROM_CONFIG", + "name": "APP_PROJECT_VER_FROM_CONFIG", + "range": null, + "title": "Get the project version from Kconfig", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "At startup, the app will read the embedded APP ELF SHA-256 hash value from flash\nand convert it into a string and store it in a RAM buffer.\nThis ensures the panic handler and core dump will be able to print this string\neven when cache is disabled.\nThe size of the buffer is APP_RETRIEVE_LEN_ELF_SHA plus the null terminator.\nChanging this value will change the size of this buffer, in bytes.", + "id": "APP_RETRIEVE_LEN_ELF_SHA", + "name": "APP_RETRIEVE_LEN_ELF_SHA", + "range": [ + 8, + 64 + ], + "title": "The length of APP ELF SHA is stored in RAM(chars)", + "type": "int" + } + ], + "depends_on": null, + "id": "application-manager-home-claw-.platformio-packages-framework-espidf-components-esp_app_format-Kconfig.projbuild-1", + "title": "Application manager", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_CRC_LE", + "name": "ESP_ROM_HAS_CRC_LE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_CRC_BE", + "name": "ESP_ROM_HAS_CRC_BE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_JPEG_DECODE", + "name": "ESP_ROM_HAS_JPEG_DECODE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_UART_CLK_IS_XTAL", + "name": "ESP_ROM_UART_CLK_IS_XTAL", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_USB_SERIAL_DEVICE_NUM", + "name": "ESP_ROM_USB_SERIAL_DEVICE_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_RETARGETABLE_LOCKING", + "name": "ESP_ROM_HAS_RETARGETABLE_LOCKING", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_GET_CLK_FREQ", + "name": "ESP_ROM_GET_CLK_FREQ", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_RVFPLIB", + "name": "ESP_ROM_HAS_RVFPLIB", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_HAL_WDT", + "name": "ESP_ROM_HAS_HAL_WDT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_HAL_SYSTIMER", + "name": "ESP_ROM_HAS_HAL_SYSTIMER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_SYSTIMER_INIT_PATCH", + "name": "ESP_ROM_SYSTIMER_INIT_PATCH", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_HEAP_TLSF", + "name": "ESP_ROM_HAS_HEAP_TLSF", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_TLSF_CHECK_PATCH", + "name": "ESP_ROM_TLSF_CHECK_PATCH", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_MULTI_HEAP_WALK_PATCH", + "name": "ESP_ROM_MULTI_HEAP_WALK_PATCH", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_LAYOUT_TABLE", + "name": "ESP_ROM_HAS_LAYOUT_TABLE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_SPI_FLASH", + "name": "ESP_ROM_HAS_SPI_FLASH", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_SPI_FLASH_MMAP", + "name": "ESP_ROM_HAS_SPI_FLASH_MMAP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_REGI2C_BUG", + "name": "ESP_ROM_HAS_REGI2C_BUG", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_NEWLIB", + "name": "ESP_ROM_HAS_NEWLIB", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT", + "name": "ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE", + "name": "ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_WDT_INIT_PATCH", + "name": "ESP_ROM_WDT_INIT_PATCH", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE", + "name": "ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_RAM_APP_NEEDS_MMU_INIT", + "name": "ESP_ROM_RAM_APP_NEEDS_MMU_INIT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_SW_FLOAT", + "name": "ESP_ROM_HAS_SW_FLOAT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_USB_OTG_NUM", + "name": "ESP_ROM_USB_OTG_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_VERSION", + "name": "ESP_ROM_HAS_VERSION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB", + "name": "ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_OUTPUT_PUTC_FUNC", + "name": "ESP_ROM_HAS_OUTPUT_PUTC_FUNC", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_NO_USB_SERIAL_OUTPUT_API", + "name": "ESP_ROM_NO_USB_SERIAL_OUTPUT_API", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY", + "name": "ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_SUPPORT_SECURE_BOOT_FAST_WAKEUP", + "name": "ESP_ROM_SUPPORT_SECURE_BOOT_FAST_WAKEUP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Always print ROM logs, this is the default behavior.", + "id": "BOOT_ROM_LOG_ALWAYS_ON", + "name": "BOOT_ROM_LOG_ALWAYS_ON", + "range": null, + "title": "Always Log", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Don't print ROM logs.", + "id": "BOOT_ROM_LOG_ALWAYS_OFF", + "name": "BOOT_ROM_LOG_ALWAYS_OFF", + "range": null, + "title": "Permanently disable logging", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Print ROM logs when GPIO level is high during start up.\nThe GPIO number is chip dependent,\ne.g. on ESP32-S2, the control GPIO is GPIO46.", + "id": "BOOT_ROM_LOG_ON_GPIO_HIGH", + "name": "BOOT_ROM_LOG_ON_GPIO_HIGH", + "range": null, + "title": "Log on GPIO High", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Print ROM logs when GPIO level is low during start up.\nThe GPIO number is chip dependent,\ne.g. on ESP32-S2, the control GPIO is GPIO46.", + "id": "BOOT_ROM_LOG_ON_GPIO_LOW", + "name": "BOOT_ROM_LOG_ON_GPIO_LOW", + "range": null, + "title": "Log on GPIO Low", + "type": "bool" + } + ], + "depends_on": "!IDF_TARGET_ESP32", + "help": "Controls the Boot ROM log behavior.\nThe rom log behavior can only be changed for once,\nspecific eFuse bit(s) will be burned at app boot stage.", + "id": "boot-rom-behavior-permanently-change-boot-rom-output-home-claw-.platformio-packages-framework-espidf-components-esp_rom-Kconfig.projbuild-6", + "name": "BOOT_ROM_LOG_SCHEME", + "title": "Permanently change Boot ROM output", + "type": "choice" + } + ], + "depends_on": null, + "id": "boot-rom-behavior-home-claw-.platformio-packages-framework-espidf-components-esp_rom-Kconfig.projbuild-3", + "title": "Boot ROM Behavior", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "This configuration sets the IRAM size for the TEE module.\nThis should be 256-byte (0x100) aligned.", + "id": "SECURE_TEE_IRAM_SIZE", + "name": "SECURE_TEE_IRAM_SIZE", + "range": null, + "title": "IRAM region size", + "type": "hex" + }, + { + "children": [], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "This configuration sets the DRAM size for the TEE module.\nThis should be 256-byte (0x100) aligned.", + "id": "SECURE_TEE_DRAM_SIZE", + "name": "SECURE_TEE_DRAM_SIZE", + "range": null, + "title": "DRAM region size", + "type": "hex" + }, + { + "children": [], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "This configuration sets the stack size for the TEE module.\nThe TEE stack will be allocated from the TEE DRAM region.\nThis should be 16-byte (0x10) aligned.", + "id": "SECURE_TEE_STACK_SIZE", + "name": "SECURE_TEE_STACK_SIZE", + "range": null, + "title": "Stack size", + "type": "hex" + }, + { + "children": [], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "This configuration sets the interrupt stack size for the TEE module.\nThe TEE interrupt stack will be allocated from the TEE DRAM region.\nThis should be 16-byte (0x10) aligned.", + "id": "SECURE_TEE_INTR_STACK_SIZE", + "name": "SECURE_TEE_INTR_STACK_SIZE", + "range": null, + "title": "Interrupt Stack size", + "type": "hex" + }, + { + "children": [], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "This should be a multiple of MMU_PAGE_SIZE.", + "id": "SECURE_TEE_IROM_SIZE", + "name": "SECURE_TEE_IROM_SIZE", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "This should be a multiple of MMU_PAGE_SIZE.", + "id": "SECURE_TEE_DROM_SIZE", + "name": "SECURE_TEE_DROM_SIZE", + "range": null, + "title": null, + "type": "hex" + } + ], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "id": "esp-tee-trusted-execution-environment--enable-the-esp-tee-framework-memory-configuration-home-claw-.platformio-packages-framework-espidf-components-esp_tee-Kconfig.projbuild-9", + "title": "Memory Configuration", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Secure storage will be encrypted by a constant key embedded in the TEE firmware", + "id": "SECURE_TEE_SEC_STG_MODE_DEVELOPMENT", + "name": "SECURE_TEE_SEC_STG_MODE_DEVELOPMENT", + "range": null, + "title": "Development", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Secure storage will be encrypted by the data stored in eFuse block\nconfigured through the SECURE_TEE_SEC_STG_EFUSE_HMAC_KEY_ID option", + "id": "SECURE_TEE_SEC_STG_MODE_RELEASE", + "name": "SECURE_TEE_SEC_STG_MODE_RELEASE", + "range": null, + "title": "Release", + "type": "bool" + } + ], + "depends_on": "SECURE_ENABLE_TEE && SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "Select the TEE secure storage mode", + "id": "esp-tee-trusted-execution-environment--enable-the-esp-tee-framework-secure-services-secure-storage-mode-home-claw-.platformio-packages-framework-espidf-components-esp_tee-Kconfig.projbuild-64", + "name": "SECURE_TEE_SEC_STG_MODE", + "title": "Secure Storage: Mode", + "type": "choice" + }, + { + "children": [], + "depends_on": "SECURE_TEE_SEC_STG_MODE_RELEASE && SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "eFuse block key ID storing the HMAC key for deriving the TEE secure storage encryption keys", + "id": "SECURE_TEE_SEC_STG_EFUSE_HMAC_KEY_ID", + "name": "SECURE_TEE_SEC_STG_EFUSE_HMAC_KEY_ID", + "range": null, + "title": "Secure Storage: eFuse HMAC key ID for storage encryption keys", + "type": "int" + }, + { + "children": [], + "depends_on": "SOC_HMAC_SUPPORTED && SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "eFuse block key ID storing the HMAC key for deriving PBKDF2-based ECDSA keys", + "id": "SECURE_TEE_PBKDF2_EFUSE_HMAC_KEY_ID", + "name": "SECURE_TEE_PBKDF2_EFUSE_HMAC_KEY_ID", + "range": null, + "title": "Secure Storage: eFuse HMAC key ID for PBKDF2 key derivation", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_ECDSA_SUPPORT_CURVE_P384 && SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "Enable ECDSA signing with the SECP384R1 curve using TEE secure storage", + "id": "SECURE_TEE_SEC_STG_SUPPORT_SECP384R1_SIGN", + "name": "SECURE_TEE_SEC_STG_SUPPORT_SECP384R1_SIGN", + "range": null, + "title": "SECP384R1", + "type": "bool" + } + ], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "id": "esp-tee-trusted-execution-environment--enable-the-esp-tee-framework-secure-services-secure-storage-additional-supported-curves-for-ecdsa-signing-home-claw-.platformio-packages-framework-espidf-components-esp_tee-Kconfig.projbuild-100", + "title": "Secure Storage: Additional supported curves for ECDSA signing", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SECURE_TEE_ATTESTATION && SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "This configuration sets the key ID from the TEE secure storage\nstoring the ECDSA keypair for executing sign/verify operations\nfrom the TEE side for attestation.", + "id": "SECURE_TEE_ATT_KEY_STR_ID", + "name": "SECURE_TEE_ATT_KEY_STR_ID", + "range": null, + "title": "Attestation: Secure Storage key ID for EAT signing", + "type": "string" + }, + { + "children": [], + "depends_on": "SECURE_TEE_ATTESTATION && SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "PSA certification ID string for the attestation token", + "id": "SECURE_TEE_ATT_PSA_CERT_REF", + "name": "SECURE_TEE_ATT_PSA_CERT_REF", + "range": null, + "title": null, + "type": "string" + } + ], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "This configuration enables the support for the Attestation service.", + "id": "SECURE_TEE_ATTESTATION", + "name": "SECURE_TEE_ATTESTATION", + "range": null, + "title": "Enable Attestation", + "type": "bool" + } + ], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "id": "esp-tee-trusted-execution-environment--enable-the-esp-tee-framework-secure-services-home-claw-.platformio-packages-framework-espidf-components-esp_tee-Kconfig.projbuild-61", + "title": "Secure Services", + "type": "menu" + }, + { + "children": [], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "This configuration restricts access to TEE-reserved regions in external flash\nby making them inaccessible to the REE via the SPI1 interface (physical addresses).\n\nWith this enabled, all SPI flash read, write, or erase operations over SPI1 will\nbe routed through service calls to the TEE, introducing additional performance\noverhead.\n\nWhen Flash Encryption (SECURE_FLASH_ENC_ENABLED) is enabled, the REE can still\naccess TEE-related flash partitions over SPI1, but read operations will return\nencrypted data contents. This prevents attackers from inferring the TEE contents\nwith direct reads.\n\nAdditionally, with Secure Boot enabled (SECURE_BOOT_V2_ENABLED), any unauthorized\nmodifications to the TEE firmware will be detected during boot, causing signature\nverification to fail. Thus, these options provide a level of protection suitable for\nmost applications. However, while the TEE firmware integrity is protected, other TEE\npartitions (Secure Storage, TEE OTA data) can be manipulated through direct writes.\n\nEnable this option only when complete isolation of all TEE flash regions is required,\neven with the associated performance tradeoffs.\n\nNote: All accesses to the TEE partitions over SPI0 (i.e. the MMU) are blocked\nunconditionally.", + "id": "SECURE_TEE_EXT_FLASH_MEMPROT_SPI1", + "name": "SECURE_TEE_EXT_FLASH_MEMPROT_SPI1", + "range": null, + "title": "Memprot: Isolate TEE flash regions over SPI1", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "!IDF_TOOLCHAIN_CLANG && ", + "help": null, + "id": "SECURE_TEE_LIBC_PICOLIBC", + "name": "SECURE_TEE_LIBC_PICOLIBC", + "range": null, + "title": "Picolibc", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SECURE_TEE_LIBC_NEWLIB", + "name": "SECURE_TEE_LIBC_NEWLIB", + "range": null, + "title": "NewLib", + "type": "bool" + } + ], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": null, + "id": "esp-tee-trusted-execution-environment--enable-the-esp-tee-framework-libc-to-build-the-tee-application-with-home-claw-.platformio-packages-framework-espidf-components-esp_tee-Kconfig.projbuild-166", + "name": "SECURE_TEE_LIBC", + "title": "LibC to build the TEE application with", + "type": "choice" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "SECURE_TEE_LOG_LEVEL_NONE", + "name": "SECURE_TEE_LOG_LEVEL_NONE", + "range": null, + "title": "No output", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SECURE_TEE_LOG_LEVEL_ERROR", + "name": "SECURE_TEE_LOG_LEVEL_ERROR", + "range": null, + "title": "Error", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SECURE_TEE_LOG_LEVEL_WARN", + "name": "SECURE_TEE_LOG_LEVEL_WARN", + "range": null, + "title": "Warning", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SECURE_TEE_LOG_LEVEL_INFO", + "name": "SECURE_TEE_LOG_LEVEL_INFO", + "range": null, + "title": "Info", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SECURE_TEE_LOG_LEVEL_DEBUG", + "name": "SECURE_TEE_LOG_LEVEL_DEBUG", + "range": null, + "title": "Debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SECURE_TEE_LOG_LEVEL_VERBOSE", + "name": "SECURE_TEE_LOG_LEVEL_VERBOSE", + "range": null, + "title": "Verbose", + "type": "bool" + } + ], + "depends_on": "SECURE_TEE_DEBUG_MODE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "Specify how much output to see in TEE logs.", + "id": "esp-tee-trusted-execution-environment--enable-the-esp-tee-framework-enable-debug-mode-log-verbosity-home-claw-.platformio-packages-framework-espidf-components-esp_tee-Kconfig.projbuild-187", + "name": "SECURE_TEE_LOG_LEVEL", + "title": "Log verbosity", + "type": "choice" + } + ], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "This configuration enables the logging from the TEE module.", + "id": "SECURE_TEE_DEBUG_MODE", + "name": "SECURE_TEE_DEBUG_MODE", + "range": null, + "title": "Enable Debug Mode", + "type": "bool" + } + ], + "depends_on": "IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61", + "help": "This configuration enables the Trusted Execution Environment (TEE) feature.", + "id": "SECURE_ENABLE_TEE", + "name": "SECURE_ENABLE_TEE", + "range": null, + "title": "Enable the ESP-TEE framework", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61", + "help": null, + "id": "SECURE_TEE_LOG_LEVEL", + "name": "SECURE_TEE_LOG_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "SECURE_ENABLE_TEE && (IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61)", + "help": "This configuration sets up the TEE framework as required for executing the test suite.", + "id": "SECURE_TEE_TEST_MODE", + "name": "SECURE_TEE_TEST_MODE", + "range": null, + "title": "Enable Test Mode", + "type": "bool" + } + ], + "depends_on": "IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C61", + "id": "esp-tee-trusted-execution-environment--home-claw-.platformio-packages-framework-espidf-components-esp_tee-Kconfig.projbuild-1", + "title": "ESP-TEE (Trusted Execution Environment)", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "The flasher tool sends a precompiled download stub first by default. That stub allows things\nlike compressed downloads and more. Usually you should not need to disable that feature", + "id": "ESPTOOLPY_NO_STUB", + "name": "ESPTOOLPY_NO_STUB", + "range": null, + "title": "Disable download stub", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_SPI_MEM_SUPPORT_FLASH_OPI_MODE && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": null, + "id": "ESPTOOLPY_OCT_FLASH", + "name": "ESPTOOLPY_OCT_FLASH", + "range": null, + "title": "Enable Octal Flash", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_SPI_MEM_SUPPORT_FLASH_OPI_MODE && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "This config option helps decide whether flash is Quad or Octal, but please note some limitations:\n\n1. If the flash chip is an Octal one, even if one of \"QIO\", \"QOUT\", \"DIO\", \"DOUT\" options is\n selected in `ESPTOOLPY_FLASHMODE`, our code will automatically change the\n mode to \"OPI\" and the sample mode will be STR.\n2. If the flash chip is a Quad one, even if \"OPI\" is selected in `ESPTOOLPY_FLASHMODE`, our code will\n automatically change the mode to \"DIO\".\n3. This option is mainly to improve the out-of-box experience of developers. It doesn't guarantee\n the feature-complete. Some code still rely on `ESPTOOLPY_OCT_FLASH`. Please do not rely on this option\n when you are pretty sure that you are using Octal flash.\n In this case, please enable `ESPTOOLPY_OCT_FLASH` option, then you can choose `DTR` sample mode\n in `ESPTOOLPY_FLASH_SAMPLE_MODE`. Otherwise, only `STR` mode is available.\n4. Enabling this feature reduces available internal RAM size (around 900 bytes).\n If your IRAM space is insufficient and you're aware of your flash type,\n disable this option and select corresponding flash type options.", + "id": "ESPTOOLPY_FLASH_MODE_AUTO_DETECT", + "name": "ESPTOOLPY_FLASH_MODE_AUTO_DETECT", + "range": null, + "title": "Choose flash mode automatically (please read help)", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "!ESPTOOLPY_OCT_FLASH && ", + "help": null, + "id": "ESPTOOLPY_FLASHMODE_QIO", + "name": "ESPTOOLPY_FLASHMODE_QIO", + "range": null, + "title": "QIO", + "type": "bool" + }, + { + "children": [], + "depends_on": "!ESPTOOLPY_OCT_FLASH && ", + "help": null, + "id": "ESPTOOLPY_FLASHMODE_QOUT", + "name": "ESPTOOLPY_FLASHMODE_QOUT", + "range": null, + "title": "QOUT", + "type": "bool" + }, + { + "children": [], + "depends_on": "!ESPTOOLPY_OCT_FLASH && ", + "help": null, + "id": "ESPTOOLPY_FLASHMODE_DIO", + "name": "ESPTOOLPY_FLASHMODE_DIO", + "range": null, + "title": "DIO", + "type": "bool" + }, + { + "children": [], + "depends_on": "!ESPTOOLPY_OCT_FLASH && ", + "help": null, + "id": "ESPTOOLPY_FLASHMODE_DOUT", + "name": "ESPTOOLPY_FLASHMODE_DOUT", + "range": null, + "title": "DOUT", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESPTOOLPY_OCT_FLASH && ", + "help": null, + "id": "ESPTOOLPY_FLASHMODE_OPI", + "name": "ESPTOOLPY_FLASHMODE_OPI", + "range": null, + "title": "OPI", + "type": "bool" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Mode the flash chip is flashed in, as well as the default mode for the\nbinary to run in.", + "id": "serial-flasher-config-flash-spi-mode-home-claw-.platformio-packages-framework-espidf-components-esptool_py-Kconfig.projbuild-39", + "name": "ESPTOOLPY_FLASHMODE", + "title": "Flash SPI mode", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_FLASH_SAMPLE_MODE_STR", + "name": "ESPTOOLPY_FLASH_SAMPLE_MODE_STR", + "range": null, + "title": "STR Mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESPTOOLPY_OCT_FLASH && ", + "help": null, + "id": "ESPTOOLPY_FLASH_SAMPLE_MODE_DTR", + "name": "ESPTOOLPY_FLASH_SAMPLE_MODE_DTR", + "range": null, + "title": "DTR Mode", + "type": "bool" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": null, + "id": "serial-flasher-config-flash-sampling-mode-home-claw-.platformio-packages-framework-espidf-components-esptool_py-Kconfig.projbuild-64", + "name": "ESPTOOLPY_FLASH_SAMPLE_MODE", + "title": "Flash Sampling Mode", + "type": "choice" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": null, + "id": "ESPTOOLPY_FLASHMODE", + "name": "ESPTOOLPY_FLASHMODE", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_FLASHFREQ_80M", + "name": "ESPTOOLPY_FLASHFREQ_80M", + "range": null, + "title": "80 MHz", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_FLASHFREQ_40M", + "name": "ESPTOOLPY_FLASHFREQ_40M", + "range": null, + "title": "40 MHz", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_FLASHFREQ_20M", + "name": "ESPTOOLPY_FLASHFREQ_20M", + "range": null, + "title": "20 MHz", + "type": "bool" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": null, + "id": "serial-flasher-config-flash-spi-speed-home-claw-.platformio-packages-framework-espidf-components-esptool_py-..-spi_flash-esp32c6-Kconfig.flash_freq-1", + "name": "ESPTOOLPY_FLASHFREQ", + "title": "Flash SPI speed", + "type": "choice" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": null, + "id": "ESPTOOLPY_FLASHFREQ", + "name": "ESPTOOLPY_FLASHFREQ", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_FLASHSIZE_1MB", + "name": "ESPTOOLPY_FLASHSIZE_1MB", + "range": null, + "title": "1 MB", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_FLASHSIZE_2MB", + "name": "ESPTOOLPY_FLASHSIZE_2MB", + "range": null, + "title": "2 MB", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_FLASHSIZE_4MB", + "name": "ESPTOOLPY_FLASHSIZE_4MB", + "range": null, + "title": "4 MB", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_FLASHSIZE_8MB", + "name": "ESPTOOLPY_FLASHSIZE_8MB", + "range": null, + "title": "8 MB", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_FLASHSIZE_16MB", + "name": "ESPTOOLPY_FLASHSIZE_16MB", + "range": null, + "title": "16 MB", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_FLASHSIZE_32MB", + "name": "ESPTOOLPY_FLASHSIZE_32MB", + "range": null, + "title": "32 MB", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_FLASHSIZE_64MB", + "name": "ESPTOOLPY_FLASHSIZE_64MB", + "range": null, + "title": "64 MB", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_FLASHSIZE_128MB", + "name": "ESPTOOLPY_FLASHSIZE_128MB", + "range": null, + "title": "128 MB", + "type": "bool" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "SPI flash size, in megabytes", + "id": "serial-flasher-config-flash-size-home-claw-.platformio-packages-framework-espidf-components-esptool_py-Kconfig.projbuild-112", + "name": "ESPTOOLPY_FLASHSIZE", + "title": "Flash size", + "type": "choice" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": null, + "id": "ESPTOOLPY_FLASHSIZE", + "name": "ESPTOOLPY_FLASHSIZE", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "If this option is set, flashing the project will automatically detect\nthe flash size of the target chip and update the bootloader image\nbefore it is flashed.\n\nEnabling this option turns off the image protection against corruption\nby a SHA256 digest. Updating the bootloader image before flashing would\ninvalidate the digest.", + "id": "ESPTOOLPY_HEADER_FLASHSIZE_UPDATE", + "name": "ESPTOOLPY_HEADER_FLASHSIZE_UPDATE", + "range": null, + "title": "Detect flash size when flashing bootloader", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_BEFORE_RESET", + "name": "ESPTOOLPY_BEFORE_RESET", + "range": null, + "title": "Reset to bootloader", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_BEFORE_NORESET", + "name": "ESPTOOLPY_BEFORE_NORESET", + "range": null, + "title": "No reset", + "type": "bool" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Configure whether esptool should reset the ESP32 before flashing.\n\nAutomatic resetting depends on the RTS & DTR signals being\nwired from the serial port to the ESP32. Most USB development\nboards do this internally.", + "id": "serial-flasher-config-before-flashing-home-claw-.platformio-packages-framework-espidf-components-esptool_py-Kconfig.projbuild-159", + "name": "ESPTOOLPY_BEFORE", + "title": "Before flashing", + "type": "choice" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": null, + "id": "ESPTOOLPY_BEFORE", + "name": "ESPTOOLPY_BEFORE", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_AFTER_RESET", + "name": "ESPTOOLPY_AFTER_RESET", + "range": null, + "title": "Reset after flashing", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESPTOOLPY_AFTER_NORESET", + "name": "ESPTOOLPY_AFTER_NORESET", + "range": null, + "title": "Stay in bootloader", + "type": "bool" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Configure whether esptool should reset the ESP32 after flashing.\n\nAutomatic resetting depends on the RTS & DTR signals being\nwired from the serial port to the ESP32. Most USB development\nboards do this internally.", + "id": "serial-flasher-config-after-flashing-home-claw-.platformio-packages-framework-espidf-components-esptool_py-Kconfig.projbuild-180", + "name": "ESPTOOLPY_AFTER", + "title": "After flashing", + "type": "choice" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": null, + "id": "ESPTOOLPY_AFTER", + "name": "ESPTOOLPY_AFTER", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": null, + "id": "ESPTOOLPY_MONITOR_BAUD", + "name": "ESPTOOLPY_MONITOR_BAUD", + "range": null, + "title": null, + "type": "int" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "id": "serial-flasher-config-home-claw-.platformio-packages-framework-espidf-components-esptool_py-Kconfig.projbuild-1", + "title": "Serial flasher config", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "This is the default partition table, designed to fit into a 2MB or\nlarger flash with a single 1MB app partition.\n\nThe corresponding CSV file in the IDF directory is\ncomponents/partition_table/partitions_singleapp.csv\n\nThis partition table is not suitable for an app that needs OTA\n(over the air update) capability.", + "id": "PARTITION_TABLE_SINGLE_APP", + "name": "PARTITION_TABLE_SINGLE_APP", + "range": null, + "title": "Single factory app, no OTA", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "This is a variation of the default partition table, that expands\nthe 1MB app partition size to 1.5MB to fit more code.\n\nThe corresponding CSV file in the IDF directory is\ncomponents/partition_table/partitions_singleapp_large.csv\n\nThis partition table is not suitable for an app that needs OTA\n(over the air update) capability.", + "id": "PARTITION_TABLE_SINGLE_APP_LARGE", + "name": "PARTITION_TABLE_SINGLE_APP_LARGE", + "range": null, + "title": "Single factory app (large), no OTA", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "This is a basic OTA-enabled partition table with a factory app\npartition plus two OTA app partitions. All are 1MB, so this\npartition table requires 4MB or larger flash size.\n\nThe corresponding CSV file in the IDF directory is\ncomponents/partition_table/partitions_two_ota.csv", + "id": "PARTITION_TABLE_TWO_OTA", + "name": "PARTITION_TABLE_TWO_OTA", + "range": null, + "title": "Factory app, two OTA definitions", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "This is a basic OTA-enabled partition table with\ntwo OTA app partitions. Both app partition sizes are 1700K,\nso this partition table requires 4MB or larger flash size.\n\nThe corresponding CSV file in the IDF directory is\ncomponents/partition_table/partitions_two_ota_large.csv", + "id": "PARTITION_TABLE_TWO_OTA_LARGE", + "name": "PARTITION_TABLE_TWO_OTA_LARGE", + "range": null, + "title": "Two large size OTA partitions", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Specify the path to the partition table CSV to use for your project.\n\nConsult the Partition Table section in the ESP-IDF Programmers Guide\nfor more information.", + "id": "PARTITION_TABLE_CUSTOM", + "name": "PARTITION_TABLE_CUSTOM", + "range": null, + "title": "Custom partition table CSV", + "type": "bool" + }, + { + "children": [], + "depends_on": "!ESP32_COREDUMP_ENABLE_TO_FLASH && NVS_SEC_KEY_PROTECT_USING_FLASH_ENC && ", + "help": "This is a variation of the default \"Single factory app, no OTA\" partition table\nthat supports encrypted NVS when using flash encryption. See the Flash Encryption section\nin the ESP-IDF Programmers Guide for more information.\n\nThe corresponding CSV file in the IDF directory is\ncomponents/partition_table/partitions_singleapp_encr_nvs.csv", + "id": "PARTITION_TABLE_SINGLE_APP_ENCRYPTED_NVS", + "name": "PARTITION_TABLE_SINGLE_APP_ENCRYPTED_NVS", + "range": null, + "title": "Single factory app, no OTA, encrypted NVS", + "type": "bool" + }, + { + "children": [], + "depends_on": "!ESP32_COREDUMP_ENABLE_TO_FLASH && NVS_SEC_KEY_PROTECT_USING_FLASH_ENC && ", + "help": "This is a variation of the \"Single factory app (large), no OTA\" partition table\nthat supports encrypted NVS when using flash encryption. See the Flash Encryption section\nin the ESP-IDF Programmers Guide for more information.\n\nThe corresponding CSV file in the IDF directory is\ncomponents/partition_table/partitions_singleapp_large_encr_nvs.csv", + "id": "PARTITION_TABLE_SINGLE_APP_LARGE_ENC_NVS", + "name": "PARTITION_TABLE_SINGLE_APP_LARGE_ENC_NVS", + "range": null, + "title": "Single factory app (large), no OTA, encrypted NVS", + "type": "bool" + }, + { + "children": [], + "depends_on": "!ESP_COREDUMP_ENABLE_TO_FLASH && NVS_SEC_KEY_PROTECT_USING_FLASH_ENC && ", + "help": "This is a variation of the \"Factory app, two OTA definitions\" partition table\nthat supports encrypted NVS when using flash encryption. See the Flash Encryption section\nin the ESP-IDF Programmers Guide for more information.\n\nThe corresponding CSV file in the IDF directory is\ncomponents/partition_table/partitions_two_ota_encr_nvs.csv", + "id": "PARTITION_TABLE_TWO_OTA_ENCRYPTED_NVS", + "name": "PARTITION_TABLE_TWO_OTA_ENCRYPTED_NVS", + "range": null, + "title": "Factory app, two OTA definitions, encrypted NVS", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_ENABLE_TEE && ", + "help": "This is a variation of the default \"Single factory app, no OTA\" partition table\nthat supports the ESP-TEE framework. See the Trusted Execution Environment (TEE) section\nin the ESP-IDF Programmers Guide for more information.\n\nThe corresponding CSV file in the IDF directory is\ncomponents/partition_table/partitions_singleapp_tee.csv", + "id": "PARTITION_TABLE_SINGLE_APP_TEE", + "name": "PARTITION_TABLE_SINGLE_APP_TEE", + "range": null, + "title": "Single factory app, no OTA, TEE", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_ENABLE_TEE && ", + "help": "This is a basic OTA-enabled partition table with two OTA app partitions each\nfor the TEE and the user (REE) application. The user app partition sizes are 1536K,\nso this partition table requires 4MB or larger flash size. See the\nTrusted Execution Environment (TEE) section in the ESP-IDF Programmers Guide\nfor more information.\n\nThe corresponding CSV file in the IDF directory is\ncomponents/partition_table/partitions_two_ota_tee.csv", + "id": "PARTITION_TABLE_TWO_OTA_TEE", + "name": "PARTITION_TABLE_TWO_OTA_TEE", + "range": null, + "title": "Two OTA definitions, TEE", + "type": "bool" + } + ], + "depends_on": null, + "help": "The partition table to flash to the ESP32. The partition table\ndetermines where apps, data and other resources are expected to\nbe found.\n\nThe predefined partition table CSV descriptions can be found\nin the components/partition_table directory. These are mostly intended\nfor example and development use, it's expect that for production use you\nwill copy one of these CSV files and create a custom partition CSV for\nyour application.", + "id": "partition-table-partition-table-home-claw-.platformio-packages-framework-espidf-components-partition_table-Kconfig.projbuild-3", + "name": "PARTITION_TABLE_TYPE", + "title": "Partition Table", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": "Name of the custom partition CSV filename.\nThis path is evaluated relative to the project root directory by default.\nHowever, if the absolute path for the CSV file is provided, then the absolute path is configured.", + "id": "PARTITION_TABLE_CUSTOM_FILENAME", + "name": "PARTITION_TABLE_CUSTOM_FILENAME", + "range": null, + "title": "Custom partition CSV file", + "type": "string" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "PARTITION_TABLE_FILENAME", + "name": "PARTITION_TABLE_FILENAME", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [], + "depends_on": null, + "help": "The offset address of the partition table is, by default, 0x8000, and it starts right after\nthe bootloader. This offset can be changed if more space is required for the bootloader.\nIf you change this offset, both the bootloader and the app must be compiled with the same\nPARTITION_TABLE_OFFSET value.\n\nThis value must be a multiple of 0x1000.\n\nIf you change the partition table offset, make sure to update the partition offsets in\nthe partition table CSV file. To let the build system automatically adjust partition offsets based on\nthe configured partition table offset, leave the offset fields blank in the CSV file.\n\nNote: If you specify fixed offsets in the partition table CSV (i.e., the offset column is not blank),\nthe first partition must start at PARTITION_TABLE_OFFSET + 0x1000, since the partition table occupies\n0x1000 bytes of flash space.", + "id": "PARTITION_TABLE_OFFSET", + "name": "PARTITION_TABLE_OFFSET", + "range": null, + "title": "Offset of partition table", + "type": "hex" + }, + { + "children": [], + "depends_on": "!APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS && !IDF_TARGET_LINUX", + "help": "Generate an MD5 checksum for the partition table for protecting the\nintegrity of the table. The generation should be turned off for legacy\nbootloaders which cannot recognize the MD5 checksum in the partition\ntable.", + "id": "PARTITION_TABLE_MD5", + "name": "PARTITION_TABLE_MD5", + "range": null, + "title": "Generate an MD5 checksum for the partition table", + "type": "bool" + } + ], + "depends_on": null, + "id": "partition-table-home-claw-.platformio-packages-framework-espidf-components-partition_table-Kconfig.projbuild-1", + "title": "Partition Table", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "COMPILER_OPTIMIZATION_DEBUG", + "name": "COMPILER_OPTIMIZATION_DEBUG", + "range": null, + "title": "Debug (-Og)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "COMPILER_OPTIMIZATION_SIZE", + "name": "COMPILER_OPTIMIZATION_SIZE", + "range": null, + "title": "Optimize for size (-Os with GCC, -Oz with Clang)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "COMPILER_OPTIMIZATION_PERF", + "name": "COMPILER_OPTIMIZATION_PERF", + "range": null, + "title": "Optimize for performance (-O2)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "COMPILER_OPTIMIZATION_NONE", + "name": "COMPILER_OPTIMIZATION_NONE", + "range": null, + "title": "Debug without optimization (-O0)", + "type": "bool" + } + ], + "depends_on": null, + "help": "This option sets compiler optimization level (gcc -O argument) for the app.\n\n- The \"Debug\" setting will add the -Og flag to CFLAGS.\n- The \"Size\" setting will add the -Os flag to CFLAGS (-Oz with Clang).\n- The \"Performance\" setting will add the -O2 flag to CFLAGS.\n- The \"None\" setting will add the -O0 flag to CFLAGS.\n\nThe \"Size\" setting cause the compiled code to be smaller and faster, but\nmay lead to difficulties of correlating code addresses to source file\nlines when debugging.\n\nThe \"Performance\" setting causes the compiled code to be larger and faster,\nbut will be easier to correlated code addresses to source file lines.\n\n\"None\" with -O0 produces compiled code without optimization.\n\nNote that custom optimization levels may be unsupported.\n\nCompiler optimization for the IDF bootloader is set separately,\nsee the BOOTLOADER_COMPILER_OPTIMIZATION setting.", + "id": "compiler-options-optimization-level-home-claw-.platformio-packages-framework-espidf-Kconfig-337", + "name": "COMPILER_OPTIMIZATION", + "title": "Optimization Level", + "type": "choice" + }, + { + "children": [], + "depends_on": "SOC_CPU_ZCMP_WORKAROUND", + "help": "Enable the RISC-V ZCMP (Compressed Macro) extension to reduce binary size\nby optimizing function prologue and epilogue sequences.\n\nNote: Due to a hardware issue on some ESP32 chips (e.g., ESP32C5, ESP32C61,\nESP32H4), executing \"cm.push\" may re-enable interrupts even when global\ninterrupts are disabled (mstatus.mie = 0). This can cause unexpected interrupts\nduring CPU retention or within critical sections.\n\nWorkarounds are implemented in the IDF codebase. However, if user code\ndirectly disables interrupts, additional actions may be required. Refer\nto code examples under the SOC_CPU_ZCMP_WORKAROUND macro, or disable\nthe ZCMP extension for source files that contain functions which may\nexecute while mstatus.mie = 0.", + "id": "COMPILER_ENABLE_RISCV_ZCMP", + "name": "COMPILER_ENABLE_RISCV_ZCMP", + "range": null, + "title": "Enable RISCV ZCMP extension", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Enable assertions. Assertion content and line number will be printed on failure.", + "id": "COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE", + "name": "COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE", + "range": null, + "title": "Enabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Enable silent assertions. Failed assertions will abort(), user needs to\nuse the aborting address to find the line number with the failed assertion.", + "id": "COMPILER_OPTIMIZATION_ASSERTIONS_SILENT", + "name": "COMPILER_OPTIMIZATION_ASSERTIONS_SILENT", + "range": null, + "title": "Silent (saves code size)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "If assertions are disabled, -DNDEBUG is added to CPPFLAGS.", + "id": "COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE", + "name": "COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE", + "range": null, + "title": "Disabled (sets -DNDEBUG)", + "type": "bool" + } + ], + "depends_on": null, + "help": "Assertions can be:\n\n- Enabled. Failure will print verbose assertion details. This is the default.\n\n- Set to \"silent\" to save code size (failed assertions will abort() but user\n needs to use the aborting address to find the line number with the failed assertion.)\n\n- Disabled entirely (not recommended for most configurations.) -DNDEBUG is added\n to CPPFLAGS in this case.", + "id": "compiler-options-assertion-level-home-claw-.platformio-packages-framework-espidf-Kconfig-392", + "name": "COMPILER_OPTIMIZATION_ASSERTION_LEVEL", + "title": "Assertion level", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": "When NDEBUG is set, assert(X) will not cause code to trigger an assertion.\nWith this option set, assert(X) will still evaluate the expression X, though\nthe result will never cause an assertion. This means that if X is a function\nthen the function will be called.\n\nThis is not according to the standard, which states that the assert(X) should\nbe replaced with ((void)0) if NDEBUG is defined.", + "id": "COMPILER_ASSERT_NDEBUG_EVALUATE", + "name": "COMPILER_ASSERT_NDEBUG_EVALUATE", + "range": null, + "title": "Enable the evaluation of the expression inside assert(X) when NDEBUG is set", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "COMPILER_FLOAT_LIB_FROM_GCCLIB", + "name": "COMPILER_FLOAT_LIB_FROM_GCCLIB", + "range": null, + "title": "libgcc", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_ROM_HAS_RVFPLIB && ", + "help": null, + "id": "COMPILER_FLOAT_LIB_FROM_RVFPLIB", + "name": "COMPILER_FLOAT_LIB_FROM_RVFPLIB", + "range": null, + "title": "librvfp", + "type": "bool" + } + ], + "depends_on": null, + "help": "In the soft-fp part of libgcc, riscv version is written in C,\nand handles all edge cases in IEEE754, which makes it larger\nand performance is slow.\n\nRVfplib is an optimized RISC-V library for FP arithmetic on 32-bit\ninteger processors, for single and double-precision FP.\nRVfplib is \"fast\", but it has a few exceptions from IEEE 754 compliance.", + "id": "compiler-options-compiler-float-lib-source-home-claw-.platformio-packages-framework-espidf-Kconfig-439", + "name": "COMPILER_FLOAT_LIB_FROM", + "title": "Compiler float lib source", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "COMPILER_OPTIMIZATION_ASSERTION_LEVEL", + "name": "COMPILER_OPTIMIZATION_ASSERTION_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "If enabled, the error messages will be discarded in following check macros:\n- ESP_RETURN_ON_ERROR\n- ESP_EXIT_ON_ERROR\n- ESP_RETURN_ON_FALSE\n- ESP_EXIT_ON_FALSE", + "id": "COMPILER_OPTIMIZATION_CHECKS_SILENT", + "name": "COMPILER_OPTIMIZATION_CHECKS_SILENT", + "range": null, + "title": "Disable messages in ESP_RETURN_ON_* and ESP_EXIT_ON_* macros", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "When expanding the __FILE__ and __BASE_FILE__ macros, replace paths inside ESP-IDF\nwith paths relative to the placeholder string \"IDF\", and convert paths inside the\nproject directory to relative paths.\n\nThis allows building the project with assertions or other code that embeds file paths,\nwithout the binary containing the exact path to the IDF or project directories.\n\nThis option passes -fmacro-prefix-map options to the GCC command line. To replace additional\npaths in your binaries, modify the project CMakeLists.txt file to pass custom -fmacro-prefix-map or\n-ffile-prefix-map arguments.", + "id": "COMPILER_HIDE_PATHS_MACROS", + "is_menuconfig": true, + "name": "COMPILER_HIDE_PATHS_MACROS", + "range": null, + "title": "Replace ESP-IDF and project paths in binaries", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "COMPILER_CXX_EXCEPTIONS", + "help": "Size (in bytes) of the emergency memory pool for C++ exceptions. This pool will be used to allocate\nmemory for thrown exceptions when there is not enough memory on the heap.", + "id": "COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE", + "name": "COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE", + "range": null, + "title": "Emergency Pool Size", + "type": "int" + } + ], + "depends_on": null, + "help": "Enabling this option compiles all IDF C++ files with exception support enabled.\n\nDisabling this option disables C++ exception support in all compiled files, and any libstdc++ code\nwhich throws an exception will abort instead.\n\nEnabling this option currently adds an additional ~500 bytes of heap overhead\nwhen an exception is thrown in user code for the first time.", + "id": "COMPILER_CXX_EXCEPTIONS", + "is_menuconfig": true, + "name": "COMPILER_CXX_EXCEPTIONS", + "range": null, + "title": "Enable C++ exceptions", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling this option compiles all C++ files with RTTI support enabled.\nThis increases binary size (typically by tens of kB) but allows using\ndynamic_cast conversion and typeid operator.", + "id": "COMPILER_CXX_RTTI", + "name": "COMPILER_CXX_RTTI", + "range": null, + "title": "Enable C++ run-time type info (RTTI)", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "COMPILER_STACK_CHECK_MODE_NONE", + "name": "COMPILER_STACK_CHECK_MODE_NONE", + "range": null, + "title": "None", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "COMPILER_STACK_CHECK_MODE_NORM", + "name": "COMPILER_STACK_CHECK_MODE_NORM", + "range": null, + "title": "Normal", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "COMPILER_STACK_CHECK_MODE_STRONG", + "name": "COMPILER_STACK_CHECK_MODE_STRONG", + "range": null, + "title": "Strong", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "COMPILER_STACK_CHECK_MODE_ALL", + "name": "COMPILER_STACK_CHECK_MODE_ALL", + "range": null, + "title": "Overall", + "type": "bool" + } + ], + "depends_on": null, + "help": "Stack smashing protection mode. Emit extra code to check for buffer overflows, such as stack\nsmashing attacks. This is done by adding a guard variable to functions with vulnerable objects.\nThe guards are initialized when a function is entered and then checked when the function exits.\nIf a guard check fails, program is halted. Protection has the following modes:\n\n- In NORMAL mode (GCC flag: -fstack-protector) only functions that call alloca, and functions with\n buffers larger than 8 bytes are protected.\n\n- STRONG mode (GCC flag: -fstack-protector-strong) is like NORMAL, but includes additional functions\n to be protected -- those that have local array definitions, or have references to local frame\n addresses.\n\n- In OVERALL mode (GCC flag: -fstack-protector-all) all functions are protected.\n\nModes have the following impact on code performance and coverage:\n\n- performance: NORMAL > STRONG > OVERALL\n\n- coverage: NORMAL < STRONG < OVERALL\n\nThe performance impact includes increasing the amount of stack memory required for each task.", + "id": "compiler-options-stack-smashing-protection-mode-home-claw-.platformio-packages-framework-espidf-Kconfig-518", + "name": "COMPILER_STACK_CHECK_MODE", + "title": "Stack smashing protection mode", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": "Stack smashing protection.", + "id": "COMPILER_STACK_CHECK", + "name": "COMPILER_STACK_CHECK", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TOOLCHAIN_GCC", + "help": "Disable merging identical constants (string/floating-point) across compilation units.\nThis helps in better size analysis of the application binary as the rodata section\ndistribution is more uniform across libraries. On downside, it may increase\nthe binary size and hence should be used during development phase only.", + "id": "COMPILER_NO_MERGE_CONSTANTS", + "name": "COMPILER_NO_MERGE_CONSTANTS", + "range": null, + "title": "Disable merging const sections", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Adds -Wwrite-strings flag for the C/C++ compilers.\n\nFor C, this gives string constants the type ``const char[]`` so that\ncopying the address of one into a non-const ``char *`` pointer\nproduces a warning. This warning helps to find at compile time code\nthat tries to write into a string constant.\n\nFor C++, this warns about the deprecated conversion from string\nliterals to ``char *``.", + "id": "COMPILER_WARN_WRITE_STRINGS", + "name": "COMPILER_WARN_WRITE_STRINGS", + "range": null, + "title": "Enable -Wwrite-strings warning flag", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ARCH_RISCV", + "help": "Adds -msave-restore to C/C++ compilation flags.\n\nWhen this flag is enabled, compiler will call library functions to\nsave/restore registers in function prologues/epilogues. This results\nin lower overall code size, at the expense of slightly reduced performance.\n\nThis option can be enabled for RISC-V targets only.", + "id": "COMPILER_SAVE_RESTORE_LIBCALLS", + "name": "COMPILER_SAVE_RESTORE_LIBCALLS", + "range": null, + "title": "Enable -msave-restore flag to reduce code size", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable this option if you do not want default warnings to be considered as errors,\nespecially when updating IDF.\n\nThis is a temporary flag that could help to allow upgrade while having\nsome time to address the warnings raised by those default warnings.\nAlternatives are:\n1) fix code (preferred),\n2) remove specific warnings,\n3) do not consider specific warnings as error.", + "id": "COMPILER_DISABLE_DEFAULT_ERRORS", + "name": "COMPILER_DISABLE_DEFAULT_ERRORS", + "range": null, + "title": "Disable errors for default warnings", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable this option if use GCC 12 or newer, and want to disable warnings which don't appear with\nGCC 11.", + "id": "COMPILER_DISABLE_GCC12_WARNINGS", + "name": "COMPILER_DISABLE_GCC12_WARNINGS", + "range": null, + "title": "Disable new warnings introduced in GCC 12", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable this option if use GCC 13 or newer, and want to disable warnings which don't appear with\nGCC 12.", + "id": "COMPILER_DISABLE_GCC13_WARNINGS", + "name": "COMPILER_DISABLE_GCC13_WARNINGS", + "range": null, + "title": "Disable new warnings introduced in GCC 13", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable this option if use GCC 14 or newer, and want to disable warnings which don't appear with\nGCC 13.", + "id": "COMPILER_DISABLE_GCC14_WARNINGS", + "name": "COMPILER_DISABLE_GCC14_WARNINGS", + "range": null, + "title": "Disable new warnings introduced in GCC 14", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable this option if use GCC 15 or newer, and want to disable warnings which don't appear with\nGCC 14.", + "id": "COMPILER_DISABLE_GCC15_WARNINGS", + "name": "COMPILER_DISABLE_GCC15_WARNINGS", + "range": null, + "title": "Disable new warnings introduced in GCC 15", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If enabled, RTL files will be produced during compilation. These files\ncan be used by other tools, for example to calculate call graphs.", + "id": "COMPILER_DUMP_RTL_FILES", + "name": "COMPILER_DUMP_RTL_FILES", + "range": null, + "title": "Dump RTL files during compilation", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "!IDF_TARGET_LINUX && ", + "help": null, + "id": "COMPILER_RT_LIB_GCCLIB", + "name": "COMPILER_RT_LIB_GCCLIB", + "range": null, + "title": "libgcc", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TOOLCHAIN_CLANG && !IDF_TARGET_LINUX && ", + "help": null, + "id": "COMPILER_RT_LIB_CLANGRT", + "name": "COMPILER_RT_LIB_CLANGRT", + "range": null, + "title": "libclang_rt", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_LINUX && ", + "help": null, + "id": "COMPILER_RT_LIB_HOST", + "name": "COMPILER_RT_LIB_HOST", + "range": null, + "title": "Host", + "type": "bool" + } + ], + "depends_on": null, + "help": "Select runtime library to be used by compiler.\n- GCC toolchain supports libgcc only.\n- Clang allows to choose between libgcc or libclang_rt.\n- For host builds (\"linux\" target), uses the default library.", + "id": "compiler-options-compiler-runtime-library-home-claw-.platformio-packages-framework-espidf-Kconfig-643", + "name": "COMPILER_RT_LIB", + "title": "Compiler runtime library", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "COMPILER_RT_LIB_NAME", + "name": "COMPILER_RT_LIB_NAME", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Fails the link step with an error if orphan sections are detected.", + "id": "COMPILER_ORPHAN_SECTIONS_ERROR", + "name": "COMPILER_ORPHAN_SECTIONS_ERROR", + "range": null, + "title": "Fail if orphan sections found", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Places orphan sections with a warning message.", + "id": "COMPILER_ORPHAN_SECTIONS_WARNING", + "name": "COMPILER_ORPHAN_SECTIONS_WARNING", + "range": null, + "title": "Place with warning", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Places orphan sections without a warning/error message.", + "id": "COMPILER_ORPHAN_SECTIONS_PLACE", + "name": "COMPILER_ORPHAN_SECTIONS_PLACE", + "range": null, + "title": "Place silently", + "type": "bool" + } + ], + "depends_on": "!IDF_TARGET_LINUX", + "help": "If the linker finds orphan sections, it attempts to place orphan sections after sections of the same\nattribute such as code vs data, loadable vs non-loadable, etc.\nThat means that orphan sections could placed between sections defined in IDF linker scripts.\nThis could lead to corruption of the binary image. Configure the linker action here.", + "id": "compiler-options-orphan-sections-handling-home-claw-.platformio-packages-framework-espidf-Kconfig-671", + "name": "COMPILER_ORPHAN_SECTIONS", + "title": "Orphan sections handling", + "type": "choice" + }, + { + "children": [], + "depends_on": "IDF_TOOLCHAIN_GCC", + "help": "Enable compiler static analyzer. This may produce false-positive results and increases compile time.", + "id": "COMPILER_STATIC_ANALYZER", + "name": "COMPILER_STATIC_ANALYZER", + "range": null, + "title": "Enable compiler static analyzer", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Use default _GLIBCXX20_CONSTEXPR and _GLIBCXX23_CONSTEXPR defined in libstdc++", + "id": "COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE", + "name": "COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE", + "range": null, + "title": "No change", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Define _GLIBCXX20_CONSTEXPR=__attribute__((cold)) constexpr\nDefine _GLIBCXX23_CONSTEXPR=__attribute__((cold)) constexpr", + "id": "COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD_CONSTEXPR", + "name": "COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD_CONSTEXPR", + "range": null, + "title": "_GLIBCXX2X_CONSTEXPR=__attribute__((cold)) constexpr", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Define _GLIBCXX20_CONSTEXPR=__attribute__((cold)).\nDefine _GLIBCXX23_CONSTEXPR=__attribute__((cold)).", + "id": "COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD", + "name": "COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD", + "range": null, + "title": "_GLIBCXX2X_CONSTEXPR=__attribute__((cold))", + "type": "bool" + } + ], + "depends_on": "IDF_TOOLCHAIN_GCC && !IDF_TARGET_LINUX", + "help": "Modify libstdc++ _GLIBCXX20_CONSTEXPR and _GLIBCXX23_CONSTEXPR definitions to provide size\noptimizations. The total size optimization depends on the application's structure.\nThere is no robust way to determine which option would be better in a particular case.\nPlease try all available options to find the best size optimization.", + "id": "compiler-options-define-_glibcxx_constexpr-home-claw-.platformio-packages-framework-espidf-Kconfig-704", + "name": "COMPILER_CXX_GLIBCXX_CONSTEXPR", + "title": "Define _GLIBCXX_CONSTEXPR", + "type": "choice" + } + ], + "depends_on": null, + "id": "compiler-options-home-claw-.platformio-packages-framework-espidf-Kconfig-335", + "title": "Compiler options", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "This option is recommended for classic Bluetooth or for dual-mode\nusecases", + "id": "BT_BLUEDROID_ENABLED", + "name": "BT_BLUEDROID_ENABLED", + "range": null, + "title": "Bluedroid - Dual-mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "This option is recommended for BLE only usecases to save on memory", + "id": "BT_NIMBLE_ENABLED", + "name": "BT_NIMBLE_ENABLED", + "range": null, + "title": "NimBLE - BLE only", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_BT_SUPPORTED && ", + "help": "This option is recommended when you want to communicate directly with the\ncontroller (without any host) or when you are using any other host stack\nnot supported by Espressif (not mentioned here).", + "id": "BT_CONTROLLER_ONLY", + "name": "BT_CONTROLLER_ONLY", + "range": null, + "title": "Disabled", + "type": "bool" + } + ], + "depends_on": "BT_ENABLED", + "help": "This helps to choose Bluetooth host stack", + "id": "component-config-bluetooth-bluetooth-host-home-claw-.platformio-packages-framework-espidf-components-bt-Kconfig-9", + "name": "BT_HOST", + "title": "Host", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_BT_SUPPORTED && ", + "help": "This option is recommended for Bluetooth controller usecases", + "id": "BT_CONTROLLER_ENABLED", + "name": "BT_CONTROLLER_ENABLED", + "range": null, + "title": "Enabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "This option is recommended for Bluetooth Host only usecases", + "id": "BT_CONTROLLER_DISABLED", + "name": "BT_CONTROLLER_DISABLED", + "range": null, + "title": "Disabled", + "type": "bool" + } + ], + "depends_on": "BT_ENABLED", + "help": "This helps to choose Bluetooth controller stack", + "id": "component-config-bluetooth-bluetooth-controller-home-claw-.platformio-packages-framework-espidf-components-bt-Kconfig-37", + "name": "BT_CONTROLLER", + "title": "Controller", + "type": "choice" + } + ], + "depends_on": "!APP_NO_BLOBS", + "help": "Select this option to enable Bluetooth and show the submenu with Bluetooth configuration choices.", + "id": "BT_ENABLED", + "name": "BT_ENABLED", + "range": null, + "title": "Bluetooth", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This select btc task stack size", + "id": "BT_BTC_TASK_STACK_SIZE", + "name": "BT_BTC_TASK_STACK_SIZE", + "range": null, + "title": "Bluetooth event (callback to application) task stack size", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_BLUEDROID_PINNED_TO_CORE_0", + "name": "BT_BLUEDROID_PINNED_TO_CORE_0", + "range": null, + "title": "Core 0 (PRO CPU)", + "type": "bool" + }, + { + "children": [], + "depends_on": "!FREERTOS_UNICORE && ", + "help": null, + "id": "BT_BLUEDROID_PINNED_TO_CORE_1", + "name": "BT_BLUEDROID_PINNED_TO_CORE_1", + "range": null, + "title": "Core 1 (APP CPU)", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !FREERTOS_UNICORE && BT_BLUEDROID_ENABLED", + "help": "Which the cpu core to run Bluedroid. Can choose core0 and core1.\nCan not specify no-affinity.", + "id": "component-config-bluetooth-bluedroid-options-the-cpu-core-which-bluedroid-run-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-8", + "name": "BT_BLUEDROID_PINNED_TO_CORE_CHOICE", + "title": "The cpu core which Bluedroid run", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_BLUEDROID_PINNED_TO_CORE", + "name": "BT_BLUEDROID_PINNED_TO_CORE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This select btu task stack size", + "id": "BT_BTU_TASK_STACK_SIZE", + "name": "BT_BTU_TASK_STACK_SIZE", + "range": null, + "title": "Bluetooth Bluedroid Host Stack task stack size", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "Enable Espressif Vendor-specific HCI commands for coexist status configuration", + "id": "BT_BLUEDROID_ESP_COEX_VSC", + "name": "BT_BLUEDROID_ESP_COEX_VSC", + "range": null, + "title": "Enable Espressif Vendor-specific HCI commands for coexist status configuration", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_CLASSIC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "Enable Espressif Vendor-specific HCI commands for power control of Classic Bluetooth", + "id": "BT_CLASSIC_ENABLE_POWER_CTRL_VSC", + "name": "BT_CLASSIC_ENABLE_POWER_CTRL_VSC", + "range": null, + "title": "Enable Espressif Vendor-specific HCI commands for power control of Classic Bluetooth", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "(BT_CONTROLLER_DISABLED || (BT_CONTROLLER_ENABLED && SOC_BT_H2C_ENC_KEY_CTRL_ENH_STD_SUPPORTED)) && ", + "help": null, + "id": "BT_ENC_KEY_SIZE_CTRL_STD", + "name": "BT_ENC_KEY_SIZE_CTRL_STD", + "range": null, + "title": "Supported by standard HCI command", + "type": "bool" + }, + { + "children": [], + "depends_on": "(BT_CONTROLLER_DISABLED || (BT_CONTROLLER_ENABLED && SOC_BT_H2C_ENC_KEY_CTRL_ENH_VSC_SUPPORTED)) && ", + "help": null, + "id": "BT_ENC_KEY_SIZE_CTRL_VSC", + "name": "BT_ENC_KEY_SIZE_CTRL_VSC", + "range": null, + "title": "Supported by Vendor-specific HCI command", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_ENC_KEY_SIZE_CTRL_NONE", + "name": "BT_ENC_KEY_SIZE_CTRL_NONE", + "range": null, + "title": "Not supported", + "type": "bool" + } + ], + "depends_on": "BT_CLASSIC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This chooses the support status of configuring encryption key size", + "id": "component-config-bluetooth-bluedroid-options-classic-bluetooth-configure-encryption-key-size-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-58", + "name": "BT_ENC_KEY_SIZE_CTRL_ENABLED", + "title": "configure encryption key size", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_CLASSIC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables functionalities of Host qualification for Classic Bluetooth.", + "id": "BT_CLASSIC_BQB_ENABLED", + "name": "BT_CLASSIC_BQB_ENABLED", + "range": null, + "title": "Host Qualitifcation support for Classic Bluetooth", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_A2DP_ENABLE && BT_BLUEDROID_ENABLED", + "help": "If enable, user shall register audio codec capability to A2DP and encode/decode\naudio data in application layer. The internal codec in A2DP will be remove in\nthe future, it is recommend to use external codec for new design.", + "id": "BT_A2DP_USE_EXTERNAL_CODEC", + "name": "BT_A2DP_USE_EXTERNAL_CODEC", + "range": null, + "title": "Use External Codec for A2DP", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_A2DP_ENABLE && BT_BLUEDROID_ENABLED", + "help": "Audio/Video Remote Control Profile, AVRCP and A2DP are coupled in Bluedroid,\nAVRCP still controlled by A2DP option, this is a dummy option currently", + "id": "BT_AVRCP_ENABLED", + "name": "BT_AVRCP_ENABLED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_AVRCP_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enable Cover Art feature for AVRCP CT role, Cover Art requires AVRCP\nversion 1.6 or higher. Therefore, if the Cover Art feature is enabled,\nAVRCP version will set to 1.6, otherwise, it will remain at 1.5", + "id": "BT_AVRCP_CT_COVER_ART_ENABLED", + "name": "BT_AVRCP_CT_COVER_ART_ENABLED", + "range": null, + "title": "AVRCP CT Cover Art", + "type": "bool" + } + ], + "depends_on": "BT_AVRCP_ENABLED && BT_BLUEDROID_ENABLED", + "id": "component-config-bluetooth-bluedroid-options-classic-bluetooth-a2dp-avrcp-features-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-109", + "title": "AVRCP Features", + "type": "menu" + } + ], + "depends_on": "BT_CLASSIC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "Advanced Audio Distribution Profile", + "id": "BT_A2DP_ENABLE", + "name": "BT_A2DP_ENABLE", + "range": null, + "title": "A2DP", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CLASSIC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables the Serial Port Profile", + "id": "BT_SPP_ENABLED", + "name": "BT_SPP_ENABLED", + "range": null, + "title": "SPP", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CLASSIC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables the Logical Link Control and Adaptation Layer Protocol.\nOnly supported classic bluetooth.", + "id": "BT_L2CAP_ENABLED", + "name": "BT_L2CAP_ENABLED", + "range": null, + "title": "BT L2CAP", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CLASSIC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables common SDP operation, such as SDP record creation and deletion.", + "id": "BT_SDP_COMMON_ENABLED", + "name": "BT_SDP_COMMON_ENABLED", + "range": null, + "title": "BT SDP COMMON", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CLASSIC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This is the total size of all SDP attributes allowed.\nAny attributes that exceed this size are truncated.\nThe default value is 300.", + "id": "BT_SDP_PAD_LEN", + "name": "BT_SDP_PAD_LEN", + "range": null, + "title": "One or more BT SDP attributes total allocated length (bytes)", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_CLASSIC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This is the maximum allowed size for a single SDP attribute.\nAny attributes that exceed this size are truncated.\nThe default value is 300.", + "id": "BT_SDP_ATTR_LEN", + "name": "BT_SDP_ATTR_LEN", + "range": null, + "title": "Single BT SDP attribute allocated length (bytes)", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_HFP_ENABLE && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_HFP_CLIENT_ENABLE", + "name": "BT_HFP_CLIENT_ENABLE", + "range": null, + "title": "Hands Free Unit", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_HFP_ENABLE && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_HFP_AG_ENABLE", + "name": "BT_HFP_AG_ENABLE", + "range": null, + "title": "Audio Gateway", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_HFP_AUDIO_DATA_PATH_PCM", + "name": "BT_HFP_AUDIO_DATA_PATH_PCM", + "range": null, + "title": "PCM", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_HFP_AUDIO_DATA_PATH_HCI", + "name": "BT_HFP_AUDIO_DATA_PATH_HCI", + "range": null, + "title": "HCI", + "type": "bool" + } + ], + "depends_on": "BT_HFP_ENABLE && BT_BLUEDROID_ENABLED", + "help": "SCO data path, i.e. HCI or PCM. This option is set using API\n\"esp_bredr_sco_datapath_set\" in Bluetooth host. Default SCO data\npath can also be set in Bluetooth Controller.", + "id": "component-config-bluetooth-bluedroid-options-classic-bluetooth-hands-free-handset-profile-audio-sco-data-path-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-184", + "name": "BT_HFP_AUDIO_DATA_PATH", + "title": "audio(SCO) data path", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_HFP_ENABLE && BT_HFP_AUDIO_DATA_PATH_HCI && BT_BLUEDROID_ENABLED", + "help": "If enable, user shall encode/decode audio data in application layer. The internal\ncodec in HFP will be remove in the future, it is recommend to use external codec\nfor new design.", + "id": "BT_HFP_USE_EXTERNAL_CODEC", + "name": "BT_HFP_USE_EXTERNAL_CODEC", + "range": null, + "title": "Use External Codec for HFP", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_HFP_ENABLE && BT_HFP_AUDIO_DATA_PATH_HCI && BT_BLUEDROID_ENABLED", + "help": "This enables Wide Band Speech. Should disable it when SCO data path is PCM.\nOtherwise there will be no data transmitted via GPIOs.", + "id": "BT_HFP_WBS_ENABLE", + "name": "BT_HFP_WBS_ENABLE", + "range": null, + "title": "Wide Band Speech", + "type": "bool" + } + ], + "depends_on": "BT_CLASSIC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "Hands Free Unit and Audio Gateway can be included simultaneously\nbut they cannot run simultaneously due to internal limitations.", + "id": "BT_HFP_ENABLE", + "is_menuconfig": true, + "name": "BT_HFP_ENABLE", + "range": null, + "title": "Hands Free/Handset Profile", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_HID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables the BT HID Host", + "id": "BT_HID_HOST_ENABLED", + "name": "BT_HID_HOST_ENABLED", + "range": null, + "title": "Classic BT HID Host", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_HID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables the BT HID Device", + "id": "BT_HID_DEVICE_ENABLED", + "name": "BT_HID_DEVICE_ENABLED", + "range": null, + "title": "Classic BT HID Device", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_HID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables the BT HID to remove device bonding information when virtual cable unplugging,\nremoving device bonding information is optional in HID 1.0 but mandatory in HID 1.1", + "id": "BT_HID_REMOVE_DEVICE_BONDING_ENABLED", + "name": "BT_HID_REMOVE_DEVICE_BONDING_ENABLED", + "range": null, + "title": "Remove Device Bonding Information when HID Virtual Cable Unplugging", + "type": "bool" + } + ], + "depends_on": "BT_CLASSIC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables the BT HID functionalities", + "id": "BT_HID_ENABLED", + "is_menuconfig": true, + "name": "BT_HID_ENABLED", + "range": null, + "title": "Classic BT HID", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_PBAC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "Set the supported features of PBAP Client, the default value is supported all features", + "id": "BT_PBAC_SUPPORTED_FEAT", + "name": "BT_PBAC_SUPPORTED_FEAT", + "range": null, + "title": "PBAP Client Supported Features", + "type": "hex" + }, + { + "children": [], + "depends_on": "BT_PBAC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "MTU is limited by the max MTU of transport layer, and should not be smaller than 255,\nbut can be set to zero to use a default MTU of transport layer", + "id": "BT_PBAC_PREFERRED_MTU", + "name": "BT_PBAC_PREFERRED_MTU", + "range": null, + "title": "PBAP Client Preferred MTU", + "type": "int" + } + ], + "depends_on": "BT_CLASSIC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables the Phone Book Access Profile Client", + "id": "BT_PBAC_ENABLED", + "is_menuconfig": true, + "name": "BT_PBAC_ENABLED", + "range": null, + "title": "PBAP Client", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_CLASSIC_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables the BT GOEP Profile Client role", + "id": "BT_GOEPC_ENABLED", + "name": "BT_GOEPC_ENABLED", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && ((BT_CONTROLLER_ENABLED && SOC_BT_CLASSIC_SUPPORTED) || BT_CONTROLLER_DISABLED) && BT_BLUEDROID_ENABLED", + "help": "For now this option needs \"SMP_ENABLE\" to be set to yes", + "id": "BT_CLASSIC_ENABLED", + "name": "BT_CLASSIC_ENABLED", + "range": null, + "title": "Classic Bluetooth", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BT_GATTS_ENABLE && BT_BLUEDROID_ENABLED", + "help": "This enables \"Peripheral Preferred Connection Parameters\" characteristic (UUID: 0x2A04)\nin GAP service that has connection parameters like min/max connection interval, slave\nlatency and supervision timeout multiplier", + "id": "BT_GATTS_PPCP_CHAR_GAP", + "name": "BT_GATTS_PPCP_CHAR_GAP", + "range": null, + "title": "Enable Peripheral Preferred Connection Parameters characteristic in GAP service", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_BLUFI_ENABLE && BT_BLE_SMP_ENABLE && BT_BLUEDROID_ENABLED", + "help": "Enable BLE Security Manager Protocol (SMP) for BluFi.\nWhen enabled, BluFi will support BLE pairing and encryption\nbefore Wi-Fi provisioning, providing a more secure provisioning process.\nThis feature is only supported with the Bluedroid host.", + "id": "BT_BLUFI_BLE_SMP_ENABLE", + "name": "BT_BLUFI_BLE_SMP_ENABLE", + "range": null, + "title": "Enable BLE SMP support for BluFi", + "type": "bool" + } + ], + "depends_on": "BT_GATTS_ENABLE && BT_BLUEDROID_ENABLED", + "help": "This option can be close when the app does not require blufi function.", + "id": "BT_BLE_BLUFI_ENABLE", + "name": "BT_BLE_BLUFI_ENABLE", + "range": null, + "title": "Include blufi function", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_GATTS_ENABLE && BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "Maximum GATT Server Profiles Count", + "id": "BT_GATT_MAX_SR_PROFILES", + "name": "BT_GATT_MAX_SR_PROFILES", + "range": null, + "title": "Max GATT Server Profiles", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_GATTS_ENABLE && BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "Maximum GATT Service Attributes Count", + "id": "BT_GATT_MAX_SR_ATTRIBUTES", + "name": "BT_GATT_MAX_SR_ATTRIBUTES", + "range": null, + "title": "Max GATT Service Attributes", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Manually send service change indication through API esp_ble_gatts_send_service_change_indication()", + "id": "BT_GATTS_SEND_SERVICE_CHANGE_MANUAL", + "name": "BT_GATTS_SEND_SERVICE_CHANGE_MANUAL", + "range": null, + "title": "GATTS manually send service change indication", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Let Bluedroid handle the service change indication internally", + "id": "BT_GATTS_SEND_SERVICE_CHANGE_AUTO", + "name": "BT_GATTS_SEND_SERVICE_CHANGE_AUTO", + "range": null, + "title": "GATTS automatically send service change indication", + "type": "bool" + } + ], + "depends_on": "BT_GATTS_ENABLE && BT_BLUEDROID_ENABLED", + "help": "Service change indication mode for GATT Server.", + "id": "component-config-bluetooth-bluedroid-options-bluetooth-low-energy-include-gatt-server-module-gatts--gatts-service-change-mode-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-330", + "name": "BT_GATTS_SEND_SERVICE_CHANGE_MODE", + "title": "GATTS Service Change Mode", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_GATTS_ENABLE && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_GATTS_SEND_SERVICE_CHANGE_MODE", + "name": "BT_GATTS_SEND_SERVICE_CHANGE_MODE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_GATTS_ENABLE && BT_BLUEDROID_ENABLED", + "help": "This option enables the GATT robust caching feature on the server.\nif turned on, the Client Supported Features characteristic, Database Hash characteristic,\nand Server Supported Features characteristic will be included in the GAP SERVICE.", + "id": "BT_GATTS_ROBUST_CACHING_ENABLED", + "name": "BT_GATTS_ROBUST_CACHING_ENABLED", + "range": null, + "title": "Enable Robust Caching on Server Side", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_GATTS_ENABLE && BT_BLUEDROID_ENABLED", + "help": "Enabling this option allows remote GATT clients to write device name", + "id": "BT_GATTS_DEVICE_NAME_WRITABLE", + "name": "BT_GATTS_DEVICE_NAME_WRITABLE", + "range": null, + "title": "Allow to write device name by GATT clients", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_GATTS_ENABLE && BT_BLUEDROID_ENABLED", + "help": "Enabling this option allows remote GATT clients to write appearance", + "id": "BT_GATTS_APPEARANCE_WRITABLE", + "name": "BT_GATTS_APPEARANCE_WRITABLE", + "range": null, + "title": "Allow to write appearance by GATT clients", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_GATTS_ENABLE && BT_BLUEDROID_ENABLED", + "help": "Enable LE GATT Security Levels Characteristic", + "id": "BT_GATTS_SECURITY_LEVELS_CHAR", + "name": "BT_GATTS_SECURITY_LEVELS_CHAR", + "range": null, + "title": "Enable LE GATT Security Levels Characteristic", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_GATTS_ENABLE && BT_BLUEDROID_ENABLED", + "help": "Enable the Encrypted Data Key Material characteristic in GAP service.\nThis characteristic allows advertising data to be decrypted and authenticated\nusing the key material (session key + IV) as defined in Bluetooth Core\nSpecification Version 5.4. The characteristic requires encrypted link to read.", + "id": "BT_GATTS_KEY_MATERIAL_CHAR", + "name": "BT_GATTS_KEY_MATERIAL_CHAR", + "range": null, + "title": "Enable Encrypted Data Key Material Characteristic", + "type": "bool" + } + ], + "depends_on": "BT_BLE_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This option can be disabled when the app work only on gatt client mode", + "id": "BT_GATTS_ENABLE", + "is_menuconfig": true, + "name": "BT_GATTS_ENABLE", + "range": null, + "title": "Include GATT server module(GATTS)", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_GATTC_ENABLE && BT_BLUEDROID_ENABLED", + "help": "Maximum GATTC cache characteristic count", + "id": "BT_GATTC_MAX_CACHE_CHAR", + "name": "BT_GATTC_MAX_CACHE_CHAR", + "range": null, + "title": "Max gattc cache characteristic for discover", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_GATTC_ENABLE && BT_BLUEDROID_ENABLED", + "help": "Maximum GATTC notify(indication) register number", + "id": "BT_GATTC_NOTIF_REG_MAX", + "name": "BT_GATTC_NOTIF_REG_MAX", + "range": null, + "title": "Max gattc notify(indication) register number", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_GATTC_ENABLE && BT_BLUEDROID_ENABLED", + "help": "This select can save gattc cache data to nvs flash", + "id": "BT_GATTC_CACHE_NVS_FLASH", + "name": "BT_GATTC_CACHE_NVS_FLASH", + "range": null, + "title": "Save gattc cache data to nvs flash", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_GATTC_ENABLE && BT_BLUEDROID_ENABLED", + "help": "The number of attempts to reconnect if the connection establishment failed", + "id": "BT_GATTC_CONNECT_RETRY_COUNT", + "name": "BT_GATTC_CONNECT_RETRY_COUNT", + "range": null, + "title": "The number of attempts to reconnect if the connection establishment failed", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_GATTC_ENABLE && BT_BLUEDROID_ENABLED", + "help": "Bluetooth Connection establishment maximum time, if connection time exceeds this value, the connection\nestablishment fails, ESP_GATTC_OPEN_EVT or ESP_GATTS_OPEN_EVT is triggered.", + "id": "BT_BLE_ESTAB_LINK_CONN_TOUT", + "name": "BT_BLE_ESTAB_LINK_CONN_TOUT", + "range": null, + "title": "Timeout of BLE connection establishment", + "type": "int" + } + ], + "depends_on": "BT_BLE_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This option can be close when the app work only on gatt server mode", + "id": "BT_GATTC_ENABLE", + "is_menuconfig": true, + "name": "BT_GATTC_ENABLE", + "range": null, + "title": "Include GATT client module(GATTC)", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_SMP_ENABLE && BT_BLUEDROID_ENABLED", + "help": "In order to reduce the pairing time, slave actively initiates connection parameters\nupdate during pairing.", + "id": "BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE", + "name": "BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE", + "range": null, + "title": "Slave enable connection parameters update during pairing", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_SMP_ENABLE && BT_BLUEDROID_ENABLED", + "help": "There are tracking risks associated with using a fixed or static IRK.\nIf enabled this option, Bluedroid will assign a new randomly-generated IRK\nwhen all pairing and bonding records are deleted. This would decrease the ability\nof a previously paired peer to be used to determine whether a device\nwith which it previously shared an IRK is within range.", + "id": "BT_BLE_SMP_ID_RESET_ENABLE", + "name": "BT_BLE_SMP_ID_RESET_ENABLE", + "range": null, + "title": "Reset device identity when all bonding records are deleted", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_SMP_ENABLE && BT_BLUEDROID_ENABLED", + "help": "This select can save SMP bonding keys to nvs flash", + "id": "BT_BLE_SMP_BOND_NVS_FLASH", + "name": "BT_BLE_SMP_BOND_NVS_FLASH", + "range": null, + "title": "Save SMP bonding keys to nvs flash", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_SMP_ENABLE && ((BT_CONTROLLER_ENABLED && !SOC_BLE_DEVICE_PRIVACY_SUPPORTED) || BT_CONTROLLER_DISABLED) && BT_BLUEDROID_ENABLED", + "help": "This enables controller RPA list function.\nFor ESP32, ESP32 only support network privacy mode. If this option is enabled, ESP32 will only accept\nadvertising packets from peer devices that contain private address, HW will not receive the advertising\npackets contain identity address after IRK changed. If this option is disabled, address resolution will\nbe performed in the host, so the functions that require controller to resolve address in the white list\ncannot be used. This option is disabled by default on ESP32, please enable or disable this option according\nto your own needs.\n\nFor other BLE chips, devices support network privacy mode and device privacy mode,\nusers can switch the two modes according to their own needs. So this option is enabled by default.", + "id": "BT_BLE_RPA_SUPPORTED", + "name": "BT_BLE_RPA_SUPPORTED", + "range": null, + "title": "Update RPA to Controller", + "type": "bool" + } + ], + "depends_on": "BT_BLE_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This option can be close when the app not used the ble security connect.", + "id": "BT_BLE_SMP_ENABLE", + "is_menuconfig": true, + "name": "BT_BLE_SMP_ENABLE", + "range": null, + "title": "Include BLE security module(SMP)", + "type": "menu" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables Bluetooth Low Energy", + "id": "BT_BLE_ENABLED", + "name": "BT_BLE_ENABLED", + "range": null, + "title": "Bluetooth Low Energy", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "Bluedroid memory debug", + "id": "BT_BLUEDROID_MEM_DEBUG", + "name": "BT_BLUEDROID_MEM_DEBUG", + "range": null, + "title": "Bluedroid memory debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_BLUEDROID_MEM_DEBUG && BT_BLUEDROID_ENABLED", + "help": "Enable Bluedroid memory usage statistics", + "id": "BT_BLUEDROID_MEM_STATS", + "name": "BT_BLUEDROID_MEM_STATS", + "range": null, + "title": "Bluedroid memory statistics", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLUEDROID_THREAD_DEBUG && BT_BLUEDROID_ENABLED", + "help": "Indicates how long it takes for the thread to execute an item\nbefore it is considered blocked.", + "id": "BT_BLUEDROID_THREAD_BLOCK_TIME", + "name": "BT_BLUEDROID_THREAD_BLOCK_TIME", + "range": null, + "title": "OSI thread block time (in ms)", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_THREAD_DEBUG && BT_BLUEDROID_ENABLED", + "help": "Indicates how many messages are added to the queue\nwhile the threadis executing an item before it is considered blocked.", + "id": "BT_BLUEDROID_THREAD_BLOCK_MSG", + "name": "BT_BLUEDROID_THREAD_BLOCK_MSG", + "range": null, + "title": "OSI thread block message count", + "type": "int" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "Enable Bluedroid thread debug mode.\nUsed to debug whether the thread is blocked and\ndump information about the thread\u2019s related work queue.", + "id": "BT_BLUEDROID_THREAD_DEBUG", + "name": "BT_BLUEDROID_THREAD_DEBUG", + "range": null, + "title": "Bluedroid thread debug", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED", + "id": "component-config-bluetooth-bluedroid-options-bluedroid-debug-option-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-494", + "title": "Bluedroid debug option", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This select can save the rodata code size", + "id": "BT_STACK_NO_LOG", + "name": "BT_STACK_NO_LOG", + "range": null, + "title": "Disable BT debug logs (minimize bin size)", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HCI_TRACE_LEVEL_NONE", + "name": "BT_LOG_HCI_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HCI_TRACE_LEVEL_ERROR", + "name": "BT_LOG_HCI_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HCI_TRACE_LEVEL_WARNING", + "name": "BT_LOG_HCI_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HCI_TRACE_LEVEL_API", + "name": "BT_LOG_HCI_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HCI_TRACE_LEVEL_EVENT", + "name": "BT_LOG_HCI_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HCI_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_HCI_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HCI_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_HCI_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for HCI layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-hci-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-546", + "name": "BT_LOG_HCI_TRACE_LEVEL", + "title": "HCI layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_HCI_TRACE_LEVEL", + "name": "BT_LOG_HCI_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTM_TRACE_LEVEL_NONE", + "name": "BT_LOG_BTM_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTM_TRACE_LEVEL_ERROR", + "name": "BT_LOG_BTM_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTM_TRACE_LEVEL_WARNING", + "name": "BT_LOG_BTM_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTM_TRACE_LEVEL_API", + "name": "BT_LOG_BTM_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTM_TRACE_LEVEL_EVENT", + "name": "BT_LOG_BTM_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTM_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_BTM_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTM_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_BTM_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for BTM layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-btm-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-581", + "name": "BT_LOG_BTM_TRACE_LEVEL", + "title": "BTM layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_BTM_TRACE_LEVEL", + "name": "BT_LOG_BTM_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_L2CAP_TRACE_LEVEL_NONE", + "name": "BT_LOG_L2CAP_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_L2CAP_TRACE_LEVEL_ERROR", + "name": "BT_LOG_L2CAP_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_L2CAP_TRACE_LEVEL_WARNING", + "name": "BT_LOG_L2CAP_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_L2CAP_TRACE_LEVEL_API", + "name": "BT_LOG_L2CAP_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_L2CAP_TRACE_LEVEL_EVENT", + "name": "BT_LOG_L2CAP_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_L2CAP_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_L2CAP_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_L2CAP_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_L2CAP_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for L2CAP layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-l2cap-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-616", + "name": "BT_LOG_L2CAP_TRACE_LEVEL", + "title": "L2CAP layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_L2CAP_TRACE_LEVEL", + "name": "BT_LOG_L2CAP_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_RFCOMM_TRACE_LEVEL_NONE", + "name": "BT_LOG_RFCOMM_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_RFCOMM_TRACE_LEVEL_ERROR", + "name": "BT_LOG_RFCOMM_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_RFCOMM_TRACE_LEVEL_WARNING", + "name": "BT_LOG_RFCOMM_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_RFCOMM_TRACE_LEVEL_API", + "name": "BT_LOG_RFCOMM_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_RFCOMM_TRACE_LEVEL_EVENT", + "name": "BT_LOG_RFCOMM_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_RFCOMM_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_RFCOMM_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_RFCOMM_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_RFCOMM_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for RFCOMM layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-rfcomm-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-651", + "name": "BT_LOG_RFCOMM_TRACE_LEVEL", + "title": "RFCOMM layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_RFCOMM_TRACE_LEVEL", + "name": "BT_LOG_RFCOMM_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SDP_TRACE_LEVEL_NONE", + "name": "BT_LOG_SDP_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SDP_TRACE_LEVEL_ERROR", + "name": "BT_LOG_SDP_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SDP_TRACE_LEVEL_WARNING", + "name": "BT_LOG_SDP_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SDP_TRACE_LEVEL_API", + "name": "BT_LOG_SDP_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SDP_TRACE_LEVEL_EVENT", + "name": "BT_LOG_SDP_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SDP_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_SDP_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SDP_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_SDP_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for SDP layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-sdp-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-686", + "name": "BT_LOG_SDP_TRACE_LEVEL", + "title": "SDP layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_SDP_TRACE_LEVEL", + "name": "BT_LOG_SDP_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GAP_TRACE_LEVEL_NONE", + "name": "BT_LOG_GAP_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GAP_TRACE_LEVEL_ERROR", + "name": "BT_LOG_GAP_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GAP_TRACE_LEVEL_WARNING", + "name": "BT_LOG_GAP_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GAP_TRACE_LEVEL_API", + "name": "BT_LOG_GAP_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GAP_TRACE_LEVEL_EVENT", + "name": "BT_LOG_GAP_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GAP_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_GAP_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GAP_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_GAP_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for GAP layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-gap-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-721", + "name": "BT_LOG_GAP_TRACE_LEVEL", + "title": "GAP layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_GAP_TRACE_LEVEL", + "name": "BT_LOG_GAP_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BNEP_TRACE_LEVEL_NONE", + "name": "BT_LOG_BNEP_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BNEP_TRACE_LEVEL_ERROR", + "name": "BT_LOG_BNEP_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BNEP_TRACE_LEVEL_WARNING", + "name": "BT_LOG_BNEP_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BNEP_TRACE_LEVEL_API", + "name": "BT_LOG_BNEP_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BNEP_TRACE_LEVEL_EVENT", + "name": "BT_LOG_BNEP_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BNEP_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_BNEP_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BNEP_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_BNEP_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for BNEP layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-bnep-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-756", + "name": "BT_LOG_BNEP_TRACE_LEVEL", + "title": "BNEP layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_BNEP_TRACE_LEVEL", + "name": "BT_LOG_BNEP_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_PAN_TRACE_LEVEL_NONE", + "name": "BT_LOG_PAN_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_PAN_TRACE_LEVEL_ERROR", + "name": "BT_LOG_PAN_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_PAN_TRACE_LEVEL_WARNING", + "name": "BT_LOG_PAN_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_PAN_TRACE_LEVEL_API", + "name": "BT_LOG_PAN_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_PAN_TRACE_LEVEL_EVENT", + "name": "BT_LOG_PAN_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_PAN_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_PAN_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_PAN_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_PAN_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for PAN layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-pan-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-791", + "name": "BT_LOG_PAN_TRACE_LEVEL", + "title": "PAN layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_PAN_TRACE_LEVEL", + "name": "BT_LOG_PAN_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_A2D_TRACE_LEVEL_NONE", + "name": "BT_LOG_A2D_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_A2D_TRACE_LEVEL_ERROR", + "name": "BT_LOG_A2D_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_A2D_TRACE_LEVEL_WARNING", + "name": "BT_LOG_A2D_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_A2D_TRACE_LEVEL_API", + "name": "BT_LOG_A2D_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_A2D_TRACE_LEVEL_EVENT", + "name": "BT_LOG_A2D_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_A2D_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_A2D_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_A2D_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_A2D_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for A2D layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-a2d-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-826", + "name": "BT_LOG_A2D_TRACE_LEVEL", + "title": "A2D layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_A2D_TRACE_LEVEL", + "name": "BT_LOG_A2D_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVDT_TRACE_LEVEL_NONE", + "name": "BT_LOG_AVDT_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVDT_TRACE_LEVEL_ERROR", + "name": "BT_LOG_AVDT_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVDT_TRACE_LEVEL_WARNING", + "name": "BT_LOG_AVDT_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVDT_TRACE_LEVEL_API", + "name": "BT_LOG_AVDT_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVDT_TRACE_LEVEL_EVENT", + "name": "BT_LOG_AVDT_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVDT_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_AVDT_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVDT_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_AVDT_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for AVDT layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-avdt-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-861", + "name": "BT_LOG_AVDT_TRACE_LEVEL", + "title": "AVDT layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_AVDT_TRACE_LEVEL", + "name": "BT_LOG_AVDT_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVCT_TRACE_LEVEL_NONE", + "name": "BT_LOG_AVCT_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVCT_TRACE_LEVEL_ERROR", + "name": "BT_LOG_AVCT_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVCT_TRACE_LEVEL_WARNING", + "name": "BT_LOG_AVCT_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVCT_TRACE_LEVEL_API", + "name": "BT_LOG_AVCT_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVCT_TRACE_LEVEL_EVENT", + "name": "BT_LOG_AVCT_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVCT_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_AVCT_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVCT_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_AVCT_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for AVCT layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-avct-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-896", + "name": "BT_LOG_AVCT_TRACE_LEVEL", + "title": "AVCT layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_AVCT_TRACE_LEVEL", + "name": "BT_LOG_AVCT_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVRC_TRACE_LEVEL_NONE", + "name": "BT_LOG_AVRC_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVRC_TRACE_LEVEL_ERROR", + "name": "BT_LOG_AVRC_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVRC_TRACE_LEVEL_WARNING", + "name": "BT_LOG_AVRC_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVRC_TRACE_LEVEL_API", + "name": "BT_LOG_AVRC_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVRC_TRACE_LEVEL_EVENT", + "name": "BT_LOG_AVRC_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVRC_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_AVRC_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_AVRC_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_AVRC_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for AVRC layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-avrc-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-931", + "name": "BT_LOG_AVRC_TRACE_LEVEL", + "title": "AVRC layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_AVRC_TRACE_LEVEL", + "name": "BT_LOG_AVRC_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_MCA_TRACE_LEVEL_NONE", + "name": "BT_LOG_MCA_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_MCA_TRACE_LEVEL_ERROR", + "name": "BT_LOG_MCA_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_MCA_TRACE_LEVEL_WARNING", + "name": "BT_LOG_MCA_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_MCA_TRACE_LEVEL_API", + "name": "BT_LOG_MCA_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_MCA_TRACE_LEVEL_EVENT", + "name": "BT_LOG_MCA_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_MCA_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_MCA_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_MCA_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_MCA_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for MCA layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-mca-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-966", + "name": "BT_LOG_MCA_TRACE_LEVEL", + "title": "MCA layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_MCA_TRACE_LEVEL", + "name": "BT_LOG_MCA_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HID_TRACE_LEVEL_NONE", + "name": "BT_LOG_HID_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HID_TRACE_LEVEL_ERROR", + "name": "BT_LOG_HID_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HID_TRACE_LEVEL_WARNING", + "name": "BT_LOG_HID_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HID_TRACE_LEVEL_API", + "name": "BT_LOG_HID_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HID_TRACE_LEVEL_EVENT", + "name": "BT_LOG_HID_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HID_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_HID_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_HID_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_HID_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for HID layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-hid-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-1001", + "name": "BT_LOG_HID_TRACE_LEVEL", + "title": "HID layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_HID_TRACE_LEVEL", + "name": "BT_LOG_HID_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_APPL_TRACE_LEVEL_NONE", + "name": "BT_LOG_APPL_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_APPL_TRACE_LEVEL_ERROR", + "name": "BT_LOG_APPL_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_APPL_TRACE_LEVEL_WARNING", + "name": "BT_LOG_APPL_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_APPL_TRACE_LEVEL_API", + "name": "BT_LOG_APPL_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_APPL_TRACE_LEVEL_EVENT", + "name": "BT_LOG_APPL_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_APPL_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_APPL_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_APPL_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_APPL_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for APPL layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-appl-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-1036", + "name": "BT_LOG_APPL_TRACE_LEVEL", + "title": "APPL layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_APPL_TRACE_LEVEL", + "name": "BT_LOG_APPL_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GATT_TRACE_LEVEL_NONE", + "name": "BT_LOG_GATT_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GATT_TRACE_LEVEL_ERROR", + "name": "BT_LOG_GATT_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GATT_TRACE_LEVEL_WARNING", + "name": "BT_LOG_GATT_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GATT_TRACE_LEVEL_API", + "name": "BT_LOG_GATT_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GATT_TRACE_LEVEL_EVENT", + "name": "BT_LOG_GATT_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GATT_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_GATT_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_GATT_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_GATT_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for GATT layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-gatt-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-1071", + "name": "BT_LOG_GATT_TRACE_LEVEL", + "title": "GATT layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_GATT_TRACE_LEVEL", + "name": "BT_LOG_GATT_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SMP_TRACE_LEVEL_NONE", + "name": "BT_LOG_SMP_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SMP_TRACE_LEVEL_ERROR", + "name": "BT_LOG_SMP_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SMP_TRACE_LEVEL_WARNING", + "name": "BT_LOG_SMP_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SMP_TRACE_LEVEL_API", + "name": "BT_LOG_SMP_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SMP_TRACE_LEVEL_EVENT", + "name": "BT_LOG_SMP_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SMP_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_SMP_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_SMP_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_SMP_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for SMP layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-smp-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-1106", + "name": "BT_LOG_SMP_TRACE_LEVEL", + "title": "SMP layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_SMP_TRACE_LEVEL", + "name": "BT_LOG_SMP_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTIF_TRACE_LEVEL_NONE", + "name": "BT_LOG_BTIF_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTIF_TRACE_LEVEL_ERROR", + "name": "BT_LOG_BTIF_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTIF_TRACE_LEVEL_WARNING", + "name": "BT_LOG_BTIF_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTIF_TRACE_LEVEL_API", + "name": "BT_LOG_BTIF_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTIF_TRACE_LEVEL_EVENT", + "name": "BT_LOG_BTIF_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTIF_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_BTIF_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTIF_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_BTIF_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for BTIF layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-btif-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-1141", + "name": "BT_LOG_BTIF_TRACE_LEVEL", + "title": "BTIF layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_BTIF_TRACE_LEVEL", + "name": "BT_LOG_BTIF_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTC_TRACE_LEVEL_NONE", + "name": "BT_LOG_BTC_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTC_TRACE_LEVEL_ERROR", + "name": "BT_LOG_BTC_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTC_TRACE_LEVEL_WARNING", + "name": "BT_LOG_BTC_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTC_TRACE_LEVEL_API", + "name": "BT_LOG_BTC_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTC_TRACE_LEVEL_EVENT", + "name": "BT_LOG_BTC_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTC_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_BTC_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BTC_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_BTC_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for BTC layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-btc-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-1176", + "name": "BT_LOG_BTC_TRACE_LEVEL", + "title": "BTC layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_BTC_TRACE_LEVEL", + "name": "BT_LOG_BTC_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_OSI_TRACE_LEVEL_NONE", + "name": "BT_LOG_OSI_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_OSI_TRACE_LEVEL_ERROR", + "name": "BT_LOG_OSI_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_OSI_TRACE_LEVEL_WARNING", + "name": "BT_LOG_OSI_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_OSI_TRACE_LEVEL_API", + "name": "BT_LOG_OSI_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_OSI_TRACE_LEVEL_EVENT", + "name": "BT_LOG_OSI_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_OSI_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_OSI_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_OSI_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_OSI_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for OSI layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-osi-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-1211", + "name": "BT_LOG_OSI_TRACE_LEVEL", + "title": "OSI layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_OSI_TRACE_LEVEL", + "name": "BT_LOG_OSI_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BLUFI_TRACE_LEVEL_NONE", + "name": "BT_LOG_BLUFI_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BLUFI_TRACE_LEVEL_ERROR", + "name": "BT_LOG_BLUFI_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BLUFI_TRACE_LEVEL_WARNING", + "name": "BT_LOG_BLUFI_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BLUFI_TRACE_LEVEL_API", + "name": "BT_LOG_BLUFI_TRACE_LEVEL_API", + "range": null, + "title": "API", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BLUFI_TRACE_LEVEL_EVENT", + "name": "BT_LOG_BLUFI_TRACE_LEVEL_EVENT", + "range": null, + "title": "EVENT", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BLUFI_TRACE_LEVEL_DEBUG", + "name": "BT_LOG_BLUFI_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LOG_BLUFI_TRACE_LEVEL_VERBOSE", + "name": "BT_LOG_BLUFI_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": "Define BT trace level for BLUFI layer", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-blufi-layer-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-1246", + "name": "BT_LOG_BLUFI_TRACE_LEVEL", + "title": "BLUFI layer", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_LOG_BLUFI_TRACE_LEVEL", + "name": "BT_LOG_BLUFI_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED && !BT_STACK_NO_LOG && BT_BLUEDROID_ENABLED", + "id": "component-config-bluetooth-bluedroid-options-bt-debug-log-level-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-543", + "title": "BT DEBUG LOG LEVEL", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "Maximum BT/BLE connection count. The ESP32-C3/S3 chip supports a maximum of 10 instances,\nincluding ADV, SCAN and connections. The ESP32-C3/S3 chip can connect up to 9 devices if\nADV or SCAN uses only one. If ADV and SCAN are both used, The ESP32-C3/S3 chip is connected\nto a maximum of 8 devices. Because Bluetooth cannot reclaim used instances once ADV or SCAN\nis used.", + "id": "BT_ACL_CONNECTIONS", + "name": "BT_ACL_CONNECTIONS", + "range": null, + "title": "BT/BLE MAX ACL CONNECTIONS", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_ENABLED && BT_BLUEDROID_ENABLED", + "help": "Enable this option if there are multiple connections", + "id": "BT_MULTI_CONNECTION_ENBALE", + "name": "BT_MULTI_CONNECTION_ENBALE", + "range": null, + "title": "Enable BLE multi-connections", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This select can save the internal RAM if there have the PSRAM", + "id": "BT_ALLOCATION_FROM_SPIRAM_FIRST", + "name": "BT_ALLOCATION_FROM_SPIRAM_FIRST", + "range": null, + "title": "BT/BLE will first malloc the memory from the PSRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This select can make the allocation of memory will become more flexible", + "id": "BT_BLE_DYNAMIC_ENV_MEMORY", + "name": "BT_BLE_DYNAMIC_ENV_MEMORY", + "range": null, + "title": "Use dynamic memory allocation in BT/BLE stack", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": null, + "id": "BT_SMP_ENABLE", + "name": "BT_SMP_ENABLE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_SMP_ENABLE && BT_BLUEDROID_ENABLED", + "help": "The number of security records for peer devices.", + "id": "BT_SMP_MAX_BONDS", + "name": "BT_SMP_MAX_BONDS", + "range": null, + "title": "BT/BLE maximum bond device count", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLE_ENABLED && BT_BLUEDROID_ENABLED", + "help": "Originally, when doing BLE active scan, Bluedroid will not report adv to application layer\nuntil receive scan response. This option is used to disable the behavior. When enable this option,\nBluedroid will report adv data or scan response to application layer immediately.\n\n# Memory reserved at start of DRAM for Bluetooth stack", + "id": "BT_BLE_ACT_SCAN_REP_ADV_SCAN", + "name": "BT_BLE_ACT_SCAN_REP_ADV_SCAN", + "range": null, + "title": "Report adv data and scan response individually when BLE active scan", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "Bluetooth Device name length shall be no larger than 248 octets, If the broadcast data cannot contain\nthe complete device name, then only the shortname will be displayed, the rest parts that can't fit in\nwill be truncated.", + "id": "BT_MAX_DEVICE_NAME_LEN", + "name": "BT_MAX_DEVICE_NAME_LEN", + "range": null, + "title": "length of bluetooth device name", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This set RPA timeout of Controller and Host.\nDefault is 900 s (15 minutes). Range is 1 s to 1 hour (3600 s).", + "id": "BT_BLE_RPA_TIMEOUT", + "name": "BT_BLE_RPA_TIMEOUT", + "range": null, + "title": "Timeout of resolvable private address", + "type": "int" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_50_EXTEND_ADV_EN && BT_BLUEDROID_ENABLED", + "help": "This enables BLE periodic advertising", + "id": "BT_BLE_50_PERIODIC_ADV_EN", + "name": "BT_BLE_50_PERIODIC_ADV_EN", + "range": null, + "title": "Enable BLE periodic advertising", + "type": "bool" + } + ], + "depends_on": "BT_BLE_50_FEATURES_SUPPORTED && BT_BLUEDROID_ENABLED", + "help": "This enables BLE extend advertising", + "id": "BT_BLE_50_EXTEND_ADV_EN", + "name": "BT_BLE_50_EXTEND_ADV_EN", + "range": null, + "title": "Enable BLE extend advertising", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_50_EXTEND_SCAN_EN && BT_BLUEDROID_ENABLED", + "help": "This enables BLE periodic advertising sync", + "id": "BT_BLE_50_EXTEND_SYNC_EN", + "name": "BT_BLE_50_EXTEND_SYNC_EN", + "range": null, + "title": "Enable BLE periodic advertising sync", + "type": "bool" + } + ], + "depends_on": "BT_BLE_50_FEATURES_SUPPORTED && BT_BLUEDROID_ENABLED", + "help": "This enables BLE extend scan", + "id": "BT_BLE_50_EXTEND_SCAN_EN", + "name": "BT_BLE_50_EXTEND_SCAN_EN", + "range": null, + "title": "Enable BLE extend scan", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_50_FEATURES_SUPPORTED && BT_BLUEDROID_ENABLED", + "help": "This enables BLE 5.0 direct test mode", + "id": "BT_BLE_50_DTM_TEST_EN", + "name": "BT_BLE_50_DTM_TEST_EN", + "range": null, + "title": "Enable BLE 5.0 DTM test", + "type": "bool" + } + ], + "depends_on": "BT_BLE_ENABLED && ((BT_CONTROLLER_ENABLED && SOC_BLE_50_SUPPORTED) || BT_CONTROLLER_DISABLED) && BT_BLUEDROID_ENABLED", + "help": "Enabling this option activates BLE 5.0 features.\nThis option is universally supported in chips that support BLE, except for ESP32.\nBLE 4.2 and BLE 5.0 cannot be used simultaneously.", + "id": "BT_BLE_50_FEATURES_SUPPORTED", + "is_menuconfig": true, + "name": "BT_BLE_50_FEATURES_SUPPORTED", + "range": null, + "title": "Enable BLE 5.0 and above features(please disable BLE 4.2 if enable BLE 5.0)", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLE_50_PERIODIC_ADV_EN && ((BT_CONTROLLER_ENABLED && SOC_ESP_NIMBLE_CONTROLLER) || BT_CONTROLLER_DISABLED) && BT_BLUEDROID_ENABLED", + "help": "This enables BLE periodic advertising sync transfer feature", + "id": "BT_BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER", + "name": "BT_BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER", + "range": null, + "title": "Enable BLE periodic advertising sync transfer feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLE_50_PERIODIC_ADV_EN && ((BT_CONTROLLER_ENABLED && SOC_ESP_NIMBLE_CONTROLLER) || BT_CONTROLLER_DISABLED) && BT_BLUEDROID_ENABLED", + "help": "Enable the periodic advertising enhancements", + "id": "BT_BLE_FEAT_PERIODIC_ADV_ENH", + "name": "BT_BLE_FEAT_PERIODIC_ADV_ENH", + "range": null, + "title": "Enable periodic adv enhancements(adi support)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLE_50_EXTEND_SYNC_EN && ((BT_CONTROLLER_ENABLED && SOC_ESP_NIMBLE_CONTROLLER) || BT_CONTROLLER_DISABLED) && BT_BLUEDROID_ENABLED", + "help": "Enable the create sync enhancements", + "id": "BT_BLE_FEAT_CREATE_SYNC_ENH", + "name": "BT_BLE_FEAT_CREATE_SYNC_ENH", + "range": null, + "title": "Enable create sync enhancements(reporting disable and duplicate filtering enable support)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_50_EXTEND_SYNC_EN && BT_BLUEDROID_ENABLED", + "help": "Set the maximum retry count when periodic advertising create sync fails\nwith error code 0x3E (Connection Failed to be Established).\nSet to 0 to disable retry. Default is 3.", + "id": "BT_BLE_FEAT_CREATE_SYNC_RETRY_MAX", + "name": "BT_BLE_FEAT_CREATE_SYNC_RETRY_MAX", + "range": null, + "title": "Maximum retry count for periodic advertising create sync", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_FEAT_ISO_EN && BT_BLUEDROID_ENABLED", + "help": "Enable iso 6.0 feature", + "id": "BT_BLE_FEAT_ISO_60_EN", + "name": "BT_BLE_FEAT_ISO_60_EN", + "range": null, + "title": "Enable ISO v6.0 feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_FEAT_ISO_EN && BT_BLUEDROID_ENABLED", + "help": "Enable BLE 5.2 BIG brocaster", + "id": "BT_BLE_FEAT_ISO_BIG_BROCASTER", + "name": "BT_BLE_FEAT_ISO_BIG_BROCASTER", + "range": null, + "title": "Enable BLE iso BIG brocaster", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_FEAT_ISO_EN && BT_BLUEDROID_ENABLED", + "help": "Enable BLE 5.2 BIG syncer", + "id": "BT_BLE_FEAT_ISO_BIG_SYNCER", + "name": "BT_BLE_FEAT_ISO_BIG_SYNCER", + "range": null, + "title": "Enable BLE iso BIG syncer", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_FEAT_ISO_EN && (BT_BLE_FEAT_ISO_BIG_BROCASTER || BT_BLE_FEAT_ISO_BIG_SYNCER) && BT_BLUEDROID_ENABLED", + "help": "Enable BLE 5.2 CIG peripheral", + "id": "BT_BLE_ISO_BIS_MAX_COUNT", + "name": "BT_BLE_ISO_BIS_MAX_COUNT", + "range": null, + "title": "Maximum bis count", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_FEAT_ISO_EN && BT_BLUEDROID_ENABLED", + "help": "Enable BLE 5.2 CIG central", + "id": "BT_BLE_FEAT_ISO_CIG_CENTRAL", + "name": "BT_BLE_FEAT_ISO_CIG_CENTRAL", + "range": null, + "title": "Enable BLE iso CIG central", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_FEAT_ISO_EN && BT_BLUEDROID_ENABLED", + "help": "Enable BLE 5.2 CIG peripheral", + "id": "BT_BLE_FEAT_ISO_CIG_PERIPHERAL", + "name": "BT_BLE_FEAT_ISO_CIG_PERIPHERAL", + "range": null, + "title": "Enable BLE iso CIG peripheral", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_FEAT_ISO_EN && (BT_BLE_FEAT_ISO_CIG_CENTRAL || BT_BLE_FEAT_ISO_CIG_PERIPHERAL) && BT_BLUEDROID_ENABLED", + "help": "Enable BLE 5.2 CIG peripheral", + "id": "BT_BLE_ISO_CIS_MAX_COUNT", + "name": "BT_BLE_ISO_CIS_MAX_COUNT", + "range": null, + "title": "Maximum cis count", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Enable ISO standard flow control", + "id": "BT_BLE_ISO_STD_FLOW_CTRL", + "name": "BT_BLE_ISO_STD_FLOW_CTRL", + "range": null, + "title": "ISO standard flow control", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Enable ISO non-standard flow control", + "id": "BT_BLE_ISO_NON_STD_FLOW_CTRL", + "name": "BT_BLE_ISO_NON_STD_FLOW_CTRL", + "range": null, + "title": "ISO non-standard flow control", + "type": "bool" + } + ], + "depends_on": "BT_BLE_FEAT_ISO_EN && BT_BLUEDROID_ENABLED", + "help": "Select ISO flow control type", + "id": "component-config-bluetooth-bluedroid-options-enable-ble-5-2-iso-feature-select-iso-flow-control-type-home-claw-.platformio-packages-framework-espidf-components-bt-host-bluedroid-Kconfig.in-1496", + "name": "BT_BLE_ISO_FLOW_CONTROL", + "title": "Select ISO flow control type", + "type": "choice" + } + ], + "depends_on": "BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_BLE_AUDIO_SUPPORTED) || BT_CONTROLLER_DISABLED) && BT_BLUEDROID_ENABLED", + "help": "Enable BLE 5.2 iso", + "id": "BT_BLE_FEAT_ISO_EN", + "is_menuconfig": true, + "name": "BT_BLE_FEAT_ISO_EN", + "range": null, + "title": "Enable BLE 5.2 iso feature", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_FEAT_CTE_EN && BT_BLUEDROID_ENABLED", + "help": "Transmission of CTE in periodic advertising", + "id": "BT_BLE_FEAT_CTE_CONNECTIONLESS_EN", + "name": "BT_BLE_FEAT_CTE_CONNECTIONLESS_EN", + "range": null, + "title": "Enable BLE CTE connectionless feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_FEAT_CTE_EN && BT_BLUEDROID_ENABLED", + "help": "Transmission of CTE by ACL connection", + "id": "BT_BLE_FEAT_CTE_CONNECTION_EN", + "name": "BT_BLE_FEAT_CTE_CONNECTION_EN", + "range": null, + "title": "Enable BLE CTE connection feature", + "type": "bool" + } + ], + "depends_on": "BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_BLE_CTE_SUPPORTED) || BT_CONTROLLER_DISABLED) && BT_BLUEDROID_ENABLED", + "help": "Enable BLE 5.1 CTE", + "id": "BT_BLE_FEAT_CTE_EN", + "is_menuconfig": true, + "name": "BT_BLE_FEAT_CTE_EN", + "range": null, + "title": "Enable BLE CTE feature", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_BLE_POWER_CONTROL_SUPPORTED) || BT_CONTROLLER_DISABLED) && BT_BLUEDROID_ENABLED", + "help": "Enable BLE power control feature", + "id": "BT_BLE_FEAT_POWER_CONTROL", + "name": "BT_BLE_FEAT_POWER_CONTROL", + "range": null, + "title": "Enable BLE power control feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_BLE_SUBRATE_SUPPORTED) || BT_CONTROLLER_DISABLED) && BT_BLUEDROID_ENABLED", + "help": "Enable BLE connection subrating feature", + "id": "BT_BLE_FEAT_CONN_SUBRATING", + "name": "BT_BLE_FEAT_CONN_SUBRATING", + "range": null, + "title": "Enable BLE connection subrating feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_BLE_PERIODIC_ADV_WITH_RESPONSE) || BT_CONTROLLER_DISABLED) && BT_BLUEDROID_ENABLED", + "help": "Enable BLE Periodic Advertisement with Response(PAwR) feature", + "id": "BT_BLE_FEAT_PAWR_EN", + "name": "BT_BLE_FEAT_PAWR_EN", + "range": null, + "title": "Enable Periodic Advertisement with Response(PAwR)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_BLE_ADV_CODING_SELECT_SUPPORTED) || BT_CONTROLLER_DISABLED) && BT_BLUEDROID_ENABLED", + "help": "Enable Advertising Coding Selection", + "id": "BT_BLE_FEAT_ADV_CODING_SELECTION", + "name": "BT_BLE_FEAT_ADV_CODING_SELECTION", + "range": null, + "title": "Enable Advertising Coding Selection", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_BLE_CHANNEL_SOUNDING_SUPPORTED) || BT_CONTROLLER_DISABLED) && BT_BLUEDROID_ENABLED", + "help": "Enable BLE channel sounding", + "id": "BT_BLE_FEAT_CHANNEL_SOUNDING", + "name": "BT_BLE_FEAT_CHANNEL_SOUNDING", + "range": null, + "title": "Enable BLE channel sounding", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_42_FEATURES_SUPPORTED && BT_BLUEDROID_ENABLED", + "help": "This enables BLE 4.2 direct test mode", + "id": "BT_BLE_42_DTM_TEST_EN", + "name": "BT_BLE_42_DTM_TEST_EN", + "range": null, + "title": "Enable BLE 4.2 DTM test", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_42_FEATURES_SUPPORTED && BT_BLUEDROID_ENABLED", + "help": "This enables BLE v4.2 advertising", + "id": "BT_BLE_42_ADV_EN", + "name": "BT_BLE_42_ADV_EN", + "range": null, + "title": "Enable BLE 4.2 advertising", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_42_FEATURES_SUPPORTED && BT_BLUEDROID_ENABLED", + "help": "This enables BLE v4.2 scan", + "id": "BT_BLE_42_SCAN_EN", + "name": "BT_BLE_42_SCAN_EN", + "range": null, + "title": "Enable BLE 4.2 scan", + "type": "bool" + } + ], + "depends_on": "BT_BLE_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables BLE 4.2 features.\nThis option is universally supported by all ESP chips with BLE capabilities.\nBLE 4.2 and BLE 5.0 cannot be used simultaneously.", + "id": "BT_BLE_42_FEATURES_SUPPORTED", + "is_menuconfig": true, + "name": "BT_BLE_42_FEATURES_SUPPORTED", + "range": null, + "title": "Enable BLE 4.2 features(please disable BLE 5.0 if enable BLE 4.2)", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_BLE_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables BLE vendor HCI command and event", + "id": "BT_BLE_VENDOR_HCI_EN", + "name": "BT_BLE_VENDOR_HCI_EN", + "range": null, + "title": "Enable BLE Vendor HCI command and event", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enable BLE high duty advertising interval feature", + "id": "BT_BLE_HIGH_DUTY_ADV_INTERVAL", + "name": "BT_BLE_HIGH_DUTY_ADV_INTERVAL", + "range": null, + "title": "Enable BLE high duty advertising interval feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED && BT_BLUEDROID_ENABLED", + "help": "This enables abort when memory allocation fails", + "id": "BT_ABORT_WHEN_ALLOCATION_FAILS", + "name": "BT_ABORT_WHEN_ALLOCATION_FAILS", + "range": null, + "title": "Abort when memory allocation fails in BT/BLE stack", + "type": "bool" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED", + "id": "component-config-bluetooth-bluedroid-options-home-claw-.platformio-packages-framework-espidf-components-bt-Kconfig-57", + "title": "Bluedroid Options", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL", + "name": "BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL", + "range": null, + "title": "Internal memory", + "type": "bool" + }, + { + "children": [], + "depends_on": "(SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC) && ", + "help": null, + "id": "BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL", + "name": "BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL", + "range": null, + "title": "External SPIRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT", + "name": "BT_NIMBLE_MEM_ALLOC_MODE_DEFAULT", + "range": null, + "title": "Default alloc mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY && ", + "help": "Allows use of IRAM memory region as 8-bit accessible region.\n\nEvery unaligned (8bit or 16bit) access will result in an\nexception and incur penalty of certain clock cycles per\nunaligned read/write.", + "id": "BT_NIMBLE_MEM_ALLOC_MODE_IRAM_8BIT", + "name": "BT_NIMBLE_MEM_ALLOC_MODE_IRAM_8BIT", + "range": null, + "title": "Internal IRAM", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "Allocation strategy for NimBLE host stack. Provides ability to\nallocate all required dynamic allocations from:\n\n- Internal DRAM memory only\n- External SPIRAM memory only\n- Either internal or external memory based on default malloc()\n behavior in ESP-IDF\n- Internal IRAM memory wherever applicable else internal DRAM", + "id": "component-config-bluetooth-nimble-options-general-memory-allocation-strategy-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-2", + "name": "BT_NIMBLE_MEM_ALLOC_MODE", + "title": "Memory allocation strategy", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_PINNED_TO_CORE", + "name": "BT_NIMBLE_PINNED_TO_CORE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_NIMBLE_PINNED_TO_CORE_0", + "name": "BT_NIMBLE_PINNED_TO_CORE_0", + "range": null, + "title": "Core 0 (PRO CPU)", + "type": "bool" + }, + { + "children": [], + "depends_on": "!FREERTOS_UNICORE && ", + "help": null, + "id": "BT_NIMBLE_PINNED_TO_CORE_1", + "name": "BT_NIMBLE_PINNED_TO_CORE_1", + "range": null, + "title": "Core 1 (APP CPU)", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED && !FREERTOS_UNICORE && BT_NIMBLE_ENABLED", + "help": "The CPU core on which NimBLE host will run. You can choose\nCore 0 or Core 1. Cannot specify no-affinity", + "id": "component-config-bluetooth-nimble-options-general-the-cpu-core-on-which-nimble-host-will-run-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-44", + "name": "BT_NIMBLE_PINNED_TO_CORE_CHOICE", + "title": "The CPU core on which NimBLE host will run", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "This configures stack size of NimBLE host task", + "id": "BT_NIMBLE_HOST_TASK_STACK_SIZE", + "name": "BT_NIMBLE_HOST_TASK_STACK_SIZE", + "range": null, + "title": "NimBLE Host task stack size", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "This option is used to distinguish whether a previous version\nof VHCI is being used", + "id": "BT_NIMBLE_LEGACY_VHCI_ENABLE", + "name": "BT_NIMBLE_LEGACY_VHCI_ENABLE", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-general-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1", + "title": "General", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enables BLE Central role", + "id": "BT_NIMBLE_ROLE_CENTRAL", + "name": "BT_NIMBLE_ROLE_CENTRAL", + "range": null, + "title": "Enable BLE Central role", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable BLE Peripheral role", + "id": "BT_NIMBLE_ROLE_PERIPHERAL", + "name": "BT_NIMBLE_ROLE_PERIPHERAL", + "range": null, + "title": "Enable BLE Peripheral role", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enables BLE broadcaster role", + "id": "BT_NIMBLE_ROLE_BROADCASTER", + "name": "BT_NIMBLE_ROLE_BROADCASTER", + "range": null, + "title": "Enable BLE Broadcaster role", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enables BLE Observer role", + "id": "BT_NIMBLE_ROLE_OBSERVER", + "name": "BT_NIMBLE_ROLE_OBSERVER", + "range": null, + "title": "Enable BLE Observer role", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ROLE_CENTRAL && BT_NIMBLE_ENABLED", + "help": "Enables support for GATT Client", + "id": "BT_NIMBLE_GATT_CLIENT", + "name": "BT_NIMBLE_GATT_CLIENT", + "range": null, + "title": "Enable BLE GATT Client support", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ROLE_PERIPHERAL && BT_NIMBLE_ENABLED", + "help": "Enables support for GATT Server", + "id": "BT_NIMBLE_GATT_SERVER", + "name": "BT_NIMBLE_GATT_SERVER", + "range": null, + "title": "Enable BLE GATT Server support", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-roles-and-profiles-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-77", + "title": "Roles and Profiles", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_ENABLED", + "help": "Enable security manager legacy pairing", + "id": "BT_NIMBLE_SM_LEGACY", + "name": "BT_NIMBLE_SM_LEGACY", + "range": null, + "title": "Security manager legacy pairing", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_SM_SC && BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_ENABLED", + "help": "If this option is enabled, SM uses predefined DH key pair as described\nin Core Specification, Vol. 3, Part H, 2.3.5.6.1. This allows to\ndecrypt air traffic easily and thus should only be used for debugging.", + "id": "BT_NIMBLE_SM_SC_DEBUG_KEYS", + "name": "BT_NIMBLE_SM_SC_DEBUG_KEYS", + "range": null, + "title": "Use predefined public-private key pair", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_ENABLED", + "help": "Enable security manager secure connections", + "id": "BT_NIMBLE_SM_SC", + "name": "BT_NIMBLE_SM_SC", + "range": null, + "title": "Security manager secure connections (4.2)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_ENABLED", + "help": "Enable encryption connection", + "id": "BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION", + "name": "BT_NIMBLE_LL_CFG_FEAT_LE_ENCRYPTION", + "range": null, + "title": "Enable LE encryption", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_ENABLED", + "help": "LE Security Mode 1 Levels:\n1(0). No Security\n2(1). Unauthenticated pairing with encryption\n3(2). Authenticated pairing with encryption\n4(3). Authenticated LE Secure Connections pairing with encryption using a\n128-bit strength encryption key.", + "id": "BT_NIMBLE_SM_LVL", + "name": "BT_NIMBLE_SM_LVL", + "range": null, + "title": "Security level", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_ENABLED", + "help": "Enable Secure Connections Only Mode", + "id": "BT_NIMBLE_SM_SC_ONLY", + "name": "BT_NIMBLE_SM_SC_ONLY", + "range": null, + "title": "Enable Secure Connections Only Mode", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_ENABLED", + "help": "There are tracking risks associated with using a fixed or static IRK.\nIf enabled this option, NimBLE will assign a new randomly-generated IRK\nwhen all pairing and bonding records are deleted. This would decrease the ability\nof a previously paired peer to be used to determine whether a device\nwith which it previously shared an IRK is within range.", + "id": "BT_NIMBLE_SMP_ID_RESET", + "name": "BT_NIMBLE_SMP_ID_RESET", + "range": null, + "title": "Reset device identity when all bonding records are deleted", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_ENABLED", + "help": "Enable this flag to make bonding persistent across device reboots", + "id": "BT_NIMBLE_NVS_PERSIST", + "name": "BT_NIMBLE_NVS_PERSIST", + "range": null, + "title": "Persist the BLE Bonding keys in NVS", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_ENABLED", + "help": "Defines maximum number of bonds to save for peer security and our security", + "id": "BT_NIMBLE_MAX_BONDS", + "name": "BT_NIMBLE_MAX_BONDS", + "range": null, + "title": "Maximum number of bonds to save across reboots", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_ENABLED", + "help": "Use this option to let stack internally handle the request for repeat pairing.\nEnabling this option will delete the pairing of the device and stack will NOT post any event\nto application. If this option is disabled, application will get BLE_GAP_EVENT_REPEAT_PAIRING\nevent.", + "id": "BT_NIMBLE_HANDLE_REPEAT_PAIRING_DELETION", + "name": "BT_NIMBLE_HANDLE_REPEAT_PAIRING_DELETION", + "range": null, + "title": "Enable stack handling of repeat pairing", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable BLE sm feature", + "id": "BT_NIMBLE_SECURITY_ENABLE", + "is_menuconfig": true, + "name": "BT_NIMBLE_SECURITY_ENABLE", + "range": null, + "title": "Enable BLE SM feature", + "type": "menu" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-security-smp--home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-122", + "title": "Security (SMP)", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Time interval between RPA address change.", + "id": "BT_NIMBLE_RPA_TIMEOUT", + "name": "BT_NIMBLE_RPA_TIMEOUT", + "range": null, + "title": "RPA timeout in seconds", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "BLE Whitelist size", + "id": "BT_NIMBLE_WHITELIST_SIZE", + "name": "BT_NIMBLE_WHITELIST_SIZE", + "range": null, + "title": "BLE white list size", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLE_CONN_REATTEMPT && BT_NIMBLE_ENABLED", + "help": "Defines maximum number of connection reattempts.", + "id": "BT_NIMBLE_MAX_CONN_REATTEMPT", + "name": "BT_NIMBLE_MAX_CONN_REATTEMPT", + "range": null, + "title": "Maximum number connection reattempts", + "type": "int" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "Enable to make the NimBLE host to reattempt GAP connection attempt in case of\nconnection establishment failure due to reason 0x3E.", + "id": "BT_NIMBLE_ENABLE_CONN_REATTEMPT", + "name": "BT_NIMBLE_ENABLE_CONN_REATTEMPT", + "range": null, + "title": "Enable connection reattempts on connection establishment error", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_HS_PVCY && IDF_TARGET_ESP32 && BT_NIMBLE_ENABLED", + "help": "Use this option to do host based Random Private Address resolution.\nThis option is valid only for ESP32", + "id": "BT_NIMBLE_HOST_BASED_PRIVACY", + "name": "BT_NIMBLE_HOST_BASED_PRIVACY", + "range": null, + "title": "Enable host based privacy for random address.", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable this option to include host-side APIs related to BLE privacy.\nDisable it if your application does not require privacy features (such as\nRPA generation, resolving, or privacy-based pairing). Disabling this option\nexcludes privacy-related code from the host to reduce memory usage.", + "id": "BT_NIMBLE_HS_PVCY", + "name": "BT_NIMBLE_HS_PVCY", + "range": null, + "title": "Enable privacy related APIs", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && !IDF_TARGET_ESP32C2 && BT_NIMBLE_ENABLED", + "help": "This enables support for user to initiate a new connection with scan in progress", + "id": "BT_NIMBLE_HOST_ALLOW_CONNECT_WITH_SCAN", + "name": "BT_NIMBLE_HOST_ALLOW_CONNECT_WITH_SCAN", + "range": null, + "title": "Allow Connections with scanning in progress", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "When scanning and scan duplicate is not enabled, if there are a lot of adv packets around\nor application layer handling adv packets is slow, it will cause the controller memory\nto run out. if enabled, adv packets will be lost when host queue is congested.", + "id": "BT_NIMBLE_HOST_QUEUE_CONG_CHECK", + "name": "BT_NIMBLE_HOST_QUEUE_CONG_CHECK", + "range": null, + "title": "BLE queue congestion check", + "type": "bool" + }, + { + "children": [], + "depends_on": "(BT_NIMBLE_ROLE_CENTRAL || BT_NIMBLE_ROLE_PERIPHERAL) && BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Defines maximum number of concurrent BLE connections. For ESP32, user\nis expected to configure BTDM_CTRL_BLE_MAX_CONN from controller menu\nalong with this option. Similarly for ESP32-C3 or ESP32-S3, user is expected to\nconfigure BT_CTRL_BLE_MAX_ACT from controller menu.\nFor ESP32C2, ESP32C6 and ESP32H2, each connection will take about 1k DRAM.", + "id": "BT_NIMBLE_MAX_CONNECTIONS", + "name": "BT_NIMBLE_MAX_CONNECTIONS", + "range": null, + "title": "Maximum number of concurrent connections", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Defines maximum number of CCC descriptors to save", + "id": "BT_NIMBLE_MAX_CCCDS", + "name": "BT_NIMBLE_MAX_CCCDS", + "range": null, + "title": "Maximum number of CCC descriptors to save across reboots", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable this option to choose mbedTLS instead of TinyCrypt for crypto\ncomputations.", + "id": "BT_NIMBLE_CRYPTO_STACK_MBEDTLS", + "name": "BT_NIMBLE_CRYPTO_STACK_MBEDTLS", + "range": null, + "title": "Override TinyCrypt with mbedTLS for crypto computations", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "BLE Host stop procedure timeout in milliseconds.", + "id": "BT_NIMBLE_HS_STOP_TIMEOUT_MS", + "name": "BT_NIMBLE_HS_STOP_TIMEOUT_MS", + "range": null, + "title": "BLE host stop timeout in msec", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "Set this option to use Esp Timer which has higher priority timer instead of FreeRTOS timer", + "id": "BT_NIMBLE_USE_ESP_TIMER", + "name": "BT_NIMBLE_USE_ESP_TIMER", + "range": null, + "title": "Enable Esp Timer for Nimble", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_HS_FLOW_CTRL && BT_NIMBLE_ENABLED", + "help": "Host flow control interval in msecs", + "id": "BT_NIMBLE_HS_FLOW_CTRL_ITVL", + "name": "BT_NIMBLE_HS_FLOW_CTRL_ITVL", + "range": null, + "title": "Host Flow control interval", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_HS_FLOW_CTRL && BT_NIMBLE_ENABLED", + "help": "Host flow control threshold, if the number of free buffers are at or\nbelow this threshold, send an immediate number-of-completed-packets\nevent", + "id": "BT_NIMBLE_HS_FLOW_CTRL_THRESH", + "name": "BT_NIMBLE_HS_FLOW_CTRL_THRESH", + "range": null, + "title": "Host Flow control threshold", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_HS_FLOW_CTRL && BT_NIMBLE_ENABLED", + "help": "Enable this option to send number-of-completed-packets event to\ncontroller after disconnection", + "id": "BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT", + "name": "BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT", + "range": null, + "title": "Host Flow control on disconnect", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED && !SOC_ESP_NIMBLE_CONTROLLER && BT_NIMBLE_ENABLED", + "help": "Enable Host Flow control", + "id": "BT_NIMBLE_HS_FLOW_CTRL", + "name": "BT_NIMBLE_HS_FLOW_CTRL", + "range": null, + "title": "Enable Host Flow control", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-gap-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-208", + "title": "GAP", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "(BT_NIMBLE_GATT_CLIENT || BT_NIMBLE_GATT_SERVER) && BT_NIMBLE_ENABLED", + "help": "This is the default value of ATT MTU indicated by the device during an ATT MTU exchange.\nThis value can be changed using API ble_att_set_preferred_mtu()", + "id": "BT_NIMBLE_ATT_PREFERRED_MTU", + "name": "BT_NIMBLE_ATT_PREFERRED_MTU", + "range": null, + "title": "Preferred MTU size in octets", + "type": "int" + }, + { + "children": [], + "depends_on": "(BT_NIMBLE_GATT_CLIENT || BT_NIMBLE_GATT_SERVER) && BT_NIMBLE_ENABLED", + "help": "This is the default value of ATT Maximum prepare entries", + "id": "BT_NIMBLE_ATT_MAX_PREP_ENTRIES", + "name": "BT_NIMBLE_ATT_MAX_PREP_ENTRIES", + "range": null, + "title": "Max Prepare write entries", + "type": "int" + }, + { + "children": [], + "depends_on": "(BT_NIMBLE_GATT_CLIENT || BT_NIMBLE_GATT_SERVER) && BT_NIMBLE_ENABLED", + "help": "Maximum number of GATT client procedures that can be executed.", + "id": "BT_NIMBLE_GATT_MAX_PROCS", + "name": "BT_NIMBLE_GATT_MAX_PROCS", + "range": null, + "title": "Maximum number of GATT client procedures", + "type": "int" + }, + { + "children": [], + "depends_on": "(BT_NIMBLE_GATT_CLIENT || BT_NIMBLE_GATT_SERVER) && BT_NIMBLE_ENABLED", + "help": "This option is used when data to be sent is more than 512 bytes. For peripheral role,\nBT_NIMBLE_MSYS_1_BLOCK_COUNT needs to be increased according to the need.", + "id": "BT_NIMBLE_BLE_GATT_BLOB_TRANSFER", + "name": "BT_NIMBLE_BLE_GATT_BLOB_TRANSFER", + "range": null, + "title": "Blob transfer", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_CACHING && BT_NIMBLE_ENABLED", + "help": "Enable this option to include *included services* (e.g., services referenced by other services)\nin the GATT database cache. Disabling this will skip caching of included service entries.", + "id": "BT_NIMBLE_GATT_CACHING_INCLUDE_SERVICES", + "name": "BT_NIMBLE_GATT_CACHING_INCLUDE_SERVICES", + "range": null, + "title": "Include services in GATT caching", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable GATT caching", + "id": "BT_NIMBLE_GATT_CACHING", + "is_menuconfig": true, + "name": "BT_NIMBLE_GATT_CACHING", + "range": null, + "title": "Enable GATT caching", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "Enable this option to start discovery for included service.", + "id": "BT_NIMBLE_INCL_SVC_DISCOVERY", + "name": "BT_NIMBLE_INCL_SVC_DISCOVERY", + "range": null, + "title": "Enable Included service discovery", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_CACHING && BT_NIMBLE_ENABLED", + "help": "Set this option to set the upper limit on number of connections to be cached.", + "id": "BT_NIMBLE_GATT_CACHING_MAX_CONNS", + "name": "BT_NIMBLE_GATT_CACHING_MAX_CONNS", + "range": null, + "title": "Maximum connections to be cached", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_CACHING && BT_NIMBLE_ENABLED", + "help": "Set this option to set the upper limit on number of services per connection to be cached.", + "id": "BT_NIMBLE_GATT_CACHING_MAX_SVCS", + "name": "BT_NIMBLE_GATT_CACHING_MAX_SVCS", + "range": null, + "title": "Maximum number of services per connection", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_CACHING && BT_NIMBLE_ENABLED", + "help": "Set this option to set the upper limit on number of included services per connection to be cached.", + "id": "BT_NIMBLE_GATT_CACHING_MAX_INCL_SVCS", + "name": "BT_NIMBLE_GATT_CACHING_MAX_INCL_SVCS", + "range": null, + "title": "Maximum number of included services per connection", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_CACHING && BT_NIMBLE_ENABLED", + "help": "Set this option to set the upper limit on number of characteristics per connection to be cached.", + "id": "BT_NIMBLE_GATT_CACHING_MAX_CHRS", + "name": "BT_NIMBLE_GATT_CACHING_MAX_CHRS", + "range": null, + "title": "Maximum number of characteristics per connection", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_CACHING && BT_NIMBLE_ENABLED", + "help": "Set this option to set the upper limit on number of descriptors per connection to be cached.", + "id": "BT_NIMBLE_GATT_CACHING_MAX_DSCS", + "name": "BT_NIMBLE_GATT_CACHING_MAX_DSCS", + "range": null, + "title": "Maximum number of descriptors per connection", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_CACHING && BT_NIMBLE_ENABLED", + "help": "When client receives ATT out-of-sync error message, it will not automatically start the discovery procedure\nto correct the invalid cache.", + "id": "BT_NIMBLE_GATT_CACHING_DISABLE_AUTO", + "name": "BT_NIMBLE_GATT_CACHING_DISABLE_AUTO", + "range": null, + "title": "Do not start discovery procedure automatically upon receiving Out of Sync", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_CACHING && BT_NIMBLE_ENABLED", + "help": "Enable this option to use associated address caching instead of performing service discovery.", + "id": "BT_NIMBLE_GATT_CACHING_ASSOC_ENABLE", + "name": "BT_NIMBLE_GATT_CACHING_ASSOC_ENABLE", + "range": null, + "title": "Enable association-based GATT caching", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-gatt-att-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-354", + "title": "GATT / ATT", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Defines maximum number of BLE Connection Oriented Channels. When set to (0), BLE COC is not compiled in", + "id": "BT_NIMBLE_L2CAP_COC_MAX_NUM", + "name": "BT_NIMBLE_L2CAP_COC_MAX_NUM", + "range": null, + "title": "Maximum number of connection oriented channels", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_L2CAP_COC_MAX_NUM >= 1 && BT_NIMBLE_ENABLED", + "help": "Enable Enhanced Credit Based Flow Control Mode", + "id": "BT_NIMBLE_L2CAP_ENHANCED_COC", + "name": "BT_NIMBLE_L2CAP_ENHANCED_COC", + "range": null, + "title": "L2CAP Enhanced Connection Oriented Channel", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-l2cap-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-461", + "title": "L2CAP", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "MSYS is a system level mbuf registry. For prepare write & prepare\nresponses MBUFs are allocated out of msys_1 pool. For NIMBLE_MESH\nenabled cases, this block count is increased by 8 than user defined\ncount.", + "id": "BT_NIMBLE_MSYS_1_BLOCK_COUNT", + "name": "BT_NIMBLE_MSYS_1_BLOCK_COUNT", + "range": null, + "title": "MSYS_1 Block Count", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "Dynamic memory size of block 1", + "id": "BT_NIMBLE_MSYS_1_BLOCK_SIZE", + "name": "BT_NIMBLE_MSYS_1_BLOCK_SIZE", + "range": null, + "title": "MSYS_1 Block Size", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "Dynamic memory count for block 2", + "id": "BT_NIMBLE_MSYS_2_BLOCK_COUNT", + "name": "BT_NIMBLE_MSYS_2_BLOCK_COUNT", + "range": null, + "title": "MSYS_2 Block Count", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "Dynamic memory size of block 2", + "id": "BT_NIMBLE_MSYS_2_BLOCK_SIZE", + "name": "BT_NIMBLE_MSYS_2_BLOCK_SIZE", + "range": null, + "title": "MSYS_2 Block Size", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_MSYS_INIT_IN_CONTROLLER && BT_NIMBLE_ENABLED", + "help": "This option sets the source of the shared msys mbuf memory between\nthe Host and the Controller. Allocate the memory from the heap if\nthis option is sets, from the mempool otherwise.", + "id": "BT_NIMBLE_MSYS_BUF_FROM_HEAP", + "name": "BT_NIMBLE_MSYS_BUF_FROM_HEAP", + "range": null, + "title": "Get Msys Mbuf from heap", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "The number of ACL data buffers allocated for host.", + "id": "BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT", + "name": "BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT", + "range": null, + "title": "ACL Buffer count", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "This is the maximum size of the data portion of HCI ACL data packets.\nIt does not include the HCI data header (of 4 bytes)", + "id": "BT_NIMBLE_TRANSPORT_ACL_SIZE", + "name": "BT_NIMBLE_TRANSPORT_ACL_SIZE", + "range": null, + "title": "Transport ACL Buffer size", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "This is the size of each HCI event buffer in bytes. In case of\nextended advertising, packets can be fragmented. 257 bytes is the\nmaximum size of a packet.", + "id": "BT_NIMBLE_TRANSPORT_EVT_SIZE", + "name": "BT_NIMBLE_TRANSPORT_EVT_SIZE", + "range": null, + "title": "Transport Event Buffer size", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "This is the high priority HCI events' buffer size. High-priority\nevent buffers are for everything except advertising reports. If there\nare no free high-priority event buffers then host will try to allocate a\nlow-priority buffer instead", + "id": "BT_NIMBLE_TRANSPORT_EVT_COUNT", + "name": "BT_NIMBLE_TRANSPORT_EVT_COUNT", + "range": null, + "title": "Transport Event Buffer count", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "This is the low priority HCI events' buffer size. Low-priority event\nbuffers are only used for advertising reports. If there are no free\nlow-priority event buffers, then an incoming advertising report will\nget dropped", + "id": "BT_NIMBLE_TRANSPORT_EVT_DISCARD_COUNT", + "name": "BT_NIMBLE_TRANSPORT_EVT_DISCARD_COUNT", + "range": null, + "title": "Discardable Transport Event Buffer count", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "This is the service data unit buffer count for l2cap coc.", + "id": "BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT", + "name": "BT_NIMBLE_L2CAP_COC_SDU_BUFF_COUNT", + "range": null, + "title": "L2cap coc Service Data Unit Buffer count", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_MEMPOOL_RUNTIME_ALLOC && BT_NIMBLE_ENABLED", + "help": "When this option is enabled, dynamically allocated blocks will not be freed\nbut will be reused instead. This ensures virtually no impact on performance\nwhile reducing the memory consumption of the mempool.", + "id": "BT_NIMBLE_MEMPOOL_BLOCK_REUSED", + "name": "BT_NIMBLE_MEMPOOL_BLOCK_REUSED", + "range": null, + "title": "Support block reuse for mempool runtime memory allocation", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_STATIC_TO_DYNAMIC && BT_NIMBLE_ENABLED", + "help": "When this option is enabled, mempool does not require pre-allocating memory.\nInstead, memory for each block will be dynamically allocated and released\nduring mempool usage. This can significantly reduce memory consumption\nafter mempool initialization, but may have some impact on performance.", + "id": "BT_NIMBLE_MEMPOOL_RUNTIME_ALLOC", + "name": "BT_NIMBLE_MEMPOOL_RUNTIME_ALLOC", + "range": null, + "title": "Support on-demand runtime memory allocation for mempool", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-memory-settings-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-479", + "title": "Memory Settings", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Enable 2M-PHY", + "id": "BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY", + "name": "BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY", + "range": null, + "title": "Enable 2M Phy", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Enable coded-PHY", + "id": "BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY", + "name": "BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY", + "range": null, + "title": "Enable coded Phy", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_EXT_ADV && BT_NIMBLE_EXT_ADV && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Enable this option to use Extended Adv V2 command instead of V1.", + "id": "BT_NIMBLE_EXT_ADV_V2", + "name": "BT_NIMBLE_EXT_ADV_V2", + "range": null, + "title": "Enable support for extended adv v2", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_EXT_ADV && BT_NIMBLE_EXT_ADV && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Change this option to set maximum number of extended advertising\ninstances. Minimum there is always one instance of\nadvertising. Enter how many more advertising instances you\nwant.\nFor ESP32C2, ESP32C6 and ESP32H2, each extended advertising instance\nwill take about 0.5k DRAM.", + "id": "BT_NIMBLE_MAX_EXT_ADV_INSTANCES", + "name": "BT_NIMBLE_MAX_EXT_ADV_INSTANCES", + "range": null, + "title": "Maximum number of extended advertising instances.", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_EXT_ADV && BT_NIMBLE_EXT_ADV && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Defines the length of the extended adv data. The value should not\nexceed 1650.", + "id": "BT_NIMBLE_EXT_ADV_MAX_SIZE", + "name": "BT_NIMBLE_EXT_ADV_MAX_SIZE", + "range": null, + "title": "Maximum length of the advertising data.", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLE_PERIODIC_ADV && (!BT_CONTROLLER_ENABLED || SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED) && BT_NIMBLE_EXT_ADV && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Enable the periodic advertising enhancements", + "id": "BT_NIMBLE_PERIODIC_ADV_ENH", + "name": "BT_NIMBLE_PERIODIC_ADV_ENH", + "range": null, + "title": "Periodic adv enhancements(adi support)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLE_PERIODIC_ADV && BT_NIMBLE_EXT_ADV && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "This enables controller transfer periodic sync events to host", + "id": "BT_NIMBLE_PERIODIC_ADV_SYNC_TRANSFER", + "name": "BT_NIMBLE_PERIODIC_ADV_SYNC_TRANSFER", + "range": null, + "title": "Enable Transfer Sync Events", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLE_PERIODIC_ADV && SOC_BLE_PERIODIC_ADV_WITH_RESPONSE && BT_NIMBLE_EXT_ADV && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "This enables controller PAwR (Periodic Advertisement with Response).", + "id": "BT_NIMBLE_PERIODIC_ADV_WITH_RESPONSES", + "name": "BT_NIMBLE_PERIODIC_ADV_WITH_RESPONSES", + "range": null, + "title": "Enable Periodic Advertisement with Response (EXPERIMENTAL)", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_EXT_ADV && BT_NIMBLE_EXT_ADV && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Enable this option to start periodic advertisement.", + "id": "BT_NIMBLE_ENABLE_PERIODIC_ADV", + "name": "BT_NIMBLE_ENABLE_PERIODIC_ADV", + "range": null, + "title": "Enable periodic advertisement.", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Enable this option to do extended advertising. Extended advertising\nwill be supported from BLE 5.0 onwards.", + "id": "BT_NIMBLE_EXT_ADV", + "name": "BT_NIMBLE_EXT_ADV", + "range": null, + "title": "Enable extended advertising", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLE_PERIODIC_SYNC && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Set this option to set the upper limit for number of periodic sync\nconnections. This should be less than maximum connections allowed by\ncontroller.", + "id": "BT_NIMBLE_MAX_PERIODIC_SYNCS", + "name": "BT_NIMBLE_MAX_PERIODIC_SYNCS", + "range": null, + "title": "Maximum number of periodic advertising syncs", + "type": "int" + }, + { + "children": [], + "depends_on": "SOC_ESP_NIMBLE_CONTROLLER && BT_NIMBLE_ENABLE_PERIODIC_SYNC && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Set this option to set the upper limit for number of periodic advertiser list.", + "id": "BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST", + "name": "BT_NIMBLE_MAX_PERIODIC_ADVERTISER_LIST", + "range": null, + "title": "Maximum number of periodic advertiser list", + "type": "int" + } + ], + "depends_on": "BT_NIMBLE_EXT_SCAN && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Enable this option to receive periodic advertisement.", + "id": "BT_NIMBLE_ENABLE_PERIODIC_SYNC", + "name": "BT_NIMBLE_ENABLE_PERIODIC_SYNC", + "range": null, + "title": "Enable periodic sync", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Enable this option to do extended scanning.", + "id": "BT_NIMBLE_EXT_SCAN", + "name": "BT_NIMBLE_EXT_SCAN", + "range": null, + "title": "Enable extended scanning", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_50_FEATURE_SUPPORT && (!BT_CONTROLLER_ENABLED || SOC_BLE_POWER_CONTROL_SUPPORTED) && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Set this option to enable the Power Control feature", + "id": "BT_NIMBLE_BLE_POWER_CONTROL", + "name": "BT_NIMBLE_BLE_POWER_CONTROL", + "range": null, + "title": "Enable support for BLE Power Control", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_50_FEATURE_SUPPORT && (!BT_CONTROLLER_ENABLED || SOC_BLE_CTE_SUPPORTED) && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Enable support for Connectionless and Connection Oriented Direction Finding", + "id": "BT_NIMBLE_AOA_AOD", + "name": "BT_NIMBLE_AOA_AOD", + "range": null, + "title": "Direction Finding", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "ISO standard flow control", + "id": "BT_NIMBLE_ISO_STD_FLOW_CTRL", + "name": "BT_NIMBLE_ISO_STD_FLOW_CTRL", + "range": null, + "title": "Standard", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "ISO non-standard flow control", + "id": "BT_NIMBLE_ISO_NON_STD_FLOW_CTRL", + "name": "BT_NIMBLE_ISO_NON_STD_FLOW_CTRL", + "range": null, + "title": "Non-standard", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ISO && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "ISO flow control mode", + "id": "component-config-bluetooth-nimble-options-ble-5-x-features-enable-ble-5-feature-isochronous-channels-iso-flow-control-mode-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-739", + "name": "BT_NIMBLE_ISO_FLOW_CONTROL", + "title": "ISO flow control mode", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ISO && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Enable BLE Isochronous Test functionality.", + "id": "BT_NIMBLE_ISO_TEST", + "name": "BT_NIMBLE_ISO_TEST", + "range": null, + "title": "ISO Test mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ISO && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Maximum number of BIG.", + "id": "BT_NIMBLE_ISO_BIG", + "name": "BT_NIMBLE_ISO_BIG", + "range": null, + "title": "Maximum number of BIG", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ISO && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Maximum number of BIS.", + "id": "BT_NIMBLE_ISO_BIS", + "name": "BT_NIMBLE_ISO_BIS", + "range": null, + "title": "Maximum number of BIS", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ISO && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Maximum number of BIS per BIG.", + "id": "BT_NIMBLE_ISO_BIS_PER_BIG", + "name": "BT_NIMBLE_ISO_BIS_PER_BIG", + "range": null, + "title": "Maximum number of BIS per BIG", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ISO && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Maximum number of CIG.", + "id": "BT_NIMBLE_ISO_CIG", + "name": "BT_NIMBLE_ISO_CIG", + "range": null, + "title": "Maximum number of CIG", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ISO && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Maximum number of CIS.", + "id": "BT_NIMBLE_ISO_CIS", + "name": "BT_NIMBLE_ISO_CIS", + "range": null, + "title": "Maximum number of CIS", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ISO && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Maximum number of CIS per CIG.", + "id": "BT_NIMBLE_ISO_CIS_PER_CIG", + "name": "BT_NIMBLE_ISO_CIS_PER_CIG", + "range": null, + "title": "Maximum number of CIS per CIG", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ISO && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Enable this to support LE CIS Established event [v2].", + "id": "BT_NIMBLE_ISO_CIS_ESTAB_V2", + "name": "BT_NIMBLE_ISO_CIS_ESTAB_V2", + "range": null, + "title": "LE CIS Established event [v2]", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_50_FEATURE_SUPPORT && BT_NIMBLE_ENABLED", + "help": "Enable BLE Isochronous functionality.", + "id": "BT_NIMBLE_ISO", + "name": "BT_NIMBLE_ISO", + "range": null, + "title": "Isochronous channels", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED && (SOC_BLE_50_SUPPORTED || !BT_CONTROLLER_ENABLED) && BT_NIMBLE_ENABLED", + "help": "Enable BLE 5 feature", + "id": "BT_NIMBLE_50_FEATURE_SUPPORT", + "is_menuconfig": true, + "name": "BT_NIMBLE_50_FEATURE_SUPPORT", + "range": null, + "title": "Enable BLE 5 feature", + "type": "menu" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-ble-5-x-features-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-591", + "title": "BLE 5.x Features", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_60_FEATURE_SUPPORT && (SOC_BLE_60_SUPPORTED || BT_CONTROLLER_DISABLED) && BT_NIMBLE_ENABLED", + "help": "Used to enable/disable the channel sounding feature", + "id": "BT_NIMBLE_CHANNEL_SOUNDING", + "name": "BT_NIMBLE_CHANNEL_SOUNDING", + "range": null, + "title": "ble channel sounding feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_60_FEATURE_SUPPORT && (SOC_BLE_60_SUPPORTED || BT_CONTROLLER_DISABLED) && BT_NIMBLE_ENABLED", + "help": "Enable support for Monitor Advertisers", + "id": "BT_NIMBLE_MONITOR_ADV", + "name": "BT_NIMBLE_MONITOR_ADV", + "range": null, + "title": "Enable Monitor Advertising", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED && (SOC_BLE_60_SUPPORTED || BT_CONTROLLER_DISABLED) && (SOC_BLE_60_SUPPORTED || BT_CONTROLLER_DISABLED) && BT_NIMBLE_ENABLED", + "help": "Enable BLE 6.x feature support", + "id": "BT_NIMBLE_60_FEATURE_SUPPORT", + "is_menuconfig": true, + "name": "BT_NIMBLE_60_FEATURE_SUPPORT", + "range": null, + "title": "Enable BLE 6 feature", + "type": "menu" + } + ], + "depends_on": "(SOC_BLE_60_SUPPORTED || BT_CONTROLLER_DISABLED) && BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-ble-6-x-features-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-812", + "title": "BLE 6.x Features", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable Proximity Service support", + "id": "BT_NIMBLE_PROX_SERVICE", + "name": "BT_NIMBLE_PROX_SERVICE", + "range": null, + "title": "Proximity service", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable Alert Notification Service support", + "id": "BT_NIMBLE_ANS_SERVICE", + "name": "BT_NIMBLE_ANS_SERVICE", + "range": null, + "title": "Alert Notification service", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable Current Time Service support", + "id": "BT_NIMBLE_CTS_SERVICE", + "name": "BT_NIMBLE_CTS_SERVICE", + "range": null, + "title": "Current Time Service", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable Health Thermometer Service support", + "id": "BT_NIMBLE_HTP_SERVICE", + "name": "BT_NIMBLE_HTP_SERVICE", + "range": null, + "title": "Health Thermometer service", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable Internet Protocol Service support", + "id": "BT_NIMBLE_IPSS_SERVICE", + "name": "BT_NIMBLE_IPSS_SERVICE", + "range": null, + "title": "Internet Protocol Support service", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable Tx Power Service support", + "id": "BT_NIMBLE_TPS_SERVICE", + "name": "BT_NIMBLE_TPS_SERVICE", + "range": null, + "title": "Tx Power service", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable Immediate Alert Service support", + "id": "BT_NIMBLE_IAS_SERVICE", + "name": "BT_NIMBLE_IAS_SERVICE", + "range": null, + "title": "Immediate Alert service", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable Link Loss Service support", + "id": "BT_NIMBLE_LLS_SERVICE", + "name": "BT_NIMBLE_LLS_SERVICE", + "range": null, + "title": "Link Loss service", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable Serial Port Service support", + "id": "BT_NIMBLE_SPS_SERVICE", + "name": "BT_NIMBLE_SPS_SERVICE", + "range": null, + "title": "Serial Port service", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable HeartRate Service support", + "id": "BT_NIMBLE_HR_SERVICE", + "name": "BT_NIMBLE_HR_SERVICE", + "range": null, + "title": "Heart Rate service", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_HID_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Defines maximum number of HID service instances", + "id": "BT_NIMBLE_SVC_HID_MAX_INSTANCES", + "name": "BT_NIMBLE_SVC_HID_MAX_INSTANCES", + "range": null, + "title": "Maximum HID service instances", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_HID_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Defines maximum number of report characteristics per service instance", + "id": "BT_NIMBLE_SVC_HID_MAX_RPTS", + "name": "BT_NIMBLE_SVC_HID_MAX_RPTS", + "range": null, + "title": "Maximum HID Report characteristics per service instance", + "type": "int" + } + ], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable HID service support", + "id": "BT_NIMBLE_HID_SERVICE", + "is_menuconfig": true, + "name": "BT_NIMBLE_HID_SERVICE", + "range": null, + "title": "Human Interface Device service", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_BAS_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable/Disable notifications on BAS Battery Level Characteristic", + "id": "BT_NIMBLE_SVC_BAS_BATTERY_LEVEL_NOTIFY", + "name": "BT_NIMBLE_SVC_BAS_BATTERY_LEVEL_NOTIFY", + "range": null, + "title": "BAS Battery Level NOTIFY permission", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable Battery service support", + "id": "BT_NIMBLE_BAS_SERVICE", + "is_menuconfig": true, + "name": "BT_NIMBLE_BAS_SERVICE", + "range": null, + "title": "Battery service", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_DIS_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable the DIS characteristic Manufacturer Name String characteristic", + "id": "BT_NIMBLE_SVC_DIS_MANUFACTURER_NAME", + "name": "BT_NIMBLE_SVC_DIS_MANUFACTURER_NAME", + "range": null, + "title": "Manufacturer Name", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_DIS_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable the DIS Serial Number characteristic", + "id": "BT_NIMBLE_SVC_DIS_SERIAL_NUMBER", + "name": "BT_NIMBLE_SVC_DIS_SERIAL_NUMBER", + "range": null, + "title": "Serial Number", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_DIS_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable the DIS Hardware Revision characteristic", + "id": "BT_NIMBLE_SVC_DIS_HARDWARE_REVISION", + "name": "BT_NIMBLE_SVC_DIS_HARDWARE_REVISION", + "range": null, + "title": "Hardware Revision", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_DIS_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable the DIS Firmware Revision characteristic", + "id": "BT_NIMBLE_SVC_DIS_FIRMWARE_REVISION", + "name": "BT_NIMBLE_SVC_DIS_FIRMWARE_REVISION", + "range": null, + "title": "Firmware Revision", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_DIS_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable the DIS Software Revision characteristic", + "id": "BT_NIMBLE_SVC_DIS_SOFTWARE_REVISION", + "name": "BT_NIMBLE_SVC_DIS_SOFTWARE_REVISION", + "range": null, + "title": "Software Revision", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_DIS_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable the DIS System ID characteristic", + "id": "BT_NIMBLE_SVC_DIS_SYSTEM_ID", + "name": "BT_NIMBLE_SVC_DIS_SYSTEM_ID", + "range": null, + "title": "System ID", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_DIS_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable the DIS PnP ID characteristic", + "id": "BT_NIMBLE_SVC_DIS_PNP_ID", + "name": "BT_NIMBLE_SVC_DIS_PNP_ID", + "range": null, + "title": "PnP ID", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_DIS_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Use DIS as an included service", + "id": "BT_NIMBLE_SVC_DIS_INCLUDED", + "name": "BT_NIMBLE_SVC_DIS_INCLUDED", + "range": null, + "title": "DIS as an Included Service", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable Device Information service support", + "id": "BT_NIMBLE_DIS_SERVICE", + "is_menuconfig": true, + "name": "BT_NIMBLE_DIS_SERVICE", + "range": null, + "title": "Device Information Service", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "The Device Name characteristic shall contain the name of the device as an UTF-8 string.\nThis name can be changed by using API ble_svc_gap_device_name_set()", + "id": "BT_NIMBLE_SVC_GAP_DEVICE_NAME", + "name": "BT_NIMBLE_SVC_GAP_DEVICE_NAME", + "range": null, + "title": "BLE GAP default device name", + "type": "string" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Device Name characteristic value shall be 0 to 248 octets in length", + "id": "BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN", + "name": "BT_NIMBLE_GAP_DEVICE_NAME_MAX_LEN", + "range": null, + "title": "Maximum length of BLE device name in octets", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Standard BLE GAP Appearance value in HEX format e.g. 0x02C0", + "id": "BT_NIMBLE_SVC_GAP_APPEARANCE", + "name": "BT_NIMBLE_SVC_GAP_APPEARANCE", + "range": null, + "title": "External appearance of the device", + "type": "hex" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM", + "name": "BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC", + "name": "BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_ENC", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN", + "name": "BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHEN", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR", + "name": "BT_NIMBLE_SVC_GAP_NAME_WRITE_PERM_AUTHOR", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable the LE GATT Security Level Characteristic", + "id": "BT_NIMBLE_SVC_GAP_GATT_SECURITY_LEVEL", + "name": "BT_NIMBLE_SVC_GAP_GATT_SECURITY_LEVEL", + "range": null, + "title": "LE GATT Security Level Characteristic", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable the Resolvable Private Address Only characteristic", + "id": "BT_NIMBLE_SVC_GAP_RPA_ONLY", + "name": "BT_NIMBLE_SVC_GAP_RPA_ONLY", + "range": null, + "title": "Resolvable Private Address Only characteristic", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP", + "name": "BT_NIMBLE_SVC_GAP_CAR_CHAR_NOT_SUPP", + "range": null, + "title": "Characteristic not supported", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP", + "name": "BT_NIMBLE_SVC_GAP_CAR_NOT_SUPP", + "range": null, + "title": "Central Address Resolution not supported", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_NIMBLE_SVC_GAP_CAR_SUPP", + "name": "BT_NIMBLE_SVC_GAP_CAR_SUPP", + "range": null, + "title": "Central Address Resolution supported", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Weather or not Central Address Resolution characteristic is supported on\nthe device, and if supported, weather or not Central Address Resolution\nis supported.\n\n- Central Address Resolution characteristic not supported\n- Central Address Resolution not supported\n- Central Address Resolution supported", + "id": "component-config-bluetooth-nimble-options-services-gap-service-gap-characteristic-central-address-resolution-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1055", + "name": "BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION", + "title": "GAP Characteristic - Central Address Resolution", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION", + "name": "BT_NIMBLE_SVC_GAP_CENT_ADDR_RESOLUTION", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable write with encryption permission (BLE_GATT_CHR_F_WRITE_ENC)", + "id": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_ENC", + "name": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_ENC", + "range": null, + "title": "Write with encryption", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable write with authentication permission (BLE_GATT_CHR_F_WRITE_AUTHEN)", + "id": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHEN", + "name": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHEN", + "range": null, + "title": "Write with authentication", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable write with authorisation permission (BLE_GATT_CHR_F_WRITE_AUTHOR)", + "id": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHOR", + "name": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_AUTHOR", + "range": null, + "title": "Write with authorisation", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable write permission (BLE_GATT_CHR_F_WRITE)", + "id": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE", + "name": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE", + "range": null, + "title": "Write", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM", + "name": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC", + "name": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ENC", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN", + "name": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHN", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR", + "name": "BT_NIMBLE_SVC_GAP_APPEAR_WRITE_PERM_ATHR", + "range": null, + "title": null, + "type": "int" + } + ], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-services-gap-service-gap-appearance-write-permissions-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1085", + "title": "GAP Appearance write permissions", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_SVC_GAP_NAME_WRITE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable write with encryption permission (BLE_GATT_CHR_F_WRITE_ENC)", + "id": "BT_NIMBLE_SVC_GAP_NAME_WRITE_ENC", + "name": "BT_NIMBLE_SVC_GAP_NAME_WRITE_ENC", + "range": null, + "title": "Write with encryption", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_SVC_GAP_NAME_WRITE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable write with authentication permission (BLE_GATT_CHR_F_WRITE_AUTHEN)", + "id": "BT_NIMBLE_SVC_GAP_NAME_WRITE_AUTHEN", + "name": "BT_NIMBLE_SVC_GAP_NAME_WRITE_AUTHEN", + "range": null, + "title": "Write with authentication", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_SVC_GAP_NAME_WRITE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable write with authorisation permission (BLE_GATT_CHR_F_WRITE_AUTHOR)", + "id": "BT_NIMBLE_SVC_GAP_NAME_WRITE_AUTHOR", + "name": "BT_NIMBLE_SVC_GAP_NAME_WRITE_AUTHOR", + "range": null, + "title": "Write with authorisation", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable write permission (BLE_GATT_CHR_F_WRITE)", + "id": "BT_NIMBLE_SVC_GAP_NAME_WRITE", + "name": "BT_NIMBLE_SVC_GAP_NAME_WRITE", + "range": null, + "title": "Write", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-services-gap-service-gap-device-name-write-permissions-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1134", + "title": "GAP device name write permissions", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ROLE_PERIPHERAL && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Peripheral Preferred Connection Parameter: Connection Interval maximum value\nInterval Max = value * 1.25 ms", + "id": "BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL", + "name": "BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL", + "range": null, + "title": "PPCP Connection Interval Max (Unit: 1.25 ms)", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ROLE_PERIPHERAL && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Peripheral Preferred Connection Parameter: Connection Interval minimum value\nInterval Min = value * 1.25 ms", + "id": "BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL", + "name": "BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL", + "range": null, + "title": "PPCP Connection Interval Min (Unit: 1.25 ms)", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Peripheral Preferred Connection Parameter: Slave Latency", + "id": "BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY", + "name": "BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY", + "range": null, + "title": "PPCP Slave Latency", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Peripheral Preferred Connection Parameter: Supervision Timeout\nTimeout = Value * 10 ms", + "id": "BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO", + "name": "BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO", + "range": null, + "title": "PPCP Supervision Timeout (Uint: 10 ms)", + "type": "int" + } + ], + "depends_on": "BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GAP_SERVICE && BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-services-gap-service-peripheral-preferred-connection-parameters-ppcp-settings-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1164", + "title": "Peripheral Preferred Connection Parameters (PPCP) settings", + "type": "menu" + } + ], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "help": "Enable GAP Service support", + "id": "BT_NIMBLE_GAP_SERVICE", + "is_menuconfig": true, + "name": "BT_NIMBLE_GAP_SERVICE", + "range": null, + "title": "GAP Service", + "type": "menu" + } + ], + "depends_on": "BT_NIMBLE_GATT_SERVER && BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-services-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-837", + "title": "Services", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "This enables user to add/remove Gatt services at runtime", + "id": "BT_NIMBLE_DYNAMIC_SERVICE", + "name": "BT_NIMBLE_DYNAMIC_SERVICE", + "range": null, + "title": "Enable dynamic services", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Set this option to enable blufi functionality.", + "id": "BT_NIMBLE_BLUFI_ENABLE", + "name": "BT_NIMBLE_BLUFI_ENABLE", + "range": null, + "title": "Enable blufi functionality", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "This option is used to enable encrypted advertising data.", + "id": "BT_NIMBLE_ENC_ADV_DATA", + "name": "BT_NIMBLE_ENC_ADV_DATA", + "range": null, + "title": "Encrypted Advertising Data", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enables concatenation of multiple UUIDs of the same type while parsing\nadvertising data on the central device. When disabled, only the last\nparsed UUID of a given type is retained.", + "id": "BT_NIMBLE_ADV_UUID_CONCAT", + "name": "BT_NIMBLE_ADV_UUID_CONCAT", + "range": null, + "title": "concatenate uuids while parsing advertising data", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENC_ADV_DATA && BT_NIMBLE_ENABLED", + "help": "Defines maximum number of encrypted advertising data key material to save", + "id": "BT_NIMBLE_MAX_EADS", + "name": "BT_NIMBLE_MAX_EADS", + "range": null, + "title": "Maximum number of EAD devices to save across reboots", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "When BLE and Wireless protocol/IEEE 802.15.4 operate in coexistence, BLE preemption\ncan disrupt the GATT context,causing the service discovery callback to not be invoked.\nA temporary list is maintained to preserve the GATT context and use it in case of preemption.", + "id": "BT_NIMBLE_GATTC_PROC_PREEMPTION_PROTECT", + "name": "BT_NIMBLE_GATTC_PROC_PREEMPTION_PROTECT", + "range": null, + "title": "Gatt-proc preemption protect check", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "If enabled, when a service request (e.g. read, write) to a server fails, and the ATT\nerror suggests insufficient security, then the central will initiate pairing and retry\nthe service request.", + "id": "BT_NIMBLE_GATTC_AUTO_PAIR", + "name": "BT_NIMBLE_GATTC_AUTO_PAIR", + "range": null, + "title": "Automatically pair upon receiving service request failure", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Defines the number of channels EATT bearers can use", + "id": "BT_NIMBLE_EATT_CHAN_NUM", + "name": "BT_NIMBLE_EATT_CHAN_NUM", + "range": null, + "title": "Maximum number of EATT channels", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable connection subrate change feature", + "id": "BT_NIMBLE_SUBRATE", + "name": "BT_NIMBLE_SUBRATE", + "range": null, + "title": "Enable Subrate Change", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_SECURITY_ENABLE && BT_NIMBLE_ENABLED", + "help": "Enable support for user defined static passkey for SMP", + "id": "BT_NIMBLE_STATIC_PASSKEY", + "name": "BT_NIMBLE_STATIC_PASSKEY", + "range": null, + "title": "Enable support for Static Passkey", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable DTM related test procedure support", + "id": "BT_NIMBLE_DTM_MODE_TEST", + "name": "BT_NIMBLE_DTM_MODE_TEST", + "range": null, + "title": "Enable DTM related test procedure support", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "This option enables memory optimizations in the NimBLE stack.", + "id": "BT_NIMBLE_MEM_OPTIMIZATION", + "name": "BT_NIMBLE_MEM_OPTIMIZATION", + "range": null, + "title": "Enable memory optimization", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "This option enables use of dynamic memory allocation instead of static\nallocation for variable global / local variable. This helps in improving\nmemory footprint", + "id": "BT_NIMBLE_STATIC_TO_DYNAMIC", + "name": "BT_NIMBLE_STATIC_TO_DYNAMIC", + "range": null, + "title": "Use Dynamic Memory allocations instead of static", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable Sign counter operations", + "id": "BT_NIMBLE_SM_SIGN_CNT", + "name": "BT_NIMBLE_SM_SIGN_CNT", + "range": null, + "title": "Enable Sign counter operations", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable CPFD and CAPD gatt descriptors support", + "id": "BT_NIMBLE_CPFD_CAFD", + "name": "BT_NIMBLE_CPFD_CAFD", + "range": null, + "title": "Enable CPFD/CAPD support", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable Support to reconfigure L2CAP MTU / MPS", + "id": "BT_NIMBLE_RECONFIG_MTU", + "name": "BT_NIMBLE_RECONFIG_MTU", + "range": null, + "title": "Reconfig L2CAP MTU support", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "Disabling IRAM-optimized paths will place functions in FLASH (.irom.text)\ninstead of DRAM (.iram.text/.text in internal RAM). Suitable for low-speed\nGAP/GATT operations to reduce RAM usage.", + "id": "BT_NIMBLE_LOW_SPEED_MODE", + "name": "BT_NIMBLE_LOW_SPEED_MODE", + "range": null, + "title": "Reduce DRAM/IRAM usage by moving GATT/GAP/NPL functions to FLASH", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-extra-features-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1202", + "title": "Extra Features", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_MESH && BT_NIMBLE_ENABLED", + "help": "Enable proxy. This is automatically set whenever NIMBLE_MESH_PB_GATT or\nNIMBLE_MESH_GATT_PROXY is set", + "id": "BT_NIMBLE_MESH_PROXY", + "name": "BT_NIMBLE_MESH_PROXY", + "range": null, + "title": "Enable mesh proxy functionality", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_MESH_PROV && BT_NIMBLE_ENABLED", + "help": "Enable this option to allow the device to be provisioned over\nthe advertising bearer", + "id": "BT_NIMBLE_MESH_PB_ADV", + "name": "BT_NIMBLE_MESH_PB_ADV", + "range": null, + "title": "Enable mesh provisioning over advertising bearer", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_MESH_PROV && BT_NIMBLE_ENABLED", + "help": "Enable this option to allow the device to be provisioned over the GATT\nbearer", + "id": "BT_NIMBLE_MESH_PB_GATT", + "name": "BT_NIMBLE_MESH_PB_GATT", + "range": null, + "title": "Enable mesh provisioning over GATT bearer", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_MESH && BT_NIMBLE_ENABLED", + "help": "Enable mesh provisioning", + "id": "BT_NIMBLE_MESH_PROV", + "name": "BT_NIMBLE_MESH_PROV", + "range": null, + "title": "Enable BLE mesh provisioning", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_MESH && BT_NIMBLE_ENABLED", + "help": "This option enables support for the Mesh GATT Proxy Service,\ni.e. the ability to act as a proxy between a Mesh GATT Client\nand a Mesh network", + "id": "BT_NIMBLE_MESH_GATT_PROXY", + "name": "BT_NIMBLE_MESH_GATT_PROXY", + "range": null, + "title": "Enable GATT Proxy functionality", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_MESH && BT_NIMBLE_ENABLED", + "help": "Support for acting as a Mesh Relay Node", + "id": "BT_NIMBLE_MESH_RELAY", + "name": "BT_NIMBLE_MESH_RELAY", + "range": null, + "title": "Enable mesh relay functionality", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_MESH && BT_NIMBLE_ENABLED", + "help": "Enable this option to be able to act as a Low Power Node", + "id": "BT_NIMBLE_MESH_LOW_POWER", + "name": "BT_NIMBLE_MESH_LOW_POWER", + "range": null, + "title": "Enable mesh low power mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_MESH && BT_NIMBLE_ENABLED", + "help": "Enable this option to be able to act as a Friend Node", + "id": "BT_NIMBLE_MESH_FRIEND", + "name": "BT_NIMBLE_MESH_FRIEND", + "range": null, + "title": "Enable mesh friend functionality", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_MESH && BT_NIMBLE_ENABLED", + "help": "This value defines Bluetooth Mesh device/node name", + "id": "BT_NIMBLE_MESH_DEVICE_NAME", + "name": "BT_NIMBLE_MESH_DEVICE_NAME", + "range": null, + "title": "Set mesh device name", + "type": "string" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_MESH && BT_NIMBLE_ENABLED", + "help": "Defines mesh node count.", + "id": "BT_NIMBLE_MESH_NODE_COUNT", + "name": "BT_NIMBLE_MESH_NODE_COUNT", + "range": null, + "title": "Set mesh node count", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_MESH && BT_NIMBLE_ENABLED", + "help": "Enable mesh provisioner.", + "id": "BT_NIMBLE_MESH_PROVISIONER", + "name": "BT_NIMBLE_MESH_PROVISIONER", + "range": null, + "title": "Enable BLE mesh provisioner", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable BLE Mesh example present in upstream mynewt-nimble and not maintained by Espressif.\n\nIDF maintains ESP-BLE-MESH as the official Mesh solution. Please refer to ESP-BLE-MESH guide at:\n`https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/esp-ble-mesh/ble-mesh-index.html`", + "id": "BT_NIMBLE_MESH", + "is_menuconfig": true, + "name": "BT_NIMBLE_MESH", + "range": null, + "title": "Enable BLE mesh functionality", + "type": "menu" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-nimble-mesh-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1330", + "title": "NimBLE Mesh", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BT_CONTROLLER_DISABLED && BT_NIMBLE_TRANSPORT_UART && BT_NIMBLE_ENABLED", + "help": "Uart port", + "id": "BT_NIMBLE_TRANSPORT_UART_PORT", + "name": "BT_NIMBLE_TRANSPORT_UART_PORT", + "range": null, + "title": "Uart port", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "UART_BAUDRATE_115200", + "name": "UART_BAUDRATE_115200", + "range": null, + "title": "115200", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "UART_BAUDRATE_230400", + "name": "UART_BAUDRATE_230400", + "range": null, + "title": "230400", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "UART_BAUDRATE_460800", + "name": "UART_BAUDRATE_460800", + "range": null, + "title": "460800", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "UART_BAUDRATE_921600", + "name": "UART_BAUDRATE_921600", + "range": null, + "title": "921600", + "type": "bool" + } + ], + "depends_on": "BT_CONTROLLER_DISABLED && BT_NIMBLE_TRANSPORT_UART && BT_NIMBLE_ENABLED", + "help": "Uart Baud Rate", + "id": "component-config-bluetooth-nimble-options-host-controller-transport-enable-uart-transport-uart-hci-baud-rate-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1444", + "name": "BT_NIMBLE_HCI_USE_UART_BAUDRATE", + "title": "Uart Hci Baud Rate", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_DISABLED && BT_NIMBLE_TRANSPORT_UART && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_HCI_UART_BAUDRATE", + "name": "BT_NIMBLE_HCI_UART_BAUDRATE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "UART_PARITY_NONE", + "name": "UART_PARITY_NONE", + "range": null, + "title": "None", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "UART_PARITY_ODD", + "name": "UART_PARITY_ODD", + "range": null, + "title": "Odd", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "UART_PARITY_EVEN", + "name": "UART_PARITY_EVEN", + "range": null, + "title": "Even", + "type": "bool" + } + ], + "depends_on": "BT_CONTROLLER_DISABLED && BT_NIMBLE_TRANSPORT_UART && BT_NIMBLE_ENABLED", + "help": "Uart Parity", + "id": "component-config-bluetooth-nimble-options-host-controller-transport-enable-uart-transport-uart-parity-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1469", + "name": "BT_NIMBLE_USE_HCI_UART_PARITY", + "title": "Uart PARITY", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_DISABLED && BT_NIMBLE_TRANSPORT_UART && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_TRANSPORT_UART_PARITY_NONE", + "name": "BT_NIMBLE_TRANSPORT_UART_PARITY_NONE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_DISABLED && BT_NIMBLE_TRANSPORT_UART && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_TRANSPORT_UART_PARITY_ODD", + "name": "BT_NIMBLE_TRANSPORT_UART_PARITY_ODD", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_DISABLED && BT_NIMBLE_TRANSPORT_UART && BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_TRANSPORT_UART_PARITY_EVEN", + "name": "BT_NIMBLE_TRANSPORT_UART_PARITY_EVEN", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_DISABLED && BT_NIMBLE_TRANSPORT_UART && BT_NIMBLE_ENABLED", + "help": "Rx pin for Nimble Transport", + "id": "BT_NIMBLE_UART_RX_PIN", + "name": "BT_NIMBLE_UART_RX_PIN", + "range": null, + "title": "UART Rx pin", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_DISABLED && BT_NIMBLE_TRANSPORT_UART && BT_NIMBLE_ENABLED", + "help": "Tx pin for Nimble Transport", + "id": "BT_NIMBLE_UART_TX_PIN", + "name": "BT_NIMBLE_UART_TX_PIN", + "range": null, + "title": "UART Tx pin", + "type": "int" + } + ], + "depends_on": "BT_CONTROLLER_DISABLED && BT_NIMBLE_ENABLED", + "help": "Use UART transport", + "id": "BT_NIMBLE_TRANSPORT_UART", + "name": "BT_NIMBLE_TRANSPORT_UART", + "range": null, + "title": "Enable Uart Transport", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "UART_HW_FLOWCTRL_DISABLE", + "name": "UART_HW_FLOWCTRL_DISABLE", + "range": null, + "title": "Disable", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "UART_HW_FLOWCTRL_CTS_RTS", + "name": "UART_HW_FLOWCTRL_CTS_RTS", + "range": null, + "title": "Enable hardware flow control", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "Uart Flow Control", + "id": "component-config-bluetooth-nimble-options-host-controller-transport-uart-flow-control-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1516", + "name": "BT_NIMBLE_USE_HCI_UART_FLOW_CTRL", + "title": "Uart Flow Control", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_HCI_UART_FLOW_CTRL", + "name": "BT_NIMBLE_HCI_UART_FLOW_CTRL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "UART HCI RTS pin", + "id": "BT_NIMBLE_HCI_UART_RTS_PIN", + "name": "BT_NIMBLE_HCI_UART_RTS_PIN", + "range": null, + "title": "UART Rts Pin", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "UART HCI CTS pin", + "id": "BT_NIMBLE_HCI_UART_CTS_PIN", + "name": "BT_NIMBLE_HCI_UART_CTS_PIN", + "range": null, + "title": "UART Cts Pin", + "type": "int" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-host-controller-transport-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1429", + "title": "Host-controller Transport", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && !BT_NIMBLE_ISO && BT_NIMBLE_ENABLED", + "help": "Enable NimBLE memory debug to track memory allocations and deallocations.\nThis feature records the function name, line number, and size of each allocation,\nand provides APIs to display memory usage statistics, find memory leaks, and\nmonitor peak memory usage.", + "id": "BT_NIMBLE_MEM_DEBUG", + "name": "BT_NIMBLE_MEM_DEBUG", + "range": null, + "title": "NimBLE memory debug", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_NIMBLE_LOG_LEVEL_NONE", + "name": "BT_NIMBLE_LOG_LEVEL_NONE", + "range": null, + "title": "No logs", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_NIMBLE_LOG_LEVEL_ERROR", + "name": "BT_NIMBLE_LOG_LEVEL_ERROR", + "range": null, + "title": "Error logs", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_NIMBLE_LOG_LEVEL_WARNING", + "name": "BT_NIMBLE_LOG_LEVEL_WARNING", + "range": null, + "title": "Warning logs", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_NIMBLE_LOG_LEVEL_INFO", + "name": "BT_NIMBLE_LOG_LEVEL_INFO", + "range": null, + "title": "Info logs", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_NIMBLE_LOG_LEVEL_DEBUG", + "name": "BT_NIMBLE_LOG_LEVEL_DEBUG", + "range": null, + "title": "Debug logs", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Select NimBLE log level. Note that the selected NimBLE log\nverbosity can not exceed the level set in\n\"Component config --> Log output --> Default log verbosity\".", + "id": "component-config-bluetooth-nimble-options-debugging-testing-nimble-host-log-verbosity-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1557", + "name": "BT_NIMBLE_LOG_LEVEL", + "title": "NimBLE Host log verbosity", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": null, + "id": "BT_NIMBLE_LOG_LEVEL", + "name": "BT_NIMBLE_LOG_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable feature to give useful explanation for HCI errors", + "id": "BT_NIMBLE_PRINT_ERR_NAME", + "name": "BT_NIMBLE_PRINT_ERR_NAME", + "range": null, + "title": "Enable feature to print Error description", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "This enables extra runtime asserts and host debugging", + "id": "BT_NIMBLE_DEBUG", + "name": "BT_NIMBLE_DEBUG", + "range": null, + "title": "Enable extra runtime asserts and host debugging", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "Enable the throughput test mode", + "id": "BT_NIMBLE_TEST_THROUGHPUT_TEST", + "name": "BT_NIMBLE_TEST_THROUGHPUT_TEST", + "range": null, + "title": "Throughput Test Mode enable", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-debugging-testing-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1546", + "title": "Debugging/Testing", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED", + "help": "This option is used to enable support for sending Vendor Specific HCI commands and handling\nVendor Specific HCI Events.", + "id": "BT_NIMBLE_VS_SUPPORT", + "name": "BT_NIMBLE_VS_SUPPORT", + "range": null, + "title": "Enable support for VSC and VSE", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_BLE_MULTI_CONN_OPTIMIZATION && BT_NIMBLE_ENABLED", + "help": "This option enables the use of vendor-specific APIs for multi-connections, which can\ngreatly enhance the stability of coexistence between numerous central and peripheral\ndevices. It will prohibit the usage of standard APIs.", + "id": "BT_NIMBLE_OPTIMIZE_MULTI_CONN", + "name": "BT_NIMBLE_OPTIMIZE_MULTI_CONN", + "range": null, + "title": "Enable the optimization of multi-connection", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "This enable BLE high duty advertising interval feature", + "id": "BT_NIMBLE_HIGH_DUTY_ADV_ITVL", + "name": "BT_NIMBLE_HIGH_DUTY_ADV_ITVL", + "range": null, + "title": "Enable BLE high duty advertising interval feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_ESP_NIMBLE_CONTROLLER && BT_NIMBLE_50_FEATURE_SUPPORT && !IDF_TARGET_ESP32C2 && BT_NIMBLE_ENABLED", + "help": "This enable vendor-specific APIs to send specific DID for different advertising data in extended\nadvertising.", + "id": "BT_NIMBLE_ADV_SEND_CONSTANT_DID", + "name": "BT_NIMBLE_ADV_SEND_CONSTANT_DID", + "range": null, + "title": "Enable BLE Ext Adv to Send with Specific DID", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_ESP_NIMBLE_CONTROLLER && BT_NIMBLE_50_FEATURE_SUPPORT && !IDF_TARGET_ESP32C2 && BT_NIMBLE_ENABLED", + "help": "This enables vendor-specific APIs to only receive specific groups of ADIs, and implements DIDs\nduplicate filtering for extended scanning. Enabling this can reduce the unnecessary reception of\nsecondary channel PDUs carrying non-targeted ADIs.", + "id": "BT_NIMBLE_SCAN_ALLOW_ENH_ADI_FILTER", + "name": "BT_NIMBLE_SCAN_ALLOW_ENH_ADI_FILTER", + "range": null, + "title": "Enable BLE Ext Scan to Receive Packet with Specific ADI", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-vendor-optimization-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1612", + "title": "Vendor / Optimization", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable support to query host status", + "id": "BT_NIMBLE_CHK_HOST_STATUS", + "name": "BT_NIMBLE_CHK_HOST_STATUS", + "range": null, + "title": "Enable host status query support", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable support for misc APIs like set data addr change, read local resolv addr\nand set host feature", + "id": "BT_NIMBLE_UTIL_API", + "name": "BT_NIMBLE_UTIL_API", + "range": null, + "title": "Enable helper APIs", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_NIMBLE_ENABLED && BT_NIMBLE_ENABLED", + "help": "Enable support for parsing of more adv fields as per spec", + "id": "BT_NIMBLE_EXTRA_ADV_FIELDS", + "name": "BT_NIMBLE_EXTRA_ADV_FIELDS", + "range": null, + "title": "Enable extra Adv report fields parsing", + "type": "bool" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-helper-utils-home-claw-.platformio-packages-framework-espidf-components-bt-host-nimble-Kconfig.in-1654", + "title": "Helper Utils", + "type": "menu" + } + ], + "depends_on": "BT_NIMBLE_ENABLED", + "id": "component-config-bluetooth-nimble-options-home-claw-.platformio-packages-framework-espidf-components-bt-Kconfig-62", + "title": "NimBLE Options", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Use RAM as HCI interface", + "id": "BT_LE_HCI_INTERFACE_USE_RAM", + "name": "BT_LE_HCI_INTERFACE_USE_RAM", + "range": null, + "title": "VHCI", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Use UART as HCI interface", + "id": "BT_LE_HCI_INTERFACE_USE_UART", + "name": "BT_LE_HCI_INTERFACE_USE_UART", + "range": null, + "title": "UART(H4)", + "type": "bool" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": null, + "id": "component-config-bluetooth-controller-options-hci-config-hci-mode-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-3", + "name": "BT_LE_HCI_INTERFACE", + "title": "HCI mode", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "UART HCI Mode with DMA functionality.", + "id": "BT_LE_UART_HCI_DMA_MODE", + "name": "BT_LE_UART_HCI_DMA_MODE", + "range": null, + "title": "UHCI(UART with DMA)(EXPERIMENTAL)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "UART HCI Mode without DMA functionality.", + "id": "BT_LE_UART_HCI_NO_DMA_MODE", + "name": "BT_LE_UART_HCI_NO_DMA_MODE", + "range": null, + "title": "UART(NO DMA)", + "type": "bool" + } + ], + "depends_on": "BT_LE_HCI_INTERFACE_USE_UART && BT_CONTROLLER_ENABLED", + "help": "Specify UART HCI mode: DMA or No DMA", + "id": "component-config-bluetooth-controller-options-hci-config-uart-hci-mode-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-17", + "name": "BT_LE_UART_HCI_MODE_CHOICE", + "title": "UART HCI mode", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_LE_HCI_INTERFACE_USE_UART && BT_CONTROLLER_ENABLED", + "help": "Set the port number of HCI UART", + "id": "BT_LE_HCI_UART_PORT", + "name": "BT_LE_HCI_UART_PORT", + "range": null, + "title": "HCI UART port", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_HCI_INTERFACE_USE_UART && BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_HCI_UART_FLOWCTRL", + "name": "BT_LE_HCI_UART_FLOWCTRL", + "range": null, + "title": "HCI uart Hardware Flow ctrl", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_HCI_INTERFACE_USE_UART && BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_HCI_UART_TX_PIN", + "name": "BT_LE_HCI_UART_TX_PIN", + "range": null, + "title": "HCI uart Tx gpio", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_HCI_INTERFACE_USE_UART && BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_HCI_UART_RX_PIN", + "name": "BT_LE_HCI_UART_RX_PIN", + "range": null, + "title": "HCI uart Rx gpio", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_HCI_UART_FLOWCTRL && BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_HCI_UART_RTS_PIN", + "name": "BT_LE_HCI_UART_RTS_PIN", + "range": null, + "title": "HCI uart RTS gpio", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_HCI_UART_FLOWCTRL && BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_HCI_UART_CTS_PIN", + "name": "BT_LE_HCI_UART_CTS_PIN", + "range": null, + "title": "HCI uart CTS gpio", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_HCI_INTERFACE_USE_UART && BT_CONTROLLER_ENABLED", + "help": "HCI uart baud rate 115200 ~ 1000000", + "id": "BT_LE_HCI_UART_BAUD", + "name": "BT_LE_HCI_UART_BAUD", + "range": null, + "title": "HCI uart baudrate", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "UART_PARITY_DISABLE", + "id": "BT_LE_HCI_UART_UART_PARITY_DISABLE", + "name": "BT_LE_HCI_UART_UART_PARITY_DISABLE", + "range": null, + "title": "PARITY_DISABLE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "UART_PARITY_EVEN", + "id": "BT_LE_HCI_UART_UART_PARITY_EVEN", + "name": "BT_LE_HCI_UART_UART_PARITY_EVEN", + "range": null, + "title": "PARITY_EVEN", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "UART_PARITY_ODD", + "id": "BT_LE_HCI_UART_UART_PARITY_ODD", + "name": "BT_LE_HCI_UART_UART_PARITY_ODD", + "range": null, + "title": "PARITY_ODD", + "type": "bool" + } + ], + "depends_on": "BT_LE_HCI_INTERFACE_USE_UART && BT_CONTROLLER_ENABLED", + "help": null, + "id": "component-config-bluetooth-controller-options-hci-config-select-uart-parity-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-74", + "name": "BT_LE_HCI_UART_PARITY", + "title": "select uart parity", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_LE_UART_HCI_NO_DMA_MODE && BT_CONTROLLER_ENABLED", + "help": "The size of rx ring buffer memory", + "id": "BT_LE_HCI_UART_RX_BUFFER_SIZE", + "name": "BT_LE_HCI_UART_RX_BUFFER_SIZE", + "range": null, + "title": "The size of rx ring buffer memory", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_UART_HCI_NO_DMA_MODE && BT_CONTROLLER_ENABLED", + "help": "The size of tx ring buffer memory", + "id": "BT_LE_HCI_UART_TX_BUFFER_SIZE", + "name": "BT_LE_HCI_UART_TX_BUFFER_SIZE", + "range": null, + "title": "The size of tx ring buffer memory", + "type": "int" + }, + { + "children": [], + "depends_on": "!BT_LE_HCI_INTERFACE_USE_RAM && BT_CONTROLLER_ENABLED", + "help": "This configures stack size of hci transport task", + "id": "BT_LE_HCI_TRANS_TASK_STACK_SIZE", + "name": "BT_LE_HCI_TRANS_TASK_STACK_SIZE", + "range": null, + "title": "HCI transport task stack size", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_UART_HCI_DMA_MODE && BT_CONTROLLER_ENABLED", + "help": "The amount of rx memory received at the same time", + "id": "BT_LE_HCI_TRANS_RX_MEM_NUM", + "name": "BT_LE_HCI_TRANS_RX_MEM_NUM", + "range": null, + "title": "The amount of rx memory received at the same time", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_UART_HCI_DMA_MODE && BT_CONTROLLER_ENABLED", + "help": "The amount of lldecs memory for driver dma mode", + "id": "BT_LE_HCI_LLDESCS_POOL_NUM", + "name": "BT_LE_HCI_LLDESCS_POOL_NUM", + "range": null, + "title": "The amount of lldecs memory for driver dma mode", + "type": "int" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "id": "component-config-bluetooth-controller-options-hci-config-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-2", + "title": "HCI Config", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "Enable NPL porting for controller.", + "id": "BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT", + "name": "BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_LE_50_FEATURE_SUPPORT && BT_CONTROLLER_ENABLED", + "help": "Enable 2M-PHY", + "id": "BT_LE_LL_CFG_FEAT_LE_2M_PHY", + "name": "BT_LE_LL_CFG_FEAT_LE_2M_PHY", + "range": null, + "title": "Enable 2M Phy", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_50_FEATURE_SUPPORT && BT_CONTROLLER_ENABLED", + "help": "Enable coded-PHY", + "id": "BT_LE_LL_CFG_FEAT_LE_CODED_PHY", + "name": "BT_LE_LL_CFG_FEAT_LE_CODED_PHY", + "range": null, + "title": "Enable coded Phy", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_LE_EXT_ADV && BT_LE_EXT_ADV && BT_CONTROLLER_ENABLED", + "help": "Change this option to set maximum number of extended advertising\ninstances. Minimum there is always one instance of\nadvertising. Enter how many more advertising instances you\nwant.\nEach extended advertising instance will take about 0.5k DRAM.", + "id": "BT_LE_MAX_EXT_ADV_INSTANCES", + "name": "BT_LE_MAX_EXT_ADV_INSTANCES", + "range": null, + "title": "Maximum number of extended advertising instances.", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_EXT_ADV && BT_LE_EXT_ADV && BT_CONTROLLER_ENABLED", + "help": "Defines the length of the extended adv data. The value should not\nexceed 1650.", + "id": "BT_LE_EXT_ADV_MAX_SIZE", + "name": "BT_LE_EXT_ADV_MAX_SIZE", + "range": null, + "title": "Maximum length of the advertising data.", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_LE_ENABLE_PERIODIC_ADV && BT_LE_EXT_ADV && BT_CONTROLLER_ENABLED", + "help": "This enables controller transfer periodic sync events to host", + "id": "BT_LE_PERIODIC_ADV_SYNC_TRANSFER", + "name": "BT_LE_PERIODIC_ADV_SYNC_TRANSFER", + "range": null, + "title": "Enable Transfer Sync Events", + "type": "bool" + } + ], + "depends_on": "BT_LE_EXT_ADV && BT_LE_EXT_ADV && BT_CONTROLLER_ENABLED", + "help": "Enable this option to start periodic advertisement.", + "id": "BT_LE_ENABLE_PERIODIC_ADV", + "name": "BT_LE_ENABLE_PERIODIC_ADV", + "range": null, + "title": "Enable periodic advertisement.", + "type": "bool" + } + ], + "depends_on": "BT_LE_50_FEATURE_SUPPORT && BT_CONTROLLER_ENABLED", + "help": "Enable this option to do extended advertising. Extended advertising\nwill be supported from BLE 5.0 onwards.", + "id": "BT_LE_EXT_ADV", + "name": "BT_LE_EXT_ADV", + "range": null, + "title": "Enable extended advertising", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Set this option to set the upper limit for number of periodic sync\nconnections. This should be less than maximum connections allowed by\ncontroller.", + "id": "BT_LE_MAX_PERIODIC_SYNCS", + "name": "BT_LE_MAX_PERIODIC_SYNCS", + "range": null, + "title": "Maximum number of periodic advertising syncs", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Set this option to set the upper limit for number of periodic advertiser list.", + "id": "BT_LE_MAX_PERIODIC_ADVERTISER_LIST", + "name": "BT_LE_MAX_PERIODIC_ADVERTISER_LIST", + "range": null, + "title": "Maximum number of periodic advertiser list", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Set this option to enable the Power Control feature on controller", + "id": "BT_LE_POWER_CONTROL_ENABLED", + "name": "BT_LE_POWER_CONTROL_ENABLED", + "range": null, + "title": "Enable controller support for BLE Power Control", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED && !BT_BLUEDROID_ENABLED && SOC_BLE_SUBRATE_SUPPORTED && BT_CONTROLLER_ENABLED", + "help": "Set this option to enable the Connection Subrating feature on controller", + "id": "BT_LE_SUBRATE_ENABLED", + "name": "BT_LE_SUBRATE_ENABLED", + "range": null, + "title": "Enable BLE connection subrating", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_50_FEATURE_SUPPORT && SOC_BLE_CTE_SUPPORTED && BT_CONTROLLER_ENABLED", + "help": "Enable this option to activate Bluetooth LE Direction Finding (AoA/AoD) feature.\nNote:\nThis feature allows devices to determine the direction of a Bluetooth CTE signal,\nenabling Angle of Arrival (AoA) and Angle of Departure (AoD) functionality.", + "id": "BT_LE_CTE_FEATURE_ENABLED", + "name": "BT_LE_CTE_FEATURE_ENABLED", + "range": null, + "title": "Enable Bluetooth LE Direction Finding (AoA/AoD)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_50_FEATURE_SUPPORT && SOC_BLE_PERIODIC_ADV_WITH_RESPONSE && BT_CONTROLLER_ENABLED", + "help": "This enables BLE periodic advertising with response feature", + "id": "BT_LE_PERIODIC_ADV_WITH_RESPONSE_ENABLED", + "name": "BT_LE_PERIODIC_ADV_WITH_RESPONSE_ENABLED", + "range": null, + "title": "Enable BLE periodic advertising with response", + "type": "bool" + } + ], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Enable BLE 5 feature", + "id": "BT_LE_50_FEATURE_SUPPORT", + "is_menuconfig": true, + "name": "BT_LE_50_FEATURE_SUPPORT", + "range": null, + "title": "Enable BLE 5 feature", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "MSYS is a system level mbuf registry. For prepare write & prepare\nresponses MBUFs are allocated out of msys_1 pool. For NIMBLE_MESH\nenabled cases, this block count is increased by 8 than user defined\ncount.", + "id": "BT_LE_MSYS_1_BLOCK_COUNT", + "name": "BT_LE_MSYS_1_BLOCK_COUNT", + "range": null, + "title": "MSYS_1 Block Count", + "type": "int" + }, + { + "children": [], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Dynamic memory size of block 1", + "id": "BT_LE_MSYS_1_BLOCK_SIZE", + "name": "BT_LE_MSYS_1_BLOCK_SIZE", + "range": null, + "title": "MSYS_1 Block Size", + "type": "int" + }, + { + "children": [], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Dynamic memory count", + "id": "BT_LE_MSYS_2_BLOCK_COUNT", + "name": "BT_LE_MSYS_2_BLOCK_COUNT", + "range": null, + "title": "MSYS_2 Block Count", + "type": "int" + }, + { + "children": [], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Dynamic memory size of block 2", + "id": "BT_LE_MSYS_2_BLOCK_SIZE", + "name": "BT_LE_MSYS_2_BLOCK_SIZE", + "range": null, + "title": "MSYS_2 Block Size", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_MSYS_INIT_IN_CONTROLLER && !BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "This option sets the source of the shared msys mbuf memory between\nthe Host and the Controller. Allocate the memory from the heap if\nthis option is sets, from the mempool otherwise.", + "id": "BT_LE_MSYS_BUF_FROM_HEAP", + "name": "BT_LE_MSYS_BUF_FROM_HEAP", + "range": null, + "title": "Get Msys Mbuf from heap", + "type": "bool" + }, + { + "children": [], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "The number of ACL data buffers.", + "id": "BT_LE_ACL_BUF_COUNT", + "name": "BT_LE_ACL_BUF_COUNT", + "range": null, + "title": "ACL Buffer count", + "type": "int" + }, + { + "children": [], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "This is the maximum size of the data portion of HCI ACL data packets.\nIt does not include the HCI data header (of 4 bytes)", + "id": "BT_LE_ACL_BUF_SIZE", + "name": "BT_LE_ACL_BUF_SIZE", + "range": null, + "title": "ACL Buffer size", + "type": "int" + }, + { + "children": [], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "This is the size of each HCI event buffer in bytes. In case of\nextended advertising, packets can be fragmented. 257 bytes is the\nmaximum size of a packet.", + "id": "BT_LE_HCI_EVT_BUF_SIZE", + "name": "BT_LE_HCI_EVT_BUF_SIZE", + "range": null, + "title": "HCI Event Buffer size", + "type": "int" + }, + { + "children": [], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "This is the high priority HCI events' buffer size. High-priority\nevent buffers are for everything except advertising reports. If there\nare no free high-priority event buffers then host will try to allocate a\nlow-priority buffer instead", + "id": "BT_LE_HCI_EVT_HI_BUF_COUNT", + "name": "BT_LE_HCI_EVT_HI_BUF_COUNT", + "range": null, + "title": "High Priority HCI Event Buffer count", + "type": "int" + }, + { + "children": [], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "This is the low priority HCI events' buffer size. Low-priority event\nbuffers are only used for advertising reports. If there are no free\nlow-priority event buffers, then an incoming advertising report will\nget dropped", + "id": "BT_LE_HCI_EVT_LO_BUF_COUNT", + "name": "BT_LE_HCI_EVT_LO_BUF_COUNT", + "range": null, + "title": "Low Priority HCI Event Buffer count", + "type": "int" + } + ], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "id": "component-config-bluetooth-controller-options-memory-settings-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-254", + "title": "Memory Settings", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "This configures stack size of NimBLE controller task", + "id": "BT_LE_CONTROLLER_TASK_STACK_SIZE", + "name": "BT_LE_CONTROLLER_TASK_STACK_SIZE", + "range": null, + "title": "Controller task stack size", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "Enable controller log", + "id": "BT_LE_CONTROLLER_LOG_ENABLED", + "is_menuconfig": true, + "name": "BT_LE_CONTROLLER_LOG_ENABLED", + "range": null, + "title": "Controller log enable", + "type": "menu" + }, + { + "children": [], + "depends_on": "BLE_LOG_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Utilize BLE Log v2 for controller log", + "id": "BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2", + "name": "BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2", + "range": null, + "title": "Utilize BLE Log v2 for controller log", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_CONTROLLER_LOG_ENABLED && !BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2 && BT_CONTROLLER_ENABLED", + "help": "Enable controller log module", + "id": "BT_LE_CONTROLLER_LOG_CTRL_ENABLED", + "name": "BT_LE_CONTROLLER_LOG_CTRL_ENABLED", + "range": null, + "title": "enable controller log module", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_CONTROLLER_LOG_ENABLED && !BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2 && BT_CONTROLLER_ENABLED", + "help": "Enable hci log module", + "id": "BT_LE_CONTROLLER_LOG_HCI_ENABLED", + "name": "BT_LE_CONTROLLER_LOG_HCI_ENABLED", + "range": null, + "title": "enable HCI log module", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_CONTROLLER_LOG_ENABLED && !BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2 && BT_CONTROLLER_ENABLED", + "help": "Only operate in dump mode", + "id": "BT_LE_CONTROLLER_LOG_DUMP_ONLY", + "name": "BT_LE_CONTROLLER_LOG_DUMP_ONLY", + "range": null, + "title": "Controller log dump mode only", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_CONTROLLER_LOG_ENABLED && !BT_LE_CONTROLLER_LOG_DUMP_ONLY && !BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2 && BT_CONTROLLER_ENABLED", + "help": "Output ble controller logs to SPI bus", + "id": "BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED", + "name": "BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED", + "range": null, + "title": "Output ble controller logs to SPI bus (Experimental)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_CONTROLLER_LOG_ENABLED && !BT_LE_CONTROLLER_LOG_DUMP_ONLY && !BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED && !BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2 && BT_CONTROLLER_ENABLED", + "help": "Output ble controller logs via UART DMA", + "id": "BT_LE_CONTROLLER_LOG_UHCI_OUT_ENABLED", + "name": "BT_LE_CONTROLLER_LOG_UHCI_OUT_ENABLED", + "range": null, + "title": "Output ble controller logs via UART DMA (Experimental)", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_LE_CONTROLLER_LOG_STORAGE_ENABLE && !BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2 && BT_CONTROLLER_ENABLED", + "help": "The size of ble controller log partition shall be a multiples of 4K.\nThe name of log partition shall be \"bt_ctrl_log\".\nThe partition type shall be ESP_PARTITION_TYPE_DATA.\nThe partition sub_type shall be ESP_PARTITION_SUBTYPE_ANY.", + "id": "BT_LE_CONTROLLER_LOG_PARTITION_SIZE", + "name": "BT_LE_CONTROLLER_LOG_PARTITION_SIZE", + "range": null, + "title": "size of ble controller log partition(Multiples of 4K)", + "type": "int" + } + ], + "depends_on": "!BT_LE_CONTROLLER_LOG_DUMP_ONLY && BT_LE_CONTROLLER_LOG_ENABLED && !BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2 && BT_CONTROLLER_ENABLED", + "help": "Store ble controller logs to flash memory.", + "id": "BT_LE_CONTROLLER_LOG_STORAGE_ENABLE", + "name": "BT_LE_CONTROLLER_LOG_STORAGE_ENABLE", + "range": null, + "title": "Store ble controller logs to flash(Experimental)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_CONTROLLER_LOG_ENABLED && !BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2 && BT_CONTROLLER_ENABLED", + "help": "Configure the size of the first BLE controller LOG buffer.", + "id": "BT_LE_LOG_CTRL_BUF1_SIZE", + "name": "BT_LE_LOG_CTRL_BUF1_SIZE", + "range": null, + "title": "size of the first BLE controller LOG buffer", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_CONTROLLER_LOG_ENABLED && !BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2 && BT_CONTROLLER_ENABLED", + "help": "Configure the size of the second BLE controller LOG buffer.", + "id": "BT_LE_LOG_CTRL_BUF2_SIZE", + "name": "BT_LE_LOG_CTRL_BUF2_SIZE", + "range": null, + "title": "size of the second BLE controller LOG buffer", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_CONTROLLER_LOG_ENABLED && !BT_LE_CONTROLLER_LOG_MODE_BLE_LOG_V2 && BT_CONTROLLER_ENABLED", + "help": "Configure the size of the BLE HCI LOG buffer.", + "id": "BT_LE_LOG_HCI_BUF_SIZE", + "name": "BT_LE_LOG_HCI_BUF_SIZE", + "range": null, + "title": "size of the BLE HCI LOG buffer", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_CONTROLLER_LOG_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Wrap esp_panic_handler to get controller logs when PC pointer exception crashes.", + "id": "BT_LE_CONTROLLER_LOG_WRAP_PANIC_HANDLER_ENABLE", + "name": "BT_LE_CONTROLLER_LOG_WRAP_PANIC_HANDLER_ENABLE", + "range": null, + "title": "Enable wrap panic handler", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_CONTROLLER_LOG_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Implement esp_task_wdt_isr_user_handler to get controller logs when task wdt issue is triggered.", + "id": "BT_LE_CONTROLLER_LOG_TASK_WDT_USER_HANDLER_ENABLE", + "name": "BT_LE_CONTROLLER_LOG_TASK_WDT_USER_HANDLER_ENABLE", + "range": null, + "title": "Enable esp_task_wdt_isr_user_handler implementation", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_CONTROLLER_LOG_ENABLED && BT_CONTROLLER_ENABLED", + "help": "The output level of controller log.", + "id": "BT_LE_CONTROLLER_LOG_OUTPUT_LEVEL", + "name": "BT_LE_CONTROLLER_LOG_OUTPUT_LEVEL", + "range": null, + "title": "The output level of controller log", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_CONTROLLER_LOG_ENABLED && BT_CONTROLLER_ENABLED", + "help": "The switch of module log output, this is an unsigned 32-bit hexadecimal value.", + "id": "BT_LE_CONTROLLER_LOG_MOD_OUTPUT_SWITCH", + "name": "BT_LE_CONTROLLER_LOG_MOD_OUTPUT_SWITCH", + "range": null, + "title": "The switch of module log output", + "type": "hex" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_ERROR_SIM_ENABLED", + "name": "BT_LE_ERROR_SIM_ENABLED", + "range": null, + "title": "Enable controller features for internal testing", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_ASSERT_WHEN_ABNORMAL_DISCONN_ENABLED", + "name": "BT_LE_ASSERT_WHEN_ABNORMAL_DISCONN_ENABLED", + "range": null, + "title": "When ACL disconnects abnormally, assertion processing is performed(Experimental)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "Retain scene with GDB to capture info, requires disabling WDT (CONFIG_ESP_INT_WDT, CONFIG_ESP_TASK_WDT_EN).", + "id": "BT_LE_DEBUG_REMAIN_SCENE_ENABLED", + "name": "BT_LE_DEBUG_REMAIN_SCENE_ENABLED", + "range": null, + "title": "Remain scene with GDB to capture relevant status info(Experimental)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_PTR_CHECK_ENABLED", + "name": "BT_LE_PTR_CHECK_ENABLED", + "range": null, + "title": "Enable boundary check for internal memory", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "Used in internal tests only. Enable the memory allocation check.", + "id": "BT_LE_MEM_CHECK_ENABLED", + "name": "BT_LE_MEM_CHECK_ENABLED", + "range": null, + "title": "Enable memory allocation check", + "type": "bool" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "id": "component-config-bluetooth-controller-options-controller-debug-features-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-341", + "title": "Controller debug features", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "Configure the size of resolving list used in link layer.", + "id": "BT_LE_LL_RESOLV_LIST_SIZE", + "name": "BT_LE_LL_RESOLV_LIST_SIZE", + "range": null, + "title": "BLE LL Resolving list size", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_LE_SECURITY_ENABLE && BT_CONTROLLER_ENABLED", + "help": "Enable security manager legacy pairing", + "id": "BT_LE_SM_LEGACY", + "name": "BT_LE_SM_LEGACY", + "range": null, + "title": "Security manager legacy pairing", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_LE_SECURITY_ENABLE && BT_LE_SM_SC && BT_CONTROLLER_ENABLED", + "help": "If this option is enabled, SM uses predefined DH key pair as described\nin Core Specification, Vol. 3, Part H, 2.3.5.6.1. This allows to\ndecrypt air traffic easily and thus should only be used for debugging.", + "id": "BT_LE_SM_SC_DEBUG_KEYS", + "name": "BT_LE_SM_SC_DEBUG_KEYS", + "range": null, + "title": "Use predefined public-private key pair", + "type": "bool" + } + ], + "depends_on": "BT_LE_SECURITY_ENABLE && BT_CONTROLLER_ENABLED", + "help": "Enable security manager secure connections", + "id": "BT_LE_SM_SC", + "name": "BT_LE_SM_SC", + "range": null, + "title": "Security manager secure connections (4.2)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_LE_SECURITY_ENABLE && BT_CONTROLLER_ENABLED", + "help": "Enable encryption connection", + "id": "BT_LE_LL_CFG_FEAT_LE_ENCRYPTION", + "name": "BT_LE_LL_CFG_FEAT_LE_ENCRYPTION", + "range": null, + "title": "Enable LE encryption", + "type": "bool" + } + ], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Enable BLE sm feature", + "id": "BT_LE_SECURITY_ENABLE", + "is_menuconfig": true, + "name": "BT_LE_SECURITY_ENABLE", + "range": null, + "title": "Enable BLE SM feature", + "type": "menu" + }, + { + "children": [], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "BLE list size", + "id": "BT_LE_WHITELIST_SIZE", + "name": "BT_LE_WHITELIST_SIZE", + "range": null, + "title": "BLE white list size", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "config the max count of duplicate scan list", + "id": "BT_LE_LL_DUP_SCAN_LIST_COUNT", + "name": "BT_LE_LL_DUP_SCAN_LIST_COUNT", + "range": null, + "title": "BLE duplicate scan list count", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "Sleep clock accuracy of our device (in ppm)\nThe Bluetooth LE spec requires a Sleep Clock Accuracy (SCA) of < \u00b1500 ppm.\nThis options allows for a larger value to enable the use of less accurate clock sources.", + "id": "BT_LE_LL_SCA", + "name": "BT_LE_LL_SCA", + "range": null, + "title": "BLE Sleep clock accuracy", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_LE_LL_PEER_SCA_SET_ENABLE && BT_CONTROLLER_ENABLED", + "help": "Set the sleep clock accuracy of peer device", + "id": "BT_LE_LL_PEER_SCA", + "name": "BT_LE_LL_PEER_SCA", + "range": null, + "title": "Constant peer sleep clock accuracy value", + "type": "int" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "Enable setting of constant peer SCA, use this if peer device has SCA larger than 500 PPM.\nEnable this option, the controller will always use BT_LE_LL_PEER_SCA as the peer SCA value\nto calculate the window widening instead of the value received from peer device.", + "id": "BT_LE_LL_PEER_SCA_SET_ENABLE", + "name": "BT_LE_LL_PEER_SCA_SET_ENABLE", + "range": null, + "title": "Enable to set constant peer SCA", + "type": "bool" + }, + { + "children": [], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Defines maximum number of concurrent BLE connections. For ESP32, user\nis expected to configure BTDM_CTRL_BLE_MAX_CONN from controller menu\nalong with this option. Similarly for ESP32-C3 or ESP32-S3, user is expected to\nconfigure BT_CTRL_BLE_MAX_ACT from controller menu.\nEach connection will take about 1k DRAM.", + "id": "BT_LE_MAX_CONNECTIONS", + "name": "BT_LE_MAX_CONNECTIONS", + "range": null, + "title": "Maximum number of concurrent connections", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Always enable the limitation on max tx/rx time for Coded-PHY connection", + "id": "BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN", + "name": "BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN", + "range": null, + "title": "Force Enable", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Disable the limitation on max tx/rx time for Coded-PHY connection", + "id": "BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS", + "name": "BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS", + "range": null, + "title": "Force Disable", + "type": "bool" + } + ], + "depends_on": "ESP_COEX_SW_COEXIST_ENABLE && BT_CONTROLLER_ENABLED", + "help": "When using PHY-Coded in BLE connection, limitation on max tx/rx time can be applied to\nbetter avoid dramatic performance deterioration of Wi-Fi.", + "id": "component-config-bluetooth-controller-options-coexistence-limit-on-max-tx-rx-time-for-coded-phy-connection-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-589", + "name": "BT_LE_COEX_PHY_CODED_TX_RX_TLIM", + "title": "Coexistence: limit on MAX Tx/Rx time for coded-PHY connection", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF", + "name": "BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "Enable BLE sleep", + "id": "BT_LE_SLEEP_ENABLE", + "name": "BT_LE_SLEEP_ENABLE", + "range": null, + "title": "Enable BLE sleep", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "User main XTAL as RTC clock source.\nThis option is recommended if external 32.768k XTAL is not available.\nUsing the external 32.768 kHz XTAL will have lower current consumption\nin light sleep compared to using the main XTAL.", + "id": "BT_LE_LP_CLK_SRC_MAIN_XTAL", + "name": "BT_LE_LP_CLK_SRC_MAIN_XTAL", + "range": null, + "title": "Use main XTAL as RTC clock source", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Use the same slow clock source as system RTC\nUsing any clock source other than external 32.768 kHz XTAL supports only\nlegacy ADV and SCAN due to low clock accuracy.", + "id": "BT_LE_LP_CLK_SRC_DEFAULT", + "name": "BT_LE_LP_CLK_SRC_DEFAULT", + "range": null, + "title": "Use system RTC slow clock source", + "type": "bool" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": null, + "id": "component-config-bluetooth-controller-options-ble-low-power-clock-source-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-620", + "name": "BT_LE_LP_CLK_SRC", + "title": "BLE low power clock source", + "type": "choice" + }, + { + "children": [], + "depends_on": "!BT_NIMBLE_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Set this option to use Esp Timer which has higher priority timer\ninstead of FreeRTOS timer", + "id": "BT_LE_USE_ESP_TIMER", + "name": "BT_LE_USE_ESP_TIMER", + "range": null, + "title": "Enable Esp Timer for Callout", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP && BT_CONTROLLER_ENABLED", + "help": "The number of unprocessed advertising report that bluetooth host can save.If you set\n`BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` to a small value, this may cause adv packets lost.\nIf you set `BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` to a large value, bluetooth host may cache a\nlot of adv packets and this may cause system memory run out. For example, if you set\nit to 50, the maximum memory consumed by host is 35 * 50 bytes. Please set\n`BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM` according to your system free memory and handle adv\npackets as fast as possible, otherwise it will cause adv packets lost.", + "id": "BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM", + "name": "BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM", + "range": null, + "title": "BLE adv report flow control number", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP && BT_CONTROLLER_ENABLED", + "help": "When adv report flow control is enabled, The ADV lost event will be generated when the number\nof ADV packets lost in the controller reaches this threshold. It is better to set a larger value.\nIf you set `BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD` to a small value or printf every adv lost event, it\nmay cause adv packets lost more.", + "id": "BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD", + "name": "BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD", + "range": null, + "title": "BLE adv lost event threshold value", + "type": "int" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "The function is mainly used to enable flow control for advertising reports. When it is enabled,\nadvertising reports will be discarded by the controller if the number of unprocessed advertising\nreports exceeds the size of BLE adv report flow control.", + "id": "BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP", + "name": "BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP", + "range": null, + "title": "BLE adv report flow control supported", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "This way is to use advertiser address filtering. The adv packet of the same address is only\nallowed to be reported once", + "id": "BT_LE_SCAN_DUPL_TYPE_DEVICE", + "name": "BT_LE_SCAN_DUPL_TYPE_DEVICE", + "range": null, + "title": "Scan Duplicate By Device Address", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "This way is to use advertising data filtering. All same advertising data only allow to be reported\nonce even though they are from different devices.", + "id": "BT_LE_SCAN_DUPL_TYPE_DATA", + "name": "BT_LE_SCAN_DUPL_TYPE_DATA", + "range": null, + "title": "Scan Duplicate By Advertising Data", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "This way is to use advertising data and device address filtering. All different adv packets with\nthe same address are allowed to be reported.", + "id": "BT_LE_SCAN_DUPL_TYPE_DATA_DEVICE", + "name": "BT_LE_SCAN_DUPL_TYPE_DATA_DEVICE", + "range": null, + "title": "Scan Duplicate By Device Address And Advertising Data", + "type": "bool" + } + ], + "depends_on": "BT_LE_SCAN_DUPL && BT_CONTROLLER_ENABLED", + "help": "Scan duplicate have three ways. one is \"Scan Duplicate By Device Address\", This way is to use\nadvertiser address filtering. The adv packet of the same address is only allowed to be reported once.\nAnother way is \"Scan Duplicate By Device Address And Advertising Data\". This way is to use advertising\ndata and device address filtering. All different adv packets with the same address are allowed to be\nreported. The last way is \"Scan Duplicate By Advertising Data\". This way is to use advertising data\nfiltering. All same advertising data only allow to be reported once even though they are from\ndifferent devices.", + "id": "component-config-bluetooth-controller-options-ble-scan-duplicate-options-scan-duplicate-type-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-686", + "name": "BT_LE_SCAN_DUPL_TYPE", + "title": "Scan Duplicate Type", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_LE_SCAN_DUPL && BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_SCAN_DUPL_TYPE", + "name": "BT_LE_SCAN_DUPL_TYPE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_LE_SCAN_DUPL && BT_CONTROLLER_ENABLED", + "help": "If the period value is non-zero, the controller will periodically clear the device information\nstored in the scan duuplicate filter. If it is 0, the scan duuplicate filter will not be cleared\nuntil the scanning is disabled. Duplicate advertisements for this period should not be sent to the\nHost in advertising report events.\nThere are two scenarios where the ADV packet will be repeatedly reported:\n1. The duplicate scan cache is full, the controller will delete the oldest device information and\nadd new device information.\n2. When the refresh period is up, the controller will clear all device information and start filtering\nagain.", + "id": "BT_LE_SCAN_DUPL_CACHE_REFRESH_PERIOD", + "name": "BT_LE_SCAN_DUPL_CACHE_REFRESH_PERIOD", + "range": null, + "title": "Duplicate scan list refresh period (seconds)", + "type": "int" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "This select enables parameters setting of BLE scan duplicate.", + "id": "BT_LE_SCAN_DUPL", + "name": "BT_LE_SCAN_DUPL", + "range": null, + "title": "BLE Scan Duplicate Options", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_MSYS_INIT_IN_CONTROLLER", + "name": "BT_LE_MSYS_INIT_IN_CONTROLLER", + "range": null, + "title": "Msys Mbuf Init in Controller", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_LE_TX_CCA_ENABLED && BT_CONTROLLER_ENABLED", + "help": "Power threshold of CCA in unit of -1 dBm.", + "id": "BT_LE_CCA_RSSI_THRESH", + "name": "BT_LE_CCA_RSSI_THRESH", + "range": null, + "title": "CCA RSSI threshold value", + "type": "int" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "Enable CCA feature to cancel sending the packet if the signal power is stronger than CCA threshold.", + "id": "BT_LE_TX_CCA_ENABLED", + "name": "BT_LE_TX_CCA_ENABLED", + "range": null, + "title": "Enable TX CCA feature", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_N15", + "name": "BT_LE_DFT_TX_POWER_LEVEL_N15", + "range": null, + "title": "-15dBm", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_N12", + "name": "BT_LE_DFT_TX_POWER_LEVEL_N12", + "range": null, + "title": "-12dBm", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_N9", + "name": "BT_LE_DFT_TX_POWER_LEVEL_N9", + "range": null, + "title": "-9dBm", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_N6", + "name": "BT_LE_DFT_TX_POWER_LEVEL_N6", + "range": null, + "title": "-6dBm", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_N3", + "name": "BT_LE_DFT_TX_POWER_LEVEL_N3", + "range": null, + "title": "-3dBm", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_N0", + "name": "BT_LE_DFT_TX_POWER_LEVEL_N0", + "range": null, + "title": "0dBm", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_P3", + "name": "BT_LE_DFT_TX_POWER_LEVEL_P3", + "range": null, + "title": "+3dBm", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_P6", + "name": "BT_LE_DFT_TX_POWER_LEVEL_P6", + "range": null, + "title": "+6dBm", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_P9", + "name": "BT_LE_DFT_TX_POWER_LEVEL_P9", + "range": null, + "title": "+9dBm", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_P12", + "name": "BT_LE_DFT_TX_POWER_LEVEL_P12", + "range": null, + "title": "+12dBm", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_P15", + "name": "BT_LE_DFT_TX_POWER_LEVEL_P15", + "range": null, + "title": "+15dBm", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_P18", + "name": "BT_LE_DFT_TX_POWER_LEVEL_P18", + "range": null, + "title": "+18dBm", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_P20", + "name": "BT_LE_DFT_TX_POWER_LEVEL_P20", + "range": null, + "title": "+20dBm", + "type": "bool" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "Specify default Tx power level(dBm).", + "id": "component-config-bluetooth-controller-options-ble-default-tx-power-level-dbm--home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-760", + "name": "BT_LE_DFT_TX_POWER_LEVEL_DBM", + "title": "BLE default Tx power level(dBm)", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_DFT_TX_POWER_LEVEL_DBM_EFF", + "name": "BT_LE_DFT_TX_POWER_LEVEL_DBM_EFF", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "Enabling this option will add stricter verification of the Access Address in the CONNECT_IND PDU.\nThis improves security by ensuring that only connection requests with valid Access Addresses are accepted.\nIf disabled, only basic checks are applied, improving compatibility.", + "id": "BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS", + "name": "BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS", + "range": null, + "title": "Enable enhanced Access Address check in CONNECT_IND", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "Move most IRAM into flash. This will increase the usage of flash and reduce ble performance.\nBecause the code is moved to the flash, the execution speed of the code is reduced.\nTo have a small impact on performance, you need to enable flash suspend (SPI_FLASH_AUTO_SUSPEND).", + "id": "BT_CTRL_RUN_IN_FLASH_ONLY", + "name": "BT_CTRL_RUN_IN_FLASH_ONLY", + "range": null, + "title": "Reduce BLE IRAM usage (READ DOCS FIRST) (EXPERIMENTAL)", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "If this option is enabled, Controller will terminate the connection\nwhen Instant Passed (0x28) error occurs during connection update procedure.", + "id": "BT_LE_CTRL_LLCP_CONN_UPDATE", + "name": "BT_LE_CTRL_LLCP_CONN_UPDATE", + "range": null, + "title": "BLE ACL connection update procedure", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "If this option is enabled, Controller will terminate the connection\nwhen Instant Passed (0x28) error occurs in channel map update procedure.", + "id": "BT_LE_CTRL_LLCP_CHAN_MAP_UPDATE", + "name": "BT_LE_CTRL_LLCP_CHAN_MAP_UPDATE", + "range": null, + "title": "BLE ACL channel map update procedure", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "If this option is enabled, Controller will terminate the connection\nwhen Instant Passed (0x28) error occurs in PHY update procedure.", + "id": "BT_LE_CTRL_LLCP_PHY_UPDATE", + "name": "BT_LE_CTRL_LLCP_PHY_UPDATE", + "range": null, + "title": "BLE ACL PHY update procedure", + "type": "bool" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "id": "component-config-bluetooth-controller-options-ble-disconnects-when-instant-passed-0x28-occurs-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-826", + "title": "BLE disconnects when Instant Passed (0x28) occurs", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "The value of upperlimitmax needs to be a power of 2.", + "id": "BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX", + "name": "BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX", + "range": null, + "title": "The value of upperlimitmax during scan backoff procedure", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "If this option is enabled, The Controller will records the communication quality\nfor each channel and then start a timer to check and update the channel map every 4 seconds.", + "id": "BT_LE_CTRL_CHAN_ASS_EN", + "name": "BT_LE_CTRL_CHAN_ASS_EN", + "range": null, + "title": "Enable channel assessment(Experimental)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "When this option is enabled, auxiliary packets will be present in the events of\n'Non-Connectable and Non-Scannable' regardless of whether the advertising length is 0.\nIf this option is not enabled, auxiliary packets will only be present when the advertising length is not 0.", + "id": "BT_LE_CTRL_ADV_DATA_LENGTH_ZERO_AUX", + "name": "BT_LE_CTRL_ADV_DATA_LENGTH_ZERO_AUX", + "range": null, + "title": "Enable aux packet when ext adv data length is zero(Experimental)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_RXBUF_OPT_ENABLED", + "name": "BT_LE_RXBUF_OPT_ENABLED", + "range": null, + "title": "Enable rxbuf optimization feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "If this option is enabled, The Controller will continue to\nSend an empty PDU after sending valid connection data within an interval.", + "id": "BT_LE_CTRL_FAST_CONN_DATA_TX_EN", + "name": "BT_LE_CTRL_FAST_CONN_DATA_TX_EN", + "range": null, + "title": "Enable fast sending of connection data", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "This value sets the number the Controller will allocate for extended advertisement\ninstances at initialization process. If more extended advertisement instances are\nenabled, those memory will be dynamically allocated.\nUsing reduced amount of reserved memory will save heap size at the cost of extra\ntime consumption at advertising start process and possible advertising start failure\ndue to memory shortage.\nThe actual reserved memory count will be the minimum value between the maximum\nextended advertisement instances and the BT_LE_EXT_ADV_RESERVED_MEMORY_COUNT.", + "id": "BT_LE_EXT_ADV_RESERVED_MEMORY_COUNT", + "name": "BT_LE_EXT_ADV_RESERVED_MEMORY_COUNT", + "range": null, + "title": "The value of reserved EXT ADV memory count at initialization", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "This value sets the number the Controller will allocate for connection instances\nat the initialization process. If more connection instances are enabled, those\nmemory will be dynamically allocated.\nUsing reduced amount of reserved memory will save heap size at the cost of extra\ntime consumption at connection establishment process and possible connection\nestablishment failure due to memory shortage.\nThe actual reserved memory count will be the minimum value between the maximum\nconnection instances and the BT_LE_CONN_RESERVED_MEMORY_COUNT.", + "id": "BT_LE_CONN_RESERVED_MEMORY_COUNT", + "name": "BT_LE_CONN_RESERVED_MEMORY_COUNT", + "range": null, + "title": "The value of reserved CONN memory count at initialization", + "type": "int" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "id": "component-config-bluetooth-controller-options-reserved-memory-config-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-882", + "title": "Reserved Memory Config", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_DTM_ENABLED", + "name": "BT_LE_DTM_ENABLED", + "range": null, + "title": "Enable Direct Test Mode (DTM) feature", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_ADV_SCHED_PRIO_LOW_LEVEL", + "name": "BT_LE_ADV_SCHED_PRIO_LOW_LEVEL", + "range": null, + "title": "low priority level", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_ADV_SCHED_PRIO_MID_LEVEL", + "name": "BT_LE_ADV_SCHED_PRIO_MID_LEVEL", + "range": null, + "title": "medium priority level", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_ADV_SCHED_PRIO_HIGH_LEVEL", + "name": "BT_LE_ADV_SCHED_PRIO_HIGH_LEVEL", + "range": null, + "title": "high priority level", + "type": "bool" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "The Adv scheduling priority level is used for arbitration when internal scheduling conflicts.", + "id": "component-config-bluetooth-controller-options-scheduling-priority-level-config-the-adv-scheduling-priority-level-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-918", + "name": "BT_LE_ADV_SCHED_PRIO_LEVEL", + "title": "The Adv scheduling priority level", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_DFT_ADV_SCHED_PRIO_LEVEL", + "name": "BT_LE_DFT_ADV_SCHED_PRIO_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_PERIODIC_ADV_SCHED_PRIO_LOW_LEVEL", + "name": "BT_LE_PERIODIC_ADV_SCHED_PRIO_LOW_LEVEL", + "range": null, + "title": "low priority level", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_PERIODIC_ADV_SCHED_PRIO_MID_LEVEL", + "name": "BT_LE_PERIODIC_ADV_SCHED_PRIO_MID_LEVEL", + "range": null, + "title": "medium priority level", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_PERIODIC_ADV_SCHED_PRIO_HIGH_LEVEL", + "name": "BT_LE_PERIODIC_ADV_SCHED_PRIO_HIGH_LEVEL", + "range": null, + "title": "high priority level", + "type": "bool" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "The Periodic Adv scheduling priority level is used for arbitration when internal scheduling conflicts.", + "id": "component-config-bluetooth-controller-options-scheduling-priority-level-config-the-periodic-adv-scheduling-priority-level-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-938", + "name": "BT_LE_PERIODIC_ADV_SCHED_PRIO_LEVEL", + "title": "The Periodic Adv scheduling priority level", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_DFT_PERIODIC_ADV_SCHED_PRIO_LEVEL", + "name": "BT_LE_DFT_PERIODIC_ADV_SCHED_PRIO_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_SYNC_SCHED_PRIO_LOW_LEVEL", + "name": "BT_LE_SYNC_SCHED_PRIO_LOW_LEVEL", + "range": null, + "title": "low priority level", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_SYNC_SCHED_PRIO_MID_LEVEL", + "name": "BT_LE_SYNC_SCHED_PRIO_MID_LEVEL", + "range": null, + "title": "medium priority level", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BT_LE_SYNC_SCHED_PRIO_HIGH_LEVEL", + "name": "BT_LE_SYNC_SCHED_PRIO_HIGH_LEVEL", + "range": null, + "title": "high priority level", + "type": "bool" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "The SYNC scheduling priority level is used for arbitration when internal scheduling conflicts.", + "id": "component-config-bluetooth-controller-options-scheduling-priority-level-config-the-sync-scheduling-priority-level-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-958", + "name": "BT_LE_SYNC_SCHED_PRIO_LEVEL", + "title": "The Sync scheduling priority level", + "type": "choice" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": null, + "id": "BT_LE_DFT_SYNC_SCHED_PRIO_LEVEL", + "name": "BT_LE_DFT_SYNC_SCHED_PRIO_LEVEL", + "range": null, + "title": null, + "type": "int" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "id": "component-config-bluetooth-controller-options-scheduling-priority-level-config-home-claw-.platformio-packages-framework-espidf-components-bt-controller-esp32c6-Kconfig.in-917", + "title": "Scheduling Priority Level Config", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "When this option is enabled, the Controller continues receiving PDUs\nIn the next connection event instead of entering latency\nAfter a data packet is received.", + "id": "BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN", + "name": "BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN", + "range": null, + "title": "Enable Peripheral fast PDU reception during latency", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "When this option is enabled, the Controller automatically initiates a data length update\nUsing the appropriate data length parameters\nWhen a PHY update or a connection interval update occurs.", + "id": "BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN", + "name": "BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN", + "range": null, + "title": "Enables the automatic initiation of a data length update(Experimental).", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED", + "help": "Reduce the latency between issuing the advertising enable command\nand the actual on-air transmission by executing the advertising TX\npath from IRAM.\nNote: Enabling this option increases IRAM usage.", + "id": "BT_LE_CTRL_ADV_FAST_TX_EN", + "name": "BT_LE_CTRL_ADV_FAST_TX_EN", + "range": null, + "title": "Reduce adv enable-to-air latency (READ DOCS FIRST) (EXPERIMENTAL)", + "type": "bool" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED", + "id": "component-config-bluetooth-controller-options-home-claw-.platformio-packages-framework-espidf-components-bt-Kconfig-67", + "title": "Controller Options", + "type": "menu" + }, + { + "children": [], + "depends_on": "BT_ENABLED && BT_LE_RELEASE_IRAM_SUPPORTED", + "help": "This option release Bluetooth text section and merge Bluetooth data, bss & text into\na large free heap region when esp_bt_mem_release is called, total saving ~21kB or more of IRAM.\nESP32-C2 only 3 configurable PMP entries available, rest of them are hard-coded.\nWe cannot split the memory into 3 different regions (IRAM, BLE-IRAM, DRAM).\nSo this option will disable the memory protection scheme (ESP_SYSTEM_MEMPROT)", + "id": "BT_RELEASE_IRAM", + "name": "BT_RELEASE_IRAM", + "range": null, + "title": "Release Bluetooth text (READ DOCS FIRST)", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLUEDROID_ENABLED || BT_NIMBLE_ENABLED", + "help": "This option decides the maximum number of alarms which\ncould be used by Bluetooth host.", + "id": "BT_ALARM_MAX_NUM", + "name": "BT_ALARM_MAX_NUM", + "range": null, + "title": "Maximum number of Bluetooth alarms", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Use TinyCrypt library for cryptographic operations.\nTinyCrypt is a lightweight cryptographic library designed for constrained devices.\nThis can reduce code size compared to the native implementation.\nThis is the default option.", + "id": "BT_SMP_CRYPTO_STACK_TINYCRYPT", + "name": "BT_SMP_CRYPTO_STACK_TINYCRYPT", + "range": null, + "title": "TinyCrypt", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Use mbedTLS library for cryptographic operations.\nThis can provide hardware acceleration on supported platforms and reduce code size\nby sharing crypto implementations with other components.", + "id": "BT_SMP_CRYPTO_STACK_MBEDTLS", + "name": "BT_SMP_CRYPTO_STACK_MBEDTLS", + "range": null, + "title": "mbedTLS", + "type": "bool" + } + ], + "depends_on": "BT_BLE_SMP_ENABLE || BT_SMP_ENABLE || BT_NIMBLE_SECURITY_ENABLE", + "help": "Select the cryptographic library to use for SMP operations (AES, AES-CMAC, ECDH P-256).", + "id": "component-config-bluetooth-common-options-smp-cryptographic-stack-home-claw-.platformio-packages-framework-espidf-components-bt-common-Kconfig.in-9", + "name": "BT_SMP_CRYPTO_STACK", + "title": "SMP cryptographic stack", + "type": "choice" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_LOG_ENABLED", + "help": "Stack size for BLE Log Task", + "id": "BLE_LOG_TASK_STACK_SIZE", + "name": "BLE_LOG_TASK_STACK_SIZE", + "range": null, + "title": "Stack size for BLE Log Task", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_LOG_ENABLED", + "help": "There're 2 log buffer managers (LBMs) with compare-and-swap\n(CAS) protection, 1 LBM with FreeRTOS mutex protection, 1 LBM\nwithout protection for critical section. Each LBM is managing\n2 ping-pong buffers, which means there will be 4 * 2 *\nBLE_LOG_LBM_TRANS_SIZE bytes buffer allocated", + "id": "BLE_LOG_LBM_TRANS_SIZE", + "name": "BLE_LOG_LBM_TRANS_SIZE", + "range": null, + "title": "Buffer size for each peripheral transport", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_LOG_ENABLED", + "help": "BLE Log module will search for an LBM with atomic lock protection first; if\nall LBMs with atomic lock protection are unavailable, BLE Log module will\ntry to use the LBM with spin lock protection. So the more LBMs with atomic\nlock protection are created, the better the logging performance will be.", + "id": "BLE_LOG_LBM_ATOMIC_LOCK_TASK_CNT", + "name": "BLE_LOG_LBM_ATOMIC_LOCK_TASK_CNT", + "range": null, + "title": "Count of log buffer managers with atomic lock protection for task context", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_LOG_ENABLED", + "help": "BLE Log module will search for an LBM with atomic lock protection first; if\nall LBMs with atomic lock protection are unavailable, BLE Log module will\ntry to use the LBM with spin lock protection. So the more LBMs with atomic\nlock protection are created, the more ISRs can nest.", + "id": "BLE_LOG_LBM_ATOMIC_LOCK_ISR_CNT", + "name": "BLE_LOG_LBM_ATOMIC_LOCK_ISR_CNT", + "range": null, + "title": "Count of log buffer managers with atomic lock protection for ISR context", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED && SOC_ESP_NIMBLE_CONTROLLER && BLE_LOG_ENABLED", + "help": "Current BLE Controller is ESP BLE Controller", + "id": "BLE_LOG_IS_ESP_CONTROLLER", + "name": "BLE_LOG_IS_ESP_CONTROLLER", + "range": null, + "title": "Current BLE Controller is ESP BLE Controller", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_CONTROLLER_ENABLED && !SOC_ESP_NIMBLE_CONTROLLER && BT_CTRL_RUN_IN_FLASH_ONLY && BLE_LOG_ENABLED", + "help": "Current BLE Controller is ESP BLE Legacy Controller", + "id": "BLE_LOG_IS_ESP_LEGACY_CONTROLLER", + "name": "BLE_LOG_IS_ESP_LEGACY_CONTROLLER", + "range": null, + "title": "Current BLE Controller is ESP BLE Legacy Controller", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_LOG_LL_ENABLED && BLE_LOG_ENABLED", + "help": "There're 2 Link Layer dedicated log buffer managers (LBMs) with\ncompare-and-swap (CAS) protection. Each LBM is managing 2 ping-\npong buffers, which means there will be additional 2 * 2 *\nBLE_LOG_LBM_LL_TRANS_SIZE bytes buffer allocated", + "id": "BLE_LOG_LBM_LL_TRANS_SIZE", + "name": "BLE_LOG_LBM_LL_TRANS_SIZE", + "range": null, + "title": "Buffer size for each peripheral transport of Link Layer LBM", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_LOG_LL_HCI_LOG_PAYLOAD_LEN_LIMIT_ENABLED && BLE_LOG_LL_ENABLED && BLE_LOG_ENABLED", + "help": "Maximum length for LL HCI Log payload (len_append).\nWhen the feature is enabled and len_append exceeds this value,\nit will be truncated.", + "id": "BLE_LOG_LL_HCI_LOG_PAYLOAD_LEN_LIMIT", + "name": "BLE_LOG_LL_HCI_LOG_PAYLOAD_LEN_LIMIT", + "range": null, + "title": "LL HCI Log Payload Length Limit (bytes)", + "type": "int" + } + ], + "depends_on": "BLE_LOG_LL_ENABLED && BLE_LOG_ENABLED", + "help": "Enable length limit for LL HCI Log payload (addr_append).\nWhen enabled, if len_append exceeds the configured limit,\nit will be truncated to the maximum length.", + "id": "BLE_LOG_LL_HCI_LOG_PAYLOAD_LEN_LIMIT_ENABLED", + "name": "BLE_LOG_LL_HCI_LOG_PAYLOAD_LEN_LIMIT_ENABLED", + "range": null, + "title": "Enable LL HCI Log Payload Length Limit", + "type": "bool" + } + ], + "depends_on": "BT_CONTROLLER_ENABLED && BLE_LOG_ENABLED", + "help": "Enable BLE Log for Link Layer", + "id": "BLE_LOG_LL_ENABLED", + "name": "BLE_LOG_LL_ENABLED", + "range": null, + "title": "Enable BLE Log for Link Layer", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_LOG_ENABLED", + "help": "Enable BLE Host side HCI Logging", + "id": "BLE_LOG_HOST_SIDE_HCI_LOG_ENABLED", + "name": "BLE_LOG_HOST_SIDE_HCI_LOG_ENABLED", + "range": null, + "title": "Enable BLE Host side HCI Logging", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_LOG_ENABLED", + "help": "Checksum is the default method for BLE Log data integrity check,\nbut for targets with slow CPU speed, it may cause significant system\nperformance decrease; a compromise could be made to balance the\nrealtime performance and log data integrity, which is calculating the\nchecksum of frame head and payload all together by default, or only\ncalculate the checksum of frame head to minimize performance decrease", + "id": "BLE_LOG_PAYLOAD_CHECKSUM_ENABLED", + "name": "BLE_LOG_PAYLOAD_CHECKSUM_ENABLED", + "range": null, + "title": "Enable payload checksum for BLE Log data integrity check", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_LOG_ENABLED", + "help": "XOR checksum is introduced for integrity check performance optimization.", + "id": "BLE_LOG_XOR_CHECKSUM_ENABLED", + "name": "BLE_LOG_XOR_CHECKSUM_ENABLED", + "range": null, + "title": "Enable XOR checksum for BLE Log payload integrity check", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_LOG_ENABLED", + "help": "Enable enhanced statistics for written/lost frame/bytes count, which may\ncost additional ~100kB memory", + "id": "BLE_LOG_ENH_STAT_ENABLED", + "name": "BLE_LOG_ENH_STAT_ENABLED", + "range": null, + "title": "Enable enhanced statistics for BLE Log", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_LOG_TS_ENABLED && BLE_LOG_TS_ENABLED && BLE_LOG_ENABLED", + "help": "GPIO number for TS toggle output", + "id": "BLE_LOG_SYNC_IO_NUM", + "name": "BLE_LOG_SYNC_IO_NUM", + "range": null, + "title": "GPIO number for Timestamp Synchronization (TS) toggle output", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_LOG_TS_ENABLED && BLE_LOG_ENABLED", + "help": "Timeout (ms) for Timestamp Synchronization toggle", + "id": "BLE_LOG_TS_TRIGGER_TIMEOUT_MS", + "name": "BLE_LOG_TS_TRIGGER_TIMEOUT_MS", + "range": null, + "title": "Timeout (ms) for Timestamp Synchronization toggle", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "ESP Timer based periodic TS trigger", + "id": "BLE_LOG_TS_TRIGGER_ESP_TIMER", + "name": "BLE_LOG_TS_TRIGGER_ESP_TIMER", + "range": null, + "title": "BLE Log Timestamp Synchronization trigger - ESP Timer", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Task Event based TS trigger (Light Sleep Test Compatibility)", + "id": "BLE_LOG_TS_TRIGGER_TASK_EVENT", + "name": "BLE_LOG_TS_TRIGGER_TASK_EVENT", + "range": null, + "title": "BLE Log Timestamp Synchronization trigger - Task Event", + "type": "bool" + } + ], + "depends_on": "BLE_LOG_TS_ENABLED && BLE_LOG_ENABLED", + "help": "Choose BLE Log Timestamp Synchronization trigger", + "id": "component-config-bluetooth-common-options-ble-log-enable-ble-log-module-experimental--enable-ble-log-timestamp-synchronization-ts--ble-log-timestamp-synchronization-trigger-choice-home-claw-.platformio-packages-framework-espidf-components-bt-common-ble_log-Kconfig.in-151", + "name": "BLE_LOG_TS_TRIGGER_CHOICE", + "title": "BLE Log Timestamp Synchronization trigger choice", + "type": "choice" + }, + { + "children": [], + "depends_on": "BLE_LOG_TS_TRIGGER_ESP_TIMER && BLE_LOG_TS_ENABLED && BLE_LOG_ENABLED", + "help": "Utilize ISR dispatch method for ESP Timer as Timestamp Synchronization trigger", + "id": "BLE_LOG_TS_TRIGGER_ESP_TIMER_ISR_DISPATCH_METHOD", + "name": "BLE_LOG_TS_TRIGGER_ESP_TIMER_ISR_DISPATCH_METHOD", + "range": null, + "title": "Utilize ISR dispatch method for ESP Timer as Timestamp Synchronization trigger", + "type": "bool" + } + ], + "depends_on": "BLE_LOG_ENABLED", + "help": "Enable BLE Log TS with external logging module", + "id": "BLE_LOG_TS_ENABLED", + "name": "BLE_LOG_TS_ENABLED", + "range": null, + "title": "Enable BLE Log Timestamp Synchronization (TS)", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Dummy transport (dump only)", + "id": "BLE_LOG_PRPH_DUMMY", + "name": "BLE_LOG_PRPH_DUMMY", + "range": null, + "title": "Dummy transport", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_GPSPI_SUPPORTED && ", + "help": "Utilize SPI master DMA driver as transport", + "id": "BLE_LOG_PRPH_SPI_MASTER_DMA", + "name": "BLE_LOG_PRPH_SPI_MASTER_DMA", + "range": null, + "title": "Utilize SPI master DMA driver as transport", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_UHCI_SUPPORTED && ", + "help": "Utilize UART DMA driver as transport", + "id": "BLE_LOG_PRPH_UART_DMA", + "name": "BLE_LOG_PRPH_UART_DMA", + "range": null, + "title": "Utilize UART DMA driver as transport", + "type": "bool" + } + ], + "depends_on": "BLE_LOG_ENABLED", + "help": "Choose BLE Log peripheral", + "id": "component-config-bluetooth-common-options-ble-log-enable-ble-log-module-experimental--ble-log-peripheral-choice-home-claw-.platformio-packages-framework-espidf-components-bt-common-ble_log-Kconfig.in-178", + "name": "BLE_LOG_PRPH_CHOICE", + "title": "BLE Log peripheral choice", + "type": "choice" + }, + { + "children": [], + "depends_on": "BLE_LOG_PRPH_SPI_MASTER_DMA && BLE_LOG_ENABLED", + "help": "GPIO number of MOSI port for SPI master DMA transport", + "id": "BLE_LOG_PRPH_SPI_MASTER_DMA_MOSI_IO_NUM", + "name": "BLE_LOG_PRPH_SPI_MASTER_DMA_MOSI_IO_NUM", + "range": null, + "title": "GPIO number of MOSI port for SPI master DMA transport", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_LOG_PRPH_SPI_MASTER_DMA && BLE_LOG_ENABLED", + "help": "GPIO number of SCLK port for SPI master DMA transport", + "id": "BLE_LOG_PRPH_SPI_MASTER_DMA_SCLK_IO_NUM", + "name": "BLE_LOG_PRPH_SPI_MASTER_DMA_SCLK_IO_NUM", + "range": null, + "title": "GPIO number of SCLK port for SPI master DMA transport", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_LOG_PRPH_SPI_MASTER_DMA && BLE_LOG_ENABLED", + "help": "GPIO number of CS port for SPI master DMA transport", + "id": "BLE_LOG_PRPH_SPI_MASTER_DMA_CS_IO_NUM", + "name": "BLE_LOG_PRPH_SPI_MASTER_DMA_CS_IO_NUM", + "range": null, + "title": "GPIO number of CS port for SPI master DMA transport", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_LOG_PRPH_UART_DMA && BLE_LOG_ENABLED", + "help": "UART port number for UART DMA", + "id": "BLE_LOG_PRPH_UART_DMA_PORT", + "name": "BLE_LOG_PRPH_UART_DMA_PORT", + "range": null, + "title": "UART port number for UART DMA transport", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_LOG_PRPH_UART_DMA && BLE_LOG_ENABLED", + "help": "Determine the baud rate of UART port", + "id": "BLE_LOG_PRPH_UART_DMA_BAUD_RATE", + "name": "BLE_LOG_PRPH_UART_DMA_BAUD_RATE", + "range": null, + "title": "Baud rate of UART port for UART DMA transport", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_LOG_PRPH_UART_DMA && BLE_LOG_ENABLED", + "help": "GPIO number for UART TX", + "id": "BLE_LOG_PRPH_UART_DMA_TX_IO_NUM", + "name": "BLE_LOG_PRPH_UART_DMA_TX_IO_NUM", + "range": null, + "title": "GPIO number for UART TX", + "type": "int" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Maximum output length for a single log", + "id": "BLE_MESH_COMPRESSED_LOG_BUFFER_LEN", + "name": "BLE_MESH_COMPRESSED_LOG_BUFFER_LEN", + "range": null, + "title": "BLE Mesh log buffer length", + "type": "int" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_STACK_ERR_LOG_COMPRESSION && BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "When this option is enabled, the log data will be output\nthrough both the compressed log interface and the original\nUART interface at the same time, meaning that the log\nstatements will appear on both paths. However, please note\nthat this dual-output approach introduces additional code\nand string constants, which will increase the size of the\nfirmware binary file. When this option is disabled, the\nlogs will no longer be printed through the original UART\noutput path; instead, they will only be output through the\ncompressed log interface. As the code and strings related\nto the original UART output are omitted, the size of the\nfirmware binary file can be effectively reduced.", + "id": "BLE_MESH_STACK_ERR_LOG_PRESERVE", + "name": "BLE_MESH_STACK_ERR_LOG_PRESERVE", + "range": null, + "title": "Keep the original error log statement", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The error log in the BLE-MESH component will be compressed", + "id": "BLE_MESH_STACK_ERR_LOG_COMPRESSION", + "name": "BLE_MESH_STACK_ERR_LOG_COMPRESSION", + "range": null, + "title": "Compress ERROR log of ESP-BLE-MESH", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_STACK_WARN_LOG_COMPRESSION && BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_MESH_STACK_ERR_LOG_PRESERVE", + "id": "BLE_MESH_STACK_WARN_LOG_PRESERVE", + "name": "BLE_MESH_STACK_WARN_LOG_PRESERVE", + "range": null, + "title": "Keep the original warn log statement", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The warn log in the BLE-MESH component will be compressed", + "id": "BLE_MESH_STACK_WARN_LOG_COMPRESSION", + "name": "BLE_MESH_STACK_WARN_LOG_COMPRESSION", + "range": null, + "title": "Compress warn log of ESP-BLE-MESH", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_STACK_INFO_LOG_COMPRESSION && BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_MESH_STACK_ERR_LOG_PRESERVE", + "id": "BLE_MESH_STACK_INFO_LOG_PRESERVE", + "name": "BLE_MESH_STACK_INFO_LOG_PRESERVE", + "range": null, + "title": "Keep the original info log statement", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The info log in the BLE-MESH component will be compressed", + "id": "BLE_MESH_STACK_INFO_LOG_COMPRESSION", + "name": "BLE_MESH_STACK_INFO_LOG_COMPRESSION", + "range": null, + "title": "Compress info log of ESP-BLE-MESH", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_STACK_DEBUG_LOG_COMPRESSION && BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_MESH_STACK_ERR_LOG_PRESERVE", + "id": "BLE_MESH_STACK_DEBUG_LOG_PRESERVE", + "name": "BLE_MESH_STACK_DEBUG_LOG_PRESERVE", + "range": null, + "title": "Keep the original debug log statement", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The debug log in the BLE-MESH component will be compressed", + "id": "BLE_MESH_STACK_DEBUG_LOG_COMPRESSION", + "name": "BLE_MESH_STACK_DEBUG_LOG_COMPRESSION", + "range": null, + "title": "Compress debug log of ESP-BLE-MESH", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "id": "component-config-bluetooth-common-options-ble-log-enable-ble-log-module-experimental--settings-of-ble-log-compression-enable-ble-log-compression-preview-please-read-help-information--enable-ble-mesh-log-compression-preview--select-the-stack-log-tag-to-be-compressed-home-claw-.platformio-packages-framework-espidf-components-bt-common-ble_log-extension-log_compression-Kconfig.in-45", + "title": "Select the stack log tag to be compressed", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_NET_BUF_ERR_LOG_COMPRESSION && BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "When this option is enabled, the log data will be output\nthrough both the compressed log interface and the original\nUART interface at the same time, meaning that the log\nstatements will appear on both paths. However, please note\nthat this dual-output approach introduces additional code\nand string constants, which will increase the size of the\nfirmware binary file. When this option is disabled, the\nlogs will no longer be printed through the original UART\noutput path; instead, they will only be output through the\ncompressed log interface. As the code and strings related\nto the original UART output are omitted, the size of the\nfirmware binary file can be effectively reduced.", + "id": "BLE_MESH_NET_BUF_ERR_LOG_PRESERVE", + "name": "BLE_MESH_NET_BUF_ERR_LOG_PRESERVE", + "range": null, + "title": "Keep the original error log statement", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The error log in the BLE-MESH component will be compressed", + "id": "BLE_MESH_NET_BUF_ERR_LOG_COMPRESSION", + "name": "BLE_MESH_NET_BUF_ERR_LOG_COMPRESSION", + "range": null, + "title": "Compress ERROR log of ESP-BLE-MESH", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_NET_BUF_WARN_LOG_COMPRESSION && BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_MESH_NET_BUF_ERR_LOG_PRESERVE", + "id": "BLE_MESH_NET_BUF_WARN_LOG_PRESERVE", + "name": "BLE_MESH_NET_BUF_WARN_LOG_PRESERVE", + "range": null, + "title": "Keep the original warn log statement", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The warn log in the BLE-MESH component will be compressed", + "id": "BLE_MESH_NET_BUF_WARN_LOG_COMPRESSION", + "name": "BLE_MESH_NET_BUF_WARN_LOG_COMPRESSION", + "range": null, + "title": "Compress warn log of ESP-BLE-MESH", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_NET_BUF_INFO_LOG_COMPRESSION && BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_MESH_NET_BUF_ERR_LOG_PRESERVE", + "id": "BLE_MESH_NET_BUF_INFO_LOG_PRESERVE", + "name": "BLE_MESH_NET_BUF_INFO_LOG_PRESERVE", + "range": null, + "title": "Keep the original info log statement", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The info log in the BLE-MESH component will be compressed", + "id": "BLE_MESH_NET_BUF_INFO_LOG_COMPRESSION", + "name": "BLE_MESH_NET_BUF_INFO_LOG_COMPRESSION", + "range": null, + "title": "Compress info log of ESP-BLE-MESH", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_NET_BUF_DEBUG_LOG_COMPRESSION && BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_MESH_NET_BUF_ERR_LOG_PRESERVE", + "id": "BLE_MESH_NET_BUF_DEBUG_LOG_PRESERVE", + "name": "BLE_MESH_NET_BUF_DEBUG_LOG_PRESERVE", + "range": null, + "title": "Keep the original debug log statement", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The debug log in the BLE-MESH component will be compressed", + "id": "BLE_MESH_NET_BUF_DEBUG_LOG_COMPRESSION", + "name": "BLE_MESH_NET_BUF_DEBUG_LOG_COMPRESSION", + "range": null, + "title": "Compress debug log of ESP-BLE-MESH", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "id": "component-config-bluetooth-common-options-ble-log-enable-ble-log-module-experimental--settings-of-ble-log-compression-enable-ble-log-compression-preview-please-read-help-information--enable-ble-mesh-log-compression-preview--select-the-net-buf-log-tag-to-be-compressed-home-claw-.platformio-packages-framework-espidf-components-bt-common-ble_log-extension-log_compression-Kconfig.in-103", + "title": "Select the net buf log tag to be compressed", + "type": "menu" + } + ], + "depends_on": "BLE_COMPRESSED_LOG_ENABLE && BLE_MESH && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Apply compression to ESP-BLE-MESH protocol stack logs. Requires\nbase BLE compression to be enabled. Specifically optimizes log\nstorage and transmission for ble mesh.\n\nNote: This library depends on additional Python packages. It will\nfunction correctly only after these dependencies are installed;\nrefer to:\n\"components/bt/common/ble_log/log_compression/README.en.md\"\nfor installation instructions.\n\nIf the required packages are not installed, the log-compression\nmechanism will remain disabled even when this Config is enabled.", + "id": "BLE_MESH_COMPRESSED_LOG_ENABLE", + "is_menuconfig": true, + "name": "BLE_MESH_COMPRESSED_LOG_ENABLE", + "range": null, + "title": "Enable BLE Mesh log compression(Preview)", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Maximum output length for a single log", + "id": "BLE_HOST_COMPRESSED_LOG_BUFFER_LEN", + "name": "BLE_HOST_COMPRESSED_LOG_BUFFER_LEN", + "range": null, + "title": "Host log buffer length", + "type": "int" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_BTM_ERROR_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "When this option is enabled, the log data will be output\nthrough both the compressed log interface and the original\nUART interface at the same time, meaning that the log\nstatements will appear on both paths. However, please note\nthat this dual-output approach introduces additional code\nand string constants, which will increase the size of the\nfirmware binary file. When this option is disabled, the\nlogs will no longer be printed through the original UART\noutput path; instead, they will only be output through the\ncompressed log interface. As the code and strings related\nto the original UART output are omitted, the size of the\nfirmware binary file can be effectively reduced.", + "id": "BLE_BLUEDROID_BTM_ERROR_LOG_PRESERVE", + "name": "BLE_BLUEDROID_BTM_ERROR_LOG_PRESERVE", + "range": null, + "title": "Keep the original error log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The error log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_BTM_ERROR_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_BTM_ERROR_LOG_COMPRESSION", + "range": null, + "title": "Compress error log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_BTM_WARNING_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_BTM_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_BTM_WARNING_LOG_PRESERVE", + "name": "BLE_BLUEDROID_BTM_WARNING_LOG_PRESERVE", + "range": null, + "title": "Keep the original warning log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The warning log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_BTM_WARNING_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_BTM_WARNING_LOG_COMPRESSION", + "range": null, + "title": "Compress warning log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_BTM_API_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_BTM_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_BTM_API_LOG_PRESERVE", + "name": "BLE_BLUEDROID_BTM_API_LOG_PRESERVE", + "range": null, + "title": "Keep the original api log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The api log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_BTM_API_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_BTM_API_LOG_COMPRESSION", + "range": null, + "title": "Compress api log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_BTM_EVENT_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_BTM_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_BTM_EVENT_LOG_PRESERVE", + "name": "BLE_BLUEDROID_BTM_EVENT_LOG_PRESERVE", + "range": null, + "title": "Keep the original event log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The event log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_BTM_EVENT_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_BTM_EVENT_LOG_COMPRESSION", + "range": null, + "title": "Compress event log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_BTM_DEBUG_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_BTM_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_BTM_DEBUG_LOG_PRESERVE", + "name": "BLE_BLUEDROID_BTM_DEBUG_LOG_PRESERVE", + "range": null, + "title": "Keep the original debug log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The debug log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_BTM_DEBUG_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_BTM_DEBUG_LOG_COMPRESSION", + "range": null, + "title": "Compress debug log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_BTM_VERBOSE_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_BTM_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_BTM_VERBOSE_LOG_PRESERVE", + "name": "BLE_BLUEDROID_BTM_VERBOSE_LOG_PRESERVE", + "range": null, + "title": "Keep the original verbose log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The verbose log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_BTM_VERBOSE_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_BTM_VERBOSE_LOG_COMPRESSION", + "range": null, + "title": "Compress verbose log of Bluedroid host", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "id": "component-config-bluetooth-common-options-ble-log-enable-ble-log-module-experimental--settings-of-ble-log-compression-enable-ble-log-compression-preview-please-read-help-information--enable-ble-host-log-compression-preview-only-bluedroid-host-for-now--select-the-btm-layer-log-tag-to-be-compressed-home-claw-.platformio-packages-framework-espidf-components-bt-common-ble_log-extension-log_compression-Kconfig.in-186", + "title": "Select the BTM layer log tag to be compressed", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_L2CAP_ERROR_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "When this option is enabled, the log data will be output\nthrough both the compressed log interface and the original\nUART interface at the same time, meaning that the log\nstatements will appear on both paths. However, please note\nthat this dual-output approach introduces additional code\nand string constants, which will increase the size of the\nfirmware binary file. When this option is disabled, the\nlogs will no longer be printed through the original UART\noutput path; instead, they will only be output through the\ncompressed log interface. As the code and strings related\nto the original UART output are omitted, the size of the\nfirmware binary file can be effectively reduced.", + "id": "BLE_BLUEDROID_L2CAP_ERROR_LOG_PRESERVE", + "name": "BLE_BLUEDROID_L2CAP_ERROR_LOG_PRESERVE", + "range": null, + "title": "Keep the original error log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The error log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_L2CAP_ERROR_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_L2CAP_ERROR_LOG_COMPRESSION", + "range": null, + "title": "Compress error log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_L2CAP_WARNING_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_L2CAP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_L2CAP_WARNING_LOG_PRESERVE", + "name": "BLE_BLUEDROID_L2CAP_WARNING_LOG_PRESERVE", + "range": null, + "title": "Keep the original warning log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The warning log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_L2CAP_WARNING_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_L2CAP_WARNING_LOG_COMPRESSION", + "range": null, + "title": "Compress warning log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_L2CAP_API_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_L2CAP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_L2CAP_API_LOG_PRESERVE", + "name": "BLE_BLUEDROID_L2CAP_API_LOG_PRESERVE", + "range": null, + "title": "Keep the original api log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The api log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_L2CAP_API_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_L2CAP_API_LOG_COMPRESSION", + "range": null, + "title": "Compress api log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_L2CAP_EVENT_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_L2CAP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_L2CAP_EVENT_LOG_PRESERVE", + "name": "BLE_BLUEDROID_L2CAP_EVENT_LOG_PRESERVE", + "range": null, + "title": "Keep the original event log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The event log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_L2CAP_EVENT_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_L2CAP_EVENT_LOG_COMPRESSION", + "range": null, + "title": "Compress event log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_L2CAP_DEBUG_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_L2CAP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_L2CAP_DEBUG_LOG_PRESERVE", + "name": "BLE_BLUEDROID_L2CAP_DEBUG_LOG_PRESERVE", + "range": null, + "title": "Keep the original debug log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The debug log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_L2CAP_DEBUG_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_L2CAP_DEBUG_LOG_COMPRESSION", + "range": null, + "title": "Compress debug log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_L2CAP_VERBOSE_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_L2CAP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_L2CAP_VERBOSE_LOG_PRESERVE", + "name": "BLE_BLUEDROID_L2CAP_VERBOSE_LOG_PRESERVE", + "range": null, + "title": "Keep the original verbose log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The verbose log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_L2CAP_VERBOSE_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_L2CAP_VERBOSE_LOG_COMPRESSION", + "range": null, + "title": "Compress verbose log of Bluedroid host", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "id": "component-config-bluetooth-common-options-ble-log-enable-ble-log-module-experimental--settings-of-ble-log-compression-enable-ble-log-compression-preview-please-read-help-information--enable-ble-host-log-compression-preview-only-bluedroid-host-for-now--select-the-la2cap-layer-log-tag-to-be-compressed-home-claw-.platformio-packages-framework-espidf-components-bt-common-ble_log-extension-log_compression-Kconfig.in-271", + "title": "Select the LA2CAP layer log tag to be compressed", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_GAP_ERROR_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "When this option is enabled, the log data will be output\nthrough both the compressed log interface and the original\nUART interface at the same time, meaning that the log\nstatements will appear on both paths. However, please note\nthat this dual-output approach introduces additional code\nand string constants, which will increase the size of the\nfirmware binary file. When this option is disabled, the\nlogs will no longer be printed through the original UART\noutput path; instead, they will only be output through the\ncompressed log interface. As the code and strings related\nto the original UART output are omitted, the size of the\nfirmware binary file can be effectively reduced.", + "id": "BLE_BLUEDROID_GAP_ERROR_LOG_PRESERVE", + "name": "BLE_BLUEDROID_GAP_ERROR_LOG_PRESERVE", + "range": null, + "title": "Keep the original error log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The error log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_GAP_ERROR_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_GAP_ERROR_LOG_COMPRESSION", + "range": null, + "title": "Compress error log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_GAP_WARNING_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_GAP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_GAP_WARNING_LOG_PRESERVE", + "name": "BLE_BLUEDROID_GAP_WARNING_LOG_PRESERVE", + "range": null, + "title": "Keep the original warning log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The warning log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_GAP_WARNING_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_GAP_WARNING_LOG_COMPRESSION", + "range": null, + "title": "Compress warning log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_GAP_API_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_GAP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_GAP_API_LOG_PRESERVE", + "name": "BLE_BLUEDROID_GAP_API_LOG_PRESERVE", + "range": null, + "title": "Keep the original api log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The api log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_GAP_API_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_GAP_API_LOG_COMPRESSION", + "range": null, + "title": "Compress api log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_GAP_EVENT_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_GAP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_GAP_EVENT_LOG_PRESERVE", + "name": "BLE_BLUEDROID_GAP_EVENT_LOG_PRESERVE", + "range": null, + "title": "Keep the original event log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The event log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_GAP_EVENT_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_GAP_EVENT_LOG_COMPRESSION", + "range": null, + "title": "Compress event log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_GAP_DEBUG_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_GAP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_GAP_DEBUG_LOG_PRESERVE", + "name": "BLE_BLUEDROID_GAP_DEBUG_LOG_PRESERVE", + "range": null, + "title": "Keep the original debug log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The debug log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_GAP_DEBUG_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_GAP_DEBUG_LOG_COMPRESSION", + "range": null, + "title": "Compress debug log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_GAP_VERBOSE_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_GAP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_GAP_VERBOSE_LOG_PRESERVE", + "name": "BLE_BLUEDROID_GAP_VERBOSE_LOG_PRESERVE", + "range": null, + "title": "Keep the original verbose log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The verbose log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_GAP_VERBOSE_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_GAP_VERBOSE_LOG_COMPRESSION", + "range": null, + "title": "Compress verbose log of Bluedroid host", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "id": "component-config-bluetooth-common-options-ble-log-enable-ble-log-module-experimental--settings-of-ble-log-compression-enable-ble-log-compression-preview-please-read-help-information--enable-ble-host-log-compression-preview-only-bluedroid-host-for-now--select-the-gap-layer-log-tag-to-be-compressed-home-claw-.platformio-packages-framework-espidf-components-bt-common-ble_log-extension-log_compression-Kconfig.in-355", + "title": "Select the GAP layer log tag to be compressed", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_GATT_ERROR_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "When this option is enabled, the log data will be output\nthrough both the compressed log interface and the original\nUART interface at the same time, meaning that the log\nstatements will appear on both paths. However, please note\nthat this dual-output approach introduces additional code\nand string constants, which will increase the size of the\nfirmware binary file. When this option is disabled, the\nlogs will no longer be printed through the original UART\noutput path; instead, they will only be output through the\ncompressed log interface. As the code and strings related\nto the original UART output are omitted, the size of the\nfirmware binary file can be effectively reduced.", + "id": "BLE_BLUEDROID_GATT_ERROR_LOG_PRESERVE", + "name": "BLE_BLUEDROID_GATT_ERROR_LOG_PRESERVE", + "range": null, + "title": "Keep the original error log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The error log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_GATT_ERROR_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_GATT_ERROR_LOG_COMPRESSION", + "range": null, + "title": "Compress error log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_GATT_WARNING_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_GATT_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_GATT_WARNING_LOG_PRESERVE", + "name": "BLE_BLUEDROID_GATT_WARNING_LOG_PRESERVE", + "range": null, + "title": "Keep the original warning log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The warning log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_GATT_WARNING_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_GATT_WARNING_LOG_COMPRESSION", + "range": null, + "title": "Compress warning log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_GATT_API_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_GATT_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_GATT_API_LOG_PRESERVE", + "name": "BLE_BLUEDROID_GATT_API_LOG_PRESERVE", + "range": null, + "title": "Keep the original api log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The api log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_GATT_API_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_GATT_API_LOG_COMPRESSION", + "range": null, + "title": "Compress api log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_GATT_EVENT_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_GATT_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_GATT_EVENT_LOG_PRESERVE", + "name": "BLE_BLUEDROID_GATT_EVENT_LOG_PRESERVE", + "range": null, + "title": "Keep the original event log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The event log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_GATT_EVENT_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_GATT_EVENT_LOG_COMPRESSION", + "range": null, + "title": "Compress event log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_GATT_DEBUG_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_GATT_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_GATT_DEBUG_LOG_PRESERVE", + "name": "BLE_BLUEDROID_GATT_DEBUG_LOG_PRESERVE", + "range": null, + "title": "Keep the original debug log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The debug log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_GATT_DEBUG_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_GATT_DEBUG_LOG_COMPRESSION", + "range": null, + "title": "Compress debug log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_GATT_VERBOSE_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_GATT_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_GATT_VERBOSE_LOG_PRESERVE", + "name": "BLE_BLUEDROID_GATT_VERBOSE_LOG_PRESERVE", + "range": null, + "title": "Keep the original verbose log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The verbose log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_GATT_VERBOSE_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_GATT_VERBOSE_LOG_COMPRESSION", + "range": null, + "title": "Compress verbose log of Bluedroid host", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "id": "component-config-bluetooth-common-options-ble-log-enable-ble-log-module-experimental--settings-of-ble-log-compression-enable-ble-log-compression-preview-please-read-help-information--enable-ble-host-log-compression-preview-only-bluedroid-host-for-now--select-the-gatt-layer-log-tag-to-be-compressed-home-claw-.platformio-packages-framework-espidf-components-bt-common-ble_log-extension-log_compression-Kconfig.in-439", + "title": "Select the GATT layer log tag to be compressed", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_SMP_ERROR_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "When this option is enabled, the log data will be output\nthrough both the compressed log interface and the original\nUART interface at the same time, meaning that the log\nstatements will appear on both paths. However, please note\nthat this dual-output approach introduces additional code\nand string constants, which will increase the size of the\nfirmware binary file. When this option is disabled, the\nlogs will no longer be printed through the original UART\noutput path; instead, they will only be output through the\ncompressed log interface. As the code and strings related\nto the original UART output are omitted, the size of the\nfirmware binary file can be effectively reduced.", + "id": "BLE_BLUEDROID_SMP_ERROR_LOG_PRESERVE", + "name": "BLE_BLUEDROID_SMP_ERROR_LOG_PRESERVE", + "range": null, + "title": "Keep the original error log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The error log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_SMP_ERROR_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_SMP_ERROR_LOG_COMPRESSION", + "range": null, + "title": "Compress error log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_SMP_WARNING_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_SMP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_SMP_WARNING_LOG_PRESERVE", + "name": "BLE_BLUEDROID_SMP_WARNING_LOG_PRESERVE", + "range": null, + "title": "Keep the original warning log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The warning log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_SMP_WARNING_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_SMP_WARNING_LOG_COMPRESSION", + "range": null, + "title": "Compress warning log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_SMP_API_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_SMP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_SMP_API_LOG_PRESERVE", + "name": "BLE_BLUEDROID_SMP_API_LOG_PRESERVE", + "range": null, + "title": "Keep the original api log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The api log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_SMP_API_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_SMP_API_LOG_COMPRESSION", + "range": null, + "title": "Compress api log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_SMP_EVENT_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_SMP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_SMP_EVENT_LOG_PRESERVE", + "name": "BLE_BLUEDROID_SMP_EVENT_LOG_PRESERVE", + "range": null, + "title": "Keep the original event log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The event log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_SMP_EVENT_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_SMP_EVENT_LOG_COMPRESSION", + "range": null, + "title": "Compress event log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_SMP_DEBUG_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_SMP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_SMP_DEBUG_LOG_PRESERVE", + "name": "BLE_BLUEDROID_SMP_DEBUG_LOG_PRESERVE", + "range": null, + "title": "Keep the original debug log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The debug log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_SMP_DEBUG_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_SMP_DEBUG_LOG_COMPRESSION", + "range": null, + "title": "Compress debug log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_SMP_VERBOSE_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_SMP_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_SMP_VERBOSE_LOG_PRESERVE", + "name": "BLE_BLUEDROID_SMP_VERBOSE_LOG_PRESERVE", + "range": null, + "title": "Keep the original verbose log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The verbose log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_SMP_VERBOSE_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_SMP_VERBOSE_LOG_COMPRESSION", + "range": null, + "title": "Compress verbose log of Bluedroid host", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "id": "component-config-bluetooth-common-options-ble-log-enable-ble-log-module-experimental--settings-of-ble-log-compression-enable-ble-log-compression-preview-please-read-help-information--enable-ble-host-log-compression-preview-only-bluedroid-host-for-now--select-the-smp-layer-log-tag-to-be-compressed-home-claw-.platformio-packages-framework-espidf-components-bt-common-ble_log-extension-log_compression-Kconfig.in-523", + "title": "Select the SMP layer log tag to be compressed", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_APPL_ERROR_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "When this option is enabled, the log data will be output\nthrough both the compressed log interface and the original\nUART interface at the same time, meaning that the log\nstatements will appear on both paths. However, please note\nthat this dual-output approach introduces additional code\nand string constants, which will increase the size of the\nfirmware binary file. When this option is disabled, the\nlogs will no longer be printed through the original UART\noutput path; instead, they will only be output through the\ncompressed log interface. As the code and strings related\nto the original UART output are omitted, the size of the\nfirmware binary file can be effectively reduced.", + "id": "BLE_BLUEDROID_APPL_ERROR_LOG_PRESERVE", + "name": "BLE_BLUEDROID_APPL_ERROR_LOG_PRESERVE", + "range": null, + "title": "Keep the original error log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The error log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_APPL_ERROR_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_APPL_ERROR_LOG_COMPRESSION", + "range": null, + "title": "Compress error log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_APPL_WARNING_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_APPL_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_APPL_WARNING_LOG_PRESERVE", + "name": "BLE_BLUEDROID_APPL_WARNING_LOG_PRESERVE", + "range": null, + "title": "Keep the original warning log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The warning log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_APPL_WARNING_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_APPL_WARNING_LOG_COMPRESSION", + "range": null, + "title": "Compress warning log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_APPL_API_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_APPL_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_APPL_API_LOG_PRESERVE", + "name": "BLE_BLUEDROID_APPL_API_LOG_PRESERVE", + "range": null, + "title": "Keep the original api log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The api log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_APPL_API_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_APPL_API_LOG_COMPRESSION", + "range": null, + "title": "Compress api log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_APPL_EVENT_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_APPL_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_APPL_EVENT_LOG_PRESERVE", + "name": "BLE_BLUEDROID_APPL_EVENT_LOG_PRESERVE", + "range": null, + "title": "Keep the original event log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The event log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_APPL_EVENT_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_APPL_EVENT_LOG_COMPRESSION", + "range": null, + "title": "Compress event log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_APPL_DEBUG_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_APPL_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_APPL_DEBUG_LOG_PRESERVE", + "name": "BLE_BLUEDROID_APPL_DEBUG_LOG_PRESERVE", + "range": null, + "title": "Keep the original debug log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The debug log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_APPL_DEBUG_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_APPL_DEBUG_LOG_COMPRESSION", + "range": null, + "title": "Compress debug log of Bluedroid host", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_BLUEDROID_APPL_VERBOSE_LOG_COMPRESSION && BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Please refer to the help information in BLE_BLUEDROID_APPL_ERROR_LOG_PRESERVE", + "id": "BLE_BLUEDROID_APPL_VERBOSE_LOG_PRESERVE", + "name": "BLE_BLUEDROID_APPL_VERBOSE_LOG_PRESERVE", + "range": null, + "title": "Keep the original verbose log statement", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "The verbose log in the Bluedroid host component will be compressed", + "id": "BLE_BLUEDROID_APPL_VERBOSE_LOG_COMPRESSION", + "name": "BLE_BLUEDROID_APPL_VERBOSE_LOG_COMPRESSION", + "range": null, + "title": "Compress verbose log of Bluedroid host", + "type": "bool" + } + ], + "depends_on": "BLE_HOST_COMPRESSED_LOG_ENABLE && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "id": "component-config-bluetooth-common-options-ble-log-enable-ble-log-module-experimental--settings-of-ble-log-compression-enable-ble-log-compression-preview-please-read-help-information--enable-ble-host-log-compression-preview-only-bluedroid-host-for-now--select-the-appl-layer-log-tag-to-be-compressed-home-claw-.platformio-packages-framework-espidf-components-bt-common-ble_log-extension-log_compression-Kconfig.in-607", + "title": "Select the APPL layer log tag to be compressed", + "type": "menu" + } + ], + "depends_on": "BLE_COMPRESSED_LOG_ENABLE && BT_BLUEDROID_ENABLED && BLE_COMPRESSED_LOG_ENABLE && BLE_LOG_ENABLED", + "help": "Apply compression to host logs. Requires\nbase BLE compression to be enabled. Specifically optimizes log\nstorage and transmission.\n\nNote: This library depends on additional Python packages. It will\nfunction correctly only after these dependencies are installed;\nrefer to:\n\"components/bt/common/ble_log/log_compression/README.en.md\"\nfor installation instructions.", + "id": "BLE_HOST_COMPRESSED_LOG_ENABLE", + "is_menuconfig": true, + "name": "BLE_HOST_COMPRESSED_LOG_ENABLE", + "range": null, + "title": "Enable BLE Host log compression(Preview, only Bluedroid Host for now)", + "type": "menu" + } + ], + "depends_on": "BLE_LOG_ENABLED", + "help": "Compress BLE logs during application build to reduce flash usage\nand improve output speed. When enabled, log data from Bluetooth\nLow Energy components will be compressed before storage,\noptimizing both memory footprint and transmission efficiency.\n\nNote: This library depends on additional Python packages. It will\nfunction correctly only after these dependencies are installed;\nrefer to:\n\"components/bt/common/ble_log/log_compression/README.en.md\"\nfor installation instructions.", + "id": "BLE_COMPRESSED_LOG_ENABLE", + "name": "BLE_COMPRESSED_LOG_ENABLE", + "range": null, + "title": "Enable BLE log compression(Preview, Please read help information)", + "type": "bool" + } + ], + "depends_on": "BLE_LOG_ENABLED", + "id": "component-config-bluetooth-common-options-ble-log-enable-ble-log-module-experimental--settings-of-ble-log-compression-home-claw-.platformio-packages-framework-espidf-components-bt-common-ble_log-Kconfig.in-242", + "title": "Settings of BLE Log Compression", + "type": "menu" + } + ], + "depends_on": null, + "help": "Enable BLE Log Module", + "id": "BLE_LOG_ENABLED", + "name": "BLE_LOG_ENABLED", + "range": null, + "title": "Enable BLE Log Module (Experimental)", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-bluetooth-common-options-ble-log-home-claw-.platformio-packages-framework-espidf-components-bt-common-Kconfig.in-38", + "title": "BLE Log", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_ENABLED", + "help": "SPI transaction buffer size for upper layer task logs.\nThere will be 2 SPI DMA buffers with the same size.", + "id": "BT_BLE_LOG_SPI_OUT_UL_TASK_BUF_SIZE", + "name": "BT_BLE_LOG_SPI_OUT_UL_TASK_BUF_SIZE", + "range": null, + "title": "SPI transaction buffer size for upper layer task logs", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_HCI_ENABLED", + "help": "SPI transaction buffer size for HCI logs.\nThere will be 2 SPI DMA buffers with the same size.", + "id": "BT_BLE_LOG_SPI_OUT_HCI_BUF_SIZE", + "name": "BT_BLE_LOG_SPI_OUT_HCI_BUF_SIZE", + "range": null, + "title": "SPI transaction buffer size for HCI logs", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_HCI_ENABLED", + "help": "HCI task count", + "id": "BT_BLE_LOG_SPI_OUT_HCI_TASK_CNT", + "name": "BT_BLE_LOG_SPI_OUT_HCI_TASK_CNT", + "range": null, + "title": "HCI task count", + "type": "int" + } + ], + "depends_on": "BT_BLE_LOG_SPI_OUT_ENABLED", + "help": "Enable logging of HCI packets to the SPI bus when BLE SPI log output is enabled.", + "id": "BT_BLE_LOG_SPI_OUT_HCI_ENABLED", + "name": "BT_BLE_LOG_SPI_OUT_HCI_ENABLED", + "range": null, + "title": "Enable HCI log output to SPI", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_HOST_ENABLED", + "help": "SPI transaction buffer size for host logs.\nThere will be 2 SPI DMA buffers with the same size.", + "id": "BT_BLE_LOG_SPI_OUT_HOST_BUF_SIZE", + "name": "BT_BLE_LOG_SPI_OUT_HOST_BUF_SIZE", + "range": null, + "title": "SPI transaction buffer size for host logs", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_HOST_ENABLED", + "help": "Host task count.", + "id": "BT_BLE_LOG_SPI_OUT_HOST_TASK_CNT", + "name": "BT_BLE_LOG_SPI_OUT_HOST_TASK_CNT", + "range": null, + "title": "Host task count", + "type": "int" + } + ], + "depends_on": "BT_BLE_LOG_SPI_OUT_ENABLED", + "help": "This configuration applies to the logs of both Bluedroid Host and NimBLE Host.\nWhen BLE SPI log output is enabled, this option allows host logs to be transmitted via SPI.", + "id": "BT_BLE_LOG_SPI_OUT_HOST_ENABLED", + "name": "BT_BLE_LOG_SPI_OUT_HOST_ENABLED", + "range": null, + "title": "Enable Host log output to SPI", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_LL_ENABLED", + "help": "SPI transaction buffer size for lower layer task logs.\nThere will be 2 SPI DMA buffers with the same size.", + "id": "BT_BLE_LOG_SPI_OUT_LL_TASK_BUF_SIZE", + "name": "BT_BLE_LOG_SPI_OUT_LL_TASK_BUF_SIZE", + "range": null, + "title": "SPI transaction buffer size for lower layer task logs", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_LL_ENABLED", + "help": "SPI transaction buffer size for lower layer ISR logs.\nThere will be 2 SPI DMA buffers with the same size.", + "id": "BT_BLE_LOG_SPI_OUT_LL_ISR_BUF_SIZE", + "name": "BT_BLE_LOG_SPI_OUT_LL_ISR_BUF_SIZE", + "range": null, + "title": "SPI transaction buffer size for lower layer ISR logs", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_LL_ENABLED", + "help": "SPI transaction buffer size for upper layer HCI logs.\nThere will be 2 SPI DMA buffers with the same size", + "id": "BT_BLE_LOG_SPI_OUT_LL_HCI_BUF_SIZE", + "name": "BT_BLE_LOG_SPI_OUT_LL_HCI_BUF_SIZE", + "range": null, + "title": "SPI transaction buffer size for lower layer HCI logs", + "type": "int" + } + ], + "depends_on": "BT_BLE_LOG_SPI_OUT_ENABLED && BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED", + "help": "Enable controller log output to SPI bus.", + "id": "BT_BLE_LOG_SPI_OUT_LL_ENABLED", + "name": "BT_BLE_LOG_SPI_OUT_LL_ENABLED", + "range": null, + "title": "Enable Controller log output to SPI", + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_ENABLED", + "help": "GPIO number of SPI MOSI", + "id": "BT_BLE_LOG_SPI_OUT_MOSI_IO_NUM", + "name": "BT_BLE_LOG_SPI_OUT_MOSI_IO_NUM", + "range": null, + "title": "GPIO number of SPI MOSI", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_ENABLED", + "help": "GPIO number of SPI SCLK", + "id": "BT_BLE_LOG_SPI_OUT_SCLK_IO_NUM", + "name": "BT_BLE_LOG_SPI_OUT_SCLK_IO_NUM", + "range": null, + "title": "GPIO number of SPI SCLK", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_ENABLED", + "help": "GPIO number of SPI CS", + "id": "BT_BLE_LOG_SPI_OUT_CS_IO_NUM", + "name": "BT_BLE_LOG_SPI_OUT_CS_IO_NUM", + "range": null, + "title": "GPIO number of SPI CS", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_TS_SYNC_ENABLED", + "help": "GPIO number of SYNC IO", + "id": "BT_BLE_LOG_SPI_OUT_SYNC_IO_NUM", + "name": "BT_BLE_LOG_SPI_OUT_SYNC_IO_NUM", + "range": null, + "title": "GPIO number of SYNC IO", + "type": "int" + } + ], + "depends_on": "BT_BLE_LOG_SPI_OUT_ENABLED", + "help": "Enable ble log & logic analyzer log time sync", + "id": "BT_BLE_LOG_SPI_OUT_TS_SYNC_ENABLED", + "name": "BT_BLE_LOG_SPI_OUT_TS_SYNC_ENABLED", + "range": null, + "title": "Enable ble log & logic analyzer log time sync", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_FLUSH_TIMER_ENABLED", + "help": "Buffer flush out period in unit of ms", + "id": "BT_BLE_LOG_SPI_OUT_FLUSH_TIMEOUT", + "name": "BT_BLE_LOG_SPI_OUT_FLUSH_TIMEOUT", + "range": null, + "title": "Buffer flush out period in unit of ms", + "type": "int" + } + ], + "depends_on": "BT_BLE_LOG_SPI_OUT_ENABLED", + "help": "Enable periodic buffer flush out\nNot recommended when SPI receiver is unavailable", + "id": "BT_BLE_LOG_SPI_OUT_FLUSH_TIMER_ENABLED", + "name": "BT_BLE_LOG_SPI_OUT_FLUSH_TIMER_ENABLED", + "range": null, + "title": "Enable periodic buffer flush out", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_LE_AUDIO_ENABLED", + "help": "SPI transaction buffer size for LE Audio logs.\nThere will be 2 SPI DMA buffers with the same size.", + "id": "BT_BLE_LOG_SPI_OUT_LE_AUDIO_BUF_SIZE", + "name": "BT_BLE_LOG_SPI_OUT_LE_AUDIO_BUF_SIZE", + "range": null, + "title": "SPI transaction buffer size for LE Audio logs", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_LE_AUDIO_ENABLED", + "help": "LE audio task count", + "id": "BT_BLE_LOG_SPI_OUT_LE_AUDIO_TASK_CNT", + "name": "BT_BLE_LOG_SPI_OUT_LE_AUDIO_TASK_CNT", + "range": null, + "title": "LE audio task count", + "type": "int" + } + ], + "depends_on": "BT_BLE_LOG_SPI_OUT_ENABLED", + "help": "Enable LE Audio log output to SPI", + "id": "BT_BLE_LOG_SPI_OUT_LE_AUDIO_ENABLED", + "name": "BT_BLE_LOG_SPI_OUT_LE_AUDIO_ENABLED", + "range": null, + "title": "Enable LE Audio log output to SPI", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_MESH_ENABLED", + "help": "SPI transaction buffer size for BLE mesh logs.\nThere will be 2 SPI DMA buffers with the same size.", + "id": "BT_BLE_LOG_SPI_OUT_MESH_BUF_SIZE", + "name": "BT_BLE_LOG_SPI_OUT_MESH_BUF_SIZE", + "range": null, + "title": "SPI transaction buffer size for BLE mesh logs", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_LOG_SPI_OUT_MESH_ENABLED", + "help": "Mesh task count", + "id": "BT_BLE_LOG_SPI_OUT_MESH_TASK_CNT", + "name": "BT_BLE_LOG_SPI_OUT_MESH_TASK_CNT", + "range": null, + "title": "Mesh task count", + "type": "int" + } + ], + "depends_on": "BT_BLE_LOG_SPI_OUT_ENABLED", + "help": "Enable BLE mesh log output to SPI", + "id": "BT_BLE_LOG_SPI_OUT_MESH_ENABLED", + "name": "BT_BLE_LOG_SPI_OUT_MESH_ENABLED", + "range": null, + "title": "Enable BLE mesh log output to SPI", + "type": "bool" + } + ], + "depends_on": null, + "help": "Output ble logs to SPI bus", + "id": "BT_BLE_LOG_SPI_OUT_ENABLED", + "name": "BT_BLE_LOG_SPI_OUT_ENABLED", + "range": null, + "title": "Output ble logs to SPI bus (Experimental)", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_LOG_UHCI_OUT_ENABLED", + "help": "UART port connected to UHCI controller\nIf UART port 0 is selected, UART VFS Driver, UART ROM Driver\nand UART Driver output would be redirected to BLE Log UHCI Out\nto solve UART Tx FIFO multi-task access issue", + "id": "BT_BLE_LOG_UHCI_OUT_UART_PORT", + "name": "BT_BLE_LOG_UHCI_OUT_UART_PORT", + "range": null, + "title": "UART port connected to UHCI controller", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_LOG_UHCI_OUT_ENABLED", + "help": "UHCI transaction buffer size for lower layer task logs", + "id": "BT_BLE_LOG_UHCI_OUT_LL_TASK_BUF_SIZE", + "name": "BT_BLE_LOG_UHCI_OUT_LL_TASK_BUF_SIZE", + "range": null, + "title": "UHCI transaction buffer size for lower layer task logs", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_LOG_UHCI_OUT_ENABLED", + "help": "UHCI transaction buffer size for lower layer ISR logs", + "id": "BT_BLE_LOG_UHCI_OUT_LL_ISR_BUF_SIZE", + "name": "BT_BLE_LOG_UHCI_OUT_LL_ISR_BUF_SIZE", + "range": null, + "title": "UHCI transaction buffer size for lower layer ISR logs", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_LOG_UHCI_OUT_ENABLED", + "help": "UHCI transaction buffer size for lower layer HCI logs", + "id": "BT_BLE_LOG_UHCI_OUT_LL_HCI_BUF_SIZE", + "name": "BT_BLE_LOG_UHCI_OUT_LL_HCI_BUF_SIZE", + "range": null, + "title": "UHCI transaction buffer size for lower layer HCI logs", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_BLE_LOG_UHCI_OUT_UART_NEED_INIT", + "help": "Baud rate for BT_BLE_LOG_UHCI_OUT_UART_PORT", + "id": "BT_BLE_LOG_UHCI_OUT_UART_BAUD_RATE", + "name": "BT_BLE_LOG_UHCI_OUT_UART_BAUD_RATE", + "range": null, + "title": "Baud rate for BT_BLE_LOG_UHCI_OUT_UART_PORT", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_BLE_LOG_UHCI_OUT_UART_NEED_INIT", + "help": "IO number for UART TX port", + "id": "BT_BLE_LOG_UHCI_OUT_UART_IO_NUM_TX", + "name": "BT_BLE_LOG_UHCI_OUT_UART_IO_NUM_TX", + "range": null, + "title": "IO number for UART TX port", + "type": "int" + } + ], + "depends_on": "BT_BLE_LOG_UHCI_OUT_ENABLED", + "help": "Enable to init UART port", + "id": "BT_BLE_LOG_UHCI_OUT_UART_NEED_INIT", + "name": "BT_BLE_LOG_UHCI_OUT_UART_NEED_INIT", + "range": null, + "title": "Enable to init UART port", + "type": "bool" + } + ], + "depends_on": null, + "help": "Output ble logs via UHCI (UART DMA) driver\nOn enable, BT_BLE_LOG_UHCI_OUT_UART_PORT would be reinited with\nBT_BLE_LOG_UHCI_OUT_UART_BAUD_RATE as new baud rate and\nBT_BLE_LOG_UHCI_OUT_UART_IO_NUM_TX as new UART Tx IO", + "id": "BT_BLE_LOG_UHCI_OUT_ENABLED", + "name": "BT_BLE_LOG_UHCI_OUT_ENABLED", + "range": null, + "title": "Output ble logs via UHCI (UART DMA) driver (Experimental)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Used in internal tests only. Enable used memory statistics.", + "id": "BT_LE_USED_MEM_STATISTICS_ENABLED", + "name": "BT_LE_USED_MEM_STATISTICS_ENABLED", + "range": null, + "title": "Enable used memory statistics", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-bluetooth-common-options-home-claw-.platformio-packages-framework-espidf-components-bt-Kconfig-83", + "title": "Common Options", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BT_HCI_LOG_DEBUG_EN", + "help": "This option is to configure the buffer size of the hci data steam cache in hci debug mode.\nThis is a ring buffer, the new data will overwrite the oldest data if the buffer is full.", + "id": "BT_HCI_LOG_DATA_BUFFER_SIZE", + "name": "BT_HCI_LOG_DATA_BUFFER_SIZE", + "range": null, + "title": "Size of the cache used for HCI data in Bluetooth HCI debug mode (N*1024 bytes)", + "type": "int" + }, + { + "children": [], + "depends_on": "BT_HCI_LOG_DEBUG_EN", + "help": "This option is to configure the buffer size of the hci adv report cache in hci debug mode.\nThis is a ring buffer, the new data will overwrite the oldest data if the buffer is full.", + "id": "BT_HCI_LOG_ADV_BUFFER_SIZE", + "name": "BT_HCI_LOG_ADV_BUFFER_SIZE", + "range": null, + "title": "Size of the cache used for adv report in Bluetooth HCI debug mode (N*1024 bytes)", + "type": "int" + } + ], + "depends_on": "BT_BLUEDROID_ENABLED || BT_NIMBLE_ENABLED", + "help": "This option is used to enable bluetooth debug mode, which saves the hci layer data stream.", + "id": "BT_HCI_LOG_DEBUG_EN", + "name": "BT_HCI_LOG_DEBUG_EN", + "range": null, + "title": "Enable Bluetooth HCI debug mode", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-bluetooth-home-claw-.platformio-packages-framework-espidf-components-bt-Kconfig-1", + "title": "Bluetooth", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH", + "help": "It is a temporary solution and needs further modifications.", + "id": "BLE_MESH_HCI_5_0", + "name": "BLE_MESH_HCI_5_0", + "range": null, + "title": "Support sending 20ms non-connectable adv packets", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Support BLE Mesh v1.1 features", + "id": "BLE_MESH_V11_SUPPORT", + "name": "BLE_MESH_V11_SUPPORT", + "range": null, + "title": "Support ESP BLE Mesh v1.1 features (Preview)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable this option to allow using random advertising interval\nfor mesh packets. And this could help avoid collision of\nadvertising packets.", + "id": "BLE_MESH_RANDOM_ADV_INTERVAL", + "name": "BLE_MESH_RANDOM_ADV_INTERVAL", + "range": null, + "title": "Support using random adv interval for mesh packets", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This configuration path is deprecated and will be removed\nin a future version. Please use the corresponding Kconfig\noptions under $IDF_PATH/components/bt/common/Kconfig.", + "id": "BLE_MESH_USE_UNIFIED_CRYPTO", + "name": "BLE_MESH_USE_UNIFIED_CRYPTO", + "range": null, + "title": "Use the unified BLE tinycrypt implementation(Deprecated)", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_EXT_ADV && BLE_MESH", + "help": "Number of buffer slots allocated for extended advertising packets.", + "id": "BLE_MESH_EXT_ADV_BUF_COUNT", + "name": "BLE_MESH_EXT_ADV_BUF_COUNT", + "range": null, + "title": "Number of extended advertising buffers", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_EXT_ADV && BLE_MESH_RELAY && BLE_MESH", + "help": "Number of buffer slots allocated for extended advertising packets used in message relay.", + "id": "BLE_MESH_EXT_RELAY_ADV_BUF_COUNT", + "name": "BLE_MESH_EXT_RELAY_ADV_BUF_COUNT", + "range": null, + "title": "Number of extended relay advertising buffers", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_LONG_PACKET && BLE_MESH", + "help": "Maximum payload length for extended advertising packets (bytes).\nRange: 30-249 bytes.\nDefault: 105.\nNote: Maximum access payload = (LENGTH - 17) \u00d7 SEGMENT_COUNT\n- Transmission: Uses BLE_MESH_LONG_PACKET_TX_SEG_CNT\n- Reception: Uses BLE_MESH_LONG_PACKET_RX_SEG_CNT", + "id": "BLE_MESH_LONG_PACKET_ADV_LEN", + "name": "BLE_MESH_LONG_PACKET_ADV_LEN", + "range": null, + "title": "Maximum advertising payload length", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_LONG_PACKET && BLE_MESH", + "help": "Number of advertising buffers allocated for long packet transmissions.", + "id": "BLE_MESH_LONG_PACKET_ADV_BUF_COUNT", + "name": "BLE_MESH_LONG_PACKET_ADV_BUF_COUNT", + "range": null, + "title": "Long packet advertising buffer count", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_LONG_PACKET && BLE_MESH_RELAY && BLE_MESH", + "help": "Number of advertising buffers allocated for relay long packets.", + "id": "BLE_MESH_LONG_PACKET_RELAY_ADV_BUF_COUNT", + "name": "BLE_MESH_LONG_PACKET_RELAY_ADV_BUF_COUNT", + "range": null, + "title": "Long packet relay buffer count", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_LONG_PACKET && BLE_MESH", + "help": "Maximum number of segments for outgoing long packet messages.\nUpper bound: min(BLE_MESH_TX_SEG_MAX, BLE_MESH_LONG_PACKET_ADV_BUF_COUNT)", + "id": "BLE_MESH_LONG_PACKET_TX_SEG_CNT", + "name": "BLE_MESH_LONG_PACKET_TX_SEG_CNT", + "range": null, + "title": "Maximum transmission segments per message", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_LONG_PACKET && BLE_MESH", + "help": "Maximum number of segments supported for receiving long packet messages.", + "id": "BLE_MESH_LONG_PACKET_RX_SEG_CNT", + "name": "BLE_MESH_LONG_PACKET_RX_SEG_CNT", + "range": null, + "title": "Maximum reception segments per message", + "type": "int" + } + ], + "depends_on": "BLE_MESH_EXT_ADV && BLE_MESH", + "help": "Enable extended-length advertising packets for BLE Mesh using BLE 5.0 extended advertising.\nThis overrides the standard BLE Mesh packet length limitations.", + "id": "BLE_MESH_LONG_PACKET", + "is_menuconfig": true, + "name": "BLE_MESH_LONG_PACKET", + "range": null, + "title": "Enable non-standard long packet mode for BLE Mesh", + "type": "menu" + } + ], + "depends_on": "BLE_MESH_USE_BLE_50 && BLE_MESH", + "help": "Enable broadcasting of BLE Mesh messages using BLE 5.0 extended advertising.\nThis allows control of extended advertising parameters (e.g., PHY selection)\nwhile maintaining standard BLE Mesh packet length.", + "id": "BLE_MESH_EXT_ADV", + "is_menuconfig": true, + "name": "BLE_MESH_EXT_ADV", + "range": null, + "title": "Enable extended advertising for BLE Mesh", + "type": "menu" + }, + { + "children": [], + "depends_on": "BLE_MESH_USE_BLE_50 && BLE_MESH", + "help": "Extended ADV instance used by Mesh normal advertising packets.", + "id": "BLE_MESH_ADV_INST_ID", + "name": "BLE_MESH_ADV_INST_ID", + "range": null, + "title": "Extended adv instance for Mesh normal packets", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_PROXY && (BLE_MESH_PB_GATT || BLE_MESH_GATT_PROXY_SERVER) && BLE_MESH_SUPPORT_MULTI_ADV && BLE_MESH", + "help": "Extended ADV instance used by Mesh proxy advertising packets.", + "id": "BLE_MESH_PROXY_ADV_INST_ID", + "name": "BLE_MESH_PROXY_ADV_INST_ID", + "range": null, + "title": "Extended adv instance for Mesh proxy packets", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_SEPARATE_RELAY_ADV_INSTANCE && BLE_MESH", + "help": "Extended ADV instance used by Mesh relay advertising packets.", + "id": "BLE_MESH_RELAY_ADV_INST_ID", + "name": "BLE_MESH_RELAY_ADV_INST_ID", + "range": null, + "title": "Extended adv instance for Mesh relay packets", + "type": "int" + } + ], + "depends_on": "BLE_MESH_SUPPORT_MULTI_ADV && BLE_MESH_RELAY_ADV_BUF && BLE_MESH", + "help": "Enable this option to support using a separate extended ADV instance for Mesh relay packets.", + "id": "BLE_MESH_SEPARATE_RELAY_ADV_INSTANCE", + "is_menuconfig": true, + "name": "BLE_MESH_SEPARATE_RELAY_ADV_INSTANCE", + "range": null, + "title": "Use separate extended adv instance for Mesh relay packets", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_SEPARATE_BLE_ADV_INSTANCE && BLE_MESH", + "help": "Extended ADV instance used by normal BLE advertising packets.", + "id": "BLE_MESH_BLE_ADV_INST_ID", + "name": "BLE_MESH_BLE_ADV_INST_ID", + "range": null, + "title": "Extended adv instance for normal BLE packets", + "type": "int" + } + ], + "depends_on": "BLE_MESH_SUPPORT_MULTI_ADV && BLE_MESH_SUPPORT_BLE_ADV && BLE_MESH", + "help": "Enable this option to support using a separate extended ADV instance for normal BLE advertising packets.", + "id": "BLE_MESH_SEPARATE_BLE_ADV_INSTANCE", + "is_menuconfig": true, + "name": "BLE_MESH_SEPARATE_BLE_ADV_INSTANCE", + "range": null, + "title": "Use separate extended adv instance for BLE normal packets", + "type": "menu" + } + ], + "depends_on": "BLE_MESH_USE_BLE_50 && BLE_MESH", + "help": "Enable this option to support using multiple adv instance while running BLE Mesh.", + "id": "BLE_MESH_SUPPORT_MULTI_ADV", + "is_menuconfig": true, + "name": "BLE_MESH_SUPPORT_MULTI_ADV", + "range": null, + "title": "Support using multiple adv instance for BLE Mesh", + "type": "menu" + } + ], + "depends_on": "BLE_MESH_EXPERIMENTAL && BLE_MESH", + "help": "This option to enable BLE Mesh using some BLE 5.0 APIs.", + "id": "BLE_MESH_USE_BLE_50", + "is_menuconfig": true, + "name": "BLE_MESH_USE_BLE_50", + "range": null, + "title": "Support using BLE 5.0 APIs for BLE Mesh", + "type": "menu" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable this option to allow using specific duplicate scan filter\nin BLE Mesh, and Scan Duplicate Type must be set by choosing the\noption in the Bluetooth Controller section in menuconfig, which is\n\"Scan Duplicate By Device Address and Advertising Data\".", + "id": "BLE_MESH_USE_DUPLICATE_SCAN", + "name": "BLE_MESH_USE_DUPLICATE_SCAN", + "range": null, + "title": "Support Duplicate Scan in BLE Mesh", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable this option to allow using BLE Active Scan for BLE Mesh.", + "id": "BLE_MESH_ACTIVE_SCAN", + "name": "BLE_MESH_ACTIVE_SCAN", + "range": null, + "title": "Support Active Scan in BLE Mesh", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BLE_MESH_MEM_ALLOC_MODE_INTERNAL", + "name": "BLE_MESH_MEM_ALLOC_MODE_INTERNAL", + "range": null, + "title": "Internal DRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "(SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC) && ", + "help": null, + "id": "BLE_MESH_MEM_ALLOC_MODE_EXTERNAL", + "name": "BLE_MESH_MEM_ALLOC_MODE_EXTERNAL", + "range": null, + "title": "External SPIRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Enable this option to use the default memory allocation strategy when\nexternal SPIRAM is enabled. See the SPIRAM options for more details.", + "id": "BLE_MESH_MEM_ALLOC_MODE_DEFAULT", + "name": "BLE_MESH_MEM_ALLOC_MODE_DEFAULT", + "range": null, + "title": "Default alloc mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY && ", + "help": "Allows to use IRAM memory region as 8bit accessible region. Every\nunaligned (8bit or 16bit) access will result in an exception and\nincur penalty of certain clock cycles per unaligned read/write.", + "id": "BLE_MESH_MEM_ALLOC_MODE_IRAM_8BIT", + "name": "BLE_MESH_MEM_ALLOC_MODE_IRAM_8BIT", + "range": null, + "title": "Internal IRAM", + "type": "bool" + } + ], + "depends_on": "BLE_MESH", + "help": "Allocation strategy for BLE Mesh stack, essentially provides ability to\nallocate all required dynamic allocations from,\n\n- Internal DRAM memory only\n- External SPIRAM memory only\n- Either internal or external memory based on default malloc()\n behavior in ESP-IDF\n- Internal IRAM memory wherever applicable else internal DRAM\n\nRecommended mode here is always internal (*), since that is most preferred\nfrom security perspective. But if application requirement does not\nallow sufficient free internal memory then alternate mode can be\nselected.\n\n(*) In case of ESP32-S2/ESP32-S3, hardware allows encryption of external\nSPIRAM contents provided hardware flash encryption feature is enabled.\nIn that case, using external SPIRAM allocation strategy is also safe choice\nfrom security perspective.", + "id": "component-config-esp-ble-mesh-support-memory-allocation-strategy-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-202", + "name": "BLE_MESH_MEM_ALLOC_MODE", + "title": "Memory allocation strategy", + "type": "choice" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "IDF_TARGET_ESP32 && SPIRAM && ", + "help": "If enabled, BLE Mesh allocates dynamic memory from external SPIRAM for\nFreeRTOS objects, i.e. mutex, queue, and task stack. External SPIRAM\ncan only be used for task stack when SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY\nis enabled. See the SPIRAM options for more details.", + "id": "BLE_MESH_FREERTOS_STATIC_ALLOC_EXTERNAL", + "name": "BLE_MESH_FREERTOS_STATIC_ALLOC_EXTERNAL", + "range": null, + "title": "External SPIRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY && ", + "help": "If enabled, BLE Mesh allocates dynamic memory from internal IRAM for\nFreeRTOS objects, i.e. mutex, queue. Note: IRAM region cannot be used\nas task stack.", + "id": "BLE_MESH_FREERTOS_STATIC_ALLOC_IRAM_8BIT", + "name": "BLE_MESH_FREERTOS_STATIC_ALLOC_IRAM_8BIT", + "range": null, + "title": "Internal IRAM", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_FREERTOS_STATIC_ALLOC && BLE_MESH", + "help": "Choose the memory to be used for FreeRTOS objects.", + "id": "component-config-esp-ble-mesh-support-enable-freertos-static-allocation-memory-allocation-for-freertos-objects-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-259", + "name": "BLE_MESH_FREERTOS_STATIC_ALLOC_MODE", + "title": "Memory allocation for FreeRTOS objects", + "type": "choice" + } + ], + "depends_on": "FREERTOS_SUPPORT_STATIC_ALLOCATION && ((IDF_TARGET_ESP32 && SPIRAM) || ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY) && BLE_MESH", + "help": "Enable this option to use FreeRTOS static allocation APIs for BLE Mesh,\nwhich provides the ability to use different dynamic memory (i.e. SPIRAM\nor IRAM) for FreeRTOS objects.\nIf this option is disabled, the FreeRTOS static allocation APIs will not\nbe used, and internal DRAM will be allocated for FreeRTOS objects.", + "id": "BLE_MESH_FREERTOS_STATIC_ALLOC", + "name": "BLE_MESH_FREERTOS_STATIC_ALLOC", + "range": null, + "title": "Enable FreeRTOS static allocation", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "If enabled, users can use the function esp_ble_mesh_deinit() to de-initialize\nthe whole BLE Mesh stack.", + "id": "BLE_MESH_DEINIT", + "name": "BLE_MESH_DEINIT", + "range": null, + "title": "Support de-initialize BLE Mesh stack", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_SUPPORT_BLE_ADV && BLE_MESH", + "help": "Number of advertising buffers for BLE packets available.", + "id": "BLE_MESH_BLE_ADV_BUF_COUNT", + "name": "BLE_MESH_BLE_ADV_BUF_COUNT", + "range": null, + "title": "Number of advertising buffers for BLE advertising packets", + "type": "int" + } + ], + "depends_on": "BLE_MESH", + "help": "When selected, users can send normal BLE advertising packets\nwith specific API.", + "id": "BLE_MESH_SUPPORT_BLE_ADV", + "name": "BLE_MESH_SUPPORT_BLE_ADV", + "range": null, + "title": "Support sending normal BLE advertising packets", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "When selected, users can register a callback and receive normal BLE\nadvertising packets in the application layer.", + "id": "BLE_MESH_SUPPORT_BLE_SCAN", + "name": "BLE_MESH_SUPPORT_BLE_SCAN", + "range": null, + "title": "Support scanning normal BLE advertising packets", + "type": "bool" + } + ], + "depends_on": "BLE_MESH", + "id": "component-config-esp-ble-mesh-support-ble-mesh-and-ble-coexistence-support-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-291", + "title": "BLE Mesh and BLE coexistence support", + "type": "menu" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable this option to allow BLE Mesh fast provisioning solution to be used.\nWhen there are multiple unprovisioned devices around, fast provisioning can\ngreatly reduce the time consumption of the whole provisioning process.\nWhen this option is enabled, and after an unprovisioned device is provisioned\ninto a node successfully, it can be changed to a temporary Provisioner.", + "id": "BLE_MESH_FAST_PROV", + "name": "BLE_MESH_FAST_PROV", + "range": null, + "title": "Enable BLE Mesh Fast Provisioning", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable the device to be provisioned into a node. This option should be\nenabled when an unprovisioned device is going to be provisioned into a\nnode and communicate with other nodes in the BLE Mesh network.", + "id": "BLE_MESH_NODE", + "name": "BLE_MESH_NODE", + "range": null, + "title": "Support for BLE Mesh Node", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_PROVISIONER && BLE_MESH", + "help": "This option specifies how many unprovisioned devices can be added to device\nqueue for provisioning. Users can use this option to define the size of the\nqueue in the bottom layer which is used to store unprovisioned device\ninformation (e.g. Device UUID, address).", + "id": "BLE_MESH_WAIT_FOR_PROV_MAX_DEV_NUM", + "name": "BLE_MESH_WAIT_FOR_PROV_MAX_DEV_NUM", + "range": null, + "title": "Maximum number of unprovisioned devices that can be added to device queue", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_PROVISIONER && BLE_MESH", + "help": "This option specifies how many devices can be provisioned by a Provisioner.\nThis value indicates the maximum number of unprovisioned devices which can be\nprovisioned by a Provisioner. For instance, if the value is 6, it means the\nProvisioner can provision up to 6 unprovisioned devices.\nTheoretically a Provisioner without the limitation of its memory can provision\nup to 32766 unprovisioned devices, here we limit the maximum number to 100\njust to limit the memory used by a Provisioner. The bigger the value is, the\nmore memory it will cost by a Provisioner to store the information of nodes.", + "id": "BLE_MESH_MAX_PROV_NODES", + "name": "BLE_MESH_MAX_PROV_NODES", + "range": null, + "title": "Maximum number of devices that can be provisioned by Provisioner", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_PB_ADV && BLE_MESH_PROVISIONER && BLE_MESH", + "help": "This option specifies how many devices can be provisioned at the same time\nusing PB-ADV. For examples, if the value is 2, it means a Provisioner can\nprovision two unprovisioned devices with PB-ADV at the same time.", + "id": "BLE_MESH_PBA_SAME_TIME", + "name": "BLE_MESH_PBA_SAME_TIME", + "range": null, + "title": "Maximum number of PB-ADV running at the same time by Provisioner", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_PB_GATT && BLE_MESH_PROVISIONER && BLE_MESH", + "help": "This option specifies how many devices can be provisioned at the same\ntime using PB-GATT. For example, if the value is 2, it means a Provisioner\ncan provision two unprovisioned devices with PB-GATT at the same time.", + "id": "BLE_MESH_PBG_SAME_TIME", + "name": "BLE_MESH_PBG_SAME_TIME", + "range": null, + "title": "Maximum number of PB-GATT running at the same time by Provisioner", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_PROVISIONER && BLE_MESH", + "help": "This option specifies how many subnets per network a Provisioner can create.\nIndeed, this value decides the number of network keys which can be added by a Provisioner.", + "id": "BLE_MESH_PROVISIONER_SUBNET_COUNT", + "name": "BLE_MESH_PROVISIONER_SUBNET_COUNT", + "range": null, + "title": "Maximum number of mesh subnets that can be created by Provisioner", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_PROVISIONER && BLE_MESH", + "help": "This option specifies how many application keys the Provisioner can have.\nIndeed, this value decides the number of the application keys which can be added by a Provisioner.", + "id": "BLE_MESH_PROVISIONER_APP_KEY_COUNT", + "name": "BLE_MESH_PROVISIONER_APP_KEY_COUNT", + "range": null, + "title": "Maximum number of application keys that can be owned by Provisioner", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_PROVISIONER_RECV_HB && BLE_MESH_PROVISIONER && BLE_MESH", + "help": "This option specifies how many heartbeat filter entries Provisioner supports.\nThe heartbeat filter (acceptlist or rejectlist) entries are used to store a\nlist of SRC and DST which can be used to decide if a heartbeat message will\nbe processed and notified to the application layer by Provisioner.\nNote: The filter is an empty rejectlist by default.", + "id": "BLE_MESH_PROVISIONER_RECV_HB_FILTER_SIZE", + "name": "BLE_MESH_PROVISIONER_RECV_HB_FILTER_SIZE", + "range": null, + "title": "Maximum number of filter entries for receiving Heartbeat messages", + "type": "int" + } + ], + "depends_on": "BLE_MESH_PROVISIONER && BLE_MESH", + "help": "When this option is enabled, Provisioner can call specific functions to enable\nor disable receiving Heartbeat messages and notify them to the application layer.", + "id": "BLE_MESH_PROVISIONER_RECV_HB", + "name": "BLE_MESH_PROVISIONER_RECV_HB", + "range": null, + "title": "Support receiving Heartbeat messages", + "type": "bool" + } + ], + "depends_on": "BLE_MESH", + "help": "Enable the device to be a Provisioner. The option should be enabled when\na device is going to act as a Provisioner and provision unprovisioned\ndevices into the BLE Mesh network.", + "id": "BLE_MESH_PROVISIONER", + "name": "BLE_MESH_PROVISIONER", + "range": null, + "title": "Support for BLE Mesh Provisioner", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_PROV && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable this option to support BLE Mesh enhanced provisioning authentication\nfunctionality. This option can increase the security level of provisioning.\nIt is recommended to enable this option.", + "id": "BLE_MESH_PROV_EPA", + "name": "BLE_MESH_PROV_EPA", + "range": null, + "title": "BLE Mesh enhanced provisioning authentication", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_CERT_BASED_PROV && BLE_MESH", + "help": "This option sets the maximum size of the provisioning record fragment that the\nProvisioner can receive. The range depends on provisioning bearer.", + "id": "BLE_MESH_RECORD_FRAG_MAX_SIZE", + "name": "BLE_MESH_RECORD_FRAG_MAX_SIZE", + "range": null, + "title": "Maximum size of the provisioning record fragment that Provisioner can receive", + "type": "int" + } + ], + "depends_on": "BLE_MESH_PROV && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable this option to support BLE Mesh Certificate-Based Provisioning.", + "id": "BLE_MESH_CERT_BASED_PROV", + "name": "BLE_MESH_CERT_BASED_PROV", + "range": null, + "title": "Support Certificate-based provisioning", + "type": "bool" + } + ], + "depends_on": "BLE_MESH", + "help": "Enable this option to support BLE Mesh Provisioning functionality. For\nBLE Mesh, this option should be always enabled.", + "id": "BLE_MESH_PROV", + "name": "BLE_MESH_PROV", + "range": null, + "title": "BLE Mesh Provisioning support", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_NODE && BLE_MESH_PB_ADV && BLE_MESH", + "help": "This option specifies the interval of sending two consecutive unprovisioned\ndevice beacon, users can use this option to change the frequency of sending\nunprovisioned device beacon. For example, if the value is 5, it means the\nunprovisioned device beacon will send every 5 seconds. When the option of\nBLE_MESH_FAST_PROV is selected, the value is better to be 3 seconds, or less.", + "id": "BLE_MESH_UNPROVISIONED_BEACON_INTERVAL", + "name": "BLE_MESH_UNPROVISIONED_BEACON_INTERVAL", + "range": null, + "title": "Interval between two consecutive Unprovisioned Device Beacon", + "type": "int" + } + ], + "depends_on": "BLE_MESH", + "help": "Enable this option to allow the device to be provisioned over the\nadvertising bearer. This option should be enabled if PB-ADV is\ngoing to be used during provisioning procedure.", + "id": "BLE_MESH_PB_ADV", + "name": "BLE_MESH_PB_ADV", + "range": null, + "title": "Provisioning support using the advertising bearer (PB-ADV)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable this option to allow the device to be provisioned over GATT.\nThis option should be enabled if PB-GATT is going to be used during\nprovisioning procedure.\n\n# Virtual option enabled whenever any Proxy protocol is needed", + "id": "BLE_MESH_PB_GATT", + "name": "BLE_MESH_PB_GATT", + "range": null, + "title": "Provisioning support using GATT (PB-GATT)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable this option to support BLE Mesh Proxy protocol used by PB-GATT\nand other proxy pdu transmission.", + "id": "BLE_MESH_PROXY", + "name": "BLE_MESH_PROXY", + "range": null, + "title": "BLE Mesh Proxy protocol support", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_GATT_PROXY_SERVER && BLE_MESH", + "help": "This option determines for how long the local node advertises using\nNode Identity. The given value is in seconds. The specification limits\nthis to 60 seconds and lists it as the recommended value as well.\nSo leaving the default value is the safest option.\nWhen an unprovisioned device is provisioned successfully and becomes a\nnode, it will start to advertise using Node Identity during the time\nset by this option. And after that, Network ID will be advertised.", + "id": "BLE_MESH_NODE_ID_TIMEOUT", + "name": "BLE_MESH_NODE_ID_TIMEOUT", + "range": null, + "title": "Node Identity advertising timeout", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_GATT_PROXY_SERVER && BLE_MESH", + "help": "This option specifies how many Proxy Filter entries the local node supports.\nThe entries of Proxy filter (whitelist or blacklist) are used to store a\nlist of addresses which can be used to decide which messages will be forwarded\nto the Proxy Client by the Proxy Server.", + "id": "BLE_MESH_PROXY_FILTER_SIZE", + "name": "BLE_MESH_PROXY_FILTER_SIZE", + "range": null, + "title": "Maximum number of filter entries per Proxy Client", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_PRB_SRV && BLE_MESH_GATT_PROXY_SERVER && BLE_MESH", + "help": "The Proxy Privacy parameter controls the privacy of the Proxy Server\nover the connection. The value of the Proxy Privacy parameter is\ncontrolled by the type of proxy connection, which is dependent on the\nbearer used by the proxy connection.", + "id": "BLE_MESH_PROXY_PRIVACY", + "name": "BLE_MESH_PROXY_PRIVACY", + "range": null, + "title": "Support Proxy Privacy", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_PROXY_SOLIC_PDU_RX && BLE_MESH", + "help": "This option specifies the maximum capacity of the solicitation replay\nprotection list. The solicitation replay protection list is used to\nreject Solicitation PDUs that were already processed by a node, which\nwill store the solicitation src and solicitation sequence number of\nthe received Solicitation PDU message.", + "id": "BLE_MESH_PROXY_SOLIC_RX_CRPL", + "name": "BLE_MESH_PROXY_SOLIC_RX_CRPL", + "range": null, + "title": "Maximum capacity of solicitation replay protection list", + "type": "int" + } + ], + "depends_on": "BLE_MESH_GATT_PROXY_SERVER && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable this option to support receiving Proxy Solicitation PDU.", + "id": "BLE_MESH_PROXY_SOLIC_PDU_RX", + "name": "BLE_MESH_PROXY_SOLIC_PDU_RX", + "range": null, + "title": "Support receiving Proxy Solicitation PDU", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_NODE && BLE_MESH", + "help": "This option enables support for Mesh GATT Proxy Service, i.e. the\nability to act as a proxy between a Mesh GATT Client and a Mesh network.\nThis option should be enabled if a node is going to be a Proxy Server.", + "id": "BLE_MESH_GATT_PROXY_SERVER", + "name": "BLE_MESH_GATT_PROXY_SERVER", + "range": null, + "title": "BLE Mesh GATT Proxy Server", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_EXPERIMENTAL && BLE_MESH", + "help": "Enable this option to support the coexistence of proxy client and proxy server.", + "id": "BLE_MESH_PROXY_CLI_SRV_COEXIST", + "name": "BLE_MESH_PROXY_CLI_SRV_COEXIST", + "range": null, + "title": "Support Proxy Client and Proxy Server coexistence", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_PROXY_SOLIC_PDU_TX && BLE_MESH", + "help": "This option specifies the maximum number of Solicitation Source (SSRC)\nthat can be used by Proxy Client for sending a Solicitation PDU.\nA Proxy Client may use the primary address or any of the secondary\naddresses as the SSRC for a Solicitation PDU.\nSo for a Proxy Client, it's better to choose the value based on its\nown element count.", + "id": "BLE_MESH_PROXY_SOLIC_TX_SRC_COUNT", + "name": "BLE_MESH_PROXY_SOLIC_TX_SRC_COUNT", + "range": null, + "title": "Maximum number of SSRC that can be used by Proxy Client", + "type": "int" + } + ], + "depends_on": "BLE_MESH_GATT_PROXY_CLIENT && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable this option to support sending Proxy Solicitation PDU.", + "id": "BLE_MESH_PROXY_SOLIC_PDU_TX", + "name": "BLE_MESH_PROXY_SOLIC_PDU_TX", + "range": null, + "title": "Support sending Proxy Solicitation PDU", + "type": "bool" + } + ], + "depends_on": "BLE_MESH", + "help": "This option enables support for Mesh GATT Proxy Client. The Proxy Client\ncan use the GATT bearer to send mesh messages to a node that supports the\nadvertising bearer.", + "id": "BLE_MESH_GATT_PROXY_CLIENT", + "name": "BLE_MESH_GATT_PROXY_CLIENT", + "range": null, + "title": "BLE Mesh GATT Proxy Client", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable BLE Mesh net buffer pool tracking. This option is used to introduce another\nvariable in the bottom layer to record the usage of advertising buffers of BLE Mesh\ndevices. Recommend to enable this option as default.", + "id": "BLE_MESH_NET_BUF_POOL_USAGE", + "name": "BLE_MESH_NET_BUF_POOL_USAGE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_SETTINGS && BLE_MESH", + "help": "This value defines in seconds how soon any pending changes are actually\nwritten into persistent storage (flash) after a change occurs.\nThe option allows nodes to delay a certain period of time to save proper\ninformation to flash. The default value is 0, which means information\nwill be stored immediately once there are updates.", + "id": "BLE_MESH_STORE_TIMEOUT", + "name": "BLE_MESH_STORE_TIMEOUT", + "range": null, + "title": "Delay (in seconds) before storing anything persistently", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_SETTINGS && BLE_MESH", + "help": "This value defines how often the local sequence number gets updated in\npersistent storage (i.e. flash). e.g. a value of 100 means that the\nsequence number will be stored to flash on every 100th increment.\nIf the node sends messages very frequently a higher value makes more\nsense, whereas if the node sends infrequently a value as low as 0\n(update storage for every increment) can make sense. When the stack\ngets initialized it will add sequence number to the last stored one,\nso that it starts off with a value that's guaranteed to be larger than\nthe last one used before power off.", + "id": "BLE_MESH_SEQ_STORE_RATE", + "name": "BLE_MESH_SEQ_STORE_RATE", + "range": null, + "title": "How often the sequence number gets updated in storage", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_SETTINGS && BLE_MESH", + "help": "This value defines in seconds how soon the RPL (Replay Protection List)\ngets written to persistent storage after a change occurs. If the node\nreceives messages frequently, then a large value is recommended. If the\nnode receives messages rarely, then the value can be as low as 0 (which\nmeans the RPL is written into the storage immediately).\nNote that if the node operates in a security-sensitive case, and there is\na risk of sudden power-off, then a value of 0 is strongly recommended.\nOtherwise, a power loss before RPL being written into the storage may\nintroduce message replay attacks and system security will be in a\nvulnerable state.", + "id": "BLE_MESH_RPL_STORE_TIMEOUT", + "name": "BLE_MESH_RPL_STORE_TIMEOUT", + "range": null, + "title": "Minimum frequency that the RPL gets updated in storage", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_NODE && BLE_MESH_SETTINGS && BLE_MESH", + "help": "This option is created to solve the issue of failure in recovering\nnode information after mesh stack updates. In the old version mesh\nstack, there is no key of \"mesh/role\" in nvs. In the new version\nmesh stack, key of \"mesh/role\" is added in nvs, recovering node\ninformation needs to check \"mesh/role\" key in nvs and implements\nselective recovery of mesh node information. Therefore, there may\nbe failure in recovering node information during node restarting\nafter OTA.\n\nThe new version mesh stack adds the option of \"mesh/role\" because\nwe have added the support of storing Provisioner information, while\nthe old version only supports storing node information.\n\nIf users are updating their nodes from old version to new version,\nwe recommend enabling this option, so that system could set the flag\nin advance before recovering node information and make sure the node\ninformation recovering could work as expected.", + "id": "BLE_MESH_SETTINGS_BACKWARD_COMPATIBILITY", + "name": "BLE_MESH_SETTINGS_BACKWARD_COMPATIBILITY", + "range": null, + "title": "A specific option for settings backward compatibility", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_SPECIFIC_PARTITION && BLE_MESH_SETTINGS && BLE_MESH", + "help": "This value defines the name of the specified NVS partition used by the\nmesh stack.", + "id": "BLE_MESH_PARTITION_NAME", + "name": "BLE_MESH_PARTITION_NAME", + "range": null, + "title": "Name of the NVS partition for BLE Mesh", + "type": "string" + } + ], + "depends_on": "BLE_MESH_SETTINGS && BLE_MESH", + "help": "When selected, the mesh stack will use a specified NVS partition instead of\ndefault NVS partition. Note that the specified partition must be registered\nwith NVS using nvs_flash_init_partition() API, and the partition must exists\nin the csv file.\nWhen Provisioner needs to store a large amount of nodes' information in the\nflash (e.g. more than 20), this option is recommended to be enabled.", + "id": "BLE_MESH_SPECIFIC_PARTITION", + "name": "BLE_MESH_SPECIFIC_PARTITION", + "range": null, + "title": "Use a specific NVS partition for BLE Mesh", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_USE_MULTIPLE_NAMESPACE && BLE_MESH_SETTINGS && BLE_MESH", + "help": "This option specifies the maximum NVS namespaces supported by Provisioner.", + "id": "BLE_MESH_MAX_NVS_NAMESPACE", + "name": "BLE_MESH_MAX_NVS_NAMESPACE", + "range": null, + "title": "Maximum number of NVS namespaces", + "type": "int" + } + ], + "depends_on": "BLE_MESH_PROVISIONER && BLE_MESH_SETTINGS && BLE_MESH", + "help": "When selected, Provisioner can use different NVS namespaces to store\ndifferent instances of mesh information.\nFor example, if in the first room, Provisioner uses NetKey A, AppKey\nA and provisions three devices, these information will be treated as\nmesh information instance A. When the Provisioner moves to the second\nroom, it uses NetKey B, AppKey B and provisions two devices, then the\ninformation will be treated as mesh information instance B.\nHere instance A and instance B will be stored in different namespaces.\nWith this option enabled, Provisioner needs to use specific functions\nto open the corresponding NVS namespace, restore the mesh information,\nrelease the mesh information or erase the mesh information.", + "id": "BLE_MESH_USE_MULTIPLE_NAMESPACE", + "name": "BLE_MESH_USE_MULTIPLE_NAMESPACE", + "range": null, + "title": "Support using multiple NVS namespaces by Provisioner", + "type": "bool" + } + ], + "depends_on": "BLE_MESH", + "help": "When selected, the BLE Mesh stack will take care of storing/restoring the BLE\nMesh configuration persistently in flash.\nIf the device is a BLE Mesh node, when this option is enabled, the configuration\nof the device will be stored persistently, including unicast address, NetKey,\nAppKey, etc.\nAnd if the device is a BLE Mesh Provisioner, the information of the device will\nbe stored persistently, including the information of provisioned nodes, NetKey,\nAppKey, etc.", + "id": "BLE_MESH_SETTINGS", + "name": "BLE_MESH_SETTINGS", + "range": null, + "title": "Store BLE Mesh configuration persistently", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This option specifies how many subnets a Mesh network can have at the same time.\nIndeed, this value decides the number of the network keys which can be owned by a node.", + "id": "BLE_MESH_SUBNET_COUNT", + "name": "BLE_MESH_SUBNET_COUNT", + "range": null, + "title": "Maximum number of mesh subnets per network", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This option specifies how many application keys the device can store per network.\nIndeed, this value decides the number of the application keys which can be owned by a node.", + "id": "BLE_MESH_APP_KEY_COUNT", + "name": "BLE_MESH_APP_KEY_COUNT", + "range": null, + "title": "Maximum number of application keys per network", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This option specifies the maximum number of application keys to which each model\ncan be bound.", + "id": "BLE_MESH_MODEL_KEY_COUNT", + "name": "BLE_MESH_MODEL_KEY_COUNT", + "range": null, + "title": "Maximum number of application keys per model", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This option specifies the maximum number of addresses to which each model can\nbe subscribed.", + "id": "BLE_MESH_MODEL_GROUP_COUNT", + "name": "BLE_MESH_MODEL_GROUP_COUNT", + "range": null, + "title": "Maximum number of group address subscriptions per model", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This option specifies how many Label UUIDs can be stored.\nIndeed, this value decides the number of the Virtual Addresses can be supported by a node.", + "id": "BLE_MESH_LABEL_COUNT", + "name": "BLE_MESH_LABEL_COUNT", + "range": null, + "title": "Maximum number of Label UUIDs used for Virtual Addresses", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This option specifies the maximum capacity of the replay protection list.\nIt is similar to Network message cache size, but has a different purpose.\nThe replay protection list is used to prevent a node from replay attack,\nwhich will store the source address and sequence number of the received\nmesh messages.\nFor Provisioner, the replay protection list size should not be smaller than\nthe maximum number of nodes whose information can be stored. And the element\nnumber of each node should also be taken into consideration. For example, if\nProvisioner can provision up to 20 nodes and each node contains two elements,\nthen the replay protection list size of Provisioner should be at least 40.", + "id": "BLE_MESH_CRPL", + "name": "BLE_MESH_CRPL", + "range": null, + "title": "Maximum capacity of the replay protection list", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_EXPERIMENTAL && BLE_MESH", + "help": "There may be many expired messages in a complex mesh network that would be\nconsidered replayed messages.\nEnable this option will refuse to relay such messages, which could help to\nreduce invalid packets in the mesh network.\nHowever, it should be noted that enabling this option may result in packet\nloss in certain environments.\nTherefore, users need to decide whether to enable this option according to\nthe actual usage situation.", + "id": "BLE_MESH_NOT_RELAY_REPLAY_MSG", + "name": "BLE_MESH_NOT_RELAY_REPLAY_MSG", + "range": null, + "title": "Not relay replayed messages in a mesh network", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Number of messages that are cached for the network. This helps prevent\nunnecessary decryption operations and unnecessary relays. This option\nis similar to Replay protection list, but has a different purpose.\nA node is not required to cache the entire Network PDU and may cache\nonly part of it for tracking, such as values for SRC/SEQ or others.", + "id": "BLE_MESH_MSG_CACHE_SIZE", + "name": "BLE_MESH_MSG_CACHE_SIZE", + "range": null, + "title": "Network message cache size", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Number of advertising buffers available. The transport layer reserves\nADV_BUF_COUNT - 3 buffers for outgoing segments. The maximum outgoing\nSDU size is 12 times this value (out of which 4 or 8 bytes are used\nfor the Transport Layer MIC). For example, 5 segments means the maximum\nSDU size is 60 bytes, which leaves 56 bytes for application layer data\nusing a 4-byte MIC, or 52 bytes using an 8-byte MIC.", + "id": "BLE_MESH_ADV_BUF_COUNT", + "name": "BLE_MESH_ADV_BUF_COUNT", + "range": null, + "title": "Number of advertising buffers", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "When the IV Update state enters Normal operation or IV Update\nin Progress, we need to keep track of how many hours has passed\nin the state, since the specification requires us to remain in\nthe state at least for 96 hours (Update in Progress has an\nadditional upper limit of 144 hours).\n\nIn order to fulfill the above requirement, even if the node might\nbe powered off once in a while, we need to store persistently\nhow many hours the node has been in the state. This doesn't\nnecessarily need to happen every hour (thanks to the flexible\nduration range). The exact cadence will depend a lot on the\nways that the node will be used and what kind of power source it\nhas.\n\nSince there is no single optimal answer, this configuration\noption allows specifying a divider, i.e. how many intervals\nthe 96 hour minimum gets split into. After each interval the\nduration that the node has been in the current state gets\nstored to flash. E.g. the default value of 4 means that the\nstate is saved every 24 hours (96 / 4).", + "id": "BLE_MESH_IVU_DIVIDER", + "name": "BLE_MESH_IVU_DIVIDER", + "range": null, + "title": "Divider for IV Update state refresh timer", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "According to Section 3.10.5 of Mesh Specification v1.0.1.\nIf a node in Normal Operation receives a Secure Network beacon with an IV index\nequal to the last known IV index+1 and the IV Update Flag set to 0, the node may\nupdate its IV without going to the IV Update in Progress state, or it may initiate\nan IV Index Recovery procedure (Section 3.10.6), or it may ignore the Secure\nNetwork beacon. The node makes the choice depending on the time since last IV\nupdate and the likelihood that the node has missed the Secure Network beacons\nwith the IV update Flag.\nWhen the above situation is encountered, this option can be used to decide whether\nto perform the IV index recovery procedure.", + "id": "BLE_MESH_IVU_RECOVERY_IVI", + "name": "BLE_MESH_IVU_RECOVERY_IVI", + "range": null, + "title": "Recovery the IV index when the latest whole IV update procedure is missed", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable this option to use the enhanced segmentation and reassembly\nmechanism introduced in Bluetooth Mesh Protocol 1.1.", + "id": "BLE_MESH_SAR_ENHANCEMENT", + "name": "BLE_MESH_SAR_ENHANCEMENT", + "range": null, + "title": "Segmentation and reassembly enhancement", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Maximum number of simultaneous outgoing multi-segment and/or reliable messages.\nThe default value is 1, which means the device can only send one segmented\nmessage at a time. And if another segmented message is going to be sent, it\nshould wait for the completion of the previous one.\nIf users are going to send multiple segmented messages at the same time, this\nvalue should be configured properly.", + "id": "BLE_MESH_TX_SEG_MSG_COUNT", + "name": "BLE_MESH_TX_SEG_MSG_COUNT", + "range": null, + "title": "Maximum number of simultaneous outgoing segmented messages", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Maximum number of simultaneous incoming multi-segment and/or reliable messages.\nThe default value is 1, which means the device can only receive one segmented\nmessage at a time. And if another segmented message is going to be received,\nit should wait for the completion of the previous one.\nIf users are going to receive multiple segmented messages at the same time, this\nvalue should be configured properly.", + "id": "BLE_MESH_RX_SEG_MSG_COUNT", + "name": "BLE_MESH_RX_SEG_MSG_COUNT", + "range": null, + "title": "Maximum number of simultaneous incoming segmented messages", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Maximum incoming Upper Transport Access PDU length. Leave this to the default\nvalue, unless you really need to optimize memory usage.", + "id": "BLE_MESH_RX_SDU_MAX", + "name": "BLE_MESH_RX_SDU_MAX", + "range": null, + "title": "Maximum incoming Upper Transport Access PDU length", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Maximum number of segments supported for outgoing messages.\nThis value should typically be fine-tuned based on what\nmodels the local node supports, i.e. what's the largest\nmessage payload that the node needs to be able to send.\nThis value affects memory and call stack consumption, which\nis why the default is lower than the maximum that the\nspecification would allow (32 segments).\n\nThe maximum outgoing SDU size is 12 times this number (out of\nwhich 4 or 8 bytes is used for the Transport Layer MIC). For\nexample, 5 segments means the maximum SDU size is 60 bytes,\nwhich leaves 56 bytes for application layer data using a\n4-byte MIC and 52 bytes using an 8-byte MIC.\n\nBe sure to specify a sufficient number of advertising buffers\nwhen setting this option to a higher value. There must be at\nleast three more advertising buffers (BLE_MESH_ADV_BUF_COUNT)\nas there are outgoing segments.", + "id": "BLE_MESH_TX_SEG_MAX", + "name": "BLE_MESH_TX_SEG_MAX", + "range": null, + "title": "Maximum number of segments in outgoing messages", + "type": "int" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_RELAY_ADV_BUF && BLE_MESH_RELAY && BLE_MESH", + "help": "Number of advertising buffers for relay packets available.", + "id": "BLE_MESH_RELAY_ADV_BUF_COUNT", + "name": "BLE_MESH_RELAY_ADV_BUF_COUNT", + "range": null, + "title": "Number of advertising buffers for relay packets", + "type": "int" + } + ], + "depends_on": "BLE_MESH_RELAY && BLE_MESH", + "help": "When selected, self-send packets will be put in a high-priority\nqueue and relay packets will be put in a low-priority queue.", + "id": "BLE_MESH_RELAY_ADV_BUF", + "name": "BLE_MESH_RELAY_ADV_BUF", + "range": null, + "title": "Use separate advertising buffers for relay packets", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_NODE && BLE_MESH", + "help": "Support for acting as a Mesh Relay Node. Enabling this option will allow\na node to support the Relay feature, and the Relay feature can still\nbe enabled or disabled by proper configuration messages. Disabling this\noption will let a node not support the Relay feature.", + "id": "BLE_MESH_RELAY", + "name": "BLE_MESH_RELAY", + "range": null, + "title": "Relay support", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_LOW_POWER && BLE_MESH", + "help": "Perform the Friendship establishment using low power with the help of a\nreduced scan duty cycle. The downside of this is that the node may miss\nout on messages intended for it until it has successfully set up Friendship\nwith a Friend node.\nWhen this option is enabled, the node will stop scanning for a period of\ntime after a Friend Request or Friend Poll is sent, so as to reduce more\npower consumption.", + "id": "BLE_MESH_LPN_ESTABLISHMENT", + "name": "BLE_MESH_LPN_ESTABLISHMENT", + "range": null, + "title": "Perform Friendship establishment using low power", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_LPN_AUTO && BLE_MESH_LOW_POWER && BLE_MESH", + "help": "Time in seconds from the last received message, that the node waits out\nbefore starting to look for Friend nodes.", + "id": "BLE_MESH_LPN_AUTO_TIMEOUT", + "name": "BLE_MESH_LPN_AUTO_TIMEOUT", + "range": null, + "title": "Time from last received message before going to LPN mode", + "type": "int" + } + ], + "depends_on": "BLE_MESH_LOW_POWER && BLE_MESH", + "help": "Once provisioned, automatically enable LPN functionality and start looking\nfor Friend nodes. If this option is disabled LPN mode needs to be manually\nenabled by calling bt_mesh_lpn_set(true).\nWhen an unprovisioned device is provisioned successfully and becomes a node,\nenabling this option will trigger the node starts to send Friend Request at\na certain period until it finds a proper Friend node.", + "id": "BLE_MESH_LPN_AUTO", + "name": "BLE_MESH_LPN_AUTO", + "range": null, + "title": "Automatically start looking for Friend nodes once provisioned", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_LOW_POWER && BLE_MESH", + "help": "Time in seconds between Friend Requests, if a previous Friend Request did\nnot yield any acceptable Friend Offers.", + "id": "BLE_MESH_LPN_RETRY_TIMEOUT", + "name": "BLE_MESH_LPN_RETRY_TIMEOUT", + "range": null, + "title": "Retry timeout for Friend requests", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_LOW_POWER && BLE_MESH", + "help": "The contribution of the RSSI, measured by the Friend node, used in Friend\nOffer Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5.\nRSSIFactor, one of the parameters carried by Friend Request sent by Low Power\nnode, which is used to calculate the Friend Offer Delay.", + "id": "BLE_MESH_LPN_RSSI_FACTOR", + "name": "BLE_MESH_LPN_RSSI_FACTOR", + "range": null, + "title": "RSSIFactor, used in Friend Offer Delay calculation", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_LOW_POWER && BLE_MESH", + "help": "The contribution of the supported Receive Window used in Friend Offer\nDelay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5.\nReceiveWindowFactor, one of the parameters carried by Friend Request sent by\nLow Power node, which is used to calculate the Friend Offer Delay.", + "id": "BLE_MESH_LPN_RECV_WIN_FACTOR", + "name": "BLE_MESH_LPN_RECV_WIN_FACTOR", + "range": null, + "title": "ReceiveWindowFactor, used in Friend Offer Delay calculation", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_LOW_POWER && BLE_MESH", + "help": "The MinQueueSizeLog field is defined as log_2(N), where N is the minimum\nnumber of maximum size Lower Transport PDUs that the Friend node can store\nin its Friend Queue. As an example, MinQueueSizeLog value 1 gives N = 2,\nand value 7 gives N = 128.", + "id": "BLE_MESH_LPN_MIN_QUEUE_SIZE", + "name": "BLE_MESH_LPN_MIN_QUEUE_SIZE", + "range": null, + "title": "Minimum size of the acceptable friend queue (MinQueueSizeLog)", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_LOW_POWER && BLE_MESH", + "help": "The ReceiveDelay is the time between the Low Power node sending a\nrequest and listening for a response. This delay allows the Friend\nnode time to prepare the response. The value is in units of milliseconds.", + "id": "BLE_MESH_LPN_RECV_DELAY", + "name": "BLE_MESH_LPN_RECV_DELAY", + "range": null, + "title": "Receive delay requested by the local node", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_LOW_POWER && BLE_MESH", + "help": "PollTimeout timer is used to measure time between two consecutive\nrequests sent by a Low Power node. If no requests are received\nthe Friend node before the PollTimeout timer expires, then the\nfriendship is considered terminated. The value is in units of 100\nmilliseconds, so e.g. a value of 300 means 30 seconds.\nThe smaller the value, the faster the Low Power node tries to get\nmessages from corresponding Friend node and vice versa.", + "id": "BLE_MESH_LPN_POLL_TIMEOUT", + "name": "BLE_MESH_LPN_POLL_TIMEOUT", + "range": null, + "title": "The value of the PollTimeout timer", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_LOW_POWER && BLE_MESH", + "help": "The initial value of the PollTimeout timer when Friendship is to be\nestablished for the first time. After this, the timeout gradually\ngrows toward the actual PollTimeout, doubling in value for each iteration.\nThe value is in units of 100 milliseconds, so e.g. a value of 300 means\n30 seconds.", + "id": "BLE_MESH_LPN_INIT_POLL_TIMEOUT", + "name": "BLE_MESH_LPN_INIT_POLL_TIMEOUT", + "range": null, + "title": "The starting value of the PollTimeout timer", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_LOW_POWER && BLE_MESH", + "help": "Latency (in milliseconds) is the time it takes to enable scanning. In\npractice, it means how much time in advance of the Receive Window, the\nrequest to enable scanning is made.", + "id": "BLE_MESH_LPN_SCAN_LATENCY", + "name": "BLE_MESH_LPN_SCAN_LATENCY", + "range": null, + "title": "Latency for enabling scanning", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_LOW_POWER && BLE_MESH", + "help": "Maximum number of groups to which the LPN can subscribe.", + "id": "BLE_MESH_LPN_GROUPS", + "name": "BLE_MESH_LPN_GROUPS", + "range": null, + "title": "Number of groups the LPN can subscribe to", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_LOW_POWER && BLE_MESH", + "help": "Automatically subscribe all nodes address when friendship\nestablished.", + "id": "BLE_MESH_LPN_SUB_ALL_NODES_ADDR", + "name": "BLE_MESH_LPN_SUB_ALL_NODES_ADDR", + "range": null, + "title": "Automatically subscribe all nodes address", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_NODE && BLE_MESH", + "help": "Enable this option to operate as a Low Power Node. If low power consumption\nis required by a node, this option should be enabled. And once the node\nenters the mesh network, it will try to find a Friend node and establish a\nfriendship.", + "id": "BLE_MESH_LOW_POWER", + "name": "BLE_MESH_LOW_POWER", + "range": null, + "title": "Support for Low Power features", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_FRIEND && BLE_MESH", + "help": "Receive Window in milliseconds supported by the Friend node.", + "id": "BLE_MESH_FRIEND_RECV_WIN", + "name": "BLE_MESH_FRIEND_RECV_WIN", + "range": null, + "title": "Friend Receive Window", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_FRIEND && BLE_MESH", + "help": "Minimum number of buffers available to be stored for each local Friend Queue.\nThis option decides the size of each buffer which can be used by a Friend node\nto store messages for each Low Power node.", + "id": "BLE_MESH_FRIEND_QUEUE_SIZE", + "name": "BLE_MESH_FRIEND_QUEUE_SIZE", + "range": null, + "title": "Minimum number of buffers supported per Friend Queue", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_FRIEND && BLE_MESH", + "help": "Size of the Subscription List that can be supported by a Friend node for a\nLow Power node. And Low Power node can send Friend Subscription List Add or\nFriend Subscription List Remove messages to the Friend node to add or remove\nsubscription addresses.", + "id": "BLE_MESH_FRIEND_SUB_LIST_SIZE", + "name": "BLE_MESH_FRIEND_SUB_LIST_SIZE", + "range": null, + "title": "Friend Subscription List Size", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_FRIEND && BLE_MESH", + "help": "Number of Low Power Nodes with which a Friend can have Friendship simultaneously.\nA Friend node can have friendship with multiple Low Power nodes at the same time,\nwhile a Low Power node can only establish friendship with only one Friend node at\nthe same time.", + "id": "BLE_MESH_FRIEND_LPN_COUNT", + "name": "BLE_MESH_FRIEND_LPN_COUNT", + "range": null, + "title": "Number of supported LPN nodes", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_FRIEND && BLE_MESH", + "help": "Number of incomplete segment lists tracked for each Friends' LPN.\nIn other words, this determines from how many elements can segmented\nmessages destined for the Friend queue be received simultaneously.", + "id": "BLE_MESH_FRIEND_SEG_RX", + "name": "BLE_MESH_FRIEND_SEG_RX", + "range": null, + "title": "Number of incomplete segment lists per LPN", + "type": "int" + } + ], + "depends_on": "BLE_MESH", + "help": "Enable this option to be able to act as a Friend Node.", + "id": "BLE_MESH_FRIEND", + "name": "BLE_MESH_FRIEND", + "range": null, + "title": "Support for Friend feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH && BLE_MESH", + "help": "Select this to save the BLE Mesh related rodata code size. Enabling this option\nwill disable the output of BLE Mesh debug log.", + "id": "BLE_MESH_NO_LOG", + "name": "BLE_MESH_NO_LOG", + "range": null, + "title": "Disable BLE Mesh debug logs (minimize bin size)", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BLE_MESH_TRACE_LEVEL_NONE", + "name": "BLE_MESH_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BLE_MESH_TRACE_LEVEL_ERROR", + "name": "BLE_MESH_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BLE_MESH_TRACE_LEVEL_WARNING", + "name": "BLE_MESH_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BLE_MESH_TRACE_LEVEL_INFO", + "name": "BLE_MESH_TRACE_LEVEL_INFO", + "range": null, + "title": "INFO", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BLE_MESH_TRACE_LEVEL_DEBUG", + "name": "BLE_MESH_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BLE_MESH_TRACE_LEVEL_VERBOSE", + "name": "BLE_MESH_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BLE_MESH && !BLE_MESH_NO_LOG && BLE_MESH && !BLE_MESH_NO_LOG && BLE_MESH", + "help": "Define BLE Mesh trace level for BLE Mesh stack.", + "id": "component-config-esp-ble-mesh-support-ble-mesh-stack-debug-log-level-ble_mesh_stack-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-1180", + "name": "BLE_MESH_STACK_TRACE_LEVEL", + "title": "BLE_MESH_STACK", + "type": "choice" + }, + { + "children": [], + "depends_on": "BLE_MESH && BLE_MESH && !BLE_MESH_NO_LOG && BLE_MESH", + "help": null, + "id": "BLE_MESH_STACK_TRACE_LEVEL", + "name": "BLE_MESH_STACK_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + } + ], + "depends_on": "BLE_MESH && !BLE_MESH_NO_LOG && BLE_MESH", + "id": "component-config-esp-ble-mesh-support-ble-mesh-stack-debug-log-level-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-1177", + "title": "BLE Mesh STACK DEBUG LOG LEVEL", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "BLE_MESH_NET_BUF_TRACE_LEVEL_NONE", + "name": "BLE_MESH_NET_BUF_TRACE_LEVEL_NONE", + "range": null, + "title": "NONE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BLE_MESH_NET_BUF_TRACE_LEVEL_ERROR", + "name": "BLE_MESH_NET_BUF_TRACE_LEVEL_ERROR", + "range": null, + "title": "ERROR", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BLE_MESH_NET_BUF_TRACE_LEVEL_WARNING", + "name": "BLE_MESH_NET_BUF_TRACE_LEVEL_WARNING", + "range": null, + "title": "WARNING", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BLE_MESH_NET_BUF_TRACE_LEVEL_INFO", + "name": "BLE_MESH_NET_BUF_TRACE_LEVEL_INFO", + "range": null, + "title": "INFO", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BLE_MESH_NET_BUF_TRACE_LEVEL_DEBUG", + "name": "BLE_MESH_NET_BUF_TRACE_LEVEL_DEBUG", + "range": null, + "title": "DEBUG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "BLE_MESH_NET_BUF_TRACE_LEVEL_VERBOSE", + "name": "BLE_MESH_NET_BUF_TRACE_LEVEL_VERBOSE", + "range": null, + "title": "VERBOSE", + "type": "bool" + } + ], + "depends_on": "BLE_MESH && !BLE_MESH_NO_LOG && BLE_MESH && !BLE_MESH_NO_LOG && BLE_MESH", + "help": "Define BLE Mesh trace level for BLE Mesh net buffer.", + "id": "component-config-esp-ble-mesh-support-ble-mesh-net-buf-debug-log-level-ble_mesh_net_buf-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-1217", + "name": "BLE_MESH_NET_BUF_TRACE_LEVEL", + "title": "BLE_MESH_NET_BUF", + "type": "choice" + }, + { + "children": [], + "depends_on": "BLE_MESH && BLE_MESH && !BLE_MESH_NO_LOG && BLE_MESH", + "help": null, + "id": "BLE_MESH_NET_BUF_TRACE_LEVEL", + "name": "BLE_MESH_NET_BUF_TRACE_LEVEL", + "range": null, + "title": null, + "type": "int" + } + ], + "depends_on": "BLE_MESH && !BLE_MESH_NO_LOG && BLE_MESH", + "id": "component-config-esp-ble-mesh-support-ble-mesh-net-buf-debug-log-level-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-1214", + "title": "BLE Mesh NET BUF DEBUG LOG LEVEL", + "type": "menu" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Timeout value used by the node to get response of the acknowledged\nmessage which is sent by the client model.\nThis value indicates the maximum time that a client model waits for\nthe response of the sent acknowledged messages. If a client model\nuses 0 as the timeout value when sending acknowledged messages, then\nthe default value will be used which is four seconds.", + "id": "BLE_MESH_CLIENT_MSG_TIMEOUT", + "name": "BLE_MESH_CLIENT_MSG_TIMEOUT", + "range": null, + "title": "Timeout(ms) for client message response", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Configuration Client model.", + "id": "BLE_MESH_CFG_CLI", + "name": "BLE_MESH_CFG_CLI", + "range": null, + "title": "Configuration Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Health Client model.", + "id": "BLE_MESH_HEALTH_CLI", + "name": "BLE_MESH_HEALTH_CLI", + "range": null, + "title": "Health Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Health Server model.", + "id": "BLE_MESH_HEALTH_SRV", + "name": "BLE_MESH_HEALTH_SRV", + "range": null, + "title": "Health Server model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Bridge Configuration Client model.", + "id": "BLE_MESH_BRC_CLI", + "name": "BLE_MESH_BRC_CLI", + "range": null, + "title": "Bridge Configuration Client model", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_BRC_SRV && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Maximum number of Bridging Table entries that the Bridge Configuration Server can support.", + "id": "BLE_MESH_MAX_BRIDGING_TABLE_ENTRY_COUNT", + "name": "BLE_MESH_MAX_BRIDGING_TABLE_ENTRY_COUNT", + "range": null, + "title": "Maximum number of Bridging Table entries", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_BRC_SRV && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "This option specifies the maximum capacity of the bridge replay\nprotection list. The bridge replay protection list is used to\nprevent a bridged subnet from replay attack, which will store the\nsource address and sequence number of the received bridge messages.", + "id": "BLE_MESH_BRIDGE_CRPL", + "name": "BLE_MESH_BRIDGE_CRPL", + "range": null, + "title": "Maximum capacity of bridge replay protection list", + "type": "int" + } + ], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Bridge Configuration Server model.", + "id": "BLE_MESH_BRC_SRV", + "name": "BLE_MESH_BRC_SRV", + "range": null, + "title": "Bridge Configuration Server model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Mesh Private Beacon Client model.", + "id": "BLE_MESH_PRB_CLI", + "name": "BLE_MESH_PRB_CLI", + "range": null, + "title": "Mesh Private Beacon Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Mesh Private Beacon Server model.", + "id": "BLE_MESH_PRB_SRV", + "name": "BLE_MESH_PRB_SRV", + "range": null, + "title": "Mesh Private Beacon Server model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for On-Demand Private Proxy Client model.", + "id": "BLE_MESH_ODP_CLI", + "name": "BLE_MESH_ODP_CLI", + "range": null, + "title": "On-Demand Private Proxy Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_PROXY_SOLIC_PDU_RX && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for On-Demand Private Proxy Server model.", + "id": "BLE_MESH_ODP_SRV", + "name": "BLE_MESH_ODP_SRV", + "range": null, + "title": "On-Demand Private Proxy Server model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Solicitation PDU RPL Configuration Client model.", + "id": "BLE_MESH_SRPL_CLI", + "name": "BLE_MESH_SRPL_CLI", + "range": null, + "title": "Solicitation PDU RPL Configuration Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_PROXY_SOLIC_PDU_RX && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Solicitation PDU RPL Configuration Server model.\nNote:\nThis option depends on the functionality of receiving Solicitation\nPDU. If the device doesn't support receiving Solicitation PDU, then\nthere is no need to enable this server model.", + "id": "BLE_MESH_SRPL_SRV", + "name": "BLE_MESH_SRPL_SRV", + "range": null, + "title": "Solicitation PDU RPL Configuration Server model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Opcodes Aggregator Client model.", + "id": "BLE_MESH_AGG_CLI", + "name": "BLE_MESH_AGG_CLI", + "range": null, + "title": "Opcodes Aggregator Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Opcodes Aggregator Server model.", + "id": "BLE_MESH_AGG_SRV", + "name": "BLE_MESH_AGG_SRV", + "range": null, + "title": "Opcodes Aggregator Server model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for SAR Configuration Client model.", + "id": "BLE_MESH_SAR_CLI", + "name": "BLE_MESH_SAR_CLI", + "range": null, + "title": "SAR Configuration Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for SAR Configuration Server model.", + "id": "BLE_MESH_SAR_SRV", + "name": "BLE_MESH_SAR_SRV", + "range": null, + "title": "SAR Configuration Server model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Composition Data Page 1 contains information about the relationships\namong models.\nEach model either can be a root model or can extend other models.", + "id": "BLE_MESH_COMP_DATA_1", + "name": "BLE_MESH_COMP_DATA_1", + "range": null, + "title": "Support Composition Data Page 1", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Composition Data Page 128 is used to indicate the structure of\nelements, features, and models of a node after the successful\nexecution of the Node Address Refresh procedure or the Node\nComposition Refresh procedure, or after the execution of the\nNode Removal procedure followed by the provisioning process.\nComposition Data Page 128 shall be present if the node supports\nthe Remote Provisioning Server model; otherwise it is optional.", + "id": "BLE_MESH_COMP_DATA_128", + "name": "BLE_MESH_COMP_DATA_128", + "range": null, + "title": "Support Composition Data Page 128", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_MODELS_METADATA_0 && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "The Models Metadata state contains metadata of a node\u2019s models.\nThe Models Metadata state is composed of a number of pages of\ninformation.\nModels Metadata Page 128 contains metadata for the node\u2019s models\nafter the successful execution of the Node Address Refresh\nprocedure or the Node Composition Refresh procedure, or after\nthe execution of the Node Removal procedure followed by the\nprovisioning process.\nModels Metadata Page 128 shall be present if the node supports\nthe Remote Provisioning Server model and the node supports the\nLarge Composition Data Server model.", + "id": "BLE_MESH_MODELS_METADATA_128", + "name": "BLE_MESH_MODELS_METADATA_128", + "range": null, + "title": "Support Models Metadata Page 128", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "The Models Metadata state contains metadata of a node\u2019s models.\nThe Models Metadata state is composed of a number of pages of\ninformation.\nModels Metadata Page 0 shall be present if the node supports\nthe Large Composition Data Server model.", + "id": "BLE_MESH_MODELS_METADATA_0", + "name": "BLE_MESH_MODELS_METADATA_0", + "range": null, + "title": "Support Models Metadata Page 0", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Large Composition Data Client model.", + "id": "BLE_MESH_LCD_CLI", + "name": "BLE_MESH_LCD_CLI", + "range": null, + "title": "Large Composition Data Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Large Composition Data Server model.", + "id": "BLE_MESH_LCD_SRV", + "name": "BLE_MESH_LCD_SRV", + "range": null, + "title": "Large Composition Data Server model", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_RPR_CLI && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "This option specifies how many devices can be provisioned at the same time\nusing PB-REMOTE. For example, if the value is 2, it means a Provisioner can\nprovision two unprovisioned devices with PB-REMOTE at the same time.", + "id": "BLE_MESH_RPR_CLI_PROV_SAME_TIME", + "name": "BLE_MESH_RPR_CLI_PROV_SAME_TIME", + "range": null, + "title": "Maximum number of PB-Remote running at the same time by Provisioner", + "type": "int" + } + ], + "depends_on": "BLE_MESH_PROVISIONER && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Remote Provisioning Client model", + "id": "BLE_MESH_RPR_CLI", + "name": "BLE_MESH_RPR_CLI", + "range": null, + "title": "Remote Provisioning Client model", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_RPR_SRV && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "This option specifies how many device information can a Remote\nProvisioning Server store each time while scanning.", + "id": "BLE_MESH_RPR_SRV_MAX_SCANNED_ITEMS", + "name": "BLE_MESH_RPR_SRV_MAX_SCANNED_ITEMS", + "range": null, + "title": "Maximum number of device information can be scanned", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_RPR_SRV && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable this option to support Active Scan for remote provisioning.", + "id": "BLE_MESH_RPR_SRV_ACTIVE_SCAN", + "name": "BLE_MESH_RPR_SRV_ACTIVE_SCAN", + "range": null, + "title": "Support Active Scan for remote provisioning", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_RPR_SRV && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "This option specifies how many extended scan procedures can be\nstarted by the Remote Provisioning Server.", + "id": "BLE_MESH_RPR_SRV_MAX_EXT_SCAN", + "name": "BLE_MESH_RPR_SRV_MAX_EXT_SCAN", + "range": null, + "title": "Maximum number of extended scan procedures", + "type": "int" + } + ], + "depends_on": "BLE_MESH_NODE && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Remote Provisioning Server model", + "id": "BLE_MESH_RPR_SRV", + "name": "BLE_MESH_RPR_SRV", + "range": null, + "title": "Remote Provisioning Server model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Directed Forwarding Configuration Client model.", + "id": "BLE_MESH_DF_CLI", + "name": "BLE_MESH_DF_CLI", + "range": null, + "title": "Directed Forwarding Configuration Client model", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_DF_SRV && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Maximum number of Discovery Table entries supported by the node in a given subnet.", + "id": "BLE_MESH_MAX_DISC_TABLE_ENTRY_COUNT", + "name": "BLE_MESH_MAX_DISC_TABLE_ENTRY_COUNT", + "range": null, + "title": "Maximum number of discovery table entries in a given subnet", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_DF_SRV && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Maximum number of Forward Table entries supported by the node in a given subnet.", + "id": "BLE_MESH_MAX_FORWARD_TABLE_ENTRY_COUNT", + "name": "BLE_MESH_MAX_FORWARD_TABLE_ENTRY_COUNT", + "range": null, + "title": "Maximum number of forward table entries in a given subnet", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_DF_SRV && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Maximum size of dependent nodes list supported by each forward table entry.", + "id": "BLE_MESH_MAX_DEPS_NODES_PER_PATH", + "name": "BLE_MESH_MAX_DEPS_NODES_PER_PATH", + "range": null, + "title": "Maximum number of dependent nodes per path", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_DF_SRV && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "The option only removes the Path Use timer; all other behavior of the\ndevice is not changed.\nIf Path Monitoring test mode is going to be used, this option should\nbe enabled.", + "id": "BLE_MESH_PATH_MONITOR_TEST", + "name": "BLE_MESH_PATH_MONITOR_TEST", + "range": null, + "title": "Enable Path Monitoring test mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_GATT_PROXY_SERVER && BLE_MESH_DF_SRV && BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Support Directed Proxy functionality.", + "id": "BLE_MESH_SUPPORT_DIRECTED_PROXY", + "name": "BLE_MESH_SUPPORT_DIRECTED_PROXY", + "range": null, + "title": "Enable Directed Proxy functionality", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for Directed Forwarding Configuration Server model.", + "id": "BLE_MESH_DF_SRV", + "name": "BLE_MESH_DF_SRV", + "range": null, + "title": "Directed Forwarding Configuration Server model", + "type": "bool" + } + ], + "depends_on": "BLE_MESH", + "id": "component-config-esp-ble-mesh-support-support-for-ble-mesh-foundation-models-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-1263", + "title": "Support for BLE Mesh Foundation models", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Generic OnOff Client model.", + "id": "BLE_MESH_GENERIC_ONOFF_CLI", + "name": "BLE_MESH_GENERIC_ONOFF_CLI", + "range": null, + "title": "Generic OnOff Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Generic Level Client model.", + "id": "BLE_MESH_GENERIC_LEVEL_CLI", + "name": "BLE_MESH_GENERIC_LEVEL_CLI", + "range": null, + "title": "Generic Level Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Generic Default Transition Time Client model.", + "id": "BLE_MESH_GENERIC_DEF_TRANS_TIME_CLI", + "name": "BLE_MESH_GENERIC_DEF_TRANS_TIME_CLI", + "range": null, + "title": "Generic Default Transition Time Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Generic Power OnOff Client model.", + "id": "BLE_MESH_GENERIC_POWER_ONOFF_CLI", + "name": "BLE_MESH_GENERIC_POWER_ONOFF_CLI", + "range": null, + "title": "Generic Power OnOff Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Generic Power Level Client model.", + "id": "BLE_MESH_GENERIC_POWER_LEVEL_CLI", + "name": "BLE_MESH_GENERIC_POWER_LEVEL_CLI", + "range": null, + "title": "Generic Power Level Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Generic Battery Client model.", + "id": "BLE_MESH_GENERIC_BATTERY_CLI", + "name": "BLE_MESH_GENERIC_BATTERY_CLI", + "range": null, + "title": "Generic Battery Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Generic Location Client model.", + "id": "BLE_MESH_GENERIC_LOCATION_CLI", + "name": "BLE_MESH_GENERIC_LOCATION_CLI", + "range": null, + "title": "Generic Location Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Generic Property Client model.", + "id": "BLE_MESH_GENERIC_PROPERTY_CLI", + "name": "BLE_MESH_GENERIC_PROPERTY_CLI", + "range": null, + "title": "Generic Property Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Sensor Client model.", + "id": "BLE_MESH_SENSOR_CLI", + "name": "BLE_MESH_SENSOR_CLI", + "range": null, + "title": "Sensor Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Time Client model.", + "id": "BLE_MESH_TIME_CLI", + "name": "BLE_MESH_TIME_CLI", + "range": null, + "title": "Time Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Scene Client model.", + "id": "BLE_MESH_SCENE_CLI", + "name": "BLE_MESH_SCENE_CLI", + "range": null, + "title": "Scene Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Scheduler Client model.", + "id": "BLE_MESH_SCHEDULER_CLI", + "name": "BLE_MESH_SCHEDULER_CLI", + "range": null, + "title": "Scheduler Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Light Lightness Client model.", + "id": "BLE_MESH_LIGHT_LIGHTNESS_CLI", + "name": "BLE_MESH_LIGHT_LIGHTNESS_CLI", + "range": null, + "title": "Light Lightness Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Light CTL Client model.", + "id": "BLE_MESH_LIGHT_CTL_CLI", + "name": "BLE_MESH_LIGHT_CTL_CLI", + "range": null, + "title": "Light CTL Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Light HSL Client model.", + "id": "BLE_MESH_LIGHT_HSL_CLI", + "name": "BLE_MESH_LIGHT_HSL_CLI", + "range": null, + "title": "Light HSL Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Light XYL Client model.", + "id": "BLE_MESH_LIGHT_XYL_CLI", + "name": "BLE_MESH_LIGHT_XYL_CLI", + "range": null, + "title": "Light XYL Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Light LC Client model.", + "id": "BLE_MESH_LIGHT_LC_CLI", + "name": "BLE_MESH_LIGHT_LC_CLI", + "range": null, + "title": "Light LC Client model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Generic server models.", + "id": "BLE_MESH_GENERIC_SERVER", + "name": "BLE_MESH_GENERIC_SERVER", + "range": null, + "title": "Generic server models", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Sensor server models.", + "id": "BLE_MESH_SENSOR_SERVER", + "name": "BLE_MESH_SENSOR_SERVER", + "range": null, + "title": "Sensor server models", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Time and Scenes server models.", + "id": "BLE_MESH_TIME_SCENE_SERVER", + "name": "BLE_MESH_TIME_SCENE_SERVER", + "range": null, + "title": "Time and Scenes server models", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable support for Lighting server models.", + "id": "BLE_MESH_LIGHTING_SERVER", + "name": "BLE_MESH_LIGHTING_SERVER", + "range": null, + "title": "Lighting server models", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_MBT_CLI && BLE_MESH", + "help": "Maximum number of BLOB Transfer Server models that can participating\nin the BLOB transfer with a BLOB Transfer Client model.", + "id": "BLE_MESH_MAX_BLOB_RECEIVERS", + "name": "BLE_MESH_MAX_BLOB_RECEIVERS", + "range": null, + "title": "Maximum number of simultaneous blob receivers", + "type": "int" + } + ], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for BLOB Transfer Client model.\nWarn: This version of the Mesh Binary Large Object Transfer Model will be deprecated,\nand a new version will be released in the future.", + "id": "BLE_MESH_MBT_CLI", + "name": "BLE_MESH_MBT_CLI", + "range": null, + "title": "BLOB Transfer Client model(Deprecated)", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable support for BLOB Transfer Server model.\nWarn: This version of the Mesh Binary Large Object Transfer Model will be deprecated,\nand a new version will be released in the future.", + "id": "BLE_MESH_MBT_SRV", + "name": "BLE_MESH_MBT_SRV", + "range": null, + "title": "BLOB Transfer Server model(Deprecated)", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_BLOB_SRV && BLE_MESH", + "help": "In Pull mode (Pull BLOB Transfer Mode), the BLOB Transfer Server\nrequests a fixed number of chunks from the Client. Use this option to\ncontrol the chunk count in the request. If the BLOB Transfer Server\nis instantiated on a Low Power node, the pull request count will be\ntrimmed to not overflow the Friend queue.", + "id": "BLE_MESH_BLOB_SRV_PULL_REQ_COUNT", + "name": "BLE_MESH_BLOB_SRV_PULL_REQ_COUNT", + "range": null, + "title": "Number of chunks to request for each pull", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_BLOB_SRV && BLE_MESH", + "help": "The maximum object size a BLOB Transfer Server can receive.", + "id": "BLE_MESH_BLOB_SIZE_MAX", + "name": "BLE_MESH_BLOB_SIZE_MAX", + "range": null, + "title": "Largest BLOB size in bytes", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_BLOB_SRV && BLE_MESH", + "help": "Minimum acceptable block size in a BLOB transfer. The transfer block\nsize will be some number that is a power of two, and is between block\nsize min and block size max. If no such number exists, a compile\ntime warning will be issued.", + "id": "BLE_MESH_BLOB_BLOCK_SIZE_MIN", + "name": "BLE_MESH_BLOB_BLOCK_SIZE_MIN", + "range": null, + "title": "Minimum block size", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_BLOB_SRV && BLE_MESH", + "help": "Maximum acceptable block size in a BLOB transfer. The transfer block\nsize will be some number that is a power of two, and is between block\nsize min and block size max. If no such number exists, a compile\ntime warning will be issued.", + "id": "BLE_MESH_BLOB_BLOCK_SIZE_MAX", + "name": "BLE_MESH_BLOB_BLOCK_SIZE_MAX", + "range": null, + "title": "Maximum block size", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_BLOB_SRV && BLE_MESH", + "help": "The timer value that Pull BLOB Transfer Server uses to report missed chunks.", + "id": "BLE_MESH_BLOB_REPORT_TIMEOUT", + "name": "BLE_MESH_BLOB_REPORT_TIMEOUT", + "range": null, + "title": "Partial Block Report interval in Pull mode", + "type": "int" + }, + { + "children": [], + "depends_on": "!BLE_MESH_ALIGN_CHUNK_SIZE_TO_MAX_SEGMENT && BLE_MESH_BLOB_SRV && BLE_MESH", + "help": "Set the chunk size for the BLOB Server.\nThe actual maximum chunk size depends on how many segments are\npossible and will be clamped to the max possible if set above.\nsee also: BLE_MESH_RX_SEG_MAX,\nand the maximum SDU a node can receive.", + "id": "BLE_MESH_RX_BLOB_CHUNK_SIZE", + "name": "BLE_MESH_RX_BLOB_CHUNK_SIZE", + "range": null, + "title": "BLOB Server chunk size", + "type": "int" + } + ], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable the Binary Large Object (BLOB) Transfer Server model.", + "id": "BLE_MESH_BLOB_SRV", + "name": "BLE_MESH_BLOB_SRV", + "range": null, + "title": "Support for BLOB Transfer Server model", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_BLOB_CLI && BLE_MESH", + "help": "Controls the number of times the client will attempt to resend missing\nchunks to the BLOB receivers for every block.", + "id": "BLE_MESH_BLOB_CLI_BLOCK_RETRIES", + "name": "BLE_MESH_BLOB_CLI_BLOCK_RETRIES", + "range": null, + "title": "Number of retries per block", + "type": "int" + }, + { + "children": [], + "depends_on": "!BLE_MESH_ALIGN_CHUNK_SIZE_TO_MAX_SEGMENT && BLE_MESH_BLOB_CLI && BLE_MESH", + "help": "Set the chunk size for the BLOB Client.\nThe actual maximum chunk size depends on how many segments are\npossible and will be clamped to the max possible if set above.\nsee also: BLE_MESH_TX_SEG_MAX,\nand the maximum SDU a node can receive.", + "id": "BLE_MESH_TX_BLOB_CHUNK_SIZE", + "name": "BLE_MESH_TX_BLOB_CHUNK_SIZE", + "range": null, + "title": "BLOB Client chunk size", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_BLOB_CLI && BLE_MESH", + "help": "Set the interval in milliseconds in which chunks are sent during the BLOB transfer.\nNote: Without a delay between each sent chunk, the network might become too busy with the\nBLOB transfer for other communications to succeed.\nNote: Timing restrictions, like the timeout base, should be considered or changed\naccordingly when setting this interval. Otherwise, the interval might be too big for the\ntimeout settings and cause timeouts.", + "id": "BLE_MESH_TX_BLOB_CHUNK_SEND_INTERVAL", + "name": "BLE_MESH_TX_BLOB_CHUNK_SEND_INTERVAL", + "range": null, + "title": "BLOB Client chunk send interval", + "type": "int" + } + ], + "depends_on": "BLE_MESH_V11_SUPPORT && BLE_MESH", + "help": "Enable the Binary Large Object (BLOB) Transfer Client model.", + "id": "BLE_MESH_BLOB_CLI", + "name": "BLE_MESH_BLOB_CLI", + "range": null, + "title": "Support for BLOB Transfer Client model", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH", + "help": "A BLOB transfer contains several blocks. Each block is made up of\nseveral chunks. This option controls the maximum chunk count per\nblock.", + "id": "BLE_MESH_BLOB_CHUNK_COUNT_MAX", + "name": "BLE_MESH_BLOB_CHUNK_COUNT_MAX", + "range": null, + "title": "Maximum chunk count per block", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": null, + "id": "BLE_MESH_ALIGN_CHUNK_SIZE_TO_MAX_SEGMENT", + "name": "BLE_MESH_ALIGN_CHUNK_SIZE_TO_MAX_SEGMENT", + "range": null, + "title": "Align chunk size to max segmented message size", + "type": "bool" + } + ], + "depends_on": "BLE_MESH", + "id": "component-config-esp-ble-mesh-support-support-for-ble-mesh-client-server-models-binary-larger-object-transfer-model-blob-models-common-configuration-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-1786", + "title": "BLOB models common configuration", + "type": "menu" + } + ], + "depends_on": "BLE_MESH", + "id": "component-config-esp-ble-mesh-support-support-for-ble-mesh-client-server-models-binary-larger-object-transfer-model-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-1676", + "title": "Binary Larger Object Transfer model", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_BLOB_SRV && BLE_MESH", + "help": "Enable the Firmware Update Server model.", + "id": "BLE_MESH_DFU_SRV", + "name": "BLE_MESH_DFU_SRV", + "range": null, + "title": "Support for Firmware Update Server model", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_BLOB_CLI && BLE_MESH", + "help": "Enable the Firmware Update Client model.", + "id": "BLE_MESH_DFU_CLI", + "name": "BLE_MESH_DFU_CLI", + "range": null, + "title": "Support for Firmware Update Client model", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This value defines the maximum length of an image's firmware ID.", + "id": "BLE_MESH_DFU_FWID_MAXLEN", + "name": "BLE_MESH_DFU_FWID_MAXLEN", + "range": null, + "title": "DFU FWID max length", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This value defines the maximum length of an image's metadata.", + "id": "BLE_MESH_DFU_METADATA_MAXLEN", + "name": "BLE_MESH_DFU_METADATA_MAXLEN", + "range": null, + "title": "DFU metadata max length", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This option adds a set of functions that can be used to encode and decode a firmware\nmetadata using the format defined in the Bluetooth mesh DFU subsystem.", + "id": "BLE_MESH_DFU_METADATA", + "name": "BLE_MESH_DFU_METADATA", + "range": null, + "title": "Support for the default metadata format", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This value defines the maximum length of an image's URI, not including\na string terminator.", + "id": "BLE_MESH_DFU_URI_MAXLEN", + "name": "BLE_MESH_DFU_URI_MAXLEN", + "range": null, + "title": "DFU URI max length", + "type": "int" + } + ], + "depends_on": "BLE_MESH", + "id": "component-config-esp-ble-mesh-support-support-for-ble-mesh-client-server-models-device-firmware-update-model-firmware-update-model-configuration-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-1820", + "title": "Firmware Update model configuration", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_DFU_SLOTS && BLE_MESH", + "help": "This value defines the number of firmware slots the DFU image slot manager\ncan keep simultaneously.", + "id": "BLE_MESH_DFU_SLOT_CNT", + "name": "BLE_MESH_DFU_SLOT_CNT", + "range": null, + "title": "Number of firmware image slots", + "type": "int" + } + ], + "depends_on": "BLE_MESH", + "help": "Enable the DFU image slot manager, for managing firmware distribution slots\nfor the Firmware Update Client model.", + "id": "BLE_MESH_DFU_SLOTS", + "name": "BLE_MESH_DFU_SLOTS", + "range": null, + "title": "Firmware image slot manager", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Enable the Device Distribution Client model", + "id": "BLE_MESH_DFD_CLI", + "name": "BLE_MESH_DFD_CLI", + "range": null, + "title": "Support for Device Distribution Client model", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_DFD_SRV && BLE_MESH", + "help": "This value defines the largest DFU image a single slot can store.", + "id": "BLE_MESH_DFD_SRV_SLOT_MAX_SIZE", + "name": "BLE_MESH_DFD_SRV_SLOT_MAX_SIZE", + "range": null, + "title": "Largest DFU image that can be stored", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_DFD_SRV && BLE_MESH", + "help": "This value defines the total storage space dedicated to storing DFU\nimages on the Firmware Distribution Server.", + "id": "BLE_MESH_DFD_SRV_SLOT_SPACE", + "name": "BLE_MESH_DFD_SRV_SLOT_SPACE", + "range": null, + "title": "Total DFU image storage space", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_DFD_SRV && BLE_MESH", + "help": "This value defines the maximum number of Target nodes the Firmware\nDistribution Server can target simultaneously.", + "id": "BLE_MESH_DFD_SRV_TARGETS_MAX", + "name": "BLE_MESH_DFD_SRV_TARGETS_MAX", + "range": null, + "title": "Maximum Target node count", + "type": "int" + }, + { + "children": [], + "depends_on": "BLE_MESH_DFD_SRV && BLE_MESH", + "help": "This enables support for OOB upload of firmware images for\ndistribution. This makes several callbacks and use of the init\nmacro BLE_MESH_DFD_SRV_INIT_OOB mandatory. See the API documentation\nfor bt_mesh_dfd_srv_cb for details about the mandatory callbacks.", + "id": "BLE_MESH_DFD_SRV_OOB_UPLOAD", + "name": "BLE_MESH_DFD_SRV_OOB_UPLOAD", + "range": null, + "title": "Support for DFU image OOB upload", + "type": "bool" + } + ], + "depends_on": "BLE_MESH_BLOB_SRV && BLE_MESH_DFU_CLI && BLE_MESH", + "help": "Enable the Firmware Distribution Server model.", + "id": "BLE_MESH_DFD_SRV", + "name": "BLE_MESH_DFD_SRV", + "range": null, + "title": "Support for Firmware Distribution Server model", + "type": "bool" + } + ], + "depends_on": "BLE_MESH", + "id": "component-config-esp-ble-mesh-support-support-for-ble-mesh-client-server-models-device-firmware-update-model-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-1806", + "title": "Device Firmware Update model", + "type": "menu" + } + ], + "depends_on": "BLE_MESH", + "id": "component-config-esp-ble-mesh-support-support-for-ble-mesh-client-server-models-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-1535", + "title": "Support for BLE Mesh Client/Server models", + "type": "menu" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This option removes the 96 hour limit of the IV Update Procedure and\nlets the state to be changed at any time.\nIf IV Update test mode is going to be used, this option should be enabled.", + "id": "BLE_MESH_IV_UPDATE_TEST", + "name": "BLE_MESH_IV_UPDATE_TEST", + "range": null, + "title": "Test the IV Update Procedure", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This option is used to decide whether discarding the old SeqAuth when\nreceiving a segmented message.", + "id": "BLE_MESH_DISCARD_OLD_SEQ_AUTH", + "name": "BLE_MESH_DISCARD_OLD_SEQ_AUTH", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH", + "help": "This option adds extra self-tests which are run every time BLE Mesh\nnetworking is initialized.", + "id": "BLE_MESH_SELF_TEST", + "name": "BLE_MESH_SELF_TEST", + "range": null, + "title": "Perform BLE Mesh self-tests", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_BQB_TEST && BLE_MESH", + "help": "This option is used to enable the log of auto-pts test.", + "id": "BLE_MESH_BQB_TEST_LOG", + "name": "BLE_MESH_BQB_TEST_LOG", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": "BLE_MESH", + "help": "This option is used to enable some internal functions for auto-pts test.", + "id": "BLE_MESH_BQB_TEST", + "name": "BLE_MESH_BQB_TEST", + "range": null, + "title": "Enable BLE Mesh specific internal test", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_SELF_TEST && BLE_MESH", + "help": "With this option enabled, an unprovisioned device can automatically\nenters mesh network using a specific test function without the pro-\nvisioning procedure. And on the Provisioner side, a test function\nneeds to be invoked to add the node information into the mesh stack.", + "id": "BLE_MESH_TEST_AUTO_ENTER_NETWORK", + "name": "BLE_MESH_TEST_AUTO_ENTER_NETWORK", + "range": null, + "title": "Unprovisioned device enters mesh network automatically", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_SELF_TEST && BLE_MESH", + "help": "With this option enabled, users can use white list to filter mesh\nadvertising packets while scanning.", + "id": "BLE_MESH_TEST_USE_WHITE_LIST", + "name": "BLE_MESH_TEST_USE_WHITE_LIST", + "range": null, + "title": "Use white list to filter mesh advertising packets", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Activate shell module that provides BLE Mesh commands to the console.", + "id": "BLE_MESH_SHELL", + "name": "BLE_MESH_SHELL", + "range": null, + "title": "Enable BLE Mesh shell", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "BLE_MESH_DEBUG && BLE_MESH", + "help": "Enable Network layer debug logs for the BLE Mesh functionality.", + "id": "BLE_MESH_DEBUG_NET", + "name": "BLE_MESH_DEBUG_NET", + "range": null, + "title": "Network layer debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_DEBUG && BLE_MESH", + "help": "Enable Transport layer debug logs for the BLE Mesh functionality.", + "id": "BLE_MESH_DEBUG_TRANS", + "name": "BLE_MESH_DEBUG_TRANS", + "range": null, + "title": "Transport layer debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_DEBUG && BLE_MESH", + "help": "Enable Beacon-related debug logs for the BLE Mesh functionality.", + "id": "BLE_MESH_DEBUG_BEACON", + "name": "BLE_MESH_DEBUG_BEACON", + "range": null, + "title": "Beacon debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_DEBUG && BLE_MESH", + "help": "Enable cryptographic debug logs for the BLE Mesh functionality.", + "id": "BLE_MESH_DEBUG_CRYPTO", + "name": "BLE_MESH_DEBUG_CRYPTO", + "range": null, + "title": "Crypto debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_DEBUG && BLE_MESH", + "help": "Enable Provisioning debug logs for the BLE Mesh functionality.", + "id": "BLE_MESH_DEBUG_PROV", + "name": "BLE_MESH_DEBUG_PROV", + "range": null, + "title": "Provisioning debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_DEBUG && BLE_MESH", + "help": "Enable Access layer debug logs for the BLE Mesh functionality.", + "id": "BLE_MESH_DEBUG_ACCESS", + "name": "BLE_MESH_DEBUG_ACCESS", + "range": null, + "title": "Access layer debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_DEBUG && BLE_MESH", + "help": "Enable Foundation Models debug logs for the BLE Mesh functionality.", + "id": "BLE_MESH_DEBUG_MODEL", + "name": "BLE_MESH_DEBUG_MODEL", + "range": null, + "title": "Foundation model debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_DEBUG && BLE_MESH", + "help": "Enable advertising debug logs for the BLE Mesh functionality.", + "id": "BLE_MESH_DEBUG_ADV", + "name": "BLE_MESH_DEBUG_ADV", + "range": null, + "title": "Advertising debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_DEBUG && BLE_MESH", + "help": "Enable Low Power debug logs for the BLE Mesh functionality.", + "id": "BLE_MESH_DEBUG_LOW_POWER", + "name": "BLE_MESH_DEBUG_LOW_POWER", + "range": null, + "title": "Low Power debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_DEBUG && BLE_MESH", + "help": "Enable Friend debug logs for the BLE Mesh functionality.", + "id": "BLE_MESH_DEBUG_FRIEND", + "name": "BLE_MESH_DEBUG_FRIEND", + "range": null, + "title": "Friend debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "BLE_MESH_PROXY && BLE_MESH_DEBUG && BLE_MESH", + "help": "Enable Proxy protocol debug logs for the BLE Mesh functionality.", + "id": "BLE_MESH_DEBUG_PROXY", + "name": "BLE_MESH_DEBUG_PROXY", + "range": null, + "title": "Proxy debug", + "type": "bool" + } + ], + "depends_on": "BLE_MESH", + "help": "Enable debug logs for the BLE Mesh functionality.", + "id": "BLE_MESH_DEBUG", + "name": "BLE_MESH_DEBUG", + "range": null, + "title": "Enable BLE Mesh debug logs", + "type": "bool" + } + ], + "depends_on": "BLE_MESH", + "id": "component-config-esp-ble-mesh-support-ble-mesh-specific-test-option-home-claw-.platformio-packages-framework-espidf-components-bt-esp_ble_mesh-Kconfig.in-1939", + "title": "BLE Mesh specific test option", + "type": "menu" + }, + { + "children": [], + "depends_on": "BLE_MESH", + "help": "Make BLE Mesh Experimental features visible.\nExperimental features list:\n- CONFIG_BLE_MESH_NOT_RELAY_REPLAY_MSG\n- CONFIG_BLE_MESH_USE_BLE_50\n- CONFIG_BLE_MESH_PROXY_CLI_SRV_COEXIST", + "id": "BLE_MESH_EXPERIMENTAL", + "name": "BLE_MESH_EXPERIMENTAL", + "range": null, + "title": "Make BLE Mesh experimental features visible", + "type": "bool" + } + ], + "depends_on": "BT_ENABLED", + "help": "This option enables ESP BLE Mesh support. The specific features that are\navailable may depend on other features that have been enabled in the\nstack, such as Bluetooth Support, Bluedroid Support & GATT support.", + "id": "BLE_MESH", + "is_menuconfig": true, + "name": "BLE_MESH", + "range": null, + "title": "ESP BLE Mesh Support", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Instead of listing the commands in the order of registration, the help command lists\nthe available commands in sorted order, if this option is enabled.", + "id": "CONSOLE_SORTED_HELP", + "name": "CONSOLE_SORTED_HELP", + "range": null, + "title": "Enable sorted help", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-console-library-home-claw-.platformio-packages-framework-espidf-components-console-Kconfig-1", + "title": "Console Library", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "SOC_TWAI_SUPPORTED", + "help": "Place the TWAI ISR in to IRAM to reduce latency and increase performance", + "id": "TWAI_ISR_IN_IRAM_LEGACY", + "name": "TWAI_ISR_IN_IRAM_LEGACY", + "range": null, + "title": "Place TWAI ISR function in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_TWAI_SUPPORTED", + "help": "whether to suppress the deprecation warnings when using legacy twai driver\n(driver/twai.h). If you want to continue using the legacy driver,\nand don't want to see related deprecation warnings, you can enable this option.", + "id": "TWAI_SUPPRESS_DEPRECATE_WARN", + "name": "TWAI_SUPPRESS_DEPRECATE_WARN", + "range": null, + "title": "Suppress legacy driver deprecated warning", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_TWAI_SUPPORTED", + "help": "This configuration option used to bypass the conflict check mechanism with legacy code.", + "id": "TWAI_SKIP_LEGACY_CONFLICT_CHECK", + "name": "TWAI_SKIP_LEGACY_CONFLICT_CHECK", + "range": null, + "title": "Skip legacy driver conflict check", + "type": "bool" + } + ], + "depends_on": "SOC_TWAI_SUPPORTED", + "id": "component-config-legacy-driver-configurations-legacy-twai-driver-configurations-home-claw-.platformio-packages-framework-espidf-components-driver-.-twai-Kconfig.twai-1", + "title": "Legacy TWAI Driver Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_I2C_SUPPORTED", + "help": "whether to suppress the deprecation warnings when using legacy i2c driver\n(driver/i2c.h). If you want to continue using the legacy driver,\nand don't want to see related deprecation warnings, you can enable this option.", + "id": "I2C_SUPPRESS_DEPRECATE_WARN", + "name": "I2C_SUPPRESS_DEPRECATE_WARN", + "range": null, + "title": "Suppress legacy driver deprecated warning", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_I2C_SUPPORTED", + "help": "This configuration option allows the user to bypass the conflict check mechanism with legacy code.", + "id": "I2C_SKIP_LEGACY_CONFLICT_CHECK", + "name": "I2C_SKIP_LEGACY_CONFLICT_CHECK", + "range": null, + "title": "Skip legacy conflict check", + "type": "bool" + } + ], + "depends_on": "SOC_I2C_SUPPORTED", + "id": "component-config-legacy-driver-configurations-legacy-i2c-driver-configurations-home-claw-.platformio-packages-framework-espidf-components-driver-Kconfig-5", + "title": "Legacy I2C Driver Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_TOUCH_SENSOR_SUPPORTED", + "help": "whether to suppress the deprecation warnings when using legacy touch sensor driver\n(driver/touch_sensor.h). If you want to continue using the legacy driver,\nand don't want to see related deprecation warnings, you can enable this option.", + "id": "TOUCH_SUPPRESS_DEPRECATE_WARN", + "name": "TOUCH_SUPPRESS_DEPRECATE_WARN", + "range": null, + "title": "Suppress legacy driver deprecated warning", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_TOUCH_SENSOR_SUPPORTED", + "help": "This configuration option allows the user to bypass the conflict check mechanism with legacy code.", + "id": "TOUCH_SKIP_LEGACY_CONFLICT_CHECK", + "name": "TOUCH_SKIP_LEGACY_CONFLICT_CHECK", + "range": null, + "title": "Skip legacy conflict check", + "type": "bool" + } + ], + "depends_on": "SOC_TOUCH_SENSOR_SUPPORTED", + "id": "component-config-legacy-driver-configurations-legacy-touch-sensor-driver-configurations-home-claw-.platformio-packages-framework-espidf-components-driver-Kconfig-22", + "title": "Legacy Touch Sensor Driver Configurations", + "type": "menu" + } + ], + "depends_on": null, + "id": "component-config-legacy-driver-configurations-home-claw-.platformio-packages-framework-espidf-components-driver-Kconfig-1", + "title": "Legacy Driver Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "EFUSE_CUSTOM_TABLE", + "help": "Name of the custom eFuse CSV filename. This path is evaluated\nrelative to the project root directory.", + "id": "EFUSE_CUSTOM_TABLE_FILENAME", + "name": "EFUSE_CUSTOM_TABLE_FILENAME", + "range": null, + "title": "Custom eFuse CSV file", + "type": "string" + } + ], + "depends_on": null, + "help": "Allows to generate a structure for eFuse from the CSV file.", + "id": "EFUSE_CUSTOM_TABLE", + "name": "EFUSE_CUSTOM_TABLE", + "range": null, + "title": "Use custom eFuse table", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "EFUSE_VIRTUAL && !IDF_TARGET_LINUX", + "help": "In addition to the \"Simulate eFuse operations in RAM\" option, this option just adds\na feature to keep eFuses after reboots in flash memory. To use this mode the partition_table\nshould have the `efuse` partition. partition.csv: \"efuse_em, data, efuse, , 0x2000,\"\n\nDuring startup, the eFuses are copied from flash or,\nin case if flash is empty, from real eFuse to RAM and then update flash.\nThis mode is useful when need to keep changes after reboot\n(testing secure_boot and flash_encryption).", + "id": "EFUSE_VIRTUAL_KEEP_IN_FLASH", + "name": "EFUSE_VIRTUAL_KEEP_IN_FLASH", + "range": null, + "title": "Keep eFuses in flash", + "type": "bool" + }, + { + "children": [], + "depends_on": "EFUSE_VIRTUAL", + "help": "If enabled, log efuse burns. This shows changes that would be made.", + "id": "EFUSE_VIRTUAL_LOG_ALL_WRITES", + "name": "EFUSE_VIRTUAL_LOG_ALL_WRITES", + "range": null, + "title": "Log all virtual writes", + "type": "bool" + } + ], + "depends_on": null, + "help": "If \"n\" - No virtual mode. All eFuse operations are real and use eFuse registers.\nIf \"y\" - The virtual mode is enabled and all eFuse operations (read and write) are redirected\nto RAM instead of eFuse registers, all permanent changes (via eFuse) are disabled.\nLog output will state changes that would be applied, but they will not be.\n\nIf it is \"y\", then SECURE_FLASH_ENCRYPTION_MODE_RELEASE cannot be used.\nBecause the EFUSE VIRT mode is for testing only.\n\nDuring startup, the eFuses are copied into RAM. This mode is useful for fast tests.", + "id": "EFUSE_VIRTUAL", + "name": "EFUSE_VIRTUAL", + "range": null, + "title": "Simulate eFuse operations in RAM", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "EFUSE_CODE_SCHEME_COMPAT_NONE", + "name": "EFUSE_CODE_SCHEME_COMPAT_NONE", + "range": null, + "title": "None Only", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "EFUSE_CODE_SCHEME_COMPAT_3_4", + "name": "EFUSE_CODE_SCHEME_COMPAT_3_4", + "range": null, + "title": "3/4 and None", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "EFUSE_CODE_SCHEME_COMPAT_REPEAT", + "name": "EFUSE_CODE_SCHEME_COMPAT_REPEAT", + "range": null, + "title": "Repeat, 3/4 and None (common table does not support it)", + "type": "bool" + } + ], + "depends_on": "IDF_TARGET_ESP32", + "help": "Selector eFuse code scheme.", + "id": "component-config-efuse-bit-manager-coding-scheme-compatibility-home-claw-.platformio-packages-framework-espidf-components-efuse-Kconfig-51", + "name": "EFUSE_CODE_SCHEME_SELECTOR", + "title": "Coding Scheme Compatibility", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "EFUSE_MAX_BLK_LEN", + "name": "EFUSE_MAX_BLK_LEN", + "range": null, + "title": null, + "type": "int" + } + ], + "depends_on": null, + "id": "component-config-efuse-bit-manager-home-claw-.platformio-packages-framework-espidf-components-efuse-Kconfig-1", + "title": "eFuse Bit Manager", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_TLS_USING_MBEDTLS", + "name": "ESP_TLS_USING_MBEDTLS", + "range": null, + "title": "mbedTLS", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "When selected, allows external components to register their own TLS stack implementation\nvia esp_tls_register_stack() API. The custom stack must be registered before creating\nany TLS connections, otherwise TLS operations will fail.\n\nExternal components can provide any TLS stack implementation by implementing the\nesp_tls_stack_ops_t interface.", + "id": "ESP_TLS_CUSTOM_STACK", + "name": "ESP_TLS_CUSTOM_STACK", + "range": null, + "title": "Custom TLS stack (register via esp_tls_register_stack())", + "type": "bool" + } + ], + "depends_on": null, + "help": "The ESP-TLS APIs support multiple backend TLS libraries. mbedTLS is supported by default.\nCustom TLS stacks can be registered via esp_tls_register_stack() API when\nCONFIG_ESP_TLS_CUSTOM_STACK is selected. Different TLS libraries may support different\nfeatures and have different resource usage. Consult the ESP-TLS documentation in ESP-IDF\nProgramming guide for more details.", + "id": "component-config-esp-tls-choose-ssl-tls-library-for-esp-tls-see-help-for-more-info--home-claw-.platformio-packages-framework-espidf-components-esp-tls-Kconfig-2", + "name": "ESP_TLS_LIBRARY_CHOOSE", + "title": "Choose SSL/TLS library for ESP-TLS (See help for more Info)", + "type": "choice" + }, + { + "children": [], + "depends_on": "ESP_TLS_USING_MBEDTLS", + "help": "Enable use of Secure Element for ESP-TLS, this enables internal support for\nATECC608A peripheral, which can be used for TLS connection.", + "id": "ESP_TLS_USE_SECURE_ELEMENT", + "name": "ESP_TLS_USE_SECURE_ELEMENT", + "range": null, + "title": "Use Secure Element (ATECC608A) with ESP-TLS", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_TLS_USING_MBEDTLS && SOC_DIG_SIGN_SUPPORTED", + "help": "Enable use of the Digital Signature Peripheral for ESP-TLS.The DS peripheral\ncan only be used when it is appropriately configured for TLS.\nConsult the ESP-TLS documentation in ESP-IDF Programming Guide for more details.", + "id": "ESP_TLS_USE_DS_PERIPHERAL", + "name": "ESP_TLS_USE_DS_PERIPHERAL", + "range": null, + "title": "Use Digital Signature (DS) Peripheral with ESP-TLS", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_TLS_USING_MBEDTLS && MBEDTLS_CLIENT_SSL_SESSION_TICKETS", + "help": "Enable session ticket support as specified in RFC5077.", + "id": "ESP_TLS_CLIENT_SESSION_TICKETS", + "name": "ESP_TLS_CLIENT_SESSION_TICKETS", + "range": null, + "title": "Enable client session tickets", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_TLS_SERVER_SESSION_TICKETS", + "help": "Sets the session ticket timeout used in the tls server.", + "id": "ESP_TLS_SERVER_SESSION_TICKET_TIMEOUT", + "name": "ESP_TLS_SERVER_SESSION_TICKET_TIMEOUT", + "range": null, + "title": "Server session ticket timeout in seconds", + "type": "int" + } + ], + "depends_on": "ESP_TLS_USING_MBEDTLS && MBEDTLS_SERVER_SSL_SESSION_TICKETS", + "help": "Enable session ticket support as specified in RFC5077", + "id": "ESP_TLS_SERVER_SESSION_TICKETS", + "name": "ESP_TLS_SERVER_SESSION_TICKETS", + "range": null, + "title": "Enable server session tickets", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_TLS_USING_MBEDTLS", + "help": "Ability to configure and use a certificate selection callback during server handshake,\nto select a certificate to present to the client based on the TLS extensions supplied in\nthe client hello (alpn, sni, etc).", + "id": "ESP_TLS_SERVER_CERT_SELECT_HOOK", + "name": "ESP_TLS_SERVER_CERT_SELECT_HOOK", + "range": null, + "title": "Certificate selection hook", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_TLS_USING_MBEDTLS", + "help": "When this option is enabled, the ESP-TLS server can be configured to\nrequest client certificates optionally. This is done by setting the\nclient_cert_authmode_optional field in the esp_https_server_config_t structure.\n\nmbedtls_ssl_get_verify_result() can be called after the handshake is complete to\nretrieve status of verification of the client certificate, if presented.", + "id": "ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL", + "name": "ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL", + "range": null, + "title": "ESP-TLS Server: Set minimum Certificate Verification mode to Optional", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable support for pre shared key ciphers, supported for both mbedTLS as well as\ncustom TLS stacks.", + "id": "ESP_TLS_PSK_VERIFICATION", + "name": "ESP_TLS_PSK_VERIFICATION", + "range": null, + "title": "Enable PSK verification", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_TLS_INSECURE", + "help": "After enabling this option the esp-tls client will skip the server certificate verification\nby default. Note that this option will only modify the default behaviour of esp-tls client\nregarding server cert verification. The default behaviour should only be applicable when\nno other option regarding the server cert verification is opted in the esp-tls config\n(e.g. crt_bundle_attach, use_global_ca_store etc.).\nWARNING : Enabling this option comes with a potential risk of establishing a TLS connection\nwith a server which has a fake identity, provided that the server certificate\nis not provided either through API or other mechanism like ca_store etc.", + "id": "ESP_TLS_SKIP_SERVER_CERT_VERIFY", + "name": "ESP_TLS_SKIP_SERVER_CERT_VERIFY", + "range": null, + "title": "Skip server certificate verification by default (WARNING: ONLY FOR TESTING PURPOSE, READ HELP)", + "type": "bool" + } + ], + "depends_on": null, + "help": "You can enable some potentially insecure options. These options should only be used for testing purposes.\nOnly enable these options if you are very sure.", + "id": "ESP_TLS_INSECURE", + "name": "ESP_TLS_INSECURE", + "range": null, + "title": "Allow potentially insecure options", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable support for dynamic buffer strategy for ESP-TLS. This is the hidden config option kept\nfor external components like OTA, to find out whether the dynamic buffer strategy is supported\nfor particular ESP-IDF version.", + "id": "ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED", + "name": "ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-tls-home-claw-.platformio-packages-framework-espidf-components-esp-tls-Kconfig-1", + "title": "ESP-TLS", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Place ISR version ADC oneshot mode read function into IRAM.", + "id": "ADC_ONESHOT_CTRL_FUNC_IN_IRAM", + "name": "ADC_ONESHOT_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place ISR version ADC oneshot mode read function into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_ADC_DMA_SUPPORTED", + "help": "Ensure the ADC continuous mode ISR is IRAM-Safe. When enabled, the ISR handler\nwill be available when the cache is disabled.", + "id": "ADC_CONTINUOUS_ISR_IRAM_SAFE", + "name": "ADC_CONTINUOUS_ISR_IRAM_SAFE", + "range": null, + "title": "ADC continuous mode driver ISR IRAM-Safe", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "IDF_TARGET_ESP32", + "help": "Some ESP32s have Two Point calibration values burned into eFuse BLOCK3.\nThis option will allow the ADC calibration component to characterize the\nADC-Voltage curve using Two Point values if they are available.", + "id": "ADC_CALI_EFUSE_TP_ENABLE", + "name": "ADC_CALI_EFUSE_TP_ENABLE", + "range": null, + "title": "Use Two Point Values", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32", + "help": "Some ESP32s have Vref burned into eFuse BLOCK0. This option will allow\nthe ADC calibration component to characterize the ADC-Voltage curve using\neFuse Vref if it is available.", + "id": "ADC_CALI_EFUSE_VREF_ENABLE", + "name": "ADC_CALI_EFUSE_VREF_ENABLE", + "range": null, + "title": "Use eFuse Vref", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32", + "help": "This option will allow the ADC calibration component to use Lookup Tables\nto correct for non-linear behavior in 11db attenuation. Other attenuations\ndo not exhibit non-linear behavior hence will not be affected by this option.", + "id": "ADC_CALI_LUT_ENABLE", + "name": "ADC_CALI_LUT_ENABLE", + "range": null, + "title": "Use Lookup Tables", + "type": "bool" + } + ], + "depends_on": "IDF_TARGET_ESP32", + "id": "component-config-adc-and-adc-calibration-adc-calibration-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_adc-Kconfig-19", + "title": "ADC Calibration Configurations", + "type": "menu" + }, + { + "children": [], + "depends_on": "SOC_DAC_SUPPORTED", + "help": "By default, this is set. The ADC oneshot driver will disable the output of the\ncorresponding DAC channels:\nESP32: IO25 and IO26\nESP32S2: IO17 and IO18\n\nDisable this option so as to measure the output of DAC by internal ADC, for test usage.", + "id": "ADC_DISABLE_DAC_OUTPUT", + "name": "ADC_DISABLE_DAC_OUTPUT", + "range": null, + "title": "Disable DAC when ADC2 is in use", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3", + "help": "On ESP32C3 and ESP32S3, ADC2 Digital Controller is not stable. Therefore,\nADC2 continuous mode is not suggested on ESP32S3 and ESP32C3\n\nIf you stick to this, you can enable this option to force use ADC2 under above conditions.\nFor more details, you can search for errata on espressif website.", + "id": "ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3", + "name": "ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3", + "range": null, + "title": "Force use ADC2 continuous mode on ESP32S3 or ESP32C3", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32C3", + "help": "On ESP32C3, ADC2 Digital Controller is not stable. Therefore,\nADC2 oneshot mode is not suggested on ESP32C3\n\nIf you stick to this, you can enable this option to force use ADC2 under above conditions.\nFor more details, you can search for errata on espressif website.", + "id": "ADC_ONESHOT_FORCE_USE_ADC2_ON_C3", + "name": "ADC_ONESHOT_FORCE_USE_ADC2_ON_C3", + "range": null, + "title": "Force use ADC2 oneshot mode on ESP32C3", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "whether to enable the debug log message for ADC driver.\nNote that this option only controls the ADC driver log, will not affect other drivers.", + "id": "ADC_ENABLE_DEBUG_LOG", + "name": "ADC_ENABLE_DEBUG_LOG", + "range": null, + "title": "Enable ADC debug log", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-adc-and-adc-calibration-home-claw-.platformio-packages-framework-espidf-components-esp_adc-Kconfig-1", + "title": "ADC and ADC Calibration", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_COEX_ENABLED", + "name": "ESP_COEX_ENABLED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "((ESP_WIFI_ENABLED && BT_ENABLED) || (ESP_WIFI_ENABLED && IEEE802154_ENABLED) || (IEEE802154_ENABLED && BT_ENABLED)) && ESP_COEX_ENABLED", + "help": "If enabled, WiFi & Bluetooth coexistence is controlled by software rather than hardware.\nRecommended for heavy traffic scenarios. Both coexistence configuration options are\nautomatically managed, no user intervention is required.\nIf only Bluetooth is used, it is recommended to disable this option to reduce binary file\nsize.", + "id": "ESP_COEX_SW_COEXIST_ENABLE", + "name": "ESP_COEX_SW_COEXIST_ENABLE", + "range": null, + "title": "Software controls WiFi/Bluetooth coexistence", + "type": "bool" + }, + { + "children": [], + "depends_on": "!(BT_ENABLED || NIMBLE_ENABLED) && !IDF_TARGET_ESP32 && ESP_COEX_ENABLED", + "help": "If enabled, HW External coexistence arbitration is managed by GPIO pins.\nIt can support three types of wired combinations so far which are 1-wired/2-wired/3-wired.\nUser can select GPIO pins in application code with configure interfaces.\n\nThis function depends on BT-off\nbecause currently we do not support external coex and internal coex simultaneously.", + "id": "ESP_COEX_EXTERNAL_COEXIST_ENABLE", + "name": "ESP_COEX_EXTERNAL_COEXIST_ENABLE", + "range": null, + "title": "External Coexistence", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_COEX_SW_COEXIST_ENABLE && ESP_COEX_ENABLED", + "help": "If enabled, coexist power management will be enabled.", + "id": "ESP_COEX_POWER_MANAGEMENT", + "name": "ESP_COEX_POWER_MANAGEMENT", + "range": null, + "title": "Support power management under coexistence", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_DIAG_GENERAL", + "name": "ESP_COEX_GPIO_DEBUG_DIAG_GENERAL", + "range": null, + "title": "General", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_DIAG_WIFI", + "name": "ESP_COEX_GPIO_DEBUG_DIAG_WIFI", + "range": null, + "title": "Wi-Fi", + "type": "bool" + } + ], + "depends_on": "ESP_COEX_GPIO_DEBUG", + "help": "Select type of debugging diagram", + "id": "component-config-wireless-coexistence-gpio-debugging-for-coexistence-debugging-diagram-home-claw-.platformio-packages-framework-espidf-components-esp_coex-Kconfig-52", + "name": "ESP_COEX_GPIO_DEBUG_DIAG", + "title": "Debugging Diagram", + "type": "choice" + }, + { + "children": [], + "depends_on": "ESP_COEX_GPIO_DEBUG", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_IO_COUNT", + "name": "ESP_COEX_GPIO_DEBUG_IO_COUNT", + "range": null, + "title": "Max number of debugging GPIOs", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COEX_GPIO_DEBUG_IO_COUNT > 0 && ESP_COEX_GPIO_DEBUG", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_IO_IDX0", + "name": "ESP_COEX_GPIO_DEBUG_IO_IDX0", + "range": null, + "title": "Actual IO num for Debug IO ID0", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COEX_GPIO_DEBUG_IO_COUNT > 1 && ESP_COEX_GPIO_DEBUG", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_IO_IDX1", + "name": "ESP_COEX_GPIO_DEBUG_IO_IDX1", + "range": null, + "title": "Actual IO num for Debug IO ID1", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COEX_GPIO_DEBUG_IO_COUNT > 2 && ESP_COEX_GPIO_DEBUG", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_IO_IDX2", + "name": "ESP_COEX_GPIO_DEBUG_IO_IDX2", + "range": null, + "title": "Actual IO num for Debug IO ID2", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COEX_GPIO_DEBUG_IO_COUNT > 3 && ESP_COEX_GPIO_DEBUG", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_IO_IDX3", + "name": "ESP_COEX_GPIO_DEBUG_IO_IDX3", + "range": null, + "title": "Actual IO num for Debug IO ID3", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COEX_GPIO_DEBUG_IO_COUNT > 4 && ESP_COEX_GPIO_DEBUG", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_IO_IDX4", + "name": "ESP_COEX_GPIO_DEBUG_IO_IDX4", + "range": null, + "title": "Actual IO num for Debug IO ID4", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COEX_GPIO_DEBUG_IO_COUNT > 5 && ESP_COEX_GPIO_DEBUG", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_IO_IDX5", + "name": "ESP_COEX_GPIO_DEBUG_IO_IDX5", + "range": null, + "title": "Actual IO num for Debug IO ID5", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COEX_GPIO_DEBUG_IO_COUNT > 6 && ESP_COEX_GPIO_DEBUG", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_IO_IDX6", + "name": "ESP_COEX_GPIO_DEBUG_IO_IDX6", + "range": null, + "title": "Actual IO num for Debug IO ID6", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COEX_GPIO_DEBUG_IO_COUNT > 7 && ESP_COEX_GPIO_DEBUG", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_IO_IDX7", + "name": "ESP_COEX_GPIO_DEBUG_IO_IDX7", + "range": null, + "title": "Actual IO num for Debug IO ID7", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COEX_GPIO_DEBUG_IO_COUNT > 8 && ESP_COEX_GPIO_DEBUG", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_IO_IDX8", + "name": "ESP_COEX_GPIO_DEBUG_IO_IDX8", + "range": null, + "title": "Actual IO num for Debug IO ID8", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COEX_GPIO_DEBUG_IO_COUNT > 9 && ESP_COEX_GPIO_DEBUG", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_IO_IDX9", + "name": "ESP_COEX_GPIO_DEBUG_IO_IDX9", + "range": null, + "title": "Actual IO num for Debug IO ID9", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COEX_GPIO_DEBUG_IO_COUNT > 10 && ESP_COEX_GPIO_DEBUG", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_IO_IDX10", + "name": "ESP_COEX_GPIO_DEBUG_IO_IDX10", + "range": null, + "title": "Actual IO num for Debug IO ID10", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COEX_GPIO_DEBUG_IO_COUNT > 11 && ESP_COEX_GPIO_DEBUG", + "help": null, + "id": "ESP_COEX_GPIO_DEBUG_IO_IDX11", + "name": "ESP_COEX_GPIO_DEBUG_IO_IDX11", + "range": null, + "title": "Actual IO num for Debug IO ID11", + "type": "int" + } + ], + "depends_on": "!PM_SLP_DISABLE_GPIO && !PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP", + "help": "Support coexistence GPIO debugging", + "id": "ESP_COEX_GPIO_DEBUG", + "name": "ESP_COEX_GPIO_DEBUG", + "range": null, + "title": "GPIO debugging for coexistence", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-wireless-coexistence-home-claw-.platformio-packages-framework-espidf-components-esp_coex-Kconfig-2", + "title": "Wireless Coexistence", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Functions esp_err_to_name() and esp_err_to_name_r() return string representations of error codes from a\npre-generated lookup table. This option can be used to turn off the use of the look-up table in order to\nsave memory but this comes at the price of sacrificing distinguishable (meaningful) output string\nrepresentations.", + "id": "ESP_ERR_TO_NAME_LOOKUP", + "name": "ESP_ERR_TO_NAME_LOOKUP", + "range": null, + "title": "Enable lookup of error code strings", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY", + "name": "ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-common-esp-related-home-claw-.platformio-packages-framework-espidf-components-esp_common-Kconfig-1", + "title": "Common ESP-related", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_ANA_CMPR_SUPPORTED", + "help": "Place Analog Comparator ISR handler in IRAM to reduce latency caused by cache miss.", + "id": "ANA_CMPR_ISR_HANDLER_IN_IRAM", + "name": "ANA_CMPR_ISR_HANDLER_IN_IRAM", + "range": null, + "title": "Place Analog Comparator ISR handler in IRAM to reduce latency", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_ANA_CMPR_SUPPORTED", + "help": "Place Analog Comparator control functions (like ana_cmpr_set_internal_reference) into IRAM,\nso that these functions can be IRAM-safe and able to be called in an IRAM interrupt context.\nEnabling this option can improve driver performance as well.", + "id": "ANA_CMPR_CTRL_FUNC_IN_IRAM", + "name": "ANA_CMPR_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place Analog Comparator control functions into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_ANA_CMPR_SUPPORTED", + "help": "Enable this option to allow the Analog Comparator Interrupt Service Routine (ISR)\nto execute even when the cache is disabled. This can be useful in scenarios where the cache\nmight be turned off, but the comparator functionality is still required to operate correctly.", + "id": "ANA_CMPR_ISR_CACHE_SAFE", + "name": "ANA_CMPR_ISR_CACHE_SAFE", + "range": null, + "title": "Allow Analog Comparator ISR to execute when cache is disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_ANA_CMPR_SUPPORTED", + "help": "This will ensure the driver object will not be allocated from a memory region\nwhere its cache can be disabled.", + "id": "ANA_CMPR_OBJ_CACHE_SAFE", + "name": "ANA_CMPR_OBJ_CACHE_SAFE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_ANA_CMPR_SUPPORTED", + "help": "If enabled, the driver component will:\n1. ignore the global logging settings\n2. compile all log messages into the binary\n3. set the runtime log level to VERBOSE\nPlease enable this option by caution, as it will increase the binary size.", + "id": "ANA_CMPR_ENABLE_DEBUG_LOG", + "name": "ANA_CMPR_ENABLE_DEBUG_LOG", + "range": null, + "title": "Force enable debug log", + "type": "bool" + } + ], + "depends_on": "SOC_ANA_CMPR_SUPPORTED", + "id": "component-config-esp-driver-analog-comparator-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_ana_cmpr-Kconfig-1", + "title": "ESP-Driver:Analog Comparator Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_BITSCRAMBLER_SUPPORTED", + "help": "Place BitScrambler control functions into IRAM for better performance and fewer cache misses.", + "id": "BITSCRAMBLER_CTRL_FUNC_IN_IRAM", + "name": "BITSCRAMBLER_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place BitScrambler control functions in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_BITSCRAMBLER_SUPPORTED", + "help": "This will ensure the BitScrambler object will not be allocated from a memory region\nwhere its cache can be disabled.", + "id": "BITSCRAMBLER_OBJ_CACHE_SAFE", + "name": "BITSCRAMBLER_OBJ_CACHE_SAFE", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": "SOC_BITSCRAMBLER_SUPPORTED", + "id": "component-config-esp-driver-bitscrambler-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_bitscrambler-Kconfig-1", + "title": "ESP-Driver:BitScrambler Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_MIPI_CSI_SUPPORTED && (SOC_MIPI_CSI_SUPPORTED || SOC_ISP_DVP_SUPPORTED || SOC_LCDCAM_CAM_SUPPORTED)", + "help": "Ensure the CSI driver ISR is Cache-Safe. When enabled, the ISR handler\nwill be available when the cache is disabled.", + "id": "CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE", + "name": "CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE", + "range": null, + "title": "CSI ISR Cache-Safe", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_ISP_DVP_SUPPORTED && (SOC_MIPI_CSI_SUPPORTED || SOC_ISP_DVP_SUPPORTED || SOC_LCDCAM_CAM_SUPPORTED)", + "help": "Ensure the ISP_DVP driver ISR is Cache-Safe. When enabled, the ISR handler\nwill be available when the cache is disabled.", + "id": "CAM_CTLR_ISP_DVP_ISR_CACHE_SAFE", + "name": "CAM_CTLR_ISP_DVP_ISR_CACHE_SAFE", + "range": null, + "title": "ISP_DVP ISR Cache-Safe", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_LCDCAM_CAM_SUPPORTED && (SOC_MIPI_CSI_SUPPORTED || SOC_ISP_DVP_SUPPORTED || SOC_LCDCAM_CAM_SUPPORTED)", + "help": "Ensure the DVP driver ISR is Cache-Safe. When enabled, the ISR handler\nwill be available when the cache is disabled.", + "id": "CAM_CTLR_DVP_CAM_ISR_CACHE_SAFE", + "name": "CAM_CTLR_DVP_CAM_ISR_CACHE_SAFE", + "range": null, + "title": "DVP ISR Cache-Safe", + "type": "bool" + } + ], + "depends_on": "SOC_MIPI_CSI_SUPPORTED || SOC_ISP_DVP_SUPPORTED || SOC_LCDCAM_CAM_SUPPORTED", + "id": "component-config-esp-driver-camera-controller-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_cam-Kconfig-1", + "title": "ESP-Driver:Camera Controller Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_DAC_SUPPORTED", + "help": "Place DAC control functions (e.g. 'dac_oneshot_output_voltage') into IRAM,\nso that this function can be IRAM-safe and able to be called in the other IRAM interrupt context.\nEnabling this option can improve driver performance as well.", + "id": "DAC_CTRL_FUNC_IN_IRAM", + "name": "DAC_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place DAC control functions into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_DAC_SUPPORTED", + "help": "Ensure the DAC interrupt is IRAM-Safe by allowing the interrupt handler to be\nexecutable when the cache is disabled (e.g. SPI Flash write).", + "id": "DAC_ISR_IRAM_SAFE", + "name": "DAC_ISR_IRAM_SAFE", + "range": null, + "title": "DAC ISR IRAM-Safe", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_DAC_SUPPORTED", + "help": "whether to enable the debug log message for DAC driver.\nNote that, this option only controls the DAC driver log, won't affect other drivers.", + "id": "DAC_ENABLE_DEBUG_LOG", + "name": "DAC_ENABLE_DEBUG_LOG", + "range": null, + "title": "Enable debug log", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_DAC_DMA_16BIT_ALIGN && SOC_DAC_SUPPORTED", + "help": "Whether to left shift the continuous data to align every bytes to 16 bits in the driver.\nOn ESP32, although the DAC resolution is only 8 bits,\nthe hardware requires 16 bits data in continuous mode.\nBy enabling this option, the driver will left shift 8 bits for the input data automatically.\nOnly disable this option when you decide to do this step by yourself.\nNote that the driver will allocate a new piece of memory to save the converted data.", + "id": "DAC_DMA_AUTO_16BIT_ALIGN", + "name": "DAC_DMA_AUTO_16BIT_ALIGN", + "range": null, + "title": "Align the continuous data to 16 bit automatically", + "type": "bool" + } + ], + "depends_on": "SOC_DAC_SUPPORTED", + "id": "component-config-esp-driver-dac-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_dac-Kconfig-1", + "title": "ESP-Driver:DAC Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_GDMA_SUPPORTED", + "help": "Place GDMA control functions (like start/stop/append/reset) into IRAM,\nso that these functions can be IRAM-safe and able to be called in the other IRAM interrupt context.", + "id": "GDMA_CTRL_FUNC_IN_IRAM", + "name": "GDMA_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place GDMA control functions in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_GDMA_SUPPORTED", + "help": "Place GDMA ISR handler functions in IRAM to reduce latency caused by cache miss.", + "id": "GDMA_ISR_HANDLER_IN_IRAM", + "name": "GDMA_ISR_HANDLER_IN_IRAM", + "range": null, + "title": "Place GDMA ISR handler in IRAM to reduce latency", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_GDMA_SUPPORTED", + "help": "This will ensure the GDMA object is DRAM-Safe, allow to avoid external memory\ncache misses, and also be accessible whilst the cache is disabled.", + "id": "GDMA_OBJ_DRAM_SAFE", + "name": "GDMA_OBJ_DRAM_SAFE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_GDMA_SUPPORTED", + "help": "If enabled, GDMA driver component will:\n1. ignore the global logging settings\n2. compile all log messages into the binary\n3. set the runtime log level to VERBOSE\nPlease enable this option by caution, as it will increase the binary size.", + "id": "GDMA_ENABLE_DEBUG_LOG", + "name": "GDMA_ENABLE_DEBUG_LOG", + "range": null, + "title": "Force enable debug log", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_GDMA_SUPPORT_WEIGHTED_ARBITRATION && IDF_EXPERIMENTAL_FEATURES && SOC_GDMA_SUPPORTED", + "help": "Whether to enable the weighted arbitration for GDMA driver.\nThe default weight of each channel is 1. You need to set weight for each channel before transmissions.\nIf this option is enabled, the buffer should be aligned to the burst size.", + "id": "GDMA_ENABLE_WEIGHTED_ARBITRATION", + "name": "GDMA_ENABLE_WEIGHTED_ARBITRATION", + "range": null, + "title": "GDMA enable weighted arbitration (Experimental)", + "type": "bool" + } + ], + "depends_on": "SOC_GDMA_SUPPORTED", + "id": "component-config-gdma-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_dma-Kconfig-1", + "title": "GDMA Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_DW_GDMA_SUPPORTED", + "help": "Place DW_GDMA control functions (e.g. dw_gdma_channel_continue) into IRAM,\nso that these functions can be IRAM-safe and able to be called in the other IRAM interrupt context.", + "id": "DW_GDMA_CTRL_FUNC_IN_IRAM", + "name": "DW_GDMA_CTRL_FUNC_IN_IRAM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_DW_GDMA_SUPPORTED", + "help": "Place DW_GDMA setter functions (e.g. dw_gdma_channel_set_block_markers) into IRAM,\nso that these functions can be IRAM-safe and able to be called in the other IRAM interrupt context.", + "id": "DW_GDMA_SETTER_FUNC_IN_IRAM", + "name": "DW_GDMA_SETTER_FUNC_IN_IRAM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_DW_GDMA_SUPPORTED", + "help": "Place DW_GDMA getter functions (e.g. dw_gdma_link_list_get_item) into IRAM,\nso that these functions can be IRAM-safe and able to be called in the other IRAM interrupt context.", + "id": "DW_GDMA_GETTER_FUNC_IN_IRAM", + "name": "DW_GDMA_GETTER_FUNC_IN_IRAM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_DW_GDMA_SUPPORTED", + "help": "This will ensure the DW_GDMA interrupt handler is IRAM-Safe, allow to avoid flash\ncache misses, and also be able to run whilst the cache is disabled.\n(e.g. SPI Flash write).", + "id": "DW_GDMA_ISR_IRAM_SAFE", + "name": "DW_GDMA_ISR_IRAM_SAFE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_DW_GDMA_SUPPORTED", + "help": "This will ensure the DW_GDMA object is DRAM-Safe, allow to avoid external memory\ncache misses, and also be accessible whilst the cache is disabled.", + "id": "DW_GDMA_OBJ_DRAM_SAFE", + "name": "DW_GDMA_OBJ_DRAM_SAFE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_DW_GDMA_SUPPORTED", + "help": "Whether to enable the debug log message for DW_GDMA driver.\nNote that, this option only controls the DW_GDMA driver log, won't affect other drivers.", + "id": "DW_GDMA_ENABLE_DEBUG_LOG", + "name": "DW_GDMA_ENABLE_DEBUG_LOG", + "range": null, + "title": "Enable debug log", + "type": "bool" + } + ], + "depends_on": "SOC_DW_GDMA_SUPPORTED", + "id": "component-config-dw_gdma-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_dma-Kconfig-45", + "title": "DW_GDMA Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_DMA2D_SUPPORTED", + "help": "Place 2D-DMA all operation functions, including control functions (e.g. start/stop/append/reset) and setter\nfunctions (e.g. connect/strategy/callback registration) into IRAM, so that these functions can be IRAM-safe\nand able to be called in the other IRAM interrupt context. It also helps optimizing the performance.", + "id": "DMA2D_OPERATION_FUNC_IN_IRAM", + "name": "DMA2D_OPERATION_FUNC_IN_IRAM", + "range": null, + "title": "Place 2D-DMA operation functions into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_DMA2D_SUPPORTED", + "help": "This will ensure the 2D-DMA interrupt handler is IRAM-Safe, allow to avoid flash\ncache misses, and also be able to run whilst the cache is disabled.\n(e.g. SPI Flash write).", + "id": "DMA2D_ISR_IRAM_SAFE", + "name": "DMA2D_ISR_IRAM_SAFE", + "range": null, + "title": "2D-DMA ISR IRAM-Safe", + "type": "bool" + } + ], + "depends_on": "SOC_DMA2D_SUPPORTED", + "id": "component-config-2d-dma-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_dma-Kconfig-96", + "title": "2D-DMA Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Place GPIO control functions (like intr_disable/set_level) into IRAM,\nso that these functions can be IRAM-safe and able to be called in the other IRAM interrupt context.", + "id": "GPIO_CTRL_FUNC_IN_IRAM", + "name": "GPIO_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place GPIO control functions into IRAM", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-driver-gpio-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_gpio-Kconfig-1", + "title": "ESP-Driver:GPIO Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_GPTIMER_SUPPORTED", + "help": "Place GPTimer ISR handler in IRAM to reduce latency caused by cache miss.", + "id": "GPTIMER_ISR_HANDLER_IN_IRAM", + "name": "GPTIMER_ISR_HANDLER_IN_IRAM", + "range": null, + "title": "Place GPTimer ISR handler in IRAM to reduce latency", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_GPTIMER_SUPPORTED", + "help": "Place GPTimer control functions (like start/stop) in IRAM, to reduce latency caused by cache miss.\nIf enabled, these functions can also be called when cache is disabled.", + "id": "GPTIMER_CTRL_FUNC_IN_IRAM", + "name": "GPTIMER_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place GPTimer control functions in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_GPTIMER_SUPPORTED", + "help": "Enable this option to allow the GPTimer Interrupt Service Routine (ISR)\nto execute even when the cache is disabled. This can be useful in scenarios where the cache\nmight be turned off, but the GPTimer functionality is still required to operate correctly.", + "id": "GPTIMER_ISR_CACHE_SAFE", + "name": "GPTIMER_ISR_CACHE_SAFE", + "range": null, + "title": "Allow GPTimer ISR to execute when cache is disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_GPTIMER_SUPPORTED", + "help": "This will ensure the GPTimer object will not be allocated from a memory region\nwhere its cache can be disabled.", + "id": "GPTIMER_OBJ_CACHE_SAFE", + "name": "GPTIMER_OBJ_CACHE_SAFE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_GPTIMER_SUPPORTED", + "help": "If enabled, GPTimer component will:\n1. ignore the global logging settings\n2. compile all log messages into the binary\n3. set the runtime log level to VERBOSE\nPlease enable this option by caution, as it will increase the binary size.", + "id": "GPTIMER_ENABLE_DEBUG_LOG", + "name": "GPTIMER_ENABLE_DEBUG_LOG", + "range": null, + "title": "Force enable debug log", + "type": "bool" + } + ], + "depends_on": "SOC_GPTIMER_SUPPORTED", + "id": "component-config-esp-driver-gptimer-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_gptimer-Kconfig-1", + "title": "ESP-Driver:GPTimer Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_I2C_SUPPORTED", + "help": "Ensure the I2C interrupt is IRAM-Safe by allowing the interrupt handler to be\nexecutable when the cache is disabled (e.g. SPI Flash write).\nnote: This cannot be used in the I2C legacy driver.", + "id": "I2C_ISR_IRAM_SAFE", + "name": "I2C_ISR_IRAM_SAFE", + "range": null, + "title": "I2C ISR IRAM-Safe", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_I2C_SUPPORTED", + "help": "whether to enable the debug log message for I2C driver.\nNote that this option only controls the I2C driver log, will not affect other drivers.", + "id": "I2C_ENABLE_DEBUG_LOG", + "name": "I2C_ENABLE_DEBUG_LOG", + "range": null, + "title": "Enable I2C debug log", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_I2C_SUPPORTED", + "help": "Place I2C master ISR handler into IRAM for better performance and fewer cache misses.", + "id": "I2C_MASTER_ISR_HANDLER_IN_IRAM", + "name": "I2C_MASTER_ISR_HANDLER_IN_IRAM", + "range": null, + "title": "Place I2C master ISR handler into IRAM", + "type": "bool" + } + ], + "depends_on": "SOC_I2C_SUPPORTED", + "id": "component-config-esp-driver-i2c-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_i2c-Kconfig-1", + "title": "ESP-Driver:I2C Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_I2S_SUPPORTED", + "help": "Ensure the I2S interrupt is IRAM-Safe by allowing the interrupt handler to be\nexecutable when the cache is disabled (e.g. SPI Flash write).", + "id": "I2S_ISR_IRAM_SAFE", + "name": "I2S_ISR_IRAM_SAFE", + "range": null, + "title": "I2S ISR IRAM-Safe", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_I2S_SUPPORTED", + "help": "Place I2S control functions into IRAM,\nso that these functions can be IRAM-safe and able to be called in the other IRAM interrupt context.", + "id": "I2S_CTRL_FUNC_IN_IRAM", + "name": "I2S_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place I2S control functions into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_I2S_SUPPORTED", + "help": "whether to enable the debug log message for I2S driver.\nNote that, this option only controls the I2S driver log, will not affect other drivers.", + "id": "I2S_ENABLE_DEBUG_LOG", + "name": "I2S_ENABLE_DEBUG_LOG", + "range": null, + "title": "Enable I2S debug log", + "type": "bool" + } + ], + "depends_on": "SOC_I2S_SUPPORTED", + "id": "component-config-esp-driver-i2s-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_i2s-Kconfig-1", + "title": "ESP-Driver:I2S Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "I3C_MASTER_ENABLED", + "name": "I3C_MASTER_ENABLED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Ensure the I3C interrupt is Cache-Safe by allowing the interrupt handler to be\nexecutable when the cache is disabled (e.g. SPI Flash write).", + "id": "I3C_MASTER_ISR_CACHE_SAFE", + "name": "I3C_MASTER_ISR_CACHE_SAFE", + "range": null, + "title": "I3C ISR Cache-Safe", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "whether to enable the debug log message for I3C driver.\nNote that this option only controls the I3C driver log, will not affect other drivers.", + "id": "I3C_MASTER_ENABLE_DEBUG_LOG", + "name": "I3C_MASTER_ENABLE_DEBUG_LOG", + "range": null, + "title": "Enable I3C debug log", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Place I3C master ISR handler into IRAM for better performance and fewer cache misses.", + "id": "I3C_MASTER_ISR_HANDLER_IN_IRAM", + "name": "I3C_MASTER_ISR_HANDLER_IN_IRAM", + "range": null, + "title": "Place I3C master ISR handler into IRAM", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-driver-i3c-master-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_i3c-Kconfig-1", + "title": "ESP-Driver:I3C Master Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_ISP_SUPPORTED", + "help": "Ensure the ISP driver ISR is IRAM-Safe. When enabled, the ISR handler\nwill be available when the cache is disabled.", + "id": "ISP_ISR_IRAM_SAFE", + "name": "ISP_ISR_IRAM_SAFE", + "range": null, + "title": "ISP driver ISR IRAM-Safe", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_ISP_SUPPORTED", + "help": "Place ISP control functions into IRAM,\nso that these functions can be IRAM-safe and able to be called in the other IRAM interrupt context.\nEnabling this option can improve driver performance as well.\n\nFunction list:\n- `esp_isp_sharpen_configure`", + "id": "ISP_CTRL_FUNC_IN_IRAM", + "name": "ISP_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place ISP control functions into IRAM", + "type": "bool" + } + ], + "depends_on": "SOC_ISP_SUPPORTED", + "id": "component-config-esp-driver-isp-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_isp-Kconfig-1", + "title": "ESP-Driver:ISP Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_JPEG_CODEC_SUPPORTED", + "help": "whether to enable the debug log message for JPEG driver.\nNote that, this option only controls the JPEG driver log, won't affect other drivers.\nPlease also note, enable this option will make jpeg codec process speed much slower.", + "id": "JPEG_ENABLE_DEBUG_LOG", + "name": "JPEG_ENABLE_DEBUG_LOG", + "range": null, + "title": "Enable debug log", + "type": "bool" + } + ], + "depends_on": "SOC_JPEG_CODEC_SUPPORTED", + "id": "component-config-esp-driver-jpeg-codec-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_jpeg-Kconfig-1", + "title": "ESP-Driver:JPEG-Codec Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Place LEDC control functions (ledc_update_duty and ledc_stop) into IRAM,\nso that these functions can be IRAM-safe and able to be called in an IRAM context.\nEnabling this option can improve driver performance as well.", + "id": "LEDC_CTRL_FUNC_IN_IRAM", + "name": "LEDC_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place LEDC control functions into IRAM", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-driver-ledc-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_ledc-Kconfig-1", + "title": "ESP-Driver:LEDC Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_MCPWM_SUPPORTED", + "help": "Place MCPWM ISR handler(s) in IRAM to reduce latency caused by cache miss.", + "id": "MCPWM_ISR_HANDLER_IN_IRAM", + "name": "MCPWM_ISR_HANDLER_IN_IRAM", + "range": null, + "title": "Place MCPWM ISR handler into IRAM to reduce latency", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_MCPWM_SUPPORTED", + "help": "Enable this option to allow the MCPWM Interrupt Service Routine (ISR)\nto execute even when the cache is disabled. This can be useful in scenarios where the cache\nmight be turned off, but the MCPWM functionality is still required to operate correctly.", + "id": "MCPWM_ISR_CACHE_SAFE", + "name": "MCPWM_ISR_CACHE_SAFE", + "range": null, + "title": "Allow MCPWM ISR to execute when cache is disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_MCPWM_SUPPORTED", + "help": "Place MCPWM control functions in IRAM, to reduce latency caused by cache miss.\nIf enabled, these functions can also be called when cache is disabled.", + "id": "MCPWM_CTRL_FUNC_IN_IRAM", + "name": "MCPWM_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place MCPWM control functions in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_MCPWM_SUPPORTED", + "help": "This will ensure the MCPWM object will not be allocated from a memory region\nwhere its cache can be disabled.", + "id": "MCPWM_OBJ_CACHE_SAFE", + "name": "MCPWM_OBJ_CACHE_SAFE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_MCPWM_SUPPORTED", + "help": "If enabled, MCPWM component will:\n1. ignore the global logging settings\n2. compile all log messages into the binary\n3. set the runtime log level to VERBOSE\nPlease enable this option with caution, as it will increase the binary size.", + "id": "MCPWM_ENABLE_DEBUG_LOG", + "name": "MCPWM_ENABLE_DEBUG_LOG", + "range": null, + "title": "Force enable debug log", + "type": "bool" + } + ], + "depends_on": "SOC_MCPWM_SUPPORTED", + "id": "component-config-esp-driver-mcpwm-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_mcpwm-Kconfig-1", + "title": "ESP-Driver:MCPWM Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_PARLIO_SUPPORTED", + "help": "Place Parallel IO TX ISR handler in IRAM to reduce latency caused by cache miss.", + "id": "PARLIO_TX_ISR_HANDLER_IN_IRAM", + "name": "PARLIO_TX_ISR_HANDLER_IN_IRAM", + "range": null, + "title": "Place Parallel IO TX ISR handler in IRAM to reduce latency", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_PARLIO_SUPPORTED", + "help": "Place Parallel IO RX ISR handler in IRAM to reduce latency caused by cache miss.", + "id": "PARLIO_RX_ISR_HANDLER_IN_IRAM", + "name": "PARLIO_RX_ISR_HANDLER_IN_IRAM", + "range": null, + "title": "Place Parallel IO RX ISR handler in IRAM to reduce latency", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_PARLIO_SUPPORTED", + "help": "Enable this option to allow the Parallel IO TX Interrupt Service Routine (ISR)\nto execute even when the cache is disabled. This can be useful in scenarios where the cache\nmight be turned off, but the Parallel IO TX functionality is still required to operate correctly.", + "id": "PARLIO_TX_ISR_CACHE_SAFE", + "name": "PARLIO_TX_ISR_CACHE_SAFE", + "range": null, + "title": "Allow Parallel IO TX ISR to execute when cache is disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_PARLIO_SUPPORTED", + "help": "Enable this option to allow the Parallel IO RX Interrupt Service Routine (ISR)\nto execute even when the cache is disabled. This can be useful in scenarios where the cache\nmight be turned off, but the Parallel IO RX functionality is still required to operate correctly.", + "id": "PARLIO_RX_ISR_CACHE_SAFE", + "name": "PARLIO_RX_ISR_CACHE_SAFE", + "range": null, + "title": "Allow Parallel IO RX ISR to execute when cache is disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_PARLIO_SUPPORTED", + "help": "This will ensure the driver object will not be allocated from a memory region\nwhere its cache can be disabled.", + "id": "PARLIO_OBJ_CACHE_SAFE", + "name": "PARLIO_OBJ_CACHE_SAFE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_PARLIO_SUPPORTED", + "help": "If enabled, Parallel IO driver component will:\n1. ignore the global logging settings\n2. compile all log messages into the binary\n3. set the runtime log level to VERBOSE\nPlease enable this option by caution, as it will increase the binary size.", + "id": "PARLIO_ENABLE_DEBUG_LOG", + "name": "PARLIO_ENABLE_DEBUG_LOG", + "range": null, + "title": "Force enable debug log", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_PARLIO_SUPPORTED", + "help": "Ensure the Parallel IO interrupt is IRAM-Safe by allowing the interrupt handler to be\nexecutable when the cache is disabled (e.g. SPI Flash write).", + "id": "PARLIO_ISR_IRAM_SAFE", + "name": "PARLIO_ISR_IRAM_SAFE", + "range": null, + "title": "Parallel IO ISR IRAM-Safe (Deprecated)", + "type": "bool" + } + ], + "depends_on": "SOC_PARLIO_SUPPORTED", + "id": "component-config-esp-driver-parallel-io-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_parlio-Kconfig-1", + "title": "ESP-Driver:Parallel IO Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_PCNT_SUPPORTED", + "help": "Place PCNT control functions (like start/stop) into IRAM,\nso that these functions can be IRAM-safe and able to be called in the other IRAM interrupt context.\nEnabling this option can improve driver performance as well.", + "id": "PCNT_CTRL_FUNC_IN_IRAM", + "name": "PCNT_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place PCNT control functions into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_PCNT_SUPPORTED", + "help": "Ensure the PCNT interrupt is IRAM-Safe by allowing the interrupt handler to be\nexecutable when the cache is disabled (e.g. SPI Flash write).", + "id": "PCNT_ISR_IRAM_SAFE", + "name": "PCNT_ISR_IRAM_SAFE", + "range": null, + "title": "PCNT ISR IRAM-Safe", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_PCNT_SUPPORTED", + "help": "whether to enable the debug log message for PCNT driver.\nNote that, this option only controls the PCNT driver log, won't affect other drivers.", + "id": "PCNT_ENABLE_DEBUG_LOG", + "name": "PCNT_ENABLE_DEBUG_LOG", + "range": null, + "title": "Enable debug log", + "type": "bool" + } + ], + "depends_on": "SOC_PCNT_SUPPORTED", + "id": "component-config-esp-driver-pcnt-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_pcnt-Kconfig-1", + "title": "ESP-Driver:PCNT Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_RMT_SUPPORTED", + "help": "Place RMT encoder function into IRAM for better performance and fewer cache misses.", + "id": "RMT_ENCODER_FUNC_IN_IRAM", + "name": "RMT_ENCODER_FUNC_IN_IRAM", + "range": null, + "title": "Place RMT encoder function in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_RMT_SUPPORTED", + "help": "Place RMT TX ISR handler in IRAM to reduce latency caused by cache miss.", + "id": "RMT_TX_ISR_HANDLER_IN_IRAM", + "name": "RMT_TX_ISR_HANDLER_IN_IRAM", + "range": null, + "title": "Place RMT TX ISR handler in IRAM to reduce latency", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_RMT_SUPPORTED", + "help": "Place RMT RX ISR handler in IRAM to reduce latency caused by cache miss.", + "id": "RMT_RX_ISR_HANDLER_IN_IRAM", + "name": "RMT_RX_ISR_HANDLER_IN_IRAM", + "range": null, + "title": "Place RMT RX ISR handler in IRAM to reduce latency", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_RMT_SUPPORTED", + "help": "Place RMT receive function into IRAM for better performance and fewer cache misses.", + "id": "RMT_RECV_FUNC_IN_IRAM", + "name": "RMT_RECV_FUNC_IN_IRAM", + "range": null, + "title": "Place RMT receive function in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_RMT_SUPPORTED", + "help": "Enable this option to allow the RMT TX Interrupt Service Routine (ISR)\nto execute even when the cache is disabled. This can be useful in scenarios where the cache\nmight be turned off, but the RMT TX functionality is still required to operate correctly.", + "id": "RMT_TX_ISR_CACHE_SAFE", + "name": "RMT_TX_ISR_CACHE_SAFE", + "range": null, + "title": "Allow RMT TX ISR to execute when cache is disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_RMT_SUPPORTED", + "help": "Enable this option to allow the RMT RX Interrupt Service Routine (ISR)\nto execute even when the cache is disabled. This can be useful in scenarios where the cache\nmight be turned off, but the RMT RX functionality is still required to operate correctly.", + "id": "RMT_RX_ISR_CACHE_SAFE", + "name": "RMT_RX_ISR_CACHE_SAFE", + "range": null, + "title": "Allow RMT RX ISR to execute when cache is disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_RMT_SUPPORTED", + "help": "This will ensure the RMT object will not be allocated from a memory region\nwhere its cache can be disabled.", + "id": "RMT_OBJ_CACHE_SAFE", + "name": "RMT_OBJ_CACHE_SAFE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_RMT_SUPPORTED", + "help": "If enabled, RMT driver component will:\n1. ignore the global logging settings\n2. compile all log messages into the binary\n3. set the runtime log level to VERBOSE\nPlease enable this option by caution, as it will increase the binary size.", + "id": "RMT_ENABLE_DEBUG_LOG", + "name": "RMT_ENABLE_DEBUG_LOG", + "range": null, + "title": "Force enable debug log", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_RMT_SUPPORTED", + "help": "Ensure the RMT interrupt is IRAM-Safe by allowing the interrupt handler to be\nexecutable when the cache is disabled (e.g. SPI Flash write).", + "id": "RMT_ISR_IRAM_SAFE", + "name": "RMT_ISR_IRAM_SAFE", + "range": null, + "title": "RMT ISR IRAM-Safe (Deprecated)", + "type": "bool" + } + ], + "depends_on": "SOC_RMT_SUPPORTED", + "id": "component-config-esp-driver-rmt-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_rmt-Kconfig-1", + "title": "ESP-Driver:RMT Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_SDM_SUPPORTED", + "help": "Place SDM control functions (like set_pulse_density) into IRAM,\nso that these functions can be IRAM-safe and able to be called in the other IRAM interrupt context.\nEnabling this option can improve driver performance as well.", + "id": "SDM_CTRL_FUNC_IN_IRAM", + "name": "SDM_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place SDM control functions into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_SDM_SUPPORTED", + "help": "This will ensure the SDM object will not be allocated from a memory region\nwhere its cache can be disabled.", + "id": "SDM_OBJ_CACHE_SAFE", + "name": "SDM_OBJ_CACHE_SAFE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_SDM_SUPPORTED", + "help": "If enabled, SDM driver will:\n1. ignore the global logging settings\n2. compile all log messages into the binary\n3. set the runtime log level to VERBOSE\nPlease enable this option by caution, as it will increase the binary size.", + "id": "SDM_ENABLE_DEBUG_LOG", + "name": "SDM_ENABLE_DEBUG_LOG", + "range": null, + "title": "Force enable debug log", + "type": "bool" + } + ], + "depends_on": "SOC_SDM_SUPPORTED", + "id": "component-config-esp-driver-sigma-delta-modulator-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_sdm-Kconfig-1", + "title": "ESP-Driver:Sigma Delta Modulator Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_SDMMC_HOST_SUPPORTED", + "help": "Ensure the SD Host SDMMC driver ISR is Cache-Safe. When enabled,\nthe ISR handler will be available when the cache is disabled.", + "id": "SD_HOST_SDMMC_ISR_CACHE_SAFE", + "name": "SD_HOST_SDMMC_ISR_CACHE_SAFE", + "range": null, + "title": "SD Host ISR Cache-Safe", + "type": "bool" + } + ], + "depends_on": "SOC_SDMMC_HOST_SUPPORTED", + "id": "component-config-esp-driver-sd-host-sdmmc-controller-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_sdmmc-Kconfig-1", + "title": "ESP-Driver:SD Host SDMMC Controller Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "FREERTOS_IN_IRAM && SOC_GPSPI_SUPPORTED", + "help": "Normally only the ISR of SPI master is placed in the IRAM, so that it\ncan work without the flash when interrupt is triggered.\nFor other functions, there's some possibility that the flash cache\nmiss when running inside and out of SPI functions, which may increase\nthe interval of SPI transactions.\nEnable this to put ``queue_trans``, ``get_trans_result`` and\n``transmit`` functions into the IRAM to avoid possible cache miss.\n\nThis configuration won't be available if `CONFIG_FREERTOS_IN_IRAM` is disabled.\n\nDuring unit test, this is enabled to measure the ideal case of api.", + "id": "SPI_MASTER_IN_IRAM", + "name": "SPI_MASTER_IN_IRAM", + "range": null, + "title": "Place transmitting functions of SPI master into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "!HEAP_PLACE_FUNCTION_INTO_FLASH && SOC_GPSPI_SUPPORTED", + "help": "Place the SPI master ISR in to IRAM to avoid possible cache miss.\n\nEnabling this configuration is possible only when HEAP_PLACE_FUNCTION_INTO_FLASH\nis disabled since the spi master uses can allocate transactions buffers into DMA\nmemory section using the heap component API that ipso facto has to be placed in IRAM.\n\nAlso you can forbid the ISR being disabled during flash writing\naccess, by add ESP_INTR_FLAG_IRAM when initializing the driver.", + "id": "SPI_MASTER_ISR_IN_IRAM", + "name": "SPI_MASTER_ISR_IN_IRAM", + "range": null, + "title": "Place SPI master ISR function into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_GPSPI_SUPPORTED", + "help": "Normally only the ISR of SPI slave is placed in the IRAM, so that it\ncan work without the flash when interrupt is triggered.\nFor other functions, there is some possibility that the flash cache\nmiss when running inside and out of SPI functions, which may increase\nthe interval of SPI transactions.\nEnable this to put ``queue_trans``, ``get_trans_result`` and\n``transmit`` functions into the IRAM to avoid possible cache miss.", + "id": "SPI_SLAVE_IN_IRAM", + "name": "SPI_SLAVE_IN_IRAM", + "range": null, + "title": "Place transmitting functions of SPI slave into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_GPSPI_SUPPORTED", + "help": "Place the SPI slave ISR in to IRAM to avoid possible cache miss.\n\nAlso you can forbid the ISR being disabled during flash writing\naccess, by add ESP_INTR_FLAG_IRAM when initializing the driver.", + "id": "SPI_SLAVE_ISR_IN_IRAM", + "name": "SPI_SLAVE_ISR_IN_IRAM", + "range": null, + "title": "Place SPI slave ISR function into IRAM", + "type": "bool" + } + ], + "depends_on": "SOC_GPSPI_SUPPORTED", + "id": "component-config-esp-driver-spi-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_spi-Kconfig-1", + "title": "ESP-Driver:SPI Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_TOUCH_SENSOR_SUPPORTED", + "help": "Place touch sensor oneshot scanning and continuous scanning functions into IRAM,\nso that these function can be IRAM-safe and able to be called when the flash cache is disabled.\nEnabling this option can improve driver performance as well.", + "id": "TOUCH_CTRL_FUNC_IN_IRAM", + "name": "TOUCH_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place touch sensor control functions into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_TOUCH_SENSOR_SUPPORTED", + "help": "Ensure the touch sensor interrupt is IRAM-Safe by allowing the interrupt handler to be\nexecutable when the cache is disabled (e.g. SPI Flash write).", + "id": "TOUCH_ISR_IRAM_SAFE", + "name": "TOUCH_ISR_IRAM_SAFE", + "range": null, + "title": "Touch sensor ISR IRAM-Safe", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_TOUCH_SENSOR_SUPPORTED", + "help": "Whether to enable the debug log message for touch driver.\nNote that, this option only controls the touch driver log, won't affect other drivers.", + "id": "TOUCH_ENABLE_DEBUG_LOG", + "name": "TOUCH_ENABLE_DEBUG_LOG", + "range": null, + "title": "Enable debug log", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_TOUCH_SENSOR_SUPPORTED", + "help": "If skipped the FSM check, the driver will allow to re-configure the touch sensor during the runtime.\nIt is mainly used to tune the parameters in the runtime to find a proper set of touch parameters.\nCAUTION: Not suggest to enable this option in the final product, it might cause false triggering\nwhich is not safe in the actual environment.", + "id": "TOUCH_SKIP_FSM_CHECK", + "name": "TOUCH_SKIP_FSM_CHECK", + "range": null, + "title": "Skip the FSM check", + "type": "bool" + } + ], + "depends_on": "SOC_TOUCH_SENSOR_SUPPORTED", + "id": "component-config-esp-driver-touch-sensor-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_touch_sens-Kconfig-1", + "title": "ESP-Driver:Touch Sensor Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_TEMP_SENSOR_SUPPORTED", + "help": "whether to enable the debug log message for temperature sensor driver.\nNote that, this option only controls the temperature sensor driver log, won't affect other drivers.", + "id": "TEMP_SENSOR_ENABLE_DEBUG_LOG", + "name": "TEMP_SENSOR_ENABLE_DEBUG_LOG", + "range": null, + "title": "Enable debug log", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_TEMPERATURE_SENSOR_INTR_SUPPORT && SOC_TEMP_SENSOR_SUPPORTED", + "help": "Ensure the Temperature Sensor interrupt is IRAM-Safe by allowing the interrupt handler to be\nexecutable when the cache is disabled (e.g. SPI Flash write).", + "id": "TEMP_SENSOR_ISR_IRAM_SAFE", + "name": "TEMP_SENSOR_ISR_IRAM_SAFE", + "range": null, + "title": "Temperature sensor ISR IRAM-Safe", + "type": "bool" + } + ], + "depends_on": "SOC_TEMP_SENSOR_SUPPORTED", + "id": "component-config-esp-driver-temperature-sensor-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_tsens-Kconfig-1", + "title": "ESP-Driver:Temperature Sensor Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_TWAI_SUPPORTED", + "help": "Place the TWAI ISR in to IRAM to reduce latency and increase performance", + "id": "TWAI_ISR_IN_IRAM", + "name": "TWAI_ISR_IN_IRAM", + "range": null, + "title": "Place TWAI ISR function in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_TWAI_SUPPORTED", + "help": "Place certain TWAI I/O functions (like twai_transmit) in IRAM to reduce latency", + "id": "TWAI_IO_FUNC_IN_IRAM", + "name": "TWAI_IO_FUNC_IN_IRAM", + "range": null, + "title": "Place TWAI I/O functions in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_TWAI_SUPPORTED", + "help": "Allow TWAI works under Cache disabled (such as when writing to SPI Flash),\nto enabled this config, all callbacks and user_ctx should also place in IRAM", + "id": "TWAI_ISR_CACHE_SAFE", + "name": "TWAI_ISR_CACHE_SAFE", + "range": null, + "title": "Allow TWAI ISR execute when cache disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_TWAI_SUPPORTED", + "help": "This will ensure the TWAI driver object will not be allocated from a memory region\nwhere its cache can be disabled.", + "id": "TWAI_OBJ_CACHE_SAFE", + "name": "TWAI_OBJ_CACHE_SAFE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_TWAI_SUPPORTED", + "help": "If enabled, TWAI driver component will:\n1. ignore the global logging settings\n2. compile all log messages into the binary\n3. set the runtime log level to VERBOSE\nPlease enable this option by caution, as it will increase the binary size.", + "id": "TWAI_ENABLE_DEBUG_LOG", + "name": "TWAI_ENABLE_DEBUG_LOG", + "range": null, + "title": "Force enable debug log", + "type": "bool" + } + ], + "depends_on": "SOC_TWAI_SUPPORTED", + "id": "component-config-esp-driver-twai-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_twai-Kconfig-1", + "title": "ESP-Driver:TWAI Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "!RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH", + "help": "If this option is not selected, UART interrupt will be disabled for a long time and\nmay cause data lost when doing spi flash operation.", + "id": "UART_ISR_IN_IRAM", + "name": "UART_ISR_IN_IRAM", + "range": null, + "title": "Place UART ISR function into IRAM", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-driver-uart-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_uart-Kconfig-1", + "title": "ESP-Driver:UART Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "If this option is not selected, UHCI interrupt will be disabled for a long time and\nmay cause data lost when doing spi flash operation.", + "id": "UHCI_ISR_HANDLER_IN_IRAM", + "name": "UHCI_ISR_HANDLER_IN_IRAM", + "range": null, + "title": "Place UHCI ISR function into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable this option to allow the ISR for UHCI to execute even when the cache is disabled.\nThis can be useful in scenarios where the cache might be turned off, but the UHCI\nfunctionality is still required to operate correctly.", + "id": "UHCI_ISR_CACHE_SAFE", + "name": "UHCI_ISR_CACHE_SAFE", + "range": null, + "title": "Allow UHCI ISR to execute when cache is disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "whether to enable the debug log message for UHCI driver.\nNote that, this option only controls the UHCI driver log, won't affect other drivers.", + "id": "UHCI_ENABLE_DEBUG_LOG", + "name": "UHCI_ENABLE_DEBUG_LOG", + "range": null, + "title": "Enable debug log", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-driver-uhci-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_driver_uart-Kconfig-14", + "title": "ESP-Driver:UHCI Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "PM_ENABLE && ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED && !SOC_USB_SERIAL_JTAG_SUPPORT_LIGHT_SLEEP && USJ_ENABLE_USB_SERIAL_JTAG && SOC_USB_SERIAL_JTAG_SUPPORTED", + "help": "If enabled, the chip will constantly monitor the connection status of the USB Serial/JTAG port. As long\nas the USB Serial/JTAG is connected, a ESP_PM_NO_LIGHT_SLEEP power management lock will be acquired to\nprevent the system from entering light sleep.\nThis option can be useful if serial monitoring is needed via USB Serial/JTAG while power management is\nenabled, as the USB Serial/JTAG cannot work under light sleep and after waking up from light sleep.\nNote. This option can only control the automatic Light-Sleep behavior. If esp_light_sleep_start() is\ncalled manually from the program, enabling this option will not prevent light sleep entry even if the\nUSB Serial/JTAG is in use.", + "id": "USJ_NO_AUTO_LS_ON_CONNECTION", + "name": "USJ_NO_AUTO_LS_ON_CONNECTION", + "range": null, + "title": "Don't enter the automatic light sleep when USB Serial/JTAG port is connected", + "type": "bool" + } + ], + "depends_on": "SOC_USB_SERIAL_JTAG_SUPPORTED", + "help": "The USB-Serial-JTAG module on ESP chips is turned on by default after power-on.\nIf your application does not need it and not rely on it to be used as system\nconsole or use the built-in JTAG for debugging, you can disable this option,\nthen the clock of this module will be disabled at startup, which will save\nsome power consumption.\nNote: This will disable USB-Serial-JTAG only in the application; it will still be enabled during\nthe bootloader stage, so you can continue to use it to flash the chip in download mode.\nTo disable it completely, you must burn the EFUSE_DIS_USB_SERIAL_JTAG eFuse.", + "id": "USJ_ENABLE_USB_SERIAL_JTAG", + "name": "USJ_ENABLE_USB_SERIAL_JTAG", + "range": null, + "title": "Enable USB-Serial-JTAG Module", + "type": "bool" + } + ], + "depends_on": "SOC_USB_SERIAL_JTAG_SUPPORTED", + "id": "component-config-esp-driver-usb-serial-jtag-configuration-home-claw-.platformio-packages-framework-espidf-components-esp_driver_usb_serial_jtag-Kconfig-1", + "title": "ESP-Driver:USB Serial/JTAG Configuration", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "ETH_ENABLED", + "name": "ETH_ENABLED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ETH_USE_ESP32_EMAC", + "help": "Set the size of each buffer used by Ethernet MAC DMA.\n!! Important !! Make sure it is 64B aligned for ESP32P4!", + "id": "ETH_DMA_BUFFER_SIZE", + "name": "ETH_DMA_BUFFER_SIZE", + "range": null, + "title": "Ethernet DMA buffer size (Byte)", + "type": "int" + }, + { + "children": [], + "depends_on": "ETH_USE_ESP32_EMAC", + "help": "Number of DMA receive buffers. Each buffer's size is ETH_DMA_BUFFER_SIZE.\nLarger number of buffers could increase throughput somehow.", + "id": "ETH_DMA_RX_BUFFER_NUM", + "name": "ETH_DMA_RX_BUFFER_NUM", + "range": null, + "title": "Amount of Ethernet DMA Rx buffers", + "type": "int" + }, + { + "children": [], + "depends_on": "ETH_USE_ESP32_EMAC", + "help": "Number of DMA transmit buffers. Each buffer's size is ETH_DMA_BUFFER_SIZE.\nLarger number of buffers could increase throughput somehow.", + "id": "ETH_DMA_TX_BUFFER_NUM", + "name": "ETH_DMA_TX_BUFFER_NUM", + "range": null, + "title": "Amount of Ethernet DMA Tx buffers", + "type": "int" + }, + { + "children": [], + "depends_on": "ETH_DMA_RX_BUFFER_NUM > 15 && ETH_USE_ESP32_EMAC", + "help": "Ethernet MAC engine on ESP32 doesn't feature a flow control logic.\nThe MAC driver can perform a software flow control if you enable this option.\nNote that, if the RX buffer number is small, enabling software flow control will\ncause obvious performance loss.", + "id": "ETH_SOFT_FLOW_CONTROL", + "name": "ETH_SOFT_FLOW_CONTROL", + "range": null, + "title": "Enable software flow control", + "type": "bool" + }, + { + "children": [], + "depends_on": "ETH_USE_ESP32_EMAC", + "help": "If enabled, functions related to RX/TX are placed into IRAM. It can improve Ethernet throughput.\nIf disabled, all functions are placed into FLASH.", + "id": "ETH_IRAM_OPTIMIZATION", + "name": "ETH_IRAM_OPTIMIZATION", + "range": null, + "title": "Enable IRAM optimization", + "type": "bool" + } + ], + "depends_on": "SOC_EMAC_SUPPORTED", + "help": "ESP32 integrates a 10/100M Ethernet MAC controller.", + "id": "ETH_USE_ESP32_EMAC", + "is_menuconfig": true, + "name": "ETH_USE_ESP32_EMAC", + "range": null, + "title": "Support ESP32 internal EMAC controller", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": "ESP-IDF can also support SPI-Ethernet. Actual chip drivers are available as components in\nComponent Registry.", + "id": "ETH_USE_SPI_ETHERNET", + "is_menuconfig": true, + "name": "ETH_USE_SPI_ETHERNET", + "range": null, + "title": "Support SPI to Ethernet Module", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "ETH_USE_OPENETH", + "help": "Number of DMA receive buffers, each buffer is 1600 bytes.", + "id": "ETH_OPENETH_DMA_RX_BUFFER_NUM", + "name": "ETH_OPENETH_DMA_RX_BUFFER_NUM", + "range": null, + "title": "Number of Ethernet DMA Rx buffers", + "type": "int" + }, + { + "children": [], + "depends_on": "ETH_USE_OPENETH", + "help": "Number of DMA transmit buffers, each buffer is 1600 bytes.", + "id": "ETH_OPENETH_DMA_TX_BUFFER_NUM", + "name": "ETH_OPENETH_DMA_TX_BUFFER_NUM", + "range": null, + "title": "Number of Ethernet DMA Tx buffers", + "type": "int" + } + ], + "depends_on": null, + "help": "OpenCores Ethernet MAC driver can be used when an ESP-IDF application\nis executed in QEMU. This driver is not supported when running on a\nreal chip.", + "id": "ETH_USE_OPENETH", + "is_menuconfig": true, + "name": "ETH_USE_OPENETH", + "range": null, + "title": "Support OpenCores Ethernet MAC (for use with QEMU)", + "type": "menu" + }, + { + "children": [], + "depends_on": "ETH_ENABLED", + "help": "Prevents multiple accesses when Ethernet interface is used as shared resource and multiple\nfunctionalities might try to access it at a time.", + "id": "ETH_TRANSMIT_MUTEX", + "name": "ETH_TRANSMIT_MUTEX", + "range": null, + "title": "Enable Transmit Mutex", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-ethernet-home-claw-.platformio-packages-framework-espidf-components-esp_eth-Kconfig-1", + "title": "Ethernet", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enables collections of statistics in the event loop library such as the number of events posted\nto/recieved by an event loop, number of callbacks involved, number of events dropped to to a full event\nloop queue, run time of event handlers, and number of times/run time of each event handler.", + "id": "ESP_EVENT_LOOP_PROFILING", + "name": "ESP_EVENT_LOOP_PROFILING", + "range": null, + "title": "Enable event loop profiling", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_EVENT_POST_FROM_ISR", + "help": "Enable posting events from interrupt handlers placed in IRAM. Enabling this option places API functions\nesp_event_post and esp_event_post_to in IRAM.", + "id": "ESP_EVENT_POST_FROM_IRAM_ISR", + "name": "ESP_EVENT_POST_FROM_IRAM_ISR", + "range": null, + "title": "Support posting events from ISRs placed in IRAM", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enable posting events from interrupt handlers.", + "id": "ESP_EVENT_POST_FROM_ISR", + "name": "ESP_EVENT_POST_FROM_ISR", + "range": null, + "title": "Support posting events from ISRs", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-event-loop-library-home-claw-.platformio-packages-framework-espidf-components-esp_event-Kconfig-1", + "title": "Event Loop Library", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_GDBSTUB_ENABLED", + "name": "ESP_GDBSTUB_ENABLED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable builtin GDBStub.\nThis allows to debug the target device using serial port:\n- Run 'idf.py monitor'.\n- Wait for the device to initialize.\n- Press Ctrl+C to interrupt the execution and enter GDB attached to your device for debugging.\nNOTE: all UART input will be handled by GDBStub.", + "id": "ESP_SYSTEM_GDBSTUB_RUNTIME", + "name": "ESP_SYSTEM_GDBSTUB_RUNTIME", + "range": null, + "title": "GDBStub at runtime", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_GDBSTUB_SUPPORT_TASKS", + "help": "Set the number of tasks which GDB Stub will support.", + "id": "ESP_GDBSTUB_MAX_TASKS", + "name": "ESP_GDBSTUB_MAX_TASKS", + "range": null, + "title": "Maximum number of tasks supported by GDB Stub", + "type": "int" + } + ], + "depends_on": "ESP_GDBSTUB_ENABLED", + "help": "If enabled, GDBStub can supply the list of FreeRTOS tasks to GDB.\nThread list can be queried from GDB using 'info threads' command.\nNote that if GDB task lists were corrupted, this feature may not work.\nIf GDBStub fails, try disabling this feature.", + "id": "ESP_GDBSTUB_SUPPORT_TASKS", + "name": "ESP_GDBSTUB_SUPPORT_TASKS", + "range": null, + "title": "Enable listing FreeRTOS tasks through GDB Stub", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-gdb-stub-home-claw-.platformio-packages-framework-espidf-components-esp_gdbstub-Kconfig-1", + "title": "GDB Stub", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "This is the stack size for the BT HID task.\nDefault is 2048 bytes.", + "id": "ESPHID_TASK_SIZE_BT", + "name": "ESPHID_TASK_SIZE_BT", + "range": [ + 2048, + 10240 + ], + "title": "Task stack size for ESP HID BR/EDR", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "This is the stack size for the BLE HID task.\nDefault is 4096 bytes.", + "id": "ESPHID_TASK_SIZE_BLE", + "name": "ESPHID_TASK_SIZE_BLE", + "range": [ + 2048, + 10240 + ], + "title": "Task stack size for ESP HID BLE", + "type": "int" + } + ], + "depends_on": null, + "id": "component-config-esp-hid-home-claw-.platformio-packages-framework-espidf-components-esp_hid-Kconfig-1", + "title": "ESP HID", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "This option will enable https protocol by linking esp-tls library and initializing SSL transport", + "id": "ESP_HTTP_CLIENT_ENABLE_HTTPS", + "name": "ESP_HTTP_CLIENT_ENABLE_HTTPS", + "range": null, + "title": "Enable https", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This option will enable HTTP Basic Authentication. It is disabled by default as Basic\nauth uses unencrypted encoding, so it introduces a vulnerability when not using TLS", + "id": "ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH", + "name": "ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH", + "range": null, + "title": "Enable HTTP Basic Authentication", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This option will enable HTTP Digest Authentication. It is enabled by default, but use of this\nconfiguration is not recommended as the password can be derived from the exchange, so it introduces\na vulnerability when not using TLS", + "id": "ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH", + "name": "ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH", + "range": null, + "title": "Enable HTTP Digest Authentication", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This option will enable injection of a custom tcp_transport handle, so the http operation\nwill be performed on top of the user defined transport abstraction (if configured)", + "id": "ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT", + "name": "ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT", + "range": null, + "title": "Enable custom transport", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This enables use of content range header in esp_http_client component.", + "id": "ESP_HTTP_CLIENT_ENABLE_GET_CONTENT_RANGE", + "name": "ESP_HTTP_CLIENT_ENABLE_GET_CONTENT_RANGE", + "range": null, + "title": "Enable content range functionality", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This config option helps in setting the time in millisecond to wait for event to be posted to the\nsystem default event loop. Set it to -1 if you need to set timeout to portMAX_DELAY.", + "id": "ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT", + "name": "ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT", + "range": null, + "title": "Time in millisecond to wait for posting event", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_HTTP_CLIENT_SAVE_RESPONSE_HEADERS", + "help": "This config option helps in setting the maximum number of response headers that\ncan be saved in esp_http_client component.", + "id": "ESP_HTTP_CLIENT_MAX_SAVED_RESPONSE_HEADERS", + "name": "ESP_HTTP_CLIENT_MAX_SAVED_RESPONSE_HEADERS", + "range": null, + "title": "Maximum number of response headers", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_HTTP_CLIENT_SAVE_RESPONSE_HEADERS", + "help": "This config option helps in setting the maximum size of response header that\ncan be saved in esp_http_client component.\nNote that the same size is used for key and value in the response headers.", + "id": "ESP_HTTP_CLIENT_MAX_RESPONSE_HEADER_SIZE", + "name": "ESP_HTTP_CLIENT_MAX_RESPONSE_HEADER_SIZE", + "range": null, + "title": "Maximum size of response header", + "type": "int" + } + ], + "depends_on": null, + "help": "This option will enable saving of response headers in esp_http_client component.\nWhen enabled, upto ESP_HTTP_CLIENT_MAX_SAVED_RESPONSE_HEADERS headers are saved.\nEnabling this option will increase the memory footprint of the component.", + "id": "ESP_HTTP_CLIENT_SAVE_RESPONSE_HEADERS", + "name": "ESP_HTTP_CLIENT_SAVE_RESPONSE_HEADERS", + "range": null, + "title": "Save response headers", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-http-client-home-claw-.platformio-packages-framework-espidf-components-esp_http_client-Kconfig-1", + "title": "ESP HTTP client", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "This sets the default limit for the HTTP request header length. The limit can be\nconfigured at run time by setting max_req_hdr_len member of httpd_config_t structure.\nThe memory allocated will depend on the actual header length. Hence keeping a sufficiently\nlarge max header length is recommended.", + "id": "HTTPD_MAX_REQ_HDR_LEN", + "name": "HTTPD_MAX_REQ_HDR_LEN", + "range": [ + 128, + 65536 + ], + "title": "HTTP Request Header Length limit", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "This sets the maximum supported size of HTTP request URI to be processed by the server", + "id": "HTTPD_MAX_URI_LEN", + "name": "HTTPD_MAX_URI_LEN", + "range": null, + "title": "Max HTTP URI Length", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Using TCP_NODEALY socket option ensures that HTTP error response reaches the client before the\nunderlying socket is closed. Please note that turning this off may cause multiple test failures", + "id": "HTTPD_ERR_RESP_NO_DELAY", + "name": "HTTPD_ERR_RESP_NO_DELAY", + "range": null, + "title": "Use TCP_NODELAY socket option when sending HTTP error responses", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This sets the size of the temporary buffer used to receive and discard any remaining data that is\nreceived from the HTTP client in the request, but not processed as part of the server HTTP request\nhandler.\n\nIf the remaining data is larger than the available buffer size, the buffer will be filled in multiple\niterations. The buffer should be small enough to fit on the stack, but large enough to avoid excessive\niterations.", + "id": "HTTPD_PURGE_BUF_LEN", + "name": "HTTPD_PURGE_BUF_LEN", + "range": null, + "title": "Length of temporary buffer for purging data", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling this will log discarded binary HTTP request data at Debug level.\nFor large content data this may not be desirable as it will clutter the log.", + "id": "HTTPD_LOG_PURGE_DATA", + "name": "HTTPD_LOG_PURGE_DATA", + "range": null, + "title": "Log purged content data at Debug level", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This sets the WebSocket server support.", + "id": "HTTPD_WS_SUPPORT", + "name": "HTTPD_WS_SUPPORT", + "range": null, + "title": "WebSocket server support", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This makes httpd_queue_work() API to wait until a message space is available on UDP control socket.\nIt internally uses a counting semaphore with count set to `LWIP_UDP_RECVMBOX_SIZE` to achieve this.\nThis config will slightly change API behavior to block until message gets delivered on control socket.", + "id": "HTTPD_QUEUE_WORK_BLOCKING", + "name": "HTTPD_QUEUE_WORK_BLOCKING", + "range": null, + "title": "httpd_queue_work as blocking API", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This config option helps in setting the time in millisecond to wait for event to be posted to the\nsystem default event loop. Set it to -1 if you need to set timeout to portMAX_DELAY.", + "id": "HTTPD_SERVER_EVENT_POST_TIMEOUT", + "name": "HTTPD_SERVER_EVENT_POST_TIMEOUT", + "range": null, + "title": "Time in millisecond to wait for posting event", + "type": "int" + }, + { + "children": [], + "depends_on": "HTTPD_WS_SUPPORT", + "help": "Enable this option to use WebSocket pre-handshake callback. This will allow the server to register\na callback function that will be called before the WebSocket handshake is processed i.e. before switching\nto the WebSocket protocol.", + "id": "HTTPD_WS_PRE_HANDSHAKE_CB_SUPPORT", + "name": "HTTPD_WS_PRE_HANDSHAKE_CB_SUPPORT", + "range": null, + "title": "WebSocket pre-handshake callback support", + "type": "bool" + }, + { + "children": [], + "depends_on": "HTTPD_WS_SUPPORT", + "help": "Enable this option to use WebSocket post-handshake callback. This will allow the server to register\na callback function that will be called after the WebSocket handshake is processed i.e. after switching\nto the WebSocket protocol.", + "id": "HTTPD_WS_POST_HANDSHAKE_CB_SUPPORT", + "name": "HTTPD_WS_POST_HANDSHAKE_CB_SUPPORT", + "range": null, + "title": "WebSocket post-handshake callback support", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-http-server-home-claw-.platformio-packages-framework-espidf-components-esp_http_server-Kconfig-1", + "title": "HTTP Server", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Exposes an additional callback whereby firmware data could be decrypted\nbefore being processed by OTA update component. This can help to integrate\nexternal encryption related format and removal of such encapsulation layer\nfrom firmware image.", + "id": "ESP_HTTPS_OTA_DECRYPT_CB", + "name": "ESP_HTTPS_OTA_DECRYPT_CB", + "range": null, + "title": "Provide decryption callback", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "It is highly recommended to keep HTTPS (along with server certificate validation) enabled.\nEnabling this option comes with potential risk of:\n- Non-encrypted communication channel with server\n- Accepting firmware upgrade image from server with fake identity", + "id": "ESP_HTTPS_OTA_ALLOW_HTTP", + "name": "ESP_HTTPS_OTA_ALLOW_HTTP", + "range": null, + "title": "Allow HTTP for OTA (WARNING: ONLY FOR TESTING PURPOSE, READ HELP)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This config option helps in setting the time in millisecond to wait for event to be posted to the\nsystem default event loop. Set it to -1 if you need to set timeout to portMAX_DELAY.", + "id": "ESP_HTTPS_OTA_EVENT_POST_TIMEOUT", + "name": "ESP_HTTPS_OTA_EVENT_POST_TIMEOUT", + "range": null, + "title": "Time in millisecond to wait for posting event", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "This enables use of range header in esp_https_ota component.\nThe firmware image will be downloaded over multiple HTTP requests.", + "id": "ESP_HTTPS_OTA_ENABLE_PARTIAL_DOWNLOAD", + "name": "ESP_HTTPS_OTA_ENABLE_PARTIAL_DOWNLOAD", + "range": null, + "title": "Enable partial HTTP download for OTA", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-https-ota-home-claw-.platformio-packages-framework-espidf-components-esp_https_ota-Kconfig-1", + "title": "ESP HTTPS OTA", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_TLS_USING_MBEDTLS && MBEDTLS_TLS_SERVER", + "help": "Enable ESP HTTPS server component", + "id": "ESP_HTTPS_SERVER_ENABLE", + "name": "ESP_HTTPS_SERVER_ENABLE", + "range": null, + "title": "Enable ESP_HTTPS_SERVER component", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This config option helps in setting the time in millisecond to wait for event to be posted to the\nsystem default event loop. Set it to -1 if you need to set timeout to portMAX_DELAY.", + "id": "ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT", + "name": "ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT", + "range": null, + "title": "Time in millisecond to wait for posting event", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Enable certificate selection hook for ESP HTTPS Server. When enabled, this allows the server to\ndynamically select the appropriate certificate based on the client's Server Name Indication (SNI).\nThis is useful for hosting multiple domains on a single server with different SSL certificates.", + "id": "ESP_HTTPS_SERVER_CERT_SELECT_HOOK", + "name": "ESP_HTTPS_SERVER_CERT_SELECT_HOOK", + "range": null, + "title": "Enable certificate selection hook", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-https-server-home-claw-.platformio-packages-framework-espidf-components-esp_https_server-Kconfig-1", + "title": "ESP HTTPS server", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_HW_SUPPORT_FUNC_IN_IRAM", + "name": "ESP_HW_SUPPORT_FUNC_IN_IRAM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP32C6_REV_MIN_0", + "name": "ESP32C6_REV_MIN_0", + "range": null, + "title": "Rev v0.0", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP32C6_REV_MIN_1", + "name": "ESP32C6_REV_MIN_1", + "range": null, + "title": "Rev v0.1 (ECO1)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP32C6_REV_MIN_2", + "name": "ESP32C6_REV_MIN_2", + "range": null, + "title": "Rev v0.2", + "type": "bool" + } + ], + "depends_on": null, + "help": "Required minimum chip revision. ESP-IDF will check for it and\nreject to boot if the chip revision fails the check.\nThis ensures the chip used will have some modifications (features, or bugfixes).\n\nThe complied binary will only support chips above this revision,\nthis will also help to reduce binary size.", + "id": "component-config-hardware-settings-chip-revision-minimum-supported-esp32-c6-revision-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-.-port-esp32c6-Kconfig.hw_support-1", + "name": "ESP32C6_REV_MIN", + "title": "Minimum Supported ESP32-C6 Revision", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP32C6_REV_MIN_FULL", + "name": "ESP32C6_REV_MIN_FULL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_REV_MIN_FULL", + "name": "ESP_REV_MIN_FULL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP32C6_REV_MAX_FULL", + "name": "ESP32C6_REV_MAX_FULL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_REV_MAX_FULL", + "name": "ESP_REV_MAX_FULL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Required minimum eFuse Block revision. ESP-IDF will check it at the 2nd bootloader stage\nwhether the current image can work correctly for this eFuse Block revision.\nSo that to avoid running an incompatible image on a SoC that contains breaking change in the eFuse Block.\nIf you want to update this value to run the image that not compatible with the current eFuse Block revision,\nplease contact to Espressif's business team for details:\nhttps://www.espressif.com.cn/en/contact-us/sales-questions", + "id": "ESP_EFUSE_BLOCK_REV_MIN_FULL", + "name": "ESP_EFUSE_BLOCK_REV_MIN_FULL", + "range": null, + "title": "Minimum Supported ESP32-C6 eFuse Block Revision", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_EFUSE_BLOCK_REV_MAX_FULL", + "name": "ESP_EFUSE_BLOCK_REV_MAX_FULL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "IDF_CI_BUILD", + "help": "For internal chip testing, a small number of new versions chips didn't\nupdate the version field in eFuse, you can enable this option to force the\nsoftware recognize the chip version based on the rev selected in menuconfig.", + "id": "ESP_REV_NEW_CHIP_TEST", + "name": "ESP_REV_NEW_CHIP_TEST", + "range": null, + "title": "Internal test mode", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-hardware-settings-chip-revision-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-Kconfig-12", + "title": "Chip revision", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_MAC_ADDR_UNIVERSE_WIFI_STA", + "name": "ESP_MAC_ADDR_UNIVERSE_WIFI_STA", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_MAC_ADDR_UNIVERSE_WIFI_AP", + "name": "ESP_MAC_ADDR_UNIVERSE_WIFI_AP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_MAC_ADDR_UNIVERSE_BT", + "name": "ESP_MAC_ADDR_UNIVERSE_BT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_MAC_ADDR_UNIVERSE_ETH", + "name": "ESP_MAC_ADDR_UNIVERSE_ETH", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_MAC_ADDR_UNIVERSE_IEEE802154", + "name": "ESP_MAC_ADDR_UNIVERSE_IEEE802154", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_MAC_UNIVERSAL_MAC_ADDRESSES_ONE", + "name": "ESP_MAC_UNIVERSAL_MAC_ADDRESSES_ONE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_MAC_UNIVERSAL_MAC_ADDRESSES_TWO", + "name": "ESP_MAC_UNIVERSAL_MAC_ADDRESSES_TWO", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR", + "name": "ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_MAC_UNIVERSAL_MAC_ADDRESSES", + "name": "ESP_MAC_UNIVERSAL_MAC_ADDRESSES", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO", + "name": "ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO", + "range": null, + "title": "Two", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR", + "name": "ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR", + "range": null, + "title": "Four", + "type": "bool" + } + ], + "depends_on": null, + "help": "Configure the number of universally administered (by IEEE) MAC addresses.\n\nDuring initialization, MAC addresses for each network interface are generated or derived from a\nsingle base MAC address.\n\nIf the number of universal MAC addresses is four, all four interfaces (WiFi station, WiFi softap,\nBluetooth and Ethernet) receive a universally administered MAC address. These are generated\nsequentially by adding 0, 1, 2 and 3 (respectively) to the final octet of the base MAC address.\n\nIf the number of universal MAC addresses is two, only two interfaces (WiFi station and Bluetooth)\nreceive a universally administered MAC address. These are generated sequentially by adding 0\nand 1 (respectively) to the base MAC address. The remaining two interfaces (WiFi softap and Ethernet)\nreceive local MAC addresses. These are derived from the universal WiFi station and Bluetooth MAC\naddresses, respectively.\n\nWhen using the default (Espressif-assigned) base MAC address, either setting can be used. When using\na custom universal MAC address range, the correct setting will depend on the allocation of MAC\naddresses in this range (either 2 or 4 per device.)\n\nNote that ESP32-C6 has no integrated Ethernet MAC. Although it's possible to use the esp_read_mac()\nAPI to return a MAC for Ethernet, this can only be used with an external MAC peripheral.", + "id": "component-config-hardware-settings-mac-config-number-of-universally-administered-by-ieee-mac-address-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-.-port-esp32c6-Kconfig.mac-1", + "name": "ESP32C6_UNIVERSAL_MAC_ADDRESSES", + "title": "Number of universally administered (by IEEE) MAC address", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP32C6_UNIVERSAL_MAC_ADDRESSES", + "name": "ESP32C6_UNIVERSAL_MAC_ADDRESSES", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32", + "help": "If you have an invalid MAC CRC (ESP_ERR_INVALID_CRC) problem\nand you still want to use this chip, you can enable this option to bypass such an error.\nThis applies to both MAC_FACTORY and CUSTOM_MAC efuses.", + "id": "ESP_MAC_IGNORE_MAC_CRC_ERROR", + "name": "ESP_MAC_IGNORE_MAC_CRC_ERROR", + "range": null, + "title": "Ignore MAC CRC error (not recommended)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "When this configuration is enabled, the user can invoke `esp_read_mac` to obtain the desired type of\nMAC using a custom MAC as the base MAC.", + "id": "ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC", + "name": "ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC", + "range": null, + "title": "Enable using custom mac as base mac", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-hardware-settings-mac-config-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-Kconfig-26", + "title": "MAC Config", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "(!SPIRAM || ESP_LDO_RESERVE_PSRAM) && !(IDF_TARGET_ESP32P4 && ESP32P4_REV_MIN_FULL < 100)", + "help": "If enabled, chip will try to power down flash as part of esp_light_sleep_start(), which costs\nmore time when chip wakes up. Can only be enabled if there is no SPIRAM configured.\n\nThis option will power down flash under a strict but relatively safe condition. Also, it is possible to\npower down flash under a relaxed condition by using esp_sleep_pd_config() to set ESP_PD_DOMAIN_VDDSDIO\nto ESP_PD_OPTION_OFF. It should be noted that there is a risk in powering down flash, you can refer\n`ESP-IDF Programming Guide/API Reference/System API/Sleep Modes/Power-down of Flash` for more details.", + "id": "ESP_SLEEP_POWER_DOWN_FLASH", + "name": "ESP_SLEEP_POWER_DOWN_FLASH", + "range": null, + "title": "Power down flash in light sleep when there is no SPIRAM or SPIRAM has independent power supply", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "All IOs will be set to isolate(floating) state by default during sleep.\nSince the power supply of SPI Flash is not lost during lightsleep, if its CS pin is recognized as\nlow level(selected state) in the floating state, there will be a large current leakage, and the\ndata in Flash may be corrupted by random signals on other SPI pins.\nSelect this option will set the CS pin of Flash to PULL-UP state during sleep, but this will\nincrease the sleep current about 10 uA.\nIf you are developing with esp32xx modules, you must select this option, but if you are developing\nwith chips, you can also pull up the CS pin of SPI Flash in the external circuit to save power\nconsumption caused by internal pull-up during sleep.\n(!!! Don't deselect this option if you don't have external SPI Flash CS pin pullups.)", + "id": "ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND", + "name": "ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND", + "range": null, + "title": "Pull-up Flash CS pin in light sleep", + "type": "bool" + }, + { + "children": [], + "depends_on": "SPIRAM", + "help": "All IOs will be set to isolate(floating) state by default during sleep.\nSince the power supply of PSRAM is not lost during lightsleep, if its CS pin is recognized as\nlow level(selected state) in the floating state, there will be a large current leakage, and the\ndata in PSRAM may be corrupted by random signals on other SPI pins.\nSelect this option will set the CS pin of PSRAM to PULL-UP state during sleep, but this will\nincrease the sleep current about 10 uA.\nIf you are developing with esp32xx modules, you must select this option, but if you are developing\nwith chips, you can also pull up the CS pin of PSRAM in the external circuit to save power\nconsumption caused by internal pull-up during sleep.\n(!!! Don't deselect this option if you don't have external PSRAM CS pin pullups.)", + "id": "ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND", + "name": "ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND", + "range": null, + "title": "Pull-up PSRAM CS pin in light sleep", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND || ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND", + "help": "To reduce leakage current, some types of SPI Flash/RAM only need to pull up the CS pin\nduring light sleep. But there are also some kinds of SPI Flash/RAM that need to pull up\nall pins. It depends on the SPI Flash/RAM chip used.", + "id": "ESP_SLEEP_MSPI_NEED_ALL_IO_PU", + "name": "ESP_SLEEP_MSPI_NEED_ALL_IO_PU", + "range": null, + "title": "Pull-up all SPI pins in light sleep", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_SLEEP_RTC_BUS_ISO_WORKAROUND", + "name": "ESP_SLEEP_RTC_BUS_ISO_WORKAROUND", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "All existing chips except esp32 and esp32s2 will reset on wake-up if a GPIO receives\na small electrostatic pulse during light sleep, with specific conditions.\n\n- GPIO needs to be configured as input-mode only\n- The pin receives a small electrostatic pulse, and reset occurs when the pulse\n voltage is higher than 6 V\n\nFor GPIO set to input mode only, it is not a good practice to leave it open/floating,\nThe hardware design needs to controlled it with determined supply or ground voltage\nis necessary.\n\nThis option provides a software workaround for this issue. Configure to isolate all\nGPIO pins in sleep state.", + "id": "ESP_SLEEP_GPIO_RESET_WORKAROUND", + "name": "ESP_SLEEP_GPIO_RESET_WORKAROUND", + "range": null, + "title": "light sleep GPIO reset workaround", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "When the chip exits sleep, the CPU and the flash chip are powered on at the same time.\nCPU will run rom code (deepsleep) or ram code (lightsleep) first, and then load or execute\ncode from flash.\n\nSome flash chips need sufficient time to pass between power on and first read operation.\nBy default, without any extra delay, this time is approximately 900us, although\nsome flash chip types need more than that.\n\n(!!! Please adjust this value according to the Data Sheet of SPI Flash used in your project.)\nIn Flash Data Sheet, the parameters that define the Flash ready timing after power-up (minimum\ntime from Vcc(min) to CS active) are usually named tVSL in ELECTRICAL CHARACTERISTICS chapter,\nand the configuration value here should be:\nESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY = tVSL - 900\n\nFor esp32 and esp32s3, the default extra delay is set to 2000us. When optimizing startup time\nfor applications which require it, this value may be reduced.\n\nIf you are seeing \"flash read err, 1000\" message printed to the console after deep sleep reset\non esp32, or triggered RTC_WDT/LP_WDT after lightsleep wakeup, try increasing this value.\n(For esp32, the delay will be executed in both deep sleep and light sleep wake up flow.\nFor chips after esp32, the delay will be executed only in light sleep flow, the delay\ncontrolled by the EFUSE_FLASH_TPUW in ROM will be executed in deepsleep wake up flow.)", + "id": "ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY", + "name": "ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY", + "range": [ + 0, + 5000 + ], + "title": "Extra delay (in us) after flash powerdown sleep wakeup to wait flash ready", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling it will check the cache safety of the code before the flash power is ready after\nlight sleep wakeup, and check PM_SLP_IRAM_OPT related code cache safety. This option is\nonly for code quality inspection. Enabling it will increase the time overhead of entering\nand exiting sleep. It is not recommended to enable it in the release version.", + "id": "ESP_SLEEP_CACHE_SAFE_ASSERTION", + "name": "ESP_SLEEP_CACHE_SAFE_ASSERTION", + "range": null, + "title": "Check the cache safety of the sleep wakeup code in sleep process", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable esp sleep debug.", + "id": "ESP_SLEEP_DEBUG", + "name": "ESP_SLEEP_DEBUG", + "range": null, + "title": "esp sleep debug", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "When using rtc gpio wakeup source during deepsleep without external pull-up/downs, you may want to\nmake use of the internal ones.", + "id": "ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS", + "name": "ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS", + "range": null, + "title": "Allow to enable internal pull-up/downs for the Deep-Sleep wakeup IOs", + "type": "bool" + }, + { + "children": [], + "depends_on": "FREERTOS_USE_TICKLESS_IDLE", + "help": "If enabled, it allows user to register sleep event callbacks. It is primarily designed for internal\ndevelopers and customers can use PM_LIGHT_SLEEP_CALLBACKS as an alternative.\n\nNOTE: These callbacks are executed from the IDLE task context hence you cannot have any blocking calls\nin your callbacks.\n\nNOTE: Enabling these callbacks may change sleep duration calculations based on time spent in\ncallback and hence it is highly recommended to keep them as short as possible.", + "id": "ESP_SLEEP_EVENT_CALLBACKS", + "name": "ESP_SLEEP_EVENT_CALLBACKS", + "range": null, + "title": "Enable registration of sleep event callbacks", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-hardware-settings-sleep-config-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-Kconfig-77", + "title": "Sleep Config", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "RTC_CLK_SRC_INT_RC", + "name": "RTC_CLK_SRC_INT_RC", + "range": null, + "title": "Internal 136 kHz RC oscillator", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "RTC_CLK_SRC_EXT_CRYS", + "name": "RTC_CLK_SRC_EXT_CRYS", + "range": null, + "title": "External 32 kHz crystal", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "RTC_CLK_SRC_EXT_OSC", + "name": "RTC_CLK_SRC_EXT_OSC", + "range": null, + "title": "External 32 kHz oscillator at 32K_XP pin", + "type": "bool" + } + ], + "depends_on": null, + "help": "Choose which clock is used as RTC clock source.", + "id": "component-config-hardware-settings-rtc-clock-config-rtc-clock-source-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-.-port-esp32c6-Kconfig.rtc-1", + "name": "RTC_CLK_SRC", + "title": "RTC clock source", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": "When the startup code initializes RTC_SLOW_CLK, it can perform\ncalibration by comparing the RTC_SLOW_CLK frequency with main XTAL\nfrequency. This option sets the number of RTC_SLOW_CLK cycles measured\nby the calibration routine. Higher numbers increase calibration\nprecision, which may be important for applications which spend a lot of\ntime in deep sleep. Lower numbers reduce startup time.\n\nWhen this option is set to 0, clock calibration will not be performed at\nstartup, and approximate clock frequencies will be assumed:\n\n- 136000 Hz if internal RC oscillator is used as clock source. For this use value 1024.\n- 32768 Hz if the 32k crystal oscillator is used. For this use value 3000 or more.\n In case more value will help improve the definition of the launch of the crystal.\n If the crystal could not start, it will be switched to internal RC.", + "id": "RTC_CLK_CAL_CYCLES", + "name": "RTC_CLK_CAL_CYCLES", + "range": [ + 0, + 32766 + ], + "title": "Number of cycles for RTC_SLOW_CLK calibration", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Place RTC clock module (all rtc clock functions and const data) into IRAM.", + "id": "RTC_CLK_FUNC_IN_IRAM", + "name": "RTC_CLK_FUNC_IN_IRAM", + "range": null, + "title": "Place RTC clock module functions into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Place RTC time module (all rtc clock functions) into IRAM.", + "id": "RTC_TIME_FUNC_IN_IRAM", + "name": "RTC_TIME_FUNC_IN_IRAM", + "range": null, + "title": "Place RTC time module functions into IRAM", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-hardware-settings-rtc-clock-config-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-Kconfig-228", + "title": "RTC Clock Config", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Place peripheral control functions (e.g. periph_module_reset) into IRAM,\nso that these functions can be IRAM-safe and able to be called in the other IRAM interrupt context.", + "id": "ESP_PERIPH_CTRL_FUNC_IN_IRAM", + "name": "ESP_PERIPH_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place peripheral control functions into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Place analog i2c master control functions (e.g. regi2c_ctrl_read_reg, regi2c_ctrl_write_reg) into IRAM,\nso that these functions can be IRAM-safe and able to be called in the other IRAM interrupt context.", + "id": "ESP_REGI2C_CTRL_FUNC_IN_IRAM", + "name": "ESP_REGI2C_CTRL_FUNC_IN_IRAM", + "range": null, + "title": "Place regi2c control functions into IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_MODEM_CLOCK_SUPPORTED", + "help": "If enabled, this option will perform additional checks on modem clock configuration\nto ensure proper operation and detect potential configuration issues.", + "id": "ESP_MODEM_CLOCK_ENABLE_CHECKING", + "name": "ESP_MODEM_CLOCK_ENABLE_CHECKING", + "range": null, + "title": "Enable modem clock configuration checking", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-hardware-settings-peripheral-control-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-Kconfig-244", + "title": "Peripheral Control", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_ETM_SUPPORTED", + "help": "If enabled, ETM driver will:\n1. ignore the global logging settings\n2. compile all log messages into the binary\n3. set the runtime log level to VERBOSE\nPlease enable this option by caution, as it will increase the binary size.", + "id": "ETM_ENABLE_DEBUG_LOG", + "name": "ETM_ENABLE_DEBUG_LOG", + "range": null, + "title": "Force enable debug log", + "type": "bool" + } + ], + "depends_on": "SOC_ETM_SUPPORTED", + "id": "component-config-hardware-settings-event-task-matrix-etm-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-.-etm-Kconfig.etm-1", + "title": "Event Task Matrix (ETM) Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "XTAL_FREQ_40", + "name": "XTAL_FREQ_40", + "range": null, + "title": "40 MHz", + "type": "bool" + } + ], + "depends_on": null, + "help": "This option selects the operating frequency of the XTAL (crystal) clock used to drive the ESP target.\nThe selected value MUST reflect the frequency of the given hardware.", + "id": "component-config-hardware-settings-main-xtal-config-main-xtal-frequency-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-.-port-esp32c6-Kconfig.xtal-1", + "name": "XTAL_FREQ", + "title": "Main XTAL frequency", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "XTAL_FREQ", + "name": "XTAL_FREQ", + "range": null, + "title": null, + "type": "int" + } + ], + "depends_on": null, + "id": "component-config-hardware-settings-main-xtal-config-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-Kconfig-270", + "title": "Main XTAL Config", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_BROWNOUT_DET_LVL_SEL_7", + "name": "ESP_BROWNOUT_DET_LVL_SEL_7", + "range": null, + "title": "2.51V", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_BROWNOUT_DET_LVL_SEL_6", + "name": "ESP_BROWNOUT_DET_LVL_SEL_6", + "range": null, + "title": "2.64V", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_BROWNOUT_DET_LVL_SEL_5", + "name": "ESP_BROWNOUT_DET_LVL_SEL_5", + "range": null, + "title": "2.76V", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_BROWNOUT_DET_LVL_SEL_4", + "name": "ESP_BROWNOUT_DET_LVL_SEL_4", + "range": null, + "title": "2.92V", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_BROWNOUT_DET_LVL_SEL_3", + "name": "ESP_BROWNOUT_DET_LVL_SEL_3", + "range": null, + "title": "3.10V", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_BROWNOUT_DET_LVL_SEL_2", + "name": "ESP_BROWNOUT_DET_LVL_SEL_2", + "range": null, + "title": "3.27V", + "type": "bool" + } + ], + "depends_on": "ESP_BROWNOUT_DET", + "help": "The brownout detector will reset the chip when the supply voltage is approximately\nbelow this level. Note that there may be some variation of brownout voltage level\nbetween each chip.\n\n#The voltage levels here are estimates, more work needs to be done to figure out the exact voltages\n#of the brownout threshold levels.", + "id": "component-config-hardware-settings-power-supplier-brownout-detector-hardware-brownout-detect-reset-brownout-voltage-level-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-.-power_supply-port-esp32c6-Kconfig.power-13", + "name": "ESP_BROWNOUT_DET_LVL_SEL", + "title": "Brownout voltage level", + "type": "choice" + } + ], + "depends_on": "!IDF_ENV_FPGA", + "help": "The ESP32-C6 has a built-in brownout detector which can detect if the voltage is lower than\na specific value. If this happens, it will reset the chip in order to prevent unintended\nbehaviour.", + "id": "ESP_BROWNOUT_DET", + "name": "ESP_BROWNOUT_DET", + "range": null, + "title": "Hardware brownout detect & reset", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_BROWNOUT_DET_LVL", + "name": "ESP_BROWNOUT_DET_LVL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "This config allows to trigger an interrupt when brownout detected. Software restart will be done\nat the end of the default callback.\nThis is because for some special workflow, the chip needs do more things when brownout happens\nbefore restart instead of restarting directly. This part needs to be done in callback function\nof interrupt.", + "id": "ESP_BROWNOUT_USE_INTR", + "name": "ESP_BROWNOUT_USE_INTR", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-hardware-settings-power-supplier-brownout-detector-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-.-power_supply-port-esp32c6-Kconfig.power-3", + "title": "Brownout Detector", + "type": "menu" + } + ], + "depends_on": null, + "id": "component-config-hardware-settings-power-supplier-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-.-power_supply-port-esp32c6-Kconfig.power-1", + "title": "Power Supplier", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": "This option is only used for new chip bringup, when\nclock support isn't done yet. So with this option,\nwe use xtal on FPGA as the clock source.", + "id": "ESP_BRINGUP_BYPASS_CPU_CLK_SETTING", + "name": "ESP_BRINGUP_BYPASS_CPU_CLK_SETTING", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This option is only used for new chip bringup, when\nRNG isn't done yet. So with this option, we use 0x5A\nto fill the random buffers", + "id": "ESP_BRINGUP_BYPASS_RANDOM_SETTING", + "name": "ESP_BRINGUP_BYPASS_RANDOM_SETTING", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM", + "name": "ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_SPI_BUS_LOCK_FUNCS_IN_IRAM", + "name": "ESP_SPI_BUS_LOCK_FUNCS_IN_IRAM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Due to the poor low-temperature characteristics of\nRC32K (it cannot operate below -40 degrees Celsius),\nplease avoid using it whenever possible", + "id": "ESP_CLK_RC32K_NOT_TO_USE", + "name": "ESP_CLK_RC32K_NOT_TO_USE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_PMU_PVT_SUPPORTED", + "help": "If enabled, hp & lp voltage can be auto adjust by PVT characteristic.\nOtherwise, internal voltage will be set to fix dbias.\nThis is a must for stable mass production. Disable for debugging only.", + "id": "ESP_ENABLE_PVT", + "name": "ESP_ENABLE_PVT", + "range": null, + "title": "Auto adjust hp & lp voltage using pvt function (MUST ENABLE FOR MP)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_INTR_IN_IRAM", + "name": "ESP_INTR_IN_IRAM", + "range": null, + "title": "Place esp_intr_alloc functions in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32P4", + "help": null, + "id": "P4_REV3_MSPI_CRASH_AFTER_POWER_UP_WORKAROUND", + "name": "P4_REV3_MSPI_CRASH_AFTER_POWER_UP_WORKAROUND", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32P4", + "help": null, + "id": "P4_REV3_MSPI_WORKAROUND_SIZE", + "name": "P4_REV3_MSPI_WORKAROUND_SIZE", + "range": null, + "title": null, + "type": "hex" + } + ], + "depends_on": null, + "id": "component-config-hardware-settings-home-claw-.platformio-packages-framework-espidf-components-esp_hw_support-Kconfig-1", + "title": "Hardware Settings", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_LCD_RGB_SUPPORTED", + "help": "Ensure the LCD interrupt is IRAM-Safe by allowing the interrupt handler to be\nexecutable when the cache is disabled (e.g. SPI Flash write).\nIf you want the LCD driver to keep flushing the screen even when cache ops disabled,\nyou can enable this option. Note, this will also increase the IRAM usage.", + "id": "LCD_RGB_ISR_IRAM_SAFE", + "name": "LCD_RGB_ISR_IRAM_SAFE", + "range": null, + "title": "RGB LCD ISR IRAM-Safe", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_LCD_RGB_SUPPORTED", + "help": "Reset the GDMA channel every VBlank to stop permanent desyncs from happening.\nOnly need to enable it when in your application, the DMA can't deliver data\nas fast as the LCD consumes it.", + "id": "LCD_RGB_RESTART_IN_VSYNC", + "name": "LCD_RGB_RESTART_IN_VSYNC", + "range": null, + "title": "Always restart RGB LCD transmission in VSYNC", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_MIPI_DSI_SUPPORTED", + "help": "Place DSI ISR handler in IRAM to reduce latency caused by cache miss.", + "id": "LCD_DSI_ISR_HANDLER_IN_IRAM", + "name": "LCD_DSI_ISR_HANDLER_IN_IRAM", + "range": null, + "title": "Place DSI ISR handler in IRAM to reduce latency", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_MIPI_DSI_SUPPORTED", + "help": "Enable this option to allow the DSI Interrupt Service Routine (ISR)\nto execute even when the cache is disabled. This can be useful in scenarios where the cache\nmight be turned off, but the DSI functionality is still required to operate correctly.", + "id": "LCD_DSI_ISR_CACHE_SAFE", + "name": "LCD_DSI_ISR_CACHE_SAFE", + "range": null, + "title": "Allow DSI ISR to execute when cache is disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_MIPI_DSI_SUPPORTED", + "help": "This will ensure the DSI driver object will always be allocated in internal RAM.", + "id": "LCD_DSI_OBJ_FORCE_INTERNAL", + "name": "LCD_DSI_OBJ_FORCE_INTERNAL", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If enabled, LCD driver component will:\n1. ignore the global logging settings\n2. compile all log messages into the binary\n3. set the runtime log level to VERBOSE\nPlease enable this option by caution, as it will increase the binary size.", + "id": "LCD_ENABLE_DEBUG_LOG", + "name": "LCD_ENABLE_DEBUG_LOG", + "range": null, + "title": "Force enable debug log", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-driver-lcd-controller-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_lcd-Kconfig-1", + "title": "ESP-Driver:LCD Controller Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LIBC_NEWLIB", + "name": "LIBC_NEWLIB", + "range": null, + "title": "NewLib", + "type": "bool" + }, + { + "children": [], + "depends_on": "!IDF_TOOLCHAIN_CLANG && ", + "help": null, + "id": "LIBC_PICOLIBC", + "name": "LIBC_PICOLIBC", + "range": null, + "title": "Picolibc", + "type": "bool" + } + ], + "depends_on": null, + "help": null, + "id": "component-config-libc-libc-to-build-application-with-home-claw-.platformio-packages-framework-espidf-components-esp_libc-Kconfig-3", + "name": "LIBC", + "title": "LibC to build application with", + "type": "choice" + }, + { + "children": [], + "depends_on": "LIBC_PICOLIBC", + "help": "This option provides limited compatibility with libraries built using Newlib headers by:\n\nEnabling hidden system-header inclusions that exist in Newlib.\nAdding tls_stdio, tls_stdout, and tls_stderr variables to Thread Local Storage\nto allow prebuilt libraries to access them via getreent().\nProviding an implementation of getreent() that returns the value of the thread-pointer register.\n\nLimitations:\n\n1. If your application or an external prebuilt library accesses Newlib \"struct _reent\" implicitly,\nthis may cause memory corruption on the task stack. You have two options:\n\n- Use libc API calls instead of directly accessing \"struct _reent\" fields.\n- Switch ESP-IDF to use the Newlib implementation by setting CONFIG_LIBC_NEWLIB=y in sdkconfig.\n\n2. If your application uses a prebuilt library built with Newlib headers, you may encounter\nunexpected behavior when overriding stdin, stdout, and stderr. External prebuilt libraries\ncan only read these streams, so overriding them will not affect as it was for Newlib.\nYou have two options to fix this:\n\n- Rebuild the library with Picolibc headers that follow POSIX-standardized stdin, stdout,\n and stderr declarations.\n- Switch ESP-IDF to use the Newlib implementation by setting CONFIG_LIBC_NEWLIB=y in sdkconfig.", + "id": "LIBC_PICOLIBC_NEWLIB_COMPATIBILITY", + "name": "LIBC_PICOLIBC_NEWLIB_COMPATIBILITY", + "range": null, + "title": "Provides limited interoperability with libraries built using Newlib headers", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "LIBC_MISC_IN_IRAM", + "name": "LIBC_MISC_IN_IRAM", + "range": null, + "title": "Place misc libc functions (abort/assert/stdatomics) in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable this option to include be able to call the lock API from\ncode that runs while cache is disabled, e.g. IRAM interrupts.", + "id": "LIBC_LOCKS_PLACE_IN_IRAM", + "name": "LIBC_LOCKS_PLACE_IN_IRAM", + "range": null, + "title": "Place lock API in IRAM", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LIBC_STDOUT_LINE_ENDING_CRLF", + "name": "LIBC_STDOUT_LINE_ENDING_CRLF", + "range": null, + "title": "CRLF", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LIBC_STDOUT_LINE_ENDING_LF", + "name": "LIBC_STDOUT_LINE_ENDING_LF", + "range": null, + "title": "LF", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LIBC_STDOUT_LINE_ENDING_CR", + "name": "LIBC_STDOUT_LINE_ENDING_CR", + "range": null, + "title": "CR", + "type": "bool" + } + ], + "depends_on": "VFS_SUPPORT_IO", + "help": "This option allows configuring the desired line endings sent to console\nwhen a newline ('\\n', LF) appears on stdout.\nThree options are possible:\n\nCRLF: whenever LF is encountered, prepend it with CR\n\nLF: no modification is applied, stdout is sent as is\n\nCR: each occurrence of LF is replaced with CR\n\nThis option doesn't affect behavior of the UART driver (drivers/uart.h).", + "id": "component-config-libc-line-ending-for-console-output-home-claw-.platformio-packages-framework-espidf-components-esp_libc-Kconfig-56", + "name": "LIBC_STDOUT_LINE_ENDING", + "title": "Line ending for console output", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LIBC_STDIN_LINE_ENDING_CRLF", + "name": "LIBC_STDIN_LINE_ENDING_CRLF", + "range": null, + "title": "CRLF", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LIBC_STDIN_LINE_ENDING_LF", + "name": "LIBC_STDIN_LINE_ENDING_LF", + "range": null, + "title": "LF", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LIBC_STDIN_LINE_ENDING_CR", + "name": "LIBC_STDIN_LINE_ENDING_CR", + "range": null, + "title": "CR", + "type": "bool" + } + ], + "depends_on": "VFS_SUPPORT_IO", + "help": "This option allows configuring which input sequence on console produces\na newline ('\\n', LF) on stdin.\nThree options are possible:\n\nCRLF: CRLF is converted to LF\n\nLF: no modification is applied, input is sent to stdin as is\n\nCR: each occurrence of CR is replaced with LF\n\nThis option doesn't affect behavior of the UART driver (drivers/uart.h).", + "id": "component-config-libc-line-ending-for-console-input-home-claw-.platformio-packages-framework-espidf-components-esp_libc-Kconfig-81", + "name": "LIBC_STDIN_LINE_ENDING", + "title": "Line ending for console input", + "type": "choice" + }, + { + "children": [], + "depends_on": "LIBC_NEWLIB", + "help": "In most chips the ROM contains parts of newlib C library, including printf/scanf family\nof functions. These functions have been compiled with so-called \"nano\"\nformatting option. This option doesn't support 64-bit integer formats and C99\nfeatures, such as positional arguments.\n\nFor more details about \"nano\" formatting option, please see newlib readme file,\nsearch for '--enable-newlib-nano-formatted-io':\nhttps://sourceware.org/git/?p=newlib-cygwin.git;a=blob_plain;f=newlib/README;hb=HEAD\n\nIf this option is enabled and the ROM contains functions from newlib-nano, the build system\nwill use functions available in ROM, reducing the application binary size.\nFunctions available in ROM run faster than functions which run from flash. Functions available\nin ROM can also run when flash instruction cache is disabled.\n\nSome chips (e.g. ESP32-C6) has the full formatting versions of printf/scanf in ROM instead of\nthe nano versions and in this building with newlib nano might actually increase the size of\nthe binary. Which functions are present in ROM can be seen from ROM caps:\nESP_ROM_HAS_NEWLIB_NANO_FORMAT and ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT.\n\nIf you need 64-bit integer formatting support or C99 features, keep this\noption disabled.", + "id": "LIBC_NEWLIB_NANO_FORMAT", + "name": "LIBC_NEWLIB_NANO_FORMAT", + "range": null, + "title": "Enable 'nano' formatting options for printf/scanf family", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LIBC_TIME_SYSCALL_USE_RTC_HRT", + "name": "LIBC_TIME_SYSCALL_USE_RTC_HRT", + "range": null, + "title": "RTC and high-resolution timer", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LIBC_TIME_SYSCALL_USE_RTC", + "name": "LIBC_TIME_SYSCALL_USE_RTC", + "range": null, + "title": "RTC", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LIBC_TIME_SYSCALL_USE_HRT", + "name": "LIBC_TIME_SYSCALL_USE_HRT", + "range": null, + "title": "High-resolution timer", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LIBC_TIME_SYSCALL_USE_NONE", + "name": "LIBC_TIME_SYSCALL_USE_NONE", + "range": null, + "title": "None", + "type": "bool" + } + ], + "depends_on": null, + "help": "This setting defines which hardware timers are used to\nimplement 'gettimeofday' and 'time' functions in C library.\n\n- If both high-resolution (systimer for all targets except ESP32)\n and RTC timers are used, timekeeping will continue in deep sleep.\n Time will be reported at 1 microsecond resolution.\n This is the default, and the recommended option.\n- If only high-resolution timer (systimer) is used, gettimeofday will\n provide time at microsecond resolution.\n Time will not be preserved when going into deep sleep mode.\n- If only RTC timer is used, timekeeping will continue in\n deep sleep, but time will be measured at 6.(6) microsecond\n resolution. Also the gettimeofday function itself may take\n longer to run.\n- If no timers are used, gettimeofday and time functions\n return -1 and set errno to ENOSYS; they are defined as weak,\n so they could be overridden.\n If you want to customize gettimeofday() and other time functions,\n please choose this option and refer to the 'time.c' source file\n for the exact prototypes of these functions.\n\n- When RTC is used for timekeeping, two RTC_STORE registers are\n used to keep time in deep sleep mode.", + "id": "component-config-libc-timers-used-for-gettimeofday-function-home-claw-.platformio-packages-framework-espidf-components-esp_libc-Kconfig-133", + "name": "LIBC_TIME_SYSCALL", + "title": "Timers used for gettimeofday function", + "type": "choice" + }, + { + "children": [], + "depends_on": "ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY", + "help": "Enables performance-optimized implementations of memory and string functions\nwhen handling misaligned memory.\n\nRequire approximately 800\u20131000 bytes of IRAM.\n\nOptimized functions include:\n - memcpy\n - memset\n - memmove\n - str[n]cpy\n - str[n]cmp", + "id": "LIBC_OPTIMIZED_MISALIGNED_ACCESS", + "name": "LIBC_OPTIMIZED_MISALIGNED_ACCESS", + "range": null, + "title": "Use performance-optimized memXXX/strXXX functions on misaligned memory access", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Size of the buffer used to format assert failure messages.\n\nWhen assertions fail, the system formats a message containing the function name,\nfile name, line number, and the failed expression. This option controls the\nmaximum length of this message.\n\nIf you encounter truncated assert messages (especially with C++ templates or\nlong function names), increase this value. The default value of 200 bytes\nshould be sufficient for most cases, but complex template expressions may\nrequire larger buffers.", + "id": "LIBC_ASSERT_BUFFER_SIZE", + "name": "LIBC_ASSERT_BUFFER_SIZE", + "range": [ + 100, + 2048 + ], + "title": "Assert message buffer size", + "type": "int" + } + ], + "depends_on": null, + "id": "component-config-libc-home-claw-.platformio-packages-framework-espidf-components-esp_libc-Kconfig-1", + "title": "LibC", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "STDATOMIC_S32C1I_SPIRAM_WORKAROUND", + "name": "STDATOMIC_S32C1I_SPIRAM_WORKAROUND", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS", + "help": "Max len in bytes per C2M chunk, operations with size over the max len will be\nsliced into multiple chunks.", + "id": "ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS_MAX_LEN", + "name": "ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS_MAX_LEN", + "range": null, + "title": "Max len in bytes per C2M chunk", + "type": "hex" + } + ], + "depends_on": "SOC_CACHE_WRITEBACK_SUPPORTED", + "help": "`esp_cache_msync` C2M direction takes critical sections, which means during\nthe operation, the interrupts are disabled. Whereas Cache writebacks for\nlarge buffers could be especially time intensive, and might cause interrupts\nto be disabled for a significant amount of time.\n\nSometimes you want other ISRs to be responded during this C2M process.\nThis option is to slice one C2M operation into multiple chunks,\nwith CONFIG_ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS_MAX_LEN max len. This will give you\na breath during the C2M process as sometimes the C2M process is quite long.\n\nNote if the buffer processed by the `esp_cache_msync` (C2M sliced) is interrupted by an ISR,\nand this ISR also accesses this buffer, this may lead to data coherence issue.", + "id": "ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS", + "name": "ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS", + "range": null, + "title": "Enable esp_cache_msync C2M chunked operation", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-mm-memory-management-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_mm-Kconfig-1", + "title": "ESP-MM: Memory Management Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enable raising LOST_IP events using a timer when the IPv4 address becomes invalid.\nWhen disabled, the timer is not started and LOST_IP events are not posted.\nThe delay is configured by ESP_NETIF_IP_LOST_TIMER_INTERVAL.", + "id": "ESP_NETIF_LOST_IP_TIMER_ENABLE", + "name": "ESP_NETIF_LOST_IP_TIMER_ENABLE", + "range": null, + "title": "Enable IPv4 lost IP event timer", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "The IP address may be lost because of some reasons, e.g. when the station disconnects\nfrom soft-AP, or when DHCP IP renew fails etc. If the IP lost timer is enabled, it will\nbe started every time the IP is lost. Event SYSTEM_EVENT_STA_LOST_IP will be raised if\nthe timer expires. The IP lost timer is stopped if the station gets the IP again before\nthe timer expires. For backward compatibility, setting the interval to 0 disables the\ntimer as well.", + "id": "ESP_NETIF_IP_LOST_TIMER_INTERVAL", + "name": "ESP_NETIF_IP_LOST_TIMER_INTERVAL", + "range": [ + 0, + 65535 + ], + "title": "IP Address lost timer interval (seconds)", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "No implementation of ESP-NETIF functions is provided.\nThis option is used for adding a custom TCP/IP stack and defining related\nesp_netif functionality", + "id": "ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION", + "name": "ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION", + "range": null, + "title": "Use only ESP-NETIF headers", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_ENABLE && ", + "help": "lwIP is a small independent implementation of the TCP/IP protocol suite.", + "id": "ESP_NETIF_TCPIP_LWIP", + "name": "ESP_NETIF_TCPIP_LWIP", + "range": null, + "title": "LwIP", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Dummy implementation of esp-netif functionality which connects driver transmit\nto receive function. This option is for testing purpose only", + "id": "ESP_NETIF_LOOPBACK", + "name": "ESP_NETIF_LOOPBACK", + "range": null, + "title": "Loopback", + "type": "bool" + } + ], + "depends_on": "!ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION", + "help": "Choose the TCP/IP Stack to work, for example, LwIP, uIP, etc.", + "id": "component-config-esp-netif-adapter-tcp-ip-stack-library-home-claw-.platformio-packages-framework-espidf-components-esp_netif-Kconfig-31", + "name": "ESP_NETIF_USE_TCPIP_STACK_LIB", + "title": "TCP/IP Stack Library", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_NETIF_USES_TCPIP_WITH_BSD_API", + "name": "ESP_NETIF_USES_TCPIP_WITH_BSD_API", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable if esp_netif_transmit() and esp_netif_receive() should generate events. This can be useful\nto blink data traffic indication lights.", + "id": "ESP_NETIF_REPORT_DATA_TRAFFIC", + "name": "ESP_NETIF_REPORT_DATA_TRAFFIC", + "range": null, + "title": "Report data traffic via events", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_NETIF_RECEIVE_REPORT_ERRORS", + "name": "ESP_NETIF_RECEIVE_REPORT_ERRORS", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_NETIF_L2_TAP", + "help": "Maximum number of opened File descriptors (FD's) associated with ESP TAP device. ESP TAP FD's take up\na certain amount of memory, and allowing fewer FD's to be opened at the same time conserves memory.", + "id": "ESP_NETIF_L2_TAP_MAX_FDS", + "name": "ESP_NETIF_L2_TAP_MAX_FDS", + "range": null, + "title": "Maximum number of opened L2 TAP File descriptors", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_NETIF_L2_TAP", + "help": "Maximum number of frames queued in opened File descriptor. Once the queue is full, the newly arriving\nframes are dropped until the queue has enough room to accept incoming traffic (Tail Drop queue\nmanagement).", + "id": "ESP_NETIF_L2_TAP_RX_QUEUE_SIZE", + "name": "ESP_NETIF_L2_TAP_RX_QUEUE_SIZE", + "range": null, + "title": "Size of L2 TAP Rx queue", + "type": "int" + } + ], + "depends_on": null, + "help": "A user program can read/write link layer (L2) frames from/to ESP TAP device.\nThe ESP TAP device can be currently associated only with Ethernet physical interfaces.", + "id": "ESP_NETIF_L2_TAP", + "name": "ESP_NETIF_L2_TAP", + "range": null, + "title": "Enable netif L2 TAP support", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_NETIF_TCPIP_LWIP", + "help": "Enable LwIP IEEE 802.1D bridge support in ESP-NETIF. Note that \"Number of clients store data in netif\"\n(LWIP_NUM_NETIF_CLIENT_DATA) option needs to be properly configured to be LwIP bridge available!", + "id": "ESP_NETIF_BRIDGE_EN", + "name": "ESP_NETIF_BRIDGE_EN", + "range": null, + "title": "Enable LwIP IEEE 802.1D bridge", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable this option to use the DNS server which belongs to the selected default network interface.\nThis feature collects DNS server and netif information from LWIP core modules.\nWhenever a new default netif is selected, global DNS servers in LWIP are updated with the netif\nrelated servers.", + "id": "ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF", + "name": "ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF", + "range": null, + "title": "Enable DNS server per interface", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-netif-adapter-home-claw-.platformio-packages-framework-espidf-components-esp_netif-Kconfig-1", + "title": "ESP NETIF Adapter", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "IDF_TARGET_LINUX", + "help": "This option enables gathering host test statistics and SPI flash wear levelling simulation.", + "id": "ESP_PARTITION_ENABLE_STATS", + "name": "ESP_PARTITION_ENABLE_STATS", + "range": null, + "title": "Host test statistics enabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_LINUX", + "help": "This option controls whether the partition implementation checks\nif the flash is erased before writing to it.\nThis is necessary for SPIFFS, which expects to be able to write without erasing first.", + "id": "ESP_PARTITION_ERASE_CHECK", + "name": "ESP_PARTITION_ERASE_CHECK", + "range": null, + "title": "Check if flash is erased before writing", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-partition-api-configuration-home-claw-.platformio-packages-framework-espidf-components-esp_partition-Kconfig-1", + "title": "Partition API Configuration", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_PHY_ENABLED", + "name": "ESP_PHY_ENABLED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_PHY_ENABLED", + "help": "If this option is enabled, NVS will be initialized and calibration data will be loaded from there.\nPHY calibration will be skipped on deep sleep wakeup. If calibration data is not found, full\ncalibration will be performed and stored in NVS. Normally, only partial calibration will be performed.\nIf this option is disabled, full calibration will be performed.\n\nIf it's easy that your board calibrate bad data, choose 'n'.\nTwo cases for example, you should choose 'n':\n1.If your board is easy to be booted up with antenna disconnected.\n2.Because of your board design, each time when you do calibration, the result are too unstable.\nIf unsure, choose 'y'.", + "id": "ESP_PHY_CALIBRATION_AND_DATA_STORAGE", + "name": "ESP_PHY_CALIBRATION_AND_DATA_STORAGE", + "range": null, + "title": "Store phy calibration data in NVS", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_PHY_INIT_DATA_IN_PARTITION && ESP_PHY_ENABLED", + "help": "If enabled, PHY init data will be restored to default if\nit cannot be verified successfully to avoid endless bootloops.\n\nIf unsure, choose 'n'.", + "id": "ESP_PHY_DEFAULT_INIT_IF_INVALID", + "name": "ESP_PHY_DEFAULT_INIT_IF_INVALID", + "range": null, + "title": "Reset default PHY init data if invalid", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_PHY_MULTIPLE_INIT_DATA_BIN && ESP_PHY_INIT_DATA_IN_PARTITION && ESP_PHY_ENABLED", + "help": "If enabled, multiple phy init data bin will embedded into app bin\nIf not enabled, multiple phy init data bin will still leave alone, and need to be flashed by users.", + "id": "ESP_PHY_MULTIPLE_INIT_DATA_BIN_EMBED", + "name": "ESP_PHY_MULTIPLE_INIT_DATA_BIN_EMBED", + "range": null, + "title": "Support embedded multiple phy init data bin to app bin", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_PHY_MULTIPLE_INIT_DATA_BIN && ESP_PHY_INIT_DATA_IN_PARTITION && ESP_PHY_ENABLED", + "help": "If enabled, when an error occurs while the PHY init data is updated,\nthe program will terminate and restart.\nIf not enabled, the PHY init data will not be updated when an error occurs.", + "id": "ESP_PHY_INIT_DATA_ERROR", + "name": "ESP_PHY_INIT_DATA_ERROR", + "range": null, + "title": "Terminate operation when PHY init data error", + "type": "bool" + } + ], + "depends_on": "ESP_PHY_INIT_DATA_IN_PARTITION && ESP_PHY_INIT_DATA_IN_PARTITION && ESP_PHY_ENABLED", + "help": "If enabled, the corresponding PHY init data type can be automatically switched\naccording to the country code. China's PHY init data bin is used by default.\nCan be modified by country information in API esp_wifi_set_country().\nThe priority of switching the PHY init data type is:\n1. Country configured by API esp_wifi_set_country()\nand the parameter policy is WIFI_COUNTRY_POLICY_MANUAL.\n2. Country notified by the connected AP.\n3. Country configured by API esp_wifi_set_country()\nand the parameter policy is WIFI_COUNTRY_POLICY_AUTO.", + "id": "ESP_PHY_MULTIPLE_INIT_DATA_BIN", + "name": "ESP_PHY_MULTIPLE_INIT_DATA_BIN", + "range": null, + "title": "Support multiple PHY init data bin", + "type": "bool" + } + ], + "depends_on": "SOC_WIFI_SUPPORTED && ESP_PHY_ENABLED", + "help": "If enabled, PHY init data will be loaded from a partition.\nWhen using a custom partition table, make sure that PHY data\npartition is included (type: 'data', subtype: 'phy').\nWith default partition tables, this is done automatically.\nIf PHY init data is stored in a partition, it has to be flashed there,\notherwise runtime error will occur.\n\nIf this option is not enabled, PHY init data will be embedded\ninto the application binary.\n\nIf unsure, choose 'n'.", + "id": "ESP_PHY_INIT_DATA_IN_PARTITION", + "is_menuconfig": true, + "name": "ESP_PHY_INIT_DATA_IN_PARTITION", + "range": null, + "title": "Use a partition to store PHY init data", + "type": "menu" + }, + { + "children": [], + "depends_on": "ESP_PHY_ENABLED", + "help": "Set maximum transmit power for WiFi radio. Actual transmit power for high\ndata rates may be lower than this setting.", + "id": "ESP_PHY_MAX_WIFI_TX_POWER", + "name": "ESP_PHY_MAX_WIFI_TX_POWER", + "range": [ + 10, + 20 + ], + "title": "Max WiFi TX power (dBm)", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_PHY_ENABLED", + "help": null, + "id": "ESP_PHY_MAX_TX_POWER", + "name": "ESP_PHY_MAX_TX_POWER", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "SOC_PM_SUPPORT_MAC_BB_PD && FREERTOS_USE_TICKLESS_IDLE && ESP_PHY_ENABLED", + "help": "If enabled, the MAC and baseband of Wi-Fi and Bluetooth will be powered\ndown when PHY is disabled. Enabling this setting reduces power consumption\nby a small amount but increases RAM use by approximately 4 KB(Wi-Fi only),\n2 KB(Bluetooth only) or 5.3 KB(Wi-Fi + Bluetooth).", + "id": "ESP_PHY_MAC_BB_PD", + "name": "ESP_PHY_MAC_BB_PD", + "range": null, + "title": "Power down MAC and baseband of Wi-Fi and Bluetooth when PHY is disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_BROWNOUT_DET && ESP_PHY_ENABLED", + "help": "When brownout reset occurs, reduce PHY TX power to keep the code running.", + "id": "ESP_PHY_REDUCE_TX_POWER", + "name": "ESP_PHY_REDUCE_TX_POWER", + "range": null, + "title": "Reduce PHY TX power when brownout reset", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_WIFI_PHY_NEEDS_USB_WORKAROUND && ESP_PHY_ENABLED", + "help": "On some ESP targets, the USB PHY can interfere with WiFi thus lowering WiFi performance.\nAs a result, on those affected ESP targets, the ESP PHY library's initialization will automatically\ndisable the USB PHY to get best WiFi performance.\nThis option controls whether or not the ESP PHY library will keep the USB PHY enabled on\ninitialization.\n\nNote: This option can be disabled to increase WiFi performance. However, disabling this option will\nalso mean that the USB PHY cannot be used while WiFi is enabled.", + "id": "ESP_PHY_ENABLE_USB", + "name": "ESP_PHY_ENABLE_USB", + "range": null, + "title": "Keep the USB PHY enabled when initializing WiFi", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_PHY_ENABLED", + "help": "If enabled, you can use RF certification test APIs.", + "id": "ESP_PHY_ENABLE_CERT_TEST", + "name": "ESP_PHY_ENABLE_CERT_TEST", + "range": null, + "title": "Enable RF certification test functions", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_PHY_RF_CAL_PARTIAL", + "name": "ESP_PHY_RF_CAL_PARTIAL", + "range": null, + "title": "Calibration partial", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_PHY_RF_CAL_NONE", + "name": "ESP_PHY_RF_CAL_NONE", + "range": null, + "title": "Calibration none", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_PHY_RF_CAL_FULL", + "name": "ESP_PHY_RF_CAL_FULL", + "range": null, + "title": "Calibration full", + "type": "bool" + } + ], + "depends_on": "ESP_PHY_ENABLED", + "help": "Select PHY calibration mode. During RF initialization, the partial calibration\nmethod is used by default for RF calibration. Full calibration takes about 100ms\nmore than partial calibration. If boot duration is not critical, it is suggested\nto use the full calibration method. No calibration method is only used when the\ndevice wakes up from deep sleep.", + "id": "component-config-phy-calibration-mode-home-claw-.platformio-packages-framework-espidf-components-esp_phy-Kconfig-136", + "name": "ESP_PHY_CALIBRATION_MODE", + "title": "Calibration mode", + "type": "choice" + }, + { + "children": [], + "depends_on": "ESP_PHY_ENABLED", + "help": null, + "id": "ESP_PHY_CALIBRATION_MODE", + "name": "ESP_PHY_CALIBRATION_MODE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "SOC_PHY_IMPROVE_RX_11B && ESP_PHY_ENABLED", + "help": "This is a workaround to improve Wi-Fi receive 11b pkts for some modules using AC-DC power supply with\nhigh interference, enable this option will sacrifice Wi-Fi OFDM receive performance.\nBut to guarantee 11b receive performance serves as a bottom line in this case.", + "id": "ESP_PHY_IMPROVE_RX_11B", + "name": "ESP_PHY_IMPROVE_RX_11B", + "range": null, + "title": "Improve Wi-Fi receive 11b pkts", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_PHY_ENABLED", + "help": "Set the period of the pll track.", + "id": "ESP_PHY_PLL_TRACK_PERIOD_MS", + "name": "ESP_PHY_PLL_TRACK_PERIOD_MS", + "range": null, + "title": "Set the period of the pll track", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_PHY_ENABLED", + "help": "If enabled, there will be some logs while pll tracking", + "id": "ESP_PHY_PLL_TRACK_DEBUG", + "name": "ESP_PHY_PLL_TRACK_DEBUG", + "range": null, + "title": "Enable pll track logging", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_PHY_ENABLED", + "help": "Select to support record and query phy used time.", + "id": "ESP_PHY_RECORD_USED_TIME", + "name": "ESP_PHY_RECORD_USED_TIME", + "range": null, + "title": "Record PHY used time", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_PHY_ENABLED", + "help": "Select this option to place frequently called PHY library functions in IRAM.\nWhen this option is disabled, more than 1.1Kbytes of IRAM memory will be saved,\nbut PHY performance will be reduced. This config only affect esp32c2 now.", + "id": "ESP_PHY_IRAM_OPT", + "name": "ESP_PHY_IRAM_OPT", + "range": null, + "title": "PHY IRAM speed optimization", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_PHY_DEBUG && ESP_PHY_ENABLED", + "help": "Disable pll track. This configuration option is used for experimental.\nPLL track helps the PHY module adapt to temperature changes, ensuring stable performance.\nWhen pll enabled, the ESP PHY module will periodically track and adjust PLL parameters.", + "id": "ESP_PHY_DISABLE_PLL_TRACK", + "name": "ESP_PHY_DISABLE_PLL_TRACK", + "range": null, + "title": "Disable phy pll track(only for experimental)", + "type": "bool" + } + ], + "depends_on": "ESP_PHY_ENABLED", + "help": "Enabling this option allows different kinds of phy debugging features.", + "id": "ESP_PHY_DEBUG", + "is_menuconfig": true, + "name": "ESP_PHY_DEBUG", + "range": null, + "title": "Enable PHY Debug", + "type": "menu" + } + ], + "depends_on": null, + "id": "component-config-phy-home-claw-.platformio-packages-framework-espidf-components-esp_phy-Kconfig-1", + "title": "PHY", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "PM_SLEEP_FUNC_IN_IRAM", + "name": "PM_SLEEP_FUNC_IN_IRAM", + "range": null, + "title": "Place Power Management module functions in IRAM", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "PM_ENABLE", + "help": "If enabled, startup code configures dynamic frequency scaling.\nMax CPU frequency is set to DEFAULT_CPU_FREQ_MHZ setting,\nmin frequency is set to XTAL frequency.\nIf disabled, DFS will not be active until the application\nconfigures it using esp_pm_configure function.", + "id": "PM_DFS_INIT_AUTO", + "name": "PM_DFS_INIT_AUTO", + "range": null, + "title": "Enable dynamic frequency scaling (DFS) at startup", + "type": "bool" + }, + { + "children": [], + "depends_on": "PM_ENABLE", + "help": "If enabled, esp_pm_* functions will keep track of the amount of time\neach of the power management locks has been held, and esp_pm_dump_locks\nfunction will print this information.\nThis feature can be used to analyze which locks are preventing the chip\nfrom going into a lower power state, and see what time the chip spends\nin each power saving mode. This feature does incur some run-time\noverhead, so should typically be disabled in production builds.", + "id": "PM_PROFILING", + "name": "PM_PROFILING", + "range": null, + "title": "Enable profiling counters for PM locks", + "type": "bool" + }, + { + "children": [], + "depends_on": "PM_ENABLE", + "help": "If enabled, some GPIOs will be used to signal events such as RTOS ticks,\nfrequency switching, entry/exit from idle state. Refer to pm_trace.c\nfile for the list of GPIOs.\nThis feature is intended to be used when analyzing/debugging behavior\nof power management implementation, and should be kept disabled in\napplications.", + "id": "PM_TRACE", + "name": "PM_TRACE", + "range": null, + "title": "Enable debug tracing of PM using GPIOs", + "type": "bool" + } + ], + "depends_on": "(!FREERTOS_SMP && SOC_PM_SUPPORTED) || __DOXYGEN__", + "help": "If enabled, application is compiled with support for power management.\nThis option has run-time overhead (increased interrupt latency,\nlonger time to enter idle state), and it also reduces accuracy of\nRTOS ticks and timers used for timekeeping.\nEnable this option if application uses power management APIs.", + "id": "PM_ENABLE", + "name": "PM_ENABLE", + "range": null, + "title": "Support for power management", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_LIGHT_SLEEP_SUPPORTED", + "help": "If enabled, about 2.1KB of lightsleep related source code would be in IRAM and chip would sleep\nlonger for 310us at 160MHz CPU frequency most each time.\nThis feature is intended to be used when lower power consumption is needed\nwhile there is enough place in IRAM to place source code.", + "id": "PM_SLP_IRAM_OPT", + "name": "PM_SLP_IRAM_OPT", + "range": null, + "title": "Put lightsleep related codes in internal RAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "FREERTOS_USE_TICKLESS_IDLE", + "help": "If enabled, about 180Bytes of RTOS_IDLE related source code would be in IRAM and chip would sleep\nlonger for 20us at 160MHz CPU frequency most each time.\nThis feature is intended to be used when lower power consumption is needed\nwhile there is enough place in IRAM to place source code.", + "id": "PM_RTOS_IDLE_OPT", + "name": "PM_RTOS_IDLE_OPT", + "range": null, + "title": "Put RTOS IDLE related codes in internal RAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "FREERTOS_USE_TICKLESS_IDLE", + "help": "This feature is intended to disable all GPIO pins at automantic sleep to get a lower power mode.\nIf enabled, chips will disable all GPIO pins at automantic sleep to reduce about 200~300 uA current.\nIf you want to specifically use some pins normally as chip wakes when chip sleeps,\nyou can call 'gpio_sleep_sel_dis' to disable this feature on those pins.\nYou can also keep this feature on and call 'gpio_sleep_set_direction' and 'gpio_sleep_set_pull_mode'\nto have a different GPIO configuration at sleep.", + "id": "PM_SLP_DISABLE_GPIO", + "name": "PM_SLP_DISABLE_GPIO", + "range": null, + "title": "Disable all GPIO when chip at sleep", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "PM_SLP_DEFAULT_PARAMS_OPT", + "name": "PM_SLP_DEFAULT_PARAMS_OPT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP || (ESP32P4_SELECTS_REV_LESS_V3 && PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP)", + "help": "This option is invisible to users, and it is only used for ci testing,\nenabling it in the application will increase the sleep and wake-up time overhead", + "id": "PM_CHECK_SLEEP_RETENTION_FRAME", + "name": "PM_CHECK_SLEEP_RETENTION_FRAME", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "PM_ENABLE", + "help": "The value of this option determines the calibration interval of the RTC_FAST/SLOW clock during sleep when\npower management is enabled. When it is configured as N, the RTC_FAST/SLOW clock will be calibrated\nevery N times of lightsleep.\nDecreasing this value will increase the time the chip is in the active state, thereby increasing the\naverage power consumption of the chip.\nIncreasing this value can reduce the average power consumption, but when the external environment changes\ndrastically and the chip RTC_FAST/SLOW oscillator frequency drifts, it may cause system instability.", + "id": "PM_LIGHTSLEEP_RTC_OSC_CAL_INTERVAL", + "name": "PM_LIGHTSLEEP_RTC_OSC_CAL_INTERVAL", + "range": null, + "title": "Calibrate the RTC_FAST/SLOW clock every N times of light sleep", + "type": "int" + }, + { + "children": [], + "depends_on": "SOC_PM_SUPPORT_CPU_PD && !ESP32P4_SELECTS_REV_LESS_V3", + "help": "If enabled, the CPU will be powered down in light sleep,\nESP chips supports saving and restoring CPU's running context before and after light sleep,\nthe feature provides applications with seamless CPU powerdowned lightsleep without user awareness.\nBut this will takes up some internal memory.\nOn esp32c3 soc, enabling this option will consume 1.68 KB of internal RAM\nand will reduce sleep current consumption by about 100 uA.\nOn esp32s3 soc, enabling this option will consume 8.58 KB of internal RAM\nand will reduce sleep current consumption by about 650 uA.", + "id": "PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP", + "name": "PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP", + "range": null, + "title": "Power down CPU in light sleep", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Allocate memory for retention data only when preparing to enter light sleep.", + "id": "PM_CPU_RETENTION_DYNAMIC", + "name": "PM_CPU_RETENTION_DYNAMIC", + "range": null, + "title": "Dynamically allocate memory", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Pre-allocate all required retention memory during system initialization.", + "id": "PM_CPU_RETENTION_STATIC", + "name": "PM_CPU_RETENTION_STATIC", + "range": null, + "title": "Statically allocate memory", + "type": "bool" + } + ], + "depends_on": "SOC_PM_CPU_RETENTION_BY_SW && (PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP || (PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP && ESP32P4_SELECTS_REV_LESS_V3))", + "help": "In light sleep mode, certain CPU states and data need to be preserved in memory while cpu domain\nis powered down. This configuration determines how the required memory resources are allocated.\nThe PM_CPU_RETENTION_DYNAMIC option allows more flexible runtime memory management by\nsupporting access to larger memory. However, it carries the risk of insufficient memory\nwhen the chip enters the light-sleep mode, even resulting in retention failure.\nIn contrast, the PM_CPU_RETENTION_STATIC option ensures reliable sleep CPU retention during the\nsystem initialization, but reduces the memory available during runtime.", + "id": "component-config-power-management-retentive-memory-alloaction-strategy-for-light-sleep-home-claw-.platformio-packages-framework-espidf-components-esp_pm-Kconfig-135", + "name": null, + "title": "Retentive memory alloaction strategy for light sleep", + "type": "choice" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32S3 && PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP", + "help": "Cache tag memory and CPU both belong to the CPU power domain.\nESP chips supports saving and restoring Cache tag memory before and after sleep,\nthis feature supports accesses to the external memory that was cached before sleep still\nbe cached when the CPU wakes up from a powerdowned CPU lightsleep.\nThis option controls the restore method for Cache tag memory in lightsleep.\nIf this option is enabled, the I/D-cache tag memory will be backuped to the internal RAM\nbefore sleep and restored upon wakeup.\nDepending on the the cache configuration, if this option is enabled,\nit will consume up to 9 KB of internal RAM.\nIf this option is disabled, all cached data won't be kept after sleep,\nthe DCache will be writeback before sleep and invalid all cached data after sleep,\nall accesses to external memory(Flash/PSRAM) will be cache missed after waking up,\nresulting in performance degradation due to increased memory accesses latency.", + "id": "PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP", + "name": "PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP", + "range": null, + "title": "Restore I/D-cache tag memory after power down CPU light sleep", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_PM_SUPPORT_TOP_PD && SOC_PAU_SUPPORTED && !(IDF_TARGET_ESP32P4 && ESP_REV_MIN_FULL = 300 && SPIRAM)", + "help": "If enabled, digital peripherals will try to powered down in light sleep, then all related peripherals will\nnot be available during sleep, including wake-up sources from the peripherals (For detailed availability\ninformation, see the note of the corresponding wakeup source enable function).\nThe chip will automatically save/restore register context during sleep/wakeup to make the upper layer\nuser unaware of the peripheral powerdown during sleep. Enabling this option will increase static RAM and\nheap usage but will also significantly reduce power.\nconsumption during lightsleep, the actual memory cost depends on the peripherals you have initialized,\nfor specific power consumption data in this mode, please refer to Electrical Characteristics section\nin the chip datasheet.\n(In order to save/restore the context of the necessary hardware for FreeRTOS to run, it will need\nat least 4.55 KB free heap at sleep time. Otherwise sleep will not power down the peripherals.)\n\nNote1: Please use this option with caution, the current IDF does not support the retention of\nall peripherals. When the digital peripherals are powered off and a sleep and wake-up is completed,\nthe peripherals that have not saved the running context are equivalent to performing a reset.\n!!! Please confirm the peripherals used in your application and their sleep retention support status\nbefore enabling this option, peripherals sleep retention driver support status is tracked in\npower_management.rst\n\nNote2: When this option is enabled simultaneously with FREERTOS_USE_TICKLESS_IDLE, since the UART will\nbe powered down, the uart FIFO will be flushed before sleep to avoid data loss, however, this has the\npotential to block the sleep process and cause the wakeup time to be skipped, which will cause the tick\nof freertos to not be compensated correctly when returning from sleep and cause the system to crash.\nTo avoid this, you can increase FREERTOS_IDLE_TIME_BEFORE_SLEEP threshold in menuconfig.\n\nNote3: Enabling this option does not necessarily mean that the peripheral power domain will be\nturned down during sleep. The control priority of `esp_sleep_pd_config` is higher than this option,\nuser code can still prevent the peripheral power domain from powering down during sleep by\n`esp_sleep_pd_config(ESP_PD_DOMAIN_TOP, ESP_PD_OPTION_ON)`. In addition, whether the peripheral power\ndomain is powered down during sleep also depends on the sleep working strategy selected by the driver.\nIf any module belonging to the peripheral power domain chooses not to be powered down during sleep,\nthen the peripheral power domain will not be powered off either.", + "id": "PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP", + "name": "PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP", + "range": null, + "title": "Power down Digital Peripheral in light sleep (EXPERIMENTAL)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "PM_ESP_SLEEP_POWER_DOWN_CPU", + "name": "PM_ESP_SLEEP_POWER_DOWN_CPU", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "PM_UPDATE_CCOMPARE_HLI_WORKAROUND", + "name": "PM_UPDATE_CCOMPARE_HLI_WORKAROUND", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "FREERTOS_USE_TICKLESS_IDLE", + "help": "If enabled, it allows user to register entry and exit callbacks which are called before and after\nentering auto light sleep.\n\nNOTE: These callbacks are executed from the IDLE task context hence you cannot have any blocking calls\nin your callbacks.\n\nNOTE: Enabling these callbacks may change sleep duration calculations based on time spent in callback and\nhence it is highly recommended to keep them as short as possible", + "id": "PM_LIGHT_SLEEP_CALLBACKS", + "name": "PM_LIGHT_SLEEP_CALLBACKS", + "range": null, + "title": "Enable registration of pm light sleep callbacks", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "PM_LIGHTSLEEP_TICK_OVERFLOW_PROTECTION", + "help": "Maximum number of ticks that can be overslept before triggering.\nWhen oversleep is within this tolerance, the system silently limits slept_ticks to\nprevent assertion failure. When oversleep exceeds this tolerance, assertion failure\nmay occur and system may crash.\n\nHigher values provide more tolerance for estimation variance but may hide real issues\nand cause more tick loss, leading to greater RTOS tick time inaccuracy compared to real time.\nLower values provide better RTOS tick accuracy but may cause false positives.", + "id": "PM_LIGHTSLEEP_TICK_OVERFLOW_TOLERANCE", + "name": "PM_LIGHTSLEEP_TICK_OVERFLOW_TOLERANCE", + "range": null, + "title": "Light sleep tick overflow tolerance", + "type": "int" + } + ], + "depends_on": "FREERTOS_USE_TICKLESS_IDLE", + "help": "Limits tick compensation after light sleep wakeup to prevent vTaskStepTick() assertion\nfailure when actual wakeup overhead exceeds estimation (due to cache misses, CPU\nfrequency changes, or flash latency variations).\n\nWhen enabled:\n - Silently limits slept_ticks to xExpectedIdleTime when oversleep is within tolerance\n (configured by PM_LIGHTSLEEP_TICK_OVERFLOW_TOLERANCE), preventing assertion failure\n - Does not limit when oversleep exceeds tolerance (may indicate a bug), assertion failure may occur\n - May lose ticks in rare cases, causing xTickCount to lag behind esp_timer\n\nWhen disabled (default):\n - Accurate tick compensation, better precision\n - May trigger assertion failure and system crash if overslept\n\nKeep disabled by default to maintain RTOS tick accuracy. Enable only when you experience\nassertion failures related to vTaskStepTick() and can accept slight inaccuracy of RTOS\ntick time compared to real time.", + "id": "PM_LIGHTSLEEP_TICK_OVERFLOW_PROTECTION", + "name": "PM_LIGHTSLEEP_TICK_OVERFLOW_PROTECTION", + "range": null, + "title": "Enable light sleep tick overflow protection", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Workaround for frequency limit during encrypted flash writes.\nOnly enabled when SPI_FLASH_FREQ_LIMIT_C5_240MHZ is enabled.\nThis is an internal configuration, automatically set based on SPI Flash configuration.", + "id": "PM_WORKAROUND_FREQ_LIMIT_ENABLED", + "name": "PM_WORKAROUND_FREQ_LIMIT_ENABLED", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-power-management-home-claw-.platformio-packages-framework-espidf-components-esp_pm-Kconfig-1", + "title": "Power Management", + "type": "menu" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "id": "component-config-esp-psram-home-claw-.platformio-packages-framework-espidf-components-esp_psram-Kconfig-1", + "title": "ESP PSRAM", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Place ring buffer functions in IRAM for better performance.\nBy default, ring buffer functions are placed in Flash to save IRAM.\nEnable this option if you need maximum performance for ring buffer operations.\n\nNote: This option increases IRAM usage.", + "id": "RINGBUF_IN_IRAM", + "name": "RINGBUF_IN_IRAM", + "range": null, + "title": "Place ring buffer functions in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "!RINGBUF_IN_IRAM", + "help": "Place ISR ringbuf functions (like xRingbufferSendFromISR/xRingbufferReceiveFromISR) into flash.\nThis frees up IRAM, but the functions can no longer be called when the cache is disabled\nor from an IRAM interrupt context.\n\nThis option is not compatible with ESP-IDF drivers which are configured to\nrun the ISR from an IRAM context, e.g. CONFIG_UART_ISR_IN_IRAM.", + "id": "RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH", + "name": "RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH", + "range": null, + "title": "Place ISR ringbuf functions into flash", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-ringbuf-home-claw-.platformio-packages-framework-espidf-components-esp_ringbuf-Kconfig-1", + "title": "ESP Ringbuf", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_ROM_PRINT_IN_IRAM", + "name": "ESP_ROM_PRINT_IN_IRAM", + "range": null, + "title": "Place print functions in IRAM", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-rom-home-claw-.platformio-packages-framework-espidf-components-esp_rom-Kconfig-1", + "title": "ESP-ROM", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW", + "name": "ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW", + "range": null, + "title": "Security level low", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM", + "name": "ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM", + "range": null, + "title": "Security level medium", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH", + "name": "ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH", + "range": null, + "title": "Security level high", + "type": "bool" + } + ], + "depends_on": "ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP && SOC_CRYPTO_DPA_PROTECTION_SUPPORTED", + "help": "Configure the DPA protection security level", + "id": "component-config-esp-security-specific-crypto-dpa-protection-enable-crypto-dpa-protection-at-startup-dpa-protection-level-home-claw-.platformio-packages-framework-espidf-components-esp_security-Kconfig-16", + "name": "ESP_CRYPTO_DPA_PROTECTION_LEVEL", + "title": "DPA protection level", + "type": "choice" + } + ], + "depends_on": "SOC_CRYPTO_DPA_PROTECTION_SUPPORTED", + "help": "This config controls the DPA (Differential Power Analysis) protection\nknob for the crypto peripherals. DPA protection dynamically adjusts\nclock frequency of the crypto peripheral. DPA protection helps to make it\ndifficult to perform SCA attacks on the crypto peripherals. However,\nthere is also associated performance impact based on the security level\nset. Please refer to the TRM for more details.", + "id": "ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP", + "name": "ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP", + "range": null, + "title": "Enable crypto DPA protection at startup", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_CRYPTO_DPA_PROTECTION_SUPPORTED", + "help": null, + "id": "ESP_CRYPTO_DPA_PROTECTION_LEVEL", + "name": "ESP_CRYPTO_DPA_PROTECTION_LEVEL", + "range": null, + "title": null, + "type": "int" + } + ], + "depends_on": "SOC_CRYPTO_DPA_PROTECTION_SUPPORTED", + "id": "component-config-esp-security-specific-crypto-dpa-protection-home-claw-.platformio-packages-framework-espidf-components-esp_security-Kconfig-3", + "title": "Crypto DPA Protection", + "type": "menu" + }, + { + "children": [], + "depends_on": "SOC_ECC_CONSTANT_TIME_POINT_MUL", + "help": "If enabled, the app startup code will burn the ECC_FORCE_CONST_TIME efuse bit to force the\nECC peripheral to always perform constant time point multiplication operations,\nirrespective of the ECC_MULT_SECURITY_MODE status bit that is present in the ECC_MULT_CONF_REG\nregister. By default, ESP-IDF configures the ECC peripheral to perform constant time point\nmultiplication operations, so enabling this config would provide security enhancement only in\nthe cases when trusted boot is not enabled and the attacker tries carrying out non-constant\ntime point multiplication operations by changing the default ESP-IDF configurations.\nPerforming constant time operations protect the ECC multiplication operations from timing attacks.\n\nFor targets that support Secure Boot using ECDSA-P384, the write-protection bit of the efuse\nbit could be shared by multiple other efuse bits and can be programmed by the application when\nSecure Boot is enabled.\nThus, you could select CONFIG_SECURE_BOOT_SKIP_WRITE_PROTECTION_SCA, in case you would like\nto skip the write-protection of the efuse bit.", + "id": "ESP_CRYPTO_FORCE_ECC_CONSTANT_TIME_POINT_MUL", + "name": "ESP_CRYPTO_FORCE_ECC_CONSTANT_TIME_POINT_MUL", + "range": null, + "title": "Forcefully enable ECC constant time point multiplication operations", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_ECDSA_P192_CURVE_DEFAULT_DISABLED", + "help": "By default, only the 256-bit curve operations are allowed. If this configuration is enabled,\nit will set the eFuse to allow ECDSA operations using both the 192-bit and 256-bit curves.", + "id": "ESP_ECDSA_ENABLE_P192_CURVE", + "name": "ESP_ECDSA_ENABLE_P192_CURVE", + "range": null, + "title": "Enable ECDSA 192-curve operations", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-security-specific-home-claw-.platformio-packages-framework-espidf-components-esp_security-Kconfig-1", + "title": "ESP Security Specific", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_CONSOLE_UART_DEFAULT", + "name": "ESP_CONSOLE_UART_DEFAULT", + "range": null, + "title": "Default: UART0", + "type": "bool" + }, + { + "children": [], + "depends_on": "(IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3) && !TINY_USB && ", + "help": null, + "id": "ESP_CONSOLE_USB_CDC", + "name": "ESP_CONSOLE_USB_CDC", + "range": null, + "title": "USB CDC", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_USB_SERIAL_JTAG_SUPPORTED && ", + "help": null, + "id": "ESP_CONSOLE_USB_SERIAL_JTAG", + "name": "ESP_CONSOLE_USB_SERIAL_JTAG", + "range": null, + "title": "USB Serial/JTAG Controller", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_CONSOLE_UART_CUSTOM", + "name": "ESP_CONSOLE_UART_CUSTOM", + "range": null, + "title": "Custom UART", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_CONSOLE_NONE", + "name": "ESP_CONSOLE_NONE", + "range": null, + "title": "None", + "type": "bool" + } + ], + "depends_on": null, + "help": "Select where to send console output (through stdout and stderr).\n\n- Default is to use UART0 on pre-defined GPIOs.\n- If \"Custom\" is selected, UART0 or UART1 can be chosen,\n and any pins can be selected.\n- If \"None\" is selected, there will be no console output on any UART, except\n for initial output from ROM bootloader. This ROM output can be suppressed by\n GPIO strapping or EFUSE, refer to chip datasheet for details.\n- On chips with USB OTG peripheral, \"USB CDC\" option redirects output to the\n CDC port. This option uses the CDC driver in the chip ROM.\n This option is incompatible with TinyUSB stack.\n- On chips with an USB serial/JTAG debug controller, selecting the option\n for that redirects output to the CDC/ACM (serial port emulation) component\n of that device.", + "id": "component-config-esp-stdio-channel-for-console-output-home-claw-.platformio-packages-framework-espidf-components-esp_stdio-Kconfig-2", + "name": "ESP_CONSOLE_UART", + "title": "Channel for console output", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_CONSOLE_SECONDARY_NONE", + "name": "ESP_CONSOLE_SECONDARY_NONE", + "range": null, + "title": "No secondary console", + "type": "bool" + }, + { + "children": [], + "depends_on": "!ESP_CONSOLE_USB_SERIAL_JTAG && ", + "help": "This option supports output through USB_SERIAL_JTAG port when the UART0 port is not connected.\nThe output currently only supports non-blocking mode without using the console.\nIf you want to output in blocking mode with REPL or input through USB_SERIAL_JTAG port,\nplease change the primary config to ESP_CONSOLE_USB_SERIAL_JTAG above.", + "id": "ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG", + "name": "ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG", + "range": null, + "title": "USB_SERIAL_JTAG PORT", + "type": "bool" + } + ], + "depends_on": "SOC_USB_SERIAL_JTAG_SUPPORTED", + "help": "This secondary option supports output through other specific port like USB_SERIAL_JTAG\nwhen UART0 port as a primary is selected but not connected. This secondary output currently only supports\nnon-blocking mode without using REPL. If you want to output in blocking mode with REPL or\ninput through this secondary port, please change the primary config to this port\nin `Channel for console output` menu.", + "id": "component-config-esp-stdio-channel-for-console-secondary-output-home-claw-.platformio-packages-framework-espidf-components-esp_stdio-Kconfig-35", + "name": "ESP_CONSOLE_SECONDARY", + "title": "Channel for console secondary output", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED", + "name": "ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_CONSOLE_UART", + "name": "ESP_CONSOLE_UART", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_CONSOLE_UART_CUSTOM_NUM_0", + "name": "ESP_CONSOLE_UART_CUSTOM_NUM_0", + "range": null, + "title": "UART0", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_CONSOLE_UART_CUSTOM_NUM_1", + "name": "ESP_CONSOLE_UART_CUSTOM_NUM_1", + "range": null, + "title": "UART1", + "type": "bool" + } + ], + "depends_on": "ESP_CONSOLE_UART_CUSTOM", + "help": "This UART peripheral is used for console output from the ESP-IDF Bootloader and the app.\n\nIf the configuration is different in the Bootloader binary compared to the app binary, UART\nis reconfigured after the bootloader exits and the app starts.\n\nDue to an ESP32 ROM bug, UART2 is not supported for console output\nvia esp_rom_printf.", + "id": "component-config-esp-stdio-uart-peripheral-to-use-for-console-output-0-1--home-claw-.platformio-packages-framework-espidf-components-esp_stdio-Kconfig-68", + "name": "ESP_CONSOLE_UART_NUM", + "title": "UART peripheral to use for console output (0-1)", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_CONSOLE_UART_NUM", + "name": "ESP_CONSOLE_UART_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_CONSOLE_ROM_SERIAL_PORT_NUM", + "name": "ESP_CONSOLE_ROM_SERIAL_PORT_NUM", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_CONSOLE_UART_CUSTOM", + "help": "This GPIO is used for console UART TX output in the ESP-IDF Bootloader and the app (including\nboot log output and default standard output and standard error of the app). Value -1 means to\ncontinue using the default console UART TX pin.\n\nIf the configuration is different in the Bootloader binary compared to the app binary, UART\nis reconfigured after the bootloader exits and the app starts.", + "id": "ESP_CONSOLE_UART_TX_GPIO", + "name": "ESP_CONSOLE_UART_TX_GPIO", + "range": null, + "title": "UART TX on GPIO", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_CONSOLE_UART_CUSTOM", + "help": "This GPIO is used for console UART RX input in the ESP-IDF Bootloader and the app (including\ndefault standard input of the app). Value -1 means to continue using the default console UART\nRX pin.\n\nNote: The default ESP-IDF Bootloader configures this pin but doesn't read anything from the UART.\n\nIf the configuration is different in the Bootloader binary compared to the app binary, UART\nis reconfigured after the bootloader exits and the app starts.", + "id": "ESP_CONSOLE_UART_RX_GPIO", + "name": "ESP_CONSOLE_UART_RX_GPIO", + "range": null, + "title": "UART RX on GPIO", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_CONSOLE_UART", + "help": "This baud rate is used by both the ESP-IDF Bootloader and the app (including\nboot log output and default standard input/output/error of the app).\n\nThe app's maximum baud rate depends on the UART clock source. If Power Management is disabled,\nthe UART clock source is the APB clock and all baud rates in the available range will be sufficiently\naccurate. If Power Management is enabled, REF_TICK clock source is used so the baud rate is divided\nfrom 1MHz. Baud rates above 1Mbps are not possible and values between 500Kbps and 1Mbps may not be\naccurate.\n\nIf the configuration is different in the Bootloader binary compared to the app binary, UART\nis reconfigured after the bootloader exits and the app starts.", + "id": "ESP_CONSOLE_UART_BAUDRATE", + "name": "ESP_CONSOLE_UART_BAUDRATE", + "range": [ + 1200, + 4000000 + ], + "title": "UART console baud rate", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_CONSOLE_USB_CDC", + "help": "Set the size of USB CDC RX buffer. Increase the buffer size if your application\nis often receiving data over USB CDC.", + "id": "ESP_CONSOLE_USB_CDC_RX_BUF_SIZE", + "name": "ESP_CONSOLE_USB_CDC_RX_BUF_SIZE", + "range": null, + "title": "Size of USB CDC RX buffer", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_CONSOLE_USB_CDC", + "help": "If enabled, esp_rom_printf and ESP_EARLY_LOG output will also be sent over USB CDC.\nDisabling this option saves about 1kB or RAM.", + "id": "ESP_CONSOLE_USB_CDC_SUPPORT_ETS_PRINTF", + "name": "ESP_CONSOLE_USB_CDC_SUPPORT_ETS_PRINTF", + "range": null, + "title": "Enable esp_rom_printf / ESP_EARLY_LOG via USB CDC", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-stdio-home-claw-.platformio-packages-framework-espidf-components-esp_stdio-Kconfig-1", + "title": "ESP-STDIO", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "IDF_ENV_FPGA && ", + "help": null, + "id": "ESP_DEFAULT_CPU_FREQ_MHZ_40", + "name": "ESP_DEFAULT_CPU_FREQ_MHZ_40", + "range": null, + "title": "40 MHz", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_DEFAULT_CPU_FREQ_MHZ_80", + "name": "ESP_DEFAULT_CPU_FREQ_MHZ_80", + "range": null, + "title": "80 MHz", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_DEFAULT_CPU_FREQ_MHZ_120", + "name": "ESP_DEFAULT_CPU_FREQ_MHZ_120", + "range": null, + "title": "120 MHz", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_DEFAULT_CPU_FREQ_MHZ_160", + "name": "ESP_DEFAULT_CPU_FREQ_MHZ_160", + "range": null, + "title": "160 MHz", + "type": "bool" + } + ], + "depends_on": null, + "help": "CPU frequency to be set on application startup.", + "id": "component-config-esp-system-settings-cpu-frequency-home-claw-.platformio-packages-framework-espidf-components-esp_system-.-port-soc-esp32c6-Kconfig.cpu-1", + "name": "ESP_DEFAULT_CPU_FREQ_MHZ", + "title": "CPU frequency", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_DEFAULT_CPU_FREQ_MHZ", + "name": "ESP_DEFAULT_CPU_FREQ_MHZ", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "The following system functions will be placed in IRAM if this option is enabled:\n- system startup\n- system time\n- system error\n- system restart\n- system crosscore\n- system debug\n- system APB backup DMA lock\n- system application tick hook\n- Unified Behavior Sanitizer (UBSAN) hook\n- Interrupt watchdog handler\n- XTAL32K watchdog timer\n- IPC and IPC ISR", + "id": "ESP_SYSTEM_IN_IRAM", + "name": "ESP_SYSTEM_IN_IRAM", + "range": null, + "title": "Place system functions in IRAM", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "!ESP_SYSTEM_GDBSTUB_RUNTIME && ", + "help": "Outputs the relevant registers over the serial port and halt the\nprocessor. Needs a manual reset to restart.", + "id": "ESP_SYSTEM_PANIC_PRINT_HALT", + "name": "ESP_SYSTEM_PANIC_PRINT_HALT", + "range": null, + "title": "Print registers and halt", + "type": "bool" + }, + { + "children": [], + "depends_on": "!ESP_SYSTEM_GDBSTUB_RUNTIME && ", + "help": "Outputs the relevant registers over the serial port and immediately\nreset the processor.", + "id": "ESP_SYSTEM_PANIC_PRINT_REBOOT", + "name": "ESP_SYSTEM_PANIC_PRINT_REBOOT", + "range": null, + "title": "Print registers and reboot", + "type": "bool" + }, + { + "children": [], + "depends_on": "!ESP_SYSTEM_GDBSTUB_RUNTIME && ", + "help": "Just resets the processor without outputting anything", + "id": "ESP_SYSTEM_PANIC_SILENT_REBOOT", + "name": "ESP_SYSTEM_PANIC_SILENT_REBOOT", + "range": null, + "title": "Silent reboot", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_GDBSTUB_ENABLED && ", + "help": "Invoke gdbstub on the serial port, allowing for gdb to attach to it to do a postmortem\nof the crash.", + "id": "ESP_SYSTEM_PANIC_GDBSTUB", + "name": "ESP_SYSTEM_PANIC_GDBSTUB", + "range": null, + "title": "GDBStub on panic", + "type": "bool" + } + ], + "depends_on": null, + "help": "If FreeRTOS detects unexpected behaviour or an unhandled exception, the panic handler is\ninvoked. Configure the panic handler's action here.", + "id": "component-config-esp-system-settings-panic-handler-behaviour-home-claw-.platformio-packages-framework-espidf-components-esp_system-Kconfig-30", + "name": "ESP_SYSTEM_PANIC", + "title": "Panic handler behaviour", + "type": "choice" + }, + { + "children": [], + "depends_on": "ESP_SYSTEM_PANIC_PRINT_REBOOT", + "help": "After the panic handler executes, you can specify a number of seconds to\nwait before the device reboots.", + "id": "ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS", + "name": "ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS", + "range": [ + 0, + 99 + ], + "title": "Panic reboot delay (Seconds)", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Only initialize and use the main core.", + "id": "ESP_SYSTEM_SINGLE_CORE_MODE", + "name": "ESP_SYSTEM_SINGLE_CORE_MODE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_SYSTEM_RTC_EXT_XTAL", + "name": "ESP_SYSTEM_RTC_EXT_XTAL", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_SYSTEM_RTC_EXT_OSC", + "name": "ESP_SYSTEM_RTC_EXT_OSC", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_SYSTEM_RTC_EXT_XTAL", + "help": "To reduce the startup time of an external RTC crystal,\nwe bootstrap it with a 32kHz square wave for a fixed number of cycles.\nSetting 0 will disable bootstrapping (if disabled, the crystal may take\nlonger to start up or fail to oscillate under some conditions).\n\nIf this value is too high, a faulty crystal may initially start and then fail.\nIf this value is too low, an otherwise good crystal may not start.\n\nTo accurately determine if the crystal has started,\nset a larger \"Number of cycles for RTC_SLOW_CLK calibration\" (about 3000).", + "id": "ESP_SYSTEM_RTC_EXT_XTAL_BOOTSTRAP_CYCLES", + "name": "ESP_SYSTEM_RTC_EXT_XTAL_BOOTSTRAP_CYCLES", + "range": null, + "title": "Bootstrap cycles for external 32kHz crystal", + "type": "int" + }, + { + "children": [], + "depends_on": "SOC_RTC_FAST_MEM_SUPPORTED", + "help": null, + "id": "ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK", + "name": "ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK", + "help": "This config option allows to add RTC fast memory region to system heap with capability\nsimilar to that of DRAM region but without DMA. Speed wise RTC fast memory operates on\nAPB clock and hence does not have much performance impact.", + "id": "ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP", + "name": "ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP", + "range": null, + "title": "Enable RTC fast memory for dynamic allocations", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "When selected, no backtracing will be performed at runtime. By using idf.py monitor, it\nis still possible to get a backtrace when a panic occurs.", + "id": "ESP_SYSTEM_NO_BACKTRACE", + "name": "ESP_SYSTEM_NO_BACKTRACE", + "range": null, + "title": "No backtracing", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Generate DWARF information for each function of the project. These information will parsed and used to\nperform backtracing when panics occur. Activating this option will activate asynchronous frame\nunwinding and generation of both .eh_frame and .eh_frame_hdr sections, resulting in a bigger binary\nsize (20% to 100% larger). The main purpose of this option is to be able to have a backtrace parsed\nand printed by the program itself, regardless of the serial monitor used.\nThis option is not recommended to be used for production.", + "id": "ESP_SYSTEM_USE_EH_FRAME", + "name": "ESP_SYSTEM_USE_EH_FRAME", + "range": null, + "title": "Generate and use eh_frame for backtracing", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "This configuration allows the compiler to allocate CPU register s0 as the frame pointer. The main usage\nof the frame pointer is to be able to generate a backtrace from the panic handler on exception.\nEnabling this option results in bigger and slightly slower code since all functions will have\nto populate this register and won't be able to use it as a general-purpose register anymore.", + "id": "ESP_SYSTEM_USE_FRAME_POINTER", + "name": "ESP_SYSTEM_USE_FRAME_POINTER", + "range": null, + "title": "Use CPU Frame Pointer register", + "type": "bool" + } + ], + "depends_on": "IDF_TARGET_ARCH_RISCV", + "help": "Configure how backtracing will be performed at runtime when a panic occurs.", + "id": "component-config-esp-system-settings-backtracing-method-home-claw-.platformio-packages-framework-espidf-components-esp_system-Kconfig-126", + "name": "ESP_BACKTRACING_METHOD", + "title": "Backtracing method", + "type": "choice" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "SOC_MEMPROT_SUPPORTED && ", + "help": "This option enables memory protection using the Permission Control Module (PMS).", + "id": "ESP_SYSTEM_MEMPROT_PMS", + "name": "ESP_SYSTEM_MEMPROT_PMS", + "range": null, + "title": "Enable Permission Control Module (PMS) configurations", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_CPU_IDRAM_SPLIT_USING_PMP && !SECURE_ENABLE_TEE && ", + "help": "This option enables memory protection using CPU PMP.", + "id": "ESP_SYSTEM_MEMPROT_PMP", + "name": "ESP_SYSTEM_MEMPROT_PMP", + "range": null, + "title": "Enable CPU's Physical Memory Protection (PMP) configurations", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_ENABLE_TEE && ", + "help": "This option enables the default memory protection provided by TEE.", + "id": "ESP_SYSTEM_MEMPROT_TEE", + "name": "ESP_SYSTEM_MEMPROT_TEE", + "range": null, + "title": "Enable Trusted Execution Environment (TEE) configurations", + "type": "bool" + } + ], + "depends_on": "ESP_SYSTEM_MEMPROT", + "help": null, + "id": "component-config-esp-system-settings-enable-memory-protection-memory-protection-configurations-home-claw-.platformio-packages-framework-espidf-components-esp_system-Kconfig-173", + "name": "ESP_SYSTEM_MEMPROT_MODE", + "title": "Memory Protection configurations", + "type": "choice" + }, + { + "children": [], + "depends_on": "ESP_SYSTEM_MEMPROT && ESP_SYSTEM_MEMPROT_PMS", + "help": "Once locked, memory protection settings cannot be changed anymore.\nThe lock is reset only on the chip startup.", + "id": "ESP_SYSTEM_MEMPROT_PMS_LOCK", + "name": "ESP_SYSTEM_MEMPROT_PMS_LOCK", + "range": null, + "title": "Lock memory protection settings", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_SYSTEM_MEMPROT && IDF_TARGET_ARCH_RISCV && SOC_LP_CORE_SUPPORTED && ESP_SYSTEM_MEMPROT_PMP", + "help": "If enabled, user can run code available in LP Core image.\n\nWarning: on ESP32-P4 this will also mark the memory area used for BOOTLOADER_RESERVE_RTC_MEM\nas executable. If you consider this a security risk then do not activate this option.", + "id": "ESP_SYSTEM_MEMPROT_PMP_LP_CORE_RESERVE_MEM_EXEC", + "name": "ESP_SYSTEM_MEMPROT_PMP_LP_CORE_RESERVE_MEM_EXEC", + "range": null, + "title": "Make LP core reserved memory executable from HP core", + "type": "bool" + } + ], + "depends_on": "SOC_CPU_IDRAM_SPLIT_USING_PMP || SECURE_ENABLE_TEE || SOC_MEMPROT_SUPPORTED", + "help": "This option enables memory protection for the valid memory regions.\nThis feature also automatically splits the ROM, RAM and flash memory into data and\ninstruction segments and sets Read/Execute permissions for the instruction part\n(below given splitting address) and Read/Write permissions for the data part\n(above the splitting address). The memory protection is effective on all access\nthrough the IRAM0 and DRAM0 buses.\n\nNote: allocating memory with MALLOC_CAP_EXEC capability is not possible when this config is enabled.", + "id": "ESP_SYSTEM_MEMPROT", + "name": "ESP_SYSTEM_MEMPROT", + "range": null, + "title": "Enable memory protection", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Config system event queue size in different application.", + "id": "ESP_SYSTEM_EVENT_QUEUE_SIZE", + "name": "ESP_SYSTEM_EVENT_QUEUE_SIZE", + "range": null, + "title": "System event queue size", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Config system event task stack size in different application.", + "id": "ESP_SYSTEM_EVENT_TASK_STACK_SIZE", + "name": "ESP_SYSTEM_EVENT_TASK_STACK_SIZE", + "range": null, + "title": "Event loop task stack size", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Configure the \"main task\" stack size. This is the stack of the task\nwhich calls app_main(). If app_main() returns then this task is deleted\nand its stack memory is freed.", + "id": "ESP_MAIN_TASK_STACK_SIZE", + "name": "ESP_MAIN_TASK_STACK_SIZE", + "range": null, + "title": "Main task stack size", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_MAIN_TASK_AFFINITY_CPU0", + "name": "ESP_MAIN_TASK_AFFINITY_CPU0", + "range": null, + "title": "CPU0", + "type": "bool" + }, + { + "children": [], + "depends_on": "!FREERTOS_UNICORE && ", + "help": null, + "id": "ESP_MAIN_TASK_AFFINITY_CPU1", + "name": "ESP_MAIN_TASK_AFFINITY_CPU1", + "range": null, + "title": "CPU1", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_MAIN_TASK_AFFINITY_NO_AFFINITY", + "name": "ESP_MAIN_TASK_AFFINITY_NO_AFFINITY", + "range": null, + "title": "No affinity", + "type": "bool" + } + ], + "depends_on": null, + "help": "Configure the \"main task\" core affinity. This is the used core of the task\nwhich calls app_main(). If app_main() returns then this task is deleted.", + "id": "component-config-esp-system-settings-main-task-core-affinity-home-claw-.platformio-packages-framework-espidf-components-esp_system-Kconfig-240", + "name": "ESP_MAIN_TASK_AFFINITY", + "title": "Main task core affinity", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_MAIN_TASK_AFFINITY", + "name": "ESP_MAIN_TASK_AFFINITY", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [], + "depends_on": null, + "help": "Minimal value of size, in bytes, accepted to execute a expression\nwith shared stack.", + "id": "ESP_MINIMAL_SHARED_STACK_SIZE", + "name": "ESP_MINIMAL_SHARED_STACK_SIZE", + "range": null, + "title": "Minimal allowed size for shared stack", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_INT_WDT", + "help": "The timeout of the watchdog, in milliseconds. Make this higher than the FreeRTOS tick rate.", + "id": "ESP_INT_WDT_TIMEOUT_MS", + "name": "ESP_INT_WDT_TIMEOUT_MS", + "range": [ + 10, + 10000 + ], + "title": "Interrupt watchdog timeout (ms)", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_INT_WDT && !FREERTOS_UNICORE", + "help": "Also detect if interrupts on CPU 1 are disabled for too long.", + "id": "ESP_INT_WDT_CHECK_CPU1", + "name": "ESP_INT_WDT_CHECK_CPU1", + "range": null, + "title": "Also watch CPU1 tick interrupt", + "type": "bool" + } + ], + "depends_on": null, + "help": "This watchdog timer can detect if the FreeRTOS tick interrupt has not been called for a certain time,\neither because a task turned off interrupts and did not turn them on for a long time, or because an\ninterrupt handler did not return. It will try to invoke the panic handler first and failing that\nreset the SoC.", + "id": "ESP_INT_WDT", + "name": "ESP_INT_WDT", + "range": null, + "title": "Interrupt watchdog", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_TASK_WDT_EN", + "help": null, + "id": "ESP_TASK_WDT_USE_ESP_TIMER", + "name": "ESP_TASK_WDT_USE_ESP_TIMER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_TASK_WDT_INIT", + "help": "If this option is enabled, the Task Watchdog Timer will be configured to\ntrigger the panic handler when it times out. This can also be configured\nat run time (see Task Watchdog Timer API Reference)", + "id": "ESP_TASK_WDT_PANIC", + "name": "ESP_TASK_WDT_PANIC", + "range": null, + "title": "Invoke panic handler on Task Watchdog timeout", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_TASK_WDT_INIT", + "help": "Timeout period configuration for the Task Watchdog Timer in seconds.\nThis is also configurable at run time (see Task Watchdog Timer API Reference)", + "id": "ESP_TASK_WDT_TIMEOUT_S", + "name": "ESP_TASK_WDT_TIMEOUT_S", + "range": [ + 1, + 60 + ], + "title": "Task Watchdog timeout period (seconds)", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_TASK_WDT_INIT", + "help": "If this option is enabled, the Task Watchdog Timer will watch the CPU0\nIdle Task. Having the Task Watchdog watch the Idle Task allows for detection\nof CPU starvation as the Idle Task not being called is usually a symptom of\nCPU starvation. Starvation of the Idle Task is detrimental as FreeRTOS household\ntasks depend on the Idle Task getting some runtime every now and then.", + "id": "ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0", + "name": "ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0", + "range": null, + "title": "Watch CPU0 Idle Task", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_TASK_WDT_INIT && !FREERTOS_UNICORE", + "help": "If this option is enabled, the Task Watchdog Timer will wach the CPU1\nIdle Task.", + "id": "ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1", + "name": "ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1", + "range": null, + "title": "Watch CPU1 Idle Task", + "type": "bool" + } + ], + "depends_on": "ESP_TASK_WDT_EN", + "help": "Enabling this option will cause the Task Watchdog Timer to be initialized\nautomatically at startup.", + "id": "ESP_TASK_WDT_INIT", + "name": "ESP_TASK_WDT_INIT", + "range": null, + "title": "Initialize Task Watchdog Timer on startup", + "type": "bool" + } + ], + "depends_on": null, + "help": "The Task Watchdog Timer can be used to make sure individual tasks are still\nrunning. Enabling this option will enable the Task Watchdog Timer. It can be\neither initialized automatically at startup or initialized after startup\n(see Task Watchdog Timer API Reference)", + "id": "ESP_TASK_WDT_EN", + "name": "ESP_TASK_WDT_EN", + "range": null, + "title": "Enable Task Watchdog Timer", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_XT_WDT", + "help": "Timeout period configuration for the XTAL32K watchdog timer based on RTC_CLK.", + "id": "ESP_XT_WDT_TIMEOUT", + "name": "ESP_XT_WDT_TIMEOUT", + "range": null, + "title": "XTAL32K watchdog timeout period", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_XT_WDT", + "help": "Enable this to automatically switch to BACKUP32K_CLK as the source of RTC_SLOW_CLK when\nthe watchdog timer expires.", + "id": "ESP_XT_WDT_BACKUP_CLK_ENABLE", + "name": "ESP_XT_WDT_BACKUP_CLK_ENABLE", + "range": null, + "title": "Automatically switch to BACKUP32K_CLK when timer expires", + "type": "bool" + } + ], + "depends_on": "SOC_XT_WDT_SUPPORTED && (ESP_SYSTEM_RTC_EXT_OSC || ESP_SYSTEM_RTC_EXT_XTAL)", + "help": "This watchdog timer can detect oscillation failure of the XTAL32K_CLK. When such a failure\nis detected the hardware can be set up to automatically switch to BACKUP32K_CLK and generate\nan interrupt.", + "id": "ESP_XT_WDT", + "name": "ESP_XT_WDT", + "range": null, + "title": "Initialize XTAL32K watchdog timer on startup", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If this option is disabled (default), the panic handler code is placed in flash not IRAM.\nThis means that if ESP-IDF crashes while flash cache is disabled, the panic handler will\nautomatically re-enable flash cache before running GDB Stub or Core Dump. This adds some minor\nrisk, if the flash cache status is also corrupted during the crash.\n\nIf this option is enabled, the panic handler code (including required UART functions) is placed\nin IRAM. This may be necessary to debug some complex issues with crashes while flash cache is\ndisabled (for example, when writing to SPI flash) or when flash cache is corrupted when an exception\nis triggered.", + "id": "ESP_PANIC_HANDLER_IRAM", + "name": "ESP_PANIC_HANDLER_IRAM", + "range": null, + "title": "Place panic handler code in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "!ESP32_TRAX && !ESP32S2_TRAX && !ESP32S3_TRAX", + "help": "Debug stubs are used by OpenOCD to execute pre-compiled onboard code\nwhich does some useful debugging stuff, e.g. GCOV data dump.", + "id": "ESP_DEBUG_STUBS_ENABLE", + "name": "ESP_DEBUG_STUBS_ENABLE", + "range": null, + "title": "OpenOCD debug stubs", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_DEBUG_HAVE_OCD_STUB_BINS", + "help": "OpenOCD uses stub code to access flash during programming or when inserting and removing\nSW flash breakpoints.\nTo execute stub code, OpenOCD allocates memory on the target device, backs up the existing memory,\nloads the stub binary, runs the binary, and then restores the original memory.\nThis process can be time-consuming, especially when using USB serial JTAG.\nBy enabling this option, 8K of memory in RAM will be preallocated with the stub code,\neliminating the need to back up and restore the memory region.", + "id": "ESP_DEBUG_INCLUDE_OCD_STUB_BINS", + "name": "ESP_DEBUG_INCLUDE_OCD_STUB_BINS", + "range": null, + "title": "Preload OpenOCD stub binaries to speed up debugging. 8K memory will be reserved", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "The FreeRTOS panic and unhandled exception handlers can detect a JTAG OCD debugger and\ninstead of panicking, have the debugger stop on the offending instruction.", + "id": "ESP_DEBUG_OCDAWARE", + "name": "ESP_DEBUG_OCDAWARE", + "range": null, + "title": "Make exception and panic handlers JTAG/OCD aware", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "IDF_TARGET_ESP32 && ", + "help": "Using level 5 interrupt for Interrupt Watchdog, IPC_ISR and other system checks.", + "id": "ESP_SYSTEM_CHECK_INT_LEVEL_5", + "name": "ESP_SYSTEM_CHECK_INT_LEVEL_5", + "range": null, + "title": "Level 5 interrupt", + "type": "bool" + }, + { + "children": [], + "depends_on": "!BTDM_CTRL_HLI && ", + "help": "Using level 4 interrupt for Interrupt Watchdog, IPC_ISR and other system checks.", + "id": "ESP_SYSTEM_CHECK_INT_LEVEL_4", + "name": "ESP_SYSTEM_CHECK_INT_LEVEL_4", + "range": null, + "title": "Level 4 interrupt", + "type": "bool" + } + ], + "depends_on": null, + "help": "Interrupt level to use for Interrupt Watchdog, IPC_ISR and other system checks.", + "id": "component-config-esp-system-settings-interrupt-level-to-use-for-interrupt-watchdog-and-other-system-checks-home-claw-.platformio-packages-framework-espidf-components-esp_system-Kconfig-426", + "name": "ESP_SYSTEM_CHECK_INT_LEVEL", + "title": "Interrupt level to use for Interrupt Watchdog and other system checks", + "type": "choice" + }, + { + "children": [], + "depends_on": "SOC_ASSIST_DEBUG_SUPPORTED", + "help": "This config allows to trigger a panic interrupt when Stack Pointer register goes out of allocated stack\nmemory bounds.", + "id": "ESP_SYSTEM_HW_STACK_GUARD", + "name": "ESP_SYSTEM_HW_STACK_GUARD", + "range": null, + "title": "Hardware stack guard", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2", + "help": "This configuration helps to address an BBPLL inaccurate issue when boot from certain bootloader version,\nwhich may increase about the boot-up time by about 200 us. Disable this when your bootloader is built with\nESP-IDF version v5.2 and above.", + "id": "ESP_SYSTEM_BBPLL_RECALIB", + "name": "ESP_SYSTEM_BBPLL_RECALIB", + "range": null, + "title": "Re-calibration BBPLL at startup", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_ASSIST_DEBUG_SUPPORTED", + "help": "This option will enable the PC recording function of assist_debug module. The PC value of the CPU will be\nrecorded to PC record register in assist_debug module in real time. When an exception occurs and the CPU\nis reset, this register will be kept, then we can use the recorded PC to debug the causes of the reset.", + "id": "ESP_SYSTEM_HW_PC_RECORD", + "name": "ESP_SYSTEM_HW_PC_RECORD", + "range": null, + "title": "Hardware PC recording", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-system-settings-home-claw-.platformio-packages-framework-espidf-components-esp_system-Kconfig-2", + "title": "ESP System Settings", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_IPC_ENABLE", + "name": "ESP_IPC_ENABLE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Configure the IPC tasks stack size. An IPC task runs on each core (in dual core mode), and allows for\ncross-core function calls. See IPC documentation for more details. The default IPC stack size should be\nenough for most common simple use cases. However, users can increase/decrease the stack size to their\nneeds.", + "id": "ESP_IPC_TASK_STACK_SIZE", + "name": "ESP_IPC_TASK_STACK_SIZE", + "range": [ + 512, + 65536 + ], + "title": "Inter-Processor Call (IPC) task stack size", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_IPC_ENABLE", + "help": "If this option is not enabled then the IPC task will keep behavior same as prior to that of ESP-IDF v4.0,\nhence IPC task will run at (configMAX_PRIORITIES - 1) priority.", + "id": "ESP_IPC_USES_CALLERS_PRIORITY", + "name": "ESP_IPC_USES_CALLERS_PRIORITY", + "range": null, + "title": "IPC runs at caller's priority", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "The IPC ISR feature is similar to the IPC feature except that the callback function is executed in the\ncontext of a High Priority Interrupt. The IPC ISR feature is intended for low latency execution of simple\ncallbacks written in assembly on another CPU. Due to being run in a High Priority Interrupt, the assembly\ncallbacks must be written with particular restrictions (see \"IPC\" and \"High-Level Interrupt\" docs for more\ndetails).", + "id": "ESP_IPC_ISR_ENABLE", + "name": "ESP_IPC_ISR_ENABLE", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-ipc-inter-processor-call--home-claw-.platformio-packages-framework-espidf-components-esp_system-Kconfig-475", + "title": "IPC (Inter-Processor Call)", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_TIMER_IN_IRAM", + "name": "ESP_TIMER_IN_IRAM", + "range": null, + "title": "Place esp_timer functions in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If enabled, esp_timer_dump will dump information such as number of times the timer was started,\nnumber of times the timer has triggered, and the total time it took for the callback to run.\nThis option has some effect on timer performance and the amount of memory used for timer\nstorage, and should only be used for debugging/testing purposes.", + "id": "ESP_TIMER_PROFILING", + "name": "ESP_TIMER_PROFILING", + "range": null, + "title": "Enable esp_timer profiling features", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_TIME_FUNCS_USE_RTC_TIMER", + "name": "ESP_TIME_FUNCS_USE_RTC_TIMER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_TIME_FUNCS_USE_ESP_TIMER", + "name": "ESP_TIME_FUNCS_USE_ESP_TIMER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_TIME_FUNCS_USE_NONE", + "name": "ESP_TIME_FUNCS_USE_NONE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Configure the stack size of \"timer_task\" task. This task is used\nto dispatch callbacks of timers created using ets_timer and esp_timer\nAPIs. If you are seeing stack overflow errors in timer task, increase\nthis value.\n\nNote that this is not the same as FreeRTOS timer task. To configure\nFreeRTOS timer task size, see \"FreeRTOS timer task stack size\" option\nin \"FreeRTOS\".", + "id": "ESP_TIMER_TASK_STACK_SIZE", + "name": "ESP_TIMER_TASK_STACK_SIZE", + "range": [ + 2048, + 65536 + ], + "title": "High-resolution timer task stack size", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "This sets the interrupt priority level for esp_timer ISR.\nA higher value reduces interrupt latency by minimizing the timer processing delay.", + "id": "ESP_TIMER_INTERRUPT_LEVEL", + "name": "ESP_TIMER_INTERRUPT_LEVEL", + "range": [ + 1, + 1 + ], + "title": "Interrupt level", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "This shows some hidden features of esp_timer.\nNote that they may break other features, use them with care.", + "id": "ESP_TIMER_SHOW_EXPERIMENTAL", + "name": "ESP_TIMER_SHOW_EXPERIMENTAL", + "range": null, + "title": "show esp_timer's experimental features", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_TIMER_TASK_AFFINITY", + "name": "ESP_TIMER_TASK_AFFINITY", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_TIMER_TASK_AFFINITY_CPU0", + "name": "ESP_TIMER_TASK_AFFINITY_CPU0", + "range": null, + "title": "CPU0", + "type": "bool" + }, + { + "children": [], + "depends_on": "!FREERTOS_UNICORE && ESP_TIMER_SHOW_EXPERIMENTAL && ", + "help": null, + "id": "ESP_TIMER_TASK_AFFINITY_CPU1", + "name": "ESP_TIMER_TASK_AFFINITY_CPU1", + "range": null, + "title": "CPU1", + "type": "bool" + }, + { + "children": [], + "depends_on": "!FREERTOS_UNICORE && ESP_TIMER_SHOW_EXPERIMENTAL && ", + "help": null, + "id": "ESP_TIMER_TASK_AFFINITY_NO_AFFINITY", + "name": "ESP_TIMER_TASK_AFFINITY_NO_AFFINITY", + "range": null, + "title": "No affinity", + "type": "bool" + } + ], + "depends_on": null, + "help": "The default settings: timer TASK on CPU0 and timer ISR on CPU0.\nOther settings may help in certain cases, but note that they may break\nother features, use them with care.\n- \"CPU0\": (default) esp_timer task is processed by CPU0.\n- \"CPU1\": esp_timer task is processed by CPU1.\n- \"No affinity\": esp_timer task can be processed by any CPU.", + "id": "component-config-esp-timer-high-resolution-timer--esp_timer-task-core-affinity-home-claw-.platformio-packages-framework-espidf-components-esp_timer-Kconfig-60", + "name": "ESP_TIMER_TASK_AFFINITY", + "title": "esp_timer task core affinity", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_TIMER_ISR_AFFINITY_CPU0", + "name": "ESP_TIMER_ISR_AFFINITY_CPU0", + "range": null, + "title": "CPU0", + "type": "bool" + }, + { + "children": [], + "depends_on": "!FREERTOS_UNICORE && ESP_TIMER_SHOW_EXPERIMENTAL && ", + "help": null, + "id": "ESP_TIMER_ISR_AFFINITY_CPU1", + "name": "ESP_TIMER_ISR_AFFINITY_CPU1", + "range": null, + "title": "CPU1", + "type": "bool" + }, + { + "children": [], + "depends_on": "!FREERTOS_UNICORE && ESP_TIMER_SHOW_EXPERIMENTAL && ", + "help": null, + "id": "ESP_TIMER_ISR_AFFINITY_NO_AFFINITY", + "name": "ESP_TIMER_ISR_AFFINITY_NO_AFFINITY", + "range": null, + "title": "No affinity", + "type": "bool" + } + ], + "depends_on": null, + "help": "The default settings: timer TASK on CPU0 and timer ISR on CPU0.\nOther settings may help in certain cases, but note that they may break\nother features, use them with care.\n- \"CPU0\": (default) timer interrupt is processed by CPU0.\n- \"CPU1\": timer interrupt is processed by CPU1.\n- \"No affinity\": timer interrupt can be processed by any CPU. It helps\nto reduce latency but there is a disadvantage it leads to the timer ISR\nrunning on every core. It increases the CPU time usage for timer ISRs\nby N on an N-core system.", + "id": "component-config-esp-timer-high-resolution-timer--timer-interrupt-core-affinity-home-claw-.platformio-packages-framework-espidf-components-esp_timer-Kconfig-81", + "name": "ESP_TIMER_ISR_AFFINITY", + "title": "timer interrupt core affinity", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": "Allows using ESP_TIMER_ISR dispatch method (ESP_TIMER_TASK dispatch method is also available).\n- ESP_TIMER_TASK - Timer callbacks are dispatched from a high-priority esp_timer task.\n- ESP_TIMER_ISR - Timer callbacks are dispatched directly from the timer interrupt handler.\nThe ISR dispatch can be used, in some cases, when a callback is very simple\nor need a lower-latency.", + "id": "ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD", + "name": "ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD", + "range": null, + "title": "Support ISR dispatch method", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32", + "help": null, + "id": "ESP_TIMER_IMPL_TG0_LAC", + "name": "ESP_TIMER_IMPL_TG0_LAC", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "!IDF_TARGET_ESP32", + "help": null, + "id": "ESP_TIMER_IMPL_SYSTIMER", + "name": "ESP_TIMER_IMPL_SYSTIMER", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-esp-timer-high-resolution-timer--home-claw-.platformio-packages-framework-espidf-components-esp_timer-Kconfig-1", + "title": "ESP Timer (High Resolution Timer)", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Use a custom encoder provided by an external component.\nThe trace core system will be enabled but no built-in encoder is included.\n\nThe external component MUST provide a header file named\n\"esp_trace_freertos_impl.h\" in its include directories that\ndefines all required FreeRTOS trace macros.", + "id": "ESP_TRACE_LIB_EXTERNAL", + "name": "ESP_TRACE_LIB_EXTERNAL", + "range": null, + "title": "External library from component registry", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_TRACE_LIB_NONE", + "name": "ESP_TRACE_LIB_NONE", + "range": null, + "title": "Disabled", + "type": "bool" + } + ], + "depends_on": null, + "help": "Select the trace library to use.", + "id": "component-config-esp-trace-configuration-trace-library-home-claw-.platformio-packages-framework-espidf-components-esp_trace-Kconfig-3", + "name": "ESP_TRACE_LIBRARY", + "title": "Trace library", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_TRACE_LIB_NAME", + "name": "ESP_TRACE_LIB_NAME", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_TRACE_TRANSPORT_APPTRACE", + "name": "ESP_TRACE_TRANSPORT_APPTRACE", + "range": null, + "title": "ESP-IDF apptrace", + "type": "bool" + }, + { + "children": [], + "depends_on": "!ESP_TRACE_LIB_NONE && ", + "help": "Use a transport registered by an external component.\nThe trace core system will be enabled but no built-in transport is included.", + "id": "ESP_TRACE_TRANSPORT_EXTERNAL", + "name": "ESP_TRACE_TRANSPORT_EXTERNAL", + "range": null, + "title": "External transport from component registry", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_TRACE_TRANSPORT_NONE", + "name": "ESP_TRACE_TRANSPORT_NONE", + "range": null, + "title": "None", + "type": "bool" + } + ], + "depends_on": null, + "help": "Select the trace backend to use.", + "id": "component-config-esp-trace-configuration-trace-transport-home-claw-.platformio-packages-framework-espidf-components-esp_trace-Kconfig-28", + "name": "ESP_TRACE_TRANSPORT", + "title": "Trace transport", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_TRACE_TRANSPORT_NAME", + "name": "ESP_TRACE_TRANSPORT_NAME", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [], + "depends_on": null, + "help": "Internal config to enable tracing dependency around components.", + "id": "ESP_TRACE_ENABLE", + "name": "ESP_TRACE_ENABLE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "!PM_ENABLE && ", + "help": null, + "id": "APPTRACE_DEST_JTAG", + "name": "APPTRACE_DEST_JTAG", + "range": null, + "title": "JTAG", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "APPTRACE_DEST_UART", + "name": "APPTRACE_DEST_UART", + "range": null, + "title": "UART", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Compile both JTAG and UART interfaces in advance (higher IRAM usage).\nAllows runtime switching between JTAG and UART via esp_apptrace_get_user_params().\n\nIf esp_apptrace_get_user_params() is not provided by the\napplication, JTAG is used by default with the default\nconfiguration defined in components/app_trace/include/esp_app_trace_config.h.", + "id": "APPTRACE_DEST_ALL", + "name": "APPTRACE_DEST_ALL", + "range": null, + "title": "All (runtime selection)", + "type": "bool" + } + ], + "depends_on": "ESP_TRACE_TRANSPORT_APPTRACE", + "help": "Select destination for application trace: JTAG, UART, or both.", + "id": "component-config-esp-trace-configuration-application-level-tracing-data-destination-home-claw-.platformio-packages-framework-espidf-components-app_trace-Kconfig.apptrace-3", + "name": "APPTRACE_DESTINATION", + "title": "Data Destination", + "type": "choice" + }, + { + "children": [], + "depends_on": "APPTRACE_DEST_JTAG && !APPTRACE_TRAX_ENABLE && ESP_TRACE_TRANSPORT_APPTRACE", + "help": "Size of the memory buffer for trace data in bytes.", + "id": "APPTRACE_BUF_SIZE", + "name": "APPTRACE_BUF_SIZE", + "range": null, + "title": "Size of the apptrace buffer", + "type": "int" + }, + { + "children": [], + "depends_on": "APPTRACE_DEST_UART && ESP_TRACE_TRANSPORT_APPTRACE", + "help": "UART communication port number for the apptrace destination.\nSee UART documentation for available port numbers.", + "id": "APPTRACE_DEST_UART_NUM", + "name": "APPTRACE_DEST_UART_NUM", + "range": null, + "title": "UART port number", + "type": "int" + }, + { + "children": [], + "depends_on": "APPTRACE_DEST_UART && ESP_TRACE_TRANSPORT_APPTRACE", + "help": "This GPIO is used for UART TX pin.", + "id": "APPTRACE_UART_TX_GPIO", + "name": "APPTRACE_UART_TX_GPIO", + "range": null, + "title": "UART TX on GPIO", + "type": "int" + }, + { + "children": [], + "depends_on": "APPTRACE_DEST_UART && ESP_TRACE_TRANSPORT_APPTRACE", + "help": "This GPIO is used for UART RX pin.", + "id": "APPTRACE_UART_RX_GPIO", + "name": "APPTRACE_UART_RX_GPIO", + "range": null, + "title": "UART RX on GPIO", + "type": "int" + }, + { + "children": [], + "depends_on": "APPTRACE_DEST_UART && ESP_TRACE_TRANSPORT_APPTRACE", + "help": "This baud rate is used for UART.\n\nThe app's maximum baud rate depends on the UART clock source. If Power Management is disabled,\nthe UART clock source is the APB clock and all baud rates in the available range will be sufficiently\naccurate. If Power Management is enabled, REF_TICK clock source is used so the baud rate is divided\nfrom 1MHz. Baud rates above 1Mbps are not possible and values between 500Kbps and 1Mbps may not be\naccurate.", + "id": "APPTRACE_UART_BAUDRATE", + "name": "APPTRACE_UART_BAUDRATE", + "range": null, + "title": "UART baud rate", + "type": "int" + }, + { + "children": [], + "depends_on": "APPTRACE_DEST_UART && ESP_TRACE_TRANSPORT_APPTRACE", + "help": "Size of the UART output ring buffer. Must be power of two.\nThis size related to the baudrate, system tick frequency and amount of data to transfer.", + "id": "APPTRACE_UART_TX_BUFF_SIZE", + "name": "APPTRACE_UART_TX_BUFF_SIZE", + "range": null, + "title": "UART TX ring buffer size", + "type": "int" + }, + { + "children": [], + "depends_on": "APPTRACE_DEST_UART && ESP_TRACE_TRANSPORT_APPTRACE", + "help": "Maximum size of the single message to transfer.", + "id": "APPTRACE_UART_TX_MSG_SIZE", + "name": "APPTRACE_UART_TX_MSG_SIZE", + "range": null, + "title": "UART TX message size", + "type": "int" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ARCH_XTENSA && !ESP32_TRAX && !ESP32S2_TRAX && !ESP32S3_TRAX && ESP_TRACE_TRANSPORT_APPTRACE", + "help": "Enables/disable TRAX tracing HW.", + "id": "APPTRACE_TRAX_ENABLE", + "name": "APPTRACE_TRAX_ENABLE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_TRACE_TRANSPORT_APPTRACE", + "help": "Enables/disable application tracing module internal sync lock to prevent data corruption\nwhen multiple tasks are writing to the same trace buffer.\nKeep in mind this will slow down the trace data transfer to the host.", + "id": "APPTRACE_LOCK_ENABLE", + "name": "APPTRACE_LOCK_ENABLE", + "range": null, + "title": "Internal Sync Lock Enable", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_TRACE_TRANSPORT_APPTRACE", + "help": "Timeout for flushing last trace data to host in case of panic. In ms.\nUse -1 to disable timeout and wait forever.", + "id": "APPTRACE_ONPANIC_HOST_FLUSH_TMO", + "name": "APPTRACE_ONPANIC_HOST_FLUSH_TMO", + "range": null, + "title": "Timeout for flushing last trace data to host on panic", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_TRACE_TRANSPORT_APPTRACE", + "help": "Threshold for flushing last trace data to host on panic in post-mortem mode.\nThis is minimal amount of data needed to perform flush. In bytes.", + "id": "APPTRACE_POSTMORTEM_FLUSH_THRESH", + "name": "APPTRACE_POSTMORTEM_FLUSH_THRESH", + "range": null, + "title": "Threshold for flushing last trace data to host on panic", + "type": "int" + } + ], + "depends_on": "ESP_TRACE_TRANSPORT_APPTRACE", + "id": "component-config-esp-trace-configuration-application-level-tracing-home-claw-.platformio-packages-framework-espidf-components-app_trace-Kconfig.apptrace-1", + "title": "Application Level Tracing", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_SYSTEM_SINGLE_CORE_MODE && !PM_ENABLE && !IDF_TARGET_ESP32C3 && ", + "help": null, + "id": "ESP_TRACE_TS_SOURCE_CCOUNT", + "name": "ESP_TRACE_TS_SOURCE_CCOUNT", + "range": null, + "title": "CPU cycle counter (CCOUNT)", + "type": "bool" + }, + { + "children": [], + "depends_on": "!PM_ENABLE && !IDF_TARGET_ESP32C3 && ", + "help": null, + "id": "ESP_TRACE_TS_SOURCE_GPTIMER", + "name": "ESP_TRACE_TS_SOURCE_GPTIMER", + "range": null, + "title": "General Purpose Timer (Timer Group)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_TRACE_TS_SOURCE_ESP_TIMER", + "name": "ESP_TRACE_TS_SOURCE_ESP_TIMER", + "range": null, + "title": "esp_timer high resolution timer", + "type": "bool" + } + ], + "depends_on": "ESP_TRACE_ENABLE", + "help": "Select the timestamp source for tracing.", + "id": "component-config-esp-trace-configuration-trace-timestamp-source-home-claw-.platformio-packages-framework-espidf-components-esp_trace-Kconfig-62", + "name": "ESP_TRACE_TIMESTAMP_SOURCE", + "title": "Trace timestamp source", + "type": "choice" + } + ], + "depends_on": null, + "id": "component-config-esp-trace-configuration-home-claw-.platformio-packages-framework-espidf-components-esp_trace-Kconfig-1", + "title": "ESP Trace Configuration", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_WIFI_ENABLED", + "name": "ESP_WIFI_ENABLED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_HOST_WIFI_ENABLED", + "help": null, + "id": "ESP_WIFI_CONTROLLER_TARGET", + "name": "ESP_WIFI_CONTROLLER_TARGET", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [], + "depends_on": "ESP_HOST_WIFI_ENABLED", + "help": null, + "id": "ESP_WIFI_TARGET_ESP32", + "name": "ESP_WIFI_TARGET_ESP32", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": "SOC_WIRELESS_HOST_SUPPORTED", + "help": null, + "id": "ESP_HOST_WIFI_ENABLED", + "name": "ESP_HOST_WIFI_ENABLED", + "range": null, + "title": "Host WiFi Enable", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Set the number of WiFi static RX buffers. Each buffer takes approximately 1.6KB of RAM.\nThe static rx buffers are allocated when esp_wifi_init is called, they are not freed\nuntil esp_wifi_deinit is called.\n\nWiFi hardware use these buffers to receive all 802.11 frames.\nA higher number may allow higher throughput but increases memory use. If ESP_WIFI_AMPDU_RX_ENABLED\nis enabled, this value is recommended to set equal or bigger than ESP_WIFI_RX_BA_WIN in order to\nachieve better throughput and compatibility with both stations and APs.", + "id": "ESP_WIFI_STATIC_RX_BUFFER_NUM", + "name": "ESP_WIFI_STATIC_RX_BUFFER_NUM", + "range": [ + 2, + 128 + ], + "title": "Max number of WiFi static RX buffers", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Set the number of WiFi dynamic RX buffers, 0 means unlimited RX buffers will be allocated\n(provided sufficient free RAM). The size of each dynamic RX buffer depends on the size of\nthe received data frame.\n\nFor each received data frame, the WiFi driver makes a copy to an RX buffer and then delivers\nit to the high layer TCP/IP stack. The dynamic RX buffer is freed after the higher layer has\nsuccessfully received the data frame.\n\nFor some applications, WiFi data frames may be received faster than the application can\nprocess them. In these cases we may run out of memory if RX buffer number is unlimited (0).\n\nIf a dynamic RX buffer limit is set, it should be at least the number of static RX buffers.", + "id": "ESP_WIFI_DYNAMIC_RX_BUFFER_NUM", + "name": "ESP_WIFI_DYNAMIC_RX_BUFFER_NUM", + "range": [ + 0, + 128 + ], + "title": "Max number of WiFi dynamic RX buffers", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_WIFI_STATIC_TX_BUFFER", + "name": "ESP_WIFI_STATIC_TX_BUFFER", + "range": null, + "title": "Static", + "type": "bool" + }, + { + "children": [], + "depends_on": "!(SPIRAM_TRY_ALLOCATE_WIFI_LWIP && !SPIRAM_IGNORE_NOTFOUND) && ", + "help": null, + "id": "ESP_WIFI_DYNAMIC_TX_BUFFER", + "name": "ESP_WIFI_DYNAMIC_TX_BUFFER", + "range": null, + "title": "Dynamic", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select type of WiFi TX buffers:\n\nIf \"Static\" is selected, WiFi TX buffers are allocated when WiFi is initialized and released\nwhen WiFi is de-initialized. The size of each static TX buffer is fixed to about 1.6KB.\n\nIf \"Dynamic\" is selected, each WiFi TX buffer is allocated as needed when a data frame is\ndelivered to the Wifi driver from the TCP/IP stack. The buffer is freed after the data frame\nhas been sent by the WiFi driver. The size of each dynamic TX buffer depends on the length\nof each data frame sent by the TCP/IP layer.\n\nIf PSRAM is enabled, \"Static\" should be selected to guarantee enough WiFi TX buffers.\nIf PSRAM is disabled, \"Dynamic\" should be selected to improve the utilization of RAM.", + "id": "component-config-wi-fi-type-of-wifi-tx-buffers-home-claw-.platformio-packages-framework-espidf-components-esp_wifi-Kconfig-60", + "name": "ESP_WIFI_TX_BUFFER", + "title": "Type of WiFi TX buffers", + "type": "choice" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": null, + "id": "ESP_WIFI_TX_BUFFER_TYPE", + "name": "ESP_WIFI_TX_BUFFER_TYPE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_STATIC_TX_BUFFER && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Set the number of WiFi static TX buffers. Each buffer takes approximately 1.6KB of RAM.\nThe static RX buffers are allocated when esp_wifi_init() is called, they are not released\nuntil esp_wifi_deinit() is called.\n\nFor each transmitted data frame from the higher layer TCP/IP stack, the WiFi driver makes a\ncopy of it in a TX buffer. For some applications especially UDP applications, the upper\nlayer can deliver frames faster than WiFi layer can transmit. In these cases, we may run out\nof TX buffers.", + "id": "ESP_WIFI_STATIC_TX_BUFFER_NUM", + "name": "ESP_WIFI_STATIC_TX_BUFFER_NUM", + "range": null, + "title": "Max number of WiFi static TX buffers", + "type": "int" + }, + { + "children": [], + "depends_on": "SPIRAM_TRY_ALLOCATE_WIFI_LWIP && !SPIRAM_IGNORE_NOTFOUND && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Set the number of WiFi cache TX buffer number.\n\nFor each TX packet from uplayer, such as LWIP etc, WiFi driver needs to allocate a static TX\nbuffer and makes a copy of uplayer packet. If WiFi driver fails to allocate the static TX buffer,\nit caches the uplayer packets to a dedicated buffer queue, this option is used to configure the\nsize of the cached TX queue.", + "id": "ESP_WIFI_CACHE_TX_BUFFER_NUM", + "name": "ESP_WIFI_CACHE_TX_BUFFER_NUM", + "range": null, + "title": "Max number of WiFi cache TX buffers", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_DYNAMIC_TX_BUFFER && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Set the number of WiFi dynamic TX buffers. The size of each dynamic TX buffer is not fixed,\nit depends on the size of each transmitted data frame.\n\nFor each transmitted frame from the higher layer TCP/IP stack, the WiFi driver makes a copy\nof it in a TX buffer. For some applications, especially UDP applications, the upper layer\ncan deliver frames faster than WiFi layer can transmit. In these cases, we may run out of TX\nbuffers.", + "id": "ESP_WIFI_DYNAMIC_TX_BUFFER_NUM", + "name": "ESP_WIFI_DYNAMIC_TX_BUFFER_NUM", + "range": [ + 1, + 128 + ], + "title": "Max number of WiFi dynamic TX buffers", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_WIFI_STATIC_RX_MGMT_BUFFER", + "name": "ESP_WIFI_STATIC_RX_MGMT_BUFFER", + "range": null, + "title": "Static", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER", + "name": "ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER", + "range": null, + "title": "Dynamic", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select type of WiFi RX MGMT buffers:\n\nIf \"Static\" is selected, WiFi RX MGMT buffers are allocated when WiFi is initialized and released\nwhen WiFi is de-initialized. The size of each static RX MGMT buffer is fixed to about 500 Bytes.\n\nIf \"Dynamic\" is selected, each WiFi RX MGMT buffer is allocated as needed when a MGMT data frame is\nreceived. The MGMT buffer is freed after the MGMT data frame has been processed by the WiFi driver.", + "id": "component-config-wi-fi-type-of-wifi-rx-mgmt-buffers-home-claw-.platformio-packages-framework-espidf-components-esp_wifi-Kconfig-131", + "name": "ESP_WIFI_MGMT_RX_BUFFER", + "title": "Type of WiFi RX MGMT buffers", + "type": "choice" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": null, + "id": "ESP_WIFI_DYNAMIC_RX_MGMT_BUF", + "name": "ESP_WIFI_DYNAMIC_RX_MGMT_BUF", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Set the number of WiFi RX_MGMT buffers.\n\nFor Management buffers, the number of dynamic and static management buffers is the same.\nIn order to prevent memory fragmentation, the management buffer type should be set to static first.", + "id": "ESP_WIFI_RX_MGMT_BUF_NUM_DEF", + "name": "ESP_WIFI_RX_MGMT_BUF_NUM_DEF", + "range": [ + 1, + 10 + ], + "title": "Max number of WiFi RX MGMT buffers", + "type": "int" + }, + { + "children": [], + "depends_on": "SOC_WIFI_CSI_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to enable CSI(Channel State Information) feature. CSI takes about\nCONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM KB of RAM. If CSI is not used, it is better to disable\nthis feature in order to save memory.", + "id": "ESP_WIFI_CSI_ENABLED", + "name": "ESP_WIFI_CSI_ENABLED", + "range": null, + "title": "WiFi CSI(Channel State Information)", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_AMPDU_TX_ENABLED && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Set the size of WiFi Block Ack TX window. Generally a bigger value means higher throughput but\nmore memory. Most of time we should NOT change the default value unless special reason, e.g.\ntest the maximum UDP TX throughput with iperf etc. For iperf test in shieldbox, the recommended\nvalue is 9~12.", + "id": "ESP_WIFI_TX_BA_WIN", + "name": "ESP_WIFI_TX_BA_WIN", + "range": [ + 2, + 64 + ], + "title": "WiFi AMPDU TX BA window size", + "type": "int" + } + ], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to enable AMPDU TX feature", + "id": "ESP_WIFI_AMPDU_TX_ENABLED", + "name": "ESP_WIFI_AMPDU_TX_ENABLED", + "range": null, + "title": "WiFi AMPDU TX", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_AMPDU_RX_ENABLED && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Set the size of WiFi Block Ack RX window. Generally a bigger value means higher throughput and better\ncompatibility but more memory. Most of time we should NOT change the default value unless special\nreason, e.g. test the maximum UDP RX throughput with iperf etc. For iperf test in shieldbox, the\nrecommended value is 9~12. If PSRAM is used and WiFi memory is preferred to allocate in PSRAM first,\nthe default and minimum value should be 16 to achieve better throughput and compatibility with both\nstations and APs.", + "id": "ESP_WIFI_RX_BA_WIN", + "name": "ESP_WIFI_RX_BA_WIN", + "range": [ + 2, + 64 + ], + "title": "WiFi AMPDU RX BA window size", + "type": "int" + } + ], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to enable AMPDU RX feature", + "id": "ESP_WIFI_AMPDU_RX_ENABLED", + "name": "ESP_WIFI_AMPDU_RX_ENABLED", + "range": null, + "title": "WiFi AMPDU RX", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_CACHE_TX_BUFFER_NUM >= 2 && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to enable AMSDU TX feature", + "id": "ESP_WIFI_AMSDU_TX_ENABLED", + "name": "ESP_WIFI_AMSDU_TX_ENABLED", + "range": null, + "title": "WiFi AMSDU TX", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to enable WiFi NVS flash", + "id": "ESP_WIFI_NVS_ENABLED", + "name": "ESP_WIFI_NVS_ENABLED", + "range": null, + "title": "WiFi NVS flash", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_WIFI_TASK_PINNED_TO_CORE_0", + "name": "ESP_WIFI_TASK_PINNED_TO_CORE_0", + "range": null, + "title": "Core 0", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_WIFI_TASK_PINNED_TO_CORE_1", + "name": "ESP_WIFI_TASK_PINNED_TO_CORE_1", + "range": null, + "title": "Core 1", + "type": "bool" + } + ], + "depends_on": "!FREERTOS_UNICORE && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Pinned WiFi task to core 0 or core 1.", + "id": "component-config-wi-fi-wifi-task-core-id-home-claw-.platformio-packages-framework-espidf-components-esp_wifi-Kconfig-227", + "name": "ESP_WIFI_TASK_CORE_ID", + "title": "WiFi Task Core ID", + "type": "choice" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "ESP-MESH utilizes beacon frames to detect and resolve root node conflicts (see documentation). However\nthe default length of a beacon frame can simultaneously hold only five root node identifier structures,\nmeaning that a root node conflict of up to five nodes can be detected at one time. In the occurrence of\nmore root nodes conflict involving more than five root nodes, the conflict resolution process will\ndetect five of the root nodes, resolve the conflict, and re-detect more root nodes. This process will\nrepeat until all root node conflicts are resolved. However this process can generally take a very long\ntime.\n\nTo counter this situation, the beacon frame length can be increased such that more root nodes can be\ndetected simultaneously. Each additional root node will require 36 bytes and should be added on top of\nthe default beacon frame length of\n752 bytes. For example, if you want to detect 10 root nodes simultaneously, you need to set the beacon\nframe length as\n932 (752+36*5).\n\nSetting a longer beacon length also assists with debugging as the conflicting root nodes can be\nidentified more quickly.", + "id": "ESP_WIFI_SOFTAP_BEACON_MAX_LEN", + "name": "ESP_WIFI_SOFTAP_BEACON_MAX_LEN", + "range": [ + 752, + 1256 + ], + "title": "Max length of WiFi SoftAP Beacon", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Set the maximum number of Wi-Fi management short buffers. These buffers are dynamically allocated,\nwith their size determined by the length of the management packet to be sent. When a management\npacket is less than 64 bytes, the Wi-Fi driver classifies it as a short management packet and\nassigns it to one of these buffers.", + "id": "ESP_WIFI_MGMT_SBUF_NUM", + "name": "ESP_WIFI_MGMT_SBUF_NUM", + "range": [ + 6, + 32 + ], + "title": "WiFi mgmt short buffer number", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to place frequently called Wi-Fi library functions in IRAM.\nWhen this option is disabled, more than 10Kbytes of IRAM memory will be saved\nbut Wi-Fi throughput will be reduced.", + "id": "ESP_WIFI_IRAM_OPT", + "name": "ESP_WIFI_IRAM_OPT", + "range": null, + "title": "WiFi IRAM speed optimization", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to place additional frequently called Wi-Fi library functions\nin IRAM. When this option is disabled, more than 5Kbytes of IRAM memory will be saved\nbut Wi-Fi throughput will be reduced.", + "id": "ESP_WIFI_EXTRA_IRAM_OPT", + "name": "ESP_WIFI_EXTRA_IRAM_OPT", + "range": null, + "title": "WiFi EXTRA IRAM speed optimization", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to place frequently called Wi-Fi library RX functions in IRAM.\nWhen this option is disabled, more than 17Kbytes of IRAM memory will be saved\nbut Wi-Fi performance will be reduced.", + "id": "ESP_WIFI_RX_IRAM_OPT", + "name": "ESP_WIFI_RX_IRAM_OPT", + "range": null, + "title": "WiFi RX IRAM speed optimization", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_ENABLE_SAE_H2E && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to enable SAE-PK", + "id": "ESP_WIFI_ENABLE_SAE_PK", + "name": "ESP_WIFI_ENABLE_SAE_PK", + "range": null, + "title": "Enable SAE-PK", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_ENABLE_WPA3_SAE && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to enable SAE-H2E", + "id": "ESP_WIFI_ENABLE_SAE_H2E", + "name": "ESP_WIFI_ENABLE_SAE_H2E", + "range": null, + "title": "Enable SAE-H2E", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLE_WPA3_SAE && ESP_WIFI_SOFTAP_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to enable SAE support in softAP mode.", + "id": "ESP_WIFI_SOFTAP_SAE_SUPPORT", + "name": "ESP_WIFI_SOFTAP_SAE_SUPPORT", + "range": null, + "title": "Enable WPA3 Personal(SAE) SoftAP", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to allow the device to establish a WPA3-Personal connection with eligible AP's.\nPMF (Protected Management Frames) is a prerequisite feature for a WPA3 connection, it needs to be\nexplicitly configured before attempting connection. Please refer to the Wi-Fi Driver API Guide\nfor details.", + "id": "ESP_WIFI_ENABLE_WPA3_SAE", + "name": "ESP_WIFI_ENABLE_WPA3_SAE", + "range": null, + "title": "Enable WPA3-Personal", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to allow the device to establish OWE connection with eligible AP's.\nPMF (Protected Management Frames) is a prerequisite feature for a WPA3 connection, it needs to be\nexplicitly configured before attempting connection. Please refer to the Wi-Fi Driver API Guide\nfor details.", + "id": "ESP_WIFI_ENABLE_WPA3_OWE_STA", + "name": "ESP_WIFI_ENABLE_WPA3_OWE_STA", + "range": null, + "title": "Enable OWE STA", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLE_SAE_H2E && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to support wpa3_compatible mode for station and AP", + "id": "ESP_WIFI_WPA3_COMPATIBLE_SUPPORT", + "name": "ESP_WIFI_WPA3_COMPATIBLE_SUPPORT", + "range": null, + "title": "Enable WPA3 Compatible support", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to place called Wi-Fi library TBTT process and receive beacon functions in IRAM.\nSome functions can be put in IRAM either by ESP_WIFI_IRAM_OPT and ESP_WIFI_RX_IRAM_OPT, or this one.\nIf already enabled ESP_WIFI_IRAM_OPT, the other 7.3KB IRAM memory would be taken by this option.\nIf already enabled ESP_WIFI_RX_IRAM_OPT, the other 1.3KB IRAM memory would be taken by this option.\nIf neither of them are enabled, the other 7.4KB IRAM memory would be taken by this option.\nWi-Fi power-save mode average current would be reduced if this option is enabled.", + "id": "ESP_WIFI_SLP_IRAM_OPT", + "name": "ESP_WIFI_SLP_IRAM_OPT", + "range": null, + "title": "WiFi SLP IRAM speed optimization", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Only for station in WIFI_PS_MIN_MODEM or WIFI_PS_MAX_MODEM. When the station enters the active state,\nit will work for at least ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME. If a data packet is received or sent\nduring this period, the time will be refreshed. If the time is up, but the station still has packets\nto receive or send, the time will also be refreshed. unit: milliseconds.", + "id": "ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME", + "name": "ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME", + "range": [ + 8, + 60 + ], + "title": "Minimum active time", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Enables bss max idle support for Station and SoftAP. BSS max idle period enables an SoftAP to indicate\na time period during which the AP does not disassociate a STA due to nonreceipt of frames from the STA.\nFor station, max idle period is default 10 (1000TUs) and can be set through\nESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME. For softap, bss max idle parameters will be set through\nbss_max_idle_cfg in wifi_ap_config_t.", + "id": "ESP_WIFI_BSS_MAX_IDLE_SUPPORT", + "name": "ESP_WIFI_BSS_MAX_IDLE_SUPPORT", + "range": null, + "title": "Enable bss max idle support", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Only for station. If no packet has been sent within ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME, a null data\npacket will be sent to maintain the connection with the AP. If ESP_WIFI_BSS_MAX_IDLE_SUPPORT is set,\nit will be sent as bss max idle period in association request. unit: seconds.", + "id": "ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME", + "name": "ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME", + "range": [ + 10, + 60 + ], + "title": "Maximum keep alive time", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Only for station in WIFI_PS_MIN_MODEM or WIFI_PS_MAX_MODEM. When the station knows through the beacon\nthat AP will send broadcast packet, it will wait for ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME\nbefore entering the sleep process. If a broadcast packet is received with more data bits, the time\nwill refreshed. unit: milliseconds.", + "id": "ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME", + "name": "ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME", + "range": [ + 10, + 30 + ], + "title": "Minimum wait broadcast data time", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_FTM_ENABLE && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": null, + "id": "ESP_WIFI_FTM_INITIATOR_SUPPORT", + "name": "ESP_WIFI_FTM_INITIATOR_SUPPORT", + "range": null, + "title": "FTM Initiator support", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_FTM_ENABLE && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": null, + "id": "ESP_WIFI_FTM_RESPONDER_SUPPORT", + "name": "ESP_WIFI_FTM_RESPONDER_SUPPORT", + "range": null, + "title": "FTM Responder support", + "type": "bool" + } + ], + "depends_on": "SOC_WIFI_FTM_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable feature Fine Timing Measurement for calculating WiFi Round-Trip-Time (RTT).", + "id": "ESP_WIFI_FTM_ENABLE", + "name": "ESP_WIFI_FTM_ENABLE", + "range": null, + "title": "WiFi FTM", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to enable power_management for station when disconnected.\nChip will do modem-sleep when rf module is not in use any more.", + "id": "ESP_WIFI_STA_DISCONNECTED_PM_ENABLE", + "name": "ESP_WIFI_STA_DISCONNECTED_PM_ENABLE", + "range": null, + "title": "Power Management for station at disconnected", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_WIFI_GCMP_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to enable GCMP support. GCMP support is compulsory for WiFi Suite-B support.", + "id": "ESP_WIFI_GCMP_SUPPORT", + "name": "ESP_WIFI_GCMP_SUPPORT", + "range": null, + "title": "WiFi GCMP Support(GCMP128 and GCMP256)", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to enable GMAC support. GMAC support is compulsory for WiFi 192 bit certification.", + "id": "ESP_WIFI_GMAC_SUPPORT", + "name": "ESP_WIFI_GMAC_SUPPORT", + "range": null, + "title": "WiFi GMAC Support(GMAC128 and GMAC256)", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "WiFi module can be compiled without SoftAP to save code size.", + "id": "ESP_WIFI_SOFTAP_SUPPORT", + "name": "ESP_WIFI_SOFTAP_SUPPORT", + "range": null, + "title": "WiFi SoftAP Support", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_PHY_MAC_BB_PD && SOC_PM_SUPPORT_BEACON_WAKEUP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "The wifi modem automatically receives the beacon frame during light sleep.", + "id": "ESP_WIFI_ENHANCED_LIGHT_SLEEP", + "name": "ESP_WIFI_ENHANCED_LIGHT_SLEEP", + "range": null, + "title": "WiFi modem automatically receives the beacon", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_SLP_BEACON_LOST_OPT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Timeout time for close rf phy when beacon loss occurs, Unit: 1024 microsecond.", + "id": "ESP_WIFI_SLP_BEACON_LOST_TIMEOUT", + "name": "ESP_WIFI_SLP_BEACON_LOST_TIMEOUT", + "range": null, + "title": "Beacon loss timeout", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_SLP_BEACON_LOST_OPT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Maximum number of consecutive lost beacons allowed, the WiFi Rx state behaviour\nwill be determined by ESP_WIFI_SLP_BEACON_LOST_OVER_THRESHOLD_POLICY\nwhen the number of consecutive beacons lost is greater than the given threshold.", + "id": "ESP_WIFI_SLP_BEACON_LOST_THRESHOLD", + "name": "ESP_WIFI_SLP_BEACON_LOST_THRESHOLD", + "range": null, + "title": "Maximum number of consecutive lost beacons allowed", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_SLP_BEACON_LOST_OPT && SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Delta early time for rf phy on, When the beacon is lost, the next rf phy on will\nbe earlier the time specified by the configuration item, Unit: 32 microsecond.", + "id": "ESP_WIFI_SLP_PHY_ON_DELTA_EARLY_TIME", + "name": "ESP_WIFI_SLP_PHY_ON_DELTA_EARLY_TIME", + "range": null, + "title": "Delta early time for RF PHY on", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_SLP_BEACON_LOST_OPT && SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Delta timeout time for rf phy off, When the beacon is lost, the next rf phy off will\nbe delayed for the time specified by the configuration item. Unit: 1024 microsecond.", + "id": "ESP_WIFI_SLP_PHY_OFF_DELTA_TIMEOUT_TIME", + "name": "ESP_WIFI_SLP_PHY_OFF_DELTA_TIMEOUT_TIME", + "range": null, + "title": "Delta timeout time for RF PHY off", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_WIFI_SLP_BEACON_LOST_OVER_THRESHOLD_RECEIVE", + "name": "ESP_WIFI_SLP_BEACON_LOST_OVER_THRESHOLD_RECEIVE", + "range": null, + "title": "Receive beacon", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_WIFI_SLP_BEACON_LOST_OVER_THRESHOLD_DROP", + "name": "ESP_WIFI_SLP_BEACON_LOST_OVER_THRESHOLD_DROP", + "range": null, + "title": "Drop beacon", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_WIFI_SLP_BEACON_LOST_OVER_THRESHOLD_AUTO", + "name": "ESP_WIFI_SLP_BEACON_LOST_OVER_THRESHOLD_AUTO", + "range": null, + "title": "Auto", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_SLP_BEACON_LOST_OPT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select the strategy to apply when the number of lost beacons exceeds the threshold.\n\n- \"Receive beacon\": Keep RF on until a beacon is successfully received.\n\n- \"Drop beacon\": Turn off RF and skip beacon reception during this period.\n\n- \"Auto\": Beacon will been dropped only if ESP_WIFI_SLP_SAMPLE_BEACON_FEATURE enabled\n and expected rx beacon probability stays below the standard.", + "id": "component-config-wi-fi-wifi-sleep-optimize-when-beacon-lost-beacon-strategy-when-beacon-loss-exceeds-threshold-home-claw-.platformio-packages-framework-espidf-components-esp_wifi-Kconfig-495", + "name": "ESP_WIFI_SLP_BEACON_LOST_OVER_THRESHOLD_POLICY", + "title": "Beacon strategy when beacon loss exceeds threshold", + "type": "choice" + }, + { + "children": [], + "depends_on": "ESP_WIFI_SLP_BEACON_LOST_OPT && !ESP_WIFI_ENHANCED_LIGHT_SLEEP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select to enable feature sampling beacons to calculate beacon offset.", + "id": "ESP_WIFI_SLP_SAMPLE_BEACON_FEATURE", + "name": "ESP_WIFI_SLP_SAMPLE_BEACON_FEATURE", + "range": null, + "title": "Sample beacon to calculate beacon offset", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Enable wifi sleep optimization when beacon loss occurs and immediately enter\nsleep mode when the WiFi module detects beacon loss.", + "id": "ESP_WIFI_SLP_BEACON_LOST_OPT", + "name": "ESP_WIFI_SLP_BEACON_LOST_OPT", + "range": null, + "title": "Wifi sleep optimize when beacon lost", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_SLP_SAMPLE_BEACON_FEATURE && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Numble of sampled beacons at wifi connected to adjust beacon parameters.", + "id": "ESP_WIFI_SLP_SAMPLE_BEACON_COUNT", + "name": "ESP_WIFI_SLP_SAMPLE_BEACON_COUNT", + "range": null, + "title": "Sample beacons at wifi connected to adjust beacon parameters", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_SLP_SAMPLE_BEACON_FEATURE && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Difference triggers event WIFI_EVENT_STA_BEACON_OFFSET_UNSTABLE\nwhen the actual rx beacon probability continuously falls below\nthe expected probability by this value.\nunit: percentage", + "id": "ESP_WIFI_SLP_SAMPLE_BEACON_DIFFERENCE_PERCENT", + "name": "ESP_WIFI_SLP_SAMPLE_BEACON_DIFFERENCE_PERCENT", + "range": null, + "title": "Difference percentage triggers unstable event", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_SLP_SAMPLE_BEACON_FEATURE && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Standard triggers beacon drop when the expected rx beacon probability\nfalls below this value under ESP_WIFI_SLP_BEACON_LOST_DROP_BEACON_AUTO mode.\nunit: percentage", + "id": "ESP_WIFI_SLP_SAMPLE_BEACON_STANDARD_PERCENT", + "name": "ESP_WIFI_SLP_SAMPLE_BEACON_STANDARD_PERCENT", + "range": null, + "title": "Standard percentage triggers beacon drop", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_SLP_SAMPLE_BEACON_FEATURE && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Resample period if beacon drop is active under ESP_WIFI_SLP_BEACON_LOST_DROP_BEACON_AUTO mode.\nIt means never resample if setting this value to 0.\nunit: hours", + "id": "ESP_WIFI_SLP_SAMPLE_BEACON_RESAMPLE_PERIOD", + "name": "ESP_WIFI_SLP_SAMPLE_BEACON_RESAMPLE_PERIOD", + "range": null, + "title": "Resample period", + "type": "int" + } + ], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "id": "component-config-wi-fi-beacon-sample-configuration-options-home-claw-.platformio-packages-framework-espidf-components-esp_wifi-Kconfig-524", + "title": "Beacon Sample Configuration Options", + "type": "menu" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Maximum number of encrypted peers supported by espnow.\nThe number of hardware keys for encryption is fixed. And the espnow and SoftAP share the same\nhardware keys. So this configuration will affect the maximum connection number of SoftAP.\nMaximum espnow encrypted peers number + maximum number of connections of SoftAP = Max hardware\nkeys number. When using ESP mesh, this value should be set to a maximum of 6.", + "id": "ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM", + "name": "ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM", + "range": [ + 0, + 17 + ], + "title": "Maximum espnow encrypt peers number", + "type": "int" + }, + { + "children": [], + "depends_on": "SOC_WIFI_NAN_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable Wi-Fi Aware: Synchronization feature (NAN-Sync).", + "id": "ESP_WIFI_NAN_SYNC_ENABLE", + "name": "ESP_WIFI_NAN_SYNC_ENABLE", + "range": null, + "title": "Enable Wi-Fi Aware: Synchronization (NAN-Sync)", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_EXPERIMENTAL_FEATURES && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable Wi-Fi Aware: Unsynchronized service discovery (NAN-USD)", + "id": "ESP_WIFI_NAN_USD_ENABLE", + "name": "ESP_WIFI_NAN_USD_ENABLE", + "range": null, + "title": "Enable Wi-Fi Aware: Unsynchronized service discovery (NAN-USD)", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_MBEDTLS_TLS_CLIENT && IDF_EXPERIMENTAL_FEATURES && ESP_WIFI_MBEDTLS_CRYPTO && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to support EAP with TLS v1.3.\nThis configuration still supports compatibility with EAP-TLS v1.2.\nPlease note that enabling this configuration will cause every application which\nuses TLS go for TLS1.3 if server supports that. TLS1.3 is still in development in mbedtls\nand there may be interoperability issues with this. Please modify your application to set\nmax version as TLS1.2 if you want to enable TLS1.3 only for WiFi connection.", + "id": "ESP_WIFI_EAP_TLS1_3", + "name": "ESP_WIFI_EAP_TLS1_3", + "range": null, + "title": "Enable EAP-TLS v1.3 Support for WiFi Enterprise connection", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_ENTERPRISE_SUPPORT && ESP_WIFI_MBEDTLS_CRYPTO && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to use MbedTLS TLS client for WPA2 enterprise connection.\nPlease note that from MbedTLS-3.0 onwards, MbedTLS does not support SSL-3.0\nTLS-v1.0, TLS-v1.1 versions. In case your server is using one of these version,\nit is advisable to update your server.\nPlease disable this option for compatibility with older TLS versions.", + "id": "ESP_WIFI_MBEDTLS_TLS_CLIENT", + "name": "ESP_WIFI_MBEDTLS_TLS_CLIENT", + "range": null, + "title": "Use MbedTLS TLS client for WiFi Enterprise connection", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to enable the use of MbedTLS crypto APIs.\nThe internal crypto support within the supplicant is limited\nand may not suffice for all new security features, including WPA3.\n\nIt is recommended to always keep this option enabled. Additionally,\nnote that MbedTLS can leverage hardware acceleration if available,\nresulting in significantly faster cryptographic operations.", + "id": "ESP_WIFI_MBEDTLS_CRYPTO", + "name": "ESP_WIFI_MBEDTLS_CRYPTO", + "range": null, + "title": "Use MbedTLS crypto APIs", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_WIFI_WAPI_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to enable WAPI-PSK\nwhich is a Chinese National Standard Encryption for Wireless LANs (GB 15629.11-2003).", + "id": "ESP_WIFI_WAPI_PSK", + "name": "ESP_WIFI_WAPI_PSK", + "range": null, + "title": "Enable WAPI PSK support", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENTERPRISE_SUPPORT && SOC_WIFI_GCMP_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to enable 192 bit NSA suite-B.\nThis is necessary to support WPA3 192 bit security.", + "id": "ESP_WIFI_SUITE_B_192", + "name": "ESP_WIFI_SUITE_B_192", + "range": null, + "title": "Enable NSA suite B support with 192 bit key", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_11KV_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to enable 802.11k APIs(RRM support).\nOnly APIs which are helpful for network assisted roaming\nare supported for now.\nEnable this option with RRM enabled in sta config\nto make device ready for network assisted roaming.\nRRM: Radio measurements enable STAs to understand the radio environment,\nit enables STAs to observe and gather data on radio link performance\nand on the radio environment. Current implementation adds beacon report,\nlink measurement, neighbor report.", + "id": "ESP_WIFI_RRM_SUPPORT", + "name": "ESP_WIFI_RRM_SUPPORT", + "range": null, + "title": "Enable 802.11k APIs Support", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_11KV_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to enable 802.11v APIs(BTM support).\nOnly APIs which are helpful for network assisted roaming\nare supported for now.\nEnable this option with BTM enabled in sta config\nto make device ready for network assisted roaming.\nBTM: BSS transition management enables an AP to request a station to transition\nto a specific AP, or to indicate to a station a set of preferred APs.", + "id": "ESP_WIFI_WNM_SUPPORT", + "name": "ESP_WIFI_WNM_SUPPORT", + "range": null, + "title": "Enable 802.11v APIs Support", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to enable 802.11k 802.11v APIs(RRM and BTM support).", + "id": "ESP_WIFI_11KV_SUPPORT", + "name": "ESP_WIFI_11KV_SUPPORT", + "range": null, + "title": "Enable 802.11k, 802.11v APIs Support", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_RRM_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Keep scan results in cache, if not enabled, those\nwill be flushed immediately.", + "id": "ESP_WIFI_SCAN_CACHE", + "name": "ESP_WIFI_SCAN_CACHE", + "range": null, + "title": "Keep scan results in cache", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to enable WiFi Multiband operation certification support.", + "id": "ESP_WIFI_MBO_SUPPORT", + "name": "ESP_WIFI_MBO_SUPPORT", + "range": null, + "title": "Enable Multi Band Operation Certification Support", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_ROAMING_LOW_RSSI_ROAMING && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "WiFi RSSI threshold to trigger roaming value in dBm (-99 to -1). Values under -30 dbm\nmight lead to a flood of low rssi events. This interferes with normal functioning and\nTX/Rx performance.", + "id": "ESP_WIFI_ROAMING_LOW_RSSI_THRESHOLD", + "name": "ESP_WIFI_ROAMING_LOW_RSSI_THRESHOLD", + "range": null, + "title": "WiFi RSSI threshold to trigger roaming", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ROAMING_LOW_RSSI_ROAMING && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Decide the offset by which to decrease the Low RSSI threshold set by ESP_WIFI_ROAMING_LOW_RSSI_THRESHOLD\nafter each failed attempt to roam. This allows for the station to keep scanning for better AP's after\nthe Low RSSI threshold is reached in a stepped manner, rather than only attempting to roam the first time\nthe current AP's RSSI breaches the set RSSI threshold.\nSetting 0 here may cause station to be flooded with low rssi events,\ntherefore that's not recommended to be kept.", + "id": "ESP_WIFI_ROAMING_LOW_RSSI_OFFSET", + "name": "ESP_WIFI_ROAMING_LOW_RSSI_OFFSET", + "range": null, + "title": "Offset by which to reset the RSSI Threshold after attempt to roam.", + "type": "int" + } + ], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable to use a RSSI threshold to trigger roaming.", + "id": "ESP_WIFI_ROAMING_LOW_RSSI_ROAMING", + "name": "ESP_WIFI_ROAMING_LOW_RSSI_ROAMING", + "range": null, + "title": "Use Low RSSI to trigger roaming.", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_ROAMING_PERIODIC_SCAN_MONITOR && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Threshold at which the station will begin scanning to find an AP with better RSSI.", + "id": "ESP_WIFI_ROAMING_PERIODIC_SCAN_THRESHOLD", + "name": "ESP_WIFI_ROAMING_PERIODIC_SCAN_THRESHOLD", + "range": null, + "title": "Threshold at which to begin periodic scanning for a better AP.", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ROAMING_PERIODIC_SCAN_MONITOR && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Intervals at which station will periodically scan to check if better AP is available", + "id": "ESP_WIFI_ROAMING_SCAN_MONITOR_INTERVAL", + "name": "ESP_WIFI_ROAMING_SCAN_MONITOR_INTERVAL", + "range": null, + "title": "Time intervals (in seconds) at which station will initiate a scan", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ROAMING_PERIODIC_SCAN_MONITOR && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Minimum RSSI difference b/w current AP and a potential roaming candidate AP\nto trigger a roaming attempt.", + "id": "ESP_WIFI_ROAMING_SCAN_ROAM_RSSI_DIFF", + "name": "ESP_WIFI_ROAMING_SCAN_ROAM_RSSI_DIFF", + "range": null, + "title": "RSSI difference b/w current AP and candidate AP to initiate connection", + "type": "int" + } + ], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Conduct periodic scans periodically to check if a better AP is available.", + "id": "ESP_WIFI_ROAMING_PERIODIC_SCAN_MONITOR", + "name": "ESP_WIFI_ROAMING_PERIODIC_SCAN_MONITOR", + "range": null, + "title": "Conduct periodic scans to check if a better AP is available", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "id": "component-config-wi-fi-advanced-support-for-wi-fi-roaming-experimental--configure-roaming-app-roaming-triggers-home-claw-.platformio-packages-framework-espidf-components-esp_wifi-wifi_apps-roaming_app-src-Kconfig.roaming-2", + "title": "Roaming triggers", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Roaming between APs that do not support 802.11v.\nThis will allow station to roam even when connection is not BTM supported,\nby forcefully disconnecting from current AP and connecting to better AP.", + "id": "ESP_WIFI_ROAMING_LEGACY_ROAMING", + "name": "ESP_WIFI_ROAMING_LEGACY_ROAMING", + "range": null, + "title": "Support Legacy roaming approach", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_ROAMING_NETWORK_ASSISTED_ROAM && ESP_WIFI_ROAMING_LEGACY_ROAMING && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Retry threshold after which the station should stop using Network Assisted\nroaming methods and start using legacy roaming instead.", + "id": "ESP_WIFI_NETWORK_ASSISTED_ROAMING_RETRY_COUNT", + "name": "ESP_WIFI_NETWORK_ASSISTED_ROAMING_RETRY_COUNT", + "range": null, + "title": "Retry count after which to switch to legacy roaming", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ROAMING_NETWORK_ASSISTED_ROAM && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Station will not ask for IP renew after a BTM based roaming. Before enabling please\nmake sure your network supports this.", + "id": "ESP_WIFI_NETWORK_ASSISTED_ROAMING_IP_RENEW_SKIP", + "name": "ESP_WIFI_NETWORK_ASSISTED_ROAMING_IP_RENEW_SKIP", + "range": null, + "title": "Skip IP renew during BTM based roaming", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_WNM_SUPPORT && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Roaming between APs using network assisted Roaming.\nThis involves BSS Transition Management mechanisms outlined in 802.11v.\nNote that this moves the responsibility to the AP's network, and hence isn't\nguaranteed to cause the station to attempt to roam each time.", + "id": "ESP_WIFI_ROAMING_NETWORK_ASSISTED_ROAM", + "name": "ESP_WIFI_ROAMING_NETWORK_ASSISTED_ROAM", + "range": null, + "title": "Support Network Assisted roaming using 802.11v", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "id": "component-config-wi-fi-advanced-support-for-wi-fi-roaming-experimental--configure-roaming-app-roaming-methods-home-claw-.platformio-packages-framework-espidf-components-esp_wifi-wifi_apps-roaming_app-src-Kconfig.roaming-64", + "title": "Roaming Methods", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Minimum duration of active scanning per channel in milliseconds.", + "id": "ESP_WIFI_ROAMING_SCAN_MIN_SCAN_TIME", + "name": "ESP_WIFI_ROAMING_SCAN_MIN_SCAN_TIME", + "range": null, + "title": "Minimum duration (in milliseconds) of station's per channel active scan", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Maximum duration of active scanning per channel in milliseconds.", + "id": "ESP_WIFI_ROAMING_SCAN_MAX_SCAN_TIME", + "name": "ESP_WIFI_ROAMING_SCAN_MAX_SCAN_TIME", + "range": null, + "title": "Maximum duration (in milliseconds) of station's per channel active scan time", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "If connected, duration for which the station will return to it's home channel for Tx/Rx of\nframes stored in buffers between scanning on consecutive channels.", + "id": "ESP_WIFI_ROAMING_HOME_CHANNEL_DWELL_TIME", + "name": "ESP_WIFI_ROAMING_HOME_CHANNEL_DWELL_TIME", + "range": null, + "title": "Home channel dwell time scanning between consecutive channels", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Channels your wireless network operates on to allow for faster scanning.\nSpecify the channels(between 1-14) in a comma separated manner.", + "id": "ESP_WIFI_ROAMING_SCAN_CHAN_LIST", + "name": "ESP_WIFI_ROAMING_SCAN_CHAN_LIST", + "range": null, + "title": "Preferred channel list for scanning", + "type": "string" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Duration for which the results from the most recent scans can be used\nby the roaming app for determining the roaming candidates.", + "id": "ESP_WIFI_ROAMING_SCAN_EXPIRY_WINDOW", + "name": "ESP_WIFI_ROAMING_SCAN_EXPIRY_WINDOW", + "range": null, + "title": "Scan results expiry window (in seconds)", + "type": "int" + } + ], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "id": "component-config-wi-fi-advanced-support-for-wi-fi-roaming-experimental--configure-roaming-app-scan-configuration-home-claw-.platformio-packages-framework-espidf-components-esp_wifi-wifi_apps-roaming_app-src-Kconfig.roaming-103", + "title": "Scan Configuration", + "type": "menu" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Time to wait (in seconds) by station before registering for the RSSI event again\nor start continuous montoring to find better AP.", + "id": "ESP_WIFI_ROAMING_BACKOFF_TIME", + "name": "ESP_WIFI_ROAMING_BACKOFF_TIME", + "range": null, + "title": "Default time to wait between subsequent roaming attempts.", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_ROAMING_PERIODIC_RRM_MONITORING && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable this to send periodic neighbor report requests to the AP.\nThese neighbor report requests provide information about other APs in the same managed\nnetwork. This information is used for more intelligent roaming.", + "id": "ESP_WIFI_ROAMING_RRM_MONITOR_TIME", + "name": "ESP_WIFI_ROAMING_RRM_MONITOR_TIME", + "range": null, + "title": "Time interval (in seconds) between neighbor report requests to an AP", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ROAMING_PERIODIC_RRM_MONITORING && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "The RSSI threshold beyond which we start sending periodic neighbor report requests.", + "id": "ESP_WIFI_ROAMING_RRM_MONITOR_THRESHOLD", + "name": "ESP_WIFI_ROAMING_RRM_MONITOR_THRESHOLD", + "range": null, + "title": "Threshold for sending periodic neighbor report requests", + "type": "int" + } + ], + "depends_on": "ESP_WIFI_RRM_SUPPORT && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "This option will enable station to keep sending RRM neighbor list request to AP and\nupdate its internal list.", + "id": "ESP_WIFI_ROAMING_PERIODIC_RRM_MONITORING", + "name": "ESP_WIFI_ROAMING_PERIODIC_RRM_MONITORING", + "range": null, + "title": "Send periodic neighbor report request to AP for internal list updation", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_ROAMING_AUTO_BLACKLISTING && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Maximum number of connection failures before a BSSID is blacklisted.", + "id": "ESP_WIFI_ROAMING_MAX_CONN_FAILURES", + "name": "ESP_WIFI_ROAMING_MAX_CONN_FAILURES", + "range": null, + "title": "Maximum connection failures", + "type": "int" + } + ], + "depends_on": "ESP_WIFI_ROAMING_BSSID_BLACKLIST && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable this to automatically blacklist BSSIDs after multiple failed connection attempts.", + "id": "ESP_WIFI_ROAMING_AUTO_BLACKLISTING", + "name": "ESP_WIFI_ROAMING_AUTO_BLACKLISTING", + "range": null, + "title": "Enable automatic BSSID blacklisting", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ROAMING_BSSID_BLACKLIST && ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Time in seconds for which a BSSID remains in the blacklist.\nThis applies to both automatically and manually blacklisted BSSIDs.", + "id": "ESP_WIFI_ROAMING_BLACKLIST_TIMEOUT", + "name": "ESP_WIFI_ROAMING_BLACKLIST_TIMEOUT", + "range": null, + "title": "Blacklist timeout (in seconds)", + "type": "int" + } + ], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable this to blacklist BSSIDs.", + "id": "ESP_WIFI_ROAMING_BSSID_BLACKLIST", + "name": "ESP_WIFI_ROAMING_BSSID_BLACKLIST", + "range": null, + "title": "Enable BSSID blacklisting", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Maximum number of roaming candidates to consider. This also defines the size of the blacklist.", + "id": "ESP_WIFI_ROAMING_MAX_CANDIDATES", + "name": "ESP_WIFI_ROAMING_MAX_CANDIDATES", + "range": null, + "title": "Maximum number of roaming candidates", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "If the currently connected AP sends a \"transition disable\" bit,\nthis option will make the roaming logic ignore less secure APs.\nThis helps prevent security downgrades when roaming in a mixed\nsecurity environment (e.g., WPA2/WPA3).", + "id": "ESP_WIFI_ROAMING_PREVENT_DOWNGRADE", + "name": "ESP_WIFI_ROAMING_PREVENT_DOWNGRADE", + "range": null, + "title": "Prevent security downgrade when roaming", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "id": "component-config-wi-fi-advanced-support-for-wi-fi-roaming-experimental--configure-roaming-app-blacklist-configuration-home-claw-.platformio-packages-framework-espidf-components-esp_wifi-wifi_apps-roaming_app-src-Kconfig.roaming-180", + "title": "Blacklist Configuration", + "type": "menu" + } + ], + "depends_on": "ESP_WIFI_ENABLE_ROAMING_APP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "id": "component-config-wi-fi-advanced-support-for-wi-fi-roaming-experimental--configure-roaming-app-home-claw-.platformio-packages-framework-espidf-components-esp_wifi-Kconfig-725", + "title": "Configure roaming App", + "type": "menu" + } + ], + "depends_on": "IDF_EXPERIMENTAL_FEATURES && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable Espressif's roaming app to allow for efficient Wi-Fi roaming.\nThis includes configurable periodic environment scans, maintaining a cache of the\nbest APs, handling low rssi events etc.\n\nRisk Warning\nPlease note that this feature is still experimental and enabling this potentially can\nlead to unpredictable scanning, connection and roaming attempts.\nWe are still working on tuning and optimising this feature to ensure reliable and stable use.", + "id": "ESP_WIFI_ENABLE_ROAMING_APP", + "name": "ESP_WIFI_ENABLE_ROAMING_APP", + "range": null, + "title": "Advanced support for Wi-Fi Roaming (Experimental)", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to enable WiFi Easy Connect Support.", + "id": "ESP_WIFI_DPP_SUPPORT", + "name": "ESP_WIFI_DPP_SUPPORT", + "range": null, + "title": "Enable DPP support", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to enable WiFi Fast Transition Support.", + "id": "ESP_WIFI_11R_SUPPORT", + "name": "ESP_WIFI_11R_SUPPORT", + "range": null, + "title": "Enable 802.11R (Fast Transition) Support", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_SOFTAP_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this option to enable WPS registrar support in softAP mode.", + "id": "ESP_WIFI_WPS_SOFTAP_REGISTRAR", + "name": "ESP_WIFI_WPS_SOFTAP_REGISTRAR", + "range": null, + "title": "Add WPS Registrar support in SoftAP mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_WIFI_HE_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable Wi-Fi transmission statistics. Total support 4 access category. Each access category\nwill use 346 bytes memory.", + "id": "ESP_WIFI_ENABLE_WIFI_TX_STATS", + "name": "ESP_WIFI_ENABLE_WIFI_TX_STATS", + "range": null, + "title": "Enable Wi-Fi transmission statistics", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_ENABLE_WIFI_RX_STATS && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable Wi-Fi DL MU-MIMO and DL OFDMA reception statistics. Will use 10932 bytes memory.", + "id": "ESP_WIFI_ENABLE_WIFI_RX_MU_STATS", + "name": "ESP_WIFI_ENABLE_WIFI_RX_MU_STATS", + "range": null, + "title": "Enable Wi-Fi DL MU-MIMO and DL OFDMA reception statistics", + "type": "bool" + } + ], + "depends_on": "SOC_WIFI_HE_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable Wi-Fi reception statistics. Total support 2 access category. Each access category\nwill use 190 bytes memory.", + "id": "ESP_WIFI_ENABLE_WIFI_RX_STATS", + "name": "ESP_WIFI_ENABLE_WIFI_RX_STATS", + "range": null, + "title": "Enable Wi-Fi reception statistics", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_WIFI_HE_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Set the maximum number of queue that can be aggregated by the STA in the A-MPDU carried in the\nHE TB PPDU.", + "id": "ESP_WIFI_TX_HETB_QUEUE_NUM", + "name": "ESP_WIFI_TX_HETB_QUEUE_NUM", + "range": [ + 1, + 4 + ], + "title": "WiFi TX HE TB QUEUE number for STA HE TB PPDU transmission", + "type": "int" + }, + { + "children": [], + "depends_on": "SOC_WIFI_SUPPORT_5G && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable Wi-Fi dump HE-SIGB which is contained in DL HE MU PPDUs.", + "id": "ESP_WIFI_ENABLE_DUMP_HESIGB", + "name": "ESP_WIFI_ENABLE_DUMP_HESIGB", + "range": null, + "title": "Enable Wi-Fi dump HE-SIGB which is contained in DL HE MU PPDUs", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_WIFI_SUPPORT_5G && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable Wi-Fi dump MU CFO.", + "id": "ESP_WIFI_ENABLE_DUMP_MU_CFO", + "name": "ESP_WIFI_ENABLE_DUMP_MU_CFO", + "range": null, + "title": "Enable Wi-Fi dump MU CFO", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_WIFI_SUPPORT_5G && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable Wi-Fi dump NDPA frames.", + "id": "ESP_WIFI_ENABLE_DUMP_CTRL_NDPA", + "name": "ESP_WIFI_ENABLE_DUMP_CTRL_NDPA", + "range": null, + "title": "Enable Wi-Fi dump NDPA frames", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_WIFI_SUPPORT_5G && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable Wi-Fi dump BFRP frames.", + "id": "ESP_WIFI_ENABLE_DUMP_CTRL_BFRP", + "name": "ESP_WIFI_ENABLE_DUMP_CTRL_BFRP", + "range": null, + "title": "Enable Wi-Fi dump BFRP frames", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to enable validate each WPS attribute\nrigorously. Disabling this add the workarounds with various APs.\nEnabling this may cause inter operability issues with some APs.", + "id": "ESP_WIFI_WPS_STRICT", + "name": "ESP_WIFI_WPS_STRICT", + "range": null, + "title": "Strictly validate all WPS attributes", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to get passphrase during WPS configuration.\nThis option fakes the virtual display capabilities to get the\nconfiguration in passphrase mode.\nNot recommended to be used since WPS credentials should not\nbe shared to other devices, making it in readable format increases\nthat risk, also passphrase requires pbkdf2 to convert in psk.", + "id": "ESP_WIFI_WPS_PASSPHRASE", + "name": "ESP_WIFI_WPS_PASSPHRASE", + "range": null, + "title": "Get WPA2 passphrase in WPS config", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to enable reconnection to previous SSID if WPS fails.\nThis option will only work if station was connected to a network\nwhen WPS was started.", + "id": "ESP_WIFI_WPS_RECONNECT_ON_FAIL", + "name": "ESP_WIFI_WPS_RECONNECT_ON_FAIL", + "range": null, + "title": "Reconnect to previous SSID if WPS failed", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "id": "component-config-wi-fi-wps-configuration-options-home-claw-.platformio-packages-framework-espidf-components-esp_wifi-Kconfig-810", + "title": "WPS Configuration Options", + "type": "menu" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to print logging information from WPA supplicant,\nthis includes handshake information and key hex dumps depending\non the project logging level.\n\nEnabling this could increase the build size ~60kb\ndepending on the project logging level.", + "id": "ESP_WIFI_DEBUG_PRINT", + "name": "ESP_WIFI_DEBUG_PRINT", + "range": null, + "title": "Print debug messages from WPA Supplicant", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ESP_WIFI_ENTERPRISE_SUPPORT && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Select this configuration to free dynamic buffers during WiFi enterprise connection.\nThis will enable chip to reduce heap consumption during WiFi enterprise connection.", + "id": "ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER", + "name": "ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER", + "range": null, + "title": "Free dynamic buffers during WiFi enterprise connection", + "type": "bool" + } + ], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this to enable/disable enterprise connection support.\n\ndisabling this will reduce binary size.\ndisabling this will disable the use of any esp_wifi_sta_wpa2_ent_* (as APIs will be meaningless)\n\nNote that when using bigger certificates on low-power chips without crypto\nhardware acceleration, it is recommended to adjust the task watchdog timer (TWDT)\nif it is enabled. For precise information on timing requirements, you can check\nperformance numbers at https://github.com/espressif/mbedtls/wiki/Performance-Numbers.", + "id": "ESP_WIFI_ENTERPRISE_SUPPORT", + "name": "ESP_WIFI_ENTERPRISE_SUPPORT", + "range": null, + "title": "Enable enterprise option", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENHANCED_LIGHT_SLEEP && (ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED)", + "help": "Enable debug assertions to verify modem RF flag update operations.\nThis option enables assert checks to verify that modem RF power state\nis correctly cleared before pmu sleep.", + "id": "ESP_WIFI_MODEM_RF_FLAG_UPDATE_DEBUG", + "name": "ESP_WIFI_MODEM_RF_FLAG_UPDATE_DEBUG", + "range": null, + "title": "Enable debug assertions for modem RF flag update", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_WIFI_ENABLED || ESP_HOST_WIFI_ENABLED", + "help": "Select this option to enable/disable support for station connections\nto hidden APs using passive scan when the country policy is set to auto.", + "id": "ESP_WIFI_PASSIVE_HIDDEN_AP_SUPPORT", + "name": "ESP_WIFI_PASSIVE_HIDDEN_AP_SUPPORT", + "range": null, + "title": "Support station connection to hidden APs using passive scan when country policy is auto", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-wi-fi-home-claw-.platformio-packages-framework-espidf-components-esp_wifi-Kconfig-1", + "title": "Wi-Fi", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_COREDUMP_ENABLE_TO_FLASH", + "name": "ESP_COREDUMP_ENABLE_TO_FLASH", + "range": null, + "title": "Flash", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_COREDUMP_ENABLE_TO_UART", + "name": "ESP_COREDUMP_ENABLE_TO_UART", + "range": null, + "title": "UART", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_COREDUMP_ENABLE_TO_NONE", + "name": "ESP_COREDUMP_ENABLE_TO_NONE", + "range": null, + "title": "None", + "type": "bool" + } + ], + "depends_on": null, + "help": "Select place to store core dump: flash, uart or none (to disable core dumps generation).\n\nCore dumps to Flash are not available if PSRAM is used for task stacks.\n\nIf core dump is configured to be stored in flash and custom partition table is used add\ncorresponding entry to your CSV. For examples, please see predefined partition table CSV descriptions\nin the components/partition_table directory.", + "id": "component-config-core-dump-data-destination-home-claw-.platformio-packages-framework-espidf-components-espcoredump-Kconfig-3", + "name": "ESP_COREDUMP_TO_FLASH_OR_UART", + "title": "Data destination", + "type": "choice" + }, + { + "children": [], + "depends_on": "ESP_COREDUMP_ENABLE", + "help": "Storing these sections can help with easier debugging and troubleshooting.\nHowever, additional storage space will be required in the core dump partition.\nAt least 128KB should be reserved, but the actual amount required may vary based\non the application's DRAM usage.\nNote that sections located in external RAM will not be stored.", + "id": "ESP_COREDUMP_CAPTURE_DRAM", + "name": "ESP_COREDUMP_CAPTURE_DRAM", + "range": null, + "title": "Include whole .bss and .data sections and heap data into core dump file", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_COREDUMP_ENABLE_TO_FLASH", + "help": "When enabled, if any data are found on the flash core dump partition,\nthey will be checked by calculating their checksum.", + "id": "ESP_COREDUMP_CHECK_BOOT", + "name": "ESP_COREDUMP_CHECK_BOOT", + "range": null, + "title": "Check core dump data integrity on boot", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enables/disable core dump module.", + "id": "ESP_COREDUMP_ENABLE", + "name": "ESP_COREDUMP_ENABLE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_COREDUMP_ENABLE", + "help": "Enable/disable coredump logs. Logs strings from espcoredump component are\nplaced in DRAM. Disabling these helps to save ~5KB of internal memory.", + "id": "ESP_COREDUMP_LOGS", + "name": "ESP_COREDUMP_LOGS", + "range": null, + "title": "Enable coredump logs for debugging", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_COREDUMP_ENABLE", + "help": "Maximum number of tasks that will be included in the core dump.\nCrashed task registers and stacks are always included.\nOther tasks are included in order of their priority. (Highest priority ready task first)", + "id": "ESP_COREDUMP_MAX_TASKS_NUM", + "name": "ESP_COREDUMP_MAX_TASKS_NUM", + "range": null, + "title": "Maximum number of tasks", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COREDUMP_ENABLE_TO_UART", + "help": "Config delay (in ms) before printing core dump to UART.\nDelay can be interrupted by pressing Enter key.", + "id": "ESP_COREDUMP_UART_DELAY", + "name": "ESP_COREDUMP_UART_DELAY", + "range": null, + "title": "Delay before print to UART", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COREDUMP_ENABLE_TO_FLASH", + "help": "Don't overwrite an existing core dump already present in flash.\nEnable this option to only keep the first of multiple core dumps.\n\nIf enabled, the core dump partition must be erased before the first\ncore dump can be written.", + "id": "ESP_COREDUMP_FLASH_NO_OVERWRITE", + "name": "ESP_COREDUMP_FLASH_NO_OVERWRITE", + "range": null, + "title": "Don't overwrite existing core dump", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Force the use of a custom DRAM stack for coredump when Task stacks can be in PSRAM.", + "id": "ESP_COREDUMP_USE_STACK_SIZE", + "name": "ESP_COREDUMP_USE_STACK_SIZE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_COREDUMP_ENABLE", + "help": "Size of the memory to be reserved for core dump stack. If 0 core dump process will run on\nthe stack of crashed task/ISR, otherwise special stack will be allocated.\nTo ensure that core dump itself will not overflow task/ISR stack set this to the value around 1300-1800\ndepending on the chosen checksum calculation method. SHA256 method needs more stack space than CRC32.\nNOTE: It eats DRAM.", + "id": "ESP_COREDUMP_STACK_SIZE", + "name": "ESP_COREDUMP_STACK_SIZE", + "range": null, + "title": "Reserved stack size", + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_COREDUMP_ENABLE_TO_FLASH && IDF_TARGET_ARCH_RISCV", + "help": "Size of the buffer that would be reserved for extracting backtrace info summary.\nThis buffer will contain the stack dump of the crashed task. This dump is useful in generating backtrace", + "id": "ESP_COREDUMP_SUMMARY_STACKDUMP_SIZE", + "name": "ESP_COREDUMP_SUMMARY_STACKDUMP_SIZE", + "range": null, + "title": "Size of the stack dump buffer", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_COREDUMP_DECODE_INFO", + "name": "ESP_COREDUMP_DECODE_INFO", + "range": null, + "title": "Decode and show summary (info_corefile)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "ESP_COREDUMP_DECODE_DISABLE", + "name": "ESP_COREDUMP_DECODE_DISABLE", + "range": null, + "title": "Don't decode", + "type": "bool" + } + ], + "depends_on": "ESP_COREDUMP_ENABLE_TO_UART", + "help": null, + "id": "component-config-core-dump-handling-of-uart-core-dumps-in-idf-monitor-home-claw-.platformio-packages-framework-espidf-components-espcoredump-Kconfig-118", + "name": "ESP_COREDUMP_DECODE", + "title": "Handling of UART core dumps in IDF Monitor", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "ESP_COREDUMP_DECODE", + "name": "ESP_COREDUMP_DECODE", + "range": null, + "title": null, + "type": "string" + } + ], + "depends_on": null, + "id": "component-config-core-dump-home-claw-.platformio-packages-framework-espidf-components-espcoredump-Kconfig-1", + "title": "Core dump", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Number of volumes (logical drives) to use.", + "id": "FATFS_VOLUME_COUNT", + "name": "FATFS_VOLUME_COUNT", + "range": [ + 1, + 10 + ], + "title": "Number of volumes", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_LFN_NONE", + "name": "FATFS_LFN_NONE", + "range": null, + "title": "No long filenames", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_LFN_HEAP", + "name": "FATFS_LFN_HEAP", + "range": null, + "title": "Long filename buffer in heap", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_LFN_STACK", + "name": "FATFS_LFN_STACK", + "range": null, + "title": "Long filename buffer on stack", + "type": "bool" + } + ], + "depends_on": null, + "help": "Support long filenames in FAT. Long filename data increases\nmemory usage. FATFS can be configured to store the buffer for\nlong filename data in stack or heap.", + "id": "component-config-fat-filesystem-support-long-filename-support-home-claw-.platformio-packages-framework-espidf-components-fatfs-Kconfig-10", + "name": "FATFS_LONG_FILENAMES", + "title": "Long filename support", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_SECTOR_512", + "name": "FATFS_SECTOR_512", + "range": null, + "title": "512", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_SECTOR_4096", + "name": "FATFS_SECTOR_4096", + "range": null, + "title": "4096", + "type": "bool" + } + ], + "depends_on": null, + "help": "Specify the size of the sector in bytes for FATFS partition generator.", + "id": "component-config-fat-filesystem-support-sector-size-home-claw-.platformio-packages-framework-espidf-components-fatfs-Kconfig-25", + "name": "FATFS_SECTOR_SIZE", + "title": "Sector size", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_DYNAMIC", + "name": "FATFS_CODEPAGE_DYNAMIC", + "range": null, + "title": "Dynamic (all code pages supported)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_437", + "name": "FATFS_CODEPAGE_437", + "range": null, + "title": "US (CP437)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_720", + "name": "FATFS_CODEPAGE_720", + "range": null, + "title": "Arabic (CP720)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_737", + "name": "FATFS_CODEPAGE_737", + "range": null, + "title": "Greek (CP737)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_771", + "name": "FATFS_CODEPAGE_771", + "range": null, + "title": "KBL (CP771)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_775", + "name": "FATFS_CODEPAGE_775", + "range": null, + "title": "Baltic (CP775)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_850", + "name": "FATFS_CODEPAGE_850", + "range": null, + "title": "Latin 1 (CP850)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_852", + "name": "FATFS_CODEPAGE_852", + "range": null, + "title": "Latin 2 (CP852)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_855", + "name": "FATFS_CODEPAGE_855", + "range": null, + "title": "Cyrillic (CP855)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_857", + "name": "FATFS_CODEPAGE_857", + "range": null, + "title": "Turkish (CP857)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_860", + "name": "FATFS_CODEPAGE_860", + "range": null, + "title": "Portuguese (CP860)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_861", + "name": "FATFS_CODEPAGE_861", + "range": null, + "title": "Icelandic (CP861)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_862", + "name": "FATFS_CODEPAGE_862", + "range": null, + "title": "Hebrew (CP862)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_863", + "name": "FATFS_CODEPAGE_863", + "range": null, + "title": "Canadian French (CP863)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_864", + "name": "FATFS_CODEPAGE_864", + "range": null, + "title": "Arabic (CP864)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_865", + "name": "FATFS_CODEPAGE_865", + "range": null, + "title": "Nordic (CP865)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_866", + "name": "FATFS_CODEPAGE_866", + "range": null, + "title": "Russian (CP866)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_869", + "name": "FATFS_CODEPAGE_869", + "range": null, + "title": "Greek 2 (CP869)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_932", + "name": "FATFS_CODEPAGE_932", + "range": null, + "title": "Japanese (DBCS) (CP932)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_936", + "name": "FATFS_CODEPAGE_936", + "range": null, + "title": "Simplified Chinese (DBCS) (CP936)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_949", + "name": "FATFS_CODEPAGE_949", + "range": null, + "title": "Korean (DBCS) (CP949)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_CODEPAGE_950", + "name": "FATFS_CODEPAGE_950", + "range": null, + "title": "Traditional Chinese (DBCS) (CP950)", + "type": "bool" + } + ], + "depends_on": null, + "help": "OEM code page used for file name encodings.\n\nIf \"Dynamic\" is selected, code page can be chosen at runtime using\nf_setcp function. Note that choosing this option will increase\napplication size by ~480kB.", + "id": "component-config-fat-filesystem-support-oem-code-page-home-claw-.platformio-packages-framework-espidf-components-fatfs-Kconfig-36", + "name": "FATFS_CHOOSE_CODEPAGE", + "title": "OEM Code Page", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "FATFS_CODEPAGE", + "name": "FATFS_CODEPAGE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "!FATFS_LFN_NONE", + "help": "Maximum long filename length. Can be reduced to save RAM.", + "id": "FATFS_MAX_LFN", + "name": "FATFS_MAX_LFN", + "range": [ + 12, + 255 + ], + "title": "Max long filename length", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_API_ENCODING_ANSI_OEM", + "name": "FATFS_API_ENCODING_ANSI_OEM", + "range": null, + "title": "API uses ANSI/OEM encoding", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_API_ENCODING_UTF_8", + "name": "FATFS_API_ENCODING_UTF_8", + "range": null, + "title": "API uses UTF-8 encoding", + "type": "bool" + } + ], + "depends_on": "!FATFS_LFN_NONE", + "help": "Choose encoding for character and string arguments/returns when using\nFATFS APIs. The encoding of arguments will usually depend on text\neditor settings.", + "id": "component-config-fat-filesystem-support-api-character-encoding-home-claw-.platformio-packages-framework-espidf-components-fatfs-Kconfig-126", + "name": "FATFS_API_ENCODING", + "title": "API character encoding", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": "This option sets the FATFS configuration value _FS_LOCK.\nThe option _FS_LOCK switches file lock function to control duplicated file open\nand illegal operation to open objects.\n\n* 0: Disable file lock function. To avoid volume corruption, application\nshould avoid illegal open, remove and rename to the open objects.\n\n* >0: Enable file lock function. The value defines how many files/sub-directories\ncan be opened simultaneously under file lock control.\n\nNote that the file lock control is independent of re-entrancy.", + "id": "FATFS_FS_LOCK", + "name": "FATFS_FS_LOCK", + "range": [ + 0, + 65535 + ], + "title": "Number of simultaneously open files protected by lock function", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "This option sets FATFS configuration value _FS_TIMEOUT, scaled to milliseconds.\nSets the number of milliseconds FATFS will wait to acquire a mutex when\noperating on an open file. For example, if one task is performing a lengthy\noperation, another task will wait for the first task to release the lock,\nand time out after amount of time set by this option.", + "id": "FATFS_TIMEOUT_MS", + "name": "FATFS_TIMEOUT_MS", + "range": null, + "title": "Timeout for acquiring a file lock, ms", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "This option affects FATFS configuration value _FS_TINY.\n\nIf this option is set, _FS_TINY is 0, and each open file has its own cache,\nsize of the cache is equal to the _MAX_SS variable (512 or 4096 bytes).\nThis option uses more RAM if more than 1 file is open, but needs less reads\nand writes to the storage for some operations.\n\nIf this option is not set, _FS_TINY is 1, and single cache is used for\nall open files, size is also equal to _MAX_SS variable. This reduces the\namount of heap used when multiple files are open, but increases the number\nof read and write operations which FATFS needs to make.", + "id": "FATFS_PER_FILE_CACHE", + "name": "FATFS_PER_FILE_CACHE", + "range": null, + "title": "Use separate cache for each file", + "type": "bool" + }, + { + "children": [], + "depends_on": "SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC", + "help": "When the option is enabled, internal buffers used by FATFS will be allocated\nfrom external RAM. If the allocation from external RAM fails, the buffer will\nbe allocated from the internal RAM.\nDisable this option if optimizing for performance. Enable this option if\noptimizing for internal memory size.", + "id": "FATFS_ALLOC_PREFER_EXTRAM", + "name": "FATFS_ALLOC_PREFER_EXTRAM", + "range": null, + "title": "Prefer external RAM when allocating FATFS buffers", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "The fast seek feature enables fast backward/long seek operations without\nFAT access by using an in-memory CLMT (cluster link map table).\nPlease note, fast-seek is only allowed for read-mode files, if a\nfile is opened in write-mode, the seek mechanism will automatically fallback\nto the default implementation.", + "id": "FATFS_USE_FASTSEEK", + "name": "FATFS_USE_FASTSEEK", + "range": null, + "title": "Enable fast seek algorithm when using lseek function through VFS FAT", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_USE_STRFUNC_NONE", + "name": "FATFS_USE_STRFUNC_NONE", + "range": null, + "title": "0:Disable", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV", + "name": "FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV", + "range": null, + "title": "1:Enable without LF-CRLF conversion", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_USE_STRFUNC_WITH_CRLF_CONV", + "name": "FATFS_USE_STRFUNC_WITH_CRLF_CONV", + "range": null, + "title": "2:Enable with LF-CRLF conversion", + "type": "bool" + } + ], + "depends_on": null, + "help": "These are specialized alternatives to stdio functions for working\ndirectly with FATFS without VFS. Legacy code may need functions,\nbut for new development, it is advised to use stdio under VFS.\n\n0: Disable. FF_PRINT_LLI, FF_PRINT_FLOAT and FF_STRF_ENCODE have no effect.\n1: Enable without LF-CRLF conversion.\n2: Enable with LF-CRLF conversion.", + "id": "component-config-fat-filesystem-support-enable-string-functions-f_gets-f_putc-f_puts-and-f_printf--home-claw-.platformio-packages-framework-espidf-components-fatfs-Kconfig-208", + "name": "FATFS_USE_STRFUNC_CHOICE", + "title": "Enable string functions, f_gets(), f_putc(), f_puts() and f_printf()", + "type": "choice" + }, + { + "children": [], + "depends_on": "!FATFS_USE_STRFUNC_NONE", + "help": null, + "id": "FATFS_PRINT_LLI", + "name": "FATFS_PRINT_LLI", + "range": null, + "title": "Make fatfs f_printf() support long long argument", + "type": "bool" + }, + { + "children": [], + "depends_on": "!FATFS_USE_STRFUNC_NONE", + "help": null, + "id": "FATFS_PRINT_FLOAT", + "name": "FATFS_PRINT_FLOAT", + "range": null, + "title": "Make fatfs f_printf() support floating point argument", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_STRF_ENCODE_ANSI", + "name": "FATFS_STRF_ENCODE_ANSI", + "range": null, + "title": "0:ANSI/OEM in current CP", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_STRF_ENCODE_UTF16LE", + "name": "FATFS_STRF_ENCODE_UTF16LE", + "range": null, + "title": "1:Unicode in UTF-16LE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_STRF_ENCODE_UTF16BE", + "name": "FATFS_STRF_ENCODE_UTF16BE", + "range": null, + "title": "2:Unicode in UTF-16BE", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FATFS_STRF_ENCODE_UTF8", + "name": "FATFS_STRF_ENCODE_UTF8", + "range": null, + "title": "3:Unicode in UTF-8", + "type": "bool" + } + ], + "depends_on": "!FATFS_LFN_NONE && !FATFS_USE_STRFUNC_NONE", + "help": "When FF_LFN_UNICODE >= 1 with LFN enabled, string functions convert the character\nencoding in it. FF_STRF_ENCODE selects assumption of character encoding ON THE FILE\nto be read/written via those functions.\n0: ANSI/OEM in current CP\n1: Unicode in UTF-16LE\n2: Unicode in UTF-16BE\n3: Unicode in UTF-8", + "id": "component-config-fat-filesystem-support-fatfs-string-functions-convert-character-encoding-home-claw-.platformio-packages-framework-espidf-components-fatfs-Kconfig-240", + "name": "FATFS_STRF_ENCODE_CHOICE", + "title": "FatFS string functions: convert character encoding", + "type": "choice" + }, + { + "children": [], + "depends_on": "FATFS_USE_FASTSEEK", + "help": "If fast seek algorithm is enabled, this defines the size of\nCLMT buffer used by this algorithm in 32-bit word units.\nThis value should be chosen based on prior knowledge of\nmaximum elements of each file entry would store.", + "id": "FATFS_FAST_SEEK_BUFFER_SIZE", + "name": "FATFS_FAST_SEEK_BUFFER_SIZE", + "range": null, + "title": "Fast seek CLMT buffer size", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "If set to 0, the 'newlib' library's default size (BLKSIZ) is used (128 B).\nIf set to a non-zero value, the value is used as the block size.\nDefault file buffer size is set to this value\nand the buffer is allocated when first attempt of reading/writing to a file is made.\nIncreasing this value improves fread() speed, however the heap usage is increased as well.\n\nNOTE: The block size value is shared by all the filesystem functions\naccessing target media for given file descriptor!\nSee 'Improving I/O performance' section of 'Maximizing Execution Speed' documentation page\nfor more details.", + "id": "FATFS_VFS_FSTAT_BLKSIZE", + "name": "FATFS_VFS_FSTAT_BLKSIZE", + "range": null, + "title": "Default block size", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Enables automatic calling of f_sync() to flush recent file changes after each call of vfs_fat_write(),\nvfs_fat_pwrite(), vfs_fat_link(), vfs_fat_truncate() and vfs_fat_ftruncate() functions.\nThis feature improves file-consistency and size reporting accuracy for the FatFS,\nat a price on decreased performance due to frequent disk operations", + "id": "FATFS_IMMEDIATE_FSYNC", + "name": "FATFS_IMMEDIATE_FSYNC", + "range": null, + "title": "Enable automatic f_sync", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Allows FATFS volume label to be specified using f_setlabel", + "id": "FATFS_USE_LABEL", + "name": "FATFS_USE_LABEL", + "range": null, + "title": "Use FATFS volume label", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If enabled, the whole link operation (including file copying) is performed under lock.\nThis ensures that the link operation is atomic, but may cause performance for large files.\nIt may create less fragmented file copy.", + "id": "FATFS_LINK_LOCK", + "name": "FATFS_LINK_LOCK", + "range": null, + "title": "Perform the whole link operation under lock", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If enabled, the buffers used by FATFS will be allocated separately from the rest of the structure.\nThis option is useful when using multiple FATFS instances with different\nsector sizes, as the buffers will be allocated according to the sector size.\nIf disabled, the greatest sector size will be used for all FATFS instances.\n(In most cases, this would be the sector size of Wear Levelling library)\nThis might cause more memory to be used than necessary.", + "id": "FATFS_USE_DYN_BUFFERS", + "name": "FATFS_USE_DYN_BUFFERS", + "range": null, + "title": "Use dynamic buffers", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "If 1, the file system will not trust the free cluster count in the FSINFO (in FATFS struct).\nThis may result in more accurate output from `f_getfree()` function but increased overhead.", + "id": "FATFS_DONT_TRUST_FREE_CLUSTER_CNT", + "name": "FATFS_DONT_TRUST_FREE_CLUSTER_CNT", + "range": [ + 0, + 1 + ], + "title": "Don't trust free cluster count", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "If 1, the file system will not trust the last allocated cluster number in the FSINFO (in FATFS struct).\nThis may result in more accurate output from `f_getfree()` function but increased overhead.", + "id": "FATFS_DONT_TRUST_LAST_ALLOC", + "name": "FATFS_DONT_TRUST_LAST_ALLOC", + "range": [ + 0, + 1 + ], + "title": "Don't trust allocated cluster number", + "type": "int" + } + ], + "depends_on": null, + "id": "component-config-fat-filesystem-support-file-system-free-space-calculation-behavior-home-claw-.platformio-packages-framework-espidf-components-fatfs-Kconfig-325", + "title": "File system free space calculation behavior", + "type": "menu" + } + ], + "depends_on": null, + "id": "component-config-fat-filesystem-support-home-claw-.platformio-packages-framework-espidf-components-fatfs-Kconfig-1", + "title": "FAT Filesystem support", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "!IDF_TARGET_ESP32P4 && !IDF_TARGET_ESP32H4", + "help": "Amazon has released an SMP version of the FreeRTOS Kernel which can be found via the following link:\nhttps://github.com/FreeRTOS/FreeRTOS-Kernel/tree/smp\n\nIDF has added an experimental port of this SMP kernel located in\ncomponents/freertos/FreeRTOS-Kernel-SMP. Enabling this option will cause IDF to use the Amazon SMP\nkernel. Note that THIS FEATURE IS UNDER ACTIVE DEVELOPMENT, users use this at their own risk.\n\nLeaving this option disabled will mean the IDF FreeRTOS kernel is used instead, which is located in:\ncomponents/freertos/FreeRTOS-Kernel. Both kernel versions are SMP capable, but differ in\ntheir implementation and features.", + "id": "FREERTOS_SMP", + "name": "FREERTOS_SMP", + "range": null, + "title": "Run the Amazon SMP FreeRTOS kernel instead (FEATURE UNDER DEVELOPMENT)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This version of FreeRTOS normally takes control of all cores of the CPU. Select this if you only want\nto start it on the first core. This is needed when e.g. another process needs complete control over the\nsecond core.", + "id": "FREERTOS_UNICORE", + "name": "FREERTOS_UNICORE", + "range": null, + "title": "Run FreeRTOS only on first core", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Sets the FreeRTOS tick interrupt frequency in Hz (see configTICK_RATE_HZ documentation for more\ndetails).", + "id": "FREERTOS_HZ", + "name": "FREERTOS_HZ", + "range": [ + 1, + 1000 + ], + "title": "configTICK_RATE_HZ", + "type": "int" + }, + { + "children": [], + "depends_on": "FREERTOS_UNICORE && !FREERTOS_SMP", + "help": "Enables port specific task selection method. This option can speed up the search of ready tasks\nwhen scheduling (see configUSE_PORT_OPTIMISED_TASK_SELECTION documentation for more details).", + "id": "FREERTOS_OPTIMIZED_SCHEDULER", + "name": "FREERTOS_OPTIMIZED_SCHEDULER", + "range": null, + "title": "configUSE_PORT_OPTIMISED_TASK_SELECTION", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Do not check for stack overflows (configCHECK_FOR_STACK_OVERFLOW = 0)", + "id": "FREERTOS_CHECK_STACKOVERFLOW_NONE", + "name": "FREERTOS_CHECK_STACKOVERFLOW_NONE", + "range": null, + "title": "No checking", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Check for stack overflows on each context switch by checking if the stack pointer is in a valid\nrange. Quick but does not detect stack overflows that happened between context switches\n(configCHECK_FOR_STACK_OVERFLOW = 1)", + "id": "FREERTOS_CHECK_STACKOVERFLOW_PTRVAL", + "name": "FREERTOS_CHECK_STACKOVERFLOW_PTRVAL", + "range": null, + "title": "Check by stack pointer value (Method 1)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Places some magic bytes at the end of the stack area and on each context switch, check if these\nbytes are still intact. More thorough than just checking the pointer, but also slightly slower.\n(configCHECK_FOR_STACK_OVERFLOW = 2)", + "id": "FREERTOS_CHECK_STACKOVERFLOW_CANARY", + "name": "FREERTOS_CHECK_STACKOVERFLOW_CANARY", + "range": null, + "title": "Check using canary bytes (Method 2)", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enables FreeRTOS to check for stack overflows (see configCHECK_FOR_STACK_OVERFLOW documentation for\nmore details).\n\nNote: If users do not provide their own ``vApplicationStackOverflowHook()`` function, a default\nfunction will be provided by ESP-IDF.", + "id": "component-config-freertos-kernel-configcheck_for_stack_overflow-home-claw-.platformio-packages-framework-espidf-components-freertos-Kconfig-51", + "name": "FREERTOS_CHECK_STACKOVERFLOW", + "title": "configCHECK_FOR_STACK_OVERFLOW", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": "Set the number of thread local storage pointers in each task (see\nconfigNUM_THREAD_LOCAL_STORAGE_POINTERS documentation for more details).\n\nNote: In ESP-IDF, this value must be at least 1. Index 0 is reserved for use by the pthreads API\nthread-local-storage. Other indexes can be used for any desired purpose.", + "id": "FREERTOS_THREAD_LOCAL_STORAGE_POINTERS", + "name": "FREERTOS_THREAD_LOCAL_STORAGE_POINTERS", + "range": [ + 1, + 256 + ], + "title": "configNUM_THREAD_LOCAL_STORAGE_POINTERS", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Sets the idle task stack size in bytes (see configMINIMAL_STACK_SIZE documentation for more details).\n\nNote:\n\n- ESP-IDF specifies stack sizes in bytes instead of words.\n- The default size is enough for most use cases.\n- The stack size may need to be increased above the default if the app installs idle or thread local\n storage cleanup hooks that use a lot of stack memory.\n- Conversely, the stack size can be reduced to the minimum if non of the idle features are used.", + "id": "FREERTOS_IDLE_TASK_STACKSIZE", + "name": "FREERTOS_IDLE_TASK_STACKSIZE", + "range": [ + 768, + 32768 + ], + "title": "configMINIMAL_STACK_SIZE (Idle task stack size)", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Enables the idle task application hook (see configUSE_IDLE_HOOK documentation for more details).\n\nNote:\n\n- The application must provide the hook function ``void vApplicationIdleHook( void );``\n- ``vApplicationIdleHook()`` is called from FreeRTOS idle task(s)\n- The FreeRTOS idle hook is NOT the same as the ESP-IDF Idle Hook, but both can be enabled\n simultaneously.", + "id": "FREERTOS_USE_IDLE_HOOK", + "name": "FREERTOS_USE_IDLE_HOOK", + "range": null, + "title": "configUSE_IDLE_HOOK", + "type": "bool" + }, + { + "children": [], + "depends_on": "FREERTOS_SMP", + "help": "Enables the minimal idle task application hook (see configUSE_IDLE_HOOK documentation for more\ndetails).\n\nNote:\n\n- The application must provide the hook function ``void vApplicationPassiveIdleHook( void );``\n- ``vApplicationPassiveIdleHook()`` is called from FreeRTOS minimal idle task(s)", + "id": "FREERTOS_USE_PASSIVE_IDLE_HOOK", + "name": "FREERTOS_USE_PASSIVE_IDLE_HOOK", + "range": null, + "title": "Use FreeRTOS minimal idle hook", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enables the tick hook (see configUSE_TICK_HOOK documentation for more details).\n\nNote:\n\n- The application must provide the hook function ``void vApplicationTickHook( void );``\n- ``vApplicationTickHook()`` is called from FreeRTOS's tick handling function ``xTaskIncrementTick()``\n- The FreeRTOS tick hook is NOT the same as the ESP-IDF Tick Interrupt Hook, but both can be enabled\n simultaneously.", + "id": "FREERTOS_USE_TICK_HOOK", + "name": "FREERTOS_USE_TICK_HOOK", + "range": null, + "title": "configUSE_TICK_HOOK", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Sets the maximum number of characters for task names (see configMAX_TASK_NAME_LEN documentation for\nmore details).\n\nNote: For most uses, the default of 16 characters is sufficient.", + "id": "FREERTOS_MAX_TASK_NAME_LEN", + "name": "FREERTOS_MAX_TASK_NAME_LEN", + "range": [ + 1, + 256 + ], + "title": "configMAX_TASK_NAME_LEN", + "type": "int" + }, + { + "children": [], + "depends_on": "!IDF_TARGET_LINUX", + "help": "Enable backward compatibility with APIs prior to FreeRTOS v8.0.0. (see\nconfigENABLE_BACKWARD_COMPATIBILITY documentation for more details).", + "id": "FREERTOS_ENABLE_BACKWARD_COMPATIBILITY", + "name": "FREERTOS_ENABLE_BACKWARD_COMPATIBILITY", + "range": null, + "title": "configENABLE_BACKWARD_COMPATIBILITY", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "FREERTOS_USE_TIMERS", + "help": "Sets the timer task's name (see configTIMER_SERVICE_TASK_NAME documentation for more details).", + "id": "FREERTOS_TIMER_SERVICE_TASK_NAME", + "name": "FREERTOS_TIMER_SERVICE_TASK_NAME", + "range": null, + "title": "configTIMER_SERVICE_TASK_NAME", + "type": "string" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "FREERTOS_TIMER_TASK_AFFINITY_CPU0", + "name": "FREERTOS_TIMER_TASK_AFFINITY_CPU0", + "range": null, + "title": "CPU0", + "type": "bool" + }, + { + "children": [], + "depends_on": "!FREERTOS_UNICORE && ", + "help": null, + "id": "FREERTOS_TIMER_TASK_AFFINITY_CPU1", + "name": "FREERTOS_TIMER_TASK_AFFINITY_CPU1", + "range": null, + "title": "CPU1", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "FREERTOS_TIMER_TASK_NO_AFFINITY", + "name": "FREERTOS_TIMER_TASK_NO_AFFINITY", + "range": null, + "title": "No affinity", + "type": "bool" + } + ], + "depends_on": "FREERTOS_USE_TIMERS", + "help": "Sets the timer task's core affinity\n(see configTIMER_SERVICE_TASK_CORE_AFFINITY documentation for more details).", + "id": "component-config-freertos-kernel-configuse_timers-configtimer_service_task_core_affinity-home-claw-.platformio-packages-framework-espidf-components-freertos-Kconfig-187", + "name": "FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY", + "title": "configTIMER_SERVICE_TASK_CORE_AFFINITY", + "type": "choice" + }, + { + "children": [], + "depends_on": "FREERTOS_USE_TIMERS", + "help": null, + "id": "FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY", + "name": "FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [], + "depends_on": "FREERTOS_USE_TIMERS", + "help": "Sets the timer task's priority (see configTIMER_TASK_PRIORITY documentation for more details).", + "id": "FREERTOS_TIMER_TASK_PRIORITY", + "name": "FREERTOS_TIMER_TASK_PRIORITY", + "range": [ + 1, + 25 + ], + "title": "configTIMER_TASK_PRIORITY", + "type": "int" + }, + { + "children": [], + "depends_on": "FREERTOS_USE_TIMERS", + "help": "Set the timer task's stack size (see configTIMER_TASK_STACK_DEPTH documentation for more details).", + "id": "FREERTOS_TIMER_TASK_STACK_DEPTH", + "name": "FREERTOS_TIMER_TASK_STACK_DEPTH", + "range": [ + 1536, + 32768 + ], + "title": "configTIMER_TASK_STACK_DEPTH", + "type": "int" + }, + { + "children": [], + "depends_on": "FREERTOS_USE_TIMERS", + "help": "Set the timer task's command queue length (see configTIMER_QUEUE_LENGTH documentation for more\ndetails).", + "id": "FREERTOS_TIMER_QUEUE_LENGTH", + "name": "FREERTOS_TIMER_QUEUE_LENGTH", + "range": [ + 5, + 20 + ], + "title": "configTIMER_QUEUE_LENGTH", + "type": "int" + } + ], + "depends_on": null, + "help": "Enable FreeRTOS Software Timers. Normally the timer task will only get pulled into the build\nand created if any software timer related functions are used. This is achieved through IDF\ndefining a weak empty function for xTimerCreateTimerTask, which should take effect if timers.c\nis not pulled into the build.\n\nIn certain special cases (if you use configUSE_TRACE_FACILITY=y and event groups) the linker will\nstill pull in the xTimerCreateTimerTask from timers.c even if the function that utilized it gets\ndiscarded due to not being used.\n\nIn these cases you can use this option to force the timer task to be disabled.", + "id": "FREERTOS_USE_TIMERS", + "name": "FREERTOS_USE_TIMERS", + "range": null, + "title": "configUSE_TIMERS", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Set the size of the queue registry (see configQUEUE_REGISTRY_SIZE documentation for more details).\n\nNote: A value of 0 will disable queue registry functionality", + "id": "FREERTOS_QUEUE_REGISTRY_SIZE", + "name": "FREERTOS_QUEUE_REGISTRY_SIZE", + "range": [ + 0, + 20 + ], + "title": "configQUEUE_REGISTRY_SIZE", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Set the size of the task notification array of each task. When increasing this value, keep in\nmind that this means additional memory for each and every task on the system.\nHowever, task notifications in general are more light weight compared to alternatives\nsuch as semaphores.", + "id": "FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES", + "name": "FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES", + "range": [ + 1, + 32 + ], + "title": "configTASK_NOTIFICATION_ARRAY_ENTRIES", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "FREERTOS_USE_TRACE_FACILITY", + "help": "Set configUSE_TRACE_FACILITY and configUSE_STATS_FORMATTING_FUNCTIONS to 1 to include the\n``vTaskList()`` and ``vTaskGetRunTimeStats()`` functions in the build (see\nconfigUSE_STATS_FORMATTING_FUNCTIONS documentation for more details).", + "id": "FREERTOS_USE_STATS_FORMATTING_FUNCTIONS", + "name": "FREERTOS_USE_STATS_FORMATTING_FUNCTIONS", + "range": null, + "title": "configUSE_STATS_FORMATTING_FUNCTIONS", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enables additional structure members and functions to assist with execution visualization and tracing\n(see configUSE_TRACE_FACILITY documentation for more details).", + "id": "FREERTOS_USE_TRACE_FACILITY", + "name": "FREERTOS_USE_TRACE_FACILITY", + "range": null, + "title": "configUSE_TRACE_FACILITY", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable list integrity checker\n(see configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES documentation for more details).", + "id": "FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES", + "name": "FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES", + "range": null, + "title": "configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES", + "type": "bool" + }, + { + "children": [], + "depends_on": "!FREERTOS_SMP && FREERTOS_USE_STATS_FORMATTING_FUNCTIONS", + "help": "If enabled, this will include an extra column when vTaskList is called to display the CoreID the task\nis pinned to (0,1) or -1 if not pinned.", + "id": "FREERTOS_VTASKLIST_INCLUDE_COREID", + "name": "FREERTOS_VTASKLIST_INCLUDE_COREID", + "range": null, + "title": "Enable display of xCoreID in vTaskList", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "configRUN_TIME_COUNTER_TYPE is set to uint32_t", + "id": "FREERTOS_RUN_TIME_COUNTER_TYPE_U32", + "name": "FREERTOS_RUN_TIME_COUNTER_TYPE_U32", + "range": null, + "title": "uint32_t", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "configRUN_TIME_COUNTER_TYPE is set to uint64_t", + "id": "FREERTOS_RUN_TIME_COUNTER_TYPE_U64", + "name": "FREERTOS_RUN_TIME_COUNTER_TYPE_U64", + "range": null, + "title": "uint64_t", + "type": "bool" + } + ], + "depends_on": "FREERTOS_GENERATE_RUN_TIME_STATS", + "help": "Sets the data type used for the FreeRTOS run time stats. A larger data type can be used to reduce the\nfrequency of the counter overflowing.", + "id": "component-config-freertos-kernel-configgenerate_run_time_stats-configrun_time_counter_type-home-claw-.platformio-packages-framework-espidf-components-freertos-Kconfig-300", + "name": "FREERTOS_RUN_TIME_COUNTER_TYPE", + "title": "configRUN_TIME_COUNTER_TYPE", + "type": "choice" + } + ], + "depends_on": null, + "help": "Enables collection of run time statistics for each task (see configGENERATE_RUN_TIME_STATS\ndocumentation for more details).\n\nNote: The clock used for run time statistics can be configured in FREERTOS_RUN_TIME_STATS_CLK.", + "id": "FREERTOS_GENERATE_RUN_TIME_STATS", + "name": "FREERTOS_GENERATE_RUN_TIME_STATS", + "range": null, + "title": "configGENERATE_RUN_TIME_STATS", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "FREERTOS_USE_TICKLESS_IDLE", + "help": "FreeRTOS will enter light sleep mode if no tasks need to run for this number of ticks.\nYou can enable PM_PROFILING feature in esp_pm components and dump the sleep status with\nesp_pm_dump_locks, if the proportion of rejected sleeps is too high, please increase\nthis value to improve scheduling efficiency", + "id": "FREERTOS_IDLE_TIME_BEFORE_SLEEP", + "name": "FREERTOS_IDLE_TIME_BEFORE_SLEEP", + "range": null, + "title": "configEXPECTED_IDLE_TIME_BEFORE_SLEEP", + "type": "int" + } + ], + "depends_on": "PM_ENABLE", + "help": "If power management support is enabled, FreeRTOS will be able to put the system into light sleep mode\nwhen no tasks need to run for a number of ticks. This number can be set using\nFREERTOS_IDLE_TIME_BEFORE_SLEEP option. This feature is also known as \"automatic light sleep\".\n\nNote that timers created using esp_timer APIs may prevent the system from entering sleep mode, even\nwhen no tasks need to run. To skip unnecessary wake-up initialize a timer with the\n\"skip_unhandled_events\" option as true.\n\nIf disabled, automatic light sleep support will be disabled.", + "id": "FREERTOS_USE_TICKLESS_IDLE", + "name": "FREERTOS_USE_TICKLESS_IDLE", + "range": null, + "title": "configUSE_TICKLESS_IDLE", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enables task tagging functionality and its associated API (see configUSE_APPLICATION_TASK_TAG\ndocumentation for more details).", + "id": "FREERTOS_USE_APPLICATION_TASK_TAG", + "name": "FREERTOS_USE_APPLICATION_TASK_TAG", + "range": null, + "title": "configUSE_APPLICATION_TASK_TAG", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-freertos-kernel-home-claw-.platformio-packages-framework-espidf-components-freertos-Kconfig-3", + "title": "Kernel", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "COMPILER_OPTIMIZATION_DEBUG || ESP_COREDUMP_ENABLE || ESP_SYSTEM_PANIC_GDBSTUB || ESP_SYSTEM_GDBSTUB_RUNTIME", + "help": "If enabled, all FreeRTOS task functions will be enclosed in a wrapper function. If a task function\nmistakenly returns (i.e. does not delete), the call flow will return to the wrapper function. The\nwrapper function will then log an error and abort the application. This option is also required for GDB\nbacktraces and C++ exceptions to work correctly inside top-level task functions.", + "id": "FREERTOS_TASK_FUNCTION_WRAPPER", + "name": "FREERTOS_TASK_FUNCTION_WRAPPER", + "range": null, + "title": "Wrap task functions", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "FreeRTOS can check if a stack has overflown its bounds by checking either the value of the stack\npointer or by checking the integrity of canary bytes. (See FREERTOS_CHECK_STACKOVERFLOW for more\ninformation.) These checks only happen on a context switch, and the situation that caused the stack\noverflow may already be long gone by then. This option will use the last debug memory watchpoint to\nallow breaking into the debugger (or panic'ing) as soon as any of the last 32 bytes on the stack of a\ntask are overwritten. The side effect is that using gdb, you effectively have one hardware watchpoint\nless because the last one is overwritten as soon as a task switch happens.\n\nAnother consequence is that due to alignment requirements of the watchpoint, the usable stack size\ndecreases by up to 60 bytes. This is because the watchpoint region has to be aligned to its size and\nthe size for the stack watchpoint in IDF is 32 bytes.\n\nThis check only triggers if the stack overflow writes within 32 bytes near the end of the stack, rather\nthan overshooting further, so it is worth combining this approach with one of the other stack overflow\ncheck methods.\n\nWhen this watchpoint is hit, gdb will stop with a SIGTRAP message. When no JTAG OCD is attached,\nesp-idf will panic on an unhandled debug exception.", + "id": "FREERTOS_WATCHPOINT_END_OF_STACK", + "name": "FREERTOS_WATCHPOINT_END_OF_STACK", + "range": null, + "title": "Enable stack overflow debug watchpoint", + "type": "bool" + }, + { + "children": [], + "depends_on": "FREERTOS_THREAD_LOCAL_STORAGE_POINTERS > 0", + "help": "ESP-IDF provides users with the ability to free TLSP memory by registering TLSP deletion callbacks.\nThese callbacks are automatically called by FreeRTOS when a task is deleted. When this option is turned\non, the memory reserved for TLSPs in the TCB is doubled to make space for storing the deletion\ncallbacks. If the user does not wish to use TLSP deletion callbacks then this option could be turned\noff to save space in the TCB memory.", + "id": "FREERTOS_TLSP_DELETION_CALLBACKS", + "name": "FREERTOS_TLSP_DELETION_CALLBACKS", + "range": null, + "title": "Enable thread local storage pointers deletion callbacks", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable this option to make FreeRTOS call a user provided hook function right before it deletes a task\n(i.e., frees/releases a dynamically/statically allocated task's memory). This is useful if users want\nto know when a task is actually deleted (in case the task's deletion is delegated to the IDLE task).\n\nIf this config option is enabled, users must define a ``void vTaskPreDeletionHook( void * pxTCB )``\nhook function in their application.", + "id": "FREERTOS_TASK_PRE_DELETION_HOOK", + "name": "FREERTOS_TASK_PRE_DELETION_HOOK", + "range": null, + "title": "Enable task pre-deletion hook", + "type": "bool" + }, + { + "children": [], + "depends_on": "!FREERTOS_SMP", + "help": "If enabled, assert that when a mutex semaphore is given, the task giving the semaphore is the task\nwhich is currently holding the mutex.", + "id": "FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER", + "name": "FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER", + "range": null, + "title": "Check that mutex semaphore is given by owner task", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "The interrupt handlers have their own stack. The size of the stack can be defined here. Each processor\nhas its own stack, so the total size occupied will be twice this.", + "id": "FREERTOS_ISR_STACKSIZE", + "name": "FREERTOS_ISR_STACKSIZE", + "range": [ + 1536, + 32768 + ], + "title": "ISR stack size", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "If this option is enabled, interrupt stack frame will be modified to point to the code of the\ninterrupted task as its return address. This helps the debugger (or the panic handler) show a backtrace\nfrom the interrupt to the task which was interrupted. This also works for nested interrupts: higher\nlevel interrupt stack can be traced back to the lower level interrupt. This option adds 4 instructions\nto the interrupt dispatching code.", + "id": "FREERTOS_INTERRUPT_BACKTRACE", + "name": "FREERTOS_INTERRUPT_BACKTRACE", + "range": null, + "title": "Enable backtrace from interrupt to task context", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_CPU_HAS_FPU && (IDF_TARGET_ESP32 || IDF_TARGET_ESP32S3)", + "help": "When enabled, the usage of float type is allowed inside Level 1 ISRs. Note that usage of float types in\nhigher level interrupts is still not permitted.", + "id": "FREERTOS_FPU_IN_ISR", + "name": "FREERTOS_FPU_IN_ISR", + "range": null, + "title": "Use float in Level 1 ISR", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "FREERTOS_TICK_SUPPORT_CORETIMER", + "name": "FREERTOS_TICK_SUPPORT_CORETIMER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "FREERTOS_TICK_SUPPORT_SYSTIMER", + "name": "FREERTOS_TICK_SUPPORT_SYSTIMER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "FREERTOS_TICK_SUPPORT_CORETIMER && ", + "help": "Select this to use timer 0", + "id": "FREERTOS_CORETIMER_0", + "name": "FREERTOS_CORETIMER_0", + "range": null, + "title": "Timer 0 (int 6, level 1)", + "type": "bool" + }, + { + "children": [], + "depends_on": "FREERTOS_TICK_SUPPORT_CORETIMER && ", + "help": "Select this to use timer 1", + "id": "FREERTOS_CORETIMER_1", + "name": "FREERTOS_CORETIMER_1", + "range": null, + "title": "Timer 1 (int 15, level 3)", + "type": "bool" + }, + { + "children": [], + "depends_on": "FREERTOS_TICK_SUPPORT_SYSTIMER && ", + "help": "Select this to use systimer with the 1 interrupt priority.", + "id": "FREERTOS_CORETIMER_SYSTIMER_LVL1", + "name": "FREERTOS_CORETIMER_SYSTIMER_LVL1", + "range": null, + "title": "SYSTIMER 0 (level 1)", + "type": "bool" + }, + { + "children": [], + "depends_on": "FREERTOS_TICK_SUPPORT_SYSTIMER && ", + "help": "Select this to use systimer with the 3 interrupt priority.", + "id": "FREERTOS_CORETIMER_SYSTIMER_LVL3", + "name": "FREERTOS_CORETIMER_SYSTIMER_LVL3", + "range": null, + "title": "SYSTIMER 0 (level 3)", + "type": "bool" + } + ], + "depends_on": null, + "help": "FreeRTOS needs a timer with an associated interrupt to use as the main tick source to increase\ncounters, run timers and do pre-emptive multitasking with. There are multiple timers available to do\nthis, with different interrupt priorities.", + "id": "component-config-freertos-port-tick-timer-source-xtensa-only--home-claw-.platformio-packages-framework-espidf-components-freertos-Kconfig-471", + "name": "FREERTOS_CORETIMER", + "title": "Tick timer source (Xtensa Only)", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "FREERTOS_SYSTICK_USES_SYSTIMER", + "name": "FREERTOS_SYSTICK_USES_SYSTIMER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "FREERTOS_SYSTICK_USES_CCOUNT", + "name": "FREERTOS_SYSTICK_USES_CCOUNT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "ESP Timer will be used as the clock source for FreeRTOS run time stats. The ESP Timer runs at a\nfrequency of 1MHz regardless of Dynamic Frequency Scaling. Therefore the ESP Timer will overflow in\napproximately 4290 seconds.", + "id": "FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER", + "name": "FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER", + "range": null, + "title": "Use ESP TIMER for run time stats", + "type": "bool" + }, + { + "children": [], + "depends_on": "FREERTOS_SYSTICK_USES_CCOUNT && ", + "help": "CPU Clock will be used as the clock source for the generation of run time stats. The CPU Clock has\na frequency dependent on ESP_DEFAULT_CPU_FREQ_MHZ and Dynamic Frequency Scaling (DFS). Therefore\nthe CPU Clock frequency can fluctuate between 80 to 240MHz. Run time stats generated using the CPU\nClock represents the number of CPU cycles each task is allocated and DOES NOT reflect the amount of\ntime each task runs for (as CPU clock frequency can change). If the CPU clock consistently runs at\nthe maximum frequency of 240MHz, it will overflow in approximately 17 seconds.", + "id": "FREERTOS_RUN_TIME_STATS_USING_CPU_CLK", + "name": "FREERTOS_RUN_TIME_STATS_USING_CPU_CLK", + "range": null, + "title": "Use CPU Clock for run time stats", + "type": "bool" + } + ], + "depends_on": "FREERTOS_GENERATE_RUN_TIME_STATS", + "help": "Choose the clock source for FreeRTOS run time stats. Options are CPU0's CPU Clock or the ESP Timer.\nBoth clock sources are 32 bits. The CPU Clock can run at a higher frequency hence provide a finer\nresolution but will overflow much quicker. Note that run time stats are only valid until the clock\nsource overflows.", + "id": "component-config-freertos-port-choose-the-clock-source-for-run-time-stats-home-claw-.platformio-packages-framework-espidf-components-freertos-Kconfig-515", + "name": "FREERTOS_RUN_TIME_STATS_CLK", + "title": "Choose the clock source for run time stats", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": "Place FreeRTOS functions in IRAM for better performance.\nBy default, FreeRTOS functions are placed in Flash to save IRAM.\nEnable this option if you need maximum performance for FreeRTOS operations.\n\nNote: This option increases IRAM usage.", + "id": "FREERTOS_IN_IRAM", + "name": "FREERTOS_IN_IRAM", + "range": null, + "title": "Place FreeRTOS functions in IRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "SPI_FLASH_AUTO_SUSPEND", + "help": "When enabled additional FreeRTOS functions which maybe called from an ISR context are\nalso placed in Flash, thus freeing up more IRAM.\nThis option is only applicable when the SPI_FLASH_AUTO_SUSPEND feature is supported.", + "id": "FREERTOS_PLACE_ISR_FUNCTIONS_INTO_FLASH", + "name": "FREERTOS_PLACE_ISR_FUNCTIONS_INTO_FLASH", + "range": null, + "title": "Place FreeRTOS functions called from ISR context into Flash", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If enabled, context of port*_CRITICAL calls (ISR or Non-ISR) would be checked to be in compliance with\nVanilla FreeRTOS. e.g Calling port*_CRITICAL from ISR context would cause assert failure", + "id": "FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE", + "name": "FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE", + "range": null, + "title": "Tests compliance with Vanilla FreeRTOS port*_CRITICAL calls", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-freertos-port-home-claw-.platformio-packages-framework-espidf-components-freertos-Kconfig-359", + "title": "Port", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SPIRAM && FREERTOS_SUPPORT_STATIC_ALLOCATION", + "help": "Accessing memory in PSRAM has certain restrictions, so task stacks allocated by xTaskCreate\nare by default allocated from internal RAM.\n\nThis option allows for passing memory allocated from SPIRAM to be passed to xTaskCreateStatic.\nThis should only be used for tasks where the stack is never accessed while the cache is disabled.\n\nExtra notes for ESP32:\n\nBecause some bits of the ESP32 code environment cannot be recompiled with the cache workaround,\nnormally tasks cannot be safely run with their stack residing in external memory; for this reason\nxTaskCreate (and related task creation functions) always allocate stack in internal memory and\nxTaskCreateStatic will check if the memory passed to it is in internal memory.\nIf you have a task that needs a large amount of stack and does not call on ROM code in any way\n(no direct calls, but also no Bluetooth/WiFi), you can try enable this to\ncause xTaskCreateStatic to allow tasks stack in external memory.", + "id": "FREERTOS_TASK_CREATE_ALLOW_EXT_MEM", + "name": "FREERTOS_TASK_CREATE_ALLOW_EXT_MEM", + "range": null, + "title": "Allow external memory as an argument to xTaskCreateStatic (READ HELP)", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-freertos-extra-home-claw-.platformio-packages-framework-espidf-components-freertos-Kconfig-574", + "title": "Extra", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "FREERTOS_PORT", + "name": "FREERTOS_PORT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "FREERTOS_NO_AFFINITY", + "name": "FREERTOS_NO_AFFINITY", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "FREERTOS_SUPPORT_STATIC_ALLOCATION", + "name": "FREERTOS_SUPPORT_STATIC_ALLOCATION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Hidden option, gets selected by CONFIG_ESP_DEBUG_OCDAWARE", + "id": "FREERTOS_DEBUG_OCDAWARE", + "name": "FREERTOS_DEBUG_OCDAWARE", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "FREERTOS_NUMBER_OF_CORES", + "name": "FREERTOS_NUMBER_OF_CORES", + "range": [ + 1, + 2 + ], + "title": null, + "type": "int" + } + ], + "depends_on": null, + "id": "component-config-freertos-home-claw-.platformio-packages-framework-espidf-components-freertos-Kconfig-1", + "title": "FreeRTOS", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "HAL_ASSERTION_EQUALS_SYSTEM", + "name": "HAL_ASSERTION_EQUALS_SYSTEM", + "range": null, + "title": "Same as system assertion level", + "type": "bool" + }, + { + "children": [], + "depends_on": "COMPILER_OPTIMIZATION_ASSERTION_LEVEL >= 0 && ", + "help": null, + "id": "HAL_ASSERTION_DISABLE", + "name": "HAL_ASSERTION_DISABLE", + "range": null, + "title": "Disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "COMPILER_OPTIMIZATION_ASSERTION_LEVEL >= 1 && ", + "help": null, + "id": "HAL_ASSERTION_SILENT", + "name": "HAL_ASSERTION_SILENT", + "range": null, + "title": "Silent", + "type": "bool" + }, + { + "children": [], + "depends_on": "COMPILER_OPTIMIZATION_ASSERTION_LEVEL >= 2 && ", + "help": null, + "id": "HAL_ASSERTION_ENABLE", + "name": "HAL_ASSERTION_ENABLE", + "range": null, + "title": "Enabled", + "type": "bool" + } + ], + "depends_on": null, + "help": "Set the assert behavior / level for HAL component.\nHAL component assert level can be set separately,\nbut the level can't exceed the system assertion level.\ne.g. If the system assertion is disabled, then the HAL\nassertion can't be enabled either. If the system assertion\nis enable, then the HAL assertion can still be disabled\nby this Kconfig option.", + "id": "component-config-hardware-abstraction-layer-hal-and-low-level-ll--default-hal-assertion-level-home-claw-.platformio-packages-framework-espidf-components-hal-Kconfig-2", + "name": "HAL_DEFAULT_ASSERTION_LEVEL", + "title": "Default HAL assertion level", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "HAL_DEFAULT_ASSERTION_LEVEL", + "name": "HAL_DEFAULT_ASSERTION_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "HAL_LOG_LEVEL_NONE", + "name": "HAL_LOG_LEVEL_NONE", + "range": null, + "title": "No output", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "HAL_LOG_LEVEL_ERROR", + "name": "HAL_LOG_LEVEL_ERROR", + "range": null, + "title": "Error", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "HAL_LOG_LEVEL_WARN", + "name": "HAL_LOG_LEVEL_WARN", + "range": null, + "title": "Warning", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "HAL_LOG_LEVEL_INFO", + "name": "HAL_LOG_LEVEL_INFO", + "range": null, + "title": "Info", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "HAL_LOG_LEVEL_DEBUG", + "name": "HAL_LOG_LEVEL_DEBUG", + "range": null, + "title": "Debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "HAL_LOG_LEVEL_VERBOSE", + "name": "HAL_LOG_LEVEL_VERBOSE", + "range": null, + "title": "Verbose", + "type": "bool" + } + ], + "depends_on": "!LOG_DEFAULT_LEVEL_NONE && !LOG_DEFAULT_LEVEL_ERROR && !LOG_DEFAULT_LEVEL_WARN && !LOG_DEFAULT_LEVEL_INFO && !LOG_DEFAULT_LEVEL_DEBUG && !LOG_DEFAULT_LEVEL_VERBOSE", + "help": "Specify how much output to see in HAL logs.", + "id": "component-config-hardware-abstraction-layer-hal-and-low-level-ll--hal-layer-log-verbosity-home-claw-.platformio-packages-framework-espidf-components-hal-Kconfig-34", + "name": "HAL_LOG_LEVEL", + "title": "HAL layer log verbosity", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "HAL_LOG_LEVEL", + "name": "HAL_LOG_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "ESP_ROM_HAS_HAL_SYSTIMER", + "help": "Enable this flag to use HAL functions from ROM instead of ESP-IDF.\n\nIf keeping this as \"n\" in your project, you will have less free IRAM.\nIf making this as \"y\" in your project, you will increase free IRAM,\nbut you will lose the possibility to debug this module, and some new\nfeatures will be added and bugs will be fixed in the IDF source\nbut cannot be synced to ROM.", + "id": "HAL_SYSTIMER_USE_ROM_IMPL", + "name": "HAL_SYSTIMER_USE_ROM_IMPL", + "range": null, + "title": "Use ROM implementation of SysTimer HAL driver", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_ROM_HAS_HAL_WDT", + "help": "Enable this flag to use HAL functions from ROM instead of ESP-IDF.\n\nIf keeping this as \"n\" in your project, you will have less free IRAM.\nIf making this as \"y\" in your project, you will increase free IRAM,\nbut you will lose the possibility to debug this module, and some new\nfeatures will be added and bugs will be fixed in the IDF source\nbut cannot be synced to ROM.", + "id": "HAL_WDT_USE_ROM_IMPL", + "name": "HAL_WDT_USE_ROM_IMPL", + "range": null, + "title": "Use ROM implementation of WDT HAL driver", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable this flag to use HAL functions from ROM when applicable instead of ESP-IDF.\n\nIf keeping this as \"n\" in your project, you will have less free IRAM.\nWhen compiling an application for a CPU that cannot access to the ROM memory,\nthis option should be disabled.", + "id": "HAL_GPIO_USE_ROM_IMPL", + "name": "HAL_GPIO_USE_ROM_IMPL", + "range": null, + "title": "Use ROM implementation of GPIO HAL driver", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32H2", + "help": "Enable this option to apply the countermeasure for ECDSA signature operation\nThis countermeasure masks the real ECDSA sign operation\nunder dummy sign operations to add randomness in the generated power signature.\nThis countermeasure is only necessary for ESP32-H2 < v1.2.", + "id": "HAL_ECDSA_GEN_SIG_CM", + "name": "HAL_ECDSA_GEN_SIG_CM", + "range": null, + "title": "Enable countermeasure for ECDSA signature generation", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-hardware-abstraction-layer-hal-and-low-level-ll--home-claw-.platformio-packages-framework-espidf-components-hal-Kconfig-1", + "title": "Hardware Abstraction Layer (HAL) and Low Level (LL)", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "HEAP_HAS_EXEC_HEAP", + "name": "HEAP_HAS_EXEC_HEAP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "HEAP_POISONING_DISABLED", + "name": "HEAP_POISONING_DISABLED", + "range": null, + "title": "Basic (no poisoning)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "HEAP_POISONING_LIGHT", + "name": "HEAP_POISONING_LIGHT", + "range": null, + "title": "Light impact", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "HEAP_POISONING_COMPREHENSIVE", + "name": "HEAP_POISONING_COMPREHENSIVE", + "range": null, + "title": "Comprehensive", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enable heap poisoning features to detect heap corruption caused by out-of-bounds access to heap memory.\n\nSee the \"Heap Memory Debugging\" page of the IDF documentation\nfor a description of each level of heap corruption detection.", + "id": "component-config-heap-memory-debugging-heap-corruption-detection-home-claw-.platformio-packages-framework-espidf-components-heap-Kconfig-8", + "name": "HEAP_CORRUPTION_DETECTION", + "title": "Heap corruption detection", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "HEAP_TRACING_OFF", + "name": "HEAP_TRACING_OFF", + "range": null, + "title": "Disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "HEAP_TRACING_STANDALONE", + "name": "HEAP_TRACING_STANDALONE", + "range": null, + "title": "Standalone", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "HEAP_TRACING_TOHOST", + "name": "HEAP_TRACING_TOHOST", + "range": null, + "title": "Host-based", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enables the heap tracing API defined in esp_heap_trace.h.\n\nThis function causes a moderate increase in IRAM code side and a minor increase in heap function\n(malloc/free/realloc) CPU overhead, even when the tracing feature is not used.\nSo it's best to keep it disabled unless tracing is being used.", + "id": "component-config-heap-memory-debugging-heap-tracing-home-claw-.platformio-packages-framework-espidf-components-heap-Kconfig-25", + "name": "HEAP_TRACING_DEST", + "title": "Heap tracing", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": "Enables/disables heap tracing API.", + "id": "HEAP_TRACING", + "name": "HEAP_TRACING", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "SPIRAM && HEAP_TRACE_HASH_MAP", + "help": "When enabled this configuration forces the hash map to be placed in external RAM.", + "id": "HEAP_TRACE_HASH_MAP_IN_EXT_RAM", + "name": "HEAP_TRACE_HASH_MAP_IN_EXT_RAM", + "range": null, + "title": "Place hash map in external RAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "HEAP_TRACE_HASH_MAP", + "help": "Defines the number of entries in the heap trace hashmap. Each entry takes 8 bytes.\nThe bigger this number is, the better the performance. Recommended range: 200 - 2000.", + "id": "HEAP_TRACE_HASH_MAP_SIZE", + "name": "HEAP_TRACE_HASH_MAP_SIZE", + "range": null, + "title": "The number of entries in the hash map", + "type": "int" + } + ], + "depends_on": "HEAP_TRACING_STANDALONE", + "help": "Enable this flag to use a hash map to increase performance in handling\nheap trace records.\n\nHeap trace standalone supports storing records as a list, or a list + hash map.\n\nUsing only a list takes less memory, but calls to 'free' will get slower as the\nlist grows. This is particularly affected when using HEAP_TRACE_ALL mode.\n\nBy using a list + hash map, calls to 'free' remain fast, at the cost of\nadditional memory to store the hash map.", + "id": "HEAP_TRACE_HASH_MAP", + "name": "HEAP_TRACE_HASH_MAP", + "range": null, + "title": "Use hash map mechanism to access heap trace records", + "type": "bool" + }, + { + "children": [], + "depends_on": "HEAP_TRACING", + "help": "Number of stack frames to save when tracing heap operation callers.\n\nMore stack frames uses more memory in the heap trace buffer (and slows down allocation), but\ncan provide useful information.", + "id": "HEAP_TRACING_STACK_DEPTH", + "name": "HEAP_TRACING_STACK_DEPTH", + "range": null, + "title": "Heap tracing stack depth", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Enable the user to implement function hooks triggered for each successful allocation and free.", + "id": "HEAP_USE_HOOKS", + "name": "HEAP_USE_HOOKS", + "range": null, + "title": "Use allocation and free hooks", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "HEAP_TASK_TRACKING", + "help": "When enabled, this configuration allows the user to keep trace of the memory usage\nof a task that has been deleted.\n\nThis allows the user to verify that no memory allocated within a task remains unfreed\nbefore terminating the task\n\nNote that this feature cannot keep track of a task deletion if the task is allocated statically", + "id": "HEAP_TRACK_DELETED_TASKS", + "name": "HEAP_TRACK_DELETED_TASKS", + "range": null, + "title": "Keep information about the memory usage of deleted tasks", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enables tracking the task responsible for each heap allocation.\n\nNote: Allocating or freeing memory or using the task tracking API will lead to a crash when the\nscheduler is not working (e.g, after calling vTaskSuspendAll).", + "id": "HEAP_TASK_TRACKING", + "name": "HEAP_TASK_TRACKING", + "range": null, + "title": "Enable heap task tracking", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "When enabled, if a memory allocation operation fails it will cause a system abort.", + "id": "HEAP_ABORT_WHEN_ALLOCATION_FAILS", + "name": "HEAP_ABORT_WHEN_ALLOCATION_FAILS", + "range": null, + "title": "Abort if memory allocation fails", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_ROM_HAS_HEAP_TLSF", + "help": "Enable this flag to use heap functions from ROM instead of ESP-IDF.\n\nIf keeping this as \"n\" in your project, you will have less free IRAM.\nIf making this as \"y\" in your project, you will increase free IRAM,\nbut you will lose the possibility to debug this module, and some new\nfeatures will be added and bugs will be fixed in the IDF source\nbut cannot be synced to ROM.", + "id": "HEAP_TLSF_USE_ROM_IMPL", + "name": "HEAP_TLSF_USE_ROM_IMPL", + "range": null, + "title": "Use ROM implementation of heap tlsf library", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable this flag to save up RAM space by placing the heap component in the flash memory\n\nNote that it is only safe to enable this configuration if no functions from esp_heap_caps.h\nor esp_heap_trace.h are called from IRAM ISR which runs when cache is disabled.", + "id": "HEAP_PLACE_FUNCTION_INTO_FLASH", + "name": "HEAP_PLACE_FUNCTION_INTO_FLASH", + "range": null, + "title": "Force the entire heap component to be placed in flash memory", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-heap-memory-debugging-home-claw-.platformio-packages-framework-espidf-components-heap-Kconfig-1", + "title": "Heap memory debugging", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "IEEE802154_ENABLED", + "help": "Number of receive buffers allocated for IEEE 802.15.4 frames.\nIncreasing this value allows more frames to be buffered before processing,\nbut consumes more memory.", + "id": "IEEE802154_RX_BUFFER_SIZE", + "name": "IEEE802154_RX_BUFFER_SIZE", + "range": [ + 2, + 100 + ], + "title": "The number of 802.15.4 receive buffers", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "CCA reports channel busy only if a valid IEEE 802.15.4 signal is detected.\nThis mode is less sensitive to non-802.15.4 interference.", + "id": "IEEE802154_CCA_CARRIER", + "name": "IEEE802154_CCA_CARRIER", + "range": null, + "title": "Carrier sense only", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "CCA reports channel busy if the energy level exceeds the configured threshold.\nThis is the default mode and provides good balance between sensitivity and reliability.", + "id": "IEEE802154_CCA_ED", + "name": "IEEE802154_CCA_ED", + "range": null, + "title": "Energy above threshold", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "CCA reports channel busy if either a valid IEEE 802.15.4 signal is detected OR\nthe energy level exceeds the threshold. This is the most sensitive mode.", + "id": "IEEE802154_CCA_CARRIER_OR_ED", + "name": "IEEE802154_CCA_CARRIER_OR_ED", + "range": null, + "title": "Carrier sense OR energy above threshold", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "CCA reports channel busy only if both a valid IEEE 802.15.4 signal is detected\nAND the energy level exceeds the threshold. This is the least sensitive mode.", + "id": "IEEE802154_CCA_CARRIER_AND_ED", + "name": "IEEE802154_CCA_CARRIER_AND_ED", + "range": null, + "title": "Carrier sense AND energy above threshold", + "type": "bool" + } + ], + "depends_on": "IEEE802154_ENABLED", + "help": "Select the Clear Channel Assessment (CCA) mode used to determine if the\nchannel is clear before transmission. CCA is required by the IEEE 802.15.4\nstandard to avoid collisions.", + "id": "component-config-ieee-802-15-4-ieee802154-enable-clear-channel-assessment-cca-mode-home-claw-.platformio-packages-framework-espidf-components-ieee802154-Kconfig-18", + "name": "IEEE802154_CCA_MODE", + "title": "Clear Channel Assessment (CCA) mode", + "type": "choice" + }, + { + "children": [], + "depends_on": "IEEE802154_ENABLED", + "help": null, + "id": "IEEE802154_CCA_MODE", + "name": "IEEE802154_CCA_MODE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "IEEE802154_ENABLED", + "help": "Energy detection threshold for CCA, in dBm. The channel is considered busy\nif the detected energy exceeds this threshold. Lower values make the radio\nmore sensitive to interference but may cause false positives.", + "id": "IEEE802154_CCA_THRESHOLD", + "name": "IEEE802154_CCA_THRESHOLD", + "range": [ + -120, + 0 + ], + "title": "CCA detection threshold", + "type": "int" + }, + { + "children": [], + "depends_on": "IEEE802154_ENABLED", + "help": "Size of the pending data table used to track frames waiting to be sent to\nsleeping devices. Each entry consumes memory, so adjust based on the number\nof sleeping child devices in your network.", + "id": "IEEE802154_PENDING_TABLE_SIZE", + "name": "IEEE802154_PENDING_TABLE_SIZE", + "range": [ + 1, + 100 + ], + "title": "Pending table size", + "type": "int" + }, + { + "children": [], + "depends_on": "IEEE802154_ENABLED", + "help": "Enable IEEE 802.15.4 multi-PAN (Personal Area Network) support. This allows\nthe device to participate in multiple PANs simultaneously by filtering frames\nbased on PAN ID.", + "id": "IEEE802154_MULTI_PAN_ENABLE", + "name": "IEEE802154_MULTI_PAN_ENABLE", + "range": null, + "title": "Enable multi-pan feature for frame filter", + "type": "bool" + }, + { + "children": [], + "depends_on": "IEEE802154_ENABLED", + "help": "Number of IEEE802154 interfaces", + "id": "IEEE802154_INTERFACE_NUM", + "name": "IEEE802154_INTERFACE_NUM", + "range": [ + 1, + 1 + ], + "title": "Number of IEEE802154 interfaces", + "type": "int" + }, + { + "children": [], + "depends_on": "IEEE802154_ENABLED", + "help": "Enabling this option increases throughput by ~5% at the expense of ~2.1k\nIRAM code size increase.", + "id": "IEEE802154_TIMING_OPTIMIZATION", + "name": "IEEE802154_TIMING_OPTIMIZATION", + "range": null, + "title": "Enable throughput optimization", + "type": "bool" + }, + { + "children": [], + "depends_on": "PM_ENABLE && IEEE802154_ENABLED", + "help": "Enabling this option allows the IEEE802.15.4 module to be powered down during automatic light sleep,\nwhich reduces current consumption.", + "id": "IEEE802154_SLEEP_ENABLE", + "name": "IEEE802154_SLEEP_ENABLE", + "range": null, + "title": "Enable IEEE802154 light sleep", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "IEEE802154_DEBUG", + "help": "Enable monitoring and detection of abnormal or unexpected states during\nIEEE 802.15.4 operation. When enabled, performs additional runtime checks\nand assertions to catch potential driver issues early.", + "id": "IEEE802154_DEBUG_ASSERT_MONITOR", + "name": "IEEE802154_DEBUG_ASSERT_MONITOR", + "range": null, + "title": "Enable IEEE802154 assert monitor", + "type": "bool" + }, + { + "children": [], + "depends_on": "IEEE802154_DEBUG", + "help": "Enable tracking of receive buffer allocation and deallocation. This provides\nstatistics on buffer usage patterns, which can help optimize buffer sizing\nfor your application.", + "id": "IEEE802154_RX_BUFFER_STATISTIC", + "name": "IEEE802154_RX_BUFFER_STATISTIC", + "range": null, + "title": "Rx buffer statistic", + "type": "bool" + }, + { + "children": [], + "depends_on": "IEEE802154_DEBUG", + "help": "Enable enhanced assert information. When an assertion fails, additional\ncontext including state, events, and commands will be printed to help\ndiagnose the issue. Automatically enables IEEE802154_RECORD.", + "id": "IEEE802154_ASSERT", + "name": "IEEE802154_ASSERT", + "range": null, + "title": "Enrich the assert information", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "IEEE802154_RECORD_EVENT && IEEE802154_DEBUG", + "help": "Size of the circular buffer for recording events. Larger values provide\nmore history but consume more memory.", + "id": "IEEE802154_RECORD_EVENT_SIZE", + "name": "IEEE802154_RECORD_EVENT_SIZE", + "range": null, + "title": "Record event table size", + "type": "int" + } + ], + "depends_on": "IEEE802154_RECORD && IEEE802154_DEBUG", + "help": "Record IEEE 802.15.4 driver events in a circular buffer. When an assertion\noccurs, the recorded event history will be printed to help trace the sequence\nof events leading to the failure.", + "id": "IEEE802154_RECORD_EVENT", + "name": "IEEE802154_RECORD_EVENT", + "range": null, + "title": "Enable record event information for debugging", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "IEEE802154_RECORD_STATE && IEEE802154_DEBUG", + "help": "Size of the circular buffer for recording state transitions. Larger values\nprovide more history but consume more memory.", + "id": "IEEE802154_RECORD_STATE_SIZE", + "name": "IEEE802154_RECORD_STATE_SIZE", + "range": null, + "title": "Record state table size", + "type": "int" + } + ], + "depends_on": "IEEE802154_RECORD && IEEE802154_DEBUG", + "help": "Record IEEE 802.15.4 driver state transitions in a circular buffer.\nWhen an assertion occurs, the recorded state history will be printed\nto show the sequence of state changes.", + "id": "IEEE802154_RECORD_STATE", + "name": "IEEE802154_RECORD_STATE", + "range": null, + "title": "Enable record state information for debugging", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "IEEE802154_RECORD_CMD && IEEE802154_DEBUG", + "help": "Size of the circular buffer for recording commands. Larger values provide\nmore history but consume more memory.", + "id": "IEEE802154_RECORD_CMD_SIZE", + "name": "IEEE802154_RECORD_CMD_SIZE", + "range": null, + "title": "Record command table size", + "type": "int" + } + ], + "depends_on": "IEEE802154_RECORD && IEEE802154_DEBUG", + "help": "Record IEEE 802.15.4 driver commands in a circular buffer. When an assertion\noccurs, the recorded command history will be printed to show what commands\nwere issued before the failure.", + "id": "IEEE802154_RECORD_CMD", + "name": "IEEE802154_RECORD_CMD", + "range": null, + "title": "Enable record command information for debugging", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "IEEE802154_RECORD_ABORT && IEEE802154_DEBUG", + "help": "Size of the circular buffer for recording aborts. Larger values provide\nmore history but consume more memory.", + "id": "IEEE802154_RECORD_ABORT_SIZE", + "name": "IEEE802154_RECORD_ABORT_SIZE", + "range": null, + "title": "Record abort table size", + "type": "int" + } + ], + "depends_on": "IEEE802154_RECORD && IEEE802154_DEBUG", + "help": "Record IEEE 802.15.4 operation aborts in a circular buffer. When an assertion\noccurs, the recorded abort history will be printed to show what operations\nwere aborted before the failure.", + "id": "IEEE802154_RECORD_ABORT", + "name": "IEEE802154_RECORD_ABORT", + "range": null, + "title": "Enable record abort information for debugging", + "type": "bool" + } + ], + "depends_on": "IEEE802154_DEBUG", + "help": "Enable recording of IEEE 802.15.4 driver state, events, and commands.\nProbe code is added throughout the driver to capture runtime information\nfor debugging purposes. This is a prerequisite for other RECORD_* options.", + "id": "IEEE802154_RECORD", + "name": "IEEE802154_RECORD", + "range": null, + "title": "Record the information with IEEE802154 state and event", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "IEEE802154_RECORD_TXRX_FRAME && IEEE802154_DEBUG", + "help": "Size of the circular buffer for recording frames. Larger values provide\nmore frame history but consume significantly more memory (each frame can\nbe up to 127 bytes plus metadata).", + "id": "IEEE802154_RECORD_TXRX_FRAME_SIZE", + "name": "IEEE802154_RECORD_TXRX_FRAME_SIZE", + "range": null, + "title": "Record frame table size", + "type": "int" + } + ], + "depends_on": "IEEE802154_DEBUG", + "help": "Record transmitted and received IEEE 802.15.4 frames in a circular buffer.\nWhen an assertion occurs, the recorded frame history will be printed to\nhelp diagnose frame-level issues. Note: This can consume significant memory\ndepending on frame size and buffer size.", + "id": "IEEE802154_RECORD_TXRX_FRAME", + "name": "IEEE802154_RECORD_TXRX_FRAME", + "range": null, + "title": "Enable record txrx packets for debugging", + "type": "bool" + }, + { + "children": [], + "depends_on": "IEEE802154_DEBUG", + "help": "Enable collection of transmit and receive packet statistics. This tracks\ncounts, errors, and other metrics for transmitted and received frames.\nStatistics can be accessed via debug APIs for performance analysis.", + "id": "IEEE802154_TXRX_STATISTIC", + "name": "IEEE802154_TXRX_STATISTIC", + "range": null, + "title": "Enable record tx/rx packets information for debugging", + "type": "bool" + }, + { + "children": [], + "depends_on": "IEEE802154_DEBUG", + "help": "Enable the 'phyreg' console command to print IEEE 802.15.4 PHY register\ninformation for debugging purposes. This command displays register values\nand configuration settings of the IEEE 802.15.4 hardware.", + "id": "IEEE802154_PRINT_PHY_REG", + "name": "IEEE802154_PRINT_PHY_REG", + "range": null, + "title": "Enable print IEEE802154 PHY register command", + "type": "bool" + } + ], + "depends_on": "IEEE802154_DEBUG", + "id": "component-config-ieee-802-15-4-ieee802154-enable-enable-ieee802154-debug-ieee-802-15-4-debug-parameters-home-claw-.platformio-packages-framework-espidf-components-ieee802154-Kconfig-124", + "title": "IEEE 802.15.4 Debug Parameters", + "type": "menu" + } + ], + "depends_on": "IEEE802154_ENABLED", + "help": "Enabling this option allows different kinds of IEEE802154 debug output.\nAll IEEE802154 debug features increase the size of the final binary.", + "id": "IEEE802154_DEBUG", + "name": "IEEE802154_DEBUG", + "range": null, + "title": "Enable IEEE802154 Debug", + "type": "bool" + } + ], + "depends_on": null, + "help": null, + "id": "IEEE802154_ENABLED", + "name": "IEEE802154_ENABLED", + "range": null, + "title": "IEEE802154 Enable", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-ieee-802-15-4-home-claw-.platformio-packages-framework-espidf-components-ieee802154-Kconfig-1", + "title": "IEEE 802.15.4", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Select this option to use Log V1. Recommended for projects with strict stack constraints\nor that prioritize performance over flexibility.", + "id": "LOG_VERSION_1", + "name": "LOG_VERSION_1", + "range": null, + "title": "V1", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Select this option to use Log V2. Recommended for projects that require smaller binaries,\nruntime log formatting configuration, or advanced logging features.", + "id": "LOG_VERSION_2", + "name": "LOG_VERSION_2", + "range": null, + "title": "V2", + "type": "bool" + } + ], + "depends_on": null, + "help": "Select the log version to be used by the ESP log component.\n\n- \"V1\": This version integrates log formatting into the format string provided by the user.\n Logs are processed and formatted during compile time, leading to a larger binary file.\n Example: ESP_LOGI(\"boot\", \"chip revision: v%d.%d\", major, minor);\n Output: I (56) boot: chip revision: v3.0\n Note: Log strings are stored in Flash with added formatting characters.\n Format string on flash: \"[0;32mI (%lu) %s: chip revision: v%d.%d [0m\"\n\n- \"V2\": This version centralizes log formatting within the esp_log() function.\n User-supplied format strings are stored without added formatting, reducing binary size.\n Example: ESP_LOGI(\"boot\", \"chip revision: v%d.%d\", major, minor);\n Output: I (56) boot: chip revision: v3.0\n Note: This version supports runtime configuration of formatting and is more flexible,\n logging from constrained environments (ex.: ISR, Startup, Cache disabled).\n It may consumes a bit more stack and affect performance.\n Format string on flash: \"chip revision: v%d.%d\"\n\nUse V1 for minimal stack usage and simpler implementation.\nUse V2 for smaller binary sizes, more flexible log formatting, and advanced features like disabling\ncolors or timestamps.", + "id": "component-config-log-log-version-home-claw-.platformio-packages-framework-espidf-components-log-Kconfig-3", + "name": "LOG_VERSION", + "title": "Log version", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": "This configuration sets the log version number based on the chosen log version.", + "id": "LOG_VERSION", + "name": "LOG_VERSION", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LOG_DEFAULT_LEVEL_NONE", + "name": "LOG_DEFAULT_LEVEL_NONE", + "range": null, + "title": "No output", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LOG_DEFAULT_LEVEL_ERROR", + "name": "LOG_DEFAULT_LEVEL_ERROR", + "range": null, + "title": "Error", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LOG_DEFAULT_LEVEL_WARN", + "name": "LOG_DEFAULT_LEVEL_WARN", + "range": null, + "title": "Warning", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LOG_DEFAULT_LEVEL_INFO", + "name": "LOG_DEFAULT_LEVEL_INFO", + "range": null, + "title": "Info", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LOG_DEFAULT_LEVEL_DEBUG", + "name": "LOG_DEFAULT_LEVEL_DEBUG", + "range": null, + "title": "Debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LOG_DEFAULT_LEVEL_VERBOSE", + "name": "LOG_DEFAULT_LEVEL_VERBOSE", + "range": null, + "title": "Verbose", + "type": "bool" + } + ], + "depends_on": null, + "help": "Specify how much output to see in logs by default.\nYou can set lower verbosity level at runtime using\nesp_log_level_set() function if LOG_DYNAMIC_LEVEL_CONTROL\nis enabled.\n\nBy default, this setting limits which log statements\nare compiled into the program. For example, selecting\n\"Warning\" would mean that changing log level to \"Debug\"\nat runtime will not be possible. To allow increasing log\nlevel above the default at runtime, see the next option.", + "id": "component-config-log-log-level-default-log-verbosity-home-claw-.platformio-packages-framework-espidf-components-log-.-Kconfig.level-3", + "name": "LOG_DEFAULT_LEVEL", + "title": "Default log verbosity", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "LOG_DEFAULT_LEVEL", + "name": "LOG_DEFAULT_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LOG_MAXIMUM_EQUALS_DEFAULT", + "name": "LOG_MAXIMUM_EQUALS_DEFAULT", + "range": null, + "title": "Same as default", + "type": "bool" + }, + { + "children": [], + "depends_on": "LOG_DEFAULT_LEVEL < 1 && ", + "help": null, + "id": "LOG_MAXIMUM_LEVEL_ERROR", + "name": "LOG_MAXIMUM_LEVEL_ERROR", + "range": null, + "title": "Error", + "type": "bool" + }, + { + "children": [], + "depends_on": "LOG_DEFAULT_LEVEL < 2 && ", + "help": null, + "id": "LOG_MAXIMUM_LEVEL_WARN", + "name": "LOG_MAXIMUM_LEVEL_WARN", + "range": null, + "title": "Warning", + "type": "bool" + }, + { + "children": [], + "depends_on": "LOG_DEFAULT_LEVEL < 3 && ", + "help": null, + "id": "LOG_MAXIMUM_LEVEL_INFO", + "name": "LOG_MAXIMUM_LEVEL_INFO", + "range": null, + "title": "Info", + "type": "bool" + }, + { + "children": [], + "depends_on": "LOG_DEFAULT_LEVEL < 4 && ", + "help": null, + "id": "LOG_MAXIMUM_LEVEL_DEBUG", + "name": "LOG_MAXIMUM_LEVEL_DEBUG", + "range": null, + "title": "Debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "LOG_DEFAULT_LEVEL < 5 && ", + "help": null, + "id": "LOG_MAXIMUM_LEVEL_VERBOSE", + "name": "LOG_MAXIMUM_LEVEL_VERBOSE", + "range": null, + "title": "Verbose", + "type": "bool" + } + ], + "depends_on": null, + "help": "This config option sets the highest log verbosity that it's possible to select\nat runtime by calling esp_log_level_set(). This level may be higher than\nthe default verbosity level which is set when the app starts up.\n\nThis can be used enable debugging output only at a critical point, for a particular\ntag, or to minimize startup time but then enable more logs once the firmware has\nloaded.\n\nNote that increasing the maximum available log level will increase the firmware\nbinary size.\n\nThis option only applies to logging from the app, the bootloader log level is\nfixed at compile time to the separate \"Bootloader log verbosity\" setting.", + "id": "component-config-log-log-level-maximum-log-verbosity-home-claw-.platformio-packages-framework-espidf-components-log-.-Kconfig.level-41", + "name": "LOG_MAXIMUM_LEVEL", + "title": "Maximum log verbosity", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "LOG_MAXIMUM_LEVEL", + "name": "LOG_MAXIMUM_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enables an additional global \"master\" log level check that occurs before a log tag cache\nlookup. This is useful if you want to compile in a lot of logs that are selectable at\nruntime, but avoid the performance hit during periods where you don't want log output.\n\nExamples include remote log forwarding, or disabling logs during a time-critical or\nCPU-intensive section and re-enabling them later. Results in larger program size\ndepending on number of logs compiled in.\n\nIf enabled, defaults to LOG_DEFAULT_LEVEL and can be set using\nesp_log_set_level_master(). This check takes precedence over ESP_LOG_LEVEL_LOCAL.", + "id": "LOG_MASTER_LEVEL", + "name": "LOG_MASTER_LEVEL", + "range": null, + "title": "Enable global master log level", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling this option allows dynamic changes to the log level at runtime\n(using esp_log_level_set()), providing the ability to increase or decrease\nthe log level during program execution.\nIf disabled, the log level remains static once set at compile-time and calling\nesp_log_level_set() will have no effect.\nIf binary size is a critical consideration and dynamic log level changes are not needed,\nconsider disabling this option when LOG_TAG_LEVEL_IMPL_NONE=y to minimize program size.", + "id": "LOG_DYNAMIC_LEVEL_CONTROL", + "name": "LOG_DYNAMIC_LEVEL_CONTROL", + "range": null, + "title": "Enable dynamic log level changes at runtime", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "This option disables the ability to set the log level per tag.\nThe ability to change the log level at runtime depends on LOG_DYNAMIC_LEVEL_CONTROL.\nIf LOG_DYNAMIC_LEVEL_CONTROL is disabled, then changing the log level at runtime\nusing `esp_log_level_set()` is not possible.\nThis implementation is suitable for highly constrained environments.", + "id": "LOG_TAG_LEVEL_IMPL_NONE", + "name": "LOG_TAG_LEVEL_IMPL_NONE", + "range": null, + "title": "None", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Select this option to use the linked list-only implementation (no cache) for log level retrieval.\nThis approach searches the linked list of all tags for the log level, which may be slower\nfor a large number of tags but may have lower memory requirements than the CACHE approach.\nThe linked list approach compares the whole strings of log tags for finding the log level.", + "id": "LOG_TAG_LEVEL_IMPL_LINKED_LIST", + "name": "LOG_TAG_LEVEL_IMPL_LINKED_LIST", + "range": null, + "title": "Linked List", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Select this option to use a hybrid mode: cache in combination with the linked list\nfor log tag level checks. This hybrid approach offers a balance between speed and memory usage.\n\nThe cache stores recently accessed log tags and their corresponding log levels, providing\nfaster lookups for frequently used tags. The cache approach compares the tag pointers, which is\nfaster than comparing the whole strings.\n\nFor less frequently used tags, the linked list is used to search for the log level, which may be\nslower for a large number of tags but has lower memory requirements compared to a full cache.\n\nThis hybrid approach aims to improve the efficiency of log level retrieval by combining the benefits\nof both cache and linked list implementations.", + "id": "LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST", + "name": "LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST", + "range": null, + "title": "Cache + Linked List", + "type": "bool" + } + ], + "depends_on": null, + "help": "Choose the per-tag log level implementation for the log library. This functionality is used\nto enable/disable logs for a particular tag at run time. Applicable only for\napplication logs (i.e., not bootloader logs).", + "id": "component-config-log-log-level-level-settings-method-of-tag-level-checks-home-claw-.platformio-packages-framework-espidf-components-log-.-.-Kconfig.level_settings-30", + "name": "LOG_TAG_LEVEL_IMPL", + "title": "Method of tag level checks", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "This option enables the use of a simple array-based cache implementation for storing and\nretrieving log tag levels. There is no additional code that reorders the cache for fast lookups.\nSuitable for projects where memory usage optimization is crucial and the simplicity of implementation\nis preferred.", + "id": "LOG_TAG_LEVEL_CACHE_ARRAY", + "name": "LOG_TAG_LEVEL_CACHE_ARRAY", + "range": null, + "title": "Array", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "This option enables the use of a binary min-heap-based cache implementation for efficient\nstorage and retrieval of log tag levels. It does automatically optimizing cache for fast lookups.\nSuitable for projects where speed of lookup is critical and memory usage can accommodate\nthe overhead of maintaining a binary min-heap structure.", + "id": "LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP", + "name": "LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP", + "range": null, + "title": "Binary Min-Heap", + "type": "bool" + } + ], + "depends_on": "LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST", + "help": "The cache stores recently accessed log tags (address of tag) and their corresponding log levels,\nproviding faster lookups for frequently used tags. Cache size can be configured using the\nLOG_TAG_LEVEL_IMPL_CACHE_SIZE option. The cache approach compares the tag pointers, which is\nfaster than comparing the whole strings.", + "id": "component-config-log-log-level-level-settings-cache-implementation-home-claw-.platformio-packages-framework-espidf-components-log-.-.-Kconfig.level_settings-74", + "name": "LOG_TAG_LEVEL_CACHE_IMPL", + "title": "Cache implementation", + "type": "choice" + }, + { + "children": [], + "depends_on": "LOG_TAG_LEVEL_CACHE_ARRAY || LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP", + "help": "This option sets the size of the cache used for log tag entries. The cache stores recently accessed\nlog tags and their corresponding log levels, which helps improve the efficiency of log level retrieval.\nThe value must be a power of 2 minus 1 (e.g., 1, 3, 7, 15, 31, 63, 127, 255, ...)\nto ensure proper cache behavior. For LOG_TAG_LEVEL_CACHE_ARRAY option the value can be any,\nwithout restrictions.\n\nNote: A larger cache size can improve lookup performance for frequently used log tags but may consume\nmore memory. Conversely, a smaller cache size reduces memory usage but may lead to more frequent cache\nevictions for less frequently used log tags.", + "id": "LOG_TAG_LEVEL_IMPL_CACHE_SIZE", + "name": "LOG_TAG_LEVEL_IMPL_CACHE_SIZE", + "range": null, + "title": "Log Tag Cache Size", + "type": "int" + } + ], + "depends_on": null, + "id": "component-config-log-log-level-level-settings-home-claw-.platformio-packages-framework-espidf-components-log-.-.-Kconfig.level_settings-1", + "title": "Level Settings", + "type": "menu" + } + ], + "depends_on": null, + "id": "component-config-log-log-level-home-claw-.platformio-packages-framework-espidf-components-log-.-Kconfig.level-1", + "title": "Log Level", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enable ANSI terminal color codes. Logs (info, errors, warnings) will contain color codes.\nIn order to view these, your terminal program must support ANSI color codes.\n\nThis is disabled by default, as colors are added in IDF Monitor. If you want to use new lines\nin the messages or you are using a different terminal program, you may want to enable this option.", + "id": "LOG_COLORS", + "name": "LOG_COLORS", + "range": null, + "title": "Color", + "type": "bool" + }, + { + "children": [], + "depends_on": "LOG_VERSION_2", + "help": "Enables support for color codes in the esp_log() function. If CONFIG_LOG_COLORS is enabled, this option\nis always active. If CONFIG_LOG_COLORS is disabled, this option allows you to still handle color codes\nin specific files by defining ESP_LOG_COLOR_DISABLED as 0 before including esp_log.h.\n\nNote that enabling this option may slightly increase IRAM usage due to additional color handling\nfunctionality. It provides flexibility to manage color output even when CONFIG_LOG_COLORS is turned off.", + "id": "LOG_COLORS_SUPPORT", + "name": "LOG_COLORS_SUPPORT", + "range": null, + "title": "Allow enabling color output at run time", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "LOG_VERSION_2 && ", + "help": null, + "id": "LOG_TIMESTAMP_SOURCE_NONE", + "name": "LOG_TIMESTAMP_SOURCE_NONE", + "range": null, + "title": "None", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LOG_TIMESTAMP_SOURCE_RTOS", + "name": "LOG_TIMESTAMP_SOURCE_RTOS", + "range": null, + "title": "Milliseconds Since Boot", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LOG_TIMESTAMP_SOURCE_SYSTEM", + "name": "LOG_TIMESTAMP_SOURCE_SYSTEM", + "range": null, + "title": "System Time (HH:MM:SS.sss)", + "type": "bool" + }, + { + "children": [], + "depends_on": "LOG_VERSION_2 && ", + "help": null, + "id": "LOG_TIMESTAMP_SOURCE_SYSTEM_FULL", + "name": "LOG_TIMESTAMP_SOURCE_SYSTEM_FULL", + "range": null, + "title": "System Time (YY-MM-DD HH:MM:SS.sss)", + "type": "bool" + }, + { + "children": [], + "depends_on": "LOG_VERSION_2 && ", + "help": null, + "id": "LOG_TIMESTAMP_SOURCE_UNIX", + "name": "LOG_TIMESTAMP_SOURCE_UNIX", + "range": null, + "title": "Unix time in milliseconds", + "type": "bool" + } + ], + "depends_on": null, + "help": "Choose what sort of timestamp is displayed in the log output:\n\n- \"None\" - The log will only contain the actual log messages themselves\n without any time-related information. Avoiding timestamps can help conserve\n processing power and memory. It might useful when you\n perform log analysis or debugging, sometimes it's more straightforward\n to work with logs that lack timestamps, especially if the time of occurrence\n is not critical for understanding the issues.\n\n- \"Milliseconds since boot\" is calculated from the RTOS tick count multiplied\n by the tick period. This time will reset after a software reboot.\n e.g. (90000)\n\n- \"System time (HH:MM:SS.sss)\" is taken from POSIX time functions which use the chip's\n RTC and high resolution timers to maintain an accurate time. The system time is\n initialized to 0 on startup, it can be set with an SNTP sync, or with\n POSIX time functions. This time will not reset after a software reboot.\n e.g. (00:01:30.000)\n\n- \"System time (YY-MM-DD HH:MM:SS.sss)\" it is the same as the above,\n but also prints the date as well.\n\n- \"Unix time in milliseconds\" is the same as the two above,\n but in Unix time format and in milliseconds.\n e.g. (1718795571035).\n\n- NOTE: Currently this will not get used in logging from binary blobs\n (i.e WiFi & Bluetooth libraries), these will always print\n milliseconds since boot.", + "id": "component-config-log-format-timestamp-home-claw-.platformio-packages-framework-espidf-components-log-.-Kconfig.format-26", + "name": "LOG_TIMESTAMP_SOURCE", + "title": "Timestamp", + "type": "choice" + }, + { + "children": [], + "depends_on": "LOG_VERSION_2", + "help": "Enables support for timestamp in the esp_log() function.\nIf CONFIG_LOG_TIMESTAMP_SOURCE_NONE, this option allows you to still handle timestamp\nin specific files by defining ESP_LOG_TIMESTAMP_DISABLED as 0 before including esp_log.h.\n\nNote that enabling this option may slightly increase IRAM usage due to additional timestamp handling\nfunctionality. It provides flexibility to manage timestamp output even when\nCONFIG_LOG_TIMESTAMP_SOURCE_NONE.", + "id": "LOG_TIMESTAMP_SUPPORT", + "name": "LOG_TIMESTAMP_SUPPORT", + "range": null, + "title": "Allow enabling timestamp output at run time", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-log-format-home-claw-.platformio-packages-framework-espidf-components-log-.-Kconfig.format-1", + "title": "Format", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "LOG_MODE_TEXT_EN", + "name": "LOG_MODE_TEXT_EN", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "LOG_MODE_BINARY_EN", + "name": "LOG_MODE_BINARY_EN", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Enables text-based logging, where log messages are stored in a human-readable format.\nThis mode is useful for development and debugging, as it allows logs to be easily\nread and interpreted without additional processing.", + "id": "LOG_MODE_TEXT", + "name": "LOG_MODE_TEXT", + "range": null, + "title": "Text Log Mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "LOG_VERSION_2 && ", + "help": "Enables binary logging with host-side format string expansion. In this mode, the\nformat argument of ESP_LOGx, ESP_EARLY_LOG, and ESP_DRAM_LOG macros is stored in a\nNOLOAD section, not included in the final binary file. This reduces flash usage by\napproximately 10% - 35%. The esp_log() function uses the binary log handler to output\nmessages. Instead of sending the full log string, the chip transmits only the\naddresses of these strings (if present in the ELF file). If the format string\ncannot be found in the ELF file, the chip sends the entire string. The host-side\nmonitor tool, which has access to the ELF file, reconstructs the log message using\nthe format string.\nThis reduces firmware size by eliminating format strings from\nflash memory and removing the usage of printf-like functions, potentially freeing up\na few kilobytes of space. To further reduce firmware size, wrap string data with ESP_LOG_ATTR_STR.", + "id": "LOG_MODE_BINARY", + "name": "LOG_MODE_BINARY", + "range": null, + "title": "Binary Log Mode", + "type": "bool" + } + ], + "depends_on": null, + "help": null, + "id": "component-config-log-settings-log-mode-home-claw-.platformio-packages-framework-espidf-components-log-.-Kconfig.settings-9", + "name": "LOG_MODE", + "title": "Log Mode", + "type": "choice" + } + ], + "depends_on": null, + "id": "component-config-log-settings-home-claw-.platformio-packages-framework-espidf-components-log-.-Kconfig.settings-1", + "title": "Settings", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "LOG_IN_IRAM", + "name": "LOG_IN_IRAM", + "range": null, + "title": "Place logging functions in IRAM", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-log-home-claw-.platformio-packages-framework-espidf-components-log-Kconfig-1", + "title": "Log", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Builds normally if selected. Excludes LwIP from build if unselected, even if it is a\ndependency of a component or application.\nSome applications can switch their IP stacks, e.g., when switching between chip\nand Linux targets (LwIP stack vs. Linux IP stack). Since the LwIP dependency cannot\neasily be excluded based on a Kconfig option, it has to be a dependency in all cases.\nThis switch allows the LwIP stack to be built selectively, even if it is a dependency.", + "id": "LWIP_ENABLE", + "name": "LWIP_ENABLE", + "range": null, + "title": "Enable LwIP stack", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "The default name this device will report to other devices on the network.\nCould be updated at runtime with esp_netif_set_hostname()", + "id": "LWIP_LOCAL_HOSTNAME", + "name": "LWIP_LOCAL_HOSTNAME", + "range": null, + "title": "Local netif hostname", + "type": "string" + }, + { + "children": [], + "depends_on": null, + "help": "LWIP tcpip task priority. In case of high throughput, this parameter\ncould be changed up to (configMAX_PRIORITIES-1).", + "id": "LWIP_TCPIP_TASK_PRIO", + "name": "LWIP_TCPIP_TASK_PRIO", + "range": [ + 1, + 24 + ], + "title": "LWIP TCP/IP Task Priority", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_TCPIP_CORE_LOCKING", + "help": "when LWIP_TCPIP_CORE_LOCKING is enabled, this lets tcpip_input() grab the\nmutex for input packets as well, instead of allocating a message and passing\nit to tcpip_thread.", + "id": "LWIP_TCPIP_CORE_LOCKING_INPUT", + "name": "LWIP_TCPIP_CORE_LOCKING_INPUT", + "range": null, + "title": "Enable tcpip core locking input", + "type": "bool" + } + ], + "depends_on": null, + "help": "If Enable tcpip core locking,Creates a global mutex that is held\nduring TCPIP thread operations.Can be locked by client code to perform\nlwIP operations without changing into TCPIP thread using callbacks.\nSee LOCK_TCPIP_CORE() and UNLOCK_TCPIP_CORE().\n\nIf disable tcpip core locking,TCP IP will perform tasks through context switching", + "id": "LWIP_TCPIP_CORE_LOCKING", + "name": "LWIP_TCPIP_CORE_LOCKING", + "range": null, + "title": "Enable tcpip core locking", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable to check that the project does not violate lwip thread safety.\nIf enabled, all lwip functions that require thread awareness run an assertion\nto verify that the TCP/IP core functionality is either locked or accessed\nfrom the correct thread.", + "id": "LWIP_CHECK_THREAD_SAFETY", + "name": "LWIP_CHECK_THREAD_SAFETY", + "range": null, + "title": "Checks that lwip API runs in expected context", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If this feature is enabled, standard API such as gethostbyname\nsupport .local addresses by sending one shot multicast mDNS\nquery", + "id": "LWIP_DNS_SUPPORT_MDNS_QUERIES", + "name": "LWIP_DNS_SUPPORT_MDNS_QUERIES", + "range": null, + "title": "Enable mDNS queries in resolving host name", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If this feature is enabled, all traffic from layer2(WIFI Driver) will be\ncopied to a new buffer before sending it to layer3(LWIP stack), freeing\nthe layer2 buffer.\nPlease be notified that the total layer2 receiving buffer is fixed and\nESP32 currently supports 25 layer2 receiving buffer, when layer2 buffer\nruns out of memory, then the incoming packets will be dropped in hardware.\nThe layer3 buffer is allocated from the heap, so the total layer3 receiving\nbuffer depends on the available heap size, when heap runs out of memory,\nno copy will be sent to layer3 and packet will be dropped in layer2.\nPlease make sure you fully understand the impact of this feature before\nenabling it.", + "id": "LWIP_L2_TO_L3_COPY", + "name": "LWIP_L2_TO_L3_COPY", + "range": null, + "title": "Enable copy between Layer2 and Layer3 packets", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If this feature is enabled, some functions relating to RX/TX in LWIP will be\nput into IRAM, it can improve UDP/TCP throughput by >10% for single core mode,\nit doesn't help too much for dual core mode. On the other hand, it needs about\n10KB IRAM for these optimizations.\n\nIf this feature is disabled, all lwip functions will be put into FLASH.", + "id": "LWIP_IRAM_OPTIMIZATION", + "name": "LWIP_IRAM_OPTIMIZATION", + "range": null, + "title": "Enable LWIP IRAM optimization", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If this feature is enabled, some tcp part functions relating to RX/TX in LWIP will be\nput into IRAM, it can improve TCP throughput. On the other hand, it needs about 17KB\nIRAM for these optimizations.", + "id": "LWIP_EXTRA_IRAM_OPTIMIZATION", + "name": "LWIP_EXTRA_IRAM_OPTIMIZATION", + "range": null, + "title": "Enable LWIP IRAM optimization for TCP part", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If this feature is enabled, IGMP and MLD6 timers will be activated only\nwhen joining groups or receiving QUERY packets.\n\nThis feature will reduce the power consumption for applications which do not\nuse IGMP and MLD6.", + "id": "LWIP_TIMERS_ONDEMAND", + "name": "LWIP_TIMERS_ONDEMAND", + "range": null, + "title": "Enable LWIP Timers on demand", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_ND6", + "help": "This option is used to set the the router flag for the NA packets.\nWhen enabled, the router flag in NA packet will always set to 1,\notherwise, never set router flag for NA packets.", + "id": "LWIP_FORCE_ROUTER_FORWARDING", + "name": "LWIP_FORCE_ROUTER_FORWARDING", + "range": null, + "title": "LWIP Force Router Forwarding Enable/Disable", + "type": "bool" + } + ], + "depends_on": "LWIP_IPV6", + "help": "This option is used to disable the Network Discovery Protocol (NDP) if it is not required.\nPlease use this option with caution, as the NDP is essential for IPv6 functionality within a local network.", + "id": "LWIP_ND6", + "name": "LWIP_ND6", + "range": null, + "title": "LWIP NDP6 Enable/Disable", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "The practical maximum limit is\ndetermined by available heap memory at runtime.\n\nSockets take up a certain amount of memory, and allowing fewer\nsockets to be open at the same time conserves memory. Specify\nthe maximum amount of sockets here. The valid value is from 1\nto 253. If using value above 61, update CMakeLists defining\nFD_SETSIZE to the number of sockets used plus the\nexpected open files (minimum of +3 for stdout, stderr and stdin).", + "id": "LWIP_MAX_SOCKETS", + "name": "LWIP_MAX_SOCKETS", + "range": [ + 1, + 253 + ], + "title": "Max number of open sockets", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "This option is deprecated. Do not use this option, use VFS_SUPPORT_SELECT instead.", + "id": "LWIP_USE_ONLY_LWIP_SELECT", + "name": "LWIP_USE_ONLY_LWIP_SELECT", + "range": null, + "title": "Support LWIP socket select() only (DEPRECATED)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling this option allows SO_LINGER processing.\nl_onoff = 1,l_linger can set the timeout.\n\nIf l_linger=0, When a connection is closed, TCP will terminate the connection.\nThis means that TCP will discard any data packets stored in the socket send buffer\nand send an RST to the peer.\n\nIf l_linger!=0,Then closesocket() calls to block the process until\nthe remaining data packets has been sent or timed out.", + "id": "LWIP_SO_LINGER", + "name": "LWIP_SO_LINGER", + "range": null, + "title": "Enable SO_LINGER processing", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_SO_REUSE", + "help": "Enabling this option means that any incoming broadcast or multicast\npacket will be copied to all of the local sockets that it matches\n(may be more than one if SO_REUSEADDR is set on the socket.)\n\nThis increases memory overhead as the packets need to be copied,\nhowever they are only copied per matching socket. You can safely\ndisable it if you don't plan to receive broadcast or multicast\ntraffic on more than one socket at a time.", + "id": "LWIP_SO_REUSE_RXTOALL", + "name": "LWIP_SO_REUSE_RXTOALL", + "range": null, + "title": "SO_REUSEADDR copies broadcast/multicast to all matches", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enabling this option allows binding to a port which remains in\nTIME_WAIT.", + "id": "LWIP_SO_REUSE", + "name": "LWIP_SO_REUSE", + "range": null, + "title": "Enable SO_REUSEADDR option", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling this option allows checking for available data on a netconn.", + "id": "LWIP_SO_RCVBUF", + "name": "LWIP_SO_RCVBUF", + "range": null, + "title": "Enable SO_RCVBUF option", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling this option allows checking for the destination address\nof a received IPv4 Packet.", + "id": "LWIP_NETBUF_RECVINFO", + "name": "LWIP_NETBUF_RECVINFO", + "range": null, + "title": "Enable IP_PKTINFO option", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Set value for Time-To-Live used by transport layers.", + "id": "LWIP_IP_DEFAULT_TTL", + "name": "LWIP_IP_DEFAULT_TTL", + "range": [ + 1, + 255 + ], + "title": "The value for Time-To-Live used by transport layers", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_IPV4", + "help": "Enabling this option allows fragmenting outgoing IP4 packets if their size\nexceeds MTU.", + "id": "LWIP_IP4_FRAG", + "name": "LWIP_IP4_FRAG", + "range": null, + "title": "Enable fragment outgoing IP4 packets", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_IPV6", + "help": "Enabling this option allows fragmenting outgoing IP6 packets if their size\nexceeds MTU.", + "id": "LWIP_IP6_FRAG", + "name": "LWIP_IP6_FRAG", + "range": null, + "title": "Enable fragment outgoing IP6 packets", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_IPV4", + "help": "Enabling this option allows reassemblying incoming fragmented IP4 packets.", + "id": "LWIP_IP4_REASSEMBLY", + "name": "LWIP_IP4_REASSEMBLY", + "range": null, + "title": "Enable reassembly incoming fragmented IP4 packets", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_IPV6", + "help": "Enabling this option allows reassemblying incoming fragmented IP6 packets.", + "id": "LWIP_IP6_REASSEMBLY", + "name": "LWIP_IP6_REASSEMBLY", + "range": null, + "title": "Enable reassembly incoming fragmented IP6 packets", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Set the maximum amount of pbufs waiting to be reassembled.", + "id": "LWIP_IP_REASS_MAX_PBUFS", + "name": "LWIP_IP_REASS_MAX_PBUFS", + "range": [ + 10, + 100 + ], + "title": "The maximum amount of pbufs waiting to be reassembled", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_IPV6", + "help": "Set the number of duplicate address detection attempts.", + "id": "LWIP_IPV6_DUP_DETECT_ATTEMPTS", + "name": "LWIP_IPV6_DUP_DETECT_ATTEMPTS", + "range": [ + 0, + 7 + ], + "title": "Number of duplicate address detection attempts", + "type": "int" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "LWIP_IPV4_NAPT", + "help": "Enabling this option allows Port Forwarding or Port mapping.", + "id": "LWIP_IPV4_NAPT_PORTMAP", + "name": "LWIP_IPV4_NAPT_PORTMAP", + "range": null, + "title": "Enable NAT Port Mapping", + "type": "bool" + } + ], + "depends_on": "LWIP_IP_FORWARD", + "help": "Enabling this option allows Network Address and Port Translation.", + "id": "LWIP_IPV4_NAPT", + "name": "LWIP_IPV4_NAPT", + "range": null, + "title": "Enable NAT", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enabling this option allows packets forwarding across multiple interfaces.", + "id": "LWIP_IP_FORWARD", + "name": "LWIP_IP_FORWARD", + "range": null, + "title": "Enable IP forwarding", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling this option allows LWIP statistics", + "id": "LWIP_STATS", + "name": "LWIP_STATS", + "range": null, + "title": "Enable LWIP statistics", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_ESP_GRATUITOUS_ARP", + "help": "Set the timer interval for gratuitous ARP. The default value is 60s", + "id": "LWIP_GARP_TMR_INTERVAL", + "name": "LWIP_GARP_TMR_INTERVAL", + "range": null, + "title": "GARP timer interval(seconds)", + "type": "int" + } + ], + "depends_on": "LWIP_IPV4", + "help": "Enable this option allows to send gratuitous ARP periodically.\n\nThis option solve the compatibility issues.If the ARP table of the AP is old, and the AP\ndoesn't send ARP request to update it's ARP table, this will lead to the STA sending IP packet fail.\nThus we send gratuitous ARP periodically to let AP update it's ARP table.", + "id": "LWIP_ESP_GRATUITOUS_ARP", + "name": "LWIP_ESP_GRATUITOUS_ARP", + "range": null, + "title": "Send gratuitous ARP periodically", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_ESP_MLDV6_REPORT", + "help": "Set the timer interval for mldv6 report. The default value is 30s", + "id": "LWIP_MLDV6_TMR_INTERVAL", + "name": "LWIP_MLDV6_TMR_INTERVAL", + "range": null, + "title": "mldv6 report timer interval(seconds)", + "type": "int" + } + ], + "depends_on": "LWIP_IPV6", + "help": "Enable this option allows to send mldv6 report periodically.\n\nThis option solve the issue that failed to receive multicast data.\nSome routers fail to forward multicast packets.\nTo solve this problem, send multicast mdlv6 report to routers regularly.", + "id": "LWIP_ESP_MLDV6_REPORT", + "name": "LWIP_ESP_MLDV6_REPORT", + "range": null, + "title": "Send mldv6 report periodically", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Set TCPIP task receive mail box size. Generally bigger value means higher throughput\nbut more memory. The value should be bigger than UDP/TCP mail box size.", + "id": "LWIP_TCPIP_RECVMBOX_SIZE", + "name": "LWIP_TCPIP_RECVMBOX_SIZE", + "range": [ + 6, + 64 + ], + "title": "TCPIP task receive mail box size", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "!LWIP_AUTOIP && ", + "help": null, + "id": "LWIP_DHCP_DOES_ARP_CHECK", + "name": "LWIP_DHCP_DOES_ARP_CHECK", + "range": null, + "title": "DHCP provides simple ARP check", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_DHCP_DOES_ACD_CHECK", + "name": "LWIP_DHCP_DOES_ACD_CHECK", + "range": null, + "title": "DHCP provides Address Conflict Detection (ACD)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP", + "name": "LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP", + "range": null, + "title": "DHCP does not detect conflict on the offered IP", + "type": "bool" + } + ], + "depends_on": "LWIP_IPV4", + "help": "Choose the preferred way of DHCP client to check if the offered address\nis available:\n* Using Address Conflict Detection (ACD) module assures that the offered IP address\nis properly probed and announced before binding in DHCP. This conforms to RFC5227,\nbut takes several seconds.\n* Using ARP check, we only send two ARP requests to check for replies. This process\nlasts 1 - 2 seconds.\n* No conflict detection: We directly bind the offered address.", + "id": "component-config-lwip-choose-how-dhcp-validates-offered-ip-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-321", + "name": "LWIP_DHCP_CHECKS_OFFERED_ADDRESS", + "title": "Choose how DHCP validates offered IP", + "type": "choice" + }, + { + "children": [], + "depends_on": "LWIP_IPV4", + "help": "This option could be used to disable DHCP client identification with its MAC address.\n(Client id is used by DHCP servers to uniquely identify clients and are included\nin the DHCP packets as an option 61)\nSet this option to \"y\" in order to exclude option 61 from DHCP packets.", + "id": "LWIP_DHCP_DISABLE_CLIENT_ID", + "name": "LWIP_DHCP_DISABLE_CLIENT_ID", + "range": null, + "title": "DHCP: Disable Use of HW address as client identification", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_IPV4", + "help": "This option could be used to disable DHCP client vendor class identification.\nSet this option to \"y\" in order to exclude option 60 from DHCP packets.", + "id": "LWIP_DHCP_DISABLE_VENDOR_CLASS_ID", + "name": "LWIP_DHCP_DISABLE_VENDOR_CLASS_ID", + "range": null, + "title": "DHCP: Disable Use of vendor class identification", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_IPV4", + "help": "When this option is enabled, DHCP client tries to re-obtain last valid IP address obtained from DHCP\nserver. Last valid DHCP configuration is stored in nvs and restored after reset/power-up. If IP is still\navailable, there is no need for sending discovery message to DHCP server and save some time.", + "id": "LWIP_DHCP_RESTORE_LAST_IP", + "name": "LWIP_DHCP_RESTORE_LAST_IP", + "range": null, + "title": "DHCP: Restore last IP obtained from DHCP server", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_IPV4", + "help": "Set total length of outgoing DHCP option msg. Generally bigger value means it can carry more\noptions and values. If your code meets LWIP_ASSERT due to option value is too long.\nPlease increase the LWIP_DHCP_OPTIONS_LEN value.", + "id": "LWIP_DHCP_OPTIONS_LEN", + "name": "LWIP_DHCP_OPTIONS_LEN", + "range": [ + 69, + 255 + ], + "title": "DHCP total option length", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Number of clients that may store data in client_data member array of struct netif.", + "id": "LWIP_NUM_NETIF_CLIENT_DATA", + "name": "LWIP_NUM_NETIF_CLIENT_DATA", + "range": [ + 0, + 256 + ], + "title": "Number of clients store data in netif", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Set DHCP coarse interval in seconds.\nA higher value will be less precise but cost less power consumption.", + "id": "LWIP_DHCP_COARSE_TIMER_SECS", + "name": "LWIP_DHCP_COARSE_TIMER_SECS", + "range": [ + 1, + 10 + ], + "title": "DHCP coarse timer interval(s)", + "type": "int" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "LWIP_DHCPS", + "help": "When enabled, the DHCP server parses client hostname (DHCP option 12)\nand makes it available via IP_EVENT_ASSIGNED_IP_TO_CLIENT. This adds\na small amount of RAM usage per lease to store the hostname.", + "id": "LWIP_DHCPS_REPORT_CLIENT_HOSTNAME", + "name": "LWIP_DHCPS_REPORT_CLIENT_HOSTNAME", + "range": null, + "title": "DHCPS: Report client hostname in assigned-IP event", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DHCPS", + "help": "The DHCP server is calculating lease time multiplying the sent\nand received times by this number of seconds per unit.\nThe default is 60, that equals one minute.", + "id": "LWIP_DHCPS_LEASE_UNIT", + "name": "LWIP_DHCPS_LEASE_UNIT", + "range": [ + 1, + 3600 + ], + "title": "Multiplier for lease time, in seconds", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_DHCPS", + "help": "The maximum number of DHCP clients that are connected to the server.\nAfter this number is exceeded, DHCP server removes of the oldest device\nfrom it's address pool, without notification.", + "id": "LWIP_DHCPS_MAX_STATION_NUM", + "name": "LWIP_DHCPS_MAX_STATION_NUM", + "range": [ + 1, + 64 + ], + "title": "Maximum number of stations", + "type": "int" + } + ], + "depends_on": "LWIP_IPV4", + "help": "Enabling this option allows the device to run the DHCP server\n(to dynamically assign IPv4 addresses to clients).", + "id": "LWIP_DHCPS", + "name": "LWIP_DHCPS", + "range": null, + "title": "DHCPS: Enable IPv4 Dynamic Host Configuration Protocol Server (DHCPS)", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DHCPS_REPORT_CLIENT_HOSTNAME", + "help": "Maximum number of bytes stored per-client for DHCP option 12 (hostname),\nincluding the terminating null when used in esp-netif events. Longer hostnames\nwill be truncated.", + "id": "LWIP_DHCPS_MAX_HOSTNAME_LEN", + "name": "LWIP_DHCPS_MAX_HOSTNAME_LEN", + "range": [ + 1, + 255 + ], + "title": "Maximum client hostname length stored by DHCPS", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_DHCPS", + "help": "Enabling this option allows DHCP server to support temporary static ARP entries\nfor DHCP Client. This will help the DHCP server to send the DHCP OFFER and DHCP ACK using IP unicast.", + "id": "LWIP_DHCPS_STATIC_ENTRIES", + "name": "LWIP_DHCPS_STATIC_ENTRIES", + "range": null, + "title": "Enable ARP static entries", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-lwip-dhcp-server-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-398", + "title": "DHCP server", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_AUTOIP", + "help": "DHCP client will send this many probes before self-assigning a\nlink local address.\n\nFrom LWIP help: \"This can be set as low as 1 to get an AutoIP\naddress very quickly, but you should be prepared to handle a\nchanging IP address when DHCP overrides AutoIP.\" (In the case of\nESP-IDF, this means multiple SYSTEM_EVENT_STA_GOT_IP events.)", + "id": "LWIP_AUTOIP_TRIES", + "name": "LWIP_AUTOIP_TRIES", + "range": null, + "title": "DHCP Probes before self-assigning IPv4 LL address", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_AUTOIP", + "help": "If the AUTOIP functionality detects this many IP conflicts while\nself-assigning an address, it will go into a rate limited mode.", + "id": "LWIP_AUTOIP_MAX_CONFLICTS", + "name": "LWIP_AUTOIP_MAX_CONFLICTS", + "range": null, + "title": "Max IP conflicts before rate limiting", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_AUTOIP", + "help": "If rate limiting self-assignment requests, wait this long between\neach request.", + "id": "LWIP_AUTOIP_RATE_LIMIT_INTERVAL", + "name": "LWIP_AUTOIP_RATE_LIMIT_INTERVAL", + "range": null, + "title": "Rate limited interval (seconds)", + "type": "int" + } + ], + "depends_on": "LWIP_IPV4", + "help": "Enabling this option allows the device to self-assign an address\nin the 169.256/16 range if none is assigned statically or via DHCP.\n\nSee RFC 3927.", + "id": "LWIP_AUTOIP", + "is_menuconfig": true, + "name": "LWIP_AUTOIP", + "range": null, + "title": "Enable IPV4 Link-Local Addressing (AUTOIP)", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": "Enable IPv4 stack. If you want to use IPv6 only TCP/IP stack, disable this.", + "id": "LWIP_IPV4", + "name": "LWIP_IPV4", + "range": null, + "title": "Enable IPv4", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_IPV6", + "help": "Enabling this option allows the devices to IPV6 stateless address autoconfiguration (SLAAC).\n\nSee RFC 4862.", + "id": "LWIP_IPV6_AUTOCONFIG", + "name": "LWIP_IPV6_AUTOCONFIG", + "range": null, + "title": "Enable IPV6 stateless address autoconfiguration (SLAAC)", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_IPV6", + "help": "The maximum number of IPv6 addresses on each interface. Any additional\naddresses will be discarded.", + "id": "LWIP_IPV6_NUM_ADDRESSES", + "name": "LWIP_IPV6_NUM_ADDRESSES", + "range": null, + "title": "Number of IPv6 addresses on each network interface", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_IPV6", + "help": "Forwarding IPv6 packets between interfaces is only required when acting as\na router.", + "id": "LWIP_IPV6_FORWARD", + "name": "LWIP_IPV6_FORWARD", + "range": null, + "title": "Enable IPv6 forwarding between interfaces", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enable IPv6 function. If not use IPv6 function, set this option to n.\nIf disabling LWIP_IPV6 then some other components (asio) will\nno longer be available.", + "id": "LWIP_IPV6", + "name": "LWIP_IPV6", + "range": null, + "title": "Enable IPv6", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_IPV6_AUTOCONFIG", + "help": "Use IPv6 Router Advertisement Recursive DNS Server Option (as per RFC 6106) to\ncopy a defined maximum number of DNS servers to the DNS module.\nSet this option to a number of desired DNS servers advertised in the RA protocol.\nThis feature is disabled when set to 0.", + "id": "LWIP_IPV6_RDNSS_MAX_DNS_SERVERS", + "name": "LWIP_IPV6_RDNSS_MAX_DNS_SERVERS", + "range": null, + "title": "Use IPv6 Router Advertisement Recursive DNS Server Option", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_IPV6_AUTOCONFIG", + "help": "Enable DHCPv6 for IPv6 stateless address autoconfiguration.\nNote that the dhcpv6 client has to be started using dhcp6_enable_stateless(netif);\nNote that the stateful address autoconfiguration is not supported.", + "id": "LWIP_IPV6_DHCP6", + "name": "LWIP_IPV6_DHCP6", + "range": null, + "title": "Enable DHCPv6 stateless address autoconfiguration", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable callbacks when the network interface is up/down and addresses are changed.", + "id": "LWIP_NETIF_STATUS_CALLBACK", + "name": "LWIP_NETIF_STATUS_CALLBACK", + "range": null, + "title": "Enable status callback for network interfaces", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable callbacks when the physical network link is up/down.", + "id": "LWIP_NETIF_LINK_CALLBACK", + "name": "LWIP_NETIF_LINK_CALLBACK", + "range": null, + "title": "Enable link callback for network interfaces", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_NETIF_LOOPBACK", + "help": "Configure the maximum number of packets which can be queued for\nloopback on a given interface. Reducing this number may cause packets\nto be dropped, but will avoid filling memory with queued packet data.", + "id": "LWIP_LOOPBACK_MAX_PBUFS", + "name": "LWIP_LOOPBACK_MAX_PBUFS", + "range": [ + 0, + 16 + ], + "title": "Max queued loopback packets per interface", + "type": "int" + } + ], + "depends_on": null, + "help": "Enabling this option means that if a packet is sent with a destination\naddress equal to the interface's own IP address, it will \"loop back\" and\nbe received by this interface.\nDisabling this option disables support of loopback interface in lwIP", + "id": "LWIP_NETIF_LOOPBACK", + "is_menuconfig": true, + "name": "LWIP_NETIF_LOOPBACK", + "range": null, + "title": "Support per-interface loopback", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "The maximum number of simultaneously active TCP\nconnections. The practical maximum limit is\ndetermined by available heap memory at runtime.\n\nChanging this value by itself does not substantially\nchange the memory usage of LWIP, except for preventing\nnew TCP connections after the limit is reached.", + "id": "LWIP_MAX_ACTIVE_TCP", + "name": "LWIP_MAX_ACTIVE_TCP", + "range": [ + 1, + 1024 + ], + "title": "Maximum active TCP Connections", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "The maximum number of simultaneously listening TCP\nconnections. The practical maximum limit is\ndetermined by available heap memory at runtime.\n\nChanging this value by itself does not substantially\nchange the memory usage of LWIP, except for preventing\nnew listening TCP connections after the limit is reached.", + "id": "LWIP_MAX_LISTENING_TCP", + "name": "LWIP_MAX_LISTENING_TCP", + "range": [ + 1, + 1024 + ], + "title": "Maximum listening TCP Connections", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Speed up the TCP retransmission interval. If disabled,\nit is recommended to change the number of SYN retransmissions to 6,\nand TCP initial rto time to 3000.", + "id": "LWIP_TCP_HIGH_SPEED_RETRANSMISSION", + "name": "LWIP_TCP_HIGH_SPEED_RETRANSMISSION", + "range": null, + "title": "TCP high speed retransmissions", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Set maximum number of retransmissions of data segments.", + "id": "LWIP_TCP_MAXRTX", + "name": "LWIP_TCP_MAXRTX", + "range": [ + 3, + 12 + ], + "title": "Maximum number of retransmissions of data segments", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Set maximum number of retransmissions of SYN segments.", + "id": "LWIP_TCP_SYNMAXRTX", + "name": "LWIP_TCP_SYNMAXRTX", + "range": [ + 3, + 12 + ], + "title": "Maximum number of retransmissions of SYN segments", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Set maximum segment size for TCP transmission.\n\nCan be set lower to save RAM, the default value 1460(ipv4)/1440(ipv6) will give best throughput.\nIPv4 TCP_MSS Range: 576 <= TCP_MSS <= 1460\nIPv6 TCP_MSS Range: 1220<= TCP_MSS <= 1440", + "id": "LWIP_TCP_MSS", + "name": "LWIP_TCP_MSS", + "range": [ + 536, + 1460 + ], + "title": "Maximum Segment Size (MSS)", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Set TCP timer interval in milliseconds.\n\nCan be used to speed connections on bad networks.\nA lower value will redeliver unacked packets faster.", + "id": "LWIP_TCP_TMR_INTERVAL", + "name": "LWIP_TCP_TMR_INTERVAL", + "range": null, + "title": "TCP timer interval(ms)", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Set maximum segment lifetime in milliseconds.", + "id": "LWIP_TCP_MSL", + "name": "LWIP_TCP_MSL", + "range": null, + "title": "Maximum segment lifetime (MSL)", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Set maximum segment lifetime in milliseconds.", + "id": "LWIP_TCP_FIN_WAIT_TIMEOUT", + "name": "LWIP_TCP_FIN_WAIT_TIMEOUT", + "range": null, + "title": "Maximum FIN segment lifetime", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Set default send buffer size for new TCP sockets.\n\nPer-socket send buffer size can be changed at runtime\nwith lwip_setsockopt(s, TCP_SNDBUF, ...).\n\nThis value must be at least 2x the MSS size, and the default\nis 4x the default MSS size.\n\nSetting a smaller default SNDBUF size can save some RAM, but\nwill decrease performance.", + "id": "LWIP_TCP_SND_BUF_DEFAULT", + "name": "LWIP_TCP_SND_BUF_DEFAULT", + "range": [ + 2440, + 65535 + ], + "title": "Default send buffer size", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Set default TCP receive window size for new TCP sockets.\n\nPer-socket receive window size can be changed at runtime\nwith lwip_setsockopt(s, TCP_WINDOW, ...).\n\nSetting a smaller default receive window size can save some RAM,\nbut will significantly decrease performance.", + "id": "LWIP_TCP_WND_DEFAULT", + "name": "LWIP_TCP_WND_DEFAULT", + "range": [ + 2440, + 65535 + ], + "title": "Default receive window size", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Set TCP receive mail box size. Generally bigger value means higher throughput\nbut more memory. The recommended value is: LWIP_TCP_WND_DEFAULT/TCP_MSS + 2, e.g. if\nLWIP_TCP_WND_DEFAULT=14360, TCP_MSS=1436, then the recommended receive mail box size is\n(14360/1436 + 2) = 12.\n\nTCP receive mail box is a per socket mail box, when the application receives packets\nfrom TCP socket, LWIP core firstly posts the packets to TCP receive mail box and the\napplication then fetches the packets from mail box. It means LWIP can caches maximum\nLWIP_TCP_RECCVMBOX_SIZE packets for each TCP socket, so the maximum possible cached TCP packets\nfor all TCP sockets is LWIP_TCP_RECCVMBOX_SIZE multiples the maximum TCP socket number. In other\nwords, the bigger LWIP_TCP_RECVMBOX_SIZE means more memory.\nOn the other hand, if the receive mail box is too small, the mail box may be full. If the\nmail box is full, the LWIP drops the packets. So generally we need to make sure the TCP\nreceive mail box is big enough to avoid packet drop between LWIP core and application.", + "id": "LWIP_TCP_RECVMBOX_SIZE", + "name": "LWIP_TCP_RECVMBOX_SIZE", + "range": [ + 6, + 64 + ], + "title": "Default TCP receive mail box size", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Set TCP accept mail box size. Generally bigger value means supporting larger backlogs\nbut more memory. The recommended value is 6, but applications can set it to a lower value\nif listening servers are meant to have a smaller backlog.\n\nTCP accept mail box is a per socket mail box, when the application listens for connections\nwith a given listening TCP socket. If the mailbox is full, LWIP will send a RST packet and\nthe client will fail to connect.", + "id": "LWIP_TCP_ACCEPTMBOX_SIZE", + "name": "LWIP_TCP_ACCEPTMBOX_SIZE", + "range": [ + 1, + 64 + ], + "title": "Default TCP accept mail box size", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_TCP_QUEUE_OOSEQ", + "help": "The timeout value is TCP_OOSEQ_TIMEOUT * RTO.", + "id": "LWIP_TCP_OOSEQ_TIMEOUT", + "name": "LWIP_TCP_OOSEQ_TIMEOUT", + "range": [ + 1, + 30 + ], + "title": "Timeout for each pbuf queued in TCP OOSEQ, in RTOs.", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_TCP_QUEUE_OOSEQ", + "help": "If LWIP_TCP_OOSEQ_MAX_PBUFS = 0, TCP will not control the number of OOSEQ pbufs.\n\nIn a poor network environment, many out-of-order tcp pbufs will be received.\nThese out-of-order pbufs will be cached in the TCP out-of-order queue which will\ncause Wi-Fi/Ethernet fail to release RX buffer in time.\nIt is possible that all RX buffers for MAC layer are used by OOSEQ.\n\nControl the number of out-of-order pbufs to ensure\nthat the MAC layer has enough RX buffer to receive packets.\n\nIn the Wi-Fi scenario, recommended OOSEQ PBUFS Range:\n0 <= TCP_OOSEQ_MAX_PBUFS <= CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM/(MAX_TCP_NUMBER + 1)\n\nIn the Ethernet scenario,recommended Ethernet OOSEQ PBUFS Range:\n0 <= TCP_OOSEQ_MAX_PBUFS <= CONFIG_ETH_DMA_RX_BUFFER_NUM/(MAX_TCP_NUMBER + 1)\n\nWithin the recommended value range, the larger the value, the better the performance.\n\nMAX_TCP_NUMBER represent Maximum number of TCP connections in Wi-Fi(STA+SoftAP) and Ethernet scenario.", + "id": "LWIP_TCP_OOSEQ_MAX_PBUFS", + "name": "LWIP_TCP_OOSEQ_MAX_PBUFS", + "range": [ + 0, + 12 + ], + "title": "The maximum number of pbufs queued on OOSEQ per pcb", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_TCP_QUEUE_OOSEQ", + "help": "TCP will support sending selective acknowledgements (SACKs).", + "id": "LWIP_TCP_SACK_OUT", + "name": "LWIP_TCP_SACK_OUT", + "range": null, + "title": "Support sending selective acknowledgements", + "type": "bool" + } + ], + "depends_on": null, + "help": "Queue incoming out-of-order segments for later use.\n\nDisable this option to save some RAM during TCP sessions, at the expense\nof increased retransmissions if segments arrive out of order.", + "id": "LWIP_TCP_QUEUE_OOSEQ", + "name": "LWIP_TCP_QUEUE_OOSEQ", + "range": null, + "title": "Queue incoming out-of-order segments", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_TCP_OVERSIZE_MSS", + "name": "LWIP_TCP_OVERSIZE_MSS", + "range": null, + "title": "MSS", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_TCP_OVERSIZE_QUARTER_MSS", + "name": "LWIP_TCP_OVERSIZE_QUARTER_MSS", + "range": null, + "title": "25% MSS", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_TCP_OVERSIZE_DISABLE", + "name": "LWIP_TCP_OVERSIZE_DISABLE", + "range": null, + "title": "Disabled", + "type": "bool" + } + ], + "depends_on": null, + "help": "Allows enabling \"oversize\" allocation of TCP transmission pbufs ahead of time,\nwhich can reduce the length of pbuf chains used for transmission.\n\nThis will not make a difference to sockets where Nagle's algorithm\nis disabled.\n\nDefault value of MSS is fine for most applications, 25% MSS may save\nsome RAM when only transmitting small amounts of data. Disabled will\nhave worst performance and fragmentation characteristics, but uses\nleast RAM overall.", + "id": "component-config-lwip-tcp-pre-allocate-transmit-pbuf-size-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-789", + "name": "LWIP_TCP_OVERSIZE", + "title": "Pre-allocate transmit PBUF size", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_WND_SCALE", + "help": "Enable this feature to support TCP window scaling.", + "id": "LWIP_TCP_RCV_SCALE", + "name": "LWIP_TCP_RCV_SCALE", + "range": null, + "title": "Set TCP receiving window scaling factor", + "type": "int" + } + ], + "depends_on": "SPIRAM_TRY_ALLOCATE_WIFI_LWIP && !SPIRAM_IGNORE_NOTFOUND", + "help": "Enable this feature to support TCP window scaling.", + "id": "LWIP_WND_SCALE", + "name": "LWIP_WND_SCALE", + "range": null, + "title": "Support TCP window scale", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Set default TCP rto time for a reasonable initial rto.\nIn bad network environment, recommend set value of rto time to 1500.", + "id": "LWIP_TCP_RTO_TIME", + "name": "LWIP_TCP_RTO_TIME", + "range": null, + "title": "Default TCP rto time", + "type": "int" + } + ], + "depends_on": null, + "id": "component-config-lwip-tcp-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-588", + "title": "TCP", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "The maximum number of active UDP \"connections\" (ie\nUDP sockets sending/receiving data).\nThe practical maximum limit is determined by available\nheap memory at runtime.", + "id": "LWIP_MAX_UDP_PCBS", + "name": "LWIP_MAX_UDP_PCBS", + "range": [ + 1, + 1024 + ], + "title": "Maximum active UDP control blocks", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Set UDP receive mail box size. The recommended value is 6.\n\nUDP receive mail box is a per socket mail box, when the application receives packets\nfrom UDP socket, LWIP core firstly posts the packets to UDP receive mail box and the\napplication then fetches the packets from mail box. It means LWIP can caches maximum\nUDP_RECCVMBOX_SIZE packets for each UDP socket, so the maximum possible cached UDP packets\nfor all UDP sockets is UDP_RECCVMBOX_SIZE multiples the maximum UDP socket number. In other\nwords, the bigger UDP_RECVMBOX_SIZE means more memory.\nOn the other hand, if the receive mail box is too small, the mail box may be full. If the\nmail box is full, the LWIP drops the packets. So generally we need to make sure the UDP\nreceive mail box is big enough to avoid packet drop between LWIP core and application.", + "id": "LWIP_UDP_RECVMBOX_SIZE", + "name": "LWIP_UDP_RECVMBOX_SIZE", + "range": [ + 6, + 64 + ], + "title": "Default UDP receive mail box size", + "type": "int" + } + ], + "depends_on": null, + "id": "component-config-lwip-udp-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-838", + "title": "UDP", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enable checksum checking for received IP messages", + "id": "LWIP_CHECKSUM_CHECK_IP", + "name": "LWIP_CHECKSUM_CHECK_IP", + "range": null, + "title": "Enable LWIP IP checksums", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable checksum checking for received UDP messages", + "id": "LWIP_CHECKSUM_CHECK_UDP", + "name": "LWIP_CHECKSUM_CHECK_UDP", + "range": null, + "title": "Enable LWIP UDP checksums", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable checksum checking for received ICMP messages", + "id": "LWIP_CHECKSUM_CHECK_ICMP", + "name": "LWIP_CHECKSUM_CHECK_ICMP", + "range": null, + "title": "Enable LWIP ICMP checksums", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-lwip-checksums-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-869", + "title": "Checksums", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": "Configure TCP/IP task stack size, used by LWIP to process multi-threaded TCP/IP operations.\nSetting this stack too small will result in stack overflow crashes.", + "id": "LWIP_TCPIP_TASK_STACK_SIZE", + "name": "LWIP_TCPIP_TASK_STACK_SIZE", + "range": [ + 2048, + 65536 + ], + "title": "TCP/IP Task Stack Size", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY", + "name": "LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY", + "range": null, + "title": "No affinity", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_TCPIP_TASK_AFFINITY_CPU0", + "name": "LWIP_TCPIP_TASK_AFFINITY_CPU0", + "range": null, + "title": "CPU0", + "type": "bool" + }, + { + "children": [], + "depends_on": "!FREERTOS_UNICORE && ", + "help": null, + "id": "LWIP_TCPIP_TASK_AFFINITY_CPU1", + "name": "LWIP_TCPIP_TASK_AFFINITY_CPU1", + "range": null, + "title": "CPU1", + "type": "bool" + } + ], + "depends_on": null, + "help": "Allows setting LwIP tasks affinity, i.e. whether the task is pinned to\nCPU0, pinned to CPU1, or allowed to run on any CPU.\nCurrently this applies to \"TCP/IP\" task and \"Ping\" task.", + "id": "component-config-lwip-tcp-ip-task-affinity-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-902", + "name": "LWIP_TCPIP_TASK_AFFINITY", + "title": "TCP/IP task affinity", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "LWIP_TCPIP_TASK_AFFINITY", + "name": "LWIP_TCPIP_TASK_AFFINITY", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [], + "depends_on": "LWIP_IPV6", + "help": "Config max number of IPv6 packets to queue during MAC resolution.", + "id": "LWIP_IPV6_MEMP_NUM_ND6_QUEUE", + "name": "LWIP_IPV6_MEMP_NUM_ND6_QUEUE", + "range": [ + 3, + 20 + ], + "title": "Max number of IPv6 packets to queue during MAC resolution", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_IPV6", + "help": "Config max number of entries in IPv6 neighbor cache", + "id": "LWIP_IPV6_ND6_NUM_NEIGHBORS", + "name": "LWIP_IPV6_ND6_NUM_NEIGHBORS", + "range": [ + 3, + 10 + ], + "title": "Max number of entries in IPv6 neighbor cache", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_IPV6", + "help": "Maximum number of entries in IPv6 on-link prefixes cache", + "id": "LWIP_IPV6_ND6_NUM_PREFIXES", + "name": "LWIP_IPV6_ND6_NUM_PREFIXES", + "range": null, + "title": "Max number of entries in IPv6 on-link prefixes cache", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_IPV6", + "help": "Maximum number of entries in IPv6 default routers cache", + "id": "LWIP_IPV6_ND6_NUM_ROUTERS", + "name": "LWIP_IPV6_ND6_NUM_ROUTERS", + "range": null, + "title": "Max number of entries in IPv6 default routers cache", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_IPV6", + "help": "Maximum number of entries in IPv6 destinations cache", + "id": "LWIP_IPV6_ND6_NUM_DESTINATIONS", + "name": "LWIP_IPV6_ND6_NUM_DESTINATIONS", + "range": null, + "title": "Max number of entries in IPv6 destinations cache", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT", + "help": "Maximum number of entries in IPv6 route information options cache", + "id": "LWIP_IPV6_ND6_NUM_ROUTE_INFO", + "name": "LWIP_IPV6_ND6_NUM_ROUTE_INFO", + "range": null, + "title": "Max number of entries in IPv6 route information options cache", + "type": "int" + } + ], + "depends_on": "LWIP_ND6", + "help": "Enable route information option (RIO) support in IPV6 ND6", + "id": "LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT", + "name": "LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT", + "range": null, + "title": "Enable IPV6 ND6 route information option support", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_PPP_SUPPORT && LWIP_IPV4", + "help": "Enable IPCP protocol in PPP negotiations, which assigns IPv4 addresses to the PPP client,\nas well as IPv4 DNS servers.\nYou can disable this if your modem supports IPv6 only.", + "id": "LWIP_PPP_ENABLE_IPV4", + "name": "LWIP_PPP_ENABLE_IPV4", + "range": null, + "title": "Enable IPV4 support for PPP connections (IPCP)", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_PPP_SUPPORT && LWIP_IPV6", + "help": "Enable IPV6 support in PPP for the local link between the DTE (processor) and DCE (modem).\nThere are some modems which do not support the IPV6 addressing in the local link.\nIf they are requested for IPV6CP negotiation, they may time out.\nThis would in turn fail the configuration for the whole link.\nIf your modem is not responding correctly to PPP Phase Network, try to disable IPV6 support.", + "id": "LWIP_PPP_ENABLE_IPV6", + "name": "LWIP_PPP_ENABLE_IPV6", + "range": null, + "title": "Enable IPV6 support for PPP connections (IPV6CP)", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_PPP_SUPPORT", + "help": "Enable to set a callback which is called on change of the internal PPP state machine.", + "id": "LWIP_PPP_NOTIFY_PHASE_SUPPORT", + "name": "LWIP_PPP_NOTIFY_PHASE_SUPPORT", + "range": null, + "title": "Enable Notify Phase Callback", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_PPP_SUPPORT", + "help": "Enable Password Authentication Protocol (PAP) support", + "id": "LWIP_PPP_PAP_SUPPORT", + "name": "LWIP_PPP_PAP_SUPPORT", + "range": null, + "title": "Enable PAP support", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_PPP_SUPPORT", + "help": "Enable Challenge Handshake Authentication Protocol (CHAP) support", + "id": "LWIP_PPP_CHAP_SUPPORT", + "name": "LWIP_PPP_CHAP_SUPPORT", + "range": null, + "title": "Enable CHAP support", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_PPP_SUPPORT", + "help": "Enable Microsoft version of the Challenge-Handshake Authentication Protocol (MSCHAP) support", + "id": "LWIP_PPP_MSCHAP_SUPPORT", + "name": "LWIP_PPP_MSCHAP_SUPPORT", + "range": null, + "title": "Enable MSCHAP support", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_PPP_SUPPORT", + "help": "Enable Microsoft Point-to-Point Encryption (MPPE) support", + "id": "LWIP_PPP_MPPE_SUPPORT", + "name": "LWIP_PPP_MPPE_SUPPORT", + "range": null, + "title": "Enable MPPE support", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_PPP_SUPPORT", + "help": "Enable to use PPP server", + "id": "LWIP_PPP_SERVER_SUPPORT", + "name": "LWIP_PPP_SERVER_SUPPORT", + "range": null, + "title": "Enable PPP server support", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_PPP_SUPPORT", + "help": "Enable support for VJ header compression.\nPlease disable this if you're using NAPT on PPP interface,\nsince the compressed IP header might not be correctly interpreted\nin NAT causing the compressed packet to be dropped.", + "id": "LWIP_PPP_VJ_HEADER_COMPRESSION", + "name": "LWIP_PPP_VJ_HEADER_COMPRESSION", + "range": null, + "title": "Enable VJ IP Header compression", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_ENABLE_LCP_ECHO", + "help": "Interval in seconds between keepalive LCP echo requests, 0 to disable.", + "id": "LWIP_LCP_ECHOINTERVAL", + "name": "LWIP_LCP_ECHOINTERVAL", + "range": null, + "title": "Echo interval (s)", + "type": "int" + }, + { + "children": [], + "depends_on": "LWIP_ENABLE_LCP_ECHO", + "help": "Number of consecutive unanswered echo requests before failure is indicated.", + "id": "LWIP_LCP_MAXECHOFAILS", + "name": "LWIP_LCP_MAXECHOFAILS", + "range": null, + "title": "Maximum echo failures", + "type": "int" + } + ], + "depends_on": "LWIP_PPP_SUPPORT", + "help": "Enable LCP echo keepalive requests", + "id": "LWIP_ENABLE_LCP_ECHO", + "name": "LWIP_ENABLE_LCP_ECHO", + "range": null, + "title": "Enable LCP ECHO", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_PPP_SUPPORT", + "help": "Enable PPP debug log output", + "id": "LWIP_PPP_DEBUG_ON", + "name": "LWIP_PPP_DEBUG_ON", + "range": null, + "title": "Enable PPP debug log output", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_PPP_SUPPORT && !LWIP_PPP_MPPE_SUPPORT && !LWIP_PPP_MSCHAP_SUPPORT", + "help": "This option uses mbedTLS crypto functions (instead of internal PolarSSL\nimplementation) for PPP authentication modes (PAP, CHAP, etc.).\nYou can use this option to address symbol duplication issues, since\nthe internal functions are not namespaced (e.g. md5_init()).", + "id": "LWIP_USE_EXTERNAL_MBEDTLS", + "name": "LWIP_USE_EXTERNAL_MBEDTLS", + "range": null, + "title": "Use mbedTLS instead of internal polarSSL", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enable PPP stack. Now only PPP over serial is possible.", + "id": "LWIP_PPP_SUPPORT", + "is_menuconfig": true, + "name": "LWIP_PPP_SUPPORT", + "range": null, + "title": "Enable PPP support", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_SLIP_SUPPORT", + "help": "Enable SLIP debug log output", + "id": "LWIP_SLIP_DEBUG_ON", + "name": "LWIP_SLIP_DEBUG_ON", + "range": null, + "title": "Enable SLIP debug log output", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enable SLIP stack. Now only SLIP over serial is possible.\n\nSLIP over serial support is experimental and unsupported.", + "id": "LWIP_SLIP_SUPPORT", + "is_menuconfig": true, + "name": "LWIP_SLIP_SUPPORT", + "range": null, + "title": "Enable SLIP support (new/experimental)", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enable ICMP module for check network stability", + "id": "LWIP_ICMP", + "name": "LWIP_ICMP", + "range": null, + "title": "ICMP: Enable ICMP", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_ICMP6 || LWIP_ICMP", + "help": null, + "id": "LWIP_MULTICAST_PING", + "name": "LWIP_MULTICAST_PING", + "range": null, + "title": "Respond to multicast pings", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_ICMP", + "help": null, + "id": "LWIP_BROADCAST_PING", + "name": "LWIP_BROADCAST_PING", + "range": null, + "title": "Respond to broadcast pings", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-lwip-icmp-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1111", + "title": "ICMP", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "The maximum number of simultaneously active LWIP\nRAW protocol control blocks. The practical maximum\nlimit is determined by available heap memory at runtime.", + "id": "LWIP_MAX_RAW_PCBS", + "name": "LWIP_MAX_RAW_PCBS", + "range": [ + 1, + 1024 + ], + "title": "Maximum LWIP RAW PCBs", + "type": "int" + } + ], + "depends_on": null, + "id": "component-config-lwip-lwip-raw-api-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1131", + "title": "LWIP RAW API", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Set maximum number of NTP servers used by LwIP SNTP module.\nFirst argument of sntp_setserver/sntp_setservername functions\nis limited to this value.", + "id": "LWIP_SNTP_MAX_SERVERS", + "name": "LWIP_SNTP_MAX_SERVERS", + "range": [ + 1, + 16 + ], + "title": "Maximum number of NTP servers", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_DHCP_GET_NTP_SRV", + "help": "Set maximum number of NTP servers acquired via DHCP-offer.\nShould be less or equal to \"Maximum number of NTP servers\", any extra servers would be just ignored.", + "id": "LWIP_DHCP_MAX_NTP_SERVERS", + "name": "LWIP_DHCP_MAX_NTP_SERVERS", + "range": null, + "title": "Maximum number of NTP servers acquired via DHCP", + "type": "int" + } + ], + "depends_on": null, + "help": "If enabled, LWIP will add 'NTP' to Parameter-Request Option sent via DHCP-request.\nDHCP server might reply with an NTP server address in option 42.\nSNTP callback for such replies should be set accordingly (see sntp_servermode_dhcp() func.)", + "id": "LWIP_DHCP_GET_NTP_SRV", + "name": "LWIP_DHCP_GET_NTP_SRV", + "range": null, + "title": "Request NTP servers from DHCP", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This option allows you to set the time update period via SNTP.\nDefault is 1 hour. Must not be below 15 seconds by specification.\n(SNTPv4 RFC 4330 enforces a minimum update time of 15 seconds).", + "id": "LWIP_SNTP_UPDATE_DELAY", + "name": "LWIP_SNTP_UPDATE_DELAY", + "range": [ + 15000, + 4294967295 + ], + "title": "Request interval to update time (ms)", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_SNTP_STARTUP_DELAY", + "help": "RFC 4330 recommends a startup delay before sending the initial request.\nLWIP calculates this delay to a random number of milliseconds between 0 and this value.", + "id": "LWIP_SNTP_MAXIMUM_STARTUP_DELAY", + "name": "LWIP_SNTP_MAXIMUM_STARTUP_DELAY", + "range": [ + 100, + 300000 + ], + "title": "Maximum startup delay (ms)", + "type": "int" + } + ], + "depends_on": null, + "help": "It is recommended (RFC 4330) to delay the initial request after by a random timeout from 1 to 5 minutes\nto reduce potential load of NTP servers after simultaneous power-up of many devices.\nThis option disables this initial delay. Please use this option with care, it could improve\na single device responsiveness but might cause peaks on the network after reset.\nAnother option to address responsiveness of devices while using the initial random delay\nis to adjust LWIP_SNTP_MAXIMUM_STARTUP_DELAY.", + "id": "LWIP_SNTP_STARTUP_DELAY", + "name": "LWIP_SNTP_STARTUP_DELAY", + "range": null, + "title": "Enable SNTP startup delay", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-lwip-sntp-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1144", + "title": "SNTP", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Maximum number of IP addresses that can be returned by DNS queries for a single host.", + "id": "LWIP_DNS_MAX_HOST_IP", + "name": "LWIP_DNS_MAX_HOST_IP", + "range": null, + "title": "Maximum number of IP addresses per host", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Set maximum number of DNS servers.\nIf fallback DNS servers are supported,\nthe number of DNS servers needs to be greater than or equal to 3.", + "id": "LWIP_DNS_MAX_SERVERS", + "name": "LWIP_DNS_MAX_SERVERS", + "range": [ + 1, + 4 + ], + "title": "Maximum number of DNS servers", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_FALLBACK_DNS_SERVER_SUPPORT", + "help": "This option allows you to config dns fallback server address.", + "id": "LWIP_FALLBACK_DNS_SERVER_ADDRESS", + "name": "LWIP_FALLBACK_DNS_SERVER_ADDRESS", + "range": null, + "title": "DNS fallback server address", + "type": "string" + } + ], + "depends_on": "LWIP_DNS_MAX_SERVERS >= 3", + "help": "Enable this feature to support DNS fallback server.", + "id": "LWIP_FALLBACK_DNS_SERVER_SUPPORT", + "name": "LWIP_FALLBACK_DNS_SERVER_SUPPORT", + "range": null, + "title": "Enable DNS fallback server support", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This option allows collecting DNS server settings per netif using\nconfigurable callback function.\nIt's typically used with CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF\nwhich configures a callback to collect the DNS info on esp_netif layer.", + "id": "LWIP_DNS_SETSERVER_WITH_NETIF", + "name": "LWIP_DNS_SETSERVER_WITH_NETIF", + "range": null, + "title": "Enable DNS server settings with netif", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_IPV4 && LWIP_IPV6", + "help": "Use esp_getaddrinfo() for DNS lookups instead of lwip_getaddrinfo().\nThis function correctly handles the AF_UNSPEC flag for resolving\nboth IPv4 and IPv6 addresses. Available only when both IPv4 and IPv6\nare enabled.", + "id": "LWIP_USE_ESP_GETADDRINFO", + "name": "LWIP_USE_ESP_GETADDRINFO", + "range": null, + "title": "Enable esp_getaddrinfo() instead of lwip_getaddrinfo()", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-lwip-dns-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1203", + "title": "DNS", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": "Set maximum number of ports a bridge can consists of.", + "id": "LWIP_BRIDGEIF_MAX_PORTS", + "name": "LWIP_BRIDGEIF_MAX_PORTS", + "range": [ + 1, + 63 + ], + "title": "Maximum number of bridge ports", + "type": "int" + }, + { + "children": [], + "depends_on": "!COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE", + "help": "Enable this option keeps LWIP assertion checks enabled.\nIt is recommended to keep this option enabled.\n\nIf asserts are disabled for the entire project, they are also disabled\nfor LWIP and this option is ignored.", + "id": "LWIP_ESP_LWIP_ASSERT", + "name": "LWIP_ESP_LWIP_ASSERT", + "range": null, + "title": "Enable LWIP ASSERT checks", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_TCP_ISN_NONE", + "name": "LWIP_HOOK_TCP_ISN_NONE", + "range": null, + "title": "No hook declared", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_TCP_ISN_DEFAULT", + "name": "LWIP_HOOK_TCP_ISN_DEFAULT", + "range": null, + "title": "Default implementation", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_TCP_ISN_CUSTOM", + "name": "LWIP_HOOK_TCP_ISN_CUSTOM", + "range": null, + "title": "Custom implementation", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enables to define a TCP ISN hook to randomize initial sequence\nnumber in TCP connection.\nThe default TCP ISN algorithm used in IDF (standardized in RFC 6528)\nproduces ISN by combining an MD5 of the new TCP id and a stable\nsecret with the current time.\nThis is because the lwIP implementation (`tcp_next_iss`) is not\nvery strong, as it does not take into consideration any platform\nspecific entropy source.\n\nSet to LWIP_HOOK_TCP_ISN_CUSTOM to provide custom implementation.\nSet to LWIP_HOOK_TCP_ISN_NONE to use lwIP implementation.", + "id": "component-config-lwip-hooks-tcp-isn-hook-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1275", + "name": "LWIP_HOOK_TCP_ISN", + "title": "TCP ISN Hook", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_IP6_ROUTE_NONE", + "name": "LWIP_HOOK_IP6_ROUTE_NONE", + "range": null, + "title": "No hook declared", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_IP6_ROUTE_DEFAULT", + "name": "LWIP_HOOK_IP6_ROUTE_DEFAULT", + "range": null, + "title": "Default (weak) implementation", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_IP6_ROUTE_CUSTOM", + "name": "LWIP_HOOK_IP6_ROUTE_CUSTOM", + "range": null, + "title": "Custom implementation", + "type": "bool" + } + ], + "depends_on": "LWIP_IPV6", + "help": "Enables custom IPv6 route hook.\nSetting this to \"default\" provides weak implementation\nstub that could be overwritten in application code.\nSetting this to \"custom\" provides hook's declaration\nonly and expects the application to implement it.", + "id": "component-config-lwip-hooks-ipv6-route-hook-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1301", + "name": "LWIP_HOOK_IP6_ROUTE", + "title": "IPv6 route Hook", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_ND6_GET_GW_NONE", + "name": "LWIP_HOOK_ND6_GET_GW_NONE", + "range": null, + "title": "No hook declared", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_ND6_GET_GW_DEFAULT", + "name": "LWIP_HOOK_ND6_GET_GW_DEFAULT", + "range": null, + "title": "Default (weak) implementation", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_ND6_GET_GW_CUSTOM", + "name": "LWIP_HOOK_ND6_GET_GW_CUSTOM", + "range": null, + "title": "Custom implementation", + "type": "bool" + } + ], + "depends_on": "LWIP_IPV6", + "help": "Enables custom IPv6 route hook.\nSetting this to \"default\" provides weak implementation\nstub that could be overwritten in application code.\nSetting this to \"custom\" provides hook's declaration\nonly and expects the application to implement it.", + "id": "component-config-lwip-hooks-ipv6-get-gateway-hook-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1321", + "name": "LWIP_HOOK_ND6_GET_GW", + "title": "IPv6 get gateway Hook", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE", + "name": "LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE", + "range": null, + "title": "No hook declared", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT", + "name": "LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT", + "range": null, + "title": "Default (weak) implementation", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM", + "name": "LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM", + "range": null, + "title": "Custom implementation", + "type": "bool" + } + ], + "depends_on": "LWIP_IPV6", + "help": "Enables custom IPv6 source address selection.\nSetting this to \"default\" provides weak implementation\nstub that could be overwritten in application code.\nSetting this to \"custom\" provides hook's declaration\nonly and expects the application to implement it.", + "id": "component-config-lwip-hooks-ipv6-source-address-selection-hook-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1341", + "name": "LWIP_HOOK_IP6_SELECT_SRC_ADDR", + "title": "IPv6 source address selection Hook", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_DHCP_EXTRA_OPTION_NONE", + "name": "LWIP_HOOK_DHCP_EXTRA_OPTION_NONE", + "range": null, + "title": "No hook declared", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT", + "name": "LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT", + "range": null, + "title": "Default (weak) implementation", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM", + "name": "LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM", + "range": null, + "title": "Custom implementation", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enables custom hook to receive and parse extra DHCP options.\nSetting this to \"default\" provides weak implementation\nstub that could be overwritten in application code.\nSetting this to \"custom\" provides hook's declaration\nonly and expects the application to implement it.", + "id": "component-config-lwip-hooks-dhcp-extra-option-hook-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1361", + "name": "LWIP_HOOK_DHCP_EXTRA_OPTION", + "title": "DHCP extra option hook", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE", + "name": "LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE", + "range": null, + "title": "No hook declared", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT", + "name": "LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT", + "range": null, + "title": "Default (weak) implementation", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM", + "name": "LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM", + "range": null, + "title": "Custom implementation", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enables custom DNS resolve hook (without callback).\nSetting this to \"default\" provides weak implementation\nstub that could be overwritten in application code.\nSetting this to \"custom\" provides hook's declaration\nonly and expects the application to implement it.", + "id": "component-config-lwip-hooks-netconn-external-resolve-hook-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1380", + "name": "LWIP_HOOK_NETCONN_EXTERNAL_RESOLVE", + "title": "Netconn external resolve Hook", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": "This hidden option helps configure the DNS external resolve\nhook for external components like OpenThread. It ensures that\n`LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM` is selected without directly\nadding a dependency in the choice construct.", + "id": "LWIP_HOOK_DNS_EXTERNAL_RESOLVE_SELECT_CUSTOM", + "name": "LWIP_HOOK_DNS_EXTERNAL_RESOLVE_SELECT_CUSTOM", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_DNS_EXT_RESOLVE_NONE", + "name": "LWIP_HOOK_DNS_EXT_RESOLVE_NONE", + "range": null, + "title": "No hook declared", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM", + "name": "LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM", + "range": null, + "title": "Custom implementation", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enables custom DNS resolve hook (with callback).\nSetting this to \"custom\" provides hook's declaration\nonly and expects the application to implement it.", + "id": "component-config-lwip-hooks-dns-external-resolve-hook-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1408", + "name": "LWIP_HOOK_DNS_EXTERNAL_RESOLVE", + "title": "DNS external resolve Hook", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_IP6_INPUT_NONE", + "name": "LWIP_HOOK_IP6_INPUT_NONE", + "range": null, + "title": "No hook declared", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_IP6_INPUT_DEFAULT", + "name": "LWIP_HOOK_IP6_INPUT_DEFAULT", + "range": null, + "title": "Default (weak) implementation", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "LWIP_HOOK_IP6_INPUT_CUSTOM", + "name": "LWIP_HOOK_IP6_INPUT_CUSTOM", + "range": null, + "title": "Custom implementation", + "type": "bool" + } + ], + "depends_on": "LWIP_IPV6", + "help": "Enables custom IPv6 packet input.\nSetting this to \"default\" provides weak IDF implementation,\nwhich drops all incoming IPv6 traffic if the interface has no link local address.\n(this default implementation is \"weak\" and could be still overwritten\nin the application if some additional IPv6 input packet filtering is needed)\nSetting this to \"none\" removes this default filter and conforms to the lwIP\nimplementation (which accepts multicasts even if the interface has no link local address)\nSetting this to \"custom\" provides hook's declaration\nonly and expects the application to implement it.", + "id": "component-config-lwip-hooks-ipv6-packet-input-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1423", + "name": "LWIP_HOOK_IP6_INPUT", + "title": "IPv6 packet input", + "type": "choice" + } + ], + "depends_on": null, + "id": "component-config-lwip-hooks-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1273", + "title": "Hooks", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": "Enabling this option routes all enabled LWIP debugs through ESP_LOGD.", + "id": "LWIP_DEBUG_ESP_LOG", + "name": "LWIP_DEBUG_ESP_LOG", + "range": null, + "title": "Route LWIP debugs through ESP_LOG interface", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_NETIF_DEBUG", + "name": "LWIP_NETIF_DEBUG", + "range": null, + "title": "Enable netif debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_PBUF_DEBUG", + "name": "LWIP_PBUF_DEBUG", + "range": null, + "title": "Enable pbuf debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_ETHARP_DEBUG", + "name": "LWIP_ETHARP_DEBUG", + "range": null, + "title": "Enable etharp debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_API_LIB_DEBUG", + "name": "LWIP_API_LIB_DEBUG", + "range": null, + "title": "Enable api lib debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_SOCKETS_DEBUG", + "name": "LWIP_SOCKETS_DEBUG", + "range": null, + "title": "Enable socket debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_IP_DEBUG", + "name": "LWIP_IP_DEBUG", + "range": null, + "title": "Enable IP debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG && LWIP_ICMP", + "help": null, + "id": "LWIP_ICMP_DEBUG", + "name": "LWIP_ICMP_DEBUG", + "range": null, + "title": "Enable ICMP debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_DHCP_STATE_DEBUG", + "name": "LWIP_DHCP_STATE_DEBUG", + "range": null, + "title": "Enable DHCP state tracking", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_DHCP_DEBUG", + "name": "LWIP_DHCP_DEBUG", + "range": null, + "title": "Enable DHCP debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_IP6_DEBUG", + "name": "LWIP_IP6_DEBUG", + "range": null, + "title": "Enable IP6 debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_ICMP6_DEBUG", + "name": "LWIP_ICMP6_DEBUG", + "range": null, + "title": "Enable ICMP6 debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_TCP_DEBUG", + "name": "LWIP_TCP_DEBUG", + "range": null, + "title": "Enable TCP debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_UDP_DEBUG", + "name": "LWIP_UDP_DEBUG", + "range": null, + "title": "Enable UDP debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_SNTP_DEBUG", + "name": "LWIP_SNTP_DEBUG", + "range": null, + "title": "Enable SNTP debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_DNS_DEBUG", + "name": "LWIP_DNS_DEBUG", + "range": null, + "title": "Enable DNS debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG && LWIP_IPV4_NAPT", + "help": null, + "id": "LWIP_NAPT_DEBUG", + "name": "LWIP_NAPT_DEBUG", + "range": null, + "title": "Enable NAPT debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_BRIDGEIF_DEBUG", + "name": "LWIP_BRIDGEIF_DEBUG", + "range": null, + "title": "Enable bridge generic debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_BRIDGEIF_FDB_DEBUG", + "name": "LWIP_BRIDGEIF_FDB_DEBUG", + "range": null, + "title": "Enable bridge FDB debug messages", + "type": "bool" + }, + { + "children": [], + "depends_on": "LWIP_DEBUG", + "help": null, + "id": "LWIP_BRIDGEIF_FW_DEBUG", + "name": "LWIP_BRIDGEIF_FW_DEBUG", + "range": null, + "title": "Enable bridge forwarding debug messages", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enabling this option allows different kinds of lwIP debug output.\n\nAll lwIP debug features increase the size of the final binary.", + "id": "LWIP_DEBUG", + "is_menuconfig": true, + "name": "LWIP_DEBUG", + "range": null, + "title": "Enable LWIP Debug", + "type": "menu" + } + ], + "depends_on": null, + "id": "component-config-lwip-home-claw-.platformio-packages-framework-espidf-components-lwip-Kconfig-1", + "title": "LWIP", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "MBEDTLS_VER_4_X_SUPPORT", + "name": "MBEDTLS_VER_4_X_SUPPORT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_COMPILER_OPTIMIZATION_NONE", + "name": "MBEDTLS_COMPILER_OPTIMIZATION_NONE", + "range": null, + "title": "No optimization", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_COMPILER_OPTIMIZATION_SIZE", + "name": "MBEDTLS_COMPILER_OPTIMIZATION_SIZE", + "range": null, + "title": "Optimize for size (-Os)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_COMPILER_OPTIMIZATION_PERF", + "name": "MBEDTLS_COMPILER_OPTIMIZATION_PERF", + "range": null, + "title": "Optimize for performance (-O2)", + "type": "bool" + } + ], + "depends_on": null, + "help": "This option allows you to select the compiler optimization level for mbedTLS.\nThe default is set to the optimization level used by the rest of the ESP-IDF project.", + "id": "component-config-mbedtls-core-configuration-compiler-optimization-level-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-9", + "name": "MBEDTLS_COMPILER_OPTIMIZATION", + "title": "Compiler optimization level", + "type": "choice" + }, + { + "children": [], + "depends_on": "(VFS_SUPPORT_IO && VFS_SUPPORT_DIR) || IDF_TARGET_LINUX", + "help": "This option enables functions in mbedTLS that use the filesystem.\nIt uses the default filesystem support for the target,\nwhich is added through vfs component for ESP32 based targets or by\nthe host system when the target is Linux.", + "id": "MBEDTLS_FS_IO", + "name": "MBEDTLS_FS_IO", + "range": null, + "title": "Enable functions that use the filesystem", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_THREADING_C", + "help": "Enable threading alt to allow your own alternate threading implementation.", + "id": "MBEDTLS_THREADING_ALT", + "name": "MBEDTLS_THREADING_ALT", + "range": null, + "title": "Enable threading alternate implementation", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_THREADING_C", + "help": "Enable the pthread wrapper layer for the threading layer.", + "id": "MBEDTLS_THREADING_PTHREAD", + "name": "MBEDTLS_THREADING_PTHREAD", + "range": null, + "title": "Enable threading pthread implementation", + "type": "bool" + } + ], + "depends_on": null, + "help": "If you do intend to use contexts between threads, you will need to enable\nthis layer to prevent race conditions.", + "id": "MBEDTLS_THREADING_C", + "name": "MBEDTLS_THREADING_C", + "range": null, + "title": "Enable the threading abstraction layer", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enables mbedtls_strerror() for converting error codes to error strings.\nDisabling this config can save some code/rodata size as the error\nstring conversion implementation is replaced with an empty stub.", + "id": "MBEDTLS_ERROR_STRINGS", + "name": "MBEDTLS_ERROR_STRINGS", + "range": null, + "title": "Enable error code to error string conversion", + "type": "bool" + }, + { + "children": [], + "depends_on": "!MBEDTLS_ERROR_STRINGS", + "help": "This option enables a dummy error function to make use of mbedtls_strerror()\nwhen MBEDTLS_ERROR_STRINGS is disabled. This is useful for applications\nthat use mbedtls_strerror() but do not need the actual error strings.\nThis option can be used to save code size when MBEDTLS_ERROR_STRINGS is disabled.", + "id": "MBEDTLS_ERROR_STRERROR_DUMMY", + "name": "MBEDTLS_ERROR_STRERROR_DUMMY", + "range": null, + "title": "Enable a dummy error function to make use of mbedtls_strerror()", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable version information functions.", + "id": "MBEDTLS_VERSION_C", + "name": "MBEDTLS_VERSION_C", + "range": null, + "title": "Enable version information", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_HAVE_TIME", + "help": "Enabling this config will provide users with a function\n\"mbedtls_platform_set_time()\" that allows to set an alternative\ntime function pointer.", + "id": "MBEDTLS_PLATFORM_TIME_ALT", + "name": "MBEDTLS_PLATFORM_TIME_ALT", + "range": null, + "title": "Enable mbedtls time support: platform-specific", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_HAVE_TIME", + "help": "Enables X.509 certificate expiry checks in mbedTLS.\n\nIf this option is disabled (default) then X.509 certificate\n\"valid from\" and \"valid to\" timestamp fields are ignored.\n\nIf this option is enabled, these fields are compared with the\ncurrent system date and time. The time is retrieved using the\nstandard time() and gmtime() functions. If the certificate is not\nvalid for the current system time then verification will fail with\ncode MBEDTLS_X509_BADCERT_FUTURE or MBEDTLS_X509_BADCERT_EXPIRED.\n\nEnabling this option requires adding functionality in the firmware\nto set the system clock to a valid timestamp before using TLS. The\nrecommended way to do this is via ESP-IDF's SNTP functionality, but\nany method can be used.\n\nIn the case where only a small number of certificates are trusted by\nthe device, please carefully consider the tradeoffs of enabling this\noption. There may be undesired consequences, for example if all\ntrusted certificates expire while the device is offline and a TLS\nconnection is required to update. Or if an issue with the SNTP\nserver means that the system time is invalid for an extended period\nafter a reset.", + "id": "MBEDTLS_HAVE_TIME_DATE", + "name": "MBEDTLS_HAVE_TIME_DATE", + "range": null, + "title": "Enable mbedtls certificate expiry check", + "type": "bool" + } + ], + "depends_on": "!ESP_TIME_FUNCS_USE_NONE", + "help": "Enable use of time.h functions (time() and gmtime()) by mbedTLS.\n\nThis option doesn't require the system time to be correct, but enables\nfunctionality that requires relative timekeeping - for example periodic\nexpiry of TLS session tickets or session cache entries.\n\nDisabling this option will save some firmware size, particularly if\nthe rest of the firmware doesn't call any standard timekeeping\nfunctions.", + "id": "MBEDTLS_HAVE_TIME", + "name": "MBEDTLS_HAVE_TIME", + "range": null, + "title": "Enable mbedtls time support", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_INTERNAL_MEM_ALLOC", + "name": "MBEDTLS_INTERNAL_MEM_ALLOC", + "range": null, + "title": "Internal memory", + "type": "bool" + }, + { + "children": [], + "depends_on": "(SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC) && ", + "help": null, + "id": "MBEDTLS_EXTERNAL_MEM_ALLOC", + "name": "MBEDTLS_EXTERNAL_MEM_ALLOC", + "range": null, + "title": "External SPIRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_DEFAULT_MEM_ALLOC", + "name": "MBEDTLS_DEFAULT_MEM_ALLOC", + "range": null, + "title": "Default alloc mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_CUSTOM_MEM_ALLOC", + "name": "MBEDTLS_CUSTOM_MEM_ALLOC", + "range": null, + "title": "Custom alloc mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY && ", + "help": "Allows to use IRAM memory region as 8bit accessible region.\n\nTLS input and output buffers will be allocated in IRAM section which is 32bit aligned\nmemory. Every unaligned (8bit or 16bit) access will result in an exception\nand incur penalty of certain clock cycles per unaligned read/write.", + "id": "MBEDTLS_IRAM_8BIT_MEM_ALLOC", + "name": "MBEDTLS_IRAM_8BIT_MEM_ALLOC", + "range": null, + "title": "Internal IRAM", + "type": "bool" + } + ], + "depends_on": null, + "help": "Allocation strategy for mbedTLS, essentially provides ability to\nallocate all required dynamic allocations from,\n\n- Internal DRAM memory only\n- External SPIRAM memory only\n- Either internal or external memory based on default malloc() behavior in ESP-IDF\n- Custom allocation mode, by overwriting calloc()/free()\n using mbedtls_platform_set_calloc_free() function\n- Internal IRAM memory wherever applicable else internal DRAM\n\nRecommended mode here is always internal (*), since that is most preferred\nfrom security perspective. But if application requirement does not\nallow sufficient free internal memory then alternate mode can be\nselected.\n\n(*) In case of ESP32-S2/ESP32-S3, hardware allows encryption of external\nSPIRAM contents provided hardware flash encryption feature is enabled.\nIn that case, using external SPIRAM allocation strategy is also safe choice\nfrom security perspective.", + "id": "component-config-mbedtls-core-configuration-memory-allocation-strategy-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-131", + "name": "MBEDTLS_MEM_ALLOC_MODE", + "title": "Memory allocation strategy", + "type": "choice" + }, + { + "children": [], + "depends_on": "!MBEDTLS_ASYMMETRIC_CONTENT_LEN", + "help": "Maximum TLS message length (in bytes) supported by mbedTLS.\n\n16384 is the default and this value is required to comply\nfully with TLS standards.\n\nHowever you can set a lower value in order to save RAM. This\nis safe if the other end of the connection supports Maximum\nFragment Length Negotiation Extension (max_fragment_length,\nsee RFC6066) or you know for certain that it will never send a\nmessage longer than a certain number of bytes.\n\nIf the value is set too low, symptoms are a failed TLS\nhandshake or a return value of MBEDTLS_ERR_SSL_INVALID_RECORD\n(-0x7200).", + "id": "MBEDTLS_SSL_MAX_CONTENT_LEN", + "name": "MBEDTLS_SSL_MAX_CONTENT_LEN", + "range": null, + "title": "TLS maximum message content length", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_ASYMMETRIC_CONTENT_LEN", + "help": "This defines maximum incoming fragment length, overriding default\nmaximum content length (MBEDTLS_SSL_MAX_CONTENT_LEN).", + "id": "MBEDTLS_SSL_IN_CONTENT_LEN", + "name": "MBEDTLS_SSL_IN_CONTENT_LEN", + "range": [ + 512, + 16384 + ], + "title": "TLS maximum incoming fragment length", + "type": "int" + }, + { + "children": [], + "depends_on": "MBEDTLS_ASYMMETRIC_CONTENT_LEN", + "help": "This defines maximum outgoing fragment length, overriding default\nmaximum content length (MBEDTLS_SSL_MAX_CONTENT_LEN).", + "id": "MBEDTLS_SSL_OUT_CONTENT_LEN", + "name": "MBEDTLS_SSL_OUT_CONTENT_LEN", + "range": [ + 512, + 16384 + ], + "title": "TLS maximum outgoing fragment length", + "type": "int" + } + ], + "depends_on": null, + "help": "If enabled, this option allows customizing TLS in/out fragment length\nin asymmetric way. Please note that enabling this with default values\nsaves 12KB of dynamic memory per TLS connection.", + "id": "MBEDTLS_ASYMMETRIC_CONTENT_LEN", + "name": "MBEDTLS_ASYMMETRIC_CONTENT_LEN", + "range": null, + "title": "Asymmetric in/out fragment length", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_DYNAMIC_FREE_CONFIG_DATA", + "help": "Free CA certificate after its usage in the handshake process.\nThis option will decrease the heap footprint for the TLS handshake, but may lead to a problem:\nIf the respective ssl object needs to perform the TLS handshake again,\nthe CA certificate should once again be registered to the ssl object.", + "id": "MBEDTLS_DYNAMIC_FREE_CA_CERT", + "name": "MBEDTLS_DYNAMIC_FREE_CA_CERT", + "range": null, + "title": "Free SSL CA certificate after its usage", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_DYNAMIC_BUFFER", + "help": "Free private key and DHM data after its usage in handshake process.\n\nThe option will decrease heap cost when handshake, but also lead to problem:\n\nBecause all certificate, private key and DHM data are freed so users should register\ncertificate and private key to ssl config object again.", + "id": "MBEDTLS_DYNAMIC_FREE_CONFIG_DATA", + "name": "MBEDTLS_DYNAMIC_FREE_CONFIG_DATA", + "range": null, + "title": "Free private key and DHM data after its usage", + "type": "bool" + } + ], + "depends_on": "!IDF_TARGET_LINUX && !MBEDTLS_SSL_PROTO_DTLS && !MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH", + "help": "Using dynamic TX/RX buffer. After enabling this option, mbedTLS will\nallocate TX buffer when need to send data and then free it if all data\nis sent, allocate RX buffer when need to receive data and then free it\nwhen all data is used or read by upper layer.\n\nBy default, when SSL is initialized, mbedTLS also allocate TX and\nRX buffer with the default value of \"MBEDTLS_SSL_OUT_CONTENT_LEN\" or\n\"MBEDTLS_SSL_IN_CONTENT_LEN\", so to save more heap, users can set\nthe options to be an appropriate value.", + "id": "MBEDTLS_DYNAMIC_BUFFER", + "name": "MBEDTLS_DYNAMIC_BUFFER", + "range": null, + "title": "Using dynamic TX/RX buffer", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable mbedTLS version features.\nThis option allows Allow run-time checking of compile-time enabled features.\nDisabling this option will save some code size.", + "id": "MBEDTLS_VERSION_FEATURES", + "name": "MBEDTLS_VERSION_FEATURES", + "range": null, + "title": "Enable mbedTLS version features", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_DEBUG_LEVEL_WARN", + "name": "MBEDTLS_DEBUG_LEVEL_WARN", + "range": null, + "title": "Warning", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_DEBUG_LEVEL_INFO", + "name": "MBEDTLS_DEBUG_LEVEL_INFO", + "range": null, + "title": "Info", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_DEBUG_LEVEL_DEBUG", + "name": "MBEDTLS_DEBUG_LEVEL_DEBUG", + "range": null, + "title": "Debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_DEBUG_LEVEL_VERBOSE", + "name": "MBEDTLS_DEBUG_LEVEL_VERBOSE", + "range": null, + "title": "Verbose", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_DEBUG", + "help": "Set mbedTLS debugging level", + "id": "component-config-mbedtls-core-configuration-enable-mbedtls-debugging-set-mbedtls-debugging-level-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-285", + "name": "MBEDTLS_DEBUG_LEVEL", + "title": "Set mbedTLS debugging level", + "type": "choice" + } + ], + "depends_on": null, + "help": "Enable mbedTLS debugging functions at compile time.\n\nIf this option is enabled, you can include\n\"mbedtls/esp_debug.h\" and call mbedtls_esp_enable_debug_log()\nat runtime in order to enable mbedTLS debug output via the ESP\nlog mechanism.", + "id": "MBEDTLS_DEBUG", + "name": "MBEDTLS_DEBUG", + "range": null, + "title": "Enable mbedTLS debugging", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "MBEDTLS_DEBUG_LEVEL", + "name": "MBEDTLS_DEBUG_LEVEL", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Enable mbedTLS self-test functions.", + "id": "MBEDTLS_SELF_TEST", + "name": "MBEDTLS_SELF_TEST", + "range": null, + "title": "Enable mbedTLS self-test", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-mbedtls-core-configuration-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-3", + "title": "Core Configuration", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enable X.509 certificate support.", + "id": "MBEDTLS_X509_USE_C", + "name": "MBEDTLS_X509_USE_C", + "range": null, + "title": "Enable X.509 certificate support", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable decoding/parsing of PEM formatted certificates.\n\nIf your certificates are all in the simpler DER format, disabling\nthis option will save some code size.", + "id": "MBEDTLS_PEM_PARSE_C", + "name": "MBEDTLS_PEM_PARSE_C", + "range": null, + "title": "Read & Parse PEM formatted certificates", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable writing of PEM formatted certificates.\n\nIf writing certificate data only in DER format, disabling this\noption will save some code size.", + "id": "MBEDTLS_PEM_WRITE_C", + "name": "MBEDTLS_PEM_WRITE_C", + "range": null, + "title": "Write PEM formatted certificates", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_ASN1_PARSE_C && MBEDTLS_PK_C", + "help": "Enable generic public key parsing functions.", + "id": "MBEDTLS_PK_PARSE_C", + "name": "MBEDTLS_PK_PARSE_C", + "range": null, + "title": "Enables generic public key parsing functions", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_PK_C && MBEDTLS_ASN1_WRITE_C", + "help": "Enable generic public key writing functions.", + "id": "MBEDTLS_PK_WRITE_C", + "name": "MBEDTLS_PK_WRITE_C", + "range": null, + "title": "Enables generic public key writing functions", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_MD_C && (MBEDTLS_RSA_C || MBEDTLS_ECP_C)", + "help": "Enable support for generic public key layer.", + "id": "MBEDTLS_PK_C", + "name": "MBEDTLS_PK_C", + "range": null, + "title": "Enable generic public key layer", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Removes mbedtls_x509_*_info(), as well as mbedtls_debug_print_crt() and other\nfunctions/constants only used by these functions.\nThis will save some code size.", + "id": "MBEDTLS_X509_REMOVE_INFO", + "name": "MBEDTLS_X509_REMOVE_INFO", + "range": null, + "title": "Remove X.509 debug info", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Support for parsing X.509 Certificate Revocation Lists.", + "id": "MBEDTLS_X509_CRL_PARSE_C", + "name": "MBEDTLS_X509_CRL_PARSE_C", + "range": null, + "title": "X.509 CRL parsing", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_X509_USE_C", + "help": "Enable X.509 certificate parsing.\nThis is required for TLS and DTLS.", + "id": "MBEDTLS_X509_CRT_PARSE_C", + "name": "MBEDTLS_X509_CRT_PARSE_C", + "range": null, + "title": "Enable X.509 certificate parsing", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Support for parsing X.509 Certificate Signing Requests", + "id": "MBEDTLS_X509_CSR_PARSE_C", + "name": "MBEDTLS_X509_CSR_PARSE_C", + "range": null, + "title": "X.509 CSR parsing", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_X509_CREATE_C", + "help": "Support for writing X.509 certificates", + "id": "MBEDTLS_X509_CRT_WRITE_C", + "name": "MBEDTLS_X509_CRT_WRITE_C", + "range": null, + "title": "X.509 certificate writing", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_X509_CREATE_C", + "help": "Support for writing X.509 CSRs", + "id": "MBEDTLS_X509_CSR_WRITE_C", + "name": "MBEDTLS_X509_CSR_WRITE_C", + "range": null, + "title": "X.509 CSR writing", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_BIGNUM_C && MBEDTLS_PK_WRITE_C && MBEDTLS_MD_C", + "help": "Support for creating X.509 certificates and CSRs.", + "id": "MBEDTLS_X509_CREATE_C", + "name": "MBEDTLS_X509_CREATE_C", + "range": null, + "title": "X.509 certificate creation", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_X509_CRL_PARSE_C || MBEDTLS_X509_CSR_PARSE_C || MBEDTLS_X509_CRT_PARSE_C", + "help": "Support for parsing X.509 certificates with RSASSA-PSS signatures.", + "id": "MBEDTLS_X509_RSASSA_PSS_SUPPORT", + "name": "MBEDTLS_X509_RSASSA_PSS_SUPPORT", + "range": null, + "title": "X.509 PSS support", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enables users to configure the set of trusted certificates\nthrough a callback instead of a linked list.\n\nSee mbedTLS documentation for required API and more details.", + "id": "MBEDTLS_X509_TRUSTED_CERT_CALLBACK", + "name": "MBEDTLS_X509_TRUSTED_CERT_CALLBACK", + "range": null, + "title": "Enable trusted certificate callbacks", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable ASN.1 parsing functions.", + "id": "MBEDTLS_ASN1_PARSE_C", + "name": "MBEDTLS_ASN1_PARSE_C", + "range": null, + "title": "Enable ASN.1 parsing", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable ASN.1 writing functions.", + "id": "MBEDTLS_ASN1_WRITE_C", + "name": "MBEDTLS_ASN1_WRITE_C", + "range": null, + "title": "Enable ASN.1 writing", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL", + "name": "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL", + "range": null, + "title": "Use the full default certificate bundle", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Use only the most common certificates from the default bundles, reducing the size with 50%,\nwhile still having around 99% coverage.", + "id": "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN", + "name": "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN", + "range": null, + "title": "Use only the most common certificates from the default bundles", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE", + "name": "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE", + "range": null, + "title": "Do not use the default certificate bundle", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_CERTIFICATE_BUNDLE", + "help": null, + "id": "component-config-mbedtls-certificates-enable-trusted-root-certificate-bundle-certificate-bundle-configuration-default-certificate-bundle-options-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-456", + "name": "MBEDTLS_DEFAULT_CERTIFICATE_BUNDLE", + "title": "Default certificate bundle options", + "type": "choice" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE && MBEDTLS_CERTIFICATE_BUNDLE", + "help": "Name of the custom certificate directory or file. This path is evaluated\nrelative to the project root directory.", + "id": "MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE_PATH", + "name": "MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE_PATH", + "range": null, + "title": "Custom certificate bundle path", + "type": "string" + } + ], + "depends_on": "MBEDTLS_CERTIFICATE_BUNDLE && MBEDTLS_CERTIFICATE_BUNDLE", + "help": null, + "id": "MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE", + "name": "MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE", + "range": null, + "title": "Add custom certificates to the default bundle", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_CERTIFICATE_BUNDLE && !MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE && MBEDTLS_CERTIFICATE_BUNDLE", + "help": "Include the deprecated list of root certificates in the bundle.\nThis list gets updated when a certificate is removed from the Mozilla's\nNSS root certificate store. This config can be enabled if you would like\nto ensure that none of the certificates that were deployed in the product\nare affected because of the update to bundle. In turn, enabling this\nsetting keeps expired, retracted certificates in the bundle and it may\npose a security risk.\n- Deprecated cert list may grow based based on sync with upstream bundle\n- Deprecated certs would be removed in ESP-IDF (next) major release", + "id": "MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST", + "name": "MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST", + "range": null, + "title": "Add deprecated root certificates", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_CERTIFICATE_BUNDLE && MBEDTLS_CERTIFICATE_BUNDLE", + "help": null, + "id": "MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS", + "name": "MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS", + "range": null, + "title": "Maximum no of certificates allowed in certificate bundle", + "type": "int" + } + ], + "depends_on": "MBEDTLS_CERTIFICATE_BUNDLE", + "id": "component-config-mbedtls-certificates-enable-trusted-root-certificate-bundle-certificate-bundle-configuration-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-454", + "title": "Certificate Bundle Configuration", + "type": "menu" + } + ], + "depends_on": null, + "help": "Enable support for large number of default root certificates\n\nWhen enabled this option allows user to store default as well\nas customer specific root certificates in compressed format rather\nthan storing full certificate. For the root certificates the public key and the subject name\nwill be stored.", + "id": "MBEDTLS_CERTIFICATE_BUNDLE", + "name": "MBEDTLS_CERTIFICATE_BUNDLE", + "range": null, + "title": "Enable trusted root certificate bundle", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This options allows weak certificate verification by skipping the hostname verification.\nIt is not recommended to use this option.", + "id": "MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION", + "name": "MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION", + "range": null, + "title": "Allow weak certificate verification", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_CERTIFICATE_BUNDLE", + "help": "Enable support for cross-signed certificate verification in the certificate bundle.\nThis feature uses an internal callback to verify the cross-signed certificates.\nThis feature is kept disabled by default as enabling this feature increases\nheap usage by approximately 700 bytes.", + "id": "MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY", + "name": "MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY", + "range": null, + "title": "Support cross-signed certificate verification in certificate bundle", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-mbedtls-certificates-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-316", + "title": "Certificates", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": null, + "id": "MBEDTLS_SSL_PROTO_TLS1_2", + "name": "MBEDTLS_SSL_PROTO_TLS1_2", + "range": null, + "title": "Support TLS 1.2 protocol", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_TLS_ENABLED", + "help": null, + "id": "MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE", + "name": "MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE", + "range": null, + "title": "TLS 1.3 middlebox compatibility mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_TLS_ENABLED", + "help": null, + "id": "MBEDTLS_SSL_TLS1_3_KEXM_PSK", + "name": "MBEDTLS_SSL_TLS1_3_KEXM_PSK", + "range": null, + "title": "TLS 1.3 PSK key exchange mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_TLS_ENABLED", + "help": null, + "id": "MBEDTLS_SSL_TLS1_3_KEXM_EPHEMERAL", + "name": "MBEDTLS_SSL_TLS1_3_KEXM_EPHEMERAL", + "range": null, + "title": "TLS 1.3 ephemeral key exchange mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_TLS_ENABLED", + "help": null, + "id": "MBEDTLS_SSL_TLS1_3_KEXM_PSK_EPHEMERAL", + "name": "MBEDTLS_SSL_TLS1_3_KEXM_PSK_EPHEMERAL", + "range": null, + "title": "TLS 1.3 PSK ephemeral key exchange mode", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_CLIENT_SSL_SESSION_TICKETS && (MBEDTLS_SSL_TLS1_3_KEXM_PSK || MBEDTLS_SSL_TLS1_3_KEXM_EPHEMER) && MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_TLS_ENABLED", + "help": "Enable support for TLS 1.3 early data (0-RTT).", + "id": "MBEDTLS_SSL_EARLY_DATA", + "name": "MBEDTLS_SSL_EARLY_DATA", + "range": null, + "title": "TLS 1.3 early data", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_TLS_ENABLED", + "id": "component-config-mbedtls-enable-tls-protocol-support-tls-protocol-configuration-support-tls-1-3-protocol-tls-1-3-configuration-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-550", + "title": "TLS 1.3 Configuration", + "type": "menu" + } + ], + "depends_on": "MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": null, + "id": "MBEDTLS_SSL_PROTO_TLS1_3", + "name": "MBEDTLS_SSL_PROTO_TLS1_3", + "range": null, + "title": "Support TLS 1.3 protocol", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": "Provisions for GM/T SSL 1.1 support", + "id": "MBEDTLS_SSL_PROTO_GMTSSL1_1", + "name": "MBEDTLS_SSL_PROTO_GMTSSL1_1", + "range": null, + "title": "Support GM/T SSL 1.1 protocol", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED", + "help": null, + "id": "MBEDTLS_TLS_SERVER", + "name": "MBEDTLS_TLS_SERVER", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED", + "help": null, + "id": "MBEDTLS_TLS_CLIENT", + "name": "MBEDTLS_TLS_CLIENT", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_TLS_SERVER_AND_CLIENT", + "name": "MBEDTLS_TLS_SERVER_AND_CLIENT", + "range": null, + "title": "Server & Client", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_TLS_SERVER_ONLY", + "name": "MBEDTLS_TLS_SERVER_ONLY", + "range": null, + "title": "Server", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_TLS_CLIENT_ONLY", + "name": "MBEDTLS_TLS_CLIENT_ONLY", + "range": null, + "title": "Client", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_TLS_DISABLED", + "name": "MBEDTLS_TLS_DISABLED", + "range": null, + "title": "None", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_TLS_ENABLED", + "help": "mbedTLS can be compiled with protocol support for the TLS\nserver, TLS client, or both server and client.\n\nReducing the number of TLS roles supported saves code size.", + "id": "component-config-mbedtls-enable-tls-protocol-support-tls-protocol-configuration-tls-protocol-role-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-595", + "name": "MBEDTLS_TLS_MODE", + "title": "TLS Protocol Role", + "type": "choice" + }, + { + "children": [], + "depends_on": "(MBEDTLS_SSL_PROTO_TLS1_3 || MBEDTLS_SSL_DTLS_CONNECTION_ID) && MBEDTLS_TLS_ENABLED", + "help": "Controls the use of record plaintext padding in TLS 1.3 and\nwhen using the Connection ID extension in DTLS 1.2.\n\nThe padding will always be chosen so that the length of the\npadded plaintext is a multiple of the value of this option.\n\nNotes:\nA value of 1 means that no padding will be used for outgoing records.\nOn systems lacking division instructions, a power of two should be preferred.", + "id": "MBEDTLS_SSL_CID_PADDING_GRANULARITY", + "name": "MBEDTLS_SSL_CID_PADDING_GRANULARITY", + "range": null, + "title": "Record plaintext padding", + "type": "int" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED", + "help": "Keep the peer's certificate after completion of the handshake.\nDisabling this option will save about 4kB of heap and some code size.\n\nSee mbedTLS documentation for required API and more details.", + "id": "MBEDTLS_SSL_KEEP_PEER_CERTIFICATE", + "name": "MBEDTLS_SSL_KEEP_PEER_CERTIFICATE", + "range": null, + "title": "Keep peer certificate after handshake completion", + "type": "bool" + }, + { + "children": [], + "depends_on": "(MBEDTLS_GCM_C || MBEDTLS_CCM_C || MBEDTLS_CHACHAPOLY_C) && MBEDTLS_TLS_ENABLED", + "help": "Enable serialization of the TLS context structures\nThis is a local optimization in handling a single, potentially long-lived connection.\n\nSee mbedTLS documentation for required API and more details.\nDisabling this option will save some code and RAM size.", + "id": "MBEDTLS_SSL_CONTEXT_SERIALIZATION", + "name": "MBEDTLS_SSL_CONTEXT_SERIALIZATION", + "range": null, + "title": "Enable serialization of the TLS context structures", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED", + "help": "Enable simple SSL session cache implementation.", + "id": "MBEDTLS_SSL_CACHE_C", + "name": "MBEDTLS_SSL_CACHE_C", + "range": null, + "title": "Enable SSL session cache", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED", + "help": "Enable all TLS alert messages in case of encountered errors as per RFC.\nIf disabled, Mbed TLS can still communicate with other servers, only debugging of failures is harder.\nThe advantage of not sending alert messages, is that no information is given about reasons for failures\nthus preventing adversaries of gaining intel.", + "id": "MBEDTLS_SSL_ALL_ALERT_MESSAGES", + "name": "MBEDTLS_SSL_ALL_ALERT_MESSAGES", + "range": null, + "title": "Enable all TLS alert messages", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_PSK_MODES && MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": "Enable to support symmetric key PSK (pre-shared-key) TLS key exchange modes.", + "id": "MBEDTLS_KEY_EXCHANGE_PSK", + "name": "MBEDTLS_KEY_EXCHANGE_PSK", + "range": null, + "title": "Enable PSK based ciphersuite modes", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_PSK_MODES && MBEDTLS_ECDH_C && MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": "Enable to support Elliptic-Curve-Diffie-Hellman PSK (pre-shared-key) TLS authentication modes.", + "id": "MBEDTLS_KEY_EXCHANGE_ECDHE_PSK", + "name": "MBEDTLS_KEY_EXCHANGE_ECDHE_PSK", + "range": null, + "title": "Enable ECDHE-PSK based ciphersuite modes", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_PSK_MODES && MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": "Enable to support RSA PSK (pre-shared-key) TLS authentication modes.", + "id": "MBEDTLS_KEY_EXCHANGE_RSA_PSK", + "name": "MBEDTLS_KEY_EXCHANGE_RSA_PSK", + "range": null, + "title": "Enable RSA-PSK based ciphersuite modes", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": "Enable to show configuration for different types of pre-shared-key TLS authentatication methods.\n\nLeaving this options disabled will save code size if they are not used.", + "id": "MBEDTLS_PSK_MODES", + "name": "MBEDTLS_PSK_MODES", + "range": null, + "title": "Enable pre-shared-key ciphersuites", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": "Enable to support ciphersuites with prefix TLS-RSA-WITH-", + "id": "MBEDTLS_KEY_EXCHANGE_RSA", + "name": "MBEDTLS_KEY_EXCHANGE_RSA", + "range": null, + "title": "Enable RSA-only based ciphersuite modes", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE && MBEDTLS_ECDH_C && MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": "Enable to support ciphersuites with prefix TLS-ECDHE-RSA-WITH-", + "id": "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA", + "name": "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA", + "range": null, + "title": "Enable ECDHE-RSA based ciphersuite modes", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE && MBEDTLS_ECDH_C && MBEDTLS_ECDSA_C && MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": "Enable to support ciphersuites with prefix TLS-ECDHE-ECDSA-WITH-", + "id": "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA", + "name": "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA", + "range": null, + "title": "Enable ECDHE-ECDSA based ciphersuite modes", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_ECP_C && MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": "Enable to show Elliptic Curve based ciphersuite mode options.\nDisabling all Elliptic Curve ciphersuites saves code size and\ncan give slightly faster TLS handshakes, provided the server supports\nRSA-only ciphersuite modes.", + "id": "MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE", + "name": "MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE", + "range": null, + "title": "Support Elliptic Curve based ciphersuites", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECJPAKE_C && MBEDTLS_ECP_DP_SECP256R1_ENABLED && MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": "Enable to support ciphersuites with prefix TLS-ECJPAKE-WITH-", + "id": "MBEDTLS_KEY_EXCHANGE_ECJPAKE", + "name": "MBEDTLS_KEY_EXCHANGE_ECJPAKE", + "range": null, + "title": "Enable ECJPAKE based ciphersuite modes", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "id": "component-config-mbedtls-enable-tls-protocol-support-tls-protocol-configuration-tls-key-exchange-configuration-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-672", + "title": "TLS Key Exchange Configuration", + "type": "menu" + }, + { + "children": [], + "depends_on": "MBEDTLS_X509_CRT_PARSE_C && MBEDTLS_TLS_ENABLED", + "help": "Enable support for RFC 6066 server name indication (SNI).", + "id": "MBEDTLS_SSL_SERVER_NAME_INDICATION", + "name": "MBEDTLS_SSL_SERVER_NAME_INDICATION", + "range": null, + "title": "Enable server name indication", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": "Disabling this option will save some code size if it is not needed.", + "id": "MBEDTLS_SSL_ALPN", + "name": "MBEDTLS_SSL_ALPN", + "range": null, + "title": "Support ALPN (Application Layer Protocol Negotiation)", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED", + "help": "Enable support for the TLS max fragment length extension.", + "id": "MBEDTLS_SSL_MAX_FRAGMENT_LENGTH", + "name": "MBEDTLS_SSL_MAX_FRAGMENT_LENGTH", + "range": null, + "title": "Enable support for TLS max fragment length extension", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_SSL_PROTO_TLS1_3 && MBEDTLS_TLS_ENABLED", + "help": "Enable support for record size limit in TLS 1.3.", + "id": "MBEDTLS_SSL_RECORD_SIZE_LIMIT", + "name": "MBEDTLS_SSL_RECORD_SIZE_LIMIT", + "range": null, + "title": "Enable support for record size limit", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED", + "help": "This enables the SSL buffer to be resized automatically\nbased on the negotiated maximum fragment length in each direction.", + "id": "MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH", + "name": "MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH", + "range": null, + "title": "Variable SSL buffer length", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED && MBEDTLS_SSL_PROTO_TLS1_2 && MBEDTLS_TLS_ENABLED", + "help": "The two main uses of renegotiation are (1) refresh keys on long-lived\nconnections and (2) client authentication after the initial handshake.\nIf you don't need renegotiation, disabling it will save code size and\nreduce the possibility of abuse/vulnerability.", + "id": "MBEDTLS_SSL_RENEGOTIATION", + "name": "MBEDTLS_SSL_RENEGOTIATION", + "range": null, + "title": "Support TLS renegotiation", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": "Client support for RFC 5077 session tickets. See mbedTLS documentation for more details.\nDisabling this option will save some code size.", + "id": "MBEDTLS_CLIENT_SSL_SESSION_TICKETS", + "name": "MBEDTLS_CLIENT_SSL_SESSION_TICKETS", + "range": null, + "title": "TLS: Client Support for RFC 5077 SSL session tickets", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED && (MBEDTLS_GCM_C || MBEDTLS_CCM_C || MBEDTLS_CHACHAPOLY_C) && MBEDTLS_TLS_ENABLED", + "help": "Server support for RFC 5077 session tickets. See mbedTLS documentation for more details.\nDisabling this option will save some code size.", + "id": "MBEDTLS_SERVER_SSL_SESSION_TICKETS", + "name": "MBEDTLS_SERVER_SSL_SESSION_TICKETS", + "range": null, + "title": "TLS: Server Support for RFC 5077 SSL session tickets", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_TLS_ENABLED && MBEDTLS_TLS_ENABLED", + "help": "Enable shared symmetric keys export for TLS sessions using mbedtls_ssl_export_keying_material()\nafter SSL handshake. The process for deriving the keys is specified in RFC 5705 for TLS 1.2\nand in RFC 8446, Section 7.5, for TLS 1.3.", + "id": "MBEDTLS_SSL_KEYING_MATERIAL_EXPORT", + "name": "MBEDTLS_SSL_KEYING_MATERIAL_EXPORT", + "range": null, + "title": "Enable keying material export", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_TLS_ENABLED", + "id": "component-config-mbedtls-enable-tls-protocol-support-tls-protocol-configuration-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-537", + "title": "TLS Protocol Configuration", + "type": "menu" + } + ], + "depends_on": null, + "help": "Enable support for the TLS protocol, which is used for secure communication\nover networks. This option is required for most secure network protocols,\nincluding HTTPS, FTPS, and others.\n\nIf you do not need TLS support, you can disable this option to save code size.", + "id": "MBEDTLS_TLS_ENABLED", + "name": "MBEDTLS_TLS_ENABLED", + "range": null, + "title": "Enable TLS protocol support", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_SSL_PROTO_DTLS", + "help": "Enable basic DTLS cookie implementation for hello verification.", + "id": "MBEDTLS_SSL_COOKIE_C", + "name": "MBEDTLS_SSL_COOKIE_C", + "range": null, + "title": "Enable SSL session cookie", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_SSL_DTLS_CONNECTION_ID && MBEDTLS_SSL_PROTO_DTLS", + "help": "Maximum length of CIDs used for incoming DTLS messages", + "id": "MBEDTLS_SSL_CID_IN_LEN_MAX", + "name": "MBEDTLS_SSL_CID_IN_LEN_MAX", + "range": null, + "title": "Maximum length of CIDs used for incoming DTLS messages", + "type": "int" + }, + { + "children": [], + "depends_on": "MBEDTLS_SSL_DTLS_CONNECTION_ID && MBEDTLS_SSL_PROTO_DTLS", + "help": "Maximum length of CIDs used for outgoing DTLS messages", + "id": "MBEDTLS_SSL_CID_OUT_LEN_MAX", + "name": "MBEDTLS_SSL_CID_OUT_LEN_MAX", + "range": null, + "title": "Maximum length of CIDs used for outgoing DTLS messages", + "type": "int" + } + ], + "depends_on": "MBEDTLS_SSL_PROTO_DTLS", + "help": "Enable support for the DTLS Connection ID extension which allows to\nidentify DTLS connections across changes in the underlying transport.", + "id": "MBEDTLS_SSL_DTLS_CONNECTION_ID", + "name": "MBEDTLS_SSL_DTLS_CONNECTION_ID", + "range": null, + "title": "Support for the DTLS Connection ID extension", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_SSL_PROTO_DTLS", + "help": "Enable support for negotiation of DTLS-SRTP (RFC 5764) through the use_srtp extension.\n\nSee mbedTLS documentation for required API and more details.\nDisabling this option will save some code size.", + "id": "MBEDTLS_SSL_DTLS_SRTP", + "name": "MBEDTLS_SSL_DTLS_SRTP", + "range": null, + "title": "Enable support for negotiation of DTLS-SRTP (RFC 5764)", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_SSL_PROTO_DTLS", + "id": "component-config-mbedtls-support-dtls-protocol-all-versions--dtls-based-configurations-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-818", + "title": "DTLS-based configurations", + "type": "menu" + } + ], + "depends_on": "MBEDTLS_SSL_PROTO_TLS1_2", + "help": "Requires TLS 1.2 to be enabled for DTLS 1.2", + "id": "MBEDTLS_SSL_PROTO_DTLS", + "name": "MBEDTLS_SSL_PROTO_DTLS", + "range": null, + "title": "Support DTLS protocol (all versions)", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": null, + "id": "MBEDTLS_AES_C", + "name": "MBEDTLS_AES_C", + "range": null, + "title": "AES block cipher", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "MBEDTLS_CAMELLIA_C", + "name": "MBEDTLS_CAMELLIA_C", + "range": null, + "title": "Camellia block cipher", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "MBEDTLS_ARIA_C", + "name": "MBEDTLS_ARIA_C", + "range": null, + "title": "ARIA block cipher", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_CAMELLIA_C", + "help": "Reduces ROM usage of the Camellia implementation", + "id": "MBEDTLS_CAMELLIA_SMALL_MEMORY", + "name": "MBEDTLS_CAMELLIA_SMALL_MEMORY", + "range": null, + "title": "Use small memory implementation of Camellia", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enables the DES block cipher to support 3DES-based TLS ciphersuites.\n\n3DES is vulnerable to the Sweet32 attack and should only be enabled\nif absolutely necessary.", + "id": "MBEDTLS_DES_C", + "name": "MBEDTLS_DES_C", + "range": null, + "title": "DES block cipher (legacy, insecure)", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_AES_C || MBEDTLS_CAMELLIA_C", + "help": "Enable Counter with CBC-MAC (CCM) modes for AES and/or Camellia ciphers.\n\nDisabling this option saves some code size.", + "id": "MBEDTLS_CCM_C", + "name": "MBEDTLS_CCM_C", + "range": null, + "title": "CCM (Counter with CBC-MAC) block cipher modes", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_AES_C || MBEDTLS_CAMELLIA_C", + "help": "Enable Cipher Block Chaining (CBC) modes for AES and/or Camellia ciphers.", + "id": "MBEDTLS_CIPHER_MODE_CBC", + "name": "MBEDTLS_CIPHER_MODE_CBC", + "range": null, + "title": "CBC (Cipher Block Chaining) block cipher modes", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_AES_C || MBEDTLS_CAMELLIA_C", + "help": "Enable Cipher Feedback (CFB) modes for AES and/or Camellia ciphers.", + "id": "MBEDTLS_CIPHER_MODE_CFB", + "name": "MBEDTLS_CIPHER_MODE_CFB", + "range": null, + "title": "CFB (Cipher Feedback) block cipher modes", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_AES_C || MBEDTLS_CAMELLIA_C", + "help": "Enable Counter (CTR) modes for AES and/or Camellia ciphers.", + "id": "MBEDTLS_CIPHER_MODE_CTR", + "name": "MBEDTLS_CIPHER_MODE_CTR", + "range": null, + "title": "CTR (Counter) block cipher modes", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_AES_C || MBEDTLS_CAMELLIA_C", + "help": "Enable Output Feedback (OFB) modes for AES and/or Camellia ciphers.", + "id": "MBEDTLS_CIPHER_MODE_OFB", + "name": "MBEDTLS_CIPHER_MODE_OFB", + "range": null, + "title": "OFB (Output Feedback) block cipher modes", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_AES_C || MBEDTLS_CAMELLIA_C", + "help": "Enable XEX Tweakable Block Cipher with Ciphertext Stealing (XTS) modes\nfor AES and/or Camellia ciphers.", + "id": "MBEDTLS_CIPHER_MODE_XTS", + "name": "MBEDTLS_CIPHER_MODE_XTS", + "range": null, + "title": "XTS (XEX Tweakable Block Cipher with Ciphertext Stealing) block cipher modes", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_AES_C || MBEDTLS_CAMELLIA_C || MBEDTLS_ARIA_C", + "help": "Enable Galois/Counter Mode for AES and/or Camellia ciphers.\n\nThis option is generally faster than CCM.", + "id": "MBEDTLS_GCM_C", + "name": "MBEDTLS_GCM_C", + "range": null, + "title": "GCM (Galois/Counter) block cipher modes", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_AES_C", + "help": "Enable NIST key wrapping and key wrapping padding.", + "id": "MBEDTLS_NIST_KW_C", + "name": "MBEDTLS_NIST_KW_C", + "range": null, + "title": "NIST key wrapping (KW) and KW padding (KWP)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Store the AES tables in ROM instead of generating them at runtime.\nUsing precomputed ROM tables reduces RAM usage, but increases\nflash usage.", + "id": "MBEDTLS_AES_ROM_TABLES", + "name": "MBEDTLS_AES_ROM_TABLES", + "range": null, + "title": "Store AES tables in ROM", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Use fewer AES tables to reduce ROM/RAM usage.\nUsing fewer tables increases the time taken to generate the tables\nat runtime, but reduces ROM/RAM usage.", + "id": "MBEDTLS_AES_FEWER_TABLES", + "name": "MBEDTLS_AES_FEWER_TABLES", + "range": null, + "title": "Use fewer AES tables", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Only support 128-bit AES keys.\nThis reduces code size, but disables support for 192-bit and\n256-bit AES keys.", + "id": "MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH", + "name": "MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH", + "range": null, + "title": "Only support 128-bit AES keys", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_AES_C || MBEDTLS_DES_C", + "help": "Enable the CMAC (Cipher-based Message Authentication Code) mode for\nblock ciphers.", + "id": "MBEDTLS_CMAC_C", + "name": "MBEDTLS_CMAC_C", + "range": null, + "title": "Enable CMAC mode for block ciphers", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-mbedtls-symmetric-ciphers-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-860", + "title": "Symmetric Ciphers", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enable support for multiple precision integer (bignum) operations.\n\nThis is required for RSA, DSA, DHM, ECDH and ECDSA.\n\nIf you don't need any of these algorithms, you can disable this option\nto save code size.", + "id": "MBEDTLS_BIGNUM_C", + "name": "MBEDTLS_BIGNUM_C", + "range": null, + "title": "Enable multiple precision integer (bignum) support", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable RSA. Needed to use RSA-xxx TLS ciphersuites.", + "id": "MBEDTLS_RSA_C", + "name": "MBEDTLS_RSA_C", + "range": null, + "title": "RSA public key cryptosystem", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "MBEDTLS_ECP_C", + "name": "MBEDTLS_ECP_C", + "range": null, + "title": "Enable Elliptic Curve Ciphers(ECC) support", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_ECP_C", + "help": "Enable support for SECP256R1 Elliptic Curve.", + "id": "MBEDTLS_ECP_DP_SECP256R1_ENABLED", + "name": "MBEDTLS_ECP_DP_SECP256R1_ENABLED", + "range": null, + "title": "Enable SECP256R1 curve", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C", + "help": "Enable support for SECP384R1 Elliptic Curve.", + "id": "MBEDTLS_ECP_DP_SECP384R1_ENABLED", + "name": "MBEDTLS_ECP_DP_SECP384R1_ENABLED", + "range": null, + "title": "Enable SECP384R1 curve", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C", + "help": "Enable support for SECP521R1 Elliptic Curve.", + "id": "MBEDTLS_ECP_DP_SECP521R1_ENABLED", + "name": "MBEDTLS_ECP_DP_SECP521R1_ENABLED", + "range": null, + "title": "Enable SECP521R1 curve", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C", + "help": "Enable support for SECP256K1 Elliptic Curve.", + "id": "MBEDTLS_ECP_DP_SECP256K1_ENABLED", + "name": "MBEDTLS_ECP_DP_SECP256K1_ENABLED", + "range": null, + "title": "Enable SECP256K1 curve", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C", + "help": "support for DP Elliptic Curve.", + "id": "MBEDTLS_ECP_DP_BP256R1_ENABLED", + "name": "MBEDTLS_ECP_DP_BP256R1_ENABLED", + "range": null, + "title": "Enable BP256R1 curve", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C", + "help": "support for DP Elliptic Curve.", + "id": "MBEDTLS_ECP_DP_BP384R1_ENABLED", + "name": "MBEDTLS_ECP_DP_BP384R1_ENABLED", + "range": null, + "title": "Enable BP384R1 curve", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C", + "help": "support for DP Elliptic Curve.", + "id": "MBEDTLS_ECP_DP_BP512R1_ENABLED", + "name": "MBEDTLS_ECP_DP_BP512R1_ENABLED", + "range": null, + "title": "Enable BP512R1 curve", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C", + "help": "Enable support for CURVE25519 Elliptic Curve.", + "id": "MBEDTLS_ECP_DP_CURVE25519_ENABLED", + "name": "MBEDTLS_ECP_DP_CURVE25519_ENABLED", + "range": null, + "title": "Enable CURVE25519 curve", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-mbedtls-asymmetric-ciphers-supported-curves-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-1005", + "title": "Supported Curves", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_ECP_C && MBEDTLS_ECP_C", + "help": "NIST 'modulo p' optimisations increase Elliptic Curve operation performance.\n\nDisabling this option saves some code size.", + "id": "MBEDTLS_ECP_NIST_OPTIM", + "name": "MBEDTLS_ECP_NIST_OPTIM", + "range": null, + "title": "NIST 'modulo p' optimisations", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C && MBEDTLS_ECP_C", + "help": "This configuration option enables optimizations to speedup (about 3 ~ 4 times) the ECP\nfixed point multiplication using pre-computed tables in the flash memory.\nEnabling this configuration option increases the flash footprint\n(about 29KB if all Elliptic Curve selected) in the application binary.", + "id": "MBEDTLS_ECP_FIXED_POINT_OPTIM", + "name": "MBEDTLS_ECP_FIXED_POINT_OPTIM", + "range": null, + "title": "Enable fixed-point multiplication optimisations", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECDH_C && MBEDTLS_ECP_RESTARTABLE && MBEDTLS_ECP_C", + "help": "Use the legacy ECDH context format.\nDefine this option only if you enable MBEDTLS_ECP_RESTARTABLE or if you\nwant to access ECDH context fields directly.", + "id": "MBEDTLS_ECDH_LEGACY_CONTEXT", + "name": "MBEDTLS_ECDH_LEGACY_CONTEXT", + "range": null, + "title": "Use a backward compatible ECDH context (Experimental)", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C && MBEDTLS_ECP_C", + "help": "Enable DHM. Needed to use DHE-xxx TLS ciphersuites.\n\nNote that the security of Diffie-Hellman key exchanges depends on\na suitable prime being used for the exchange. Please see detailed\nwarning text about this in file `mbedtls/dhm.h` file.", + "id": "MBEDTLS_DHM_C", + "name": "MBEDTLS_DHM_C", + "range": null, + "title": "Diffie-Hellman-Merkle key exchange (DHM)", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C && MBEDTLS_ECP_C", + "help": "Enable ECDH. Needed to use ECDHE-xxx TLS ciphersuites.", + "id": "MBEDTLS_ECDH_C", + "name": "MBEDTLS_ECDH_C", + "range": null, + "title": "Elliptic Curve Diffie-Hellman (ECDH)", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C && MBEDTLS_ECP_C", + "help": "Enable ECJPAKE. Needed to use ECJPAKE-xxx TLS ciphersuites.", + "id": "MBEDTLS_ECJPAKE_C", + "name": "MBEDTLS_ECJPAKE_C", + "range": null, + "title": "Elliptic curve J-PAKE", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECDH_C && MBEDTLS_ECP_C && MBEDTLS_ECP_C", + "help": "Enable ECDSA. Needed to use ECDSA-xxx TLS ciphersuites.", + "id": "MBEDTLS_ECDSA_C", + "name": "MBEDTLS_ECDSA_C", + "range": null, + "title": "Elliptic Curve DSA", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C && MBEDTLS_ECP_C", + "help": "Enhance support for reading EC keys using variants of SEC1 not allowed by\nRFC 5915 and RFC 5480.", + "id": "MBEDTLS_PK_PARSE_EC_EXTENDED", + "name": "MBEDTLS_PK_PARSE_EC_EXTENDED", + "range": null, + "title": "Enhance support for reading EC keys", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C && MBEDTLS_ECP_C", + "help": "Enable the support for parsing public keys of type Short Weierstrass\n(MBEDTLS_ECP_DP_SECP_XXX and MBEDTLS_ECP_DP_BP_XXX) which are using the\ncompressed point format. This parsing is done through ECP module's functions.\ndepends on MBEDTLS_ECP_C", + "id": "MBEDTLS_PK_PARSE_EC_COMPRESSED", + "name": "MBEDTLS_PK_PARSE_EC_COMPRESSED", + "range": null, + "title": "Enable the support for parsing public keys of type Short Weierstrass", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C", + "help": "Standard ECDSA is \"fragile\" in the sense that lack of entropy when signing\nmay result in a compromise of the long-term signing key.", + "id": "MBEDTLS_ECDSA_DETERMINISTIC", + "name": "MBEDTLS_ECDSA_DETERMINISTIC", + "range": null, + "title": "Enable deterministic ECDSA", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ECP_C && MBEDTLS_ECP_C", + "help": "Enable \"non-blocking\" ECC operations that can return early and be resumed.", + "id": "MBEDTLS_ECP_RESTARTABLE", + "name": "MBEDTLS_ECP_RESTARTABLE", + "range": null, + "title": "Enable mbedTLS ecp restartable", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_ECP_C", + "id": "component-config-mbedtls-asymmetric-ciphers-elliptic-curve-ciphers-configuration-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-1063", + "title": "Elliptic Curve Ciphers Configuration", + "type": "menu" + } + ], + "depends_on": null, + "id": "component-config-mbedtls-asymmetric-ciphers-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-983", + "title": "Asymmetric Ciphers", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enable the RIPEMD-160 hash algorithm.", + "id": "MBEDTLS_RIPEMD160_C", + "name": "MBEDTLS_RIPEMD160_C", + "range": null, + "title": "Enable RIPEMD-160 hash algorithm", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_MD5_C || MBEDTLS_RIPEMD160_C || MBEDTLS_SHA1_C || MBEDTLS_SHA224_C || MBEDTLS_SHA256_C || MBEDTLS_SHA384_C || MBEDTLS_SHA512_C", + "help": "Enable generic layer for message digest algorithms.", + "id": "MBEDTLS_MD_C", + "name": "MBEDTLS_MD_C", + "range": null, + "title": "Enable message digest support", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enables support for MD5.\nThis module is required for TLS 1.2 depending on the handshake parameters.\nFurther, it is used for checking MD5-signed certificates, and for PBKDF1\nwhen decrypting PEM-encoded encrypted keys.\nMD5 is considered a weak message digest and its use constitutes\na security risk. If possible, consider stronger message digests\nsuch as SHA-256 (part of the SHA-2 family).", + "id": "MBEDTLS_MD5_C", + "name": "MBEDTLS_MD5_C", + "range": null, + "title": "Enable the MD5 cryptographic hash algorithm", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling MBEDTLS_SHA1_C adds support for SHA-1.\nSHA-1 is considered a weak message digest and its use constitutes\na security risk.\nDisabling this configuration option could impact TLS 1.2 / Wi-Fi Enterprise compatibility\nwith certain older certificates that rely on SHA-1 for digital signatures.\nBefore proceeding, ensure that all your certificates are using stronger hash algorithms,\nsuch as SHA-256 (part of the SHA-2 family).\nIf you're using older certificates or if you're unsure about the impact on your product,\nplease consider testing the changes in a controlled environment for individual features\nlike OTA updates, cloud connectivity, secure local control, etc.", + "id": "MBEDTLS_SHA1_C", + "name": "MBEDTLS_SHA1_C", + "range": null, + "title": "Enable the SHA-1 cryptographic hash algorithm", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable MBEDTLS_SHA224_C adds support for SHA-224.", + "id": "MBEDTLS_SHA224_C", + "name": "MBEDTLS_SHA224_C", + "range": null, + "title": "Enable the SHA-224 cryptographic hash algorithm", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable MBEDTLS_SHA256_C adds support for SHA-256.", + "id": "MBEDTLS_SHA256_C", + "name": "MBEDTLS_SHA256_C", + "range": null, + "title": "Enable the SHA-256 cryptographic hash algorithm", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable MBEDTLS_SHA384_C adds support for SHA-384.", + "id": "MBEDTLS_SHA384_C", + "name": "MBEDTLS_SHA384_C", + "range": null, + "title": "Enable the SHA-384 cryptographic hash algorithm", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable MBEDTLS_SHA512_C adds support for SHA-512.", + "id": "MBEDTLS_SHA512_C", + "name": "MBEDTLS_SHA512_C", + "range": null, + "title": "Enable the SHA-384 and SHA-512 cryptographic hash algorithms", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling MBEDTLS_SHA3_C adds support for SHA3.\nEnabling this configuration option increases the flash footprint\nby almost 4KB.", + "id": "MBEDTLS_SHA3_C", + "name": "MBEDTLS_SHA3_C", + "range": null, + "title": "Enable the SHA3 cryptographic hash algorithm", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Use ROM MD5 in mbedTLS.", + "id": "MBEDTLS_ROM_MD5", + "name": "MBEDTLS_ROM_MD5", + "range": null, + "title": "Use MD5 implementation in ROM", + "type": "bool" + }, + { + "children": [], + "depends_on": "!MBEDTLS_HARDWARE_SHA && MBEDTLS_SHA256_C", + "help": "Enable a smaller implementation of SHA-256 that has lower ROM footprint\nbut is slower than the default implementation.", + "id": "MBEDTLS_SHA256_SMALLER", + "name": "MBEDTLS_SHA256_SMALLER", + "range": null, + "title": "Enable SHA-256 smaller implementation", + "type": "bool" + }, + { + "children": [], + "depends_on": "!MBEDTLS_HARDWARE_SHA && MBEDTLS_SHA512_C", + "help": "Enable a smaller implementation of SHA-512 that has lower ROM footprint\nbut is slower than the default implementation.", + "id": "MBEDTLS_SHA512_SMALLER", + "name": "MBEDTLS_SHA512_SMALLER", + "range": null, + "title": "Enable SHA-512 smaller implementation", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-mbedtls-hash-functions-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-1164", + "title": "Hash functions", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SOC_ECDSA_SUPPORTED", + "help": "Enable hardware accelerated ECDSA peripheral to verify signature\non curve SECP192R1 and SECP256R1 in mbedTLS.\nNote that SECP192R1 support is disabled by default.", + "id": "MBEDTLS_HARDWARE_ECDSA_VERIFY", + "name": "MBEDTLS_HARDWARE_ECDSA_VERIFY", + "range": null, + "title": "Enable ECDSA signature verification using on-chip ECDSA peripheral", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_HARDWARE_ECDSA_SIGN && IDF_TARGET_ESP32H2", + "help": "The ECDSA peripheral before ESP32-H2 v1.2 does not offer constant time ECDSA sign operation.\nThis time can be observed through power profiling of the device,\nmaking the ECDSA private key vulnerable to side-channel timing attacks.\nThis countermeasure masks the real ECDSA sign operation\nunder dummy sign operations to add randomness in the generated power signature.\nIt is highly recommended to also enable Secure Boot for the device\nin addition to this countermeasure so that only trusted software can execute on the device.\nThis countermeasure can be safely disabled for ESP32-H2 v1.2 and above.", + "id": "MBEDTLS_HARDWARE_ECDSA_SIGN_MASKING_CM", + "name": "MBEDTLS_HARDWARE_ECDSA_SIGN_MASKING_CM", + "range": null, + "title": "Mask original ECDSA sign operation under dummy sign operations", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_HARDWARE_ECDSA_SIGN && IDF_TARGET_ESP32H2", + "help": "This option adds a delay after the actual ECDSA signature operation\nso that the entire operation appears to be constant\u00a0 time for the software.\nThis fix helps in protecting the device only in case of remote timing attack\non the ECDSA private key.\nFor e.g., When an interface is exposed by the device to perform ECDSA signature\nof an arbitrary message.\nThe signature time would appear to be constant to the external entity after enabling\nthis option.\nThis countermeasure can be safely disabled for ESP32-H2 v1.2 and above.", + "id": "MBEDTLS_HARDWARE_ECDSA_SIGN_CONSTANT_TIME_CM", + "name": "MBEDTLS_HARDWARE_ECDSA_SIGN_CONSTANT_TIME_CM", + "range": null, + "title": "Make ECDSA signature operation pseudo constant time for software", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_HARDWARE_ECDSA_SIGN && IDF_TARGET_ESP32H2", + "id": "component-config-mbedtls-hardware-acceleration-enable-software-countermeasure-for-ecdsa-signing-using-on-chip-ecdsa-peripheral-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-1271", + "title": "Enable Software Countermeasure for ECDSA signing using on-chip ECDSA peripheral", + "type": "menu" + }, + { + "children": [], + "depends_on": "SOC_ECDSA_SUPPORTED", + "help": "Enable hardware accelerated ECDSA peripheral to sign data\non curve SECP192R1 and SECP256R1 in mbedTLS.\nNote that SECP192R1 support is disabled by default.\n\nNote that for signing, the private key has to be burnt in an efuse key block\nwith key purpose set to ECDSA_KEY.\nIf no key is burnt, it will report an error\n\nThe key should be burnt in little endian format. espefuse utility handles it internally\nbut care needs to be taken while burning using esp_efuse APIs", + "id": "MBEDTLS_HARDWARE_ECDSA_SIGN", + "name": "MBEDTLS_HARDWARE_ECDSA_SIGN", + "range": null, + "title": "Enable ECDSA signing using on-chip ECDSA peripheral", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_ENABLE_TEE", + "help": null, + "id": "MBEDTLS_TEE_SEC_STG_ECDSA_SIGN", + "name": "MBEDTLS_TEE_SEC_STG_ECDSA_SIGN", + "range": null, + "title": "Enable ECDSA signing using TEE secure storage", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_HARDWARE_ECC", + "help": "Fallback to software implementation of ECC point multiplication and point verification\nfor curves not supported in hardware.", + "id": "MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK", + "name": "MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK", + "range": null, + "title": "Fallback to software implementation for curves not supported in hardware", + "type": "bool" + } + ], + "depends_on": "SOC_ECC_SUPPORTED", + "help": "Enable hardware accelerated ECC point multiplication and point verification for points\non curve SECP192R1 and SECP256R1 in mbedTLS\nNote that SECP192R1 support is disabled by default.", + "id": "MBEDTLS_HARDWARE_ECC", + "name": "MBEDTLS_HARDWARE_ECC", + "range": null, + "title": "Enable hardware ECC acceleration", + "type": "bool" + }, + { + "children": [], + "depends_on": "!SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST && SOC_SHA_SUPPORTED", + "help": "Enable hardware accelerated SHA1, SHA256, SHA384 & SHA512 in mbedTLS.\n\nDue to a hardware limitation, on the ESP32 hardware acceleration is only\nguaranteed if SHA digests are calculated one at a time. If more\nthan one SHA digest is calculated at the same time, one will\nbe calculated fully in hardware and the rest will be calculated\n(at least partially calculated) in software. This happens automatically.\n\nSHA hardware acceleration is faster than software in some situations but\nslower in others. You should benchmark to find the best setting for you.", + "id": "MBEDTLS_HARDWARE_SHA", + "name": "MBEDTLS_HARDWARE_SHA", + "range": null, + "title": "Enable hardware SHA acceleration", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_HARDWARE_MPI", + "help": "Fallback to software implementation for RSA key lengths\nlarger than SOC_RSA_MAX_BIT_LEN. If this is not active\nthen the ESP will be unable to process keys greater\nthan SOC_RSA_MAX_BIT_LEN.", + "id": "MBEDTLS_LARGE_KEY_SOFTWARE_MPI", + "name": "MBEDTLS_LARGE_KEY_SOFTWARE_MPI", + "range": null, + "title": "Fallback to software implementation for larger MPI values", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_MPI_USE_INTERRUPT", + "help": "This config helps to set the interrupt priority level for the MPI peripheral.\nValue 0 (default) means that there is no preference regarding the interrupt\npriority level and any level from 1 to 3 can be selected (based on the availability).\nNote: Higher value indicates high interrupt priority.", + "id": "MBEDTLS_MPI_INTERRUPT_LEVEL", + "name": "MBEDTLS_MPI_INTERRUPT_LEVEL", + "range": [ + 0, + 3 + ], + "title": "MPI hardware interrupt level", + "type": "int" + } + ], + "depends_on": "!IDF_TARGET_ESP32 && MBEDTLS_HARDWARE_MPI", + "help": "Use an interrupt to coordinate long MPI operations.\n\nThis allows other code to run on the CPU while an MPI operation is pending.\nOtherwise the CPU busy-waits.", + "id": "MBEDTLS_MPI_USE_INTERRUPT", + "name": "MBEDTLS_MPI_USE_INTERRUPT", + "range": null, + "title": "Use interrupt for MPI exp-mod operations", + "type": "bool" + } + ], + "depends_on": "!SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST && SOC_MPI_SUPPORTED && MBEDTLS_BIGNUM_C", + "help": "Enable hardware accelerated multiple precision integer operations.\n\nHardware accelerated multiplication, modulo multiplication,\nand modular exponentiation for up to SOC_RSA_MAX_BIT_LEN bit results.\n\nThese operations are used by RSA.", + "id": "MBEDTLS_HARDWARE_MPI", + "name": "MBEDTLS_HARDWARE_MPI", + "range": null, + "title": "Enable hardware MPI (bignum) acceleration", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_HARDWARE_AES", + "help": "Enable software fallback for AES.\nThis option is used to fallback to software implementation of AES if the\nhardware AES does not support the requested operation.", + "id": "MBEDTLS_AES_SOFT_FALLBACK", + "name": "MBEDTLS_AES_SOFT_FALLBACK", + "range": null, + "title": "Enable software fallback for AES", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_AES_SUPPORT_GCM && MBEDTLS_HARDWARE_AES", + "help": "Enable partially hardware accelerated GCM. GHASH calculation is still done\nin software.\n\nIf MBEDTLS_HARDWARE_GCM is disabled and MBEDTLS_HARDWARE_AES is enabled then\nmbedTLS will still use the hardware accelerated AES block operation, but\non a single block at a time.", + "id": "MBEDTLS_HARDWARE_GCM", + "name": "MBEDTLS_HARDWARE_GCM", + "range": null, + "title": "Enable partially hardware accelerated GCM", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_HARDWARE_AES", + "help": "Enable this config to support fallback to software definitions for a non-AES\ncipher GCM operation as we support hardware acceleration only for AES cipher.\nSome of the non-AES ciphers used in a GCM operation are DES, ARIA, CAMELLIA,\nCHACHA20.\n\nIf this config is disabled, performing a non-AES cipher GCM operation with\nthe config MBEDTLS_HARDWARE_AES enabled will result in calculation of an\nAES-GCM operation instead for the given input values and thus could lead\nto failure in certificate validation which would ultimately lead to a SSL\nhandshake failure.\n\nThis config being by-default enabled leads to an increase in binary size\nfootprint of ~2.5KB.\nIn case you are sure that your use case (for example, client and server\nsettings in case of a TLS handshake) would not involve any GCM\noperations using a non-AES cipher, you can safely disable this config,\nleading to reduction in binary size footprint.", + "id": "MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER", + "name": "MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER", + "range": null, + "title": "Enable support for non-AES ciphers in GCM operation", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_AES_USE_INTERRUPT", + "help": "This config helps to set the interrupt priority level for the AES peripheral.\nValue 0 (default) means that there is no preference regarding the interrupt\npriority level and any level from 1 to 3 can be selected (based on the availability).\nNote: Higher value indicates high interrupt priority.", + "id": "MBEDTLS_AES_INTERRUPT_LEVEL", + "name": "MBEDTLS_AES_INTERRUPT_LEVEL", + "range": [ + 0, + 3 + ], + "title": "AES hardware interrupt level", + "type": "int" + } + ], + "depends_on": "!IDF_TARGET_ESP32 && MBEDTLS_HARDWARE_AES", + "help": "Use an interrupt to coordinate long AES operations.\n\nThis allows other code to run on the CPU while an AES operation is pending.\nOtherwise the CPU busy-waits.", + "id": "MBEDTLS_AES_USE_INTERRUPT", + "name": "MBEDTLS_AES_USE_INTERRUPT", + "range": null, + "title": "Use interrupt for long AES operations", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_AES_USE_PSEUDO_ROUND_FUNC_STRENGTH_LOW", + "name": "MBEDTLS_AES_USE_PSEUDO_ROUND_FUNC_STRENGTH_LOW", + "range": null, + "title": "Low", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_AES_USE_PSEUDO_ROUND_FUNC_STRENGTH_MEDIUM", + "name": "MBEDTLS_AES_USE_PSEUDO_ROUND_FUNC_STRENGTH_MEDIUM", + "range": null, + "title": "Medium", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "MBEDTLS_AES_USE_PSEUDO_ROUND_FUNC_STRENGTH_HIGH", + "name": "MBEDTLS_AES_USE_PSEUDO_ROUND_FUNC_STRENGTH_HIGH", + "range": null, + "title": "High", + "type": "bool" + } + ], + "depends_on": "MBEDTLS_AES_USE_PSEUDO_ROUND_FUNC", + "help": "The strength of the pseudo rounds functions can be configured to low, medium and high.\nYou can configure the strength of the pseudo rounds functions according to your use cases,\nfor example, increasing the strength would provide higher security but would slow down the\nhardware AES encryption/decryption operations.", + "id": "component-config-mbedtls-hardware-acceleration-enable-hardware-aes-acceleration-enable-aes-hardware-s-pseudo-round-function-strength-of-the-pseudo-rounds-function-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-1486", + "name": "MBEDTLS_AES_USE_PSEUDO_ROUND_FUNC_STRENGTH", + "title": "Strength of the pseudo rounds function", + "type": "choice" + } + ], + "depends_on": "SOC_AES_SUPPORT_PSEUDO_ROUND_FUNCTION && MBEDTLS_HARDWARE_AES", + "help": "Enables the pseudo round function of the AES peripheral.\nEnabling this would impact the performance of the AES operations.\nFor more info regarding the performance impact, please checkout\nthe pseudo round function section of the security guide.", + "id": "MBEDTLS_AES_USE_PSEUDO_ROUND_FUNC", + "name": "MBEDTLS_AES_USE_PSEUDO_ROUND_FUNC", + "range": null, + "title": "Enable AES hardware's pseudo round function", + "type": "bool" + } + ], + "depends_on": "!SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST && SOC_AES_SUPPORTED", + "help": "Enable hardware accelerated AES encryption & decryption.\n\nNote that if the ESP32 CPU is running at 240MHz, hardware AES does not\noffer any speed boost over software AES.", + "id": "MBEDTLS_HARDWARE_AES", + "name": "MBEDTLS_HARDWARE_AES", + "range": null, + "title": "Enable hardware AES acceleration", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "MBEDTLS_AES_USE_PSEUDO_ROUND_FUNC_STRENGTH", + "name": "MBEDTLS_AES_USE_PSEUDO_ROUND_FUNC_STRENGTH", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": "MBEDTLS_HARDWARE_AES && SOC_AES_SUPPORT_DMA", + "help": "This option enables dynamically switching between the hardware\nAES peripheral's block and DMA modes based on the length of the input data,\nthus, significantly speeding up the AES operations with shorter data lengths.\nFor example, NVS encryption/decryption operations, TLS communication, etc.\nwith smaller data lengths.\n\nIt is enabled by default due to the significant performance impact but note that\nit also increases the binary size by ~1.2 KB as it pulls in the peripheral's block\nmode code as well.", + "id": "MBEDTLS_AES_HW_SMALL_DATA_LEN_OPTIM", + "name": "MBEDTLS_AES_HW_SMALL_DATA_LEN_OPTIM", + "range": null, + "title": "Enable performance optimisation for the small data length hardware AES operations", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This option enables hardware acceleration for ECDSA sign function, only\nwhen using ATECC608A cryptoauth chip.", + "id": "MBEDTLS_ATCA_HW_ECDSA_SIGN", + "name": "MBEDTLS_ATCA_HW_ECDSA_SIGN", + "range": null, + "title": "Enable hardware ECDSA sign acceleration when using ATECC608A", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This option enables hardware acceleration for ECDSA sign function, only\nwhen using ATECC608A cryptoauth chip.", + "id": "MBEDTLS_ATCA_HW_ECDSA_VERIFY", + "name": "MBEDTLS_ATCA_HW_ECDSA_VERIFY", + "range": null, + "title": "Enable hardware ECDSA verify acceleration when using ATECC608A", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_DIG_SIGN_SUPPORTED", + "help": "Enable hardware accelerated digital signature peripheral for RSA digital signature generation.", + "id": "MBEDTLS_HARDWARE_RSA_DS_PERIPHERAL", + "name": "MBEDTLS_HARDWARE_RSA_DS_PERIPHERAL", + "range": null, + "title": "Enable hardware RSA digital signature peripheral acceleration", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-mbedtls-hardware-acceleration-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-1261", + "title": "Hardware Acceleration", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_SHA256_C", + "help": "Force SHA-256 to be used for the entropy pool if both SHA-256 and SHA-512 are\nenabled. On 32-bit architectures, SHA-256 can be faster than SHA-512", + "id": "MBEDTLS_ENTROPY_FORCE_SHA256", + "name": "MBEDTLS_ENTROPY_FORCE_SHA256", + "range": null, + "title": "Force SHA-256 for entropy", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_AES_C", + "help": "Enable CTR_DRBG (CTR mode Deterministic Random Bit Generator).\nThe CTR_DRBG generator uses AES-256 by default.", + "id": "MBEDTLS_CTR_DRBG_C", + "name": "MBEDTLS_CTR_DRBG_C", + "range": null, + "title": "Enable CTR_DRBG", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_MD_C", + "help": "Enable HMAC_DRBG (HMAC mode Deterministic Random Bit Generator).", + "id": "MBEDTLS_HMAC_DRBG_C", + "name": "MBEDTLS_HMAC_DRBG_C", + "range": null, + "title": "Enable HMAC_DRBG", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-mbedtls-entropy-and-random-number-generation-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-1549", + "title": "Entropy and Random Number Generation", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enable Base64 encoding and decoding functions. This is required for PEM support.", + "id": "MBEDTLS_BASE64_C", + "name": "MBEDTLS_BASE64_C", + "range": null, + "title": "Enable Base64 encoding/decoding", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable support for PKCS#5 functions.", + "id": "MBEDTLS_PKCS5_C", + "name": "MBEDTLS_PKCS5_C", + "range": null, + "title": "Enable PKCS#5 functions", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_ASN1_PARSE_C && MBEDTLS_PK_PARSE_C && MBEDTLS_X509_CRT_PARSE_C && MBEDTLS_X509_CRL_PARSE_C && MBEDTLS_BIGNUM_C && MBEDTLS_MD_C", + "help": "Enable PKCS number 7 core for using PKCS number 7-formatted signatures.", + "id": "MBEDTLS_PKCS7_C", + "name": "MBEDTLS_PKCS7_C", + "range": null, + "title": "Enable PKCS number 7", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_RSA_C", + "help": "Enable support for PKCS#1 v1.5 operations.", + "id": "MBEDTLS_PKCS1_V15", + "name": "MBEDTLS_PKCS1_V15", + "range": null, + "title": "Enable PKCS#1 v1.5 padding", + "type": "bool" + }, + { + "children": [], + "depends_on": "MBEDTLS_RSA_C && MBEDTLS_MD_C", + "help": "Enable support for PKCS#1 v2.1 operations.", + "id": "MBEDTLS_PKCS1_V21", + "name": "MBEDTLS_PKCS1_V21", + "range": null, + "title": "Enable PKCS#1 v2.1 padding", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-mbedtls-encoding-decoding-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-1574", + "title": "Encoding/Decoding", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "MBEDTLS_CHACHA20_C", + "help": "Enable support for ChaCha20-Poly1305 AEAD algorithm.", + "id": "MBEDTLS_CHACHAPOLY_C", + "name": "MBEDTLS_CHACHAPOLY_C", + "range": null, + "title": "ChaCha20-Poly1305 AEAD algorithm", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable support for Chacha20 stream cipher.", + "id": "MBEDTLS_CHACHA20_C", + "name": "MBEDTLS_CHACHA20_C", + "range": null, + "title": "Chacha20 stream cipher", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-mbedtls-stream-cipher-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-1611", + "title": "Stream Cipher", + "type": "menu" + }, + { + "children": [], + "depends_on": "ESP_ROM_HAS_MBEDTLS_CRYPTO_LIB && !MBEDTLS_VER_4_X_SUPPORT", + "help": "Enable this flag to use mbedtls crypto algorithm from ROM instead of ESP-IDF\nin case of a bootloader build.\nSimilar to the MBEDTLS_USE_CRYPTO_ROM_IMPL config but enables usage of the\nmbedtls crypto algorithm from ROM for the bootloader build.", + "id": "MBEDTLS_USE_CRYPTO_ROM_IMPL_BOOTLOADER", + "name": "MBEDTLS_USE_CRYPTO_ROM_IMPL_BOOTLOADER", + "range": null, + "title": "Use ROM implementation of the crypto algorithm in the bootloader", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_ROM_HAS_MBEDTLS_CRYPTO_LIB && !MBEDTLS_VER_4_X_SUPPORT", + "help": "Enable this flag to use mbedtls crypto algorithm from ROM instead of ESP-IDF.\n\nThis configuration option saves flash footprint in the application binary.\nNote that the version of mbedtls crypto algorithm library in ROM(ECO1~ECO3) is v2.16.12,\nand the version of mbedtls crypto algorithm library in ROM(ECO4) is v3.6.0.\nWe have done the security analysis of the mbedtls revision in ROM (ECO1~ECO4)\nand ensured that affected symbols have been patched (removed). If in the future\nmbedtls revisions there are security issues that also affects the version in\nROM (ECO1~ECO4) then we shall patch the relevant symbols. This would increase\nthe flash footprint and hence care must be taken to keep some reserved space\nfor the application binary in flash layout.", + "id": "MBEDTLS_USE_CRYPTO_ROM_IMPL", + "name": "MBEDTLS_USE_CRYPTO_ROM_IMPL", + "range": null, + "title": "Use ROM implementation of the crypto algorithm", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-mbedtls-home-claw-.platformio-packages-framework-espidf-components-mbedtls-Kconfig-1", + "title": "mbedTLS", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "SECURE_FLASH_ENC_ENABLED || SOC_HMAC_SUPPORTED", + "help": "This option enables encryption for NVS. When enabled, XTS-AES is used to encrypt\nthe complete NVS data, except the page headers. It requires XTS encryption keys\nto be stored in an encrypted partition (enabling flash encryption is mandatory here)\nor to be derived from an HMAC key burnt in eFuse.", + "id": "NVS_ENCRYPTION", + "name": "NVS_ENCRYPTION", + "range": null, + "title": "Enable NVS encryption", + "type": "bool" + }, + { + "children": [], + "depends_on": "SECURE_FLASH_ENC_ENABLED", + "help": "Enabling this will ignore \"encrypted\" flag for NVS partitions. NVS encryption\nscheme is different than hardware flash encryption and hence it is not recommended\nto have \"encrypted\" flag for NVS partitions. This was not being checked in pre v4.3\nIDF. Hence, if you have any devices where this flag is kept enabled in partition\ntable then enabling this config will allow to have same behavior as pre v4.3 IDF.", + "id": "NVS_COMPATIBLE_PRE_V4_3_ENCRYPTION_FLAG", + "name": "NVS_COMPATIBLE_PRE_V4_3_ENCRYPTION_FLAG", + "range": null, + "title": "NVS partition encrypted flag compatible with ESP-IDF before v4.3", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This option switches error checking type between assertions (y) or return codes (n).", + "id": "NVS_ASSERT_ERROR_CHECK", + "name": "NVS_ASSERT_ERROR_CHECK", + "range": null, + "title": "Use assertions for error checking", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling this option will switch the nvs_set() family of functions to the legacy mode:\nwhen called repeatedly with the same key but different data type, the existing value\nin the NVS remains active and the new value is just stored, actually not accessible through\ncorresponding nvs_get() call for the key given. Use this option only when your application\nrelies on such NVS API behaviour.", + "id": "NVS_LEGACY_DUP_KEYS_COMPATIBILITY", + "name": "NVS_LEGACY_DUP_KEYS_COMPATIBILITY", + "range": null, + "title": "Enable legacy nvs_set function behavior when same key is reused with different data types", + "type": "bool" + }, + { + "children": [], + "depends_on": "SPIRAM && (SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC)", + "help": "Enabling this option lets NVS library try to allocate page cache and key hash list in SPIRAM\ninstead of internal RAM. It can help applications using large nvs partitions or large number\nof keys to save heap space in internal RAM. SPIRAM heap allocation negatively impacts speed\nof NVS operations as the CPU accesses NVS cache via SPI instead of direct access to the internal RAM.", + "id": "NVS_ALLOCATE_CACHE_IN_SPIRAM", + "name": "NVS_ALLOCATE_CACHE_IN_SPIRAM", + "range": null, + "title": "Prefers allocation of in-memory cache structures in SPI connected PSRAM", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This option enforces internal use of Block Device Layer instead ESP_Partition.", + "id": "NVS_BDL_STACK", + "name": "NVS_BDL_STACK", + "range": null, + "title": "Run NVS on BDL instead of ESP_Partition", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "NVS_FLASH_VERIFY_ERASE", + "help": "Configures the total number of flash erase attempts. The flash erase operation will be attempted\nup to this number of times before returning an error.\nMinimum value is 1, maximum value is 10.", + "id": "NVS_FLASH_ERASE_ATTEMPTS", + "name": "NVS_FLASH_ERASE_ATTEMPTS", + "range": null, + "title": "Total number of flash erase attempts in case the erase verification fails", + "type": "int" + } + ], + "depends_on": null, + "help": "This option ensures that erase operations are verified by reading back the flash memory.", + "id": "NVS_FLASH_VERIFY_ERASE", + "name": "NVS_FLASH_VERIFY_ERASE", + "range": null, + "title": "Enable verification of erase operations by reading back the erased data", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-nvs-home-claw-.platformio-packages-framework-espidf-components-nvs_flash-Kconfig-1", + "title": "NVS", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "SECURE_FLASH_ENC_ENABLED && ", + "help": "Protect the NVS Encryption Keys using Flash Encryption\nRequires a separate 'nvs_keys' partition (which will be encrypted by flash encryption)\nfor storing the NVS encryption keys", + "id": "NVS_SEC_KEY_PROTECT_USING_FLASH_ENC", + "name": "NVS_SEC_KEY_PROTECT_USING_FLASH_ENC", + "range": null, + "title": "Using Flash Encryption", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_HMAC_SUPPORTED && ", + "help": "Derive and protect the NVS Encryption Keys using the HMAC peripheral\nRequires the specified eFuse block (NVS_SEC_HMAC_EFUSE_KEY_ID or the v2 API argument)\nto be empty or pre-written with a key with the purpose ESP_EFUSE_KEY_PURPOSE_HMAC_UP", + "id": "NVS_SEC_KEY_PROTECT_USING_HMAC", + "name": "NVS_SEC_KEY_PROTECT_USING_HMAC", + "range": null, + "title": "Using HMAC peripheral", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Select this option if key derivation/protection is handled by\na custom implementation, and not by the nvs_sec_provider component.", + "id": "NVS_SEC_KEY_PROTECT_NONE", + "name": "NVS_SEC_KEY_PROTECT_NONE", + "range": null, + "title": "None", + "type": "bool" + } + ], + "depends_on": "NVS_ENCRYPTION", + "help": "This choice defines the default NVS encryption keys protection scheme;\nwhich will be used for the default NVS partition.\nUsers can use the corresponding scheme registration APIs to register other\nschemes for the default as well as other NVS partitions.", + "id": "component-config-nvs-security-provider-nvs-encryption-key-protection-scheme-home-claw-.platformio-packages-framework-espidf-components-nvs_sec_provider-Kconfig-4", + "name": "NVS_SEC_KEY_PROTECTION_SCHEME", + "title": "NVS Encryption: Key Protection Scheme", + "type": "choice" + }, + { + "children": [], + "depends_on": "NVS_SEC_KEY_PROTECT_USING_HMAC", + "help": "eFuse block key ID storing the HMAC key for deriving the NVS encryption keys\n\nNote: The eFuse block key ID required by the HMAC scheme\n(CONFIG_NVS_SEC_KEY_PROTECT_USING_HMAC) is set using this config when the default\nNVS partition is initialized with nvs_flash_init(). The eFuse block key ID can\nalso be set at runtime by passing the appropriate value to the NVS security scheme\nregistration APIs.", + "id": "NVS_SEC_HMAC_EFUSE_KEY_ID", + "name": "NVS_SEC_HMAC_EFUSE_KEY_ID", + "range": null, + "title": "eFuse key ID storing the HMAC key", + "type": "int" + } + ], + "depends_on": null, + "id": "component-config-nvs-security-provider-home-claw-.platformio-packages-framework-espidf-components-nvs_sec_provider-Kconfig-1", + "title": "NVS Security Provider", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "The OpenThread task name.", + "id": "OPENTHREAD_TASK_NAME", + "name": "OPENTHREAD_TASK_NAME", + "range": null, + "title": "OpenThread task name", + "type": "string" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "The size in bytes of OpenThread task.", + "id": "OPENTHREAD_TASK_SIZE", + "name": "OPENTHREAD_TASK_SIZE", + "range": null, + "title": "Size of OpenThread task", + "type": "int" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "The priority of OpenThread task.", + "id": "OPENTHREAD_TASK_PRIORITY", + "name": "OPENTHREAD_TASK_PRIORITY", + "range": null, + "title": "Priority of OpenThread task", + "type": "int" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-task-parameters-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-9", + "title": "Thread Task Parameters", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "The OpenThread package name.", + "id": "OPENTHREAD_PACKAGE_NAME", + "name": "OPENTHREAD_PACKAGE_NAME", + "range": null, + "title": "OpenThread package name", + "type": "string" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "The OpenThread platform information.", + "id": "OPENTHREAD_PLATFORM_INFO", + "name": "OPENTHREAD_PLATFORM_INFO", + "range": null, + "title": "platform information", + "type": "string" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-version-message-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-31", + "title": "Thread Version Message", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "(ESP_CONSOLE_UART_DEFAULT || ESP_CONSOLE_UART_CUSTOM) && ", + "help": null, + "id": "OPENTHREAD_CONSOLE_TYPE_UART", + "name": "OPENTHREAD_CONSOLE_TYPE_UART", + "range": null, + "title": "OpenThread console type UART", + "type": "bool" + }, + { + "children": [], + "depends_on": "(ESP_CONSOLE_USB_SERIAL_JTAG || ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG) && ", + "help": null, + "id": "OPENTHREAD_CONSOLE_TYPE_USB_SERIAL_JTAG", + "name": "OPENTHREAD_CONSOLE_TYPE_USB_SERIAL_JTAG", + "range": null, + "title": "OpenThread console type USB Serial/JTAG Controller", + "type": "bool" + } + ], + "depends_on": "OPENTHREAD_CONSOLE_ENABLE && OPENTHREAD_ENABLED", + "help": "Select OpenThread console type", + "id": "component-config-openthread-openthread-thread-console-enable-openthread-console-openthread-console-type-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-57", + "name": "OPENTHREAD_CONSOLE_TYPE", + "title": "OpenThread console type", + "type": "choice" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Enable the OpenThread-specific console provided by the SDK. This only controls whether\nthe SDK sets up a dedicated console for OpenThread. Even if disabled, the default\nESP-IDF console (if initialized elsewhere) can still be used independently.", + "id": "OPENTHREAD_CONSOLE_ENABLE", + "name": "OPENTHREAD_CONSOLE_ENABLE", + "range": null, + "title": "Enable OpenThread console", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable Command-Line Interface in OpenThread.", + "id": "OPENTHREAD_CLI", + "name": "OPENTHREAD_CLI", + "range": null, + "title": "Enable Openthread Command-Line Interface", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "A prefix string used before a Thread CLI command, allowing the ESP console to identify\nit and delegate the remaining command to the OpenThread callback for processing.", + "id": "OPENTHREAD_CONSOLE_COMMAND_PREFIX", + "name": "OPENTHREAD_CONSOLE_COMMAND_PREFIX", + "range": null, + "title": "The prefix of the openthread CLI command registered on the esp console", + "type": "string" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-console-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-47", + "title": "Thread Console", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_NETWORK_NAME", + "name": "OPENTHREAD_NETWORK_NAME", + "range": null, + "title": "OpenThread network name", + "type": "string" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "A string in the format \"
/\", where `
` is an IPv6\naddress and `` is a prefix length. For example \"fd00:db8:a0:0::/64\"", + "id": "OPENTHREAD_MESH_LOCAL_PREFIX", + "name": "OPENTHREAD_MESH_LOCAL_PREFIX", + "range": null, + "title": "OpenThread mesh local prefix, format
/", + "type": "string" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_NETWORK_CHANNEL", + "name": "OPENTHREAD_NETWORK_CHANNEL", + "range": null, + "title": "OpenThread network channel", + "type": "int" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_NETWORK_PANID", + "name": "OPENTHREAD_NETWORK_PANID", + "range": null, + "title": "OpenThread network pan id", + "type": "hex" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "The OpenThread network extended pan id in hex string format", + "id": "OPENTHREAD_NETWORK_EXTPANID", + "name": "OPENTHREAD_NETWORK_EXTPANID", + "range": null, + "title": "OpenThread extended pan id", + "type": "string" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "The OpenThread network network key in hex string format", + "id": "OPENTHREAD_NETWORK_MASTERKEY", + "name": "OPENTHREAD_NETWORK_MASTERKEY", + "range": null, + "title": "OpenThread network key", + "type": "string" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "The OpenThread pre-shared commissioner key in hex string format", + "id": "OPENTHREAD_NETWORK_PSKC", + "name": "OPENTHREAD_NETWORK_PSKC", + "range": null, + "title": "OpenThread pre-shared commissioner key", + "type": "string" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-core-features-thread-operational-dataset-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-89", + "title": "Thread Operational Dataset", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Select this to enable Full Thread Device which can act as router and leader in a Thread network.", + "id": "OPENTHREAD_FTD", + "name": "OPENTHREAD_FTD", + "range": null, + "title": "Full Thread Device", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Select this to enable Minimal Thread Device which can only act as end device in a Thread network.\nThis will reduce the code size of the OpenThread stack.", + "id": "OPENTHREAD_MTD", + "name": "OPENTHREAD_MTD", + "range": null, + "title": "Minimal Thread Device", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Select this to enable Radio Only Device which can only forward 15.4 packets to the host.\nThe OpenThread stack will be run on the host and OpenThread will have minimal footprint on the\nradio only device.", + "id": "OPENTHREAD_RADIO", + "name": "OPENTHREAD_RADIO", + "range": null, + "title": "Radio Only Device", + "type": "bool" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "help": "OpenThread can be configured to different device types (FTD, MTD, Radio)", + "id": "component-config-openthread-openthread-thread-core-features-thread-device-type-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-130", + "name": "OPENTHREAD_DEVICE_TYPE", + "title": "Thread device type", + "type": "choice" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "OPENTHREAD_RADIO_TREL && (EXAMPLE_CONNECT_WIFI || EXAMPLE_CONNECT_ETHERNET) && OPENTHREAD_ENABLED", + "help": "Configure the port number of TREL service.", + "id": "OPENTHREAD_TREL_PORT", + "name": "OPENTHREAD_TREL_PORT", + "range": null, + "title": "The port of openthread trel service", + "type": "int" + }, + { + "children": [], + "depends_on": "OPENTHREAD_RADIO_TREL && (EXAMPLE_CONNECT_WIFI || EXAMPLE_CONNECT_ETHERNET) && OPENTHREAD_ENABLED", + "help": "Configure the receive buffer size of TREL service.", + "id": "OPENTHREAD_TREL_BUFFER_SIZE", + "name": "OPENTHREAD_TREL_BUFFER_SIZE", + "range": null, + "title": "The receive buffer size of openthread trel", + "type": "int" + } + ], + "depends_on": "(EXAMPLE_CONNECT_WIFI || EXAMPLE_CONNECT_ETHERNET) && OPENTHREAD_ENABLED", + "help": "Select this option to enable Thread Radio Encapsulation Link.", + "id": "OPENTHREAD_RADIO_TREL", + "name": "OPENTHREAD_RADIO_TREL", + "range": null, + "title": "Enable Thread Radio Encapsulation Link (TREL)", + "type": "bool" + } + ], + "depends_on": "(EXAMPLE_CONNECT_WIFI || EXAMPLE_CONNECT_ETHERNET) && OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-core-features-thread-trel-radio-link-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-155", + "title": "Thread Trel Radio Link", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Select this to use the native 15.4 radio.", + "id": "OPENTHREAD_RADIO_NATIVE", + "name": "OPENTHREAD_RADIO_NATIVE", + "range": null, + "title": "Native 15.4 radio", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Select this to connect to a Radio Co-Processor via UART.", + "id": "OPENTHREAD_RADIO_SPINEL_UART", + "name": "OPENTHREAD_RADIO_SPINEL_UART", + "range": null, + "title": "Connect via UART", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Select this to connect to a Radio Co-Processor via SPI.", + "id": "OPENTHREAD_RADIO_SPINEL_SPI", + "name": "OPENTHREAD_RADIO_SPINEL_SPI", + "range": null, + "title": "Connect via SPI", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Select this to disable the Thread radio based on 15.4 link.", + "id": "OPENTHREAD_RADIO_154_NONE", + "name": "OPENTHREAD_RADIO_154_NONE", + "range": null, + "title": "Disable the Thread radio based on 15.4 link", + "type": "bool" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Configure how OpenThread connects to the 15.4 radio", + "id": "component-config-openthread-openthread-thread-core-features-thread-15-4-radio-link-config-the-thread-radio-type-with-15-4-link-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-181", + "name": "OPENTHREAD_RADIO_TYPE", + "title": "Config the Thread radio type with 15.4 link", + "type": "choice" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-core-features-thread-15-4-radio-link-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-180", + "title": "Thread 15.4 Radio Link", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": "Select this to enable UART connection to host.", + "id": "OPENTHREAD_RCP_UART", + "name": "OPENTHREAD_RCP_UART", + "range": null, + "title": "UART RCP", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": "Select this to enable SPI connection to host.", + "id": "OPENTHREAD_RCP_SPI", + "name": "OPENTHREAD_RCP_SPI", + "range": null, + "title": "SPI RCP", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG && !OPENTHREAD_CONSOLE_TYPE_USB_SERIAL_JTAG && ", + "help": "Select this to enable connection to host over USB JTAG serial.", + "id": "OPENTHREAD_RCP_USB_SERIAL_JTAG", + "name": "OPENTHREAD_RCP_USB_SERIAL_JTAG", + "range": null, + "title": "USB RCP", + "type": "bool" + } + ], + "depends_on": "OPENTHREAD_RADIO && OPENTHREAD_ENABLED", + "help": null, + "id": "component-config-openthread-openthread-thread-core-features-thread-radio-co-processor-feature-the-rcp-transport-type-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-214", + "name": "OPENTHREAD_RCP_TRANSPORT", + "title": "The RCP transport type", + "type": "choice" + }, + { + "children": [], + "depends_on": "OPENTHREAD_RADIO && OPENTHREAD_ENABLED", + "help": "Select this to enable OpenThread NCP vendor commands.", + "id": "OPENTHREAD_NCP_VENDOR_HOOK", + "name": "OPENTHREAD_NCP_VENDOR_HOOK", + "range": null, + "title": "Enable vendor command for RCP", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_RADIO && OPENTHREAD_ENABLED", + "help": "Select this to enable sending console commands to OpenThread RCP via Spinel.", + "id": "OPENTHREAD_RCP_SPINEL_CONSOLE", + "name": "OPENTHREAD_RCP_SPINEL_CONSOLE", + "range": null, + "title": "Enable RCP console via Spinel", + "type": "bool" + } + ], + "depends_on": "OPENTHREAD_RADIO && OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-core-features-thread-radio-co-processor-feature-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-211", + "title": "Thread Radio Co-Processor Feature", + "type": "menu" + }, + { + "children": [], + "depends_on": "OPENTHREAD_FTD && OPENTHREAD_ENABLED", + "help": "Select this option to enable border router features in OpenThread.", + "id": "OPENTHREAD_BORDER_ROUTER", + "name": "OPENTHREAD_BORDER_ROUTER", + "range": null, + "title": "Enable Border Router", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "OPENTHREAD_COMMISSIONER && OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_COMM_MAX_JOINER_ENTRIES", + "name": "OPENTHREAD_COMM_MAX_JOINER_ENTRIES", + "range": null, + "title": "The size of max commissioning joiner entries", + "type": "int" + } + ], + "depends_on": "OPENTHREAD_COMMISSIONER && OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-core-features-enable-commissioner-commissioner-configurations-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-265", + "title": "Commissioner Configurations", + "type": "menu" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable commissioner in OpenThread. This will enable the device to act as a\ncommissioner in the Thread network. A commissioner checks the pre-shared key from a joining device\nwith the Thread commissioning protocol and shares the network parameter with the joining device\nupon success.", + "id": "OPENTHREAD_COMMISSIONER", + "name": "OPENTHREAD_COMMISSIONER", + "range": null, + "title": "Enable Commissioner", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable Joiner in OpenThread. This allows a device to join the\nThread network with a pre-shared key using the Thread commissioning protocol.", + "id": "OPENTHREAD_JOINER", + "name": "OPENTHREAD_JOINER", + "range": null, + "title": "Enable Joiner", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "OPENTHREAD_SRP_CLIENT && OPENTHREAD_ENABLED", + "help": "Set the max buffer size of service entries in the SRP client service pool.", + "id": "OPENTHREAD_SRP_CLIENT_MAX_SERVICES", + "name": "OPENTHREAD_SRP_CLIENT_MAX_SERVICES", + "range": null, + "title": "Specifies number of service entries in the SRP client service pool", + "type": "int" + } + ], + "depends_on": "OPENTHREAD_SRP_CLIENT && OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-core-features-enable-srp-client-srp-client-configurations-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-285", + "title": "SRP Client Configurations", + "type": "menu" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable SRP Client in OpenThread.\nThis allows a device to register SRP services to SRP Server.", + "id": "OPENTHREAD_SRP_CLIENT", + "name": "OPENTHREAD_SRP_CLIENT", + "range": null, + "title": "Enable SRP Client", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable DNS Client in OpenThread.", + "id": "OPENTHREAD_DNS_CLIENT", + "name": "OPENTHREAD_DNS_CLIENT", + "range": null, + "title": "Enable DNS Client", + "type": "bool" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "OPENTHREAD_DNS64_CLIENT && OPENTHREAD_ENABLED", + "help": "Set the DNS server IPv4 address.", + "id": "OPENTHREAD_DNS_SERVER_ADDR", + "name": "OPENTHREAD_DNS_SERVER_ADDR", + "range": null, + "title": "DNS server address (IPv4)", + "type": "string" + } + ], + "depends_on": "OPENTHREAD_DNS64_CLIENT && OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-core-features-enable-dns64-client-dns64-client-configurations-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-307", + "title": "DNS64 Client Configurations", + "type": "menu" + } + ], + "depends_on": "LWIP_IPV4 && OPENTHREAD_ENABLED", + "help": "Select this option to acquire NAT64 address from dns servers.", + "id": "OPENTHREAD_DNS64_CLIENT", + "name": "OPENTHREAD_DNS64_CLIENT", + "range": null, + "title": "Enable DNS64 Client", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable timing optimization for link metrics / CSL features.", + "id": "OPENTHREAD_TIMING_OPTIMIZATION", + "name": "OPENTHREAD_TIMING_OPTIMIZATION", + "range": null, + "title": "Enable timing optimization", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable link metrics feature", + "id": "OPENTHREAD_LINK_METRICS", + "name": "OPENTHREAD_LINK_METRICS", + "range": null, + "title": "Enable link metrics feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable border agent feature", + "id": "OPENTHREAD_BORDER_AGENT_ENABLE", + "name": "OPENTHREAD_BORDER_AGENT_ENABLE", + "range": null, + "title": "Enable border agent feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable mac filter feature", + "id": "OPENTHREAD_MACFILTER_ENABLE", + "name": "OPENTHREAD_MACFILTER_ENABLE", + "range": null, + "title": "Enable mac filter feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable CSL feature", + "id": "OPENTHREAD_CSL_ENABLE", + "name": "OPENTHREAD_CSL_ENABLE", + "range": null, + "title": "Enable CSL feature", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "The current accuracy of the clock used for scheduling CSL operations", + "id": "OPENTHREAD_CSL_ACCURACY", + "name": "OPENTHREAD_CSL_ACCURACY", + "range": null, + "title": "The current CSL rx/tx scheduling drift, in units of \u00b1 ppm", + "type": "int" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "The fixed uncertainty of the Device for scheduling CSL Transmissions in units of 10 microseconds.", + "id": "OPENTHREAD_CSL_UNCERTAIN", + "name": "OPENTHREAD_CSL_UNCERTAIN", + "range": null, + "title": "The CSL Uncertainty in units of 10 us.", + "type": "int" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to set rx on when sleep in CSL feature, only for debug", + "id": "OPENTHREAD_CSL_DEBUG_ENABLE", + "name": "OPENTHREAD_CSL_DEBUG_ENABLE", + "range": null, + "title": "Enable CSL debug", + "type": "bool" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-core-features-csl-configurations-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-350", + "title": "CSL Configurations", + "type": "menu" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable time synchronization feature, the devices in the same Thread network could\nsync to the same network time.", + "id": "OPENTHREAD_TIME_SYNC", + "name": "OPENTHREAD_TIME_SYNC", + "range": null, + "title": "Enable the time synchronization service feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "(OPENTHREAD_FTD || OPENTHREAD_MTD) && OPENTHREAD_ENABLED", + "help": "Select this option to enable the radio statistics feature, you can use radio\ncommand to print some radio Statistics information.", + "id": "OPENTHREAD_RADIO_STATS_ENABLE", + "name": "OPENTHREAD_RADIO_STATS_ENABLE", + "range": null, + "title": "Enable Radio Statistics feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable OpenThread radio capability rx on when idle.\nDo not support this feature when SW coexistence is enabled.", + "id": "OPENTHREAD_RX_ON_WHEN_IDLE", + "name": "OPENTHREAD_RX_ON_WHEN_IDLE", + "range": null, + "title": "Enable OpenThread radio capability rx on when idle", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable Diag in OpenThread. This will enable diag mode and a series of diag\ncommands in the OpenThread command line. These commands allow users to manipulate low-level\nfeatures of the storage and 15.4 radio.", + "id": "OPENTHREAD_DIAG", + "name": "OPENTHREAD_DIAG", + "range": null, + "title": "Enable diag", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_MTD && OPENTHREAD_ENABLED", + "help": "Select this option to enable \"Periodic Parent Search\" function for MTD. This checks the average\nRSS to its current parent every periodically and starts a parent search process if the average\nRSS is below OPENTHREAD_PARENT_SEARCH_RSS_THRESHOLD. This feature is always enabled for FTDs.", + "id": "OPENTHREAD_PARENT_SEARCH_MTD", + "name": "OPENTHREAD_PARENT_SEARCH_MTD", + "range": null, + "title": "Enable Parent Search", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "(OPENTHREAD_PARENT_SEARCH_MTD || OPENTHREAD_FTD) && OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_PARENT_SEARCH_CHECK_INTERVAL_MINS", + "name": "OPENTHREAD_PARENT_SEARCH_CHECK_INTERVAL_MINS", + "range": null, + "title": "The interval in minutes for a child to check the trigger condition to perform a parent search", + "type": "int" + }, + { + "children": [], + "depends_on": "(OPENTHREAD_PARENT_SEARCH_MTD || OPENTHREAD_FTD) && OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_PARENT_SEARCH_BACKOFF_INTERVAL_MINS", + "name": "OPENTHREAD_PARENT_SEARCH_BACKOFF_INTERVAL_MINS", + "range": null, + "title": "The backoff interval in minutes for a child to not perform a parent search after triggering one", + "type": "int" + }, + { + "children": [], + "depends_on": "(OPENTHREAD_PARENT_SEARCH_MTD || OPENTHREAD_FTD) && OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_PARENT_SEARCH_RSS_THRESHOLD", + "name": "OPENTHREAD_PARENT_SEARCH_RSS_THRESHOLD", + "range": null, + "title": "The RSS threshold used to trigger a parent search", + "type": "int" + }, + { + "children": [], + "depends_on": "(OPENTHREAD_PARENT_SEARCH_MTD || OPENTHREAD_FTD) && OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_PARENT_SEARCH_RESELECT_TIMEOUT_MINS", + "name": "OPENTHREAD_PARENT_SEARCH_RESELECT_TIMEOUT_MINS", + "range": null, + "title": "The parent reselect timeout duration in minutes used on FTD child devices", + "type": "int" + }, + { + "children": [], + "depends_on": "(OPENTHREAD_PARENT_SEARCH_MTD || OPENTHREAD_FTD) && OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_PARENT_SEARCH_RSS_MARGIN", + "name": "OPENTHREAD_PARENT_SEARCH_RSS_MARGIN", + "range": null, + "title": "The RSS margin over the current parent RSS used on FTD child devices", + "type": "int" + } + ], + "depends_on": "(OPENTHREAD_PARENT_SEARCH_MTD || OPENTHREAD_FTD) && OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-core-features-parent-search-configurations-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-410", + "title": "Parent Search Configurations", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "OPENTHREAD_PLATFORM_MALLOC_CAP_SPIRAM && (SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC) && OPENTHREAD_ENABLED", + "help": "If enabled, the message pool is managed by platform defined logic.", + "id": "OPENTHREAD_PLATFORM_MSGPOOL_MANAGEMENT", + "name": "OPENTHREAD_PLATFORM_MSGPOOL_MANAGEMENT", + "range": null, + "title": "Allocate message pool buffer from PSRAM", + "type": "bool" + } + ], + "depends_on": "(SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC) && OPENTHREAD_ENABLED", + "help": "Select this option to allocate buffer from PSRAM for Thread", + "id": "OPENTHREAD_PLATFORM_MALLOC_CAP_SPIRAM", + "name": "OPENTHREAD_PLATFORM_MALLOC_CAP_SPIRAM", + "range": null, + "title": "Allocate memory from PSRAM", + "type": "bool" + } + ], + "depends_on": "(SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC) && OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-core-features-thread-memory-allocation-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-429", + "title": "Thread Memory Allocation", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "(OPENTHREAD_FTD || OPENTHREAD_MTD) && OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_ADDRESS_QUERY_TIMEOUT", + "name": "OPENTHREAD_ADDRESS_QUERY_TIMEOUT", + "range": null, + "title": "Timeout (in seconds) for a address notification response after sending an address query.", + "type": "int" + }, + { + "children": [], + "depends_on": "(OPENTHREAD_FTD || OPENTHREAD_MTD) && OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_ADDRESS_QUERY_RETRY_DELAY", + "name": "OPENTHREAD_ADDRESS_QUERY_RETRY_DELAY", + "range": null, + "title": "Initial retry delay for address query (in seconds).", + "type": "int" + }, + { + "children": [], + "depends_on": "(OPENTHREAD_FTD || OPENTHREAD_MTD) && OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_ADDRESS_QUERY_MAX_RETRY_DELAY", + "name": "OPENTHREAD_ADDRESS_QUERY_MAX_RETRY_DELAY", + "range": null, + "title": "Maximum retry delay for address query (in seconds).", + "type": "int" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-core-features-openthread-stack-parameters-thread-address-query-config-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-447", + "title": "Thread Address Query Config", + "type": "menu" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_PREFERRED_CHANNEL_MASK", + "name": "OPENTHREAD_PREFERRED_CHANNEL_MASK", + "range": null, + "title": "Preferred channel mask", + "type": "hex" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_SUPPORTED_CHANNEL_MASK", + "name": "OPENTHREAD_SUPPORTED_CHANNEL_MASK", + "range": null, + "title": "Supported channel mask", + "type": "hex" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_NUM_MESSAGE_BUFFERS", + "name": "OPENTHREAD_NUM_MESSAGE_BUFFERS", + "range": null, + "title": "The number of openthread message buffers", + "type": "int" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "The device's XTAL accuracy, in ppm.", + "id": "OPENTHREAD_XTAL_ACCURACY", + "name": "OPENTHREAD_XTAL_ACCURACY", + "range": null, + "title": "The accuracy of the XTAL", + "type": "int" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "The device's bus latency, in us.", + "id": "OPENTHREAD_BUS_LATENCY", + "name": "OPENTHREAD_BUS_LATENCY", + "range": null, + "title": "The bus latency between host and radio chip", + "type": "int" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_MLE_MAX_CHILDREN", + "name": "OPENTHREAD_MLE_MAX_CHILDREN", + "range": null, + "title": "The size of max MLE children entries", + "type": "int" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_TMF_ADDR_CACHE_ENTRIES", + "name": "OPENTHREAD_TMF_ADDR_CACHE_ENTRIES", + "range": null, + "title": "The size of max TMF address cache entries", + "type": "int" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Set the OpenThread UART buffer size.", + "id": "OPENTHREAD_UART_BUFFER_SIZE", + "name": "OPENTHREAD_UART_BUFFER_SIZE", + "range": null, + "title": "The uart received buffer size of openthread", + "type": "int" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "The maximum number of backoffs the CSMA-CA algorithm will attempt before declaring a channel access\nfailure.", + "id": "OPENTHREAD_MAC_MAX_CSMA_BACKOFFS_DIRECT", + "name": "OPENTHREAD_MAC_MAX_CSMA_BACKOFFS_DIRECT", + "range": null, + "title": "Maximum backoffs times before declaring a channel access failure.", + "type": "int" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-core-features-openthread-stack-parameters-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-445", + "title": "OpenThread Stack Parameters", + "type": "menu" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-core-features-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-86", + "title": "Thread Core Features", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED", + "help": "Select this option to enable dynamic log level control for OpenThread", + "id": "OPENTHREAD_LOG_LEVEL_DYNAMIC", + "name": "OPENTHREAD_LOG_LEVEL_DYNAMIC", + "range": null, + "title": "Enable dynamic log level control", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "OPENTHREAD_LOG_LEVEL_NONE", + "name": "OPENTHREAD_LOG_LEVEL_NONE", + "range": null, + "title": "No logs", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "OPENTHREAD_LOG_LEVEL_CRIT", + "name": "OPENTHREAD_LOG_LEVEL_CRIT", + "range": null, + "title": "Error logs", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "OPENTHREAD_LOG_LEVEL_WARN", + "name": "OPENTHREAD_LOG_LEVEL_WARN", + "range": null, + "title": "Warning logs", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "OPENTHREAD_LOG_LEVEL_NOTE", + "name": "OPENTHREAD_LOG_LEVEL_NOTE", + "range": null, + "title": "Notice logs", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "OPENTHREAD_LOG_LEVEL_INFO", + "name": "OPENTHREAD_LOG_LEVEL_INFO", + "range": null, + "title": "Info logs", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "OPENTHREAD_LOG_LEVEL_DEBG", + "name": "OPENTHREAD_LOG_LEVEL_DEBG", + "range": null, + "title": "Debug logs", + "type": "bool" + } + ], + "depends_on": "!OPENTHREAD_LOG_LEVEL_DYNAMIC && OPENTHREAD_ENABLED", + "help": "Select OpenThread log level.", + "id": "component-config-openthread-openthread-thread-log-openthread-log-verbosity-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-521", + "name": "OPENTHREAD_LOG_LEVEL", + "title": "OpenThread log verbosity", + "type": "choice" + }, + { + "children": [], + "depends_on": "!OPENTHREAD_LOG_LEVEL_DYNAMIC && OPENTHREAD_ENABLED", + "help": null, + "id": "OPENTHREAD_LOG_LEVEL", + "name": "OPENTHREAD_LOG_LEVEL", + "range": null, + "title": null, + "type": "int" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-log-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-513", + "title": "Thread Log", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "OPENTHREAD_HEADER_CUSTOM && OPENTHREAD_HEADER_CUSTOM && OPENTHREAD_ENABLED", + "help": "Please use relative paths with respect to the project folder.", + "id": "OPENTHREAD_CUSTOM_HEADER_PATH", + "name": "OPENTHREAD_CUSTOM_HEADER_PATH", + "range": null, + "title": "Path of custom header file", + "type": "string" + }, + { + "children": [], + "depends_on": "OPENTHREAD_HEADER_CUSTOM && OPENTHREAD_HEADER_CUSTOM && OPENTHREAD_ENABLED", + "help": "Name of custom header file.", + "id": "OPENTHREAD_CUSTOM_HEADER_FILE_NAME", + "name": "OPENTHREAD_CUSTOM_HEADER_FILE_NAME", + "range": null, + "title": "Name of custom header file", + "type": "string" + } + ], + "depends_on": "OPENTHREAD_HEADER_CUSTOM && OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-extensioned-features-use-a-header-file-defined-by-customer-openthread-custom-header-config-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-568", + "title": "OpenThread Custom Header Config", + "type": "menu" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "help": "This option allows users to tailor the values of openthread macros according to their requirements.\nThe openthread submodule contains numerous macros, each with a default value set. In the Kconfig of\nESP openthread, users can set specific openthread parameters, which will be applied for certain\nopenthread macros in the openthread-core-esp32x-xxx-config.h file. During compilation, the values\nspecified in openthread-core-esp32x-xxx-config.h will replace the default settings in the openthread\nsubmodule. However, Kconfig does not cover all openthread macros, particularly those typically\nusing default values. For such macros, users can enable the OPENTHREAD_HEADER_CUSTOM option in the\nKconfig and provide a custom header file. Macros defined in the custom header file will have the\nhighest priority.", + "id": "OPENTHREAD_HEADER_CUSTOM", + "name": "OPENTHREAD_HEADER_CUSTOM", + "range": null, + "title": "Use a header file defined by customer", + "type": "bool" + } + ], + "depends_on": "OPENTHREAD_ENABLED", + "id": "component-config-openthread-openthread-thread-extensioned-features-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-553", + "title": "Thread Extensioned Features", + "type": "menu" + } + ], + "depends_on": null, + "help": "Select this option to enable OpenThread and show the submenu with OpenThread configuration choices.", + "id": "OPENTHREAD_ENABLED", + "name": "OPENTHREAD_ENABLED", + "range": null, + "title": "OpenThread", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Select this option to enable the OpenThread Radio Spinel for external protocol stack, such as Zigbee.", + "id": "OPENTHREAD_SPINEL_ONLY", + "name": "OPENTHREAD_SPINEL_ONLY", + "range": null, + "title": "Enable OpenThread External Radio Spinel feature", + "type": "bool" + }, + { + "children": [], + "depends_on": "OPENTHREAD_ENABLED || OPENTHREAD_SPINEL_ONLY", + "help": null, + "id": "OPENTHREAD_SPINEL_RX_FRAME_BUFFER_SIZE", + "name": "OPENTHREAD_SPINEL_RX_FRAME_BUFFER_SIZE", + "range": null, + "title": "The size of openthread spinel rx frame buffer", + "type": "int" + }, + { + "children": [], + "depends_on": "OPENTHREAD_SPINEL_ONLY", + "help": "The maximum number of backoffs the CSMA-CA algorithm will attempt before declaring a channel access\nfailure.", + "id": "OPENTHREAD_SPINEL_MAC_MAX_CSMA_BACKOFFS_DIRECT", + "name": "OPENTHREAD_SPINEL_MAC_MAX_CSMA_BACKOFFS_DIRECT", + "range": null, + "title": "Maximum backoffs times before declaring a channel access failure.", + "type": "int" + } + ], + "depends_on": null, + "id": "component-config-openthread-openthread-spinel-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-587", + "title": "OpenThread Spinel", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "OPENTHREAD_DEBUG && OPENTHREAD_RADIO_NATIVE && IEEE802154_DEBUG", + "help": "When enabled, this option triggers the printing of 802.15.4 MAC layer debug\ninformation whenever an OpenThread assert occurs. This can help developers\nanalyze unexpected failures by providing additional MAC layer context.", + "id": "OPENTHREAD_DUMP_MAC_ON_ASSERT", + "name": "OPENTHREAD_DUMP_MAC_ON_ASSERT", + "range": null, + "title": "Dump 802.15.4 MAC debug info on OpenThread assert", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "OPENTHREAD_TASK_BLOCK_MONITOR", + "help": "Set the timeout (in seconds) for detecting a blocked task.\nThe timer is started at the beginning of each task main loop\nand stopped at the end. If the timer expires, the task is considered blocked.", + "id": "OPENTHREAD_TASK_BLOCK_MONITOR_TIMEOUT", + "name": "OPENTHREAD_TASK_BLOCK_MONITOR_TIMEOUT", + "range": null, + "title": "Task Block Monitor Timeout (seconds)", + "type": "int" + } + ], + "depends_on": "OPENTHREAD_DEBUG", + "help": "Enable monitoring of OpenThread tasks to detect if a task is blocked\nand unable to continue its normal execution loop. Useful for debugging\nissues where tasks stop progressing due to deadlocks or resource waits.\nOn RISC-V targets, in order to get meaningful backtraces when a task is\ndetected as blocked, ESP_SYSTEM_USE_FRAME_POINTER must be enabled in\nESP System Settings -> Backtracing method.", + "id": "OPENTHREAD_TASK_BLOCK_MONITOR", + "name": "OPENTHREAD_TASK_BLOCK_MONITOR", + "range": null, + "title": "Enable OpenThread Task Block Monitor", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enable additional debugging support for ESP OpenThread integration.\nThis includes various diagnostic tools and logs to help track down\nissues in OpenThread networking or system integration", + "id": "OPENTHREAD_DEBUG", + "is_menuconfig": true, + "name": "OPENTHREAD_DEBUG", + "range": null, + "title": "Enable ESP OpenThread Debug", + "type": "menu" + } + ], + "depends_on": null, + "id": "component-config-openthread-home-claw-.platformio-packages-framework-espidf-components-openthread-Kconfig-1", + "title": "OpenThread", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enable support of security version 0.\nThis version provides no encryption or authentication and should\nnot be used in production. Use only for development and testing.\nDisabling this option saves some code size.\nConsult the Enabling protocomm security version section of the\nProtocomm documentation in ESP-IDF Programming guide for more details.", + "id": "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0", + "name": "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0", + "range": null, + "title": "Support protocomm security version 0 (no security)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable support of security version 1.\nSecurity version 2 (SRP6a + AES-GCM) is recommended over this\nversion for new designs.\nDisabling this option saves some code size.\nConsult the Enabling protocomm security version section of the\nProtocomm documentation in ESP-IDF Programming guide for more details.", + "id": "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1", + "name": "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1", + "range": null, + "title": "Support protocomm security version 1 (Curve25519 key exchange + AES-CTR encryption/decryption)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable support of security version 2.\nDisabling this option saves some code size.\nConsult the Enabling protocomm security version section of the\nProtocomm documentation in ESP-IDF Programming guide for more details.", + "id": "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2", + "name": "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2", + "range": null, + "title": "Support protocomm security version 2 (SRP6a-based key exchange + AES-GCM encryption/decryption)", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable support of security patch version. This is a hidden config option\nkept for external components like \"network_provisioning\" to find out if\nprotocomm component support security patch version. This config option\nalso indicates availability of a new API `protocomm_get_sec_version`.\nPlease refer to Protocomm documentation in ESP-IDF Programming guide for\nmore details.", + "id": "ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION", + "name": "ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "BT_ENABLED", + "help": "Keep BT on after calling protocomm_ble_stop", + "id": "ESP_PROTOCOMM_KEEP_BLE_ON_AFTER_BLE_STOP", + "name": "ESP_PROTOCOMM_KEEP_BLE_ON_AFTER_BLE_STOP", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_PROTOCOMM_KEEP_BLE_ON_AFTER_BLE_STOP", + "help": "Terminate connection after calling protocomm_ble_stop", + "id": "ESP_PROTOCOMM_DISCONNECT_AFTER_BLE_STOP", + "name": "ESP_PROTOCOMM_DISCONNECT_AFTER_BLE_STOP", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-protocomm-home-claw-.platformio-packages-framework-espidf-components-protocomm-Kconfig-1", + "title": "Protocomm", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Priority used to create new tasks with default pthread parameters.", + "id": "PTHREAD_TASK_PRIO_DEFAULT", + "name": "PTHREAD_TASK_PRIO_DEFAULT", + "range": [ + 0, + 255 + ], + "title": "Default task priority", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Stack size used to create new tasks with default pthread parameters.", + "id": "PTHREAD_TASK_STACK_SIZE_DEFAULT", + "name": "PTHREAD_TASK_STACK_SIZE_DEFAULT", + "range": null, + "title": "Default task stack size", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Minimum allowed pthread stack size set in attributes passed to pthread_create", + "id": "PTHREAD_STACK_MIN", + "name": "PTHREAD_STACK_MIN", + "range": null, + "title": "Minimum allowed pthread stack size", + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "PTHREAD_DEFAULT_CORE_NO_AFFINITY", + "name": "PTHREAD_DEFAULT_CORE_NO_AFFINITY", + "range": null, + "title": "No affinity", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "PTHREAD_DEFAULT_CORE_0", + "name": "PTHREAD_DEFAULT_CORE_0", + "range": null, + "title": "Core 0", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "PTHREAD_DEFAULT_CORE_1", + "name": "PTHREAD_DEFAULT_CORE_1", + "range": null, + "title": "Core 1", + "type": "bool" + } + ], + "depends_on": "!FREERTOS_UNICORE", + "help": "The default core to which pthreads are pinned.", + "id": "component-config-pthreads-default-pthread-core-affinity-home-claw-.platformio-packages-framework-espidf-components-pthread-Kconfig-22", + "name": "PTHREAD_TASK_CORE_DEFAULT", + "title": "Default pthread core affinity", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "PTHREAD_TASK_CORE_DEFAULT", + "name": "PTHREAD_TASK_CORE_DEFAULT", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "The default name of pthreads.", + "id": "PTHREAD_TASK_NAME_DEFAULT", + "name": "PTHREAD_TASK_NAME_DEFAULT", + "range": null, + "title": "Default name of pthreads", + "type": "string" + } + ], + "depends_on": null, + "id": "component-config-pthreads-home-claw-.platformio-packages-framework-espidf-components-pthread-Kconfig-1", + "title": "PThreads", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enable SDIO support.\nDisabling this will skip SDIO-specific initialization steps", + "id": "SD_ENABLE_SDIO_SUPPORT", + "name": "SD_ENABLE_SDIO_SUPPORT", + "range": null, + "title": "Enable SDIO support", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-sd-protocol-layer-configuration-home-claw-.platformio-packages-framework-espidf-components-sdmmc-Kconfig-1", + "title": "SD Protocol Layer Configuration", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "SOC_MMU_PAGE_SIZE_8KB_SUPPORTED", + "help": null, + "id": "MMU_PAGE_SIZE_8KB", + "name": "MMU_PAGE_SIZE_8KB", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "MMU_PAGE_SIZE_16KB", + "name": "MMU_PAGE_SIZE_16KB", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "MMU_PAGE_SIZE_32KB", + "name": "MMU_PAGE_SIZE_32KB", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "MMU_PAGE_SIZE_64KB", + "name": "MMU_PAGE_SIZE_64KB", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "MMU_PAGE_MODE", + "name": "MMU_PAGE_MODE", + "range": null, + "title": null, + "type": "string" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "MMU_PAGE_SIZE", + "name": "MMU_PAGE_SIZE", + "range": null, + "title": null, + "type": "hex" + } + ], + "depends_on": null, + "id": "component-config-soc-settings-mmu-config-home-claw-.platformio-packages-framework-espidf-components-soc-Kconfig-5", + "title": "MMU Config", + "type": "menu" + } + ], + "depends_on": null, + "id": "component-config-soc-settings-home-claw-.platformio-packages-framework-espidf-components-soc-Kconfig-1", + "title": "SoC Settings", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "When this option is selected, the patch will be enabled for XMC.\nFollow the recommended flow by XMC for better stability.\n\nDO NOT DISABLE UNLESS YOU KNOW WHAT YOU ARE DOING.", + "id": "SPI_FLASH_BROWNOUT_RESET_XMC", + "name": "SPI_FLASH_BROWNOUT_RESET_XMC", + "range": null, + "title": "Enable sending reset when brownout for XMC flash chips", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "When brownout happens during flash erase/write operations,\nsend reset command to stop the flash operations to improve stability.", + "id": "SPI_FLASH_BROWNOUT_RESET", + "name": "SPI_FLASH_BROWNOUT_RESET", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "id": "component-config-main-flash-configuration-spi-flash-behavior-when-brownout-home-claw-.platformio-packages-framework-espidf-components-spi_flash-Kconfig-4", + "title": "SPI Flash behavior when brownout", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "This is a helper config for HPM. Invisible for users.", + "id": "SPI_FLASH_UNDER_HIGH_FREQ", + "name": "SPI_FLASH_UNDER_HIGH_FREQ", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "SPI_FLASH_HPM_ENA", + "name": "SPI_FLASH_HPM_ENA", + "range": null, + "title": "Enable", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SPI_FLASH_HPM_AUTO", + "name": "SPI_FLASH_HPM_AUTO", + "range": null, + "title": "Auto (Not recommended)", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SPI_FLASH_HPM_DIS", + "name": "SPI_FLASH_HPM_DIS", + "range": null, + "title": "Disabled", + "type": "bool" + } + ], + "depends_on": "SOC_SPI_MEM_FLASH_SUPPORT_HPM && !ESPTOOLPY_OCT_FLASH && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Whether the High Performance Mode of Flash is enabled. As an optional feature, user needs to manually\nenable this option as a confirmation. To be back-compatible with earlier IDF version, this option is\nautomatically enabled with warning when Flash running > 80Mhz.", + "id": "component-config-main-flash-configuration-optional-and-experimental-features-read-docs-first--high-performance-mode-read-docs-first-80mhz--home-claw-.platformio-packages-framework-espidf-components-spi_flash-Kconfig-36", + "name": "SPI_FLASH_HPM", + "title": "High Performance Mode (READ DOCS FIRST, > 80MHz)", + "type": "choice" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "This option is invisible, and will be selected automatically\nwhen ``ESPTOOLPY_FLASHFREQ_120M`` is selected.", + "id": "SPI_FLASH_HPM_ON", + "name": "SPI_FLASH_HPM_ON", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "SPI_FLASH_HPM_DC_AUTO", + "name": "SPI_FLASH_HPM_DC_AUTO", + "range": null, + "title": "Auto (Enable when bootloader support enabled (BOOTLOADER_FLASH_DC_AWARE))", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SPI_FLASH_HPM_DC_DISABLE", + "name": "SPI_FLASH_HPM_DC_DISABLE", + "range": null, + "title": "Disable (READ DOCS FIRST)", + "type": "bool" + } + ], + "depends_on": "SPI_FLASH_HPM_ON && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "This feature needs your bootloader to be compiled DC-aware (BOOTLOADER_FLASH_DC_AWARE=y). Otherwise the\nchip will not be able to boot after a reset.", + "id": "component-config-main-flash-configuration-optional-and-experimental-features-read-docs-first--support-hpm-using-dc-read-docs-first--home-claw-.platformio-packages-framework-espidf-components-spi_flash-Kconfig-64", + "name": "SPI_FLASH_HPM_DC", + "title": "Support HPM using DC (READ DOCS FIRST)", + "type": "choice" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "This is a helper config for HPM. Whether HPM-DC is enabled is also determined by bootloader.\nInvisible for users.", + "id": "SPI_FLASH_HPM_DC_ON", + "name": "SPI_FLASH_HPM_DC_ON", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND && !SPI_FLASH_ROM_IMPL && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "This option is disabled by default because it is supported only\nfor specific flash chips and for specific Espressif chips.\nTo evaluate if you can use this feature refer to\n`Optional Features for Flash` > `Auto Suspend & Resume` of the `ESP-IDF Programming Guide`.\n\nCAUTION: If you want to OTA to an app with this feature turned on, please make\nsure the bootloader has the support for it. (later than IDF v4.3)\n\nIf you are using an official Espressif module, please contact Espressif Business support\nto check if the module has the flash that support this feature installed.\nAlso refer to `Concurrency Constraints for Flash on SPI1` > `Flash Auto Suspend Feature`\nbefore enabling this option.", + "id": "SPI_FLASH_AUTO_SUSPEND", + "name": "SPI_FLASH_AUTO_SUSPEND", + "range": null, + "title": "Auto suspend long erase/write operations (READ DOCS FIRST)", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "This config is used for setting Tsus parameter. Tsus means CS# high to next command after\nsuspend. You can refer to the chapter of AC CHARACTERISTICS of flash datasheet.", + "id": "SPI_FLASH_SUSPEND_TSUS_VAL_US", + "name": "SPI_FLASH_SUSPEND_TSUS_VAL_US", + "range": [ + 20, + 100 + ], + "title": "SPI flash tSUS value (refer to chapter AC CHARACTERISTICS)", + "type": "int" + }, + { + "children": [], + "depends_on": "SOC_SPI_MEM_SUPPORT_TSUS_TRES_SEPERATE_CTR && !ESP32P4_SELECTS_REV_LESS_V3 && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "This config is used for setting Trs parameter. Trs means CS Latency Between Resume And Next Suspend.\nYou can refer to the chapter of AC CHARACTERISTICS of flash datasheet.\nFor high-performance scenarios, some flash chips allow this set value to be smaller than the\ngiven value in the datasheet without causing errors in the flash state machine.\nWhen you have any related needs, please contact espressif business team.", + "id": "SPI_FLASH_SUSPEND_TRS_VAL_US", + "name": "SPI_FLASH_SUSPEND_TRS_VAL_US", + "range": null, + "title": "SPI flash tRS value (refer to chapter AC CHARACTERISTICS)", + "type": "int" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "XMC-C series is regarded as not qualified for the Suspend feature, since its specification\nhas a tRS >= 1ms restriction. We strongly do not suggest using it for the Suspend feature.\nHowever, if your product in field has enabled this feature, you may still enable this\nconfig option to keep the legacy behavior.\n\nFor new users, DO NOT enable this config.", + "id": "SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND", + "name": "SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND", + "range": null, + "title": "Enable XMC-C series flash chip suspend feature anyway", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Flash suspend has a defect on ESP32C6 until v0.2 and ESP32H2 until v1.2. If you already use suspend\nfeature for mass production, you can enable this for bypassing check after knowing the risk.\nBut if you are new users, or developing new applications, or producing a new batch,\nplease DO NOT enable this config option.\n\nFor more information, please refer to errata or connect to Espressif business support team.", + "id": "SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND", + "name": "SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND", + "range": null, + "title": "Enable chip suspend feature on c6 or h2 anyway (DO NOT ENABLE FOR NEW USERS OR APPLICATIONS)", + "type": "bool" + }, + { + "children": [], + "depends_on": "SPI_FLASH_AUTO_SUSPEND && FREERTOS_UNICORE && IDF_EXPERIMENTAL_FEATURES && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Enable this config will disable auto-resume from hardware. Thus the software will resume the chip\nafter any higher priority task/interrupt which suspend the chip. The benefit is that the suspend-resume\nwill not disturb the higher priority task and interrupt.\n\nThis currently is only valid on single core chip.", + "id": "SPI_FLASH_SOFTWARE_RESUME", + "name": "SPI_FLASH_SOFTWARE_RESUME", + "range": null, + "title": "Resume flash program/erase form suspend state by software control", + "type": "bool" + }, + { + "children": [], + "depends_on": "SPI_FLASH_AUTO_SUSPEND && FREERTOS_UNICORE && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Disable freertos task scheduler when CONFIG_SPI_FLASH_AUTO_SUSPEND is enabled.\nThus only interrupt can trigger a suspend. When SPI_FLASH_AUTO_SUSPEND is enabled,\ndefault behavior is not disable the task scheduler, so both interrupt and high priority\ntask can suspend the erase/program operation. When this option is enabled, task\nscheduler is disabled, only interrupt can suspend erase/program operation.", + "id": "SPI_FLASH_DISABLE_SCHEDULER_IN_SUSPEND", + "name": "SPI_FLASH_DISABLE_SCHEDULER_IN_SUSPEND", + "range": null, + "title": "Disable task scheduler when suspend is enabled when SPI1 operation is ongoing", + "type": "bool" + }, + { + "children": [], + "depends_on": "SPI_FLASH_AUTO_SUSPEND && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Majority flash supports to use flash register to judge if flash suspend status is\ndone or not. So enable this config, the behavior would use flash register WIP bit to judge\nwhether suspend is valid instead of waiting for a specific long time, which can save a\nlot of time and benefit for performance improvement.", + "id": "SPI_FLASH_AUTO_CHECK_SUSPEND_STATUS", + "name": "SPI_FLASH_AUTO_CHECK_SUSPEND_STATUS", + "range": null, + "title": "Check flash status automatically after flash suspend", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "When disabled, certain functions in `spi_flash` component will be placed into Flash memory\ninstead of IRAM. Disabling this option will save almost 10KB of IRAM depending on which\nfunctions are used.\n\nWhen enabled, these functions will be placed in internal RAM, with better performance.\n\nFor more information please refer to programming guide.", + "id": "SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM", + "name": "SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM", + "range": null, + "title": "Place spi_flash operation functions into IRAM", + "type": "bool" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "id": "component-config-main-flash-configuration-optional-and-experimental-features-read-docs-first--home-claw-.platformio-packages-framework-espidf-components-spi_flash-Kconfig-26", + "title": "Optional and Experimental Features (READ DOCS FIRST)", + "type": "menu" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "id": "component-config-main-flash-configuration-home-claw-.platformio-packages-framework-espidf-components-spi_flash-Kconfig-1", + "title": "Main Flash configuration", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "SPI_FLASH_VERIFY_WRITE && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "If this option is enabled, if SPI flash write verification fails then a log error line\nwill be written with the address, expected & actual values. This can be useful when\ndebugging hardware SPI flash problems.", + "id": "SPI_FLASH_LOG_FAILED_WRITE", + "name": "SPI_FLASH_LOG_FAILED_WRITE", + "range": null, + "title": "Log errors if verification fails", + "type": "bool" + }, + { + "children": [], + "depends_on": "SPI_FLASH_VERIFY_WRITE && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "If this option is enabled, any SPI flash write which tries to set zero bits in the flash to\nones will log a warning. Such writes will not result in the requested data appearing identically\nin flash once written, as SPI NOR flash can only set bits to one when an entire sector is erased.\nAfter erasing, individual bits can only be written from one to zero.\n\nNote that some software (such as SPIFFS) which is aware of SPI NOR flash may write one bits as an\noptimisation, relying on the data in flash becoming a bitwise AND of the new data and any existing data.\nSuch software will log spurious warnings if this option is enabled.", + "id": "SPI_FLASH_WARN_SETTING_ZERO_TO_ONE", + "name": "SPI_FLASH_WARN_SETTING_ZERO_TO_ONE", + "range": null, + "title": "Log warning if writing zero bits to ones", + "type": "bool" + } + ], + "depends_on": "!SPI_FLASH_ROM_IMPL && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "If this option is enabled, any time SPI flash is written then the data will be read\nback and verified. This can catch hardware problems with SPI flash, or flash which\nwas not erased before verification.\n\nThis will slightly influence the write performance.", + "id": "SPI_FLASH_VERIFY_WRITE", + "name": "SPI_FLASH_VERIFY_WRITE", + "range": null, + "title": "Verify SPI flash writes", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "This option enables the following APIs:\n\n- esp_flash_reset_counters\n- esp_flash_dump_counters\n- esp_flash_get_counters\n\nThese APIs may be used to collect performance data for spi_flash APIs\nand to help understand behaviour of libraries which use SPI flash.", + "id": "SPI_FLASH_ENABLE_COUNTERS", + "name": "SPI_FLASH_ENABLE_COUNTERS", + "range": null, + "title": "Enable operation counters", + "type": "bool" + }, + { + "children": [], + "depends_on": "ESP_ROM_HAS_SPI_FLASH && !ESPTOOLPY_OCT_FLASH && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Enable this flag to use new SPI flash driver functions from ROM instead of ESP-IDF.\n\nIf keeping this as \"n\" in your project, you will have less free IRAM.\nBut you can use all of our flash features.\n\nIf making this as \"y\" in your project, you will increase free IRAM.\nBut you may miss out on some flash features and support for new flash chips.\n\nCurrently the ROM cannot support the following features:\n\n- SPI_FLASH_AUTO_SUSPEND (C3, S3)", + "id": "SPI_FLASH_ROM_IMPL", + "name": "SPI_FLASH_ROM_IMPL", + "range": null, + "title": "Use esp_flash implementation in ROM", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "SPI_FLASH_DANGEROUS_WRITE_ABORTS", + "name": "SPI_FLASH_DANGEROUS_WRITE_ABORTS", + "range": null, + "title": "Aborts", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SPI_FLASH_DANGEROUS_WRITE_FAILS", + "name": "SPI_FLASH_DANGEROUS_WRITE_FAILS", + "range": null, + "title": "Fails", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "SPI_FLASH_DANGEROUS_WRITE_ALLOWED", + "name": "SPI_FLASH_DANGEROUS_WRITE_ALLOWED", + "range": null, + "title": "Allowed", + "type": "bool" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "SPI flash APIs can optionally abort or return a failure code\nif erasing or writing addresses that fall at the beginning\nof flash (covering the bootloader and partition table) or that\noverlap the app partition that contains the running app.\n\nIt is not recommended to ever write to these regions from an IDF app,\nand this check prevents logic errors or corrupted firmware memory from\ndamaging these regions.\n\nNote that this feature *does not* check calls to the esp_rom_xxx SPI flash\nROM functions. These functions should not be called directly from IDF\napplications.", + "id": "component-config-spi-flash-driver-writing-to-dangerous-flash-regions-home-claw-.platformio-packages-framework-espidf-components-spi_flash-Kconfig-263", + "name": "SPI_FLASH_DANGEROUS_WRITE", + "title": "Writing to dangerous flash regions", + "type": "choice" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32 && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Each SPI bus needs a lock for arbitration among devices. This allows multiple\ndevices on a same bus, but may reduce the speed of esp_flash driver access to the\nmain flash chip.\n\nIf you only need to use esp_flash driver to access the main flash chip, disable\nthis option, and the lock will be bypassed on SPI1 bus. Otherwise if extra devices\nare needed to attach to SPI1 bus, enable this option.", + "id": "SPI_FLASH_SHARE_SPI1_BUS", + "name": "SPI_FLASH_SHARE_SPI1_BUS", + "range": null, + "title": "Support other devices attached to SPI1 bus", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Some flash chips can have very high \"max\" erase times, especially for block erase (32KB or 64KB).\nThis option allows to bypass \"block erase\" and always do sector erase commands.\nThis will be much slower overall in most cases, but improves latency for other code to run.", + "id": "SPI_FLASH_BYPASS_BLOCK_ERASE", + "name": "SPI_FLASH_BYPASS_BLOCK_ERASE", + "range": null, + "title": "Bypass a block erase and always do sector erase", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "SPI_FLASH_YIELD_DURING_ERASE && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "If a duration of one erase command is large\nthen it will yield CPUs after finishing a current command.", + "id": "SPI_FLASH_ERASE_YIELD_DURATION_MS", + "name": "SPI_FLASH_ERASE_YIELD_DURATION_MS", + "range": null, + "title": "Duration of erasing to yield CPUs (ms)", + "type": "int" + }, + { + "children": [], + "depends_on": "SPI_FLASH_YIELD_DURING_ERASE && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Defines how many ticks will be before returning to continue a erasing.", + "id": "SPI_FLASH_ERASE_YIELD_TICKS", + "name": "SPI_FLASH_ERASE_YIELD_TICKS", + "range": null, + "title": "CPU release time (tick) for an erase operation", + "type": "int" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "This allows to yield the CPUs between erase commands.\nPrevents starvation of other tasks.\nPlease use this configuration together with ``SPI_FLASH_ERASE_YIELD_DURATION_MS`` and\n``SPI_FLASH_ERASE_YIELD_TICKS`` after carefully checking flash datasheet to avoid a\nwatchdog timeout.\nFor more information, please check `SPI Flash API` reference documentation\nunder section `OS Function`.", + "id": "SPI_FLASH_YIELD_DURING_ERASE", + "name": "SPI_FLASH_YIELD_DURING_ERASE", + "range": null, + "title": "Enables yield operation during flash erase", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Flash write is broken down in terms of multiple (smaller) write operations.\nThis configuration options helps to set individual write chunk size, smaller\nvalue here ensures that cache (and non-IRAM resident interrupts) remains\ndisabled for shorter duration.", + "id": "SPI_FLASH_WRITE_CHUNK_SIZE", + "name": "SPI_FLASH_WRITE_CHUNK_SIZE", + "range": [ + 256, + 8192 + ], + "title": "Flash write chunk size", + "type": "int" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "SPI Flash driver uses the flash size configured in bootloader header by default.\nEnable this option to override flash size with latest ESPTOOLPY_FLASHSIZE value from\nthe app header if the size in the bootloader header is incorrect.", + "id": "SPI_FLASH_SIZE_OVERRIDE", + "name": "SPI_FLASH_SIZE_OVERRIDE", + "range": null, + "title": "Override flash size in bootloader header by ESPTOOLPY_FLASHSIZE", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "This option is helpful if you are using a flash chip whose timeout is quite large or unpredictable.", + "id": "SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED", + "name": "SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED", + "range": null, + "title": "Flash timeout checkout disabled", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "This option allows the chip driver list to be customized, instead of using the default list provided by\nESP-IDF.\n\nWhen this option is enabled, the default list is no longer compiled or linked. Instead, the\n`default_registered_chips` structure must be provided by the user.\n\nSee example: custom_chip_driver under examples/storage for more details.", + "id": "SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST", + "name": "SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST", + "range": null, + "title": "Override default chip driver list", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": null, + "id": "SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED", + "name": "SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": null, + "id": "SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED", + "name": "SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED", + "range": null, + "title": null, + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Enable this to support auto detection of ISSI chips if chip vendor not directly\ngiven by ``chip_drv`` member of the chip struct. This adds support for variant\nchips, however will extend detecting time.", + "id": "SPI_FLASH_SUPPORT_ISSI_CHIP", + "name": "SPI_FLASH_SUPPORT_ISSI_CHIP", + "range": null, + "title": "ISSI", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Enable this to support auto detection of MXIC chips if chip vendor not directly\ngiven by ``chip_drv`` member of the chip struct. This adds support for variant\nchips, however will extend detecting time.", + "id": "SPI_FLASH_SUPPORT_MXIC_CHIP", + "name": "SPI_FLASH_SUPPORT_MXIC_CHIP", + "range": null, + "title": "MXIC", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Enable this to support auto detection of GD (GigaDevice) chips if chip vendor not\ndirectly given by ``chip_drv`` member of the chip struct. If you are using Wrover\nmodules, please don't disable this, otherwise your flash may not work in 4-bit\nmode.\n\nThis adds support for variant chips, however will extend detecting time and image\nsize. Note that the default chip driver supports the GD chips with product ID\n60H.", + "id": "SPI_FLASH_SUPPORT_GD_CHIP", + "name": "SPI_FLASH_SUPPORT_GD_CHIP", + "range": null, + "title": "GigaDevice", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Enable this to support auto detection of Winbond chips if chip vendor not directly\ngiven by ``chip_drv`` member of the chip struct. This adds support for variant\nchips, however will extend detecting time.", + "id": "SPI_FLASH_SUPPORT_WINBOND_CHIP", + "name": "SPI_FLASH_SUPPORT_WINBOND_CHIP", + "range": null, + "title": "Winbond", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Enable this to support auto detection of BOYA chips if chip vendor not directly\ngiven by ``chip_drv`` member of the chip struct. This adds support for variant\nchips, however will extend detecting time.", + "id": "SPI_FLASH_SUPPORT_BOYA_CHIP", + "name": "SPI_FLASH_SUPPORT_BOYA_CHIP", + "range": null, + "title": "BOYA", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Enable this to support auto detection of TH chips if chip vendor not directly\ngiven by ``chip_drv`` member of the chip struct. This adds support for variant\nchips, however will extend detecting time.", + "id": "SPI_FLASH_SUPPORT_TH_CHIP", + "name": "SPI_FLASH_SUPPORT_TH_CHIP", + "range": null, + "title": "TH", + "type": "bool" + }, + { + "children": [], + "depends_on": "IDF_TARGET_ESP32S3 && !APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Enable this to support auto detection of Octal MXIC chips if chip vendor not directly\ngiven by ``chip_drv`` member of the chip struct. This adds support for variant\nchips, however will extend detecting time.", + "id": "SPI_FLASH_SUPPORT_MXIC_OPI_CHIP", + "name": "SPI_FLASH_SUPPORT_MXIC_OPI_CHIP", + "range": null, + "title": "mxic (opi)", + "type": "bool" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "id": "component-config-spi-flash-driver-auto-detect-flash-chips-home-claw-.platformio-packages-framework-espidf-components-spi_flash-Kconfig-374", + "title": "Auto-detect flash chips", + "type": "menu" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "This option enables flash read/write operations to encrypted partition/s. This option\nis kept enabled irrespective of state of flash encryption feature. However, in case\napplication is not using flash encryption feature and is in need of some additional\nmemory from IRAM region (~1KB) then this config can be disabled.", + "id": "SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE", + "name": "SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE", + "range": null, + "title": "Enable encrypted partition read/write operations", + "type": "bool" + }, + { + "children": [], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "help": "Enable frequency limit workaround for encrypted flash writes on ESP32-C5 at 240MHz default CPU frequency.\nThis is an internal configuration, automatically set based on target chip and CPU frequency.", + "id": "SPI_FLASH_FREQ_LIMIT_C5_240MHZ", + "name": "SPI_FLASH_FREQ_LIMIT_C5_240MHZ", + "range": null, + "title": null, + "type": "bool" + } + ], + "depends_on": "!APP_BUILD_TYPE_PURE_RAM_APP", + "id": "component-config-spi-flash-driver-home-claw-.platformio-packages-framework-espidf-components-spi_flash-Kconfig-193", + "title": "SPI Flash driver", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Define maximum number of partitions that can be mounted.", + "id": "SPIFFS_MAX_PARTITIONS", + "name": "SPIFFS_MAX_PARTITIONS", + "range": [ + 1, + 10 + ], + "title": "Maximum Number of Partitions", + "type": "int" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "SPIFFS_CACHE", + "help": "Enables memory write caching for file descriptors in hydrogen.", + "id": "SPIFFS_CACHE_WR", + "name": "SPIFFS_CACHE_WR", + "range": null, + "title": "Enable SPIFFS Write Caching", + "type": "bool" + }, + { + "children": [], + "depends_on": "SPIFFS_CACHE", + "help": "Enable/disable statistics on caching. Debug/test purpose only.", + "id": "SPIFFS_CACHE_STATS", + "name": "SPIFFS_CACHE_STATS", + "range": null, + "title": "Enable SPIFFS Cache Statistics", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enables/disable memory read caching of nucleus file system\noperations.", + "id": "SPIFFS_CACHE", + "name": "SPIFFS_CACHE", + "range": null, + "title": "Enable SPIFFS Cache", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-spiffs-configuration-spiffs-cache-configuration-home-claw-.platformio-packages-framework-espidf-components-spiffs-Kconfig-10", + "title": "SPIFFS Cache Configuration", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": "Always check header of each accessed page to ensure consistent state.\nIf enabled it will increase number of reads from flash, especially\nif cache is disabled.", + "id": "SPIFFS_PAGE_CHECK", + "name": "SPIFFS_PAGE_CHECK", + "range": null, + "title": "Enable SPIFFS Page Check", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Define maximum number of GC runs to perform to reach desired free pages.", + "id": "SPIFFS_GC_MAX_RUNS", + "name": "SPIFFS_GC_MAX_RUNS", + "range": [ + 1, + 10000 + ], + "title": "Set Maximum GC Runs", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Enable/disable statistics on gc. Debug/test purpose only.", + "id": "SPIFFS_GC_STATS", + "name": "SPIFFS_GC_STATS", + "range": null, + "title": "Enable SPIFFS GC Statistics", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Logical page size of SPIFFS partition, in bytes. Must be multiple\nof flash page size (which is usually 256 bytes).\nLarger page sizes reduce overhead when storing large files, and\nimprove filesystem performance when reading large files.\nSmaller page sizes reduce overhead when storing small (< page size)\nfiles.", + "id": "SPIFFS_PAGE_SIZE", + "name": "SPIFFS_PAGE_SIZE", + "range": [ + 256, + 1024 + ], + "title": "SPIFFS logical page size", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "Object name maximum length. Note that this length include the\nzero-termination character, meaning maximum string of characters\ncan at most be SPIFFS_OBJ_NAME_LEN - 1.\n\nSPIFFS_OBJ_NAME_LEN + SPIFFS_META_LENGTH should not exceed\nSPIFFS_PAGE_SIZE - 64.", + "id": "SPIFFS_OBJ_NAME_LEN", + "name": "SPIFFS_OBJ_NAME_LEN", + "range": [ + 1, + 256 + ], + "title": "Set SPIFFS Maximum Name Length", + "type": "int" + }, + { + "children": [], + "depends_on": null, + "help": "If this option is enabled, symbolic links are taken into account\nduring partition image creation.", + "id": "SPIFFS_FOLLOW_SYMLINKS", + "name": "SPIFFS_FOLLOW_SYMLINKS", + "range": null, + "title": "Enable symbolic links for image creation", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "SPIFFS_USE_MAGIC", + "help": "If this option is enabled, the magic will also be dependent\non the length of the filesystem. For example, a filesystem\nconfigured and formatted for 4 megabytes will not be accepted\nfor mounting with a configuration defining the filesystem as 2 megabytes.", + "id": "SPIFFS_USE_MAGIC_LENGTH", + "name": "SPIFFS_USE_MAGIC_LENGTH", + "range": null, + "title": "Enable SPIFFS Filesystem Length Magic", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enable this to have an identifiable spiffs filesystem.\nThis will look for a magic in all sectors to determine if this\nis a valid spiffs system or not at mount time.", + "id": "SPIFFS_USE_MAGIC", + "name": "SPIFFS_USE_MAGIC", + "range": null, + "title": "Enable SPIFFS Filesystem Magic", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "This option sets the number of extra bytes stored in the file header.\nThese bytes can be used in an application-specific manner.\nSet this to at least 4 bytes to enable support for saving file\nmodification time.\n\nSPIFFS_OBJ_NAME_LEN + SPIFFS_META_LENGTH should not exceed\nSPIFFS_PAGE_SIZE - 64.", + "id": "SPIFFS_META_LENGTH", + "name": "SPIFFS_META_LENGTH", + "range": null, + "title": "Size of per-file metadata field", + "type": "int" + }, + { + "children": [], + "depends_on": "SPIFFS_META_LENGTH >= 4", + "help": "If enabled, then the first 4 bytes of per-file metadata will be used\nto store file modification time (mtime), accessible through\nstat/fstat functions.\nModification time is updated when the file is opened.", + "id": "SPIFFS_USE_MTIME", + "name": "SPIFFS_USE_MTIME", + "range": null, + "title": "Save file modification time", + "type": "bool" + }, + { + "children": [], + "depends_on": "SPIFFS_META_LENGTH >= 8", + "help": "If this option is not set, the time field is 32 bits (up to 2106 year),\notherwise it is 64 bits and make sure it matches SPIFFS_META_LENGTH.\nIf the chip already has the spiffs image with the time field = 32 bits\nthen this option cannot be applied in this case.\nErase it first before using this option.\nTo resolve the Y2K38 problem for the spiffs, use a toolchain with\n64-bit time_t support.", + "id": "SPIFFS_MTIME_WIDE_64_BITS", + "name": "SPIFFS_MTIME_WIDE_64_BITS", + "range": null, + "title": "The time field occupies 64 bits in the image instead of 32 bits", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "Enabling this option will print general debug messages to the console.", + "id": "SPIFFS_DBG", + "name": "SPIFFS_DBG", + "range": null, + "title": "Enable general SPIFFS debug", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling this option will print API debug messages to the console.", + "id": "SPIFFS_API_DBG", + "name": "SPIFFS_API_DBG", + "range": null, + "title": "Enable SPIFFS API debug", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling this option will print GC debug messages to the console.", + "id": "SPIFFS_GC_DBG", + "name": "SPIFFS_GC_DBG", + "range": null, + "title": "Enable SPIFFS Garbage Cleaner debug", + "type": "bool" + }, + { + "children": [], + "depends_on": "SPIFFS_CACHE", + "help": "Enabling this option will print cache debug messages to the console.", + "id": "SPIFFS_CACHE_DBG", + "name": "SPIFFS_CACHE_DBG", + "range": null, + "title": "Enable SPIFFS Cache debug", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enabling this option will print Filesystem Check debug messages\nto the console.", + "id": "SPIFFS_CHECK_DBG", + "name": "SPIFFS_CHECK_DBG", + "range": null, + "title": "Enable SPIFFS Filesystem Check debug", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "Enable this option to enable SPIFFS_vis function in the API.", + "id": "SPIFFS_TEST_VISUALISATION", + "name": "SPIFFS_TEST_VISUALISATION", + "range": null, + "title": "Enable SPIFFS Filesystem Visualization", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-spiffs-configuration-debug-configuration-home-claw-.platformio-packages-framework-espidf-components-spiffs-Kconfig-139", + "title": "Debug Configuration", + "type": "menu" + } + ], + "depends_on": null, + "id": "component-config-spiffs-configuration-home-claw-.platformio-packages-framework-espidf-components-spiffs-Kconfig-1", + "title": "SPIFFS Configuration", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "WS_TRANSPORT", + "help": "Size of the buffer used for constructing the HTTP Upgrade request during connect", + "id": "WS_BUFFER_SIZE", + "name": "WS_BUFFER_SIZE", + "range": null, + "title": "Websocket transport buffer size", + "type": "int" + }, + { + "children": [], + "depends_on": "WS_TRANSPORT", + "help": "If enable this option, websocket transport buffer will be freed after connection\nsucceed to save more heap.", + "id": "WS_DYNAMIC_BUFFER", + "name": "WS_DYNAMIC_BUFFER", + "range": null, + "title": "Using dynamic websocket transport buffer", + "type": "bool" + } + ], + "depends_on": null, + "help": "Enable support for creating websocket transport.", + "id": "WS_TRANSPORT", + "name": "WS_TRANSPORT", + "range": null, + "title": "Enable Websocket Transport", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-tcp-transport-websocket-home-claw-.platformio-packages-framework-espidf-components-tcp_transport-Kconfig-3", + "title": "Websocket", + "type": "menu" + } + ], + "depends_on": null, + "id": "component-config-tcp-transport-home-claw-.platformio-packages-framework-espidf-components-tcp_transport-Kconfig-1", + "title": "TCP Transport", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "SOC_ULP_FSM_SUPPORTED && ", + "help": null, + "id": "ULP_COPROC_TYPE_FSM", + "name": "ULP_COPROC_TYPE_FSM", + "range": null, + "title": "ULP FSM (Finite State Machine)", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_RISCV_COPROC_SUPPORTED && ", + "help": null, + "id": "ULP_COPROC_TYPE_RISCV", + "name": "ULP_COPROC_TYPE_RISCV", + "range": null, + "title": "ULP RISC-V", + "type": "bool" + }, + { + "children": [], + "depends_on": "SOC_LP_CORE_SUPPORTED && ", + "help": null, + "id": "ULP_COPROC_TYPE_LP_CORE", + "name": "ULP_COPROC_TYPE_LP_CORE", + "range": null, + "title": "LP core RISC-V", + "type": "bool" + } + ], + "depends_on": "ULP_COPROC_ENABLED && (SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED)", + "help": "Choose the ULP Coprocessor type: ULP FSM (Finite State Machine) or ULP RISC-V.", + "id": "component-config-ultra-low-power-ulp-co-processor-enable-ultra-low-power-ulp-co-processor-ulp-co-processor-type-home-claw-.platformio-packages-framework-espidf-components-ulp-Kconfig-11", + "name": "ULP_COPROC_TYPE", + "title": "ULP Co-processor type", + "type": "choice" + }, + { + "children": [], + "depends_on": "ULP_COPROC_ENABLED && (SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED)", + "help": "Bytes of memory to reserve for ULP Co-processor firmware & data.\nData is reserved at the beginning of RTC slow memory.", + "id": "ULP_COPROC_RESERVE_MEM", + "name": "ULP_COPROC_RESERVE_MEM", + "range": null, + "title": "RTC slow memory reserved for coprocessor", + "type": "int" + } + ], + "depends_on": "SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED", + "help": "Enable this feature if you plan to use the ULP Co-processor.\nOnce this option is enabled, further ULP co-processor configuration will appear in the menu.", + "id": "ULP_COPROC_ENABLED", + "name": "ULP_COPROC_ENABLED", + "range": null, + "title": "Enable Ultra Low Power (ULP) Co-processor", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ULP_COPROC_TYPE_RISCV && (SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED)", + "help": "Turn on this setting to enabled interrupts on the ULP RISC-V core.", + "id": "ULP_RISCV_INTERRUPT_ENABLE", + "name": "ULP_RISCV_INTERRUPT_ENABLE", + "range": null, + "title": "Enable ULP RISC-V interrupts", + "type": "bool" + }, + { + "children": [], + "depends_on": "ULP_COPROC_TYPE_RISCV && (SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED)", + "help": "The accuracy of the bitbanged UART driver is limited, it is not\nrecommend to increase the value above 19200.", + "id": "ULP_RISCV_UART_BAUDRATE", + "name": "ULP_RISCV_UART_BAUDRATE", + "range": null, + "title": "Baudrate used by the bitbanged ULP RISC-V UART driver", + "type": "int" + }, + { + "children": [], + "depends_on": "ULP_COPROC_TYPE_RISCV && (SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED)", + "help": "Set the ULP RISC-V I2C read/write timeout. Set this value to -1\nif the ULP RISC-V I2C read and write APIs should wait forever.\nPlease note that the tick rate of the ULP co-processor would be\ndifferent than the OS tick rate of the main core and therefore\ncan have different timeout value depending on which core the API\nis invoked on.", + "id": "ULP_RISCV_I2C_RW_TIMEOUT", + "name": "ULP_RISCV_I2C_RW_TIMEOUT", + "range": null, + "title": "Set timeout for ULP RISC-V I2C transaction timeout in ticks.", + "type": "int" + } + ], + "depends_on": "ULP_COPROC_TYPE_RISCV && (SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED)", + "id": "component-config-ultra-low-power-ulp-co-processor-ulp-risc-v-settings-home-claw-.platformio-packages-framework-espidf-components-ulp-Kconfig-43", + "title": "ULP RISC-V Settings", + "type": "menu" + }, + { + "children": [], + "depends_on": "ULP_COPROC_TYPE_LP_CORE && (SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED)", + "help": "Size of the shared memory defined in ulp_lp_core_memory_shared.c.\nSize should be kept in-sync with the size of the struct defined there.", + "id": "ULP_SHARED_MEM", + "name": "ULP_SHARED_MEM", + "range": null, + "title": null, + "type": "hex" + }, + { + "children": [], + "depends_on": "ULP_COPROC_TYPE_LP_CORE && ESP_ROM_HAS_LP_ROM && (SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED)", + "help": "Set this option to enable printf functionality from LP ROM. This option\ncan help reduce the LP core binary size by not linking printf functionality\nfrom RAM code.\nNote: For LP ROM prints to work properly, make sure that the LP core boots\nfrom the LP ROM.", + "id": "ULP_ROM_PRINT_ENABLE", + "name": "ULP_ROM_PRINT_ENABLE", + "range": null, + "title": "Enable print utilities from LP ROM", + "type": "bool" + }, + { + "children": [], + "depends_on": "ULP_COPROC_TYPE_LP_CORE && (SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED)", + "help": "Set this option to also trigger a wakeup signal to the HP-CPU when\nthe LP-core encounters an exception.", + "id": "ULP_TRAP_WAKEUP", + "name": "ULP_TRAP_WAKEUP", + "range": null, + "title": "Enable wakeup of HP-CPU when LP-core encounters an exception", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "ULP_COPROC_TYPE_LP_CORE && SOC_ULP_LP_UART_SUPPORTED && (SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED)", + "help": "Set this option to enable panic handler functionality. If this option is\nenabled then the LP Core will output a panic dump over LP UART,\nsimilar to what the main core does. Output depends on LP UART already being\ninitialized and configured.\nDisabling this option will reduce the LP core binary size by not\nlinking in panic handler functionality.", + "id": "ULP_PANIC_OUTPUT_ENABLE", + "name": "ULP_PANIC_OUTPUT_ENABLE", + "range": null, + "title": "Enable panic handler which outputs over LP UART", + "type": "bool" + }, + { + "children": [], + "depends_on": "ULP_COPROC_TYPE_LP_CORE && (SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED)", + "help": "Set this option to route lp_core_printf to the console HP-UART.\nThis allows you to easily view print outputs from the LP core, without\nhaving to connect to the LP-UART. This option comes with the following\nlimitations:\n\n1. There is no mutual exclusion between the HP-Core and the LP-Core accessing\nthe HP-UART, which means that if both cores are logging heavily the output\nstrings might get mangled together.\n2. The HP-UART can only work while the HP-Core is running, which means that\nif the HP-Core is in deep sleep, the LP-Core will not be able to print to the\nconsole HP-UART.\n\nDue to these limitations it is only recommended to use this option for easy debugging.\nFor more serious use-cases you should use the LP-UART.", + "id": "ULP_HP_UART_CONSOLE_PRINT", + "name": "ULP_HP_UART_CONSOLE_PRINT", + "range": null, + "title": "Route lp_core_printf to the console HP-UART", + "type": "bool" + }, + { + "children": [], + "depends_on": "ULP_COPROC_TYPE_LP_CORE && (SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED)", + "help": "Enable this feature to avoid resetting LP core in sleep mode when debugger is attached,\notherwise configured HW breakpoints and dcsr.ebreak* bits will be missed.\nThis is a workaround until it will be fixed in HW.", + "id": "ULP_NORESET_UNDER_DEBUG", + "name": "ULP_NORESET_UNDER_DEBUG", + "range": null, + "title": "Avoid resetting LP core when debugger is attached", + "type": "bool" + } + ], + "depends_on": "SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED", + "id": "component-config-ultra-low-power-ulp-co-processor-ulp-debugging-options-home-claw-.platformio-packages-framework-espidf-components-ulp-Kconfig-104", + "title": "ULP Debugging Options", + "type": "menu" + } + ], + "depends_on": "SOC_ULP_SUPPORTED || SOC_RISCV_COPROC_SUPPORTED || SOC_LP_CORE_SUPPORTED", + "id": "component-config-ultra-low-power-ulp-co-processor-home-claw-.platformio-packages-framework-espidf-components-ulp-Kconfig-1", + "title": "Ultra Low Power (ULP) Co-processor", + "type": "menu" + }, + { + "children": [ + { + "children": [], + "depends_on": null, + "help": "If not set, assertions on float arguments will not be available.", + "id": "UNITY_ENABLE_FLOAT", + "name": "UNITY_ENABLE_FLOAT", + "range": null, + "title": "Support for float type", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If not set, assertions on double arguments will not be available.", + "id": "UNITY_ENABLE_DOUBLE", + "name": "UNITY_ENABLE_DOUBLE", + "range": null, + "title": "Support for double type", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If not set, assertions on 64-bit integer types will always fail.\nIf this feature is enabled, take care not to pass pointers (which are 32 bit)\nto UNITY_ASSERT_EQUAL, as that will cause pointer-to-int-cast warnings.", + "id": "UNITY_ENABLE_64BIT", + "name": "UNITY_ENABLE_64BIT", + "range": null, + "title": "Support for 64-bit integer types", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If set, Unity will colorize test results using console escape sequences.", + "id": "UNITY_ENABLE_COLOR", + "name": "UNITY_ENABLE_COLOR", + "range": null, + "title": "Colorize test output", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If set, then the following features will be available:\n\n- TEST_CASE macro which performs automatic registration of test functions\n- Functions to run registered test functions: unity_run_all_tests,\n unity_run_tests_with_filter, unity_run_single_test_by_name.\n- Interactive menu which lists test cases and allows choosing the tests to\n be run, available via unity_run_menu function.\n\nDisable if a different test registration mechanism is used.", + "id": "UNITY_ENABLE_IDF_TEST_RUNNER", + "name": "UNITY_ENABLE_IDF_TEST_RUNNER", + "range": null, + "title": "Include ESP-IDF test registration/running helpers", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If set, unity_fixture.h header file and associated source files are part of\nthe build. These provide an optional set of macros and functions to\nimplement test groups.", + "id": "UNITY_ENABLE_FIXTURE", + "name": "UNITY_ENABLE_FIXTURE", + "range": null, + "title": "Include Unity test fixture", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "If set, the unity framework will print the backtrace information before\njumping back to the test menu. The jumping is usually occurs in assert\nfunctions such as TEST_ASSERT, TEST_FAIL etc.", + "id": "UNITY_ENABLE_BACKTRACE_ON_FAIL", + "name": "UNITY_ENABLE_BACKTRACE_ON_FAIL", + "range": null, + "title": "Print a backtrace when a unit test fails", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-unity-unit-testing-library-home-claw-.platformio-packages-framework-espidf-components-unity-Kconfig-1", + "title": "Unity unit testing library", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "VFS_SUPPORT_IO", + "help": "If enabled, the following functions are provided by the VFS component.\n\nstat, link, unlink, rename, utime, access, truncate, rmdir, mkdir,\nopendir, closedir, readdir, readdir_r, seekdir, telldir, rewinddir\n\nFilesystem drivers can then be registered to handle these functions\nfor specific paths.\n\nDisabling this option can save memory when the support for these functions\nis not required.", + "id": "VFS_SUPPORT_DIR", + "name": "VFS_SUPPORT_DIR", + "range": null, + "title": "Provide directory related functions", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "VFS_SUPPORT_SELECT", + "help": "Select() related functions might produce an inconveniently lot of\ndebug outputs when one sets the default log level to DEBUG or higher.\nIt is possible to suppress these debug outputs by enabling this\noption.", + "id": "VFS_SUPPRESS_SELECT_DEBUG_OUTPUT", + "name": "VFS_SUPPRESS_SELECT_DEBUG_OUTPUT", + "range": null, + "title": "Suppress select() related debug outputs", + "type": "bool" + }, + { + "children": [], + "depends_on": "VFS_SUPPORT_SELECT", + "help": "If enabled, VFS driver select() callback function will be placed in IRAM.", + "id": "VFS_SELECT_IN_RAM", + "name": "VFS_SELECT_IN_RAM", + "range": null, + "title": "Make VFS driver select() callbacks IRAM-safe", + "type": "bool" + } + ], + "depends_on": "VFS_SUPPORT_IO && !LWIP_USE_ONLY_LWIP_SELECT", + "help": "If enabled, select function is provided by the VFS component, and can be used\non peripheral file descriptors (such as UART) and sockets at the same time.\n\nIf disabled, the default select implementation will be provided by LWIP for\nsockets only.\n\nDisabling this option can reduce code size if support for \"select\" on UART file\ndescriptors is not required.", + "id": "VFS_SUPPORT_SELECT", + "name": "VFS_SUPPORT_SELECT", + "range": null, + "title": "Provide select function", + "type": "bool" + }, + { + "children": [], + "depends_on": "VFS_SUPPORT_IO", + "help": "Disabling this option can save memory when the support for termios.h is not required.", + "id": "VFS_SUPPORT_TERMIOS", + "name": "VFS_SUPPORT_TERMIOS", + "range": null, + "title": "Provide termios.h functions", + "type": "bool" + }, + { + "children": [], + "depends_on": "VFS_SUPPORT_IO", + "help": "Define maximum number of virtual filesystems that can be registered.", + "id": "VFS_MAX_COUNT", + "name": "VFS_MAX_COUNT", + "range": [ + 1, + 20 + ], + "title": "Maximum Number of Virtual Filesystems", + "type": "int" + } + ], + "depends_on": null, + "help": "If enabled, the following functions are provided by the VFS component.\n\nopen, close, read, write, pread, pwrite, lseek, fstat, fsync, ioctl, fcntl\n\nFilesystem drivers can then be registered to handle these functions\nfor specific paths.\n\nDisabling this option can save memory when the support for these functions\nis not required.\n\nNote that the following functions can still be used with socket file descriptors\nwhen this option is disabled:\n\nclose, read, write, ioctl, fcntl.", + "id": "VFS_SUPPORT_IO", + "name": "VFS_SUPPORT_IO", + "range": null, + "title": "Provide basic I/O functions", + "type": "bool" + }, + { + "children": [], + "depends_on": null, + "help": "The VFS APIs without context pointer are deprecated and will be removed in the next major release.\nPlease switch to the APIs with context pointer,\nor alternatively enable this option to silence the warning.", + "id": "VFS_SUPPRESS_CTX_DEPRECATION", + "name": "VFS_SUPPRESS_CTX_DEPRECATION", + "range": null, + "title": "Suppress context-less API deprecation warning", + "type": "bool" + }, + { + "children": [ + { + "children": [], + "depends_on": "VFS_SUPPORT_IO", + "help": "Define maximum number of host filesystem mount points.", + "id": "VFS_SEMIHOSTFS_MAX_MOUNT_POINTS", + "name": "VFS_SEMIHOSTFS_MAX_MOUNT_POINTS", + "range": null, + "title": "Host FS: Maximum number of the host filesystem mount points", + "type": "int" + } + ], + "depends_on": "VFS_SUPPORT_IO", + "id": "component-config-virtual-file-system-host-file-system-i-o-semihosting--home-claw-.platformio-packages-framework-espidf-components-vfs-Kconfig-97", + "title": "Host File System I/O (Semihosting)", + "type": "menu" + }, + { + "children": [], + "depends_on": "VFS_SUPPORT_IO", + "help": "If enabled, /dev/null VFS will be automatically initialized at startup.", + "id": "VFS_INITIALIZE_DEV_NULL", + "name": "VFS_INITIALIZE_DEV_NULL", + "range": null, + "title": "Initialize /dev/null VFS", + "type": "bool" + } + ], + "depends_on": null, + "id": "component-config-virtual-file-system-home-claw-.platformio-packages-framework-espidf-components-vfs-Kconfig-1", + "title": "Virtual file system", + "type": "menu" + }, + { + "children": [ + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "WL_SECTOR_SIZE_512", + "name": "WL_SECTOR_SIZE_512", + "range": null, + "title": "512", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "WL_SECTOR_SIZE_4096", + "name": "WL_SECTOR_SIZE_4096", + "range": null, + "title": "4096", + "type": "bool" + } + ], + "depends_on": null, + "help": "Sector size used by wear levelling library.\nYou can set default sector size or size that will\nfit to the flash device sector size.\n\nWith sector size set to 4096 bytes, wear levelling library is more\nefficient. However if FAT filesystem is used on top of wear levelling\nlibrary, it will need more temporary storage: 4096 bytes for each\nmounted filesystem and 4096 bytes for each opened file.\n\nWith sector size set to 512 bytes, wear levelling library will perform\nmore operations with flash memory, but less RAM will be used by FAT\nfilesystem library (512 bytes for the filesystem and 512 bytes for each\nfile opened).", + "id": "component-config-wear-levelling-wear-levelling-library-sector-size-home-claw-.platformio-packages-framework-espidf-components-wear_levelling-Kconfig-3", + "name": "WL_SECTOR_SIZE", + "title": "Wear Levelling library sector size", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "WL_SECTOR_SIZE", + "name": "WL_SECTOR_SIZE", + "range": null, + "title": null, + "type": "int" + }, + { + "children": [ + { + "children": [], + "depends_on": "", + "help": null, + "id": "WL_SECTOR_MODE_PERF", + "name": "WL_SECTOR_MODE_PERF", + "range": null, + "title": "Performance", + "type": "bool" + }, + { + "children": [], + "depends_on": "", + "help": null, + "id": "WL_SECTOR_MODE_SAFE", + "name": "WL_SECTOR_MODE_SAFE", + "range": null, + "title": "Safety", + "type": "bool" + } + ], + "depends_on": "WL_SECTOR_SIZE_512", + "help": "Specify the mode to store data into flash:\n\n- In Performance mode a data will be stored to the RAM and then\n stored back to the flash. Compared to the Safety mode, this operation is\n faster, but if power will be lost when erase sector operation is in\n progress, then the data from complete flash device sector will be lost.\n\n- In Safety mode data from complete flash device sector will be read from\n flash, modified, and then stored back to flash.\n Compared to the Performance mode, this operation is slower, but if\n power is lost during erase sector operation, then the data from full\n flash device sector will not be lost.", + "id": "component-config-wear-levelling-sector-store-mode-home-claw-.platformio-packages-framework-espidf-components-wear_levelling-Kconfig-32", + "name": "WL_SECTOR_MODE", + "title": "Sector store mode", + "type": "choice" + }, + { + "children": [], + "depends_on": null, + "help": null, + "id": "WL_SECTOR_MODE", + "name": "WL_SECTOR_MODE", + "range": null, + "title": null, + "type": "int" + } + ], + "depends_on": null, + "id": "component-config-wear-levelling-home-claw-.platformio-packages-framework-espidf-components-wear_levelling-Kconfig-1", + "title": "Wear Levelling", + "type": "menu" + }, + { + "children": [], + "depends_on": "\"${IDF_BUILD_V2}\"", + "id": "component-config-configuration-for-components-not-included-in-the-build-home-claw-.platformio-packages-framework-espidf-Kconfig-744", + "title": "Configuration for components not included in the build", + "type": "menu" + } + ], + "depends_on": null, + "id": "component-config-home-claw-.platformio-packages-framework-espidf-Kconfig-734", + "title": "Component config", + "type": "menu" + }, + { + "children": [], + "depends_on": "\"${IDF_BUILD_V2}\"", + "id": "project-configuration-for-components-not-included-in-the-build-home-claw-.platformio-packages-framework-espidf-Kconfig-751", + "title": "Project configuration for components not included in the build", + "type": "menu" + }, + { + "children": [], + "depends_on": null, + "help": "By enabling this option, ESP-IDF experimental feature options will be visible.\n\nNote you should still enable a certain experimental feature option to use it, and you\nshould read the corresponding risk warning and known issue list carefully.\n\nCurrent experimental feature list:\n\n- CONFIG_ESPTOOLPY_FLASHFREQ_120M && CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_DTR\n- CONFIG_SPIRAM_SPEED_120M && CONFIG_SPIRAM_MODE_OCT\n- CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH\n- CONFIG_ESP_WIFI_EAP_TLS1_3\n- CONFIG_ESP_WIFI_ENABLE_ROAMING_APP\n- CONFIG_USB_HOST_EXT_PORT_RESET_ATTEMPTS\n- CONFIG_GDMA_ENABLE_WEIGHTED_ARBITRATION\n- CONFIG_I3C_MASTER_ENABLED", + "id": "IDF_EXPERIMENTAL_FEATURES", + "name": "IDF_EXPERIMENTAL_FEATURES", + "range": null, + "title": "Make experimental features visible", + "type": "bool" + } +] \ No newline at end of file diff --git a/.pio/build/xiao-esp32c6/config/sdkconfig.cmake b/.pio/build/xiao-esp32c6/config/sdkconfig.cmake new file mode 100644 index 0000000..5de0a55 --- /dev/null +++ b/.pio/build/xiao-esp32c6/config/sdkconfig.cmake @@ -0,0 +1,1608 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) Configuration cmake include file +# +set(CONFIG_SOC_ADC_SUPPORTED "y") +set(CONFIG_SOC_DEDICATED_GPIO_SUPPORTED "y") +set(CONFIG_SOC_UART_SUPPORTED "y") +set(CONFIG_SOC_UHCI_SUPPORTED "y") +set(CONFIG_SOC_GDMA_SUPPORTED "y") +set(CONFIG_SOC_AHB_GDMA_SUPPORTED "y") +set(CONFIG_SOC_GPTIMER_SUPPORTED "y") +set(CONFIG_SOC_PCNT_SUPPORTED "y") +set(CONFIG_SOC_MCPWM_SUPPORTED "y") +set(CONFIG_SOC_TWAI_SUPPORTED "y") +set(CONFIG_SOC_ETM_SUPPORTED "y") +set(CONFIG_SOC_PARLIO_SUPPORTED "y") +set(CONFIG_SOC_BT_SUPPORTED "y") +set(CONFIG_SOC_IEEE802154_SUPPORTED "y") +set(CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED "y") +set(CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED "y") +set(CONFIG_SOC_TEMP_SENSOR_SUPPORTED "y") +set(CONFIG_SOC_PHY_SUPPORTED "y") +set(CONFIG_SOC_WIFI_SUPPORTED "y") +set(CONFIG_SOC_SUPPORTS_SECURE_DL_MODE "y") +set(CONFIG_SOC_ULP_SUPPORTED "y") +set(CONFIG_SOC_LP_CORE_SUPPORTED "y") +set(CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD "y") +set(CONFIG_SOC_EFUSE_SUPPORTED "y") +set(CONFIG_SOC_RTC_FAST_MEM_SUPPORTED "y") +set(CONFIG_SOC_RTC_MEM_SUPPORTED "y") +set(CONFIG_SOC_I2S_SUPPORTED "y") +set(CONFIG_SOC_RMT_SUPPORTED "y") +set(CONFIG_SOC_SDM_SUPPORTED "y") +set(CONFIG_SOC_GPSPI_SUPPORTED "y") +set(CONFIG_SOC_LEDC_SUPPORTED "y") +set(CONFIG_SOC_I2C_SUPPORTED "y") +set(CONFIG_SOC_SYSTIMER_SUPPORTED "y") +set(CONFIG_SOC_SUPPORT_COEXISTENCE "y") +set(CONFIG_SOC_AES_SUPPORTED "y") +set(CONFIG_SOC_MPI_SUPPORTED "y") +set(CONFIG_SOC_SHA_SUPPORTED "y") +set(CONFIG_SOC_HMAC_SUPPORTED "y") +set(CONFIG_SOC_DIG_SIGN_SUPPORTED "y") +set(CONFIG_SOC_ECC_SUPPORTED "y") +set(CONFIG_SOC_FLASH_ENC_SUPPORTED "y") +set(CONFIG_SOC_SECURE_BOOT_SUPPORTED "y") +set(CONFIG_SOC_SDIO_SLAVE_SUPPORTED "y") +set(CONFIG_SOC_BOD_SUPPORTED "y") +set(CONFIG_SOC_APM_SUPPORTED "y") +set(CONFIG_SOC_PMU_SUPPORTED "y") +set(CONFIG_SOC_PMU_PVT_SUPPORTED "y") +set(CONFIG_SOC_PAU_SUPPORTED "y") +set(CONFIG_SOC_RTC_TIMER_V2_SUPPORTED "y") +set(CONFIG_SOC_LP_AON_SUPPORTED "y") +set(CONFIG_SOC_LP_PERIPHERALS_SUPPORTED "y") +set(CONFIG_SOC_LP_I2C_SUPPORTED "y") +set(CONFIG_SOC_ULP_LP_UART_SUPPORTED "y") +set(CONFIG_SOC_CLK_TREE_SUPPORTED "y") +set(CONFIG_SOC_ASSIST_DEBUG_SUPPORTED "y") +set(CONFIG_SOC_WDT_SUPPORTED "y") +set(CONFIG_SOC_SPI_FLASH_SUPPORTED "y") +set(CONFIG_SOC_RNG_SUPPORTED "y") +set(CONFIG_SOC_LIGHT_SLEEP_SUPPORTED "y") +set(CONFIG_SOC_DEEP_SLEEP_SUPPORTED "y") +set(CONFIG_SOC_MODEM_CLOCK_SUPPORTED "y") +set(CONFIG_SOC_PM_SUPPORTED "y") +set(CONFIG_SOC_XTAL_SUPPORT_40M "y") +set(CONFIG_SOC_XTAL_CLOCK_PATH_DEPENDS_ON_TOP_DOMAIN "y") +set(CONFIG_SOC_AES_SUPPORT_DMA "y") +set(CONFIG_SOC_AES_GDMA "y") +set(CONFIG_SOC_AES_SUPPORT_AES_128 "y") +set(CONFIG_SOC_AES_SUPPORT_AES_256 "y") +set(CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED "y") +set(CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED "y") +set(CONFIG_SOC_ADC_MONITOR_SUPPORTED "y") +set(CONFIG_SOC_ADC_DMA_SUPPORTED "y") +set(CONFIG_SOC_ADC_PERIPH_NUM "1") +set(CONFIG_SOC_ADC_MAX_CHANNEL_NUM "7") +set(CONFIG_SOC_ADC_ATTEN_NUM "4") +set(CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM "1") +set(CONFIG_SOC_ADC_PATT_LEN_MAX "8") +set(CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH "12") +set(CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH "12") +set(CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM "2") +set(CONFIG_SOC_ADC_DIGI_MONITOR_NUM "2") +set(CONFIG_SOC_ADC_DIGI_RESULT_BYTES "4") +set(CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV "4") +set(CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH "83333") +set(CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW "611") +set(CONFIG_SOC_ADC_RTC_MIN_BITWIDTH "12") +set(CONFIG_SOC_ADC_RTC_MAX_BITWIDTH "12") +set(CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED "y") +set(CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED "y") +set(CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED "y") +set(CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR "y") +set(CONFIG_SOC_ADC_SHARED_POWER "y") +set(CONFIG_SOC_BROWNOUT_RESET_SUPPORTED "y") +set(CONFIG_SOC_SHARED_IDCACHE_SUPPORTED "y") +set(CONFIG_SOC_CACHE_FREEZE_SUPPORTED "y") +set(CONFIG_SOC_CPU_CORES_NUM "1") +set(CONFIG_SOC_CPU_INTR_NUM "32") +set(CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC "y") +set(CONFIG_SOC_INT_PLIC_SUPPORTED "y") +set(CONFIG_SOC_CPU_HAS_CSR_PC "y") +set(CONFIG_SOC_CPU_BREAKPOINTS_NUM "4") +set(CONFIG_SOC_CPU_WATCHPOINTS_NUM "4") +set(CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE "0x80000000") +set(CONFIG_SOC_CPU_HAS_PMA "y") +set(CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP "y") +set(CONFIG_SOC_CPU_PMP_REGION_GRANULARITY "4") +set(CONFIG_SOC_CPU_MISALIGNED_ACCESS_ON_PMP_MISMATCH_ISSUE "y") +set(CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN "3072") +set(CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH "16") +set(CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US "1100") +set(CONFIG_SOC_AHB_GDMA_VERSION "1") +set(CONFIG_SOC_GDMA_SUPPORT_ETM "y") +set(CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_GPIO_PORT "1") +set(CONFIG_SOC_GPIO_PIN_COUNT "31") +set(CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER "y") +set(CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM "8") +set(CONFIG_SOC_GPIO_SUPPORT_ETM "y") +set(CONFIG_SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP "y") +set(CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT "y") +set(CONFIG_SOC_GPIO_IN_RANGE_MAX "30") +set(CONFIG_SOC_GPIO_OUT_RANGE_MAX "30") +set(CONFIG_SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_MASK "0") +set(CONFIG_SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_PIN_CNT "8") +set(CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK "0x7fffff00") +set(CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD "y") +set(CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP "y") +set(CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX "y") +set(CONFIG_SOC_CLOCKOUT_HAS_SOURCE_GATE "y") +set(CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM "3") +set(CONFIG_SOC_RTCIO_PIN_COUNT "8") +set(CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED "y") +set(CONFIG_SOC_RTCIO_HOLD_SUPPORTED "y") +set(CONFIG_SOC_RTCIO_WAKE_SUPPORTED "y") +set(CONFIG_SOC_SDM_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_ETM_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_I2C_NUM "2") +set(CONFIG_SOC_HP_I2C_NUM "1") +set(CONFIG_SOC_LP_I2C_NUM "1") +set(CONFIG_SOC_I2C_SUPPORT_XTAL "y") +set(CONFIG_SOC_I2C_SUPPORT_RTC "y") +set(CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR "y") +set(CONFIG_SOC_I2C_SUPPORT_SLAVE "y") +set(CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST "y") +set(CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE "y") +set(CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_I2S_HW_VERSION_2 "y") +set(CONFIG_SOC_I2S_SUPPORTS_ETM "y") +set(CONFIG_SOC_I2S_SUPPORTS_PCM "y") +set(CONFIG_SOC_I2S_SUPPORTS_PDM "y") +set(CONFIG_SOC_I2S_SUPPORTS_PDM_TX "y") +set(CONFIG_SOC_I2S_SUPPORTS_PCM2PDM "y") +set(CONFIG_SOC_I2S_SUPPORTS_PDM_RX "y") +set(CONFIG_SOC_I2S_PDM_MAX_TX_LINES "2") +set(CONFIG_SOC_I2S_PDM_MAX_RX_LINES "1") +set(CONFIG_SOC_I2S_SUPPORTS_TDM "y") +set(CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK "y") +set(CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK "y") +set(CONFIG_SOC_LEDC_TIMER_NUM "4") +set(CONFIG_SOC_LEDC_CHANNEL_NUM "6") +set(CONFIG_SOC_LEDC_TIMER_BIT_WIDTH "20") +set(CONFIG_SOC_LEDC_SUPPORT_FADE_STOP "y") +set(CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED "y") +set(CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX "16") +set(CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH "10") +set(CONFIG_SOC_LEDC_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_LEDC_SUPPORT_ETM "y") +set(CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE "y") +set(CONFIG_SOC_MMU_PAGE_SIZE_8KB_SUPPORTED "y") +set(CONFIG_SOC_MMU_PERIPH_NUM "1") +set(CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM "1") +set(CONFIG_SOC_MMU_DI_VADDR_SHARED "y") +set(CONFIG_SOC_MPU_MIN_REGION_SIZE "0x20000000") +set(CONFIG_SOC_MPU_REGIONS_MAX_NUM "8") +set(CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE "y") +set(CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL "48") +set(CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG "y") +set(CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT "y") +set(CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP "y") +set(CONFIG_SOC_RMT_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE "y") +set(CONFIG_SOC_MCPWM_SUPPORT_ETM "y") +set(CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP "y") +set(CONFIG_SOC_MCPWM_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH "16") +set(CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH "16") +set(CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT "y") +set(CONFIG_SOC_PARLIO_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_MPI_MEM_BLOCKS_NUM "4") +set(CONFIG_SOC_MPI_OPERATIONS_NUM "3") +set(CONFIG_SOC_RSA_MAX_BIT_LEN "3072") +set(CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE "3968") +set(CONFIG_SOC_SHA_SUPPORT_DMA "y") +set(CONFIG_SOC_SHA_SUPPORT_RESUME "y") +set(CONFIG_SOC_SHA_GDMA "y") +set(CONFIG_SOC_SHA_SUPPORT_SHA1 "y") +set(CONFIG_SOC_SHA_SUPPORT_SHA224 "y") +set(CONFIG_SOC_SHA_SUPPORT_SHA256 "y") +set(CONFIG_SOC_SPI_PERIPH_NUM "2") +set(CONFIG_SOC_SPI_MAX_CS_NUM "6") +set(CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE "64") +set(CONFIG_SOC_SPI_SUPPORT_DDRCLK "y") +set(CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS "y") +set(CONFIG_SOC_SPI_SUPPORT_CD_SIG "y") +set(CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS "y") +set(CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2 "y") +set(CONFIG_SOC_SPI_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_SPI_SUPPORT_CLK_XTAL "y") +set(CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F80M "y") +set(CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST "y") +set(CONFIG_SOC_SPI_SCT_SUPPORTED "y") +set(CONFIG_SOC_SPI_SCT_REG_NUM "14") +set(CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX "y") +set(CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX "0x3fffa") +set(CONFIG_SOC_MEMSPI_IS_INDEPENDENT "y") +set(CONFIG_SOC_SPI_MAX_PRE_DIVIDER "16") +set(CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE "y") +set(CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND "y") +set(CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME "y") +set(CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR "y") +set(CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND "y") +set(CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS "y") +set(CONFIG_SOC_SPI_MEM_SUPPORT_WRAP "y") +set(CONFIG_SOC_MEMSPI_ENCRYPTION_ALIGNMENT "16") +set(CONFIG_SOC_SYSTIMER_COUNTER_NUM "2") +set(CONFIG_SOC_SYSTIMER_ALARM_NUM "3") +set(CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO "32") +set(CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI "20") +set(CONFIG_SOC_SYSTIMER_FIXED_DIVIDER "y") +set(CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST "y") +set(CONFIG_SOC_SYSTIMER_INT_LEVEL "y") +set(CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE "y") +set(CONFIG_SOC_SYSTIMER_SUPPORT_ETM "y") +set(CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO "32") +set(CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI "16") +set(CONFIG_SOC_TIMER_SUPPORT_ETM "y") +set(CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_MWDT_SUPPORT_XTAL "y") +set(CONFIG_SOC_MWDT_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_TWAI_CONTROLLER_NUM "2") +set(CONFIG_SOC_TWAI_MASK_FILTER_NUM "1") +set(CONFIG_SOC_TWAI_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE "y") +set(CONFIG_SOC_EFUSE_DIS_PAD_JTAG "y") +set(CONFIG_SOC_EFUSE_DIS_USB_JTAG "y") +set(CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT "y") +set(CONFIG_SOC_EFUSE_SOFT_DIS_JTAG "y") +set(CONFIG_SOC_EFUSE_DIS_ICACHE "y") +set(CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK "y") +set(CONFIG_SOC_EFUSE_XTS_AES_KEY_128 "y") +set(CONFIG_SOC_SECURE_BOOT_V2_RSA "y") +set(CONFIG_SOC_SECURE_BOOT_V2_ECC "y") +set(CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS "3") +set(CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS "y") +set(CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY "y") +set(CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX "64") +set(CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES "y") +set(CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128 "y") +set(CONFIG_SOC_FLASH_ENCRYPTION_PAGE_CONFIGURABLE "y") +set(CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED "y") +set(CONFIG_SOC_APM_LP_APM0_SUPPORTED "y") +set(CONFIG_SOC_APM_SUPPORT_LP_TEE_CTRL "y") +set(CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED "y") +set(CONFIG_SOC_UART_NUM "3") +set(CONFIG_SOC_UART_HP_NUM "2") +set(CONFIG_SOC_UART_LP_NUM "1") +set(CONFIG_SOC_UART_FIFO_LEN "128") +set(CONFIG_SOC_LP_UART_FIFO_LEN "16") +set(CONFIG_SOC_UART_BITRATE_MAX "5000000") +set(CONFIG_SOC_UART_SUPPORT_RTC_CLK "y") +set(CONFIG_SOC_UART_SUPPORT_XTAL_CLK "y") +set(CONFIG_SOC_UART_SUPPORT_WAKEUP_INT "y") +set(CONFIG_SOC_UART_HAS_LP_UART "y") +set(CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_UART_WAKEUP_CHARS_SEQ_MAX_LEN "5") +set(CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE "y") +set(CONFIG_SOC_UART_WAKEUP_SUPPORT_FIFO_THRESH_MODE "y") +set(CONFIG_SOC_UART_WAKEUP_SUPPORT_START_BIT_MODE "y") +set(CONFIG_SOC_UART_WAKEUP_SUPPORT_CHAR_SEQ_MODE "y") +set(CONFIG_SOC_UHCI_NUM "1") +set(CONFIG_SOC_COEX_HW_PTI "y") +set(CONFIG_SOC_EXTERNAL_COEX_ADVANCE "y") +set(CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE "21") +set(CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH "12") +set(CONFIG_SOC_RTC_MEM_SUPPORT_SPEED_MODE_SWITCH "y") +set(CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP "y") +set(CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP "y") +set(CONFIG_SOC_PM_SUPPORT_BT_WAKEUP "y") +set(CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP "y") +set(CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN "y") +set(CONFIG_SOC_PM_SUPPORT_CPU_PD "y") +set(CONFIG_SOC_PM_SUPPORT_MODEM_PD "y") +set(CONFIG_SOC_PM_SUPPORT_XTAL32K_PD "y") +set(CONFIG_SOC_PM_SUPPORT_RC32K_PD "y") +set(CONFIG_SOC_PM_SUPPORT_RC_FAST_PD "y") +set(CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD "y") +set(CONFIG_SOC_PM_SUPPORT_TOP_PD "y") +set(CONFIG_SOC_PM_SUPPORT_HP_AON_PD "y") +set(CONFIG_SOC_PM_SUPPORT_MAC_BB_PD "y") +set(CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD "y") +set(CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE "y") +set(CONFIG_SOC_PM_SUPPORT_PMU_CLK_ICG "y") +set(CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY "y") +set(CONFIG_SOC_PM_CPU_RETENTION_BY_SW "y") +set(CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA "y") +set(CONFIG_SOC_PM_RETENTION_HAS_CLOCK_BUG "y") +set(CONFIG_SOC_PM_MODEM_RF_FLAG_UPDATE_WORKAROUND "y") +set(CONFIG_SOC_PM_PAU_LINK_NUM "4") +set(CONFIG_SOC_PM_PAU_REGDMA_LINK_MULTI_ADDR "y") +set(CONFIG_SOC_PM_PAU_REGDMA_LINK_WIFIMAC "y") +set(CONFIG_SOC_PM_PAU_REGDMA_UPDATE_CACHE_BEFORE_WAIT_COMPARE "y") +set(CONFIG_SOC_PM_PMU_MIN_SLP_SLOW_CLK_CYCLE_FIXED "y") +set(CONFIG_SOC_PM_RETENTION_MODULE_NUM "32") +set(CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION "y") +set(CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT "y") +set(CONFIG_SOC_CLK_XTAL32K_SUPPORTED "y") +set(CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED "y") +set(CONFIG_SOC_CLK_RC32K_SUPPORTED "y") +set(CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D2 "y") +set(CONFIG_SOC_RCC_IS_INDEPENDENT "y") +set(CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC "y") +set(CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL "y") +set(CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT "y") +set(CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_ETM "y") +set(CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION "y") +set(CONFIG_SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN "y") +set(CONFIG_SOC_RNG_CLOCK_IS_INDEPENDENT "y") +set(CONFIG_SOC_WIFI_HW_TSF "y") +set(CONFIG_SOC_WIFI_FTM_SUPPORT "y") +set(CONFIG_SOC_WIFI_GCMP_SUPPORT "y") +set(CONFIG_SOC_WIFI_WAPI_SUPPORT "y") +set(CONFIG_SOC_WIFI_TXOP_SUPPORT "y") +set(CONFIG_SOC_WIFI_CSI_SUPPORT "y") +set(CONFIG_SOC_WIFI_MESH_SUPPORT "y") +set(CONFIG_SOC_WIFI_HE_SUPPORT "y") +set(CONFIG_SOC_WIFI_MAC_VERSION_NUM "2") +set(CONFIG_SOC_BLE_SUPPORTED "y") +set(CONFIG_SOC_BLE_MESH_SUPPORTED "y") +set(CONFIG_SOC_ESP_NIMBLE_CONTROLLER "y") +set(CONFIG_SOC_BLE_50_SUPPORTED "y") +set(CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED "y") +set(CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED "y") +set(CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED "y") +set(CONFIG_SOC_BLUFI_SUPPORTED "y") +set(CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION "y") +set(CONFIG_SOC_BLE_SUBRATE_SUPPORTED "y") +set(CONFIG_SOC_BLE_PERIODIC_ADV_WITH_RESPONSE "y") +set(CONFIG_SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND "y") +set(CONFIG_SOC_PHY_COMBO_MODULE "y") +set(CONFIG_SOC_CAPS_NO_RESET_BY_ANA_BOD "y") +set(CONFIG_SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR "y") +set(CONFIG_SOC_LP_CORE_SUPPORT_ETM "y") +set(CONFIG_SOC_DEBUG_HAVE_OCD_STUB_BINS "y") +set(CONFIG_IDF_CMAKE "y") +set(CONFIG_IDF_TOOLCHAIN "gcc") +set(CONFIG_IDF_TOOLCHAIN_GCC "y") +set(CONFIG_IDF_TARGET_ARCH_RISCV "y") +set(CONFIG_IDF_TARGET_ARCH "riscv") +set(CONFIG_IDF_TARGET "esp32c6") +set(CONFIG_IDF_INIT_VERSION "6.0.1") +set(CONFIG_IDF_TARGET_ESP32C6 "y") +set(CONFIG_IDF_FIRMWARE_CHIP_ID "0xd") +set(CONFIG_APP_BUILD_TYPE_APP_2NDBOOT "y") +set(CONFIG_APP_BUILD_TYPE_RAM "") +set(CONFIG_APP_BUILD_GENERATE_BINARIES "y") +set(CONFIG_APP_BUILD_BOOTLOADER "y") +set(CONFIG_APP_BUILD_USE_FLASH_SECTIONS "y") +set(CONFIG_APP_REPRODUCIBLE_BUILD "") +set(CONFIG_APP_NO_BLOBS "") +set(CONFIG_BOOTLOADER_COMPILE_TIME_DATE "y") +set(CONFIG_BOOTLOADER_PROJECT_VER "1") +set(CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE "") +set(CONFIG_BOOTLOADER_OFFSET_IN_FLASH "0x0") +set(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE "y") +set(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG "") +set(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF "") +set(CONFIG_BOOTLOADER_LOG_VERSION_1 "y") +set(CONFIG_BOOTLOADER_LOG_VERSION "1") +set(CONFIG_BOOTLOADER_LOG_LEVEL_NONE "") +set(CONFIG_BOOTLOADER_LOG_LEVEL_ERROR "") +set(CONFIG_BOOTLOADER_LOG_LEVEL_WARN "") +set(CONFIG_BOOTLOADER_LOG_LEVEL_INFO "y") +set(CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG "") +set(CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE "") +set(CONFIG_BOOTLOADER_LOG_LEVEL "3") +set(CONFIG_BOOTLOADER_LOG_COLORS "") +set(CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS "y") +set(CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN "y") +set(CONFIG_BOOTLOADER_LOG_MODE_TEXT "y") +set(CONFIG_BOOTLOADER_CPU_CLK_FREQ_MHZ "80") +set(CONFIG_BOOTLOADER_FLASH_DC_AWARE "") +set(CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT "y") +set(CONFIG_BOOTLOADER_FACTORY_RESET "") +set(CONFIG_BOOTLOADER_APP_TEST "") +set(CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE "y") +set(CONFIG_BOOTLOADER_WDT_ENABLE "y") +set(CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE "") +set(CONFIG_BOOTLOADER_WDT_TIME_MS "9000") +set(CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP "") +set(CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON "") +set(CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS "") +set(CONFIG_BOOTLOADER_RESERVE_RTC_SIZE "0x0") +set(CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC "") +set(CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED "y") +set(CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED "y") +set(CONFIG_SECURE_BOOT_V2_PREFERRED "y") +set(CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT "") +set(CONFIG_SECURE_BOOT "") +set(CONFIG_SECURE_FLASH_ENC_ENABLED "") +set(CONFIG_SECURE_ROM_DL_MODE_ENABLED "y") +set(CONFIG_APP_COMPILE_TIME_DATE "y") +set(CONFIG_APP_EXCLUDE_PROJECT_VER_VAR "") +set(CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR "") +set(CONFIG_APP_PROJECT_VER_FROM_CONFIG "") +set(CONFIG_APP_RETRIEVE_LEN_ELF_SHA "9") +set(CONFIG_ESP_ROM_HAS_CRC_LE "y") +set(CONFIG_ESP_ROM_HAS_CRC_BE "y") +set(CONFIG_ESP_ROM_HAS_JPEG_DECODE "y") +set(CONFIG_ESP_ROM_UART_CLK_IS_XTAL "y") +set(CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM "3") +set(CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING "y") +set(CONFIG_ESP_ROM_GET_CLK_FREQ "y") +set(CONFIG_ESP_ROM_HAS_RVFPLIB "y") +set(CONFIG_ESP_ROM_HAS_HAL_WDT "y") +set(CONFIG_ESP_ROM_HAS_HAL_SYSTIMER "y") +set(CONFIG_ESP_ROM_SYSTIMER_INIT_PATCH "y") +set(CONFIG_ESP_ROM_HAS_HEAP_TLSF "y") +set(CONFIG_ESP_ROM_TLSF_CHECK_PATCH "y") +set(CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH "y") +set(CONFIG_ESP_ROM_HAS_LAYOUT_TABLE "y") +set(CONFIG_ESP_ROM_HAS_SPI_FLASH "y") +set(CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP "y") +set(CONFIG_ESP_ROM_HAS_REGI2C_BUG "y") +set(CONFIG_ESP_ROM_HAS_NEWLIB "y") +set(CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT "y") +set(CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE "y") +set(CONFIG_ESP_ROM_WDT_INIT_PATCH "y") +set(CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE "y") +set(CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT "y") +set(CONFIG_ESP_ROM_HAS_SW_FLOAT "y") +set(CONFIG_ESP_ROM_USB_OTG_NUM "-1") +set(CONFIG_ESP_ROM_HAS_VERSION "y") +set(CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB "y") +set(CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC "y") +set(CONFIG_ESP_ROM_NO_USB_SERIAL_OUTPUT_API "y") +set(CONFIG_ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY "y") +set(CONFIG_ESP_ROM_SUPPORT_SECURE_BOOT_FAST_WAKEUP "y") +set(CONFIG_BOOT_ROM_LOG_ALWAYS_ON "y") +set(CONFIG_BOOT_ROM_LOG_ALWAYS_OFF "") +set(CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH "") +set(CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW "") +set(CONFIG_SECURE_ENABLE_TEE "") +set(CONFIG_SECURE_TEE_LOG_LEVEL "0") +set(CONFIG_ESPTOOLPY_NO_STUB "") +set(CONFIG_ESPTOOLPY_FLASHMODE_QIO "") +set(CONFIG_ESPTOOLPY_FLASHMODE_QOUT "") +set(CONFIG_ESPTOOLPY_FLASHMODE_DIO "y") +set(CONFIG_ESPTOOLPY_FLASHMODE_DOUT "") +set(CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR "y") +set(CONFIG_ESPTOOLPY_FLASHMODE "dio") +set(CONFIG_ESPTOOLPY_FLASHFREQ_80M "y") +set(CONFIG_ESPTOOLPY_FLASHFREQ_40M "") +set(CONFIG_ESPTOOLPY_FLASHFREQ_20M "") +set(CONFIG_ESPTOOLPY_FLASHFREQ "80m") +set(CONFIG_ESPTOOLPY_FLASHSIZE_1MB "") +set(CONFIG_ESPTOOLPY_FLASHSIZE_2MB "y") +set(CONFIG_ESPTOOLPY_FLASHSIZE_4MB "") +set(CONFIG_ESPTOOLPY_FLASHSIZE_8MB "") +set(CONFIG_ESPTOOLPY_FLASHSIZE_16MB "") +set(CONFIG_ESPTOOLPY_FLASHSIZE_32MB "") +set(CONFIG_ESPTOOLPY_FLASHSIZE_64MB "") +set(CONFIG_ESPTOOLPY_FLASHSIZE_128MB "") +set(CONFIG_ESPTOOLPY_FLASHSIZE "2MB") +set(CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE "") +set(CONFIG_ESPTOOLPY_BEFORE_RESET "y") +set(CONFIG_ESPTOOLPY_BEFORE_NORESET "") +set(CONFIG_ESPTOOLPY_BEFORE "default-reset") +set(CONFIG_ESPTOOLPY_AFTER_RESET "y") +set(CONFIG_ESPTOOLPY_AFTER_NORESET "") +set(CONFIG_ESPTOOLPY_AFTER "hard-reset") +set(CONFIG_ESPTOOLPY_MONITOR_BAUD "115200") +set(CONFIG_PARTITION_TABLE_SINGLE_APP "y") +set(CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE "") +set(CONFIG_PARTITION_TABLE_TWO_OTA "") +set(CONFIG_PARTITION_TABLE_TWO_OTA_LARGE "") +set(CONFIG_PARTITION_TABLE_CUSTOM "") +set(CONFIG_PARTITION_TABLE_CUSTOM_FILENAME "partitions.csv") +set(CONFIG_PARTITION_TABLE_FILENAME "partitions_singleapp.csv") +set(CONFIG_PARTITION_TABLE_OFFSET "0x8000") +set(CONFIG_PARTITION_TABLE_MD5 "y") +set(CONFIG_COMPILER_OPTIMIZATION_DEBUG "y") +set(CONFIG_COMPILER_OPTIMIZATION_SIZE "") +set(CONFIG_COMPILER_OPTIMIZATION_PERF "") +set(CONFIG_COMPILER_OPTIMIZATION_NONE "") +set(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE "y") +set(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT "") +set(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE "") +set(CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE "") +set(CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB "") +set(CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB "y") +set(CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL "2") +set(CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT "") +set(CONFIG_COMPILER_HIDE_PATHS_MACROS "y") +set(CONFIG_COMPILER_CXX_EXCEPTIONS "") +set(CONFIG_COMPILER_CXX_RTTI "") +set(CONFIG_COMPILER_STACK_CHECK_MODE_NONE "y") +set(CONFIG_COMPILER_STACK_CHECK_MODE_NORM "") +set(CONFIG_COMPILER_STACK_CHECK_MODE_STRONG "") +set(CONFIG_COMPILER_STACK_CHECK_MODE_ALL "") +set(CONFIG_COMPILER_NO_MERGE_CONSTANTS "") +set(CONFIG_COMPILER_WARN_WRITE_STRINGS "") +set(CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS "") +set(CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS "") +set(CONFIG_COMPILER_DISABLE_GCC12_WARNINGS "") +set(CONFIG_COMPILER_DISABLE_GCC13_WARNINGS "") +set(CONFIG_COMPILER_DISABLE_GCC14_WARNINGS "") +set(CONFIG_COMPILER_DISABLE_GCC15_WARNINGS "") +set(CONFIG_COMPILER_DUMP_RTL_FILES "") +set(CONFIG_COMPILER_RT_LIB_GCCLIB "y") +set(CONFIG_COMPILER_RT_LIB_NAME "gcc") +set(CONFIG_COMPILER_ORPHAN_SECTIONS_ERROR "y") +set(CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING "") +set(CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE "") +set(CONFIG_COMPILER_STATIC_ANALYZER "") +set(CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE "y") +set(CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD_CONSTEXPR "") +set(CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD "") +set(CONFIG_BT_ENABLED "") +set(CONFIG_BLE_LOG_ENABLED "") +set(CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED "") +set(CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED "") +set(CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED "") +set(CONFIG_CONSOLE_SORTED_HELP "") +set(CONFIG_TWAI_ISR_IN_IRAM_LEGACY "") +set(CONFIG_TWAI_SUPPRESS_DEPRECATE_WARN "") +set(CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK "") +set(CONFIG_I2C_SUPPRESS_DEPRECATE_WARN "") +set(CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK "") +set(CONFIG_EFUSE_CUSTOM_TABLE "") +set(CONFIG_EFUSE_VIRTUAL "") +set(CONFIG_EFUSE_MAX_BLK_LEN "256") +set(CONFIG_ESP_TLS_USING_MBEDTLS "y") +set(CONFIG_ESP_TLS_CUSTOM_STACK "") +set(CONFIG_ESP_TLS_USE_SECURE_ELEMENT "") +set(CONFIG_ESP_TLS_USE_DS_PERIPHERAL "y") +set(CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS "") +set(CONFIG_ESP_TLS_SERVER_SESSION_TICKETS "") +set(CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK "") +set(CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL "") +set(CONFIG_ESP_TLS_PSK_VERIFICATION "") +set(CONFIG_ESP_TLS_INSECURE "") +set(CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED "y") +set(CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM "") +set(CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE "") +set(CONFIG_ADC_ENABLE_DEBUG_LOG "") +set(CONFIG_ESP_COEX_ENABLED "y") +set(CONFIG_ESP_COEX_SW_COEXIST_ENABLE "y") +set(CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE "") +set(CONFIG_ESP_COEX_POWER_MANAGEMENT "") +set(CONFIG_ESP_COEX_GPIO_DEBUG "") +set(CONFIG_ESP_ERR_TO_NAME_LOOKUP "y") +set(CONFIG_GDMA_CTRL_FUNC_IN_IRAM "y") +set(CONFIG_GDMA_ISR_HANDLER_IN_IRAM "y") +set(CONFIG_GDMA_OBJ_DRAM_SAFE "y") +set(CONFIG_GDMA_ENABLE_DEBUG_LOG "") +set(CONFIG_GPIO_CTRL_FUNC_IN_IRAM "") +set(CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM "y") +set(CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM "") +set(CONFIG_GPTIMER_ISR_CACHE_SAFE "") +set(CONFIG_GPTIMER_OBJ_CACHE_SAFE "y") +set(CONFIG_GPTIMER_ENABLE_DEBUG_LOG "") +set(CONFIG_I2C_ISR_IRAM_SAFE "") +set(CONFIG_I2C_ENABLE_DEBUG_LOG "") +set(CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM "y") +set(CONFIG_I2S_ISR_IRAM_SAFE "") +set(CONFIG_I2S_CTRL_FUNC_IN_IRAM "") +set(CONFIG_I2S_ENABLE_DEBUG_LOG "") +set(CONFIG_I3C_MASTER_ISR_CACHE_SAFE "") +set(CONFIG_I3C_MASTER_ENABLE_DEBUG_LOG "") +set(CONFIG_I3C_MASTER_ISR_HANDLER_IN_IRAM "") +set(CONFIG_LEDC_CTRL_FUNC_IN_IRAM "") +set(CONFIG_MCPWM_ISR_HANDLER_IN_IRAM "y") +set(CONFIG_MCPWM_ISR_CACHE_SAFE "") +set(CONFIG_MCPWM_CTRL_FUNC_IN_IRAM "") +set(CONFIG_MCPWM_OBJ_CACHE_SAFE "y") +set(CONFIG_MCPWM_ENABLE_DEBUG_LOG "") +set(CONFIG_PARLIO_TX_ISR_HANDLER_IN_IRAM "y") +set(CONFIG_PARLIO_RX_ISR_HANDLER_IN_IRAM "y") +set(CONFIG_PARLIO_TX_ISR_CACHE_SAFE "") +set(CONFIG_PARLIO_RX_ISR_CACHE_SAFE "") +set(CONFIG_PARLIO_OBJ_CACHE_SAFE "y") +set(CONFIG_PARLIO_ENABLE_DEBUG_LOG "") +set(CONFIG_PARLIO_ISR_IRAM_SAFE "") +set(CONFIG_PCNT_CTRL_FUNC_IN_IRAM "") +set(CONFIG_PCNT_ISR_IRAM_SAFE "") +set(CONFIG_PCNT_ENABLE_DEBUG_LOG "") +set(CONFIG_RMT_ENCODER_FUNC_IN_IRAM "y") +set(CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM "y") +set(CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM "y") +set(CONFIG_RMT_RECV_FUNC_IN_IRAM "") +set(CONFIG_RMT_TX_ISR_CACHE_SAFE "") +set(CONFIG_RMT_RX_ISR_CACHE_SAFE "") +set(CONFIG_RMT_OBJ_CACHE_SAFE "y") +set(CONFIG_RMT_ENABLE_DEBUG_LOG "") +set(CONFIG_RMT_ISR_IRAM_SAFE "") +set(CONFIG_SDM_CTRL_FUNC_IN_IRAM "") +set(CONFIG_SDM_ENABLE_DEBUG_LOG "") +set(CONFIG_SPI_MASTER_ISR_IN_IRAM "y") +set(CONFIG_SPI_SLAVE_IN_IRAM "") +set(CONFIG_SPI_SLAVE_ISR_IN_IRAM "y") +set(CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG "") +set(CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE "") +set(CONFIG_TWAI_ISR_IN_IRAM "") +set(CONFIG_TWAI_IO_FUNC_IN_IRAM "") +set(CONFIG_TWAI_ISR_CACHE_SAFE "") +set(CONFIG_TWAI_ENABLE_DEBUG_LOG "") +set(CONFIG_UART_ISR_IN_IRAM "") +set(CONFIG_UHCI_ISR_HANDLER_IN_IRAM "") +set(CONFIG_UHCI_ISR_CACHE_SAFE "") +set(CONFIG_UHCI_ENABLE_DEBUG_LOG "") +set(CONFIG_USJ_ENABLE_USB_SERIAL_JTAG "y") +set(CONFIG_ETH_ENABLED "y") +set(CONFIG_ETH_USE_SPI_ETHERNET "y") +set(CONFIG_ETH_USE_OPENETH "") +set(CONFIG_ETH_TRANSMIT_MUTEX "") +set(CONFIG_ESP_EVENT_LOOP_PROFILING "") +set(CONFIG_ESP_EVENT_POST_FROM_ISR "y") +set(CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR "y") +set(CONFIG_ESP_GDBSTUB_ENABLED "y") +set(CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME "") +set(CONFIG_ESP_GDBSTUB_SUPPORT_TASKS "y") +set(CONFIG_ESP_GDBSTUB_MAX_TASKS "32") +set(CONFIG_ESPHID_TASK_SIZE_BT "2048") +set(CONFIG_ESPHID_TASK_SIZE_BLE "4096") +set(CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS "y") +set(CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH "") +set(CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH "") +set(CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT "") +set(CONFIG_ESP_HTTP_CLIENT_ENABLE_GET_CONTENT_RANGE "") +set(CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT "2000") +set(CONFIG_ESP_HTTP_CLIENT_SAVE_RESPONSE_HEADERS "") +set(CONFIG_HTTPD_MAX_REQ_HDR_LEN "1024") +set(CONFIG_HTTPD_MAX_URI_LEN "512") +set(CONFIG_HTTPD_ERR_RESP_NO_DELAY "y") +set(CONFIG_HTTPD_PURGE_BUF_LEN "32") +set(CONFIG_HTTPD_LOG_PURGE_DATA "") +set(CONFIG_HTTPD_WS_SUPPORT "") +set(CONFIG_HTTPD_QUEUE_WORK_BLOCKING "") +set(CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT "2000") +set(CONFIG_ESP_HTTPS_OTA_DECRYPT_CB "") +set(CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP "") +set(CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT "2000") +set(CONFIG_ESP_HTTPS_OTA_ENABLE_PARTIAL_DOWNLOAD "") +set(CONFIG_ESP_HTTPS_SERVER_ENABLE "") +set(CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT "2000") +set(CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK "") +set(CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM "y") +set(CONFIG_ESP32C6_REV_MIN_0 "y") +set(CONFIG_ESP32C6_REV_MIN_1 "") +set(CONFIG_ESP32C6_REV_MIN_2 "") +set(CONFIG_ESP32C6_REV_MIN_FULL "0") +set(CONFIG_ESP_REV_MIN_FULL "0") +set(CONFIG_ESP32C6_REV_MAX_FULL "99") +set(CONFIG_ESP_REV_MAX_FULL "99") +set(CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL "0") +set(CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL "99") +set(CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA "y") +set(CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP "y") +set(CONFIG_ESP_MAC_ADDR_UNIVERSE_BT "y") +set(CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH "y") +set(CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154 "y") +set(CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR "y") +set(CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES "4") +set(CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO "") +set(CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR "y") +set(CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES "4") +set(CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC "") +set(CONFIG_ESP_SLEEP_POWER_DOWN_FLASH "") +set(CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND "y") +set(CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU "") +set(CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND "y") +set(CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY "0") +set(CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION "") +set(CONFIG_ESP_SLEEP_DEBUG "") +set(CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS "y") +set(CONFIG_RTC_CLK_SRC_INT_RC "y") +set(CONFIG_RTC_CLK_SRC_EXT_CRYS "") +set(CONFIG_RTC_CLK_SRC_EXT_OSC "") +set(CONFIG_RTC_CLK_CAL_CYCLES "1024") +set(CONFIG_RTC_CLK_FUNC_IN_IRAM "y") +set(CONFIG_RTC_TIME_FUNC_IN_IRAM "y") +set(CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM "y") +set(CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM "y") +set(CONFIG_ESP_MODEM_CLOCK_ENABLE_CHECKING "") +set(CONFIG_ETM_ENABLE_DEBUG_LOG "") +set(CONFIG_XTAL_FREQ_40 "y") +set(CONFIG_XTAL_FREQ "40") +set(CONFIG_ESP_BROWNOUT_DET "y") +set(CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 "y") +set(CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 "") +set(CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 "") +set(CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 "") +set(CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 "") +set(CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 "") +set(CONFIG_ESP_BROWNOUT_DET_LVL "7") +set(CONFIG_ESP_BROWNOUT_USE_INTR "y") +set(CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM "y") +set(CONFIG_ESP_ENABLE_PVT "") +set(CONFIG_ESP_INTR_IN_IRAM "y") +set(CONFIG_LCD_ENABLE_DEBUG_LOG "") +set(CONFIG_LIBC_NEWLIB "") +set(CONFIG_LIBC_PICOLIBC "y") +set(CONFIG_LIBC_PICOLIBC_NEWLIB_COMPATIBILITY "y") +set(CONFIG_LIBC_MISC_IN_IRAM "y") +set(CONFIG_LIBC_LOCKS_PLACE_IN_IRAM "y") +set(CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF "y") +set(CONFIG_LIBC_STDOUT_LINE_ENDING_LF "") +set(CONFIG_LIBC_STDOUT_LINE_ENDING_CR "") +set(CONFIG_LIBC_STDIN_LINE_ENDING_CRLF "") +set(CONFIG_LIBC_STDIN_LINE_ENDING_LF "") +set(CONFIG_LIBC_STDIN_LINE_ENDING_CR "y") +set(CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT "y") +set(CONFIG_LIBC_TIME_SYSCALL_USE_RTC "") +set(CONFIG_LIBC_TIME_SYSCALL_USE_HRT "") +set(CONFIG_LIBC_TIME_SYSCALL_USE_NONE "") +set(CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS "y") +set(CONFIG_LIBC_ASSERT_BUFFER_SIZE "200") +set(CONFIG_ESP_NETIF_LOST_IP_TIMER_ENABLE "y") +set(CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL "120") +set(CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION "") +set(CONFIG_ESP_NETIF_TCPIP_LWIP "y") +set(CONFIG_ESP_NETIF_LOOPBACK "") +set(CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API "y") +set(CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC "y") +set(CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS "y") +set(CONFIG_ESP_NETIF_L2_TAP "") +set(CONFIG_ESP_NETIF_BRIDGE_EN "") +set(CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF "") +set(CONFIG_ESP_PHY_ENABLED "y") +set(CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE "y") +set(CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION "") +set(CONFIG_ESP_PHY_MAX_WIFI_TX_POWER "20") +set(CONFIG_ESP_PHY_MAX_TX_POWER "20") +set(CONFIG_ESP_PHY_REDUCE_TX_POWER "") +set(CONFIG_ESP_PHY_ENABLE_CERT_TEST "") +set(CONFIG_ESP_PHY_RF_CAL_PARTIAL "y") +set(CONFIG_ESP_PHY_RF_CAL_NONE "") +set(CONFIG_ESP_PHY_RF_CAL_FULL "") +set(CONFIG_ESP_PHY_CALIBRATION_MODE "0") +set(CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS "1000") +set(CONFIG_ESP_PHY_PLL_TRACK_DEBUG "") +set(CONFIG_ESP_PHY_RECORD_USED_TIME "") +set(CONFIG_ESP_PHY_IRAM_OPT "y") +set(CONFIG_ESP_PHY_DEBUG "") +set(CONFIG_PM_SLEEP_FUNC_IN_IRAM "y") +set(CONFIG_PM_ENABLE "") +set(CONFIG_PM_SLP_IRAM_OPT "y") +set(CONFIG_PM_SLP_DEFAULT_PARAMS_OPT "y") +set(CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP "y") +set(CONFIG_PM_CPU_RETENTION_DYNAMIC "y") +set(CONFIG_PM_CPU_RETENTION_STATIC "") +set(CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP "") +set(CONFIG_PM_ESP_SLEEP_POWER_DOWN_CPU "y") +set(CONFIG_RINGBUF_IN_IRAM "") +set(CONFIG_RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH "") +set(CONFIG_ESP_ROM_PRINT_IN_IRAM "y") +set(CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP "y") +set(CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW "y") +set(CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM "") +set(CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH "") +set(CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL "1") +set(CONFIG_ESP_CONSOLE_UART_DEFAULT "y") +set(CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG "") +set(CONFIG_ESP_CONSOLE_UART_CUSTOM "") +set(CONFIG_ESP_CONSOLE_NONE "") +set(CONFIG_ESP_CONSOLE_SECONDARY_NONE "") +set(CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG "y") +set(CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED "y") +set(CONFIG_ESP_CONSOLE_UART "y") +set(CONFIG_ESP_CONSOLE_UART_NUM "0") +set(CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM "0") +set(CONFIG_ESP_CONSOLE_UART_BAUDRATE "115200") +set(CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 "") +set(CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_120 "") +set(CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 "y") +set(CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ "160") +set(CONFIG_ESP_SYSTEM_IN_IRAM "y") +set(CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT "") +set(CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT "y") +set(CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT "") +set(CONFIG_ESP_SYSTEM_PANIC_GDBSTUB "") +set(CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS "0") +set(CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE "y") +set(CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK "y") +set(CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP "y") +set(CONFIG_ESP_SYSTEM_NO_BACKTRACE "y") +set(CONFIG_ESP_SYSTEM_USE_EH_FRAME "") +set(CONFIG_ESP_SYSTEM_USE_FRAME_POINTER "") +set(CONFIG_ESP_SYSTEM_MEMPROT "y") +set(CONFIG_ESP_SYSTEM_MEMPROT_PMP "y") +set(CONFIG_ESP_SYSTEM_MEMPROT_PMP_LP_CORE_RESERVE_MEM_EXEC "") +set(CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE "32") +set(CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE "2304") +set(CONFIG_ESP_MAIN_TASK_STACK_SIZE "3584") +set(CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0 "y") +set(CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY "") +set(CONFIG_ESP_MAIN_TASK_AFFINITY "0x0") +set(CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE "2048") +set(CONFIG_ESP_INT_WDT "y") +set(CONFIG_ESP_INT_WDT_TIMEOUT_MS "300") +set(CONFIG_ESP_TASK_WDT_EN "y") +set(CONFIG_ESP_TASK_WDT_INIT "y") +set(CONFIG_ESP_TASK_WDT_PANIC "") +set(CONFIG_ESP_TASK_WDT_TIMEOUT_S "5") +set(CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 "y") +set(CONFIG_ESP_PANIC_HANDLER_IRAM "") +set(CONFIG_ESP_DEBUG_STUBS_ENABLE "") +set(CONFIG_ESP_DEBUG_INCLUDE_OCD_STUB_BINS "") +set(CONFIG_ESP_DEBUG_OCDAWARE "y") +set(CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4 "y") +set(CONFIG_ESP_SYSTEM_HW_STACK_GUARD "y") +set(CONFIG_ESP_SYSTEM_BBPLL_RECALIB "y") +set(CONFIG_ESP_SYSTEM_HW_PC_RECORD "y") +set(CONFIG_ESP_IPC_TASK_STACK_SIZE "1024") +set(CONFIG_ESP_TIMER_IN_IRAM "y") +set(CONFIG_ESP_TIMER_PROFILING "") +set(CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER "y") +set(CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER "y") +set(CONFIG_ESP_TIMER_TASK_STACK_SIZE "3584") +set(CONFIG_ESP_TIMER_INTERRUPT_LEVEL "1") +set(CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL "") +set(CONFIG_ESP_TIMER_TASK_AFFINITY "0x0") +set(CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0 "y") +set(CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0 "y") +set(CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD "") +set(CONFIG_ESP_TIMER_IMPL_SYSTIMER "y") +set(CONFIG_ESP_TRACE_LIB_EXTERNAL "") +set(CONFIG_ESP_TRACE_LIB_NONE "y") +set(CONFIG_ESP_TRACE_LIB_NAME "none") +set(CONFIG_ESP_TRACE_TRANSPORT_APPTRACE "") +set(CONFIG_ESP_TRACE_TRANSPORT_NONE "y") +set(CONFIG_ESP_TRACE_TRANSPORT_NAME "none") +set(CONFIG_ESP_WIFI_ENABLED "y") +set(CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM "10") +set(CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM "32") +set(CONFIG_ESP_WIFI_STATIC_TX_BUFFER "") +set(CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER "y") +set(CONFIG_ESP_WIFI_TX_BUFFER_TYPE "1") +set(CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM "32") +set(CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER "y") +set(CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER "") +set(CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF "0") +set(CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF "5") +set(CONFIG_ESP_WIFI_CSI_ENABLED "") +set(CONFIG_ESP_WIFI_AMPDU_TX_ENABLED "y") +set(CONFIG_ESP_WIFI_TX_BA_WIN "6") +set(CONFIG_ESP_WIFI_AMPDU_RX_ENABLED "y") +set(CONFIG_ESP_WIFI_RX_BA_WIN "6") +set(CONFIG_ESP_WIFI_NVS_ENABLED "y") +set(CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN "752") +set(CONFIG_ESP_WIFI_MGMT_SBUF_NUM "32") +set(CONFIG_ESP_WIFI_IRAM_OPT "y") +set(CONFIG_ESP_WIFI_EXTRA_IRAM_OPT "y") +set(CONFIG_ESP_WIFI_RX_IRAM_OPT "y") +set(CONFIG_ESP_WIFI_ENABLE_WPA3_SAE "y") +set(CONFIG_ESP_WIFI_ENABLE_SAE_H2E "y") +set(CONFIG_ESP_WIFI_ENABLE_SAE_PK "y") +set(CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT "y") +set(CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA "y") +set(CONFIG_ESP_WIFI_WPA3_COMPATIBLE_SUPPORT "y") +set(CONFIG_ESP_WIFI_SLP_IRAM_OPT "y") +set(CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME "50") +set(CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT "y") +set(CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME "10") +set(CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME "15") +set(CONFIG_ESP_WIFI_FTM_ENABLE "") +set(CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE "y") +set(CONFIG_ESP_WIFI_GCMP_SUPPORT "") +set(CONFIG_ESP_WIFI_GMAC_SUPPORT "y") +set(CONFIG_ESP_WIFI_SOFTAP_SUPPORT "y") +set(CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT "") +set(CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM "7") +set(CONFIG_ESP_WIFI_MBEDTLS_CRYPTO "y") +set(CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT "y") +set(CONFIG_ESP_WIFI_WAPI_PSK "") +set(CONFIG_ESP_WIFI_SUITE_B_192 "") +set(CONFIG_ESP_WIFI_11KV_SUPPORT "") +set(CONFIG_ESP_WIFI_MBO_SUPPORT "") +set(CONFIG_ESP_WIFI_DPP_SUPPORT "") +set(CONFIG_ESP_WIFI_11R_SUPPORT "") +set(CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR "") +set(CONFIG_ESP_WIFI_ENABLE_WIFI_TX_STATS "") +set(CONFIG_ESP_WIFI_ENABLE_WIFI_RX_STATS "") +set(CONFIG_ESP_WIFI_TX_HETB_QUEUE_NUM "3") +set(CONFIG_ESP_WIFI_WPS_STRICT "") +set(CONFIG_ESP_WIFI_WPS_PASSPHRASE "") +set(CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL "") +set(CONFIG_ESP_WIFI_DEBUG_PRINT "") +set(CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT "y") +set(CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER "") +set(CONFIG_ESP_WIFI_PASSIVE_HIDDEN_AP_SUPPORT "") +set(CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH "") +set(CONFIG_ESP_COREDUMP_ENABLE_TO_UART "") +set(CONFIG_ESP_COREDUMP_ENABLE_TO_NONE "y") +set(CONFIG_FATFS_VOLUME_COUNT "2") +set(CONFIG_FATFS_LFN_NONE "") +set(CONFIG_FATFS_LFN_HEAP "y") +set(CONFIG_FATFS_LFN_STACK "") +set(CONFIG_FATFS_SECTOR_512 "") +set(CONFIG_FATFS_SECTOR_4096 "y") +set(CONFIG_FATFS_CODEPAGE_DYNAMIC "") +set(CONFIG_FATFS_CODEPAGE_437 "y") +set(CONFIG_FATFS_CODEPAGE_720 "") +set(CONFIG_FATFS_CODEPAGE_737 "") +set(CONFIG_FATFS_CODEPAGE_771 "") +set(CONFIG_FATFS_CODEPAGE_775 "") +set(CONFIG_FATFS_CODEPAGE_850 "") +set(CONFIG_FATFS_CODEPAGE_852 "") +set(CONFIG_FATFS_CODEPAGE_855 "") +set(CONFIG_FATFS_CODEPAGE_857 "") +set(CONFIG_FATFS_CODEPAGE_860 "") +set(CONFIG_FATFS_CODEPAGE_861 "") +set(CONFIG_FATFS_CODEPAGE_862 "") +set(CONFIG_FATFS_CODEPAGE_863 "") +set(CONFIG_FATFS_CODEPAGE_864 "") +set(CONFIG_FATFS_CODEPAGE_865 "") +set(CONFIG_FATFS_CODEPAGE_866 "") +set(CONFIG_FATFS_CODEPAGE_869 "") +set(CONFIG_FATFS_CODEPAGE_932 "") +set(CONFIG_FATFS_CODEPAGE_936 "") +set(CONFIG_FATFS_CODEPAGE_949 "") +set(CONFIG_FATFS_CODEPAGE_950 "") +set(CONFIG_FATFS_CODEPAGE "437") +set(CONFIG_FATFS_MAX_LFN "255") +set(CONFIG_FATFS_API_ENCODING_ANSI_OEM "y") +set(CONFIG_FATFS_API_ENCODING_UTF_8 "") +set(CONFIG_FATFS_FS_LOCK "0") +set(CONFIG_FATFS_TIMEOUT_MS "10000") +set(CONFIG_FATFS_PER_FILE_CACHE "y") +set(CONFIG_FATFS_USE_FASTSEEK "") +set(CONFIG_FATFS_USE_STRFUNC_NONE "y") +set(CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV "") +set(CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV "") +set(CONFIG_FATFS_VFS_FSTAT_BLKSIZE "0") +set(CONFIG_FATFS_IMMEDIATE_FSYNC "") +set(CONFIG_FATFS_USE_LABEL "") +set(CONFIG_FATFS_LINK_LOCK "y") +set(CONFIG_FATFS_USE_DYN_BUFFERS "y") +set(CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT "0") +set(CONFIG_FATFS_DONT_TRUST_LAST_ALLOC "0") +set(CONFIG_FREERTOS_SMP "") +set(CONFIG_FREERTOS_UNICORE "y") +set(CONFIG_FREERTOS_HZ "100") +set(CONFIG_FREERTOS_OPTIMIZED_SCHEDULER "y") +set(CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE "") +set(CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL "") +set(CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY "y") +set(CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS "1") +set(CONFIG_FREERTOS_IDLE_TASK_STACKSIZE "1536") +set(CONFIG_FREERTOS_USE_IDLE_HOOK "") +set(CONFIG_FREERTOS_USE_TICK_HOOK "") +set(CONFIG_FREERTOS_MAX_TASK_NAME_LEN "16") +set(CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY "") +set(CONFIG_FREERTOS_USE_TIMERS "y") +set(CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME "Tmr Svc") +set(CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 "") +set(CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY "y") +set(CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY "0x7fffffff") +set(CONFIG_FREERTOS_TIMER_TASK_PRIORITY "1") +set(CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH "2048") +set(CONFIG_FREERTOS_TIMER_QUEUE_LENGTH "10") +set(CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE "0") +set(CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES "1") +set(CONFIG_FREERTOS_USE_TRACE_FACILITY "") +set(CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES "") +set(CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS "") +set(CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG "") +set(CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER "y") +set(CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK "") +set(CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS "y") +set(CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK "") +set(CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER "y") +set(CONFIG_FREERTOS_ISR_STACKSIZE "1536") +set(CONFIG_FREERTOS_INTERRUPT_BACKTRACE "y") +set(CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER "y") +set(CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1 "y") +set(CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 "") +set(CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER "y") +set(CONFIG_FREERTOS_IN_IRAM "") +set(CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE "") +set(CONFIG_FREERTOS_PORT "y") +set(CONFIG_FREERTOS_NO_AFFINITY "0x7fffffff") +set(CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION "y") +set(CONFIG_FREERTOS_DEBUG_OCDAWARE "y") +set(CONFIG_FREERTOS_NUMBER_OF_CORES "1") +set(CONFIG_HAL_ASSERTION_EQUALS_SYSTEM "y") +set(CONFIG_HAL_ASSERTION_DISABLE "") +set(CONFIG_HAL_ASSERTION_SILENT "") +set(CONFIG_HAL_ASSERTION_ENABLE "") +set(CONFIG_HAL_DEFAULT_ASSERTION_LEVEL "2") +set(CONFIG_HAL_SYSTIMER_USE_ROM_IMPL "y") +set(CONFIG_HAL_WDT_USE_ROM_IMPL "y") +set(CONFIG_HAL_GPIO_USE_ROM_IMPL "y") +set(CONFIG_HEAP_POISONING_DISABLED "y") +set(CONFIG_HEAP_POISONING_LIGHT "") +set(CONFIG_HEAP_POISONING_COMPREHENSIVE "") +set(CONFIG_HEAP_TRACING_OFF "y") +set(CONFIG_HEAP_TRACING_STANDALONE "") +set(CONFIG_HEAP_TRACING_TOHOST "") +set(CONFIG_HEAP_USE_HOOKS "") +set(CONFIG_HEAP_TASK_TRACKING "") +set(CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS "") +set(CONFIG_HEAP_TLSF_USE_ROM_IMPL "y") +set(CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH "") +set(CONFIG_IEEE802154_ENABLED "y") +set(CONFIG_IEEE802154_RX_BUFFER_SIZE "20") +set(CONFIG_IEEE802154_CCA_CARRIER "") +set(CONFIG_IEEE802154_CCA_ED "y") +set(CONFIG_IEEE802154_CCA_CARRIER_OR_ED "") +set(CONFIG_IEEE802154_CCA_CARRIER_AND_ED "") +set(CONFIG_IEEE802154_CCA_MODE "1") +set(CONFIG_IEEE802154_CCA_THRESHOLD "-75") +set(CONFIG_IEEE802154_PENDING_TABLE_SIZE "20") +set(CONFIG_IEEE802154_MULTI_PAN_ENABLE "") +set(CONFIG_IEEE802154_INTERFACE_NUM "1") +set(CONFIG_IEEE802154_TIMING_OPTIMIZATION "y") +set(CONFIG_IEEE802154_DEBUG "") +set(CONFIG_LOG_VERSION_1 "y") +set(CONFIG_LOG_VERSION_2 "") +set(CONFIG_LOG_VERSION "1") +set(CONFIG_LOG_DEFAULT_LEVEL_NONE "") +set(CONFIG_LOG_DEFAULT_LEVEL_ERROR "") +set(CONFIG_LOG_DEFAULT_LEVEL_WARN "") +set(CONFIG_LOG_DEFAULT_LEVEL_INFO "y") +set(CONFIG_LOG_DEFAULT_LEVEL_DEBUG "") +set(CONFIG_LOG_DEFAULT_LEVEL_VERBOSE "") +set(CONFIG_LOG_DEFAULT_LEVEL "3") +set(CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT "y") +set(CONFIG_LOG_MAXIMUM_LEVEL_DEBUG "") +set(CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE "") +set(CONFIG_LOG_MAXIMUM_LEVEL "3") +set(CONFIG_LOG_MASTER_LEVEL "") +set(CONFIG_LOG_DYNAMIC_LEVEL_CONTROL "y") +set(CONFIG_LOG_TAG_LEVEL_IMPL_NONE "") +set(CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST "") +set(CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST "y") +set(CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY "") +set(CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP "y") +set(CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE "31") +set(CONFIG_LOG_COLORS "") +set(CONFIG_LOG_TIMESTAMP_SOURCE_RTOS "y") +set(CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM "") +set(CONFIG_LOG_MODE_TEXT_EN "y") +set(CONFIG_LOG_MODE_TEXT "y") +set(CONFIG_LOG_IN_IRAM "y") +set(CONFIG_LWIP_ENABLE "y") +set(CONFIG_LWIP_LOCAL_HOSTNAME "espressif") +set(CONFIG_LWIP_TCPIP_TASK_PRIO "18") +set(CONFIG_LWIP_TCPIP_CORE_LOCKING "") +set(CONFIG_LWIP_CHECK_THREAD_SAFETY "") +set(CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES "y") +set(CONFIG_LWIP_L2_TO_L3_COPY "") +set(CONFIG_LWIP_IRAM_OPTIMIZATION "") +set(CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION "") +set(CONFIG_LWIP_TIMERS_ONDEMAND "y") +set(CONFIG_LWIP_ND6 "y") +set(CONFIG_LWIP_FORCE_ROUTER_FORWARDING "") +set(CONFIG_LWIP_MAX_SOCKETS "10") +set(CONFIG_LWIP_USE_ONLY_LWIP_SELECT "") +set(CONFIG_LWIP_SO_LINGER "") +set(CONFIG_LWIP_SO_REUSE "y") +set(CONFIG_LWIP_SO_REUSE_RXTOALL "y") +set(CONFIG_LWIP_SO_RCVBUF "") +set(CONFIG_LWIP_NETBUF_RECVINFO "") +set(CONFIG_LWIP_IP_DEFAULT_TTL "64") +set(CONFIG_LWIP_IP4_FRAG "y") +set(CONFIG_LWIP_IP6_FRAG "y") +set(CONFIG_LWIP_IP4_REASSEMBLY "") +set(CONFIG_LWIP_IP6_REASSEMBLY "") +set(CONFIG_LWIP_IP_REASS_MAX_PBUFS "10") +set(CONFIG_LWIP_IPV6_DUP_DETECT_ATTEMPTS "1") +set(CONFIG_LWIP_IP_FORWARD "") +set(CONFIG_LWIP_STATS "") +set(CONFIG_LWIP_ESP_GRATUITOUS_ARP "y") +set(CONFIG_LWIP_GARP_TMR_INTERVAL "60") +set(CONFIG_LWIP_ESP_MLDV6_REPORT "y") +set(CONFIG_LWIP_MLDV6_TMR_INTERVAL "40") +set(CONFIG_LWIP_TCPIP_RECVMBOX_SIZE "32") +set(CONFIG_LWIP_DHCP_DOES_ARP_CHECK "y") +set(CONFIG_LWIP_DHCP_DOES_ACD_CHECK "") +set(CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP "") +set(CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID "") +set(CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID "y") +set(CONFIG_LWIP_DHCP_RESTORE_LAST_IP "") +set(CONFIG_LWIP_DHCP_OPTIONS_LEN "69") +set(CONFIG_LWIP_NUM_NETIF_CLIENT_DATA "0") +set(CONFIG_LWIP_DHCP_COARSE_TIMER_SECS "1") +set(CONFIG_LWIP_DHCPS "y") +set(CONFIG_LWIP_DHCPS_REPORT_CLIENT_HOSTNAME "y") +set(CONFIG_LWIP_DHCPS_LEASE_UNIT "60") +set(CONFIG_LWIP_DHCPS_MAX_STATION_NUM "8") +set(CONFIG_LWIP_DHCPS_MAX_HOSTNAME_LEN "64") +set(CONFIG_LWIP_DHCPS_STATIC_ENTRIES "y") +set(CONFIG_LWIP_AUTOIP "") +set(CONFIG_LWIP_IPV4 "y") +set(CONFIG_LWIP_IPV6 "y") +set(CONFIG_LWIP_IPV6_AUTOCONFIG "") +set(CONFIG_LWIP_IPV6_NUM_ADDRESSES "3") +set(CONFIG_LWIP_IPV6_FORWARD "") +set(CONFIG_LWIP_NETIF_STATUS_CALLBACK "") +set(CONFIG_LWIP_NETIF_LINK_CALLBACK "") +set(CONFIG_LWIP_NETIF_LOOPBACK "y") +set(CONFIG_LWIP_LOOPBACK_MAX_PBUFS "8") +set(CONFIG_LWIP_MAX_ACTIVE_TCP "16") +set(CONFIG_LWIP_MAX_LISTENING_TCP "16") +set(CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION "y") +set(CONFIG_LWIP_TCP_MAXRTX "12") +set(CONFIG_LWIP_TCP_SYNMAXRTX "12") +set(CONFIG_LWIP_TCP_MSS "1440") +set(CONFIG_LWIP_TCP_TMR_INTERVAL "250") +set(CONFIG_LWIP_TCP_MSL "60000") +set(CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT "20000") +set(CONFIG_LWIP_TCP_SND_BUF_DEFAULT "5760") +set(CONFIG_LWIP_TCP_WND_DEFAULT "5760") +set(CONFIG_LWIP_TCP_RECVMBOX_SIZE "6") +set(CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE "6") +set(CONFIG_LWIP_TCP_QUEUE_OOSEQ "y") +set(CONFIG_LWIP_TCP_OOSEQ_TIMEOUT "6") +set(CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS "4") +set(CONFIG_LWIP_TCP_SACK_OUT "") +set(CONFIG_LWIP_TCP_OVERSIZE_MSS "y") +set(CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS "") +set(CONFIG_LWIP_TCP_OVERSIZE_DISABLE "") +set(CONFIG_LWIP_TCP_RTO_TIME "1500") +set(CONFIG_LWIP_MAX_UDP_PCBS "16") +set(CONFIG_LWIP_UDP_RECVMBOX_SIZE "6") +set(CONFIG_LWIP_CHECKSUM_CHECK_IP "") +set(CONFIG_LWIP_CHECKSUM_CHECK_UDP "") +set(CONFIG_LWIP_CHECKSUM_CHECK_ICMP "y") +set(CONFIG_LWIP_TCPIP_TASK_STACK_SIZE "3072") +set(CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY "y") +set(CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 "") +set(CONFIG_LWIP_TCPIP_TASK_AFFINITY "0x7fffffff") +set(CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE "3") +set(CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS "5") +set(CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES "5") +set(CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS "3") +set(CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS "10") +set(CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT "") +set(CONFIG_LWIP_PPP_SUPPORT "") +set(CONFIG_LWIP_SLIP_SUPPORT "") +set(CONFIG_LWIP_ICMP "y") +set(CONFIG_LWIP_MULTICAST_PING "") +set(CONFIG_LWIP_BROADCAST_PING "") +set(CONFIG_LWIP_MAX_RAW_PCBS "16") +set(CONFIG_LWIP_SNTP_MAX_SERVERS "1") +set(CONFIG_LWIP_DHCP_GET_NTP_SRV "") +set(CONFIG_LWIP_SNTP_UPDATE_DELAY "3600000") +set(CONFIG_LWIP_SNTP_STARTUP_DELAY "y") +set(CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY "5000") +set(CONFIG_LWIP_DNS_MAX_HOST_IP "1") +set(CONFIG_LWIP_DNS_MAX_SERVERS "3") +set(CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT "") +set(CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF "") +set(CONFIG_LWIP_USE_ESP_GETADDRINFO "") +set(CONFIG_LWIP_BRIDGEIF_MAX_PORTS "7") +set(CONFIG_LWIP_ESP_LWIP_ASSERT "y") +set(CONFIG_LWIP_HOOK_TCP_ISN_NONE "") +set(CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT "y") +set(CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM "") +set(CONFIG_LWIP_HOOK_IP6_ROUTE_NONE "y") +set(CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT "") +set(CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM "") +set(CONFIG_LWIP_HOOK_ND6_GET_GW_NONE "y") +set(CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT "") +set(CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM "") +set(CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE "y") +set(CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT "") +set(CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM "") +set(CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE "y") +set(CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT "") +set(CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM "") +set(CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE "y") +set(CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT "") +set(CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM "") +set(CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE "y") +set(CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM "") +set(CONFIG_LWIP_HOOK_IP6_INPUT_NONE "") +set(CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT "y") +set(CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM "") +set(CONFIG_LWIP_DEBUG "") +set(CONFIG_MBEDTLS_VER_4_X_SUPPORT "y") +set(CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_NONE "") +set(CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_SIZE "y") +set(CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_PERF "") +set(CONFIG_MBEDTLS_FS_IO "y") +set(CONFIG_MBEDTLS_THREADING_C "y") +set(CONFIG_MBEDTLS_THREADING_ALT "") +set(CONFIG_MBEDTLS_THREADING_PTHREAD "y") +set(CONFIG_MBEDTLS_ERROR_STRINGS "y") +set(CONFIG_MBEDTLS_VERSION_C "y") +set(CONFIG_MBEDTLS_HAVE_TIME "y") +set(CONFIG_MBEDTLS_PLATFORM_TIME_ALT "") +set(CONFIG_MBEDTLS_HAVE_TIME_DATE "") +set(CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC "y") +set(CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC "") +set(CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC "") +set(CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN "y") +set(CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN "16384") +set(CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN "4096") +set(CONFIG_MBEDTLS_DYNAMIC_BUFFER "") +set(CONFIG_MBEDTLS_VERSION_FEATURES "") +set(CONFIG_MBEDTLS_DEBUG "") +set(CONFIG_MBEDTLS_SELF_TEST "y") +set(CONFIG_MBEDTLS_X509_USE_C "y") +set(CONFIG_MBEDTLS_PEM_PARSE_C "y") +set(CONFIG_MBEDTLS_PEM_WRITE_C "y") +set(CONFIG_MBEDTLS_PK_C "y") +set(CONFIG_MBEDTLS_PK_PARSE_C "y") +set(CONFIG_MBEDTLS_PK_WRITE_C "y") +set(CONFIG_MBEDTLS_X509_REMOVE_INFO "") +set(CONFIG_MBEDTLS_X509_CRL_PARSE_C "y") +set(CONFIG_MBEDTLS_X509_CRT_PARSE_C "y") +set(CONFIG_MBEDTLS_X509_CSR_PARSE_C "y") +set(CONFIG_MBEDTLS_X509_CREATE_C "") +set(CONFIG_MBEDTLS_X509_RSASSA_PSS_SUPPORT "y") +set(CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK "") +set(CONFIG_MBEDTLS_ASN1_PARSE_C "y") +set(CONFIG_MBEDTLS_ASN1_WRITE_C "y") +set(CONFIG_MBEDTLS_CERTIFICATE_BUNDLE "y") +set(CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL "y") +set(CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN "") +set(CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE "") +set(CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE "") +set(CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST "") +set(CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS "200") +set(CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION "") +set(CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY "") +set(CONFIG_MBEDTLS_TLS_ENABLED "y") +set(CONFIG_MBEDTLS_SSL_PROTO_TLS1_2 "y") +set(CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 "") +set(CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 "") +set(CONFIG_MBEDTLS_TLS_SERVER "y") +set(CONFIG_MBEDTLS_TLS_CLIENT "y") +set(CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT "y") +set(CONFIG_MBEDTLS_TLS_SERVER_ONLY "") +set(CONFIG_MBEDTLS_TLS_CLIENT_ONLY "") +set(CONFIG_MBEDTLS_TLS_DISABLED "") +set(CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE "") +set(CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION "") +set(CONFIG_MBEDTLS_SSL_CACHE_C "y") +set(CONFIG_MBEDTLS_SSL_ALL_ALERT_MESSAGES "y") +set(CONFIG_MBEDTLS_PSK_MODES "") +set(CONFIG_MBEDTLS_KEY_EXCHANGE_RSA "y") +set(CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE "y") +set(CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA "y") +set(CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA "y") +set(CONFIG_MBEDTLS_SSL_SERVER_NAME_INDICATION "y") +set(CONFIG_MBEDTLS_SSL_ALPN "y") +set(CONFIG_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH "y") +set(CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH "") +set(CONFIG_MBEDTLS_SSL_RENEGOTIATION "y") +set(CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS "y") +set(CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS "y") +set(CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT "") +set(CONFIG_MBEDTLS_SSL_PROTO_DTLS "") +set(CONFIG_MBEDTLS_AES_C "y") +set(CONFIG_MBEDTLS_CAMELLIA_C "") +set(CONFIG_MBEDTLS_ARIA_C "") +set(CONFIG_MBEDTLS_DES_C "") +set(CONFIG_MBEDTLS_CCM_C "y") +set(CONFIG_MBEDTLS_CIPHER_MODE_CBC "y") +set(CONFIG_MBEDTLS_CIPHER_MODE_CFB "y") +set(CONFIG_MBEDTLS_CIPHER_MODE_CTR "y") +set(CONFIG_MBEDTLS_CIPHER_MODE_OFB "y") +set(CONFIG_MBEDTLS_CIPHER_MODE_XTS "y") +set(CONFIG_MBEDTLS_GCM_C "y") +set(CONFIG_MBEDTLS_NIST_KW_C "") +set(CONFIG_MBEDTLS_AES_ROM_TABLES "y") +set(CONFIG_MBEDTLS_AES_FEWER_TABLES "") +set(CONFIG_MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH "") +set(CONFIG_MBEDTLS_CMAC_C "y") +set(CONFIG_MBEDTLS_BIGNUM_C "y") +set(CONFIG_MBEDTLS_RSA_C "y") +set(CONFIG_MBEDTLS_ECP_C "y") +set(CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED "y") +set(CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED "y") +set(CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED "y") +set(CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED "y") +set(CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED "y") +set(CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED "y") +set(CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED "y") +set(CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED "y") +set(CONFIG_MBEDTLS_ECP_NIST_OPTIM "y") +set(CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM "") +set(CONFIG_MBEDTLS_DHM_C "") +set(CONFIG_MBEDTLS_ECDH_C "y") +set(CONFIG_MBEDTLS_ECJPAKE_C "") +set(CONFIG_MBEDTLS_ECDSA_C "y") +set(CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED "y") +set(CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED "y") +set(CONFIG_MBEDTLS_ECDSA_DETERMINISTIC "y") +set(CONFIG_MBEDTLS_ECP_RESTARTABLE "") +set(CONFIG_MBEDTLS_RIPEMD160_C "") +set(CONFIG_MBEDTLS_MD_C "y") +set(CONFIG_MBEDTLS_MD5_C "y") +set(CONFIG_MBEDTLS_SHA1_C "y") +set(CONFIG_MBEDTLS_SHA224_C "") +set(CONFIG_MBEDTLS_SHA256_C "y") +set(CONFIG_MBEDTLS_SHA384_C "y") +set(CONFIG_MBEDTLS_SHA512_C "y") +set(CONFIG_MBEDTLS_SHA3_C "") +set(CONFIG_MBEDTLS_ROM_MD5 "y") +set(CONFIG_MBEDTLS_HARDWARE_ECC "y") +set(CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK "y") +set(CONFIG_MBEDTLS_HARDWARE_SHA "y") +set(CONFIG_MBEDTLS_HARDWARE_MPI "y") +set(CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI "y") +set(CONFIG_MBEDTLS_MPI_USE_INTERRUPT "y") +set(CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL "0") +set(CONFIG_MBEDTLS_HARDWARE_AES "y") +set(CONFIG_MBEDTLS_AES_SOFT_FALLBACK "") +set(CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER "y") +set(CONFIG_MBEDTLS_AES_USE_INTERRUPT "y") +set(CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL "0") +set(CONFIG_MBEDTLS_AES_HW_SMALL_DATA_LEN_OPTIM "y") +set(CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN "") +set(CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY "") +set(CONFIG_MBEDTLS_HARDWARE_RSA_DS_PERIPHERAL "y") +set(CONFIG_MBEDTLS_ENTROPY_FORCE_SHA256 "") +set(CONFIG_MBEDTLS_CTR_DRBG_C "y") +set(CONFIG_MBEDTLS_HMAC_DRBG_C "y") +set(CONFIG_MBEDTLS_BASE64_C "y") +set(CONFIG_MBEDTLS_PKCS5_C "y") +set(CONFIG_MBEDTLS_PKCS7_C "y") +set(CONFIG_MBEDTLS_PKCS1_V15 "y") +set(CONFIG_MBEDTLS_PKCS1_V21 "y") +set(CONFIG_MBEDTLS_CHACHA20_C "") +set(CONFIG_NVS_ENCRYPTION "") +set(CONFIG_NVS_ASSERT_ERROR_CHECK "") +set(CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY "") +set(CONFIG_NVS_BDL_STACK "") +set(CONFIG_NVS_FLASH_VERIFY_ERASE "") +set(CONFIG_OPENTHREAD_ENABLED "") +set(CONFIG_OPENTHREAD_SPINEL_ONLY "") +set(CONFIG_OPENTHREAD_DEBUG "") +set(CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0 "") +set(CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1 "") +set(CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2 "y") +set(CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION "y") +set(CONFIG_PTHREAD_TASK_PRIO_DEFAULT "5") +set(CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT "3072") +set(CONFIG_PTHREAD_STACK_MIN "768") +set(CONFIG_PTHREAD_TASK_CORE_DEFAULT "-1") +set(CONFIG_PTHREAD_TASK_NAME_DEFAULT "pthread") +set(CONFIG_SD_ENABLE_SDIO_SUPPORT "y") +set(CONFIG_MMU_PAGE_SIZE_32KB "y") +set(CONFIG_MMU_PAGE_MODE "32KB") +set(CONFIG_MMU_PAGE_SIZE "0x8000") +set(CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC "y") +set(CONFIG_SPI_FLASH_BROWNOUT_RESET "y") +set(CONFIG_SPI_FLASH_AUTO_SUSPEND "") +set(CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US "50") +set(CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND "") +set(CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND "") +set(CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM "y") +set(CONFIG_SPI_FLASH_VERIFY_WRITE "") +set(CONFIG_SPI_FLASH_ENABLE_COUNTERS "") +set(CONFIG_SPI_FLASH_ROM_IMPL "") +set(CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS "y") +set(CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS "") +set(CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED "") +set(CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE "") +set(CONFIG_SPI_FLASH_YIELD_DURING_ERASE "y") +set(CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS "20") +set(CONFIG_SPI_FLASH_ERASE_YIELD_TICKS "1") +set(CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE "8192") +set(CONFIG_SPI_FLASH_SIZE_OVERRIDE "") +set(CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED "") +set(CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST "") +set(CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED "y") +set(CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED "y") +set(CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP "") +set(CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP "") +set(CONFIG_SPI_FLASH_SUPPORT_GD_CHIP "y") +set(CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP "") +set(CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP "") +set(CONFIG_SPI_FLASH_SUPPORT_TH_CHIP "") +set(CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE "y") +set(CONFIG_SPIFFS_MAX_PARTITIONS "3") +set(CONFIG_SPIFFS_CACHE "y") +set(CONFIG_SPIFFS_CACHE_WR "y") +set(CONFIG_SPIFFS_CACHE_STATS "") +set(CONFIG_SPIFFS_PAGE_CHECK "y") +set(CONFIG_SPIFFS_GC_MAX_RUNS "10") +set(CONFIG_SPIFFS_GC_STATS "") +set(CONFIG_SPIFFS_PAGE_SIZE "256") +set(CONFIG_SPIFFS_OBJ_NAME_LEN "32") +set(CONFIG_SPIFFS_FOLLOW_SYMLINKS "") +set(CONFIG_SPIFFS_USE_MAGIC "y") +set(CONFIG_SPIFFS_USE_MAGIC_LENGTH "y") +set(CONFIG_SPIFFS_META_LENGTH "4") +set(CONFIG_SPIFFS_USE_MTIME "y") +set(CONFIG_SPIFFS_DBG "") +set(CONFIG_SPIFFS_API_DBG "") +set(CONFIG_SPIFFS_GC_DBG "") +set(CONFIG_SPIFFS_CACHE_DBG "") +set(CONFIG_SPIFFS_CHECK_DBG "") +set(CONFIG_SPIFFS_TEST_VISUALISATION "") +set(CONFIG_WS_TRANSPORT "y") +set(CONFIG_WS_BUFFER_SIZE "1024") +set(CONFIG_WS_DYNAMIC_BUFFER "") +set(CONFIG_ULP_COPROC_ENABLED "") +set(CONFIG_UNITY_ENABLE_FLOAT "y") +set(CONFIG_UNITY_ENABLE_DOUBLE "y") +set(CONFIG_UNITY_ENABLE_64BIT "") +set(CONFIG_UNITY_ENABLE_COLOR "") +set(CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER "y") +set(CONFIG_UNITY_ENABLE_FIXTURE "") +set(CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL "") +set(CONFIG_VFS_SUPPORT_IO "y") +set(CONFIG_VFS_SUPPORT_DIR "y") +set(CONFIG_VFS_SUPPORT_SELECT "y") +set(CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT "y") +set(CONFIG_VFS_SELECT_IN_RAM "") +set(CONFIG_VFS_SUPPORT_TERMIOS "") +set(CONFIG_VFS_MAX_COUNT "8") +set(CONFIG_VFS_SUPPRESS_CTX_DEPRECATION "") +set(CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS "1") +set(CONFIG_VFS_INITIALIZE_DEV_NULL "y") +set(CONFIG_WL_SECTOR_SIZE_512 "") +set(CONFIG_WL_SECTOR_SIZE_4096 "y") +set(CONFIG_WL_SECTOR_SIZE "4096") +set(CONFIG_IDF_EXPERIMENTAL_FEATURES "") +set(CONFIGS_LIST CONFIG_SOC_ADC_SUPPORTED;CONFIG_SOC_DEDICATED_GPIO_SUPPORTED;CONFIG_SOC_UART_SUPPORTED;CONFIG_SOC_UHCI_SUPPORTED;CONFIG_SOC_GDMA_SUPPORTED;CONFIG_SOC_AHB_GDMA_SUPPORTED;CONFIG_SOC_GPTIMER_SUPPORTED;CONFIG_SOC_PCNT_SUPPORTED;CONFIG_SOC_MCPWM_SUPPORTED;CONFIG_SOC_TWAI_SUPPORTED;CONFIG_SOC_ETM_SUPPORTED;CONFIG_SOC_PARLIO_SUPPORTED;CONFIG_SOC_BT_SUPPORTED;CONFIG_SOC_IEEE802154_SUPPORTED;CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED;CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED;CONFIG_SOC_TEMP_SENSOR_SUPPORTED;CONFIG_SOC_PHY_SUPPORTED;CONFIG_SOC_WIFI_SUPPORTED;CONFIG_SOC_SUPPORTS_SECURE_DL_MODE;CONFIG_SOC_ULP_SUPPORTED;CONFIG_SOC_LP_CORE_SUPPORTED;CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD;CONFIG_SOC_EFUSE_SUPPORTED;CONFIG_SOC_RTC_FAST_MEM_SUPPORTED;CONFIG_SOC_RTC_MEM_SUPPORTED;CONFIG_SOC_I2S_SUPPORTED;CONFIG_SOC_RMT_SUPPORTED;CONFIG_SOC_SDM_SUPPORTED;CONFIG_SOC_GPSPI_SUPPORTED;CONFIG_SOC_LEDC_SUPPORTED;CONFIG_SOC_I2C_SUPPORTED;CONFIG_SOC_SYSTIMER_SUPPORTED;CONFIG_SOC_SUPPORT_COEXISTENCE;CONFIG_SOC_AES_SUPPORTED;CONFIG_SOC_MPI_SUPPORTED;CONFIG_SOC_SHA_SUPPORTED;CONFIG_SOC_HMAC_SUPPORTED;CONFIG_SOC_DIG_SIGN_SUPPORTED;CONFIG_SOC_ECC_SUPPORTED;CONFIG_SOC_FLASH_ENC_SUPPORTED;CONFIG_SOC_SECURE_BOOT_SUPPORTED;CONFIG_SOC_SDIO_SLAVE_SUPPORTED;CONFIG_SOC_BOD_SUPPORTED;CONFIG_SOC_APM_SUPPORTED;CONFIG_SOC_PMU_SUPPORTED;CONFIG_SOC_PMU_PVT_SUPPORTED;CONFIG_SOC_PAU_SUPPORTED;CONFIG_SOC_RTC_TIMER_V2_SUPPORTED;CONFIG_SOC_LP_AON_SUPPORTED;CONFIG_SOC_LP_PERIPHERALS_SUPPORTED;CONFIG_SOC_LP_I2C_SUPPORTED;CONFIG_SOC_ULP_LP_UART_SUPPORTED;CONFIG_SOC_CLK_TREE_SUPPORTED;CONFIG_SOC_ASSIST_DEBUG_SUPPORTED;CONFIG_SOC_WDT_SUPPORTED;CONFIG_SOC_SPI_FLASH_SUPPORTED;CONFIG_SOC_RNG_SUPPORTED;CONFIG_SOC_LIGHT_SLEEP_SUPPORTED;CONFIG_SOC_DEEP_SLEEP_SUPPORTED;CONFIG_SOC_MODEM_CLOCK_SUPPORTED;CONFIG_SOC_PM_SUPPORTED;CONFIG_SOC_XTAL_SUPPORT_40M;CONFIG_SOC_XTAL_CLOCK_PATH_DEPENDS_ON_TOP_DOMAIN;CONFIG_SOC_AES_SUPPORT_DMA;CONFIG_SOC_AES_GDMA;CONFIG_SOC_AES_SUPPORT_AES_128;CONFIG_SOC_AES_SUPPORT_AES_256;CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED;CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED;CONFIG_SOC_ADC_MONITOR_SUPPORTED;CONFIG_SOC_ADC_DMA_SUPPORTED;CONFIG_SOC_ADC_PERIPH_NUM;CONFIG_SOC_ADC_MAX_CHANNEL_NUM;CONFIG_SOC_ADC_ATTEN_NUM;CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM;CONFIG_SOC_ADC_PATT_LEN_MAX;CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH;CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH;CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM;CONFIG_SOC_ADC_DIGI_MONITOR_NUM;CONFIG_SOC_ADC_DIGI_RESULT_BYTES;CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV;CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH;CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW;CONFIG_SOC_ADC_RTC_MIN_BITWIDTH;CONFIG_SOC_ADC_RTC_MAX_BITWIDTH;CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED;CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED;CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED;CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR;CONFIG_SOC_ADC_SHARED_POWER;CONFIG_SOC_BROWNOUT_RESET_SUPPORTED;CONFIG_SOC_SHARED_IDCACHE_SUPPORTED;CONFIG_SOC_CACHE_FREEZE_SUPPORTED;CONFIG_SOC_CPU_CORES_NUM;CONFIG_SOC_CPU_INTR_NUM;CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC;CONFIG_SOC_INT_PLIC_SUPPORTED;CONFIG_SOC_CPU_HAS_CSR_PC;CONFIG_SOC_CPU_BREAKPOINTS_NUM;CONFIG_SOC_CPU_WATCHPOINTS_NUM;CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE;CONFIG_SOC_CPU_HAS_PMA;CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP;CONFIG_SOC_CPU_PMP_REGION_GRANULARITY;CONFIG_SOC_CPU_MISALIGNED_ACCESS_ON_PMP_MISMATCH_ISSUE;CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN;CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH;CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US;CONFIG_SOC_AHB_GDMA_VERSION;CONFIG_SOC_GDMA_SUPPORT_ETM;CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_GPIO_PORT;CONFIG_SOC_GPIO_PIN_COUNT;CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER;CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM;CONFIG_SOC_GPIO_SUPPORT_ETM;CONFIG_SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP;CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT;CONFIG_SOC_GPIO_IN_RANGE_MAX;CONFIG_SOC_GPIO_OUT_RANGE_MAX;CONFIG_SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_MASK;CONFIG_SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_PIN_CNT;CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK;CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD;CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP;CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX;CONFIG_SOC_CLOCKOUT_HAS_SOURCE_GATE;CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM;CONFIG_SOC_RTCIO_PIN_COUNT;CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED;CONFIG_SOC_RTCIO_HOLD_SUPPORTED;CONFIG_SOC_RTCIO_WAKE_SUPPORTED;CONFIG_SOC_SDM_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_ETM_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_I2C_NUM;CONFIG_SOC_HP_I2C_NUM;CONFIG_SOC_LP_I2C_NUM;CONFIG_SOC_I2C_SUPPORT_XTAL;CONFIG_SOC_I2C_SUPPORT_RTC;CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR;CONFIG_SOC_I2C_SUPPORT_SLAVE;CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST;CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE;CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_I2S_HW_VERSION_2;CONFIG_SOC_I2S_SUPPORTS_ETM;CONFIG_SOC_I2S_SUPPORTS_PCM;CONFIG_SOC_I2S_SUPPORTS_PDM;CONFIG_SOC_I2S_SUPPORTS_PDM_TX;CONFIG_SOC_I2S_SUPPORTS_PCM2PDM;CONFIG_SOC_I2S_SUPPORTS_PDM_RX;CONFIG_SOC_I2S_PDM_MAX_TX_LINES;CONFIG_SOC_I2S_PDM_MAX_RX_LINES;CONFIG_SOC_I2S_SUPPORTS_TDM;CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK;CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK;CONFIG_SOC_LEDC_TIMER_NUM;CONFIG_SOC_LEDC_CHANNEL_NUM;CONFIG_SOC_LEDC_TIMER_BIT_WIDTH;CONFIG_SOC_LEDC_SUPPORT_FADE_STOP;CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED;CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX;CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH;CONFIG_SOC_LEDC_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_LEDC_SUPPORT_ETM;CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE;CONFIG_SOC_MMU_PAGE_SIZE_8KB_SUPPORTED;CONFIG_SOC_MMU_PERIPH_NUM;CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM;CONFIG_SOC_MMU_DI_VADDR_SHARED;CONFIG_SOC_MPU_MIN_REGION_SIZE;CONFIG_SOC_MPU_REGIONS_MAX_NUM;CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE;CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL;CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG;CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT;CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP;CONFIG_SOC_RMT_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE;CONFIG_SOC_MCPWM_SUPPORT_ETM;CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP;CONFIG_SOC_MCPWM_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH;CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH;CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT;CONFIG_SOC_PARLIO_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_MPI_MEM_BLOCKS_NUM;CONFIG_SOC_MPI_OPERATIONS_NUM;CONFIG_SOC_RSA_MAX_BIT_LEN;CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE;CONFIG_SOC_SHA_SUPPORT_DMA;CONFIG_SOC_SHA_SUPPORT_RESUME;CONFIG_SOC_SHA_GDMA;CONFIG_SOC_SHA_SUPPORT_SHA1;CONFIG_SOC_SHA_SUPPORT_SHA224;CONFIG_SOC_SHA_SUPPORT_SHA256;CONFIG_SOC_SPI_PERIPH_NUM;CONFIG_SOC_SPI_MAX_CS_NUM;CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE;CONFIG_SOC_SPI_SUPPORT_DDRCLK;CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS;CONFIG_SOC_SPI_SUPPORT_CD_SIG;CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS;CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2;CONFIG_SOC_SPI_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_SPI_SUPPORT_CLK_XTAL;CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F80M;CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST;CONFIG_SOC_SPI_SCT_SUPPORTED;CONFIG_SOC_SPI_SCT_REG_NUM;CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX;CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX;CONFIG_SOC_MEMSPI_IS_INDEPENDENT;CONFIG_SOC_SPI_MAX_PRE_DIVIDER;CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE;CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND;CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME;CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR;CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND;CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS;CONFIG_SOC_SPI_MEM_SUPPORT_WRAP;CONFIG_SOC_MEMSPI_ENCRYPTION_ALIGNMENT;CONFIG_SOC_SYSTIMER_COUNTER_NUM;CONFIG_SOC_SYSTIMER_ALARM_NUM;CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO;CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI;CONFIG_SOC_SYSTIMER_FIXED_DIVIDER;CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST;CONFIG_SOC_SYSTIMER_INT_LEVEL;CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE;CONFIG_SOC_SYSTIMER_SUPPORT_ETM;CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO;CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI;CONFIG_SOC_TIMER_SUPPORT_ETM;CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_MWDT_SUPPORT_XTAL;CONFIG_SOC_MWDT_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_TWAI_CONTROLLER_NUM;CONFIG_SOC_TWAI_MASK_FILTER_NUM;CONFIG_SOC_TWAI_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE;CONFIG_SOC_EFUSE_DIS_PAD_JTAG;CONFIG_SOC_EFUSE_DIS_USB_JTAG;CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT;CONFIG_SOC_EFUSE_SOFT_DIS_JTAG;CONFIG_SOC_EFUSE_DIS_ICACHE;CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK;CONFIG_SOC_EFUSE_XTS_AES_KEY_128;CONFIG_SOC_SECURE_BOOT_V2_RSA;CONFIG_SOC_SECURE_BOOT_V2_ECC;CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS;CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS;CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY;CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX;CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES;CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128;CONFIG_SOC_FLASH_ENCRYPTION_PAGE_CONFIGURABLE;CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED;CONFIG_SOC_APM_LP_APM0_SUPPORTED;CONFIG_SOC_APM_SUPPORT_LP_TEE_CTRL;CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED;CONFIG_SOC_UART_NUM;CONFIG_SOC_UART_HP_NUM;CONFIG_SOC_UART_LP_NUM;CONFIG_SOC_UART_FIFO_LEN;CONFIG_SOC_LP_UART_FIFO_LEN;CONFIG_SOC_UART_BITRATE_MAX;CONFIG_SOC_UART_SUPPORT_RTC_CLK;CONFIG_SOC_UART_SUPPORT_XTAL_CLK;CONFIG_SOC_UART_SUPPORT_WAKEUP_INT;CONFIG_SOC_UART_HAS_LP_UART;CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_UART_WAKEUP_CHARS_SEQ_MAX_LEN;CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE;CONFIG_SOC_UART_WAKEUP_SUPPORT_FIFO_THRESH_MODE;CONFIG_SOC_UART_WAKEUP_SUPPORT_START_BIT_MODE;CONFIG_SOC_UART_WAKEUP_SUPPORT_CHAR_SEQ_MODE;CONFIG_SOC_UHCI_NUM;CONFIG_SOC_COEX_HW_PTI;CONFIG_SOC_EXTERNAL_COEX_ADVANCE;CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE;CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH;CONFIG_SOC_RTC_MEM_SUPPORT_SPEED_MODE_SWITCH;CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP;CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP;CONFIG_SOC_PM_SUPPORT_BT_WAKEUP;CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP;CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN;CONFIG_SOC_PM_SUPPORT_CPU_PD;CONFIG_SOC_PM_SUPPORT_MODEM_PD;CONFIG_SOC_PM_SUPPORT_XTAL32K_PD;CONFIG_SOC_PM_SUPPORT_RC32K_PD;CONFIG_SOC_PM_SUPPORT_RC_FAST_PD;CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD;CONFIG_SOC_PM_SUPPORT_TOP_PD;CONFIG_SOC_PM_SUPPORT_HP_AON_PD;CONFIG_SOC_PM_SUPPORT_MAC_BB_PD;CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD;CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE;CONFIG_SOC_PM_SUPPORT_PMU_CLK_ICG;CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY;CONFIG_SOC_PM_CPU_RETENTION_BY_SW;CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA;CONFIG_SOC_PM_RETENTION_HAS_CLOCK_BUG;CONFIG_SOC_PM_MODEM_RF_FLAG_UPDATE_WORKAROUND;CONFIG_SOC_PM_PAU_LINK_NUM;CONFIG_SOC_PM_PAU_REGDMA_LINK_MULTI_ADDR;CONFIG_SOC_PM_PAU_REGDMA_LINK_WIFIMAC;CONFIG_SOC_PM_PAU_REGDMA_UPDATE_CACHE_BEFORE_WAIT_COMPARE;CONFIG_SOC_PM_PMU_MIN_SLP_SLOW_CLK_CYCLE_FIXED;CONFIG_SOC_PM_RETENTION_MODULE_NUM;CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION;CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT;CONFIG_SOC_CLK_XTAL32K_SUPPORTED;CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED;CONFIG_SOC_CLK_RC32K_SUPPORTED;CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D2;CONFIG_SOC_RCC_IS_INDEPENDENT;CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC;CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL;CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT;CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_ETM;CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION;CONFIG_SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN;CONFIG_SOC_RNG_CLOCK_IS_INDEPENDENT;CONFIG_SOC_WIFI_HW_TSF;CONFIG_SOC_WIFI_FTM_SUPPORT;CONFIG_SOC_WIFI_GCMP_SUPPORT;CONFIG_SOC_WIFI_WAPI_SUPPORT;CONFIG_SOC_WIFI_TXOP_SUPPORT;CONFIG_SOC_WIFI_CSI_SUPPORT;CONFIG_SOC_WIFI_MESH_SUPPORT;CONFIG_SOC_WIFI_HE_SUPPORT;CONFIG_SOC_WIFI_MAC_VERSION_NUM;CONFIG_SOC_BLE_SUPPORTED;CONFIG_SOC_BLE_MESH_SUPPORTED;CONFIG_SOC_ESP_NIMBLE_CONTROLLER;CONFIG_SOC_BLE_50_SUPPORTED;CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED;CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED;CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED;CONFIG_SOC_BLUFI_SUPPORTED;CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION;CONFIG_SOC_BLE_SUBRATE_SUPPORTED;CONFIG_SOC_BLE_PERIODIC_ADV_WITH_RESPONSE;CONFIG_SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND;CONFIG_SOC_PHY_COMBO_MODULE;CONFIG_SOC_CAPS_NO_RESET_BY_ANA_BOD;CONFIG_SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR;CONFIG_SOC_LP_CORE_SUPPORT_ETM;CONFIG_SOC_DEBUG_HAVE_OCD_STUB_BINS;CONFIG_IDF_CMAKE;CONFIG_IDF_TOOLCHAIN;CONFIG_IDF_TOOLCHAIN_GCC;CONFIG_IDF_TARGET_ARCH_RISCV;CONFIG_IDF_TARGET_ARCH;CONFIG_IDF_TARGET;CONFIG_IDF_INIT_VERSION;CONFIG_IDF_TARGET_ESP32C6;CONFIG_IDF_FIRMWARE_CHIP_ID;CONFIG_APP_BUILD_TYPE_APP_2NDBOOT;CONFIG_APP_BUILD_TYPE_RAM;CONFIG_APP_BUILD_TYPE_ELF_RAM;CONFIG_APP_BUILD_GENERATE_BINARIES;CONFIG_APP_BUILD_BOOTLOADER;CONFIG_APP_BUILD_USE_FLASH_SECTIONS;CONFIG_APP_REPRODUCIBLE_BUILD;CONFIG_APP_NO_BLOBS;CONFIG_NO_BLOBS;CONFIG_BOOTLOADER_COMPILE_TIME_DATE;CONFIG_BOOTLOADER_PROJECT_VER;CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE;CONFIG_APP_ROLLBACK_ENABLE;CONFIG_BOOTLOADER_OFFSET_IN_FLASH;CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE;CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG;CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE;CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF;CONFIG_BOOTLOADER_LOG_VERSION_1;CONFIG_BOOTLOADER_LOG_VERSION;CONFIG_BOOTLOADER_LOG_LEVEL_NONE;CONFIG_LOG_BOOTLOADER_LEVEL_NONE;CONFIG_BOOTLOADER_LOG_LEVEL_ERROR;CONFIG_LOG_BOOTLOADER_LEVEL_ERROR;CONFIG_BOOTLOADER_LOG_LEVEL_WARN;CONFIG_LOG_BOOTLOADER_LEVEL_WARN;CONFIG_BOOTLOADER_LOG_LEVEL_INFO;CONFIG_LOG_BOOTLOADER_LEVEL_INFO;CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG;CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG;CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE;CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE;CONFIG_BOOTLOADER_LOG_LEVEL;CONFIG_LOG_BOOTLOADER_LEVEL;CONFIG_BOOTLOADER_LOG_COLORS;CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS;CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN;CONFIG_BOOTLOADER_LOG_MODE_TEXT;CONFIG_BOOTLOADER_CPU_CLK_FREQ_MHZ;CONFIG_BOOTLOADER_FLASH_DC_AWARE;CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT;CONFIG_BOOTLOADER_FACTORY_RESET;CONFIG_BOOTLOADER_APP_TEST;CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE;CONFIG_BOOTLOADER_WDT_ENABLE;CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE;CONFIG_BOOTLOADER_WDT_TIME_MS;CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP;CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON;CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS;CONFIG_BOOTLOADER_RESERVE_RTC_SIZE;CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC;CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED;CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED;CONFIG_SECURE_BOOT_V2_PREFERRED;CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT;CONFIG_SECURE_BOOT;CONFIG_SECURE_FLASH_ENC_ENABLED;CONFIG_FLASH_ENCRYPTION_ENABLED;CONFIG_SECURE_ROM_DL_MODE_ENABLED;CONFIG_APP_COMPILE_TIME_DATE;CONFIG_APP_EXCLUDE_PROJECT_VER_VAR;CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR;CONFIG_APP_PROJECT_VER_FROM_CONFIG;CONFIG_APP_RETRIEVE_LEN_ELF_SHA;CONFIG_ESP_ROM_HAS_CRC_LE;CONFIG_ESP_ROM_HAS_CRC_BE;CONFIG_ESP_ROM_HAS_JPEG_DECODE;CONFIG_ESP_ROM_UART_CLK_IS_XTAL;CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM;CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING;CONFIG_ESP_ROM_GET_CLK_FREQ;CONFIG_ESP_ROM_HAS_RVFPLIB;CONFIG_ESP_ROM_HAS_HAL_WDT;CONFIG_ESP_ROM_HAS_HAL_SYSTIMER;CONFIG_ESP_ROM_SYSTIMER_INIT_PATCH;CONFIG_ESP_ROM_HAS_HEAP_TLSF;CONFIG_ESP_ROM_TLSF_CHECK_PATCH;CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH;CONFIG_ESP_ROM_HAS_LAYOUT_TABLE;CONFIG_ESP_ROM_HAS_SPI_FLASH;CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP;CONFIG_ESP_ROM_HAS_REGI2C_BUG;CONFIG_ESP_ROM_HAS_NEWLIB;CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT;CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE;CONFIG_ESP_ROM_WDT_INIT_PATCH;CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE;CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT;CONFIG_ESP_ROM_HAS_SW_FLOAT;CONFIG_ESP_ROM_USB_OTG_NUM;CONFIG_ESP_ROM_HAS_VERSION;CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB;CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC;CONFIG_ESP_ROM_NO_USB_SERIAL_OUTPUT_API;CONFIG_ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY;CONFIG_ESP_ROM_SUPPORT_SECURE_BOOT_FAST_WAKEUP;CONFIG_BOOT_ROM_LOG_ALWAYS_ON;CONFIG_BOOT_ROM_LOG_ALWAYS_OFF;CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH;CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW;CONFIG_SECURE_ENABLE_TEE;CONFIG_SECURE_TEE_LOG_LEVEL;CONFIG_ESPTOOLPY_NO_STUB;CONFIG_ESPTOOLPY_FLASHMODE_QIO;CONFIG_FLASHMODE_QIO;CONFIG_ESPTOOLPY_FLASHMODE_QOUT;CONFIG_FLASHMODE_QOUT;CONFIG_ESPTOOLPY_FLASHMODE_DIO;CONFIG_FLASHMODE_DIO;CONFIG_ESPTOOLPY_FLASHMODE_DOUT;CONFIG_FLASHMODE_DOUT;CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR;CONFIG_ESPTOOLPY_FLASHMODE;CONFIG_ESPTOOLPY_FLASHFREQ_80M;CONFIG_ESPTOOLPY_FLASHFREQ_40M;CONFIG_ESPTOOLPY_FLASHFREQ_20M;CONFIG_ESPTOOLPY_FLASHFREQ;CONFIG_ESPTOOLPY_FLASHSIZE_1MB;CONFIG_ESPTOOLPY_FLASHSIZE_2MB;CONFIG_ESPTOOLPY_FLASHSIZE_4MB;CONFIG_ESPTOOLPY_FLASHSIZE_8MB;CONFIG_ESPTOOLPY_FLASHSIZE_16MB;CONFIG_ESPTOOLPY_FLASHSIZE_32MB;CONFIG_ESPTOOLPY_FLASHSIZE_64MB;CONFIG_ESPTOOLPY_FLASHSIZE_128MB;CONFIG_ESPTOOLPY_FLASHSIZE;CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE;CONFIG_ESPTOOLPY_BEFORE_RESET;CONFIG_ESPTOOLPY_BEFORE_NORESET;CONFIG_ESPTOOLPY_BEFORE;CONFIG_ESPTOOLPY_AFTER_RESET;CONFIG_ESPTOOLPY_AFTER_NORESET;CONFIG_ESPTOOLPY_AFTER;CONFIG_ESPTOOLPY_MONITOR_BAUD;CONFIG_MONITOR_BAUD;CONFIG_PARTITION_TABLE_SINGLE_APP;CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE;CONFIG_PARTITION_TABLE_TWO_OTA;CONFIG_PARTITION_TABLE_TWO_OTA_LARGE;CONFIG_PARTITION_TABLE_CUSTOM;CONFIG_PARTITION_TABLE_CUSTOM_FILENAME;CONFIG_PARTITION_TABLE_FILENAME;CONFIG_PARTITION_TABLE_OFFSET;CONFIG_PARTITION_TABLE_MD5;CONFIG_COMPILER_OPTIMIZATION_DEBUG;CONFIG_OPTIMIZATION_LEVEL_DEBUG;CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG;CONFIG_COMPILER_OPTIMIZATION_DEFAULT;CONFIG_COMPILER_OPTIMIZATION_SIZE;CONFIG_OPTIMIZATION_LEVEL_RELEASE;CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE;CONFIG_COMPILER_OPTIMIZATION_PERF;CONFIG_COMPILER_OPTIMIZATION_NONE;CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE;CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED;CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT;CONFIG_OPTIMIZATION_ASSERTIONS_SILENT;CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE;CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED;CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE;CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB;CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB;CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL;CONFIG_OPTIMIZATION_ASSERTION_LEVEL;CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT;CONFIG_COMPILER_HIDE_PATHS_MACROS;CONFIG_COMPILER_CXX_EXCEPTIONS;CONFIG_CXX_EXCEPTIONS;CONFIG_COMPILER_CXX_RTTI;CONFIG_COMPILER_STACK_CHECK_MODE_NONE;CONFIG_STACK_CHECK_NONE;CONFIG_COMPILER_STACK_CHECK_MODE_NORM;CONFIG_STACK_CHECK_NORM;CONFIG_COMPILER_STACK_CHECK_MODE_STRONG;CONFIG_STACK_CHECK_STRONG;CONFIG_COMPILER_STACK_CHECK_MODE_ALL;CONFIG_STACK_CHECK_ALL;CONFIG_COMPILER_NO_MERGE_CONSTANTS;CONFIG_COMPILER_WARN_WRITE_STRINGS;CONFIG_WARN_WRITE_STRINGS;CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS;CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS;CONFIG_COMPILER_DISABLE_GCC12_WARNINGS;CONFIG_COMPILER_DISABLE_GCC13_WARNINGS;CONFIG_COMPILER_DISABLE_GCC14_WARNINGS;CONFIG_COMPILER_DISABLE_GCC15_WARNINGS;CONFIG_COMPILER_DUMP_RTL_FILES;CONFIG_COMPILER_RT_LIB_GCCLIB;CONFIG_COMPILER_RT_LIB_NAME;CONFIG_COMPILER_ORPHAN_SECTIONS_ERROR;CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING;CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE;CONFIG_COMPILER_STATIC_ANALYZER;CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE;CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD_CONSTEXPR;CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD;CONFIG_BT_ENABLED;CONFIG_BLE_LOG_ENABLED;CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED;CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED;CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED;CONFIG_CONSOLE_SORTED_HELP;CONFIG_TWAI_ISR_IN_IRAM_LEGACY;CONFIG_TWAI_SUPPRESS_DEPRECATE_WARN;CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK;CONFIG_I2C_SUPPRESS_DEPRECATE_WARN;CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK;CONFIG_EFUSE_CUSTOM_TABLE;CONFIG_EFUSE_VIRTUAL;CONFIG_EFUSE_MAX_BLK_LEN;CONFIG_ESP_TLS_USING_MBEDTLS;CONFIG_ESP_TLS_CUSTOM_STACK;CONFIG_ESP_TLS_USE_SECURE_ELEMENT;CONFIG_ESP_TLS_USE_DS_PERIPHERAL;CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS;CONFIG_ESP_TLS_SERVER_SESSION_TICKETS;CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK;CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL;CONFIG_ESP_TLS_PSK_VERIFICATION;CONFIG_ESP_TLS_INSECURE;CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED;CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM;CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE;CONFIG_ADC_ENABLE_DEBUG_LOG;CONFIG_ESP_COEX_ENABLED;CONFIG_ESP_COEX_SW_COEXIST_ENABLE;CONFIG_SW_COEXIST_ENABLE;CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE;CONFIG_ESP_WIFI_SW_COEXIST_ENABLE;CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE;CONFIG_EXTERNAL_COEX_ENABLE;CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE;CONFIG_ESP_COEX_POWER_MANAGEMENT;CONFIG_ESP_COEX_GPIO_DEBUG;CONFIG_ESP_ERR_TO_NAME_LOOKUP;CONFIG_GDMA_CTRL_FUNC_IN_IRAM;CONFIG_GDMA_ISR_HANDLER_IN_IRAM;CONFIG_GDMA_OBJ_DRAM_SAFE;CONFIG_GDMA_ENABLE_DEBUG_LOG;CONFIG_GPIO_CTRL_FUNC_IN_IRAM;CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM;CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM;CONFIG_GPTIMER_ISR_CACHE_SAFE;CONFIG_GPTIMER_ISR_IRAM_SAFE;CONFIG_GPTIMER_OBJ_CACHE_SAFE;CONFIG_GPTIMER_ENABLE_DEBUG_LOG;CONFIG_I2C_ISR_IRAM_SAFE;CONFIG_I2C_ENABLE_DEBUG_LOG;CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM;CONFIG_I2S_ISR_IRAM_SAFE;CONFIG_I2S_CTRL_FUNC_IN_IRAM;CONFIG_I2S_ENABLE_DEBUG_LOG;CONFIG_I3C_MASTER_ISR_CACHE_SAFE;CONFIG_I3C_MASTER_ENABLE_DEBUG_LOG;CONFIG_I3C_MASTER_ISR_HANDLER_IN_IRAM;CONFIG_LEDC_CTRL_FUNC_IN_IRAM;CONFIG_MCPWM_ISR_HANDLER_IN_IRAM;CONFIG_MCPWM_ISR_CACHE_SAFE;CONFIG_MCPWM_ISR_IRAM_SAFE;CONFIG_MCPWM_CTRL_FUNC_IN_IRAM;CONFIG_MCPWM_OBJ_CACHE_SAFE;CONFIG_MCPWM_ENABLE_DEBUG_LOG;CONFIG_PARLIO_TX_ISR_HANDLER_IN_IRAM;CONFIG_PARLIO_RX_ISR_HANDLER_IN_IRAM;CONFIG_PARLIO_TX_ISR_CACHE_SAFE;CONFIG_PARLIO_RX_ISR_CACHE_SAFE;CONFIG_PARLIO_OBJ_CACHE_SAFE;CONFIG_PARLIO_ENABLE_DEBUG_LOG;CONFIG_PARLIO_ISR_IRAM_SAFE;CONFIG_PCNT_CTRL_FUNC_IN_IRAM;CONFIG_PCNT_ISR_IRAM_SAFE;CONFIG_PCNT_ENABLE_DEBUG_LOG;CONFIG_RMT_ENCODER_FUNC_IN_IRAM;CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM;CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM;CONFIG_RMT_RECV_FUNC_IN_IRAM;CONFIG_RMT_TX_ISR_CACHE_SAFE;CONFIG_RMT_RX_ISR_CACHE_SAFE;CONFIG_RMT_OBJ_CACHE_SAFE;CONFIG_RMT_ENABLE_DEBUG_LOG;CONFIG_RMT_ISR_IRAM_SAFE;CONFIG_SDM_CTRL_FUNC_IN_IRAM;CONFIG_SDM_ENABLE_DEBUG_LOG;CONFIG_SPI_MASTER_ISR_IN_IRAM;CONFIG_SPI_SLAVE_IN_IRAM;CONFIG_SPI_SLAVE_ISR_IN_IRAM;CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG;CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE;CONFIG_TWAI_ISR_IN_IRAM;CONFIG_TWAI_IO_FUNC_IN_IRAM;CONFIG_TWAI_ISR_CACHE_SAFE;CONFIG_TWAI_ENABLE_DEBUG_LOG;CONFIG_UART_ISR_IN_IRAM;CONFIG_UHCI_ISR_HANDLER_IN_IRAM;CONFIG_UHCI_ISR_CACHE_SAFE;CONFIG_UHCI_ENABLE_DEBUG_LOG;CONFIG_USJ_ENABLE_USB_SERIAL_JTAG;CONFIG_ETH_ENABLED;CONFIG_ETH_USE_SPI_ETHERNET;CONFIG_ETH_USE_OPENETH;CONFIG_ETH_TRANSMIT_MUTEX;CONFIG_ESP_EVENT_LOOP_PROFILING;CONFIG_EVENT_LOOP_PROFILING;CONFIG_ESP_EVENT_POST_FROM_ISR;CONFIG_POST_EVENTS_FROM_ISR;CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR;CONFIG_POST_EVENTS_FROM_IRAM_ISR;CONFIG_ESP_GDBSTUB_ENABLED;CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME;CONFIG_ESP_GDBSTUB_SUPPORT_TASKS;CONFIG_GDBSTUB_SUPPORT_TASKS;CONFIG_ESP_GDBSTUB_MAX_TASKS;CONFIG_GDBSTUB_MAX_TASKS;CONFIG_ESPHID_TASK_SIZE_BT;CONFIG_ESPHID_TASK_SIZE_BLE;CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS;CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH;CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH;CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT;CONFIG_ESP_HTTP_CLIENT_ENABLE_GET_CONTENT_RANGE;CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT;CONFIG_ESP_HTTP_CLIENT_SAVE_RESPONSE_HEADERS;CONFIG_HTTPD_MAX_REQ_HDR_LEN;CONFIG_HTTPD_MAX_URI_LEN;CONFIG_HTTPD_ERR_RESP_NO_DELAY;CONFIG_HTTPD_PURGE_BUF_LEN;CONFIG_HTTPD_LOG_PURGE_DATA;CONFIG_HTTPD_WS_SUPPORT;CONFIG_HTTPD_QUEUE_WORK_BLOCKING;CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT;CONFIG_ESP_HTTPS_OTA_DECRYPT_CB;CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP;CONFIG_OTA_ALLOW_HTTP;CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT;CONFIG_ESP_HTTPS_OTA_ENABLE_PARTIAL_DOWNLOAD;CONFIG_ESP_HTTPS_SERVER_ENABLE;CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT;CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK;CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM;CONFIG_ESP32C6_REV_MIN_0;CONFIG_ESP32C6_REV_MIN_1;CONFIG_ESP32C6_REV_MIN_2;CONFIG_ESP32C6_REV_MIN_FULL;CONFIG_ESP_REV_MIN_FULL;CONFIG_ESP32C6_REV_MAX_FULL;CONFIG_ESP_REV_MAX_FULL;CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL;CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL;CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA;CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP;CONFIG_ESP_MAC_ADDR_UNIVERSE_BT;CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH;CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154;CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR;CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES;CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO;CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR;CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES;CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC;CONFIG_ESP_SLEEP_POWER_DOWN_FLASH;CONFIG_ESP_SYSTEM_PD_FLASH;CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND;CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU;CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND;CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY;CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION;CONFIG_ESP_SLEEP_DEBUG;CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS;CONFIG_RTC_CLK_SRC_INT_RC;CONFIG_RTC_CLK_SRC_EXT_CRYS;CONFIG_RTC_CLK_SRC_EXT_OSC;CONFIG_RTC_CLK_CAL_CYCLES;CONFIG_RTC_CLK_FUNC_IN_IRAM;CONFIG_RTC_TIME_FUNC_IN_IRAM;CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM;CONFIG_PERIPH_CTRL_FUNC_IN_IRAM;CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM;CONFIG_ESP_MODEM_CLOCK_ENABLE_CHECKING;CONFIG_ETM_ENABLE_DEBUG_LOG;CONFIG_XTAL_FREQ_40;CONFIG_XTAL_FREQ;CONFIG_ESP_BROWNOUT_DET;CONFIG_BROWNOUT_DET;CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7;CONFIG_BROWNOUT_DET_LVL_SEL_7;CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6;CONFIG_BROWNOUT_DET_LVL_SEL_6;CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5;CONFIG_BROWNOUT_DET_LVL_SEL_5;CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4;CONFIG_BROWNOUT_DET_LVL_SEL_4;CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3;CONFIG_BROWNOUT_DET_LVL_SEL_3;CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2;CONFIG_BROWNOUT_DET_LVL_SEL_2;CONFIG_ESP_BROWNOUT_DET_LVL;CONFIG_BROWNOUT_DET_LVL;CONFIG_ESP_BROWNOUT_USE_INTR;CONFIG_ESP_SYSTEM_BROWNOUT_INTR;CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM;CONFIG_ESP_ENABLE_PVT;CONFIG_ESP_INTR_IN_IRAM;CONFIG_LCD_ENABLE_DEBUG_LOG;CONFIG_LIBC_NEWLIB;CONFIG_LIBC_PICOLIBC;CONFIG_LIBC_PICOLIBC_NEWLIB_COMPATIBILITY;CONFIG_LIBC_MISC_IN_IRAM;CONFIG_LIBC_LOCKS_PLACE_IN_IRAM;CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF;CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF;CONFIG_LIBC_STDOUT_LINE_ENDING_LF;CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF;CONFIG_LIBC_STDOUT_LINE_ENDING_CR;CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR;CONFIG_LIBC_STDIN_LINE_ENDING_CRLF;CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF;CONFIG_LIBC_STDIN_LINE_ENDING_LF;CONFIG_NEWLIB_STDIN_LINE_ENDING_LF;CONFIG_LIBC_STDIN_LINE_ENDING_CR;CONFIG_NEWLIB_STDIN_LINE_ENDING_CR;CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT;CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT;CONFIG_LIBC_TIME_SYSCALL_USE_RTC;CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC;CONFIG_LIBC_TIME_SYSCALL_USE_HRT;CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT;CONFIG_LIBC_TIME_SYSCALL_USE_NONE;CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE;CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS;CONFIG_LIBC_ASSERT_BUFFER_SIZE;CONFIG_ESP_NETIF_LOST_IP_TIMER_ENABLE;CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL;CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION;CONFIG_ESP_NETIF_TCPIP_LWIP;CONFIG_ESP_NETIF_LOOPBACK;CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API;CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC;CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS;CONFIG_ESP_NETIF_L2_TAP;CONFIG_ESP_NETIF_BRIDGE_EN;CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF;CONFIG_ESP_PHY_ENABLED;CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE;CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE;CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION;CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION;CONFIG_ESP_PHY_MAX_WIFI_TX_POWER;CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER;CONFIG_ESP_PHY_MAX_TX_POWER;CONFIG_ESP32_PHY_MAX_TX_POWER;CONFIG_ESP_PHY_REDUCE_TX_POWER;CONFIG_REDUCE_PHY_TX_POWER;CONFIG_ESP32_REDUCE_PHY_TX_POWER;CONFIG_ESP_PHY_ENABLE_CERT_TEST;CONFIG_ESP_PHY_RF_CAL_PARTIAL;CONFIG_ESP_PHY_RF_CAL_NONE;CONFIG_ESP_PHY_RF_CAL_FULL;CONFIG_ESP_PHY_CALIBRATION_MODE;CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS;CONFIG_ESP_PHY_PLL_TRACK_DEBUG;CONFIG_ESP_PHY_RECORD_USED_TIME;CONFIG_ESP_PHY_IRAM_OPT;CONFIG_ESP_PHY_DEBUG;CONFIG_PM_SLEEP_FUNC_IN_IRAM;CONFIG_PM_ENABLE;CONFIG_PM_SLP_IRAM_OPT;CONFIG_PM_SLP_DEFAULT_PARAMS_OPT;CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP;CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU;CONFIG_PM_CPU_RETENTION_DYNAMIC;CONFIG_PM_CPU_RETENTION_STATIC;CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP;CONFIG_PM_ESP_SLEEP_POWER_DOWN_CPU;CONFIG_RINGBUF_IN_IRAM;CONFIG_RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH;CONFIG_ESP_ROM_PRINT_IN_IRAM;CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP;CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW;CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM;CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH;CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL;CONFIG_ESP_CONSOLE_UART_DEFAULT;CONFIG_CONSOLE_UART_DEFAULT;CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG;CONFIG_ESP_CONSOLE_UART_CUSTOM;CONFIG_CONSOLE_UART_CUSTOM;CONFIG_ESP_CONSOLE_NONE;CONFIG_CONSOLE_UART_NONE;CONFIG_ESP_CONSOLE_UART_NONE;CONFIG_ESP_CONSOLE_SECONDARY_NONE;CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG;CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED;CONFIG_ESP_CONSOLE_UART;CONFIG_CONSOLE_UART;CONFIG_ESP_CONSOLE_UART_NUM;CONFIG_CONSOLE_UART_NUM;CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM;CONFIG_ESP_CONSOLE_UART_BAUDRATE;CONFIG_CONSOLE_UART_BAUDRATE;CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80;CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_120;CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160;CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ;CONFIG_ESP_SYSTEM_IN_IRAM;CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT;CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT;CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT;CONFIG_ESP_SYSTEM_PANIC_GDBSTUB;CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS;CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE;CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK;CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP;CONFIG_ESP_SYSTEM_NO_BACKTRACE;CONFIG_ESP_SYSTEM_USE_EH_FRAME;CONFIG_ESP_SYSTEM_USE_FRAME_POINTER;CONFIG_ESP_SYSTEM_MEMPROT;CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT;CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_VIA_TEE;CONFIG_ESP_SYSTEM_MEMPROT_FEATURE;CONFIG_ESP_SYSTEM_MEMPROT_PMP;CONFIG_ESP_SYSTEM_MEMPROT_PMP_LP_CORE_RESERVE_MEM_EXEC;CONFIG_ESP_SYSTEM_PMP_LP_CORE_RESERVE_MEM_EXECUTABLE;CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE;CONFIG_SYSTEM_EVENT_QUEUE_SIZE;CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE;CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE;CONFIG_ESP_MAIN_TASK_STACK_SIZE;CONFIG_MAIN_TASK_STACK_SIZE;CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0;CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY;CONFIG_ESP_MAIN_TASK_AFFINITY;CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE;CONFIG_ESP_INT_WDT;CONFIG_INT_WDT;CONFIG_ESP_INT_WDT_TIMEOUT_MS;CONFIG_INT_WDT_TIMEOUT_MS;CONFIG_ESP_TASK_WDT_EN;CONFIG_ESP_TASK_WDT_INIT;CONFIG_TASK_WDT;CONFIG_ESP_TASK_WDT;CONFIG_ESP_TASK_WDT_PANIC;CONFIG_TASK_WDT_PANIC;CONFIG_ESP_TASK_WDT_TIMEOUT_S;CONFIG_TASK_WDT_TIMEOUT_S;CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0;CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0;CONFIG_ESP_PANIC_HANDLER_IRAM;CONFIG_ESP_DEBUG_STUBS_ENABLE;CONFIG_ESP32_DEBUG_STUBS_ENABLE;CONFIG_ESP_DEBUG_INCLUDE_OCD_STUB_BINS;CONFIG_ESP_DEBUG_OCDAWARE;CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4;CONFIG_ESP_SYSTEM_HW_STACK_GUARD;CONFIG_ESP_SYSTEM_BBPLL_RECALIB;CONFIG_ESP_SYSTEM_HW_PC_RECORD;CONFIG_ESP_IPC_TASK_STACK_SIZE;CONFIG_IPC_TASK_STACK_SIZE;CONFIG_ESP_TIMER_IN_IRAM;CONFIG_ESP_TIMER_PROFILING;CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER;CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER;CONFIG_ESP_TIMER_TASK_STACK_SIZE;CONFIG_TIMER_TASK_STACK_SIZE;CONFIG_ESP_TIMER_INTERRUPT_LEVEL;CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL;CONFIG_ESP_TIMER_TASK_AFFINITY;CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0;CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0;CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD;CONFIG_ESP_TIMER_IMPL_SYSTIMER;CONFIG_ESP_TRACE_LIB_EXTERNAL;CONFIG_ESP_TRACE_LIB_NONE;CONFIG_ESP_TRACE_LIB_NAME;CONFIG_ESP_TRACE_TRANSPORT_APPTRACE;CONFIG_ESP32_APPTRACE_ENABLE;CONFIG_ESP_TRACE_TRANSPORT_NONE;CONFIG_ESP_TRACE_TRANSPORT_NAME;CONFIG_ESP_WIFI_ENABLED;CONFIG_ESP32_WIFI_ENABLED;CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM;CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM;CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM;CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM;CONFIG_ESP_WIFI_STATIC_TX_BUFFER;CONFIG_ESP32_WIFI_STATIC_TX_BUFFER;CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER;CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER;CONFIG_ESP_WIFI_TX_BUFFER_TYPE;CONFIG_ESP32_WIFI_TX_BUFFER_TYPE;CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM;CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM;CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER;CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER;CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF;CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF;CONFIG_ESP_WIFI_CSI_ENABLED;CONFIG_ESP32_WIFI_CSI_ENABLED;CONFIG_ESP_WIFI_AMPDU_TX_ENABLED;CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED;CONFIG_ESP_WIFI_TX_BA_WIN;CONFIG_ESP32_WIFI_TX_BA_WIN;CONFIG_ESP_WIFI_AMPDU_RX_ENABLED;CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED;CONFIG_ESP_WIFI_RX_BA_WIN;CONFIG_ESP32_WIFI_RX_BA_WIN;CONFIG_ESP_WIFI_NVS_ENABLED;CONFIG_ESP32_WIFI_NVS_ENABLED;CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN;CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN;CONFIG_ESP_WIFI_MGMT_SBUF_NUM;CONFIG_ESP32_WIFI_MGMT_SBUF_NUM;CONFIG_ESP_WIFI_IRAM_OPT;CONFIG_ESP32_WIFI_IRAM_OPT;CONFIG_ESP_WIFI_EXTRA_IRAM_OPT;CONFIG_ESP_WIFI_RX_IRAM_OPT;CONFIG_ESP32_WIFI_RX_IRAM_OPT;CONFIG_ESP_WIFI_ENABLE_WPA3_SAE;CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE;CONFIG_ESP_WIFI_ENABLE_SAE_H2E;CONFIG_ESP_WIFI_ENABLE_SAE_PK;CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT;CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA;CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA;CONFIG_ESP_WIFI_WPA3_COMPATIBLE_SUPPORT;CONFIG_ESP_WIFI_SLP_IRAM_OPT;CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME;CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT;CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME;CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME;CONFIG_ESP_WIFI_FTM_ENABLE;CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE;CONFIG_ESP_WIFI_GCMP_SUPPORT;CONFIG_ESP_WIFI_GMAC_SUPPORT;CONFIG_ESP_WIFI_SOFTAP_SUPPORT;CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT;CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM;CONFIG_ESP_WIFI_MBEDTLS_CRYPTO;CONFIG_WPA_MBEDTLS_CRYPTO;CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT;CONFIG_WPA_MBEDTLS_TLS_CLIENT;CONFIG_ESP_WIFI_WAPI_PSK;CONFIG_WPA_WAPI_PSK;CONFIG_ESP_WIFI_SUITE_B_192;CONFIG_WPA_SUITE_B_192;CONFIG_ESP_WIFI_11KV_SUPPORT;CONFIG_WPA_11KV_SUPPORT;CONFIG_ESP_WIFI_MBO_SUPPORT;CONFIG_WPA_MBO_SUPPORT;CONFIG_ESP_WIFI_DPP_SUPPORT;CONFIG_WPA_DPP_SUPPORT;CONFIG_ESP_WIFI_11R_SUPPORT;CONFIG_WPA_11R_SUPPORT;CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR;CONFIG_WPA_WPS_SOFTAP_REGISTRAR;CONFIG_ESP_WIFI_ENABLE_WIFI_TX_STATS;CONFIG_ESP_WIFI_ENABLE_WIFI_RX_STATS;CONFIG_ESP_WIFI_TX_HETB_QUEUE_NUM;CONFIG_ESP_WIFI_WPS_STRICT;CONFIG_WPA_WPS_STRICT;CONFIG_ESP_WIFI_WPS_PASSPHRASE;CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL;CONFIG_ESP_WIFI_DEBUG_PRINT;CONFIG_WPA_DEBUG_PRINT;CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT;CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER;CONFIG_ESP_WIFI_PASSIVE_HIDDEN_AP_SUPPORT;CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH;CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH;CONFIG_ESP_COREDUMP_ENABLE_TO_UART;CONFIG_ESP32_ENABLE_COREDUMP_TO_UART;CONFIG_ESP_COREDUMP_ENABLE_TO_NONE;CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE;CONFIG_FATFS_VOLUME_COUNT;CONFIG_FATFS_LFN_NONE;CONFIG_FATFS_LFN_HEAP;CONFIG_FATFS_LFN_STACK;CONFIG_FATFS_SECTOR_512;CONFIG_FATFS_SECTOR_4096;CONFIG_FATFS_CODEPAGE_DYNAMIC;CONFIG_FATFS_CODEPAGE_437;CONFIG_FATFS_CODEPAGE_720;CONFIG_FATFS_CODEPAGE_737;CONFIG_FATFS_CODEPAGE_771;CONFIG_FATFS_CODEPAGE_775;CONFIG_FATFS_CODEPAGE_850;CONFIG_FATFS_CODEPAGE_852;CONFIG_FATFS_CODEPAGE_855;CONFIG_FATFS_CODEPAGE_857;CONFIG_FATFS_CODEPAGE_860;CONFIG_FATFS_CODEPAGE_861;CONFIG_FATFS_CODEPAGE_862;CONFIG_FATFS_CODEPAGE_863;CONFIG_FATFS_CODEPAGE_864;CONFIG_FATFS_CODEPAGE_865;CONFIG_FATFS_CODEPAGE_866;CONFIG_FATFS_CODEPAGE_869;CONFIG_FATFS_CODEPAGE_932;CONFIG_FATFS_CODEPAGE_936;CONFIG_FATFS_CODEPAGE_949;CONFIG_FATFS_CODEPAGE_950;CONFIG_FATFS_CODEPAGE;CONFIG_FATFS_MAX_LFN;CONFIG_FATFS_API_ENCODING_ANSI_OEM;CONFIG_FATFS_API_ENCODING_UTF_8;CONFIG_FATFS_FS_LOCK;CONFIG_FATFS_TIMEOUT_MS;CONFIG_FATFS_PER_FILE_CACHE;CONFIG_FATFS_USE_FASTSEEK;CONFIG_FATFS_USE_STRFUNC_NONE;CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV;CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV;CONFIG_FATFS_VFS_FSTAT_BLKSIZE;CONFIG_FATFS_IMMEDIATE_FSYNC;CONFIG_FATFS_USE_LABEL;CONFIG_FATFS_LINK_LOCK;CONFIG_FATFS_USE_DYN_BUFFERS;CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT;CONFIG_FATFS_DONT_TRUST_LAST_ALLOC;CONFIG_FREERTOS_SMP;CONFIG_FREERTOS_UNICORE;CONFIG_FREERTOS_HZ;CONFIG_FREERTOS_OPTIMIZED_SCHEDULER;CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE;CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL;CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY;CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS;CONFIG_FREERTOS_IDLE_TASK_STACKSIZE;CONFIG_FREERTOS_USE_IDLE_HOOK;CONFIG_FREERTOS_USE_TICK_HOOK;CONFIG_FREERTOS_MAX_TASK_NAME_LEN;CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY;CONFIG_FREERTOS_USE_TIMERS;CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME;CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0;CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY;CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY;CONFIG_FREERTOS_TIMER_TASK_PRIORITY;CONFIG_TIMER_TASK_PRIORITY;CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH;CONFIG_TIMER_TASK_STACK_DEPTH;CONFIG_FREERTOS_TIMER_QUEUE_LENGTH;CONFIG_TIMER_QUEUE_LENGTH;CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE;CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES;CONFIG_FREERTOS_USE_TRACE_FACILITY;CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES;CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS;CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG;CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER;CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK;CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS;CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK;CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK;CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER;CONFIG_FREERTOS_ISR_STACKSIZE;CONFIG_FREERTOS_INTERRUPT_BACKTRACE;CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER;CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1;CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3;CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER;CONFIG_FREERTOS_IN_IRAM;CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE;CONFIG_FREERTOS_PORT;CONFIG_FREERTOS_NO_AFFINITY;CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION;CONFIG_FREERTOS_DEBUG_OCDAWARE;CONFIG_FREERTOS_NUMBER_OF_CORES;CONFIG_HAL_ASSERTION_EQUALS_SYSTEM;CONFIG_HAL_ASSERTION_DISABLE;CONFIG_HAL_ASSERTION_SILENT;CONFIG_HAL_ASSERTION_SILIENT;CONFIG_HAL_ASSERTION_ENABLE;CONFIG_HAL_DEFAULT_ASSERTION_LEVEL;CONFIG_HAL_SYSTIMER_USE_ROM_IMPL;CONFIG_HAL_WDT_USE_ROM_IMPL;CONFIG_HAL_GPIO_USE_ROM_IMPL;CONFIG_HEAP_POISONING_DISABLED;CONFIG_HEAP_POISONING_LIGHT;CONFIG_HEAP_POISONING_COMPREHENSIVE;CONFIG_HEAP_TRACING_OFF;CONFIG_HEAP_TRACING_STANDALONE;CONFIG_HEAP_TRACING_TOHOST;CONFIG_HEAP_USE_HOOKS;CONFIG_HEAP_TASK_TRACKING;CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS;CONFIG_HEAP_TLSF_USE_ROM_IMPL;CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH;CONFIG_IEEE802154_ENABLED;CONFIG_IEEE802154_RX_BUFFER_SIZE;CONFIG_IEEE802154_CCA_CARRIER;CONFIG_IEEE802154_CCA_ED;CONFIG_IEEE802154_CCA_CARRIER_OR_ED;CONFIG_IEEE802154_CCA_CARRIER_AND_ED;CONFIG_IEEE802154_CCA_MODE;CONFIG_IEEE802154_CCA_THRESHOLD;CONFIG_IEEE802154_PENDING_TABLE_SIZE;CONFIG_IEEE802154_MULTI_PAN_ENABLE;CONFIG_IEEE802154_INTERFACE_NUM;CONFIG_IEEE802154_TIMING_OPTIMIZATION;CONFIG_IEEE802154_DEBUG;CONFIG_LOG_VERSION_1;CONFIG_LOG_VERSION_2;CONFIG_LOG_VERSION;CONFIG_LOG_DEFAULT_LEVEL_NONE;CONFIG_LOG_DEFAULT_LEVEL_ERROR;CONFIG_LOG_DEFAULT_LEVEL_WARN;CONFIG_LOG_DEFAULT_LEVEL_INFO;CONFIG_LOG_DEFAULT_LEVEL_DEBUG;CONFIG_LOG_DEFAULT_LEVEL_VERBOSE;CONFIG_LOG_DEFAULT_LEVEL;CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT;CONFIG_LOG_MAXIMUM_LEVEL_DEBUG;CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE;CONFIG_LOG_MAXIMUM_LEVEL;CONFIG_LOG_MASTER_LEVEL;CONFIG_LOG_DYNAMIC_LEVEL_CONTROL;CONFIG_LOG_TAG_LEVEL_IMPL_NONE;CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST;CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST;CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY;CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP;CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE;CONFIG_LOG_COLORS;CONFIG_LOG_TIMESTAMP_SOURCE_RTOS;CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM;CONFIG_LOG_MODE_TEXT_EN;CONFIG_LOG_MODE_TEXT;CONFIG_LOG_IN_IRAM;CONFIG_LWIP_ENABLE;CONFIG_LWIP_LOCAL_HOSTNAME;CONFIG_LWIP_TCPIP_TASK_PRIO;CONFIG_LWIP_TCPIP_CORE_LOCKING;CONFIG_LWIP_CHECK_THREAD_SAFETY;CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES;CONFIG_LWIP_L2_TO_L3_COPY;CONFIG_L2_TO_L3_COPY;CONFIG_LWIP_IRAM_OPTIMIZATION;CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION;CONFIG_LWIP_TIMERS_ONDEMAND;CONFIG_LWIP_ND6;CONFIG_LWIP_FORCE_ROUTER_FORWARDING;CONFIG_LWIP_MAX_SOCKETS;CONFIG_LWIP_USE_ONLY_LWIP_SELECT;CONFIG_LWIP_SO_LINGER;CONFIG_LWIP_SO_REUSE;CONFIG_LWIP_SO_REUSE_RXTOALL;CONFIG_LWIP_SO_RCVBUF;CONFIG_LWIP_NETBUF_RECVINFO;CONFIG_LWIP_IP_DEFAULT_TTL;CONFIG_LWIP_IP4_FRAG;CONFIG_LWIP_IP6_FRAG;CONFIG_LWIP_IP4_REASSEMBLY;CONFIG_LWIP_IP6_REASSEMBLY;CONFIG_LWIP_IP_REASS_MAX_PBUFS;CONFIG_LWIP_IPV6_DUP_DETECT_ATTEMPTS;CONFIG_LWIP_IP_FORWARD;CONFIG_LWIP_STATS;CONFIG_LWIP_ESP_GRATUITOUS_ARP;CONFIG_ESP_GRATUITOUS_ARP;CONFIG_LWIP_GARP_TMR_INTERVAL;CONFIG_GARP_TMR_INTERVAL;CONFIG_LWIP_ESP_MLDV6_REPORT;CONFIG_LWIP_MLDV6_TMR_INTERVAL;CONFIG_LWIP_TCPIP_RECVMBOX_SIZE;CONFIG_TCPIP_RECVMBOX_SIZE;CONFIG_LWIP_DHCP_DOES_ARP_CHECK;CONFIG_LWIP_DHCP_DOES_ACD_CHECK;CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP;CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID;CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID;CONFIG_LWIP_DHCP_RESTORE_LAST_IP;CONFIG_LWIP_DHCP_OPTIONS_LEN;CONFIG_LWIP_NUM_NETIF_CLIENT_DATA;CONFIG_LWIP_DHCP_COARSE_TIMER_SECS;CONFIG_LWIP_DHCPS;CONFIG_LWIP_DHCPS_REPORT_CLIENT_HOSTNAME;CONFIG_LWIP_DHCPS_LEASE_UNIT;CONFIG_LWIP_DHCPS_MAX_STATION_NUM;CONFIG_LWIP_DHCPS_MAX_HOSTNAME_LEN;CONFIG_LWIP_DHCPS_STATIC_ENTRIES;CONFIG_LWIP_AUTOIP;CONFIG_LWIP_IPV4;CONFIG_LWIP_IPV6;CONFIG_LWIP_IPV6_AUTOCONFIG;CONFIG_LWIP_IPV6_NUM_ADDRESSES;CONFIG_LWIP_IPV6_FORWARD;CONFIG_LWIP_NETIF_STATUS_CALLBACK;CONFIG_LWIP_NETIF_LINK_CALLBACK;CONFIG_LWIP_NETIF_LOOPBACK;CONFIG_LWIP_LOOPBACK_MAX_PBUFS;CONFIG_LWIP_MAX_ACTIVE_TCP;CONFIG_LWIP_MAX_LISTENING_TCP;CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION;CONFIG_LWIP_TCP_MAXRTX;CONFIG_TCP_MAXRTX;CONFIG_LWIP_TCP_SYNMAXRTX;CONFIG_TCP_SYNMAXRTX;CONFIG_LWIP_TCP_MSS;CONFIG_TCP_MSS;CONFIG_LWIP_TCP_TMR_INTERVAL;CONFIG_LWIP_TCP_MSL;CONFIG_TCP_MSL;CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT;CONFIG_LWIP_TCP_SND_BUF_DEFAULT;CONFIG_TCP_SND_BUF_DEFAULT;CONFIG_LWIP_TCP_WND_DEFAULT;CONFIG_TCP_WND_DEFAULT;CONFIG_LWIP_TCP_RECVMBOX_SIZE;CONFIG_TCP_RECVMBOX_SIZE;CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE;CONFIG_LWIP_TCP_QUEUE_OOSEQ;CONFIG_TCP_QUEUE_OOSEQ;CONFIG_LWIP_TCP_OOSEQ_TIMEOUT;CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS;CONFIG_LWIP_TCP_SACK_OUT;CONFIG_LWIP_TCP_OVERSIZE_MSS;CONFIG_TCP_OVERSIZE_MSS;CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS;CONFIG_TCP_OVERSIZE_QUARTER_MSS;CONFIG_LWIP_TCP_OVERSIZE_DISABLE;CONFIG_TCP_OVERSIZE_DISABLE;CONFIG_LWIP_TCP_RTO_TIME;CONFIG_LWIP_MAX_UDP_PCBS;CONFIG_LWIP_UDP_RECVMBOX_SIZE;CONFIG_UDP_RECVMBOX_SIZE;CONFIG_LWIP_CHECKSUM_CHECK_IP;CONFIG_LWIP_CHECKSUM_CHECK_UDP;CONFIG_LWIP_CHECKSUM_CHECK_ICMP;CONFIG_LWIP_TCPIP_TASK_STACK_SIZE;CONFIG_TCPIP_TASK_STACK_SIZE;CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY;CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY;CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0;CONFIG_TCPIP_TASK_AFFINITY_CPU0;CONFIG_LWIP_TCPIP_TASK_AFFINITY;CONFIG_TCPIP_TASK_AFFINITY;CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE;CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS;CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES;CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS;CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS;CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT;CONFIG_LWIP_PPP_SUPPORT;CONFIG_PPP_SUPPORT;CONFIG_LWIP_SLIP_SUPPORT;CONFIG_LWIP_ICMP;CONFIG_LWIP_MULTICAST_PING;CONFIG_LWIP_BROADCAST_PING;CONFIG_LWIP_MAX_RAW_PCBS;CONFIG_LWIP_SNTP_MAX_SERVERS;CONFIG_LWIP_DHCP_GET_NTP_SRV;CONFIG_LWIP_SNTP_UPDATE_DELAY;CONFIG_LWIP_SNTP_STARTUP_DELAY;CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY;CONFIG_LWIP_DNS_MAX_HOST_IP;CONFIG_LWIP_DNS_MAX_SERVERS;CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT;CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF;CONFIG_LWIP_USE_ESP_GETADDRINFO;CONFIG_LWIP_BRIDGEIF_MAX_PORTS;CONFIG_LWIP_ESP_LWIP_ASSERT;CONFIG_LWIP_HOOK_TCP_ISN_NONE;CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT;CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM;CONFIG_LWIP_HOOK_IP6_ROUTE_NONE;CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT;CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM;CONFIG_LWIP_HOOK_ND6_GET_GW_NONE;CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT;CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM;CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE;CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT;CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM;CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE;CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT;CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM;CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE;CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT;CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM;CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE;CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM;CONFIG_LWIP_HOOK_IP6_INPUT_NONE;CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT;CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM;CONFIG_LWIP_DEBUG;CONFIG_MBEDTLS_VER_4_X_SUPPORT;CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_NONE;CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_SIZE;CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_PERF;CONFIG_MBEDTLS_FS_IO;CONFIG_MBEDTLS_THREADING_C;CONFIG_MBEDTLS_THREADING_ALT;CONFIG_MBEDTLS_THREADING_PTHREAD;CONFIG_MBEDTLS_ERROR_STRINGS;CONFIG_MBEDTLS_VERSION_C;CONFIG_MBEDTLS_HAVE_TIME;CONFIG_MBEDTLS_PLATFORM_TIME_ALT;CONFIG_MBEDTLS_HAVE_TIME_DATE;CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC;CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC;CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC;CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN;CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN;CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN;CONFIG_MBEDTLS_DYNAMIC_BUFFER;CONFIG_MBEDTLS_VERSION_FEATURES;CONFIG_MBEDTLS_DEBUG;CONFIG_MBEDTLS_SELF_TEST;CONFIG_MBEDTLS_X509_USE_C;CONFIG_MBEDTLS_PEM_PARSE_C;CONFIG_MBEDTLS_PEM_WRITE_C;CONFIG_MBEDTLS_PK_C;CONFIG_MBEDTLS_PK_PARSE_C;CONFIG_MBEDTLS_PK_WRITE_C;CONFIG_MBEDTLS_X509_REMOVE_INFO;CONFIG_MBEDTLS_X509_CRL_PARSE_C;CONFIG_MBEDTLS_X509_CRT_PARSE_C;CONFIG_MBEDTLS_X509_CSR_PARSE_C;CONFIG_MBEDTLS_X509_CREATE_C;CONFIG_MBEDTLS_X509_RSASSA_PSS_SUPPORT;CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK;CONFIG_MBEDTLS_ASN1_PARSE_C;CONFIG_MBEDTLS_ASN1_WRITE_C;CONFIG_MBEDTLS_CERTIFICATE_BUNDLE;CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL;CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN;CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE;CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE;CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST;CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS;CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION;CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY;CONFIG_MBEDTLS_TLS_ENABLED;CONFIG_MBEDTLS_SSL_PROTO_TLS1_2;CONFIG_MBEDTLS_SSL_PROTO_TLS1_3;CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1;CONFIG_MBEDTLS_TLS_SERVER;CONFIG_MBEDTLS_TLS_CLIENT;CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT;CONFIG_MBEDTLS_TLS_SERVER_ONLY;CONFIG_MBEDTLS_TLS_CLIENT_ONLY;CONFIG_MBEDTLS_TLS_DISABLED;CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE;CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION;CONFIG_MBEDTLS_SSL_CACHE_C;CONFIG_MBEDTLS_SSL_ALL_ALERT_MESSAGES;CONFIG_MBEDTLS_PSK_MODES;CONFIG_MBEDTLS_KEY_EXCHANGE_RSA;CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE;CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA;CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA;CONFIG_MBEDTLS_SSL_SERVER_NAME_INDICATION;CONFIG_MBEDTLS_SSL_ALPN;CONFIG_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH;CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH;CONFIG_MBEDTLS_SSL_RENEGOTIATION;CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS;CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS;CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT;CONFIG_MBEDTLS_SSL_PROTO_DTLS;CONFIG_MBEDTLS_AES_C;CONFIG_MBEDTLS_CAMELLIA_C;CONFIG_MBEDTLS_ARIA_C;CONFIG_MBEDTLS_DES_C;CONFIG_MBEDTLS_CCM_C;CONFIG_MBEDTLS_CIPHER_MODE_CBC;CONFIG_MBEDTLS_CIPHER_MODE_CFB;CONFIG_MBEDTLS_CIPHER_MODE_CTR;CONFIG_MBEDTLS_CIPHER_MODE_OFB;CONFIG_MBEDTLS_CIPHER_MODE_XTS;CONFIG_MBEDTLS_GCM_C;CONFIG_MBEDTLS_NIST_KW_C;CONFIG_MBEDTLS_AES_ROM_TABLES;CONFIG_MBEDTLS_AES_FEWER_TABLES;CONFIG_MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH;CONFIG_MBEDTLS_CMAC_C;CONFIG_MBEDTLS_BIGNUM_C;CONFIG_MBEDTLS_RSA_C;CONFIG_MBEDTLS_ECP_C;CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED;CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED;CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED;CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED;CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED;CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED;CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED;CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED;CONFIG_MBEDTLS_ECP_NIST_OPTIM;CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM;CONFIG_MBEDTLS_DHM_C;CONFIG_MBEDTLS_ECDH_C;CONFIG_MBEDTLS_ECJPAKE_C;CONFIG_MBEDTLS_ECDSA_C;CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED;CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED;CONFIG_MBEDTLS_ECDSA_DETERMINISTIC;CONFIG_MBEDTLS_ECP_RESTARTABLE;CONFIG_MBEDTLS_RIPEMD160_C;CONFIG_MBEDTLS_MD_C;CONFIG_MBEDTLS_MD5_C;CONFIG_MBEDTLS_SHA1_C;CONFIG_MBEDTLS_SHA224_C;CONFIG_MBEDTLS_SHA256_C;CONFIG_MBEDTLS_SHA384_C;CONFIG_MBEDTLS_SHA512_C;CONFIG_MBEDTLS_SHA3_C;CONFIG_MBEDTLS_ROM_MD5;CONFIG_MBEDTLS_HARDWARE_ECC;CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK;CONFIG_MBEDTLS_HARDWARE_SHA;CONFIG_MBEDTLS_HARDWARE_MPI;CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI;CONFIG_MBEDTLS_MPI_USE_INTERRUPT;CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL;CONFIG_MBEDTLS_HARDWARE_AES;CONFIG_MBEDTLS_AES_SOFT_FALLBACK;CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER;CONFIG_MBEDTLS_AES_USE_INTERRUPT;CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL;CONFIG_MBEDTLS_AES_HW_SMALL_DATA_LEN_OPTIM;CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN;CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY;CONFIG_MBEDTLS_HARDWARE_RSA_DS_PERIPHERAL;CONFIG_MBEDTLS_ENTROPY_FORCE_SHA256;CONFIG_MBEDTLS_CTR_DRBG_C;CONFIG_MBEDTLS_HMAC_DRBG_C;CONFIG_MBEDTLS_BASE64_C;CONFIG_MBEDTLS_PKCS5_C;CONFIG_MBEDTLS_PKCS7_C;CONFIG_MBEDTLS_PKCS1_V15;CONFIG_MBEDTLS_PKCS1_V21;CONFIG_MBEDTLS_CHACHA20_C;CONFIG_NVS_ENCRYPTION;CONFIG_NVS_ASSERT_ERROR_CHECK;CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY;CONFIG_NVS_BDL_STACK;CONFIG_NVS_FLASH_VERIFY_ERASE;CONFIG_OPENTHREAD_ENABLED;CONFIG_OPENTHREAD_SPINEL_ONLY;CONFIG_OPENTHREAD_DEBUG;CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0;CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1;CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2;CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION;CONFIG_PTHREAD_TASK_PRIO_DEFAULT;CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT;CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT;CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT;CONFIG_PTHREAD_STACK_MIN;CONFIG_ESP32_PTHREAD_STACK_MIN;CONFIG_PTHREAD_TASK_CORE_DEFAULT;CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT;CONFIG_PTHREAD_TASK_NAME_DEFAULT;CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT;CONFIG_SD_ENABLE_SDIO_SUPPORT;CONFIG_MMU_PAGE_SIZE_32KB;CONFIG_MMU_PAGE_MODE;CONFIG_MMU_PAGE_SIZE;CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC;CONFIG_SPI_FLASH_BROWNOUT_RESET;CONFIG_SPI_FLASH_AUTO_SUSPEND;CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US;CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND;CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND;CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM;CONFIG_SPI_FLASH_VERIFY_WRITE;CONFIG_SPI_FLASH_ENABLE_COUNTERS;CONFIG_SPI_FLASH_ROM_IMPL;CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS;CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS;CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS;CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS;CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED;CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED;CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE;CONFIG_SPI_FLASH_YIELD_DURING_ERASE;CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS;CONFIG_SPI_FLASH_ERASE_YIELD_TICKS;CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE;CONFIG_SPI_FLASH_SIZE_OVERRIDE;CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED;CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST;CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED;CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED;CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP;CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP;CONFIG_SPI_FLASH_SUPPORT_GD_CHIP;CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP;CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP;CONFIG_SPI_FLASH_SUPPORT_TH_CHIP;CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE;CONFIG_SPIFFS_MAX_PARTITIONS;CONFIG_SPIFFS_CACHE;CONFIG_SPIFFS_CACHE_WR;CONFIG_SPIFFS_CACHE_STATS;CONFIG_SPIFFS_PAGE_CHECK;CONFIG_SPIFFS_GC_MAX_RUNS;CONFIG_SPIFFS_GC_STATS;CONFIG_SPIFFS_PAGE_SIZE;CONFIG_SPIFFS_OBJ_NAME_LEN;CONFIG_SPIFFS_FOLLOW_SYMLINKS;CONFIG_SPIFFS_USE_MAGIC;CONFIG_SPIFFS_USE_MAGIC_LENGTH;CONFIG_SPIFFS_META_LENGTH;CONFIG_SPIFFS_USE_MTIME;CONFIG_SPIFFS_DBG;CONFIG_SPIFFS_API_DBG;CONFIG_SPIFFS_GC_DBG;CONFIG_SPIFFS_CACHE_DBG;CONFIG_SPIFFS_CHECK_DBG;CONFIG_SPIFFS_TEST_VISUALISATION;CONFIG_WS_TRANSPORT;CONFIG_WS_BUFFER_SIZE;CONFIG_WS_DYNAMIC_BUFFER;CONFIG_ULP_COPROC_ENABLED;CONFIG_UNITY_ENABLE_FLOAT;CONFIG_UNITY_ENABLE_DOUBLE;CONFIG_UNITY_ENABLE_64BIT;CONFIG_UNITY_ENABLE_COLOR;CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER;CONFIG_UNITY_ENABLE_FIXTURE;CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL;CONFIG_VFS_SUPPORT_IO;CONFIG_VFS_SUPPORT_DIR;CONFIG_VFS_SUPPORT_SELECT;CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT;CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT;CONFIG_VFS_SELECT_IN_RAM;CONFIG_VFS_SUPPORT_TERMIOS;CONFIG_SUPPORT_TERMIOS;CONFIG_VFS_MAX_COUNT;CONFIG_VFS_SUPPRESS_CTX_DEPRECATION;CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS;CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS;CONFIG_VFS_INITIALIZE_DEV_NULL;CONFIG_WL_SECTOR_SIZE_512;CONFIG_WL_SECTOR_SIZE_4096;CONFIG_WL_SECTOR_SIZE;CONFIG_IDF_EXPERIMENTAL_FEATURES) +# List of deprecated options for backward compatibility +set(CONFIG_APP_BUILD_TYPE_ELF_RAM "") +set(CONFIG_NO_BLOBS "") +set(CONFIG_APP_ROLLBACK_ENABLE "") +set(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE "") +set(CONFIG_LOG_BOOTLOADER_LEVEL_NONE "") +set(CONFIG_LOG_BOOTLOADER_LEVEL_ERROR "") +set(CONFIG_LOG_BOOTLOADER_LEVEL_WARN "") +set(CONFIG_LOG_BOOTLOADER_LEVEL_INFO "y") +set(CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG "") +set(CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE "") +set(CONFIG_LOG_BOOTLOADER_LEVEL "3") +set(CONFIG_FLASH_ENCRYPTION_ENABLED "") +set(CONFIG_FLASHMODE_QIO "") +set(CONFIG_FLASHMODE_QOUT "") +set(CONFIG_FLASHMODE_DIO "y") +set(CONFIG_FLASHMODE_DOUT "") +set(CONFIG_MONITOR_BAUD "115200") +set(CONFIG_OPTIMIZATION_LEVEL_DEBUG "y") +set(CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG "y") +set(CONFIG_COMPILER_OPTIMIZATION_DEFAULT "y") +set(CONFIG_OPTIMIZATION_LEVEL_RELEASE "") +set(CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE "") +set(CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED "y") +set(CONFIG_OPTIMIZATION_ASSERTIONS_SILENT "") +set(CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED "") +set(CONFIG_OPTIMIZATION_ASSERTION_LEVEL "2") +set(CONFIG_CXX_EXCEPTIONS "") +set(CONFIG_STACK_CHECK_NONE "y") +set(CONFIG_STACK_CHECK_NORM "") +set(CONFIG_STACK_CHECK_STRONG "") +set(CONFIG_STACK_CHECK_ALL "") +set(CONFIG_WARN_WRITE_STRINGS "") +set(CONFIG_SW_COEXIST_ENABLE "y") +set(CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE "y") +set(CONFIG_ESP_WIFI_SW_COEXIST_ENABLE "y") +set(CONFIG_EXTERNAL_COEX_ENABLE "") +set(CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE "") +set(CONFIG_GPTIMER_ISR_IRAM_SAFE "") +set(CONFIG_MCPWM_ISR_IRAM_SAFE "") +set(CONFIG_EVENT_LOOP_PROFILING "") +set(CONFIG_POST_EVENTS_FROM_ISR "y") +set(CONFIG_POST_EVENTS_FROM_IRAM_ISR "y") +set(CONFIG_GDBSTUB_SUPPORT_TASKS "y") +set(CONFIG_GDBSTUB_MAX_TASKS "32") +set(CONFIG_OTA_ALLOW_HTTP "") +set(CONFIG_ESP_SYSTEM_PD_FLASH "") +set(CONFIG_PERIPH_CTRL_FUNC_IN_IRAM "y") +set(CONFIG_BROWNOUT_DET "y") +set(CONFIG_BROWNOUT_DET_LVL_SEL_7 "y") +set(CONFIG_BROWNOUT_DET_LVL_SEL_6 "") +set(CONFIG_BROWNOUT_DET_LVL_SEL_5 "") +set(CONFIG_BROWNOUT_DET_LVL_SEL_4 "") +set(CONFIG_BROWNOUT_DET_LVL_SEL_3 "") +set(CONFIG_BROWNOUT_DET_LVL_SEL_2 "") +set(CONFIG_BROWNOUT_DET_LVL "7") +set(CONFIG_ESP_SYSTEM_BROWNOUT_INTR "y") +set(CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF "y") +set(CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF "") +set(CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR "") +set(CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF "") +set(CONFIG_NEWLIB_STDIN_LINE_ENDING_LF "") +set(CONFIG_NEWLIB_STDIN_LINE_ENDING_CR "y") +set(CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT "y") +set(CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC "") +set(CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT "") +set(CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE "") +set(CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE "y") +set(CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION "") +set(CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER "20") +set(CONFIG_ESP32_PHY_MAX_TX_POWER "20") +set(CONFIG_REDUCE_PHY_TX_POWER "") +set(CONFIG_ESP32_REDUCE_PHY_TX_POWER "") +set(CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU "y") +set(CONFIG_CONSOLE_UART_DEFAULT "y") +set(CONFIG_CONSOLE_UART_CUSTOM "") +set(CONFIG_CONSOLE_UART_NONE "") +set(CONFIG_ESP_CONSOLE_UART_NONE "") +set(CONFIG_CONSOLE_UART "y") +set(CONFIG_CONSOLE_UART_NUM "0") +set(CONFIG_CONSOLE_UART_BAUDRATE "115200") +set(CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT "y") +set(CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_VIA_TEE "y") +set(CONFIG_ESP_SYSTEM_MEMPROT_FEATURE "y") +set(CONFIG_ESP_SYSTEM_PMP_LP_CORE_RESERVE_MEM_EXECUTABLE "") +set(CONFIG_SYSTEM_EVENT_QUEUE_SIZE "32") +set(CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE "2304") +set(CONFIG_MAIN_TASK_STACK_SIZE "3584") +set(CONFIG_INT_WDT "y") +set(CONFIG_INT_WDT_TIMEOUT_MS "300") +set(CONFIG_TASK_WDT "y") +set(CONFIG_ESP_TASK_WDT "y") +set(CONFIG_TASK_WDT_PANIC "") +set(CONFIG_TASK_WDT_TIMEOUT_S "5") +set(CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0 "y") +set(CONFIG_ESP32_DEBUG_STUBS_ENABLE "") +set(CONFIG_IPC_TASK_STACK_SIZE "1024") +set(CONFIG_TIMER_TASK_STACK_SIZE "3584") +set(CONFIG_ESP32_APPTRACE_ENABLE "") +set(CONFIG_ESP32_WIFI_ENABLED "y") +set(CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM "10") +set(CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM "32") +set(CONFIG_ESP32_WIFI_STATIC_TX_BUFFER "") +set(CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER "y") +set(CONFIG_ESP32_WIFI_TX_BUFFER_TYPE "1") +set(CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM "32") +set(CONFIG_ESP32_WIFI_CSI_ENABLED "") +set(CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED "y") +set(CONFIG_ESP32_WIFI_TX_BA_WIN "6") +set(CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED "y") +set(CONFIG_ESP32_WIFI_RX_BA_WIN "6") +set(CONFIG_ESP32_WIFI_NVS_ENABLED "y") +set(CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN "752") +set(CONFIG_ESP32_WIFI_MGMT_SBUF_NUM "32") +set(CONFIG_ESP32_WIFI_IRAM_OPT "y") +set(CONFIG_ESP32_WIFI_RX_IRAM_OPT "y") +set(CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE "y") +set(CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA "y") +set(CONFIG_WPA_MBEDTLS_CRYPTO "y") +set(CONFIG_WPA_MBEDTLS_TLS_CLIENT "y") +set(CONFIG_WPA_WAPI_PSK "") +set(CONFIG_WPA_SUITE_B_192 "") +set(CONFIG_WPA_11KV_SUPPORT "") +set(CONFIG_WPA_MBO_SUPPORT "") +set(CONFIG_WPA_DPP_SUPPORT "") +set(CONFIG_WPA_11R_SUPPORT "") +set(CONFIG_WPA_WPS_SOFTAP_REGISTRAR "") +set(CONFIG_WPA_WPS_STRICT "") +set(CONFIG_WPA_DEBUG_PRINT "") +set(CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH "") +set(CONFIG_ESP32_ENABLE_COREDUMP_TO_UART "") +set(CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE "y") +set(CONFIG_TIMER_TASK_PRIORITY "1") +set(CONFIG_TIMER_TASK_STACK_DEPTH "2048") +set(CONFIG_TIMER_QUEUE_LENGTH "10") +set(CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK "") +set(CONFIG_HAL_ASSERTION_SILIENT "") +set(CONFIG_L2_TO_L3_COPY "") +set(CONFIG_ESP_GRATUITOUS_ARP "y") +set(CONFIG_GARP_TMR_INTERVAL "60") +set(CONFIG_TCPIP_RECVMBOX_SIZE "32") +set(CONFIG_TCP_MAXRTX "12") +set(CONFIG_TCP_SYNMAXRTX "12") +set(CONFIG_TCP_MSS "1440") +set(CONFIG_TCP_MSL "60000") +set(CONFIG_TCP_SND_BUF_DEFAULT "5760") +set(CONFIG_TCP_WND_DEFAULT "5760") +set(CONFIG_TCP_RECVMBOX_SIZE "6") +set(CONFIG_TCP_QUEUE_OOSEQ "y") +set(CONFIG_TCP_OVERSIZE_MSS "y") +set(CONFIG_TCP_OVERSIZE_QUARTER_MSS "") +set(CONFIG_TCP_OVERSIZE_DISABLE "") +set(CONFIG_UDP_RECVMBOX_SIZE "6") +set(CONFIG_TCPIP_TASK_STACK_SIZE "3072") +set(CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY "y") +set(CONFIG_TCPIP_TASK_AFFINITY_CPU0 "") +set(CONFIG_TCPIP_TASK_AFFINITY "0x7fffffff") +set(CONFIG_PPP_SUPPORT "") +set(CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT "5") +set(CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT "3072") +set(CONFIG_ESP32_PTHREAD_STACK_MIN "768") +set(CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT "-1") +set(CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT "pthread") +set(CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS "y") +set(CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS "") +set(CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED "") +set(CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT "y") +set(CONFIG_SUPPORT_TERMIOS "") +set(CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS "1") diff --git a/.pio/build/xiao-esp32c6/config/sdkconfig.h b/.pio/build/xiao-esp32c6/config/sdkconfig.h new file mode 100644 index 0000000..989b9ef --- /dev/null +++ b/.pio/build/xiao-esp32c6/config/sdkconfig.h @@ -0,0 +1,1055 @@ +/* + * Automatically generated file. DO NOT EDIT. + * Espressif IoT Development Framework (ESP-IDF) 6.0.1 Configuration Header + */ +#pragma once +#define CONFIG_SOC_ADC_SUPPORTED 1 +#define CONFIG_SOC_DEDICATED_GPIO_SUPPORTED 1 +#define CONFIG_SOC_UART_SUPPORTED 1 +#define CONFIG_SOC_UHCI_SUPPORTED 1 +#define CONFIG_SOC_GDMA_SUPPORTED 1 +#define CONFIG_SOC_AHB_GDMA_SUPPORTED 1 +#define CONFIG_SOC_GPTIMER_SUPPORTED 1 +#define CONFIG_SOC_PCNT_SUPPORTED 1 +#define CONFIG_SOC_MCPWM_SUPPORTED 1 +#define CONFIG_SOC_TWAI_SUPPORTED 1 +#define CONFIG_SOC_ETM_SUPPORTED 1 +#define CONFIG_SOC_PARLIO_SUPPORTED 1 +#define CONFIG_SOC_BT_SUPPORTED 1 +#define CONFIG_SOC_IEEE802154_SUPPORTED 1 +#define CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED 1 +#define CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED 1 +#define CONFIG_SOC_TEMP_SENSOR_SUPPORTED 1 +#define CONFIG_SOC_PHY_SUPPORTED 1 +#define CONFIG_SOC_WIFI_SUPPORTED 1 +#define CONFIG_SOC_SUPPORTS_SECURE_DL_MODE 1 +#define CONFIG_SOC_ULP_SUPPORTED 1 +#define CONFIG_SOC_LP_CORE_SUPPORTED 1 +#define CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD 1 +#define CONFIG_SOC_EFUSE_SUPPORTED 1 +#define CONFIG_SOC_RTC_FAST_MEM_SUPPORTED 1 +#define CONFIG_SOC_RTC_MEM_SUPPORTED 1 +#define CONFIG_SOC_I2S_SUPPORTED 1 +#define CONFIG_SOC_RMT_SUPPORTED 1 +#define CONFIG_SOC_SDM_SUPPORTED 1 +#define CONFIG_SOC_GPSPI_SUPPORTED 1 +#define CONFIG_SOC_LEDC_SUPPORTED 1 +#define CONFIG_SOC_I2C_SUPPORTED 1 +#define CONFIG_SOC_SYSTIMER_SUPPORTED 1 +#define CONFIG_SOC_SUPPORT_COEXISTENCE 1 +#define CONFIG_SOC_AES_SUPPORTED 1 +#define CONFIG_SOC_MPI_SUPPORTED 1 +#define CONFIG_SOC_SHA_SUPPORTED 1 +#define CONFIG_SOC_HMAC_SUPPORTED 1 +#define CONFIG_SOC_DIG_SIGN_SUPPORTED 1 +#define CONFIG_SOC_ECC_SUPPORTED 1 +#define CONFIG_SOC_FLASH_ENC_SUPPORTED 1 +#define CONFIG_SOC_SECURE_BOOT_SUPPORTED 1 +#define CONFIG_SOC_SDIO_SLAVE_SUPPORTED 1 +#define CONFIG_SOC_BOD_SUPPORTED 1 +#define CONFIG_SOC_APM_SUPPORTED 1 +#define CONFIG_SOC_PMU_SUPPORTED 1 +#define CONFIG_SOC_PMU_PVT_SUPPORTED 1 +#define CONFIG_SOC_PAU_SUPPORTED 1 +#define CONFIG_SOC_RTC_TIMER_V2_SUPPORTED 1 +#define CONFIG_SOC_LP_AON_SUPPORTED 1 +#define CONFIG_SOC_LP_PERIPHERALS_SUPPORTED 1 +#define CONFIG_SOC_LP_I2C_SUPPORTED 1 +#define CONFIG_SOC_ULP_LP_UART_SUPPORTED 1 +#define CONFIG_SOC_CLK_TREE_SUPPORTED 1 +#define CONFIG_SOC_ASSIST_DEBUG_SUPPORTED 1 +#define CONFIG_SOC_WDT_SUPPORTED 1 +#define CONFIG_SOC_SPI_FLASH_SUPPORTED 1 +#define CONFIG_SOC_RNG_SUPPORTED 1 +#define CONFIG_SOC_LIGHT_SLEEP_SUPPORTED 1 +#define CONFIG_SOC_DEEP_SLEEP_SUPPORTED 1 +#define CONFIG_SOC_MODEM_CLOCK_SUPPORTED 1 +#define CONFIG_SOC_PM_SUPPORTED 1 +#define CONFIG_SOC_XTAL_SUPPORT_40M 1 +#define CONFIG_SOC_XTAL_CLOCK_PATH_DEPENDS_ON_TOP_DOMAIN 1 +#define CONFIG_SOC_AES_SUPPORT_DMA 1 +#define CONFIG_SOC_AES_GDMA 1 +#define CONFIG_SOC_AES_SUPPORT_AES_128 1 +#define CONFIG_SOC_AES_SUPPORT_AES_256 1 +#define CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED 1 +#define CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED 1 +#define CONFIG_SOC_ADC_MONITOR_SUPPORTED 1 +#define CONFIG_SOC_ADC_DMA_SUPPORTED 1 +#define CONFIG_SOC_ADC_PERIPH_NUM 1 +#define CONFIG_SOC_ADC_MAX_CHANNEL_NUM 7 +#define CONFIG_SOC_ADC_ATTEN_NUM 4 +#define CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM 1 +#define CONFIG_SOC_ADC_PATT_LEN_MAX 8 +#define CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH 12 +#define CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH 12 +#define CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM 2 +#define CONFIG_SOC_ADC_DIGI_MONITOR_NUM 2 +#define CONFIG_SOC_ADC_DIGI_RESULT_BYTES 4 +#define CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV 4 +#define CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH 83333 +#define CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW 611 +#define CONFIG_SOC_ADC_RTC_MIN_BITWIDTH 12 +#define CONFIG_SOC_ADC_RTC_MAX_BITWIDTH 12 +#define CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED 1 +#define CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED 1 +#define CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED 1 +#define CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR 1 +#define CONFIG_SOC_ADC_SHARED_POWER 1 +#define CONFIG_SOC_BROWNOUT_RESET_SUPPORTED 1 +#define CONFIG_SOC_SHARED_IDCACHE_SUPPORTED 1 +#define CONFIG_SOC_CACHE_FREEZE_SUPPORTED 1 +#define CONFIG_SOC_CPU_CORES_NUM 1 +#define CONFIG_SOC_CPU_INTR_NUM 32 +#define CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC 1 +#define CONFIG_SOC_INT_PLIC_SUPPORTED 1 +#define CONFIG_SOC_CPU_HAS_CSR_PC 1 +#define CONFIG_SOC_CPU_BREAKPOINTS_NUM 4 +#define CONFIG_SOC_CPU_WATCHPOINTS_NUM 4 +#define CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE 0x80000000 +#define CONFIG_SOC_CPU_HAS_PMA 1 +#define CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP 1 +#define CONFIG_SOC_CPU_PMP_REGION_GRANULARITY 4 +#define CONFIG_SOC_CPU_MISALIGNED_ACCESS_ON_PMP_MISMATCH_ISSUE 1 +#define CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN 3072 +#define CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH 16 +#define CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US 1100 +#define CONFIG_SOC_AHB_GDMA_VERSION 1 +#define CONFIG_SOC_GDMA_SUPPORT_ETM 1 +#define CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_GPIO_PORT 1 +#define CONFIG_SOC_GPIO_PIN_COUNT 31 +#define CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER 1 +#define CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM 8 +#define CONFIG_SOC_GPIO_SUPPORT_ETM 1 +#define CONFIG_SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP 1 +#define CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT 1 +#define CONFIG_SOC_GPIO_IN_RANGE_MAX 30 +#define CONFIG_SOC_GPIO_OUT_RANGE_MAX 30 +#define CONFIG_SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_MASK 0 +#define CONFIG_SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_PIN_CNT 8 +#define CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK 0x000000007FFFFF00 +#define CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD 1 +#define CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP 1 +#define CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX 1 +#define CONFIG_SOC_CLOCKOUT_HAS_SOURCE_GATE 1 +#define CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM 3 +#define CONFIG_SOC_RTCIO_PIN_COUNT 8 +#define CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED 1 +#define CONFIG_SOC_RTCIO_HOLD_SUPPORTED 1 +#define CONFIG_SOC_RTCIO_WAKE_SUPPORTED 1 +#define CONFIG_SOC_SDM_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_ETM_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_I2C_NUM 2 +#define CONFIG_SOC_HP_I2C_NUM 1 +#define CONFIG_SOC_LP_I2C_NUM 1 +#define CONFIG_SOC_I2C_SUPPORT_XTAL 1 +#define CONFIG_SOC_I2C_SUPPORT_RTC 1 +#define CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR 1 +#define CONFIG_SOC_I2C_SUPPORT_SLAVE 1 +#define CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST 1 +#define CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE 1 +#define CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_I2S_HW_VERSION_2 1 +#define CONFIG_SOC_I2S_SUPPORTS_ETM 1 +#define CONFIG_SOC_I2S_SUPPORTS_PCM 1 +#define CONFIG_SOC_I2S_SUPPORTS_PDM 1 +#define CONFIG_SOC_I2S_SUPPORTS_PDM_TX 1 +#define CONFIG_SOC_I2S_SUPPORTS_PCM2PDM 1 +#define CONFIG_SOC_I2S_SUPPORTS_PDM_RX 1 +#define CONFIG_SOC_I2S_PDM_MAX_TX_LINES 2 +#define CONFIG_SOC_I2S_PDM_MAX_RX_LINES 1 +#define CONFIG_SOC_I2S_SUPPORTS_TDM 1 +#define CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK 1 +#define CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK 1 +#define CONFIG_SOC_LEDC_TIMER_NUM 4 +#define CONFIG_SOC_LEDC_CHANNEL_NUM 6 +#define CONFIG_SOC_LEDC_TIMER_BIT_WIDTH 20 +#define CONFIG_SOC_LEDC_SUPPORT_FADE_STOP 1 +#define CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED 1 +#define CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX 16 +#define CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH 10 +#define CONFIG_SOC_LEDC_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_LEDC_SUPPORT_ETM 1 +#define CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE 1 +#define CONFIG_SOC_MMU_PAGE_SIZE_8KB_SUPPORTED 1 +#define CONFIG_SOC_MMU_PERIPH_NUM 1 +#define CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM 1 +#define CONFIG_SOC_MMU_DI_VADDR_SHARED 1 +#define CONFIG_SOC_MPU_MIN_REGION_SIZE 0x20000000 +#define CONFIG_SOC_MPU_REGIONS_MAX_NUM 8 +#define CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE 1 +#define CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL 48 +#define CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG 1 +#define CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT 1 +#define CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP 1 +#define CONFIG_SOC_RMT_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE 1 +#define CONFIG_SOC_MCPWM_SUPPORT_ETM 1 +#define CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP 1 +#define CONFIG_SOC_MCPWM_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH 16 +#define CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH 16 +#define CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT 1 +#define CONFIG_SOC_PARLIO_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_MPI_MEM_BLOCKS_NUM 4 +#define CONFIG_SOC_MPI_OPERATIONS_NUM 3 +#define CONFIG_SOC_RSA_MAX_BIT_LEN 3072 +#define CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE 3968 +#define CONFIG_SOC_SHA_SUPPORT_DMA 1 +#define CONFIG_SOC_SHA_SUPPORT_RESUME 1 +#define CONFIG_SOC_SHA_GDMA 1 +#define CONFIG_SOC_SHA_SUPPORT_SHA1 1 +#define CONFIG_SOC_SHA_SUPPORT_SHA224 1 +#define CONFIG_SOC_SHA_SUPPORT_SHA256 1 +#define CONFIG_SOC_SPI_PERIPH_NUM 2 +#define CONFIG_SOC_SPI_MAX_CS_NUM 6 +#define CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE 64 +#define CONFIG_SOC_SPI_SUPPORT_DDRCLK 1 +#define CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS 1 +#define CONFIG_SOC_SPI_SUPPORT_CD_SIG 1 +#define CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS 1 +#define CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2 1 +#define CONFIG_SOC_SPI_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_SPI_SUPPORT_CLK_XTAL 1 +#define CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F80M 1 +#define CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST 1 +#define CONFIG_SOC_SPI_SCT_SUPPORTED 1 +#define CONFIG_SOC_SPI_SCT_REG_NUM 14 +#define CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX 1 +#define CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX 0x3FFFA +#define CONFIG_SOC_MEMSPI_IS_INDEPENDENT 1 +#define CONFIG_SOC_SPI_MAX_PRE_DIVIDER 16 +#define CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE 1 +#define CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND 1 +#define CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME 1 +#define CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR 1 +#define CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND 1 +#define CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS 1 +#define CONFIG_SOC_SPI_MEM_SUPPORT_WRAP 1 +#define CONFIG_SOC_MEMSPI_ENCRYPTION_ALIGNMENT 16 +#define CONFIG_SOC_SYSTIMER_COUNTER_NUM 2 +#define CONFIG_SOC_SYSTIMER_ALARM_NUM 3 +#define CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO 32 +#define CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI 20 +#define CONFIG_SOC_SYSTIMER_FIXED_DIVIDER 1 +#define CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST 1 +#define CONFIG_SOC_SYSTIMER_INT_LEVEL 1 +#define CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE 1 +#define CONFIG_SOC_SYSTIMER_SUPPORT_ETM 1 +#define CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO 32 +#define CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI 16 +#define CONFIG_SOC_TIMER_SUPPORT_ETM 1 +#define CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_MWDT_SUPPORT_XTAL 1 +#define CONFIG_SOC_MWDT_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_TWAI_CONTROLLER_NUM 2 +#define CONFIG_SOC_TWAI_MASK_FILTER_NUM 1 +#define CONFIG_SOC_TWAI_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE 1 +#define CONFIG_SOC_EFUSE_DIS_PAD_JTAG 1 +#define CONFIG_SOC_EFUSE_DIS_USB_JTAG 1 +#define CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT 1 +#define CONFIG_SOC_EFUSE_SOFT_DIS_JTAG 1 +#define CONFIG_SOC_EFUSE_DIS_ICACHE 1 +#define CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK 1 +#define CONFIG_SOC_EFUSE_XTS_AES_KEY_128 1 +#define CONFIG_SOC_SECURE_BOOT_V2_RSA 1 +#define CONFIG_SOC_SECURE_BOOT_V2_ECC 1 +#define CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS 3 +#define CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS 1 +#define CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY 1 +#define CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX 64 +#define CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES 1 +#define CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128 1 +#define CONFIG_SOC_FLASH_ENCRYPTION_PAGE_CONFIGURABLE 1 +#define CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED 1 +#define CONFIG_SOC_APM_LP_APM0_SUPPORTED 1 +#define CONFIG_SOC_APM_SUPPORT_LP_TEE_CTRL 1 +#define CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED 1 +#define CONFIG_SOC_UART_NUM 3 +#define CONFIG_SOC_UART_HP_NUM 2 +#define CONFIG_SOC_UART_LP_NUM 1 +#define CONFIG_SOC_UART_FIFO_LEN 128 +#define CONFIG_SOC_LP_UART_FIFO_LEN 16 +#define CONFIG_SOC_UART_BITRATE_MAX 5000000 +#define CONFIG_SOC_UART_SUPPORT_RTC_CLK 1 +#define CONFIG_SOC_UART_SUPPORT_XTAL_CLK 1 +#define CONFIG_SOC_UART_SUPPORT_WAKEUP_INT 1 +#define CONFIG_SOC_UART_HAS_LP_UART 1 +#define CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_UART_WAKEUP_CHARS_SEQ_MAX_LEN 5 +#define CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE 1 +#define CONFIG_SOC_UART_WAKEUP_SUPPORT_FIFO_THRESH_MODE 1 +#define CONFIG_SOC_UART_WAKEUP_SUPPORT_START_BIT_MODE 1 +#define CONFIG_SOC_UART_WAKEUP_SUPPORT_CHAR_SEQ_MODE 1 +#define CONFIG_SOC_UHCI_NUM 1 +#define CONFIG_SOC_COEX_HW_PTI 1 +#define CONFIG_SOC_EXTERNAL_COEX_ADVANCE 1 +#define CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE 21 +#define CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH 12 +#define CONFIG_SOC_RTC_MEM_SUPPORT_SPEED_MODE_SWITCH 1 +#define CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP 1 +#define CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP 1 +#define CONFIG_SOC_PM_SUPPORT_BT_WAKEUP 1 +#define CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP 1 +#define CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN 1 +#define CONFIG_SOC_PM_SUPPORT_CPU_PD 1 +#define CONFIG_SOC_PM_SUPPORT_MODEM_PD 1 +#define CONFIG_SOC_PM_SUPPORT_XTAL32K_PD 1 +#define CONFIG_SOC_PM_SUPPORT_RC32K_PD 1 +#define CONFIG_SOC_PM_SUPPORT_RC_FAST_PD 1 +#define CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD 1 +#define CONFIG_SOC_PM_SUPPORT_TOP_PD 1 +#define CONFIG_SOC_PM_SUPPORT_HP_AON_PD 1 +#define CONFIG_SOC_PM_SUPPORT_MAC_BB_PD 1 +#define CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD 1 +#define CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE 1 +#define CONFIG_SOC_PM_SUPPORT_PMU_CLK_ICG 1 +#define CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY 1 +#define CONFIG_SOC_PM_CPU_RETENTION_BY_SW 1 +#define CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA 1 +#define CONFIG_SOC_PM_RETENTION_HAS_CLOCK_BUG 1 +#define CONFIG_SOC_PM_MODEM_RF_FLAG_UPDATE_WORKAROUND 1 +#define CONFIG_SOC_PM_PAU_LINK_NUM 4 +#define CONFIG_SOC_PM_PAU_REGDMA_LINK_MULTI_ADDR 1 +#define CONFIG_SOC_PM_PAU_REGDMA_LINK_WIFIMAC 1 +#define CONFIG_SOC_PM_PAU_REGDMA_UPDATE_CACHE_BEFORE_WAIT_COMPARE 1 +#define CONFIG_SOC_PM_PMU_MIN_SLP_SLOW_CLK_CYCLE_FIXED 1 +#define CONFIG_SOC_PM_RETENTION_MODULE_NUM 32 +#define CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION 1 +#define CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT 1 +#define CONFIG_SOC_CLK_XTAL32K_SUPPORTED 1 +#define CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED 1 +#define CONFIG_SOC_CLK_RC32K_SUPPORTED 1 +#define CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D2 1 +#define CONFIG_SOC_RCC_IS_INDEPENDENT 1 +#define CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC 1 +#define CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL 1 +#define CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT 1 +#define CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_ETM 1 +#define CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION 1 +#define CONFIG_SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN 1 +#define CONFIG_SOC_RNG_CLOCK_IS_INDEPENDENT 1 +#define CONFIG_SOC_WIFI_HW_TSF 1 +#define CONFIG_SOC_WIFI_FTM_SUPPORT 1 +#define CONFIG_SOC_WIFI_GCMP_SUPPORT 1 +#define CONFIG_SOC_WIFI_WAPI_SUPPORT 1 +#define CONFIG_SOC_WIFI_TXOP_SUPPORT 1 +#define CONFIG_SOC_WIFI_CSI_SUPPORT 1 +#define CONFIG_SOC_WIFI_MESH_SUPPORT 1 +#define CONFIG_SOC_WIFI_HE_SUPPORT 1 +#define CONFIG_SOC_WIFI_MAC_VERSION_NUM 2 +#define CONFIG_SOC_BLE_SUPPORTED 1 +#define CONFIG_SOC_BLE_MESH_SUPPORTED 1 +#define CONFIG_SOC_ESP_NIMBLE_CONTROLLER 1 +#define CONFIG_SOC_BLE_50_SUPPORTED 1 +#define CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED 1 +#define CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED 1 +#define CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED 1 +#define CONFIG_SOC_BLUFI_SUPPORTED 1 +#define CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION 1 +#define CONFIG_SOC_BLE_SUBRATE_SUPPORTED 1 +#define CONFIG_SOC_BLE_PERIODIC_ADV_WITH_RESPONSE 1 +#define CONFIG_SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND 1 +#define CONFIG_SOC_PHY_COMBO_MODULE 1 +#define CONFIG_SOC_CAPS_NO_RESET_BY_ANA_BOD 1 +#define CONFIG_SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR 1 +#define CONFIG_SOC_LP_CORE_SUPPORT_ETM 1 +#define CONFIG_SOC_DEBUG_HAVE_OCD_STUB_BINS 1 +#define CONFIG_IDF_CMAKE 1 +#define CONFIG_IDF_TOOLCHAIN "gcc" +#define CONFIG_IDF_TOOLCHAIN_GCC 1 +#define CONFIG_IDF_TARGET_ARCH_RISCV 1 +#define CONFIG_IDF_TARGET_ARCH "riscv" +#define CONFIG_IDF_TARGET "esp32c6" +#define CONFIG_IDF_INIT_VERSION "6.0.1" +#define CONFIG_IDF_TARGET_ESP32C6 1 +#define CONFIG_IDF_FIRMWARE_CHIP_ID 0x000D +#define CONFIG_APP_BUILD_TYPE_APP_2NDBOOT 1 +#define CONFIG_APP_BUILD_GENERATE_BINARIES 1 +#define CONFIG_APP_BUILD_BOOTLOADER 1 +#define CONFIG_APP_BUILD_USE_FLASH_SECTIONS 1 +#define CONFIG_BOOTLOADER_COMPILE_TIME_DATE 1 +#define CONFIG_BOOTLOADER_PROJECT_VER 1 +#define CONFIG_BOOTLOADER_OFFSET_IN_FLASH 0x0 +#define CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE 1 +#define CONFIG_BOOTLOADER_LOG_VERSION_1 1 +#define CONFIG_BOOTLOADER_LOG_VERSION 1 +#define CONFIG_BOOTLOADER_LOG_LEVEL_INFO 1 +#define CONFIG_BOOTLOADER_LOG_LEVEL 3 +#define CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS 1 +#define CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN 1 +#define CONFIG_BOOTLOADER_LOG_MODE_TEXT 1 +#define CONFIG_BOOTLOADER_CPU_CLK_FREQ_MHZ 80 +#define CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT 1 +#define CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE 1 +#define CONFIG_BOOTLOADER_WDT_ENABLE 1 +#define CONFIG_BOOTLOADER_WDT_TIME_MS 9000 +#define CONFIG_BOOTLOADER_RESERVE_RTC_SIZE 0x0 +#define CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED 1 +#define CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED 1 +#define CONFIG_SECURE_BOOT_V2_PREFERRED 1 +#define CONFIG_SECURE_ROM_DL_MODE_ENABLED 1 +#define CONFIG_APP_COMPILE_TIME_DATE 1 +#define CONFIG_APP_RETRIEVE_LEN_ELF_SHA 9 +#define CONFIG_ESP_ROM_HAS_CRC_LE 1 +#define CONFIG_ESP_ROM_HAS_CRC_BE 1 +#define CONFIG_ESP_ROM_HAS_JPEG_DECODE 1 +#define CONFIG_ESP_ROM_UART_CLK_IS_XTAL 1 +#define CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM 3 +#define CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING 1 +#define CONFIG_ESP_ROM_GET_CLK_FREQ 1 +#define CONFIG_ESP_ROM_HAS_RVFPLIB 1 +#define CONFIG_ESP_ROM_HAS_HAL_WDT 1 +#define CONFIG_ESP_ROM_HAS_HAL_SYSTIMER 1 +#define CONFIG_ESP_ROM_SYSTIMER_INIT_PATCH 1 +#define CONFIG_ESP_ROM_HAS_HEAP_TLSF 1 +#define CONFIG_ESP_ROM_TLSF_CHECK_PATCH 1 +#define CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH 1 +#define CONFIG_ESP_ROM_HAS_LAYOUT_TABLE 1 +#define CONFIG_ESP_ROM_HAS_SPI_FLASH 1 +#define CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP 1 +#define CONFIG_ESP_ROM_HAS_REGI2C_BUG 1 +#define CONFIG_ESP_ROM_HAS_NEWLIB 1 +#define CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT 1 +#define CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE 1 +#define CONFIG_ESP_ROM_WDT_INIT_PATCH 1 +#define CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE 1 +#define CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT 1 +#define CONFIG_ESP_ROM_HAS_SW_FLOAT 1 +#define CONFIG_ESP_ROM_USB_OTG_NUM -1 +#define CONFIG_ESP_ROM_HAS_VERSION 1 +#define CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB 1 +#define CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC 1 +#define CONFIG_ESP_ROM_NO_USB_SERIAL_OUTPUT_API 1 +#define CONFIG_ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY 1 +#define CONFIG_ESP_ROM_SUPPORT_SECURE_BOOT_FAST_WAKEUP 1 +#define CONFIG_BOOT_ROM_LOG_ALWAYS_ON 1 +#define CONFIG_SECURE_TEE_LOG_LEVEL 0 +#define CONFIG_ESPTOOLPY_FLASHMODE_DIO 1 +#define CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR 1 +#define CONFIG_ESPTOOLPY_FLASHMODE "dio" +#define CONFIG_ESPTOOLPY_FLASHFREQ_80M 1 +#define CONFIG_ESPTOOLPY_FLASHFREQ "80m" +#define CONFIG_ESPTOOLPY_FLASHSIZE_2MB 1 +#define CONFIG_ESPTOOLPY_FLASHSIZE "2MB" +#define CONFIG_ESPTOOLPY_BEFORE_RESET 1 +#define CONFIG_ESPTOOLPY_BEFORE "default-reset" +#define CONFIG_ESPTOOLPY_AFTER_RESET 1 +#define CONFIG_ESPTOOLPY_AFTER "hard-reset" +#define CONFIG_ESPTOOLPY_MONITOR_BAUD 115200 +#define CONFIG_PARTITION_TABLE_SINGLE_APP 1 +#define CONFIG_PARTITION_TABLE_CUSTOM_FILENAME "partitions.csv" +#define CONFIG_PARTITION_TABLE_FILENAME "partitions_singleapp.csv" +#define CONFIG_PARTITION_TABLE_OFFSET 0x8000 +#define CONFIG_PARTITION_TABLE_MD5 1 +#define CONFIG_COMPILER_OPTIMIZATION_DEBUG 1 +#define CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE 1 +#define CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB 1 +#define CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL 2 +#define CONFIG_COMPILER_HIDE_PATHS_MACROS 1 +#define CONFIG_COMPILER_STACK_CHECK_MODE_NONE 1 +#define CONFIG_COMPILER_RT_LIB_GCCLIB 1 +#define CONFIG_COMPILER_RT_LIB_NAME "gcc" +#define CONFIG_COMPILER_ORPHAN_SECTIONS_ERROR 1 +#define CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE 1 +#define CONFIG_EFUSE_MAX_BLK_LEN 256 +#define CONFIG_ESP_TLS_USING_MBEDTLS 1 +#define CONFIG_ESP_TLS_USE_DS_PERIPHERAL 1 +#define CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED 1 +#define CONFIG_ESP_COEX_ENABLED 1 +#define CONFIG_ESP_COEX_SW_COEXIST_ENABLE 1 +#define CONFIG_ESP_ERR_TO_NAME_LOOKUP 1 +#define CONFIG_GDMA_CTRL_FUNC_IN_IRAM 1 +#define CONFIG_GDMA_ISR_HANDLER_IN_IRAM 1 +#define CONFIG_GDMA_OBJ_DRAM_SAFE 1 +#define CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM 1 +#define CONFIG_GPTIMER_OBJ_CACHE_SAFE 1 +#define CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM 1 +#define CONFIG_MCPWM_ISR_HANDLER_IN_IRAM 1 +#define CONFIG_MCPWM_OBJ_CACHE_SAFE 1 +#define CONFIG_PARLIO_TX_ISR_HANDLER_IN_IRAM 1 +#define CONFIG_PARLIO_RX_ISR_HANDLER_IN_IRAM 1 +#define CONFIG_PARLIO_OBJ_CACHE_SAFE 1 +#define CONFIG_RMT_ENCODER_FUNC_IN_IRAM 1 +#define CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM 1 +#define CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM 1 +#define CONFIG_RMT_OBJ_CACHE_SAFE 1 +#define CONFIG_SPI_MASTER_ISR_IN_IRAM 1 +#define CONFIG_SPI_SLAVE_ISR_IN_IRAM 1 +#define CONFIG_USJ_ENABLE_USB_SERIAL_JTAG 1 +#define CONFIG_ETH_ENABLED 1 +#define CONFIG_ETH_USE_SPI_ETHERNET 1 +#define CONFIG_ESP_EVENT_POST_FROM_ISR 1 +#define CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR 1 +#define CONFIG_ESP_GDBSTUB_ENABLED 1 +#define CONFIG_ESP_GDBSTUB_SUPPORT_TASKS 1 +#define CONFIG_ESP_GDBSTUB_MAX_TASKS 32 +#define CONFIG_ESPHID_TASK_SIZE_BT 2048 +#define CONFIG_ESPHID_TASK_SIZE_BLE 4096 +#define CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS 1 +#define CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT 2000 +#define CONFIG_HTTPD_MAX_REQ_HDR_LEN 1024 +#define CONFIG_HTTPD_MAX_URI_LEN 512 +#define CONFIG_HTTPD_ERR_RESP_NO_DELAY 1 +#define CONFIG_HTTPD_PURGE_BUF_LEN 32 +#define CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT 2000 +#define CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT 2000 +#define CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT 2000 +#define CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM 1 +#define CONFIG_ESP32C6_REV_MIN_0 1 +#define CONFIG_ESP32C6_REV_MIN_FULL 0 +#define CONFIG_ESP_REV_MIN_FULL 0 +#define CONFIG_ESP32C6_REV_MAX_FULL 99 +#define CONFIG_ESP_REV_MAX_FULL 99 +#define CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL 0 +#define CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL 99 +#define CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA 1 +#define CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP 1 +#define CONFIG_ESP_MAC_ADDR_UNIVERSE_BT 1 +#define CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH 1 +#define CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154 1 +#define CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR 1 +#define CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES 4 +#define CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR 1 +#define CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES 4 +#define CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND 1 +#define CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND 1 +#define CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY 0 +#define CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS 1 +#define CONFIG_RTC_CLK_SRC_INT_RC 1 +#define CONFIG_RTC_CLK_CAL_CYCLES 1024 +#define CONFIG_RTC_CLK_FUNC_IN_IRAM 1 +#define CONFIG_RTC_TIME_FUNC_IN_IRAM 1 +#define CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM 1 +#define CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM 1 +#define CONFIG_XTAL_FREQ_40 1 +#define CONFIG_XTAL_FREQ 40 +#define CONFIG_ESP_BROWNOUT_DET 1 +#define CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 1 +#define CONFIG_ESP_BROWNOUT_DET_LVL 7 +#define CONFIG_ESP_BROWNOUT_USE_INTR 1 +#define CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM 1 +#define CONFIG_ESP_INTR_IN_IRAM 1 +#define CONFIG_LIBC_PICOLIBC 1 +#define CONFIG_LIBC_PICOLIBC_NEWLIB_COMPATIBILITY 1 +#define CONFIG_LIBC_MISC_IN_IRAM 1 +#define CONFIG_LIBC_LOCKS_PLACE_IN_IRAM 1 +#define CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF 1 +#define CONFIG_LIBC_STDIN_LINE_ENDING_CR 1 +#define CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT 1 +#define CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS 1 +#define CONFIG_LIBC_ASSERT_BUFFER_SIZE 200 +#define CONFIG_ESP_NETIF_LOST_IP_TIMER_ENABLE 1 +#define CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL 120 +#define CONFIG_ESP_NETIF_TCPIP_LWIP 1 +#define CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API 1 +#define CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC 1 +#define CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS 1 +#define CONFIG_ESP_PHY_ENABLED 1 +#define CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE 1 +#define CONFIG_ESP_PHY_MAX_WIFI_TX_POWER 20 +#define CONFIG_ESP_PHY_MAX_TX_POWER 20 +#define CONFIG_ESP_PHY_RF_CAL_PARTIAL 1 +#define CONFIG_ESP_PHY_CALIBRATION_MODE 0 +#define CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS 1000 +#define CONFIG_ESP_PHY_IRAM_OPT 1 +#define CONFIG_PM_SLEEP_FUNC_IN_IRAM 1 +#define CONFIG_PM_SLP_IRAM_OPT 1 +#define CONFIG_PM_SLP_DEFAULT_PARAMS_OPT 1 +#define CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP 1 +#define CONFIG_PM_CPU_RETENTION_DYNAMIC 1 +#define CONFIG_PM_ESP_SLEEP_POWER_DOWN_CPU 1 +#define CONFIG_ESP_ROM_PRINT_IN_IRAM 1 +#define CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP 1 +#define CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW 1 +#define CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL 1 +#define CONFIG_ESP_CONSOLE_UART_DEFAULT 1 +#define CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG 1 +#define CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED 1 +#define CONFIG_ESP_CONSOLE_UART 1 +#define CONFIG_ESP_CONSOLE_UART_NUM 0 +#define CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM 0 +#define CONFIG_ESP_CONSOLE_UART_BAUDRATE 115200 +#define CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 1 +#define CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ 160 +#define CONFIG_ESP_SYSTEM_IN_IRAM 1 +#define CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT 1 +#define CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS 0 +#define CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE 1 +#define CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK 1 +#define CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP 1 +#define CONFIG_ESP_SYSTEM_NO_BACKTRACE 1 +#define CONFIG_ESP_SYSTEM_MEMPROT 1 +#define CONFIG_ESP_SYSTEM_MEMPROT_PMP 1 +#define CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE 32 +#define CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE 2304 +#define CONFIG_ESP_MAIN_TASK_STACK_SIZE 3584 +#define CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0 1 +#define CONFIG_ESP_MAIN_TASK_AFFINITY 0x0 +#define CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE 2048 +#define CONFIG_ESP_INT_WDT 1 +#define CONFIG_ESP_INT_WDT_TIMEOUT_MS 300 +#define CONFIG_ESP_TASK_WDT_EN 1 +#define CONFIG_ESP_TASK_WDT_INIT 1 +#define CONFIG_ESP_TASK_WDT_TIMEOUT_S 5 +#define CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 1 +#define CONFIG_ESP_DEBUG_OCDAWARE 1 +#define CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4 1 +#define CONFIG_ESP_SYSTEM_HW_STACK_GUARD 1 +#define CONFIG_ESP_SYSTEM_BBPLL_RECALIB 1 +#define CONFIG_ESP_SYSTEM_HW_PC_RECORD 1 +#define CONFIG_ESP_IPC_TASK_STACK_SIZE 1024 +#define CONFIG_ESP_TIMER_IN_IRAM 1 +#define CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER 1 +#define CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER 1 +#define CONFIG_ESP_TIMER_TASK_STACK_SIZE 3584 +#define CONFIG_ESP_TIMER_INTERRUPT_LEVEL 1 +#define CONFIG_ESP_TIMER_TASK_AFFINITY 0x0 +#define CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0 1 +#define CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0 1 +#define CONFIG_ESP_TIMER_IMPL_SYSTIMER 1 +#define CONFIG_ESP_TRACE_LIB_NONE 1 +#define CONFIG_ESP_TRACE_LIB_NAME "none" +#define CONFIG_ESP_TRACE_TRANSPORT_NONE 1 +#define CONFIG_ESP_TRACE_TRANSPORT_NAME "none" +#define CONFIG_ESP_WIFI_ENABLED 1 +#define CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM 10 +#define CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM 32 +#define CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER 1 +#define CONFIG_ESP_WIFI_TX_BUFFER_TYPE 1 +#define CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM 32 +#define CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER 1 +#define CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF 0 +#define CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF 5 +#define CONFIG_ESP_WIFI_AMPDU_TX_ENABLED 1 +#define CONFIG_ESP_WIFI_TX_BA_WIN 6 +#define CONFIG_ESP_WIFI_AMPDU_RX_ENABLED 1 +#define CONFIG_ESP_WIFI_RX_BA_WIN 6 +#define CONFIG_ESP_WIFI_NVS_ENABLED 1 +#define CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN 752 +#define CONFIG_ESP_WIFI_MGMT_SBUF_NUM 32 +#define CONFIG_ESP_WIFI_IRAM_OPT 1 +#define CONFIG_ESP_WIFI_EXTRA_IRAM_OPT 1 +#define CONFIG_ESP_WIFI_RX_IRAM_OPT 1 +#define CONFIG_ESP_WIFI_ENABLE_WPA3_SAE 1 +#define CONFIG_ESP_WIFI_ENABLE_SAE_H2E 1 +#define CONFIG_ESP_WIFI_ENABLE_SAE_PK 1 +#define CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT 1 +#define CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA 1 +#define CONFIG_ESP_WIFI_WPA3_COMPATIBLE_SUPPORT 1 +#define CONFIG_ESP_WIFI_SLP_IRAM_OPT 1 +#define CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME 50 +#define CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT 1 +#define CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME 10 +#define CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME 15 +#define CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE 1 +#define CONFIG_ESP_WIFI_GMAC_SUPPORT 1 +#define CONFIG_ESP_WIFI_SOFTAP_SUPPORT 1 +#define CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM 7 +#define CONFIG_ESP_WIFI_MBEDTLS_CRYPTO 1 +#define CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT 1 +#define CONFIG_ESP_WIFI_TX_HETB_QUEUE_NUM 3 +#define CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT 1 +#define CONFIG_ESP_COREDUMP_ENABLE_TO_NONE 1 +#define CONFIG_FATFS_VOLUME_COUNT 2 +#define CONFIG_FATFS_LFN_HEAP 1 +#define CONFIG_FATFS_SECTOR_4096 1 +#define CONFIG_FATFS_CODEPAGE_437 1 +#define CONFIG_FATFS_CODEPAGE 437 +#define CONFIG_FATFS_MAX_LFN 255 +#define CONFIG_FATFS_API_ENCODING_ANSI_OEM 1 +#define CONFIG_FATFS_FS_LOCK 0 +#define CONFIG_FATFS_TIMEOUT_MS 10000 +#define CONFIG_FATFS_PER_FILE_CACHE 1 +#define CONFIG_FATFS_USE_STRFUNC_NONE 1 +#define CONFIG_FATFS_VFS_FSTAT_BLKSIZE 0 +#define CONFIG_FATFS_LINK_LOCK 1 +#define CONFIG_FATFS_USE_DYN_BUFFERS 1 +#define CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT 0 +#define CONFIG_FATFS_DONT_TRUST_LAST_ALLOC 0 +#define CONFIG_FREERTOS_UNICORE 1 +#define CONFIG_FREERTOS_HZ 100 +#define CONFIG_FREERTOS_OPTIMIZED_SCHEDULER 1 +#define CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY 1 +#define CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS 1 +#define CONFIG_FREERTOS_IDLE_TASK_STACKSIZE 1536 +#define CONFIG_FREERTOS_MAX_TASK_NAME_LEN 16 +#define CONFIG_FREERTOS_USE_TIMERS 1 +#define CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME "Tmr Svc" +#define CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY 1 +#define CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY 0x7FFFFFFF +#define CONFIG_FREERTOS_TIMER_TASK_PRIORITY 1 +#define CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH 2048 +#define CONFIG_FREERTOS_TIMER_QUEUE_LENGTH 10 +#define CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE 0 +#define CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES 1 +#define CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER 1 +#define CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS 1 +#define CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER 1 +#define CONFIG_FREERTOS_ISR_STACKSIZE 1536 +#define CONFIG_FREERTOS_INTERRUPT_BACKTRACE 1 +#define CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER 1 +#define CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1 1 +#define CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER 1 +#define CONFIG_FREERTOS_PORT 1 +#define CONFIG_FREERTOS_NO_AFFINITY 0x7FFFFFFF +#define CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION 1 +#define CONFIG_FREERTOS_DEBUG_OCDAWARE 1 +#define CONFIG_FREERTOS_NUMBER_OF_CORES 1 +#define CONFIG_HAL_ASSERTION_EQUALS_SYSTEM 1 +#define CONFIG_HAL_DEFAULT_ASSERTION_LEVEL 2 +#define CONFIG_HAL_SYSTIMER_USE_ROM_IMPL 1 +#define CONFIG_HAL_WDT_USE_ROM_IMPL 1 +#define CONFIG_HAL_GPIO_USE_ROM_IMPL 1 +#define CONFIG_HEAP_POISONING_DISABLED 1 +#define CONFIG_HEAP_TRACING_OFF 1 +#define CONFIG_HEAP_TLSF_USE_ROM_IMPL 1 +#define CONFIG_IEEE802154_ENABLED 1 +#define CONFIG_IEEE802154_RX_BUFFER_SIZE 20 +#define CONFIG_IEEE802154_CCA_ED 1 +#define CONFIG_IEEE802154_CCA_MODE 1 +#define CONFIG_IEEE802154_CCA_THRESHOLD -75 +#define CONFIG_IEEE802154_PENDING_TABLE_SIZE 20 +#define CONFIG_IEEE802154_INTERFACE_NUM 1 +#define CONFIG_IEEE802154_TIMING_OPTIMIZATION 1 +#define CONFIG_LOG_VERSION_1 1 +#define CONFIG_LOG_VERSION 1 +#define CONFIG_LOG_DEFAULT_LEVEL_INFO 1 +#define CONFIG_LOG_DEFAULT_LEVEL 3 +#define CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT 1 +#define CONFIG_LOG_MAXIMUM_LEVEL 3 +#define CONFIG_LOG_DYNAMIC_LEVEL_CONTROL 1 +#define CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST 1 +#define CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP 1 +#define CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE 31 +#define CONFIG_LOG_TIMESTAMP_SOURCE_RTOS 1 +#define CONFIG_LOG_MODE_TEXT_EN 1 +#define CONFIG_LOG_MODE_TEXT 1 +#define CONFIG_LOG_IN_IRAM 1 +#define CONFIG_LWIP_ENABLE 1 +#define CONFIG_LWIP_LOCAL_HOSTNAME "espressif" +#define CONFIG_LWIP_TCPIP_TASK_PRIO 18 +#define CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES 1 +#define CONFIG_LWIP_TIMERS_ONDEMAND 1 +#define CONFIG_LWIP_ND6 1 +#define CONFIG_LWIP_MAX_SOCKETS 10 +#define CONFIG_LWIP_SO_REUSE 1 +#define CONFIG_LWIP_SO_REUSE_RXTOALL 1 +#define CONFIG_LWIP_IP_DEFAULT_TTL 64 +#define CONFIG_LWIP_IP4_FRAG 1 +#define CONFIG_LWIP_IP6_FRAG 1 +#define CONFIG_LWIP_IP_REASS_MAX_PBUFS 10 +#define CONFIG_LWIP_IPV6_DUP_DETECT_ATTEMPTS 1 +#define CONFIG_LWIP_ESP_GRATUITOUS_ARP 1 +#define CONFIG_LWIP_GARP_TMR_INTERVAL 60 +#define CONFIG_LWIP_ESP_MLDV6_REPORT 1 +#define CONFIG_LWIP_MLDV6_TMR_INTERVAL 40 +#define CONFIG_LWIP_TCPIP_RECVMBOX_SIZE 32 +#define CONFIG_LWIP_DHCP_DOES_ARP_CHECK 1 +#define CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID 1 +#define CONFIG_LWIP_DHCP_OPTIONS_LEN 69 +#define CONFIG_LWIP_NUM_NETIF_CLIENT_DATA 0 +#define CONFIG_LWIP_DHCP_COARSE_TIMER_SECS 1 +#define CONFIG_LWIP_DHCPS 1 +#define CONFIG_LWIP_DHCPS_REPORT_CLIENT_HOSTNAME 1 +#define CONFIG_LWIP_DHCPS_LEASE_UNIT 60 +#define CONFIG_LWIP_DHCPS_MAX_STATION_NUM 8 +#define CONFIG_LWIP_DHCPS_MAX_HOSTNAME_LEN 64 +#define CONFIG_LWIP_DHCPS_STATIC_ENTRIES 1 +#define CONFIG_LWIP_IPV4 1 +#define CONFIG_LWIP_IPV6 1 +#define CONFIG_LWIP_IPV6_NUM_ADDRESSES 3 +#define CONFIG_LWIP_NETIF_LOOPBACK 1 +#define CONFIG_LWIP_LOOPBACK_MAX_PBUFS 8 +#define CONFIG_LWIP_MAX_ACTIVE_TCP 16 +#define CONFIG_LWIP_MAX_LISTENING_TCP 16 +#define CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION 1 +#define CONFIG_LWIP_TCP_MAXRTX 12 +#define CONFIG_LWIP_TCP_SYNMAXRTX 12 +#define CONFIG_LWIP_TCP_MSS 1440 +#define CONFIG_LWIP_TCP_TMR_INTERVAL 250 +#define CONFIG_LWIP_TCP_MSL 60000 +#define CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT 20000 +#define CONFIG_LWIP_TCP_SND_BUF_DEFAULT 5760 +#define CONFIG_LWIP_TCP_WND_DEFAULT 5760 +#define CONFIG_LWIP_TCP_RECVMBOX_SIZE 6 +#define CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE 6 +#define CONFIG_LWIP_TCP_QUEUE_OOSEQ 1 +#define CONFIG_LWIP_TCP_OOSEQ_TIMEOUT 6 +#define CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS 4 +#define CONFIG_LWIP_TCP_OVERSIZE_MSS 1 +#define CONFIG_LWIP_TCP_RTO_TIME 1500 +#define CONFIG_LWIP_MAX_UDP_PCBS 16 +#define CONFIG_LWIP_UDP_RECVMBOX_SIZE 6 +#define CONFIG_LWIP_CHECKSUM_CHECK_ICMP 1 +#define CONFIG_LWIP_TCPIP_TASK_STACK_SIZE 3072 +#define CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY 1 +#define CONFIG_LWIP_TCPIP_TASK_AFFINITY 0x7FFFFFFF +#define CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE 3 +#define CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS 5 +#define CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES 5 +#define CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS 3 +#define CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS 10 +#define CONFIG_LWIP_ICMP 1 +#define CONFIG_LWIP_MAX_RAW_PCBS 16 +#define CONFIG_LWIP_SNTP_MAX_SERVERS 1 +#define CONFIG_LWIP_SNTP_UPDATE_DELAY 3600000 +#define CONFIG_LWIP_SNTP_STARTUP_DELAY 1 +#define CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY 5000 +#define CONFIG_LWIP_DNS_MAX_HOST_IP 1 +#define CONFIG_LWIP_DNS_MAX_SERVERS 3 +#define CONFIG_LWIP_BRIDGEIF_MAX_PORTS 7 +#define CONFIG_LWIP_ESP_LWIP_ASSERT 1 +#define CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT 1 +#define CONFIG_LWIP_HOOK_IP6_ROUTE_NONE 1 +#define CONFIG_LWIP_HOOK_ND6_GET_GW_NONE 1 +#define CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE 1 +#define CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE 1 +#define CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE 1 +#define CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE 1 +#define CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT 1 +#define CONFIG_MBEDTLS_VER_4_X_SUPPORT 1 +#define CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_SIZE 1 +#define CONFIG_MBEDTLS_FS_IO 1 +#define CONFIG_MBEDTLS_THREADING_C 1 +#define CONFIG_MBEDTLS_THREADING_PTHREAD 1 +#define CONFIG_MBEDTLS_ERROR_STRINGS 1 +#define CONFIG_MBEDTLS_VERSION_C 1 +#define CONFIG_MBEDTLS_HAVE_TIME 1 +#define CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC 1 +#define CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN 1 +#define CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN 16384 +#define CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN 4096 +#define CONFIG_MBEDTLS_SELF_TEST 1 +#define CONFIG_MBEDTLS_X509_USE_C 1 +#define CONFIG_MBEDTLS_PEM_PARSE_C 1 +#define CONFIG_MBEDTLS_PEM_WRITE_C 1 +#define CONFIG_MBEDTLS_PK_C 1 +#define CONFIG_MBEDTLS_PK_PARSE_C 1 +#define CONFIG_MBEDTLS_PK_WRITE_C 1 +#define CONFIG_MBEDTLS_X509_CRL_PARSE_C 1 +#define CONFIG_MBEDTLS_X509_CRT_PARSE_C 1 +#define CONFIG_MBEDTLS_X509_CSR_PARSE_C 1 +#define CONFIG_MBEDTLS_X509_RSASSA_PSS_SUPPORT 1 +#define CONFIG_MBEDTLS_ASN1_PARSE_C 1 +#define CONFIG_MBEDTLS_ASN1_WRITE_C 1 +#define CONFIG_MBEDTLS_CERTIFICATE_BUNDLE 1 +#define CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL 1 +#define CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS 200 +#define CONFIG_MBEDTLS_TLS_ENABLED 1 +#define CONFIG_MBEDTLS_SSL_PROTO_TLS1_2 1 +#define CONFIG_MBEDTLS_TLS_SERVER 1 +#define CONFIG_MBEDTLS_TLS_CLIENT 1 +#define CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT 1 +#define CONFIG_MBEDTLS_SSL_CACHE_C 1 +#define CONFIG_MBEDTLS_SSL_ALL_ALERT_MESSAGES 1 +#define CONFIG_MBEDTLS_KEY_EXCHANGE_RSA 1 +#define CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE 1 +#define CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA 1 +#define CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA 1 +#define CONFIG_MBEDTLS_SSL_SERVER_NAME_INDICATION 1 +#define CONFIG_MBEDTLS_SSL_ALPN 1 +#define CONFIG_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH 1 +#define CONFIG_MBEDTLS_SSL_RENEGOTIATION 1 +#define CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS 1 +#define CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS 1 +#define CONFIG_MBEDTLS_AES_C 1 +#define CONFIG_MBEDTLS_CCM_C 1 +#define CONFIG_MBEDTLS_CIPHER_MODE_CBC 1 +#define CONFIG_MBEDTLS_CIPHER_MODE_CFB 1 +#define CONFIG_MBEDTLS_CIPHER_MODE_CTR 1 +#define CONFIG_MBEDTLS_CIPHER_MODE_OFB 1 +#define CONFIG_MBEDTLS_CIPHER_MODE_XTS 1 +#define CONFIG_MBEDTLS_GCM_C 1 +#define CONFIG_MBEDTLS_AES_ROM_TABLES 1 +#define CONFIG_MBEDTLS_CMAC_C 1 +#define CONFIG_MBEDTLS_BIGNUM_C 1 +#define CONFIG_MBEDTLS_RSA_C 1 +#define CONFIG_MBEDTLS_ECP_C 1 +#define CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED 1 +#define CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED 1 +#define CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED 1 +#define CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED 1 +#define CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED 1 +#define CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED 1 +#define CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED 1 +#define CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED 1 +#define CONFIG_MBEDTLS_ECP_NIST_OPTIM 1 +#define CONFIG_MBEDTLS_ECDH_C 1 +#define CONFIG_MBEDTLS_ECDSA_C 1 +#define CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED 1 +#define CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED 1 +#define CONFIG_MBEDTLS_ECDSA_DETERMINISTIC 1 +#define CONFIG_MBEDTLS_MD_C 1 +#define CONFIG_MBEDTLS_MD5_C 1 +#define CONFIG_MBEDTLS_SHA1_C 1 +#define CONFIG_MBEDTLS_SHA256_C 1 +#define CONFIG_MBEDTLS_SHA384_C 1 +#define CONFIG_MBEDTLS_SHA512_C 1 +#define CONFIG_MBEDTLS_ROM_MD5 1 +#define CONFIG_MBEDTLS_HARDWARE_ECC 1 +#define CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK 1 +#define CONFIG_MBEDTLS_HARDWARE_SHA 1 +#define CONFIG_MBEDTLS_HARDWARE_MPI 1 +#define CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI 1 +#define CONFIG_MBEDTLS_MPI_USE_INTERRUPT 1 +#define CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL 0 +#define CONFIG_MBEDTLS_HARDWARE_AES 1 +#define CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER 1 +#define CONFIG_MBEDTLS_AES_USE_INTERRUPT 1 +#define CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL 0 +#define CONFIG_MBEDTLS_AES_HW_SMALL_DATA_LEN_OPTIM 1 +#define CONFIG_MBEDTLS_HARDWARE_RSA_DS_PERIPHERAL 1 +#define CONFIG_MBEDTLS_CTR_DRBG_C 1 +#define CONFIG_MBEDTLS_HMAC_DRBG_C 1 +#define CONFIG_MBEDTLS_BASE64_C 1 +#define CONFIG_MBEDTLS_PKCS5_C 1 +#define CONFIG_MBEDTLS_PKCS7_C 1 +#define CONFIG_MBEDTLS_PKCS1_V15 1 +#define CONFIG_MBEDTLS_PKCS1_V21 1 +#define CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2 1 +#define CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION 1 +#define CONFIG_PTHREAD_TASK_PRIO_DEFAULT 5 +#define CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT 3072 +#define CONFIG_PTHREAD_STACK_MIN 768 +#define CONFIG_PTHREAD_TASK_CORE_DEFAULT -1 +#define CONFIG_PTHREAD_TASK_NAME_DEFAULT "pthread" +#define CONFIG_SD_ENABLE_SDIO_SUPPORT 1 +#define CONFIG_MMU_PAGE_SIZE_32KB 1 +#define CONFIG_MMU_PAGE_MODE "32KB" +#define CONFIG_MMU_PAGE_SIZE 0x8000 +#define CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC 1 +#define CONFIG_SPI_FLASH_BROWNOUT_RESET 1 +#define CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US 50 +#define CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM 1 +#define CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS 1 +#define CONFIG_SPI_FLASH_YIELD_DURING_ERASE 1 +#define CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS 20 +#define CONFIG_SPI_FLASH_ERASE_YIELD_TICKS 1 +#define CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE 8192 +#define CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED 1 +#define CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED 1 +#define CONFIG_SPI_FLASH_SUPPORT_GD_CHIP 1 +#define CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE 1 +#define CONFIG_SPIFFS_MAX_PARTITIONS 3 +#define CONFIG_SPIFFS_CACHE 1 +#define CONFIG_SPIFFS_CACHE_WR 1 +#define CONFIG_SPIFFS_PAGE_CHECK 1 +#define CONFIG_SPIFFS_GC_MAX_RUNS 10 +#define CONFIG_SPIFFS_PAGE_SIZE 256 +#define CONFIG_SPIFFS_OBJ_NAME_LEN 32 +#define CONFIG_SPIFFS_USE_MAGIC 1 +#define CONFIG_SPIFFS_USE_MAGIC_LENGTH 1 +#define CONFIG_SPIFFS_META_LENGTH 4 +#define CONFIG_SPIFFS_USE_MTIME 1 +#define CONFIG_WS_TRANSPORT 1 +#define CONFIG_WS_BUFFER_SIZE 1024 +#define CONFIG_UNITY_ENABLE_FLOAT 1 +#define CONFIG_UNITY_ENABLE_DOUBLE 1 +#define CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER 1 +#define CONFIG_VFS_SUPPORT_IO 1 +#define CONFIG_VFS_SUPPORT_DIR 1 +#define CONFIG_VFS_SUPPORT_SELECT 1 +#define CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT 1 +#define CONFIG_VFS_MAX_COUNT 8 +#define CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS 1 +#define CONFIG_VFS_INITIALIZE_DEV_NULL 1 +#define CONFIG_WL_SECTOR_SIZE_4096 1 +#define CONFIG_WL_SECTOR_SIZE 4096 + +/* List of deprecated options */ +#define CONFIG_BROWNOUT_DET CONFIG_ESP_BROWNOUT_DET +#define CONFIG_BROWNOUT_DET_LVL CONFIG_ESP_BROWNOUT_DET_LVL +#define CONFIG_BROWNOUT_DET_LVL_SEL_7 CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 +#define CONFIG_COMPILER_OPTIMIZATION_DEFAULT CONFIG_COMPILER_OPTIMIZATION_DEBUG +#define CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG CONFIG_COMPILER_OPTIMIZATION_DEBUG +#define CONFIG_CONSOLE_UART CONFIG_ESP_CONSOLE_UART +#define CONFIG_CONSOLE_UART_BAUDRATE CONFIG_ESP_CONSOLE_UART_BAUDRATE +#define CONFIG_CONSOLE_UART_DEFAULT CONFIG_ESP_CONSOLE_UART_DEFAULT +#define CONFIG_CONSOLE_UART_NUM CONFIG_ESP_CONSOLE_UART_NUM +#define CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE CONFIG_ESP_COREDUMP_ENABLE_TO_NONE +#define CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE +#define CONFIG_ESP32_PHY_MAX_TX_POWER CONFIG_ESP_PHY_MAX_TX_POWER +#define CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER CONFIG_ESP_PHY_MAX_WIFI_TX_POWER +#define CONFIG_ESP32_PTHREAD_STACK_MIN CONFIG_PTHREAD_STACK_MIN +#define CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT CONFIG_PTHREAD_TASK_CORE_DEFAULT +#define CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT CONFIG_PTHREAD_TASK_NAME_DEFAULT +#define CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT CONFIG_PTHREAD_TASK_PRIO_DEFAULT +#define CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT +#define CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED CONFIG_ESP_WIFI_AMPDU_RX_ENABLED +#define CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED CONFIG_ESP_WIFI_AMPDU_TX_ENABLED +#define CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM +#define CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER +#define CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM +#define CONFIG_ESP32_WIFI_ENABLED CONFIG_ESP_WIFI_ENABLED +#define CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA +#define CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE CONFIG_ESP_WIFI_ENABLE_WPA3_SAE +#define CONFIG_ESP32_WIFI_IRAM_OPT CONFIG_ESP_WIFI_IRAM_OPT +#define CONFIG_ESP32_WIFI_MGMT_SBUF_NUM CONFIG_ESP_WIFI_MGMT_SBUF_NUM +#define CONFIG_ESP32_WIFI_NVS_ENABLED CONFIG_ESP_WIFI_NVS_ENABLED +#define CONFIG_ESP32_WIFI_RX_BA_WIN CONFIG_ESP_WIFI_RX_BA_WIN +#define CONFIG_ESP32_WIFI_RX_IRAM_OPT CONFIG_ESP_WIFI_RX_IRAM_OPT +#define CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN +#define CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM +#define CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE CONFIG_ESP_COEX_SW_COEXIST_ENABLE +#define CONFIG_ESP32_WIFI_TX_BA_WIN CONFIG_ESP_WIFI_TX_BA_WIN +#define CONFIG_ESP32_WIFI_TX_BUFFER_TYPE CONFIG_ESP_WIFI_TX_BUFFER_TYPE +#define CONFIG_ESP_GRATUITOUS_ARP CONFIG_LWIP_ESP_GRATUITOUS_ARP +#define CONFIG_ESP_SYSTEM_BROWNOUT_INTR CONFIG_ESP_BROWNOUT_USE_INTR +#define CONFIG_ESP_SYSTEM_MEMPROT_FEATURE CONFIG_ESP_SYSTEM_MEMPROT +#define CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_VIA_TEE CONFIG_ESP_SYSTEM_MEMPROT +#define CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT CONFIG_ESP_SYSTEM_MEMPROT +#define CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP +#define CONFIG_ESP_TASK_WDT CONFIG_ESP_TASK_WDT_INIT +#define CONFIG_ESP_WIFI_SW_COEXIST_ENABLE CONFIG_ESP_COEX_SW_COEXIST_ENABLE +#define CONFIG_FLASHMODE_DIO CONFIG_ESPTOOLPY_FLASHMODE_DIO +#define CONFIG_GARP_TMR_INTERVAL CONFIG_LWIP_GARP_TMR_INTERVAL +#define CONFIG_GDBSTUB_MAX_TASKS CONFIG_ESP_GDBSTUB_MAX_TASKS +#define CONFIG_GDBSTUB_SUPPORT_TASKS CONFIG_ESP_GDBSTUB_SUPPORT_TASKS +#define CONFIG_INT_WDT CONFIG_ESP_INT_WDT +#define CONFIG_INT_WDT_TIMEOUT_MS CONFIG_ESP_INT_WDT_TIMEOUT_MS +#define CONFIG_IPC_TASK_STACK_SIZE CONFIG_ESP_IPC_TASK_STACK_SIZE +#define CONFIG_LOG_BOOTLOADER_LEVEL CONFIG_BOOTLOADER_LOG_LEVEL +#define CONFIG_LOG_BOOTLOADER_LEVEL_INFO CONFIG_BOOTLOADER_LOG_LEVEL_INFO +#define CONFIG_MAIN_TASK_STACK_SIZE CONFIG_ESP_MAIN_TASK_STACK_SIZE +#define CONFIG_MONITOR_BAUD CONFIG_ESPTOOLPY_MONITOR_BAUD +#define CONFIG_NEWLIB_STDIN_LINE_ENDING_CR CONFIG_LIBC_STDIN_LINE_ENDING_CR +#define CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF +#define CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT +#define CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE +#define CONFIG_OPTIMIZATION_ASSERTION_LEVEL CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL +#define CONFIG_OPTIMIZATION_LEVEL_DEBUG CONFIG_COMPILER_OPTIMIZATION_DEBUG +#define CONFIG_PERIPH_CTRL_FUNC_IN_IRAM CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM +#define CONFIG_POST_EVENTS_FROM_IRAM_ISR CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR +#define CONFIG_POST_EVENTS_FROM_ISR CONFIG_ESP_EVENT_POST_FROM_ISR +#define CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS +#define CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS +#define CONFIG_STACK_CHECK_NONE CONFIG_COMPILER_STACK_CHECK_MODE_NONE +#define CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT +#define CONFIG_SW_COEXIST_ENABLE CONFIG_ESP_COEX_SW_COEXIST_ENABLE +#define CONFIG_SYSTEM_EVENT_QUEUE_SIZE CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE +#define CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE +#define CONFIG_TASK_WDT CONFIG_ESP_TASK_WDT_INIT +#define CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0 CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 +#define CONFIG_TASK_WDT_TIMEOUT_S CONFIG_ESP_TASK_WDT_TIMEOUT_S +#define CONFIG_TCPIP_RECVMBOX_SIZE CONFIG_LWIP_TCPIP_RECVMBOX_SIZE +#define CONFIG_TCPIP_TASK_AFFINITY CONFIG_LWIP_TCPIP_TASK_AFFINITY +#define CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY +#define CONFIG_TCPIP_TASK_STACK_SIZE CONFIG_LWIP_TCPIP_TASK_STACK_SIZE +#define CONFIG_TCP_MAXRTX CONFIG_LWIP_TCP_MAXRTX +#define CONFIG_TCP_MSL CONFIG_LWIP_TCP_MSL +#define CONFIG_TCP_MSS CONFIG_LWIP_TCP_MSS +#define CONFIG_TCP_OVERSIZE_MSS CONFIG_LWIP_TCP_OVERSIZE_MSS +#define CONFIG_TCP_QUEUE_OOSEQ CONFIG_LWIP_TCP_QUEUE_OOSEQ +#define CONFIG_TCP_RECVMBOX_SIZE CONFIG_LWIP_TCP_RECVMBOX_SIZE +#define CONFIG_TCP_SND_BUF_DEFAULT CONFIG_LWIP_TCP_SND_BUF_DEFAULT +#define CONFIG_TCP_SYNMAXRTX CONFIG_LWIP_TCP_SYNMAXRTX +#define CONFIG_TCP_WND_DEFAULT CONFIG_LWIP_TCP_WND_DEFAULT +#define CONFIG_TIMER_QUEUE_LENGTH CONFIG_FREERTOS_TIMER_QUEUE_LENGTH +#define CONFIG_TIMER_TASK_PRIORITY CONFIG_FREERTOS_TIMER_TASK_PRIORITY +#define CONFIG_TIMER_TASK_STACK_DEPTH CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH +#define CONFIG_TIMER_TASK_STACK_SIZE CONFIG_ESP_TIMER_TASK_STACK_SIZE +#define CONFIG_UDP_RECVMBOX_SIZE CONFIG_LWIP_UDP_RECVMBOX_SIZE +#define CONFIG_WPA_MBEDTLS_CRYPTO CONFIG_ESP_WIFI_MBEDTLS_CRYPTO +#define CONFIG_WPA_MBEDTLS_TLS_CLIENT CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT diff --git a/.pio/build/xiao-esp32c6/config/sdkconfig.json b/.pio/build/xiao-esp32c6/config/sdkconfig.json new file mode 100644 index 0000000..2a1570f --- /dev/null +++ b/.pio/build/xiao-esp32c6/config/sdkconfig.json @@ -0,0 +1,1436 @@ +{ + "ADC_CONTINUOUS_ISR_IRAM_SAFE": false, + "ADC_ENABLE_DEBUG_LOG": false, + "ADC_ONESHOT_CTRL_FUNC_IN_IRAM": false, + "APP_BUILD_BOOTLOADER": true, + "APP_BUILD_GENERATE_BINARIES": true, + "APP_BUILD_TYPE_APP_2NDBOOT": true, + "APP_BUILD_TYPE_RAM": false, + "APP_BUILD_USE_FLASH_SECTIONS": true, + "APP_COMPILE_TIME_DATE": true, + "APP_EXCLUDE_PROJECT_NAME_VAR": false, + "APP_EXCLUDE_PROJECT_VER_VAR": false, + "APP_NO_BLOBS": false, + "APP_PROJECT_VER_FROM_CONFIG": false, + "APP_REPRODUCIBLE_BUILD": false, + "APP_RETRIEVE_LEN_ELF_SHA": 9, + "BLE_LOG_ENABLED": false, + "BOOTLOADER_APP_ROLLBACK_ENABLE": false, + "BOOTLOADER_APP_TEST": false, + "BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG": false, + "BOOTLOADER_COMPILER_OPTIMIZATION_PERF": false, + "BOOTLOADER_COMPILER_OPTIMIZATION_SIZE": true, + "BOOTLOADER_COMPILE_TIME_DATE": true, + "BOOTLOADER_CPU_CLK_FREQ_MHZ": 80, + "BOOTLOADER_CUSTOM_RESERVE_RTC": false, + "BOOTLOADER_FACTORY_RESET": false, + "BOOTLOADER_FLASH_DC_AWARE": false, + "BOOTLOADER_FLASH_XMC_SUPPORT": true, + "BOOTLOADER_LOG_COLORS": false, + "BOOTLOADER_LOG_LEVEL": 3, + "BOOTLOADER_LOG_LEVEL_DEBUG": false, + "BOOTLOADER_LOG_LEVEL_ERROR": false, + "BOOTLOADER_LOG_LEVEL_INFO": true, + "BOOTLOADER_LOG_LEVEL_NONE": false, + "BOOTLOADER_LOG_LEVEL_VERBOSE": false, + "BOOTLOADER_LOG_LEVEL_WARN": false, + "BOOTLOADER_LOG_MODE_TEXT": true, + "BOOTLOADER_LOG_MODE_TEXT_EN": true, + "BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS": true, + "BOOTLOADER_LOG_VERSION": 1, + "BOOTLOADER_LOG_VERSION_1": true, + "BOOTLOADER_OFFSET_IN_FLASH": 0, + "BOOTLOADER_PROJECT_VER": 1, + "BOOTLOADER_REGION_PROTECTION_ENABLE": true, + "BOOTLOADER_RESERVE_RTC_SIZE": 0, + "BOOTLOADER_SKIP_VALIDATE_ALWAYS": false, + "BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP": false, + "BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON": false, + "BOOTLOADER_WDT_DISABLE_IN_USER_CODE": false, + "BOOTLOADER_WDT_ENABLE": true, + "BOOTLOADER_WDT_TIME_MS": 9000, + "BOOT_ROM_LOG_ALWAYS_OFF": false, + "BOOT_ROM_LOG_ALWAYS_ON": true, + "BOOT_ROM_LOG_ON_GPIO_HIGH": false, + "BOOT_ROM_LOG_ON_GPIO_LOW": false, + "BT_BLE_LOG_SPI_OUT_ENABLED": false, + "BT_BLE_LOG_UHCI_OUT_ENABLED": false, + "BT_ENABLED": false, + "BT_LE_USED_MEM_STATISTICS_ENABLED": false, + "COMPILER_ASSERT_NDEBUG_EVALUATE": false, + "COMPILER_CXX_EXCEPTIONS": false, + "COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD": false, + "COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD_CONSTEXPR": false, + "COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE": true, + "COMPILER_CXX_RTTI": false, + "COMPILER_DISABLE_DEFAULT_ERRORS": false, + "COMPILER_DISABLE_GCC12_WARNINGS": false, + "COMPILER_DISABLE_GCC13_WARNINGS": false, + "COMPILER_DISABLE_GCC14_WARNINGS": false, + "COMPILER_DISABLE_GCC15_WARNINGS": false, + "COMPILER_DUMP_RTL_FILES": false, + "COMPILER_FLOAT_LIB_FROM_GCCLIB": false, + "COMPILER_FLOAT_LIB_FROM_RVFPLIB": true, + "COMPILER_HIDE_PATHS_MACROS": true, + "COMPILER_NO_MERGE_CONSTANTS": false, + "COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE": false, + "COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE": true, + "COMPILER_OPTIMIZATION_ASSERTIONS_SILENT": false, + "COMPILER_OPTIMIZATION_ASSERTION_LEVEL": 2, + "COMPILER_OPTIMIZATION_CHECKS_SILENT": false, + "COMPILER_OPTIMIZATION_DEBUG": true, + "COMPILER_OPTIMIZATION_NONE": false, + "COMPILER_OPTIMIZATION_PERF": false, + "COMPILER_OPTIMIZATION_SIZE": false, + "COMPILER_ORPHAN_SECTIONS_ERROR": true, + "COMPILER_ORPHAN_SECTIONS_PLACE": false, + "COMPILER_ORPHAN_SECTIONS_WARNING": false, + "COMPILER_RT_LIB_GCCLIB": true, + "COMPILER_RT_LIB_NAME": "gcc", + "COMPILER_SAVE_RESTORE_LIBCALLS": false, + "COMPILER_STACK_CHECK_MODE_ALL": false, + "COMPILER_STACK_CHECK_MODE_NONE": true, + "COMPILER_STACK_CHECK_MODE_NORM": false, + "COMPILER_STACK_CHECK_MODE_STRONG": false, + "COMPILER_STATIC_ANALYZER": false, + "COMPILER_WARN_WRITE_STRINGS": false, + "CONSOLE_SORTED_HELP": false, + "EFUSE_CUSTOM_TABLE": false, + "EFUSE_MAX_BLK_LEN": 256, + "EFUSE_VIRTUAL": false, + "ESP32C6_REV_MAX_FULL": 99, + "ESP32C6_REV_MIN_0": true, + "ESP32C6_REV_MIN_1": false, + "ESP32C6_REV_MIN_2": false, + "ESP32C6_REV_MIN_FULL": 0, + "ESP32C6_UNIVERSAL_MAC_ADDRESSES": 4, + "ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR": true, + "ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO": false, + "ESPHID_TASK_SIZE_BLE": 4096, + "ESPHID_TASK_SIZE_BT": 2048, + "ESPTOOLPY_AFTER": "hard-reset", + "ESPTOOLPY_AFTER_NORESET": false, + "ESPTOOLPY_AFTER_RESET": true, + "ESPTOOLPY_BEFORE": "default-reset", + "ESPTOOLPY_BEFORE_NORESET": false, + "ESPTOOLPY_BEFORE_RESET": true, + "ESPTOOLPY_FLASHFREQ": "80m", + "ESPTOOLPY_FLASHFREQ_20M": false, + "ESPTOOLPY_FLASHFREQ_40M": false, + "ESPTOOLPY_FLASHFREQ_80M": true, + "ESPTOOLPY_FLASHMODE": "dio", + "ESPTOOLPY_FLASHMODE_DIO": true, + "ESPTOOLPY_FLASHMODE_DOUT": false, + "ESPTOOLPY_FLASHMODE_QIO": false, + "ESPTOOLPY_FLASHMODE_QOUT": false, + "ESPTOOLPY_FLASHSIZE": "2MB", + "ESPTOOLPY_FLASHSIZE_128MB": false, + "ESPTOOLPY_FLASHSIZE_16MB": false, + "ESPTOOLPY_FLASHSIZE_1MB": false, + "ESPTOOLPY_FLASHSIZE_2MB": true, + "ESPTOOLPY_FLASHSIZE_32MB": false, + "ESPTOOLPY_FLASHSIZE_4MB": false, + "ESPTOOLPY_FLASHSIZE_64MB": false, + "ESPTOOLPY_FLASHSIZE_8MB": false, + "ESPTOOLPY_FLASH_SAMPLE_MODE_STR": true, + "ESPTOOLPY_HEADER_FLASHSIZE_UPDATE": false, + "ESPTOOLPY_MONITOR_BAUD": 115200, + "ESPTOOLPY_NO_STUB": false, + "ESP_BROWNOUT_DET": true, + "ESP_BROWNOUT_DET_LVL": 7, + "ESP_BROWNOUT_DET_LVL_SEL_2": false, + "ESP_BROWNOUT_DET_LVL_SEL_3": false, + "ESP_BROWNOUT_DET_LVL_SEL_4": false, + "ESP_BROWNOUT_DET_LVL_SEL_5": false, + "ESP_BROWNOUT_DET_LVL_SEL_6": false, + "ESP_BROWNOUT_DET_LVL_SEL_7": true, + "ESP_BROWNOUT_USE_INTR": true, + "ESP_COEX_ENABLED": true, + "ESP_COEX_EXTERNAL_COEXIST_ENABLE": false, + "ESP_COEX_GPIO_DEBUG": false, + "ESP_COEX_POWER_MANAGEMENT": false, + "ESP_COEX_SW_COEXIST_ENABLE": true, + "ESP_CONSOLE_NONE": false, + "ESP_CONSOLE_ROM_SERIAL_PORT_NUM": 0, + "ESP_CONSOLE_SECONDARY_NONE": false, + "ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG": true, + "ESP_CONSOLE_UART": true, + "ESP_CONSOLE_UART_BAUDRATE": 115200, + "ESP_CONSOLE_UART_CUSTOM": false, + "ESP_CONSOLE_UART_DEFAULT": true, + "ESP_CONSOLE_UART_NUM": 0, + "ESP_CONSOLE_USB_SERIAL_JTAG": false, + "ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED": true, + "ESP_COREDUMP_ENABLE_TO_FLASH": false, + "ESP_COREDUMP_ENABLE_TO_NONE": true, + "ESP_COREDUMP_ENABLE_TO_UART": false, + "ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP": true, + "ESP_CRYPTO_DPA_PROTECTION_LEVEL": 1, + "ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH": false, + "ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW": true, + "ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM": false, + "ESP_DEBUG_INCLUDE_OCD_STUB_BINS": false, + "ESP_DEBUG_OCDAWARE": true, + "ESP_DEBUG_STUBS_ENABLE": false, + "ESP_DEFAULT_CPU_FREQ_MHZ": 160, + "ESP_DEFAULT_CPU_FREQ_MHZ_120": false, + "ESP_DEFAULT_CPU_FREQ_MHZ_160": true, + "ESP_DEFAULT_CPU_FREQ_MHZ_80": false, + "ESP_EFUSE_BLOCK_REV_MAX_FULL": 99, + "ESP_EFUSE_BLOCK_REV_MIN_FULL": 0, + "ESP_ENABLE_PVT": false, + "ESP_ERR_TO_NAME_LOOKUP": true, + "ESP_EVENT_LOOP_PROFILING": false, + "ESP_EVENT_POST_FROM_IRAM_ISR": true, + "ESP_EVENT_POST_FROM_ISR": true, + "ESP_GDBSTUB_ENABLED": true, + "ESP_GDBSTUB_MAX_TASKS": 32, + "ESP_GDBSTUB_SUPPORT_TASKS": true, + "ESP_HTTPS_OTA_ALLOW_HTTP": false, + "ESP_HTTPS_OTA_DECRYPT_CB": false, + "ESP_HTTPS_OTA_ENABLE_PARTIAL_DOWNLOAD": false, + "ESP_HTTPS_OTA_EVENT_POST_TIMEOUT": 2000, + "ESP_HTTPS_SERVER_CERT_SELECT_HOOK": false, + "ESP_HTTPS_SERVER_ENABLE": false, + "ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT": 2000, + "ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH": false, + "ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT": false, + "ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH": false, + "ESP_HTTP_CLIENT_ENABLE_GET_CONTENT_RANGE": false, + "ESP_HTTP_CLIENT_ENABLE_HTTPS": true, + "ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT": 2000, + "ESP_HTTP_CLIENT_SAVE_RESPONSE_HEADERS": false, + "ESP_HW_SUPPORT_FUNC_IN_IRAM": true, + "ESP_INTR_IN_IRAM": true, + "ESP_INT_WDT": true, + "ESP_INT_WDT_TIMEOUT_MS": 300, + "ESP_IPC_TASK_STACK_SIZE": 1024, + "ESP_MAC_ADDR_UNIVERSE_BT": true, + "ESP_MAC_ADDR_UNIVERSE_ETH": true, + "ESP_MAC_ADDR_UNIVERSE_IEEE802154": true, + "ESP_MAC_ADDR_UNIVERSE_WIFI_AP": true, + "ESP_MAC_ADDR_UNIVERSE_WIFI_STA": true, + "ESP_MAC_UNIVERSAL_MAC_ADDRESSES": 4, + "ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR": true, + "ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC": false, + "ESP_MAIN_TASK_AFFINITY": 0, + "ESP_MAIN_TASK_AFFINITY_CPU0": true, + "ESP_MAIN_TASK_AFFINITY_NO_AFFINITY": false, + "ESP_MAIN_TASK_STACK_SIZE": 3584, + "ESP_MINIMAL_SHARED_STACK_SIZE": 2048, + "ESP_MODEM_CLOCK_ENABLE_CHECKING": false, + "ESP_NETIF_BRIDGE_EN": false, + "ESP_NETIF_IP_LOST_TIMER_INTERVAL": 120, + "ESP_NETIF_L2_TAP": false, + "ESP_NETIF_LOOPBACK": false, + "ESP_NETIF_LOST_IP_TIMER_ENABLE": true, + "ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION": false, + "ESP_NETIF_RECEIVE_REPORT_ERRORS": true, + "ESP_NETIF_REPORT_DATA_TRAFFIC": true, + "ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF": false, + "ESP_NETIF_TCPIP_LWIP": true, + "ESP_NETIF_USES_TCPIP_WITH_BSD_API": true, + "ESP_PANIC_HANDLER_IRAM": false, + "ESP_PERIPH_CTRL_FUNC_IN_IRAM": true, + "ESP_PHY_CALIBRATION_AND_DATA_STORAGE": true, + "ESP_PHY_CALIBRATION_MODE": 0, + "ESP_PHY_DEBUG": false, + "ESP_PHY_ENABLED": true, + "ESP_PHY_ENABLE_CERT_TEST": false, + "ESP_PHY_INIT_DATA_IN_PARTITION": false, + "ESP_PHY_IRAM_OPT": true, + "ESP_PHY_MAX_TX_POWER": 20, + "ESP_PHY_MAX_WIFI_TX_POWER": 20, + "ESP_PHY_PLL_TRACK_DEBUG": false, + "ESP_PHY_PLL_TRACK_PERIOD_MS": 1000, + "ESP_PHY_RECORD_USED_TIME": false, + "ESP_PHY_REDUCE_TX_POWER": false, + "ESP_PHY_RF_CAL_FULL": false, + "ESP_PHY_RF_CAL_NONE": false, + "ESP_PHY_RF_CAL_PARTIAL": true, + "ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION": true, + "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0": false, + "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1": false, + "ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2": true, + "ESP_REGI2C_CTRL_FUNC_IN_IRAM": true, + "ESP_REV_MAX_FULL": 99, + "ESP_REV_MIN_FULL": 0, + "ESP_ROM_GET_CLK_FREQ": true, + "ESP_ROM_HAS_CRC_BE": true, + "ESP_ROM_HAS_CRC_LE": true, + "ESP_ROM_HAS_HAL_SYSTIMER": true, + "ESP_ROM_HAS_HAL_WDT": true, + "ESP_ROM_HAS_HEAP_TLSF": true, + "ESP_ROM_HAS_JPEG_DECODE": true, + "ESP_ROM_HAS_LAYOUT_TABLE": true, + "ESP_ROM_HAS_NEWLIB": true, + "ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT": true, + "ESP_ROM_HAS_OUTPUT_PUTC_FUNC": true, + "ESP_ROM_HAS_REGI2C_BUG": true, + "ESP_ROM_HAS_RETARGETABLE_LOCKING": true, + "ESP_ROM_HAS_RVFPLIB": true, + "ESP_ROM_HAS_SPI_FLASH": true, + "ESP_ROM_HAS_SPI_FLASH_MMAP": true, + "ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY": true, + "ESP_ROM_HAS_SW_FLOAT": true, + "ESP_ROM_HAS_VERSION": true, + "ESP_ROM_MULTI_HEAP_WALK_PATCH": true, + "ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE": true, + "ESP_ROM_NO_USB_SERIAL_OUTPUT_API": true, + "ESP_ROM_PRINT_IN_IRAM": true, + "ESP_ROM_RAM_APP_NEEDS_MMU_INIT": true, + "ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE": true, + "ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB": true, + "ESP_ROM_SUPPORT_SECURE_BOOT_FAST_WAKEUP": true, + "ESP_ROM_SYSTIMER_INIT_PATCH": true, + "ESP_ROM_TLSF_CHECK_PATCH": true, + "ESP_ROM_UART_CLK_IS_XTAL": true, + "ESP_ROM_USB_OTG_NUM": -1, + "ESP_ROM_USB_SERIAL_DEVICE_NUM": 3, + "ESP_ROM_WDT_INIT_PATCH": true, + "ESP_SLEEP_CACHE_SAFE_ASSERTION": false, + "ESP_SLEEP_DEBUG": false, + "ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND": true, + "ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS": true, + "ESP_SLEEP_GPIO_RESET_WORKAROUND": true, + "ESP_SLEEP_MSPI_NEED_ALL_IO_PU": false, + "ESP_SLEEP_POWER_DOWN_FLASH": false, + "ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY": 0, + "ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM": true, + "ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP": true, + "ESP_SYSTEM_BBPLL_RECALIB": true, + "ESP_SYSTEM_CHECK_INT_LEVEL_4": true, + "ESP_SYSTEM_EVENT_QUEUE_SIZE": 32, + "ESP_SYSTEM_EVENT_TASK_STACK_SIZE": 2304, + "ESP_SYSTEM_GDBSTUB_RUNTIME": false, + "ESP_SYSTEM_HW_PC_RECORD": true, + "ESP_SYSTEM_HW_STACK_GUARD": true, + "ESP_SYSTEM_IN_IRAM": true, + "ESP_SYSTEM_MEMPROT": true, + "ESP_SYSTEM_MEMPROT_PMP": true, + "ESP_SYSTEM_MEMPROT_PMP_LP_CORE_RESERVE_MEM_EXEC": false, + "ESP_SYSTEM_NO_BACKTRACE": true, + "ESP_SYSTEM_PANIC_GDBSTUB": false, + "ESP_SYSTEM_PANIC_PRINT_HALT": false, + "ESP_SYSTEM_PANIC_PRINT_REBOOT": true, + "ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS": 0, + "ESP_SYSTEM_PANIC_SILENT_REBOOT": false, + "ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK": true, + "ESP_SYSTEM_SINGLE_CORE_MODE": true, + "ESP_SYSTEM_USE_EH_FRAME": false, + "ESP_SYSTEM_USE_FRAME_POINTER": false, + "ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0": true, + "ESP_TASK_WDT_EN": true, + "ESP_TASK_WDT_INIT": true, + "ESP_TASK_WDT_PANIC": false, + "ESP_TASK_WDT_TIMEOUT_S": 5, + "ESP_TIMER_IMPL_SYSTIMER": true, + "ESP_TIMER_INTERRUPT_LEVEL": 1, + "ESP_TIMER_IN_IRAM": true, + "ESP_TIMER_ISR_AFFINITY_CPU0": true, + "ESP_TIMER_PROFILING": false, + "ESP_TIMER_SHOW_EXPERIMENTAL": false, + "ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD": false, + "ESP_TIMER_TASK_AFFINITY": 0, + "ESP_TIMER_TASK_AFFINITY_CPU0": true, + "ESP_TIMER_TASK_STACK_SIZE": 3584, + "ESP_TIME_FUNCS_USE_ESP_TIMER": true, + "ESP_TIME_FUNCS_USE_RTC_TIMER": true, + "ESP_TLS_CLIENT_SESSION_TICKETS": false, + "ESP_TLS_CUSTOM_STACK": false, + "ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED": true, + "ESP_TLS_INSECURE": false, + "ESP_TLS_PSK_VERIFICATION": false, + "ESP_TLS_SERVER_CERT_SELECT_HOOK": false, + "ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL": false, + "ESP_TLS_SERVER_SESSION_TICKETS": false, + "ESP_TLS_USE_DS_PERIPHERAL": true, + "ESP_TLS_USE_SECURE_ELEMENT": false, + "ESP_TLS_USING_MBEDTLS": true, + "ESP_TRACE_LIB_EXTERNAL": false, + "ESP_TRACE_LIB_NAME": "none", + "ESP_TRACE_LIB_NONE": true, + "ESP_TRACE_TRANSPORT_APPTRACE": false, + "ESP_TRACE_TRANSPORT_NAME": "none", + "ESP_TRACE_TRANSPORT_NONE": true, + "ESP_WIFI_11KV_SUPPORT": false, + "ESP_WIFI_11R_SUPPORT": false, + "ESP_WIFI_AMPDU_RX_ENABLED": true, + "ESP_WIFI_AMPDU_TX_ENABLED": true, + "ESP_WIFI_BSS_MAX_IDLE_SUPPORT": true, + "ESP_WIFI_CSI_ENABLED": false, + "ESP_WIFI_DEBUG_PRINT": false, + "ESP_WIFI_DPP_SUPPORT": false, + "ESP_WIFI_DYNAMIC_RX_BUFFER_NUM": 32, + "ESP_WIFI_DYNAMIC_RX_MGMT_BUF": 0, + "ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER": false, + "ESP_WIFI_DYNAMIC_TX_BUFFER": true, + "ESP_WIFI_DYNAMIC_TX_BUFFER_NUM": 32, + "ESP_WIFI_ENABLED": true, + "ESP_WIFI_ENABLE_SAE_H2E": true, + "ESP_WIFI_ENABLE_SAE_PK": true, + "ESP_WIFI_ENABLE_WIFI_RX_STATS": false, + "ESP_WIFI_ENABLE_WIFI_TX_STATS": false, + "ESP_WIFI_ENABLE_WPA3_OWE_STA": true, + "ESP_WIFI_ENABLE_WPA3_SAE": true, + "ESP_WIFI_ENTERPRISE_SUPPORT": true, + "ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER": false, + "ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM": 7, + "ESP_WIFI_EXTRA_IRAM_OPT": true, + "ESP_WIFI_FTM_ENABLE": false, + "ESP_WIFI_GCMP_SUPPORT": false, + "ESP_WIFI_GMAC_SUPPORT": true, + "ESP_WIFI_IRAM_OPT": true, + "ESP_WIFI_MBEDTLS_CRYPTO": true, + "ESP_WIFI_MBEDTLS_TLS_CLIENT": true, + "ESP_WIFI_MBO_SUPPORT": false, + "ESP_WIFI_MGMT_SBUF_NUM": 32, + "ESP_WIFI_NVS_ENABLED": true, + "ESP_WIFI_PASSIVE_HIDDEN_AP_SUPPORT": false, + "ESP_WIFI_RX_BA_WIN": 6, + "ESP_WIFI_RX_IRAM_OPT": true, + "ESP_WIFI_RX_MGMT_BUF_NUM_DEF": 5, + "ESP_WIFI_SLP_BEACON_LOST_OPT": false, + "ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME": 10, + "ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME": 50, + "ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME": 15, + "ESP_WIFI_SLP_IRAM_OPT": true, + "ESP_WIFI_SOFTAP_BEACON_MAX_LEN": 752, + "ESP_WIFI_SOFTAP_SAE_SUPPORT": true, + "ESP_WIFI_SOFTAP_SUPPORT": true, + "ESP_WIFI_STATIC_RX_BUFFER_NUM": 10, + "ESP_WIFI_STATIC_RX_MGMT_BUFFER": true, + "ESP_WIFI_STATIC_TX_BUFFER": false, + "ESP_WIFI_STA_DISCONNECTED_PM_ENABLE": true, + "ESP_WIFI_SUITE_B_192": false, + "ESP_WIFI_TX_BA_WIN": 6, + "ESP_WIFI_TX_BUFFER_TYPE": 1, + "ESP_WIFI_TX_HETB_QUEUE_NUM": 3, + "ESP_WIFI_WAPI_PSK": false, + "ESP_WIFI_WPA3_COMPATIBLE_SUPPORT": true, + "ESP_WIFI_WPS_PASSPHRASE": false, + "ESP_WIFI_WPS_RECONNECT_ON_FAIL": false, + "ESP_WIFI_WPS_SOFTAP_REGISTRAR": false, + "ESP_WIFI_WPS_STRICT": false, + "ETH_ENABLED": true, + "ETH_TRANSMIT_MUTEX": false, + "ETH_USE_OPENETH": false, + "ETH_USE_SPI_ETHERNET": true, + "ETM_ENABLE_DEBUG_LOG": false, + "FATFS_API_ENCODING_ANSI_OEM": true, + "FATFS_API_ENCODING_UTF_8": false, + "FATFS_CODEPAGE": 437, + "FATFS_CODEPAGE_437": true, + "FATFS_CODEPAGE_720": false, + "FATFS_CODEPAGE_737": false, + "FATFS_CODEPAGE_771": false, + "FATFS_CODEPAGE_775": false, + "FATFS_CODEPAGE_850": false, + "FATFS_CODEPAGE_852": false, + "FATFS_CODEPAGE_855": false, + "FATFS_CODEPAGE_857": false, + "FATFS_CODEPAGE_860": false, + "FATFS_CODEPAGE_861": false, + "FATFS_CODEPAGE_862": false, + "FATFS_CODEPAGE_863": false, + "FATFS_CODEPAGE_864": false, + "FATFS_CODEPAGE_865": false, + "FATFS_CODEPAGE_866": false, + "FATFS_CODEPAGE_869": false, + "FATFS_CODEPAGE_932": false, + "FATFS_CODEPAGE_936": false, + "FATFS_CODEPAGE_949": false, + "FATFS_CODEPAGE_950": false, + "FATFS_CODEPAGE_DYNAMIC": false, + "FATFS_DONT_TRUST_FREE_CLUSTER_CNT": 0, + "FATFS_DONT_TRUST_LAST_ALLOC": 0, + "FATFS_FS_LOCK": 0, + "FATFS_IMMEDIATE_FSYNC": false, + "FATFS_LFN_HEAP": true, + "FATFS_LFN_NONE": false, + "FATFS_LFN_STACK": false, + "FATFS_LINK_LOCK": true, + "FATFS_MAX_LFN": 255, + "FATFS_PER_FILE_CACHE": true, + "FATFS_SECTOR_4096": true, + "FATFS_SECTOR_512": false, + "FATFS_TIMEOUT_MS": 10000, + "FATFS_USE_DYN_BUFFERS": true, + "FATFS_USE_FASTSEEK": false, + "FATFS_USE_LABEL": false, + "FATFS_USE_STRFUNC_NONE": true, + "FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV": false, + "FATFS_USE_STRFUNC_WITH_CRLF_CONV": false, + "FATFS_VFS_FSTAT_BLKSIZE": 0, + "FATFS_VOLUME_COUNT": 2, + "FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER": true, + "FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE": false, + "FREERTOS_CHECK_STACKOVERFLOW_CANARY": true, + "FREERTOS_CHECK_STACKOVERFLOW_NONE": false, + "FREERTOS_CHECK_STACKOVERFLOW_PTRVAL": false, + "FREERTOS_CORETIMER_SYSTIMER_LVL1": true, + "FREERTOS_CORETIMER_SYSTIMER_LVL3": false, + "FREERTOS_DEBUG_OCDAWARE": true, + "FREERTOS_ENABLE_BACKWARD_COMPATIBILITY": false, + "FREERTOS_GENERATE_RUN_TIME_STATS": false, + "FREERTOS_HZ": 100, + "FREERTOS_IDLE_TASK_STACKSIZE": 1536, + "FREERTOS_INTERRUPT_BACKTRACE": true, + "FREERTOS_IN_IRAM": false, + "FREERTOS_ISR_STACKSIZE": 1536, + "FREERTOS_MAX_TASK_NAME_LEN": 16, + "FREERTOS_NO_AFFINITY": 2147483647, + "FREERTOS_NUMBER_OF_CORES": 1, + "FREERTOS_OPTIMIZED_SCHEDULER": true, + "FREERTOS_PORT": true, + "FREERTOS_QUEUE_REGISTRY_SIZE": 0, + "FREERTOS_SMP": false, + "FREERTOS_SUPPORT_STATIC_ALLOCATION": true, + "FREERTOS_SYSTICK_USES_SYSTIMER": true, + "FREERTOS_TASK_FUNCTION_WRAPPER": true, + "FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES": 1, + "FREERTOS_TASK_PRE_DELETION_HOOK": false, + "FREERTOS_THREAD_LOCAL_STORAGE_POINTERS": 1, + "FREERTOS_TICK_SUPPORT_SYSTIMER": true, + "FREERTOS_TIMER_QUEUE_LENGTH": 10, + "FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY": 2147483647, + "FREERTOS_TIMER_SERVICE_TASK_NAME": "Tmr Svc", + "FREERTOS_TIMER_TASK_AFFINITY_CPU0": false, + "FREERTOS_TIMER_TASK_NO_AFFINITY": true, + "FREERTOS_TIMER_TASK_PRIORITY": 1, + "FREERTOS_TIMER_TASK_STACK_DEPTH": 2048, + "FREERTOS_TLSP_DELETION_CALLBACKS": true, + "FREERTOS_UNICORE": true, + "FREERTOS_USE_APPLICATION_TASK_TAG": false, + "FREERTOS_USE_IDLE_HOOK": false, + "FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES": false, + "FREERTOS_USE_TICK_HOOK": false, + "FREERTOS_USE_TIMERS": true, + "FREERTOS_USE_TRACE_FACILITY": false, + "FREERTOS_WATCHPOINT_END_OF_STACK": false, + "GDMA_CTRL_FUNC_IN_IRAM": true, + "GDMA_ENABLE_DEBUG_LOG": false, + "GDMA_ISR_HANDLER_IN_IRAM": true, + "GDMA_OBJ_DRAM_SAFE": true, + "GPIO_CTRL_FUNC_IN_IRAM": false, + "GPTIMER_CTRL_FUNC_IN_IRAM": false, + "GPTIMER_ENABLE_DEBUG_LOG": false, + "GPTIMER_ISR_CACHE_SAFE": false, + "GPTIMER_ISR_HANDLER_IN_IRAM": true, + "GPTIMER_OBJ_CACHE_SAFE": true, + "HAL_ASSERTION_DISABLE": false, + "HAL_ASSERTION_ENABLE": false, + "HAL_ASSERTION_EQUALS_SYSTEM": true, + "HAL_ASSERTION_SILENT": false, + "HAL_DEFAULT_ASSERTION_LEVEL": 2, + "HAL_GPIO_USE_ROM_IMPL": true, + "HAL_SYSTIMER_USE_ROM_IMPL": true, + "HAL_WDT_USE_ROM_IMPL": true, + "HEAP_ABORT_WHEN_ALLOCATION_FAILS": false, + "HEAP_PLACE_FUNCTION_INTO_FLASH": false, + "HEAP_POISONING_COMPREHENSIVE": false, + "HEAP_POISONING_DISABLED": true, + "HEAP_POISONING_LIGHT": false, + "HEAP_TASK_TRACKING": false, + "HEAP_TLSF_USE_ROM_IMPL": true, + "HEAP_TRACING_OFF": true, + "HEAP_TRACING_STANDALONE": false, + "HEAP_TRACING_TOHOST": false, + "HEAP_USE_HOOKS": false, + "HTTPD_ERR_RESP_NO_DELAY": true, + "HTTPD_LOG_PURGE_DATA": false, + "HTTPD_MAX_REQ_HDR_LEN": 1024, + "HTTPD_MAX_URI_LEN": 512, + "HTTPD_PURGE_BUF_LEN": 32, + "HTTPD_QUEUE_WORK_BLOCKING": false, + "HTTPD_SERVER_EVENT_POST_TIMEOUT": 2000, + "HTTPD_WS_SUPPORT": false, + "I2C_ENABLE_DEBUG_LOG": false, + "I2C_ISR_IRAM_SAFE": false, + "I2C_MASTER_ISR_HANDLER_IN_IRAM": true, + "I2C_SKIP_LEGACY_CONFLICT_CHECK": false, + "I2C_SUPPRESS_DEPRECATE_WARN": false, + "I2S_CTRL_FUNC_IN_IRAM": false, + "I2S_ENABLE_DEBUG_LOG": false, + "I2S_ISR_IRAM_SAFE": false, + "I3C_MASTER_ENABLE_DEBUG_LOG": false, + "I3C_MASTER_ISR_CACHE_SAFE": false, + "I3C_MASTER_ISR_HANDLER_IN_IRAM": false, + "IDF_CMAKE": true, + "IDF_EXPERIMENTAL_FEATURES": false, + "IDF_FIRMWARE_CHIP_ID": 13, + "IDF_INIT_VERSION": "6.0.1", + "IDF_TARGET": "esp32c6", + "IDF_TARGET_ARCH": "riscv", + "IDF_TARGET_ARCH_RISCV": true, + "IDF_TARGET_ESP32C6": true, + "IDF_TOOLCHAIN": "gcc", + "IDF_TOOLCHAIN_GCC": true, + "IEEE802154_CCA_CARRIER": false, + "IEEE802154_CCA_CARRIER_AND_ED": false, + "IEEE802154_CCA_CARRIER_OR_ED": false, + "IEEE802154_CCA_ED": true, + "IEEE802154_CCA_MODE": 1, + "IEEE802154_CCA_THRESHOLD": -75, + "IEEE802154_DEBUG": false, + "IEEE802154_ENABLED": true, + "IEEE802154_INTERFACE_NUM": 1, + "IEEE802154_MULTI_PAN_ENABLE": false, + "IEEE802154_PENDING_TABLE_SIZE": 20, + "IEEE802154_RX_BUFFER_SIZE": 20, + "IEEE802154_TIMING_OPTIMIZATION": true, + "LCD_ENABLE_DEBUG_LOG": false, + "LEDC_CTRL_FUNC_IN_IRAM": false, + "LIBC_ASSERT_BUFFER_SIZE": 200, + "LIBC_LOCKS_PLACE_IN_IRAM": true, + "LIBC_MISC_IN_IRAM": true, + "LIBC_NEWLIB": false, + "LIBC_OPTIMIZED_MISALIGNED_ACCESS": true, + "LIBC_PICOLIBC": true, + "LIBC_PICOLIBC_NEWLIB_COMPATIBILITY": true, + "LIBC_STDIN_LINE_ENDING_CR": true, + "LIBC_STDIN_LINE_ENDING_CRLF": false, + "LIBC_STDIN_LINE_ENDING_LF": false, + "LIBC_STDOUT_LINE_ENDING_CR": false, + "LIBC_STDOUT_LINE_ENDING_CRLF": true, + "LIBC_STDOUT_LINE_ENDING_LF": false, + "LIBC_TIME_SYSCALL_USE_HRT": false, + "LIBC_TIME_SYSCALL_USE_NONE": false, + "LIBC_TIME_SYSCALL_USE_RTC": false, + "LIBC_TIME_SYSCALL_USE_RTC_HRT": true, + "LOG_COLORS": false, + "LOG_DEFAULT_LEVEL": 3, + "LOG_DEFAULT_LEVEL_DEBUG": false, + "LOG_DEFAULT_LEVEL_ERROR": false, + "LOG_DEFAULT_LEVEL_INFO": true, + "LOG_DEFAULT_LEVEL_NONE": false, + "LOG_DEFAULT_LEVEL_VERBOSE": false, + "LOG_DEFAULT_LEVEL_WARN": false, + "LOG_DYNAMIC_LEVEL_CONTROL": true, + "LOG_IN_IRAM": true, + "LOG_MASTER_LEVEL": false, + "LOG_MAXIMUM_EQUALS_DEFAULT": true, + "LOG_MAXIMUM_LEVEL": 3, + "LOG_MAXIMUM_LEVEL_DEBUG": false, + "LOG_MAXIMUM_LEVEL_VERBOSE": false, + "LOG_MODE_TEXT": true, + "LOG_MODE_TEXT_EN": true, + "LOG_TAG_LEVEL_CACHE_ARRAY": false, + "LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP": true, + "LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST": true, + "LOG_TAG_LEVEL_IMPL_CACHE_SIZE": 31, + "LOG_TAG_LEVEL_IMPL_LINKED_LIST": false, + "LOG_TAG_LEVEL_IMPL_NONE": false, + "LOG_TIMESTAMP_SOURCE_RTOS": true, + "LOG_TIMESTAMP_SOURCE_SYSTEM": false, + "LOG_VERSION": 1, + "LOG_VERSION_1": true, + "LOG_VERSION_2": false, + "LWIP_AUTOIP": false, + "LWIP_BRIDGEIF_MAX_PORTS": 7, + "LWIP_BROADCAST_PING": false, + "LWIP_CHECKSUM_CHECK_ICMP": true, + "LWIP_CHECKSUM_CHECK_IP": false, + "LWIP_CHECKSUM_CHECK_UDP": false, + "LWIP_CHECK_THREAD_SAFETY": false, + "LWIP_DEBUG": false, + "LWIP_DHCPS": true, + "LWIP_DHCPS_LEASE_UNIT": 60, + "LWIP_DHCPS_MAX_HOSTNAME_LEN": 64, + "LWIP_DHCPS_MAX_STATION_NUM": 8, + "LWIP_DHCPS_REPORT_CLIENT_HOSTNAME": true, + "LWIP_DHCPS_STATIC_ENTRIES": true, + "LWIP_DHCP_COARSE_TIMER_SECS": 1, + "LWIP_DHCP_DISABLE_CLIENT_ID": false, + "LWIP_DHCP_DISABLE_VENDOR_CLASS_ID": true, + "LWIP_DHCP_DOES_ACD_CHECK": false, + "LWIP_DHCP_DOES_ARP_CHECK": true, + "LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP": false, + "LWIP_DHCP_GET_NTP_SRV": false, + "LWIP_DHCP_OPTIONS_LEN": 69, + "LWIP_DHCP_RESTORE_LAST_IP": false, + "LWIP_DNS_MAX_HOST_IP": 1, + "LWIP_DNS_MAX_SERVERS": 3, + "LWIP_DNS_SETSERVER_WITH_NETIF": false, + "LWIP_DNS_SUPPORT_MDNS_QUERIES": true, + "LWIP_ENABLE": true, + "LWIP_ESP_GRATUITOUS_ARP": true, + "LWIP_ESP_LWIP_ASSERT": true, + "LWIP_ESP_MLDV6_REPORT": true, + "LWIP_EXTRA_IRAM_OPTIMIZATION": false, + "LWIP_FALLBACK_DNS_SERVER_SUPPORT": false, + "LWIP_FORCE_ROUTER_FORWARDING": false, + "LWIP_GARP_TMR_INTERVAL": 60, + "LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM": false, + "LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT": false, + "LWIP_HOOK_DHCP_EXTRA_OPTION_NONE": true, + "LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM": false, + "LWIP_HOOK_DNS_EXT_RESOLVE_NONE": true, + "LWIP_HOOK_IP6_INPUT_CUSTOM": false, + "LWIP_HOOK_IP6_INPUT_DEFAULT": true, + "LWIP_HOOK_IP6_INPUT_NONE": false, + "LWIP_HOOK_IP6_ROUTE_CUSTOM": false, + "LWIP_HOOK_IP6_ROUTE_DEFAULT": false, + "LWIP_HOOK_IP6_ROUTE_NONE": true, + "LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM": false, + "LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT": false, + "LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE": true, + "LWIP_HOOK_ND6_GET_GW_CUSTOM": false, + "LWIP_HOOK_ND6_GET_GW_DEFAULT": false, + "LWIP_HOOK_ND6_GET_GW_NONE": true, + "LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM": false, + "LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT": false, + "LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE": true, + "LWIP_HOOK_TCP_ISN_CUSTOM": false, + "LWIP_HOOK_TCP_ISN_DEFAULT": true, + "LWIP_HOOK_TCP_ISN_NONE": false, + "LWIP_ICMP": true, + "LWIP_IP4_FRAG": true, + "LWIP_IP4_REASSEMBLY": false, + "LWIP_IP6_FRAG": true, + "LWIP_IP6_REASSEMBLY": false, + "LWIP_IPV4": true, + "LWIP_IPV6": true, + "LWIP_IPV6_AUTOCONFIG": false, + "LWIP_IPV6_DUP_DETECT_ATTEMPTS": 1, + "LWIP_IPV6_FORWARD": false, + "LWIP_IPV6_MEMP_NUM_ND6_QUEUE": 3, + "LWIP_IPV6_ND6_NUM_DESTINATIONS": 10, + "LWIP_IPV6_ND6_NUM_NEIGHBORS": 5, + "LWIP_IPV6_ND6_NUM_PREFIXES": 5, + "LWIP_IPV6_ND6_NUM_ROUTERS": 3, + "LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT": false, + "LWIP_IPV6_NUM_ADDRESSES": 3, + "LWIP_IP_DEFAULT_TTL": 64, + "LWIP_IP_FORWARD": false, + "LWIP_IP_REASS_MAX_PBUFS": 10, + "LWIP_IRAM_OPTIMIZATION": false, + "LWIP_L2_TO_L3_COPY": false, + "LWIP_LOCAL_HOSTNAME": "espressif", + "LWIP_LOOPBACK_MAX_PBUFS": 8, + "LWIP_MAX_ACTIVE_TCP": 16, + "LWIP_MAX_LISTENING_TCP": 16, + "LWIP_MAX_RAW_PCBS": 16, + "LWIP_MAX_SOCKETS": 10, + "LWIP_MAX_UDP_PCBS": 16, + "LWIP_MLDV6_TMR_INTERVAL": 40, + "LWIP_MULTICAST_PING": false, + "LWIP_ND6": true, + "LWIP_NETBUF_RECVINFO": false, + "LWIP_NETIF_LINK_CALLBACK": false, + "LWIP_NETIF_LOOPBACK": true, + "LWIP_NETIF_STATUS_CALLBACK": false, + "LWIP_NUM_NETIF_CLIENT_DATA": 0, + "LWIP_PPP_SUPPORT": false, + "LWIP_SLIP_SUPPORT": false, + "LWIP_SNTP_MAXIMUM_STARTUP_DELAY": 5000, + "LWIP_SNTP_MAX_SERVERS": 1, + "LWIP_SNTP_STARTUP_DELAY": true, + "LWIP_SNTP_UPDATE_DELAY": 3600000, + "LWIP_SO_LINGER": false, + "LWIP_SO_RCVBUF": false, + "LWIP_SO_REUSE": true, + "LWIP_SO_REUSE_RXTOALL": true, + "LWIP_STATS": false, + "LWIP_TCPIP_CORE_LOCKING": false, + "LWIP_TCPIP_RECVMBOX_SIZE": 32, + "LWIP_TCPIP_TASK_AFFINITY": 2147483647, + "LWIP_TCPIP_TASK_AFFINITY_CPU0": false, + "LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY": true, + "LWIP_TCPIP_TASK_PRIO": 18, + "LWIP_TCPIP_TASK_STACK_SIZE": 3072, + "LWIP_TCP_ACCEPTMBOX_SIZE": 6, + "LWIP_TCP_FIN_WAIT_TIMEOUT": 20000, + "LWIP_TCP_HIGH_SPEED_RETRANSMISSION": true, + "LWIP_TCP_MAXRTX": 12, + "LWIP_TCP_MSL": 60000, + "LWIP_TCP_MSS": 1440, + "LWIP_TCP_OOSEQ_MAX_PBUFS": 4, + "LWIP_TCP_OOSEQ_TIMEOUT": 6, + "LWIP_TCP_OVERSIZE_DISABLE": false, + "LWIP_TCP_OVERSIZE_MSS": true, + "LWIP_TCP_OVERSIZE_QUARTER_MSS": false, + "LWIP_TCP_QUEUE_OOSEQ": true, + "LWIP_TCP_RECVMBOX_SIZE": 6, + "LWIP_TCP_RTO_TIME": 1500, + "LWIP_TCP_SACK_OUT": false, + "LWIP_TCP_SND_BUF_DEFAULT": 5760, + "LWIP_TCP_SYNMAXRTX": 12, + "LWIP_TCP_TMR_INTERVAL": 250, + "LWIP_TCP_WND_DEFAULT": 5760, + "LWIP_TIMERS_ONDEMAND": true, + "LWIP_UDP_RECVMBOX_SIZE": 6, + "LWIP_USE_ESP_GETADDRINFO": false, + "LWIP_USE_ONLY_LWIP_SELECT": false, + "MBEDTLS_AES_C": true, + "MBEDTLS_AES_FEWER_TABLES": false, + "MBEDTLS_AES_HW_SMALL_DATA_LEN_OPTIM": true, + "MBEDTLS_AES_INTERRUPT_LEVEL": 0, + "MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH": false, + "MBEDTLS_AES_ROM_TABLES": true, + "MBEDTLS_AES_SOFT_FALLBACK": false, + "MBEDTLS_AES_USE_INTERRUPT": true, + "MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION": false, + "MBEDTLS_ARIA_C": false, + "MBEDTLS_ASN1_PARSE_C": true, + "MBEDTLS_ASN1_WRITE_C": true, + "MBEDTLS_ASYMMETRIC_CONTENT_LEN": true, + "MBEDTLS_ATCA_HW_ECDSA_SIGN": false, + "MBEDTLS_ATCA_HW_ECDSA_VERIFY": false, + "MBEDTLS_BASE64_C": true, + "MBEDTLS_BIGNUM_C": true, + "MBEDTLS_CAMELLIA_C": false, + "MBEDTLS_CCM_C": true, + "MBEDTLS_CERTIFICATE_BUNDLE": true, + "MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY": false, + "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN": false, + "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL": true, + "MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE": false, + "MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST": false, + "MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS": 200, + "MBEDTLS_CHACHA20_C": false, + "MBEDTLS_CIPHER_MODE_CBC": true, + "MBEDTLS_CIPHER_MODE_CFB": true, + "MBEDTLS_CIPHER_MODE_CTR": true, + "MBEDTLS_CIPHER_MODE_OFB": true, + "MBEDTLS_CIPHER_MODE_XTS": true, + "MBEDTLS_CLIENT_SSL_SESSION_TICKETS": true, + "MBEDTLS_CMAC_C": true, + "MBEDTLS_COMPILER_OPTIMIZATION_NONE": false, + "MBEDTLS_COMPILER_OPTIMIZATION_PERF": false, + "MBEDTLS_COMPILER_OPTIMIZATION_SIZE": true, + "MBEDTLS_CTR_DRBG_C": true, + "MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE": false, + "MBEDTLS_CUSTOM_MEM_ALLOC": false, + "MBEDTLS_DEBUG": false, + "MBEDTLS_DEFAULT_MEM_ALLOC": false, + "MBEDTLS_DES_C": false, + "MBEDTLS_DHM_C": false, + "MBEDTLS_DYNAMIC_BUFFER": false, + "MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK": true, + "MBEDTLS_ECDH_C": true, + "MBEDTLS_ECDSA_C": true, + "MBEDTLS_ECDSA_DETERMINISTIC": true, + "MBEDTLS_ECJPAKE_C": false, + "MBEDTLS_ECP_C": true, + "MBEDTLS_ECP_DP_BP256R1_ENABLED": true, + "MBEDTLS_ECP_DP_BP384R1_ENABLED": true, + "MBEDTLS_ECP_DP_BP512R1_ENABLED": true, + "MBEDTLS_ECP_DP_CURVE25519_ENABLED": true, + "MBEDTLS_ECP_DP_SECP256K1_ENABLED": true, + "MBEDTLS_ECP_DP_SECP256R1_ENABLED": true, + "MBEDTLS_ECP_DP_SECP384R1_ENABLED": true, + "MBEDTLS_ECP_DP_SECP521R1_ENABLED": true, + "MBEDTLS_ECP_FIXED_POINT_OPTIM": false, + "MBEDTLS_ECP_NIST_OPTIM": true, + "MBEDTLS_ECP_RESTARTABLE": false, + "MBEDTLS_ENTROPY_FORCE_SHA256": false, + "MBEDTLS_ERROR_STRINGS": true, + "MBEDTLS_FS_IO": true, + "MBEDTLS_GCM_C": true, + "MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER": true, + "MBEDTLS_HARDWARE_AES": true, + "MBEDTLS_HARDWARE_ECC": true, + "MBEDTLS_HARDWARE_MPI": true, + "MBEDTLS_HARDWARE_RSA_DS_PERIPHERAL": true, + "MBEDTLS_HARDWARE_SHA": true, + "MBEDTLS_HAVE_TIME": true, + "MBEDTLS_HAVE_TIME_DATE": false, + "MBEDTLS_HMAC_DRBG_C": true, + "MBEDTLS_INTERNAL_MEM_ALLOC": true, + "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA": true, + "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA": true, + "MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE": true, + "MBEDTLS_KEY_EXCHANGE_RSA": true, + "MBEDTLS_LARGE_KEY_SOFTWARE_MPI": true, + "MBEDTLS_MD5_C": true, + "MBEDTLS_MD_C": true, + "MBEDTLS_MPI_INTERRUPT_LEVEL": 0, + "MBEDTLS_MPI_USE_INTERRUPT": true, + "MBEDTLS_NIST_KW_C": false, + "MBEDTLS_PEM_PARSE_C": true, + "MBEDTLS_PEM_WRITE_C": true, + "MBEDTLS_PKCS1_V15": true, + "MBEDTLS_PKCS1_V21": true, + "MBEDTLS_PKCS5_C": true, + "MBEDTLS_PKCS7_C": true, + "MBEDTLS_PK_C": true, + "MBEDTLS_PK_PARSE_C": true, + "MBEDTLS_PK_PARSE_EC_COMPRESSED": true, + "MBEDTLS_PK_PARSE_EC_EXTENDED": true, + "MBEDTLS_PK_WRITE_C": true, + "MBEDTLS_PLATFORM_TIME_ALT": false, + "MBEDTLS_PSK_MODES": false, + "MBEDTLS_RIPEMD160_C": false, + "MBEDTLS_ROM_MD5": true, + "MBEDTLS_RSA_C": true, + "MBEDTLS_SELF_TEST": true, + "MBEDTLS_SERVER_SSL_SESSION_TICKETS": true, + "MBEDTLS_SHA1_C": true, + "MBEDTLS_SHA224_C": false, + "MBEDTLS_SHA256_C": true, + "MBEDTLS_SHA384_C": true, + "MBEDTLS_SHA3_C": false, + "MBEDTLS_SHA512_C": true, + "MBEDTLS_SSL_ALL_ALERT_MESSAGES": true, + "MBEDTLS_SSL_ALPN": true, + "MBEDTLS_SSL_CACHE_C": true, + "MBEDTLS_SSL_CONTEXT_SERIALIZATION": false, + "MBEDTLS_SSL_IN_CONTENT_LEN": 16384, + "MBEDTLS_SSL_KEEP_PEER_CERTIFICATE": false, + "MBEDTLS_SSL_KEYING_MATERIAL_EXPORT": false, + "MBEDTLS_SSL_MAX_FRAGMENT_LENGTH": true, + "MBEDTLS_SSL_OUT_CONTENT_LEN": 4096, + "MBEDTLS_SSL_PROTO_DTLS": false, + "MBEDTLS_SSL_PROTO_GMTSSL1_1": false, + "MBEDTLS_SSL_PROTO_TLS1_2": true, + "MBEDTLS_SSL_PROTO_TLS1_3": false, + "MBEDTLS_SSL_RENEGOTIATION": true, + "MBEDTLS_SSL_SERVER_NAME_INDICATION": true, + "MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH": false, + "MBEDTLS_THREADING_ALT": false, + "MBEDTLS_THREADING_C": true, + "MBEDTLS_THREADING_PTHREAD": true, + "MBEDTLS_TLS_CLIENT": true, + "MBEDTLS_TLS_CLIENT_ONLY": false, + "MBEDTLS_TLS_DISABLED": false, + "MBEDTLS_TLS_ENABLED": true, + "MBEDTLS_TLS_SERVER": true, + "MBEDTLS_TLS_SERVER_AND_CLIENT": true, + "MBEDTLS_TLS_SERVER_ONLY": false, + "MBEDTLS_VERSION_C": true, + "MBEDTLS_VERSION_FEATURES": false, + "MBEDTLS_VER_4_X_SUPPORT": true, + "MBEDTLS_X509_CREATE_C": false, + "MBEDTLS_X509_CRL_PARSE_C": true, + "MBEDTLS_X509_CRT_PARSE_C": true, + "MBEDTLS_X509_CSR_PARSE_C": true, + "MBEDTLS_X509_REMOVE_INFO": false, + "MBEDTLS_X509_RSASSA_PSS_SUPPORT": true, + "MBEDTLS_X509_TRUSTED_CERT_CALLBACK": false, + "MBEDTLS_X509_USE_C": true, + "MCPWM_CTRL_FUNC_IN_IRAM": false, + "MCPWM_ENABLE_DEBUG_LOG": false, + "MCPWM_ISR_CACHE_SAFE": false, + "MCPWM_ISR_HANDLER_IN_IRAM": true, + "MCPWM_OBJ_CACHE_SAFE": true, + "MMU_PAGE_MODE": "32KB", + "MMU_PAGE_SIZE": 32768, + "MMU_PAGE_SIZE_32KB": true, + "NVS_ASSERT_ERROR_CHECK": false, + "NVS_BDL_STACK": false, + "NVS_ENCRYPTION": false, + "NVS_FLASH_VERIFY_ERASE": false, + "NVS_LEGACY_DUP_KEYS_COMPATIBILITY": false, + "OPENTHREAD_DEBUG": false, + "OPENTHREAD_ENABLED": false, + "OPENTHREAD_SPINEL_ONLY": false, + "PARLIO_ENABLE_DEBUG_LOG": false, + "PARLIO_ISR_IRAM_SAFE": false, + "PARLIO_OBJ_CACHE_SAFE": true, + "PARLIO_RX_ISR_CACHE_SAFE": false, + "PARLIO_RX_ISR_HANDLER_IN_IRAM": true, + "PARLIO_TX_ISR_CACHE_SAFE": false, + "PARLIO_TX_ISR_HANDLER_IN_IRAM": true, + "PARTITION_TABLE_CUSTOM": false, + "PARTITION_TABLE_CUSTOM_FILENAME": "partitions.csv", + "PARTITION_TABLE_FILENAME": "partitions_singleapp.csv", + "PARTITION_TABLE_MD5": true, + "PARTITION_TABLE_OFFSET": 32768, + "PARTITION_TABLE_SINGLE_APP": true, + "PARTITION_TABLE_SINGLE_APP_LARGE": false, + "PARTITION_TABLE_TWO_OTA": false, + "PARTITION_TABLE_TWO_OTA_LARGE": false, + "PCNT_CTRL_FUNC_IN_IRAM": false, + "PCNT_ENABLE_DEBUG_LOG": false, + "PCNT_ISR_IRAM_SAFE": false, + "PM_CPU_RETENTION_DYNAMIC": true, + "PM_CPU_RETENTION_STATIC": false, + "PM_ENABLE": false, + "PM_ESP_SLEEP_POWER_DOWN_CPU": true, + "PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP": true, + "PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP": false, + "PM_SLEEP_FUNC_IN_IRAM": true, + "PM_SLP_DEFAULT_PARAMS_OPT": true, + "PM_SLP_IRAM_OPT": true, + "PTHREAD_STACK_MIN": 768, + "PTHREAD_TASK_CORE_DEFAULT": -1, + "PTHREAD_TASK_NAME_DEFAULT": "pthread", + "PTHREAD_TASK_PRIO_DEFAULT": 5, + "PTHREAD_TASK_STACK_SIZE_DEFAULT": 3072, + "RINGBUF_IN_IRAM": false, + "RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH": false, + "RMT_ENABLE_DEBUG_LOG": false, + "RMT_ENCODER_FUNC_IN_IRAM": true, + "RMT_ISR_IRAM_SAFE": false, + "RMT_OBJ_CACHE_SAFE": true, + "RMT_RECV_FUNC_IN_IRAM": false, + "RMT_RX_ISR_CACHE_SAFE": false, + "RMT_RX_ISR_HANDLER_IN_IRAM": true, + "RMT_TX_ISR_CACHE_SAFE": false, + "RMT_TX_ISR_HANDLER_IN_IRAM": true, + "RTC_CLK_CAL_CYCLES": 1024, + "RTC_CLK_FUNC_IN_IRAM": true, + "RTC_CLK_SRC_EXT_CRYS": false, + "RTC_CLK_SRC_EXT_OSC": false, + "RTC_CLK_SRC_INT_RC": true, + "RTC_TIME_FUNC_IN_IRAM": true, + "SDM_CTRL_FUNC_IN_IRAM": false, + "SDM_ENABLE_DEBUG_LOG": false, + "SD_ENABLE_SDIO_SUPPORT": true, + "SECURE_BOOT": false, + "SECURE_BOOT_V2_ECC_SUPPORTED": true, + "SECURE_BOOT_V2_PREFERRED": true, + "SECURE_BOOT_V2_RSA_SUPPORTED": true, + "SECURE_ENABLE_TEE": false, + "SECURE_FLASH_ENC_ENABLED": false, + "SECURE_ROM_DL_MODE_ENABLED": true, + "SECURE_SIGNED_APPS_NO_SECURE_BOOT": false, + "SECURE_TEE_LOG_LEVEL": 0, + "SOC_ADC_ATTEN_NUM": 4, + "SOC_ADC_CALIBRATION_V1_SUPPORTED": true, + "SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED": true, + "SOC_ADC_DIGI_CONTROLLER_NUM": 1, + "SOC_ADC_DIGI_DATA_BYTES_PER_CONV": 4, + "SOC_ADC_DIGI_IIR_FILTER_NUM": 2, + "SOC_ADC_DIGI_MAX_BITWIDTH": 12, + "SOC_ADC_DIGI_MIN_BITWIDTH": 12, + "SOC_ADC_DIGI_MONITOR_NUM": 2, + "SOC_ADC_DIGI_RESULT_BYTES": 4, + "SOC_ADC_DIG_CTRL_SUPPORTED": true, + "SOC_ADC_DIG_IIR_FILTER_SUPPORTED": true, + "SOC_ADC_DMA_SUPPORTED": true, + "SOC_ADC_MAX_CHANNEL_NUM": 7, + "SOC_ADC_MONITOR_SUPPORTED": true, + "SOC_ADC_PATT_LEN_MAX": 8, + "SOC_ADC_PERIPH_NUM": 1, + "SOC_ADC_RTC_MAX_BITWIDTH": 12, + "SOC_ADC_RTC_MIN_BITWIDTH": 12, + "SOC_ADC_SAMPLE_FREQ_THRES_HIGH": 83333, + "SOC_ADC_SAMPLE_FREQ_THRES_LOW": 611, + "SOC_ADC_SELF_HW_CALI_SUPPORTED": true, + "SOC_ADC_SHARED_POWER": true, + "SOC_ADC_SUPPORTED": true, + "SOC_ADC_TEMPERATURE_SHARE_INTR": true, + "SOC_AES_GDMA": true, + "SOC_AES_SUPPORTED": true, + "SOC_AES_SUPPORT_AES_128": true, + "SOC_AES_SUPPORT_AES_256": true, + "SOC_AES_SUPPORT_DMA": true, + "SOC_AHB_GDMA_SUPPORTED": true, + "SOC_AHB_GDMA_VERSION": 1, + "SOC_APM_CTRL_FILTER_SUPPORTED": true, + "SOC_APM_LP_APM0_SUPPORTED": true, + "SOC_APM_SUPPORTED": true, + "SOC_APM_SUPPORT_LP_TEE_CTRL": true, + "SOC_ASSIST_DEBUG_SUPPORTED": true, + "SOC_ASYNC_MEMCPY_SUPPORTED": true, + "SOC_BLE_50_SUPPORTED": true, + "SOC_BLE_DEVICE_PRIVACY_SUPPORTED": true, + "SOC_BLE_MESH_SUPPORTED": true, + "SOC_BLE_MULTI_CONN_OPTIMIZATION": true, + "SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED": true, + "SOC_BLE_PERIODIC_ADV_WITH_RESPONSE": true, + "SOC_BLE_POWER_CONTROL_SUPPORTED": true, + "SOC_BLE_SUBRATE_SUPPORTED": true, + "SOC_BLE_SUPPORTED": true, + "SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND": true, + "SOC_BLUFI_SUPPORTED": true, + "SOC_BOD_SUPPORTED": true, + "SOC_BROWNOUT_RESET_SUPPORTED": true, + "SOC_BT_SUPPORTED": true, + "SOC_CACHE_FREEZE_SUPPORTED": true, + "SOC_CAPS_NO_RESET_BY_ANA_BOD": true, + "SOC_CLK_LP_FAST_SUPPORT_XTAL_D2": true, + "SOC_CLK_OSC_SLOW_SUPPORTED": true, + "SOC_CLK_RC32K_SUPPORTED": true, + "SOC_CLK_RC_FAST_SUPPORT_CALIBRATION": true, + "SOC_CLK_TREE_SUPPORTED": true, + "SOC_CLK_XTAL32K_SUPPORTED": true, + "SOC_CLOCKOUT_HAS_SOURCE_GATE": true, + "SOC_COEX_HW_PTI": true, + "SOC_CPU_BREAKPOINTS_NUM": 4, + "SOC_CPU_CORES_NUM": 1, + "SOC_CPU_HAS_CSR_PC": true, + "SOC_CPU_HAS_FLEXIBLE_INTC": true, + "SOC_CPU_HAS_PMA": true, + "SOC_CPU_IDRAM_SPLIT_USING_PMP": true, + "SOC_CPU_INTR_NUM": 32, + "SOC_CPU_MISALIGNED_ACCESS_ON_PMP_MISMATCH_ISSUE": true, + "SOC_CPU_PMP_REGION_GRANULARITY": 4, + "SOC_CPU_WATCHPOINTS_NUM": 4, + "SOC_CPU_WATCHPOINT_MAX_REGION_SIZE": 2147483648, + "SOC_CRYPTO_DPA_PROTECTION_SUPPORTED": true, + "SOC_DEBUG_HAVE_OCD_STUB_BINS": true, + "SOC_DEDICATED_GPIO_SUPPORTED": true, + "SOC_DEEP_SLEEP_SUPPORTED": true, + "SOC_DIG_SIGN_SUPPORTED": true, + "SOC_DS_KEY_CHECK_MAX_WAIT_US": 1100, + "SOC_DS_KEY_PARAM_MD_IV_LENGTH": 16, + "SOC_DS_SIGNATURE_MAX_BIT_LEN": 3072, + "SOC_ECC_SUPPORTED": true, + "SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK": true, + "SOC_EFUSE_DIS_DIRECT_BOOT": true, + "SOC_EFUSE_DIS_DOWNLOAD_ICACHE": true, + "SOC_EFUSE_DIS_ICACHE": true, + "SOC_EFUSE_DIS_PAD_JTAG": true, + "SOC_EFUSE_DIS_USB_JTAG": true, + "SOC_EFUSE_KEY_PURPOSE_FIELD": true, + "SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS": true, + "SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS": 3, + "SOC_EFUSE_SOFT_DIS_JTAG": true, + "SOC_EFUSE_SUPPORTED": true, + "SOC_EFUSE_XTS_AES_KEY_128": true, + "SOC_ESP_NIMBLE_CONTROLLER": true, + "SOC_ETM_SUPPORTED": true, + "SOC_ETM_SUPPORT_SLEEP_RETENTION": true, + "SOC_EXTERNAL_COEX_ADVANCE": true, + "SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX": 64, + "SOC_FLASH_ENCRYPTION_PAGE_CONFIGURABLE": true, + "SOC_FLASH_ENCRYPTION_XTS_AES": true, + "SOC_FLASH_ENCRYPTION_XTS_AES_128": true, + "SOC_FLASH_ENC_SUPPORTED": true, + "SOC_GDMA_SUPPORTED": true, + "SOC_GDMA_SUPPORT_ETM": true, + "SOC_GDMA_SUPPORT_SLEEP_RETENTION": true, + "SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX": true, + "SOC_GPIO_CLOCKOUT_CHANNEL_NUM": 3, + "SOC_GPIO_FLEX_GLITCH_FILTER_NUM": 8, + "SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_MASK": 0, + "SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_PIN_CNT": 8, + "SOC_GPIO_IN_RANGE_MAX": 30, + "SOC_GPIO_OUT_RANGE_MAX": 30, + "SOC_GPIO_PIN_COUNT": 31, + "SOC_GPIO_PORT": 1, + "SOC_GPIO_SUPPORT_ETM": true, + "SOC_GPIO_SUPPORT_FORCE_HOLD": true, + "SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP": true, + "SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP": true, + "SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER": true, + "SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK": 2147483392, + "SOC_GPSPI_SUPPORTED": true, + "SOC_GPTIMER_SUPPORTED": true, + "SOC_HMAC_SUPPORTED": true, + "SOC_HP_I2C_NUM": 1, + "SOC_I2C_NUM": 2, + "SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE": true, + "SOC_I2C_SLAVE_SUPPORT_BROADCAST": true, + "SOC_I2C_SUPPORTED": true, + "SOC_I2C_SUPPORT_10BIT_ADDR": true, + "SOC_I2C_SUPPORT_RTC": true, + "SOC_I2C_SUPPORT_SLAVE": true, + "SOC_I2C_SUPPORT_SLEEP_RETENTION": true, + "SOC_I2C_SUPPORT_XTAL": true, + "SOC_I2S_HW_VERSION_2": true, + "SOC_I2S_PDM_MAX_RX_LINES": 1, + "SOC_I2S_PDM_MAX_TX_LINES": 2, + "SOC_I2S_SUPPORTED": true, + "SOC_I2S_SUPPORTS_ETM": true, + "SOC_I2S_SUPPORTS_PCM": true, + "SOC_I2S_SUPPORTS_PCM2PDM": true, + "SOC_I2S_SUPPORTS_PDM": true, + "SOC_I2S_SUPPORTS_PDM_RX": true, + "SOC_I2S_SUPPORTS_PDM_TX": true, + "SOC_I2S_SUPPORTS_TDM": true, + "SOC_IEEE802154_SUPPORTED": true, + "SOC_INT_PLIC_SUPPORTED": true, + "SOC_LEDC_CHANNEL_NUM": 6, + "SOC_LEDC_FADE_PARAMS_BIT_WIDTH": 10, + "SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX": 16, + "SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED": true, + "SOC_LEDC_SUPPORTED": true, + "SOC_LEDC_SUPPORT_ETM": true, + "SOC_LEDC_SUPPORT_FADE_STOP": true, + "SOC_LEDC_SUPPORT_PLL_DIV_CLOCK": true, + "SOC_LEDC_SUPPORT_SLEEP_RETENTION": true, + "SOC_LEDC_SUPPORT_XTAL_CLOCK": true, + "SOC_LEDC_TIMER_BIT_WIDTH": 20, + "SOC_LEDC_TIMER_NUM": 4, + "SOC_LIGHT_SLEEP_SUPPORTED": true, + "SOC_LP_AON_SUPPORTED": true, + "SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR": true, + "SOC_LP_CORE_SUPPORTED": true, + "SOC_LP_CORE_SUPPORT_ETM": true, + "SOC_LP_I2C_NUM": 1, + "SOC_LP_I2C_SUPPORTED": true, + "SOC_LP_IO_CLOCK_IS_INDEPENDENT": true, + "SOC_LP_PERIPHERALS_SUPPORTED": true, + "SOC_LP_TIMER_BIT_WIDTH_HI": 16, + "SOC_LP_TIMER_BIT_WIDTH_LO": 32, + "SOC_LP_UART_FIFO_LEN": 16, + "SOC_MCPWM_CAPTURE_CLK_FROM_GROUP": true, + "SOC_MCPWM_SUPPORTED": true, + "SOC_MCPWM_SUPPORT_ETM": true, + "SOC_MCPWM_SUPPORT_SLEEP_RETENTION": true, + "SOC_MCPWM_SWSYNC_CAN_PROPAGATE": true, + "SOC_MEMSPI_ENCRYPTION_ALIGNMENT": 16, + "SOC_MEMSPI_IS_INDEPENDENT": true, + "SOC_MMU_DI_VADDR_SHARED": true, + "SOC_MMU_LINEAR_ADDRESS_REGION_NUM": 1, + "SOC_MMU_PAGE_SIZE_8KB_SUPPORTED": true, + "SOC_MMU_PAGE_SIZE_CONFIGURABLE": true, + "SOC_MMU_PERIPH_NUM": 1, + "SOC_MODEM_CLOCK_IS_INDEPENDENT": true, + "SOC_MODEM_CLOCK_SUPPORTED": true, + "SOC_MPI_MEM_BLOCKS_NUM": 4, + "SOC_MPI_OPERATIONS_NUM": 3, + "SOC_MPI_SUPPORTED": true, + "SOC_MPU_MIN_REGION_SIZE": 536870912, + "SOC_MPU_REGIONS_MAX_NUM": 8, + "SOC_MWDT_SUPPORT_SLEEP_RETENTION": true, + "SOC_MWDT_SUPPORT_XTAL": true, + "SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH": 16, + "SOC_PARLIO_SUPPORTED": true, + "SOC_PARLIO_SUPPORT_SLEEP_RETENTION": true, + "SOC_PARLIO_TX_RX_SHARE_INTERRUPT": true, + "SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH": 16, + "SOC_PAU_SUPPORTED": true, + "SOC_PCNT_SUPPORTED": true, + "SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE": true, + "SOC_PHY_COMBO_MODULE": true, + "SOC_PHY_DIG_REGS_MEM_SIZE": 21, + "SOC_PHY_SUPPORTED": true, + "SOC_PMU_PVT_SUPPORTED": true, + "SOC_PMU_SUPPORTED": true, + "SOC_PM_CPU_RETENTION_BY_SW": true, + "SOC_PM_MODEM_RETENTION_BY_REGDMA": true, + "SOC_PM_MODEM_RF_FLAG_UPDATE_WORKAROUND": true, + "SOC_PM_PAU_LINK_NUM": 4, + "SOC_PM_PAU_REGDMA_LINK_MULTI_ADDR": true, + "SOC_PM_PAU_REGDMA_LINK_WIFIMAC": true, + "SOC_PM_PAU_REGDMA_UPDATE_CACHE_BEFORE_WAIT_COMPARE": true, + "SOC_PM_PMU_MIN_SLP_SLOW_CLK_CYCLE_FIXED": true, + "SOC_PM_RETENTION_HAS_CLOCK_BUG": true, + "SOC_PM_RETENTION_MODULE_NUM": 32, + "SOC_PM_SUPPORTED": true, + "SOC_PM_SUPPORT_BEACON_WAKEUP": true, + "SOC_PM_SUPPORT_BT_WAKEUP": true, + "SOC_PM_SUPPORT_CPU_PD": true, + "SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY": true, + "SOC_PM_SUPPORT_EXT1_WAKEUP": true, + "SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN": true, + "SOC_PM_SUPPORT_HP_AON_PD": true, + "SOC_PM_SUPPORT_MAC_BB_PD": true, + "SOC_PM_SUPPORT_MODEM_PD": true, + "SOC_PM_SUPPORT_PMU_CLK_ICG": true, + "SOC_PM_SUPPORT_PMU_MODEM_STATE": true, + "SOC_PM_SUPPORT_RC32K_PD": true, + "SOC_PM_SUPPORT_RC_FAST_PD": true, + "SOC_PM_SUPPORT_RTC_PERIPH_PD": true, + "SOC_PM_SUPPORT_TOP_PD": true, + "SOC_PM_SUPPORT_VDDSDIO_PD": true, + "SOC_PM_SUPPORT_WIFI_WAKEUP": true, + "SOC_PM_SUPPORT_XTAL32K_PD": true, + "SOC_RCC_IS_INDEPENDENT": true, + "SOC_RMT_MEM_WORDS_PER_CHANNEL": 48, + "SOC_RMT_SUPPORTED": true, + "SOC_RMT_SUPPORT_RX_PINGPONG": true, + "SOC_RMT_SUPPORT_SLEEP_RETENTION": true, + "SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP": true, + "SOC_RMT_SUPPORT_TX_LOOP_COUNT": true, + "SOC_RNG_CLOCK_IS_INDEPENDENT": true, + "SOC_RNG_SUPPORTED": true, + "SOC_RSA_MAX_BIT_LEN": 3072, + "SOC_RTCIO_HOLD_SUPPORTED": true, + "SOC_RTCIO_INPUT_OUTPUT_SUPPORTED": true, + "SOC_RTCIO_PIN_COUNT": 8, + "SOC_RTCIO_WAKE_SUPPORTED": true, + "SOC_RTC_FAST_MEM_SUPPORTED": true, + "SOC_RTC_MEM_SUPPORTED": true, + "SOC_RTC_MEM_SUPPORT_SPEED_MODE_SWITCH": true, + "SOC_RTC_TIMER_V2_SUPPORTED": true, + "SOC_SDIO_SLAVE_SUPPORTED": true, + "SOC_SDM_SUPPORTED": true, + "SOC_SDM_SUPPORT_SLEEP_RETENTION": true, + "SOC_SECURE_BOOT_SUPPORTED": true, + "SOC_SECURE_BOOT_V2_ECC": true, + "SOC_SECURE_BOOT_V2_RSA": true, + "SOC_SHARED_IDCACHE_SUPPORTED": true, + "SOC_SHA_DMA_MAX_BUFFER_SIZE": 3968, + "SOC_SHA_GDMA": true, + "SOC_SHA_SUPPORTED": true, + "SOC_SHA_SUPPORT_DMA": true, + "SOC_SHA_SUPPORT_RESUME": true, + "SOC_SHA_SUPPORT_SHA1": true, + "SOC_SHA_SUPPORT_SHA224": true, + "SOC_SHA_SUPPORT_SHA256": true, + "SOC_SPI_FLASH_SUPPORTED": true, + "SOC_SPI_MAXIMUM_BUFFER_SIZE": 64, + "SOC_SPI_MAX_CS_NUM": 6, + "SOC_SPI_MAX_PRE_DIVIDER": 16, + "SOC_SPI_MEM_SUPPORT_AUTO_RESUME": true, + "SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND": true, + "SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE": true, + "SOC_SPI_MEM_SUPPORT_CHECK_SUS": true, + "SOC_SPI_MEM_SUPPORT_IDLE_INTR": true, + "SOC_SPI_MEM_SUPPORT_SW_SUSPEND": true, + "SOC_SPI_MEM_SUPPORT_WRAP": true, + "SOC_SPI_PERIPH_NUM": 2, + "SOC_SPI_SCT_BUFFER_NUM_MAX": true, + "SOC_SPI_SCT_CONF_BITLEN_MAX": 262138, + "SOC_SPI_SCT_REG_NUM": 14, + "SOC_SPI_SCT_SUPPORTED": true, + "SOC_SPI_SLAVE_SUPPORT_SEG_TRANS": true, + "SOC_SPI_SUPPORT_CD_SIG": true, + "SOC_SPI_SUPPORT_CLK_PLL_F80M": true, + "SOC_SPI_SUPPORT_CLK_RC_FAST": true, + "SOC_SPI_SUPPORT_CLK_XTAL": true, + "SOC_SPI_SUPPORT_CONTINUOUS_TRANS": true, + "SOC_SPI_SUPPORT_DDRCLK": true, + "SOC_SPI_SUPPORT_SLAVE_HD_VER2": true, + "SOC_SPI_SUPPORT_SLEEP_RETENTION": true, + "SOC_SUPPORTS_SECURE_DL_MODE": true, + "SOC_SUPPORT_COEXISTENCE": true, + "SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY": true, + "SOC_SYSTIMER_ALARM_MISS_COMPENSATE": true, + "SOC_SYSTIMER_ALARM_NUM": 3, + "SOC_SYSTIMER_BIT_WIDTH_HI": 20, + "SOC_SYSTIMER_BIT_WIDTH_LO": 32, + "SOC_SYSTIMER_COUNTER_NUM": 2, + "SOC_SYSTIMER_FIXED_DIVIDER": true, + "SOC_SYSTIMER_INT_LEVEL": true, + "SOC_SYSTIMER_SUPPORTED": true, + "SOC_SYSTIMER_SUPPORT_ETM": true, + "SOC_SYSTIMER_SUPPORT_RC_FAST": true, + "SOC_TEMPERATURE_SENSOR_INTR_SUPPORT": true, + "SOC_TEMPERATURE_SENSOR_SUPPORT_ETM": true, + "SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC": true, + "SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION": true, + "SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL": true, + "SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN": true, + "SOC_TEMP_SENSOR_SUPPORTED": true, + "SOC_TIMER_SUPPORT_ETM": true, + "SOC_TIMER_SUPPORT_SLEEP_RETENTION": true, + "SOC_TWAI_CONTROLLER_NUM": 2, + "SOC_TWAI_MASK_FILTER_NUM": 1, + "SOC_TWAI_SUPPORTED": true, + "SOC_TWAI_SUPPORT_SLEEP_RETENTION": true, + "SOC_UART_BITRATE_MAX": 5000000, + "SOC_UART_FIFO_LEN": 128, + "SOC_UART_HAS_LP_UART": true, + "SOC_UART_HP_NUM": 2, + "SOC_UART_LP_NUM": 1, + "SOC_UART_NUM": 3, + "SOC_UART_SUPPORTED": true, + "SOC_UART_SUPPORT_RTC_CLK": true, + "SOC_UART_SUPPORT_SLEEP_RETENTION": true, + "SOC_UART_SUPPORT_WAKEUP_INT": true, + "SOC_UART_SUPPORT_XTAL_CLK": true, + "SOC_UART_WAKEUP_CHARS_SEQ_MAX_LEN": 5, + "SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE": true, + "SOC_UART_WAKEUP_SUPPORT_CHAR_SEQ_MODE": true, + "SOC_UART_WAKEUP_SUPPORT_FIFO_THRESH_MODE": true, + "SOC_UART_WAKEUP_SUPPORT_START_BIT_MODE": true, + "SOC_UHCI_NUM": 1, + "SOC_UHCI_SUPPORTED": true, + "SOC_ULP_LP_UART_SUPPORTED": true, + "SOC_ULP_SUPPORTED": true, + "SOC_USB_SERIAL_JTAG_SUPPORTED": true, + "SOC_WDT_SUPPORTED": true, + "SOC_WIFI_CSI_SUPPORT": true, + "SOC_WIFI_FTM_SUPPORT": true, + "SOC_WIFI_GCMP_SUPPORT": true, + "SOC_WIFI_HE_SUPPORT": true, + "SOC_WIFI_HW_TSF": true, + "SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH": 12, + "SOC_WIFI_MAC_VERSION_NUM": 2, + "SOC_WIFI_MESH_SUPPORT": true, + "SOC_WIFI_SUPPORTED": true, + "SOC_WIFI_TXOP_SUPPORT": true, + "SOC_WIFI_WAPI_SUPPORT": true, + "SOC_XTAL_CLOCK_PATH_DEPENDS_ON_TOP_DOMAIN": true, + "SOC_XTAL_SUPPORT_40M": true, + "SPIFFS_API_DBG": false, + "SPIFFS_CACHE": true, + "SPIFFS_CACHE_DBG": false, + "SPIFFS_CACHE_STATS": false, + "SPIFFS_CACHE_WR": true, + "SPIFFS_CHECK_DBG": false, + "SPIFFS_DBG": false, + "SPIFFS_FOLLOW_SYMLINKS": false, + "SPIFFS_GC_DBG": false, + "SPIFFS_GC_MAX_RUNS": 10, + "SPIFFS_GC_STATS": false, + "SPIFFS_MAX_PARTITIONS": 3, + "SPIFFS_META_LENGTH": 4, + "SPIFFS_OBJ_NAME_LEN": 32, + "SPIFFS_PAGE_CHECK": true, + "SPIFFS_PAGE_SIZE": 256, + "SPIFFS_TEST_VISUALISATION": false, + "SPIFFS_USE_MAGIC": true, + "SPIFFS_USE_MAGIC_LENGTH": true, + "SPIFFS_USE_MTIME": true, + "SPI_FLASH_AUTO_SUSPEND": false, + "SPI_FLASH_BROWNOUT_RESET": true, + "SPI_FLASH_BROWNOUT_RESET_XMC": true, + "SPI_FLASH_BYPASS_BLOCK_ERASE": false, + "SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED": false, + "SPI_FLASH_DANGEROUS_WRITE_ABORTS": true, + "SPI_FLASH_DANGEROUS_WRITE_ALLOWED": false, + "SPI_FLASH_DANGEROUS_WRITE_FAILS": false, + "SPI_FLASH_ENABLE_COUNTERS": false, + "SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE": true, + "SPI_FLASH_ERASE_YIELD_DURATION_MS": 20, + "SPI_FLASH_ERASE_YIELD_TICKS": 1, + "SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND": false, + "SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND": false, + "SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST": false, + "SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM": true, + "SPI_FLASH_ROM_IMPL": false, + "SPI_FLASH_SIZE_OVERRIDE": false, + "SPI_FLASH_SUPPORT_BOYA_CHIP": false, + "SPI_FLASH_SUPPORT_GD_CHIP": true, + "SPI_FLASH_SUPPORT_ISSI_CHIP": false, + "SPI_FLASH_SUPPORT_MXIC_CHIP": false, + "SPI_FLASH_SUPPORT_TH_CHIP": false, + "SPI_FLASH_SUPPORT_WINBOND_CHIP": false, + "SPI_FLASH_SUSPEND_TSUS_VAL_US": 50, + "SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED": true, + "SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED": true, + "SPI_FLASH_VERIFY_WRITE": false, + "SPI_FLASH_WRITE_CHUNK_SIZE": 8192, + "SPI_FLASH_YIELD_DURING_ERASE": true, + "SPI_MASTER_ISR_IN_IRAM": true, + "SPI_SLAVE_IN_IRAM": false, + "SPI_SLAVE_ISR_IN_IRAM": true, + "TEMP_SENSOR_ENABLE_DEBUG_LOG": false, + "TEMP_SENSOR_ISR_IRAM_SAFE": false, + "TWAI_ENABLE_DEBUG_LOG": false, + "TWAI_IO_FUNC_IN_IRAM": false, + "TWAI_ISR_CACHE_SAFE": false, + "TWAI_ISR_IN_IRAM": false, + "TWAI_ISR_IN_IRAM_LEGACY": false, + "TWAI_SKIP_LEGACY_CONFLICT_CHECK": false, + "TWAI_SUPPRESS_DEPRECATE_WARN": false, + "UART_ISR_IN_IRAM": false, + "UHCI_ENABLE_DEBUG_LOG": false, + "UHCI_ISR_CACHE_SAFE": false, + "UHCI_ISR_HANDLER_IN_IRAM": false, + "ULP_COPROC_ENABLED": false, + "UNITY_ENABLE_64BIT": false, + "UNITY_ENABLE_BACKTRACE_ON_FAIL": false, + "UNITY_ENABLE_COLOR": false, + "UNITY_ENABLE_DOUBLE": true, + "UNITY_ENABLE_FIXTURE": false, + "UNITY_ENABLE_FLOAT": true, + "UNITY_ENABLE_IDF_TEST_RUNNER": true, + "USJ_ENABLE_USB_SERIAL_JTAG": true, + "VFS_INITIALIZE_DEV_NULL": true, + "VFS_MAX_COUNT": 8, + "VFS_SELECT_IN_RAM": false, + "VFS_SEMIHOSTFS_MAX_MOUNT_POINTS": 1, + "VFS_SUPPORT_DIR": true, + "VFS_SUPPORT_IO": true, + "VFS_SUPPORT_SELECT": true, + "VFS_SUPPORT_TERMIOS": false, + "VFS_SUPPRESS_CTX_DEPRECATION": false, + "VFS_SUPPRESS_SELECT_DEBUG_OUTPUT": true, + "WL_SECTOR_SIZE": 4096, + "WL_SECTOR_SIZE_4096": true, + "WL_SECTOR_SIZE_512": false, + "WS_BUFFER_SIZE": 1024, + "WS_DYNAMIC_BUFFER": false, + "WS_TRANSPORT": true, + "XTAL_FREQ": 40, + "XTAL_FREQ_40": true +} \ No newline at end of file diff --git a/.pio/build/xiao-esp32c6/gdbinit/connect b/.pio/build/xiao-esp32c6/gdbinit/connect new file mode 100644 index 0000000..faa3857 --- /dev/null +++ b/.pio/build/xiao-esp32c6/gdbinit/connect @@ -0,0 +1,7 @@ +# Connect to the default openocd-esp port and stop on app_main() +set remotetimeout 10 +target remote :3333 +monitor reset halt +maintenance flush register-cache +thbreak app_main +continue diff --git a/.pio/build/xiao-esp32c6/gdbinit/gdbinit b/.pio/build/xiao-esp32c6/gdbinit/gdbinit new file mode 100644 index 0000000..b319d1b --- /dev/null +++ b/.pio/build/xiao-esp32c6/gdbinit/gdbinit @@ -0,0 +1,2 @@ +source /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/gdbinit/symbols +source /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/gdbinit/connect diff --git a/.pio/build/xiao-esp32c6/gdbinit/prefix_map b/.pio/build/xiao-esp32c6/gdbinit/prefix_map new file mode 100644 index 0000000..c7842ec --- /dev/null +++ b/.pio/build/xiao-esp32c6/gdbinit/prefix_map @@ -0,0 +1 @@ +# There is no prefix map defined for the project. diff --git a/.pio/build/xiao-esp32c6/gdbinit/py_extensions b/.pio/build/xiao-esp32c6/gdbinit/py_extensions new file mode 100644 index 0000000..336f995 --- /dev/null +++ b/.pio/build/xiao-esp32c6/gdbinit/py_extensions @@ -0,0 +1,7 @@ +# Add Python GDB extensions +python +try: + import freertos_gdb +except ModuleNotFoundError: + print('warning: python extension "freertos_gdb" not found.') +end diff --git a/.pio/build/xiao-esp32c6/gdbinit/symbols b/.pio/build/xiao-esp32c6/gdbinit/symbols new file mode 100644 index 0000000..6e786b9 --- /dev/null +++ b/.pio/build/xiao-esp32c6/gdbinit/symbols @@ -0,0 +1,20 @@ +# Load esp32c6 ROM ELF symbols +define target hookpost-remote +set confirm off + # if $_streq((char *) 0x4004a798, "Sep 19 2022") + if (*(int*) 0x4004a798) == 0x20706553 && (*(int*) 0x4004a79c) == 0x32203931 && (*(int*) 0x4004a7a0) == 0x323230 + add-symbol-file /home/claw/.platformio/packages/tool-esp-rom-elfsesp32c6_rev0_rom.elf + else + echo Warning: Unknown esp32c6 ROM revision.\n + end +set confirm on +end + + +# Load bootloader symbols +set confirm off + add-symbol-file /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/bootloader/bootloader.elf +set confirm on + +# Load application symbols +file /home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/led-laser-frequenzen.elf diff --git a/.pio/build/xiao-esp32c6/hints.yml b/.pio/build/xiao-esp32c6/hints.yml new file mode 100644 index 0000000..e7634ea --- /dev/null +++ b/.pio/build/xiao-esp32c6/hints.yml @@ -0,0 +1,766 @@ +# - +# re: Regular expression of error to search +# hint: The message of the hint. Optionally, it is possible to use '{}' at the place where the matched group from 're' should be inserted. This requires 'match_to_output: True'. You can use variables with hint messages. For this, you need to add variables and "{}" in a place where you want to put your hint variable, but you can't use 'match_to_output' with variables. +# match_to_output: (False by default) see the description of 'hint'. +# variables: +# - +# re_variables: [set variable for regular expression] +# hint_variables: [set variable for hint] +# Rules to write regex for hints on how to resolve errors +# - Do not use more than one whitespace in a row. The script automatically merges several whitespaces into one when capturing output +# - Do not use \n in your regex. They are all automatically deletes by the script when capturing output +# +# example of using hints: +# - +# re: "Error: header {} is missing" (you can use '{1} ... {1}' placeholders in 'hint' and 're', so that you don't have to repeat the same variables, you can use 'hint: 'The {0} (functions/types/macros prefixed with '{1}') has been made into a private API. If users still require usage of the {0} (though this is not recommended), it can be included via #include "esp_private/{2}.h".' in this file as an example) +# hint: "header {} is missing, you need to add dependency on component {}" +# variables: +# - +# re_variables: [Q] +# hint_variables: [A, B] +# - +# re_variables: [W] +# hint_variables: [C, D] +# - +# re_variables: [R] +# hint_variables: [E, F] +# +# that example will replace this : +# - +# re: "Error: header Q is missing" +# hint: "header A is missing, you need to add dependency on component B" +# - +# re: Error: header W is missing" +# hint: "header C is missing, you need to add dependency on component D" +# - +# re: Error: header R is missing" +# hint: "header E is missing, you need to add dependency on component F" + +- + re: "warning: passing argument 1 of 'esp_secure_boot_read_key_digests' from incompatible pointer type" + hint: "The parameter type of the function esp_secure_boot_read_key_digests() has been changed from ets_secure_boot_key_digests_t* to esp_secure_boot_key_digests_t*." + +- + re: "error: implicit declaration of function '{}'" + hint: "Function '{}' has been removed. Please use the function {}." + variables: + - + re_variables: ['bootloader_common_get_reset_reason'] + hint_variables: ['bootloader_common_get_reset_reason()', "'esp_rom_get_reset_reason()' in the ROM component"] + - + re_variables: ['esp_efuse_get_chip_ver'] + hint_variables: ['esp_efuse_get_chip_ver()', 'efuse_hal_get_major_chip_version()', 'efuse_hal_get_minor_chip_version() or efuse_hal_chip_revision() instead'] + - + re_variables: ['(esp_spiram_get_chip_size|esp_spiram_get_size)'] + hint_variables: ['esp_spiram_get_chip_size and esp_spiram_get_size', 'esp_psram_get_size()'] + - + re_variables: ['sdm_channel_set_duty'] + hint_variables: ['sdm_channel_set_duty()', 'sdm_channel_set_pulse_density()'] + +- + re: "error: implicit declaration of function '(MCPWM_GEN_TIMER_EVENT_ACTION_END|MCPWM_GEN_COMPARE_EVENT_ACTION_END|MCPWM_GEN_BRAKE_EVENT_ACTION_END)'" + hint: "Macro function '{}()' has been removed. Please don't use variadic APIs when setting MCPWM generator actions." + match_to_output: True + +- + re: "error: implicit declaration of function 'esp_secure_boot_verify_rsa_signature_block'" + hint: "'esp_secure_boot_verify_rsa_signature_block()' has been made private and is no longer available." + +- + re: "error: implicit declaration of function '{}'" + hint: '{0}.h header file is not included by esp_system.h anymore. It shall then be manually included with #include "{0}.h"' + variables: + - + re_variables: ['(esp_random|esp_fill_random)'] + hint_variables: ['esp_random'] + - + re_variables: ['(esp_base_mac_addr_(s|g)et|esp_efuse_mac_get_(custom|default)|esp_read_mac|esp_derive_local_mac)'] + hint_variables: ['esp_mac'] + - + re_variables: ['esp_chip_info'] + hint_variables: ['esp_chip_info'] + +- + re: "fatal error: (spiram.h|esp_spiram.h): No such file or directory" + hint: "{} was removed. Include esp_psram.h instead. Make sure to also add esp_psram as a dependency in your CMakeLists.txt file." + match_to_output: True + +- + re: "error: implicit declaration of function '{}'" + hint: "Use {} defined in esp_cpu.h instead of {}." + variables: + - + re_variables: ['esp_cpu_ccount_t'] + hint_variables: ['esp_cpu_cycle_count_t', 'esp_cpu_ccount_t'] + - + re_variables: ['esp_cpu_get_ccount'] + hint_variables: ['esp_cpu_get_cycle_count()', 'esp_cpu_get_ccount'] + - + re_variables: ['esp_cpu_set_ccount'] + hint_variables: ['esp_cpu_set_cycle_count()', 'esp_cpu_set_ccount'] + +- + re: "fatal error: {}: No such file or directory" + hint: "{} was removed. Include {} instead." + variables: + - + re_variables: ['esp_intr.h'] + hint_variables: ['esp_intr.h', 'esp_intr_alloc.h'] + - + re_variables: ['soc/cpu.h'] + hint_variables: ['soc/cpu.h', 'and use the API function provided by esp_cpu.h'] + - + re_variables: ['compare_set.h'] + hint_variables: ['compare_set.h', 'and use the API function provided by esp_cpu.h'] + - + re_variables: ['esp_panic.h'] + hint_variables: ['esp_panic.h', 'use functionalities provided in esp_debug_helpers.h'] + + - re_variables: ['driver/can.h'] + hint_variables: ['driver/can.h', 'driver/twai.h'] + + - re_variables: ['driver/periph_ctrl.h'] + hint_variables: ['driver/periph_ctrl.h', 'esp_private/periph_ctrl.h'] + + - re_variables: ['driver/rtc_cntl.h'] + hint_variables: ['driver/rtc_cntl.h', 'esp_private/rtc_ctrl.h'] + +- + re: "error: implicit declaration of function 'esp_int_wdt_\\w+'" + hint: 'The Interrupt Watchdog API has been made private, it shall not be used anymore. You can still force its inclusion with #include "esp_private/esp_int_wdt.h" (not recommended)' + +- + re: "fatal error: soc/(spinlock.h|clk_ctrl_os.h|rtc_wdt.h): No such file or directory" + hint: "{} must be included without the 'soc' part." + match_to_output: True + +- + re: "fatal error: (soc_log.h): No such file or directory" + hint: "{} was renamed and made private. Consider using the logging APIs provided under esp_log.h instead." + match_to_output: True + +- + re: "error: unknown type name '(portTickType|xTaskHandle|xQueueHandle|xSemaphoreHandle|xQueueSetHandle|xQueueSetMemberHandle|xTimeOutType|xMemoryRegion|xTaskParameters|xTaskStatusType|xTimerHandle|xCoRoutineHandle|pdTASK_HOOK_CODE|tmrTIMER_CALLBACK|pdTASK_CODE|xListItem|xList)'" + hint: "You are maybe using pre FreeRTOS V8.0.0 data types. The backward compatibility of such data types is no longer enabled by default. Please turn on CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY explicitly to use such data types." + match_to_output: True +- + re: "error: 'portTICK_RATE_MS' undeclared" + hint: "You are maybe using pre FreeRTOS V8.0.0 APIs. The backward compatibility of such APIs is no longer enabled by default. Please turn on CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY explicitly to use such APIs." + match_to_output: True +- + re: "error: implicit declaration of function '(eTaskStateGet|pcTaskGetTaskName|pcTimerGetTimerName|pcQueueGetQueueName|vTaskGetTaskInfo|xTaskGetIdleRunTimeCounter)'" + hint: "You are maybe using pre FreeRTOS V8.0.0 APIs. The backward compatibility of such APIs is no longer enabled by default. Please turn on CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY explicitly to use such APIs." + match_to_output: True +- + re: "error: implicit declaration of function '(portENTER_CRITICAL_NESTED|portEXIT_CRITICAL_NESTED|vPortCPUInitializeMutex|vPortCPUAcquireMutex|vPortCPUAcquireMutexTimeout|vPortCPUReleaseMutex)'" + hint: "The header file portmacro_deprecated.h has been removed. Users should refer the migration guide for alternative functions." + match_to_output: True + +- + re: "fatal error: {}.h: No such file or directory" + hint: 'The {0} (functions/types/macros prefixed with "{1}") has been made into a private API. If users still require usage of the {0} (though this is not recommended), it can be included via #include "esp_private/{2}.h".' + variables: + - + re_variables: ['esp32\\w*\\/clk'] + hint_variables: ['ESP Clock API', 'esp_clk', 'esp_clk'] + - + re_variables: ['esp32\\w*\\/cache_err_int'] + hint_variables: ['Cache Error Interrupt API', 'esp_cache_err', 'cache_err_int'] + - + re_variables: ['brownout'] + hint_variables: ['Brownout API', 'esp_brownout', 'brownout'] + - + re_variables: ['trax'] + hint_variables: ['Trax API', 'trax_', 'trax'] + - + re_variables: ['eh_frame_parser'] + hint_variables: ['Backtrace Parser API', 'eh_frame_parser', 'eh_frame_parser'] + +- + re: "fatal error: esp_adc_cal.h: No such file or directory" + hint: "``esp_adc_cal`` component is no longer supported. New adc calibration driver is in ``esp_adc``. Legacy adc calibration driver has been moved into ``esp_adc`` component. To use legacy ``esp_adc_cal`` driver APIs, you should add ``esp_adc`` component to the list of component requirements in CMakeLists.txt. For more information run 'idf.py docs -sp migration-guides/release-5.x/peripherals.html'." + +- + re: "The CMAKE_[A-Z]+_COMPILER: [\\w+-]+ is not a full path and was not found in the PATH\\." + hint: "Try to reinstall the toolchain for the chip that you trying to use. \nFor more information run 'idf.py docs -sp get-started/#installation' and follow the instructions for your system" + +- + re: "CMake Error: The current CMakeCache\\.txt directory .* is different than the directory .* where CMakeCache\\.txt was created\\." + hint: "Run 'idf.py fullclean' and try the build again." + +- + re: "CMake Error at .* \\(message\\): Could not create symbolic link for: error\\.c --> Cannot create a file when that file already exists\\." + hint: "Run 'idf.py fullclean' and try the build again." + +- + re: "CMake Error at .* \\(message\\): Directory specified in EXTRA_COMPONENT_DIRS doesn't exist: \\/?.*\\/examples\\/common_components\\/.*" + hint: "The component with path specified in the EXTRA_COMPONENT_DIRS variable has been moved to IDF component manager (or has been removed).\nPlease look out for component in 'https://components.espressif.com' and add using 'idf.py add-dependency' command.\nRefer to the migration guide for more details." + +- + re: "ImportError: bad magic number in 'kconfiglib':" + hint: "Run 'idf.py python-clean', and try again" + +- + re: "ccache error: Failed to create temporary file" + hint: "On Windows, you should enable long path support in the installer, or disable ccache temporarily. See 'idf.py --help' or the documentation how to achieve this." + +- + re: "The keyword signature for target_link_libraries has already been used" + hint: "Projects using target_link_libraries with project_elf explicitly and custom CMake projects must specify PRIVATE, PUBLIC or INTERFACE arguments." + +- + re: "format '([^']+)' expects argument of type '((unsigned )?int|long)', but argument (\\w+) has type '([u]?int32_t)'( \\{aka '([^']+)'\\})?" + hint: "The issue is better to resolve by replacing format specifiers to 'PRI'-family macros (include header file)." + +- + re: "Failed to resolve component '{}'" + hint: "The {} component has been moved to {}. You can {}." + variables: + - + re_variables: ['esp_ipc'] + hint_variables: ['IPC', 'esp_system', 'simply delete any `REQUIRES esp_ipc` as esp_system is REQUIRED by default'] + - + re_variables: ['touch_element'] + hint_variables: ['touch_element', 'ESP Component Registry', 'add this dependency by running `idf.py add-dependency "espressif/touch_element"`'] + +- + re: "Failed to resolve component 'newlib'" + hint: "newlib component has been renamed to esp_libc. Any `REQUIRES newlib` can simply be deleted as esp_libc is REQUIRED by default." + +- + re: "error: enumeration value 'HTTP_EVENT_REDIRECT' not handled in switch" + hint: "The event handler, specified in the 'event_handler' element, of the 'esp_http_client_config_t' struct now needs to handle the new 'HTTP_EVENT_REDIRECT' event case." + +- + re: "Failed to resolve component '(?!esp_ipc|newlib)(\\w+)'" + hint: "The component '{}' could not be found. This could be because: component name was misspelled, the component was not added to the build, the component has been moved to the IDF component manager, the component has been removed and refactored into some other component or the component may not be supported by the selected target.\nPlease look out for component in 'https://components.espressif.com' and add using 'idf.py add-dependency' command.\nRefer to the migration guide for more details about moved components.\nRefer to the build-system guide for more details about how components are found and included in the build." + match_to_output: True + +- + re: "fatal error: (esp_rom_tjpgd.h): No such file or directory" + hint: "{} was removed. Please use esp_jpeg component from IDF component manager instead.\nPlease look out for component in 'https://components.espressif.com' and add using 'idf.py add-dependency' command.\nRefer to the migration guide for more details." + match_to_output: True + +- + re: "fatal error: esp_private/freertos_debug.h: No such file or directory" + hint: "esp_private/freertos_debug.h has been moved to freertos/freertos_debug.h.\nThe task snapshot APIs are now public. Update your include to use the new public header." + +- + re: "(fatal error: tcpip_adapter.h: No such file or directory|error: implicit declaration of function 'tcpip_adapter_init')" + hint: "TCP/IP adapter compatibility layer has been removed. Please migrate to ESP-NETIF.\nRefer to the Networking migration guide, section TCP/IP adapter, for more details." + +- + re: "error: macro \"(ETH_\\w+_CONFIG)\" requires 2 arguments, but only 1 given" + hint: "Macro {} now accepts both SPI host and SPI device related configuration. The SPI-Ethernet Module initialization has been simplified to allocate an SPI device internally so the configuration structure requires the related configuration.\nPlease refer to the Networking migration guide, section SPI-Ethernet Module Initialization, for more details." + match_to_output: True + +- + re: "error: implicit declaration of function '(esp_eth_detect_phy_addr)'" + hint: "Function {}() has been renamed to esp_eth_phy_802_3_detect_phy_addr().\nPlease refer to the Networking migration guide, section PHY Address Auto-detect, for more details." + match_to_output: True + +- + re: "error: too few arguments to function '(esp_eth_mac_\\w+)'" + hint: "Function {}() has been refactored to accept device specific configuration and MAC specific configuration.\nPlease refer to the Ethernet section of Networking migration guide for more details." + match_to_output: True + +- + re: "error: implicit declaration of function 'esp_eth_phy_new_{}'" + hint: "Function {}() has been removed, please use {}() instead.\nPlease refer to the Networking migration guide, section PHY Address Auto-detect, for more details." + variables: + - + re_variables: ['ksz8081'] + hint_variables: ['esp_eth_phy_new_ksz8081', 'esp_eth_phy_new_ksz80xx'] + - + re_variables: ['ksz8041'] + hint_variables: ['esp_eth_phy_new_ksz8041', 'esp_eth_phy_new_ksz80xx'] + - + re_variables: ['lan8720'] + hint_variables: ['esp_eth_phy_new_lan8720', 'esp_eth_phy_new_lan87xx'] + +- + re: "`iram0_0_seg' overflowed" + hint: "The applications static IRAM usage is larger than the available IRAM size.\nFor more information on how to reduce IRAM usage run 'idf.py docs -sp api-guides/performance/ram-usage.html#optimizing-iram-usage' " + +- + re: "Failed to resolve component 'usb'" + hint: "USB host layer ('usb' component) was removed from ESP-IDF. Please use 'usb' component from IDF component manager instead.\nYou can install 'usb' component using 'idf.py add-dependency espressif/usb' command.\nRefer to the migration guide for more details." + match_to_output: True + +- + re: "fatal error: (tinyusb.h): No such file or directory" + hint: "{} was removed. Please use esp_tinyusb component from IDF component manager instead.\nYou can install `esp_tinyusb` using 'idf.py add-dependency espressif/esp_tinyusb' command.\nRefer to the migration guide for more details." + match_to_output: True + +- + re: "fatal error: esp_partition.h: No such file or directory" + hint: "All the Partition APIs have been moved to the new component 'esp_partition' - please, update your project dependencies. See Storage migration guide 5.x for more details." + match_to_output: True + +- + re: "warning: 'esp_vfs_fat_sdmmc_unmount' is deprecated: Please use esp_vfs_fat_sdcard_unmount instead [-Wdeprecated-declarations]" + hint: "``esp_vfs_fat_sdmmc_unmount()`` is now deprecated, you can use :cpp:func:`esp_vfs_fat_sdcard_unmount()` instead. See Storage migration guide 5.1 for more details" + +- + re: "vfs_fat_sdmmc: sdmmc_card_init failed" + hint: "Please verify if there is an SD card inserted into the SD slot. Then, try rebooting the board." + +- + re: "sdmmc_common: sdmmc_init_ocr: send_op_cond" + hint: "Please reboot the board and then try again" + +- + re: "sdmmc_io: sdmmc_io_read_byte: sdmmc_io_rw_direct" + hint: "Please verify that card supports IO capabilities. Refer 'IDF_PATH/examples/peripherals/sdio/host/README.md' for more details" + +- + re: "example: Failed to initialize the card \\({}\\). Make sure SD card lines have pull-up resistors in place." + hint: "Please refer ./README.md for details" + variables: + - + re_variables: ['ESP_ERR_TIMEOUT'] + hint_variables: [] + - + re_variables: ['ESP_ERR_INVALID_RESPONSE'] + hint_variables: [] + - + re_variables: ['ESP_ERR_INVALID_STATE'] + hint_variables: [] + - + re_variables: ['ESP_ERR_INVALID_ARG'] + hint_variables: [] + +- + re: "esp_usb_jtag: could not find or open device!" + hint: "Please check the wire connection to debugging device or access rights to a serial port." + +- + re: "Error: couldn't bind [^:]+: Address already in use" + hint: "Please check if another process uses the mentioned ports. OpenOCD already running, perhaps in the background?\nPlease list all processes to check if OpenOCD is already running; if so, terminate it before starting OpenOCD from idf.py" + +- + re: "Error: libusb_open\\(\\) failed with LIBUSB_ERROR_ACCESS" + hint: "OpenOCD process does not have permissions to access the USB JTAG/serial device. Please use 'LIBUSB_DEBUG=1 idf.py openocd' to find out the device name and check its access rights." + +- + re: "Error: libusb_open\\(\\) failed with LIBUSB_ERROR_NOT_FOUND" + hint: "Device drivers are not correct.\nPlease check configuration of USB drivers: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/jtag-debugging/configure-ft2232h-jtag.html?highlight=zadig#configure-usb-drivers" + +- + re: "\\[-Werror=(address-of-packed-member|aggressive-loop-optimizations|attribute-warning|builtin-macro-redefined|cpp|designated-init|deprecated-declarations|discarded-array-qualifiers|discarded-qualifiers|div-by-zero|endif-labels|free-nonheap-object|if-not-aligned|ignored-attributes|incompatible-pointer-types|int-conversion|int-to-pointer-cast|lto-type-mismatch|multichar|overflow|override-init-side-effects|packed-bitfield-compat|pointer-compare|pointer-to-int-cast|return-local-addr|scalar-storage-order|shift-count-negative|shift-count-overflow|sizeof-array-argument|stringop-truncation| switch-bool|switch-outside-range|varargs)\\]" + hint: "The error(s) '{}' may appear after IDF upgrade since previous versions were not considering those warnings as errors.\nTo suppress these warnings use 'idf.py menuconfig' to enable configure option 'Compiler options' -> 'Disable errors for default warnings'\nPlease note that this is not a permanent solution, and this option will be removed in a future update of the ESP-IDF.\nIt is strongly recommended to fix all warnings, as they may indicate potential issues!" + match_to_output: True + +- + re: "(-Werror=address|-Werror=use-after-free)" + hint: "The warning(s) '{}' may appear after compiler update above GCC-12\nTo suppress these warnings use 'idf.py menuconfig' to enable configure option 'Compiler options' -> 'Disable new warnings introduced in GCC 12'\nPlease note that this is not a permanent solution, and this option will be removed in a future update of the ESP-IDF.\nIt is strongly recommended to fix all warnings, as they may indicate potential issues!" + match_to_output: True + +- + re: "error: implicit declaration of function '{}'" + hint: "The HFP AG API function '{}' has been renamed to '{}'." + variables: + - + re_variables: ['esp_bt_hf_init'] + hint_variables: ['esp_bt_hf_init', 'esp_hf_ag_init'] + - + re_variables: ['esp_bt_hf_deinit'] + hint_variables: ['esp_bt_hf_deinit', 'esp_hf_ag_deinit'] + - + re_variables: ['esp_bt_hf_register_callback'] + hint_variables: ['esp_bt_hf_register_callback', 'esp_hf_ag_register_callback'] + - + re_variables: ['esp_bt_hf_connect'] + hint_variables: ['esp_bt_hf_connect', 'esp_hf_ag_slc_connect'] + - + re_variables: ['esp_bt_hf_disconnect'] + hint_variables: ['esp_bt_hf_disconnect', 'esp_hf_ag_slc_disconnect'] + - + re_variables: ['esp_bt_hf_connect_audio'] + hint_variables: ['esp_bt_hf_connect_audio', 'esp_hf_ag_audio_connect'] + - + re_variables: ['esp_bt_hf_disconnect_audio'] + hint_variables: ['esp_bt_hf_disconnect_audio', 'esp_hf_ag_audio_disconnect'] + - + re_variables: ['esp_bt_hf_vra'] + hint_variables: ['esp_bt_hf_vra', 'esp_hf_ag_vra_control'] + - + re_variables: ['esp_bt_hf_volume_control'] + hint_variables: ['esp_bt_hf_volume_control', 'esp_hf_ag_volume_control'] + - + re_variables: ['esp_hf_unat_response'] + hint_variables: ['esp_hf_unat_response', 'esp_hf_ag_unknown_at_send'] + - + re_variables: ['esp_bt_hf_cmee_response'] + hint_variables: ['esp_bt_hf_cmee_response', 'esp_hf_ag_cmee_send'] + - + re_variables: ['esp_bt_hf_indchange_notification'] + hint_variables: ['esp_bt_hf_indchange_notification', 'esp_hf_ag_devices_status_indchange'] + - + re_variables: ['esp_bt_hf_cind_response'] + hint_variables: ['esp_bt_hf_cind_response', 'esp_hf_ag_cind_response'] + - + re_variables: ['esp_bt_hf_cops_response'] + hint_variables: ['esp_bt_hf_cops_response', 'esp_hf_ag_cops_response'] + - + re_variables: ['esp_bt_hf_clcc_response'] + hint_variables: ['esp_bt_hf_clcc_response', 'esp_hf_ag_clcc_response'] + - + re_variables: ['esp_bt_hf_cnum_response'] + hint_variables: ['esp_bt_hf_cnum_response', 'esp_hf_ag_cnum_response'] + - + re_variables: ['esp_bt_hf_bsir'] + hint_variables: ['esp_bt_hf_bsir', 'esp_hf_ag_bsir'] + - + re_variables: ['esp_bt_hf_answer_call'] + hint_variables: ['esp_bt_hf_answer_call', 'esp_hf_ag_answer_call'] + - + re_variables: ['esp_bt_hf_reject_call'] + hint_variables: ['esp_bt_hf_reject_call', 'esp_hf_ag_reject_call'] + - + re_variables: ['esp_bt_hf_out_call'] + hint_variables: ['esp_bt_hf_out_call', 'esp_hf_ag_out_call'] + - + re_variables: ['esp_bt_hf_end_call'] + hint_variables: ['esp_bt_hf_end_call', 'esp_hf_ag_end_call'] + - + re_variables: ['esp_bt_hf_register_data_callback'] + hint_variables: ['esp_bt_hf_register_data_callback', 'esp_hf_ag_register_data_callback'] + - + re_variables: ['esp_hf_outgoing_data_ready'] + hint_variables: ['esp_hf_outgoing_data_ready', 'esp_hf_ag_outgoing_data_ready'] + +- + re: "error: '{}' undeclared" + hint: "The union element '{}' in 'esp_hf_cme_err_t' has been renamed to '{}'" + variables: + - + re_variables: ['ESP_HF_CME_MEMEORY_FULL'] + hint_variables: ['ESP_HF_CME_MEMEORY_FULL', 'ESP_HF_CME_MEMORY_FULL'] + - + re_variables: ['ESP_HF_CME_MEMEORY_FAILURE'] + hint_variables: ['ESP_HF_CME_MEMEORY_FAILURE', 'ESP_HF_CME_MEMORY_FAILURE '] + +- + re: "error: 'USBPHY_\\w+' undeclared" + hint: "USBPHY_* pin definitions from have been removed.\nTo use an external USB PHY, wire it to any GPIOs and declare those pin mappings in your application to match your hardware." + +- + re: "intr_alloc: No free interrupt inputs for [_\\w]+ interrupt" + hint: "For troubleshooting instructions related to interrupt allocation, run 'idf.py docs -sp api-reference/system/intr_alloc.html'" + +- + re: "assert failed: [\\w]+ tlsf.c:[\\d]+" + hint: "CORRUPT HEAP: heap metadata corrupted resulting in TLSF malfunction.\nMake sure you are not making out of bound writing on the memory you allocate in your application.\nMake sure you are not writing on freed memory.\nFor more information run 'idf.py docs -sp api-reference/system/heap_debug.html'." + +- + re: "-Werror=(xor-used-as-pow|enum-int-mismatch|self-move|dangling-reference)" + hint: "The warning(s) '{}' may appear after compiler update above GCC-13\nTo suppress these warnings use 'idf.py menuconfig' to enable configure option 'Compiler options' -> 'Disable new warnings introduced in GCC 13'\nPlease note that this is not a permanent solution, and this option will be removed in a future update of the ESP-IDF.\nIt is strongly recommended to fix all warnings, as they may indicate potential issues!" + match_to_output: True + +- + re: "implicit declaration of function '(opendir|readdir|telldir|seekdir|rewinddir|closedir|readdir_r|scandir|alphasort|dirfd|fdclosedir|fdopendir|scandirat|versionsort|posix_getdents)'" + hint: "Please include (not )" + +- + re: "unplaced orphan section" + hint: "An orphan section was detected during linking stage. For more information run 'idf.py docs -sp migration-guides/release-6.x/build-system.html#linker-orphan-handling-behavior-changed-to-error'." + +- + re: "the current mclk multiple cannot perform integer division" + hint: "Please adjust the mclk multiple to get the accurate sample rate.\nFor example, if you're using 24-bit slot width or enabled 3 slots, then the mclk multiple should be a multiple of 3, otherwise the sample rate will be inaccurate." + +- + re: "discarded output section: .*\\.got" + hint: "Some objects being linked were compiled with the \"-fpic\"/\"-fpie\" options. These options may be suitable for \"linux\" builds, but must not be applied for esp32XX targets." + +- + re: "(error: Total discarded sections size is \\d+ bytes)|(region [`'.\\w]+ overflowed by \\d+ bytes)" + hint: "The binary size has exceeded the limit. To resolve the issue consider reducing the binary size.\nYou can explore size optimization techniques in the documentation by running 'idf.py docs -sp api-guides/performance/size.html#reducing-overall-size'.\nNote that the linker performed the dead code elimination." + +- + re: "implicit declaration of function '__VA_NARG__'" + hint: "__VA_NARG_ has been renamed. Please use ESP_VA_NARG instead" + +- + re: "Configuration descriptor larger than control transfer max length" + hint: "Connected USB device has a large Configuration descriptor.\nTo increase the transfer size, go to 'idf.py menuconfig' -> 'Component config' -> 'USB-OTG' -> 'Largest size of transfers to/from default endpoints' and set appropriate size." + +- + re: "error: implicit declaration of function '(socketpair|gai_strerror|getifaddrs|freeifaddrs)'" + hint: "{}() is not supported in IDF.\nTo use a simplified implementation of this function, add a dependency to sock_utils library 'idf.py add-dependency espressif/sock_utils'" + match_to_output: True + +- + re: "undefined reference to `(socketpair|gai_strerror|gethostname|getnameinfo|pipe|getifaddrs|freeifaddrs)'" + hint: "{}() is not supported in IDF.\nTo use a simplified implementation of this function, add a dependency to sock_utils library 'idf.py add-dependency espressif/sock_utils'" + match_to_output: True + +- + re: "spi_hal: The clock_speed_hz should less than" + hint: "When operating in full-duplex mode at high frequencies, the device may not read data correctly.\nTry using IOMUX pins to increase the frequency limit or switch to half-duplex mode.\nNote that the SPI master can only operate at divisors of 80 MHz, and the driver always selects the closest available frequency to your configuration.\nSpecify SPI_DEVICE_NO_DUMMY to bypass this check. This allows higher output speeds but may result in unreliable data reads." + +- + re: "has no member named 'io_loop_back'" + hint: "If you want to bind different driver objects to the same GPIO, just set them with the same GPIO number." + +- + re: "has no member named '{}'" + hint: "Please include 'driver/gpio.h' and call 'gpio_set_pull_mode' to set the correct pull mode." + variables: + - + re_variables: ['pull_up'] + hint_variables: [] + - + re_variables: ['pull_down'] + hint_variables: [] + +- + re: "has no member named 'io_od_mode'" + hint: "Please include 'driver/gpio.h' and call 'gpio_od_enable' to enable the open-drain mode." + +- + re: "(error: implicit declaration of function|undefined reference to) '(gpio_pad_set_drv|gpio_pad_pullup|gpio_pad_select_gpio|gpio_pad_unhold|gpio_matrix_in|gpio_matrix_out)'" + hint: "The rom GPIO functions have been renamed. Please replace with the APIs in 'esp_rom_gpio.h'." + +- + re: "error: implicit declaration of function '(esp_dma_capable_malloc|esp_dma_capable_calloc|esp_cache_aligned_malloc|esp_cache_aligned_calloc)'" + hint: "Use the memory allocation functions from the esp_heap_caps.h with proper capability flags.\nFor example, use heap_caps_malloc() with the MALLOC_CAP_CACHE_ALIGNED flag to allocate memory that is aligned to cache line." + +- + re: "fatal error: {}: No such file or directory" + hint: "The {} driver is removed. It should be replaced by '{}' in the '{}' component. Please read the migration guide for more details." + variables: + - + re_variables: ['driver/timer.h'] + hint_variables: ['legacy timer group', 'driver/gptimer.h', 'esp_driver_gptimer'] + - + re_variables: ['driver/i2s.h'] + hint_variables: ['legacy I2S', 'driver/i2s_std.h, driver/i2s_pdm.h, driver/i2s_tdm.h', 'esp_driver_i2s'] + - + re_variables: ['driver/pcnt.h'] + hint_variables: ['legacy pcnt', 'driver/pulse_cnt.h', 'esp_driver_pcnt'] + - + re_variables: ['driver/dac.h'] + hint_variables: ['legacy DAC', 'driver/dac_oneshot.h, driver/dac_continuous.h, driver/dac_cosine.h', 'esp_driver_dac'] + - + re_variables: ['driver/adc.h'] + hint_variables: ['legacy ADC', 'esp_adc/adc_oneshot.h, esp_adc/adc_continuous.h, esp_adc/adc_cali.h, esp_adc/adc_cali_scheme.h', 'esp_adc'] + - + re_variables: ['driver/mcpwm.h'] + hint_variables: ['legacy MCPWM', 'driver/mcpwm_prelude', 'esp_driver_mcpwm'] + - + re_variables: ['driver/sigmadelta.h'] + hint_variables: ['legacy Sigma-Delta', 'driver/sdm.h', 'esp_driver_sdm'] + - + re_variables: ['driver/rmt.h'] + hint_variables: ['legacy RMT', 'driver/rmt_tx.h, driver/rmt_rx.h, driver/rmt_encoder.h', 'esp_driver_rmt'] + +- + re: undefined reference to `i3c_new_master_bus' + hint: "The I3C master driver is not fully supported in IDF. To use this driver please enable `IDF_EXPERIMENTAL_FEATURES`" + +- + re: "error: implicit declaration of function '{}'" + hint: "The FreeRTOS compatibility function '{}' has been removed in ESP-IDF v6.0. Please use {} instead." + variables: + - + re_variables: ['xQueueGenericReceive'] + hint_variables: ['xQueueGenericReceive', 'xQueueReceive(), xQueuePeek(), or xQueueSemaphoreTake() depending on your use case'] + - + re_variables: ['vTaskDelayUntil'] + hint_variables: ['vTaskDelayUntil', 'xTaskDelayUntil'] + - + re_variables: ['ulTaskNotifyTake'] + hint_variables: ['ulTaskNotifyTake', 'the macro ulTaskNotifyTake'] + - + re_variables: ['xTaskNotifyWait'] + hint_variables: ['xTaskNotifyWait', 'the macro xTaskNotifyWait'] + +- + re: "(no previous prototype for 'vTaskPreDeletionHook'|undefined reference to `vTaskPreDeletionHook')" + hint: "CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is enabled but your project does not provide vTaskPreDeletionHook( void * pxTCB ). Either disable the Kconfig option or implement the hook." + +- + re: "error: implicit declaration of function 'vPortCleanUpTCB'" + hint: "The legacy FreeRTOS hook vPortCleanUpTCB() has been removed from ESP-IDF. Use CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK with vTaskPreDeletionHook( void * pxTCB ) instead." + +- + re: "error: implicit declaration of function 'esp_lcd_new_panel_nt35510'" + hint: "The NT35510 LCD device driver has been moved out of ESP-IDF and is now hosted in the Component Registry. You can add it to your project by running idf.py add-dependency \"espressif/esp_lcd_nt35510\"" + +- + re: "cannot open linker script file bootloader.ld" + hint: "The file 'bootloader.ld' was renamed to 'bootloader.ld.in' in ESP-IDF v6.0. Please use update your build scripts." + +- + re: "fatal error: esp_wpa2.h: No such file or directory" + hint: "The header file 'esp_wpa2.h' has been removed. Please use 'esp_eap_client.h' instead." + +- + re: "error: implicit declaration of function '(esp_wifi_sta_wpa2_ent_enable|esp_wifi_sta_wpa2_ent_disable|esp_wifi_sta_wpa2_ent_set_identity|esp_wifi_sta_wpa2_ent_clear_identity|esp_wifi_sta_wpa2_ent_set_username|esp_wifi_sta_wpa2_ent_clear_username|esp_wifi_sta_wpa2_ent_set_password|esp_wifi_sta_wpa2_ent_clear_password|esp_wifi_sta_wpa2_ent_set_new_password|esp_wifi_sta_wpa2_ent_clear_new_password|esp_wifi_sta_wpa2_ent_set_ca_cert|esp_wifi_sta_wpa2_ent_clear_ca_cert|esp_wifi_sta_wpa2_ent_set_cert_key|esp_wifi_sta_wpa2_ent_clear_cert_key|esp_wifi_sta_wpa2_ent_set_disable_time_check|esp_wifi_sta_wpa2_ent_get_disable_time_check|esp_wifi_sta_wpa2_ent_set_ttls_phase2_method|esp_wifi_sta_wpa2_set_suiteb_192bit_certification|esp_wifi_sta_wpa2_ent_set_pac_file|esp_wifi_sta_wpa2_ent_set_fast_phase1_params|esp_wifi_sta_wpa2_use_default_cert_bundle)'" + hint: "The function '{}' has been removed from esp_wpa2.h. Please use the equivalent function from esp_eap_client.h instead." + match_to_output: True + +- + re: "error: too many arguments to function 'esp_supp_dpp_init'" + hint: "The function 'esp_supp_dpp_init' no longer accepts a callback. Please register for Wi-Fi events directly to get DPP events." + +- + re: "error: unknown type name '(esp_supp_dpp_event_t|esp_supp_dpp_event_cb_t)'" + hint: "The DPP event callback 'esp_supp_dpp_event_cb_t' and event enum 'esp_supp_dpp_event_t' have been removed. Please use Wi-Fi events directly." + +- + re: "error: implicit declaration of function 'esp_rrm_send_neighbor_rep_request'" + hint: "The function 'esp_rrm_send_neighbor_rep_request' has been removed. Use 'esp_rrm_send_neighbor_report_request' instead." + +- + re: "error: implicit declaration of function '(esp_wifi_set_ant_gpio|esp_wifi_get_ant_gpio|esp_wifi_set_ant|esp_wifi_get_ant)'" + hint: "The function '{}' has been removed. Please use the equivalent function from the esp_phy component (e.g. 'esp_phy_set_ant_gpio')." + match_to_output: True + +- + re: "error: implicit declaration of function 'esp_wifi_config_espnow_rate'" + hint: "The function 'esp_wifi_config_espnow_rate' has been removed. Use 'esp_now_set_peer_rate_config' instead." + +- + re: "(initialization|assignment) of 'wifi_nan_svc_proto_t \\*' from incompatible pointer type 'uint8_t \\*'" + hint: "The field 'proto' in structure 'wifi_nan_wfa_ssi_t' is now declared as 'uint8_t'. Update pointer usage accordingly, for example by using a 'uint8_t *' or copying the enum value into a separate variable." + +- + re: "error: too many arguments to function 'esp_wifi_wps_start'" + hint: "The function 'esp_wifi_wps_start' no longer accepts a 'timeout_ms' argument." + +- + re: "error: '(WIFI_AUTH_WPA3_EXT_PSK|WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE)' undeclared" + hint: "The authentication modes 'WIFI_AUTH_WPA3_EXT_PSK' and 'WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE' have been removed. Use 'WIFI_AUTH_WPA3_PSK' instead." + +- + re: "error: 'struct wifi_event_neighbor_report_t' has no member named 'report'" + hint: "In the 'wifi_event_neighbor_report_t' structure, the 'report' field has been removed. Please use the 'n_report' field instead." + +- + re: "fatal error: esp_interface.h: No such file or directory" + hint: "The header file 'esp_interface.h' has been removed. The 'wifi_interface_t' enum is now defined in 'esp_wifi_types_generic.h'. The enum values (e.g. 'WIFI_IF_STA', 'WIFI_IF_AP') are no longer defined based on 'ESP_IF_WIFI_STA', 'ESP_IF_WIFI_AP', etc." + +- + re: "error: 'use_get_report_api' undeclared" + hint: "The field 'use_get_report_api' from structure 'wifi_ftm_initiator_cfg_t' has been removed. Please use 'esp_wifi_ftm_get_report' to fetch raw FTM report data instead." + +- + re: "error: 'ftm_report_data' undeclared" + hint: "The field 'ftm_report_data' from structure 'wifi_event_ftm_report_t' has been removed. Please use 'esp_wifi_ftm_get_report' to fetch raw FTM report data instead." + +- + re: "error: 'svc_info' undeclared" + hint: "The field 'svc_info' from structures 'wifi_nan_publish_cfg_t', 'wifi_nan_subscribe_cfg_t', 'wifi_nan_followup_params_t', 'wifi_event_ndp_indication_t', 'wifi_event_ndp_confirm_t' has been removed. Please use the equivalent fields 'ssi' and 'ssi_len' instead." + +- + re: "error: 'peer_svc_info' undeclared" + hint: "The field 'peer_svc_info' from structure 'wifi_event_nan_receive_t' has been removed. Please use the equivalent fields 'ssi' and 'ssi_len' instead." + +- + re: "error: 'WIFI_EVENT_NAN_STARTED' undeclared" + hint: "The Wi-Fi NAN event 'WIFI_EVENT_NAN_STARTED' has been renamed to 'WIFI_EVENT_NAN_SYNC_STARTED'." + +- + re: "error: 'WIFI_EVENT_NAN_STOPPED' undeclared" + hint: "The Wi-Fi NAN event 'WIFI_EVENT_NAN_STOPPED' has been renamed to 'WIFI_EVENT_NAN_SYNC_STOPPED'." + +- + re: "error: too few arguments to function 'esp_wifi_nan_publish_service'" + hint: "The function argument 'ndp_resp_needed' of 'esp_wifi_nan_publish_service' has been moved to structure 'wifi_nan_publish_cfg_t'." + +- + re: "error: implicit declaration of function '{}'" + hint: "The NAN synchronization API '{}' has been renamed to '{}'." + variables: + - + re_variables: ['esp_wifi_nan_start'] + hint_variables: ['esp_wifi_nan_start', 'esp_wifi_nan_sync_start'] + - + re_variables: ['esp_wifi_nan_stop'] + hint_variables: ['esp_wifi_nan_stop', 'esp_wifi_nan_sync_stop'] + - + re_variables: ['WIFI_NAN_CONFIG_DEFAULT'] + hint_variables: ['WIFI_NAN_CONFIG_DEFAULT', 'WIFI_NAN_SYNC_CONFIG_DEFAULT'] + +- + re: "error: unknown type name 'wifi_nan_config_t'" + hint: "The structure 'wifi_nan_config_t' has been renamed to 'wifi_nan_sync_config_t'." + +- + re: "error: '(WIFI_REASON_ASSOC_EXPIRE|WIFI_REASON_NOT_AUTHED|WIFI_REASON_NOT_ASSOCED)' undeclared" + hint: "The Wi-Fi disconnection reason codes '{0}' have been removed. Please use '{1}', '{2}', and '{3}' respectively." + variables: + - + re_variables: ['WIFI_REASON_ASSOC_EXPIRE'] + hint_variables: ['WIFI_REASON_ASSOC_EXPIRE', 'WIFI_REASON_AUTH_EXPIRE'] + - + re_variables: ['WIFI_REASON_NOT_AUTHED'] + hint_variables: ['WIFI_REASON_NOT_AUTHED', 'WIFI_REASON_CLASS2_FRAME_FROM_NONAUTH_STA'] + - + re_variables: ['WIFI_REASON_NOT_ASSOCED'] + hint_variables: ['WIFI_REASON_NOT_ASSOCED', 'WIFI_REASON_CLASS3_FRAME_FROM_NONASSOC_STA'] + +- + re: "error: '(ESP_IF_WIFI_STA|ESP_IF_WIFI_AP)' undeclared" + hint: "The macros '{}' have been removed. Please use the enum values 'WIFI_IF_STA' and 'WIFI_IF_AP' directly." + match_to_output: True + +- + re: "error: implicit declaration of function 'esp_eth_phy_new_{}'" + hint: "The Ethernet {} driver has been moved out of ESP-IDF and is now hosted in the Component Registry. You can add it to your project by running idf.py add-dependency \"espressif/{}\"" + variables: + - + re_variables: ['ip101'] + hint_variables: ['IP101', 'ip101'] + - + re_variables: ['lan87xx'] + hint_variables: ['LAN87XX', 'lan87xx'] + - + re_variables: ['rtl8201'] + hint_variables: ['RTL8201', 'rtl8201'] + - + re_variables: ['dp83848'] + hint_variables: ['DP83848', 'dp83848'] + - + re_variables: ['ksz80xx'] + hint_variables: ['KSZ80XX', 'ksz80xx'] + - + re_variables: ['dm9051'] + hint_variables: ['DM9051', 'dm9051'] + - + re_variables: ['ksz8851snl'] + hint_variables: ['KSZ8851SNL', 'ksz8851snl'] + - + re_variables: ['w5500'] + hint_variables: ['W5500', 'w5500'] + +- + re: "error: 'struct extra_dpi_panel_flags' has no member named 'use_dma2d'" + hint: "The `use_dma2d` member has been removed in ESP-IDF v6.0. Please use the `esp_lcd_dpi_panel_enable_dma2d()` function to enable DMA2D for the DPI panel." + +- + re: "error: 'MALLOC_CAP_EXEC' undeclared \\(first use in this function\\)" + hint: "MALLOC_CAP_EXEC capability cannot be used if CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT or CONFIG_ESP_SYSTEM_MEMPROT_FEATURE is enabled. \nFor further information about those configurations, run 'idf.py docs -sp api-reference/kconfig-reference.html#memory-protection'" + +- + re: "fatal error: soc/uart_channel.h: No such file or directory" + hint: "The header file 'soc/uart_channel.h' has been removed. All equivalent UART GPIO lookup macros can be found in 'soc/uart_pins.h' now." + +- + re: "error: 'WIFI_BW_HT20' undeclared \\(first use in this function\\)" + hint: "The enum value 'WIFI_BW_HT20' has been removed. Use 'WIFI_BW20' instead." + +- + re: "error: 'WIFI_BW_HT40' undeclared \\(first use in this function\\)" + hint: "The enum value 'WIFI_BW_HT40' has been removed. Use 'WIFI_BW40' instead." + +- + re: "error: invalid use of incomplete typedef 'esp_tls_t'" + hint: "The struct 'esp_tls_t' has now been made private - its elements can be only be accessed/modified through respective getter/setter functions. Please refer to the migration guide for more information." +- + re: "fatal error: .*atca_mbedtls_wrap\\.h: No such file or directory" + hint: "To use CONFIG_ESP_TLS_USE_SECURE_ELEMENT option, please install `esp-cryptoauthlib` using 'idf.py add-dependency espressif/esp-cryptoauthlib'" + diff --git a/.pio/build/xiao-esp32c6/kconfigs.in b/.pio/build/xiao-esp32c6/kconfigs.in new file mode 100644 index 0000000..c9e6f37 --- /dev/null +++ b/.pio/build/xiao-esp32c6/kconfigs.in @@ -0,0 +1,81 @@ +source "/home/claw/.platformio/packages/framework-espidf/components/bt/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/console/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/driver/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/efuse/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp-tls/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_adc/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_coex/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_common/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_ana_cmpr/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_bitscrambler/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_cam/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_dac/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_dma/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_gpio/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_gptimer/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_i2c/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_i2s/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_i3c/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_isp/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_jpeg/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_ledc/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_mcpwm/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_parlio/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_pcnt/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_rmt/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_sdm/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_sdmmc/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_spi/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_touch_sens/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_tsens/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_twai/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_uart/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_driver_usb_serial_jtag/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_eth/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_event/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_gdbstub/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_hid/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_http_client/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_http_server/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_https_ota/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_https_server/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_hw_support/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_lcd/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_libc/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_mm/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_netif/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_partition/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_phy/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_pm/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_psram/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_ringbuf/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_rom/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_security/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_stdio/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_system/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_timer/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_trace/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_wifi/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/espcoredump/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/fatfs/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/freertos/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/hal/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/heap/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/ieee802154/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/log/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/lwip/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/mbedtls/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/nvs_flash/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/nvs_sec_provider/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/openthread/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/protocomm/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/pthread/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/sdmmc/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/soc/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/spi_flash/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/spiffs/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/tcp_transport/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/ulp/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/unity/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/vfs/Kconfig" +source "/home/claw/.platformio/packages/framework-espidf/components/wear_levelling/Kconfig" \ No newline at end of file diff --git a/.pio/build/xiao-esp32c6/kconfigs_projbuild.in b/.pio/build/xiao-esp32c6/kconfigs_projbuild.in new file mode 100644 index 0000000..b334ac0 --- /dev/null +++ b/.pio/build/xiao-esp32c6/kconfigs_projbuild.in @@ -0,0 +1,7 @@ +source "/home/claw/.platformio/packages/framework-espidf/components/app_update/Kconfig.projbuild" +source "/home/claw/.platformio/packages/framework-espidf/components/bootloader/Kconfig.projbuild" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_app_format/Kconfig.projbuild" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_rom/Kconfig.projbuild" +source "/home/claw/.platformio/packages/framework-espidf/components/esp_tee/Kconfig.projbuild" +source "/home/claw/.platformio/packages/framework-espidf/components/esptool_py/Kconfig.projbuild" +source "/home/claw/.platformio/packages/framework-espidf/components/partition_table/Kconfig.projbuild" \ No newline at end of file diff --git a/.pio/build/xiao-esp32c6/ldgen_libraries.in b/.pio/build/xiao-esp32c6/ldgen_libraries.in new file mode 100644 index 0000000..0108167 --- /dev/null +++ b/.pio/build/xiao-esp32c6/ldgen_libraries.in @@ -0,0 +1,207 @@ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ +$ \ No newline at end of file diff --git a/.pio/build/xiao-esp32c6/specs/picolibc.specs b/.pio/build/xiao-esp32c6/specs/picolibc.specs new file mode 100644 index 0000000..ec50397 --- /dev/null +++ b/.pio/build/xiao-esp32c6/specs/picolibc.specs @@ -0,0 +1,30 @@ +%rename link picolibc_link +%rename link_libgcc picolibc_link_libgcc +%rename cpp picolibc_cpp +%rename cc1 picolibc_cc1 +%rename cc1plus picolibc_cc1plus + +*cpp: +-isystem %{-picolibc-prefix=*:%*/picolibc/include/; -picolibc-buildtype=*:%R/../picolibc/include/%*; :%R/../picolibc/include} -isystem %{-picolibc-prefix=*:%*/picolibc/include/../riscv32-esp-elf/include/c++/%(version)/riscv32-esp-elf/%M; -picolibc-buildtype=*:%R/../picolibc/include/%*/../riscv32-esp-elf/include/c++/%(version)/riscv32-esp-elf/%M; :%R/../picolibc/include/../riscv32-esp-elf/include/c++/%(version)/riscv32-esp-elf/%M} %{-printf=*: -D_PICOLIBC_PRINTF='%*'} %{-scanf=*: -D_PICOLIBC_SCANF='%*'} %(picolibc_cpp) + +*cc1: +%{!ftls-model:-ftls-model=local-exec} %{!mstack-protector-guard:-mstack-protector-guard=global} %(picolibc_cc1) + +*cc1plus: +-isystem %{-picolibc-prefix=*:%*/picolibc/include/; -picolibc-buildtype=*:%R/../picolibc/include/%*; :%R/../picolibc/include} -isystem %{-picolibc-prefix=*:%*/picolibc/include/../riscv32-esp-elf/include/c++/%(version)/riscv32-esp-elf/%M; -picolibc-buildtype=*:%R/../picolibc/include/%*/../riscv32-esp-elf/include/c++/%(version)/riscv32-esp-elf/%M; :%R/../picolibc/include/../riscv32-esp-elf/include/c++/%(version)/riscv32-esp-elf/%M} %{!ftls-model:-ftls-model=local-exec} %{!mstack-protector-guard:-mstack-protector-guard=global} %(picolibc_cc1plus) + +*link_libgcc: +-L%{-picolibc-prefix=*:%*/picolibc/lib/gcc/riscv32-esp-elf/%(version)/%M; -picolibc-buildtype=*:%R/../picolibc/lib/gcc/riscv32-esp-elf/%(version)/%*/%M; :%R/../picolibc/lib/gcc/riscv32-esp-elf/%(version)/%M} -L%{-picolibc-prefix=*:%*/picolibc/lib/gcc/riscv32-esp-elf/%(version); -picolibc-buildtype=*:%R/../picolibc/lib/gcc/riscv32-esp-elf/%(version)/%*; :%R/../picolibc/lib/gcc/riscv32-esp-elf/%(version)} %(picolibc_link_libgcc) + +*link: +%{DPICOLIBC_DOUBLE_PRINTF_SCANF:--defsym=vfprintf=__d_vfprintf} %{DPICOLIBC_DOUBLE_PRINTF_SCANF:--defsym=vfscanf=__d_vfscanf} %{DPICOLIBC_FLOAT_PRINTF_SCANF:--defsym=vfprintf=__f_vfprintf} %{DPICOLIBC_FLOAT_PRINTF_SCANF:--defsym=vfscanf=__f_vfscanf} %{DPICOLIBC_LONG_LONG_PRINTF_SCANF:--defsym=vfprintf=__l_vfprintf} %{DPICOLIBC_LONG_LONG_PRINTF_SCANF:--defsym=vfscanf=__l_vfscanf} %{DPICOLIBC_INTEGER_PRINTF_SCANF:--defsym=vfprintf=__i_vfprintf} %{DPICOLIBC_INTEGER_PRINTF_SCANF:--defsym=vfscanf=__i_vfscanf} %{DPICOLIBC_MINIMAL_PRINTF_SCANF:--defsym=vfprintf=__m_vfprintf} %{DPICOLIBC_MINIMAL_PRINTF_SCANF:--defsym=vfscanf=__m_vfscanf} -L%{-picolibc-prefix=*:%*/picolibc/riscv32-esp-elf/lib/%M; -picolibc-buildtype=*:%R/../picolibc/riscv32-esp-elf/lib/%*/%M; :%R/../picolibc/riscv32-esp-elf/lib/%M} -L%{-picolibc-prefix=*:%*/picolibc/riscv32-esp-elf/lib; -picolibc-buildtype=*:%R/../picolibc/riscv32-esp-elf/lib/%*; :%R/../picolibc/riscv32-esp-elf/lib} %{-printf=*:--defsym=vfprintf=__%*_vfprintf} %{-scanf=*:--defsym=vfscanf=__%*_vfscanf} %{!T:-Tpicolibc.ld} %(picolibc_link) + +*lib: +--start-group %(libgcc) -lc %{-oslib=*:-l%*} --end-group + +*endfile: + + +*startfile: +%{-picolibc-prefix=*:%*/picolibc/riscv32-esp-elf/lib/%M/%{-crt0=*:crt0-%*%O%s; :crt0%O%s}; -picolibc-buildtype=*:%R/../picolibc/riscv32-esp-elf/lib/%*/%M/%{-crt0=*:crt0-%*%O%s; :crt0%O%s}; :%R/../picolibc/riscv32-esp-elf/lib/%M/%{-crt0=*:crt0-%*%O%s; :crt0%O%s}} + diff --git a/.pio/build/xiao-esp32c6/toolchain/asmflags b/.pio/build/xiao-esp32c6/toolchain/asmflags new file mode 100644 index 0000000..1c88730 --- /dev/null +++ b/.pio/build/xiao-esp32c6/toolchain/asmflags @@ -0,0 +1,2 @@ +-march=rv32imac_zicsr_zifencei_zaamo_zalrsc +"-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs" diff --git a/.pio/build/xiao-esp32c6/toolchain/cflags b/.pio/build/xiao-esp32c6/toolchain/cflags new file mode 100644 index 0000000..1c88730 --- /dev/null +++ b/.pio/build/xiao-esp32c6/toolchain/cflags @@ -0,0 +1,2 @@ +-march=rv32imac_zicsr_zifencei_zaamo_zalrsc +"-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs" diff --git a/.pio/build/xiao-esp32c6/toolchain/cxxflags b/.pio/build/xiao-esp32c6/toolchain/cxxflags new file mode 100644 index 0000000..9d1325d --- /dev/null +++ b/.pio/build/xiao-esp32c6/toolchain/cxxflags @@ -0,0 +1,3 @@ +-march=rv32imac_zicsr_zifencei_zaamo_zalrsc +"-specs=/home/claw/.openclaw/workspace/led-laser-frequenzen/.pio/build/xiao-esp32c6/specs/picolibc.specs" +-fno-rtti diff --git a/.pio/build/xiao-esp32c6/toolchain/ldflags b/.pio/build/xiao-esp32c6/toolchain/ldflags new file mode 100644 index 0000000..15edb6f --- /dev/null +++ b/.pio/build/xiao-esp32c6/toolchain/ldflags @@ -0,0 +1,2 @@ +-nostartfiles +-fno-rtti diff --git a/.pio/build/xiao-esp32c6/toolchain/toolchain-esp32c6.cmake b/.pio/build/xiao-esp32c6/toolchain/toolchain-esp32c6.cmake new file mode 100644 index 0000000..9833188 --- /dev/null +++ b/.pio/build/xiao-esp32c6/toolchain/toolchain-esp32c6.cmake @@ -0,0 +1,2 @@ +set(_CMAKE_TOOLCHAIN_PREFIX riscv32-esp-elf-) +include($ENV{IDF_PATH}/tools/cmake/toolchain.cmake) diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..112d558 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,3 @@ +cmake_minimum_required(VERSION 3.16.0) +include($ENV{IDF_PATH}/tools/cmake/project.cmake) +project(led-laser-frequenzen) diff --git a/README.md b/README.md new file mode 100644 index 0000000..57a351c --- /dev/null +++ b/README.md @@ -0,0 +1,67 @@ +# LED-Laser-Frequenzsteuerung für Rotlichttherapie + +ESP32-C6 gesteuertes System mit WS2812B LED-Streifen (30 LEDs) zur Simulation von Lasertherapie-Frequenzen. + +## Hardware + +- **Controller:** ESP32-C6 (USB-C, Wi-Fi + BLE) +- **LEDs:** 30× WS2812B (neopixel-kompatibel) +- **Datenpin:** GPIO6 (mit 330–470Ω Vorwiderstand) +- **Spannung:** 5V USB-C Netzteil + +## Therapeutische Frequenzen (7 Presets) + +| # | Name | Frequenz | Farbe | Dauer | Wirkung | +|---|---------------|----------|--------------|----------|-------------------| +| 0 | Regeneration | 40 Hz | Rot | 60 min | Zellregeneration | +| 1 | Durchblutung | 60 Hz | Rot-Orange | 60 min | Durchblutungsförderung | +| 2 | Tiefenwirkung | 80 Hz | Dunkelrot | 45 min | Tiefe Gewebereizung | +| 3 | Gepulst Rot | 50 Hz | Reines Rot | 60 min | Geweberegeneration | +| 4 | Oberflächenlicht | 30 Hz | Warmes Rot-Orange | 45 min | Oberflächliche Heilung | +| 5 | Muskeln/Gelenke | 65 Hz | Infrarot-Nachbildung | 60 min | Muskel-/Gelenktherapie | +| 6 | Ganzkörper | 45 Hz | Rot-Puls | 90 min | Ganzkörperbehandlung | + +## Bedienung (Serielles Terminal) + +``` +0-6 → Preset wählen +next → nächstes Preset +stop → LEDs ausschalten +list → alle Presets anzeigen +``` + +## Verwendete Libraries + +- `Adafruit_NeoPixel` (WS2812B Ansteuerung) +- Built-in ESP32 Arduino Core (ESP32-C6 Board Support) + +## Verkabelung + +``` +ESP32-C6 WS2812B-Streifen +───────── ─────────────── +GPIO6 ────── R/W Data In (mit 330Ω Widerstand) +5V ────── VCC +GND ────── GND +``` + +## Arduino IDE / PlatformIO Einrichtung + +### Arduino IDE Board Manager: +``` +esp32:esp32@4.0.0+ (Boardpaket ESP32-C6 unterstützen) +Adafruit NeoPixel Library +``` + +### PlatformIO (`platformio.ini`): +```ini +[env:esp32-c6] +platform = espressif32 +board = esp32-c6-devkitc-1 +framework = arduino +lib_deps = adafruit/Adafruit NeoPixel@^1.12.3 +monitor_speed = 115200 +``` + +## License +MIT diff --git a/platformio.ini b/platformio.ini new file mode 100644 index 0000000..3c38120 --- /dev/null +++ b/platformio.ini @@ -0,0 +1,7 @@ +[env:xiao-esp32c6] +platform = espressif32 +board = seeed_xiao_esp32c6 +framework = espidf +monitor_speed = 115200 +board_build.flash_size = 2MB +build_type = release diff --git a/sdkconfig.xiao-esp32c6 b/sdkconfig.xiao-esp32c6 new file mode 100644 index 0000000..6bbcea6 --- /dev/null +++ b/sdkconfig.xiao-esp32c6 @@ -0,0 +1,3816 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 6.0.1 Project Configuration +# +# default: +CONFIG_SOC_ADC_SUPPORTED=y +# default: +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +# default: +CONFIG_SOC_UART_SUPPORTED=y +# default: +CONFIG_SOC_UHCI_SUPPORTED=y +# default: +CONFIG_SOC_GDMA_SUPPORTED=y +# default: +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +# default: +CONFIG_SOC_GPTIMER_SUPPORTED=y +# default: +CONFIG_SOC_PCNT_SUPPORTED=y +# default: +CONFIG_SOC_MCPWM_SUPPORTED=y +# default: +CONFIG_SOC_TWAI_SUPPORTED=y +# default: +CONFIG_SOC_ETM_SUPPORTED=y +# default: +CONFIG_SOC_PARLIO_SUPPORTED=y +# default: +CONFIG_SOC_BT_SUPPORTED=y +# default: +CONFIG_SOC_IEEE802154_SUPPORTED=y +# default: +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +# default: +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +# default: +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +# default: +CONFIG_SOC_PHY_SUPPORTED=y +# default: +CONFIG_SOC_WIFI_SUPPORTED=y +# default: +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +# default: +CONFIG_SOC_ULP_SUPPORTED=y +# default: +CONFIG_SOC_LP_CORE_SUPPORTED=y +# default: +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +# default: +CONFIG_SOC_EFUSE_SUPPORTED=y +# default: +CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y +# default: +CONFIG_SOC_RTC_MEM_SUPPORTED=y +# default: +CONFIG_SOC_I2S_SUPPORTED=y +# default: +CONFIG_SOC_RMT_SUPPORTED=y +# default: +CONFIG_SOC_SDM_SUPPORTED=y +# default: +CONFIG_SOC_GPSPI_SUPPORTED=y +# default: +CONFIG_SOC_LEDC_SUPPORTED=y +# default: +CONFIG_SOC_I2C_SUPPORTED=y +# default: +CONFIG_SOC_SYSTIMER_SUPPORTED=y +# default: +CONFIG_SOC_SUPPORT_COEXISTENCE=y +# default: +CONFIG_SOC_AES_SUPPORTED=y +# default: +CONFIG_SOC_MPI_SUPPORTED=y +# default: +CONFIG_SOC_SHA_SUPPORTED=y +# default: +CONFIG_SOC_HMAC_SUPPORTED=y +# default: +CONFIG_SOC_DIG_SIGN_SUPPORTED=y +# default: +CONFIG_SOC_ECC_SUPPORTED=y +# default: +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +# default: +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +# default: +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y +# default: +CONFIG_SOC_BOD_SUPPORTED=y +# default: +CONFIG_SOC_APM_SUPPORTED=y +# default: +CONFIG_SOC_PMU_SUPPORTED=y +# default: +CONFIG_SOC_PMU_PVT_SUPPORTED=y +# default: +CONFIG_SOC_PAU_SUPPORTED=y +# default: +CONFIG_SOC_RTC_TIMER_V2_SUPPORTED=y +# default: +CONFIG_SOC_LP_AON_SUPPORTED=y +# default: +CONFIG_SOC_LP_PERIPHERALS_SUPPORTED=y +# default: +CONFIG_SOC_LP_I2C_SUPPORTED=y +# default: +CONFIG_SOC_ULP_LP_UART_SUPPORTED=y +# default: +CONFIG_SOC_CLK_TREE_SUPPORTED=y +# default: +CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y +# default: +CONFIG_SOC_WDT_SUPPORTED=y +# default: +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +# default: +CONFIG_SOC_RNG_SUPPORTED=y +# default: +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_MODEM_CLOCK_SUPPORTED=y +# default: +CONFIG_SOC_PM_SUPPORTED=y +# default: +CONFIG_SOC_XTAL_SUPPORT_40M=y +# default: +CONFIG_SOC_XTAL_CLOCK_PATH_DEPENDS_ON_TOP_DOMAIN=y +# default: +CONFIG_SOC_AES_SUPPORT_DMA=y +# default: +CONFIG_SOC_AES_GDMA=y +# default: +CONFIG_SOC_AES_SUPPORT_AES_128=y +# default: +CONFIG_SOC_AES_SUPPORT_AES_256=y +# default: +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +# default: +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DMA_SUPPORTED=y +# default: +CONFIG_SOC_ADC_PERIPH_NUM=1 +# default: +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=7 +# default: +CONFIG_SOC_ADC_ATTEN_NUM=4 +# default: +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1 +# default: +CONFIG_SOC_ADC_PATT_LEN_MAX=8 +# default: +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +# default: +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +# default: +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +# default: +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +# default: +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +# default: +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +# default: +CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED=y +# default: +CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR=y +# default: +CONFIG_SOC_ADC_SHARED_POWER=y +# default: +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +# default: +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y +# default: +CONFIG_SOC_CPU_CORES_NUM=1 +# default: +CONFIG_SOC_CPU_INTR_NUM=32 +# default: +CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y +# default: +CONFIG_SOC_INT_PLIC_SUPPORTED=y +# default: +CONFIG_SOC_CPU_HAS_CSR_PC=y +# default: +CONFIG_SOC_CPU_BREAKPOINTS_NUM=4 +# default: +CONFIG_SOC_CPU_WATCHPOINTS_NUM=4 +# default: +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x80000000 +# default: +CONFIG_SOC_CPU_HAS_PMA=y +# default: +CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP=y +# default: +CONFIG_SOC_CPU_PMP_REGION_GRANULARITY=4 +# default: +CONFIG_SOC_CPU_MISALIGNED_ACCESS_ON_PMP_MISMATCH_ISSUE=y +# default: +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072 +# default: +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +# default: +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +# default: +CONFIG_SOC_AHB_GDMA_VERSION=1 +# default: +CONFIG_SOC_GDMA_SUPPORT_ETM=y +# default: +CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_GPIO_PORT=1 +# default: +CONFIG_SOC_GPIO_PIN_COUNT=31 +# default: +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +# default: +CONFIG_SOC_GPIO_FLEX_GLITCH_FILTER_NUM=8 +# default: +CONFIG_SOC_GPIO_SUPPORT_ETM=y +# default: +CONFIG_SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP=y +# default: +CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y +# default: +CONFIG_SOC_GPIO_IN_RANGE_MAX=30 +# default: +CONFIG_SOC_GPIO_OUT_RANGE_MAX=30 +# default: +CONFIG_SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_MASK=0 +# default: +CONFIG_SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_PIN_CNT=8 +# default: +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x000000007FFFFF00 +# default: +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +# default: +CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP=y +# default: +CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y +# default: +CONFIG_SOC_CLOCKOUT_HAS_SOURCE_GATE=y +# default: +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +# default: +CONFIG_SOC_RTCIO_PIN_COUNT=8 +# default: +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +# default: +CONFIG_SOC_SDM_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_ETM_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_I2C_NUM=2 +# default: +CONFIG_SOC_HP_I2C_NUM=1 +# default: +CONFIG_SOC_LP_I2C_NUM=1 +# default: +CONFIG_SOC_I2C_SUPPORT_XTAL=y +# default: +CONFIG_SOC_I2C_SUPPORT_RTC=y +# default: +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +# default: +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +# default: +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +# default: +CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y +# default: +CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_I2S_HW_VERSION_2=y +# default: +CONFIG_SOC_I2S_SUPPORTS_ETM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +# default: +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +# default: +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 +# default: +CONFIG_SOC_I2S_SUPPORTS_TDM=y +# default: +CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK=y +# default: +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +# default: +CONFIG_SOC_LEDC_TIMER_NUM=4 +# default: +CONFIG_SOC_LEDC_CHANNEL_NUM=6 +# default: +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +# default: +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +# default: +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED=y +# default: +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX=16 +# default: +CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH=10 +# default: +CONFIG_SOC_LEDC_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_LEDC_SUPPORT_ETM=y +# default: +CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y +# default: +CONFIG_SOC_MMU_PAGE_SIZE_8KB_SUPPORTED=y +# default: +CONFIG_SOC_MMU_PERIPH_NUM=1 +# default: +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +# default: +CONFIG_SOC_MMU_DI_VADDR_SHARED=y +# default: +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +# default: +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +# default: +CONFIG_SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE=y +# default: +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +# default: +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +# default: +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +# default: +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y +# default: +CONFIG_SOC_RMT_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y +# default: +CONFIG_SOC_MCPWM_SUPPORT_ETM=y +# default: +CONFIG_SOC_MCPWM_CAPTURE_CLK_FROM_GROUP=y +# default: +CONFIG_SOC_MCPWM_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_PARLIO_TX_UNIT_MAX_DATA_WIDTH=16 +# default: +CONFIG_SOC_PARLIO_RX_UNIT_MAX_DATA_WIDTH=16 +# default: +CONFIG_SOC_PARLIO_TX_RX_SHARE_INTERRUPT=y +# default: +CONFIG_SOC_PARLIO_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +# default: +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +# default: +CONFIG_SOC_RSA_MAX_BIT_LEN=3072 +# default: +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +# default: +CONFIG_SOC_SHA_SUPPORT_DMA=y +# default: +CONFIG_SOC_SHA_SUPPORT_RESUME=y +# default: +CONFIG_SOC_SHA_GDMA=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA1=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA224=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA256=y +# default: +CONFIG_SOC_SPI_PERIPH_NUM=2 +# default: +CONFIG_SOC_SPI_MAX_CS_NUM=6 +# default: +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +# default: +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +# default: +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +# default: +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +# default: +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +# default: +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +# default: +CONFIG_SOC_SPI_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_PLL_F80M=y +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y +# default: +CONFIG_SOC_SPI_SCT_SUPPORTED=y +# default: +CONFIG_SOC_SPI_SCT_REG_NUM=14 +# default: +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +# default: +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA +# default: +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +# default: +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +# default: +CONFIG_SOC_MEMSPI_ENCRYPTION_ALIGNMENT=16 +# default: +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +# default: +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +# default: +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +# default: +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +# default: +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +# default: +CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST=y +# default: +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +# default: +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y +# default: +CONFIG_SOC_SYSTIMER_SUPPORT_ETM=y +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 +# default: +CONFIG_SOC_TIMER_SUPPORT_ETM=y +# default: +CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_MWDT_SUPPORT_XTAL=y +# default: +CONFIG_SOC_MWDT_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_TWAI_CONTROLLER_NUM=2 +# default: +CONFIG_SOC_TWAI_MASK_FILTER_NUM=1 +# default: +CONFIG_SOC_TWAI_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +# default: +CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y +# default: +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +# default: +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +# default: +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +# default: +CONFIG_SOC_EFUSE_DIS_ICACHE=y +# default: +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +# default: +CONFIG_SOC_EFUSE_XTS_AES_KEY_128=y +# default: +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +# default: +CONFIG_SOC_SECURE_BOOT_V2_ECC=y +# default: +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +# default: +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +# default: +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +# default: +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_PAGE_CONFIGURABLE=y +# default: +CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED=y +# default: +CONFIG_SOC_APM_LP_APM0_SUPPORTED=y +# default: +CONFIG_SOC_APM_SUPPORT_LP_TEE_CTRL=y +# default: +CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y +# default: +CONFIG_SOC_UART_NUM=3 +# default: +CONFIG_SOC_UART_HP_NUM=2 +# default: +CONFIG_SOC_UART_LP_NUM=1 +# default: +CONFIG_SOC_UART_FIFO_LEN=128 +# default: +CONFIG_SOC_LP_UART_FIFO_LEN=16 +# default: +CONFIG_SOC_UART_BITRATE_MAX=5000000 +# default: +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +# default: +CONFIG_SOC_UART_HAS_LP_UART=y +# default: +CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_UART_WAKEUP_CHARS_SEQ_MAX_LEN=5 +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_FIFO_THRESH_MODE=y +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_START_BIT_MODE=y +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_CHAR_SEQ_MODE=y +# default: +CONFIG_SOC_UHCI_NUM=1 +# default: +CONFIG_SOC_COEX_HW_PTI=y +# default: +CONFIG_SOC_EXTERNAL_COEX_ADVANCE=y +# default: +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +# default: +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +# default: +CONFIG_SOC_RTC_MEM_SUPPORT_SPEED_MODE_SWITCH=y +# default: +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN=y +# default: +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RC32K_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_TOP_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_HP_AON_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE=y +# default: +CONFIG_SOC_PM_SUPPORT_PMU_CLK_ICG=y +# default: +CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y +# default: +CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y +# default: +CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y +# default: +CONFIG_SOC_PM_RETENTION_HAS_CLOCK_BUG=y +# default: +CONFIG_SOC_PM_MODEM_RF_FLAG_UPDATE_WORKAROUND=y +# default: +CONFIG_SOC_PM_PAU_LINK_NUM=4 +# default: +CONFIG_SOC_PM_PAU_REGDMA_LINK_MULTI_ADDR=y +# default: +CONFIG_SOC_PM_PAU_REGDMA_LINK_WIFIMAC=y +# default: +CONFIG_SOC_PM_PAU_REGDMA_UPDATE_CACHE_BEFORE_WAIT_COMPARE=y +# default: +CONFIG_SOC_PM_PMU_MIN_SLP_SLOW_CLK_CYCLE_FIXED=y +# default: +CONFIG_SOC_PM_RETENTION_MODULE_NUM=32 +# default: +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +# default: +CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y +# default: +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +# default: +CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y +# default: +CONFIG_SOC_CLK_RC32K_SUPPORTED=y +# default: +CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D2=y +# default: +CONFIG_SOC_RCC_IS_INDEPENDENT=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_ETM=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN=y +# default: +CONFIG_SOC_RNG_CLOCK_IS_INDEPENDENT=y +# default: +CONFIG_SOC_WIFI_HW_TSF=y +# default: +CONFIG_SOC_WIFI_FTM_SUPPORT=y +# default: +CONFIG_SOC_WIFI_GCMP_SUPPORT=y +# default: +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_TXOP_SUPPORT=y +# default: +CONFIG_SOC_WIFI_CSI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_MESH_SUPPORT=y +# default: +CONFIG_SOC_WIFI_HE_SUPPORT=y +# default: +CONFIG_SOC_WIFI_MAC_VERSION_NUM=2 +# default: +CONFIG_SOC_BLE_SUPPORTED=y +# default: +CONFIG_SOC_BLE_MESH_SUPPORTED=y +# default: +CONFIG_SOC_ESP_NIMBLE_CONTROLLER=y +# default: +CONFIG_SOC_BLE_50_SUPPORTED=y +# default: +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +# default: +CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y +# default: +CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED=y +# default: +CONFIG_SOC_BLUFI_SUPPORTED=y +# default: +CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y +# default: +CONFIG_SOC_BLE_SUBRATE_SUPPORTED=y +# default: +CONFIG_SOC_BLE_PERIODIC_ADV_WITH_RESPONSE=y +# default: +CONFIG_SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND=y +# default: +CONFIG_SOC_PHY_COMBO_MODULE=y +# default: +CONFIG_SOC_CAPS_NO_RESET_BY_ANA_BOD=y +# default: +CONFIG_SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR=y +# default: +CONFIG_SOC_LP_CORE_SUPPORT_ETM=y +# default: +CONFIG_SOC_DEBUG_HAVE_OCD_STUB_BINS=y +# default: +CONFIG_IDF_CMAKE=y +# default: +CONFIG_IDF_TOOLCHAIN="gcc" +# default: +CONFIG_IDF_TOOLCHAIN_GCC=y +# default: +CONFIG_IDF_TARGET_ARCH_RISCV=y +# default: +CONFIG_IDF_TARGET_ARCH="riscv" +# default: +CONFIG_IDF_TARGET="esp32c6" +# default: +CONFIG_IDF_INIT_VERSION="6.0.1" +# default: +CONFIG_IDF_TARGET_ESP32C6=y +# default: +CONFIG_IDF_FIRMWARE_CHIP_ID=0x000D + +# +# Build type +# +# default: +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# default: +# CONFIG_APP_BUILD_TYPE_RAM is not set +# default: +CONFIG_APP_BUILD_GENERATE_BINARIES=y +# default: +CONFIG_APP_BUILD_BOOTLOADER=y +# default: +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# default: +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# default: +# CONFIG_APP_NO_BLOBS is not set +# end of Build type + +# +# App Update config +# +# end of App Update config + +# +# Bootloader config +# + +# +# Bootloader manager +# +# default: +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +# default: +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +# +# Application Rollback +# +# default: +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# end of Application Rollback + +# +# Recovery Bootloader and Rollback +# +# end of Recovery Bootloader and Rollback + +# default: +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +# default: +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set + +# +# Log +# +# default: +CONFIG_BOOTLOADER_LOG_VERSION_1=y +# default: +CONFIG_BOOTLOADER_LOG_VERSION=1 +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Format +# +# default: +# CONFIG_BOOTLOADER_LOG_COLORS is not set +# default: +CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y +# end of Format + +# +# Settings +# +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT=y +# end of Settings +# end of Log + +# default: +CONFIG_BOOTLOADER_CPU_CLK_FREQ_MHZ=80 + +# +# Serial Flash Configurations +# +# default: +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +# default: +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# default: +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# default: +# CONFIG_BOOTLOADER_APP_TEST is not set +# default: +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +# default: +CONFIG_BOOTLOADER_WDT_ENABLE=y +# default: +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +# default: +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +# default: +CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 +# default: +# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set +# end of Bootloader config + +# +# Security features +# +# default: +CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y +# default: +CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED=y +# default: +CONFIG_SECURE_BOOT_V2_PREFERRED=y +# default: +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +# default: +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y +# end of Security features + +# +# Application manager +# +# default: +CONFIG_APP_COMPILE_TIME_DATE=y +# default: +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# default: +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# default: +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +# default: +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +# default: +CONFIG_ESP_ROM_HAS_CRC_LE=y +# default: +CONFIG_ESP_ROM_HAS_CRC_BE=y +# default: +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +# default: +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +# default: +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=3 +# default: +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +# default: +CONFIG_ESP_ROM_GET_CLK_FREQ=y +# default: +CONFIG_ESP_ROM_HAS_RVFPLIB=y +# default: +CONFIG_ESP_ROM_HAS_HAL_WDT=y +# default: +CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y +# default: +CONFIG_ESP_ROM_SYSTIMER_INIT_PATCH=y +# default: +CONFIG_ESP_ROM_HAS_HEAP_TLSF=y +# default: +CONFIG_ESP_ROM_TLSF_CHECK_PATCH=y +# default: +CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH=y +# default: +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +# default: +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +# default: +CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP=y +# default: +CONFIG_ESP_ROM_HAS_REGI2C_BUG=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_NORMAL_FORMAT=y +# default: +CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE=y +# default: +CONFIG_ESP_ROM_WDT_INIT_PATCH=y +# default: +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +# default: +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +# default: +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +# default: +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +# default: +CONFIG_ESP_ROM_HAS_VERSION=y +# default: +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +# default: +CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y +# default: +CONFIG_ESP_ROM_NO_USB_SERIAL_OUTPUT_API=y +# default: +CONFIG_ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY=y +# default: +CONFIG_ESP_ROM_SUPPORT_SECURE_BOOT_FAST_WAKEUP=y + +# +# Boot ROM Behavior +# +# default: +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# default: +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# default: +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# default: +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# ESP-TEE (Trusted Execution Environment) +# +# default: +# CONFIG_SECURE_ENABLE_TEE is not set +# default: +CONFIG_SECURE_TEE_LOG_LEVEL=0 +# end of ESP-TEE (Trusted Execution Environment) + +# +# Serial flasher config +# +# default: +# CONFIG_ESPTOOLPY_NO_STUB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +# default: +CONFIG_ESPTOOLPY_FLASHMODE="dio" +# default: +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +# default: +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE="2MB" +# default: +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +# default: +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# default: +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +# default: +CONFIG_ESPTOOLPY_BEFORE="default-reset" +# default: +CONFIG_ESPTOOLPY_AFTER_RESET=y +# default: +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +# default: +CONFIG_ESPTOOLPY_AFTER="hard-reset" +# default: +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# default: +CONFIG_PARTITION_TABLE_SINGLE_APP=y +# default: +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# default: +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +# default: +# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set +# default: +# CONFIG_PARTITION_TABLE_CUSTOM is not set +# default: +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +# default: +CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" +# default: +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +# default: +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Compiler options +# +# default: +CONFIG_COMPILER_OPTIMIZATION_DEBUG=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +# default: +# CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE is not set +# default: +# CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB is not set +# default: +CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# default: +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +# default: +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# default: +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# default: +# CONFIG_COMPILER_CXX_RTTI is not set +# default: +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# default: +# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set +# default: +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# default: +# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set +# default: +# CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC15_WARNINGS is not set +# default: +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +# default: +CONFIG_COMPILER_RT_LIB_GCCLIB=y +# default: +CONFIG_COMPILER_RT_LIB_NAME="gcc" +# default: +CONFIG_COMPILER_ORPHAN_SECTIONS_ERROR=y +# default: +# CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set +# default: +# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set +# default: +# CONFIG_COMPILER_STATIC_ANALYZER is not set +# default: +CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE=y +# default: +# CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD_CONSTEXPR is not set +# default: +# CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD is not set +# end of Compiler options + +# +# Component config +# + +# +# Bluetooth +# +# default: +# CONFIG_BT_ENABLED is not set + +# +# Common Options +# + +# +# BLE Log +# +# default: +# CONFIG_BLE_LOG_ENABLED is not set +# end of BLE Log + +# default: +# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set +# default: +# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set +# default: +# CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED is not set +# end of Common Options +# end of Bluetooth + +# +# Console Library +# +# default: +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Legacy Driver Configurations +# + +# +# Legacy TWAI Driver Configurations +# +# default: +# CONFIG_TWAI_ISR_IN_IRAM_LEGACY is not set +# default: +# CONFIG_TWAI_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy TWAI Driver Configurations + +# +# Legacy I2C Driver Configurations +# +# default: +# CONFIG_I2C_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2C Driver Configurations +# end of Legacy Driver Configurations + +# +# eFuse Bit Manager +# +# default: +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# default: +# CONFIG_EFUSE_VIRTUAL is not set +# default: +CONFIG_EFUSE_MAX_BLK_LEN=256 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +# default: +CONFIG_ESP_TLS_USING_MBEDTLS=y +# default: +# CONFIG_ESP_TLS_CUSTOM_STACK is not set +# default: +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +# default: +CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y +# default: +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# default: +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# default: +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# default: +# CONFIG_ESP_TLS_INSECURE is not set +# default: +CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# default: +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set +# default: +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +# default: +CONFIG_ESP_COEX_ENABLED=y +# default: +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y +# default: +# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set +# default: +# CONFIG_ESP_COEX_POWER_MANAGEMENT is not set +# default: +# CONFIG_ESP_COEX_GPIO_DEBUG is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +# default: +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# GDMA Configurations +# +# default: +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_GDMA_ISR_HANDLER_IN_IRAM=y +# default: +CONFIG_GDMA_OBJ_DRAM_SAFE=y +# default: +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configurations + +# +# ESP-Driver:GPIO Configurations +# +# default: +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +# default: +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set +# default: +CONFIG_GPTIMER_OBJ_CACHE_SAFE=y +# default: +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# default: +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# default: +CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# default: +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2S_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:I3C Master Configurations +# +# default: +# CONFIG_I3C_MASTER_ISR_CACHE_SAFE is not set +# default: +# CONFIG_I3C_MASTER_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_I3C_MASTER_ISR_HANDLER_IN_IRAM is not set +# end of ESP-Driver:I3C Master Configurations + +# +# ESP-Driver:LEDC Configurations +# +# default: +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:MCPWM Configurations +# +# default: +CONFIG_MCPWM_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_MCPWM_ISR_CACHE_SAFE is not set +# default: +# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set +# default: +CONFIG_MCPWM_OBJ_CACHE_SAFE=y +# default: +# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:MCPWM Configurations + +# +# ESP-Driver:Parallel IO Configurations +# +# default: +CONFIG_PARLIO_TX_ISR_HANDLER_IN_IRAM=y +# default: +CONFIG_PARLIO_RX_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_PARLIO_TX_ISR_CACHE_SAFE is not set +# default: +# CONFIG_PARLIO_RX_ISR_CACHE_SAFE is not set +# default: +CONFIG_PARLIO_OBJ_CACHE_SAFE=y +# default: +# CONFIG_PARLIO_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_PARLIO_ISR_IRAM_SAFE is not set +# end of ESP-Driver:Parallel IO Configurations + +# +# ESP-Driver:PCNT Configurations +# +# default: +# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_PCNT_ISR_IRAM_SAFE is not set +# default: +# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:PCNT Configurations + +# +# ESP-Driver:RMT Configurations +# +# default: +CONFIG_RMT_ENCODER_FUNC_IN_IRAM=y +# default: +CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM=y +# default: +CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# default: +# CONFIG_RMT_TX_ISR_CACHE_SAFE is not set +# default: +# CONFIG_RMT_RX_ISR_CACHE_SAFE is not set +# default: +CONFIG_RMT_OBJ_CACHE_SAFE=y +# default: +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# end of ESP-Driver:RMT Configurations + +# +# ESP-Driver:Sigma Delta Modulator Configurations +# +# default: +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Sigma Delta Modulator Configurations + +# +# ESP-Driver:SPI Configurations +# +# default: +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# default: +# CONFIG_SPI_SLAVE_IN_IRAM is not set +# default: +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Temperature Sensor Configurations +# +# default: +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set +# end of ESP-Driver:Temperature Sensor Configurations + +# +# ESP-Driver:TWAI Configurations +# +# default: +# CONFIG_TWAI_ISR_IN_IRAM is not set +# default: +# CONFIG_TWAI_IO_FUNC_IN_IRAM is not set +# default: +# CONFIG_TWAI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:TWAI Configurations + +# +# ESP-Driver:UART Configurations +# +# default: +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# ESP-Driver:UHCI Configurations +# +# default: +# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set +# default: +# CONFIG_UHCI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:UHCI Configurations + +# +# ESP-Driver:USB Serial/JTAG Configuration +# +# default: +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + +# +# Ethernet +# +# default: +CONFIG_ETH_ENABLED=y +# default: +CONFIG_ETH_USE_SPI_ETHERNET=y +# default: +# CONFIG_ETH_USE_OPENETH is not set +# default: +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# default: +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +# default: +CONFIG_ESP_EVENT_POST_FROM_ISR=y +# default: +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +# default: +CONFIG_ESP_GDBSTUB_ENABLED=y +# default: +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +# default: +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +# default: +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HID +# +# default: +CONFIG_ESPHID_TASK_SIZE_BT=2048 +# default: +CONFIG_ESPHID_TASK_SIZE_BLE=4096 +# end of ESP HID + +# +# ESP HTTP client +# +# default: +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_GET_CONTENT_RANGE is not set +# default: +CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 +# default: +# CONFIG_ESP_HTTP_CLIENT_SAVE_RESPONSE_HEADERS is not set +# end of ESP HTTP client + +# +# HTTP Server +# +# default: +CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 +# default: +CONFIG_HTTPD_MAX_URI_LEN=512 +# default: +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +# default: +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# default: +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# default: +# CONFIG_HTTPD_WS_SUPPORT is not set +# default: +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# default: +CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# default: +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# default: +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# default: +CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 +# default: +# CONFIG_ESP_HTTPS_OTA_ENABLE_PARTIAL_DOWNLOAD is not set +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# default: +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# default: +CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 +# default: +# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# +# default: +CONFIG_ESP_HW_SUPPORT_FUNC_IN_IRAM=y + +# +# Chip revision +# +# default: +CONFIG_ESP32C6_REV_MIN_0=y +# default: +# CONFIG_ESP32C6_REV_MIN_1 is not set +# default: +# CONFIG_ESP32C6_REV_MIN_2 is not set +# default: +CONFIG_ESP32C6_REV_MIN_FULL=0 +# default: +CONFIG_ESP_REV_MIN_FULL=0 + +# +# Maximum Supported ESP32-C6 Revision (Rev v0.99) +# +# default: +CONFIG_ESP32C6_REV_MAX_FULL=99 +# default: +CONFIG_ESP_REV_MAX_FULL=99 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=99 + +# +# Maximum Supported ESP32-C6 eFuse Block Revision (eFuse Block Rev v0.99) +# +# end of Chip revision + +# +# MAC Config +# +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_TWO is not set +# default: +CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP32C6_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# default: +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +# default: +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# default: +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +# default: +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +# default: +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 +# default: +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# default: +# CONFIG_ESP_SLEEP_DEBUG is not set +# default: +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +# default: +CONFIG_RTC_CLK_SRC_INT_RC=y +# default: +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# default: +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# default: +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# default: +CONFIG_RTC_CLK_FUNC_IN_IRAM=y +# default: +CONFIG_RTC_TIME_FUNC_IN_IRAM=y +# end of RTC Clock Config + +# +# Peripheral Control +# +# default: +CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y +# default: +# CONFIG_ESP_MODEM_CLOCK_ENABLE_CHECKING is not set +# end of Peripheral Control + +# +# Event Task Matrix (ETM) Configurations +# +# default: +# CONFIG_ETM_ENABLE_DEBUG_LOG is not set +# end of Event Task Matrix (ETM) Configurations + +# +# Main XTAL Config +# +# default: +CONFIG_XTAL_FREQ_40=y +# default: +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +# +# Power Supplier +# + +# +# Brownout Detector +# +# default: +CONFIG_ESP_BROWNOUT_DET=y +# default: +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# default: +CONFIG_ESP_BROWNOUT_DET_LVL=7 +# default: +CONFIG_ESP_BROWNOUT_USE_INTR=y +# end of Brownout Detector +# end of Power Supplier + +# default: +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +# default: +# CONFIG_ESP_ENABLE_PVT is not set +# default: +CONFIG_ESP_INTR_IN_IRAM=y +# end of Hardware Settings + +# +# ESP-Driver:LCD Controller Configurations +# +# default: +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:LCD Controller Configurations + +# +# LibC +# +# default: +# CONFIG_LIBC_NEWLIB is not set +# default: +CONFIG_LIBC_PICOLIBC=y +# default: +CONFIG_LIBC_PICOLIBC_NEWLIB_COMPATIBILITY=y +# default: +CONFIG_LIBC_MISC_IN_IRAM=y +# default: +CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y +# default: +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set +# default: +CONFIG_LIBC_STDIN_LINE_ENDING_CR=y +# default: +CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set +# default: +CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS=y +# default: +CONFIG_LIBC_ASSERT_BUFFER_SIZE=200 +# end of LibC + +# +# ESP-MM: Memory Management Configurations +# +# end of ESP-MM: Memory Management Configurations + +# +# ESP NETIF Adapter +# +# default: +CONFIG_ESP_NETIF_LOST_IP_TIMER_ENABLE=y +# default: +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +# default: +# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set +# default: +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# default: +# CONFIG_ESP_NETIF_LOOPBACK is not set +# default: +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# default: +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y +# default: +CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS=y +# default: +# CONFIG_ESP_NETIF_L2_TAP is not set +# default: +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# default: +# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +# default: +CONFIG_ESP_PHY_ENABLED=y +# default: +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# default: +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +# default: +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +# default: +CONFIG_ESP_PHY_MAX_TX_POWER=20 +# default: +# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +# default: +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set +# default: +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# default: +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# default: +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +# default: +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# default: +CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000 +# default: +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# default: +# CONFIG_ESP_PHY_RECORD_USED_TIME is not set +# default: +CONFIG_ESP_PHY_IRAM_OPT=y +# default: +# CONFIG_ESP_PHY_DEBUG is not set +# end of PHY + +# +# Power Management +# +# default: +CONFIG_PM_SLEEP_FUNC_IN_IRAM=y +# default: +# CONFIG_PM_ENABLE is not set +# default: +CONFIG_PM_SLP_IRAM_OPT=y +# default: +CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y +# default: +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +# default: +CONFIG_PM_CPU_RETENTION_DYNAMIC=y +# default: +# CONFIG_PM_CPU_RETENTION_STATIC is not set +# default: +# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set +# default: +CONFIG_PM_ESP_SLEEP_POWER_DOWN_CPU=y +# end of Power Management + +# +# ESP PSRAM +# + +# +# ESP Ringbuf +# +# default: +# CONFIG_RINGBUF_IN_IRAM is not set +# default: +# CONFIG_RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP-ROM +# +# default: +CONFIG_ESP_ROM_PRINT_IN_IRAM=y +# end of ESP-ROM + +# +# ESP Security Specific +# + +# +# Crypto DPA Protection +# +# default: +CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP=y +# default: +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW=y +# default: +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM is not set +# default: +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set +# default: +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1 +# end of Crypto DPA Protection +# end of ESP Security Specific + +# +# ESP-STDIO +# +# default: +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# default: +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set +# default: +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# default: +# CONFIG_ESP_CONSOLE_NONE is not set +# default: +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +# default: +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +# default: +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y +# default: +CONFIG_ESP_CONSOLE_UART=y +# default: +CONFIG_ESP_CONSOLE_UART_NUM=0 +# default: +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +# default: +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +# end of ESP-STDIO + +# +# ESP System Settings +# +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_120 is not set +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 +# default: +CONFIG_ESP_SYSTEM_IN_IRAM=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# default: +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +# default: +CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y +# default: +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +# default: +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y +# default: +CONFIG_ESP_SYSTEM_NO_BACKTRACE=y +# default: +# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set +# default: +# CONFIG_ESP_SYSTEM_USE_FRAME_POINTER is not set +# default: +CONFIG_ESP_SYSTEM_MEMPROT=y +# default: +CONFIG_ESP_SYSTEM_MEMPROT_PMP=y +# default: +# CONFIG_ESP_SYSTEM_MEMPROT_PMP_LP_CORE_RESERVE_MEM_EXEC is not set +# default: +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +# default: +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +# default: +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +# default: +CONFIG_ESP_INT_WDT=y +# default: +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +# default: +CONFIG_ESP_TASK_WDT_EN=y +# default: +CONFIG_ESP_TASK_WDT_INIT=y +# default: +# CONFIG_ESP_TASK_WDT_PANIC is not set +# default: +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +# default: +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# default: +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# default: +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +# default: +# CONFIG_ESP_DEBUG_INCLUDE_OCD_STUB_BINS is not set +# default: +CONFIG_ESP_DEBUG_OCDAWARE=y +# default: +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +# default: +CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y +# default: +CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y +# default: +CONFIG_ESP_SYSTEM_HW_PC_RECORD=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +# default: +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +# default: +CONFIG_ESP_TIMER_IN_IRAM=y +# default: +# CONFIG_ESP_TIMER_PROFILING is not set +# default: +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +# default: +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +# default: +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +# default: +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# default: +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +# default: +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +# default: +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of ESP Timer (High Resolution Timer) + +# +# ESP Trace Configuration +# +# default: +# CONFIG_ESP_TRACE_LIB_EXTERNAL is not set +# default: +CONFIG_ESP_TRACE_LIB_NONE=y +# default: +CONFIG_ESP_TRACE_LIB_NAME="none" +# default: +# CONFIG_ESP_TRACE_TRANSPORT_APPTRACE is not set +# default: +CONFIG_ESP_TRACE_TRANSPORT_NONE=y +# default: +CONFIG_ESP_TRACE_TRANSPORT_NAME="none" +# end of ESP Trace Configuration + +# +# Wi-Fi +# +# default: +CONFIG_ESP_WIFI_ENABLED=y +# default: +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# default: +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +# default: +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# default: +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# default: +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +# default: +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# default: +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +# default: +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +# default: +CONFIG_ESP_WIFI_TX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +# default: +CONFIG_ESP_WIFI_RX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_NVS_ENABLED=y +# default: +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +# default: +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +# default: +CONFIG_ESP_WIFI_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_H2E=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +# default: +CONFIG_ESP_WIFI_WPA3_COMPATIBLE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_SLP_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +# default: +CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# default: +# CONFIG_ESP_WIFI_FTM_ENABLE is not set +# default: +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# default: +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set +# default: +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +# default: +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# default: +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +# default: +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# default: +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# default: +# CONFIG_ESP_WIFI_SUITE_B_192 is not set +# default: +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set +# default: +# CONFIG_ESP_WIFI_ENABLE_WIFI_TX_STATS is not set +# default: +# CONFIG_ESP_WIFI_ENABLE_WIFI_RX_STATS is not set +# default: +CONFIG_ESP_WIFI_TX_HETB_QUEUE_NUM=3 + +# +# WPS Configuration Options +# +# default: +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# default: +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# default: +# CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL is not set +# end of WPS Configuration Options + +# default: +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# default: +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# default: +# CONFIG_ESP_WIFI_PASSIVE_HIDDEN_AP_SUPPORT is not set +# end of Wi-Fi + +# +# Core dump +# +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +# default: +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +# default: +CONFIG_FATFS_VOLUME_COUNT=2 +# default: +# CONFIG_FATFS_LFN_NONE is not set +# default: +CONFIG_FATFS_LFN_HEAP=y +# default: +# CONFIG_FATFS_LFN_STACK is not set +# default: +# CONFIG_FATFS_SECTOR_512 is not set +# default: +CONFIG_FATFS_SECTOR_4096=y +# default: +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +# default: +CONFIG_FATFS_CODEPAGE_437=y +# default: +# CONFIG_FATFS_CODEPAGE_720 is not set +# default: +# CONFIG_FATFS_CODEPAGE_737 is not set +# default: +# CONFIG_FATFS_CODEPAGE_771 is not set +# default: +# CONFIG_FATFS_CODEPAGE_775 is not set +# default: +# CONFIG_FATFS_CODEPAGE_850 is not set +# default: +# CONFIG_FATFS_CODEPAGE_852 is not set +# default: +# CONFIG_FATFS_CODEPAGE_855 is not set +# default: +# CONFIG_FATFS_CODEPAGE_857 is not set +# default: +# CONFIG_FATFS_CODEPAGE_860 is not set +# default: +# CONFIG_FATFS_CODEPAGE_861 is not set +# default: +# CONFIG_FATFS_CODEPAGE_862 is not set +# default: +# CONFIG_FATFS_CODEPAGE_863 is not set +# default: +# CONFIG_FATFS_CODEPAGE_864 is not set +# default: +# CONFIG_FATFS_CODEPAGE_865 is not set +# default: +# CONFIG_FATFS_CODEPAGE_866 is not set +# default: +# CONFIG_FATFS_CODEPAGE_869 is not set +# default: +# CONFIG_FATFS_CODEPAGE_932 is not set +# default: +# CONFIG_FATFS_CODEPAGE_936 is not set +# default: +# CONFIG_FATFS_CODEPAGE_949 is not set +# default: +# CONFIG_FATFS_CODEPAGE_950 is not set +# default: +CONFIG_FATFS_CODEPAGE=437 +# default: +CONFIG_FATFS_MAX_LFN=255 +# default: +CONFIG_FATFS_API_ENCODING_ANSI_OEM=y +# default: +# CONFIG_FATFS_API_ENCODING_UTF_8 is not set +# default: +CONFIG_FATFS_FS_LOCK=0 +# default: +CONFIG_FATFS_TIMEOUT_MS=10000 +# default: +CONFIG_FATFS_PER_FILE_CACHE=y +# default: +# CONFIG_FATFS_USE_FASTSEEK is not set +# default: +CONFIG_FATFS_USE_STRFUNC_NONE=y +# default: +# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set +# default: +# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set +# default: +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# default: +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# default: +# CONFIG_FATFS_USE_LABEL is not set +# default: +CONFIG_FATFS_LINK_LOCK=y +# default: +CONFIG_FATFS_USE_DYN_BUFFERS=y + +# +# File system free space calculation behavior +# +# default: +CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 +# default: +CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 +# end of File system free space calculation behavior +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# default: +# CONFIG_FREERTOS_SMP is not set +# default: +CONFIG_FREERTOS_UNICORE=y +# default: +CONFIG_FREERTOS_HZ=100 +# default: +CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +# default: +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +# default: +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +# default: +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# default: +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# default: +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +# default: +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# default: +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +# default: +CONFIG_FREERTOS_USE_TIMERS=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# default: +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +# default: +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +# default: +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +# default: +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +# default: +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +# default: +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# default: +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# default: +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# default: +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# default: +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# default: +CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y +# default: +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +# default: +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# default: +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# default: +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +# default: +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +# default: +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +# default: +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +# default: +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# default: +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +# default: +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +# default: +# CONFIG_FREERTOS_IN_IRAM is not set +# default: +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +# +# Extra +# +# end of Extra + +# default: +CONFIG_FREERTOS_PORT=y +# default: +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +# default: +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +# default: +CONFIG_FREERTOS_NUMBER_OF_CORES=1 +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +# default: +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# default: +# CONFIG_HAL_ASSERTION_DISABLE is not set +# default: +# CONFIG_HAL_ASSERTION_SILENT is not set +# default: +# CONFIG_HAL_ASSERTION_ENABLE is not set +# default: +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# default: +CONFIG_HAL_SYSTIMER_USE_ROM_IMPL=y +# default: +CONFIG_HAL_WDT_USE_ROM_IMPL=y +# default: +CONFIG_HAL_GPIO_USE_ROM_IMPL=y +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +# default: +CONFIG_HEAP_POISONING_DISABLED=y +# default: +# CONFIG_HEAP_POISONING_LIGHT is not set +# default: +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +# default: +CONFIG_HEAP_TRACING_OFF=y +# default: +# CONFIG_HEAP_TRACING_STANDALONE is not set +# default: +# CONFIG_HEAP_TRACING_TOHOST is not set +# default: +# CONFIG_HEAP_USE_HOOKS is not set +# default: +# CONFIG_HEAP_TASK_TRACKING is not set +# default: +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# default: +CONFIG_HEAP_TLSF_USE_ROM_IMPL=y +# default: +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# IEEE 802.15.4 +# +# default: +CONFIG_IEEE802154_ENABLED=y +# default: +CONFIG_IEEE802154_RX_BUFFER_SIZE=20 +# default: +# CONFIG_IEEE802154_CCA_CARRIER is not set +# default: +CONFIG_IEEE802154_CCA_ED=y +# default: +# CONFIG_IEEE802154_CCA_CARRIER_OR_ED is not set +# default: +# CONFIG_IEEE802154_CCA_CARRIER_AND_ED is not set +# default: +CONFIG_IEEE802154_CCA_MODE=1 +# default: +CONFIG_IEEE802154_CCA_THRESHOLD=-75 +# default: +CONFIG_IEEE802154_PENDING_TABLE_SIZE=20 +# default: +# CONFIG_IEEE802154_MULTI_PAN_ENABLE is not set +# default: +CONFIG_IEEE802154_INTERFACE_NUM=1 +# default: +CONFIG_IEEE802154_TIMING_OPTIMIZATION=y +# default: +# CONFIG_IEEE802154_DEBUG is not set +# end of IEEE 802.15.4 + +# +# Log +# +# default: +CONFIG_LOG_VERSION_1=y +# default: +# CONFIG_LOG_VERSION_2 is not set +# default: +CONFIG_LOG_VERSION=1 + +# +# Log Level +# +# default: +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# default: +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL=3 +# default: +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_MAXIMUM_LEVEL=3 + +# +# Level Settings +# +# default: +# CONFIG_LOG_MASTER_LEVEL is not set +# default: +CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y +# default: +# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set +# default: +CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 +# end of Level Settings +# end of Log Level + +# +# Format +# +# default: +# CONFIG_LOG_COLORS is not set +# default: +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# default: +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Format + +# +# Settings +# +# default: +CONFIG_LOG_MODE_TEXT_EN=y +# default: +CONFIG_LOG_MODE_TEXT=y +# end of Settings + +# default: +CONFIG_LOG_IN_IRAM=y +# end of Log + +# +# LWIP +# +# default: +CONFIG_LWIP_ENABLE=y +# default: +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# default: +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# default: +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# default: +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +# default: +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# default: +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# default: +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# default: +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +# default: +CONFIG_LWIP_TIMERS_ONDEMAND=y +# default: +CONFIG_LWIP_ND6=y +# default: +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +# default: +CONFIG_LWIP_MAX_SOCKETS=10 +# default: +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# default: +# CONFIG_LWIP_SO_LINGER is not set +# default: +CONFIG_LWIP_SO_REUSE=y +# default: +CONFIG_LWIP_SO_REUSE_RXTOALL=y +# default: +# CONFIG_LWIP_SO_RCVBUF is not set +# default: +# CONFIG_LWIP_NETBUF_RECVINFO is not set +# default: +CONFIG_LWIP_IP_DEFAULT_TTL=64 +# default: +CONFIG_LWIP_IP4_FRAG=y +# default: +CONFIG_LWIP_IP6_FRAG=y +# default: +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# default: +# CONFIG_LWIP_IP6_REASSEMBLY is not set +# default: +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# default: +CONFIG_LWIP_IPV6_DUP_DETECT_ATTEMPTS=1 +# default: +# CONFIG_LWIP_IP_FORWARD is not set +# default: +# CONFIG_LWIP_STATS is not set +# default: +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +# default: +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +# default: +CONFIG_LWIP_ESP_MLDV6_REPORT=y +# default: +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +# default: +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +# default: +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# default: +# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set +# default: +# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set +# default: +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +# default: +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# default: +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +# default: +CONFIG_LWIP_DHCP_OPTIONS_LEN=69 +# default: +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +# default: +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +# default: +CONFIG_LWIP_DHCPS=y +# default: +CONFIG_LWIP_DHCPS_REPORT_CLIENT_HOSTNAME=y +# default: +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +# default: +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +# default: +CONFIG_LWIP_DHCPS_MAX_HOSTNAME_LEN=64 +# default: +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# end of DHCP server + +# default: +# CONFIG_LWIP_AUTOIP is not set +# default: +CONFIG_LWIP_IPV4=y +# default: +CONFIG_LWIP_IPV6=y +# default: +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +# default: +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# default: +# CONFIG_LWIP_IPV6_FORWARD is not set +# default: +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +# default: +# CONFIG_LWIP_NETIF_LINK_CALLBACK is not set +# default: +CONFIG_LWIP_NETIF_LOOPBACK=y +# default: +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +# default: +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +# default: +CONFIG_LWIP_MAX_LISTENING_TCP=16 +# default: +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +# default: +CONFIG_LWIP_TCP_MAXRTX=12 +# default: +CONFIG_LWIP_TCP_SYNMAXRTX=12 +# default: +CONFIG_LWIP_TCP_MSS=1440 +# default: +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +# default: +CONFIG_LWIP_TCP_MSL=60000 +# default: +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +# default: +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +# default: +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +# default: +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# default: +# CONFIG_LWIP_TCP_SACK_OUT is not set +# default: +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# default: +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# default: +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +# default: +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +# default: +CONFIG_LWIP_MAX_UDP_PCBS=16 +# default: +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +# default: +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +# default: +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# default: +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# default: +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 +# default: +# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_SUPPORT is not set +# default: +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +# default: +CONFIG_LWIP_ICMP=y +# default: +# CONFIG_LWIP_MULTICAST_PING is not set +# default: +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +# default: +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +# default: +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# default: +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +# default: +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +# default: +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +# default: +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +# default: +CONFIG_LWIP_DNS_MAX_HOST_IP=1 +# default: +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# default: +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# default: +# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set +# default: +# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set +# end of DNS + +# default: +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +# default: +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +# default: +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set +# default: +CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# default: +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# + +# +# Core Configuration +# +# default: +CONFIG_MBEDTLS_VER_4_X_SUPPORT=y +# default: +# CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_NONE is not set +# default: +CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_SIZE=y +# default: +# CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_PERF is not set +# default: +CONFIG_MBEDTLS_FS_IO=y +# default: +CONFIG_MBEDTLS_THREADING_C=y +# default: +# CONFIG_MBEDTLS_THREADING_ALT is not set +# default: +CONFIG_MBEDTLS_THREADING_PTHREAD=y +# default: +CONFIG_MBEDTLS_ERROR_STRINGS=y +# default: +CONFIG_MBEDTLS_VERSION_C=y +# default: +CONFIG_MBEDTLS_HAVE_TIME=y +# default: +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# default: +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +# default: +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# default: +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +# default: +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +# default: +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +# default: +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# default: +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# default: +# CONFIG_MBEDTLS_VERSION_FEATURES is not set +# default: +# CONFIG_MBEDTLS_DEBUG is not set +# default: +CONFIG_MBEDTLS_SELF_TEST=y +# end of Core Configuration + +# +# Certificates +# +# default: +CONFIG_MBEDTLS_X509_USE_C=y +# default: +CONFIG_MBEDTLS_PEM_PARSE_C=y +# default: +CONFIG_MBEDTLS_PEM_WRITE_C=y +# default: +CONFIG_MBEDTLS_PK_C=y +# default: +CONFIG_MBEDTLS_PK_PARSE_C=y +# default: +CONFIG_MBEDTLS_PK_WRITE_C=y +# default: +# CONFIG_MBEDTLS_X509_REMOVE_INFO is not set +# default: +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +# default: +CONFIG_MBEDTLS_X509_CRT_PARSE_C=y +# default: +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# default: +# CONFIG_MBEDTLS_X509_CREATE_C is not set +# default: +CONFIG_MBEDTLS_X509_RSASSA_PSS_SUPPORT=y +# default: +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# default: +CONFIG_MBEDTLS_ASN1_PARSE_C=y +# default: +CONFIG_MBEDTLS_ASN1_WRITE_C=y +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + +# +# Certificate Bundle Configuration +# +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle Configuration + +# default: +# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY is not set +# end of Certificates + +# default: +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Protocol Configuration +# +# default: +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# default: +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# default: +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# default: +CONFIG_MBEDTLS_TLS_SERVER=y +# default: +CONFIG_MBEDTLS_TLS_CLIENT=y +# default: +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# default: +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_DISABLED is not set +# default: +# CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE is not set +# default: +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +# default: +CONFIG_MBEDTLS_SSL_CACHE_C=y +# default: +CONFIG_MBEDTLS_SSL_ALL_ALERT_MESSAGES=y + +# +# TLS Key Exchange Configuration +# +# default: +# CONFIG_MBEDTLS_PSK_MODES is not set +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +# end of TLS Key Exchange Configuration + +# default: +CONFIG_MBEDTLS_SSL_SERVER_NAME_INDICATION=y +# default: +CONFIG_MBEDTLS_SSL_ALPN=y +# default: +CONFIG_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH=y +# default: +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# default: +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +# default: +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +# default: +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y +# default: +# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set +# end of TLS Protocol Configuration + +# default: +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set + +# +# Symmetric Ciphers +# +# default: +CONFIG_MBEDTLS_AES_C=y +# default: +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# default: +# CONFIG_MBEDTLS_ARIA_C is not set +# default: +# CONFIG_MBEDTLS_DES_C is not set +# default: +CONFIG_MBEDTLS_CCM_C=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_CBC=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_CFB=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_CTR=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_OFB=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_XTS=y +# default: +CONFIG_MBEDTLS_GCM_C=y +# default: +# CONFIG_MBEDTLS_NIST_KW_C is not set +# default: +CONFIG_MBEDTLS_AES_ROM_TABLES=y +# default: +# CONFIG_MBEDTLS_AES_FEWER_TABLES is not set +# default: +# CONFIG_MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH is not set +# default: +CONFIG_MBEDTLS_CMAC_C=y +# end of Symmetric Ciphers + +# +# Asymmetric Ciphers +# +# default: +CONFIG_MBEDTLS_BIGNUM_C=y +# default: +CONFIG_MBEDTLS_RSA_C=y +# default: +CONFIG_MBEDTLS_ECP_C=y + +# +# Supported Curves +# +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +# end of Supported Curves + +# +# Elliptic Curve Ciphers Configuration +# +# default: +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +# default: +# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set +# default: +# CONFIG_MBEDTLS_DHM_C is not set +# default: +CONFIG_MBEDTLS_ECDH_C=y +# default: +# CONFIG_MBEDTLS_ECJPAKE_C is not set +# default: +CONFIG_MBEDTLS_ECDSA_C=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y +# default: +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +# default: +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# end of Elliptic Curve Ciphers Configuration +# end of Asymmetric Ciphers + +# +# Hash functions +# +# default: +# CONFIG_MBEDTLS_RIPEMD160_C is not set +# default: +CONFIG_MBEDTLS_MD_C=y +# default: +CONFIG_MBEDTLS_MD5_C=y +# default: +CONFIG_MBEDTLS_SHA1_C=y +# default: +# CONFIG_MBEDTLS_SHA224_C is not set +# default: +CONFIG_MBEDTLS_SHA256_C=y +# default: +CONFIG_MBEDTLS_SHA384_C=y +# default: +CONFIG_MBEDTLS_SHA512_C=y +# default: +# CONFIG_MBEDTLS_SHA3_C is not set +# default: +CONFIG_MBEDTLS_ROM_MD5=y +# end of Hash functions + +# +# Hardware Acceleration +# +# default: +CONFIG_MBEDTLS_HARDWARE_ECC=y +# default: +CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK=y +# default: +CONFIG_MBEDTLS_HARDWARE_SHA=y +# default: +CONFIG_MBEDTLS_HARDWARE_MPI=y +# default: +CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +# default: +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +# default: +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 +# default: +CONFIG_MBEDTLS_HARDWARE_AES=y +# default: +# CONFIG_MBEDTLS_AES_SOFT_FALLBACK is not set +# default: +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +# default: +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +# default: +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 +# default: +CONFIG_MBEDTLS_AES_HW_SMALL_DATA_LEN_OPTIM=y +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +# default: +CONFIG_MBEDTLS_HARDWARE_RSA_DS_PERIPHERAL=y +# end of Hardware Acceleration + +# +# Entropy and Random Number Generation +# +# default: +# CONFIG_MBEDTLS_ENTROPY_FORCE_SHA256 is not set +# default: +CONFIG_MBEDTLS_CTR_DRBG_C=y +# default: +CONFIG_MBEDTLS_HMAC_DRBG_C=y +# end of Entropy and Random Number Generation + +# +# Encoding/Decoding +# +# default: +CONFIG_MBEDTLS_BASE64_C=y +# default: +CONFIG_MBEDTLS_PKCS5_C=y +# default: +CONFIG_MBEDTLS_PKCS7_C=y +# default: +CONFIG_MBEDTLS_PKCS1_V15=y +# default: +CONFIG_MBEDTLS_PKCS1_V21=y +# end of Encoding/Decoding + +# +# Stream Cipher +# +# default: +# CONFIG_MBEDTLS_CHACHA20_C is not set +# end of Stream Cipher +# end of mbedTLS + +# +# NVS +# +# default: +# CONFIG_NVS_ENCRYPTION is not set +# default: +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# default: +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# default: +# CONFIG_NVS_BDL_STACK is not set +# default: +# CONFIG_NVS_FLASH_VERIFY_ERASE is not set +# end of NVS + +# +# OpenThread +# +# default: +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# OpenThread Spinel +# +# default: +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# end of OpenThread Spinel + +# default: +# CONFIG_OPENTHREAD_DEBUG is not set +# end of OpenThread + +# +# Protocomm +# +# default: +# CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0 is not set +# default: +# CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1 is not set +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y +# end of Protocomm + +# +# PThreads +# +# default: +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +# default: +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +# default: +CONFIG_PTHREAD_STACK_MIN=768 +# default: +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +# default: +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# SD Protocol Layer Configuration +# +# default: +CONFIG_SD_ENABLE_SDIO_SUPPORT=y +# end of SD Protocol Layer Configuration + +# +# MMU Config +# +# default: +CONFIG_MMU_PAGE_SIZE_32KB=y +# default: +CONFIG_MMU_PAGE_MODE="32KB" +# default: +CONFIG_MMU_PAGE_SIZE=0x8000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +# default: +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# default: +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# default: +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +# default: +# CONFIG_SPI_FLASH_ROM_IMPL is not set +# default: +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# default: +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +# default: +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +# default: +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# default: +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# default: +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# default: +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +# default: +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y +# default: +# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set +# default: +# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set +# default: +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +# default: +# CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set +# default: +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# default: +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# end of Auto-detect flash chips + +# default: +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +# default: +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +# default: +CONFIG_SPIFFS_CACHE=y +# default: +CONFIG_SPIFFS_CACHE_WR=y +# default: +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +# default: +CONFIG_SPIFFS_PAGE_CHECK=y +# default: +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# default: +# CONFIG_SPIFFS_GC_STATS is not set +# default: +CONFIG_SPIFFS_PAGE_SIZE=256 +# default: +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# default: +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +# default: +CONFIG_SPIFFS_USE_MAGIC=y +# default: +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +# default: +CONFIG_SPIFFS_META_LENGTH=4 +# default: +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# default: +# CONFIG_SPIFFS_DBG is not set +# default: +# CONFIG_SPIFFS_API_DBG is not set +# default: +# CONFIG_SPIFFS_GC_DBG is not set +# default: +# CONFIG_SPIFFS_CACHE_DBG is not set +# default: +# CONFIG_SPIFFS_CHECK_DBG is not set +# default: +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +# default: +CONFIG_WS_TRANSPORT=y +# default: +CONFIG_WS_BUFFER_SIZE=1024 +# default: +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Ultra Low Power (ULP) Co-processor +# +# default: +# CONFIG_ULP_COPROC_ENABLED is not set + +# +# ULP Debugging Options +# +# end of ULP Debugging Options +# end of Ultra Low Power (ULP) Co-processor + +# +# Unity unit testing library +# +# default: +CONFIG_UNITY_ENABLE_FLOAT=y +# default: +CONFIG_UNITY_ENABLE_DOUBLE=y +# default: +# CONFIG_UNITY_ENABLE_64BIT is not set +# default: +# CONFIG_UNITY_ENABLE_COLOR is not set +# default: +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# default: +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# default: +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# end of Unity unit testing library + +# +# Virtual file system +# +# default: +CONFIG_VFS_SUPPORT_IO=y +# default: +CONFIG_VFS_SUPPORT_DIR=y +# default: +CONFIG_VFS_SUPPORT_SELECT=y +# default: +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# default: +# CONFIG_VFS_SELECT_IN_RAM is not set +# default: +# CONFIG_VFS_SUPPORT_TERMIOS is not set +# default: +CONFIG_VFS_MAX_COUNT=8 +# default: +# CONFIG_VFS_SUPPRESS_CTX_DEPRECATION is not set + +# +# Host File System I/O (Semihosting) +# +# default: +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) + +# default: +CONFIG_VFS_INITIALIZE_DEV_NULL=y +# end of Virtual file system + +# +# Wear Levelling +# +# default: +# CONFIG_WL_SECTOR_SIZE_512 is not set +# default: +CONFIG_WL_SECTOR_SIZE_4096=y +# default: +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling +# end of Component config + +# default: +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +CONFIG_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y +# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +CONFIG_SW_COEXIST_ENABLE=y +CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y +CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y +# CONFIG_EXTERNAL_COEX_ENABLE is not set +# CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_MCPWM_ISR_IRAM_SAFE is not set +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +CONFIG_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_VIA_TEE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +# CONFIG_ESP_SYSTEM_PMP_LP_CORE_RESERVE_MEM_EXECUTABLE is not set +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +# CONFIG_ESP32_APPTRACE_ENABLE is not set +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# CONFIG_SUPPORT_TERMIOS is not set +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# End of deprecated options diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..483bc0c --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,6 @@ +# This file was automatically generated for projects +# without default 'CMakeLists.txt' file. + +FILE(GLOB_RECURSE app_sources ${CMAKE_SOURCE_DIR}/src/*.*) + +idf_component_register(SRCS ${app_sources}) diff --git a/src/led_strip_encoder.c b/src/led_strip_encoder.c new file mode 100644 index 0000000..243c427 --- /dev/null +++ b/src/led_strip_encoder.c @@ -0,0 +1,126 @@ +/* + * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include "esp_check.h" +#include "led_strip_encoder.h" + +static const char *TAG = "led_encoder"; + +typedef struct { + rmt_encoder_t base; + rmt_encoder_t *bytes_encoder; + rmt_encoder_t *copy_encoder; + int state; + rmt_symbol_word_t reset_code; +} rmt_led_strip_encoder_t; + +RMT_ENCODER_FUNC_ATTR +static size_t rmt_encode_led_strip(rmt_encoder_t *encoder, rmt_channel_handle_t channel, const void *primary_data, size_t data_size, rmt_encode_state_t *ret_state) +{ + rmt_led_strip_encoder_t *led_encoder = __containerof(encoder, rmt_led_strip_encoder_t, base); + rmt_encoder_handle_t bytes_encoder = led_encoder->bytes_encoder; + rmt_encoder_handle_t copy_encoder = led_encoder->copy_encoder; + rmt_encode_state_t session_state = RMT_ENCODING_RESET; + rmt_encode_state_t state = RMT_ENCODING_RESET; + size_t encoded_symbols = 0; + switch (led_encoder->state) { + case 0: // send RGB data + encoded_symbols += bytes_encoder->encode(bytes_encoder, channel, primary_data, data_size, &session_state); + if (session_state & RMT_ENCODING_COMPLETE) { + led_encoder->state = 1; // switch to next state when current encoding session finished + } + if (session_state & RMT_ENCODING_MEM_FULL) { + state |= RMT_ENCODING_MEM_FULL; + goto out; // yield if there's no free space for encoding artifacts + } + // fall-through + case 1: // send reset code + encoded_symbols += copy_encoder->encode(copy_encoder, channel, &led_encoder->reset_code, + sizeof(led_encoder->reset_code), &session_state); + if (session_state & RMT_ENCODING_COMPLETE) { + led_encoder->state = RMT_ENCODING_RESET; // back to the initial encoding session + state |= RMT_ENCODING_COMPLETE; + } + if (session_state & RMT_ENCODING_MEM_FULL) { + state |= RMT_ENCODING_MEM_FULL; + goto out; // yield if there's no free space for encoding artifacts + } + } +out: + *ret_state = state; + return encoded_symbols; +} + +static esp_err_t rmt_del_led_strip_encoder(rmt_encoder_t *encoder) +{ + rmt_led_strip_encoder_t *led_encoder = __containerof(encoder, rmt_led_strip_encoder_t, base); + rmt_del_encoder(led_encoder->bytes_encoder); + rmt_del_encoder(led_encoder->copy_encoder); + free(led_encoder); + return ESP_OK; +} + +RMT_ENCODER_FUNC_ATTR +static esp_err_t rmt_led_strip_encoder_reset(rmt_encoder_t *encoder) +{ + rmt_led_strip_encoder_t *led_encoder = __containerof(encoder, rmt_led_strip_encoder_t, base); + rmt_encoder_reset(led_encoder->bytes_encoder); + rmt_encoder_reset(led_encoder->copy_encoder); + led_encoder->state = RMT_ENCODING_RESET; + return ESP_OK; +} + +esp_err_t rmt_new_led_strip_encoder(const led_strip_encoder_config_t *config, rmt_encoder_handle_t *ret_encoder) +{ + esp_err_t ret = ESP_OK; + rmt_led_strip_encoder_t *led_encoder = NULL; + ESP_GOTO_ON_FALSE(config && ret_encoder, ESP_ERR_INVALID_ARG, err, TAG, "invalid argument"); + led_encoder = rmt_alloc_encoder_mem(sizeof(rmt_led_strip_encoder_t)); + ESP_GOTO_ON_FALSE(led_encoder, ESP_ERR_NO_MEM, err, TAG, "no mem for led strip encoder"); + led_encoder->base.encode = rmt_encode_led_strip; + led_encoder->base.del = rmt_del_led_strip_encoder; + led_encoder->base.reset = rmt_led_strip_encoder_reset; + // different led strip might have its own timing requirements, following parameter is for WS2812 + rmt_bytes_encoder_config_t bytes_encoder_config = { + .bit0 = { + .level0 = 1, + .duration0 = 0.3 * config->resolution / 1000000, // T0H=0.3us + .level1 = 0, + .duration1 = 0.9 * config->resolution / 1000000, // T0L=0.9us + }, + .bit1 = { + .level0 = 1, + .duration0 = 0.9 * config->resolution / 1000000, // T1H=0.9us + .level1 = 0, + .duration1 = 0.3 * config->resolution / 1000000, // T1L=0.3us + }, + .flags.msb_first = 1 // WS2812 transfer bit order: G7...G0R7...R0B7...B0 + }; + ESP_GOTO_ON_ERROR(rmt_new_bytes_encoder(&bytes_encoder_config, &led_encoder->bytes_encoder), err, TAG, "create bytes encoder failed"); + rmt_copy_encoder_config_t copy_encoder_config = {}; + ESP_GOTO_ON_ERROR(rmt_new_copy_encoder(©_encoder_config, &led_encoder->copy_encoder), err, TAG, "create copy encoder failed"); + + uint32_t reset_ticks = config->resolution / 1000000 * 50 / 2; // reset code duration defaults to 50us + led_encoder->reset_code = (rmt_symbol_word_t) { + .level0 = 0, + .duration0 = reset_ticks, + .level1 = 0, + .duration1 = reset_ticks, + }; + *ret_encoder = &led_encoder->base; + return ESP_OK; +err: + if (led_encoder) { + if (led_encoder->bytes_encoder) { + rmt_del_encoder(led_encoder->bytes_encoder); + } + if (led_encoder->copy_encoder) { + rmt_del_encoder(led_encoder->copy_encoder); + } + free(led_encoder); + } + return ret; +} diff --git a/src/led_strip_encoder.h b/src/led_strip_encoder.h new file mode 100644 index 0000000..db5ef07 --- /dev/null +++ b/src/led_strip_encoder.h @@ -0,0 +1,36 @@ +/* + * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ +#pragma once + +#include +#include "driver/rmt_encoder.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Type of led strip encoder configuration + */ +typedef struct { + uint32_t resolution; /*!< Encoder resolution, in Hz */ +} led_strip_encoder_config_t; + +/** + * @brief Create RMT encoder for encoding LED strip pixels into RMT symbols + * + * @param[in] config Encoder configuration + * @param[out] ret_encoder Returned encoder handle + * @return + * - ESP_ERR_INVALID_ARG for any invalid arguments + * - ESP_ERR_NO_MEM out of memory when creating led strip encoder + * - ESP_OK if creating encoder successfully + */ +esp_err_t rmt_new_led_strip_encoder(const led_strip_encoder_config_t *config, rmt_encoder_handle_t *ret_encoder); + +#ifdef __cplusplus +} +#endif diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..bc83e3e --- /dev/null +++ b/src/main.c @@ -0,0 +1,184 @@ +#include +#include +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "esp_log.h" +#include "driver/uart.h" +#include "driver/rmt_tx.h" +#include "led_strip_encoder.h" + +#define RMT_LED_STRIP_RESOLUTION_HZ 10000000 +#define LED_GPIO_NUM 6 +#define LED_NUMBERS 30 + +static const char *TAG = "led-laser"; + +static uint8_t led_pixels[LED_NUMBERS * 3]; +static rmt_channel_handle_t led_chan = NULL; +static rmt_encoder_handle_t led_encoder = NULL; + +typedef struct { + const char *name; + int freq_hz; + int duration_min; + uint32_t hue; +} preset_t; + +static const preset_t presets[] = { + {"Regeneration", 40, 60, 0}, + {"Durchblutung", 60, 60, 15}, + {"Tiefenwirkung",80,45, 5}, + {"Gepulst Rot", 50, 60, 0}, + {"Oberflächenlicht",30,45,20}, + {"Muskeln/Gelenke",65,60,10}, + {"Ganzkörper", 45, 90, 0} +}; +#define PRESET_COUNT (sizeof(presets)/sizeof(presets[0])) + +static int current_preset = -1; +static bool led_on = false; +static uint64_t last_toggle_ms = 0; + +static void hsv2rgb(uint32_t h, uint32_t s, uint32_t v, uint32_t *r, uint32_t *g, uint32_t *b) { + h %= 360; + uint32_t rgb_max = v * 255 / 100; + uint32_t rgb_min = rgb_max * (100 - s) / 100; + uint32_t i = h / 60; + uint32_t diff = h % 60; + uint32_t adj = (rgb_max - rgb_min) * diff / 60; + switch(i){ + case 0: *r=rgb_max; *g=rgb_min+adj; *b=rgb_min; break; + case 1: *r=rgb_max-adj; *g=rgb_max; *b=rgb_min; break; + case 2: *r=rgb_min; *g=rgb_max; *b=rgb_min+adj; break; + case 3: *r=rgb_min; *g=rgb_max-adj; *b=rgb_max; break; + case 4: *r=rgb_min+adj; *g=rgb_min; *b=rgb_max; break; + default:*r=rgb_max; *g=rgb_min; *b=rgb_max-adj; break; + } +} + +static void set_all_pixels(uint32_t r, uint32_t g, uint32_t b) { + for(int i=0;i=PRESET_COUNT) return; + current_preset = idx; + const preset_t *p = &presets[idx]; + uint32_t r,g,b; + hsv2rgb(p->hue, 100, 100, &r,&g,&b); + set_all_pixels(r,g,b); + led_on = true; + last_toggle_ms = esp_timer_get_time()/1000; + ESP_LOGI(TAG, "Preset %d %s %dHz", idx, p->name, p->freq_hz); +} + +static void stop_leds(void){ + current_preset = -1; + memset(led_pixels,0,sizeof(led_pixels)); + flush_leds(); + ESP_LOGI(TAG,"LEDs stopped"); +} + +static void list_presets(void){ + printf("\n--- Presets ---\n"); + for(int i=0;iname, p->freq_hz, p->duration_min); + } + printf("Commands: 0-6 select, next, stop, list\n"); +} + +static void process_line(char *line){ + if(strcmp(line,"stop")==0){ stop_leds(); return; } + if(strcmp(line,"next")==0){ + int nxt = (current_preset+1)%PRESET_COUNT; + apply_preset(nxt); + return; + } + if(strcmp(line,"list")==0){ list_presets(); return; } + if(strlen(line)==1 && line[0]>='0' && line[0]<='6'){ + int idx = line[0]-'0'; + if(idx 0){ + uint8_t c; + int len = uart_read_bytes(UART_NUM_0,&c,1,0); + if(len>0){ + if(c=='\r' || c=='\n'){ + line_buf[line_pos]='\0'; + if(line_pos>0){ process_line(line_buf); } + line_pos=0; + }else{ + if(line_pos < (int)sizeof(line_buf)-1){ line_buf[line_pos++]=c; } + } + } + } + + if(current_preset>=0){ + const preset_t *p=&presets[current_preset]; + uint64_t now = esp_timer_get_time()/1000; + uint64_t period_ms = 1000 / p->freq_hz; + uint64_t half = period_ms/2; + if(half<1) half=1; + if(now - last_toggle_ms >= half){ + led_on = !led_on; + last_toggle_ms = now; + if(led_on){ + uint32_t r,g,b; + hsv2rgb(p->hue,100,100,&r,&g,&b); + set_all_pixels(r,g,b); + }else{ + memset(led_pixels,0,sizeof(led_pixels)); + } + flush_leds(); + } + } + vTaskDelay(pdMS_TO_TICKS(5)); + } +}