diff --git a/.cproject b/.cproject
index 856c3b1..e757dfc 100644
--- a/.cproject
+++ b/.cproject
@@ -9,10 +9,9 @@
-
-
-
-
+
+
+
diff --git a/.gitmodules b/.gitmodules
index edb11e1..abe18d8 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -7,3 +7,6 @@
[submodule "components/opus/opus"]
path = components/opus/opus
url = https://github.com/xiph/opus
+[submodule "components/improv_wifi/Improv-WiFi-Library"]
+ path = components/improv_wifi/Improv-WiFi-Library
+ url = https://github.com/jnthas/Improv-WiFi-Library.git
diff --git a/.project b/.project
index b932aad..37ebea3 100644
--- a/.project
+++ b/.project
@@ -17,4 +17,4011 @@
org.eclipse.cdt.core.ccnaturecom.espressif.idf.core.idfNature
+
+
+ build/ide/esp_idf_components/app_trace/app_trace.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/app_trace/app_trace.c
+
+
+ build/ide/esp_idf_components/app_trace/app_trace_util.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/app_trace/app_trace_util.c
+
+
+ build/ide/esp_idf_components/app_trace/host_file_io.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/app_trace/host_file_io.c
+
+
+ build/ide/esp_idf_components/app_update/esp_ota_app_desc.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/app_update/esp_ota_app_desc.c
+
+
+ build/ide/esp_idf_components/app_update/esp_ota_ops.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/app_update/esp_ota_ops.c
+
+
+ build/ide/esp_idf_components/console/commands.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/commands.c
+
+
+ build/ide/esp_idf_components/console/esp_console_repl.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/esp_console_repl.c
+
+
+ build/ide/esp_idf_components/console/split_argv.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/split_argv.c
+
+
+ build/ide/esp_idf_components/cxx/cxx_exception_stubs.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/cxx/cxx_exception_stubs.cpp
+
+
+ build/ide/esp_idf_components/cxx/cxx_guards.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/cxx/cxx_guards.cpp
+
+
+ build/ide/esp_idf_components/esp-tls/esp_tls.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp-tls/esp_tls.c
+
+
+ build/ide/esp_idf_components/esp-tls/esp_tls_error_capture.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp-tls/esp_tls_error_capture.c
+
+
+ build/ide/esp_idf_components/esp-tls/esp_tls_mbedtls.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp-tls/esp_tls_mbedtls.c
+
+
+ build/ide/esp_idf_components/esp_adc/adc_cali.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_adc/adc_cali.c
+
+
+ build/ide/esp_idf_components/esp_adc/adc_cali_curve_fitting.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_adc/adc_cali_curve_fitting.c
+
+
+ build/ide/esp_idf_components/esp_adc/adc_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_adc/adc_common.c
+
+
+ build/ide/esp_idf_components/esp_adc/adc_continuous.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_adc/adc_continuous.c
+
+
+ build/ide/esp_idf_components/esp_adc/adc_oneshot.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_adc/adc_oneshot.c
+
+
+ build/ide/esp_idf_components/esp_app_format/esp_app_desc.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_app_format/esp_app_desc.c
+
+
+ build/ide/esp_idf_components/esp_event/default_event_loop.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_event/default_event_loop.c
+
+
+ build/ide/esp_idf_components/esp_event/esp_event.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_event/esp_event.c
+
+
+ build/ide/esp_idf_components/esp_event/esp_event_private.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_event/esp_event_private.c
+
+
+ build/ide/esp_idf_components/esp_http_client/esp_http_client.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_http_client/esp_http_client.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/adc_share_hw_ctrl.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/adc_share_hw_ctrl.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/clk_ctrl_os.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/clk_ctrl_os.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/cpu.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/cpu.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/esp_clk.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/esp_clk.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/esp_gpio_reserve.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/esp_gpio_reserve.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/esp_memory_utils.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/esp_memory_utils.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/hw_random.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/hw_random.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/intr_alloc.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/intr_alloc.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/mac_addr.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/mac_addr.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/periph_ctrl.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/periph_ctrl.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/regi2c_ctrl.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/regi2c_ctrl.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/rtc_module.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/rtc_module.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/rtc_wdt.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/rtc_wdt.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/sar_periph_ctrl_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/sar_periph_ctrl_common.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/sleep_gpio.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/sleep_gpio.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/sleep_modem.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/sleep_modem.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/sleep_modes.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/sleep_modes.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/sleep_wake_stub.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/sleep_wake_stub.c
+
+
+ build/ide/esp_idf_components/esp_mm/cache_esp32.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_mm/cache_esp32.c
+
+
+ build/ide/esp_idf_components/esp_mm/esp_cache.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_mm/esp_cache.c
+
+
+ build/ide/esp_idf_components/esp_mm/esp_mmu_map.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_mm/esp_mmu_map.c
+
+
+ build/ide/esp_idf_components/esp_netif/esp_netif_defaults.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_netif/esp_netif_defaults.c
+
+
+ build/ide/esp_idf_components/esp_netif/esp_netif_handlers.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_netif/esp_netif_handlers.c
+
+
+ build/ide/esp_idf_components/esp_netif/esp_netif_objects.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_netif/esp_netif_objects.c
+
+
+ build/ide/esp_idf_components/esp_partition/partition.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_partition/partition.c
+
+
+ build/ide/esp_idf_components/esp_partition/partition_target.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_partition/partition_target.c
+
+
+ build/ide/esp_idf_components/esp_pm/pm_impl.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_pm/pm_impl.c
+
+
+ build/ide/esp_idf_components/esp_pm/pm_locks.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_pm/pm_locks.c
+
+
+ build/ide/esp_idf_components/esp_pm/pm_trace.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_pm/pm_trace.c
+
+
+ build/ide/esp_idf_components/esp_ringbuf/ringbuf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_ringbuf/ringbuf.c
+
+
+ build/ide/esp_idf_components/esp_system/crosscore_int.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/crosscore_int.c
+
+
+ build/ide/esp_idf_components/esp_system/debug_stubs.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/debug_stubs.c
+
+
+ build/ide/esp_idf_components/esp_system/esp_err.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/esp_err.c
+
+
+ build/ide/esp_idf_components/esp_system/esp_ipc.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/esp_ipc.c
+
+
+ build/ide/esp_idf_components/esp_system/esp_system.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/esp_system.c
+
+
+ build/ide/esp_idf_components/esp_system/freertos_hooks.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/freertos_hooks.c
+
+
+ build/ide/esp_idf_components/esp_system/int_wdt.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/int_wdt.c
+
+
+ build/ide/esp_idf_components/esp_system/panic.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/panic.c
+
+
+ build/ide/esp_idf_components/esp_system/stack_check.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/stack_check.c
+
+
+ build/ide/esp_idf_components/esp_system/startup.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/startup.c
+
+
+ build/ide/esp_idf_components/esp_system/system_time.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/system_time.c
+
+
+ build/ide/esp_idf_components/esp_system/ubsan.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/ubsan.c
+
+
+ build/ide/esp_idf_components/esp_system/xt_wdt.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/xt_wdt.c
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-openocd.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-openocd.c
+
+
+ build/ide/esp_idf_components/freertos/app_startup.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/app_startup.c
+
+
+ build/ide/esp_idf_components/freertos/heap_idf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/heap_idf.c
+
+
+ build/ide/esp_idf_components/freertos/port_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/port_common.c
+
+
+ build/ide/esp_idf_components/hal/adc_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/adc_hal.c
+
+
+ build/ide/esp_idf_components/hal/adc_hal_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/adc_hal_common.c
+
+
+ build/ide/esp_idf_components/hal/adc_oneshot_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/adc_oneshot_hal.c
+
+
+ build/ide/esp_idf_components/hal/aes_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/aes_hal.c
+
+
+ build/ide/esp_idf_components/hal/brownout_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/brownout_hal.c
+
+
+ build/ide/esp_idf_components/hal/efuse_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/efuse_hal.c
+
+
+ build/ide/esp_idf_components/hal/emac_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/emac_hal.c
+
+
+ build/ide/esp_idf_components/hal/gpio_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/gpio_hal.c
+
+
+ build/ide/esp_idf_components/hal/i2c_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/i2c_hal.c
+
+
+ build/ide/esp_idf_components/hal/i2c_hal_iram.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/i2c_hal_iram.c
+
+
+ build/ide/esp_idf_components/hal/i2s_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/i2s_hal.c
+
+
+ build/ide/esp_idf_components/hal/ledc_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/ledc_hal.c
+
+
+ build/ide/esp_idf_components/hal/ledc_hal_iram.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/ledc_hal_iram.c
+
+
+ build/ide/esp_idf_components/hal/mcpwm_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/mcpwm_hal.c
+
+
+ build/ide/esp_idf_components/hal/mmu_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/mmu_hal.c
+
+
+ build/ide/esp_idf_components/hal/mpu_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/mpu_hal.c
+
+
+ build/ide/esp_idf_components/hal/pcnt_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/pcnt_hal.c
+
+
+ build/ide/esp_idf_components/hal/rmt_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/rmt_hal.c
+
+
+ build/ide/esp_idf_components/hal/rtc_io_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/rtc_io_hal.c
+
+
+ build/ide/esp_idf_components/hal/sdio_slave_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/sdio_slave_hal.c
+
+
+ build/ide/esp_idf_components/hal/sdm_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/sdm_hal.c
+
+
+ build/ide/esp_idf_components/hal/sha_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/sha_hal.c
+
+
+ build/ide/esp_idf_components/hal/spi_flash_encrypt_hal_iram.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/spi_flash_encrypt_hal_iram.c
+
+
+ build/ide/esp_idf_components/hal/spi_flash_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/spi_flash_hal.c
+
+
+ build/ide/esp_idf_components/hal/spi_flash_hal_iram.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/spi_flash_hal_iram.c
+
+
+ build/ide/esp_idf_components/hal/spi_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/spi_hal.c
+
+
+ build/ide/esp_idf_components/hal/spi_hal_iram.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/spi_hal_iram.c
+
+
+ build/ide/esp_idf_components/hal/spi_slave_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/spi_slave_hal.c
+
+
+ build/ide/esp_idf_components/hal/spi_slave_hal_iram.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/spi_slave_hal_iram.c
+
+
+ build/ide/esp_idf_components/hal/timer_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/timer_hal.c
+
+
+ build/ide/esp_idf_components/hal/timer_hal_iram.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/timer_hal_iram.c
+
+
+ build/ide/esp_idf_components/hal/touch_sensor_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/touch_sensor_hal.c
+
+
+ build/ide/esp_idf_components/hal/twai_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/twai_hal.c
+
+
+ build/ide/esp_idf_components/hal/twai_hal_iram.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/twai_hal_iram.c
+
+
+ build/ide/esp_idf_components/hal/uart_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/uart_hal.c
+
+
+ build/ide/esp_idf_components/hal/uart_hal_iram.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/uart_hal_iram.c
+
+
+ build/ide/esp_idf_components/hal/wdt_hal_iram.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/wdt_hal_iram.c
+
+
+ build/ide/esp_idf_components/heap/heap_caps.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/heap/heap_caps.c
+
+
+ build/ide/esp_idf_components/heap/heap_caps_init.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/heap/heap_caps_init.c
+
+
+ build/ide/esp_idf_components/heap/multi_heap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/heap/multi_heap.c
+
+
+ build/ide/esp_idf_components/http_parser/http_parser.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/http_parser/http_parser.c
+
+
+ build/ide/esp_idf_components/log/log.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/log/log.c
+
+
+ build/ide/esp_idf_components/log/log_buffers.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/log/log_buffers.c
+
+
+ build/ide/esp_idf_components/log/log_freertos.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/log/log_freertos.c
+
+
+ build/ide/esp_idf_components/newlib/abort.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/abort.c
+
+
+ build/ide/esp_idf_components/newlib/assert.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/assert.c
+
+
+ build/ide/esp_idf_components/newlib/heap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/heap.c
+
+
+ build/ide/esp_idf_components/newlib/locks.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/locks.c
+
+
+ build/ide/esp_idf_components/newlib/newlib_init.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/newlib_init.c
+
+
+ build/ide/esp_idf_components/newlib/poll.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/poll.c
+
+
+ build/ide/esp_idf_components/newlib/pthread.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/pthread.c
+
+
+ build/ide/esp_idf_components/newlib/random.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/random.c
+
+
+ build/ide/esp_idf_components/newlib/realpath.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/realpath.c
+
+
+ build/ide/esp_idf_components/newlib/reent_init.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/reent_init.c
+
+
+ build/ide/esp_idf_components/newlib/stdatomic.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/stdatomic.c
+
+
+ build/ide/esp_idf_components/newlib/syscalls.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/syscalls.c
+
+
+ build/ide/esp_idf_components/newlib/sysconf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/sysconf.c
+
+
+ build/ide/esp_idf_components/newlib/termios.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/termios.c
+
+
+ build/ide/esp_idf_components/newlib/time.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/time.c
+
+
+ build/ide/esp_idf_components/perfmon/xtensa_perfmon_access.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/perfmon/xtensa_perfmon_access.c
+
+
+ build/ide/esp_idf_components/perfmon/xtensa_perfmon_apis.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/perfmon/xtensa_perfmon_apis.c
+
+
+ build/ide/esp_idf_components/perfmon/xtensa_perfmon_masks.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/perfmon/xtensa_perfmon_masks.c
+
+
+ build/ide/esp_idf_components/pthread/pthread.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/pthread/pthread.c
+
+
+ build/ide/esp_idf_components/pthread/pthread_cond_var.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/pthread/pthread_cond_var.c
+
+
+ build/ide/esp_idf_components/pthread/pthread_local_storage.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/pthread/pthread_local_storage.c
+
+
+ build/ide/esp_idf_components/pthread/pthread_rwlock.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/pthread/pthread_rwlock.c
+
+
+ build/ide/esp_idf_components/pthread/pthread_semaphore.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/pthread/pthread_semaphore.c
+
+
+ build/ide/esp_idf_components/sdmmc/sdmmc_cmd.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/sdmmc/sdmmc_cmd.c
+
+
+ build/ide/esp_idf_components/sdmmc/sdmmc_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/sdmmc/sdmmc_common.c
+
+
+ build/ide/esp_idf_components/sdmmc/sdmmc_init.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/sdmmc/sdmmc_init.c
+
+
+ build/ide/esp_idf_components/sdmmc/sdmmc_io.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/sdmmc/sdmmc_io.c
+
+
+ build/ide/esp_idf_components/sdmmc/sdmmc_mmc.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/sdmmc/sdmmc_mmc.c
+
+
+ build/ide/esp_idf_components/sdmmc/sdmmc_sd.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/sdmmc/sdmmc_sd.c
+
+
+ build/ide/esp_idf_components/soc/dport_access_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/dport_access_common.c
+
+
+ build/ide/esp_idf_components/soc/lldesc.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/lldesc.c
+
+
+ build/ide/esp_idf_components/spi_flash/cache_utils.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/cache_utils.c
+
+
+ build/ide/esp_idf_components/spi_flash/esp_flash_api.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/esp_flash_api.c
+
+
+ build/ide/esp_idf_components/spi_flash/esp_flash_spi_init.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/esp_flash_spi_init.c
+
+
+ build/ide/esp_idf_components/spi_flash/flash_brownout_hook.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/flash_brownout_hook.c
+
+
+ build/ide/esp_idf_components/spi_flash/flash_mmap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/flash_mmap.c
+
+
+ build/ide/esp_idf_components/spi_flash/flash_ops.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/flash_ops.c
+
+
+ build/ide/esp_idf_components/spi_flash/memspi_host_driver.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/memspi_host_driver.c
+
+
+ build/ide/esp_idf_components/spi_flash/spi_flash_chip_boya.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/spi_flash_chip_boya.c
+
+
+ build/ide/esp_idf_components/spi_flash/spi_flash_chip_drivers.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/spi_flash_chip_drivers.c
+
+
+ build/ide/esp_idf_components/spi_flash/spi_flash_chip_gd.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/spi_flash_chip_gd.c
+
+
+ build/ide/esp_idf_components/spi_flash/spi_flash_chip_generic.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/spi_flash_chip_generic.c
+
+
+ build/ide/esp_idf_components/spi_flash/spi_flash_chip_issi.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/spi_flash_chip_issi.c
+
+
+ build/ide/esp_idf_components/spi_flash/spi_flash_chip_mxic.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/spi_flash_chip_mxic.c
+
+
+ build/ide/esp_idf_components/spi_flash/spi_flash_chip_mxic_opi.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/spi_flash_chip_mxic_opi.c
+
+
+ build/ide/esp_idf_components/spi_flash/spi_flash_chip_th.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/spi_flash_chip_th.c
+
+
+ build/ide/esp_idf_components/spi_flash/spi_flash_chip_winbond.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/spi_flash_chip_winbond.c
+
+
+ build/ide/esp_idf_components/spi_flash/spi_flash_os_func_app.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/spi_flash_os_func_app.c
+
+
+ build/ide/esp_idf_components/spi_flash/spi_flash_os_func_noos.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/spi_flash_os_func_noos.c
+
+
+ build/ide/esp_idf_components/spi_flash/spi_flash_wrap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spi_flash/spi_flash_wrap.c
+
+
+ build/ide/esp_idf_components/spiffs/esp_spiffs.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spiffs/esp_spiffs.c
+
+
+ build/ide/esp_idf_components/spiffs/spiffs_api.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spiffs/spiffs_api.c
+
+
+ build/ide/esp_idf_components/tcp_transport/transport.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/tcp_transport/transport.c
+
+
+ build/ide/esp_idf_components/tcp_transport/transport_internal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/tcp_transport/transport_internal.c
+
+
+ build/ide/esp_idf_components/tcp_transport/transport_socks_proxy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/tcp_transport/transport_socks_proxy.c
+
+
+ build/ide/esp_idf_components/tcp_transport/transport_ssl.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/tcp_transport/transport_ssl.c
+
+
+ build/ide/esp_idf_components/tcp_transport/transport_ws.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/tcp_transport/transport_ws.c
+
+
+ build/ide/esp_idf_components/unity/unity_port_esp32.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/unity/unity_port_esp32.c
+
+
+ build/ide/esp_idf_components/unity/unity_runner.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/unity/unity_runner.c
+
+
+ build/ide/esp_idf_components/unity/unity_utils_cache.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/unity/unity_utils_cache.c
+
+
+ build/ide/esp_idf_components/unity/unity_utils_freertos.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/unity/unity_utils_freertos.c
+
+
+ build/ide/esp_idf_components/unity/unity_utils_memory.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/unity/unity_utils_memory.c
+
+
+ build/ide/esp_idf_components/vfs/vfs.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/vfs/vfs.c
+
+
+ build/ide/esp_idf_components/vfs/vfs_console.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/vfs/vfs_console.c
+
+
+ build/ide/esp_idf_components/vfs/vfs_eventfd.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/vfs/vfs_eventfd.c
+
+
+ build/ide/esp_idf_components/vfs/vfs_semihost.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/vfs/vfs_semihost.c
+
+
+ build/ide/esp_idf_components/vfs/vfs_uart.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/vfs/vfs_uart.c
+
+
+ build/ide/esp_idf_components/wear_levelling/Partition.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wear_levelling/Partition.cpp
+
+
+ build/ide/esp_idf_components/wear_levelling/SPI_Flash.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wear_levelling/SPI_Flash.cpp
+
+
+ build/ide/esp_idf_components/wear_levelling/WL_Ext_Perf.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wear_levelling/WL_Ext_Perf.cpp
+
+
+ build/ide/esp_idf_components/wear_levelling/WL_Ext_Safe.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wear_levelling/WL_Ext_Safe.cpp
+
+
+ build/ide/esp_idf_components/wear_levelling/WL_Flash.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wear_levelling/WL_Flash.cpp
+
+
+ build/ide/esp_idf_components/wear_levelling/crc32.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wear_levelling/crc32.cpp
+
+
+ build/ide/esp_idf_components/wear_levelling/wear_levelling.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wear_levelling/wear_levelling.cpp
+
+
+ build/ide/esp_idf_components/xtensa/eri.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/xtensa/eri.c
+
+
+ build/ide/esp_idf_components/xtensa/xt_trax.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/xtensa/xt_trax.c
+
+
+ build/ide/esp_idf_components/xtensa/xtensa_intr.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/xtensa/xtensa_intr.c
+
+
+ build/ide/esp_idf_components/xtensa/xtensa_intr_asm.S
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/xtensa/xtensa_intr_asm.S
+
+
+ build/ide/esp_idf_components/app_trace/port/port_uart.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/app_trace/port/port_uart.c
+
+
+ build/ide/esp_idf_components/bootloader_support/src/bootloader_clock_init.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/src/bootloader_clock_init.c
+
+
+ build/ide/esp_idf_components/bootloader_support/src/bootloader_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/src/bootloader_common.c
+
+
+ build/ide/esp_idf_components/bootloader_support/src/bootloader_common_loader.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/src/bootloader_common_loader.c
+
+
+ build/ide/esp_idf_components/bootloader_support/src/bootloader_efuse.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/src/bootloader_efuse.c
+
+
+ build/ide/esp_idf_components/bootloader_support/src/bootloader_mem.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/src/bootloader_mem.c
+
+
+ build/ide/esp_idf_components/bootloader_support/src/bootloader_random.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/src/bootloader_random.c
+
+
+ build/ide/esp_idf_components/bootloader_support/src/bootloader_random_esp32.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/src/bootloader_random_esp32.c
+
+
+ build/ide/esp_idf_components/bootloader_support/src/bootloader_utility.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/src/bootloader_utility.c
+
+
+ build/ide/esp_idf_components/bootloader_support/src/esp_image_format.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/src/esp_image_format.c
+
+
+ build/ide/esp_idf_components/bootloader_support/src/flash_encrypt.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/src/flash_encrypt.c
+
+
+ build/ide/esp_idf_components/bootloader_support/src/flash_partitions.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/src/flash_partitions.c
+
+
+ build/ide/esp_idf_components/bootloader_support/src/secure_boot.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/src/secure_boot.c
+
+
+ build/ide/esp_idf_components/console/argtable3/arg_cmd.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/arg_cmd.c
+
+
+ build/ide/esp_idf_components/console/argtable3/arg_date.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/arg_date.c
+
+
+ build/ide/esp_idf_components/console/argtable3/arg_dbl.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/arg_dbl.c
+
+
+ build/ide/esp_idf_components/console/argtable3/arg_dstr.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/arg_dstr.c
+
+
+ build/ide/esp_idf_components/console/argtable3/arg_end.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/arg_end.c
+
+
+ build/ide/esp_idf_components/console/argtable3/arg_file.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/arg_file.c
+
+
+ build/ide/esp_idf_components/console/argtable3/arg_hashtable.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/arg_hashtable.c
+
+
+ build/ide/esp_idf_components/console/argtable3/arg_int.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/arg_int.c
+
+
+ build/ide/esp_idf_components/console/argtable3/arg_lit.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/arg_lit.c
+
+
+ build/ide/esp_idf_components/console/argtable3/arg_rem.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/arg_rem.c
+
+
+ build/ide/esp_idf_components/console/argtable3/arg_rex.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/arg_rex.c
+
+
+ build/ide/esp_idf_components/console/argtable3/arg_str.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/arg_str.c
+
+
+ build/ide/esp_idf_components/console/argtable3/arg_utils.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/arg_utils.c
+
+
+ build/ide/esp_idf_components/console/argtable3/argtable3.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/argtable3/argtable3.c
+
+
+ build/ide/esp_idf_components/console/linenoise/linenoise.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/console/linenoise/linenoise.c
+
+
+ build/ide/esp_idf_components/driver/dac/dac_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/dac/dac_common.c
+
+
+ build/ide/esp_idf_components/driver/dac/dac_continuous.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/dac/dac_continuous.c
+
+
+ build/ide/esp_idf_components/driver/dac/dac_cosine.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/dac/dac_cosine.c
+
+
+ build/ide/esp_idf_components/driver/dac/dac_oneshot.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/dac/dac_oneshot.c
+
+
+ build/ide/esp_idf_components/driver/deprecated/adc_dma_legacy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/deprecated/adc_dma_legacy.c
+
+
+ build/ide/esp_idf_components/driver/deprecated/adc_i2s_deprecated.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/deprecated/adc_i2s_deprecated.c
+
+
+ build/ide/esp_idf_components/driver/deprecated/adc_legacy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/deprecated/adc_legacy.c
+
+
+ build/ide/esp_idf_components/driver/deprecated/dac_common_legacy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/deprecated/dac_common_legacy.c
+
+
+ build/ide/esp_idf_components/driver/deprecated/i2s_legacy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/deprecated/i2s_legacy.c
+
+
+ build/ide/esp_idf_components/driver/deprecated/mcpwm_legacy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/deprecated/mcpwm_legacy.c
+
+
+ build/ide/esp_idf_components/driver/deprecated/pcnt_legacy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/deprecated/pcnt_legacy.c
+
+
+ build/ide/esp_idf_components/driver/deprecated/rmt_legacy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/deprecated/rmt_legacy.c
+
+
+ build/ide/esp_idf_components/driver/deprecated/sigma_delta_legacy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/deprecated/sigma_delta_legacy.c
+
+
+ build/ide/esp_idf_components/driver/deprecated/timer_legacy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/deprecated/timer_legacy.c
+
+
+ build/ide/esp_idf_components/driver/gpio/gpio.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/gpio/gpio.c
+
+
+ build/ide/esp_idf_components/driver/gpio/gpio_glitch_filter_ops.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/gpio/gpio_glitch_filter_ops.c
+
+
+ build/ide/esp_idf_components/driver/gpio/rtc_io.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/gpio/rtc_io.c
+
+
+ build/ide/esp_idf_components/driver/gptimer/gptimer.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/gptimer/gptimer.c
+
+
+ build/ide/esp_idf_components/driver/gptimer/gptimer_priv.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/gptimer/gptimer_priv.c
+
+
+ build/ide/esp_idf_components/driver/i2c/i2c.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/i2c/i2c.c
+
+
+ build/ide/esp_idf_components/driver/i2s/i2s_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/i2s/i2s_common.c
+
+
+ build/ide/esp_idf_components/driver/i2s/i2s_pdm.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/i2s/i2s_pdm.c
+
+
+ build/ide/esp_idf_components/driver/i2s/i2s_std.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/i2s/i2s_std.c
+
+
+ build/ide/esp_idf_components/driver/ledc/ledc.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/ledc/ledc.c
+
+
+ build/ide/esp_idf_components/driver/mcpwm/mcpwm_cap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/mcpwm/mcpwm_cap.c
+
+
+ build/ide/esp_idf_components/driver/mcpwm/mcpwm_cmpr.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/mcpwm/mcpwm_cmpr.c
+
+
+ build/ide/esp_idf_components/driver/mcpwm/mcpwm_com.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/mcpwm/mcpwm_com.c
+
+
+ build/ide/esp_idf_components/driver/mcpwm/mcpwm_fault.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/mcpwm/mcpwm_fault.c
+
+
+ build/ide/esp_idf_components/driver/mcpwm/mcpwm_gen.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/mcpwm/mcpwm_gen.c
+
+
+ build/ide/esp_idf_components/driver/mcpwm/mcpwm_oper.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/mcpwm/mcpwm_oper.c
+
+
+ build/ide/esp_idf_components/driver/mcpwm/mcpwm_sync.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/mcpwm/mcpwm_sync.c
+
+
+ build/ide/esp_idf_components/driver/mcpwm/mcpwm_timer.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/mcpwm/mcpwm_timer.c
+
+
+ build/ide/esp_idf_components/driver/pcnt/pulse_cnt.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/pcnt/pulse_cnt.c
+
+
+ build/ide/esp_idf_components/driver/rmt/rmt_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/rmt/rmt_common.c
+
+
+ build/ide/esp_idf_components/driver/rmt/rmt_encoder.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/rmt/rmt_encoder.c
+
+
+ build/ide/esp_idf_components/driver/rmt/rmt_rx.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/rmt/rmt_rx.c
+
+
+ build/ide/esp_idf_components/driver/rmt/rmt_tx.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/rmt/rmt_tx.c
+
+
+ build/ide/esp_idf_components/driver/sdio_slave/sdio_slave.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/sdio_slave/sdio_slave.c
+
+
+ build/ide/esp_idf_components/driver/sdmmc/sdmmc_host.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/sdmmc/sdmmc_host.c
+
+
+ build/ide/esp_idf_components/driver/sdmmc/sdmmc_transaction.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/sdmmc/sdmmc_transaction.c
+
+
+ build/ide/esp_idf_components/driver/sigma_delta/sdm.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/sigma_delta/sdm.c
+
+
+ build/ide/esp_idf_components/driver/spi/spi_bus_lock.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/spi/spi_bus_lock.c
+
+
+ build/ide/esp_idf_components/driver/touch_sensor/touch_sensor_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/touch_sensor/touch_sensor_common.c
+
+
+ build/ide/esp_idf_components/driver/twai/twai.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/twai/twai.c
+
+
+ build/ide/esp_idf_components/driver/uart/uart.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/uart/uart.c
+
+
+ build/ide/esp_idf_components/efuse/esp32/esp_efuse_fields.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/efuse/esp32/esp_efuse_fields.c
+
+
+ build/ide/esp_idf_components/efuse/esp32/esp_efuse_table.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/efuse/esp32/esp_efuse_table.c
+
+
+ build/ide/esp_idf_components/efuse/esp32/esp_efuse_utility.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/efuse/esp32/esp_efuse_utility.c
+
+
+ build/ide/esp_idf_components/efuse/src/esp_efuse_api.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/efuse/src/esp_efuse_api.c
+
+
+ build/ide/esp_idf_components/efuse/src/esp_efuse_fields.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/efuse/src/esp_efuse_fields.c
+
+
+ build/ide/esp_idf_components/efuse/src/esp_efuse_utility.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/efuse/src/esp_efuse_utility.c
+
+
+ build/ide/esp_idf_components/esp-tls/esp-tls-crypto/esp_tls_crypto.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp-tls/esp-tls-crypto/esp_tls_crypto.c
+
+
+ build/ide/esp_idf_components/esp_adc/deprecated/esp_adc_cal_common_legacy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_adc/deprecated/esp_adc_cal_common_legacy.c
+
+
+ build/ide/esp_idf_components/esp_adc/esp32/adc_cali_line_fitting.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_adc/esp32/adc_cali_line_fitting.c
+
+
+ build/ide/esp_idf_components/esp_coex/esp32/esp_coex_adapter.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_coex/esp32/esp_coex_adapter.c
+
+
+ build/ide/esp_idf_components/esp_common/src/esp_err_to_name.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_common/src/esp_err_to_name.c
+
+
+ build/ide/esp_idf_components/esp_eth/src/esp_eth.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_eth/src/esp_eth.c
+
+
+ build/ide/esp_idf_components/esp_eth/src/esp_eth_mac_esp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_eth/src/esp_eth_mac_esp.c
+
+
+ build/ide/esp_idf_components/esp_eth/src/esp_eth_netif_glue.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_eth/src/esp_eth_netif_glue.c
+
+
+ build/ide/esp_idf_components/esp_eth/src/esp_eth_phy_802_3.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_eth/src/esp_eth_phy_802_3.c
+
+
+ build/ide/esp_idf_components/esp_eth/src/esp_eth_phy_dp83848.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_eth/src/esp_eth_phy_dp83848.c
+
+
+ build/ide/esp_idf_components/esp_eth/src/esp_eth_phy_ip101.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_eth/src/esp_eth_phy_ip101.c
+
+
+ build/ide/esp_idf_components/esp_eth/src/esp_eth_phy_ksz80xx.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_eth/src/esp_eth_phy_ksz80xx.c
+
+
+ build/ide/esp_idf_components/esp_eth/src/esp_eth_phy_lan87xx.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_eth/src/esp_eth_phy_lan87xx.c
+
+
+ build/ide/esp_idf_components/esp_eth/src/esp_eth_phy_rtl8201.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_eth/src/esp_eth_phy_rtl8201.c
+
+
+ build/ide/esp_idf_components/esp_gdbstub/src/gdbstub.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_gdbstub/src/gdbstub.c
+
+
+ build/ide/esp_idf_components/esp_gdbstub/src/gdbstub_transport.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_gdbstub/src/gdbstub_transport.c
+
+
+ build/ide/esp_idf_components/esp_gdbstub/src/packet.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_gdbstub/src/packet.c
+
+
+ build/ide/esp_idf_components/esp_hid/src/esp_hid_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hid/src/esp_hid_common.c
+
+
+ build/ide/esp_idf_components/esp_hid/src/esp_hidd.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hid/src/esp_hidd.c
+
+
+ build/ide/esp_idf_components/esp_hid/src/esp_hidh.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hid/src/esp_hidh.c
+
+
+ build/ide/esp_idf_components/esp_http_client/lib/http_auth.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_http_client/lib/http_auth.c
+
+
+ build/ide/esp_idf_components/esp_http_client/lib/http_header.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_http_client/lib/http_header.c
+
+
+ build/ide/esp_idf_components/esp_http_client/lib/http_utils.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_http_client/lib/http_utils.c
+
+
+ build/ide/esp_idf_components/esp_http_server/src/httpd_main.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_http_server/src/httpd_main.c
+
+
+ build/ide/esp_idf_components/esp_http_server/src/httpd_parse.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_http_server/src/httpd_parse.c
+
+
+ build/ide/esp_idf_components/esp_http_server/src/httpd_sess.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_http_server/src/httpd_sess.c
+
+
+ build/ide/esp_idf_components/esp_http_server/src/httpd_txrx.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_http_server/src/httpd_txrx.c
+
+
+ build/ide/esp_idf_components/esp_http_server/src/httpd_uri.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_http_server/src/httpd_uri.c
+
+
+ build/ide/esp_idf_components/esp_http_server/src/httpd_ws.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_http_server/src/httpd_ws.c
+
+
+ build/ide/esp_idf_components/esp_https_ota/src/esp_https_ota.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_https_ota/src/esp_https_ota.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/port/esp_clk_tree_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/port/esp_clk_tree_common.c
+
+
+ build/ide/esp_idf_components/esp_lcd/src/esp_lcd_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_lcd/src/esp_lcd_common.c
+
+
+ build/ide/esp_idf_components/esp_lcd/src/esp_lcd_panel_io.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_lcd/src/esp_lcd_panel_io.c
+
+
+ build/ide/esp_idf_components/esp_lcd/src/esp_lcd_panel_io_i2c.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_lcd/src/esp_lcd_panel_io_i2c.c
+
+
+ build/ide/esp_idf_components/esp_lcd/src/esp_lcd_panel_io_i2s.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_lcd/src/esp_lcd_panel_io_i2s.c
+
+
+ build/ide/esp_idf_components/esp_lcd/src/esp_lcd_panel_io_spi.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_lcd/src/esp_lcd_panel_io_spi.c
+
+
+ build/ide/esp_idf_components/esp_lcd/src/esp_lcd_panel_nt35510.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_lcd/src/esp_lcd_panel_nt35510.c
+
+
+ build/ide/esp_idf_components/esp_lcd/src/esp_lcd_panel_ops.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_lcd/src/esp_lcd_panel_ops.c
+
+
+ build/ide/esp_idf_components/esp_lcd/src/esp_lcd_panel_ssd1306.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_lcd/src/esp_lcd_panel_ssd1306.c
+
+
+ build/ide/esp_idf_components/esp_lcd/src/esp_lcd_panel_st7789.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_lcd/src/esp_lcd_panel_st7789.c
+
+
+ build/ide/esp_idf_components/esp_local_ctrl/proto-c/esp_local_ctrl.pb-c.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_local_ctrl/proto-c/esp_local_ctrl.pb-c.c
+
+
+ build/ide/esp_idf_components/esp_local_ctrl/src/esp_local_ctrl.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_local_ctrl/src/esp_local_ctrl.c
+
+
+ build/ide/esp_idf_components/esp_local_ctrl/src/esp_local_ctrl_handler.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_local_ctrl/src/esp_local_ctrl_handler.c
+
+
+ build/ide/esp_idf_components/esp_local_ctrl/src/esp_local_ctrl_transport_httpd.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_local_ctrl/src/esp_local_ctrl_transport_httpd.c
+
+
+ build/ide/esp_idf_components/esp_netif/lwip/esp_netif_lwip.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_netif/lwip/esp_netif_lwip.c
+
+
+ build/ide/esp_idf_components/esp_netif/lwip/esp_netif_lwip_defaults.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_netif/lwip/esp_netif_lwip_defaults.c
+
+
+ build/ide/esp_idf_components/esp_netif/lwip/esp_netif_sntp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_netif/lwip/esp_netif_sntp.c
+
+
+ build/ide/esp_idf_components/esp_phy/src/btbb_init.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_phy/src/btbb_init.c
+
+
+ build/ide/esp_idf_components/esp_phy/src/lib_printf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_phy/src/lib_printf.c
+
+
+ build/ide/esp_idf_components/esp_phy/src/phy_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_phy/src/phy_common.c
+
+
+ build/ide/esp_idf_components/esp_phy/src/phy_init.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_phy/src/phy_init.c
+
+
+ build/ide/esp_idf_components/esp_phy/src/phy_override.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_phy/src/phy_override.c
+
+
+ build/ide/esp_idf_components/esp_rom/patches/esp_rom_crc.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_rom/patches/esp_rom_crc.c
+
+
+ build/ide/esp_idf_components/esp_rom/patches/esp_rom_efuse.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_rom/patches/esp_rom_efuse.c
+
+
+ build/ide/esp_idf_components/esp_rom/patches/esp_rom_longjmp.S
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_rom/patches/esp_rom_longjmp.S
+
+
+ build/ide/esp_idf_components/esp_rom/patches/esp_rom_spiflash.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_rom/patches/esp_rom_spiflash.c
+
+
+ build/ide/esp_idf_components/esp_rom/patches/esp_rom_sys.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_rom/patches/esp_rom_sys.c
+
+
+ build/ide/esp_idf_components/esp_rom/patches/esp_rom_uart.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_rom/patches/esp_rom_uart.c
+
+
+ build/ide/esp_idf_components/esp_system/port/brownout.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/brownout.c
+
+
+ build/ide/esp_idf_components/esp_system/port/cpu_start.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/cpu_start.c
+
+
+ build/ide/esp_idf_components/esp_system/port/esp_system_chip.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/esp_system_chip.c
+
+
+ build/ide/esp_idf_components/esp_system/port/panic_handler.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/panic_handler.c
+
+
+ build/ide/esp_idf_components/esp_system/task_wdt/task_wdt.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/task_wdt/task_wdt.c
+
+
+ build/ide/esp_idf_components/esp_system/task_wdt/task_wdt_impl_timergroup.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/task_wdt/task_wdt_impl_timergroup.c
+
+
+ build/ide/esp_idf_components/esp_timer/src/esp_timer.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_timer/src/esp_timer.c
+
+
+ build/ide/esp_idf_components/esp_timer/src/esp_timer_impl_lac.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_timer/src/esp_timer_impl_lac.c
+
+
+ build/ide/esp_idf_components/esp_timer/src/ets_timer_legacy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_timer/src/ets_timer_legacy.c
+
+
+ build/ide/esp_idf_components/esp_timer/src/system_time.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_timer/src/system_time.c
+
+
+ build/ide/esp_idf_components/esp_wifi/esp32/esp_adapter.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_wifi/esp32/esp_adapter.c
+
+
+ build/ide/esp_idf_components/esp_wifi/src/mesh_event.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_wifi/src/mesh_event.c
+
+
+ build/ide/esp_idf_components/esp_wifi/src/smartconfig.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_wifi/src/smartconfig.c
+
+
+ build/ide/esp_idf_components/esp_wifi/src/smartconfig_ack.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_wifi/src/smartconfig_ack.c
+
+
+ build/ide/esp_idf_components/esp_wifi/src/wifi_default.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_wifi/src/wifi_default.c
+
+
+ build/ide/esp_idf_components/esp_wifi/src/wifi_default_ap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_wifi/src/wifi_default_ap.c
+
+
+ build/ide/esp_idf_components/esp_wifi/src/wifi_init.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_wifi/src/wifi_init.c
+
+
+ build/ide/esp_idf_components/esp_wifi/src/wifi_netif.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_wifi/src/wifi_netif.c
+
+
+ build/ide/esp_idf_components/espcoredump/src/core_dump_binary.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/espcoredump/src/core_dump_binary.c
+
+
+ build/ide/esp_idf_components/espcoredump/src/core_dump_checksum.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/espcoredump/src/core_dump_checksum.c
+
+
+ build/ide/esp_idf_components/espcoredump/src/core_dump_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/espcoredump/src/core_dump_common.c
+
+
+ build/ide/esp_idf_components/espcoredump/src/core_dump_elf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/espcoredump/src/core_dump_elf.c
+
+
+ build/ide/esp_idf_components/espcoredump/src/core_dump_flash.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/espcoredump/src/core_dump_flash.c
+
+
+ build/ide/esp_idf_components/espcoredump/src/core_dump_uart.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/espcoredump/src/core_dump_uart.c
+
+
+ build/ide/esp_idf_components/fatfs/diskio/diskio.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/fatfs/diskio/diskio.c
+
+
+ build/ide/esp_idf_components/fatfs/diskio/diskio_rawflash.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/fatfs/diskio/diskio_rawflash.c
+
+
+ build/ide/esp_idf_components/fatfs/diskio/diskio_sdmmc.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/fatfs/diskio/diskio_sdmmc.c
+
+
+ build/ide/esp_idf_components/fatfs/diskio/diskio_wl.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/fatfs/diskio/diskio_wl.c
+
+
+ build/ide/esp_idf_components/fatfs/src/ff.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/fatfs/src/ff.c
+
+
+ build/ide/esp_idf_components/fatfs/src/ffunicode.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/fatfs/src/ffunicode.c
+
+
+ build/ide/esp_idf_components/fatfs/vfs/vfs_fat.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/fatfs/vfs/vfs_fat.c
+
+
+ build/ide/esp_idf_components/fatfs/vfs/vfs_fat_sdmmc.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/fatfs/vfs/vfs_fat_sdmmc.c
+
+
+ build/ide/esp_idf_components/fatfs/vfs/vfs_fat_spiflash.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/fatfs/vfs/vfs_fat_spiflash.c
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/croutine.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/croutine.c
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/event_groups.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/event_groups.c
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/list.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/list.c
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/queue.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/queue.c
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/stream_buffer.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/stream_buffer.c
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/tasks.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/tasks.c
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/timers.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/timers.c
+
+
+ build/ide/esp_idf_components/freertos/esp_additions/freertos_v8_compat.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/esp_additions/freertos_v8_compat.c
+
+
+ build/ide/esp_idf_components/freertos/esp_additions/idf_additions.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/esp_additions/idf_additions.c
+
+
+ build/ide/esp_idf_components/hal/esp32/cache_hal_esp32.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/esp32/cache_hal_esp32.c
+
+
+ build/ide/esp_idf_components/hal/esp32/clk_tree_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/esp32/clk_tree_hal.c
+
+
+ build/ide/esp_idf_components/hal/esp32/efuse_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/esp32/efuse_hal.c
+
+
+ build/ide/esp_idf_components/hal/esp32/gpio_hal_workaround.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/esp32/gpio_hal_workaround.c
+
+
+ build/ide/esp_idf_components/hal/esp32/touch_sensor_hal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/hal/esp32/touch_sensor_hal.c
+
+
+ build/ide/esp_idf_components/heap/port/memory_layout_utils.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/heap/port/memory_layout_utils.c
+
+
+ build/ide/esp_idf_components/heap/tlsf/tlsf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/heap/tlsf/tlsf.c
+
+
+ build/ide/esp_idf_components/json/cJSON/cJSON.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/json/cJSON/cJSON.c
+
+
+ build/ide/esp_idf_components/json/cJSON/cJSON_Utils.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/json/cJSON/cJSON_Utils.c
+
+
+ build/ide/esp_idf_components/lwip/port/sockets_ext.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/port/sockets_ext.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/esp_bignum.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/esp_bignum.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/esp_hardware.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/esp_hardware.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/esp_mem.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/esp_mem.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/esp_timing.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/esp_timing.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/mbedtls_debug.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/mbedtls_debug.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/net_sockets.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/net_sockets.c
+
+
+ build/ide/esp_idf_components/mqtt/esp-mqtt/mqtt_client.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mqtt/esp-mqtt/mqtt_client.c
+
+
+ build/ide/esp_idf_components/newlib/port/esp_time_impl.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/newlib/port/esp_time_impl.c
+
+
+ build/ide/esp_idf_components/nvs_flash/src/nvs_api.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/nvs_flash/src/nvs_api.cpp
+
+
+ build/ide/esp_idf_components/nvs_flash/src/nvs_cxx_api.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/nvs_flash/src/nvs_cxx_api.cpp
+
+
+ build/ide/esp_idf_components/nvs_flash/src/nvs_handle_locked.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/nvs_flash/src/nvs_handle_locked.cpp
+
+
+ build/ide/esp_idf_components/nvs_flash/src/nvs_handle_simple.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/nvs_flash/src/nvs_handle_simple.cpp
+
+
+ build/ide/esp_idf_components/nvs_flash/src/nvs_item_hash_list.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/nvs_flash/src/nvs_item_hash_list.cpp
+
+
+ build/ide/esp_idf_components/nvs_flash/src/nvs_page.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/nvs_flash/src/nvs_page.cpp
+
+
+ build/ide/esp_idf_components/nvs_flash/src/nvs_pagemanager.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/nvs_flash/src/nvs_pagemanager.cpp
+
+
+ build/ide/esp_idf_components/nvs_flash/src/nvs_partition.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/nvs_flash/src/nvs_partition.cpp
+
+
+ build/ide/esp_idf_components/nvs_flash/src/nvs_partition_lookup.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/nvs_flash/src/nvs_partition_lookup.cpp
+
+
+ build/ide/esp_idf_components/nvs_flash/src/nvs_partition_manager.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/nvs_flash/src/nvs_partition_manager.cpp
+
+
+ build/ide/esp_idf_components/nvs_flash/src/nvs_storage.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/nvs_flash/src/nvs_storage.cpp
+
+
+ build/ide/esp_idf_components/nvs_flash/src/nvs_types.cpp
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/nvs_flash/src/nvs_types.cpp
+
+
+ build/ide/esp_idf_components/protocomm/proto-c/constants.pb-c.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protocomm/proto-c/constants.pb-c.c
+
+
+ build/ide/esp_idf_components/protocomm/proto-c/sec0.pb-c.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protocomm/proto-c/sec0.pb-c.c
+
+
+ build/ide/esp_idf_components/protocomm/proto-c/sec1.pb-c.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protocomm/proto-c/sec1.pb-c.c
+
+
+ build/ide/esp_idf_components/protocomm/proto-c/sec2.pb-c.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protocomm/proto-c/sec2.pb-c.c
+
+
+ build/ide/esp_idf_components/protocomm/proto-c/session.pb-c.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protocomm/proto-c/session.pb-c.c
+
+
+ build/ide/esp_idf_components/soc/esp32/adc_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/adc_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/dac_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/dac_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/dport_access.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/dport_access.c
+
+
+ build/ide/esp_idf_components/soc/esp32/gpio_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/gpio_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/i2c_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/i2c_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/i2s_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/i2s_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/interrupts.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/interrupts.c
+
+
+ build/ide/esp_idf_components/soc/esp32/lcd_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/lcd_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/ledc_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/ledc_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/mcpwm_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/mcpwm_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/pcnt_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/pcnt_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/rmt_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/rmt_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/rtc_io_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/rtc_io_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/sdio_slave_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/sdio_slave_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/sdm_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/sdm_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/sdmmc_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/sdmmc_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/spi_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/spi_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/timer_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/timer_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/touch_sensor_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/touch_sensor_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/twai_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/twai_periph.c
+
+
+ build/ide/esp_idf_components/soc/esp32/uart_periph.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/soc/esp32/uart_periph.c
+
+
+ build/ide/esp_idf_components/wifi_provisioning/proto-c/wifi_config.pb-c.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wifi_provisioning/proto-c/wifi_config.pb-c.c
+
+
+ build/ide/esp_idf_components/wifi_provisioning/proto-c/wifi_constants.pb-c.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wifi_provisioning/proto-c/wifi_constants.pb-c.c
+
+
+ build/ide/esp_idf_components/wifi_provisioning/proto-c/wifi_ctrl.pb-c.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wifi_provisioning/proto-c/wifi_ctrl.pb-c.c
+
+
+ build/ide/esp_idf_components/wifi_provisioning/proto-c/wifi_scan.pb-c.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wifi_provisioning/proto-c/wifi_scan.pb-c.c
+
+
+ build/ide/esp_idf_components/wifi_provisioning/src/handlers.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wifi_provisioning/src/handlers.c
+
+
+ build/ide/esp_idf_components/wifi_provisioning/src/manager.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wifi_provisioning/src/manager.c
+
+
+ build/ide/esp_idf_components/wifi_provisioning/src/scheme_console.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wifi_provisioning/src/scheme_console.c
+
+
+ build/ide/esp_idf_components/wifi_provisioning/src/scheme_softap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wifi_provisioning/src/scheme_softap.c
+
+
+ build/ide/esp_idf_components/wifi_provisioning/src/wifi_config.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wifi_provisioning/src/wifi_config.c
+
+
+ build/ide/esp_idf_components/wifi_provisioning/src/wifi_ctrl.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wifi_provisioning/src/wifi_ctrl.c
+
+
+ build/ide/esp_idf_components/wifi_provisioning/src/wifi_scan.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wifi_provisioning/src/wifi_scan.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/port/eloop.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/port/eloop.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/port/os_xtensa.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/port/os_xtensa.c
+
+
+ build/ide/esp_idf_components/bootloader_support/bootloader_flash/src/bootloader_flash.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/bootloader_flash/src/bootloader_flash.c
+
+
+ build/ide/esp_idf_components/bootloader_support/bootloader_flash/src/bootloader_flash_config_esp32.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/bootloader_flash/src/bootloader_flash_config_esp32.c
+
+
+ build/ide/esp_idf_components/bootloader_support/bootloader_flash/src/flash_qio_mode.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/bootloader_flash/src/flash_qio_mode.c
+
+
+ build/ide/esp_idf_components/bootloader_support/src/idf/bootloader_sha.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/bootloader_support/src/idf/bootloader_sha.c
+
+
+ build/ide/esp_idf_components/cmock/CMock/src/cmock.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/cmock/CMock/src/cmock.c
+
+
+ build/ide/esp_idf_components/driver/dac/esp32/dac_dma.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/dac/esp32/dac_dma.c
+
+
+ build/ide/esp_idf_components/driver/deprecated/esp32/dac_legacy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/deprecated/esp32/dac_legacy.c
+
+
+ build/ide/esp_idf_components/driver/spi/gpspi/spi_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/spi/gpspi/spi_common.c
+
+
+ build/ide/esp_idf_components/driver/spi/gpspi/spi_master.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/spi/gpspi/spi_master.c
+
+
+ build/ide/esp_idf_components/driver/spi/gpspi/spi_slave.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/spi/gpspi/spi_slave.c
+
+
+ build/ide/esp_idf_components/driver/spi/sdspi/sdspi_crc.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/spi/sdspi/sdspi_crc.c
+
+
+ build/ide/esp_idf_components/driver/spi/sdspi/sdspi_host.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/spi/sdspi/sdspi_host.c
+
+
+ build/ide/esp_idf_components/driver/spi/sdspi/sdspi_transaction.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/spi/sdspi/sdspi_transaction.c
+
+
+ build/ide/esp_idf_components/driver/touch_sensor/esp32/touch_sensor.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/driver/touch_sensor/esp32/touch_sensor.c
+
+
+ build/ide/esp_idf_components/esp_adc/deprecated/esp32/esp_adc_cal_legacy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_adc/deprecated/esp32/esp_adc_cal_legacy.c
+
+
+ build/ide/esp_idf_components/esp_http_server/src/util/ctrl_sock.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_http_server/src/util/ctrl_sock.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/port/esp32/cache_sram_mmu.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/port/esp32/cache_sram_mmu.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/port/esp32/chip_info.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/port/esp32/chip_info.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/port/esp32/cpu_region_protect.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/port/esp32/cpu_region_protect.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/port/esp32/esp_clk_tree.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/port/esp32/esp_clk_tree.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/port/esp32/io_mux.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/port/esp32/io_mux.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/port/esp32/rtc_clk.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/port/esp32/rtc_clk.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/port/esp32/rtc_clk_init.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/port/esp32/rtc_clk_init.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/port/esp32/rtc_init.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/port/esp32/rtc_init.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/port/esp32/rtc_sleep.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/port/esp32/rtc_sleep.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/port/esp32/rtc_time.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/port/esp32/rtc_time.c
+
+
+ build/ide/esp_idf_components/esp_hw_support/port/esp32/sar_periph_ctrl.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_hw_support/port/esp32/sar_periph_ctrl.c
+
+
+ build/ide/esp_idf_components/esp_mm/port/esp32/ext_mem_layout.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_mm/port/esp32/ext_mem_layout.c
+
+
+ build/ide/esp_idf_components/esp_netif/lwip/netif/esp_pbuf_ref.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_netif/lwip/netif/esp_pbuf_ref.c
+
+
+ build/ide/esp_idf_components/esp_netif/lwip/netif/ethernetif.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_netif/lwip/netif/ethernetif.c
+
+
+ build/ide/esp_idf_components/esp_netif/lwip/netif/wlanif.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_netif/lwip/netif/wlanif.c
+
+
+ build/ide/esp_idf_components/fatfs/port/freertos/ffsystem.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/fatfs/port/freertos/ffsystem.c
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/portable/port_systick.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/portable/port_systick.c
+
+
+ build/ide/esp_idf_components/heap/port/esp32/memory_layout.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/heap/port/esp32/memory_layout.c
+
+
+ build/ide/esp_idf_components/lwip/apps/dhcpserver/dhcpserver.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/apps/dhcpserver/dhcpserver.c
+
+
+ build/ide/esp_idf_components/lwip/apps/ping/esp_ping.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/apps/ping/esp_ping.c
+
+
+ build/ide/esp_idf_components/lwip/apps/ping/ping.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/apps/ping/ping.c
+
+
+ build/ide/esp_idf_components/lwip/apps/ping/ping_sock.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/apps/ping/ping_sock.c
+
+
+ build/ide/esp_idf_components/lwip/apps/sntp/sntp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/apps/sntp/sntp.c
+
+
+ build/ide/esp_idf_components/lwip/port/debug/lwip_debug.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/port/debug/lwip_debug.c
+
+
+ build/ide/esp_idf_components/lwip/port/esp32xx/vfs_lwip.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/port/esp32xx/vfs_lwip.c
+
+
+ build/ide/esp_idf_components/lwip/port/freertos/sys_arch.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/port/freertos/sys_arch.c
+
+
+ build/ide/esp_idf_components/lwip/port/hooks/lwip_default_hooks.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/port/hooks/lwip_default_hooks.c
+
+
+ build/ide/esp_idf_components/lwip/port/hooks/tcp_isn_default.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/port/hooks/tcp_isn_default.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/aes.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/aes.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/aesce.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/aesce.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/aesni.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/aesni.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/aria.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/aria.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/asn1parse.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/asn1parse.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/asn1write.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/asn1write.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/base64.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/base64.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/bignum.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/bignum.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/bignum_core.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/bignum_core.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/bignum_mod.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/bignum_mod.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/bignum_mod_raw.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/bignum_mod_raw.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/camellia.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/camellia.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ccm.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ccm.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/chacha20.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/chacha20.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/chachapoly.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/chachapoly.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/cipher.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/cipher.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/cipher_wrap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/cipher_wrap.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/cmac.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/cmac.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/constant_time.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/constant_time.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ctr_drbg.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ctr_drbg.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/debug.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/debug.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/des.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/des.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/dhm.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/dhm.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ecdh.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ecdh.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ecdsa.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ecdsa.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ecjpake.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ecjpake.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ecp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ecp.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ecp_curves.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ecp_curves.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/entropy.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/entropy.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/entropy_poll.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/entropy_poll.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/error.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/error.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/gcm.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/gcm.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/hash_info.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/hash_info.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/hkdf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/hkdf.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/hmac_drbg.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/hmac_drbg.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/lmots.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/lmots.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/lms.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/lms.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/md.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/md.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/md5.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/md5.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/memory_buffer_alloc.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/memory_buffer_alloc.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/mps_reader.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/mps_reader.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/mps_trace.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/mps_trace.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/nist_kw.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/nist_kw.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/oid.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/oid.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/padlock.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/padlock.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/pem.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/pem.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/pk.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/pk.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/pk_wrap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/pk_wrap.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/pkcs12.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/pkcs12.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/pkcs5.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/pkcs5.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/pkcs7.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/pkcs7.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/pkparse.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/pkparse.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/pkwrite.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/pkwrite.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/platform.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/platform.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/platform_util.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/platform_util.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/poly1305.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/poly1305.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_crypto.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_crypto.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_crypto_aead.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_crypto_aead.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_crypto_cipher.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_crypto_cipher.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_crypto_client.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_crypto_client.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_crypto_driver_wrappers.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_crypto_driver_wrappers.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_crypto_ecp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_crypto_ecp.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_crypto_hash.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_crypto_hash.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_crypto_mac.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_crypto_mac.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_crypto_pake.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_crypto_pake.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_crypto_rsa.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_crypto_rsa.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_crypto_se.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_crypto_se.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_crypto_slot_management.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_crypto_slot_management.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_crypto_storage.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_crypto_storage.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_its_file.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_its_file.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/psa_util.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/psa_util.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ripemd160.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ripemd160.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/rsa.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/rsa.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/rsa_alt_helpers.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/rsa_alt_helpers.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/sha1.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/sha1.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/sha256.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/sha256.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/sha512.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/sha512.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_cache.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_cache.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_ciphersuites.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_ciphersuites.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_client.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_client.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_cookie.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_cookie.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_debug_helpers_generated.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_debug_helpers_generated.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_msg.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_msg.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_ticket.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_ticket.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_tls.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_tls.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_tls12_client.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_tls12_client.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_tls12_server.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_tls12_server.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_tls13_client.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_tls13_client.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_tls13_generic.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_tls13_generic.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_tls13_keys.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_tls13_keys.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/ssl_tls13_server.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/ssl_tls13_server.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/threading.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/threading.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/timing.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/timing.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/version.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/version.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/version_features.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/version_features.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/x509.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/x509.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/x509_create.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/x509_create.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/x509_crl.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/x509_crl.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/x509_crt.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/x509_crt.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/x509_csr.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/x509_csr.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/x509write_crt.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/x509write_crt.c
+
+
+ build/ide/esp_idf_components/mbedtls/mbedtls/library/x509write_csr.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/mbedtls/library/x509write_csr.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/aes/esp_aes_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/aes/esp_aes_common.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/aes/esp_aes_gcm.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/aes/esp_aes_gcm.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/aes/esp_aes_xts.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/aes/esp_aes_xts.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/esp32/bignum.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/esp32/bignum.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/md/esp_md.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/md/esp_md.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/sha/esp_sha.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/sha/esp_sha.c
+
+
+ build/ide/esp_idf_components/mqtt/esp-mqtt/lib/mqtt_msg.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mqtt/esp-mqtt/lib/mqtt_msg.c
+
+
+ build/ide/esp_idf_components/mqtt/esp-mqtt/lib/mqtt_outbox.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mqtt/esp-mqtt/lib/mqtt_outbox.c
+
+
+ build/ide/esp_idf_components/mqtt/esp-mqtt/lib/platform_esp32_idf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mqtt/esp-mqtt/lib/platform_esp32_idf.c
+
+
+ build/ide/esp_idf_components/protobuf-c/protobuf-c/protobuf-c/protobuf-c.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protobuf-c/protobuf-c/protobuf-c/protobuf-c.c
+
+
+ build/ide/esp_idf_components/protocomm/src/common/protocomm.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protocomm/src/common/protocomm.c
+
+
+ build/ide/esp_idf_components/protocomm/src/security/security0.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protocomm/src/security/security0.c
+
+
+ build/ide/esp_idf_components/protocomm/src/security/security1.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protocomm/src/security/security1.c
+
+
+ build/ide/esp_idf_components/protocomm/src/security/security2.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protocomm/src/security/security2.c
+
+
+ build/ide/esp_idf_components/protocomm/src/transports/protocomm_console.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protocomm/src/transports/protocomm_console.c
+
+
+ build/ide/esp_idf_components/protocomm/src/transports/protocomm_httpd.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protocomm/src/transports/protocomm_httpd.c
+
+
+ build/ide/esp_idf_components/spiffs/spiffs/src/spiffs_cache.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spiffs/spiffs/src/spiffs_cache.c
+
+
+ build/ide/esp_idf_components/spiffs/spiffs/src/spiffs_check.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spiffs/spiffs/src/spiffs_check.c
+
+
+ build/ide/esp_idf_components/spiffs/spiffs/src/spiffs_gc.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spiffs/spiffs/src/spiffs_gc.c
+
+
+ build/ide/esp_idf_components/spiffs/spiffs/src/spiffs_hydrogen.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spiffs/spiffs/src/spiffs_hydrogen.c
+
+
+ build/ide/esp_idf_components/spiffs/spiffs/src/spiffs_nucleus.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/spiffs/spiffs/src/spiffs_nucleus.c
+
+
+ build/ide/esp_idf_components/unity/port/esp/unity_utils_memory_esp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/unity/port/esp/unity_utils_memory_esp.c
+
+
+ build/ide/esp_idf_components/unity/unity/src/unity.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/unity/unity/src/unity.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/esp_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/esp_common.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/esp_hostap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/esp_hostap.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/esp_owe.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/esp_owe.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/esp_scan.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/esp_scan.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/esp_wpa2.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/esp_wpa2.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/esp_wpa3.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/esp_wpa3.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/esp_wpa_main.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/esp_wpas_glue.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/esp_wpas_glue.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/esp_wps.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/esp_wps.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/ap/ap_config.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/ap/ap_config.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/ap/comeback_token.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/ap/comeback_token.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/ap/ieee802_11.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/ap/ieee802_11.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/ap/ieee802_1x.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/ap/ieee802_1x.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/ap/pmksa_cache_auth.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/ap/pmksa_cache_auth.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/ap/sta_info.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/ap/sta_info.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/ap/wpa_auth.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/ap/wpa_auth.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/ap/wpa_auth_ie.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/ap/wpa_auth_ie.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/common/bss.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/common/bss.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/common/dragonfly.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/common/dragonfly.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/common/ieee802_11_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/common/ieee802_11_common.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/common/sae.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/common/sae.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/common/sae_pk.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/common/sae_pk.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/common/scan.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/common/scan.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/common/wpa_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/common/wpa_common.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/aes-ccm.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/aes-ccm.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/aes-gcm.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/aes-gcm.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/aes-omac1.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/aes-omac1.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/aes-siv.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/aes-siv.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/aes-unwrap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/aes-unwrap.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/aes-wrap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/aes-wrap.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/ccmp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/ccmp.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/crypto_ops.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/crypto_ops.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/des-internal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/des-internal.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/dh_group5.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/dh_group5.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/dh_groups.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/dh_groups.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/md4-internal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/md4-internal.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/ms_funcs.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/ms_funcs.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/rc4.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/rc4.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/sha1-prf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/sha1-prf.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/sha1-tlsprf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/sha1-tlsprf.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/sha1-tprf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/sha1-tprf.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/sha256-kdf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/sha256-kdf.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/sha256-prf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/sha256-prf.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/sha256-tlsprf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/sha256-tlsprf.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/sha384-prf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/sha384-prf.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/crypto/sha384-tlsprf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/crypto/sha384-tlsprf.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_common/eap_wsc_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_common/eap_wsc_common.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_peer/chap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_peer/chap.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_peer/eap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_peer/eap.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_peer/eap_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_peer/eap_common.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_peer/eap_fast.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_peer/eap_fast.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_peer/eap_fast_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_peer/eap_fast_common.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_peer/eap_fast_pac.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_peer/eap_fast_pac.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_peer/eap_mschapv2.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_peer/eap_mschapv2.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_peer/eap_peap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_peer/eap_peap.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_peer/eap_peap_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_peer/eap_peap_common.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_peer/eap_tls.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_peer/eap_tls.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_peer/eap_tls_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_peer/eap_tls_common.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_peer/eap_ttls.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_peer/eap_ttls.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/eap_peer/mschapv2.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/eap_peer/mschapv2.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/rsn_supp/pmksa_cache.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/rsn_supp/pmksa_cache.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/rsn_supp/wpa.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/rsn_supp/wpa.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/rsn_supp/wpa_ie.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/rsn_supp/wpa_ie.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/utils/base64.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/utils/base64.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/utils/bitfield.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/utils/bitfield.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/utils/common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/utils/common.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/utils/ext_password.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/utils/ext_password.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/utils/json.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/utils/json.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/utils/uuid.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/utils/uuid.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/utils/wpa_debug.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/utils/wpa_debug.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/utils/wpabuf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/utils/wpabuf.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/wps/wps.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/wps/wps.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/wps/wps_attr_build.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/wps/wps_attr_build.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/wps/wps_attr_parse.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/wps/wps_attr_parse.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/wps/wps_attr_process.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/wps/wps_attr_process.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/wps/wps_common.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/wps/wps_common.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/wps/wps_dev_attr.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/wps/wps_dev_attr.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/src/wps/wps_enrollee.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/src/wps/wps_enrollee.c
+
+
+ build/ide/esp_idf_components/esp_gdbstub/src/port/xtensa/gdbstub-entry.S
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_gdbstub/src/port/xtensa/gdbstub-entry.S
+
+
+ build/ide/esp_idf_components/esp_gdbstub/src/port/xtensa/gdbstub_xtensa.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_gdbstub/src/port/xtensa/gdbstub_xtensa.c
+
+
+ build/ide/esp_idf_components/esp_gdbstub/src/port/xtensa/xt_debugexception.S
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_gdbstub/src/port/xtensa/xt_debugexception.S
+
+
+ build/ide/esp_idf_components/esp_system/port/arch/xtensa/debug_helpers.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/arch/xtensa/debug_helpers.c
+
+
+ build/ide/esp_idf_components/esp_system/port/arch/xtensa/debug_helpers_asm.S
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/arch/xtensa/debug_helpers_asm.S
+
+
+ build/ide/esp_idf_components/esp_system/port/arch/xtensa/debug_stubs.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/arch/xtensa/debug_stubs.c
+
+
+ build/ide/esp_idf_components/esp_system/port/arch/xtensa/esp_ipc_isr.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/arch/xtensa/esp_ipc_isr.c
+
+
+ build/ide/esp_idf_components/esp_system/port/arch/xtensa/esp_ipc_isr_handler.S
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/arch/xtensa/esp_ipc_isr_handler.S
+
+
+ build/ide/esp_idf_components/esp_system/port/arch/xtensa/esp_ipc_isr_routines.S
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/arch/xtensa/esp_ipc_isr_routines.S
+
+
+ build/ide/esp_idf_components/esp_system/port/arch/xtensa/expression_with_stack.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/arch/xtensa/expression_with_stack.c
+
+
+ build/ide/esp_idf_components/esp_system/port/arch/xtensa/expression_with_stack_asm.S
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/arch/xtensa/expression_with_stack_asm.S
+
+
+ build/ide/esp_idf_components/esp_system/port/arch/xtensa/panic_arch.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/arch/xtensa/panic_arch.c
+
+
+ build/ide/esp_idf_components/esp_system/port/arch/xtensa/panic_handler_asm.S
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/arch/xtensa/panic_handler_asm.S
+
+
+ build/ide/esp_idf_components/esp_system/port/arch/xtensa/trax.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/arch/xtensa/trax.c
+
+
+ build/ide/esp_idf_components/esp_system/port/soc/esp32/cache_err_int.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/soc/esp32/cache_err_int.c
+
+
+ build/ide/esp_idf_components/esp_system/port/soc/esp32/clk.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/soc/esp32/clk.c
+
+
+ build/ide/esp_idf_components/esp_system/port/soc/esp32/highint_hdl.S
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/soc/esp32/highint_hdl.S
+
+
+ build/ide/esp_idf_components/esp_system/port/soc/esp32/reset_reason.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/soc/esp32/reset_reason.c
+
+
+ build/ide/esp_idf_components/esp_system/port/soc/esp32/system_internal.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/esp_system/port/soc/esp32/system_internal.c
+
+
+ build/ide/esp_idf_components/espcoredump/src/port/xtensa/core_dump_port.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/espcoredump/src/port/xtensa/core_dump_port.c
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/portable/xtensa/portasm.S
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/portasm.S
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_context.S
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_context.S
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_init.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_init.c
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_overlay_os_hook.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_overlay_os_hook.c
+
+
+ build/ide/esp_idf_components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_vectors.S
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_vectors.S
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/api/api_lib.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/api/api_lib.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/api/api_msg.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/api/api_msg.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/api/err.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/api/err.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/api/if_api.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/api/if_api.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/api/netbuf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/api/netbuf.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/api/netdb.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/api/netdb.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/api/netifapi.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/api/netifapi.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/api/sockets.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/api/sockets.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/api/tcpip.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/api/tcpip.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/def.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/def.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/dns.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/dns.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/inet_chksum.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/inet_chksum.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/init.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/init.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ip.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ip.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/mem.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/mem.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/memp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/memp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/netif.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/netif.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/pbuf.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/pbuf.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/raw.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/raw.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/stats.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/stats.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/sys.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/sys.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/tcp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/tcp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/tcp_in.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/tcp_in.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/tcp_out.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/tcp_out.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/timeouts.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/timeouts.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/udp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/udp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/bridgeif.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/bridgeif.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/bridgeif_fdb.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/bridgeif_fdb.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ethernet.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ethernet.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/slipif.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/slipif.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/aes/block/esp_aes.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/aes/block/esp_aes.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/sha/parallel_engine/esp_sha1.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/sha/parallel_engine/esp_sha1.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/sha/parallel_engine/esp_sha256.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/sha/parallel_engine/esp_sha256.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/sha/parallel_engine/esp_sha512.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/sha/parallel_engine/esp_sha512.c
+
+
+ build/ide/esp_idf_components/mbedtls/port/sha/parallel_engine/sha.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/mbedtls/port/sha/parallel_engine/sha.c
+
+
+ build/ide/esp_idf_components/protocomm/src/crypto/srp6a/esp_srp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protocomm/src/crypto/srp6a/esp_srp.c
+
+
+ build/ide/esp_idf_components/protocomm/src/crypto/srp6a/esp_srp_mpi.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/protocomm/src/crypto/srp6a/esp_srp_mpi.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/crypto/crypto_mbedtls-bignum.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/crypto/crypto_mbedtls-bignum.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/crypto/crypto_mbedtls-ec.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/crypto/crypto_mbedtls-ec.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/crypto/crypto_mbedtls-rsa.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/crypto/crypto_mbedtls-rsa.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/crypto/crypto_mbedtls.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/crypto/crypto_mbedtls.c
+
+
+ build/ide/esp_idf_components/wpa_supplicant/esp_supplicant/src/crypto/tls_mbedtls.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/wpa_supplicant/esp_supplicant/src/crypto/tls_mbedtls.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/apps/netbiosns/netbiosns.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/apps/netbiosns/netbiosns.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/apps/sntp/sntp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/apps/sntp/sntp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv4/autoip.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv4/autoip.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv4/dhcp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv4/dhcp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv4/etharp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv4/etharp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv4/icmp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv4/icmp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv4/igmp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv4/igmp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv4/ip4.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv4/ip4.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv4/ip4_addr.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv4/ip4_addr.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv4/ip4_frag.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv4/ip4_frag.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv4/ip4_napt.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv4/ip4_napt.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv6/dhcp6.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv6/dhcp6.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv6/ethip6.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv6/ethip6.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv6/icmp6.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv6/icmp6.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv6/inet6.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv6/inet6.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv6/ip6.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv6/ip6.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv6/ip6_addr.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv6/ip6_addr.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv6/ip6_frag.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv6/ip6_frag.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv6/mld6.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv6/mld6.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/core/ipv6/nd6.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/core/ipv6/nd6.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/auth.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/auth.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/ccp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/ccp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/chap-md5.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/chap-md5.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/chap-new.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/chap-new.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/chap_ms.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/chap_ms.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/demand.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/demand.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/eap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/eap.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/ecp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/ecp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/eui64.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/eui64.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/fsm.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/fsm.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/ipcp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/ipcp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/ipv6cp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/ipv6cp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/lcp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/lcp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/magic.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/magic.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/mppe.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/mppe.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/multilink.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/multilink.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/ppp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/ppp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/pppapi.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/pppapi.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/pppcrypt.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/pppcrypt.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/pppoe.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/pppoe.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/pppol2tp.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/pppol2tp.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/pppos.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/pppos.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/upap.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/upap.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/utils.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/utils.c
+
+
+ build/ide/esp_idf_components/lwip/lwip/src/netif/ppp/vj.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/lwip/lwip/src/netif/ppp/vj.c
+
+
+ build/ide/esp_idf_components/efuse/src/efuse_controller/keys/without_key_purposes/three_key_blocks/esp_efuse_api_key.c
+ 1
+ /home/karl/espressif/esp-idf-v5.1.1/components/efuse/src/efuse_controller/keys/without_key_purposes/three_key_blocks/esp_efuse_api_key.c
+
+
diff --git a/README.md b/README.md
index e6cfc1f..9b2cf53 100644
--- a/README.md
+++ b/README.md
@@ -21,24 +21,21 @@ Please check out the task list and feel free to fill in.
I dropped the usage of ADF completely but copied stripped down, needed components to this project (using ESP-ADF v2.6).
This was necessary because ADF was using flac in closed source precompiled library
-which made it impossible to get good results for multiroom syncing. IDF's I2S driver was also copied
-to project's components and adapted. Originally it wasn't possible to pre load DMA buffers with audio
-samples and therefore no precise sync could be achieved.
+which made it impossible to get good results for multiroom syncing.
### Codebase
-The codebase is split into components and build on ESP-IDF v4.3.5. I still
+The codebase is split into components and build on ESP-IDF v5.1.1. I still
have some refactoring on the todo list as the concept has started to settle and
allow for new features can be added in a structured manner. In the code you
will find parts that are only partly related features and still not on the task
list. Also there is a lot of code clean up needed.
Components
- - audio-board : taken from ADF, stripped down to strictly necessary parts for usage with Lyrat v4.3
- - audio-hal : taken from ADF, stripped down to strictly necessary parts for usage with Lyrat v4.3
- - audio-sal : taken from ADF, stripped down to strictly necessary parts for usage with Lyrat v4.3
- - custom_board :
- - custom-driver : modified I2S driver from IDF v4.3.1 which supports preloading DMA buffers with valid data
+ - audio-board : taken from ADF, stripped down to strictly necessary parts for playback
+ - audio-hal : taken from ADF, stripped down to strictly necessary parts for playback
+ - audio-sal : taken from ADF, stripped down to strictly necessary parts for playback
+ - custom_board : generic board component to support easy integration of DACs
- dsp_processor : Audio Processor, low pass filters, effects, etc.
- esp-dsp : Submodule to the ESP-ADF done by David Douard
- esp-peripherals : taken from ADF, stripped down to strictly necessary parts for usage with Lyrat v4.3
@@ -121,12 +118,30 @@ git submodule update --init
```
### ESP-IDF environnement configuration
-- If you're on Windows : Install ESP-IDF v4.3.5 locally [https://github.com/espressif/esp-idf/releases/tag/v4.3.5](https://github.com/espressif/esp-idf/releases/tag/v4.3.5). More info: [https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/windows-setup-update.html](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/windows-setup-update.html)
-- If you're on Linux : Use the docker image for ESP-IDF by following [docker build](doc/docker_build.md) doc.
+- If you're on Windows : Install [ESP-IDF v5.1.1](https://github.com/espressif/esp-idf/releases/tag/v5.1.1) locally ([More info](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/windows-setup-update.html)).
+- If you're on Linux (docker) : Use the image for ESP-IDF by following [docker build](doc/docker_build.md) doc
+- If you're on Linux : follow [official Espressif](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/linux-macos-setup.html) instructions
+ For debian based systems you'll need to do the following:
+ ```
+ sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
+ mkdir -p ~/esp
+ cd ~/esp
+ git clone -b v5.1.1 --recursive https://github.com/espressif/esp-idf.git
+ cd ~/esp/esp-idf
+ ./install.sh esp32
+ . ./export.sh
+ ```
### Snapcast ESP Configuration
-Configure your platform:
+Frist copy one of the template sdkconfig files and rename it to sdkconfig
+
+```
+cp sdkconfig_lyrat_v4.3 sdkconfig
+```
+
+then configure your platform:
+
```
idf.py menuconfig
```
@@ -169,6 +184,13 @@ Configure to match your setup
```
idf.py build flash monitor
```
+
+### Merge bin to flash at 0x0 with web.esphome.io
+
+```
+esptool.py --chip esp32 merge_bin -o merged.bin --flash_size 4MB --flash_freq 80m 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0xd000 build/ota_data_initial.bin 0x10000 build/snapclient.bin 0x370000 build/storage.bin
+```
+
## Test
Setup a snapcast server on your network
@@ -209,29 +231,13 @@ Then on every `git commit`, a few sanity/formatting checks will be performed.
## Task list
-- [ok] Fix to alinge with above
-- [ok] put kconfig to better locations in tree
- * add codec description
-- [ok] Integrate ESP wifi provision
-- [ok] Find and connect to Avahi broadcasted Snapcast server name
-- [ ] Add a client command interface layer like volume/mute control
+- [ ] put kconfig to better locations in tree
- [ ] add missing codec's (ogg)
-- [ok] test esp-dsp functionality after ADF drop
-- [ok] Check compatibility with different HW than Lyrat v4.3
-- [ok] rework dsp_processor and test. At the moment only dspfStereo and dspfBassBoost will work. Also ensure/test we got enough RAM on WROVER modules
-- [ ] reduce dsp_processor memory footprint
- [ ] dsp_processor: add equalizer
- * Control interface for equalizer
+- [ ] Control interface for equalizer (component: ui_http_server)
- [ ] clean and polish code (remove all unused variables etc.)
-- [ok] Improve Documentation, e.g. Hardware guide (supported codecs)
-- [ ] upgrade to IDF v5
-- [ ] in IDF v5 use native i2s driver, as it supports preloading DMA buffer with valid data now
+- [ ] Improve Documentation
- [ ] Throw out ADF copied components from project tree and use CmakeLists.txt to pull in necessary files from ADF
## Minor task
- - [ok] soft mute - play sample in buffer with decreasing volume
- - [ok] hard mute - using ADF's HAL
- - [ok] Startup: do not start parsing on samples to codec before sample ring buffer hits requested buffer size.
- - [ok] Start from empty buffer
- - [ ] fill in missing component descriptions in Readme.md
- - [ok] DAC latency setting from android app
+- [ ] fill in missing component descriptions in Readme.md
diff --git a/components/audio_board/CMakeLists.txt b/components/audio_board/CMakeLists.txt
index d40fe1a..46aacf0 100644
--- a/components/audio_board/CMakeLists.txt
+++ b/components/audio_board/CMakeLists.txt
@@ -22,6 +22,15 @@ set(COMPONENT_SRCS
)
endif()
+if (CONFIG_ESP_AI_THINKER_ES8388_BOARD)
+message(STATUS "Current board name is " CONFIG_ESP_AI_THINKER_ES8388_BOARD)
+list(APPEND COMPONENT_ADD_INCLUDEDIRS ./ai_thinker_es8388)
+set(COMPONENT_SRCS
+./ai_thinker_es8388/board.c
+./ai_thinker_es8388/board_pins_config.c
+)
+endif()
+
if (CONFIG_ESP_LYRAT_MINI_V1_1_BOARD)
message(STATUS "Current board name is " CONFIG_ESP_LYRAT_MINI_V1_1_BOARD)
list(APPEND COMPONENT_ADD_INCLUDEDIRS ./lyrat_mini_v1_1)
@@ -60,7 +69,6 @@ set(COMPONENT_SRCS
)
endif()
-#[[
if (CONFIG_ESP32_S2_KALUGA_1_V1_2_BOARD)
message(STATUS "Current board name is " CONFIG_ESP32_S2_KALUGA_1_V1_2_BOARD)
list(APPEND COMPONENT_ADD_INCLUDEDIRS ./esp32_s2_kaluga_1_v1_2)
@@ -70,6 +78,7 @@ set(COMPONENT_SRCS
)
endif()
+#[[
if (CONFIG_ESP32_S3_KORVO2_V3_BOARD)
message(STATUS "Current board name is " CONFIG_ESP32_S3_KORVO2_V3_BOARD)
list(APPEND COMPONENT_ADD_INCLUDEDIRS ./esp32_s3_korvo2_v3)
diff --git a/components/audio_board/Kconfig.projbuild b/components/audio_board/Kconfig.projbuild
index b9d6da9..98bee83 100644
--- a/components/audio_board/Kconfig.projbuild
+++ b/components/audio_board/Kconfig.projbuild
@@ -1,64 +1,330 @@
-menu "Audio HAL"
+menu "Audio Board"
-choice AUDIO_BOARD
- prompt "Audio board"
- default ESP_LYRAT_V4_3_BOARD
- help
- Select an audio board to use with the ESP-ADF
-config AUDIO_BOARD_CUSTOM
- bool "Custom audio board"
-config ESP_LYRAT_V4_3_BOARD
- bool "ESP32-Lyrat V4.3"
-config ESP_LYRAT_V4_2_BOARD
- bool "ESP32-Lyrat V4.2"
-config ESP_LYRATD_MSC_V2_1_BOARD
- bool "ESP32-LyraTD-MSC V2.1"
-config ESP_LYRATD_MSC_V2_2_BOARD
- bool "ESP32-LyraTD-MSC V2.2"
-config ESP_LYRAT_MINI_V1_1_BOARD
- bool "ESP32-Lyrat-Mini V1.1"
-config ESP32_KORVO_DU1906_BOARD
- bool "ESP32_KORVO_DU1906"
-#config ESP32_S2_KALUGA_1_V1_2_BOARD
-# bool "ESP32-S2-Kaluga-1 v1.2"
-#config ESP32_S3_KORVO2_V3_BOARD
-# bool "ESP32-S3-Korvo-2 v3"
-#config ESP32_S3_KORVO2L_V1_BOARD
-# bool "ESP32-S3-Korvo-2L v1"
-#config ESP32_S3_BOX_LITE_BOARD
-# bool "ESP32-S3-BOX-Lite"
-#config ESP32_S3_BOX_BOARD
-# bool "ESP32-S3-BOX"
-#config ESP32_C3_LYRA_V2_BOARD
-# bool "ESP32-C3-Lyra-v2.0"
-#config ESP32_C6_DEVKIT_BOARD
-# bool "ESP32-C6-DEVKIT"
+ config I2S_USE_MSB_FORMAT
+ bool
+ default n
+ help
+ Specifies if the I2S should use MSB format instead. Some DACs (such as PT8211) need this enabled to ensure
+ compatibility with their LSBJ timing under their native bit-depth. This option is only adjusted by the DAC
+ choice and is not exposed to menuconfig.
+ See https://github.com/schreibfaul1/ESP32-audioI2S/blob/1d9b299d0197f99fc70335295adcd226dc220f88/src/Audio.cpp#L4929
-endchoice
+ choice AUDIO_BOARD
+ prompt "Audio board"
+ default ESP_LYRAT_V4_3_BOARD
+ help
+ Select an audio board to use with the ESP-ADF
+ config AUDIO_BOARD_CUSTOM
+ bool "Custom audio board"
+ config ESP_LYRAT_V4_3_BOARD
+ bool "ESP32-Lyrat V4.3"
+ config ESP_LYRAT_V4_2_BOARD
+ bool "ESP32-Lyrat V4.2"
+ config ESP_LYRATD_MSC_V2_1_BOARD
+ bool "ESP32-LyraTD-MSC V2.1"
+ config ESP_LYRATD_MSC_V2_2_BOARD
+ bool "ESP32-LyraTD-MSC V2.2"
+ config ESP_LYRAT_MINI_V1_1_BOARD
+ bool "ESP32-Lyrat-Mini V1.1"
+ config ESP32_KORVO_DU1906_BOARD
+ bool "ESP32_KORVO_DU1906"
+ config ESP32_S2_KALUGA_1_V1_2_BOARD
+ bool "ESP32-S2-Kaluga-1 v1.2"
+ config ESP_AI_THINKER_ES8388_BOARD
+ bool "ESP-AI-Thinker-ES8388 v2.2"
+ #config ESP32_S3_KORVO2_V3_BOARD
+ # bool "ESP32-S3-Korvo-2 v3"
+ #config ESP32_S3_KORVO2L_V1_BOARD
+ # bool "ESP32-S3-Korvo-2L v1"
+ #config ESP32_S3_BOX_LITE_BOARD
+ # bool "ESP32-S3-BOX-Lite"
+ #config ESP32_S3_BOX_BOARD
+ # bool "ESP32-S3-BOX"
+ #config ESP32_C3_LYRA_V2_BOARD
+ # bool "ESP32-C3-Lyra-v2.0"
+ #config ESP32_C6_DEVKIT_BOARD
+ # bool "ESP32-C6-DEVKIT"
-choice ESP32_KORVO_DU1906_DAC
- prompt "ESP32 KORVO DU1906 Board DAC chip"
- depends on ESP32_KORVO_DU1906_BOARD
- default ESP32_KORVO_DU1906_DAC_TAS5805M
- help
- Select DAC chip to use on ESP32_KORVO_DU1906 board
+ endchoice
-config ESP32_KORVO_DU1906_DAC_TAS5805M
- bool "ESP32_KORVO_DU1906_DAC_TAS5805M"
-config ESP32_KORVO_DU1906_DAC_ES7148
- bool "ESP32_KORVO_DU1906_DAC_ES7148"
+ choice ESP32_KORVO_DU1906_DAC
+ prompt "ESP32 KORVO DU1906 Board DAC chip"
+ depends on ESP32_KORVO_DU1906_BOARD
+ default ESP32_KORVO_DU1906_DAC_TAS5805M
+ help
+ Select DAC chip to use on ESP32_KORVO_DU1906 board
-endchoice
+ config ESP32_KORVO_DU1906_DAC_TAS5805M
+ bool "ESP32_KORVO_DU1906_DAC_TAS5805M"
+ config ESP32_KORVO_DU1906_DAC_ES7148
+ bool "ESP32_KORVO_DU1906_DAC_ES7148"
-choice ESP32_KORVO_DU1906_ADC
- prompt "ESP32 KORVO DU1906 Board ADC chip"
- depends on ESP32_KORVO_DU1906_BOARD
- default ESP32_KORVO_DU1906_ADC_ES7243
- help
- Select ADC chip to use on ESP32_KORVO_DU1906 board
+ endchoice
-config ESP32_KORVO_DU1906_ADC_ES7243
- bool "ESP32_KORVO_DU1906_ADC_ES7243"
-endchoice
+ choice ESP32_KORVO_DU1906_ADC
+ prompt "ESP32 KORVO DU1906 Board ADC chip"
+ depends on ESP32_KORVO_DU1906_BOARD
+ default ESP32_KORVO_DU1906_ADC_ES7243
+ help
+ Select ADC chip to use on ESP32_KORVO_DU1906 board
+
+ config ESP32_KORVO_DU1906_ADC_ES7243
+ bool "ESP32_KORVO_DU1906_ADC_ES7243"
+ endchoice
+
+ menu "Custom Audio Board"
+ depends on AUDIO_BOARD_CUSTOM
+
+ choice GENERIC_BOARD_DAC
+ prompt "DAC chip"
+ default DAC_MA120
+ help
+ Select a DAC connected to the generic ESP32 board
+
+ config DAC_PCM51XX
+ bool "TI PCM51XX/TAS57XX based DAC"
+
+ config DAC_PCM5102A
+ bool "TI PCM5102A based DAC"
+
+ config DAC_MA120
+ bool "Infineon MA120 ClassD AMP"
+
+ config DAC_MA120X0
+ bool "Infineon MA120X0 ClassD AMP"
+
+ config DAC_ADAU1961
+ bool "Analog Devices ADAU1961 DAC"
+
+ config DAC_MAX98357
+ bool "Analog Devices MAX98357 DAC"
+
+ config DAC_TAS5805M
+ bool "Texas Instruments TAS5805M"
+
+ config DAC_PT8211
+ bool "Princeton Technology PT8211"
+ select I2S_USE_MSB_FORMAT
+ endchoice
+
+ menu "DAC I2C control interface"
+ config DAC_I2C_SDA
+ int "SDA pin"
+ default 12 if DAC_ADAU1961
+ default 21 if DAC_MA120 || DAC_PCM51XX || DAC_MA120 || DAC_MA120X0 || DAC_MAX98357 || DAC_PCM5102A || DAC_TAS5805M
+ default -1 if DAC_PT8211
+ help
+ I2C SDA pin of the DAC control interface
+ config DAC_I2C_SCL
+ int "SCL pin"
+ default 14 if DAC_ADAU1961
+ default 22 if DAC_MA120 || DAC_PCM51XX || DAC_MA120 || DAC_MA120X0 || DAC_MAX98357 || DAC_PCM5102A
+ default 27 if DAC_TAS5805M
+ default -1 if DAC_PT8211
+ help
+ I2C SCL pin of the DAC control interface
+ config DAC_I2C_ADDR
+ hex "I2C address"
+ default 0x70 if DAC_ADAU1961
+ default 0x20 if DAC_MA120 || DAC_PCM51XX || DAC_MA120 || DAC_MA120X0 || DAC_MAX98357 || DAC_PCM5102A
+ default 0x2D if DAC_TAS5805M
+ default 0x00 if DAC_PT8211
+ help
+ I2C Address of the DAC control interface
+ endmenu
+
+ menu "I2S master interface"
+ config MASTER_I2S_MCLK_PIN
+ int "Master i2s mclk"
+ default 3 if DAC_ADAU1961
+ default 0
+ help
+ Master audio interface master clock.
+
+ config MASTER_I2S_BCK_PIN
+ int "Master i2s bck"
+ default 15 if DAC_ADAU1961
+ default 23 if DAC_MAX98357
+ default 26 if DAC_TAS5805M
+ default 23
+
+ help
+ Master audio interface bit clock.
+
+ config MASTER_I2S_LRCK_PIN
+ int "Master i2s lrck"
+ default 13 if DAC_ADAU1961
+ default 24 if DAC_MAX98357
+ default 25 if DAC_TAS5805M
+ default 2
+ help
+ Master audio interface left/right sync clock.
+
+ config MASTER_I2S_DATAOUT_PIN
+ int "Master i2s data out"
+ default 4 if DAC_ADAU1961
+ default 25 if DAC_MAX98357
+ default 22 if DAC_TAS5805M
+ default 14
+ help
+ Master audio interface data out.
+
+ endmenu
+
+ menu "DAC-Operation-Mode"
+ depends on DAC_TAS5805M
+
+ config DAC_BRIDGE_MODE
+ bool "Enable Bridge-Mode"
+ default false if DAC_TAS5805M
+ help
+ If enabled left channel will be played with more power. To use the right channel please change Word-Select-Setting in Logic-Level-Settings.
+ endmenu
+
+ menu "I2S slave interface"
+ config SLAVE_I2S_BCK_PIN
+ int "Slave i2s bck"
+ default 26
+ help
+ Slave audio interface bit clock.
+ config SLAVE_I2S_MCLK_PIN
+ int "Slave i2s mclk"
+ default 0
+ help
+ Slave audio interface bit clock.
+ config SLAVE_I2S_LRCK_PIN
+ int "Slave i2s lrck"
+ default 12
+ help
+ Slave audio interface left/right sync clock.
+
+ config SLAVE_I2S_DATAOUT_PIN
+ int "Slave i2s data out"
+ default 5
+ help
+ Slave audio interface data out.
+ endmenu
+
+ menu "Merus MA120x0 interface Configuration"
+ depends on DAC_MA120X0
+
+ config MA120X0_NENABLE_PIN
+ int "Master enable/disable for ma120x0"
+ default 16
+ help
+ GPIO number to control enable/disable.
+
+ config MA120X0_NMUTE_PIN
+ int "Master mute/unmute for ma120x0"
+ default 2
+ help
+ GPIO number to controm mute/unmute.
+
+ config MERUS_NERR_PIN
+ int "NERR monitor pin"
+ default 21
+ help
+ GPIO number to monitor NERROR.
+
+ config MERUS_NCLIP_PIN
+ int "Clip indication pin"
+ default 22
+ help
+ GPIO number low if clip observed
+ endmenu
+
+ menu "Merus MA120 interface Configuration"
+ depends on DAC_MA120
+
+ config MA120_ENABLE_PIN
+ int "Master enable/disable for ma120x0"
+ default 16
+ help
+ GPIO number to control enable/disable.
+
+ config MA120_NMUTE_PIN
+ int "Master mute/unmute for ma120x0"
+ default 2
+ help
+ GPIO number to controm mute/unmute.
+
+ config MERUS_NERR_PIN
+ int "NERR monitor pin"
+ default 21
+ help
+ GPIO number to monitor NERROR.
+
+ config MERUS_NCLIP_PIN
+ int "Clip indication pin"
+ default 22
+ help
+ GPIO number low if clip observed
+ endmenu
+
+ menu "TI PCM5102A interface Configuration"
+ depends on DAC_PCM5102A
+
+ config PCM5102A_MUTE_PIN
+ int "Master mute/unmute for PCM5102A"
+ default 18
+ help
+ GPIO number to control mute/unmute.
+ This is labeled "X(S)MT" on chip/boards
+ endmenu
+
+ menu "MAX98357 interface Configuration"
+ depends on DAC_MAX98357
+
+ config MAX98357_MUTE_PIN
+ int "Master mute/mode for MAX98357"
+ default 18
+ help
+ GPIO number to control mute/mode. This require a special resistor to select the correct mode.
+ You need to put a serie resistor to select the mode (GPIO --> Resistor --> SD):
+ LEFT only : 0ohm (direct connection)
+ RIGHT only : 220Kohm
+ (L+R)/2 : 1Mohm
+ Refer to Analog Devices' doc for more infos.
+ This is labeled "SD" on chip/boards.
+ endmenu
+
+ menu "PT8211 interface Configuration"
+ depends on DAC_PT8211
+
+ config PT8211_MUTE_PIN
+ int "Master mute/unmute"
+ default -1
+ help
+ GPIO number to control mute/unmute.
+ Note that PT8211 does not have a mute control pin. This output is intended to control external circuit (e.g., amplifier).
+
+ config PT8211_MUTE_ACTIVE_LOW
+ bool "Mute active LOW"
+ default false
+ help
+ Output LOW instead of HIGH on mute/unmute pin when in mute state.
+
+ endmenu
+
+ menu "Logic-Level-Settings"
+ config INVERT_MCLK_LEVEL
+ bool "Invert Logic Level MCLK"
+ default false
+ help
+ Invert the Logic-Level of MCLK.
+ config INVERT_WORD_SELECT_LEVEL
+ bool "Invert Logic Level WordSelect"
+ default false
+ help
+ Some Dacs can bridge their outputs. Word-Select is used for selecting the played audio channel. This will switch L/R.
+ config INVERT_BCLK_LEVEL
+ bool "Invert Logic Level BCLK"
+ default false
+ help
+ Invert the Logic-Level of BCLK.
+
+ endmenu
+
+ endmenu
endmenu
diff --git a/components/audio_board/ai_thinker_es8388/board.c b/components/audio_board/ai_thinker_es8388/board.c
new file mode 100644
index 0000000..e59adc0
--- /dev/null
+++ b/components/audio_board/ai_thinker_es8388/board.c
@@ -0,0 +1,155 @@
+/*
+ * ESPRESSIF MIT License
+ *
+ * Copyright (c) 2019
+ *
+ * Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in
+ * which case, it is free of charge, to any person obtaining a copy of this
+ * software and associated documentation files (the "Software"), to deal in the
+ * Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+
+#include "board.h"
+#include "audio_mem.h"
+#include "esp_log.h"
+
+//#include "periph_sdcard.h"
+//#include "led_indicator.h"
+//#include "periph_touch.h"
+//#include "periph_button.h"
+
+static const char *TAG = "AUDIO_BOARD";
+
+static audio_board_handle_t board_handle = 0;
+
+audio_board_handle_t
+audio_board_init (void)
+{
+ if (board_handle)
+ {
+ ESP_LOGW (TAG, "The board has already been initialized!");
+ return board_handle;
+ }
+ board_handle = (audio_board_handle_t)audio_calloc (
+ 1, sizeof (struct audio_board_handle));
+ AUDIO_MEM_CHECK (TAG, board_handle, return NULL);
+ board_handle->audio_hal = audio_board_codec_init ();
+
+ return board_handle;
+}
+
+audio_hal_handle_t
+audio_board_codec_init (void)
+{
+ audio_hal_codec_config_t audio_codec_cfg = AUDIO_CODEC_DEFAULT_CONFIG ();
+ audio_hal_handle_t codec_hal
+ = audio_hal_init (&audio_codec_cfg, &AUDIO_CODEC_ES8388_DEFAULT_HANDLE);
+ AUDIO_NULL_CHECK (TAG, codec_hal, return NULL);
+ return codec_hal;
+}
+
+/*
+display_service_handle_t audio_board_led_init(void)
+{
+ led_indicator_handle_t led =
+led_indicator_init((gpio_num_t)get_green_led_gpio()); display_service_config_t
+display = { .based_cfg = { .task_stack = 0, .task_prio = 0, .task_core = 0,
+ .task_func = NULL,
+ .service_start = NULL,
+ .service_stop = NULL,
+ .service_destroy = NULL,
+ .service_ioctl = led_indicator_pattern,
+ .service_name = "DISPLAY_serv",
+ .user_data = NULL,
+ },
+ .instance = led,
+ };
+
+ return display_service_create(&display);
+}
+
+esp_err_t audio_board_key_init(esp_periph_set_handle_t set)
+{
+ periph_button_cfg_t btn_cfg = {
+ .gpio_mask = (1ULL << get_input_rec_id()) | (1ULL <<
+get_input_mode_id()), //REC BTN & MODE BTN
+ };
+ esp_periph_handle_t button_handle = periph_button_init(&btn_cfg);
+ AUDIO_NULL_CHECK(TAG, button_handle, return ESP_ERR_ADF_MEMORY_LACK);
+ esp_err_t ret = ESP_OK;
+ ret = esp_periph_start(set, button_handle);
+ if (ret != ESP_OK) {
+ return ret;
+ }
+ periph_touch_cfg_t touch_cfg = {
+ .touch_mask = TOUCH_PAD_SEL4 | TOUCH_PAD_SEL7 | TOUCH_PAD_SEL8 |
+TOUCH_PAD_SEL9, .tap_threshold_percent = 70,
+ };
+ esp_periph_handle_t touch_periph = periph_touch_init(&touch_cfg);
+ AUDIO_NULL_CHECK(TAG, touch_periph, return ESP_ERR_ADF_MEMORY_LACK);
+ ret = esp_periph_start(set, touch_periph);
+ return ret;
+}
+
+esp_err_t audio_board_sdcard_init(esp_periph_set_handle_t set,
+periph_sdcard_mode_t mode)
+{
+ if (mode >= SD_MODE_MAX) {
+ ESP_LOGE(TAG, "PLease select the correct sd mode!, current mode is %d",
+mode); return ESP_FAIL;
+ }
+ periph_sdcard_cfg_t sdcard_cfg = {
+ .root = "/sdcard",
+ .card_detect_pin = get_sdcard_intr_gpio(), // GPIO_NUM_34
+ .mode = mode,
+ };
+ esp_periph_handle_t sdcard_handle = periph_sdcard_init(&sdcard_cfg);
+ esp_err_t ret = esp_periph_start(set, sdcard_handle);
+ int retry_time = 5;
+ bool mount_flag = false;
+ while (retry_time --) {
+ if (periph_sdcard_is_mounted(sdcard_handle)) {
+ mount_flag = true;
+ break;
+ } else {
+ vTaskDelay(500 / portTICK_PERIOD_MS);
+ }
+ }
+ if (mount_flag == false) {
+ ESP_LOGE(TAG, "Sdcard mount failed");
+ return ESP_FAIL;
+ }
+ return ret;
+}
+*/
+
+audio_board_handle_t
+audio_board_get_handle (void)
+{
+ return board_handle;
+}
+
+esp_err_t
+audio_board_deinit (audio_board_handle_t audio_board)
+{
+ esp_err_t ret = ESP_OK;
+ ret = audio_hal_deinit (audio_board->audio_hal);
+ audio_free (audio_board);
+ board_handle = NULL;
+ return ret;
+}
diff --git a/components/audio_board/ai_thinker_es8388/board.h b/components/audio_board/ai_thinker_es8388/board.h
new file mode 100644
index 0000000..0dca37c
--- /dev/null
+++ b/components/audio_board/ai_thinker_es8388/board.h
@@ -0,0 +1,117 @@
+/*
+ * ESPRESSIF MIT License
+ *
+ * Copyright (c) 2019
+ *
+ * Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in
+ * which case, it is free of charge, to any person obtaining a copy of this
+ * software and associated documentation files (the "Software"), to deal in the
+ * Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+
+#ifndef _AUDIO_BOARD_H_
+#define _AUDIO_BOARD_H_
+
+#include "audio_hal.h"
+#include "board_def.h"
+#include "board_pins_config.h"
+//#include "esp_peripherals.h"
+//#include "display_service.h"
+//#include "periph_sdcard.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+ /**
+ * @brief Audio board handle
+ */
+ struct audio_board_handle
+ {
+ audio_hal_handle_t audio_hal; /*!< audio hardware abstract layer handle */
+ };
+
+ typedef struct audio_board_handle *audio_board_handle_t;
+
+ /**
+ * @brief Initialize audio board
+ *
+ * @return The audio board handle
+ */
+ audio_board_handle_t audio_board_init (void);
+
+ /**
+ * @brief Initialize codec chip
+ *
+ * @return The audio hal handle
+ */
+ audio_hal_handle_t audio_board_codec_init (void);
+
+ ///**
+ // * @brief Initialize led peripheral and display service
+ // *
+ // * @return The audio display service handle
+ // */
+ // display_service_handle_t audio_board_led_init(void);
+ //
+ ///**
+ // * @brief Initialize key peripheral
+ // *
+ // * @param set The handle of esp_periph_set_handle_t
+ // *
+ // * @return
+ // * - ESP_OK, success
+ // * - Others, fail
+ // */
+ // esp_err_t audio_board_key_init(esp_periph_set_handle_t set);
+ //
+ ///**
+ // * @brief Initialize sdcard peripheral
+ // *
+ // * @param set The handle of esp_periph_set_handle_t
+ // *
+ // * @return
+ // * - ESP_OK, success
+ // * - Others, fail
+ // */
+ // esp_err_t audio_board_sdcard_init(esp_periph_set_handle_t set,
+ // periph_sdcard_mode_t mode);
+
+ /**
+ * @brief Query audio_board_handle
+ *
+ * @return The audio board handle
+ */
+ audio_board_handle_t audio_board_get_handle (void);
+
+ /**
+ * @brief Uninitialize the audio board
+ *
+ * @param audio_board The handle of audio board
+ *
+ * @return 0 success,
+ * others fail
+ */
+ esp_err_t audio_board_deinit (audio_board_handle_t audio_board);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/components/audio_board/ai_thinker_es8388/board_def.h b/components/audio_board/ai_thinker_es8388/board_def.h
new file mode 100644
index 0000000..84bc376
--- /dev/null
+++ b/components/audio_board/ai_thinker_es8388/board_def.h
@@ -0,0 +1,103 @@
+/*
+ * ESPRESSIF MIT License
+ *
+ * Copyright (c) 2019
+ *
+ * Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in
+ * which case, it is free of charge, to any person obtaining a copy of this
+ * software and associated documentation files (the "Software"), to deal in the
+ * Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+
+#ifndef _AUDIO_BOARD_DEFINITION_H_
+#define _AUDIO_BOARD_DEFINITION_H_
+
+#include "driver/touch_pad.h"
+
+#define SDCARD_OPEN_FILE_NUM_MAX 5
+#define SDCARD_INTR_GPIO GPIO_NUM_34
+
+#define BUTTON_REC_ID GPIO_NUM_36
+#define BUTTON_MODE_ID GPIO_NUM_39
+#define BUTTON_SET_ID TOUCH_PAD_NUM9
+#define BUTTON_PLAY_ID TOUCH_PAD_NUM8
+#define BUTTON_VOLUP_ID TOUCH_PAD_NUM7
+#define BUTTON_VOLDOWN_ID TOUCH_PAD_NUM4
+
+#define AUXIN_DETECT_GPIO GPIO_NUM_12
+#define HEADPHONE_DETECT GPIO_NUM_19
+#define PA_ENABLE_GPIO GPIO_NUM_21
+#define BOARD_PA_GAIN (10) /* Power amplifier gain defined by board (dB) */
+
+#define GREEN_LED_GPIO GPIO_NUM_22
+
+extern audio_hal_func_t AUDIO_CODEC_ES8388_DEFAULT_HANDLE;
+
+#define AUDIO_CODEC_DEFAULT_CONFIG() \
+ { \
+ .adc_input = AUDIO_HAL_ADC_INPUT_LINE1, \
+ .dac_output = AUDIO_HAL_DAC_OUTPUT_ALL, \
+ .codec_mode = AUDIO_HAL_CODEC_MODE_BOTH, \
+ .i2s_iface = \
+ { \
+ .mode = AUDIO_HAL_MODE_SLAVE, \
+ .fmt = AUDIO_HAL_I2S_NORMAL, \
+ .samples = AUDIO_HAL_48K_SAMPLES, \
+ .bits = AUDIO_HAL_BIT_LENGTH_16BITS, \
+ }, \
+ };
+
+/**
+ * @brief Button Function Definition
+ */
+#define INPUT_KEY_NUM 6
+
+#define INPUT_KEY_DEFAULT_INFO() \
+ { \
+ { \
+ .type = PERIPH_ID_BUTTON, \
+ .user_id = INPUT_KEY_USER_ID_REC, \
+ .act_id = BUTTON_REC_ID, \
+ }, \
+ { \
+ .type = PERIPH_ID_BUTTON, \
+ .user_id = INPUT_KEY_USER_ID_MODE, \
+ .act_id = BUTTON_MODE_ID, \
+ }, \
+ { \
+ .type = PERIPH_ID_TOUCH, \
+ .user_id = INPUT_KEY_USER_ID_SET, \
+ .act_id = BUTTON_SET_ID, \
+ }, \
+ { \
+ .type = PERIPH_ID_TOUCH, \
+ .user_id = INPUT_KEY_USER_ID_PLAY, \
+ .act_id = BUTTON_PLAY_ID, \
+ }, \
+ { \
+ .type = PERIPH_ID_TOUCH, \
+ .user_id = INPUT_KEY_USER_ID_VOLUP, \
+ .act_id = BUTTON_VOLUP_ID, \
+ }, \
+ { \
+ .type = PERIPH_ID_TOUCH, .user_id = INPUT_KEY_USER_ID_VOLDOWN, \
+ .act_id = BUTTON_VOLDOWN_ID, \
+ } \
+ }
+
+#endif
diff --git a/components/audio_board/ai_thinker_es8388/board_pins_config.c b/components/audio_board/ai_thinker_es8388/board_pins_config.c
new file mode 100644
index 0000000..da3fab4
--- /dev/null
+++ b/components/audio_board/ai_thinker_es8388/board_pins_config.c
@@ -0,0 +1,117 @@
+/*
+ * ESPRESSIF MIT License
+ *
+ * Copyright (c) 2019
+ *
+ * Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in
+ * which case, it is free of charge, to any person obtaining a copy of this
+ * software and associated documentation files (the "Software"), to deal in the
+ * Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+
+#include
+
+#include "audio_error.h"
+#include "audio_mem.h"
+#include "board.h"
+#include "driver/gpio.h"
+#include "esp_log.h"
+
+static const char *TAG = "AI_THINKER_ES8388";
+
+esp_err_t get_i2c_pins(i2c_port_t port, i2c_config_t *i2c_config) {
+ AUDIO_NULL_CHECK(TAG, i2c_config, return ESP_FAIL);
+ if (port == I2C_NUM_0 || port == I2C_NUM_1) {
+ i2c_config->sda_io_num = GPIO_NUM_33;
+ i2c_config->scl_io_num = GPIO_NUM_32;
+ } else {
+ i2c_config->sda_io_num = -1;
+ i2c_config->scl_io_num = -1;
+ ESP_LOGE(TAG, "i2c port %d is not supported", port);
+ return ESP_FAIL;
+ }
+ return ESP_OK;
+}
+
+esp_err_t get_i2s_pins(i2s_port_t port, board_i2s_pin_t *i2s_config) {
+ AUDIO_NULL_CHECK(TAG, i2s_config, return ESP_FAIL);
+ if (port == I2S_NUM_0 || port == I2S_NUM_1) {
+ i2s_config->mck_io_num = GPIO_NUM_0;
+ i2s_config->bck_io_num = GPIO_NUM_27;
+ i2s_config->ws_io_num = GPIO_NUM_25;
+ i2s_config->data_out_num = GPIO_NUM_26;
+ i2s_config->data_in_num = GPIO_NUM_35;
+ } else {
+ memset(i2s_config, -1, sizeof(board_i2s_pin_t));
+ ESP_LOGE(TAG, "i2s port %d is not supported", port);
+ return ESP_FAIL;
+ }
+ return ESP_OK;
+}
+
+esp_err_t get_spi_pins(
+ spi_bus_config_t *spi_config,
+ spi_device_interface_config_t *spi_device_interface_config) {
+ AUDIO_NULL_CHECK(TAG, spi_config, return ESP_FAIL);
+ AUDIO_NULL_CHECK(TAG, spi_device_interface_config, return ESP_FAIL);
+
+ spi_config->mosi_io_num = -1;
+ spi_config->miso_io_num = -1;
+ spi_config->sclk_io_num = -1;
+ spi_config->quadwp_io_num = -1;
+ spi_config->quadhd_io_num = -1;
+
+ spi_device_interface_config->spics_io_num = -1;
+
+ ESP_LOGW(TAG, "SPI interface is not supported");
+ return ESP_OK;
+}
+
+// sdcard
+
+int8_t get_sdcard_intr_gpio(void) { return SDCARD_INTR_GPIO; }
+
+int8_t get_sdcard_open_file_num_max(void) { return SDCARD_OPEN_FILE_NUM_MAX; }
+
+// input-output pins
+
+int8_t get_auxin_detect_gpio(void) { return AUXIN_DETECT_GPIO; }
+
+int8_t get_headphone_detect_gpio(void) { return HEADPHONE_DETECT; }
+
+int8_t get_pa_enable_gpio(void) { return PA_ENABLE_GPIO; }
+
+// button pins
+
+int8_t get_input_rec_id(void) { return BUTTON_REC_ID; }
+
+int8_t get_input_mode_id(void) { return BUTTON_MODE_ID; }
+
+// touch pins
+
+int8_t get_input_set_id(void) { return BUTTON_SET_ID; }
+
+int8_t get_input_play_id(void) { return BUTTON_PLAY_ID; }
+
+int8_t get_input_volup_id(void) { return BUTTON_VOLUP_ID; }
+
+int8_t get_input_voldown_id(void) { return BUTTON_VOLDOWN_ID; }
+
+// led pins
+
+int8_t get_green_led_gpio(void) { return GREEN_LED_GPIO; }
diff --git a/components/audio_board/component.mk b/components/audio_board/component.mk
index 2802552..6441573 100644
--- a/components/audio_board/component.mk
+++ b/components/audio_board/component.mk
@@ -51,3 +51,8 @@ ifdef CONFIG_ESP32_C3_LYRA_V2_BOARD
COMPONENT_ADD_INCLUDEDIRS += ./esp32_c3_lyra
COMPONENT_SRCDIRS += ./esp32_c3_lyra
endif
+
+ifdef CONFIG_ESP_AI_THINKER_ES8388_BOARD
+COMPONENT_ADD_INCLUDEDIRS += ./ai_thinker_es8388
+COMPONENT_SRCDIRS += ./ai_thinker_es8388
+endif
diff --git a/components/audio_board/esp32_s2_kaluga_1_v1_2/board.c b/components/audio_board/esp32_s2_kaluga_1_v1_2/board.c
index 7ac62d2..56f9502 100644
--- a/components/audio_board/esp32_s2_kaluga_1_v1_2/board.c
+++ b/components/audio_board/esp32_s2_kaluga_1_v1_2/board.c
@@ -28,7 +28,7 @@
#include "audio_mem.h"
#include "esp_log.h"
-#include "periph_adc_button.h"
+// #include "periph_adc_button.h"
static const char *TAG = "AUDIO_BOARD";
@@ -61,80 +61,81 @@ esp_err_t audio_board_sdcard_init(esp_periph_set_handle_t set,
return ret;
}
-display_service_handle_t audio_board_led_init(void) {
- // TODO
- return NULL;
-}
-#if (ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 4, 0))
-esp_err_t _get_lcd_io_bus(void *bus, esp_lcd_panel_io_spi_config_t *io_config,
- esp_lcd_panel_io_handle_t *out_panel_io) {
- return esp_lcd_new_panel_io_spi((esp_lcd_spi_bus_handle_t)bus, io_config,
- out_panel_io);
-}
-
-void *audio_board_lcd_init(esp_periph_set_handle_t set, void *cb) {
- gpio_config_t bk_gpio_config = {.mode = GPIO_MODE_OUTPUT,
- .pin_bit_mask = 1ULL << LCD_CTRL_GPIO};
- // Initialize the GPIO of backlight
- ESP_ERROR_CHECK(gpio_config(&bk_gpio_config));
-
- spi_bus_config_t buscfg = {.sclk_io_num = LCD_CLK_GPIO,
- .mosi_io_num = LCD_MOSI_GPIO,
- .miso_io_num = -1,
- .quadwp_io_num = -1,
- .quadhd_io_num = -1,
- .max_transfer_sz = 16 * LCD_H_RES * 2 + 8};
- ESP_ERROR_CHECK(spi_bus_initialize(SPI2_HOST, &buscfg, SPI_DMA_CH_AUTO));
-
- esp_lcd_panel_io_spi_config_t io_config = {
- .dc_gpio_num = LCD_DC_GPIO,
- .cs_gpio_num = LCD_CS_GPIO,
- .pclk_hz = 60 * 1000 * 1000,
- .lcd_cmd_bits = 8,
- .lcd_param_bits = 8,
- .spi_mode = 0,
- .trans_queue_depth = 10,
- .on_color_trans_done = cb,
- .user_ctx = NULL,
- };
- esp_lcd_panel_dev_config_t panel_config = {
- .reset_gpio_num = LCD_RST_GPIO,
- .color_space = ESP_LCD_COLOR_SPACE_BGR,
- .bits_per_pixel = 16,
- };
- periph_lcd_cfg_t cfg = {
- .io_bus = (void *)SPI2_HOST,
- .new_panel_io = _get_lcd_io_bus,
- .lcd_io_cfg = &io_config,
- .new_lcd_panel = esp_lcd_new_panel_st7789,
- .lcd_dev_cfg = &panel_config,
- .rest_cb = NULL,
- .rest_cb_ctx = NULL,
- .lcd_swap_xy = LCD_SWAP_XY,
- .lcd_mirror_x = LCD_MIRROR_X,
- .lcd_mirror_y = LCD_MIRROR_Y,
- .lcd_color_invert = LCD_COLOR_INV,
- };
- esp_periph_handle_t periph_lcd = periph_lcd_init(&cfg);
- AUDIO_NULL_CHECK(TAG, periph_lcd, return NULL);
- esp_periph_start(set, periph_lcd);
- return (void *)periph_lcd_get_panel_handle(periph_lcd);
-}
-#endif
-
-esp_err_t audio_board_key_init(esp_periph_set_handle_t set) {
- periph_adc_button_cfg_t adc_btn_cfg = PERIPH_ADC_BUTTON_DEFAULT_CONFIG();
- adc_arr_t adc_btn_tag = ADC_DEFAULT_ARR();
- adc_btn_tag.adc_ch = ADC1_CHANNEL_5;
- adc_btn_tag.total_steps = 6;
- int btn_array[7] = {190, 600, 1000, 1375, 1775, 2195, 2610};
- adc_btn_tag.adc_level_step = btn_array;
- adc_btn_cfg.arr = &adc_btn_tag;
- adc_btn_cfg.arr_size = 1;
- esp_periph_handle_t adc_btn_handle = periph_adc_button_init(&adc_btn_cfg);
- AUDIO_NULL_CHECK(TAG, adc_btn_handle, return ESP_ERR_ADF_MEMORY_LACK);
- return esp_periph_start(set, adc_btn_handle);
-}
+// display_service_handle_t audio_board_led_init(void) {
+// // TODO
+// return NULL;
+// }
+// #if (ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 4, 0))
+// esp_err_t _get_lcd_io_bus(void *bus, esp_lcd_panel_io_spi_config_t
+// *io_config,
+// esp_lcd_panel_io_handle_t *out_panel_io) {
+// return esp_lcd_new_panel_io_spi((esp_lcd_spi_bus_handle_t)bus, io_config,
+// out_panel_io);
+// }
+//
+// void *audio_board_lcd_init(esp_periph_set_handle_t set, void *cb) {
+// gpio_config_t bk_gpio_config = {.mode = GPIO_MODE_OUTPUT,
+// .pin_bit_mask = 1ULL << LCD_CTRL_GPIO};
+// // Initialize the GPIO of backlight
+// ESP_ERROR_CHECK(gpio_config(&bk_gpio_config));
+//
+// spi_bus_config_t buscfg = {.sclk_io_num = LCD_CLK_GPIO,
+// .mosi_io_num = LCD_MOSI_GPIO,
+// .miso_io_num = -1,
+// .quadwp_io_num = -1,
+// .quadhd_io_num = -1,
+// .max_transfer_sz = 16 * LCD_H_RES * 2 + 8};
+// ESP_ERROR_CHECK(spi_bus_initialize(SPI2_HOST, &buscfg, SPI_DMA_CH_AUTO));
+//
+// esp_lcd_panel_io_spi_config_t io_config = {
+// .dc_gpio_num = LCD_DC_GPIO,
+// .cs_gpio_num = LCD_CS_GPIO,
+// .pclk_hz = 60 * 1000 * 1000,
+// .lcd_cmd_bits = 8,
+// .lcd_param_bits = 8,
+// .spi_mode = 0,
+// .trans_queue_depth = 10,
+// .on_color_trans_done = cb,
+// .user_ctx = NULL,
+// };
+// esp_lcd_panel_dev_config_t panel_config = {
+// .reset_gpio_num = LCD_RST_GPIO,
+// .color_space = ESP_LCD_COLOR_SPACE_BGR,
+// .bits_per_pixel = 16,
+// };
+// periph_lcd_cfg_t cfg = {
+// .io_bus = (void *)SPI2_HOST,
+// .new_panel_io = _get_lcd_io_bus,
+// .lcd_io_cfg = &io_config,
+// .new_lcd_panel = esp_lcd_new_panel_st7789,
+// .lcd_dev_cfg = &panel_config,
+// .rest_cb = NULL,
+// .rest_cb_ctx = NULL,
+// .lcd_swap_xy = LCD_SWAP_XY,
+// .lcd_mirror_x = LCD_MIRROR_X,
+// .lcd_mirror_y = LCD_MIRROR_Y,
+// .lcd_color_invert = LCD_COLOR_INV,
+// };
+// esp_periph_handle_t periph_lcd = periph_lcd_init(&cfg);
+// AUDIO_NULL_CHECK(TAG, periph_lcd, return NULL);
+// esp_periph_start(set, periph_lcd);
+// return (void *)periph_lcd_get_panel_handle(periph_lcd);
+// }
+// #endif
+//
+// esp_err_t audio_board_key_init(esp_periph_set_handle_t set) {
+// periph_adc_button_cfg_t adc_btn_cfg = PERIPH_ADC_BUTTON_DEFAULT_CONFIG();
+// adc_arr_t adc_btn_tag = ADC_DEFAULT_ARR();
+// adc_btn_tag.adc_ch = ADC1_CHANNEL_5;
+// adc_btn_tag.total_steps = 6;
+// int btn_array[7] = {190, 600, 1000, 1375, 1775, 2195, 2610};
+// adc_btn_tag.adc_level_step = btn_array;
+// adc_btn_cfg.arr = &adc_btn_tag;
+// adc_btn_cfg.arr_size = 1;
+// esp_periph_handle_t adc_btn_handle = periph_adc_button_init(&adc_btn_cfg);
+// AUDIO_NULL_CHECK(TAG, adc_btn_handle, return ESP_ERR_ADF_MEMORY_LACK);
+// return esp_periph_start(set, adc_btn_handle);
+// }
audio_board_handle_t audio_board_get_handle(void) { return board_handle; }
diff --git a/components/audio_board/esp32_s2_kaluga_1_v1_2/board.h b/components/audio_board/esp32_s2_kaluga_1_v1_2/board.h
index 66ae24c..f08adcb 100644
--- a/components/audio_board/esp32_s2_kaluga_1_v1_2/board.h
+++ b/components/audio_board/esp32_s2_kaluga_1_v1_2/board.h
@@ -30,10 +30,10 @@
#include "audio_hal.h"
#include "board_def.h"
#include "board_pins_config.h"
-#include "display_service.h"
-#include "esp_peripherals.h"
-#include "periph_lcd.h"
-#include "periph_sdcard.h"
+// #include "display_service.h"
+// #include "esp_peripherals.h"
+// #include "periph_lcd.h"
+// #include "periph_sdcard.h"
#ifdef __cplusplus
extern "C" {
@@ -67,7 +67,7 @@ audio_hal_handle_t audio_board_codec_init(void);
*
* @return The audio display service handle
*/
-display_service_handle_t audio_board_led_init(void);
+// display_service_handle_t audio_board_led_init(void);
/**
* @brief Initialize lcd peripheral
@@ -78,7 +78,7 @@ display_service_handle_t audio_board_led_init(void);
*
* @return The `esp_lcd_panel_handle_t` handle
*/
-void *audio_board_lcd_init(esp_periph_set_handle_t set, void *cb);
+// void *audio_board_lcd_init(esp_periph_set_handle_t set, void *cb);
/**
* @brief Initialize sdcard peripheral
@@ -89,8 +89,8 @@ void *audio_board_lcd_init(esp_periph_set_handle_t set, void *cb);
* - ESP_OK, success
* - Others, fail
*/
-esp_err_t audio_board_sdcard_init(esp_periph_set_handle_t set,
- periph_sdcard_mode_t mode);
+// esp_err_t audio_board_sdcard_init(esp_periph_set_handle_t set,
+// periph_sdcard_mode_t mode);
/**
* @brief Initialize key peripheral
@@ -101,7 +101,7 @@ esp_err_t audio_board_sdcard_init(esp_periph_set_handle_t set,
* - ESP_OK, success
* - Others, fail
*/
-esp_err_t audio_board_key_init(esp_periph_set_handle_t set);
+// esp_err_t audio_board_key_init(esp_periph_set_handle_t set);
/**
* @brief Query audio_board_handle
diff --git a/components/audio_hal/driver/es8388/es8388.c b/components/audio_hal/driver/es8388/es8388.c
index 39af78c..2795142 100644
--- a/components/audio_hal/driver/es8388/es8388.c
+++ b/components/audio_hal/driver/es8388/es8388.c
@@ -33,7 +33,8 @@
#include "esp_log.h"
#include "i2c_bus.h"
-#ifdef CONFIG_ESP_LYRAT_V4_3_BOARD
+#if defined(CONFIG_ESP_LYRAT_V4_3_BOARD) || \
+ defined(CONFIG_ESP_AI_THINKER_ES8388_BOARD)
#include "headphone_detect.h"
#endif
@@ -266,11 +267,16 @@ esp_err_t es8388_i2s_config_clock(es_i2s_clock_t cfg) {
esp_err_t es8388_deinit(void) {
int res = 0;
+
res = es_write_reg(ES8388_ADDR, ES8388_CHIPPOWER,
0xFF); // reset and stop es8388
i2c_bus_delete(i2c_handle);
-#ifdef CONFIG_ESP_LYRAT_V4_3_BOARD
+#if defined(CONFIG_ESP_LYRAT_V4_3_BOARD) || \
+ defined(CONFIG_ESP_AI_THINKER_ES8388_BOARD)
headphone_detect_deinit();
+ res = es_write_reg(ES8388_ADDR, ES8388_CHIPPOWER,
+ 0xFF); // reset and stop es8388
+ i2c_bus_delete(i2c_handle);
#endif
audio_codec_volume_deinit(dac_vol_handle);
@@ -284,7 +290,9 @@ esp_err_t es8388_deinit(void) {
*/
esp_err_t es8388_init(audio_hal_codec_config_t *cfg) {
int res = 0;
-#ifdef CONFIG_ESP_LYRAT_V4_3_BOARD
+
+#if defined(CONFIG_ESP_LYRAT_V4_3_BOARD) || \
+ defined(CONFIG_ESP_AI_THINKER_ES8388_BOARD)
headphone_detect_init(get_headphone_detect_gpio());
#endif
@@ -326,15 +334,15 @@ esp_err_t es8388_init(audio_hal_codec_config_t *cfg) {
res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL21,
0x80); // set internal ADC and DAC use the same LRCK
// clock, ADC LRCK as internal LRCK
- res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL23, 0x00); // vroi=0
+ res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL23, 0x00); // vroi=0
res |= es_write_reg(
ES8388_ADDR, ES8388_DACCONTROL24,
0x1E); // Set L1 R1 L2 R2 volume. 0x00: -30dB, 0x1E: 0dB, 0x21: 3dB
res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL25, 0x1E);
- res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL26, 0);
- res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL27, 0);
- // res |= es8388_set_adc_dac_volume(ES_MODULE_DAC, 0, 0); // 0db
+ res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL26, 0x1E);
+ res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL27, 0x1E);
+ res |= es8388_set_adc_dac_volume(ES_MODULE_DAC, 0, 0); // 0db
int tmp = 0;
if (AUDIO_HAL_DAC_OUTPUT_LINE2 == cfg->dac_output) {
tmp = DAC_OUTPUT_LOUT1 | DAC_OUTPUT_ROUT1;
@@ -430,18 +438,41 @@ esp_err_t es8388_config_fmt(es_module_t mode, es_i2s_fmt_t fmt) {
esp_err_t es8388_set_voice_volume(int volume) {
esp_err_t res = ESP_OK;
uint8_t reg = 0;
+
reg = audio_codec_get_dac_reg_value(dac_vol_handle, volume);
res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL5, reg);
res |= es_write_reg(ES8388_ADDR, ES8388_DACCONTROL4, reg);
ESP_LOGD(ES_TAG, "Set volume:%.2d reg_value:0x%.2x dB:%.1f",
(int)dac_vol_handle->user_volume, reg,
audio_codec_cal_dac_volume(dac_vol_handle));
+
+ /* Audio Settings can be checked here:
+ * https://dl.radxa.com/rock2/docs/hw/ds/ES8388%20user%20Guide.pdf
+ *
+ * ES8388_DACCONTROL4 & ES8388_DACCONTROL5
+ * 0 = 0dB
+ * 192 = -96dB
+ *
+ * ES8388_DACCONTROL24 - ES8388_DACCONTROL27
+ * 0 = -45dB
+ * 33 = 4.5dB
+ */
+
+ // restrict range from 0-46 instead of 0-192
+ // int inv_volume = -0.46 * volume + 46;
+ // if (volume == 0) {
+ // // if volume is 0, set to -96dB
+ // inv_volume = 192;
+ // }
+ // res = es_write_reg (ES8388_ADDR, ES8388_DACCONTROL5, inv_volume);
+ // res |= es_write_reg (ES8388_ADDR, ES8388_DACCONTROL4, inv_volume);
return res;
}
esp_err_t es8388_get_voice_volume(int *volume) {
esp_err_t res = ESP_OK;
uint8_t reg = 0;
+
res = es_read_reg(ES8388_DACCONTROL4, ®);
if (res == ESP_FAIL) {
*volume = 0;
@@ -454,6 +485,20 @@ esp_err_t es8388_get_voice_volume(int *volume) {
}
}
ESP_LOGD(ES_TAG, "Get volume:%.2d reg_value:0x%.2x", *volume, reg);
+
+ // else
+ // {
+ // // 0 = 0dB, 192 = -96dB
+ // // max is 0, min is 46
+ // // interpolate to 0-100
+ // if (reg == 192) {
+ // *volume = 0;
+ // }
+ // else {
+ // *volume = -(50/23) * reg + 100;
+ // }
+ // }
+
return res;
}
diff --git a/components/audio_hal/driver/es8388/headphone_detect.c b/components/audio_hal/driver/es8388/headphone_detect.c
index 27ebf04..72597a5 100644
--- a/components/audio_hal/driver/es8388/headphone_detect.c
+++ b/components/audio_hal/driver/es8388/headphone_detect.c
@@ -36,12 +36,13 @@
#include "freertos/task.h"
#include "freertos/timers.h"
-#ifdef CONFIG_ESP_LYRAT_V4_3_BOARD
+#if defined(CONFIG_ESP_LYRAT_V4_3_BOARD) || \
+ defined(CONFIG_ESP_AI_THINKER_ES8388_BOARD)
#define HP_DELAY_TIME_MS 1000
static const char *TAG = "HEADPHONE";
-static xTimerHandle timer_headphone;
+static TimerHandle_t timer_headphone;
static void hp_timer_cb(TimerHandle_t xTimer) {
int num = (int)pvTimerGetTimerID(xTimer);
@@ -51,7 +52,7 @@ static void hp_timer_cb(TimerHandle_t xTimer) {
static int hp_timer_init(int num) {
timer_headphone =
- xTimerCreate("hp_timer0", HP_DELAY_TIME_MS / portTICK_RATE_MS, pdFALSE,
+ xTimerCreate("hp_timer0", HP_DELAY_TIME_MS / portTICK_PERIOD_MS, pdFALSE,
(void *)num, hp_timer_cb);
if (timer_headphone == NULL) {
ESP_LOGE(TAG, "hp_timer create err");
@@ -69,7 +70,7 @@ static void IRAM_ATTR headphone_gpio_intr_handler(void *arg) {
}
void headphone_detect_deinit() {
- xTimerDelete(timer_headphone, HP_DELAY_TIME_MS / portTICK_RATE_MS);
+ xTimerDelete(timer_headphone, HP_DELAY_TIME_MS / portTICK_PERIOD_MS);
gpio_uninstall_isr_service();
timer_headphone = NULL;
}
@@ -92,4 +93,5 @@ void headphone_detect_init(int num) {
gpio_install_isr_service(0);
gpio_isr_handler_add(num, headphone_gpio_intr_handler, (void *)num);
}
-#endif /* CONFIG_ESP_LYRAT_V4_3_BOARD */
+#endif /* defined(CONFIG_ESP_LYRAT_V4_3_BOARD) || \
+ defined(CONFIG_ESP_AI_THINKER_ES8388_BOARD) */
diff --git a/components/audio_hal/driver/tas5805m/tas5805m.c b/components/audio_hal/driver/tas5805m/tas5805m.c
index bb43cab..10684e2 100644
--- a/components/audio_hal/driver/tas5805m/tas5805m.c
+++ b/components/audio_hal/driver/tas5805m/tas5805m.c
@@ -29,7 +29,6 @@
#include "audio_volume.h"
#include "board.h"
#include "esp_log.h"
-#include "freertos/projdefs.h"
#include "i2c_bus.h"
#include "tas5805m_reg_cfg.h"
@@ -96,7 +95,7 @@ static esp_err_t tas5805m_transmit_registers(const tas5805m_cfg_reg_t *conf_buf,
// Used in legacy applications. Ignored here.
break;
case CFG_META_DELAY:
- vTaskDelay(pdMS_TO_TICKS(conf_buf[i].value));
+ vTaskDelay(conf_buf[i].value / portTICK_PERIOD_MS);
break;
case CFG_META_BURST:
ret = i2c_bus_write_bytes(i2c_handler, TAS5805M_ADDR,
@@ -136,9 +135,9 @@ esp_err_t tas5805m_init(audio_hal_codec_config_t *codec_cfg) {
io_conf.intr_type = GPIO_INTR_DISABLE;
gpio_config(&io_conf);
gpio_set_level(TAS5805M_RST_GPIO, 0);
- vTaskDelay(pdMS_TO_TICKS(20));
+ vTaskDelay(20 / portTICK_PERIOD_MS);
gpio_set_level(TAS5805M_RST_GPIO, 1);
- vTaskDelay(pdMS_TO_TICKS(200));
+ vTaskDelay(200 / portTICK_PERIOD_MS);
ret = get_i2c_pins(I2C_NUM_0, &i2c_cfg);
i2c_handler = i2c_bus_create(I2C_NUM_0, &i2c_cfg);
diff --git a/components/custom_board/CMakeLists.txt b/components/custom_board/CMakeLists.txt
index 3ff4ee5..82e0c3d 100644
--- a/components/custom_board/CMakeLists.txt
+++ b/components/custom_board/CMakeLists.txt
@@ -17,7 +17,7 @@ if(CONFIG_AUDIO_BOARD_CUSTOM)
endif()
if(CONFIG_DAC_PCM51XX)
- message(STATUS "Selected DAC is " CONFIG_DAC_PCM15XX)
+ message(STATUS "Selected DAC is " CONFIG_DAC_PCM51XX)
list(APPEND COMPONENT_ADD_INCLUDEDIRS ./pcm51xx/include)
list(APPEND COMPONENT_SRCS ./pcm51xx/pcm51xx.c)
endif()
@@ -45,6 +45,18 @@ if(CONFIG_AUDIO_BOARD_CUSTOM)
list(APPEND COMPONENT_ADD_INCLUDEDIRS ./max98357/include)
list(APPEND COMPONENT_SRCS ./max98357/max98357.c)
endif()
+
+ if(CONFIG_DAC_TAS5805M)
+ message(STATUS "Selected DAC is " CONFIG_DAC_TAS5805M)
+ list(APPEND COMPONENT_ADD_INCLUDEDIRS ./tas5805m/include)
+ list(APPEND COMPONENT_SRCS ./tas5805m/tas5805m.c)
+ endif()
+
+ if(CONFIG_DAC_PT8211)
+ message(STATUS "Selected DAC is " CONFIG_DAC_PT8211)
+ list(APPEND COMPONENT_ADD_INCLUDEDIRS ./pt8211/include)
+ list(APPEND COMPONENT_SRCS ./pt8211/pt8211.c)
+ endif()
endif()
register_component()
diff --git a/components/custom_board/Kconfig.projbuild b/components/custom_board/Kconfig.projbuild
index e58aa68..10c871f 100644
--- a/components/custom_board/Kconfig.projbuild
+++ b/components/custom_board/Kconfig.projbuild
@@ -1,193 +1 @@
-menu "Custom Audio Board"
- depends on AUDIO_BOARD_CUSTOM
-
- choice GENERIC_BOARD_DAC
- prompt "DAC chip"
- default DAC_MA120
- help
- Select a DAC connected to the generic ESP32 board
-
- config DAC_PCM51XX
- bool "TI PCM51XX/TAS57XX based DAC"
-
- config DAC_PCM5102A
- bool "TI PCM5102A based DAC"
-
- config DAC_MA120
- bool "Infineon MA120 ClassD AMP"
-
- config DAC_MA120X0
- bool "Infineon MA120X0 ClassD AMP"
-
- config DAC_ADAU1961
- bool "Analog Devices ADAU1961 DAC"
-
- config DAC_MAX98357
- bool "Analog Devices MAX98357 DAC"
-
- endchoice
-
- menu "DAC I2C control interface"
- config DAC_I2C_SDA
- int "SDA pin"
- default 12 if DAC_ADAU1961
- default 21 if DAC_MA120 || DAC_PCM51XX || DAC_MA120 || DAC_MA120X0 || DAC_MAX98357 || DAC_PCM5102A
- help
- I2C SDA pin of the DAC control interface
- config DAC_I2C_SCL
- int "SCL pin"
- default 14 if DAC_ADAU1961
- default 22 if DAC_MA120 || DAC_PCM51XX || DAC_MA120 || DAC_MA120X0 || DAC_MAX98357 || DAC_PCM5102A
- help
- I2C SCL pin of the DAC control interface
- config DAC_I2C_ADDR
- hex "I2C address"
- default 0x70 if DAC_ADAU1961
- default 0x20 if DAC_MA120 || DAC_PCM51XX || DAC_MA120 || DAC_MA120X0 || DAC_MAX98357 || DAC_PCM5102A
- help
- I2C Address of the DAC control interface
- endmenu
-
- menu "I2S master interface"
- config MASTER_I2S_MCLK_PIN
- int "Master i2s mclk"
- default 3 if DAC_ADAU1961
- default 0
- help
- Master audio interface master clock.
-
- config MASTER_I2S_BCK_PIN
- int "Master i2s bck"
- default 15 if DAC_ADAU1961
- default 23 if DAC_MAX98357
- default 23
- help
- Master audio interface bit clock.
-
- config MASTER_I2S_LRCK_PIN
- int "Master i2s lrck"
- default 13 if DAC_ADAU1961
- default 24 if DAC_MAX98357
- default 13
- help
- Master audio interface left/right sync clock.
-
- config MASTER_I2S_DATAOUT_PIN
- int "Master i2s data out"
- default 4 if DAC_ADAU1961
- default 25 if DAC_MAX98357
- default 14
- help
- Master audio interface data out.
- endmenu
-
- menu "I2S slave interface"
- config SLAVE_I2S_MCLK_PIN
- int "Slave i2s mclk"
- default 0
- help
- Slave audio interface master clock.
-
- config SLAVE_I2S_BCK_PIN
- int "Slave i2s bck"
- default 26
- help
- Slave audio interface bit clock.
-
- config SLAVE_I2S_LRCK_PIN
- int "Slave i2s lrck"
- default 12
- help
- Slave audio interface left/right sync clock.
-
- config SLAVE_I2S_DATAOUT_PIN
- int "Slave i2s data out"
- default 5
- help
- Slave audio interface data out.
- endmenu
-
- menu "Merus MA120x0 interface Configuration"
- depends on DAC_MA120X0
-
- config MA120X0_NENABLE_PIN
- int "Master enable/disable for ma120x0"
- default 16
- help
- GPIO number to control enable/disable.
-
- config MA120X0_NMUTE_PIN
- int "Master mute/unmute for ma120x0"
- default 2
- help
- GPIO number to controm mute/unmute.
-
- config MA120X0_NERR_PIN
- int "NERR monitor pin"
- default 21
- help
- GPIO number to monitor NERROR.
-
- config MA120X0_NCLIP_PIN
- int "Clip indication pin"
- default 22
- help
- GPIO number low if clip observed
- endmenu
-
- menu "Merus MA120 interface Configuration"
- depends on DAC_MA120
-
- config MA120_ENABLE_PIN
- int "Master enable/disable for ma120x0"
- default 16
- help
- GPIO number to control enable/disable.
-
- config MA120_NMUTE_PIN
- int "Master mute/unmute for ma120x0"
- default 2
- help
- GPIO number to controm mute/unmute.
-
- config MERUS_NERR_PIN
- int "NERR monitor pin"
- default 21
- help
- GPIO number to monitor NERROR.
-
- config MERUS_NCLIP_PIN
- int "Clip indication pin"
- default 22
- help
- GPIO number low if clip observed
- endmenu
-
- menu "TI PCM5102A interface Configuration"
- depends on DAC_PCM5102A
-
- config PCM5102A_MUTE_PIN
- int "Master mute/unmute for PCM5102A"
- default 18
- help
- GPIO number to control mute/unmute.
- This is labeled "X(S)MT" on chip/boards
- endmenu
-
- menu "MAX98357 interface Configuration"
- depends on DAC_MAX98357
-
- config MAX98357_MUTE_PIN
- int "Master mute/mode for MAX98357"
- default 18
- help
- GPIO number to control mute/mode. This require a special resistor to select the correct mode.
- You need to put a serie resistor to select the mode (GPIO --> Resistor --> SD):
- LEFT only : 0ohm (direct connection)
- RIGHT only : 220Kohm
- (L+R)/2 : 1Mohm
- Refer to Analog Devices' doc for more infos.
- This is labeled "SD" on chip/boards.
- endmenu
-
-endmenu
+# this was moved to audio_board
diff --git a/components/custom_board/component.mk b/components/custom_board/component.mk
index 3bebfc2..665e5fa 100644
--- a/components/custom_board/component.mk
+++ b/components/custom_board/component.mk
@@ -27,4 +27,14 @@ COMPONENT_ADD_INCLUDEDIRS += ./max98357/include
COMPONENT_SRCDIRS += ./max98357
endif
+ifdef CONFIG_DAC_TAS5805M
+COMPONENT_ADD_INCLUDEDIRS += ./tas5805m/include
+COMPONENT_SRCDIRS += ./tas5805m
+endif
+
+ifdef CONFIG_DAC_PT8211
+COMPONENT_ADD_INCLUDEDIRS += ./pt8211/include
+COMPONENT_SRCDIRS += ./pt8211
+endif
+
endif
diff --git a/components/custom_board/generic_board/board.c b/components/custom_board/generic_board/board.c
index 3b50a43..202e298 100644
--- a/components/custom_board/generic_board/board.c
+++ b/components/custom_board/generic_board/board.c
@@ -49,6 +49,12 @@ extern audio_hal_func_t AUDIO_CODEC_ADAU1961_DEFAULT_HANDLE;
#elif CONFIG_DAC_MAX98357
extern audio_hal_func_t AUDIO_CODEC_MAX98357_DEFAULT_HANDLE;
#define AUDIO_CODEC_DEFAULT_HANDLE AUDIO_CODEC_MAX98357_DEFAULT_HANDLE
+#elif CONFIG_DAC_TAS5805M
+extern audio_hal_func_t AUDIO_CODEC_TAS5805M_DEFAULT_HANDLE;
+#define AUDIO_CODEC_DEFAULT_HANDLE AUDIO_CODEC_TAS5805M_DEFAULT_HANDLE
+#elif CONFIG_DAC_PT8211
+extern audio_hal_func_t AUDIO_CODEC_PT8211_DEFAULT_HANDLE;
+#define AUDIO_CODEC_DEFAULT_HANDLE AUDIO_CODEC_PT8211_DEFAULT_HANDLE
#endif
static const char *TAG = "AUDIO_BOARD";
diff --git a/components/custom_board/ma120/ma120.c b/components/custom_board/ma120/ma120.c
index 4399c2f..9d2dbd0 100644
--- a/components/custom_board/ma120/ma120.c
+++ b/components/custom_board/ma120/ma120.c
@@ -271,7 +271,8 @@ esp_err_t ma_write(uint8_t i2c_addr, uint8_t prot, uint16_t address,
i2c_master_write_byte(cmd, wbuf[i], ack);
}
i2c_master_stop(cmd);
- int ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 1000 / portTICK_RATE_MS);
+ int ret =
+ i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 1000 / portTICK_PERIOD_MS);
i2c_cmd_link_delete(cmd);
if (ret == ESP_FAIL) {
return ret;
@@ -294,7 +295,7 @@ esp_err_t ma_write_byte(uint8_t i2c_addr, uint8_t prot, uint16_t address,
}
i2c_master_write_byte(cmd, value, ACK_VAL);
i2c_master_stop(cmd);
- ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 1000 / portTICK_RATE_MS);
+ ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 1000 / portTICK_PERIOD_MS);
i2c_cmd_link_delete(cmd);
if (ret == ESP_FAIL) {
printf("ESP_I2C_WRITE ERROR : %d\n", ret);
@@ -326,7 +327,7 @@ esp_err_t ma_read(uint8_t i2c_addr, uint8_t prot, uint16_t address,
// { i2c_master_read_byte(cmd, rbuf++, ACK_VAL); }
i2c_master_read_byte(cmd, rbuf + n - 1, NACK_VAL);
i2c_master_stop(cmd);
- ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 100 / portTICK_RATE_MS);
+ ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 100 / portTICK_PERIOD_MS);
i2c_cmd_link_delete(cmd);
if (ret == ESP_FAIL) {
printf("i2c Error read - readback\n");
@@ -353,7 +354,7 @@ uint8_t ma_read_byte(uint8_t i2c_addr, uint8_t prot, uint16_t address) {
i2c_master_read_byte(cmd, &value, NACK_VAL);
i2c_master_stop(cmd);
- ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 1000 / portTICK_RATE_MS);
+ ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 1000 / portTICK_PERIOD_MS);
i2c_cmd_link_delete(cmd);
if (ret == ESP_FAIL) {
printf("i2c Error read - readback\n");
diff --git a/components/custom_board/ma120x0/MerusAudio.c b/components/custom_board/ma120x0/MerusAudio.c
index 1afd591..c1f15da 100644
--- a/components/custom_board/ma120x0/MerusAudio.c
+++ b/components/custom_board/ma120x0/MerusAudio.c
@@ -283,7 +283,8 @@ esp_err_t ma_write(uint8_t i2c_addr, uint8_t prot, uint16_t address,
i2c_master_write_byte(cmd, wbuf[i], ack);
}
i2c_master_stop(cmd);
- int ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 1000 / portTICK_RATE_MS);
+ int ret =
+ i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 1000 / portTICK_PERIOD_MS);
i2c_cmd_link_delete(cmd);
if (ret == ESP_FAIL) {
return ret;
@@ -306,7 +307,7 @@ esp_err_t ma_write_byte(uint8_t i2c_addr, uint8_t prot, uint16_t address,
}
i2c_master_write_byte(cmd, value, ACK_VAL);
i2c_master_stop(cmd);
- ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 1000 / portTICK_RATE_MS);
+ ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 1000 / portTICK_PERIOD_MS);
i2c_cmd_link_delete(cmd);
if (ret == ESP_FAIL) {
printf("ESP_I2C_WRITE ERROR : %d\n", ret);
@@ -338,7 +339,7 @@ esp_err_t ma_read(uint8_t i2c_addr, uint8_t prot, uint16_t address,
// { i2c_master_read_byte(cmd, rbuf++, ACK_VAL); }
i2c_master_read_byte(cmd, rbuf + n - 1, NACK_VAL);
i2c_master_stop(cmd);
- ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 100 / portTICK_RATE_MS);
+ ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 100 / portTICK_PERIOD_MS);
i2c_cmd_link_delete(cmd);
if (ret == ESP_FAIL) {
printf("i2c Error read - readback\n");
@@ -365,7 +366,7 @@ uint8_t ma_read_byte(uint8_t i2c_addr, uint8_t prot, uint16_t address) {
i2c_master_read_byte(cmd, &value, NACK_VAL);
i2c_master_stop(cmd);
- ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 1000 / portTICK_RATE_MS);
+ ret = i2c_master_cmd_begin(I2C_MASTER_NUM, cmd, 1000 / portTICK_PERIOD_MS);
i2c_cmd_link_delete(cmd);
if (ret == ESP_FAIL) {
printf("i2c Error read - readback\n");
diff --git a/components/custom_board/pcm51xx/pcm51xx.c b/components/custom_board/pcm51xx/pcm51xx.c
index d6a5fe2..283a3b4 100644
--- a/components/custom_board/pcm51xx/pcm51xx.c
+++ b/components/custom_board/pcm51xx/pcm51xx.c
@@ -106,9 +106,9 @@ io_conf.mode = GPIO_MODE_OUTPUT;
io_conf.intr_type = GPIO_INTR_DISABLE;
gpio_config(&io_conf);
gpio_set_level(PCM51XX_RST_GPIO, 0);
-vTaskDelay(20 / portTICK_RATE_MS);
+vTaskDelay(20 / portTICK_PERIOD_MS);
gpio_set_level(PCM51XX_RST_GPIO, 1);
-vTaskDelay(200 / portTICK_RATE_MS);
+vTaskDelay(200 / portTICK_PERIOD_MS);
*/
ret = get_i2c_pins(I2C_NUM_0, &i2c_cfg);
diff --git a/components/custom_board/pt8211/include/pt8211.h b/components/custom_board/pt8211/include/pt8211.h
new file mode 100644
index 0000000..62b35ee
--- /dev/null
+++ b/components/custom_board/pt8211/include/pt8211.h
@@ -0,0 +1,49 @@
+/*
+ * Princeton Technology PT8211 audio hal
+ */
+
+#ifndef _PT8211_H_
+#define _PT8211_H_
+
+#include "audio_hal.h"
+#include "esp_err.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Initialize PT8211 codec chip
+ */
+esp_err_t pt8211_init(audio_hal_codec_config_t *codec_cfg);
+
+/**
+ * Deinitialize PT8211 codec chip
+ */
+esp_err_t pt8211_deinit(void);
+
+/**
+ * Set volume - NOT AVAILABLE
+ */
+esp_err_t pt8211_set_volume(int vol);
+
+/**
+ * Get volume - NOT AVAILABLE
+ */
+esp_err_t pt8211_get_volume(int *value);
+
+/**
+ * Set PT8211 mute or not
+ */
+esp_err_t pt8211_set_mute(bool enable);
+
+/**
+ * Get PT8211 mute status - NOT IMPLEMENTED
+ */
+esp_err_t pt8211_get_mute(bool *enabled);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/components/custom_board/pt8211/pt8211.c b/components/custom_board/pt8211/pt8211.c
new file mode 100644
index 0000000..cddbecf
--- /dev/null
+++ b/components/custom_board/pt8211/pt8211.c
@@ -0,0 +1,90 @@
+/*
+ * Princeton Technology PT8211 audio hal
+ *
+ * Mostly stubs (no I2C or volume control)
+ * Configuration of mute/unmute gpio in init (for external amplifier)
+ */
+
+#include "pt8211.h"
+
+#include
+
+#include "board.h"
+#include "esp_log.h"
+
+#ifndef CONFIG_PT8211_MUTE_ACTIVE_LOW
+#define CONFIG_PT8211_MUTE_ACTIVE_LOW 0
+#endif
+
+static const char *TAG = "PT8211";
+
+esp_err_t pt8211_ctrl(audio_hal_codec_mode_t mode, audio_hal_ctrl_t ctrl_state);
+esp_err_t pt8211_config_iface(audio_hal_codec_mode_t mode,
+ audio_hal_codec_i2s_iface_t *iface);
+
+audio_hal_func_t AUDIO_CODEC_PT8211_DEFAULT_HANDLE = {
+ .audio_codec_initialize = pt8211_init,
+ .audio_codec_deinitialize = pt8211_deinit,
+ .audio_codec_ctrl = pt8211_ctrl,
+ .audio_codec_config_iface = pt8211_config_iface,
+ .audio_codec_set_mute = pt8211_set_mute,
+ .audio_codec_set_volume = pt8211_set_volume,
+ .audio_codec_get_volume = pt8211_get_volume,
+ .audio_hal_lock = NULL,
+ .handle = NULL,
+};
+
+esp_err_t pt8211_init(audio_hal_codec_config_t *codec_cfg) {
+ esp_err_t ret = ESP_OK;
+
+#if CONFIG_PT8211_MUTE_PIN != -1
+ gpio_config_t io_conf;
+
+ io_conf.intr_type = GPIO_INTR_DISABLE;
+ io_conf.mode = GPIO_MODE_OUTPUT;
+ io_conf.pin_bit_mask = (1ULL << CONFIG_PT8211_MUTE_PIN);
+ io_conf.pull_down_en = 0;
+ io_conf.pull_up_en = 0;
+
+ ret = gpio_config(&io_conf);
+ if (ret != ESP_OK) {
+ ESP_LOGE(TAG, "Mute gpio config failed for pin %d", CONFIG_PT8211_MUTE_PIN);
+ } else {
+ gpio_set_level(CONFIG_PT8211_MUTE_PIN, 0);
+ ESP_LOGD(TAG, "Setup mute output %d\n", CONFIG_PT8211_MUTE_PIN);
+ }
+#else
+ ESP_LOGD(TAG, "Mute gpio not specified\n");
+#endif
+
+ return ret;
+}
+
+esp_err_t pt8211_set_volume(int vol) { return ESP_OK; }
+
+esp_err_t pt8211_get_volume(int *value) { return ESP_OK; }
+
+esp_err_t pt8211_set_mute(bool enable) {
+ esp_err_t ret = ESP_OK;
+
+#if CONFIG_PT8211_MUTE_PIN != -1
+ ret = gpio_set_level(CONFIG_PT8211_MUTE_PIN,
+ enable ^ CONFIG_PT8211_MUTE_ACTIVE_LOW);
+#endif
+
+ return ret;
+}
+
+esp_err_t pt8211_get_mute(bool *enabled) { return ESP_OK; }
+
+esp_err_t pt8211_deinit(void) { return gpio_reset_pin(CONFIG_PT8211_MUTE_PIN); }
+
+esp_err_t pt8211_ctrl(audio_hal_codec_mode_t mode,
+ audio_hal_ctrl_t ctrl_state) {
+ return ESP_OK;
+}
+
+esp_err_t pt8211_config_iface(audio_hal_codec_mode_t mode,
+ audio_hal_codec_i2s_iface_t *iface) {
+ return ESP_OK;
+}
diff --git a/components/custom_board/tas5805m/include/tas5805m.h b/components/custom_board/tas5805m/include/tas5805m.h
new file mode 100644
index 0000000..ef609a2
--- /dev/null
+++ b/components/custom_board/tas5805m/include/tas5805m.h
@@ -0,0 +1,146 @@
+/*
+ * ESPRESSIF MIT License
+ *
+ * Copyright (c) 2020
+ *
+ * Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in
+ * which case, it is free of charge, to any person obtaining a copy of this
+ * software and associated documentation files (the "Software"), to deal in the
+ * Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+
+#ifndef _TAS5805M_H_
+#define _TAS5805M_H_
+
+#include "audio_hal.h"
+
+#include "esp_err.h"
+#include "esp_log.h"
+#include "board.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+#define I2C_MASTER_FREQ_HZ 400000 /*!< I2C master clock frequency */
+#define I2C_MASTER_TX_BUF_DISABLE 0 /*!< I2C master doesn't need buffer */
+#define I2C_MASTER_RX_BUF_DISABLE 0 /*!< I2C master doesn't need buffer */
+#define I2C_MASTER_TIMEOUT_MS 1000
+
+/* Represented in % */
+#define TAS5805M_VOLUME_MIN 0
+#define TAS5805M_VOLUME_MAX 100
+
+#define TAS5805M_VOLUME_MUTE 255
+/* See here for the original Implementation : audio_hal/driver/tas5805m */
+/* Its not from me it was developed by Espressif */
+/* Volume steps tas5805m_volume[0] => 255 which means mute */
+ static const uint8_t tas5805m_volume[]
+ = { 0xff, 0x9f, 0x8f, 0x7f, 0x6f, 0x5f, 0x5c, 0x5a, 0x58, 0x54, 0x50,
+ 0x4c, 0x4a, 0x48, 0x44, 0x40, 0x3d, 0x3b, 0x39, 0x37, 0x35 };
+
+ int8_t currentVolume = 0; // Last Volume gets updated after a change or before a mute
+ /**
+ * @brief Initialize TAS5805 codec chip
+ *
+ * @param cfg configuration of TAS5805
+ *
+ * @return
+ * - ESP_OK
+ * - ESP_FAIL
+ */
+ esp_err_t tas5805m_init ();
+
+ /**
+ * @brief Deinitialize TAS5805 codec chip
+ *
+ * @return
+ * - ESP_OK
+ * - ESP_FAIL
+ */
+ esp_err_t tas5805m_deinit (void);
+
+ /**
+ * @brief Set voice volume
+ *
+ * @param volume: voice volume (0~100)
+ *
+ * @return
+ * - ESP_OK
+ * - ESP_FAIL
+ */
+ esp_err_t tas5805m_set_volume (int vol);
+
+ /**
+ * @brief Get voice volume
+ *
+ * @param[out] *volume: voice volume (0~100)
+ *
+ * @return
+ * - ESP_OK
+ * - ESP_FAIL
+ */
+ esp_err_t tas5805m_get_volume(int *vol);
+
+ /**
+ * @brief Set TAS5805 mute or not
+ * Continuously call should have an interval time determined by
+ * tas5805m_set_mute_fade()
+ *
+ * @param enable enable(1) or disable(0)
+ *
+ * @return
+ * - ESP_FAIL Parameter error
+ * - ESP_OK Success
+ */
+ esp_err_t tas5805m_set_mute (bool enable);
+
+ /**
+ * @brief Mute TAS5805M
+ *
+ * @param value Time for mute with millisecond.
+ * @return
+ * - ESP_FAIL Parameter error
+ * - ESP_OK Success
+ *
+ */
+
+
+ /**
+ * @brief Get TAS5805 mute status
+ *
+ * @return
+ * - ESP_FAIL Parameter error
+ * - ESP_OK Success
+ */
+ esp_err_t tas5805m_get_mute (bool *enabled);
+
+ esp_err_t tas5805m_ctrl(audio_hal_codec_mode_t mode,
+ audio_hal_ctrl_t ctrl_state);
+
+
+ esp_err_t tas5805m_config_iface(audio_hal_codec_mode_t mode,
+ audio_hal_codec_i2s_iface_t *iface);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/components/custom_board/tas5805m/include/tas5805m_reg_cfg.h b/components/custom_board/tas5805m/include/tas5805m_reg_cfg.h
new file mode 100644
index 0000000..b571531
--- /dev/null
+++ b/components/custom_board/tas5805m/include/tas5805m_reg_cfg.h
@@ -0,0 +1,100 @@
+/*
+ * ESPRESSIF MIT License
+ *
+ * Copyright (c) 2020
+ *
+ * Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in
+ * which case, it is free of charge, to any person obtaining a copy of this
+ * software and associated documentation files (the "Software"), to deal in the
+ * Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+
+#ifndef _TAS5805M_REG_CFG_
+#define _TAS5805M_REG_CFG_
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/* Register Naming*/
+#define I2C_MASTER_NUM I2C_NUM_0 /*!< I2C port number for master dev */
+#define WRITE_BIT I2C_MASTER_WRITE /*!< I2C master write */
+#define READ_BIT I2C_MASTER_READ /*!< I2C master read */
+#define ACK_CHECK_EN 0x1 /*!< I2C master will check ack from slave*/
+#define ACK_CHECK_DIS 0x0 /*!< I2C master will not check ack from slave */
+#define ACK_VAL I2C_MASTER_ACK /*!< I2C ack value */
+#define NACK_VAL I2C_MASTER_NACK /*!< I2C nack value */
+
+#define I2C_TAS5805M_MASTER_NUM I2C_MASTER_NUM /*!< I2C port number for master dev */
+
+#define TAS5805M_ADDRESS 0x2D /*!< 7-bit address with a 15k pull up resistor */
+
+
+#ifdef PIN_DAC_PWDN
+#define TAS5805M_GPIO_PDN PIN_DAC_PWDN
+#else
+#define TAS5805M_GPIO_PDN GPIO_NUM_33 /*!< GPIO used for !PDN pin */
+#endif
+
+#define TAS5805M_GPIO_PDN_MASK ((1ULL << TAS5805M_GPIO_PDN))
+
+#define TAS5805M_RESET_CTRL_REGISTER 0x01
+#define TAS5805M_DEVICE_CTRL_1_REGISTER 0x02
+#define TAS5805M_DEVICE_CTRL_2_REGISTER 0x03
+#define TAS5805M_I2C_PAGE_AUTO_INC_REGISTER 0x0f
+#define TAS5805M_SIG_CH_CTRL_REGISTER 0x28
+#define TAS5805M_CLOCK_DET_CTRL_REGISTER 0x29
+#define TAS5805M_SDOUT_SEL_REGISTER 0x30
+#define TAS5805M_I2S_CTRL_REGISTER 0x31
+#define TAS5805M_SAP_CTRL1_REGISTER 0x33
+#define TAS5805M_SAP_CTRL2_REGISTER 0x34
+#define TAS5805M_SAP_CTRL3_REGISTER 0x35
+#define TAS5805M_FS_MON_REGISTER 0x37
+#define TAS5805M_BCK_MON_REGISTER 0x38
+#define TAS5805M_CLKDET_STATUS_REGISTER 0x39
+#define TAS5805M_CHANNEL_FORCE_HIZ_REGISTER 0x40
+#define TAS5805M_DIG_VOL_CTRL_REGISTER 0x4c
+#define TAS5805M_DIG_VOL_CTRL2_REGISTER 0x4e
+#define TAS5805M_DIG_VOL_CTRL3_REGISTER 0x4f
+#define TAS5805M_AUTO_MUTE_CTRL_REGISTER 0x50
+#define TAS5805M_AUTO_MUTE_TIME_REGISTER 0x51
+#define TAS5805M_ANA_CTRL_REGISTER 0x53
+#define TAS5805M_AGAIN_REGISTER 0x54
+#define TAS5805M_BQ_WR_CTRL1_REGISTER 0x5c
+#define TAS5805M_DAC_CTRL_REGISTER 0x5d
+#define TAS5805M_ADR_PIN_CTRL_REGISTER 0x60
+#define TAS5805M_ADR_PIN_CONFIG_REGISTER 0x61
+#define TAS5805M_DSP_MISC_REGISTER 0x66
+#define TAS5805M_DIE_ID_REGISTER 0x67
+#define TAS5805M_POWER_STATE_REGISTER 0x68
+#define TAS5805M_AUTOMUTE_STATE_REGISTER 0x69
+#define TAS5805M_PHASE_CTRL_REGISTER 0x6a
+#define TAS5805M_SS_CTRL0_REGISTER 0x6b
+#define TAS5805M_SS_CTRL1_REGISTER 0x6c
+#define TAS5805M_SS_CTRL2_REGISTER 0x6d
+#define TAS5805M_SS_CTRL3_REGISTER 0x6e
+#define TAS5805M_SS_CTRL4_REGISTER 0x6f
+#define TAS5805M_CHAN_FAULT_REGISTER 0x70
+#define TAS5805M_GLOBAL_FAULT1_REGISTER 0x71
+#define TAS5805M_GLOBAL_FAULT2_REGISTER 0x72
+#define TAS5805M_OT_WARNING_REGISTER 0x73
+#define TAS5805M_PIN_CONTROL1_REGISTER 0x74
+#define TAS5805M_PIN_CONTROL2_REGISTER 0x75
+#define TAS5805M_MISC_CONTROL_REGISTER 0x76
+#define TAS5805M_FAULT_CLEAR_REGISTER 0x78
+#endif
\ No newline at end of file
diff --git a/components/custom_board/tas5805m/tas5805m.c b/components/custom_board/tas5805m/tas5805m.c
new file mode 100644
index 0000000..f873d83
--- /dev/null
+++ b/components/custom_board/tas5805m/tas5805m.c
@@ -0,0 +1,260 @@
+/*
+ * ESPRESSIF MIT License
+ *
+ * Copyright (c) 2020
+ *
+ * Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in
+ * which case, it is free of charge, to any person obtaining a copy of this
+ * software and associated documentation files (the "Software"), to deal in the
+ * Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ */
+
+#include "tas5805m.h"
+
+#include "esp_log.h"
+#include "i2c_bus.h"
+#include "tas5805m_reg_cfg.h"
+
+static const char *TAG = "TAS5805M";
+
+/* Default I2C config */
+
+static i2c_config_t i2c_cfg = {
+ .mode = I2C_MODE_MASTER,
+ .sda_pullup_en = GPIO_PULLUP_ENABLE,
+ .scl_pullup_en = GPIO_PULLUP_ENABLE,
+ .master.clk_speed = I2C_MASTER_FREQ_HZ,
+};
+
+/*
+ * Operate fuction of PA
+ */
+audio_hal_func_t AUDIO_CODEC_TAS5805M_DEFAULT_HANDLE = {
+ .audio_codec_initialize = tas5805m_init,
+ .audio_codec_deinitialize = tas5805m_deinit,
+ .audio_codec_ctrl = tas5805m_ctrl,
+ .audio_codec_config_iface = tas5805m_config_iface,
+ .audio_codec_set_mute = tas5805m_set_mute,
+ .audio_codec_set_volume = tas5805m_set_volume,
+ .audio_codec_get_volume = tas5805m_get_volume,
+ .audio_hal_lock = NULL,
+ .handle = NULL,
+};
+
+/* Init the I2C Driver */
+
+void i2c_master_init() {
+ int i2c_master_port = I2C_MASTER_NUM;
+
+ ESP_ERROR_CHECK(get_i2c_pins(I2C_NUM_0, &i2c_cfg));
+
+ ESP_ERROR_CHECK(i2c_param_config(i2c_master_port, &i2c_cfg));
+
+ ESP_ERROR_CHECK(i2c_driver_install(i2c_master_port, i2c_cfg.mode,
+ I2C_MASTER_RX_BUF_DISABLE,
+ I2C_MASTER_TX_BUF_DISABLE, 0));
+}
+
+/* Helper Functions */
+
+// Reading of TAS5805M-Register
+
+esp_err_t tas5805m_read_byte(uint8_t register_name, uint8_t *data) {
+ int ret;
+ i2c_cmd_handle_t cmd = i2c_cmd_link_create();
+ i2c_master_start(cmd);
+ i2c_master_write_byte(cmd, TAS5805M_ADDRESS << 1 | WRITE_BIT, ACK_CHECK_EN);
+ i2c_master_write_byte(cmd, register_name, ACK_CHECK_EN);
+ i2c_master_stop(cmd);
+ ret = i2c_master_cmd_begin(I2C_TAS5805M_MASTER_NUM, cmd,
+ 1000 / portTICK_PERIOD_MS);
+ i2c_cmd_link_delete(cmd);
+
+ if (ret != ESP_OK) {
+ ESP_LOGW(TAG, "I2C ERROR");
+ }
+
+ vTaskDelay(1 / portTICK_PERIOD_MS);
+ cmd = i2c_cmd_link_create();
+ i2c_master_start(cmd);
+ i2c_master_write_byte(cmd, TAS5805M_ADDRESS << 1 | READ_BIT, ACK_CHECK_EN);
+ i2c_master_read_byte(cmd, data, NACK_VAL);
+ i2c_master_stop(cmd);
+ ret = i2c_master_cmd_begin(I2C_TAS5805M_MASTER_NUM, cmd,
+ 1000 / portTICK_PERIOD_MS);
+ i2c_cmd_link_delete(cmd);
+
+ return ret;
+}
+
+// Writing of TAS5805M-Register
+
+esp_err_t tas5805m_write_byte(uint8_t register_name, uint8_t value) {
+ int ret = 0;
+ i2c_cmd_handle_t cmd = i2c_cmd_link_create();
+ i2c_master_start(cmd);
+ i2c_master_write_byte(cmd, TAS5805M_ADDRESS << 1 | WRITE_BIT, ACK_CHECK_EN);
+ i2c_master_write_byte(cmd, register_name, ACK_CHECK_EN);
+ i2c_master_write_byte(cmd, value, ACK_CHECK_EN);
+ i2c_master_stop(cmd);
+
+ ret = i2c_master_cmd_begin(I2C_TAS5805M_MASTER_NUM, cmd,
+ 1000 / portTICK_PERIOD_MS);
+
+ // Check if ret is OK
+ if (ret != ESP_OK) {
+ ESP_LOGE(TAG, "Fehler bei der I2C-Übertragung: %s", esp_err_to_name(ret));
+ }
+
+ i2c_cmd_link_delete(cmd);
+
+ return ret;
+}
+
+// Inits the TAS5805M change Settings in Menuconfig to enable Bridge-Mode
+
+esp_err_t tas5805m_init() {
+ int ret = 0;
+ // Init the I2C-Driver
+ i2c_master_init();
+ /* Register the PDN pin as output and write 1 to enable the TAS chip */
+ /* TAS5805M.INIT() */
+ gpio_config_t io_conf;
+ io_conf.intr_type = GPIO_INTR_DISABLE;
+ io_conf.mode = GPIO_MODE_OUTPUT;
+ io_conf.pin_bit_mask = TAS5805M_GPIO_PDN_MASK;
+ io_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
+ io_conf.pull_up_en = GPIO_PULLUP_DISABLE;
+ ESP_LOGW(TAG, "Power down pin: %d", TAS5805M_GPIO_PDN);
+ gpio_config(&io_conf);
+ gpio_set_level(TAS5805M_GPIO_PDN, 0);
+ vTaskDelay(10 / portTICK_PERIOD_MS);
+ gpio_set_level(TAS5805M_GPIO_PDN, 1);
+ vTaskDelay(10 / portTICK_PERIOD_MS);
+
+ /* TAS5805M.Begin()*/
+
+ ESP_LOGW(TAG, "Setting to HI Z");
+
+ ESP_ERROR_CHECK(tas5805m_write_byte(TAS5805M_DEVICE_CTRL_2_REGISTER, 0x02));
+ vTaskDelay(10 / portTICK_PERIOD_MS);
+ if (ret != ESP_OK) {
+ ESP_LOGW(TAG, "TAS5805M_DEVICE_CTRL_2_REGISTER, 0x02 FAILED!!!");
+ return ret;
+ }
+
+ ESP_LOGW(TAG, "Setting to PLAY");
+
+ ret = tas5805m_write_byte(TAS5805M_DEVICE_CTRL_2_REGISTER, 0x03);
+ if (ret != ESP_OK) {
+ ESP_LOGW(TAG, "TAS5805M_DEVICE_CTRL_2_REGISTER, 0x03 FAILED!!");
+ return ret;
+ }
+
+ // Check if Bridge-Mode is enabled
+#ifdef CONFIG_DAC_BRIDGE_MODE
+ uint8_t value = 0;
+ ret = tas5805m_read_byte(TAS5805M_DEVICE_CTRL_1_REGISTER, &value);
+ if (ret != ESP_OK) return ret;
+ value = 0b100;
+
+ ret = tas5805m_write_byte(TAS5805M_DEVICE_CTRL_1_REGISTER, value);
+ if (ret != ESP_OK) return ret;
+#endif
+
+ return ret;
+}
+
+// Setting the Volume
+
+esp_err_t tas5805m_set_volume(int vol) {
+ int vol_idx = 0; // Temp-Variable
+
+ /* Checking if Volume is bigger or smaller than the max values */
+ if (vol < TAS5805M_VOLUME_MIN) {
+ vol = TAS5805M_VOLUME_MIN;
+ }
+ if (vol > TAS5805M_VOLUME_MAX) {
+ vol = TAS5805M_VOLUME_MAX;
+ }
+ /* Mapping the Values from 0-100 to 254-0 */
+ vol_idx = vol / 5;
+ /* Updating the global volume Variable */
+ currentVolume = vol_idx;
+ /* Writing the Volume to the Register*/
+ return tas5805m_write_byte(TAS5805M_DIG_VOL_CTRL_REGISTER,
+ tas5805m_volume[vol_idx]);
+}
+
+esp_err_t tas5805m_get_volume(int *vol) {
+ esp_err_t ret = ESP_OK;
+ uint8_t rxbuf = 0;
+ ret = tas5805m_read_byte(TAS5805M_DIG_VOL_CTRL_REGISTER, &rxbuf);
+ int i;
+ for (i = 0; i < sizeof(tas5805m_volume); i++) {
+ if (rxbuf >= tas5805m_volume[i]) break;
+ }
+ /* Updating the global volume Variable */
+ currentVolume = i;
+ ESP_LOGI(TAG, "Volume is %d", i * 5);
+ *vol = 5 * i; // Converting it to percent
+ return ret;
+}
+
+esp_err_t tas5805m_deinit(void) {
+ // TODO
+ return ESP_OK;
+}
+
+esp_err_t tas5805m_set_mute(bool enable) {
+ if (enable == true) {
+ // Set the Volume to 255 to enable the MUTE
+ return tas5805m_write_byte(TAS5805M_DIG_VOL_CTRL_REGISTER,
+ TAS5805M_VOLUME_MUTE);
+ } else {
+ return tas5805m_write_byte(
+ TAS5805M_DIG_VOL_CTRL_REGISTER,
+ tas5805m_volume[currentVolume]); // Restore Volume to its old value
+ }
+ return ESP_OK;
+}
+
+esp_err_t tas5805m_get_mute(bool *enabled) {
+ int currentVolume;
+ if (tas5805m_get_volume(¤tVolume) != ESP_OK) {
+ ESP_LOGW(TAG, "Cant get volume in get-Mute-Function");
+ }
+ if (currentVolume == TAS5805M_VOLUME_MUTE) {
+ *enabled = true;
+ } else {
+ *enabled = false;
+ }
+ return ESP_OK;
+}
+
+esp_err_t tas5805m_ctrl(audio_hal_codec_mode_t mode,
+ audio_hal_ctrl_t ctrl_state) {
+ // TODO
+ return ESP_OK;
+}
+
+esp_err_t tas5805m_config_iface(audio_hal_codec_mode_t mode,
+ audio_hal_codec_i2s_iface_t *iface) {
+ // TODO
+ return ESP_OK;
+}
diff --git a/components/dsp_processor/include/dsp_processor.h b/components/dsp_processor/include/dsp_processor.h
index df80e47..6a2d09e 100644
--- a/components/dsp_processor/include/dsp_processor.h
+++ b/components/dsp_processor/include/dsp_processor.h
@@ -1,6 +1,10 @@
#ifndef _DSP_PROCESSOR_H_
#define _DSP_PROCESSOR_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "esp_err.h"
typedef enum dspFlows {
@@ -64,4 +68,8 @@ int dsp_processor_worker(char *audio, size_t chunk_size, uint32_t samplerate);
esp_err_t dsp_processor_update_filter_params(filterParams_t *params);
void dsp_processor_set_volome(double volume);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _DSP_PROCESSOR_H_ */
diff --git a/components/esp_peripherals/driver/i2c_bus/i2c_bus.c b/components/esp_peripherals/driver/i2c_bus/i2c_bus.c
index 0d053e8..3c3782b 100644
--- a/components/esp_peripherals/driver/i2c_bus/i2c_bus.c
+++ b/components/esp_peripherals/driver/i2c_bus/i2c_bus.c
@@ -33,7 +33,6 @@
#include "audio_mutex.h"
#include "driver/i2c.h"
#include "esp_log.h"
-#include "freertos/projdefs.h"
#define ESP_INTR_FLG_DEFAULT (0)
#define ESP_I2C_MASTER_BUF_LEN (0)
@@ -117,7 +116,7 @@ esp_err_t i2c_bus_write_bytes(i2c_bus_handle_t bus, int addr, uint8_t *reg,
ret |= i2c_master_write(cmd, reg, regLen, I2C_ACK_CHECK_EN);
ret |= i2c_master_write(cmd, data, datalen, I2C_ACK_CHECK_EN);
ret |= i2c_master_stop(cmd);
- ret |= i2c_master_cmd_begin(p_bus->i2c_port, cmd, pdMS_TO_TICKS(1000));
+ ret |= i2c_master_cmd_begin(p_bus->i2c_port, cmd, 1000 / portTICK_PERIOD_MS);
i2c_cmd_link_delete(cmd);
mutex_unlock(p_bus->bus_lock);
I2C_BUS_CHECK(ret == 0, "I2C Bus WriteReg Error", ESP_FAIL);
@@ -137,7 +136,7 @@ esp_err_t i2c_bus_write_data(i2c_bus_handle_t bus, int addr, uint8_t *data,
ret |= i2c_master_write_byte(cmd, addr, 1);
ret |= i2c_master_write(cmd, data, datalen, I2C_ACK_CHECK_EN);
ret |= i2c_master_stop(cmd);
- ret |= i2c_master_cmd_begin(p_bus->i2c_port, cmd, pdMS_TO_TICKS(1000));
+ ret |= i2c_master_cmd_begin(p_bus->i2c_port, cmd, 1000 / portTICK_PERIOD_MS);
i2c_cmd_link_delete(cmd);
mutex_unlock(p_bus->bus_lock);
I2C_BUS_CHECK(ret == 0, "I2C Bus WriteReg Error", ESP_FAIL);
@@ -159,7 +158,7 @@ esp_err_t i2c_bus_read_bytes(i2c_bus_handle_t bus, int addr, uint8_t *reg,
ret |= i2c_master_write_byte(cmd, addr, I2C_ACK_CHECK_EN);
ret |= i2c_master_write(cmd, reg, reglen, I2C_ACK_CHECK_EN);
ret |= i2c_master_stop(cmd);
- ret |= i2c_master_cmd_begin(p_bus->i2c_port, cmd, pdMS_TO_TICKS(1000));
+ ret |= i2c_master_cmd_begin(p_bus->i2c_port, cmd, 1000 / portTICK_PERIOD_MS);
i2c_cmd_link_delete(cmd);
cmd = i2c_cmd_link_create();
@@ -172,7 +171,7 @@ esp_err_t i2c_bus_read_bytes(i2c_bus_handle_t bus, int addr, uint8_t *reg,
ret |= i2c_master_read_byte(cmd, &outdata[datalen - 1], 1);
ret |= i2c_master_stop(cmd);
- ret |= i2c_master_cmd_begin(p_bus->i2c_port, cmd, pdMS_TO_TICKS(1000));
+ ret |= i2c_master_cmd_begin(p_bus->i2c_port, cmd, 1000 / portTICK_PERIOD_MS);
i2c_cmd_link_delete(cmd);
mutex_unlock(p_bus->bus_lock);
diff --git a/components/esp_peripherals/esp_peripherals.c b/components/esp_peripherals/esp_peripherals.c
index 643fcd5..b3ee531 100644
--- a/components/esp_peripherals/esp_peripherals.c
+++ b/components/esp_peripherals/esp_peripherals.c
@@ -38,7 +38,7 @@
static const char *TAG = "ESP_PERIPH";
-#define DEFAULT_ESP_PERIPH_WAIT_TICK (10 / portTICK_RATE_MS)
+#define DEFAULT_ESP_PERIPH_WAIT_TICK (10 / portTICK_PERIOD_MS)
struct esp_periph {
char *tag;
@@ -57,7 +57,7 @@ struct esp_periph {
typedef struct esp_periph_sets {
EventGroupHandle_t state_event_bits;
- xSemaphoreHandle lock;
+ SemaphoreHandle_t lock;
int task_stack;
int task_prio;
int task_core;
@@ -93,7 +93,7 @@ esp_err_t esp_periph_set_change_waiting_time(
esp_periph_set_handle_t periph_set_handle, int time_ms) {
audio_event_iface_set_cmd_waiting_timeout(
esp_periph_set_get_event_iface(periph_set_handle),
- time_ms / portTICK_RATE_MS);
+ time_ms / portTICK_PERIOD_MS);
return ESP_OK;
}
diff --git a/components/esp_peripherals/periph_button.c b/components/esp_peripherals/periph_button.c
index 697878d..3907409 100644
--- a/components/esp_peripherals/periph_button.c
+++ b/components/esp_peripherals/periph_button.c
@@ -106,7 +106,7 @@ static esp_err_t _button_init(esp_periph_handle_t self) {
};
periph_btn->btn = button_init(&btn_config);
- esp_periph_start_timer(self, 50 / portTICK_RATE_MS, button_timer_handler);
+ esp_periph_start_timer(self, 50 / portTICK_PERIOD_MS, button_timer_handler);
return ret;
}
diff --git a/components/esp_peripherals/periph_console.c b/components/esp_peripherals/periph_console.c
index 8920244..b858a52 100644
--- a/components/esp_peripherals/periph_console.c
+++ b/components/esp_peripherals/periph_console.c
@@ -218,7 +218,7 @@ static void _console_task(void *pv) {
printf("\r\n%s ", prompt_string);
while (console->run) {
if (console_get_line(console, console->buffer_size,
- 10 / portTICK_RATE_MS)) {
+ 10 / portTICK_PERIOD_MS)) {
if (console->total_bytes) {
ESP_LOGD(TAG, "Read line: %s", console->buffer);
}
diff --git a/components/esp_peripherals/periph_led.c b/components/esp_peripherals/periph_led.c
index 3912666..6217738 100644
--- a/components/esp_peripherals/periph_led.c
+++ b/components/esp_peripherals/periph_led.c
@@ -234,7 +234,7 @@ esp_err_t periph_led_blink(esp_periph_handle_t periph, int gpio_num,
}
ch->stop = false;
ch->level = level;
- esp_periph_start_timer(periph, portTICK_RATE_MS, led_timer_handler);
+ esp_periph_start_timer(periph, portTICK_PERIOD_MS, led_timer_handler);
return ESP_OK;
}
diff --git a/components/esp_peripherals/periph_sdcard.c b/components/esp_peripherals/periph_sdcard.c
index 8052178..fdd6658 100644
--- a/components/esp_peripherals/periph_sdcard.c
+++ b/components/esp_peripherals/periph_sdcard.c
@@ -98,7 +98,7 @@ static esp_err_t _sdcard_init(esp_periph_handle_t self) {
} else {
ESP_LOGE(TAG, "no sdcard detect");
}
- esp_periph_start_timer(self, 1000 / portTICK_RATE_MS, sdcard_timer_handler);
+ esp_periph_start_timer(self, 1000 / portTICK_PERIOD_MS, sdcard_timer_handler);
return ESP_OK;
}
diff --git a/components/esp_peripherals/periph_wifi.c b/components/esp_peripherals/periph_wifi.c
index 5f28556..a73b916 100644
--- a/components/esp_peripherals/periph_wifi.c
+++ b/components/esp_peripherals/periph_wifi.c
@@ -346,9 +346,9 @@ static void _wifi_event_callback(void *arg, esp_event_base_t event_base,
if (periph_wifi->disable_auto_reconnect) {
return;
}
- esp_periph_start_timer(self,
- periph_wifi->reconnect_timeout_ms / portTICK_RATE_MS,
- wifi_reconnect_timer);
+ esp_periph_start_timer(
+ self, periph_wifi->reconnect_timeout_ms / portTICK_PERIOD_MS,
+ wifi_reconnect_timer);
} else {
ESP_LOGW(TAG, "WiFi Event cb, Unhandle event_base:%s, event_id:%d",
@@ -395,10 +395,12 @@ static esp_err_t _wifi_event_callback(void *ctx, system_event_t *event) {
break;
}
esp_periph_start_timer(
- self, periph_wifi->reconnect_timeout_ms / portTICK_RATE_MS,
+ self, periph_wifi->reconnect_timeout_ms / portTICK_PERIOD_MS,
wifi_reconnect_timer);
break;
default:
+ ESP_LOGW(TAG, "WiFi Event cb, Unhandled event_id: 0x%08X",
+ event->event_id);
break;
}
return ESP_OK;
diff --git a/components/esp_peripherals/periph_ws2812.c b/components/esp_peripherals/periph_ws2812.c
index 58a92ac..e3dcbce 100644
--- a/components/esp_peripherals/periph_ws2812.c
+++ b/components/esp_peripherals/periph_ws2812.c
@@ -90,7 +90,7 @@ typedef struct periph_ws2812 {
periph_rgb_value *color;
uint32_t led_num;
TimerHandle_t timer;
- xSemaphoreHandle sem;
+ SemaphoreHandle_t sem;
intr_handle_t rmt_intr_handle;
periph_ws2812_state_t *state;
periph_ws2812_process_t process;
@@ -404,7 +404,7 @@ esp_err_t periph_ws2812_control(esp_periph_handle_t periph,
periph_ws2812->state[i].mode = control_cfg[i].mode;
}
- esp_periph_start_timer(periph, INTERVAL_TIME_MS / portTICK_RATE_MS,
+ esp_periph_start_timer(periph, INTERVAL_TIME_MS / portTICK_PERIOD_MS,
ws2812_timer_handler);
return ESP_OK;
diff --git a/components/esp_peripherals/test/esp_peripherals_test.c b/components/esp_peripherals/test/esp_peripherals_test.c
index d87623e..5f2cbe2 100644
--- a/components/esp_peripherals/test/esp_peripherals_test.c
+++ b/components/esp_peripherals/test/esp_peripherals_test.c
@@ -214,7 +214,7 @@ static void periph_console_test(void) {
TEST_ASSERT_FALSE(esp_periph_start(set, console_handle));
while (task_flag) {
- vTaskDelay(10 / portTICK_RATE_MS);
+ vTaskDelay(10 / portTICK_PERIOD_MS);
}
ESP_LOGI(TAG, "Quit test, release all resources");
@@ -295,7 +295,7 @@ static void periph_is31fl3216_test(void) {
periph_is31fl3216_set_state(is31fl3216_handle, IS31FL3216_STATE_SHIFT));
ESP_LOGI(TAG, "Start testing for 5 seconds...");
- vTaskDelay(5000 / portTICK_RATE_MS);
+ vTaskDelay(5000 / portTICK_PERIOD_MS);
ESP_LOGI(TAG, "Quit test, release all resources");
TEST_ASSERT_FALSE(esp_periph_set_stop_all(set));
@@ -326,11 +326,11 @@ static void periph_led_test(void) {
false, 4, 0));
ESP_LOGI(TAG, "running...");
- vTaskDelay(1000 / portTICK_RATE_MS);
+ vTaskDelay(1000 / portTICK_PERIOD_MS);
ESP_LOGI(TAG, "STOP BLUE LED");
TEST_ASSERT_FALSE(periph_led_stop(led_handle, get_blue_led_gpio()));
- vTaskDelay(1000 / portTICK_RATE_MS);
+ vTaskDelay(1000 / portTICK_PERIOD_MS);
ESP_LOGI(TAG, "Changing blink preset...");
TEST_ASSERT_FALSE(periph_led_blink(led_handle, get_blue_led_gpio(), 500, 200,
false, -1, 0));
diff --git a/components/eth_interface/CMakeLists.txt b/components/eth_interface/CMakeLists.txt
index a9122a4..7bed892 100644
--- a/components/eth_interface/CMakeLists.txt
+++ b/components/eth_interface/CMakeLists.txt
@@ -1,8 +1,3 @@
-
-#if(CONFIG_SNAPCLIENT_ENABLE_ETHERNET)
- idf_component_register(SRCS "eth_interface.c"
- INCLUDE_DIRS "include"
- PRIV_REQUIRES driver esp_eth esp_netif)
-#else()
-# idf_component_register()
-#endif()
+idf_component_register(SRCS "eth_interface.c"
+ INCLUDE_DIRS "include"
+ REQUIRES driver esp_eth esp_netif)
diff --git a/components/eth_interface/Kconfig.projbuild b/components/eth_interface/Kconfig.projbuild
index f468908..be5c544 100644
--- a/components/eth_interface/Kconfig.projbuild
+++ b/components/eth_interface/Kconfig.projbuild
@@ -1,51 +1,19 @@
menu "Snapclient Ethernet Configuration"
- config SNAPCLIENT_ENABLE_ETHERNET
- bool "enable Ethernet"
- default n
+
+ orsource "$IDF_PATH/examples/common_components/env_caps/$IDF_TARGET/Kconfig.env_caps"
+
+ config SNAPCLIENT_USE_INTERNAL_ETHERNET
+ depends on SOC_EMAC_SUPPORTED
+ select ETH_USE_ESP32_EMAC
+ default y
+ bool "Internal EMAC"
help
- Enable Ethernet interface
-
- config SNAPCLIENT_USE_SPI_ETHERNET
- bool
- depends on SNAPCLIENT_ENABLE_ETHERNET
-
- choice SNAPCLIENT_ETHERNET_TYPE
- prompt "Ethernet Type"
- default SNAPCLIENT_USE_INTERNAL_ETHERNET if IDF_TARGET_ESP32
- default SNAPCLIENT_USE_W5500
- depends on SNAPCLIENT_ENABLE_ETHERNET
- help
- Select which kind of Ethernet will be used in the example.
-
- config SNAPCLIENT_USE_INTERNAL_ETHERNET
- depends on IDF_TARGET_ESP32
- select ETH_USE_ESP32_EMAC
- bool "Internal EMAC"
- help
- Select internal Ethernet MAC controller.
-
- config SNAPCLIENT_USE_DM9051
- bool "DM9051 Module"
- select SNAPCLIENT_USE_SPI_ETHERNET
- select ETH_USE_SPI_ETHERNET
- select ETH_SPI_ETHERNET_DM9051
- help
- Select external SPI-Ethernet module (DM9051).
-
- config SNAPCLIENT_USE_W5500
- bool "W5500 Module"
- select SNAPCLIENT_USE_SPI_ETHERNET
- select ETH_USE_SPI_ETHERNET
- select ETH_SPI_ETHERNET_W5500
- help
- Select external SPI-Ethernet module (W5500).
- endchoice # SNAPCLIENT_ETHERNET_TYPE
+ Use internal Ethernet MAC controller.
if SNAPCLIENT_USE_INTERNAL_ETHERNET
choice SNAPCLIENT_ETH_PHY_MODEL
prompt "Ethernet PHY Device"
default SNAPCLIENT_ETH_PHY_IP101
- depends on SNAPCLIENT_ENABLE_ETHERNET
help
Select the Ethernet PHY device to use in the example.
@@ -61,11 +29,18 @@ menu "Snapclient Ethernet Configuration"
RTL8201F/SR8201F is a single port 10/100Mb Ethernet Transceiver with auto MDIX.
Goto http://www.corechip-sz.com/productsview.asp?id=22 for more information about it.
- config SNAPCLIENT_ETH_PHY_LAN8720
- bool "LAN8720"
+ config SNAPCLIENT_ETH_PHY_LAN87XX
+ bool "LAN87xx"
help
+ Below chips are supported:
+ LAN8710A is a small footprint MII/RMII 10/100 Ethernet Transceiver with HP Auto-MDIX and
+ flexPWR® Technology.
LAN8720A is a small footprint RMII 10/100 Ethernet Transceiver with HP Auto-MDIX Support.
- Goto https://www.microchip.com/LAN8720A for more information about it.
+ LAN8740A/LAN8741A is a small footprint MII/RMII 10/100 Energy Efficient Ethernet Transceiver
+ with HP Auto-MDIX and flexPWR® Technology.
+ LAN8742A is a small footprint RMII 10/100 Ethernet Transceiver with HP Auto-MDIX and
+ flexPWR® Technology.
+ Goto https://www.microchip.com for more information about them.
config SNAPCLIENT_ETH_PHY_DP83848
bool "DP83848"
@@ -73,98 +48,202 @@ menu "Snapclient Ethernet Configuration"
DP83848 is a single port 10/100Mb/s Ethernet Physical Layer Transceiver.
Goto http://www.ti.com/product/DP83848J for more information about it.
- config SNAPCLIENT_ETH_PHY_KSZ8041
- bool "KSZ8041"
+ config SNAPCLIENT_ETH_PHY_KSZ80XX
+ bool "KSZ80xx"
help
- The KSZ8041 is a single supply 10Base-T/100Base-TX Physical Layer Transceiver.
- Goto https://www.microchip.com/wwwproducts/en/KSZ8041 for more information about it.
+ With the KSZ80xx series, Microchip offers single-chip 10BASE-T/100BASE-TX
+ Ethernet Physical Layer Tranceivers (PHY).
+ The following chips are supported: KSZ8001, KSZ8021, KSZ8031, KSZ8041,
+ KSZ8051, KSZ8061, KSZ8081, KSZ8091
+ Goto https://www.microchip.com for more information about them.
endchoice # SNAPCLIENT_ETH_PHY_MODEL
config SNAPCLIENT_ETH_MDC_GPIO
int "SMI MDC GPIO number"
+ range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
default 23
- depends on SNAPCLIENT_ENABLE_ETHERNET
help
Set the GPIO number used by SMI MDC.
config SNAPCLIENT_ETH_MDIO_GPIO
int "SMI MDIO GPIO number"
+ range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
default 18
- depends on SNAPCLIENT_ENABLE_ETHERNET
help
Set the GPIO number used by SMI MDIO.
+
+ config SNAPCLIENT_ETH_PHY_RST_GPIO
+ int "PHY Reset GPIO number"
+ range -1 ENV_GPIO_OUT_RANGE_MAX
+ default 17
+ help
+ Set the GPIO number used to reset PHY chip.
+ Set to -1 to disable PHY chip hardware reset.
+
+ config SNAPCLIENT_ETH_PHY_ADDR
+ int "PHY Address"
+ range 0 31
+ default 0
+ help
+ Set PHY address according your board schematic.
endif # SNAPCLIENT_USE_INTERNAL_ETHERNET
+ config SNAPCLIENT_USE_SPI_ETHERNET
+ bool "SPI Ethernet"
+ default n
+ select ETH_USE_SPI_ETHERNET
+ help
+ Use external SPI-Ethernet module(s).
+
if SNAPCLIENT_USE_SPI_ETHERNET
+ config SNAPCLIENT_SPI_ETHERNETS_NUM
+ int "Number of SPI Ethernet modules to use at a time"
+ range 1 2
+ default 1
+ help
+ Set the number of SPI Ethernet modules you want to use at a time. Multiple SPI modules can be connected
+ to one SPI interface and can be separately accessed based on state of associated Chip Select (CS).
+
+ choice SNAPCLIENT_ETHERNET_TYPE_SPI
+ prompt "Ethernet SPI"
+ default SNAPCLIENT_USE_W5500
+ help
+ Select which kind of Ethernet will be used in the example.
+
+ config SNAPCLIENT_USE_DM9051
+ bool "DM9051 Module"
+ select ETH_SPI_ETHERNET_DM9051
+ help
+ Select external SPI-Ethernet module (DM9051).
+
+ config SNAPCLIENT_USE_KSZ8851SNL
+ bool "KSZ8851SNL Module"
+ select ETH_SPI_ETHERNET_KSZ8851SNL
+ help
+ Select external SPI-Ethernet module (KSZ8851SNL).
+
+ config SNAPCLIENT_USE_W5500
+ bool "W5500 Module"
+ select ETH_SPI_ETHERNET_W5500
+ help
+ Select external SPI-Ethernet module (W5500).
+ endchoice
+
config SNAPCLIENT_ETH_SPI_HOST
int "SPI Host Number"
range 0 2
default 1
- depends on SNAPCLIENT_ENABLE_ETHERNET
help
Set the SPI host used to communicate with the SPI Ethernet Controller.
config SNAPCLIENT_ETH_SPI_SCLK_GPIO
int "SPI SCLK GPIO number"
- range 0 33
- default 20
- depends on SNAPCLIENT_ENABLE_ETHERNET
+ range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
+ default 14 if IDF_TARGET_ESP32
+ default 12 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3
+ default 6 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2
+ default 4 if IDF_TARGET_ESP32H2
help
Set the GPIO number used by SPI SCLK.
config SNAPCLIENT_ETH_SPI_MOSI_GPIO
int "SPI MOSI GPIO number"
- range 0 33
- default 19
- depends on SNAPCLIENT_ENABLE_ETHERNET
+ range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
+ default 13 if IDF_TARGET_ESP32
+ default 11 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3
+ default 7 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2
+ default 5 if IDF_TARGET_ESP32H2
help
Set the GPIO number used by SPI MOSI.
config SNAPCLIENT_ETH_SPI_MISO_GPIO
int "SPI MISO GPIO number"
- range 0 33
- default 18
- depends on SNAPCLIENT_ENABLE_ETHERNET
+ range ENV_GPIO_RANGE_MIN ENV_GPIO_IN_RANGE_MAX
+ default 12 if IDF_TARGET_ESP32
+ default 13 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3
+ default 2 if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2
+ default 0 if IDF_TARGET_ESP32H2
help
Set the GPIO number used by SPI MISO.
- config SNAPCLIENT_ETH_SPI_CS_GPIO
- int "SPI CS GPIO number"
- range 0 33
- default 21
- depends on SNAPCLIENT_ENABLE_ETHERNET
- help
- Set the GPIO number used by SPI CS.
-
config SNAPCLIENT_ETH_SPI_CLOCK_MHZ
int "SPI clock speed (MHz)"
range 5 80
- default 36
- depends on SNAPCLIENT_ENABLE_ETHERNET
+ default 12 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32H2
+ default 36 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3
help
Set the clock speed (MHz) of SPI interface.
- config SNAPCLIENT_ETH_SPI_INT_GPIO
- int "Interrupt GPIO number"
- default 4
- depends on SNAPCLIENT_ENABLE_ETHERNET
+ config SNAPCLIENT_ETH_SPI_CS0_GPIO
+ int "SPI CS0 GPIO number for SPI Ethernet module #1"
+ range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
+ default 15 if IDF_TARGET_ESP32
+ default 10 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C2
+ default 1 if IDF_TARGET_ESP32H2
help
- Set the GPIO number used by the SPI Ethernet module interrupt line.
+ Set the GPIO number used by SPI CS0, i.e. Chip Select associated with the first SPI Eth module).
+
+ config SNAPCLIENT_ETH_SPI_CS1_GPIO
+ depends on SNAPCLIENT_SPI_ETHERNETS_NUM > 1
+ int "SPI CS1 GPIO number for SPI Ethernet module #2"
+ range ENV_GPIO_RANGE_MIN ENV_GPIO_OUT_RANGE_MAX
+ default 32 if IDF_TARGET_ESP32
+ default 7 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3
+ default 8 if IDF_TARGET_ESP32C3
+ default 3 if IDF_TARGET_ESP32C2
+ default 11 if IDF_TARGET_ESP32H2
+ help
+ Set the GPIO number used by SPI CS1, i.e. Chip Select associated with the second SPI Eth module.
+
+ config SNAPCLIENT_ETH_SPI_INT0_GPIO
+ int "Interrupt GPIO number SPI Ethernet module #1"
+ range ENV_GPIO_RANGE_MIN ENV_GPIO_IN_RANGE_MAX
+ default 4 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3
+ default 4 if IDF_TARGET_ESP32C2
+ default 9 if IDF_TARGET_ESP32H2
+ help
+ Set the GPIO number used by the first SPI Ethernet module interrupt line.
+
+ config SNAPCLIENT_ETH_SPI_INT1_GPIO
+ depends on SNAPCLIENT_SPI_ETHERNETS_NUM > 1
+ int "Interrupt GPIO number SPI Ethernet module #2"
+ range ENV_GPIO_RANGE_MIN ENV_GPIO_IN_RANGE_MAX
+ default 33 if IDF_TARGET_ESP32
+ default 5 if IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C2
+ default 10 if IDF_TARGET_ESP32H2
+ help
+ Set the GPIO number used by the second SPI Ethernet module interrupt line.
+
+ config SNAPCLIENT_ETH_SPI_PHY_RST0_GPIO
+ int "PHY Reset GPIO number of SPI Ethernet Module #1"
+ range -1 ENV_GPIO_OUT_RANGE_MAX
+ default -1
+ help
+ Set the GPIO number used to reset PHY chip on the first SPI Ethernet module.
+ Set to -1 to disable PHY chip hardware reset.
+
+ config SNAPCLIENT_ETH_SPI_PHY_RST1_GPIO
+ depends on SNAPCLIENT_SPI_ETHERNETS_NUM > 1
+ int "PHY Reset GPIO number of SPI Ethernet Module #2"
+ range -1 ENV_GPIO_OUT_RANGE_MAX
+ default -1
+ help
+ Set the GPIO number used to reset PHY chip on the second SPI Ethernet module.
+ Set to -1 to disable PHY chip hardware reset.
+
+ config SNAPCLIENT_ETH_SPI_PHY_ADDR0
+ int "PHY Address of SPI Ethernet Module #1"
+ range 0 31
+ default 1
+ help
+ Set the first SPI Ethernet module PHY address according your board schematic.
+
+ config SNAPCLIENT_ETH_SPI_PHY_ADDR1
+ depends on SNAPCLIENT_SPI_ETHERNETS_NUM > 1
+ int "PHY Address of SPI Ethernet Module #2"
+ range 0 31
+ default 1
+ help
+ Set the second SPI Ethernet module PHY address according your board schematic.
endif # SNAPCLIENT_USE_SPI_ETHERNET
-
- config SNAPCLIENT_ETH_PHY_RST_GPIO
- int "PHY Reset GPIO number"
- default 17
- depends on SNAPCLIENT_ENABLE_ETHERNET
- help
- Set the GPIO number used to reset PHY chip.
- Set to -1 to disable PHY chip hardware reset.
-
- config SNAPCLIENT_ETH_PHY_ADDR
- int "PHY Address"
- range 0 31
- default 0
- depends on SNAPCLIENT_ENABLE_ETHERNET
- help
- Set PHY address according your board schematic.
endmenu
diff --git a/components/eth_interface/eth_interface.c b/components/eth_interface/eth_interface.c
index d82bc79..460b1fa 100644
--- a/components/eth_interface/eth_interface.c
+++ b/components/eth_interface/eth_interface.c
@@ -1,15 +1,15 @@
-/* Ethernet Basic Example
+/*
+ * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Unlicense OR CC0-1.0
+ */
+#include "eth_interface.h"
- This example code is in the Public Domain (or CC0 licensed, at your option.)
-
- Unless required by applicable law or agreed to in writing, this
- software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
- CONDITIONS OF ANY KIND, either express or implied.
-*/
#include
#include
#include "driver/gpio.h"
+#include "esp_check.h"
#include "esp_eth.h"
#include "esp_event.h"
#include "esp_log.h"
@@ -19,16 +19,11 @@
#include "freertos/event_groups.h"
#include "freertos/task.h"
#include "sdkconfig.h"
-#if CONFIG_ETH_USE_SPI_ETHERNET
+#if CONFIG_SNAPCLIENT_USE_SPI_ETHERNET
#include "driver/spi_master.h"
-#endif // CONFIG_ETH_USE_SPI_ETHERNET
+#endif
-static const char *TAG = "ETH";
-
-static esp_eth_handle_t s_eth_handle = NULL;
-static esp_eth_mac_t *s_mac = NULL;
-static esp_eth_phy_t *s_phy = NULL;
-static esp_eth_netif_glue_handle_t s_eth_glue = NULL;
+static const char *TAG = "snapclient_eth_init";
/* The event group allows multiple bits for each event, but we only care about
* two events:
@@ -39,11 +34,324 @@ static esp_eth_netif_glue_handle_t s_eth_glue = NULL;
static EventGroupHandle_t s_eth_event_group;
+#if CONFIG_SNAPCLIENT_SPI_ETHERNETS_NUM
+#define SPI_ETHERNETS_NUM CONFIG_SNAPCLIENT_SPI_ETHERNETS_NUM
+#else
+#define SPI_ETHERNETS_NUM 0
+#endif
+
+#if CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET
+#define INTERNAL_ETHERNETS_NUM 1
+#else
+#define INTERNAL_ETHERNETS_NUM 0
+#endif
+
+#define INIT_SPI_ETH_MODULE_CONFIG(eth_module_config, num) \
+ do { \
+ eth_module_config[num].spi_cs_gpio = \
+ CONFIG_SNAPCLIENT_ETH_SPI_CS##num##_GPIO; \
+ eth_module_config[num].int_gpio = \
+ CONFIG_SNAPCLIENT_ETH_SPI_INT##num##_GPIO; \
+ eth_module_config[num].phy_reset_gpio = \
+ CONFIG_SNAPCLIENT_ETH_SPI_PHY_RST##num##_GPIO; \
+ eth_module_config[num].phy_addr = CONFIG_SNAPCLIENT_ETH_SPI_PHY_ADDR##num; \
+ } while (0)
+
+typedef struct {
+ uint8_t spi_cs_gpio;
+ uint8_t int_gpio;
+ int8_t phy_reset_gpio;
+ uint8_t phy_addr;
+ uint8_t *mac_addr;
+} spi_eth_module_config_t;
+
+#if CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET
+/**
+ * @brief Internal ESP32 Ethernet initialization
+ *
+ * @param[out] mac_out optionally returns Ethernet MAC object
+ * @param[out] phy_out optionally returns Ethernet PHY object
+ * @return
+ * - esp_eth_handle_t if init succeeded
+ * - NULL if init failed
+ */
+static esp_eth_handle_t eth_init_internal(esp_eth_mac_t **mac_out,
+ esp_eth_phy_t **phy_out) {
+ esp_eth_handle_t ret = NULL;
+
+ // Init common MAC and PHY configs to default
+ eth_mac_config_t mac_config = ETH_MAC_DEFAULT_CONFIG();
+ eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG();
+
+ // Update PHY config based on board specific configuration
+ phy_config.phy_addr = CONFIG_SNAPCLIENT_ETH_PHY_ADDR;
+ phy_config.reset_gpio_num = CONFIG_SNAPCLIENT_ETH_PHY_RST_GPIO;
+
+ // Init vendor specific MAC config to default
+ eth_esp32_emac_config_t esp32_emac_config = ETH_ESP32_EMAC_DEFAULT_CONFIG();
+ // Update vendor specific MAC config based on board configuration
+ esp32_emac_config.smi_mdc_gpio_num = CONFIG_SNAPCLIENT_ETH_MDC_GPIO;
+ esp32_emac_config.smi_mdio_gpio_num = CONFIG_SNAPCLIENT_ETH_MDIO_GPIO;
+
+ // Set clock mode and GPIO
+#if CONFIG_ETH_RMII_CLK_INPUT
+ esp32_emac_config.clock_config.rmii.clock_mode = EMAC_CLK_EXT_IN;
+#elif CONFIG_ETH_RMII_CLK_OUTPUT
+ esp32_emac_config.clock_config.rmii.clock_mode = EMAC_CLK_EXT_OUT;
+#else
+ esp32_emac_config.clock_config.rmii.clock_mode = EMAC_CLK_DEFAULT;
+#endif
+ esp32_emac_config.clock_config.rmii.clock_gpio = CONFIG_ETH_RMII_CLK_IN_GPIO;
+
+ // Create new ESP32 Ethernet MAC instance
+ esp_eth_mac_t *mac = esp_eth_mac_new_esp32(&esp32_emac_config, &mac_config);
+
+ // Create new PHY instance based on board configuration
+#if CONFIG_SNAPCLIENT_ETH_PHY_IP101
+ esp_eth_phy_t *phy = esp_eth_phy_new_ip101(&phy_config);
+#elif CONFIG_SNAPCLIENT_ETH_PHY_RTL8201
+ esp_eth_phy_t *phy = esp_eth_phy_new_rtl8201(&phy_config);
+#elif CONFIG_SNAPCLIENT_ETH_PHY_LAN87XX
+ esp_eth_phy_t *phy = esp_eth_phy_new_lan87xx(&phy_config);
+#elif CONFIG_SNAPCLIENT_ETH_PHY_DP83848
+ esp_eth_phy_t *phy = esp_eth_phy_new_dp83848(&phy_config);
+#elif CONFIG_SNAPCLIENT_ETH_PHY_KSZ80XX
+ esp_eth_phy_t *phy = esp_eth_phy_new_ksz80xx(&phy_config);
+#endif
+
+ // Init Ethernet driver to default and install it
+ esp_eth_handle_t eth_handle = NULL;
+ esp_eth_config_t config = ETH_DEFAULT_CONFIG(mac, phy);
+ ESP_GOTO_ON_FALSE(esp_eth_driver_install(&config, ð_handle) == ESP_OK,
+ NULL, err, TAG, "Ethernet driver install failed");
+
+ if (mac_out != NULL) {
+ *mac_out = mac;
+ }
+ if (phy_out != NULL) {
+ *phy_out = phy;
+ }
+ return eth_handle;
+err:
+ if (eth_handle != NULL) {
+ esp_eth_driver_uninstall(eth_handle);
+ }
+ if (mac != NULL) {
+ mac->del(mac);
+ }
+ if (phy != NULL) {
+ phy->del(phy);
+ }
+ return ret;
+}
+#endif // CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET
+
+#if CONFIG_SNAPCLIENT_USE_SPI_ETHERNET
+/**
+ * @brief SPI bus initialization (to be used by Ethernet SPI modules)
+ *
+ * @return
+ * - ESP_OK on success
+ */
+static esp_err_t spi_bus_init(void) {
+ esp_err_t ret = ESP_OK;
+
+ // Install GPIO ISR handler to be able to service SPI Eth modules interrupts
+ ret = gpio_install_isr_service(0);
+ if (ret != ESP_OK) {
+ if (ret == ESP_ERR_INVALID_STATE) {
+ ESP_LOGW(TAG, "GPIO ISR handler has been already installed");
+ ret = ESP_OK; // ISR handler has been already installed so no issues
+ } else {
+ ESP_LOGE(TAG, "GPIO ISR handler install failed");
+ goto err;
+ }
+ }
+
+ // Init SPI bus
+ spi_bus_config_t buscfg = {
+ .miso_io_num = CONFIG_SNAPCLIENT_ETH_SPI_MISO_GPIO,
+ .mosi_io_num = CONFIG_SNAPCLIENT_ETH_SPI_MOSI_GPIO,
+ .sclk_io_num = CONFIG_SNAPCLIENT_ETH_SPI_SCLK_GPIO,
+ .quadwp_io_num = -1,
+ .quadhd_io_num = -1,
+ };
+ ESP_GOTO_ON_ERROR(spi_bus_initialize(CONFIG_SNAPCLIENT_ETH_SPI_HOST, &buscfg,
+ SPI_DMA_CH_AUTO),
+ err, TAG, "SPI host #%d init failed",
+ CONFIG_SNAPCLIENT_ETH_SPI_HOST);
+
+err:
+ return ret;
+}
+
+/**
+ * @brief Ethernet SPI modules initialization
+ *
+ * @param[in] spi_eth_module_config specific SPI Ethernet module configuration
+ * @param[out] mac_out optionally returns Ethernet MAC object
+ * @param[out] phy_out optionally returns Ethernet PHY object
+ * @return
+ * - esp_eth_handle_t if init succeeded
+ * - NULL if init failed
+ */
+static esp_eth_handle_t eth_init_spi(
+ spi_eth_module_config_t *spi_eth_module_config, esp_eth_mac_t **mac_out,
+ esp_eth_phy_t **phy_out) {
+ esp_eth_handle_t ret = NULL;
+
+ // Init common MAC and PHY configs to default
+ eth_mac_config_t mac_config = ETH_MAC_DEFAULT_CONFIG();
+ eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG();
+
+ // Update PHY config based on board specific configuration
+ phy_config.phy_addr = spi_eth_module_config->phy_addr;
+ phy_config.reset_gpio_num = spi_eth_module_config->phy_reset_gpio;
+
+ // Configure SPI interface for specific SPI module
+ spi_device_interface_config_t spi_devcfg = {
+ .mode = 0,
+ .clock_speed_hz = CONFIG_SNAPCLIENT_ETH_SPI_CLOCK_MHZ * 1000 * 1000,
+ .queue_size = 20,
+ .spics_io_num = spi_eth_module_config->spi_cs_gpio};
+ // Init vendor specific MAC config to default, and create new SPI Ethernet MAC
+ // instance and new PHY instance based on board configuration
+#if CONFIG_SNAPCLIENT_USE_KSZ8851SNL
+ eth_ksz8851snl_config_t ksz8851snl_config = ETH_KSZ8851SNL_DEFAULT_CONFIG(
+ CONFIG_SNAPCLIENT_ETH_SPI_HOST, &spi_devcfg);
+ ksz8851snl_config.int_gpio_num = spi_eth_module_config->int_gpio;
+ esp_eth_mac_t *mac =
+ esp_eth_mac_new_ksz8851snl(&ksz8851snl_config, &mac_config);
+ esp_eth_phy_t *phy = esp_eth_phy_new_ksz8851snl(&phy_config);
+#elif CONFIG_SNAPCLIENT_USE_DM9051
+ eth_dm9051_config_t dm9051_config =
+ ETH_DM9051_DEFAULT_CONFIG(CONFIG_SNAPCLIENT_ETH_SPI_HOST, &spi_devcfg);
+ dm9051_config.int_gpio_num = spi_eth_module_config->int_gpio;
+ esp_eth_mac_t *mac = esp_eth_mac_new_dm9051(&dm9051_config, &mac_config);
+ esp_eth_phy_t *phy = esp_eth_phy_new_dm9051(&phy_config);
+#elif CONFIG_SNAPCLIENT_USE_W5500
+ eth_w5500_config_t w5500_config =
+ ETH_W5500_DEFAULT_CONFIG(CONFIG_SNAPCLIENT_ETH_SPI_HOST, &spi_devcfg);
+ w5500_config.int_gpio_num = spi_eth_module_config->int_gpio;
+ esp_eth_mac_t *mac = esp_eth_mac_new_w5500(&w5500_config, &mac_config);
+ esp_eth_phy_t *phy = esp_eth_phy_new_w5500(&phy_config);
+#endif // CONFIG_SNAPCLIENT_USE_W5500
+ // Init Ethernet driver to default and install it
+ esp_eth_handle_t eth_handle = NULL;
+ esp_eth_config_t eth_config_spi = ETH_DEFAULT_CONFIG(mac, phy);
+ ESP_GOTO_ON_FALSE(
+ esp_eth_driver_install(ð_config_spi, ð_handle) == ESP_OK, NULL, err,
+ TAG, "SPI Ethernet driver install failed");
+
+ // The SPI Ethernet module might not have a burned factory MAC address, we can
+ // set it manually.
+ if (spi_eth_module_config->mac_addr != NULL) {
+ ESP_GOTO_ON_FALSE(esp_eth_ioctl(eth_handle, ETH_CMD_S_MAC_ADDR,
+ spi_eth_module_config->mac_addr) == ESP_OK,
+ NULL, err, TAG, "SPI Ethernet MAC address config failed");
+ }
+
+ if (mac_out != NULL) {
+ *mac_out = mac;
+ }
+ if (phy_out != NULL) {
+ *phy_out = phy;
+ }
+ return eth_handle;
+err:
+ if (eth_handle != NULL) {
+ esp_eth_driver_uninstall(eth_handle);
+ }
+ if (mac != NULL) {
+ mac->del(mac);
+ }
+ if (phy != NULL) {
+ phy->del(phy);
+ }
+ return ret;
+}
+#endif // CONFIG_SNAPCLIENT_USE_SPI_ETHERNET
+
+/** Original init function in the example */
+esp_err_t original_eth_init(esp_eth_handle_t *eth_handles_out[],
+ uint8_t *eth_cnt_out) {
+ esp_err_t ret = ESP_OK;
+ esp_eth_handle_t *eth_handles = NULL;
+ uint8_t eth_cnt = 0;
+
+#if CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET || \
+ CONFIG_SNAPCLIENT_USE_SPI_ETHERNET
+ ESP_GOTO_ON_FALSE(
+ eth_handles_out != NULL && eth_cnt_out != NULL, ESP_ERR_INVALID_ARG, err,
+ TAG,
+ "invalid arguments: initialized handles array or number of interfaces");
+ eth_handles = calloc(SPI_ETHERNETS_NUM + INTERNAL_ETHERNETS_NUM,
+ sizeof(esp_eth_handle_t));
+ ESP_GOTO_ON_FALSE(eth_handles != NULL, ESP_ERR_NO_MEM, err, TAG, "no memory");
+
+#if CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET
+ eth_handles[eth_cnt] = eth_init_internal(NULL, NULL);
+ ESP_GOTO_ON_FALSE(eth_handles[eth_cnt], ESP_FAIL, err, TAG,
+ "internal Ethernet init failed");
+ eth_cnt++;
+#endif // CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET
+
+#if CONFIG_SNAPCLIENT_USE_SPI_ETHERNET
+ ESP_GOTO_ON_ERROR(spi_bus_init(), err, TAG, "SPI bus init failed");
+ // Init specific SPI Ethernet module configuration from Kconfig (CS GPIO,
+ // Interrupt GPIO, etc.)
+ spi_eth_module_config_t
+ spi_eth_module_config[CONFIG_SNAPCLIENT_SPI_ETHERNETS_NUM] = {0};
+ INIT_SPI_ETH_MODULE_CONFIG(spi_eth_module_config, 0);
+ // The SPI Ethernet module(s) might not have a burned factory MAC address,
+ // hence use manually configured address(es). In this example, Locally
+ // Administered MAC address derived from ESP32x base MAC address is used. Note
+ // that Locally Administered OUI range should be used only when testing on a
+ // LAN under your control!
+ uint8_t base_mac_addr[ETH_ADDR_LEN];
+ ESP_GOTO_ON_ERROR(esp_efuse_mac_get_default(base_mac_addr), err, TAG,
+ "get EFUSE MAC failed");
+ uint8_t local_mac_1[ETH_ADDR_LEN];
+ esp_derive_local_mac(local_mac_1, base_mac_addr);
+ spi_eth_module_config[0].mac_addr = local_mac_1;
+#if CONFIG_SNAPCLIENT_SPI_ETHERNETS_NUM > 1
+ INIT_SPI_ETH_MODULE_CONFIG(spi_eth_module_config, 1);
+ uint8_t local_mac_2[ETH_ADDR_LEN];
+ base_mac_addr[ETH_ADDR_LEN - 1] += 1;
+ esp_derive_local_mac(local_mac_2, base_mac_addr);
+ spi_eth_module_config[1].mac_addr = local_mac_2;
+#endif
+#if CONFIG_SNAPCLIENT_SPI_ETHERNETS_NUM > 2
+#error Maximum number of supported SPI Ethernet devices is currently limited to 2 by this example.
+#endif
+ for (int i = 0; i < CONFIG_SNAPCLIENT_SPI_ETHERNETS_NUM; i++) {
+ eth_handles[eth_cnt] = eth_init_spi(&spi_eth_module_config[i], NULL, NULL);
+ ESP_GOTO_ON_FALSE(eth_handles[eth_cnt], ESP_FAIL, err, TAG,
+ "SPI Ethernet init failed");
+ eth_cnt++;
+ }
+#endif // CONFIG_ETH_USE_SPI_ETHERNET
+#else
+ ESP_LOGD(TAG, "no Ethernet device selected to init");
+#endif // CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET ||
+ // CONFIG_SNAPCLIENT_USE_SPI_ETHERNET
+ *eth_handles_out = eth_handles;
+ *eth_cnt_out = eth_cnt;
+
+ return ret;
+#if CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET || \
+ CONFIG_SNAPCLIENT_USE_SPI_ETHERNET
+err:
+ free(eth_handles);
+ return ret;
+#endif
+}
+
/** Event handler for Ethernet events */
static void eth_event_handler(void *arg, esp_event_base_t event_base,
int32_t event_id, void *event_data) {
uint8_t mac_addr[6] = {0};
- /* we can get the Ethernet driver handle from event data */
+ /* we can get the ethernet driver handle from event data */
esp_eth_handle_t eth_handle = *(esp_eth_handle_t *)event_data;
switch (event_id) {
@@ -53,7 +361,6 @@ static void eth_event_handler(void *arg, esp_event_base_t event_base,
ESP_LOGI(TAG, "Ethernet HW Addr %02x:%02x:%02x:%02x:%02x:%02x",
mac_addr[0], mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4],
mac_addr[5]);
-
break;
case ETHERNET_EVENT_DISCONNECTED:
ESP_LOGI(TAG, "Ethernet Link Down");
@@ -86,112 +393,64 @@ static void got_ip_event_handler(void *arg, esp_event_base_t event_base,
xEventGroupSetBits(s_eth_event_group, ETH_CONNECTED_BIT);
}
+/** Init function that exposes to the main application */
void eth_init(void) {
- // Initialize TCP/IP network interface (should be called only once in
- // application)
+ // Initialize Ethernet driver
+ uint8_t eth_port_cnt = 0;
+ esp_eth_handle_t *eth_handles;
+ ESP_ERROR_CHECK(original_eth_init(ð_handles, ð_port_cnt));
+
+ // Initialize TCP/IP network interface aka the esp-netif (should be called
+ // only once in application)
ESP_ERROR_CHECK(esp_netif_init());
// Create default event loop that running in background
ESP_ERROR_CHECK(esp_event_loop_create_default());
- esp_netif_inherent_config_t esp_netif_config =
- ESP_NETIF_INHERENT_DEFAULT_ETH();
- // Warning: the interface desc is used in tests to capture actual connection
- // details (IP, gw, mask)
- esp_netif_config.if_desc = "eth";
- esp_netif_config.route_prio = 64;
- esp_netif_config_t netif_config = {.base = &esp_netif_config,
- .stack = ESP_NETIF_NETSTACK_DEFAULT_ETH};
- esp_netif_t *netif = esp_netif_new(&netif_config);
- assert(netif);
+ // Create instance(s) of esp-netif for Ethernet(s)
+ if (eth_port_cnt == 1) {
+ // Use ESP_NETIF_DEFAULT_ETH when just one Ethernet interface is used and
+ // you don't need to modify default esp-netif configuration parameters.
+ esp_netif_config_t cfg = ESP_NETIF_DEFAULT_ETH();
+ esp_netif_t *eth_netif = esp_netif_new(&cfg);
+ // Attach Ethernet driver to TCP/IP stack
+ ESP_ERROR_CHECK(
+ esp_netif_attach(eth_netif, esp_eth_new_netif_glue(eth_handles[0])));
+ } else {
+ // Use ESP_NETIF_INHERENT_DEFAULT_ETH when multiple Ethernet interfaces are
+ // used and so you need to modify esp-netif configuration parameters for
+ // each interface (name, priority, etc.).
+ esp_netif_inherent_config_t esp_netif_config =
+ ESP_NETIF_INHERENT_DEFAULT_ETH();
+ esp_netif_config_t cfg_spi = {.base = &esp_netif_config,
+ .stack = ESP_NETIF_NETSTACK_DEFAULT_ETH};
+ char if_key_str[10];
+ char if_desc_str[10];
+ char num_str[3];
+ for (int i = 0; i < eth_port_cnt; i++) {
+ itoa(i, num_str, 10);
+ strcat(strcpy(if_key_str, "ETH_"), num_str);
+ strcat(strcpy(if_desc_str, "eth"), num_str);
+ esp_netif_config.if_key = if_key_str;
+ esp_netif_config.if_desc = if_desc_str;
+ esp_netif_config.route_prio -= i * 5;
+ esp_netif_t *eth_netif = esp_netif_new(&cfg_spi);
- eth_mac_config_t mac_config = ETH_MAC_DEFAULT_CONFIG();
- mac_config.rx_task_stack_size = 2048;
- eth_phy_config_t phy_config = ETH_PHY_DEFAULT_CONFIG();
- phy_config.phy_addr = CONFIG_SNAPCLIENT_ETH_PHY_ADDR;
- phy_config.reset_gpio_num = CONFIG_SNAPCLIENT_ETH_PHY_RST_GPIO;
-#if CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET
- eth_esp32_emac_config_t esp32_emac_config = ETH_ESP32_EMAC_DEFAULT_CONFIG();
- esp32_emac_config.smi_mdc_gpio_num = CONFIG_SNAPCLIENT_ETH_MDC_GPIO;
- esp32_emac_config.smi_mdio_gpio_num = CONFIG_SNAPCLIENT_ETH_MDIO_GPIO;
- s_mac = esp_eth_mac_new_esp32(&esp32_emac_config, &mac_config);
-#if CONFIG_SNAPCLIENT_ETH_PHY_IP101
- s_phy = esp_eth_phy_new_ip101(&phy_config);
-#elif CONFIG_SNAPCLIENT_ETH_PHY_RTL8201
- s_phy = esp_eth_phy_new_rtl8201(&phy_config);
-#elif CONFIG_SNAPCLIENT_ETH_PHY_LAN8720
- s_phy = esp_eth_phy_new_lan87xx(&phy_config);
-#elif CONFIG_SNAPCLIENT_ETH_PHY_DP83848
- s_phy = esp_eth_phy_new_dp83848(&phy_config);
-#elif CONFIG_SNAPCLIENT_ETH_PHY_KSZ8041
- s_phy = esp_eth_phy_new_ksz80xx(&phy_config);
-#endif
-#elif CONFIG_SNAPCLIENT_USE_SPI_ETHERNET
- gpio_install_isr_service(0);
- spi_bus_config_t buscfg = {
- .miso_io_num = CONFIG_SNAPCLIENT_ETH_SPI_MISO_GPIO,
- .mosi_io_num = CONFIG_SNAPCLIENT_ETH_SPI_MOSI_GPIO,
- .sclk_io_num = CONFIG_SNAPCLIENT_ETH_SPI_SCLK_GPIO,
- .quadwp_io_num = -1,
- .quadhd_io_num = -1,
- };
- ESP_ERROR_CHECK(spi_bus_initialize(CONFIG_SNAPCLIENT_ETH_SPI_HOST, &buscfg,
- SPI_DMA_CH_AUTO));
- spi_device_interface_config_t spi_devcfg = {
- .mode = 0,
- .clock_speed_hz = CONFIG_SNAPCLIENT_ETH_SPI_CLOCK_MHZ * 1000 * 1000,
- .spics_io_num = CONFIG_SNAPCLIENT_ETH_SPI_CS_GPIO,
- .queue_size = 20};
-#if CONFIG_SNAPCLIENT_USE_DM9051
- /* dm9051 ethernet driver is based on spi driver */
- eth_dm9051_config_t dm9051_config =
- ETH_DM9051_DEFAULT_CONFIG(CONFIG_SNAPCLIENT_ETH_SPI_HOST, &spi_devcfg);
- dm9051_config.int_gpio_num = CONFIG_SNAPCLIENT_ETH_SPI_INT_GPIO;
- s_mac = esp_eth_mac_new_dm9051(&dm9051_config, &mac_config);
- s_phy = esp_eth_phy_new_dm9051(&phy_config);
-#elif CONFIG_SNAPCLIENT_USE_W5500
- /* w5500 ethernet driver is based on spi driver */
- eth_w5500_config_t w5500_config =
- ETH_W5500_DEFAULT_CONFIG(CONFIG_SNAPCLIENT_ETH_SPI_HOST, &spi_devcfg);
- w5500_config.int_gpio_num = CONFIG_SNAPCLIENT_ETH_SPI_INT_GPIO;
- s_mac = esp_eth_mac_new_w5500(&w5500_config, &mac_config);
- s_phy = esp_eth_phy_new_w5500(&phy_config);
-#endif
-#elif CONFIG_SNAPCLIENT_USE_OPENETH
- phy_config.autonego_timeout_ms = 100;
- s_mac = esp_eth_mac_new_openeth(&mac_config);
- s_phy = esp_eth_phy_new_dp83848(&phy_config);
-#endif
-
- // Install Ethernet driver
- esp_eth_config_t config = ETH_DEFAULT_CONFIG(s_mac, s_phy);
- ESP_ERROR_CHECK(esp_eth_driver_install(&config, &s_eth_handle));
-#if !CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET
- /* The SPI Ethernet module might doesn't have a burned factory MAC address, we
- cat to set it manually. We set the ESP_MAC_ETH mac address as the default,
- if you want to use ESP_MAC_EFUSE_CUSTOM mac address, please enable the
- configuration: `ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC`
- */
- uint8_t eth_mac[6] = {0};
- ESP_ERROR_CHECK(esp_read_mac(eth_mac, ESP_MAC_ETH));
- ESP_ERROR_CHECK(esp_eth_ioctl(s_eth_handle, ETH_CMD_S_MAC_ADDR, eth_mac));
-#endif
- // combine driver with netif
- s_eth_glue = esp_eth_new_netif_glue(s_eth_handle);
- esp_netif_attach(netif, s_eth_glue);
+ // Attach Ethernet driver to TCP/IP stack
+ ESP_ERROR_CHECK(
+ esp_netif_attach(eth_netif, esp_eth_new_netif_glue(eth_handles[i])));
+ }
+ }
// Register user defined event handers
ESP_ERROR_CHECK(esp_event_handler_register(ETH_EVENT, ESP_EVENT_ANY_ID,
ð_event_handler, NULL));
ESP_ERROR_CHECK(esp_event_handler_register(IP_EVENT, IP_EVENT_ETH_GOT_IP,
&got_ip_event_handler, NULL));
-#ifdef CONFIG_SNAPCLIENT_CONNECT_IPV6
- ESP_ERROR_CHECK(esp_event_handler_register(
- ETH_EVENT, ETHERNET_EVENT_CONNECTED, &on_eth_event, netif));
- ESP_ERROR_CHECK(esp_event_handler_register(IP_EVENT, IP_EVENT_GOT_IP6,
- ð_on_got_ipv6, NULL));
-#endif
- esp_eth_start(s_eth_handle);
+ // Start Ethernet driver state machine
+ for (int i = 0; i < eth_port_cnt; i++) {
+ ESP_ERROR_CHECK(esp_eth_start(eth_handles[i]));
+ }
/* Waiting until either the connection is established (ETH_CONNECTED_BIT) or
* connection failed for the maximum number of re-tries (ETH_FAIL_BIT). The
diff --git a/components/eth_interface/include/eth_interface.h b/components/eth_interface/include/eth_interface.h
index 943e114..5fc6bcc 100644
--- a/components/eth_interface/include/eth_interface.h
+++ b/components/eth_interface/include/eth_interface.h
@@ -1,6 +1,13 @@
-#ifndef _ETH_INTERFACE_H_
-#define _ETH_INTERFACE_H_
+#pragma once
+
+#include "esp_eth_driver.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
void eth_init(void);
-#endif /* _ETH_INTERFACE_H_ */
+#ifdef __cplusplus
+}
+#endif
diff --git a/components/improv_wifi/CMakeLists.txt b/components/improv_wifi/CMakeLists.txt
new file mode 100644
index 0000000..5c41231
--- /dev/null
+++ b/components/improv_wifi/CMakeLists.txt
@@ -0,0 +1,11 @@
+cmake_minimum_required(VERSION 3.15)
+
+# Build as an ESP-IDF component
+ idf_component_register(
+ SRCS "improvWifi.cpp" "improv_wrapper.cpp" "wifi_provisioning.c"
+ PRIV_INCLUDE_DIRS "Improv-WiFi-Library/src" "priv_include"
+ INCLUDE_DIRS "include"
+ PRIV_REQUIRES driver esp_wifi wifi_interface
+ #SRCS "Improv-WiFi-Library/src/ImprovWiFiLibrary.cpp" "wifi_provisioning.c"
+ #INCLUDE_DIRS "Improv-WiFi-Library/src" "include"
+ )
diff --git a/components/improv_wifi/Improv-WiFi-Library b/components/improv_wifi/Improv-WiFi-Library
new file mode 160000
index 0000000..f02cb67
--- /dev/null
+++ b/components/improv_wifi/Improv-WiFi-Library
@@ -0,0 +1 @@
+Subproject commit f02cb672639ad6c62d61180dee2c98576f7fdb43
diff --git a/components/improv_wifi/improvWifi.cpp b/components/improv_wifi/improvWifi.cpp
new file mode 100644
index 0000000..0fa4de2
--- /dev/null
+++ b/components/improv_wifi/improvWifi.cpp
@@ -0,0 +1,414 @@
+/*
+ * improvWifi.cpp
+ *
+ * Created on: Apr 29, 2024
+ * Author: karl
+ */
+#include "improvWifi.h"
+
+#include
+
+void ImprovWiFi::handleSerial(const uint8_t *data, size_t length) {
+ while (data && (length > 0)) {
+ uint8_t b = *data;
+
+ if (parseImprovSerial(_position, b, _buffer)) {
+ _buffer[_position++] = b;
+ } else {
+ _position = 0;
+ }
+
+ length--;
+ data++;
+ }
+}
+
+void ImprovWiFi::SerialWriteCallback(const unsigned char *txData, int length) {
+ if (serWriteCallback) {
+ serWriteCallback(txData, length);
+ }
+}
+
+void ImprovWiFi::onErrorCallback(ImprovTypes::Error err) {
+ if (onImproErrorCallback) {
+ onImproErrorCallback(err);
+ }
+}
+
+bool ImprovWiFi::onCommandCallback(ImprovTypes::ImprovCommand cmd) {
+ switch (cmd.command) {
+ case ImprovTypes::Command::GET_CURRENT_STATE: {
+ if (isConnected()) {
+ setState(ImprovTypes::State::STATE_PROVISIONED);
+ sendDeviceUrl(cmd.command);
+ } else {
+ setState(ImprovTypes::State::STATE_AUTHORIZED);
+ }
+
+ break;
+ }
+
+ case ImprovTypes::Command::WIFI_SETTINGS: {
+ if (cmd.ssid.empty()) {
+ setError(ImprovTypes::Error::ERROR_INVALID_RPC);
+ break;
+ }
+
+ setState(ImprovTypes::STATE_PROVISIONING);
+
+ bool success = false;
+
+ if (customConnectWiFiCallback) {
+ success =
+ customConnectWiFiCallback(cmd.ssid.c_str(), cmd.password.c_str());
+ }
+
+ if (success) {
+ setError(ImprovTypes::Error::ERROR_NONE);
+ setState(ImprovTypes::STATE_PROVISIONED);
+ sendDeviceUrl(cmd.command);
+ if (onImprovConnectedCallback) {
+ onImprovConnectedCallback(cmd.ssid.c_str(), cmd.password.c_str());
+ }
+ } else {
+ setState(ImprovTypes::STATE_STOPPED);
+ setError(ImprovTypes::ERROR_UNABLE_TO_CONNECT);
+ onErrorCallback(ImprovTypes::ERROR_UNABLE_TO_CONNECT);
+ }
+
+ break;
+ }
+
+ case ImprovTypes::Command::GET_DEVICE_INFO: {
+ std::vector infos = {
+ // Firmware name
+ improvWiFiParams.firmwareName,
+ // Firmware version
+ improvWiFiParams.firmwareVersion,
+ // Hardware chip/variant
+ CHIP_FAMILY_DESC[improvWiFiParams.chipFamily],
+ // Device name
+ improvWiFiParams.deviceName};
+ std::vector data =
+ build_rpc_response(ImprovTypes::GET_DEVICE_INFO, infos, false);
+ sendResponse(data);
+ break;
+ }
+
+ case ImprovTypes::Command::GET_WIFI_NETWORKS: {
+ getAvailableWifiNetworks();
+ break;
+ }
+
+ default: {
+ setError(ImprovTypes::ERROR_UNKNOWN_RPC);
+ return false;
+ }
+ }
+
+ return true;
+}
+void ImprovWiFi::setDeviceInfo(ImprovTypes::ChipFamily chipFamily,
+ const char *firmwareName,
+ const char *firmwareVersion,
+ const char *deviceName) {
+ improvWiFiParams.chipFamily = chipFamily;
+ improvWiFiParams.firmwareName = firmwareName;
+ improvWiFiParams.firmwareVersion = firmwareVersion;
+ improvWiFiParams.deviceName = deviceName;
+}
+void ImprovWiFi::setDeviceInfo(ImprovTypes::ChipFamily chipFamily,
+ const char *firmwareName,
+ const char *firmwareVersion,
+ const char *deviceName, const char *deviceUrl) {
+ setDeviceInfo(chipFamily, firmwareName, firmwareVersion, deviceName);
+ improvWiFiParams.deviceUrl = deviceUrl;
+}
+
+bool ImprovWiFi::isConnected() {
+ if (customIsConnectedCallback) {
+ customIsConnectedCallback();
+ }
+
+ return 0;
+}
+
+void ImprovWiFi::sendDeviceUrl(ImprovTypes::Command cmd) {
+ // URL where user can finish onboarding or use device
+ // Recommended to use website hosted by device
+
+ uint8_t address[4] = {0, 0, 0, 0};
+ char buffer[16];
+
+ if (customGetLocalIpCallback) {
+ customGetLocalIpCallback(address);
+ }
+ sprintf(buffer, "%d.%d.%d.%d", address[0], address[1], address[2],
+ address[3]);
+ std::string ipStr = std::string{buffer};
+
+ if (improvWiFiParams.deviceUrl.empty()) {
+ improvWiFiParams.deviceUrl = "http://" + ipStr;
+ } else {
+ replaceAll(improvWiFiParams.deviceUrl, "{LOCAL_IPV4}", ipStr);
+ }
+
+ std::vector data =
+ build_rpc_response(cmd, {improvWiFiParams.deviceUrl}, false);
+ sendResponse(data);
+}
+
+void ImprovWiFi::serialWrite(SerialWrite *serWriteCb) {
+ serWriteCallback = serWriteCb;
+}
+
+void ImprovWiFi::onImprovError(OnImprovError *errorCallback) {
+ onImproErrorCallback = errorCallback;
+}
+
+void ImprovWiFi::onImprovConnected(OnImprovConnected *connectedCallback) {
+ onImprovConnectedCallback = connectedCallback;
+}
+
+void ImprovWiFi::setCustomConnectWiFi(CustomConnectWiFi *connectWiFiCallBack) {
+ customConnectWiFiCallback = connectWiFiCallBack;
+}
+
+void ImprovWiFi::setCustomScanWiFi(CustomScanWiFi *scanWiFiCallBack) {
+ customScanWiFiCallback = scanWiFiCallBack;
+}
+
+void ImprovWiFi::setCustomisConnected(CustomIsConnected *isConnectedCallBack) {
+ customIsConnectedCallback = isConnectedCallBack;
+}
+
+void ImprovWiFi::setCustomGetLocalIpCallback(
+ CustomGetLocalIpCallback *getLocalIpCallback) {
+ customGetLocalIpCallback = getLocalIpCallback;
+}
+
+// for string delimiter
+std::vector ImprovWiFi::split(std::string s,
+ std::string delimiter) {
+ size_t pos_start = 0, pos_end, delim_len = delimiter.length();
+ std::string token;
+ std::vector res;
+
+ while ((pos_end = s.find(delimiter, pos_start)) != std::string::npos) {
+ token = s.substr(pos_start, pos_end - pos_start);
+ pos_start = pos_end + delim_len;
+ res.push_back(token);
+ }
+
+ res.push_back(s.substr(pos_start));
+ return res;
+}
+
+void ImprovWiFi::getAvailableWifiNetworks() {
+ unsigned char apBuffer[256] = {
+ 0,
+ };
+ uint16_t networkNum = 0;
+ int bufLen = sizeof(apBuffer);
+
+ // printf("scanning\n");
+
+ if (customScanWiFiCallback) {
+ customScanWiFiCallback(apBuffer, bufLen, &networkNum);
+ }
+
+ size_t pos = 0;
+ std::string token;
+ std::string delimiter = "\n";
+ std::string apString{std::begin(apBuffer), std::end(apBuffer)};
+
+ for (int id = 0; id < networkNum; ++id) {
+ if ((pos = apString.find(delimiter)) != std::string::npos) {
+ token = apString.substr(0, pos);
+
+ std::vector splitStr = split(token.c_str(), ",");
+
+ std::vector wifinetworks = {splitStr};
+
+ std::vector data = build_rpc_response(
+ ImprovTypes::GET_WIFI_NETWORKS, wifinetworks, false);
+ sendResponse(data);
+
+ apString.erase(0, pos + delimiter.length());
+ }
+ }
+ // final response
+ std::vector data = build_rpc_response(
+ ImprovTypes::GET_WIFI_NETWORKS, std::vector{}, false);
+ sendResponse(data);
+}
+
+inline void ImprovWiFi::replaceAll(std::string &str, const std::string &from,
+ const std::string &to) {
+ size_t start_pos = 0;
+ while ((start_pos = str.find(from, start_pos)) != std::string::npos) {
+ str.replace(start_pos, from.length(), to);
+ start_pos += to.length();
+ }
+}
+
+bool ImprovWiFi::parseImprovSerial(size_t position, uint8_t byte,
+ const uint8_t *buffer) {
+ if (position == 0) return byte == 'I';
+ if (position == 1) return byte == 'M';
+ if (position == 2) return byte == 'P';
+ if (position == 3) return byte == 'R';
+ if (position == 4) return byte == 'O';
+ if (position == 5) return byte == 'V';
+
+ if (position == 6) {
+ return byte == ImprovTypes::IMPROV_SERIAL_VERSION;
+ }
+
+ if (position <= 8) return true;
+
+ uint8_t type = buffer[7];
+ uint8_t data_len = buffer[8];
+
+ if (position <= 8 + data_len) return true;
+
+ if (position == 8 + data_len + 1) {
+ uint8_t checksum = 0x00;
+ for (size_t i = 0; i < position; i++) checksum += buffer[i];
+
+ if (checksum != byte) {
+ _position = 0;
+ onErrorCallback(ImprovTypes::Error::ERROR_INVALID_RPC);
+ return false;
+ }
+
+ if (type == ImprovTypes::ImprovSerialType::TYPE_RPC) {
+ _position = 0;
+ auto command = parseImprovData(&buffer[9], data_len, false);
+ return onCommandCallback(command);
+ }
+ }
+
+ return false;
+}
+
+ImprovTypes::ImprovCommand ImprovWiFi::parseImprovData(
+ const std::vector &data, bool check_checksum) {
+ return parseImprovData(data.data(), data.size(), check_checksum);
+}
+
+ImprovTypes::ImprovCommand ImprovWiFi::parseImprovData(const uint8_t *data,
+ size_t length,
+ bool check_checksum) {
+ ImprovTypes::ImprovCommand improv_command;
+ ImprovTypes::Command command = (ImprovTypes::Command)data[0];
+ uint8_t data_length = data[1];
+
+ if (data_length != length - 2 - check_checksum) {
+ improv_command.command = ImprovTypes::Command::UNKNOWN;
+ return improv_command;
+ }
+
+ if (check_checksum) {
+ uint8_t checksum = data[length - 1];
+
+ uint32_t calculated_checksum = 0;
+ for (uint8_t i = 0; i < length - 1; i++) {
+ calculated_checksum += data[i];
+ }
+
+ if ((uint8_t)calculated_checksum != checksum) {
+ improv_command.command = ImprovTypes::Command::BAD_CHECKSUM;
+ return improv_command;
+ }
+ }
+
+ if (command == ImprovTypes::Command::WIFI_SETTINGS) {
+ uint8_t ssid_length = data[2];
+ uint8_t ssid_start = 3;
+ size_t ssid_end = ssid_start + ssid_length;
+
+ uint8_t pass_length = data[ssid_end];
+ size_t pass_start = ssid_end + 1;
+ size_t pass_end = pass_start + pass_length;
+
+ std::string ssid(data + ssid_start, data + ssid_end);
+ std::string password(data + pass_start, data + pass_end);
+
+ return {.command = command, .ssid = ssid, .password = password};
+ }
+
+ improv_command.command = command;
+
+ return improv_command;
+}
+
+void ImprovWiFi::setState(ImprovTypes::State state) {
+ std::vector data = {'I', 'M', 'P', 'R', 'O', 'V'};
+ data.resize(11);
+ data[6] = ImprovTypes::IMPROV_SERIAL_VERSION;
+ data[7] = ImprovTypes::TYPE_CURRENT_STATE;
+ data[8] = 1;
+ data[9] = state;
+
+ uint8_t checksum = 0x00;
+ for (uint8_t d : data) checksum += d;
+ data[10] = checksum;
+
+ SerialWriteCallback(data.data(), data.size());
+}
+
+void ImprovWiFi::setError(ImprovTypes::Error error) {
+ std::vector data = {'I', 'M', 'P', 'R', 'O', 'V'};
+ data.resize(11);
+ data[6] = ImprovTypes::IMPROV_SERIAL_VERSION;
+ data[7] = ImprovTypes::TYPE_ERROR_STATE;
+ data[8] = 1;
+ data[9] = error;
+
+ uint8_t checksum = 0x00;
+ for (uint8_t d : data) checksum += d;
+ data[10] = checksum;
+
+ SerialWriteCallback(data.data(), data.size());
+}
+
+void ImprovWiFi::sendResponse(std::vector &response) {
+ std::vector data = {'I', 'M', 'P', 'R', 'O', 'V'};
+ data.resize(9);
+ data[6] = ImprovTypes::IMPROV_SERIAL_VERSION;
+ data[7] = ImprovTypes::TYPE_RPC_RESPONSE;
+ data[8] = response.size();
+ data.insert(data.end(), response.begin(), response.end());
+
+ uint8_t checksum = 0x00;
+ for (uint8_t d : data) checksum += d;
+ data.push_back(checksum);
+
+ SerialWriteCallback(data.data(), data.size());
+}
+
+std::vector ImprovWiFi::build_rpc_response(
+ ImprovTypes::Command command, const std::vector &datum,
+ bool add_checksum) {
+ std::vector out;
+ uint32_t length = 0;
+ out.push_back(command);
+ for (const auto &str : datum) {
+ uint8_t len = str.length();
+ length += len + 1;
+ out.push_back(len);
+ out.insert(out.end(), str.begin(), str.end());
+ }
+ out.insert(out.begin() + 1, length);
+
+ if (add_checksum) {
+ uint32_t calculated_checksum = 0;
+
+ for (uint8_t byte : out) {
+ calculated_checksum += byte;
+ }
+ out.push_back(calculated_checksum);
+ }
+ return out;
+}
diff --git a/components/improv_wifi/improv_wrapper.cpp b/components/improv_wifi/improv_wrapper.cpp
new file mode 100644
index 0000000..14d408f
--- /dev/null
+++ b/components/improv_wifi/improv_wrapper.cpp
@@ -0,0 +1,100 @@
+/*
+ * improv_wrapper.cpp
+ *
+ * Created on: Apr 28, 2024
+ * Author: karl
+ */
+#include "improv_wrapper.h"
+
+ImprovWiFi *c = NULL;
+
+extern "C" void improv_wifi_create(void) {
+ if (c != NULL) {
+ delete c;
+ }
+
+ c = new ImprovWiFi();
+}
+
+extern "C" void improv_wifi_destroy(void) {
+ if (c != NULL) {
+ delete c;
+ c = NULL;
+ }
+}
+
+extern "C" int improv_wifi_handle_serial(const uint8_t *data, size_t length) {
+ if (c != NULL) {
+ c->handleSerial(data, length);
+
+ return 0;
+ }
+
+ return -1;
+}
+
+extern "C" void improv_wifi_set_device_info(uint8_t chipFamily,
+ const char *firmwareName,
+ const char *firmwareVersion,
+ const char *deviceName,
+ const char *deviceUrl) {
+ if (c != NULL) {
+ c->setDeviceInfo((ImprovTypes::ChipFamily)chipFamily, firmwareName,
+ firmwareVersion, deviceName, deviceUrl);
+ }
+}
+
+extern "C" void improv_wifi_serialWrite(void *serWriteCb) {
+ ImprovWiFi::SerialWrite *cb = (ImprovWiFi::SerialWrite *)serWriteCb;
+ if (c != NULL) {
+ c->serialWrite(cb);
+ }
+}
+
+extern "C" void improv_wifi_onImprovError(void *onImprovErrorCb) {
+ ImprovWiFi::OnImprovError *cb = (ImprovWiFi::OnImprovError *)onImprovErrorCb;
+ if (c != NULL) {
+ c->onImprovError(cb);
+ }
+}
+
+extern "C" void improv_wifi_onImprovConnected(void *onImprovConnectedCb) {
+ ImprovWiFi::OnImprovConnected *cb =
+ (ImprovWiFi::OnImprovConnected *)onImprovConnectedCb;
+ if (c != NULL) {
+ c->onImprovConnected(cb);
+ }
+}
+
+extern "C" void improv_wifi_setCustomConnectWiFi(void *setCustomConnectWiFiCb) {
+ ImprovWiFi::CustomConnectWiFi *cb =
+ (ImprovWiFi::CustomConnectWiFi *)setCustomConnectWiFiCb;
+ if (c != NULL) {
+ c->setCustomConnectWiFi(cb);
+ }
+}
+
+extern "C" void improv_wifi_setCustomScanWiFi(void *setCustomScanWiFiCb) {
+ ImprovWiFi::CustomScanWiFi *cb =
+ (ImprovWiFi::CustomScanWiFi *)setCustomScanWiFiCb;
+ if (c != NULL) {
+ c->setCustomScanWiFi(cb);
+ }
+}
+
+extern "C" void improv_wifi_setCustomIsConnected(void *setCustomIsConnected) {
+ ImprovWiFi::CustomIsConnected *cb =
+ (ImprovWiFi::CustomIsConnected *)setCustomIsConnected;
+ if (c != NULL) {
+ c->setCustomisConnected(cb);
+ }
+}
+
+extern "C" void improv_wifi_setCustomGetLocalIpCallback(
+ void *getLocalIpCallback) {
+ ImprovWiFi::CustomGetLocalIpCallback *cb =
+ (ImprovWiFi::CustomGetLocalIpCallback *)getLocalIpCallback;
+ if (c != NULL) {
+ c->setCustomGetLocalIpCallback(cb);
+ }
+}
diff --git a/components/improv_wifi/include/wifi_provisioning.h b/components/improv_wifi/include/wifi_provisioning.h
new file mode 100644
index 0000000..7fd2c98
--- /dev/null
+++ b/components/improv_wifi/include/wifi_provisioning.h
@@ -0,0 +1,22 @@
+/*
+ * wifi_provisioning.h
+ *
+ * Created on: Apr 28, 2024
+ * Author: karl
+ */
+
+#ifndef COMPONENTS_WIFI_PROVISIONING_H_
+#define COMPONENTS_WIFI_PROVISIONING_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void improv_init(void);
+void improv_deinit(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* COMPONENTS_WIFI_PROVISIONING_H_ */
diff --git a/components/improv_wifi/priv_include/improvWifi.h b/components/improv_wifi/priv_include/improvWifi.h
new file mode 100644
index 0000000..02e4842
--- /dev/null
+++ b/components/improv_wifi/priv_include/improvWifi.h
@@ -0,0 +1,215 @@
+/*
+ * improvWifi.h
+ *
+ * Created on: Apr 29, 2024
+ * Author: karl
+ */
+
+#ifndef COMPONENTS_IMPROV_WIFI_INCLUDE_IMPROVWIFI_H_
+#define COMPONENTS_IMPROV_WIFI_INCLUDE_IMPROVWIFI_H_
+
+#include
+
+#include "ImprovTypes.h"
+
+/**
+ * Improv WiFi class
+ *
+ * ### Description
+ *
+ * Handles the Improv WiFi Serial protocol (https://www.improv-wifi.com/serial/)
+ *
+ * ### Example
+ *
+ * Simple example of using ImprovWiFi lib. A complete one can be seen in
+ * `examples/` folder.
+ *
+ * ```cpp
+ * #include
+ *
+ * ImprovWiFi improvSerial(&Serial);
+ *
+ * void setup() {
+ * improvSerial.setDeviceInfo(ImprovTypes::ChipFamily::CF_ESP32,
+ * "My-Device-9a4c2b", "2.1.5", "My Device");
+ * }
+ *
+ * void loop() {
+ * improvSerial.handleSerial();
+ * }
+ * ```
+ *
+ */
+class ImprovWiFi {
+ private:
+ const char *const CHIP_FAMILY_DESC[5] = {"ESP32", "ESP32-C3", "ESP32-S2",
+ "ESP32-S3", "ESP8266"};
+ ImprovTypes::ImprovWiFiParamsStruct improvWiFiParams;
+
+ uint8_t _buffer[128];
+ uint8_t _position = 0;
+
+ // void *serial;
+
+ void sendDeviceUrl(ImprovTypes::Command cmd);
+ void SerialWriteCallback(const unsigned char *txData, int length);
+ bool onCommandCallback(ImprovTypes::ImprovCommand cmd);
+ void onErrorCallback(ImprovTypes::Error err);
+ void setState(ImprovTypes::State state);
+ void sendResponse(std::vector &response);
+ void setError(ImprovTypes::Error error);
+ void getAvailableWifiNetworks();
+ inline void replaceAll(std::string &str, const std::string &from,
+ const std::string &to);
+
+ // improv SDK
+ bool parseImprovSerial(size_t position, uint8_t byte, const uint8_t *buffer);
+ ImprovTypes::ImprovCommand parseImprovData(const std::vector &data,
+ bool check_checksum = true);
+ ImprovTypes::ImprovCommand parseImprovData(const uint8_t *data, size_t length,
+ bool check_checksum = true);
+ std::vector build_rpc_response(ImprovTypes::Command command,
+ const std::vector &datum,
+ bool add_checksum);
+
+ public:
+ /**
+ * ## Constructors
+ **/
+
+ /**
+ * Create an instance of ImprovWiFi
+ *
+ * # Parameters
+ *
+ * - `serial` - Pointer to stream object used to handle requests, for the most
+ * cases use `Serial`
+ */
+ ImprovWiFi(void) {}
+
+ /**
+ * ## Type definition
+ */
+
+ /**
+ * serial write function passed through user
+ */
+ typedef void(SerialWrite)(const unsigned char *txData, int length);
+
+ /**
+ * Callback function called when any error occurs during the protocol handling
+ * or wifi connection.
+ */
+ typedef void(OnImprovError)(ImprovTypes::Error);
+
+ /**
+ * Callback function called when the attempt of wifi connection is successful.
+ * It informs the SSID and Password used to that, it's a perfect time to save
+ * them for further use.
+ */
+ typedef void(OnImprovConnected)(const char *ssid, const char *password);
+
+ /**
+ * Callback function to customize the wifi connection if you needed. Optional.
+ */
+ typedef bool(CustomConnectWiFi)(const char *ssid, const char *password);
+
+ typedef void(CustomScanWiFi)(unsigned char *scanResponse, int bufLen,
+ uint16_t *count);
+
+ typedef bool(CustomIsConnected)(void);
+
+ typedef void(CustomGetLocalIpCallback)(uint8_t *addrIp4);
+
+ /**
+ * ## Methods
+ **/
+
+ /**
+ * Check if a communication via serial is happening. Put this call on your
+ * loop().
+ *
+ */
+ void handleSerial(const uint8_t *data, size_t length);
+
+ /**
+ * Set details of your device.
+ *
+ * # Parameters
+ *
+ * - `chipFamily` - Chip variant, supported are CF_ESP32, CF_ESP32_C3,
+ * CF_ESP32_S2, CF_ESP32_S3, CF_ESP8266. Consult ESP Home
+ * [docs](https://esphome.io/components/esp32.html) for more information.
+ * - `firmwareName` - Firmware name
+ * - `firmwareVersion` - Firmware version
+ * - `deviceName` - Your device name
+ * - `deviceUrl`- The local URL to access your device. A placeholder called
+ * {LOCAL_IPV4} is available to form elaboreted URLs. E.g.
+ * `http://{LOCAL_IPV4}?name=Guest`. There is overloaded method without
+ * `deviceUrl`, in this case the URL will be the local IP.
+ *
+ */
+ void setDeviceInfo(ImprovTypes::ChipFamily chipFamily,
+ const char *firmwareName, const char *firmwareVersion,
+ const char *deviceName, const char *deviceUrl);
+ void setDeviceInfo(ImprovTypes::ChipFamily chipFamily,
+ const char *firmwareName, const char *firmwareVersion,
+ const char *deviceName);
+
+ /**
+ * Method to set serial write callback
+ */
+ void serialWrite(SerialWrite *serWriteCb);
+
+ /**
+ * Method to set the typedef OnImprovError callback.
+ */
+ void onImprovError(OnImprovError *errorCallback);
+
+ /**
+ * Method to set the typedef OnImprovConnected callback.
+ */
+ void onImprovConnected(OnImprovConnected *connectedCallback);
+
+ /**
+ * Method to set the typedef CustomConnectWiFi callback.
+ */
+ void setCustomConnectWiFi(CustomConnectWiFi *connectWiFiCallBack);
+
+ void setCustomScanWiFi(CustomScanWiFi *scanWiFiCallBack);
+
+ void setCustomisConnected(CustomIsConnected *isConnectedCallBack);
+
+ void setCustomGetLocalIpCallback(
+ CustomGetLocalIpCallback *getLocalIpCallback);
+ //
+ // /**
+ // * Default method to connect in a WiFi network.
+ // * It waits `DELAY_MS_WAIT_WIFI_CONNECTION` milliseconds (default 500)
+ // during
+ // * `MAX_ATTEMPTS_WIFI_CONNECTION` (default 20) until it get connected. If
+ // it
+ // * does not happen, an error `ERROR_UNABLE_TO_CONNECT` is thrown.
+ // *
+ // */
+ // bool tryConnectToWifi(const char *ssid, const char *password);
+
+ /**
+ * Check if connection is established using `WiFi.status() == WL_CONNECTED`
+ *
+ */
+ bool isConnected();
+
+ std::vector split(std::string s, std::string delimiter);
+
+ private:
+ SerialWrite *serWriteCallback = NULL;
+ OnImprovError *onImproErrorCallback = NULL;
+ OnImprovConnected *onImprovConnectedCallback = NULL;
+ CustomConnectWiFi *customConnectWiFiCallback = NULL;
+ CustomScanWiFi *customScanWiFiCallback = NULL;
+ CustomIsConnected *customIsConnectedCallback = NULL;
+ CustomGetLocalIpCallback *customGetLocalIpCallback = NULL;
+};
+
+#endif /* COMPONENTS_IMPROV_WIFI_INCLUDE_IMPROVWIFI_H_ */
diff --git a/components/improv_wifi/priv_include/improv_wrapper.h b/components/improv_wifi/priv_include/improv_wrapper.h
new file mode 100644
index 0000000..2a05925
--- /dev/null
+++ b/components/improv_wifi/priv_include/improv_wrapper.h
@@ -0,0 +1,42 @@
+/*
+ * improv_wrapper.h
+ *
+ * Created on: Apr 29, 2024
+ * Author: karl
+ */
+
+#ifndef COMPONENTS_IMPROV_WIFI_INCLUDE_IMPROV_WRAPPER_H_
+#define COMPONENTS_IMPROV_WIFI_INCLUDE_IMPROV_WRAPPER_H_
+
+#ifdef __cplusplus
+#include "improvWifi.h"
+extern "C" {
+#else
+enum ChipFamily_e {
+ CF_ESP32,
+ CF_ESP32_C3,
+ CF_ESP32_S2,
+ CF_ESP32_S3,
+ CF_ESP8266
+};
+#endif
+
+void improv_wifi_create(void);
+void improv_wifi_destroy(void);
+int improv_wifi_handle_serial(const uint8_t *data, size_t length);
+void improv_wifi_set_device_info(uint8_t chipFamily, const char *firmwareName,
+ const char *firmwareVersion,
+ const char *deviceName, const char *deviceUrl);
+void improv_wifi_serialWrite(void *cb);
+void improv_wifi_onImprovError(void *onImprovErrorCb);
+void improv_wifi_onImprovConnected(void *onImprovConnectedCb);
+void improv_wifi_setCustomConnectWiFi(void *setCustomConnectWiFiCb);
+void improv_wifi_setCustomScanWiFi(void *setCustomScanWiFiCb);
+void improv_wifi_setCustomIsConnected(void *setCustomIsConnected);
+void improv_wifi_setCustomGetLocalIpCallback(void *getLocalIpCallback);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* COMPONENTS_IMPROV_WIFI_INCLUDE_IMPROV_WRAPPER_H_ */
diff --git a/components/improv_wifi/wifi_provisioning.c b/components/improv_wifi/wifi_provisioning.c
new file mode 100644
index 0000000..d34d5c4
--- /dev/null
+++ b/components/improv_wifi/wifi_provisioning.c
@@ -0,0 +1,249 @@
+/*
+ * wifi_provisioning.c
+ *
+ * Created on: Apr 28, 2024
+ * Author: karl
+ */
+
+#include "wifi_provisioning.h"
+
+#include
+
+#include "driver/uart.h"
+#include "esp_err.h"
+#include "esp_log.h"
+#include "esp_wifi.h"
+#include "freertos/FreeRTOS.h"
+#include "freertos/event_groups.h"
+#include "freertos/task.h"
+#include "improv_wrapper.h"
+#include "wifi_interface.h"
+
+#define TAG "IMPROV"
+
+#define RD_BUF_SIZE (UART_FIFO_LEN)
+#define PATTERN_CHR_NUM (3)
+
+static TaskHandle_t t_improv_task = NULL;
+
+static const int uart_buffer_size = 2 * RD_BUF_SIZE;
+static QueueHandle_t uart0_queue;
+
+void uart_event_handler(void) {
+ uart_event_t event;
+ uint8_t dtmp[RD_BUF_SIZE];
+ size_t buffered_size;
+
+ // Waiting for UART event.
+ if (xQueueReceive(uart0_queue, (void *)&event, (TickType_t)portMAX_DELAY)) {
+ bzero(dtmp, RD_BUF_SIZE);
+ // ESP_LOGI(TAG, "uart[%d] event:", UART_NUM_0);
+ switch (event.type) {
+ // Event of UART receving data
+ /*We'd better handler data event fast, there would be much more data
+ events than other types of events. If we take too much time on data event,
+ the queue might be full.*/
+ case UART_DATA:
+ // ESP_LOGI(TAG, "[UART DATA]: %d", event.size);
+
+ uart_read_bytes(UART_NUM_0, dtmp, event.size, portMAX_DELAY);
+ // ESP_LOGI(TAG, "[DATA EVT]:");
+
+ improv_wifi_handle_serial(dtmp, event.size);
+ break;
+ // Event of HW FIFO overflow detected
+ case UART_FIFO_OVF:
+ // ESP_LOGI(TAG, "hw fifo overflow");
+
+ // If fifo overflow happened, you should consider adding flow control
+ // for your application. The ISR has already reset the rx FIFO, As an
+ // example, we directly flush the rx buffer here in order to read more
+ // data.
+ uart_flush_input(UART_NUM_0);
+ xQueueReset(uart0_queue);
+ break;
+ // Event of UART ring buffer full
+ case UART_BUFFER_FULL:
+ // ESP_LOGI(TAG, "ring buffer full");
+ // If buffer full happened, you should consider increasing your buffer
+ // size As an example, we directly flush the rx buffer here in order to
+ // read more data.
+ uart_flush_input(UART_NUM_0);
+ xQueueReset(uart0_queue);
+ break;
+ // Others
+ default:
+ // ESP_LOGI(TAG, "uart event type: %d", event.type);
+ break;
+ }
+ }
+}
+
+static void improv_task(void *pvParameters) {
+ while (1) {
+ uart_event_handler();
+ }
+}
+
+void uart_write(const unsigned char *txData, int length) {
+ uart_write_bytes(UART_NUM_0, txData, length);
+}
+
+void improv_wifi_scan(unsigned char *scanResponse, int bufLen,
+ uint16_t *count) {
+ uint16_t number = 16;
+ wifi_ap_record_t ap_info[16];
+
+ memset(ap_info, 0, sizeof(ap_info));
+
+ if (esp_wifi_scan_start(NULL, true) == ESP_ERR_WIFI_STATE) {
+ wifi_ap_record_t ap_info_tmp;
+
+ do {
+ esp_wifi_disconnect();
+ vTaskDelay(pdMS_TO_TICKS(500));
+ } while (esp_wifi_sta_get_ap_info(&ap_info_tmp) !=
+ ESP_ERR_WIFI_NOT_CONNECT);
+
+ esp_wifi_scan_start(NULL, true);
+ }
+ // ESP_LOGI(TAG, "Max AP number ap_info can hold = %u", number);
+ ESP_ERROR_CHECK(esp_wifi_scan_get_ap_records(&number, ap_info));
+ ESP_ERROR_CHECK(esp_wifi_scan_get_ap_num(count));
+ // ESP_LOGI(TAG, "Total APs scanned = %u, actual AP number ap_info holds =
+ // %u",
+ // *count, number);
+
+ scanResponse[0] = 0;
+ for (int i = 0; i < number; i++) {
+ char rssiStr[8] = {
+ 0,
+ };
+ char cipherStr[8] = {
+ 0,
+ };
+ uint16_t neededLen;
+
+ itoa(ap_info[i].rssi, rssiStr, 10);
+ if (ap_info[i].authmode != WIFI_AUTH_OPEN) {
+ strcat(cipherStr, "YES");
+ } else {
+ strcat(cipherStr, "NO");
+ }
+ neededLen = strlen((const char *)ap_info[i].ssid) + strlen(rssiStr) +
+ strlen(cipherStr) + 3;
+
+ if ((bufLen - neededLen) > 0) {
+ strcat((char *)scanResponse, (char *)ap_info[i].ssid);
+ strcat((char *)scanResponse, (char *)",");
+ strcat((char *)scanResponse, (char *)rssiStr);
+ strcat((char *)scanResponse, (char *)",");
+ strcat((char *)scanResponse, (char *)cipherStr);
+ strcat((char *)scanResponse, (char *)"\n");
+
+ bufLen -= neededLen;
+ }
+ }
+
+ // ESP_LOGI(TAG, "APs \t\t%s", scanResponse);
+}
+
+bool improv_wifi_connect(const char *ssid, const char *password) {
+ uint8_t count = 0;
+ wifi_ap_record_t apRec;
+ esp_err_t err;
+
+ while ((err = esp_wifi_sta_get_ap_info(&apRec)) != ESP_ERR_WIFI_NOT_CONNECT) {
+ esp_wifi_disconnect();
+ vTaskDelay(pdMS_TO_TICKS(100));
+ }
+
+ wifi_config_t wifi_config;
+ ESP_ERROR_CHECK(esp_wifi_get_config(WIFI_IF_STA, &wifi_config));
+ strcpy((char *)wifi_config.sta.ssid, ssid);
+ strcpy((char *)wifi_config.sta.password, password);
+ ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config));
+
+ esp_wifi_connect();
+ while (esp_wifi_sta_get_ap_info(&apRec) != ESP_OK) {
+ vTaskDelay(pdMS_TO_TICKS(500));
+ if (count > 20) {
+ esp_wifi_disconnect();
+ return false;
+ }
+ count++;
+ }
+
+ return true;
+}
+
+bool improv_wifi_is_connected(void) {
+ wifi_ap_record_t apRec;
+
+ if (esp_wifi_sta_get_ap_info(&apRec) == ESP_OK) {
+ // printf("connected\n");
+
+ return true;
+ }
+
+ // printf("NOT connected\n");
+
+ return false;
+}
+
+void improv_wifi_get_local_ip(uint8_t *address) {
+ esp_netif_ip_info_t ip_info;
+
+ // TODO: find a better way to do this
+ do {
+ esp_netif_get_ip_info(get_current_netif(), &ip_info);
+ vTaskDelay(pdMS_TO_TICKS(200));
+ } while (ip_info.ip.addr == 0);
+
+ address[0] = ip_info.ip.addr >> 0;
+ address[1] = ip_info.ip.addr >> 8;
+ address[2] = ip_info.ip.addr >> 16;
+ address[3] = ip_info.ip.addr >> 24;
+
+ // ESP_LOGI(TAG, "%d.%d.%d.%d", address[0], address[1], address[2],
+ // address[3]);
+}
+
+void improv_init(void) {
+ uint8_t webPortStr[6] = {0};
+ uint16_t webPort = CONFIG_WEB_PORT;
+ uint8_t urlStr[26] = "http://{LOCAL_IPV4}:";
+
+ utoa(webPort, (char *)webPortStr, 10);
+ strcat((char *)urlStr, (char *)webPortStr);
+
+ improv_wifi_create();
+ improv_wifi_serialWrite(uart_write);
+ improv_wifi_set_device_info(CF_ESP32, "esp32_snapclient", "0.0.3",
+ "snapclient", (const char *)urlStr);
+
+ improv_wifi_setCustomConnectWiFi(improv_wifi_connect);
+ improv_wifi_setCustomScanWiFi(improv_wifi_scan);
+ improv_wifi_setCustomIsConnected(improv_wifi_is_connected);
+ improv_wifi_setCustomGetLocalIpCallback(improv_wifi_get_local_ip);
+
+ // Set UART pins(TX: IO4, RX: IO5, RTS: IO18, CTS: IO19)
+ // ESP_ERROR_CHECK(uart_set_pin(UART_NUM_0, 1, 3, -1, -1));
+
+ // Install UART driver using an event queue here
+ ESP_ERROR_CHECK(uart_driver_install(UART_NUM_0, uart_buffer_size,
+ uart_buffer_size, 10, &uart0_queue, 0));
+
+ xTaskCreatePinnedToCore(&improv_task, "improv", 4 * 1024, NULL, 4,
+ &t_improv_task, tskNO_AFFINITY);
+}
+
+void improv_deinit(void) {
+ if (t_improv_task) {
+ vTaskDelete(t_improv_task);
+ uart_driver_delete(UART_NUM_0);
+
+ t_improv_task = NULL;
+ }
+ improv_wifi_destroy();
+}
diff --git a/components/lightsnapcast/include/player.h b/components/lightsnapcast/include/player.h
index 2a4d84e..d4812df 100644
--- a/components/lightsnapcast/include/player.h
+++ b/components/lightsnapcast/include/player.h
@@ -7,6 +7,10 @@
#include "sdkconfig.h"
#include "snapcast.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define I2S_PORT I2S_NUM_0
// TODO: maybe calculate this dynamically based on chunk duration and buffer
@@ -78,5 +82,7 @@ int32_t get_diff_to_server(int64_t *tDiff);
int32_t server_now(int64_t *sNow, int64_t *diff2Server);
int32_t pcm_chunk_queue_msg_waiting(void);
-
+#ifdef __cplusplus
+}
+#endif
#endif // __PLAYER_H__
diff --git a/components/lightsnapcast/include/snapcast.h b/components/lightsnapcast/include/snapcast.h
index 5fca9f3..0f3d347 100644
--- a/components/lightsnapcast/include/snapcast.h
+++ b/components/lightsnapcast/include/snapcast.h
@@ -1,6 +1,10 @@
#ifndef __SNAPCAST_H__
#define __SNAPCAST_H__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include
#include
#include
@@ -107,5 +111,8 @@ typedef struct time_message {
int time_message_serialize(time_message_t *msg, char *data, uint32_t size);
int time_message_deserialize(time_message_t *msg, const char *data,
uint32_t size);
+#ifdef __cplusplus
+}
+#endif
#endif // __SNAPCAST_H__
diff --git a/components/lightsnapcast/player.c b/components/lightsnapcast/player.c
index bb041f5..23c23a4 100644
--- a/components/lightsnapcast/player.c
+++ b/components/lightsnapcast/player.c
@@ -108,10 +108,12 @@ static bool i2sEnabled = false;
*
*/
esp_err_t my_i2s_channel_disable(i2s_chan_handle_t handle) {
- if (i2sEnabled == true) {
- i2sEnabled = false;
+ if (tx_chan != NULL) {
+ if (i2sEnabled == true) {
+ i2sEnabled = false;
- return i2s_channel_disable(handle);
+ return i2s_channel_disable(handle);
+ }
}
return ESP_OK;
@@ -121,10 +123,12 @@ esp_err_t my_i2s_channel_disable(i2s_chan_handle_t handle) {
*
*/
esp_err_t my_i2s_channel_enable(i2s_chan_handle_t handle) {
- if (i2sEnabled == false) {
- i2sEnabled = true;
+ if (tx_chan != NULL) {
+ if (i2sEnabled == false) {
+ i2sEnabled = true;
- return i2s_channel_enable(handle);
+ return i2s_channel_enable(handle);
+ }
}
return ESP_OK;
@@ -142,7 +146,6 @@ static esp_err_t player_setup_i2s(i2s_port_t i2sNum,
// works for all decoders. We set it to 100 so
// there will be free space for sample stuffing in each round
i2sDmaBufMaxLen = 100;
-
#else
int fi2s_clk;
const int __dmaBufMaxLen = 1024;
@@ -199,6 +202,9 @@ static esp_err_t player_setup_i2s(i2s_port_t i2sNum,
}
#endif
+ ESP_LOGI(TAG, "player_setup_i2s: dma_buf_len is %ld, dma_buf_count is %ld",
+ i2sDmaBufMaxLen, i2sDmaBufCnt);
+
if (tx_chan) {
my_i2s_channel_disable(tx_chan);
i2s_del_channel(tx_chan);
@@ -240,8 +246,13 @@ static esp_err_t player_setup_i2s(i2s_port_t i2sNum,
};
i2s_std_config_t tx_std_cfg = {
.clk_cfg = i2s_clkcfg,
+#if CONFIG_I2S_USE_MSB_FORMAT
.slot_cfg =
- I2S_STD_PHILIPS_SLOT_DEFAULT_CONFIG(bits, I2S_SLOT_MODE_STEREO),
+ I2S_STD_MSB_SLOT_DEFAULT_CONFIG(setting->bits, I2S_SLOT_MODE_STEREO),
+#else
+ .slot_cfg = I2S_STD_PHILIPS_SLOT_DEFAULT_CONFIG(setting->bits,
+ I2S_SLOT_MODE_STEREO),
+#endif
.gpio_cfg =
{
.mclk = pin_config0.mck_io_num,
@@ -251,19 +262,31 @@ static esp_err_t player_setup_i2s(i2s_port_t i2sNum,
.din = pin_config0.data_in_num,
.invert_flags =
{
+#if CONFIG_INVERT_MCLK_LEVEL
+ .mclk_inv = true,
+
+#else
.mclk_inv = false,
+#endif
+
+#if CONFIG_INVERT_BCLK_LEVEL
+ .bclk_inv = true,
+#else
.bclk_inv = false,
+#endif
+
+#if CONFIG_INVERT_WORD_SELECT_LEVEL
+ .ws_inv = true,
+#else
.ws_inv = false,
+#endif
},
},
};
ESP_ERROR_CHECK(i2s_channel_init_std_mode(tx_chan, &tx_std_cfg));
- ESP_LOGI(TAG,
- "player_setup_i2s: dma_buf_len is %ld, dma_buf_count is %ld, sample "
- "rate: %ld",
- i2sDmaBufMaxLen, i2sDmaBufCnt, setting->sr);
+ // my_i2s_channel_enable(tx_chan);
return 0;
}
@@ -383,8 +406,6 @@ int init_player(void) {
tg0_timer_init();
- ESP_LOGI(TAG, "test");
-
if (playerTaskHandle == NULL) {
ESP_LOGI(TAG, "Start player_task");
@@ -445,15 +466,6 @@ int32_t player_latency_insert(int64_t newValue) {
// ESP_LOGI(TAG, "(not full) latency median: %lldus", medianValue);
// }
-#if LATENCY_MEDIAN_age_DIVISOR
- // ESP_LOGI(TAG, "actual latency median: %lldus", medianValue);
- // medianValue = MEDIANFILTER_get_median(&latencyMedianFilter,
- // ceil((float)LATENCY_MEDIAN_FILTER_LEN /
- // (float)LATENCY_MEDIAN_age_DIVISOR));
- medianValue = MEDIANFILTER_get_median(&latencyMedianFilter, 32);
-// ESP_LOGI(TAG, "age latency median: %lldus", medianValue);
-#endif
-
latencyToServer = medianValue;
xSemaphoreGive(latencyBufSemaphoreHandle);
@@ -1114,13 +1126,10 @@ int32_t insert_pcm_chunk(pcm_chunk_message_t *pcmChunk) {
// if (xQueueSend(pcmChkQHdl, &pcmChunk, pdMS_TO_TICKS(10)) != pdTRUE) {
if (xQueueSend(pcmChkQHdl, &pcmChunk, pdMS_TO_TICKS(1)) != pdTRUE) {
- // if (xQueueSend(pcmChkQHdl, &pcmChunk, portMAX_DELAY) != pdTRUE) {
ESP_LOGW(TAG, "send: pcmChunkQueue full, messages waiting %d",
uxQueueMessagesWaiting(pcmChkQHdl));
free_pcm_chunk(pcmChunk);
- } else {
- // ESP_LOGI(TAG, "PCM chunk inserted");
}
return 0;
@@ -1411,6 +1420,37 @@ static void player_task(void *pvParameters) {
// get actual age after alarm
age = (int64_t)timer_val - (-age);
+ // check if we need to write remaining data
+ if (size != 0) {
+ do {
+ written = 0;
+ if (i2s_custom_write(I2S_NUM_0, p_payload, (size_t)size, &written,
+ portMAX_DELAY) != ESP_OK) {
+ ESP_LOGE(TAG, "i2s_playback_task: I2S write error");
+ }
+ if (written < size) {
+ ESP_LOGE(TAG,
+ "i2s_playback_task: I2S didn't "
+ "write all data");
+ }
+ size -= written;
+ p_payload += written;
+
+ if (size == 0) {
+ if (fragment->nextFragment != NULL) {
+ fragment = fragment->nextFragment;
+ p_payload = fragment->payload;
+ size = fragment->size;
+ } else {
+ free_pcm_chunk(chnk);
+ chnk = NULL;
+
+ break;
+ }
+ }
+ } while (1);
+ }
+
initialSync = 1;
// TODO: use a timer to un-mute non blocking
diff --git a/components/net_functions/include/net_functions.h b/components/net_functions/include/net_functions.h
index 6bb676b..017d7fa 100644
--- a/components/net_functions/include/net_functions.h
+++ b/components/net_functions/include/net_functions.h
@@ -1,6 +1,10 @@
#ifndef _NET_FUNCTIONS_H_
#define _NET_FUNCTIONS_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "mdns.h"
#define SNTP_TIMEZONE CONFIG_SNTP_TIMEZONE
@@ -13,4 +17,8 @@ uint32_t find_mdns_service(const char* service_name, const char* proto);
void set_time_from_sntp(void);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _NET_FUNCTIONS_H_ */
diff --git a/components/ui_http_server/include/ui_http_server.h b/components/ui_http_server/include/ui_http_server.h
index 0a33b52..b25f927 100644
--- a/components/ui_http_server/include/ui_http_server.h
+++ b/components/ui_http_server/include/ui_http_server.h
@@ -1,6 +1,10 @@
#ifndef __UI_HTTP_SERVER_H__
#define __UI_HTTP_SERVER_H__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
void init_http_server_task(char *key);
typedef struct {
@@ -11,4 +15,8 @@ typedef struct {
float gain_3;
} URL_t;
+#ifdef __cplusplus
+}
+#endif
+
#endif // __UI_HTTP_SERVER_H__
diff --git a/components/wifi_interface/CMakeLists.txt b/components/wifi_interface/CMakeLists.txt
index 62e6adb..4f1b439 100644
--- a/components/wifi_interface/CMakeLists.txt
+++ b/components/wifi_interface/CMakeLists.txt
@@ -1,3 +1,3 @@
idf_component_register(SRCS "wifi_interface.c"
INCLUDE_DIRS "include"
- REQUIRES wifi_provisioning esp_event esp_wifi esp_hw_support)
+ REQUIRES wifi_provisioning esp_event esp_wifi esp_hw_support nvs_flash improv_wifi)
diff --git a/components/wifi_interface/Kconfig.projbuild b/components/wifi_interface/Kconfig.projbuild
index 3b717a3..f75d244 100644
--- a/components/wifi_interface/Kconfig.projbuild
+++ b/components/wifi_interface/Kconfig.projbuild
@@ -3,21 +3,7 @@ menu "Wifi Configuration"
bool "enable WiFi provisioning"
default n
help
- Enable WiFi provisioning so espressif APP can be used to provison WiFi credentials
-
- config WIFI_PROVISIONING_SSID
- string "WiFi provisioning SSID"
- default "prov_snapclient"
- depends on ENABLE_WIFI_PROVISIONING
- help
- SSID (network name) to use for provisioning access point. Shouldn't be longer than 20 characters.
-
- config WIFI_PROVISIONING_PASSWORD
- string "WiFi provisioning password"
- default "12345678"
- depends on ENABLE_WIFI_PROVISIONING
- help
- WiFi password (WPA or WPA2) to use for provisioning access point
+ Enable WiFi provisioning through improv WiFi (https://github.com/improv-wifi), try it using https://web.esphome.io/
config WIFI_SSID
string "WiFi SSID"
@@ -34,7 +20,7 @@ menu "Wifi Configuration"
WiFi password (WPA or WPA2) for the example to use.
config WIFI_MAXIMUM_RETRY
- int "Maximum retry"
+ int "Maximum connection retry"
default 5
help
Set the Maximum retry to avoid station reconnecting to the AP unlimited when the AP is really inexistent.
diff --git a/components/wifi_interface/wifi_interface.c b/components/wifi_interface/wifi_interface.c
index c172dde..7aaac3f 100644
--- a/components/wifi_interface/wifi_interface.c
+++ b/components/wifi_interface/wifi_interface.c
@@ -10,33 +10,59 @@
#include "esp_event.h"
#include "esp_log.h"
#include "esp_mac.h"
+#include "esp_timer.h"
#include "esp_wifi.h"
+#include "nvs_flash.h"
#if ENABLE_WIFI_PROVISIONING
#include // for memcpy
-#include
-#include
-#endif
-#if ENABLE_WIFI_PROVISIONING
-static const char *provPwd = CONFIG_WIFI_PROVISIONING_PASSWORD;
-static const char *provSsid = CONFIG_WIFI_PROVISIONING_SSID;
+#include "wifi_provisioning.h"
#endif
static const char *TAG = "WIFI";
+static void reset_reason_timer_counter_cb(void *);
+
static char mac_address[18];
EventGroupHandle_t s_wifi_event_group;
static int s_retry_num = 0;
-static wifi_config_t wifi_config;
static esp_netif_t *esp_wifi_netif = NULL;
-/* FreeRTOS event group to signal when we are connected & ready to make a
- * request */
-// static EventGroupHandle_t wifi_event_group;
+#if ENABLE_WIFI_PROVISIONING
+static esp_timer_handle_t resetReasonTimerHandle = NULL;
+static const esp_timer_create_args_t resetReasonTimerArgs = {
+ .callback = &reset_reason_timer_counter_cb,
+ .dispatch_method = ESP_TIMER_TASK,
+ .name = "rstCnt",
+ .skip_unhandled_events = false};
+
+static uint8_t resetReasonCounter = 0;
+
+static void reset_reason_timer_counter_cb(void *args) {
+ nvs_handle_t nvs_handle;
+ esp_err_t err = nvs_open("storage", NVS_READWRITE, &nvs_handle);
+ if (err != ESP_OK) {
+ ESP_LOGE(TAG, "%s: Error (%s) opening NVS handle!", __func__,
+ esp_err_to_name(err));
+ } else {
+ ESP_LOGI(TAG, "resetting POR reset counter ...");
+
+ resetReasonCounter = 0;
+
+ err |= nvs_set_u8(nvs_handle, "restart_counter", resetReasonCounter);
+ err |= nvs_commit(nvs_handle);
+ ESP_LOGI(TAG, "%s", (err != ESP_OK) ? "Failed!" : "Done");
+
+ nvs_close(nvs_handle);
+ }
+
+ esp_timer_delete(resetReasonTimerHandle);
+}
+#endif
/* The event group allows multiple bits for each event,
but we only care about one event - are we connected
@@ -65,61 +91,9 @@ static void event_handler(void *arg, esp_event_base_t event_base, int event_id,
xEventGroupSetBits(s_wifi_event_group, WIFI_FAIL_BIT);
}
ESP_LOGI(TAG, "connect to the AP fail");
- } else {
-#if ENABLE_WIFI_PROVISIONING
- if (event_base == WIFI_PROV_EVENT) {
- switch (event_id) {
- case WIFI_PROV_START:
- ESP_LOGI(TAG, "Provisioning started");
- break;
- case WIFI_PROV_CRED_RECV: {
- wifi_sta_config_t *wifi_sta_cfg = (wifi_sta_config_t *)event_data;
- ESP_LOGI(TAG,
- "Received Wi-Fi credentials"
- "\n\tSSID : %s\n\tPassword : %s",
- (const char *)wifi_sta_cfg->ssid,
- (const char *)wifi_sta_cfg->password);
- memcpy(&(wifi_config.sta), wifi_sta_cfg, sizeof(wifi_sta_config_t));
- break;
- }
- case WIFI_PROV_CRED_FAIL: {
- wifi_prov_sta_fail_reason_t *reason =
- (wifi_prov_sta_fail_reason_t *)event_data;
- ESP_LOGE(TAG,
- "Provisioning failed!\n\tReason : %s"
- "\n\tPlease reset to factory and retry provisioning",
- (*reason == WIFI_PROV_STA_AUTH_ERROR)
- ? "Wi-Fi station authentication failed"
- : "Wi-Fi access-point not found");
- break;
- }
- case WIFI_PROV_CRED_SUCCESS:
- ESP_LOGI(TAG, "Provisioning successful");
- break;
- case WIFI_PROV_END:
- /* De-initialize manager once provisioning is finished */
- ESP_LOGI(TAG, "Provisioning end");
- break;
- default:
- break;
- }
- }
-#endif
}
}
-#if ENABLE_WIFI_PROVISIONING
-static void get_device_service_name(char *service_name, size_t max) {
- uint8_t eth_mac[6];
- const char *ssid_prefix = provSsid;
-
- esp_wifi_get_mac(WIFI_IF_STA, eth_mac);
-
- snprintf(service_name, max, "%s_%02X%02X%02X", ssid_prefix, eth_mac[3],
- eth_mac[4], eth_mac[5]);
-}
-#endif
-
void wifi_init(void) {
s_wifi_event_group = xEventGroupCreate();
@@ -132,121 +106,83 @@ void wifi_init(void) {
ESP_ERROR_CHECK(
esp_event_handler_register(IP_EVENT, IP_EVENT_STA_GOT_IP,
(esp_event_handler_t)&event_handler, NULL));
-#if ENABLE_WIFI_PROVISIONING
- ESP_ERROR_CHECK(esp_event_handler_register(WIFI_PROV_EVENT, ESP_EVENT_ANY_ID,
- &event_handler, NULL));
-#endif
esp_wifi_netif = esp_netif_create_default_wifi_sta();
-#if ENABLE_WIFI_PROVISIONING
- esp_netif_create_default_wifi_ap();
-#endif
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
ESP_ERROR_CHECK(esp_wifi_init(&cfg));
// esp_wifi_set_bandwidth (WIFI_IF_STA, WIFI_BW_HT20);
esp_wifi_set_bandwidth(WIFI_IF_STA, WIFI_BW_HT40);
-
esp_wifi_set_protocol(
WIFI_IF_STA, WIFI_PROTOCOL_11B | WIFI_PROTOCOL_11G | WIFI_PROTOCOL_11N);
- // esp_wifi_set_protocol(WIFI_IF_STA, WIFI_PROTOCOL_11B | WIFI_PROTOCOL_11G);
- // esp_wifi_set_protocol(WIFI_IF_STA, WIFI_PROTOCOL_11B);
// esp_wifi_set_ps(WIFI_PS_MIN_MODEM);
// esp_wifi_set_ps(WIFI_PS_NONE);
#if ENABLE_WIFI_PROVISIONING
- // Configuration for the provisioning manager
- wifi_prov_mgr_config_t config = {
- .scheme = wifi_prov_scheme_softap,
- .scheme_event_handler = WIFI_PROV_EVENT_HANDLER_NONE};
+ esp_reset_reason_t resetReason = esp_reset_reason();
+ ESP_LOGI(TAG, "reset reason was: %d", resetReason);
+ esp_timer_create(&resetReasonTimerArgs, &resetReasonTimerHandle);
+ esp_timer_start_once(resetReasonTimerHandle, 5000000);
+ if (resetReason == ESP_RST_POWERON) {
+ nvs_handle_t nvs_handle;
+ esp_err_t err = nvs_open("storage", NVS_READWRITE, &nvs_handle);
+ if (err != ESP_OK) {
+ ESP_LOGE(TAG, "%s: Error (%s) opening NVS handle!", __func__,
+ esp_err_to_name(err));
+ } else {
+ ESP_LOGI(TAG, "get POR reset counter ...");
+ err |= nvs_get_u8(nvs_handle, "restart_counter", &resetReasonCounter);
- // Initialize provisioning manager with the
- // configuration parameters set above
- ESP_ERROR_CHECK(wifi_prov_mgr_init(config));
+ ESP_LOGI(TAG, "reset counter %d", resetReasonCounter);
- bool provisioned = false;
- /* Let's find out if the device is provisioned */
- ESP_ERROR_CHECK(wifi_prov_mgr_is_provisioned(&provisioned));
+ resetReasonCounter++;
- /* If device is not yet provisioned start provisioning service */
- if (!provisioned) {
- ESP_LOGI(TAG, "Starting provisioning");
+ if (resetReasonCounter > 3) {
+ ESP_LOGW(TAG, "resetting WIFI credentials!");
- // Wi-Fi SSID when scheme is wifi_prov_scheme_softap
- char service_name[27];
- get_device_service_name(service_name, sizeof(service_name));
+ resetReasonCounter = 0;
- /* What is the security level that we want (0 or 1):
- * - WIFI_PROV_SECURITY_0 is simply plain text communication.
- * - WIFI_PROV_SECURITY_1 is secure communication which consists of
- * secure handshake using X25519 key exchange and proof of possession
- * (pop) and AES-CTR for encryption/decryption of messages.
- */
- wifi_prov_security_t security = WIFI_PROV_SECURITY_1;
+ esp_wifi_restore();
+ // esp_wifi_set_bandwidth (WIFI_IF_STA, WIFI_BW_HT20);
+ esp_wifi_set_bandwidth(WIFI_IF_STA, WIFI_BW_HT40);
+ esp_wifi_set_protocol(WIFI_IF_STA, WIFI_PROTOCOL_11B |
+ WIFI_PROTOCOL_11G |
+ WIFI_PROTOCOL_11N);
- /* Do we want a proof-of-possession (ignored if Security 0 is selected):
- * - this should be a string with length > 0
- * - NULL if not used
- */
- const char *pop = NULL; //"abcd1234";
+ esp_timer_stop(resetReasonTimerHandle);
+ esp_timer_delete(resetReasonTimerHandle);
+ }
- /* What is the service key (could be NULL)
- * This translates to :
- * - Wi-Fi password when scheme is wifi_prov_scheme_softap
- * - simply ignored when scheme is wifi_prov_scheme_ble
- */
- const char *service_key = provPwd;
+ err |= nvs_set_u8(nvs_handle, "restart_counter", resetReasonCounter);
+ err |= nvs_commit(nvs_handle);
+ ESP_LOGI(TAG, "%s", (err != ESP_OK) ? "Failed!" : "Done");
- /* An optional endpoint that applications can create if they expect to
- * get some additional custom data during provisioning workflow.
- * The endpoint name can be anything of your choice.
- * This call must be made before starting the provisioning.
- */
- // wifi_prov_mgr_endpoint_create("custom-data");
- /* Start provisioning service */
- ESP_ERROR_CHECK(wifi_prov_mgr_start_provisioning(
- security, pop, service_name, service_key));
-
- /* The handler for the optional endpoint created above.
- * This call must be made after starting the provisioning, and only if
- * the endpoint has already been created above.
- */
- // wifi_prov_mgr_endpoint_register("custom-data",
- // custom_prov_data_handler, NULL);
-
- /* Uncomment the following to wait for the provisioning to finish and
- * then release the resources of the manager. Since in this case
- * de-initialization is triggered by the default event loop handler, we
- * don't need to call the following */
- wifi_prov_mgr_wait();
- wifi_prov_mgr_deinit();
- } else {
- ESP_LOGI(TAG, "Already provisioned, starting Wi-Fi STA");
-
- /* We don't need the manager as device is already provisioned,
- * so let's release it's resources */
- wifi_prov_mgr_deinit();
-
- /* Start Wi-Fi station */
- ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
-
- wifi_config_t wifi_config;
- ESP_ERROR_CHECK(esp_wifi_get_config(WIFI_IF_STA, &wifi_config));
- wifi_config.sta.sort_method = WIFI_CONNECT_AP_BY_SIGNAL;
- ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config));
-
- ESP_ERROR_CHECK(esp_wifi_start());
-
- ESP_LOGI(TAG, "wifi_init_sta finished.");
+ nvs_close(nvs_handle);
+ }
}
+
+ /* Start Wi-Fi station */
+ ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
+
+ wifi_config_t wifi_config;
+ ESP_ERROR_CHECK(esp_wifi_get_config(WIFI_IF_STA, &wifi_config));
+ wifi_config.sta.sort_method = WIFI_CONNECT_AP_BY_SIGNAL;
+ ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config));
+
+ ESP_ERROR_CHECK(esp_wifi_start());
+
+ ESP_LOGI(TAG, "Starting provisioning");
+
+ improv_init();
#else
wifi_config_t wifi_config = {
.sta =
{
.ssid = WIFI_SSID,
.password = WIFI_PASSWORD,
+ .sort_method = WIFI_CONNECT_AP_BY_SIGNAL,
.threshold.authmode = WIFI_AUTH_WPA2_PSK,
.pmf_cfg = {.capable = true, .required = false},
},
diff --git a/dependencies.lock b/dependencies.lock
index 30a3800..e69de29 100644
--- a/dependencies.lock
+++ b/dependencies.lock
@@ -1,32 +0,0 @@
-dependencies:
- espressif/esp-dsp:
- component_hash: fa7fe74305df6da25867437ebcd4213e047cbfc0556cf92067ab657fce537c6e
- dependencies:
- - name: idf
- require: private
- version: '>=4.2'
- source:
- registry_url: https://components.espressif.com/
- type: service
- version: 1.5.2
- espressif/mdns:
- component_hash: d36b265164be5139f92de993f08f5ecaa0de0c0acbf84deee1f10bb5902d04ff
- dependencies:
- - name: idf
- require: private
- version: '>=5.0'
- source:
- registry_url: https://components.espressif.com/
- type: service
- version: 1.4.3
- idf:
- source:
- type: idf
- version: 5.1.5
-direct_dependencies:
-- espressif/esp-dsp
-- espressif/mdns
-- idf
-manifest_hash: 01df6f188570b9e5362f7a00a294b1d3403de1f5ce8cbd848004d3bc88aa09a8
-target: esp32
-version: 2.0.0
diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt
index aa4dd63..c4d9741 100644
--- a/main/CMakeLists.txt
+++ b/main/CMakeLists.txt
@@ -1,5 +1,5 @@
idf_component_register(SRCS "main.c"
INCLUDE_DIRS "."
PRIV_REQUIRES esp_timer esp_wifi nvs_flash wifi_interface audio_board audio_hal audio_sal net_functions opus flac ota_server
- ui_http_server eth_interface
+ ui_http_server improv_wifi eth_interface
)
diff --git a/main/main.c b/main/main.c
index 497b7fe..02b5685 100644
--- a/main/main.c
+++ b/main/main.c
@@ -17,7 +17,8 @@
#include "freertos/FreeRTOS.h"
#include "freertos/event_groups.h"
#include "freertos/task.h"
-#if CONFIG_SNAPCLIENT_ENABLE_ETHERNET
+#if CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET || \
+ CONFIG_SNAPCLIENT_USE_SPI_ETHERNET
#include "eth_interface.h"
#endif
@@ -25,6 +26,8 @@
#include "wifi_interface.h"
// Minimum ESP-IDF stuff only hardware abstraction stuff
+#include
+
#include "board.h"
#include "es8388.h"
#include "esp_netif.h"
@@ -79,10 +82,11 @@ static FLAC__StreamDecoder *flacDecoder = NULL;
const char *VERSION_STRING = "0.0.3";
#define HTTP_TASK_PRIORITY 9
-#define HTTP_TASK_CORE_ID tskNO_AFFINITY // 1 // tskNO_AFFINITY
+#define HTTP_TASK_CORE_ID tskNO_AFFINITY
-#define OTA_TASK_PRIORITY 4
+#define OTA_TASK_PRIORITY 6
#define OTA_TASK_CORE_ID tskNO_AFFINITY
+// 1 // tskNO_AFFINITY
TaskHandle_t t_ota_task = NULL;
TaskHandle_t t_http_get_task = NULL;
@@ -414,22 +418,6 @@ void error_callback(const FLAC__StreamDecoder *decoder,
FLAC__StreamDecoderErrorStatusString[status]);
}
-/*
- * Add one timeval to another.
- */
-tv_t timeval_add(tv_t *a, tv_t *b) {
- tv_t result;
-
- result.sec = a->sec + b->sec;
- result.usec = a->usec + b->usec;
- if (result.usec >= 1000000) {
- result.sec += 1;
- result.usec -= 1000000;
- }
-
- return result;
-} // timeval_add
-
/**
*
*/
@@ -621,7 +609,8 @@ static void http_get_task(void *pvParameters) {
char mac_address[18];
uint8_t base_mac[6];
// Get MAC address for WiFi station
-#if CONFIG_SNAPCLIENT_ENABLE_ETHERNET
+#if CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET || \
+ CONFIG_SNAPCLIENT_USE_SPI_ETHERNET
esp_read_mac(base_mac, ESP_MAC_ETH);
#else
esp_read_mac(base_mac, ESP_MAC_WIFI_STA);
@@ -1749,8 +1738,6 @@ static void http_get_task(void *pvParameters) {
}
if (codec == OPUS) {
- // ESP_LOGI(TAG, "OPUS not
- // mplemented yet"); return;
uint16_t channels;
uint32_t rate;
uint16_t bits;
@@ -2408,15 +2395,20 @@ void app_main(void) {
ESP_ERROR_CHECK(ret);
esp_log_level_set("*", ESP_LOG_INFO);
- // esp_log_level_set("c_I2S", ESP_LOG_NONE);
// if enabled these cause a timer srv stack overflow
esp_log_level_set("HEADPHONE", ESP_LOG_NONE);
- esp_log_level_set("gpio", ESP_LOG_NONE);
- esp_log_level_set("i2s_std", ESP_LOG_DEBUG);
- esp_log_level_set("i2s_common", ESP_LOG_DEBUG);
+ esp_log_level_set("gpio", ESP_LOG_WARN);
+ esp_log_level_set("uart", ESP_LOG_WARN);
+ // esp_log_level_set("i2s_std", ESP_LOG_DEBUG);
+ // esp_log_level_set("i2s_common", ESP_LOG_DEBUG);
+ esp_log_level_set("wifi", ESP_LOG_WARN);
+ esp_log_level_set("wifi_init", ESP_LOG_WARN);
+ esp_log_level_set("wifi", ESP_LOG_WARN);
+ esp_log_level_set("wifi_init", ESP_LOG_WARN);
-#if CONFIG_SNAPCLIENT_ENABLE_ETHERNET
+#if CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET || \
+ CONFIG_SNAPCLIENT_USE_SPI_ETHERNET
// clang-format off
// nINT/REFCLKO Function Select Configuration Strap
// • When nINTSEL is floated or pulled to
@@ -2516,9 +2508,35 @@ void app_main(void) {
// ESP_LOGI(TAG, "init player");
init_player();
- // setup_ma120();
-#if CONFIG_SNAPCLIENT_ENABLE_ETHERNET
+ // ensure there is no noise from DAC
+ {
+ board_i2s_pin_t pin_config0;
+ get_i2s_pins(I2S_NUM_0, &pin_config0);
+
+ gpio_config_t gpioCfg = {
+ .pin_bit_mask =
+ BIT64(pin_config0.mck_io_num) | BIT64(pin_config0.data_out_num) |
+ BIT64(pin_config0.bck_io_num) | BIT64(pin_config0.ws_io_num),
+ .mode = GPIO_MODE_OUTPUT,
+ .pull_up_en = GPIO_PULLUP_DISABLE,
+ .pull_down_en = GPIO_PULLDOWN_DISABLE,
+ .intr_type = GPIO_INTR_DISABLE,
+ };
+ gpio_config(&gpioCfg);
+ gpio_set_level(pin_config0.mck_io_num, 0);
+ gpio_set_level(pin_config0.data_out_num, 0);
+ gpio_set_level(pin_config0.bck_io_num, 0);
+ gpio_set_level(pin_config0.ws_io_num, 0);
+
+ gpioCfg.pin_bit_mask = BIT64(pin_config0.data_in_num);
+ gpioCfg.mode = GPIO_MODE_INPUT;
+ gpioCfg.pull_up_en = GPIO_PULLUP_ENABLE;
+ gpio_config(&gpioCfg);
+ }
+
+#if CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET || \
+ CONFIG_SNAPCLIENT_USE_SPI_ETHERNET
eth_init();
// pass "WIFI_STA_DEF", "WIFI_AP_DEF", "ETH_DEF"
init_http_server_task("ETH_DEF");
diff --git a/sdkconfig_PCM5102A b/sdkconfig_PCM5102A
new file mode 100644
index 0000000..5d1ada9
--- /dev/null
+++ b/sdkconfig_PCM5102A
@@ -0,0 +1,1978 @@
+#
+# Automatically generated file. DO NOT EDIT.
+# Espressif IoT Development Framework (ESP-IDF) 5.1.1 Project Configuration
+#
+CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined"
+CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined"
+CONFIG_SOC_DPORT_WORKAROUND="Not determined"
+CONFIG_SOC_CAPS_ECO_VER_MAX=301
+CONFIG_SOC_ADC_SUPPORTED=y
+CONFIG_SOC_DAC_SUPPORTED=y
+CONFIG_SOC_UART_SUPPORTED=y
+CONFIG_SOC_MCPWM_SUPPORTED=y
+CONFIG_SOC_GPTIMER_SUPPORTED=y
+CONFIG_SOC_SDMMC_HOST_SUPPORTED=y
+CONFIG_SOC_BT_SUPPORTED=y
+CONFIG_SOC_PCNT_SUPPORTED=y
+CONFIG_SOC_WIFI_SUPPORTED=y
+CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y
+CONFIG_SOC_TWAI_SUPPORTED=y
+CONFIG_SOC_EMAC_SUPPORTED=y
+CONFIG_SOC_ULP_SUPPORTED=y
+CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
+CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
+CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
+CONFIG_SOC_RTC_MEM_SUPPORTED=y
+CONFIG_SOC_I2S_SUPPORTED=y
+CONFIG_SOC_RMT_SUPPORTED=y
+CONFIG_SOC_SDM_SUPPORTED=y
+CONFIG_SOC_GPSPI_SUPPORTED=y
+CONFIG_SOC_LEDC_SUPPORTED=y
+CONFIG_SOC_I2C_SUPPORTED=y
+CONFIG_SOC_SUPPORT_COEXISTENCE=y
+CONFIG_SOC_AES_SUPPORTED=y
+CONFIG_SOC_MPI_SUPPORTED=y
+CONFIG_SOC_SHA_SUPPORTED=y
+CONFIG_SOC_FLASH_ENC_SUPPORTED=y
+CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
+CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y
+CONFIG_SOC_BOD_SUPPORTED=y
+CONFIG_SOC_ULP_FSM_SUPPORTED=y
+CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5
+CONFIG_SOC_XTAL_SUPPORT_26M=y
+CONFIG_SOC_XTAL_SUPPORT_40M=y
+CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y
+CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
+CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
+CONFIG_SOC_ADC_DMA_SUPPORTED=y
+CONFIG_SOC_ADC_PERIPH_NUM=2
+CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10
+CONFIG_SOC_ADC_ATTEN_NUM=4
+CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2
+CONFIG_SOC_ADC_PATT_LEN_MAX=16
+CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9
+CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12
+CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2
+CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4
+CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2
+CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20
+CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9
+CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12
+CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y
+CONFIG_SOC_IDCACHE_PER_CORE=y
+CONFIG_SOC_CPU_CORES_NUM=2
+CONFIG_SOC_CPU_INTR_NUM=32
+CONFIG_SOC_CPU_HAS_FPU=y
+CONFIG_SOC_CPU_BREAKPOINTS_NUM=2
+CONFIG_SOC_CPU_WATCHPOINTS_NUM=2
+CONFIG_SOC_CPU_WATCHPOINT_SIZE=64
+CONFIG_SOC_DAC_CHAN_NUM=2
+CONFIG_SOC_DAC_RESOLUTION=8
+CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y
+CONFIG_SOC_GPIO_PORT=1
+CONFIG_SOC_GPIO_PIN_COUNT=40
+CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF
+CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA
+CONFIG_SOC_I2C_NUM=2
+CONFIG_SOC_I2C_FIFO_LEN=32
+CONFIG_SOC_I2C_CMD_REG_NUM=16
+CONFIG_SOC_I2C_SUPPORT_SLAVE=y
+CONFIG_SOC_I2C_SUPPORT_APB=y
+CONFIG_SOC_I2S_NUM=2
+CONFIG_SOC_I2S_HW_VERSION_1=y
+CONFIG_SOC_I2S_SUPPORTS_APLL=y
+CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y
+CONFIG_SOC_I2S_SUPPORTS_PDM=y
+CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y
+CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1
+CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y
+CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1
+CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y
+CONFIG_SOC_I2S_SUPPORTS_ADC=y
+CONFIG_SOC_I2S_SUPPORTS_DAC=y
+CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y
+CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y
+CONFIG_SOC_I2S_LCD_I80_VARIANT=y
+CONFIG_SOC_LCD_I80_SUPPORTED=y
+CONFIG_SOC_LCD_I80_BUSES=2
+CONFIG_SOC_LCD_I80_BUS_WIDTH=24
+CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y
+CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y
+CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y
+CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y
+CONFIG_SOC_LEDC_CHANNEL_NUM=8
+CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20
+CONFIG_SOC_MCPWM_GROUPS=2
+CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3
+CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3
+CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3
+CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y
+CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3
+CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3
+CONFIG_SOC_MMU_PERIPH_NUM=2
+CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3
+CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000
+CONFIG_SOC_MPU_REGIONS_MAX_NUM=8
+CONFIG_SOC_PCNT_GROUPS=1
+CONFIG_SOC_PCNT_UNITS_PER_GROUP=8
+CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2
+CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2
+CONFIG_SOC_RMT_GROUPS=1
+CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8
+CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8
+CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8
+CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64
+CONFIG_SOC_RMT_SUPPORT_REF_TICK=y
+CONFIG_SOC_RMT_SUPPORT_APB=y
+CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y
+CONFIG_SOC_RTCIO_PIN_COUNT=18
+CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y
+CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y
+CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y
+CONFIG_SOC_SDM_GROUPS=1
+CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8
+CONFIG_SOC_SDM_CLK_SUPPORT_APB=y
+CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y
+CONFIG_SOC_SPI_AS_CS_SUPPORTED=y
+CONFIG_SOC_SPI_PERIPH_NUM=3
+CONFIG_SOC_SPI_DMA_CHAN_NUM=2
+CONFIG_SOC_SPI_MAX_CS_NUM=3
+CONFIG_SOC_SPI_SUPPORT_CLK_APB=y
+CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64
+CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192
+CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y
+CONFIG_SOC_TIMER_GROUPS=2
+CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2
+CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64
+CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4
+CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y
+CONFIG_SOC_TOUCH_VERSION_1=y
+CONFIG_SOC_TOUCH_SENSOR_NUM=10
+CONFIG_SOC_TOUCH_PAD_MEASURE_WAIT_MAX=0xFF
+CONFIG_SOC_TWAI_CONTROLLER_NUM=1
+CONFIG_SOC_TWAI_BRP_MIN=2
+CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y
+CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y
+CONFIG_SOC_UART_NUM=3
+CONFIG_SOC_UART_SUPPORT_APB_CLK=y
+CONFIG_SOC_UART_SUPPORT_REF_TICK=y
+CONFIG_SOC_UART_FIFO_LEN=128
+CONFIG_SOC_UART_BITRATE_MAX=5000000
+CONFIG_SOC_SPIRAM_SUPPORTED=y
+CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y
+CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y
+CONFIG_SOC_SHA_SUPPORT_SHA1=y
+CONFIG_SOC_SHA_SUPPORT_SHA256=y
+CONFIG_SOC_SHA_SUPPORT_SHA384=y
+CONFIG_SOC_SHA_SUPPORT_SHA512=y
+CONFIG_SOC_RSA_MAX_BIT_LEN=4096
+CONFIG_SOC_AES_SUPPORT_AES_128=y
+CONFIG_SOC_AES_SUPPORT_AES_192=y
+CONFIG_SOC_AES_SUPPORT_AES_256=y
+CONFIG_SOC_SECURE_BOOT_V1=y
+CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
+CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
+CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
+CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y
+CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y
+CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y
+CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y
+CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y
+CONFIG_SOC_PM_SUPPORT_MODEM_PD=y
+CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y
+CONFIG_SOC_CLK_APLL_SUPPORTED=y
+CONFIG_SOC_APLL_MULTIPLIER_OUT_MIN_HZ=350000000
+CONFIG_SOC_APLL_MULTIPLIER_OUT_MAX_HZ=500000000
+CONFIG_SOC_APLL_MIN_HZ=5303031
+CONFIG_SOC_APLL_MAX_HZ=125000000
+CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y
+CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y
+CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y
+CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y
+CONFIG_SOC_SDMMC_USE_IOMUX=y
+CONFIG_SOC_SDMMC_NUM_SLOTS=2
+CONFIG_SOC_WIFI_WAPI_SUPPORT=y
+CONFIG_SOC_WIFI_CSI_SUPPORT=y
+CONFIG_SOC_WIFI_MESH_SUPPORT=y
+CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y
+CONFIG_SOC_WIFI_NAN_SUPPORT=y
+CONFIG_SOC_BLE_SUPPORTED=y
+CONFIG_SOC_BLE_MESH_SUPPORTED=y
+CONFIG_SOC_BT_CLASSIC_SUPPORTED=y
+CONFIG_SOC_BLUFI_SUPPORTED=y
+CONFIG_SOC_ULP_HAS_ADC=y
+CONFIG_IDF_CMAKE=y
+CONFIG_IDF_TARGET_ARCH_XTENSA=y
+CONFIG_IDF_TARGET_ARCH="xtensa"
+CONFIG_IDF_TARGET="esp32"
+CONFIG_IDF_TARGET_ESP32=y
+CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000
+
+#
+# Build type
+#
+CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y
+# CONFIG_APP_BUILD_TYPE_RAM is not set
+CONFIG_APP_BUILD_GENERATE_BINARIES=y
+CONFIG_APP_BUILD_BOOTLOADER=y
+CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y
+# CONFIG_APP_REPRODUCIBLE_BUILD is not set
+# CONFIG_APP_NO_BLOBS is not set
+# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set
+# end of Build type
+
+#
+# Bootloader config
+#
+CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000
+CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
+# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
+# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set
+# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
+CONFIG_BOOTLOADER_LOG_LEVEL_ERROR=y
+# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_INFO is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
+CONFIG_BOOTLOADER_LOG_LEVEL=1
+# CONFIG_BOOTLOADER_SPI_CUSTOM_WP_PIN is not set
+CONFIG_BOOTLOADER_SPI_WP_PIN=7
+CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
+# CONFIG_BOOTLOADER_FACTORY_RESET is not set
+# CONFIG_BOOTLOADER_APP_TEST is not set
+CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y
+CONFIG_BOOTLOADER_WDT_ENABLE=y
+# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
+CONFIG_BOOTLOADER_WDT_TIME_MS=9000
+CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
+# CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
+CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
+# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
+CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
+# end of Bootloader config
+
+#
+# Security features
+#
+CONFIG_SECURE_BOOT_V1_SUPPORTED=y
+# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
+# CONFIG_SECURE_BOOT is not set
+# CONFIG_SECURE_FLASH_ENC_ENABLED is not set
+# end of Security features
+
+#
+# Application manager
+#
+CONFIG_APP_COMPILE_TIME_DATE=y
+# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set
+# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set
+# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set
+CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
+# end of Application manager
+
+CONFIG_ESP_ROM_HAS_CRC_LE=y
+CONFIG_ESP_ROM_HAS_CRC_BE=y
+CONFIG_ESP_ROM_HAS_MZ_CRC32=y
+CONFIG_ESP_ROM_HAS_JPEG_DECODE=y
+CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y
+CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y
+CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y
+
+#
+# Serial flasher config
+#
+# CONFIG_ESPTOOLPY_NO_STUB is not set
+CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
+# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set
+# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set
+# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
+CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y
+CONFIG_ESPTOOLPY_FLASHMODE="dio"
+CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
+# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set
+# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set
+# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set
+CONFIG_ESPTOOLPY_FLASHFREQ="80m"
+# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
+CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
+# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
+CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
+# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set
+CONFIG_ESPTOOLPY_BEFORE_RESET=y
+# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
+CONFIG_ESPTOOLPY_BEFORE="default_reset"
+CONFIG_ESPTOOLPY_AFTER_RESET=y
+# CONFIG_ESPTOOLPY_AFTER_NORESET is not set
+CONFIG_ESPTOOLPY_AFTER="hard_reset"
+CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
+# end of Serial flasher config
+
+#
+# Partition Table
+#
+# CONFIG_PARTITION_TABLE_SINGLE_APP is not set
+# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set
+# CONFIG_PARTITION_TABLE_TWO_OTA is not set
+CONFIG_PARTITION_TABLE_CUSTOM=y
+CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
+CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"
+CONFIG_PARTITION_TABLE_OFFSET=0x8000
+CONFIG_PARTITION_TABLE_MD5=y
+# end of Partition Table
+
+#
+# Snapclient Configuration
+#
+CONFIG_SNAPSERVER_USE_MDNS=y
+CONFIG_SNAPCLIENT_NAME="Arbeitszimmer"
+
+#
+# HTTP Server Setting
+#
+CONFIG_WEB_PORT=80
+# end of HTTP Server Setting
+
+CONFIG_USE_SAMPLE_INSERTION=y
+# end of Snapclient Configuration
+
+#
+# Audio Board
+#
+CONFIG_AUDIO_BOARD_CUSTOM=y
+# CONFIG_ESP_LYRAT_V4_3_BOARD is not set
+# CONFIG_ESP_LYRAT_V4_2_BOARD is not set
+# CONFIG_ESP_LYRATD_MSC_V2_1_BOARD is not set
+# CONFIG_ESP_LYRATD_MSC_V2_2_BOARD is not set
+# CONFIG_ESP_LYRAT_MINI_V1_1_BOARD is not set
+# CONFIG_ESP32_KORVO_DU1906_BOARD is not set
+# CONFIG_ESP32_S2_KALUGA_1_V1_2_BOARD is not set
+# CONFIG_ESP_AI_THINKER_ES8388_BOARD is not set
+
+#
+# Custom Audio Board
+#
+# CONFIG_DAC_PCM51XX is not set
+CONFIG_DAC_PCM5102A=y
+# CONFIG_DAC_MA120 is not set
+# CONFIG_DAC_MA120X0 is not set
+# CONFIG_DAC_ADAU1961 is not set
+# CONFIG_DAC_MAX98357 is not set
+# CONFIG_DAC_TAS5805M is not set
+# CONFIG_DAC_PT8211 is not set
+
+#
+# DAC I2C control interface
+#
+CONFIG_DAC_I2C_SDA=-1
+CONFIG_DAC_I2C_SCL=-1
+CONFIG_DAC_I2C_ADDR=0x20
+# end of DAC I2C control interface
+
+#
+# I2S master interface
+#
+CONFIG_MASTER_I2S_MCLK_PIN=0
+CONFIG_MASTER_I2S_BCK_PIN=26
+CONFIG_MASTER_I2S_LRCK_PIN=25
+CONFIG_MASTER_I2S_DATAOUT_PIN=22
+# end of I2S master interface
+
+#
+# I2S slave interface
+#
+CONFIG_SLAVE_I2S_BCK_PIN=-1
+CONFIG_SLAVE_I2S_MCLK_PIN=-1
+CONFIG_SLAVE_I2S_LRCK_PIN=-1
+CONFIG_SLAVE_I2S_DATAOUT_PIN=-1
+# end of I2S slave interface
+
+#
+# TI PCM5102A interface Configuration
+#
+CONFIG_PCM5102A_MUTE_PIN=33
+# end of TI PCM5102A interface Configuration
+
+#
+# Logic-Level-Settings
+#
+# CONFIG_INVERT_MCLK_LEVEL is not set
+# CONFIG_INVERT_WORD_SELECT_LEVEL is not set
+# CONFIG_INVERT_BCLK_LEVEL is not set
+# end of Logic-Level-Settings
+# end of Custom Audio Board
+# end of Audio Board
+
+#
+# ESP32 DSP processor config
+#
+CONFIG_USE_DSP_PROCESSOR=y
+CONFIG_SNAPCLIENT_DSP_FLOW_STEREO=y
+# CONFIG_SNAPCLIENT_DSP_FLOW_BASSBOOST is not set
+# CONFIG_SNAPCLIENT_DSP_FLOW_BIAMP is not set
+# CONFIG_SNAPCLIENT_DSP_FLOW_BASS_TREBLE_EQ is not set
+CONFIG_USE_BIQUAD_ASM=y
+CONFIG_SNAPCLIENT_USE_SOFT_VOL=y
+# end of ESP32 DSP processor config
+
+#
+# Snapclient Ethernet Configuration
+#
+CONFIG_ENV_GPIO_RANGE_MIN=0
+CONFIG_ENV_GPIO_RANGE_MAX=39
+CONFIG_ENV_GPIO_IN_RANGE_MAX=39
+CONFIG_ENV_GPIO_OUT_RANGE_MAX=33
+# CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET is not set
+# CONFIG_SNAPCLIENT_USE_SPI_ETHERNET is not set
+# end of Snapclient Ethernet Configuration
+
+#
+# SNTP Configuration
+#
+CONFIG_SNTP_TIMEZONE="UTC"
+CONFIG_SNTP_SERVER="pool.ntp.org"
+# end of SNTP Configuration
+
+#
+# Wifi Configuration
+#
+# CONFIG_ENABLE_WIFI_PROVISIONING is not set
+CONFIG_WIFI_SSID="myssid"
+CONFIG_WIFI_PASSWORD="mypassword"
+CONFIG_WIFI_MAXIMUM_RETRY=0
+# end of Wifi Configuration
+
+#
+# Compiler options
+#
+# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set
+# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
+CONFIG_COMPILER_OPTIMIZATION_PERF=y
+# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
+CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
+# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
+# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set
+CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y
+CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
+# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
+CONFIG_COMPILER_HIDE_PATHS_MACROS=y
+# CONFIG_COMPILER_CXX_EXCEPTIONS is not set
+# CONFIG_COMPILER_CXX_RTTI is not set
+CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
+# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set
+# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set
+# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set
+# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
+# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set
+# CONFIG_COMPILER_DUMP_RTL_FILES is not set
+# end of Compiler options
+
+#
+# Component config
+#
+
+#
+# Application Level Tracing
+#
+# CONFIG_APPTRACE_DEST_JTAG is not set
+CONFIG_APPTRACE_DEST_NONE=y
+# CONFIG_APPTRACE_DEST_UART1 is not set
+# CONFIG_APPTRACE_DEST_UART2 is not set
+CONFIG_APPTRACE_DEST_UART_NONE=y
+CONFIG_APPTRACE_UART_TASK_PRIO=1
+CONFIG_APPTRACE_LOCK_ENABLE=y
+# end of Application Level Tracing
+
+#
+# Bluetooth
+#
+# CONFIG_BT_ENABLED is not set
+# end of Bluetooth
+
+#
+# Driver Configurations
+#
+
+#
+# Legacy ADC Configuration
+#
+CONFIG_ADC_DISABLE_DAC=y
+# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set
+
+#
+# Legacy ADC Calibration Configuration
+#
+CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y
+CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y
+CONFIG_ADC_CAL_LUT_ENABLE=y
+# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set
+# end of Legacy ADC Calibration Configuration
+# end of Legacy ADC Configuration
+
+#
+# SPI Configuration
+#
+CONFIG_SPI_MASTER_ISR_IN_IRAM=y
+# CONFIG_SPI_SLAVE_IN_IRAM is not set
+# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set
+# end of SPI Configuration
+
+#
+# TWAI Configuration
+#
+# CONFIG_TWAI_ISR_IN_IRAM is not set
+# CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC is not set
+# CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST is not set
+# CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID is not set
+# CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT is not set
+# CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM is not set
+# end of TWAI Configuration
+
+#
+# UART Configuration
+#
+# CONFIG_UART_ISR_IN_IRAM is not set
+# end of UART Configuration
+
+#
+# GPIO Configuration
+#
+# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
+# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
+# end of GPIO Configuration
+
+#
+# Sigma Delta Modulator Configuration
+#
+# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_SDM_ENABLE_DEBUG_LOG is not set
+# end of Sigma Delta Modulator Configuration
+
+#
+# GPTimer Configuration
+#
+# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set
+# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set
+# end of GPTimer Configuration
+
+#
+# PCNT Configuration
+#
+# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_PCNT_ISR_IRAM_SAFE is not set
+# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set
+# end of PCNT Configuration
+
+#
+# RMT Configuration
+#
+# CONFIG_RMT_ISR_IRAM_SAFE is not set
+# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_RMT_ENABLE_DEBUG_LOG is not set
+# end of RMT Configuration
+
+#
+# MCPWM Configuration
+#
+# CONFIG_MCPWM_ISR_IRAM_SAFE is not set
+# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set
+# end of MCPWM Configuration
+
+#
+# I2S Configuration
+#
+# CONFIG_I2S_ISR_IRAM_SAFE is not set
+# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_I2S_ENABLE_DEBUG_LOG is not set
+# end of I2S Configuration
+
+#
+# DAC Configuration
+#
+# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_DAC_ISR_IRAM_SAFE is not set
+# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_DAC_ENABLE_DEBUG_LOG is not set
+CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y
+# end of DAC Configuration
+# end of Driver Configurations
+
+#
+# eFuse Bit Manager
+#
+# CONFIG_EFUSE_CUSTOM_TABLE is not set
+# CONFIG_EFUSE_VIRTUAL is not set
+# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set
+CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y
+# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set
+CONFIG_EFUSE_MAX_BLK_LEN=192
+# end of eFuse Bit Manager
+
+#
+# ESP-TLS
+#
+CONFIG_ESP_TLS_USING_MBEDTLS=y
+# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
+# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
+# CONFIG_ESP_TLS_SERVER is not set
+# CONFIG_ESP_TLS_PSK_VERIFICATION is not set
+# CONFIG_ESP_TLS_INSECURE is not set
+# end of ESP-TLS
+
+#
+# ADC and ADC Calibration
+#
+# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set
+
+#
+# ADC Calibration Configurations
+#
+CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y
+CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y
+CONFIG_ADC_CALI_LUT_ENABLE=y
+# end of ADC Calibration Configurations
+
+CONFIG_ADC_DISABLE_DAC_OUTPUT=y
+# end of ADC and ADC Calibration
+
+#
+# Wireless Coexistence
+#
+# end of Wireless Coexistence
+
+#
+# Common ESP-related
+#
+CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
+# end of Common ESP-related
+
+#
+# Ethernet
+#
+CONFIG_ETH_ENABLED=y
+CONFIG_ETH_USE_ESP32_EMAC=y
+CONFIG_ETH_PHY_INTERFACE_RMII=y
+CONFIG_ETH_RMII_CLK_INPUT=y
+# CONFIG_ETH_RMII_CLK_OUTPUT is not set
+CONFIG_ETH_RMII_CLK_IN_GPIO=0
+CONFIG_ETH_DMA_BUFFER_SIZE=1024
+CONFIG_ETH_DMA_RX_BUFFER_NUM=30
+CONFIG_ETH_DMA_TX_BUFFER_NUM=5
+# CONFIG_ETH_SOFT_FLOW_CONTROL is not set
+CONFIG_ETH_USE_SPI_ETHERNET=y
+# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set
+# CONFIG_ETH_SPI_ETHERNET_W5500 is not set
+# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set
+# CONFIG_ETH_USE_OPENETH is not set
+# CONFIG_ETH_TRANSMIT_MUTEX is not set
+# end of Ethernet
+
+#
+# Event Loop Library
+#
+# CONFIG_ESP_EVENT_LOOP_PROFILING is not set
+CONFIG_ESP_EVENT_POST_FROM_ISR=y
+# CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR is not set
+# end of Event Loop Library
+
+#
+# GDB Stub
+#
+# end of GDB Stub
+
+#
+# ESP HTTP client
+#
+CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y
+# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set
+# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set
+# end of ESP HTTP client
+
+#
+# HTTP Server
+#
+CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
+CONFIG_HTTPD_MAX_URI_LEN=512
+CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
+CONFIG_HTTPD_PURGE_BUF_LEN=32
+# CONFIG_HTTPD_LOG_PURGE_DATA is not set
+# CONFIG_HTTPD_WS_SUPPORT is not set
+# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set
+# end of HTTP Server
+
+#
+# ESP HTTPS OTA
+#
+# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set
+# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set
+# end of ESP HTTPS OTA
+
+#
+# ESP HTTPS server
+#
+# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
+# end of ESP HTTPS server
+
+#
+# Hardware Settings
+#
+
+#
+# Chip revision
+#
+CONFIG_ESP32_REV_MIN_0=y
+# CONFIG_ESP32_REV_MIN_1 is not set
+# CONFIG_ESP32_REV_MIN_1_1 is not set
+# CONFIG_ESP32_REV_MIN_2 is not set
+# CONFIG_ESP32_REV_MIN_3 is not set
+# CONFIG_ESP32_REV_MIN_3_1 is not set
+CONFIG_ESP32_REV_MIN=0
+CONFIG_ESP32_REV_MIN_FULL=0
+CONFIG_ESP_REV_MIN_FULL=0
+
+#
+# Maximum Supported ESP32 Revision (Rev v3.99)
+#
+CONFIG_ESP32_REV_MAX_FULL=399
+CONFIG_ESP_REV_MAX_FULL=399
+# end of Chip revision
+
+#
+# MAC Config
+#
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
+CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y
+# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set
+CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y
+CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4
+# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set
+# end of MAC Config
+
+#
+# Sleep Config
+#
+CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
+CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
+# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set
+CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000
+# end of Sleep Config
+
+#
+# RTC Clock Config
+#
+CONFIG_RTC_CLK_SRC_INT_RC=y
+# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set
+# CONFIG_RTC_CLK_SRC_EXT_OSC is not set
+# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set
+CONFIG_RTC_CLK_CAL_CYCLES=1024
+# end of RTC Clock Config
+
+#
+# Peripheral Control
+#
+CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
+# end of Peripheral Control
+
+#
+# Main XTAL Config
+#
+# CONFIG_XTAL_FREQ_26 is not set
+CONFIG_XTAL_FREQ_40=y
+# CONFIG_XTAL_FREQ_AUTO is not set
+CONFIG_XTAL_FREQ=40
+# end of Main XTAL Config
+# end of Hardware Settings
+
+#
+# LCD and Touch Panel
+#
+
+#
+# LCD Touch Drivers are maintained in the IDF Component Registry
+#
+
+#
+# LCD Peripheral Configuration
+#
+CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32
+# CONFIG_LCD_ENABLE_DEBUG_LOG is not set
+# end of LCD Peripheral Configuration
+# end of LCD and Touch Panel
+
+#
+# ESP NETIF Adapter
+#
+CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
+CONFIG_ESP_NETIF_TCPIP_LWIP=y
+# CONFIG_ESP_NETIF_LOOPBACK is not set
+CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y
+# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set
+# CONFIG_ESP_NETIF_L2_TAP is not set
+# CONFIG_ESP_NETIF_BRIDGE_EN is not set
+# end of ESP NETIF Adapter
+
+#
+# Partition API Configuration
+#
+# end of Partition API Configuration
+
+#
+# PHY
+#
+CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y
+# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set
+CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20
+CONFIG_ESP_PHY_MAX_TX_POWER=20
+CONFIG_ESP_PHY_REDUCE_TX_POWER=y
+CONFIG_ESP_PHY_RF_CAL_PARTIAL=y
+# CONFIG_ESP_PHY_RF_CAL_NONE is not set
+# CONFIG_ESP_PHY_RF_CAL_FULL is not set
+CONFIG_ESP_PHY_CALIBRATION_MODE=0
+# end of PHY
+
+#
+# Power Management
+#
+# CONFIG_PM_ENABLE is not set
+# end of Power Management
+
+#
+# ESP PSRAM
+#
+# CONFIG_SPIRAM is not set
+# end of ESP PSRAM
+
+#
+# ESP Ringbuf
+#
+# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set
+# end of ESP Ringbuf
+
+#
+# ESP System Settings
+#
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240
+
+#
+# Memory
+#
+# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set
+
+#
+# Non-backward compatible options
+#
+# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set
+# end of Non-backward compatible options
+# end of Memory
+
+#
+# Trace memory
+#
+# CONFIG_ESP32_TRAX is not set
+CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0
+# end of Trace memory
+
+# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
+CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
+# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
+# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set
+# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
+CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0
+
+#
+# Memory protection
+#
+# end of Memory protection
+
+CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
+CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
+CONFIG_ESP_MAIN_TASK_STACK_SIZE=3072
+CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y
+# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set
+# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set
+CONFIG_ESP_MAIN_TASK_AFFINITY=0x0
+CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
+CONFIG_ESP_CONSOLE_UART_DEFAULT=y
+# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
+# CONFIG_ESP_CONSOLE_NONE is not set
+CONFIG_ESP_CONSOLE_UART=y
+CONFIG_ESP_CONSOLE_MULTIPLE_UART=y
+CONFIG_ESP_CONSOLE_UART_NUM=0
+CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
+CONFIG_ESP_INT_WDT=y
+CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
+CONFIG_ESP_INT_WDT_CHECK_CPU1=y
+CONFIG_ESP_TASK_WDT_EN=y
+CONFIG_ESP_TASK_WDT_INIT=y
+# CONFIG_ESP_TASK_WDT_PANIC is not set
+CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
+CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
+CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
+# CONFIG_ESP_PANIC_HANDLER_IRAM is not set
+# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set
+CONFIG_ESP_DEBUG_OCDAWARE=y
+# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5 is not set
+CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y
+
+#
+# Brownout Detector
+#
+CONFIG_ESP_BROWNOUT_DET=y
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set
+CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4=y
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 is not set
+CONFIG_ESP_BROWNOUT_DET_LVL=4
+# end of Brownout Detector
+
+# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set
+CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y
+# end of ESP System Settings
+
+#
+# IPC (Inter-Processor Call)
+#
+CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
+CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
+CONFIG_ESP_IPC_ISR_ENABLE=y
+# end of IPC (Inter-Processor Call)
+
+#
+# High resolution timer (esp_timer)
+#
+# CONFIG_ESP_TIMER_PROFILING is not set
+CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y
+CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y
+CONFIG_ESP_TIMER_TASK_STACK_SIZE=2048
+CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1
+# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set
+CONFIG_ESP_TIMER_TASK_AFFINITY=0x0
+CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y
+CONFIG_ESP_TIMER_ISR_AFFINITY=0x1
+CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y
+# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set
+CONFIG_ESP_TIMER_IMPL_TG0_LAC=y
+# end of High resolution timer (esp_timer)
+
+#
+# Wi-Fi
+#
+CONFIG_ESP_WIFI_ENABLED=y
+CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=8
+CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=64
+CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y
+# CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER is not set
+CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0
+CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=8
+# CONFIG_ESP_WIFI_CSI_ENABLED is not set
+CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y
+CONFIG_ESP_WIFI_TX_BA_WIN=8
+CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP_WIFI_RX_BA_WIN=16
+CONFIG_ESP_WIFI_NVS_ENABLED=y
+CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y
+# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set
+CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752
+CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32
+# CONFIG_ESP_WIFI_IRAM_OPT is not set
+CONFIG_ESP_WIFI_RX_IRAM_OPT=y
+CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y
+CONFIG_ESP_WIFI_ENABLE_SAE_PK=y
+CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y
+CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y
+# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
+# CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set
+# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
+CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
+# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
+CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
+# CONFIG_ESP_WIFI_NAN_ENABLE is not set
+CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y
+CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
+# CONFIG_ESP_WIFI_WAPI_PSK is not set
+# CONFIG_ESP_WIFI_SUITE_B_192 is not set
+# CONFIG_ESP_WIFI_11KV_SUPPORT is not set
+# CONFIG_ESP_WIFI_MBO_SUPPORT is not set
+# CONFIG_ESP_WIFI_DPP_SUPPORT is not set
+# CONFIG_ESP_WIFI_11R_SUPPORT is not set
+# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set
+
+#
+# WPS Configuration Options
+#
+# CONFIG_ESP_WIFI_WPS_STRICT is not set
+# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set
+# end of WPS Configuration Options
+
+# CONFIG_ESP_WIFI_DEBUG_PRINT is not set
+# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set
+# end of Wi-Fi
+
+#
+# Core dump
+#
+# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set
+# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set
+CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
+# end of Core dump
+
+#
+# FAT Filesystem support
+#
+CONFIG_FATFS_VOLUME_COUNT=2
+CONFIG_FATFS_LFN_NONE=y
+# CONFIG_FATFS_LFN_HEAP is not set
+# CONFIG_FATFS_LFN_STACK is not set
+# CONFIG_FATFS_SECTOR_512 is not set
+CONFIG_FATFS_SECTOR_4096=y
+# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set
+CONFIG_FATFS_CODEPAGE_437=y
+# CONFIG_FATFS_CODEPAGE_720 is not set
+# CONFIG_FATFS_CODEPAGE_737 is not set
+# CONFIG_FATFS_CODEPAGE_771 is not set
+# CONFIG_FATFS_CODEPAGE_775 is not set
+# CONFIG_FATFS_CODEPAGE_850 is not set
+# CONFIG_FATFS_CODEPAGE_852 is not set
+# CONFIG_FATFS_CODEPAGE_855 is not set
+# CONFIG_FATFS_CODEPAGE_857 is not set
+# CONFIG_FATFS_CODEPAGE_860 is not set
+# CONFIG_FATFS_CODEPAGE_861 is not set
+# CONFIG_FATFS_CODEPAGE_862 is not set
+# CONFIG_FATFS_CODEPAGE_863 is not set
+# CONFIG_FATFS_CODEPAGE_864 is not set
+# CONFIG_FATFS_CODEPAGE_865 is not set
+# CONFIG_FATFS_CODEPAGE_866 is not set
+# CONFIG_FATFS_CODEPAGE_869 is not set
+# CONFIG_FATFS_CODEPAGE_932 is not set
+# CONFIG_FATFS_CODEPAGE_936 is not set
+# CONFIG_FATFS_CODEPAGE_949 is not set
+# CONFIG_FATFS_CODEPAGE_950 is not set
+CONFIG_FATFS_CODEPAGE=437
+CONFIG_FATFS_FS_LOCK=0
+CONFIG_FATFS_TIMEOUT_MS=10000
+CONFIG_FATFS_PER_FILE_CACHE=y
+# CONFIG_FATFS_USE_FASTSEEK is not set
+CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0
+# end of FAT Filesystem support
+
+#
+# FreeRTOS
+#
+
+#
+# Kernel
+#
+# CONFIG_FREERTOS_SMP is not set
+# CONFIG_FREERTOS_UNICORE is not set
+CONFIG_FREERTOS_HZ=1000
+# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
+# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
+CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
+CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
+CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=768
+# CONFIG_FREERTOS_USE_IDLE_HOOK is not set
+# CONFIG_FREERTOS_USE_TICK_HOOK is not set
+CONFIG_FREERTOS_MAX_TASK_NAME_LEN=10
+CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y
+CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
+CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=1536
+CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=5
+CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
+CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
+# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
+# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
+# end of Kernel
+
+#
+# Port
+#
+# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
+CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
+# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
+CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
+CONFIG_FREERTOS_ISR_STACKSIZE=1536
+CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
+# CONFIG_FREERTOS_FPU_IN_ISR is not set
+CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y
+CONFIG_FREERTOS_CORETIMER_0=y
+# CONFIG_FREERTOS_CORETIMER_1 is not set
+CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y
+CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
+# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set
+# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
+CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
+# end of Port
+
+CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
+CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
+CONFIG_FREERTOS_DEBUG_OCDAWARE=y
+# end of FreeRTOS
+
+#
+# Hardware Abstraction Layer (HAL) and Low Level (LL)
+#
+CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
+# CONFIG_HAL_ASSERTION_DISABLE is not set
+# CONFIG_HAL_ASSERTION_SILENT is not set
+# CONFIG_HAL_ASSERTION_ENABLE is not set
+CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2
+CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y
+# end of Hardware Abstraction Layer (HAL) and Low Level (LL)
+
+#
+# Heap memory debugging
+#
+CONFIG_HEAP_POISONING_DISABLED=y
+# CONFIG_HEAP_POISONING_LIGHT is not set
+# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set
+CONFIG_HEAP_TRACING_OFF=y
+# CONFIG_HEAP_TRACING_STANDALONE is not set
+# CONFIG_HEAP_TRACING_TOHOST is not set
+# CONFIG_HEAP_USE_HOOKS is not set
+# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
+# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set
+# end of Heap memory debugging
+
+CONFIG_IEEE802154_CCA_THRESHOLD=-60
+CONFIG_IEEE802154_PENDING_TABLE_SIZE=20
+
+#
+# Log output
+#
+CONFIG_LOG_DEFAULT_LEVEL_NONE=y
+# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set
+# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set
+# CONFIG_LOG_DEFAULT_LEVEL_INFO is not set
+# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set
+# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set
+CONFIG_LOG_DEFAULT_LEVEL=0
+# CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT is not set
+# CONFIG_LOG_MAXIMUM_LEVEL_ERROR is not set
+# CONFIG_LOG_MAXIMUM_LEVEL_WARN is not set
+CONFIG_LOG_MAXIMUM_LEVEL_INFO=y
+# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set
+# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set
+CONFIG_LOG_MAXIMUM_LEVEL=3
+CONFIG_LOG_COLORS=y
+CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
+# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
+# end of Log output
+
+#
+# LWIP
+#
+CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
+# CONFIG_LWIP_NETIF_API is not set
+# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
+# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set
+CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
+# CONFIG_LWIP_L2_TO_L3_COPY is not set
+# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
+CONFIG_LWIP_TIMERS_ONDEMAND=y
+CONFIG_LWIP_MAX_SOCKETS=6
+# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set
+# CONFIG_LWIP_SO_LINGER is not set
+CONFIG_LWIP_SO_REUSE=y
+# CONFIG_LWIP_SO_REUSE_RXTOALL is not set
+# CONFIG_LWIP_SO_RCVBUF is not set
+# CONFIG_LWIP_NETBUF_RECVINFO is not set
+CONFIG_LWIP_IP4_FRAG=y
+CONFIG_LWIP_IP6_FRAG=y
+# CONFIG_LWIP_IP4_REASSEMBLY is not set
+# CONFIG_LWIP_IP6_REASSEMBLY is not set
+CONFIG_LWIP_IP_REASS_MAX_PBUFS=10
+# CONFIG_LWIP_IP_FORWARD is not set
+# CONFIG_LWIP_STATS is not set
+CONFIG_LWIP_ESP_GRATUITOUS_ARP=y
+CONFIG_LWIP_GARP_TMR_INTERVAL=60
+CONFIG_LWIP_ESP_MLDV6_REPORT=y
+CONFIG_LWIP_MLDV6_TMR_INTERVAL=40
+CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32
+CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
+# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
+CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
+# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
+CONFIG_LWIP_DHCP_OPTIONS_LEN=68
+CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0
+CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1
+
+#
+# DHCP server
+#
+CONFIG_LWIP_DHCPS=y
+CONFIG_LWIP_DHCPS_LEASE_UNIT=60
+CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
+# end of DHCP server
+
+# CONFIG_LWIP_AUTOIP is not set
+CONFIG_LWIP_IPV4=y
+CONFIG_LWIP_IPV6=y
+# CONFIG_LWIP_IPV6_AUTOCONFIG is not set
+CONFIG_LWIP_IPV6_NUM_ADDRESSES=3
+# CONFIG_LWIP_IPV6_FORWARD is not set
+# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set
+CONFIG_LWIP_NETIF_LOOPBACK=y
+CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
+
+#
+# TCP
+#
+CONFIG_LWIP_MAX_ACTIVE_TCP=6
+CONFIG_LWIP_MAX_LISTENING_TCP=6
+CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y
+CONFIG_LWIP_TCP_MAXRTX=12
+CONFIG_LWIP_TCP_SYNMAXRTX=12
+CONFIG_LWIP_TCP_MSS=1460
+CONFIG_LWIP_TCP_TMR_INTERVAL=250
+CONFIG_LWIP_TCP_MSL=60000
+CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000
+CONFIG_LWIP_TCP_SND_BUF_DEFAULT=11680
+CONFIG_LWIP_TCP_WND_DEFAULT=11680
+CONFIG_LWIP_TCP_RECVMBOX_SIZE=10
+CONFIG_LWIP_TCP_QUEUE_OOSEQ=y
+CONFIG_LWIP_TCP_SACK_OUT=y
+CONFIG_LWIP_TCP_OVERSIZE_MSS=y
+# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set
+# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set
+CONFIG_LWIP_TCP_RTO_TIME=1500
+# end of TCP
+
+#
+# UDP
+#
+CONFIG_LWIP_MAX_UDP_PCBS=1
+CONFIG_LWIP_UDP_RECVMBOX_SIZE=6
+# end of UDP
+
+#
+# Checksums
+#
+# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set
+# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set
+CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y
+# end of Checksums
+
+CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072
+# CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY is not set
+CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
+# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set
+CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x0
+# CONFIG_LWIP_PPP_SUPPORT is not set
+CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3
+CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
+# CONFIG_LWIP_SLIP_SUPPORT is not set
+
+#
+# ICMP
+#
+CONFIG_LWIP_ICMP=y
+# CONFIG_LWIP_MULTICAST_PING is not set
+# CONFIG_LWIP_BROADCAST_PING is not set
+# end of ICMP
+
+#
+# LWIP RAW API
+#
+CONFIG_LWIP_MAX_RAW_PCBS=16
+# end of LWIP RAW API
+
+#
+# SNTP
+#
+CONFIG_LWIP_SNTP_MAX_SERVERS=1
+# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
+CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
+# end of SNTP
+
+CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7
+CONFIG_LWIP_ESP_LWIP_ASSERT=y
+
+#
+# Hooks
+#
+# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set
+CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y
+# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set
+CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y
+# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set
+# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set
+CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y
+# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set
+# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set
+CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y
+# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set
+# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set
+CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y
+# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set
+# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set
+CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y
+# CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set
+# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set
+# end of Hooks
+
+# CONFIG_LWIP_DEBUG is not set
+# end of LWIP
+
+#
+# mbedTLS
+#
+CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
+# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set
+# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set
+CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
+CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384
+CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
+# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set
+# CONFIG_MBEDTLS_DEBUG is not set
+
+#
+# mbedTLS v3.x related
+#
+# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set
+# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set
+# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set
+# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set
+CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y
+CONFIG_MBEDTLS_PKCS7_C=y
+# end of mbedTLS v3.x related
+
+#
+# Certificate Bundle
+#
+# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE is not set
+# end of Certificate Bundle
+
+# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set
+# CONFIG_MBEDTLS_CMAC_C is not set
+CONFIG_MBEDTLS_HARDWARE_AES=y
+CONFIG_MBEDTLS_HARDWARE_MPI=y
+CONFIG_MBEDTLS_HARDWARE_SHA=y
+CONFIG_MBEDTLS_ROM_MD5=y
+# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set
+# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set
+CONFIG_MBEDTLS_HAVE_TIME=y
+# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set
+# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
+CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y
+CONFIG_MBEDTLS_SHA512_C=y
+CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
+# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set
+# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set
+# CONFIG_MBEDTLS_TLS_DISABLED is not set
+CONFIG_MBEDTLS_TLS_SERVER=y
+CONFIG_MBEDTLS_TLS_CLIENT=y
+CONFIG_MBEDTLS_TLS_ENABLED=y
+
+#
+# TLS Key Exchange Methods
+#
+# CONFIG_MBEDTLS_PSK_MODES is not set
+CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
+# end of TLS Key Exchange Methods
+
+CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
+CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
+# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set
+# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set
+CONFIG_MBEDTLS_SSL_ALPN=y
+CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y
+CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y
+
+#
+# Symmetric Ciphers
+#
+CONFIG_MBEDTLS_AES_C=y
+# CONFIG_MBEDTLS_CAMELLIA_C is not set
+# CONFIG_MBEDTLS_DES_C is not set
+# CONFIG_MBEDTLS_BLOWFISH_C is not set
+# CONFIG_MBEDTLS_XTEA_C is not set
+CONFIG_MBEDTLS_CCM_C=y
+CONFIG_MBEDTLS_GCM_C=y
+# CONFIG_MBEDTLS_NIST_KW_C is not set
+# end of Symmetric Ciphers
+
+# CONFIG_MBEDTLS_RIPEMD160_C is not set
+
+#
+# Certificates
+#
+CONFIG_MBEDTLS_PEM_PARSE_C=y
+CONFIG_MBEDTLS_PEM_WRITE_C=y
+CONFIG_MBEDTLS_X509_CRL_PARSE_C=y
+CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
+# end of Certificates
+
+CONFIG_MBEDTLS_ECP_C=y
+# CONFIG_MBEDTLS_DHM_C is not set
+CONFIG_MBEDTLS_ECDH_C=y
+CONFIG_MBEDTLS_ECDSA_C=y
+# CONFIG_MBEDTLS_ECJPAKE_C is not set
+CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
+CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
+# CONFIG_MBEDTLS_POLY1305_C is not set
+# CONFIG_MBEDTLS_CHACHA20_C is not set
+# CONFIG_MBEDTLS_HKDF_C is not set
+# CONFIG_MBEDTLS_THREADING_C is not set
+# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set
+# CONFIG_MBEDTLS_SECURITY_RISKS is not set
+# end of mbedTLS
+
+#
+# ESP-MQTT Configurations
+#
+CONFIG_MQTT_PROTOCOL_311=y
+# CONFIG_MQTT_PROTOCOL_5 is not set
+CONFIG_MQTT_TRANSPORT_SSL=y
+CONFIG_MQTT_TRANSPORT_WEBSOCKET=y
+CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
+# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set
+# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set
+# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set
+# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set
+# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set
+# CONFIG_MQTT_CUSTOM_OUTBOX is not set
+# end of ESP-MQTT Configurations
+
+#
+# Newlib
+#
+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_NANO_FORMAT is not set
+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
+# end of Newlib
+
+#
+# NVS
+#
+# CONFIG_NVS_ASSERT_ERROR_CHECK is not set
+# end of NVS
+
+#
+# OpenThread
+#
+# CONFIG_OPENTHREAD_ENABLED is not set
+
+#
+# Thread Operational Dataset
+#
+CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP"
+CONFIG_OPENTHREAD_NETWORK_CHANNEL=15
+CONFIG_OPENTHREAD_NETWORK_PANID=0x1234
+CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe"
+CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
+CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
+# end of Thread Operational Dataset
+# end of OpenThread
+
+#
+# Protocomm
+#
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y
+# end of Protocomm
+
+#
+# PThreads
+#
+CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5
+CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
+CONFIG_PTHREAD_STACK_MIN=768
+CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y
+# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set
+# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set
+CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1
+CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread"
+# end of PThreads
+
+#
+# MMU Config
+#
+CONFIG_MMU_PAGE_SIZE_64KB=y
+CONFIG_MMU_PAGE_MODE="64KB"
+CONFIG_MMU_PAGE_SIZE=0x10000
+# end of MMU Config
+
+#
+# SPI Flash driver
+#
+# CONFIG_SPI_FLASH_VERIFY_WRITE is not set
+# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set
+CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
+CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y
+# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set
+# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set
+# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set
+# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
+CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
+CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20
+CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
+CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
+# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set
+# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
+# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set
+
+#
+# SPI Flash behavior when brownout
+#
+CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y
+CONFIG_SPI_FLASH_BROWNOUT_RESET=y
+# end of SPI Flash behavior when brownout
+
+#
+# Auto-detect flash chips
+#
+CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y
+CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y
+CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y
+CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y
+CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y
+# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set
+# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set
+# end of Auto-detect flash chips
+
+CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y
+# end of SPI Flash driver
+
+#
+# SPIFFS Configuration
+#
+CONFIG_SPIFFS_MAX_PARTITIONS=3
+
+#
+# SPIFFS Cache Configuration
+#
+CONFIG_SPIFFS_CACHE=y
+CONFIG_SPIFFS_CACHE_WR=y
+# CONFIG_SPIFFS_CACHE_STATS is not set
+# end of SPIFFS Cache Configuration
+
+CONFIG_SPIFFS_PAGE_CHECK=y
+CONFIG_SPIFFS_GC_MAX_RUNS=10
+# CONFIG_SPIFFS_GC_STATS is not set
+CONFIG_SPIFFS_PAGE_SIZE=256
+CONFIG_SPIFFS_OBJ_NAME_LEN=32
+# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set
+CONFIG_SPIFFS_USE_MAGIC=y
+CONFIG_SPIFFS_USE_MAGIC_LENGTH=y
+CONFIG_SPIFFS_META_LENGTH=4
+CONFIG_SPIFFS_USE_MTIME=y
+
+#
+# Debug Configuration
+#
+# CONFIG_SPIFFS_DBG is not set
+# CONFIG_SPIFFS_API_DBG is not set
+# CONFIG_SPIFFS_GC_DBG is not set
+# CONFIG_SPIFFS_CACHE_DBG is not set
+# CONFIG_SPIFFS_CHECK_DBG is not set
+# CONFIG_SPIFFS_TEST_VISUALISATION is not set
+# end of Debug Configuration
+# end of SPIFFS Configuration
+
+#
+# TCP Transport
+#
+
+#
+# Websocket
+#
+CONFIG_WS_TRANSPORT=y
+CONFIG_WS_BUFFER_SIZE=1024
+# CONFIG_WS_DYNAMIC_BUFFER is not set
+# end of Websocket
+# end of TCP Transport
+
+#
+# Ultra Low Power (ULP) Co-processor
+#
+# CONFIG_ULP_COPROC_ENABLED is not set
+# end of Ultra Low Power (ULP) Co-processor
+
+#
+# Unity unit testing library
+#
+CONFIG_UNITY_ENABLE_FLOAT=y
+CONFIG_UNITY_ENABLE_DOUBLE=y
+# CONFIG_UNITY_ENABLE_64BIT is not set
+# CONFIG_UNITY_ENABLE_COLOR is not set
+CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
+# CONFIG_UNITY_ENABLE_FIXTURE is not set
+# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set
+# end of Unity unit testing library
+
+#
+# Root Hub configuration
+#
+# end of Root Hub configuration
+
+#
+# Virtual file system
+#
+CONFIG_VFS_SUPPORT_IO=y
+CONFIG_VFS_SUPPORT_DIR=y
+CONFIG_VFS_SUPPORT_SELECT=y
+CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y
+CONFIG_VFS_SUPPORT_TERMIOS=y
+CONFIG_VFS_MAX_COUNT=8
+
+#
+# Host File System I/O (Semihosting)
+#
+CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1
+# end of Host File System I/O (Semihosting)
+# end of Virtual file system
+
+#
+# Wear Levelling
+#
+# CONFIG_WL_SECTOR_SIZE_512 is not set
+CONFIG_WL_SECTOR_SIZE_4096=y
+CONFIG_WL_SECTOR_SIZE=4096
+# end of Wear Levelling
+
+#
+# Wi-Fi Provisioning Manager
+#
+CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
+CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
+# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set
+CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
+# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set
+# end of Wi-Fi Provisioning Manager
+
+#
+# WebSocket Server
+#
+CONFIG_WEBSOCKET_SERVER_MAX_CLIENTS=1
+CONFIG_WEBSOCKET_SERVER_QUEUE_SIZE=2
+CONFIG_WEBSOCKET_SERVER_QUEUE_TIMEOUT=30
+CONFIG_WEBSOCKET_SERVER_TASK_STACK_DEPTH=3000
+CONFIG_WEBSOCKET_SERVER_TASK_PRIORITY=5
+# CONFIG_WEBSOCKET_SERVER_PINNED is not set
+# end of WebSocket Server
+
+#
+# DSP Library
+#
+CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y
+# CONFIG_DSP_ANSI is not set
+CONFIG_DSP_OPTIMIZED=y
+CONFIG_DSP_OPTIMIZATION=1
+# CONFIG_DSP_MAX_FFT_SIZE_512 is not set
+# CONFIG_DSP_MAX_FFT_SIZE_1024 is not set
+# CONFIG_DSP_MAX_FFT_SIZE_2048 is not set
+CONFIG_DSP_MAX_FFT_SIZE_4096=y
+# CONFIG_DSP_MAX_FFT_SIZE_8192 is not set
+# CONFIG_DSP_MAX_FFT_SIZE_16384 is not set
+# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set
+CONFIG_DSP_MAX_FFT_SIZE=4096
+# end of DSP Library
+
+#
+# mDNS
+#
+CONFIG_MDNS_MAX_INTERFACES=3
+CONFIG_MDNS_MAX_SERVICES=10
+CONFIG_MDNS_TASK_PRIORITY=1
+CONFIG_MDNS_ACTION_QUEUE_LEN=16
+CONFIG_MDNS_TASK_STACK_SIZE=2816
+CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY=y
+# CONFIG_MDNS_TASK_AFFINITY_CPU0 is not set
+# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set
+CONFIG_MDNS_TASK_AFFINITY=0x7FFFFFFF
+CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
+CONFIG_MDNS_TIMER_PERIOD_MS=100
+# CONFIG_MDNS_NETWORKING_SOCKET is not set
+# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set
+# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set
+CONFIG_MDNS_ENABLE_CONSOLE_CLI=y
+# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set
+CONFIG_MDNS_MULTIPLE_INSTANCE=y
+
+#
+# MDNS Predefined interfaces
+#
+CONFIG_MDNS_PREDEF_NETIF_STA=y
+CONFIG_MDNS_PREDEF_NETIF_AP=y
+CONFIG_MDNS_PREDEF_NETIF_ETH=y
+# end of MDNS Predefined interfaces
+# end of mDNS
+# end of Component config
+
+# 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_ESP32_NO_BLOBS is not set
+# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set
+# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set
+CONFIG_LOG_BOOTLOADER_LEVEL_ERROR=y
+# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set
+# CONFIG_LOG_BOOTLOADER_LEVEL_INFO is not set
+# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
+# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
+CONFIG_LOG_BOOTLOADER_LEVEL=1
+CONFIG_APP_ROLLBACK_ENABLE=y
+# CONFIG_APP_ANTI_ROLLBACK is not set
+# CONFIG_FLASH_ENCRYPTION_ENABLED is not set
+CONFIG_FLASHMODE_QIO=y
+# CONFIG_FLASHMODE_QOUT is not set
+# CONFIG_FLASHMODE_DIO is not set
+# CONFIG_FLASHMODE_DOUT is not set
+CONFIG_MONITOR_BAUD=115200
+# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set
+# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
+# 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_ESP32_APPTRACE_DEST_TRAX is not set
+CONFIG_ESP32_APPTRACE_DEST_NONE=y
+CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
+CONFIG_ADC2_DISABLE_DAC=y
+# CONFIG_MCPWM_ISR_IN_IRAM is not set
+# CONFIG_EVENT_LOOP_PROFILING is not set
+CONFIG_POST_EVENTS_FROM_ISR=y
+# CONFIG_POST_EVENTS_FROM_IRAM_ISR is not set
+# CONFIG_OTA_ALLOW_HTTP is not set
+# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set
+CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y
+CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4
+CONFIG_ESP_SYSTEM_PD_FLASH=y
+CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
+CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y
+CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y
+# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set
+# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set
+# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set
+# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set
+# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set
+# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set
+CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
+# CONFIG_ESP32_XTAL_FREQ_26 is not set
+CONFIG_ESP32_XTAL_FREQ_40=y
+# CONFIG_ESP32_XTAL_FREQ_AUTO is not set
+CONFIG_ESP32_XTAL_FREQ=40
+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=y
+CONFIG_ESP32_REDUCE_PHY_TX_POWER=y
+# CONFIG_SPIRAM_SUPPORT is not set
+# CONFIG_ESP32_SPIRAM_SUPPORT is not set
+# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set
+# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set
+CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
+CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
+CONFIG_TRACEMEM_RESERVE_DRAM=0x0
+# CONFIG_ESP32_PANIC_PRINT_HALT is not set
+CONFIG_ESP32_PANIC_PRINT_REBOOT=y
+# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set
+# CONFIG_ESP32_PANIC_GDBSTUB is not set
+CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
+CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
+CONFIG_MAIN_TASK_STACK_SIZE=3072
+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_INT_WDT=y
+CONFIG_INT_WDT_TIMEOUT_MS=300
+CONFIG_INT_WDT_CHECK_CPU1=y
+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_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
+# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set
+CONFIG_ESP32_DEBUG_OCDAWARE=y
+CONFIG_BROWNOUT_DET=y
+CONFIG_ESP32_BROWNOUT_DET=y
+# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set
+CONFIG_BROWNOUT_DET_LVL_SEL_4=y
+CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4=y
+# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set
+CONFIG_BROWNOUT_DET_LVL=4
+CONFIG_ESP32_BROWNOUT_DET_LVL=4
+# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set
+CONFIG_IPC_TASK_STACK_SIZE=1024
+CONFIG_TIMER_TASK_STACK_SIZE=2048
+CONFIG_ESP32_WIFI_ENABLED=y
+CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
+CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=64
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y
+# CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER is not set
+CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
+# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
+CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
+CONFIG_ESP32_WIFI_TX_BA_WIN=8
+CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP32_WIFI_RX_BA_WIN=16
+CONFIG_ESP32_WIFI_RX_BA_WIN=16
+CONFIG_ESP32_WIFI_NVS_ENABLED=y
+CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
+# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
+CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
+CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
+# CONFIG_ESP32_WIFI_IRAM_OPT is not set
+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_WPA_TESTING_OPTIONS 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=1536
+CONFIG_TIMER_QUEUE_LENGTH=5
+# 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=1460
+CONFIG_TCP_MSL=60000
+CONFIG_TCP_SND_BUF_DEFAULT=11680
+CONFIG_TCP_WND_DEFAULT=11680
+CONFIG_TCP_RECVMBOX_SIZE=10
+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 is not set
+CONFIG_TCPIP_TASK_AFFINITY_CPU0=y
+# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set
+CONFIG_TCPIP_TASK_AFFINITY=0x0
+# CONFIG_PPP_SUPPORT is not set
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
+# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_NONE 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_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y
+# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set
+# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set
+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_ESP32_ULP_COPROC_ENABLED is not set
+CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y
+CONFIG_SUPPORT_TERMIOS=y
+CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1
+# End of deprecated options
diff --git a/sdkconfig_PSRAM_lyrat_v4.3 b/sdkconfig_PSRAM_lyrat_v4.3
index 11178dd..be7b5a1 100644
--- a/sdkconfig_PSRAM_lyrat_v4.3
+++ b/sdkconfig_PSRAM_lyrat_v4.3
@@ -1,40 +1,237 @@
#
# Automatically generated file. DO NOT EDIT.
-# Espressif IoT Development Framework (ESP-IDF) Project Configuration
+# Espressif IoT Development Framework (ESP-IDF) 5.1.1 Project Configuration
#
+CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined"
+CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined"
+CONFIG_SOC_DPORT_WORKAROUND="Not determined"
+CONFIG_SOC_CAPS_ECO_VER_MAX=301
+CONFIG_SOC_ADC_SUPPORTED=y
+CONFIG_SOC_DAC_SUPPORTED=y
+CONFIG_SOC_UART_SUPPORTED=y
+CONFIG_SOC_MCPWM_SUPPORTED=y
+CONFIG_SOC_GPTIMER_SUPPORTED=y
+CONFIG_SOC_SDMMC_HOST_SUPPORTED=y
+CONFIG_SOC_BT_SUPPORTED=y
+CONFIG_SOC_PCNT_SUPPORTED=y
+CONFIG_SOC_WIFI_SUPPORTED=y
+CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y
+CONFIG_SOC_TWAI_SUPPORTED=y
+CONFIG_SOC_EMAC_SUPPORTED=y
+CONFIG_SOC_ULP_SUPPORTED=y
+CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
+CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
+CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
+CONFIG_SOC_RTC_MEM_SUPPORTED=y
+CONFIG_SOC_I2S_SUPPORTED=y
+CONFIG_SOC_RMT_SUPPORTED=y
+CONFIG_SOC_SDM_SUPPORTED=y
+CONFIG_SOC_GPSPI_SUPPORTED=y
+CONFIG_SOC_LEDC_SUPPORTED=y
+CONFIG_SOC_I2C_SUPPORTED=y
+CONFIG_SOC_SUPPORT_COEXISTENCE=y
+CONFIG_SOC_AES_SUPPORTED=y
+CONFIG_SOC_MPI_SUPPORTED=y
+CONFIG_SOC_SHA_SUPPORTED=y
+CONFIG_SOC_FLASH_ENC_SUPPORTED=y
+CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
+CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y
+CONFIG_SOC_BOD_SUPPORTED=y
+CONFIG_SOC_ULP_FSM_SUPPORTED=y
+CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5
+CONFIG_SOC_XTAL_SUPPORT_26M=y
+CONFIG_SOC_XTAL_SUPPORT_40M=y
+CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y
+CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
+CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
+CONFIG_SOC_ADC_DMA_SUPPORTED=y
+CONFIG_SOC_ADC_PERIPH_NUM=2
+CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10
+CONFIG_SOC_ADC_ATTEN_NUM=4
+CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2
+CONFIG_SOC_ADC_PATT_LEN_MAX=16
+CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9
+CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12
+CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2
+CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4
+CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2
+CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20
+CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9
+CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12
+CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y
+CONFIG_SOC_IDCACHE_PER_CORE=y
+CONFIG_SOC_CPU_CORES_NUM=2
+CONFIG_SOC_CPU_INTR_NUM=32
+CONFIG_SOC_CPU_HAS_FPU=y
+CONFIG_SOC_CPU_BREAKPOINTS_NUM=2
+CONFIG_SOC_CPU_WATCHPOINTS_NUM=2
+CONFIG_SOC_CPU_WATCHPOINT_SIZE=64
+CONFIG_SOC_DAC_CHAN_NUM=2
+CONFIG_SOC_DAC_RESOLUTION=8
+CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y
+CONFIG_SOC_GPIO_PORT=1
+CONFIG_SOC_GPIO_PIN_COUNT=40
+CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF
+CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA
+CONFIG_SOC_I2C_NUM=2
+CONFIG_SOC_I2C_FIFO_LEN=32
+CONFIG_SOC_I2C_CMD_REG_NUM=16
+CONFIG_SOC_I2C_SUPPORT_SLAVE=y
+CONFIG_SOC_I2C_SUPPORT_APB=y
+CONFIG_SOC_I2S_NUM=2
+CONFIG_SOC_I2S_HW_VERSION_1=y
+CONFIG_SOC_I2S_SUPPORTS_APLL=y
+CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y
+CONFIG_SOC_I2S_SUPPORTS_PDM=y
+CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y
+CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1
+CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y
+CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1
+CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y
+CONFIG_SOC_I2S_SUPPORTS_ADC=y
+CONFIG_SOC_I2S_SUPPORTS_DAC=y
+CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y
+CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y
+CONFIG_SOC_I2S_LCD_I80_VARIANT=y
+CONFIG_SOC_LCD_I80_SUPPORTED=y
+CONFIG_SOC_LCD_I80_BUSES=2
+CONFIG_SOC_LCD_I80_BUS_WIDTH=24
+CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y
+CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y
+CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y
+CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y
+CONFIG_SOC_LEDC_CHANNEL_NUM=8
+CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20
+CONFIG_SOC_MCPWM_GROUPS=2
+CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3
+CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3
+CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3
+CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y
+CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3
+CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3
+CONFIG_SOC_MMU_PERIPH_NUM=2
+CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3
+CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000
+CONFIG_SOC_MPU_REGIONS_MAX_NUM=8
+CONFIG_SOC_PCNT_GROUPS=1
+CONFIG_SOC_PCNT_UNITS_PER_GROUP=8
+CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2
+CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2
+CONFIG_SOC_RMT_GROUPS=1
+CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8
+CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8
+CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8
+CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64
+CONFIG_SOC_RMT_SUPPORT_REF_TICK=y
+CONFIG_SOC_RMT_SUPPORT_APB=y
+CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y
+CONFIG_SOC_RTCIO_PIN_COUNT=18
+CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y
+CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y
+CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y
+CONFIG_SOC_SDM_GROUPS=1
+CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8
+CONFIG_SOC_SDM_CLK_SUPPORT_APB=y
+CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y
+CONFIG_SOC_SPI_AS_CS_SUPPORTED=y
+CONFIG_SOC_SPI_PERIPH_NUM=3
+CONFIG_SOC_SPI_DMA_CHAN_NUM=2
+CONFIG_SOC_SPI_MAX_CS_NUM=3
+CONFIG_SOC_SPI_SUPPORT_CLK_APB=y
+CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64
+CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192
+CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y
+CONFIG_SOC_TIMER_GROUPS=2
+CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2
+CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64
+CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4
+CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y
+CONFIG_SOC_TOUCH_VERSION_1=y
+CONFIG_SOC_TOUCH_SENSOR_NUM=10
+CONFIG_SOC_TOUCH_PAD_MEASURE_WAIT_MAX=0xFF
+CONFIG_SOC_TWAI_CONTROLLER_NUM=1
+CONFIG_SOC_TWAI_BRP_MIN=2
+CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y
+CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y
+CONFIG_SOC_UART_NUM=3
+CONFIG_SOC_UART_SUPPORT_APB_CLK=y
+CONFIG_SOC_UART_SUPPORT_REF_TICK=y
+CONFIG_SOC_UART_FIFO_LEN=128
+CONFIG_SOC_UART_BITRATE_MAX=5000000
+CONFIG_SOC_SPIRAM_SUPPORTED=y
+CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y
+CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y
+CONFIG_SOC_SHA_SUPPORT_SHA1=y
+CONFIG_SOC_SHA_SUPPORT_SHA256=y
+CONFIG_SOC_SHA_SUPPORT_SHA384=y
+CONFIG_SOC_SHA_SUPPORT_SHA512=y
+CONFIG_SOC_RSA_MAX_BIT_LEN=4096
+CONFIG_SOC_AES_SUPPORT_AES_128=y
+CONFIG_SOC_AES_SUPPORT_AES_192=y
+CONFIG_SOC_AES_SUPPORT_AES_256=y
+CONFIG_SOC_SECURE_BOOT_V1=y
+CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
+CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
+CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
+CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y
+CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y
+CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y
+CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y
+CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y
+CONFIG_SOC_PM_SUPPORT_MODEM_PD=y
+CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y
+CONFIG_SOC_CLK_APLL_SUPPORTED=y
+CONFIG_SOC_APLL_MULTIPLIER_OUT_MIN_HZ=350000000
+CONFIG_SOC_APLL_MULTIPLIER_OUT_MAX_HZ=500000000
+CONFIG_SOC_APLL_MIN_HZ=5303031
+CONFIG_SOC_APLL_MAX_HZ=125000000
+CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y
+CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y
+CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y
+CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y
+CONFIG_SOC_SDMMC_USE_IOMUX=y
+CONFIG_SOC_SDMMC_NUM_SLOTS=2
+CONFIG_SOC_WIFI_WAPI_SUPPORT=y
+CONFIG_SOC_WIFI_CSI_SUPPORT=y
+CONFIG_SOC_WIFI_MESH_SUPPORT=y
+CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y
+CONFIG_SOC_WIFI_NAN_SUPPORT=y
+CONFIG_SOC_BLE_SUPPORTED=y
+CONFIG_SOC_BLE_MESH_SUPPORTED=y
+CONFIG_SOC_BT_CLASSIC_SUPPORTED=y
+CONFIG_SOC_BLUFI_SUPPORTED=y
+CONFIG_SOC_ULP_HAS_ADC=y
CONFIG_IDF_CMAKE=y
CONFIG_IDF_TARGET_ARCH_XTENSA=y
+CONFIG_IDF_TARGET_ARCH="xtensa"
CONFIG_IDF_TARGET="esp32"
CONFIG_IDF_TARGET_ESP32=y
CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000
-#
-# SDK tool configuration
-#
-CONFIG_SDK_TOOLPREFIX="xtensa-esp32-elf-"
-# CONFIG_SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS is not set
-# end of SDK tool configuration
-
#
# Build type
#
CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y
-# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set
+# CONFIG_APP_BUILD_TYPE_RAM is not set
CONFIG_APP_BUILD_GENERATE_BINARIES=y
CONFIG_APP_BUILD_BOOTLOADER=y
CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y
+# CONFIG_APP_REPRODUCIBLE_BUILD is not set
+# CONFIG_APP_NO_BLOBS is not set
+# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set
# end of Build type
-#
-# Application manager
-#
-CONFIG_APP_COMPILE_TIME_DATE=y
-# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set
-# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set
-# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set
-CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
-# end of Application manager
-
#
# Bootloader config
#
@@ -44,17 +241,18 @@ CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set
# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set
+CONFIG_BOOTLOADER_LOG_LEVEL_ERROR=y
# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set
-CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y
+# CONFIG_BOOTLOADER_LOG_LEVEL_INFO is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
-CONFIG_BOOTLOADER_LOG_LEVEL=3
+CONFIG_BOOTLOADER_LOG_LEVEL=1
# CONFIG_BOOTLOADER_SPI_CUSTOM_WP_PIN is not set
CONFIG_BOOTLOADER_SPI_WP_PIN=7
CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
# CONFIG_BOOTLOADER_FACTORY_RESET is not set
# CONFIG_BOOTLOADER_APP_TEST is not set
+CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y
CONFIG_BOOTLOADER_WDT_ENABLE=y
# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
CONFIG_BOOTLOADER_WDT_TIME_MS=9000
@@ -71,20 +269,39 @@ CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
#
# Security features
#
+CONFIG_SECURE_BOOT_V1_SUPPORTED=y
# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
# CONFIG_SECURE_BOOT is not set
# CONFIG_SECURE_FLASH_ENC_ENABLED is not set
# end of Security features
+#
+# Application manager
+#
+CONFIG_APP_COMPILE_TIME_DATE=y
+# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set
+# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set
+# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set
+CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
+# end of Application manager
+
+CONFIG_ESP_ROM_HAS_CRC_LE=y
+CONFIG_ESP_ROM_HAS_CRC_BE=y
+CONFIG_ESP_ROM_HAS_MZ_CRC32=y
+CONFIG_ESP_ROM_HAS_JPEG_DECODE=y
+CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y
+CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y
+CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y
+
#
# Serial flasher config
#
-CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200
# CONFIG_ESPTOOLPY_NO_STUB is not set
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set
# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set
# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
+CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y
CONFIG_ESPTOOLPY_FLASHMODE="dio"
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set
@@ -96,23 +313,17 @@ CONFIG_ESPTOOLPY_FLASHFREQ="80m"
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
-CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
+# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set
CONFIG_ESPTOOLPY_BEFORE_RESET=y
# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
CONFIG_ESPTOOLPY_BEFORE="default_reset"
CONFIG_ESPTOOLPY_AFTER_RESET=y
# CONFIG_ESPTOOLPY_AFTER_NORESET is not set
CONFIG_ESPTOOLPY_AFTER="hard_reset"
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_CONSOLE is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_9600B is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_57600B is not set
-CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_230400B is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_921600B is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_2MB is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER is not set
-CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL=115200
CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
# end of Serial flasher config
@@ -120,6 +331,7 @@ CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
# Partition Table
#
# CONFIG_PARTITION_TABLE_SINGLE_APP is not set
+# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set
# CONFIG_PARTITION_TABLE_TWO_OTA is not set
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
@@ -128,47 +340,6 @@ CONFIG_PARTITION_TABLE_OFFSET=0x8000
CONFIG_PARTITION_TABLE_MD5=y
# end of Partition Table
-#
-# Audio HAL
-#
-# CONFIG_AUDIO_BOARD_CUSTOM is not set
-CONFIG_ESP_LYRAT_V4_3_BOARD=y
-# CONFIG_ESP_LYRAT_V4_2_BOARD is not set
-# CONFIG_ESP_LYRATD_MSC_V2_1_BOARD is not set
-# CONFIG_ESP_LYRATD_MSC_V2_2_BOARD is not set
-# CONFIG_ESP_LYRAT_MINI_V1_1_BOARD is not set
-# CONFIG_ESP32_KORVO_DU1906_BOARD is not set
-# CONFIG_ESP32_S2_KALUGA_1_V1_2_BOARD is not set
-# end of Audio HAL
-
-#
-# ESP32 DSP processor config
-#
-# CONFIG_USE_DSP_PROCESSOR is not set
-# end of ESP32 DSP processor config
-
-#
-# Snapclient Ethernet Configuration
-#
-# CONFIG_SNAPCLIENT_ENABLE_ETHERNET is not set
-# end of Snapclient Ethernet Configuration
-
-#
-# SNTP Configuration
-#
-CONFIG_SNTP_TIMEZONE="UTC"
-CONFIG_SNTP_SERVER="pool.ntp.org"
-# end of SNTP Configuration
-
-#
-# Wifi Configuration
-#
-# CONFIG_ENABLE_WIFI_PROVISIONING is not set
-CONFIG_WIFI_SSID="test"
-CONFIG_WIFI_PASSWORD="12345678"
-CONFIG_WIFI_MAXIMUM_RETRY=0
-# end of Wifi Configuration
-
#
# Snapclient Configuration
#
@@ -180,8 +351,55 @@ CONFIG_SNAPCLIENT_NAME="esp-snapclient"
#
CONFIG_WEB_PORT=8000
# end of HTTP Server Setting
+
+CONFIG_USE_SAMPLE_INSERTION=y
# end of Snapclient Configuration
+#
+# Audio Board
+#
+# CONFIG_AUDIO_BOARD_CUSTOM is not set
+CONFIG_ESP_LYRAT_V4_3_BOARD=y
+# CONFIG_ESP_LYRAT_V4_2_BOARD is not set
+# CONFIG_ESP_LYRATD_MSC_V2_1_BOARD is not set
+# CONFIG_ESP_LYRATD_MSC_V2_2_BOARD is not set
+# CONFIG_ESP_LYRAT_MINI_V1_1_BOARD is not set
+# CONFIG_ESP32_KORVO_DU1906_BOARD is not set
+# CONFIG_ESP32_S2_KALUGA_1_V1_2_BOARD is not set
+# CONFIG_ESP_AI_THINKER_ES8388_BOARD is not set
+# end of Audio Board
+
+#
+# ESP32 DSP processor config
+#
+# CONFIG_USE_DSP_PROCESSOR is not set
+# end of ESP32 DSP processor config
+
+#
+# Snapclient Ethernet Configuration
+#
+CONFIG_ENV_GPIO_RANGE_MIN=0
+CONFIG_ENV_GPIO_RANGE_MAX=39
+CONFIG_ENV_GPIO_IN_RANGE_MAX=39
+CONFIG_ENV_GPIO_OUT_RANGE_MAX=33
+# CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET is not set
+# CONFIG_SNAPCLIENT_USE_SPI_ETHERNET is not set
+# end of Snapclient Ethernet Configuration
+
+#
+# SNTP Configuration
+#
+CONFIG_SNTP_TIMEZONE="UTC"
+CONFIG_SNTP_SERVER="pool.ntp.org"
+# end of SNTP Configuration
+
+#
+# Wifi Configuration
+#
+CONFIG_ENABLE_WIFI_PROVISIONING=y
+CONFIG_WIFI_MAXIMUM_RETRY=0
+# end of Wifi Configuration
+
#
# Compiler options
#
@@ -192,6 +410,10 @@ CONFIG_COMPILER_OPTIMIZATION_PERF=y
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set
+CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y
+CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
+# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
+CONFIG_COMPILER_HIDE_PATHS_MACROS=y
# CONFIG_COMPILER_CXX_EXCEPTIONS is not set
# CONFIG_COMPILER_CXX_RTTI is not set
CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
@@ -199,7 +421,7 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set
# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set
# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
-# CONFIG_COMPILER_DISABLE_GCC8_WARNINGS is not set
+# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set
# CONFIG_COMPILER_DUMP_RTL_FILES is not set
# end of Compiler options
@@ -212,15 +434,13 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
#
# CONFIG_APPTRACE_DEST_JTAG is not set
CONFIG_APPTRACE_DEST_NONE=y
+# CONFIG_APPTRACE_DEST_UART1 is not set
+# CONFIG_APPTRACE_DEST_UART2 is not set
+CONFIG_APPTRACE_DEST_UART_NONE=y
+CONFIG_APPTRACE_UART_TASK_PRIO=1
CONFIG_APPTRACE_LOCK_ENABLE=y
# end of Application Level Tracing
-#
-# ESP-ASIO
-#
-# CONFIG_ASIO_SSL_SUPPORT is not set
-# end of ESP-ASIO
-
#
# Bluetooth
#
@@ -228,36 +448,35 @@ CONFIG_APPTRACE_LOCK_ENABLE=y
# end of Bluetooth
#
-# CoAP Configuration
-#
-CONFIG_COAP_MBEDTLS_PSK=y
-# CONFIG_COAP_MBEDTLS_PKI is not set
-# CONFIG_COAP_MBEDTLS_DEBUG is not set
-CONFIG_COAP_LOG_DEFAULT_LEVEL=0
-# end of CoAP Configuration
-
-#
-# Driver configurations
+# Driver Configurations
#
#
-# ADC configuration
+# Legacy ADC Configuration
#
-# CONFIG_ADC_FORCE_XPD_FSM is not set
CONFIG_ADC_DISABLE_DAC=y
-# end of ADC configuration
+# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set
#
-# SPI configuration
+# Legacy ADC Calibration Configuration
+#
+CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y
+CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y
+CONFIG_ADC_CAL_LUT_ENABLE=y
+# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set
+# end of Legacy ADC Calibration Configuration
+# end of Legacy ADC Configuration
+
+#
+# SPI Configuration
#
-# CONFIG_SPI_MASTER_IN_IRAM is not set
CONFIG_SPI_MASTER_ISR_IN_IRAM=y
# CONFIG_SPI_SLAVE_IN_IRAM is not set
# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set
-# end of SPI configuration
+# end of SPI Configuration
#
-# TWAI configuration
+# TWAI Configuration
#
# CONFIG_TWAI_ISR_IN_IRAM is not set
# CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC is not set
@@ -265,26 +484,82 @@ CONFIG_SPI_MASTER_ISR_IN_IRAM=y
# CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID is not set
# CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT is not set
# CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM is not set
-# end of TWAI configuration
+# end of TWAI Configuration
#
-# UART configuration
+# UART Configuration
#
# CONFIG_UART_ISR_IN_IRAM is not set
-# end of UART configuration
-
-#
-# RTCIO configuration
-#
-# CONFIG_RTCIO_SUPPORT_RTC_GPIO_DESC is not set
-# end of RTCIO configuration
+# end of UART Configuration
#
# GPIO Configuration
#
# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
+# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
# end of GPIO Configuration
-# end of Driver configurations
+
+#
+# Sigma Delta Modulator Configuration
+#
+# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_SDM_ENABLE_DEBUG_LOG is not set
+# end of Sigma Delta Modulator Configuration
+
+#
+# GPTimer Configuration
+#
+# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set
+# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set
+# end of GPTimer Configuration
+
+#
+# PCNT Configuration
+#
+# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_PCNT_ISR_IRAM_SAFE is not set
+# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set
+# end of PCNT Configuration
+
+#
+# RMT Configuration
+#
+# CONFIG_RMT_ISR_IRAM_SAFE is not set
+# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_RMT_ENABLE_DEBUG_LOG is not set
+# end of RMT Configuration
+
+#
+# MCPWM Configuration
+#
+# CONFIG_MCPWM_ISR_IRAM_SAFE is not set
+# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set
+# end of MCPWM Configuration
+
+#
+# I2S Configuration
+#
+# CONFIG_I2S_ISR_IRAM_SAFE is not set
+# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_I2S_ENABLE_DEBUG_LOG is not set
+# end of I2S Configuration
+
+#
+# DAC Configuration
+#
+# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_DAC_ISR_IRAM_SAFE is not set
+# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_DAC_ENABLE_DEBUG_LOG is not set
+CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y
+# end of DAC Configuration
+# end of Driver Configurations
#
# eFuse Bit Manager
@@ -302,15 +577,114 @@ CONFIG_EFUSE_MAX_BLK_LEN=192
#
CONFIG_ESP_TLS_USING_MBEDTLS=y
# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
+# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set
# CONFIG_ESP_TLS_INSECURE is not set
# end of ESP-TLS
#
-# ESP32-specific
+# ADC and ADC Calibration
+#
+# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set
+
+#
+# ADC Calibration Configurations
+#
+CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y
+CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y
+CONFIG_ADC_CALI_LUT_ENABLE=y
+# end of ADC Calibration Configurations
+
+CONFIG_ADC_DISABLE_DAC_OUTPUT=y
+# end of ADC and ADC Calibration
+
+#
+# Wireless Coexistence
+#
+# end of Wireless Coexistence
+
+#
+# Common ESP-related
+#
+CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
+# end of Common ESP-related
+
+#
+# Ethernet
+#
+CONFIG_ETH_ENABLED=y
+CONFIG_ETH_USE_ESP32_EMAC=y
+CONFIG_ETH_PHY_INTERFACE_RMII=y
+CONFIG_ETH_RMII_CLK_INPUT=y
+# CONFIG_ETH_RMII_CLK_OUTPUT is not set
+CONFIG_ETH_RMII_CLK_IN_GPIO=0
+CONFIG_ETH_DMA_BUFFER_SIZE=1024
+CONFIG_ETH_DMA_RX_BUFFER_NUM=30
+CONFIG_ETH_DMA_TX_BUFFER_NUM=5
+# CONFIG_ETH_SOFT_FLOW_CONTROL is not set
+CONFIG_ETH_USE_SPI_ETHERNET=y
+# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set
+# CONFIG_ETH_SPI_ETHERNET_W5500 is not set
+# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set
+# CONFIG_ETH_USE_OPENETH is not set
+# CONFIG_ETH_TRANSMIT_MUTEX is not set
+# end of Ethernet
+
+#
+# Event Loop Library
+#
+# CONFIG_ESP_EVENT_LOOP_PROFILING is not set
+CONFIG_ESP_EVENT_POST_FROM_ISR=y
+# CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR is not set
+# end of Event Loop Library
+
+#
+# GDB Stub
+#
+# end of GDB Stub
+
+#
+# ESP HTTP client
+#
+CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y
+# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set
+# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set
+# end of ESP HTTP client
+
+#
+# HTTP Server
+#
+CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
+CONFIG_HTTPD_MAX_URI_LEN=512
+CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
+CONFIG_HTTPD_PURGE_BUF_LEN=32
+# CONFIG_HTTPD_LOG_PURGE_DATA is not set
+# CONFIG_HTTPD_WS_SUPPORT is not set
+# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set
+# end of HTTP Server
+
+#
+# ESP HTTPS OTA
+#
+# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set
+# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set
+# end of ESP HTTPS OTA
+
+#
+# ESP HTTPS server
+#
+# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
+# end of ESP HTTPS server
+
+#
+# Hardware Settings
+#
+
+#
+# Chip revision
#
-CONFIG_ESP32_ECO3_CACHE_LOCK_FIX=y
CONFIG_ESP32_REV_MIN_0=y
# CONFIG_ESP32_REV_MIN_1 is not set
# CONFIG_ESP32_REV_MIN_1_1 is not set
@@ -320,27 +694,134 @@ CONFIG_ESP32_REV_MIN_0=y
CONFIG_ESP32_REV_MIN=0
CONFIG_ESP32_REV_MIN_FULL=0
CONFIG_ESP_REV_MIN_FULL=0
-CONFIG_ESP32_REV_MAX_FULL_STR_OPT=y
+
+#
+# Maximum Supported ESP32 Revision (Rev v3.99)
+#
CONFIG_ESP32_REV_MAX_FULL=399
CONFIG_ESP_REV_MAX_FULL=399
-CONFIG_ESP32_DPORT_WORKAROUND=y
-# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set
-# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set
-CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
-CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
-CONFIG_ESP32_SPIRAM_SUPPORT=y
+# end of Chip revision
+
+#
+# MAC Config
+#
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
+CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y
+# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set
+CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y
+CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4
+# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set
+# end of MAC Config
+
+#
+# Sleep Config
+#
+CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y
+CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y
+# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set
+CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
+# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set
+CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000
+# end of Sleep Config
+
+#
+# RTC Clock Config
+#
+CONFIG_RTC_CLK_SRC_INT_RC=y
+# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set
+# CONFIG_RTC_CLK_SRC_EXT_OSC is not set
+# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set
+CONFIG_RTC_CLK_CAL_CYCLES=1024
+# end of RTC Clock Config
+
+#
+# Peripheral Control
+#
+CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
+# end of Peripheral Control
+
+#
+# Main XTAL Config
+#
+# CONFIG_XTAL_FREQ_26 is not set
+CONFIG_XTAL_FREQ_40=y
+# CONFIG_XTAL_FREQ_AUTO is not set
+CONFIG_XTAL_FREQ=40
+# end of Main XTAL Config
+# end of Hardware Settings
+
+#
+# LCD and Touch Panel
+#
+
+#
+# LCD Touch Drivers are maintained in the IDF Component Registry
+#
+
+#
+# LCD Peripheral Configuration
+#
+CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32
+# CONFIG_LCD_ENABLE_DEBUG_LOG is not set
+# end of LCD Peripheral Configuration
+# end of LCD and Touch Panel
+
+#
+# ESP NETIF Adapter
+#
+CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
+CONFIG_ESP_NETIF_TCPIP_LWIP=y
+# CONFIG_ESP_NETIF_LOOPBACK is not set
+CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y
+# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set
+# CONFIG_ESP_NETIF_L2_TAP is not set
+# CONFIG_ESP_NETIF_BRIDGE_EN is not set
+# end of ESP NETIF Adapter
+
+#
+# Partition API Configuration
+#
+# end of Partition API Configuration
+
+#
+# PHY
+#
+CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y
+# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set
+CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20
+CONFIG_ESP_PHY_MAX_TX_POWER=20
+CONFIG_ESP_PHY_REDUCE_TX_POWER=y
+CONFIG_ESP_PHY_RF_CAL_PARTIAL=y
+# CONFIG_ESP_PHY_RF_CAL_NONE is not set
+# CONFIG_ESP_PHY_RF_CAL_FULL is not set
+CONFIG_ESP_PHY_CALIBRATION_MODE=0
+# end of PHY
+
+#
+# Power Management
+#
+# CONFIG_PM_ENABLE is not set
+# end of Power Management
+
+#
+# ESP PSRAM
+#
+CONFIG_SPIRAM=y
#
# SPI RAM config
#
+CONFIG_SPIRAM_MODE_QUAD=y
CONFIG_SPIRAM_TYPE_AUTO=y
# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
-CONFIG_SPIRAM_SIZE=-1
# CONFIG_SPIRAM_SPEED_40M is not set
CONFIG_SPIRAM_SPEED_80M=y
-CONFIG_SPIRAM=y
+CONFIG_SPIRAM_SPEED=80
CONFIG_SPIRAM_BOOT_INIT=y
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
# CONFIG_SPIRAM_USE_MEMMAP is not set
@@ -351,6 +832,7 @@ CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384
# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
+# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set
CONFIG_SPIRAM_CACHE_WORKAROUND=y
#
@@ -361,6 +843,23 @@ CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW=y
# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS is not set
# end of SPIRAM cache workaround debugging
+#
+# SPIRAM workaround libraries placement
+#
+CONFIG_SPIRAM_CACHE_LIBJMP_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBMATH_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBNUMPARSER_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBIO_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBTIME_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBCHAR_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBMEM_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBSTR_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBRAND_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBENV_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBFILE_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBMISC_IN_IRAM=y
+# end of SPIRAM workaround libraries placement
+
CONFIG_SPIRAM_BANKSWITCH_ENABLE=y
CONFIG_SPIRAM_BANKSWITCH_RESERVE=8
# CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY is not set
@@ -390,65 +889,60 @@ CONFIG_PICO_PSRAM_CS_IO=10
# CONFIG_SPIRAM_2T_MODE is not set
# end of SPI RAM config
+# end of ESP PSRAM
+#
+# ESP Ringbuf
+#
+# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set
+# end of ESP Ringbuf
+
+#
+# ESP System Settings
+#
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240
+
+#
+# Memory
+#
+# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set
+
+#
+# Non-backward compatible options
+#
+# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set
+# end of Non-backward compatible options
+# end of Memory
+
+#
+# Trace memory
+#
# CONFIG_ESP32_TRAX is not set
CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0
-# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set
-CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y
-CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4
-# CONFIG_ESP32_ULP_COPROC_ENABLED is not set
-CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=0
-CONFIG_ESP32_DEBUG_OCDAWARE=y
-CONFIG_ESP32_BROWNOUT_DET=y
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set
-CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4=y
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set
-CONFIG_ESP32_BROWNOUT_DET_LVL=4
-CONFIG_ESP32_REDUCE_PHY_TX_POWER=y
-CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
-# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set
-# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set
-# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set
-CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y
-# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set
-# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set
-# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set
-CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
-CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
-CONFIG_ESP32_XTAL_FREQ_40=y
-# CONFIG_ESP32_XTAL_FREQ_26 is not set
-# CONFIG_ESP32_XTAL_FREQ_AUTO is not set
-CONFIG_ESP32_XTAL_FREQ=40
-# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set
-# CONFIG_ESP32_NO_BLOBS is not set
-# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
-# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set
-# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set
-CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5
-# end of ESP32-specific
+# end of Trace memory
+
+# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
+CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
+# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
+# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set
+# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
+CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0
#
-# ADC-Calibration
+# Memory protection
#
-CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y
-CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y
-CONFIG_ADC_CAL_LUT_ENABLE=y
-# end of ADC-Calibration
+# end of Memory protection
-#
-# Common ESP-related
-#
-CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
-CONFIG_ESP_MAIN_TASK_STACK_SIZE=2560
-CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
-CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
+CONFIG_ESP_MAIN_TASK_STACK_SIZE=3072
+CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y
+# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set
+# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set
+CONFIG_ESP_MAIN_TASK_AFFINITY=0x0
CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
CONFIG_ESP_CONSOLE_UART_DEFAULT=y
# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
@@ -460,117 +954,46 @@ CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
CONFIG_ESP_INT_WDT=y
CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
CONFIG_ESP_INT_WDT_CHECK_CPU1=y
-CONFIG_ESP_TASK_WDT=y
+CONFIG_ESP_TASK_WDT_EN=y
+CONFIG_ESP_TASK_WDT_INIT=y
# CONFIG_ESP_TASK_WDT_PANIC is not set
CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
# CONFIG_ESP_PANIC_HANDLER_IRAM is not set
-CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
-# end of Common ESP-related
+# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set
+CONFIG_ESP_DEBUG_OCDAWARE=y
+# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5 is not set
+CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y
#
-# Ethernet
+# Brownout Detector
#
-CONFIG_ETH_ENABLED=y
-CONFIG_ETH_USE_ESP32_EMAC=y
-CONFIG_ETH_PHY_INTERFACE_RMII=y
-# CONFIG_ETH_PHY_INTERFACE_MII is not set
-CONFIG_ETH_RMII_CLK_INPUT=y
-# CONFIG_ETH_RMII_CLK_OUTPUT is not set
-CONFIG_ETH_RMII_CLK_IN_GPIO=0
-CONFIG_ETH_DMA_BUFFER_SIZE=1024
-CONFIG_ETH_DMA_RX_BUFFER_NUM=30
-CONFIG_ETH_DMA_TX_BUFFER_NUM=5
-# CONFIG_ETH_SOFT_FLOW_CONTROL is not set
-CONFIG_ETH_USE_SPI_ETHERNET=y
-# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set
-# CONFIG_ETH_SPI_ETHERNET_W5500 is not set
-# CONFIG_ETH_USE_OPENETH is not set
-# end of Ethernet
+CONFIG_ESP_BROWNOUT_DET=y
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set
+CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4=y
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 is not set
+CONFIG_ESP_BROWNOUT_DET_LVL=4
+# end of Brownout Detector
-#
-# Event Loop Library
-#
-# CONFIG_ESP_EVENT_LOOP_PROFILING is not set
-CONFIG_ESP_EVENT_POST_FROM_ISR=y
-# CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR is not set
-# end of Event Loop Library
-
-#
-# GDB Stub
-#
-# end of GDB Stub
-
-#
-# ESP HTTP client
-#
-CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y
-# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set
-# end of ESP HTTP client
-
-#
-# HTTP Server
-#
-CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
-CONFIG_HTTPD_MAX_URI_LEN=512
-CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
-CONFIG_HTTPD_PURGE_BUF_LEN=32
-# CONFIG_HTTPD_LOG_PURGE_DATA is not set
-# CONFIG_HTTPD_WS_SUPPORT is not set
-# end of HTTP Server
-
-#
-# ESP HTTPS OTA
-#
-# CONFIG_OTA_ALLOW_HTTP is not set
-# end of ESP HTTPS OTA
-
-#
-# ESP HTTPS server
-#
-# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
-# end of ESP HTTPS server
-
-#
-# ESP NETIF Adapter
-#
-CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
-CONFIG_ESP_NETIF_TCPIP_LWIP=y
-# CONFIG_ESP_NETIF_LOOPBACK is not set
-CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
-# end of ESP NETIF Adapter
-
-#
-# Power Management
-#
-# CONFIG_PM_ENABLE is not set
-# end of Power Management
-
-#
-# ESP System Settings
-#
-# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
-CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
-# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
-# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set
-# CONFIG_ESP_SYSTEM_PSRAM_LEAKAGE_WORKAROUND is not set
-# CONFIG_ESP_SYSTEM_FLASH_LEAKAGE_WORKAROUND is not set
-
-#
-# RTC Clock Config
-#
-# end of RTC Clock Config
-
-#
-# Memory protection
-#
-# end of Memory protection
+# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set
+CONFIG_ESP32_ECO3_CACHE_LOCK_FIX=y
+CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y
# end of ESP System Settings
+#
+# IPC (Inter-Processor Call)
+#
+CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
+CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
+CONFIG_ESP_IPC_ISR_ENABLE=y
+# end of IPC (Inter-Processor Call)
+
#
# High resolution timer (esp_timer)
#
@@ -578,52 +1001,70 @@ CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y
CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y
CONFIG_ESP_TIMER_TASK_STACK_SIZE=2048
-# CONFIG_ESP_TIMER_IMPL_FRC2 is not set
+CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1
+# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set
+CONFIG_ESP_TIMER_TASK_AFFINITY=0x0
+CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y
+CONFIG_ESP_TIMER_ISR_AFFINITY=0x1
+CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y
+# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set
CONFIG_ESP_TIMER_IMPL_TG0_LAC=y
# end of High resolution timer (esp_timer)
#
# Wi-Fi
#
-CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
-CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=64
-CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y
-CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0
-CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
-CONFIG_ESP32_WIFI_CACHE_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=8
-CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
-CONFIG_ESP32_WIFI_RX_BA_WIN=16
-# CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set
-CONFIG_ESP32_WIFI_NVS_ENABLED=y
-CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
-# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
-CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
-CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_NONE is not set
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_ERROR is not set
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_WARN is not set
-CONFIG_WIFI_LOG_DEFAULT_LEVEL_INFO=y
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_DEBUG is not set
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_VERBOSE is not set
-# CONFIG_ESP32_WIFI_IRAM_OPT is not set
-CONFIG_ESP32_WIFI_RX_IRAM_OPT=y
-CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y
+CONFIG_ESP_WIFI_ENABLED=y
+CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=8
+CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=64
+CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y
+CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0
+CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=8
+CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32
+# CONFIG_ESP_WIFI_CSI_ENABLED is not set
+CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y
+CONFIG_ESP_WIFI_TX_BA_WIN=8
+CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP_WIFI_RX_BA_WIN=16
+# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set
+CONFIG_ESP_WIFI_NVS_ENABLED=y
+CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y
+# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set
+CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752
+CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32
+# CONFIG_ESP_WIFI_IRAM_OPT is not set
+CONFIG_ESP_WIFI_RX_IRAM_OPT=y
+CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y
+CONFIG_ESP_WIFI_ENABLE_SAE_PK=y
+CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y
+CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y
# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
# CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set
+# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
+CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
-# end of Wi-Fi
+CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
+# CONFIG_ESP_WIFI_NAN_ENABLE is not set
+CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y
+CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
+# CONFIG_ESP_WIFI_WAPI_PSK is not set
+# CONFIG_ESP_WIFI_SUITE_B_192 is not set
+# CONFIG_ESP_WIFI_11KV_SUPPORT is not set
+# CONFIG_ESP_WIFI_MBO_SUPPORT is not set
+# CONFIG_ESP_WIFI_DPP_SUPPORT is not set
+# CONFIG_ESP_WIFI_11R_SUPPORT is not set
+# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set
#
-# PHY
+# WPS Configuration Options
#
-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
-# end of PHY
+# CONFIG_ESP_WIFI_WPS_STRICT is not set
+# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set
+# end of WPS Configuration Options
+
+# CONFIG_ESP_WIFI_DEBUG_PRINT is not set
+# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set
+# end of Wi-Fi
#
# Core dump
@@ -636,6 +1077,12 @@ CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
#
# FAT Filesystem support
#
+CONFIG_FATFS_VOLUME_COUNT=2
+CONFIG_FATFS_LFN_NONE=y
+# CONFIG_FATFS_LFN_HEAP is not set
+# CONFIG_FATFS_LFN_STACK is not set
+# CONFIG_FATFS_SECTOR_512 is not set
+CONFIG_FATFS_SECTOR_4096=y
# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set
CONFIG_FATFS_CODEPAGE_437=y
# CONFIG_FATFS_CODEPAGE_720 is not set
@@ -659,88 +1106,78 @@ CONFIG_FATFS_CODEPAGE_437=y
# CONFIG_FATFS_CODEPAGE_949 is not set
# CONFIG_FATFS_CODEPAGE_950 is not set
CONFIG_FATFS_CODEPAGE=437
-CONFIG_FATFS_LFN_NONE=y
-# CONFIG_FATFS_LFN_HEAP is not set
-# CONFIG_FATFS_LFN_STACK is not set
CONFIG_FATFS_FS_LOCK=0
CONFIG_FATFS_TIMEOUT_MS=10000
CONFIG_FATFS_PER_FILE_CACHE=y
CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y
# CONFIG_FATFS_USE_FASTSEEK is not set
+CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0
# end of FAT Filesystem support
-#
-# Modbus configuration
-#
-CONFIG_FMB_COMM_MODE_TCP_EN=y
-CONFIG_FMB_TCP_PORT_DEFAULT=502
-CONFIG_FMB_TCP_PORT_MAX_CONN=5
-CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20
-CONFIG_FMB_COMM_MODE_RTU_EN=y
-CONFIG_FMB_COMM_MODE_ASCII_EN=y
-CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=150
-CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200
-CONFIG_FMB_QUEUE_LENGTH=20
-CONFIG_FMB_PORT_TASK_STACK_SIZE=4096
-CONFIG_FMB_SERIAL_BUF_SIZE=256
-CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8
-CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000
-CONFIG_FMB_PORT_TASK_PRIO=10
-# CONFIG_FMB_PORT_TASK_AFFINITY_NO_AFFINITY is not set
-CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y
-# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set
-CONFIG_FMB_PORT_TASK_AFFINITY=0x0
-CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y
-CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233
-CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20
-CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
-CONFIG_FMB_CONTROLLER_STACK_SIZE=4096
-CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20
-CONFIG_FMB_TIMER_PORT_ENABLED=y
-CONFIG_FMB_TIMER_GROUP=0
-CONFIG_FMB_TIMER_INDEX=0
-CONFIG_FMB_MASTER_TIMER_GROUP=0
-CONFIG_FMB_MASTER_TIMER_INDEX=0
-# CONFIG_FMB_TIMER_ISR_IN_IRAM is not set
-# end of Modbus configuration
-
#
# FreeRTOS
#
+
+#
+# Kernel
+#
+# CONFIG_FREERTOS_SMP is not set
# CONFIG_FREERTOS_UNICORE is not set
-CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
-CONFIG_FREERTOS_CORETIMER_0=y
-# CONFIG_FREERTOS_CORETIMER_1 is not set
CONFIG_FREERTOS_HZ=1000
-CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y
# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
-# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
-CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
-# CONFIG_FREERTOS_ASSERT_FAIL_ABORT is not set
-# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set
-CONFIG_FREERTOS_ASSERT_DISABLE=y
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=768
-CONFIG_FREERTOS_ISR_STACKSIZE=1536
-# CONFIG_FREERTOS_LEGACY_HOOKS is not set
+# CONFIG_FREERTOS_USE_IDLE_HOOK is not set
+# CONFIG_FREERTOS_USE_TICK_HOOK is not set
CONFIG_FREERTOS_MAX_TASK_NAME_LEN=10
-CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
-# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
+CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y
CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=1536
CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=5
CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
+CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
+# end of Kernel
+
+#
+# Port
+#
+# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
+CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
+# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
-# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
-CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
-CONFIG_FREERTOS_DEBUG_OCDAWARE=y
+CONFIG_FREERTOS_ISR_STACKSIZE=1536
+CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
# CONFIG_FREERTOS_FPU_IN_ISR is not set
+CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y
+CONFIG_FREERTOS_CORETIMER_0=y
+# CONFIG_FREERTOS_CORETIMER_1 is not set
+CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y
+CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
+# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set
+# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
+CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
+# end of Port
+
+CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
+CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
+CONFIG_FREERTOS_DEBUG_OCDAWARE=y
# end of FreeRTOS
+#
+# Hardware Abstraction Layer (HAL) and Low Level (LL)
+#
+CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
+# CONFIG_HAL_ASSERTION_DISABLE is not set
+# CONFIG_HAL_ASSERTION_SILENT is not set
+# CONFIG_HAL_ASSERTION_ENABLE is not set
+CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2
+CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y
+# end of Hardware Abstraction Layer (HAL) and Low Level (LL)
+
#
# Heap memory debugging
#
@@ -750,31 +1187,31 @@ CONFIG_HEAP_POISONING_DISABLED=y
CONFIG_HEAP_TRACING_OFF=y
# CONFIG_HEAP_TRACING_STANDALONE is not set
# CONFIG_HEAP_TRACING_TOHOST is not set
+# CONFIG_HEAP_USE_HOOKS is not set
# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
+# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set
# end of Heap memory debugging
-#
-# jsmn
-#
-# CONFIG_JSMN_PARENT_LINKS is not set
-# CONFIG_JSMN_STRICT is not set
-# end of jsmn
-
-#
-# libsodium
-#
-# end of libsodium
+CONFIG_IEEE802154_CCA_THRESHOLD=-60
+CONFIG_IEEE802154_PENDING_TABLE_SIZE=20
#
# Log output
#
-# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set
+CONFIG_LOG_DEFAULT_LEVEL_NONE=y
# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set
# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set
-CONFIG_LOG_DEFAULT_LEVEL_INFO=y
+# CONFIG_LOG_DEFAULT_LEVEL_INFO is not set
# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set
# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set
-CONFIG_LOG_DEFAULT_LEVEL=3
+CONFIG_LOG_DEFAULT_LEVEL=0
+# CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT is not set
+# CONFIG_LOG_MAXIMUM_LEVEL_ERROR is not set
+# CONFIG_LOG_MAXIMUM_LEVEL_WARN is not set
+CONFIG_LOG_MAXIMUM_LEVEL_INFO=y
+# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set
+# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set
+CONFIG_LOG_MAXIMUM_LEVEL=3
CONFIG_LOG_COLORS=y
CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
@@ -784,6 +1221,9 @@ CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
# LWIP
#
CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
+# CONFIG_LWIP_NETIF_API is not set
+# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
+# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set
CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
# CONFIG_LWIP_L2_TO_L3_COPY is not set
# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
@@ -799,15 +1239,20 @@ CONFIG_LWIP_IP4_FRAG=y
CONFIG_LWIP_IP6_FRAG=y
# CONFIG_LWIP_IP4_REASSEMBLY is not set
# CONFIG_LWIP_IP6_REASSEMBLY is not set
+CONFIG_LWIP_IP_REASS_MAX_PBUFS=10
# CONFIG_LWIP_IP_FORWARD is not set
# CONFIG_LWIP_STATS is not set
-# CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set
CONFIG_LWIP_ESP_GRATUITOUS_ARP=y
CONFIG_LWIP_GARP_TMR_INTERVAL=60
+CONFIG_LWIP_ESP_MLDV6_REPORT=y
+CONFIG_LWIP_MLDV6_TMR_INTERVAL=40
CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32
CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
+CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
+CONFIG_LWIP_DHCP_OPTIONS_LEN=68
+CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0
CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1
#
@@ -819,8 +1264,12 @@ CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
# end of DHCP server
# CONFIG_LWIP_AUTOIP is not set
+CONFIG_LWIP_IPV4=y
CONFIG_LWIP_IPV6=y
# CONFIG_LWIP_IPV6_AUTOCONFIG is not set
+CONFIG_LWIP_IPV6_NUM_ADDRESSES=3
+# CONFIG_LWIP_IPV6_FORWARD is not set
+# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set
CONFIG_LWIP_NETIF_LOOPBACK=y
CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
@@ -841,7 +1290,6 @@ CONFIG_LWIP_TCP_WND_DEFAULT=11680
CONFIG_LWIP_TCP_RECVMBOX_SIZE=10
CONFIG_LWIP_TCP_QUEUE_OOSEQ=y
CONFIG_LWIP_TCP_SACK_OUT=y
-# CONFIG_LWIP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set
CONFIG_LWIP_TCP_OVERSIZE_MSS=y
# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set
# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set
@@ -890,10 +1338,12 @@ CONFIG_LWIP_MAX_RAW_PCBS=16
#
# SNTP
#
-CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1
+CONFIG_LWIP_SNTP_MAX_SERVERS=1
+# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
# end of SNTP
+CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7
CONFIG_LWIP_ESP_LWIP_ASSERT=y
#
@@ -905,9 +1355,18 @@ CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y
CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y
# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set
# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set
+CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y
+# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set
+# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set
+CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y
+# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set
+# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set
CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y
# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set
# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set
+CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y
+# CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set
+# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set
# end of Hooks
# CONFIG_LWIP_DEBUG is not set
@@ -927,13 +1386,15 @@ CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
# CONFIG_MBEDTLS_DEBUG is not set
#
-# mbedTLS v2.28.x related
+# mbedTLS v3.x related
#
+# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set
# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set
# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set
# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set
CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y
-# end of mbedTLS v2.28.x related
+CONFIG_MBEDTLS_PKCS7_C=y
+# end of mbedTLS v3.x related
#
# Certificate Bundle
@@ -950,6 +1411,7 @@ CONFIG_MBEDTLS_ROM_MD5=y
# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set
# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set
CONFIG_MBEDTLS_HAVE_TIME=y
+# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set
# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y
CONFIG_MBEDTLS_SHA512_C=y
@@ -966,7 +1428,6 @@ CONFIG_MBEDTLS_TLS_ENABLED=y
#
# CONFIG_MBEDTLS_PSK_MODES is not set
CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
@@ -975,15 +1436,11 @@ CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
# end of TLS Key Exchange Methods
CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
-# CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set
-CONFIG_MBEDTLS_SSL_PROTO_TLS1=y
-CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y
CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
+# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set
# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set
CONFIG_MBEDTLS_SSL_ALPN=y
CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y
-CONFIG_MBEDTLS_X509_CHECK_KEY_USAGE=y
-CONFIG_MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE=y
CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y
#
@@ -992,9 +1449,6 @@ CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y
CONFIG_MBEDTLS_AES_C=y
# CONFIG_MBEDTLS_CAMELLIA_C is not set
# CONFIG_MBEDTLS_DES_C is not set
-CONFIG_MBEDTLS_RC4_DISABLED=y
-# CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT is not set
-# CONFIG_MBEDTLS_RC4_ENABLED is not set
# CONFIG_MBEDTLS_BLOWFISH_C is not set
# CONFIG_MBEDTLS_XTEA_C is not set
CONFIG_MBEDTLS_CCM_C=y
@@ -1014,6 +1468,7 @@ CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
# end of Certificates
CONFIG_MBEDTLS_ECP_C=y
+# CONFIG_MBEDTLS_DHM_C is not set
CONFIG_MBEDTLS_ECDH_C=y
CONFIG_MBEDTLS_ECDSA_C=y
# CONFIG_MBEDTLS_ECJPAKE_C is not set
@@ -1038,25 +1493,11 @@ CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
# CONFIG_MBEDTLS_SECURITY_RISKS is not set
# end of mbedTLS
-#
-# mDNS
-#
-CONFIG_MDNS_MAX_SERVICES=10
-CONFIG_MDNS_TASK_PRIORITY=1
-CONFIG_MDNS_TASK_STACK_SIZE=2816
-CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY=y
-# CONFIG_MDNS_TASK_AFFINITY_CPU0 is not set
-# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set
-CONFIG_MDNS_TASK_AFFINITY=0x7FFFFFFF
-CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
-# CONFIG_MDNS_STRICT_MODE is not set
-CONFIG_MDNS_TIMER_PERIOD_MS=100
-# end of mDNS
-
#
# ESP-MQTT Configurations
#
CONFIG_MQTT_PROTOCOL_311=y
+# CONFIG_MQTT_PROTOCOL_5 is not set
CONFIG_MQTT_TRANSPORT_SSL=y
CONFIG_MQTT_TRANSPORT_WEBSOCKET=y
CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
@@ -1078,21 +1519,42 @@ CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y
# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set
CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y
# CONFIG_NEWLIB_NANO_FORMAT is not set
+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
# end of Newlib
#
# NVS
#
+# CONFIG_NVS_ASSERT_ERROR_CHECK is not set
# end of NVS
#
-# OpenSSL
+# OpenThread
#
-# CONFIG_OPENSSL_DEBUG is not set
-CONFIG_OPENSSL_ERROR_STACK=y
-# CONFIG_OPENSSL_ASSERT_DO_NOTHING is not set
-CONFIG_OPENSSL_ASSERT_EXIT=y
-# end of OpenSSL
+# CONFIG_OPENTHREAD_ENABLED is not set
+
+#
+# Thread Operational Dataset
+#
+CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP"
+CONFIG_OPENTHREAD_NETWORK_CHANNEL=15
+CONFIG_OPENTHREAD_NETWORK_PANID=0x1234
+CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe"
+CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
+CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
+# end of Thread Operational Dataset
+# end of OpenThread
+
+#
+# Protocomm
+#
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y
+# end of Protocomm
#
# PThreads
@@ -1107,6 +1569,14 @@ CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1
CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread"
# end of PThreads
+#
+# MMU Config
+#
+CONFIG_MMU_PAGE_SIZE_64KB=y
+CONFIG_MMU_PAGE_MODE="64KB"
+CONFIG_MMU_PAGE_SIZE=0x10000
+# end of MMU Config
+
#
# SPI Flash driver
#
@@ -1116,7 +1586,6 @@ CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y
# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set
# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set
-# CONFIG_SPI_FLASH_USE_LEGACY_IMPL is not set
# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set
# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
@@ -1125,10 +1594,23 @@ CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set
# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
+# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set
+
+#
+# SPI Flash behavior when brownout
+#
+CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y
+CONFIG_SPI_FLASH_BROWNOUT_RESET=y
+# end of SPI Flash behavior when brownout
#
# Auto-detect flash chips
#
+CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y
CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y
CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y
CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y
@@ -1185,25 +1667,33 @@ CONFIG_SPIFFS_USE_MTIME=y
#
CONFIG_WS_TRANSPORT=y
CONFIG_WS_BUFFER_SIZE=1024
+# CONFIG_WS_DYNAMIC_BUFFER is not set
# end of Websocket
# end of TCP Transport
#
-# TinyUSB
+# Ultra Low Power (ULP) Co-processor
#
-# end of TinyUSB
+# CONFIG_ULP_COPROC_ENABLED is not set
+# end of Ultra Low Power (ULP) Co-processor
#
# Unity unit testing library
#
CONFIG_UNITY_ENABLE_FLOAT=y
CONFIG_UNITY_ENABLE_DOUBLE=y
+# CONFIG_UNITY_ENABLE_64BIT is not set
# CONFIG_UNITY_ENABLE_COLOR is not set
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
# CONFIG_UNITY_ENABLE_FIXTURE is not set
# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set
# end of Unity unit testing library
+#
+# Root Hub configuration
+#
+# end of Root Hub configuration
+
#
# Virtual file system
#
@@ -1212,12 +1702,12 @@ CONFIG_VFS_SUPPORT_DIR=y
CONFIG_VFS_SUPPORT_SELECT=y
CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y
CONFIG_VFS_SUPPORT_TERMIOS=y
+CONFIG_VFS_MAX_COUNT=8
#
# Host File System I/O (Semihosting)
#
CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1
-CONFIG_VFS_SEMIHOSTFS_HOST_PATH_MAX_LEN=128
# end of Host File System I/O (Semihosting)
# end of Virtual file system
@@ -1234,23 +1724,56 @@ CONFIG_WL_SECTOR_SIZE=4096
#
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
+# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set
+CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
+# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set
# end of Wi-Fi Provisioning Manager
#
-# Supplicant
+# WebSocket Server
#
-CONFIG_WPA_MBEDTLS_CRYPTO=y
-# CONFIG_WPA_WAPI_PSK is not set
-# CONFIG_WPA_DEBUG_PRINT is not set
-# CONFIG_WPA_TESTING_OPTIONS is not set
-# CONFIG_WPA_WPS_STRICT is not set
-# CONFIG_WPA_11KV_SUPPORT is not set
-# CONFIG_WPA_DPP_SUPPORT is not set
-# end of Supplicant
+CONFIG_WEBSOCKET_SERVER_MAX_CLIENTS=1
+CONFIG_WEBSOCKET_SERVER_QUEUE_SIZE=2
+CONFIG_WEBSOCKET_SERVER_QUEUE_TIMEOUT=30
+CONFIG_WEBSOCKET_SERVER_TASK_STACK_DEPTH=3000
+CONFIG_WEBSOCKET_SERVER_TASK_PRIORITY=5
+# CONFIG_WEBSOCKET_SERVER_PINNED is not set
+# end of WebSocket Server
+
+#
+# mDNS
+#
+CONFIG_MDNS_MAX_INTERFACES=3
+CONFIG_MDNS_MAX_SERVICES=10
+CONFIG_MDNS_TASK_PRIORITY=1
+CONFIG_MDNS_ACTION_QUEUE_LEN=16
+CONFIG_MDNS_TASK_STACK_SIZE=2816
+CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY=y
+# CONFIG_MDNS_TASK_AFFINITY_CPU0 is not set
+# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set
+CONFIG_MDNS_TASK_AFFINITY=0x7FFFFFFF
+CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
+CONFIG_MDNS_TIMER_PERIOD_MS=100
+# CONFIG_MDNS_NETWORKING_SOCKET is not set
+# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set
+# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set
+CONFIG_MDNS_ENABLE_CONSOLE_CLI=y
+# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set
+CONFIG_MDNS_MULTIPLE_INSTANCE=y
+
+#
+# MDNS Predefined interfaces
+#
+CONFIG_MDNS_PREDEF_NETIF_STA=y
+CONFIG_MDNS_PREDEF_NETIF_AP=y
+CONFIG_MDNS_PREDEF_NETIF_ETH=y
+# end of MDNS Predefined interfaces
+# end of mDNS
#
# DSP Library
#
+CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y
# CONFIG_DSP_ANSI is not set
CONFIG_DSP_OPTIMIZED=y
CONFIG_DSP_OPTIMIZATION=1
@@ -1263,34 +1786,23 @@ CONFIG_DSP_MAX_FFT_SIZE_4096=y
# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set
CONFIG_DSP_MAX_FFT_SIZE=4096
# end of DSP Library
-
-#
-# WebSocket Server
-#
-CONFIG_WEBSOCKET_SERVER_MAX_CLIENTS=1
-CONFIG_WEBSOCKET_SERVER_QUEUE_SIZE=2
-CONFIG_WEBSOCKET_SERVER_QUEUE_TIMEOUT=30
-CONFIG_WEBSOCKET_SERVER_TASK_STACK_DEPTH=3000
-CONFIG_WEBSOCKET_SERVER_TASK_PRIORITY=5
-# CONFIG_WEBSOCKET_SERVER_PINNED is not set
-# end of WebSocket Server
# end of Component config
-#
-# Compatibility options
-#
-# CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set
-# end of Compatibility options
+# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set
# Deprecated options for backward compatibility
-CONFIG_TOOLPREFIX="xtensa-esp32-elf-"
+# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set
+# CONFIG_NO_BLOBS is not set
+# CONFIG_ESP32_NO_BLOBS is not set
+# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set
+CONFIG_LOG_BOOTLOADER_LEVEL_ERROR=y
# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set
-CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
+# CONFIG_LOG_BOOTLOADER_LEVEL_INFO is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
-CONFIG_LOG_BOOTLOADER_LEVEL=3
+CONFIG_LOG_BOOTLOADER_LEVEL=1
CONFIG_APP_ROLLBACK_ENABLE=y
# CONFIG_APP_ANTI_ROLLBACK is not set
# CONFIG_FLASH_ENCRYPTION_ENABLED is not set
@@ -1298,63 +1810,71 @@ CONFIG_FLASHMODE_QIO=y
# CONFIG_FLASHMODE_QOUT is not set
# CONFIG_FLASHMODE_DIO is not set
# CONFIG_FLASHMODE_DOUT is not set
-# CONFIG_MONITOR_BAUD_9600B is not set
-# CONFIG_MONITOR_BAUD_57600B is not set
-CONFIG_MONITOR_BAUD_115200B=y
-# CONFIG_MONITOR_BAUD_230400B is not set
-# CONFIG_MONITOR_BAUD_921600B is not set
-# CONFIG_MONITOR_BAUD_2MB is not set
-# CONFIG_MONITOR_BAUD_OTHER is not set
-CONFIG_MONITOR_BAUD_OTHER_VAL=115200
CONFIG_MONITOR_BAUD=115200
+# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
+# 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_DISABLE_GCC8_WARNINGS is not set
# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set
CONFIG_ESP32_APPTRACE_DEST_NONE=y
CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
CONFIG_ADC2_DISABLE_DAC=y
-CONFIG_SPIRAM_SUPPORT=y
-# CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST is not set
-CONFIG_TRACEMEM_RESERVE_DRAM=0x0
+# CONFIG_MCPWM_ISR_IN_IRAM is not set
+# CONFIG_EVENT_LOOP_PROFILING is not set
+CONFIG_POST_EVENTS_FROM_ISR=y
+# CONFIG_POST_EVENTS_FROM_IRAM_ISR is not set
+# CONFIG_OTA_ALLOW_HTTP is not set
# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set
CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y
CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4
-# CONFIG_ULP_COPROC_ENABLED is not set
-CONFIG_ULP_COPROC_RESERVE_MEM=0
-CONFIG_BROWNOUT_DET=y
-# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
-CONFIG_BROWNOUT_DET_LVL_SEL_4=y
-# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set
-CONFIG_BROWNOUT_DET_LVL=4
-CONFIG_REDUCE_PHY_TX_POWER=y
+CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
+CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y
CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y
+# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set
# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set
+# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set
# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set
+# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set
# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set
-# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set
-# CONFIG_NO_BLOBS is not set
-# CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
+# CONFIG_ESP32_XTAL_FREQ_26 is not set
+CONFIG_ESP32_XTAL_FREQ_40=y
+# CONFIG_ESP32_XTAL_FREQ_AUTO is not set
+CONFIG_ESP32_XTAL_FREQ=40
+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=y
+CONFIG_ESP32_REDUCE_PHY_TX_POWER=y
+CONFIG_SPIRAM_SUPPORT=y
+CONFIG_ESP32_SPIRAM_SUPPORT=y
+# CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST is not set
+# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set
+# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set
+CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
+CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
+CONFIG_TRACEMEM_RESERVE_DRAM=0x0
+# CONFIG_ESP32_PANIC_PRINT_HALT is not set
+CONFIG_ESP32_PANIC_PRINT_REBOOT=y
+# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set
+# CONFIG_ESP32_PANIC_GDBSTUB is not set
CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
-CONFIG_MAIN_TASK_STACK_SIZE=2560
-CONFIG_IPC_TASK_STACK_SIZE=1024
+CONFIG_MAIN_TASK_STACK_SIZE=3072
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
@@ -1363,42 +1883,81 @@ CONFIG_INT_WDT=y
CONFIG_INT_WDT_TIMEOUT_MS=300
CONFIG_INT_WDT_CHECK_CPU1=y
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_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
-# CONFIG_EVENT_LOOP_PROFILING is not set
-CONFIG_POST_EVENTS_FROM_ISR=y
-# CONFIG_POST_EVENTS_FROM_IRAM_ISR is not set
-# CONFIG_ESP32S2_PANIC_PRINT_HALT is not set
-CONFIG_ESP32S2_PANIC_PRINT_REBOOT=y
-# CONFIG_ESP32S2_PANIC_SILENT_REBOOT is not set
-# CONFIG_ESP32S2_PANIC_GDBSTUB is not set
+# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set
+CONFIG_ESP32_DEBUG_OCDAWARE=y
+CONFIG_BROWNOUT_DET=y
+CONFIG_ESP32_BROWNOUT_DET=y
+# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set
+CONFIG_BROWNOUT_DET_LVL_SEL_4=y
+CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4=y
+# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set
+CONFIG_BROWNOUT_DET_LVL=4
+CONFIG_ESP32_BROWNOUT_DET_LVL=4
+# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set
+CONFIG_IPC_TASK_STACK_SIZE=1024
CONFIG_TIMER_TASK_STACK_SIZE=2048
+CONFIG_ESP32_WIFI_ENABLED=y
+CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
+CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=64
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y
+CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
+CONFIG_ESP32_WIFI_CACHE_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=8
+CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP32_WIFI_RX_BA_WIN=16
+CONFIG_ESP32_WIFI_RX_BA_WIN=16
+# CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set
+CONFIG_ESP32_WIFI_NVS_ENABLED=y
+CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
+# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
+CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
+CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
+# CONFIG_ESP32_WIFI_IRAM_OPT is not set
+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_WPA_TESTING_OPTIONS 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_MB_MASTER_TIMEOUT_MS_RESPOND=150
-CONFIG_MB_MASTER_DELAY_MS_CONVERT=200
-CONFIG_MB_QUEUE_LENGTH=20
-CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096
-CONFIG_MB_SERIAL_BUF_SIZE=256
-CONFIG_MB_SERIAL_TASK_PRIO=10
-CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y
-CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233
-CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20
-CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
-CONFIG_MB_CONTROLLER_STACK_SIZE=4096
-CONFIG_MB_EVENT_QUEUE_TIMEOUT=20
-CONFIG_MB_TIMER_PORT_ENABLED=y
-CONFIG_MB_TIMER_GROUP=0
-CONFIG_MB_TIMER_INDEX=0
-# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set
CONFIG_TIMER_TASK_PRIORITY=1
CONFIG_TIMER_TASK_STACK_DEPTH=1536
CONFIG_TIMER_QUEUE_LENGTH=5
+# 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_USE_ONLY_LWIP_SELECT is not set
CONFIG_ESP_GRATUITOUS_ARP=y
CONFIG_GARP_TMR_INTERVAL=60
CONFIG_TCPIP_RECVMBOX_SIZE=32
@@ -1410,7 +1969,6 @@ CONFIG_TCP_SND_BUF_DEFAULT=11680
CONFIG_TCP_WND_DEFAULT=11680
CONFIG_TCP_RECVMBOX_SIZE=10
CONFIG_TCP_QUEUE_OOSEQ=y
-# CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set
CONFIG_TCP_OVERSIZE_MSS=y
# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set
# CONFIG_TCP_OVERSIZE_DISABLE is not set
@@ -1421,6 +1979,12 @@ CONFIG_TCPIP_TASK_AFFINITY_CPU0=y
# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set
CONFIG_TCPIP_TASK_AFFINITY=0x0
# CONFIG_PPP_SUPPORT is not set
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
+# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set
CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
CONFIG_ESP32_PTHREAD_STACK_MIN=768
@@ -1432,8 +1996,8 @@ 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_ESP32_ULP_COPROC_ENABLED is not set
CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y
CONFIG_SUPPORT_TERMIOS=y
CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1
-CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN=128
# End of deprecated options
diff --git a/sdkconfig_TAS5805M b/sdkconfig_TAS5805M
new file mode 100644
index 0000000..867083a
--- /dev/null
+++ b/sdkconfig_TAS5805M
@@ -0,0 +1,2038 @@
+#
+# Automatically generated file. DO NOT EDIT.
+# Espressif IoT Development Framework (ESP-IDF) 5.1.1 Project Configuration
+#
+CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined"
+CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined"
+CONFIG_SOC_DPORT_WORKAROUND="Not determined"
+CONFIG_SOC_CAPS_ECO_VER_MAX=301
+CONFIG_SOC_ADC_SUPPORTED=y
+CONFIG_SOC_DAC_SUPPORTED=y
+CONFIG_SOC_UART_SUPPORTED=y
+CONFIG_SOC_MCPWM_SUPPORTED=y
+CONFIG_SOC_GPTIMER_SUPPORTED=y
+CONFIG_SOC_SDMMC_HOST_SUPPORTED=y
+CONFIG_SOC_BT_SUPPORTED=y
+CONFIG_SOC_PCNT_SUPPORTED=y
+CONFIG_SOC_WIFI_SUPPORTED=y
+CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y
+CONFIG_SOC_TWAI_SUPPORTED=y
+CONFIG_SOC_EMAC_SUPPORTED=y
+CONFIG_SOC_ULP_SUPPORTED=y
+CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
+CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
+CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
+CONFIG_SOC_RTC_MEM_SUPPORTED=y
+CONFIG_SOC_I2S_SUPPORTED=y
+CONFIG_SOC_RMT_SUPPORTED=y
+CONFIG_SOC_SDM_SUPPORTED=y
+CONFIG_SOC_GPSPI_SUPPORTED=y
+CONFIG_SOC_LEDC_SUPPORTED=y
+CONFIG_SOC_I2C_SUPPORTED=y
+CONFIG_SOC_SUPPORT_COEXISTENCE=y
+CONFIG_SOC_AES_SUPPORTED=y
+CONFIG_SOC_MPI_SUPPORTED=y
+CONFIG_SOC_SHA_SUPPORTED=y
+CONFIG_SOC_FLASH_ENC_SUPPORTED=y
+CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
+CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y
+CONFIG_SOC_BOD_SUPPORTED=y
+CONFIG_SOC_ULP_FSM_SUPPORTED=y
+CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5
+CONFIG_SOC_XTAL_SUPPORT_26M=y
+CONFIG_SOC_XTAL_SUPPORT_40M=y
+CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y
+CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
+CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
+CONFIG_SOC_ADC_DMA_SUPPORTED=y
+CONFIG_SOC_ADC_PERIPH_NUM=2
+CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10
+CONFIG_SOC_ADC_ATTEN_NUM=4
+CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2
+CONFIG_SOC_ADC_PATT_LEN_MAX=16
+CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9
+CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12
+CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2
+CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4
+CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2
+CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20
+CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9
+CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12
+CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y
+CONFIG_SOC_IDCACHE_PER_CORE=y
+CONFIG_SOC_CPU_CORES_NUM=2
+CONFIG_SOC_CPU_INTR_NUM=32
+CONFIG_SOC_CPU_HAS_FPU=y
+CONFIG_SOC_CPU_BREAKPOINTS_NUM=2
+CONFIG_SOC_CPU_WATCHPOINTS_NUM=2
+CONFIG_SOC_CPU_WATCHPOINT_SIZE=64
+CONFIG_SOC_DAC_CHAN_NUM=2
+CONFIG_SOC_DAC_RESOLUTION=8
+CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y
+CONFIG_SOC_GPIO_PORT=1
+CONFIG_SOC_GPIO_PIN_COUNT=40
+CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF
+CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA
+CONFIG_SOC_I2C_NUM=2
+CONFIG_SOC_I2C_FIFO_LEN=32
+CONFIG_SOC_I2C_CMD_REG_NUM=16
+CONFIG_SOC_I2C_SUPPORT_SLAVE=y
+CONFIG_SOC_I2C_SUPPORT_APB=y
+CONFIG_SOC_I2S_NUM=2
+CONFIG_SOC_I2S_HW_VERSION_1=y
+CONFIG_SOC_I2S_SUPPORTS_APLL=y
+CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y
+CONFIG_SOC_I2S_SUPPORTS_PDM=y
+CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y
+CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1
+CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y
+CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1
+CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y
+CONFIG_SOC_I2S_SUPPORTS_ADC=y
+CONFIG_SOC_I2S_SUPPORTS_DAC=y
+CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y
+CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y
+CONFIG_SOC_I2S_LCD_I80_VARIANT=y
+CONFIG_SOC_LCD_I80_SUPPORTED=y
+CONFIG_SOC_LCD_I80_BUSES=2
+CONFIG_SOC_LCD_I80_BUS_WIDTH=24
+CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y
+CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y
+CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y
+CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y
+CONFIG_SOC_LEDC_CHANNEL_NUM=8
+CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20
+CONFIG_SOC_MCPWM_GROUPS=2
+CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3
+CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3
+CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3
+CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y
+CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3
+CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3
+CONFIG_SOC_MMU_PERIPH_NUM=2
+CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3
+CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000
+CONFIG_SOC_MPU_REGIONS_MAX_NUM=8
+CONFIG_SOC_PCNT_GROUPS=1
+CONFIG_SOC_PCNT_UNITS_PER_GROUP=8
+CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2
+CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2
+CONFIG_SOC_RMT_GROUPS=1
+CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8
+CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8
+CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8
+CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64
+CONFIG_SOC_RMT_SUPPORT_REF_TICK=y
+CONFIG_SOC_RMT_SUPPORT_APB=y
+CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y
+CONFIG_SOC_RTCIO_PIN_COUNT=18
+CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y
+CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y
+CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y
+CONFIG_SOC_SDM_GROUPS=1
+CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8
+CONFIG_SOC_SDM_CLK_SUPPORT_APB=y
+CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y
+CONFIG_SOC_SPI_AS_CS_SUPPORTED=y
+CONFIG_SOC_SPI_PERIPH_NUM=3
+CONFIG_SOC_SPI_DMA_CHAN_NUM=2
+CONFIG_SOC_SPI_MAX_CS_NUM=3
+CONFIG_SOC_SPI_SUPPORT_CLK_APB=y
+CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64
+CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192
+CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y
+CONFIG_SOC_TIMER_GROUPS=2
+CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2
+CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64
+CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4
+CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y
+CONFIG_SOC_TOUCH_VERSION_1=y
+CONFIG_SOC_TOUCH_SENSOR_NUM=10
+CONFIG_SOC_TOUCH_PAD_MEASURE_WAIT_MAX=0xFF
+CONFIG_SOC_TWAI_CONTROLLER_NUM=1
+CONFIG_SOC_TWAI_BRP_MIN=2
+CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y
+CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y
+CONFIG_SOC_UART_NUM=3
+CONFIG_SOC_UART_SUPPORT_APB_CLK=y
+CONFIG_SOC_UART_SUPPORT_REF_TICK=y
+CONFIG_SOC_UART_FIFO_LEN=128
+CONFIG_SOC_UART_BITRATE_MAX=5000000
+CONFIG_SOC_SPIRAM_SUPPORTED=y
+CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y
+CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y
+CONFIG_SOC_SHA_SUPPORT_SHA1=y
+CONFIG_SOC_SHA_SUPPORT_SHA256=y
+CONFIG_SOC_SHA_SUPPORT_SHA384=y
+CONFIG_SOC_SHA_SUPPORT_SHA512=y
+CONFIG_SOC_RSA_MAX_BIT_LEN=4096
+CONFIG_SOC_AES_SUPPORT_AES_128=y
+CONFIG_SOC_AES_SUPPORT_AES_192=y
+CONFIG_SOC_AES_SUPPORT_AES_256=y
+CONFIG_SOC_SECURE_BOOT_V1=y
+CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
+CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
+CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
+CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y
+CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y
+CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y
+CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y
+CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y
+CONFIG_SOC_PM_SUPPORT_MODEM_PD=y
+CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y
+CONFIG_SOC_CLK_APLL_SUPPORTED=y
+CONFIG_SOC_APLL_MULTIPLIER_OUT_MIN_HZ=350000000
+CONFIG_SOC_APLL_MULTIPLIER_OUT_MAX_HZ=500000000
+CONFIG_SOC_APLL_MIN_HZ=5303031
+CONFIG_SOC_APLL_MAX_HZ=125000000
+CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y
+CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y
+CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y
+CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y
+CONFIG_SOC_SDMMC_USE_IOMUX=y
+CONFIG_SOC_SDMMC_NUM_SLOTS=2
+CONFIG_SOC_WIFI_WAPI_SUPPORT=y
+CONFIG_SOC_WIFI_CSI_SUPPORT=y
+CONFIG_SOC_WIFI_MESH_SUPPORT=y
+CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y
+CONFIG_SOC_WIFI_NAN_SUPPORT=y
+CONFIG_SOC_BLE_SUPPORTED=y
+CONFIG_SOC_BLE_MESH_SUPPORTED=y
+CONFIG_SOC_BT_CLASSIC_SUPPORTED=y
+CONFIG_SOC_BLUFI_SUPPORTED=y
+CONFIG_SOC_ULP_HAS_ADC=y
+CONFIG_IDF_CMAKE=y
+CONFIG_IDF_TARGET_ARCH_XTENSA=y
+CONFIG_IDF_TARGET_ARCH="xtensa"
+CONFIG_IDF_TARGET="esp32"
+CONFIG_IDF_TARGET_ESP32=y
+CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000
+
+#
+# Build type
+#
+CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y
+# CONFIG_APP_BUILD_TYPE_RAM is not set
+CONFIG_APP_BUILD_GENERATE_BINARIES=y
+CONFIG_APP_BUILD_BOOTLOADER=y
+CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y
+# CONFIG_APP_REPRODUCIBLE_BUILD is not set
+# CONFIG_APP_NO_BLOBS is not set
+# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set
+# end of Build type
+
+#
+# Bootloader config
+#
+CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000
+CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
+# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
+# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set
+# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set
+CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y
+# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
+CONFIG_BOOTLOADER_LOG_LEVEL=3
+# CONFIG_BOOTLOADER_SPI_CUSTOM_WP_PIN is not set
+CONFIG_BOOTLOADER_SPI_WP_PIN=7
+CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
+# CONFIG_BOOTLOADER_FACTORY_RESET is not set
+# CONFIG_BOOTLOADER_APP_TEST is not set
+CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y
+CONFIG_BOOTLOADER_WDT_ENABLE=y
+# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
+CONFIG_BOOTLOADER_WDT_TIME_MS=9000
+CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
+# CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
+CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
+# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
+CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
+# end of Bootloader config
+
+#
+# Security features
+#
+CONFIG_SECURE_BOOT_V1_SUPPORTED=y
+# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
+# CONFIG_SECURE_BOOT is not set
+# CONFIG_SECURE_FLASH_ENC_ENABLED is not set
+# end of Security features
+
+#
+# Application manager
+#
+CONFIG_APP_COMPILE_TIME_DATE=y
+# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set
+# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set
+# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set
+CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
+# end of Application manager
+
+CONFIG_ESP_ROM_HAS_CRC_LE=y
+CONFIG_ESP_ROM_HAS_CRC_BE=y
+CONFIG_ESP_ROM_HAS_MZ_CRC32=y
+CONFIG_ESP_ROM_HAS_JPEG_DECODE=y
+CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y
+CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y
+CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y
+
+#
+# Serial flasher config
+#
+# CONFIG_ESPTOOLPY_NO_STUB is not set
+CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
+# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set
+# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set
+# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
+CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y
+CONFIG_ESPTOOLPY_FLASHMODE="dio"
+CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
+# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set
+# CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set
+# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set
+CONFIG_ESPTOOLPY_FLASHFREQ="80m"
+# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
+CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
+# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
+CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
+# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set
+CONFIG_ESPTOOLPY_BEFORE_RESET=y
+# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
+CONFIG_ESPTOOLPY_BEFORE="default_reset"
+CONFIG_ESPTOOLPY_AFTER_RESET=y
+# CONFIG_ESPTOOLPY_AFTER_NORESET is not set
+CONFIG_ESPTOOLPY_AFTER="hard_reset"
+CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
+# end of Serial flasher config
+
+#
+# Partition Table
+#
+# CONFIG_PARTITION_TABLE_SINGLE_APP is not set
+# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set
+# CONFIG_PARTITION_TABLE_TWO_OTA is not set
+CONFIG_PARTITION_TABLE_CUSTOM=y
+CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
+CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"
+CONFIG_PARTITION_TABLE_OFFSET=0x8000
+CONFIG_PARTITION_TABLE_MD5=y
+# end of Partition Table
+
+#
+# Snapclient Configuration
+#
+CONFIG_SNAPSERVER_USE_MDNS=y
+CONFIG_SNAPCLIENT_NAME="esp-snapclient"
+
+#
+# HTTP Server Setting
+#
+CONFIG_WEB_PORT=8000
+# end of HTTP Server Setting
+# end of Snapclient Configuration
+
+#
+# Audio HAL
+#
+CONFIG_AUDIO_BOARD_CUSTOM=y
+# CONFIG_ESP_LYRAT_V4_3_BOARD is not set
+# CONFIG_ESP_LYRAT_MINI_V1_1_BOARD is not set
+# end of Audio HAL
+
+#
+# Custom Audio Board
+#
+# CONFIG_DAC_PCM51XX is not set
+# CONFIG_DAC_PCM5102A is not set
+# CONFIG_DAC_MA120 is not set
+# CONFIG_DAC_MA120X0 is not set
+# CONFIG_DAC_ADAU1961 is not set
+# CONFIG_DAC_MAX98357 is not set
+CONFIG_DAC_TAS5805M=y
+
+#
+# DAC I2C control interface
+#
+CONFIG_DAC_I2C_SDA=21
+CONFIG_DAC_I2C_SCL=27
+CONFIG_DAC_I2C_ADDR=0x2D
+# end of DAC I2C control interface
+
+#
+# I2S master interface
+#
+CONFIG_MASTER_I2S_MCLK_PIN=0
+CONFIG_MASTER_I2S_BCK_PIN=26
+CONFIG_MASTER_I2S_LRCK_PIN=25
+CONFIG_MASTER_I2S_DATAOUT_PIN=22
+# end of I2S master interface
+
+#
+# DAC-Operation-Mode
+#
+# CONFIG_DAC_BRIDGE_MODE is not set
+# end of DAC-Operation-Mode
+
+#
+# I2S slave interface
+#
+CONFIG_SLAVE_I2S_BCK_PIN=99
+CONFIG_SLAVE_I2S_MCLK_PIN=0
+CONFIG_SLAVE_I2S_LRCK_PIN=12
+CONFIG_SLAVE_I2S_DATAOUT_PIN=5
+# end of I2S slave interface
+
+#
+# Logic-Level-Settings
+#
+# CONFIG_INVERT_MCLK_LEVEL is not set
+CONFIG_INVERT_WORD_SELECT_LEVEL=y
+# CONFIG_INVERT_BCLK_LEVEL is not set
+CONFIG_DISABLE_APLL_ADJUST=y
+# end of Logic-Level-Settings
+# end of Custom Audio Board
+
+#
+# ESP32 DSP processor config
+#
+# CONFIG_USE_DSP_PROCESSOR is not set
+# end of ESP32 DSP processor config
+
+#
+# Snapclient Ethernet Configuration
+#
+# CONFIG_SNAPCLIENT_ENABLE_ETHERNET is not set
+# end of Snapclient Ethernet Configuration
+
+#
+# SNTP Configuration
+#
+CONFIG_SNTP_TIMEZONE="UTC"
+CONFIG_SNTP_SERVER="pool.ntp.org"
+# end of SNTP Configuration
+
+#
+# Wifi Configuration
+#
+# CONFIG_ENABLE_WIFI_PROVISIONING is not set
+CONFIG_WIFI_SSID="SSID"
+CONFIG_WIFI_PASSWORD="YOUR_WIFI_PASSWORD"
+CONFIG_WIFI_MAXIMUM_RETRY=3
+# end of Wifi Configuration
+
+#
+# Compiler options
+#
+# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set
+# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
+CONFIG_COMPILER_OPTIMIZATION_PERF=y
+# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
+CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
+# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
+# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set
+CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y
+CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
+# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
+CONFIG_COMPILER_HIDE_PATHS_MACROS=y
+# CONFIG_COMPILER_CXX_EXCEPTIONS is not set
+# CONFIG_COMPILER_CXX_RTTI is not set
+CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
+# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set
+# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set
+# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set
+# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
+# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set
+# CONFIG_COMPILER_DUMP_RTL_FILES is not set
+# end of Compiler options
+
+#
+# Component config
+#
+
+#
+# Application Level Tracing
+#
+# CONFIG_APPTRACE_DEST_JTAG is not set
+CONFIG_APPTRACE_DEST_NONE=y
+# CONFIG_APPTRACE_DEST_UART1 is not set
+# CONFIG_APPTRACE_DEST_UART2 is not set
+CONFIG_APPTRACE_DEST_UART_NONE=y
+CONFIG_APPTRACE_UART_TASK_PRIO=1
+CONFIG_APPTRACE_LOCK_ENABLE=y
+# end of Application Level Tracing
+
+#
+# Bluetooth
+#
+# CONFIG_BT_ENABLED is not set
+# end of Bluetooth
+
+#
+# Driver Configurations
+#
+
+#
+# Legacy ADC Configuration
+#
+CONFIG_ADC_DISABLE_DAC=y
+# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set
+
+#
+# Legacy ADC Calibration Configuration
+#
+CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y
+CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y
+CONFIG_ADC_CAL_LUT_ENABLE=y
+# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set
+# end of Legacy ADC Calibration Configuration
+# end of Legacy ADC Configuration
+
+#
+# SPI Configuration
+#
+CONFIG_SPI_MASTER_ISR_IN_IRAM=y
+# CONFIG_SPI_SLAVE_IN_IRAM is not set
+# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set
+# end of SPI Configuration
+
+#
+# TWAI Configuration
+#
+# CONFIG_TWAI_ISR_IN_IRAM is not set
+# CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC is not set
+# CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST is not set
+# CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID is not set
+# CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT is not set
+# CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM is not set
+# end of TWAI Configuration
+
+#
+# UART Configuration
+#
+# CONFIG_UART_ISR_IN_IRAM is not set
+# end of UART Configuration
+
+#
+# GPIO Configuration
+#
+# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
+# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
+# end of GPIO Configuration
+
+#
+# Sigma Delta Modulator Configuration
+#
+# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_SDM_ENABLE_DEBUG_LOG is not set
+# end of Sigma Delta Modulator Configuration
+
+#
+# GPTimer Configuration
+#
+# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set
+# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set
+# end of GPTimer Configuration
+
+#
+# PCNT Configuration
+#
+# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_PCNT_ISR_IRAM_SAFE is not set
+# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set
+# end of PCNT Configuration
+
+#
+# RMT Configuration
+#
+# CONFIG_RMT_ISR_IRAM_SAFE is not set
+# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_RMT_ENABLE_DEBUG_LOG is not set
+# end of RMT Configuration
+
+#
+# MCPWM Configuration
+#
+# CONFIG_MCPWM_ISR_IRAM_SAFE is not set
+# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set
+# end of MCPWM Configuration
+
+#
+# I2S Configuration
+#
+# CONFIG_I2S_ISR_IRAM_SAFE is not set
+# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_I2S_ENABLE_DEBUG_LOG is not set
+# end of I2S Configuration
+
+#
+# DAC Configuration
+#
+# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_DAC_ISR_IRAM_SAFE is not set
+# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_DAC_ENABLE_DEBUG_LOG is not set
+CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y
+# end of DAC Configuration
+# end of Driver Configurations
+
+#
+# eFuse Bit Manager
+#
+# CONFIG_EFUSE_CUSTOM_TABLE is not set
+# CONFIG_EFUSE_VIRTUAL is not set
+# CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set
+CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y
+# CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set
+CONFIG_EFUSE_MAX_BLK_LEN=192
+# end of eFuse Bit Manager
+
+#
+# ESP-TLS
+#
+CONFIG_ESP_TLS_USING_MBEDTLS=y
+# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
+# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
+# CONFIG_ESP_TLS_SERVER is not set
+# CONFIG_ESP_TLS_PSK_VERIFICATION is not set
+# CONFIG_ESP_TLS_INSECURE is not set
+# end of ESP-TLS
+
+#
+# ADC and ADC Calibration
+#
+# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set
+
+#
+# ADC Calibration Configurations
+#
+CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y
+CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y
+CONFIG_ADC_CALI_LUT_ENABLE=y
+# end of ADC Calibration Configurations
+
+CONFIG_ADC_DISABLE_DAC_OUTPUT=y
+# end of ADC and ADC Calibration
+
+#
+# Wireless Coexistence
+#
+# end of Wireless Coexistence
+
+#
+# Common ESP-related
+#
+CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
+# end of Common ESP-related
+
+#
+# Ethernet
+#
+CONFIG_ETH_ENABLED=y
+CONFIG_ETH_USE_ESP32_EMAC=y
+CONFIG_ETH_PHY_INTERFACE_RMII=y
+CONFIG_ETH_RMII_CLK_INPUT=y
+# CONFIG_ETH_RMII_CLK_OUTPUT is not set
+CONFIG_ETH_RMII_CLK_IN_GPIO=0
+CONFIG_ETH_DMA_BUFFER_SIZE=1024
+CONFIG_ETH_DMA_RX_BUFFER_NUM=30
+CONFIG_ETH_DMA_TX_BUFFER_NUM=5
+# CONFIG_ETH_SOFT_FLOW_CONTROL is not set
+CONFIG_ETH_USE_SPI_ETHERNET=y
+# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set
+# CONFIG_ETH_SPI_ETHERNET_W5500 is not set
+# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set
+# CONFIG_ETH_USE_OPENETH is not set
+# CONFIG_ETH_TRANSMIT_MUTEX is not set
+# end of Ethernet
+
+#
+# Event Loop Library
+#
+# CONFIG_ESP_EVENT_LOOP_PROFILING is not set
+CONFIG_ESP_EVENT_POST_FROM_ISR=y
+# CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR is not set
+# end of Event Loop Library
+
+#
+# GDB Stub
+#
+# end of GDB Stub
+
+#
+# ESP HTTP client
+#
+CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y
+# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set
+# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set
+# end of ESP HTTP client
+
+#
+# HTTP Server
+#
+CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
+CONFIG_HTTPD_MAX_URI_LEN=512
+CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
+CONFIG_HTTPD_PURGE_BUF_LEN=32
+# CONFIG_HTTPD_LOG_PURGE_DATA is not set
+# CONFIG_HTTPD_WS_SUPPORT is not set
+# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set
+# end of HTTP Server
+
+#
+# ESP HTTPS OTA
+#
+# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set
+# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set
+# end of ESP HTTPS OTA
+
+#
+# ESP HTTPS server
+#
+# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
+# end of ESP HTTPS server
+
+#
+# Hardware Settings
+#
+
+#
+# Chip revision
+#
+CONFIG_ESP32_REV_MIN_0=y
+# CONFIG_ESP32_REV_MIN_1 is not set
+# CONFIG_ESP32_REV_MIN_1_1 is not set
+# CONFIG_ESP32_REV_MIN_2 is not set
+# CONFIG_ESP32_REV_MIN_3 is not set
+# CONFIG_ESP32_REV_MIN_3_1 is not set
+CONFIG_ESP32_REV_MIN=0
+CONFIG_ESP32_REV_MIN_FULL=0
+CONFIG_ESP_REV_MIN_FULL=0
+
+#
+# Maximum Supported ESP32 Revision (Rev v3.99)
+#
+CONFIG_ESP32_REV_MAX_FULL=399
+CONFIG_ESP_REV_MAX_FULL=399
+# end of Chip revision
+
+#
+# MAC Config
+#
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
+CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y
+# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set
+CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y
+CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4
+# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set
+# end of MAC Config
+
+#
+# Sleep Config
+#
+CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y
+CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y
+# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set
+CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
+# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set
+CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000
+# end of Sleep Config
+
+#
+# RTC Clock Config
+#
+CONFIG_RTC_CLK_SRC_INT_RC=y
+# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set
+# CONFIG_RTC_CLK_SRC_EXT_OSC is not set
+# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set
+CONFIG_RTC_CLK_CAL_CYCLES=1024
+# end of RTC Clock Config
+
+#
+# Peripheral Control
+#
+CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
+# end of Peripheral Control
+
+#
+# Main XTAL Config
+#
+# CONFIG_XTAL_FREQ_26 is not set
+CONFIG_XTAL_FREQ_40=y
+# CONFIG_XTAL_FREQ_AUTO is not set
+CONFIG_XTAL_FREQ=40
+# end of Main XTAL Config
+# end of Hardware Settings
+
+#
+# LCD and Touch Panel
+#
+
+#
+# LCD Touch Drivers are maintained in the IDF Component Registry
+#
+
+#
+# LCD Peripheral Configuration
+#
+CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32
+# CONFIG_LCD_ENABLE_DEBUG_LOG is not set
+# end of LCD Peripheral Configuration
+# end of LCD and Touch Panel
+
+#
+# ESP NETIF Adapter
+#
+CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
+CONFIG_ESP_NETIF_TCPIP_LWIP=y
+# CONFIG_ESP_NETIF_LOOPBACK is not set
+CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y
+# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set
+# CONFIG_ESP_NETIF_L2_TAP is not set
+# CONFIG_ESP_NETIF_BRIDGE_EN is not set
+# end of ESP NETIF Adapter
+
+#
+# Partition API Configuration
+#
+# end of Partition API Configuration
+
+#
+# PHY
+#
+CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y
+# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set
+CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20
+CONFIG_ESP_PHY_MAX_TX_POWER=20
+CONFIG_ESP_PHY_REDUCE_TX_POWER=y
+CONFIG_ESP_PHY_RF_CAL_PARTIAL=y
+# CONFIG_ESP_PHY_RF_CAL_NONE is not set
+# CONFIG_ESP_PHY_RF_CAL_FULL is not set
+CONFIG_ESP_PHY_CALIBRATION_MODE=0
+# end of PHY
+
+#
+# Power Management
+#
+# CONFIG_PM_ENABLE is not set
+# end of Power Management
+
+#
+# ESP PSRAM
+#
+CONFIG_SPIRAM=y
+
+#
+# SPI RAM config
+#
+CONFIG_SPIRAM_MODE_QUAD=y
+CONFIG_SPIRAM_TYPE_AUTO=y
+# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set
+# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
+# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
+CONFIG_SPIRAM_SPEED_40M=y
+# CONFIG_SPIRAM_SPEED_80M is not set
+CONFIG_SPIRAM_SPEED=40
+CONFIG_SPIRAM_BOOT_INIT=y
+# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
+# CONFIG_SPIRAM_USE_MEMMAP is not set
+# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
+CONFIG_SPIRAM_USE_MALLOC=y
+CONFIG_SPIRAM_MEMTEST=y
+CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384
+# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set
+CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768
+# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
+# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set
+CONFIG_SPIRAM_CACHE_WORKAROUND=y
+
+#
+# SPIRAM cache workaround debugging
+#
+CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW=y
+# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST is not set
+# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS is not set
+# end of SPIRAM cache workaround debugging
+
+#
+# SPIRAM workaround libraries placement
+#
+CONFIG_SPIRAM_CACHE_LIBJMP_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBMATH_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBNUMPARSER_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBIO_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBTIME_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBCHAR_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBMEM_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBSTR_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBRAND_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBENV_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBFILE_IN_IRAM=y
+CONFIG_SPIRAM_CACHE_LIBMISC_IN_IRAM=y
+# end of SPIRAM workaround libraries placement
+
+CONFIG_SPIRAM_BANKSWITCH_ENABLE=y
+CONFIG_SPIRAM_BANKSWITCH_RESERVE=8
+# CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY is not set
+
+#
+# PSRAM clock and cs IO for ESP32-DOWD
+#
+CONFIG_D0WD_PSRAM_CLK_IO=17
+CONFIG_D0WD_PSRAM_CS_IO=16
+# end of PSRAM clock and cs IO for ESP32-DOWD
+
+#
+# PSRAM clock and cs IO for ESP32-D2WD
+#
+CONFIG_D2WD_PSRAM_CLK_IO=9
+CONFIG_D2WD_PSRAM_CS_IO=10
+# end of PSRAM clock and cs IO for ESP32-D2WD
+
+#
+# PSRAM clock and cs IO for ESP32-PICO
+#
+CONFIG_PICO_PSRAM_CS_IO=10
+# end of PSRAM clock and cs IO for ESP32-PICO
+
+# CONFIG_SPIRAM_2T_MODE is not set
+# end of SPI RAM config
+# end of ESP PSRAM
+
+#
+# ESP Ringbuf
+#
+# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set
+# end of ESP Ringbuf
+
+#
+# ESP System Settings
+#
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240
+
+#
+# Memory
+#
+# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set
+
+#
+# Non-backward compatible options
+#
+# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set
+# end of Non-backward compatible options
+# end of Memory
+
+#
+# Trace memory
+#
+# CONFIG_ESP32_TRAX is not set
+CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0
+# end of Trace memory
+
+# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
+CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
+# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
+# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set
+# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
+CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0
+
+#
+# Memory protection
+#
+# end of Memory protection
+
+CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
+CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
+CONFIG_ESP_MAIN_TASK_STACK_SIZE=2560
+CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y
+# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set
+# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set
+CONFIG_ESP_MAIN_TASK_AFFINITY=0x0
+CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
+CONFIG_ESP_CONSOLE_UART_DEFAULT=y
+# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
+# CONFIG_ESP_CONSOLE_NONE is not set
+CONFIG_ESP_CONSOLE_UART=y
+CONFIG_ESP_CONSOLE_MULTIPLE_UART=y
+CONFIG_ESP_CONSOLE_UART_NUM=0
+CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
+CONFIG_ESP_INT_WDT=y
+CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
+CONFIG_ESP_INT_WDT_CHECK_CPU1=y
+CONFIG_ESP_TASK_WDT_EN=y
+CONFIG_ESP_TASK_WDT_INIT=y
+# CONFIG_ESP_TASK_WDT_PANIC is not set
+CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
+CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
+CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
+# CONFIG_ESP_PANIC_HANDLER_IRAM is not set
+# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set
+CONFIG_ESP_DEBUG_OCDAWARE=y
+# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5 is not set
+CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y
+
+#
+# Brownout Detector
+#
+CONFIG_ESP_BROWNOUT_DET=y
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set
+CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4=y
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 is not set
+CONFIG_ESP_BROWNOUT_DET_LVL=4
+# end of Brownout Detector
+
+# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set
+CONFIG_ESP32_ECO3_CACHE_LOCK_FIX=y
+CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y
+# end of ESP System Settings
+
+#
+# IPC (Inter-Processor Call)
+#
+CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
+CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
+CONFIG_ESP_IPC_ISR_ENABLE=y
+# end of IPC (Inter-Processor Call)
+
+#
+# High resolution timer (esp_timer)
+#
+# CONFIG_ESP_TIMER_PROFILING is not set
+CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y
+CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y
+CONFIG_ESP_TIMER_TASK_STACK_SIZE=2048
+CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1
+# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set
+CONFIG_ESP_TIMER_TASK_AFFINITY=0x0
+CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y
+CONFIG_ESP_TIMER_ISR_AFFINITY=0x1
+CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y
+# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set
+CONFIG_ESP_TIMER_IMPL_TG0_LAC=y
+# end of High resolution timer (esp_timer)
+
+#
+# Wi-Fi
+#
+CONFIG_ESP_WIFI_ENABLED=y
+CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=8
+CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=64
+CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y
+CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0
+CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=8
+CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32
+# CONFIG_ESP_WIFI_CSI_ENABLED is not set
+CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y
+CONFIG_ESP_WIFI_TX_BA_WIN=8
+CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP_WIFI_RX_BA_WIN=16
+# CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set
+CONFIG_ESP_WIFI_NVS_ENABLED=y
+CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y
+# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set
+CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752
+CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32
+# CONFIG_ESP_WIFI_IRAM_OPT is not set
+CONFIG_ESP_WIFI_RX_IRAM_OPT=y
+CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y
+CONFIG_ESP_WIFI_ENABLE_SAE_PK=y
+CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y
+CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y
+# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
+# CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set
+# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
+CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
+# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
+CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
+# CONFIG_ESP_WIFI_NAN_ENABLE is not set
+CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y
+CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
+# CONFIG_ESP_WIFI_WAPI_PSK is not set
+# CONFIG_ESP_WIFI_SUITE_B_192 is not set
+# CONFIG_ESP_WIFI_11KV_SUPPORT is not set
+# CONFIG_ESP_WIFI_MBO_SUPPORT is not set
+# CONFIG_ESP_WIFI_DPP_SUPPORT is not set
+# CONFIG_ESP_WIFI_11R_SUPPORT is not set
+# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set
+
+#
+# WPS Configuration Options
+#
+# CONFIG_ESP_WIFI_WPS_STRICT is not set
+# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set
+# end of WPS Configuration Options
+
+# CONFIG_ESP_WIFI_DEBUG_PRINT is not set
+# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set
+# end of Wi-Fi
+
+#
+# Core dump
+#
+# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set
+# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set
+CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
+# end of Core dump
+
+#
+# FAT Filesystem support
+#
+CONFIG_FATFS_VOLUME_COUNT=2
+CONFIG_FATFS_LFN_NONE=y
+# CONFIG_FATFS_LFN_HEAP is not set
+# CONFIG_FATFS_LFN_STACK is not set
+# CONFIG_FATFS_SECTOR_512 is not set
+CONFIG_FATFS_SECTOR_4096=y
+# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set
+CONFIG_FATFS_CODEPAGE_437=y
+# CONFIG_FATFS_CODEPAGE_720 is not set
+# CONFIG_FATFS_CODEPAGE_737 is not set
+# CONFIG_FATFS_CODEPAGE_771 is not set
+# CONFIG_FATFS_CODEPAGE_775 is not set
+# CONFIG_FATFS_CODEPAGE_850 is not set
+# CONFIG_FATFS_CODEPAGE_852 is not set
+# CONFIG_FATFS_CODEPAGE_855 is not set
+# CONFIG_FATFS_CODEPAGE_857 is not set
+# CONFIG_FATFS_CODEPAGE_860 is not set
+# CONFIG_FATFS_CODEPAGE_861 is not set
+# CONFIG_FATFS_CODEPAGE_862 is not set
+# CONFIG_FATFS_CODEPAGE_863 is not set
+# CONFIG_FATFS_CODEPAGE_864 is not set
+# CONFIG_FATFS_CODEPAGE_865 is not set
+# CONFIG_FATFS_CODEPAGE_866 is not set
+# CONFIG_FATFS_CODEPAGE_869 is not set
+# CONFIG_FATFS_CODEPAGE_932 is not set
+# CONFIG_FATFS_CODEPAGE_936 is not set
+# CONFIG_FATFS_CODEPAGE_949 is not set
+# CONFIG_FATFS_CODEPAGE_950 is not set
+CONFIG_FATFS_CODEPAGE=437
+CONFIG_FATFS_FS_LOCK=0
+CONFIG_FATFS_TIMEOUT_MS=10000
+CONFIG_FATFS_PER_FILE_CACHE=y
+CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y
+# CONFIG_FATFS_USE_FASTSEEK is not set
+CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0
+# end of FAT Filesystem support
+
+#
+# FreeRTOS
+#
+
+#
+# Kernel
+#
+# CONFIG_FREERTOS_SMP is not set
+# CONFIG_FREERTOS_UNICORE is not set
+CONFIG_FREERTOS_HZ=1000
+# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
+# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
+CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
+CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
+CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=768
+# CONFIG_FREERTOS_USE_IDLE_HOOK is not set
+# CONFIG_FREERTOS_USE_TICK_HOOK is not set
+CONFIG_FREERTOS_MAX_TASK_NAME_LEN=10
+CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y
+CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
+CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=1536
+CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=5
+CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
+CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
+# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
+# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
+# end of Kernel
+
+#
+# Port
+#
+# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
+CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
+# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
+CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
+CONFIG_FREERTOS_ISR_STACKSIZE=1536
+CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
+# CONFIG_FREERTOS_FPU_IN_ISR is not set
+CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y
+CONFIG_FREERTOS_CORETIMER_0=y
+# CONFIG_FREERTOS_CORETIMER_1 is not set
+CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y
+CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
+# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set
+# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
+CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
+# end of Port
+
+CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
+CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
+CONFIG_FREERTOS_DEBUG_OCDAWARE=y
+# end of FreeRTOS
+
+#
+# Hardware Abstraction Layer (HAL) and Low Level (LL)
+#
+CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
+# CONFIG_HAL_ASSERTION_DISABLE is not set
+# CONFIG_HAL_ASSERTION_SILENT is not set
+# CONFIG_HAL_ASSERTION_ENABLE is not set
+CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2
+CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y
+# end of Hardware Abstraction Layer (HAL) and Low Level (LL)
+
+#
+# Heap memory debugging
+#
+CONFIG_HEAP_POISONING_DISABLED=y
+# CONFIG_HEAP_POISONING_LIGHT is not set
+# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set
+CONFIG_HEAP_TRACING_OFF=y
+# CONFIG_HEAP_TRACING_STANDALONE is not set
+# CONFIG_HEAP_TRACING_TOHOST is not set
+# CONFIG_HEAP_USE_HOOKS is not set
+# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
+# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set
+# end of Heap memory debugging
+
+CONFIG_IEEE802154_CCA_THRESHOLD=-60
+CONFIG_IEEE802154_PENDING_TABLE_SIZE=20
+
+#
+# Log output
+#
+# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set
+# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set
+# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set
+CONFIG_LOG_DEFAULT_LEVEL_INFO=y
+# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set
+# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set
+CONFIG_LOG_DEFAULT_LEVEL=3
+CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y
+# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set
+# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set
+CONFIG_LOG_MAXIMUM_LEVEL=3
+CONFIG_LOG_COLORS=y
+CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
+# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
+# end of Log output
+
+#
+# LWIP
+#
+CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
+# CONFIG_LWIP_NETIF_API is not set
+# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
+# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set
+CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
+# CONFIG_LWIP_L2_TO_L3_COPY is not set
+# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
+CONFIG_LWIP_TIMERS_ONDEMAND=y
+CONFIG_LWIP_MAX_SOCKETS=6
+# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set
+# CONFIG_LWIP_SO_LINGER is not set
+CONFIG_LWIP_SO_REUSE=y
+# CONFIG_LWIP_SO_REUSE_RXTOALL is not set
+# CONFIG_LWIP_SO_RCVBUF is not set
+# CONFIG_LWIP_NETBUF_RECVINFO is not set
+CONFIG_LWIP_IP4_FRAG=y
+CONFIG_LWIP_IP6_FRAG=y
+# CONFIG_LWIP_IP4_REASSEMBLY is not set
+# CONFIG_LWIP_IP6_REASSEMBLY is not set
+CONFIG_LWIP_IP_REASS_MAX_PBUFS=10
+# CONFIG_LWIP_IP_FORWARD is not set
+# CONFIG_LWIP_STATS is not set
+CONFIG_LWIP_ESP_GRATUITOUS_ARP=y
+CONFIG_LWIP_GARP_TMR_INTERVAL=60
+CONFIG_LWIP_ESP_MLDV6_REPORT=y
+CONFIG_LWIP_MLDV6_TMR_INTERVAL=40
+CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32
+CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
+# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
+CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
+# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
+CONFIG_LWIP_DHCP_OPTIONS_LEN=68
+CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0
+CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1
+
+#
+# DHCP server
+#
+CONFIG_LWIP_DHCPS=y
+CONFIG_LWIP_DHCPS_LEASE_UNIT=60
+CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
+# end of DHCP server
+
+# CONFIG_LWIP_AUTOIP is not set
+CONFIG_LWIP_IPV4=y
+CONFIG_LWIP_IPV6=y
+# CONFIG_LWIP_IPV6_AUTOCONFIG is not set
+CONFIG_LWIP_IPV6_NUM_ADDRESSES=3
+# CONFIG_LWIP_IPV6_FORWARD is not set
+# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set
+CONFIG_LWIP_NETIF_LOOPBACK=y
+CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
+
+#
+# TCP
+#
+CONFIG_LWIP_MAX_ACTIVE_TCP=6
+CONFIG_LWIP_MAX_LISTENING_TCP=6
+CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y
+CONFIG_LWIP_TCP_MAXRTX=12
+CONFIG_LWIP_TCP_SYNMAXRTX=12
+CONFIG_LWIP_TCP_MSS=1460
+CONFIG_LWIP_TCP_TMR_INTERVAL=250
+CONFIG_LWIP_TCP_MSL=60000
+CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000
+CONFIG_LWIP_TCP_SND_BUF_DEFAULT=11680
+CONFIG_LWIP_TCP_WND_DEFAULT=11680
+CONFIG_LWIP_TCP_RECVMBOX_SIZE=10
+CONFIG_LWIP_TCP_QUEUE_OOSEQ=y
+CONFIG_LWIP_TCP_SACK_OUT=y
+CONFIG_LWIP_TCP_OVERSIZE_MSS=y
+# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set
+# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set
+CONFIG_LWIP_TCP_RTO_TIME=1500
+# end of TCP
+
+#
+# UDP
+#
+CONFIG_LWIP_MAX_UDP_PCBS=1
+CONFIG_LWIP_UDP_RECVMBOX_SIZE=6
+# end of UDP
+
+#
+# Checksums
+#
+# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set
+# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set
+CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y
+# end of Checksums
+
+CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072
+# CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY is not set
+CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
+# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set
+CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x0
+# CONFIG_LWIP_PPP_SUPPORT is not set
+CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3
+CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
+# CONFIG_LWIP_SLIP_SUPPORT is not set
+
+#
+# ICMP
+#
+CONFIG_LWIP_ICMP=y
+# CONFIG_LWIP_MULTICAST_PING is not set
+# CONFIG_LWIP_BROADCAST_PING is not set
+# end of ICMP
+
+#
+# LWIP RAW API
+#
+CONFIG_LWIP_MAX_RAW_PCBS=16
+# end of LWIP RAW API
+
+#
+# SNTP
+#
+CONFIG_LWIP_SNTP_MAX_SERVERS=1
+# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
+CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
+# end of SNTP
+
+CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7
+CONFIG_LWIP_ESP_LWIP_ASSERT=y
+
+#
+# Hooks
+#
+# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set
+CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y
+# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set
+CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y
+# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set
+# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set
+CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y
+# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set
+# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set
+CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y
+# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set
+# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set
+CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y
+# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set
+# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set
+CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y
+# CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set
+# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set
+# end of Hooks
+
+# CONFIG_LWIP_DEBUG is not set
+# end of LWIP
+
+#
+# mbedTLS
+#
+CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
+# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set
+# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set
+# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set
+CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
+CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384
+CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
+# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set
+# CONFIG_MBEDTLS_DEBUG is not set
+
+#
+# mbedTLS v3.x related
+#
+# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set
+# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set
+# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set
+# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set
+CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y
+CONFIG_MBEDTLS_PKCS7_C=y
+# end of mbedTLS v3.x related
+
+#
+# Certificate Bundle
+#
+# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE is not set
+# end of Certificate Bundle
+
+# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set
+# CONFIG_MBEDTLS_CMAC_C is not set
+CONFIG_MBEDTLS_HARDWARE_AES=y
+CONFIG_MBEDTLS_HARDWARE_MPI=y
+CONFIG_MBEDTLS_HARDWARE_SHA=y
+CONFIG_MBEDTLS_ROM_MD5=y
+# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set
+# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set
+CONFIG_MBEDTLS_HAVE_TIME=y
+# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set
+# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
+CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y
+CONFIG_MBEDTLS_SHA512_C=y
+CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
+# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set
+# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set
+# CONFIG_MBEDTLS_TLS_DISABLED is not set
+CONFIG_MBEDTLS_TLS_SERVER=y
+CONFIG_MBEDTLS_TLS_CLIENT=y
+CONFIG_MBEDTLS_TLS_ENABLED=y
+
+#
+# TLS Key Exchange Methods
+#
+# CONFIG_MBEDTLS_PSK_MODES is not set
+CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y
+CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
+# end of TLS Key Exchange Methods
+
+CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
+CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
+# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set
+# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set
+CONFIG_MBEDTLS_SSL_ALPN=y
+CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y
+CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y
+
+#
+# Symmetric Ciphers
+#
+CONFIG_MBEDTLS_AES_C=y
+# CONFIG_MBEDTLS_CAMELLIA_C is not set
+# CONFIG_MBEDTLS_DES_C is not set
+# CONFIG_MBEDTLS_BLOWFISH_C is not set
+# CONFIG_MBEDTLS_XTEA_C is not set
+CONFIG_MBEDTLS_CCM_C=y
+CONFIG_MBEDTLS_GCM_C=y
+# CONFIG_MBEDTLS_NIST_KW_C is not set
+# end of Symmetric Ciphers
+
+# CONFIG_MBEDTLS_RIPEMD160_C is not set
+
+#
+# Certificates
+#
+CONFIG_MBEDTLS_PEM_PARSE_C=y
+CONFIG_MBEDTLS_PEM_WRITE_C=y
+CONFIG_MBEDTLS_X509_CRL_PARSE_C=y
+CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
+# end of Certificates
+
+CONFIG_MBEDTLS_ECP_C=y
+# CONFIG_MBEDTLS_DHM_C is not set
+CONFIG_MBEDTLS_ECDH_C=y
+CONFIG_MBEDTLS_ECDSA_C=y
+# CONFIG_MBEDTLS_ECJPAKE_C is not set
+CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
+CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
+CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
+# CONFIG_MBEDTLS_POLY1305_C is not set
+# CONFIG_MBEDTLS_CHACHA20_C is not set
+# CONFIG_MBEDTLS_HKDF_C is not set
+# CONFIG_MBEDTLS_THREADING_C is not set
+# CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set
+# CONFIG_MBEDTLS_SECURITY_RISKS is not set
+# end of mbedTLS
+
+#
+# ESP-MQTT Configurations
+#
+CONFIG_MQTT_PROTOCOL_311=y
+# CONFIG_MQTT_PROTOCOL_5 is not set
+CONFIG_MQTT_TRANSPORT_SSL=y
+CONFIG_MQTT_TRANSPORT_WEBSOCKET=y
+CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
+# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set
+# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set
+# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set
+# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set
+# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set
+# CONFIG_MQTT_CUSTOM_OUTBOX is not set
+# end of ESP-MQTT Configurations
+
+#
+# Newlib
+#
+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_NANO_FORMAT is not set
+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
+# end of Newlib
+
+#
+# NVS
+#
+# CONFIG_NVS_ASSERT_ERROR_CHECK is not set
+# end of NVS
+
+#
+# OpenThread
+#
+# CONFIG_OPENTHREAD_ENABLED is not set
+
+#
+# Thread Operational Dataset
+#
+CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP"
+CONFIG_OPENTHREAD_NETWORK_CHANNEL=15
+CONFIG_OPENTHREAD_NETWORK_PANID=0x1234
+CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe"
+CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
+CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
+# end of Thread Operational Dataset
+# end of OpenThread
+
+#
+# Protocomm
+#
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y
+# end of Protocomm
+
+#
+# PThreads
+#
+CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5
+CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
+CONFIG_PTHREAD_STACK_MIN=768
+CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y
+# CONFIG_PTHREAD_DEFAULT_CORE_0 is not set
+# CONFIG_PTHREAD_DEFAULT_CORE_1 is not set
+CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1
+CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread"
+# end of PThreads
+
+#
+# MMU Config
+#
+CONFIG_MMU_PAGE_SIZE_64KB=y
+CONFIG_MMU_PAGE_MODE="64KB"
+CONFIG_MMU_PAGE_SIZE=0x10000
+# end of MMU Config
+
+#
+# SPI Flash driver
+#
+# CONFIG_SPI_FLASH_VERIFY_WRITE is not set
+# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set
+CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
+CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y
+# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set
+# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set
+# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set
+# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
+CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
+CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20
+CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
+CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
+# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set
+# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
+# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set
+
+#
+# SPI Flash behavior when brownout
+#
+CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y
+CONFIG_SPI_FLASH_BROWNOUT_RESET=y
+# end of SPI Flash behavior when brownout
+
+#
+# Auto-detect flash chips
+#
+CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y
+CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y
+CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y
+CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y
+CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y
+# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set
+# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set
+# end of Auto-detect flash chips
+
+CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y
+# end of SPI Flash driver
+
+#
+# SPIFFS Configuration
+#
+CONFIG_SPIFFS_MAX_PARTITIONS=3
+
+#
+# SPIFFS Cache Configuration
+#
+CONFIG_SPIFFS_CACHE=y
+CONFIG_SPIFFS_CACHE_WR=y
+# CONFIG_SPIFFS_CACHE_STATS is not set
+# end of SPIFFS Cache Configuration
+
+CONFIG_SPIFFS_PAGE_CHECK=y
+CONFIG_SPIFFS_GC_MAX_RUNS=10
+# CONFIG_SPIFFS_GC_STATS is not set
+CONFIG_SPIFFS_PAGE_SIZE=256
+CONFIG_SPIFFS_OBJ_NAME_LEN=32
+# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set
+CONFIG_SPIFFS_USE_MAGIC=y
+CONFIG_SPIFFS_USE_MAGIC_LENGTH=y
+CONFIG_SPIFFS_META_LENGTH=4
+CONFIG_SPIFFS_USE_MTIME=y
+
+#
+# Debug Configuration
+#
+# CONFIG_SPIFFS_DBG is not set
+# CONFIG_SPIFFS_API_DBG is not set
+# CONFIG_SPIFFS_GC_DBG is not set
+# CONFIG_SPIFFS_CACHE_DBG is not set
+# CONFIG_SPIFFS_CHECK_DBG is not set
+# CONFIG_SPIFFS_TEST_VISUALISATION is not set
+# end of Debug Configuration
+# end of SPIFFS Configuration
+
+#
+# TCP Transport
+#
+
+#
+# Websocket
+#
+CONFIG_WS_TRANSPORT=y
+CONFIG_WS_BUFFER_SIZE=1024
+# CONFIG_WS_DYNAMIC_BUFFER is not set
+# end of Websocket
+# end of TCP Transport
+
+#
+# Ultra Low Power (ULP) Co-processor
+#
+# CONFIG_ULP_COPROC_ENABLED is not set
+# end of Ultra Low Power (ULP) Co-processor
+
+#
+# Unity unit testing library
+#
+CONFIG_UNITY_ENABLE_FLOAT=y
+CONFIG_UNITY_ENABLE_DOUBLE=y
+# CONFIG_UNITY_ENABLE_64BIT is not set
+# CONFIG_UNITY_ENABLE_COLOR is not set
+CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
+# CONFIG_UNITY_ENABLE_FIXTURE is not set
+# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set
+# end of Unity unit testing library
+
+#
+# Root Hub configuration
+#
+# end of Root Hub configuration
+
+#
+# Virtual file system
+#
+CONFIG_VFS_SUPPORT_IO=y
+CONFIG_VFS_SUPPORT_DIR=y
+CONFIG_VFS_SUPPORT_SELECT=y
+CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y
+CONFIG_VFS_SUPPORT_TERMIOS=y
+CONFIG_VFS_MAX_COUNT=8
+
+#
+# Host File System I/O (Semihosting)
+#
+CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1
+# end of Host File System I/O (Semihosting)
+# end of Virtual file system
+
+#
+# Wear Levelling
+#
+# CONFIG_WL_SECTOR_SIZE_512 is not set
+CONFIG_WL_SECTOR_SIZE_4096=y
+CONFIG_WL_SECTOR_SIZE=4096
+# end of Wear Levelling
+
+#
+# Wi-Fi Provisioning Manager
+#
+CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
+CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
+# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set
+CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
+# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set
+# end of Wi-Fi Provisioning Manager
+
+#
+# WebSocket Server
+#
+CONFIG_WEBSOCKET_SERVER_MAX_CLIENTS=1
+CONFIG_WEBSOCKET_SERVER_QUEUE_SIZE=2
+CONFIG_WEBSOCKET_SERVER_QUEUE_TIMEOUT=30
+CONFIG_WEBSOCKET_SERVER_TASK_STACK_DEPTH=3000
+CONFIG_WEBSOCKET_SERVER_TASK_PRIORITY=5
+# CONFIG_WEBSOCKET_SERVER_PINNED is not set
+# end of WebSocket Server
+
+#
+# DSP Library
+#
+CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y
+# CONFIG_DSP_ANSI is not set
+CONFIG_DSP_OPTIMIZED=y
+CONFIG_DSP_OPTIMIZATION=1
+# CONFIG_DSP_MAX_FFT_SIZE_512 is not set
+# CONFIG_DSP_MAX_FFT_SIZE_1024 is not set
+# CONFIG_DSP_MAX_FFT_SIZE_2048 is not set
+CONFIG_DSP_MAX_FFT_SIZE_4096=y
+# CONFIG_DSP_MAX_FFT_SIZE_8192 is not set
+# CONFIG_DSP_MAX_FFT_SIZE_16384 is not set
+# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set
+CONFIG_DSP_MAX_FFT_SIZE=4096
+# end of DSP Library
+
+#
+# mDNS
+#
+CONFIG_MDNS_MAX_INTERFACES=3
+CONFIG_MDNS_MAX_SERVICES=10
+CONFIG_MDNS_TASK_PRIORITY=1
+CONFIG_MDNS_ACTION_QUEUE_LEN=16
+CONFIG_MDNS_TASK_STACK_SIZE=2816
+CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY=y
+# CONFIG_MDNS_TASK_AFFINITY_CPU0 is not set
+# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set
+CONFIG_MDNS_TASK_AFFINITY=0x7FFFFFFF
+CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
+CONFIG_MDNS_TIMER_PERIOD_MS=100
+# CONFIG_MDNS_NETWORKING_SOCKET is not set
+# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set
+# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set
+# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set
+CONFIG_MDNS_MULTIPLE_INSTANCE=y
+
+#
+# MDNS Predefined interfaces
+#
+CONFIG_MDNS_PREDEF_NETIF_STA=y
+CONFIG_MDNS_PREDEF_NETIF_AP=y
+CONFIG_MDNS_PREDEF_NETIF_ETH=y
+# end of MDNS Predefined interfaces
+# end of mDNS
+# end of Component config
+
+# 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_ESP32_NO_BLOBS is not set
+# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS 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_APP_ROLLBACK_ENABLE=y
+# CONFIG_APP_ANTI_ROLLBACK is not set
+# CONFIG_FLASH_ENCRYPTION_ENABLED is not set
+CONFIG_FLASHMODE_QIO=y
+# CONFIG_FLASHMODE_QOUT is not set
+# CONFIG_FLASHMODE_DIO is not set
+# CONFIG_FLASHMODE_DOUT is not set
+CONFIG_MONITOR_BAUD=115200
+# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set
+# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
+# 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_ESP32_APPTRACE_DEST_TRAX is not set
+CONFIG_ESP32_APPTRACE_DEST_NONE=y
+CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
+CONFIG_ADC2_DISABLE_DAC=y
+# CONFIG_MCPWM_ISR_IN_IRAM is not set
+# CONFIG_EVENT_LOOP_PROFILING is not set
+CONFIG_POST_EVENTS_FROM_ISR=y
+# CONFIG_POST_EVENTS_FROM_IRAM_ISR is not set
+# CONFIG_OTA_ALLOW_HTTP is not set
+# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set
+CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y
+CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4
+CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
+CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y
+CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y
+# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set
+# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set
+# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set
+# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set
+# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set
+# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set
+CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
+# CONFIG_ESP32_XTAL_FREQ_26 is not set
+CONFIG_ESP32_XTAL_FREQ_40=y
+# CONFIG_ESP32_XTAL_FREQ_AUTO is not set
+CONFIG_ESP32_XTAL_FREQ=40
+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=y
+CONFIG_ESP32_REDUCE_PHY_TX_POWER=y
+CONFIG_SPIRAM_SUPPORT=y
+CONFIG_ESP32_SPIRAM_SUPPORT=y
+# CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST is not set
+# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set
+# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set
+CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
+CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
+CONFIG_TRACEMEM_RESERVE_DRAM=0x0
+# CONFIG_ESP32_PANIC_PRINT_HALT is not set
+CONFIG_ESP32_PANIC_PRINT_REBOOT=y
+# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set
+# CONFIG_ESP32_PANIC_GDBSTUB is not set
+CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
+CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
+CONFIG_MAIN_TASK_STACK_SIZE=2560
+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_INT_WDT=y
+CONFIG_INT_WDT_TIMEOUT_MS=300
+CONFIG_INT_WDT_CHECK_CPU1=y
+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_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
+# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set
+CONFIG_ESP32_DEBUG_OCDAWARE=y
+CONFIG_BROWNOUT_DET=y
+CONFIG_ESP32_BROWNOUT_DET=y
+# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set
+CONFIG_BROWNOUT_DET_LVL_SEL_4=y
+CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4=y
+# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set
+CONFIG_BROWNOUT_DET_LVL=4
+CONFIG_ESP32_BROWNOUT_DET_LVL=4
+# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set
+CONFIG_IPC_TASK_STACK_SIZE=1024
+CONFIG_TIMER_TASK_STACK_SIZE=2048
+CONFIG_ESP32_WIFI_ENABLED=y
+CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
+CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=64
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y
+CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
+CONFIG_ESP32_WIFI_CACHE_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=8
+CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP32_WIFI_RX_BA_WIN=16
+CONFIG_ESP32_WIFI_RX_BA_WIN=16
+# CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set
+CONFIG_ESP32_WIFI_NVS_ENABLED=y
+CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
+# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
+CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
+CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
+# CONFIG_ESP32_WIFI_IRAM_OPT is not set
+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_WPA_TESTING_OPTIONS 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=1536
+CONFIG_TIMER_QUEUE_LENGTH=5
+# 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=1460
+CONFIG_TCP_MSL=60000
+CONFIG_TCP_SND_BUF_DEFAULT=11680
+CONFIG_TCP_WND_DEFAULT=11680
+CONFIG_TCP_RECVMBOX_SIZE=10
+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 is not set
+CONFIG_TCPIP_TASK_AFFINITY_CPU0=y
+# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set
+CONFIG_TCPIP_TASK_AFFINITY=0x0
+# CONFIG_PPP_SUPPORT is not set
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
+# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_NONE 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_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y
+# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set
+# CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set
+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_ESP32_ULP_COPROC_ENABLED is not set
+CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y
+CONFIG_SUPPORT_TERMIOS=y
+CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1
+# End of deprecated options
diff --git a/sdkconfig_adau1961 b/sdkconfig_adau1961
index 9314ce1..bb49051 100644
--- a/sdkconfig_adau1961
+++ b/sdkconfig_adau1961
@@ -1,30 +1,280 @@
#
# Automatically generated file. DO NOT EDIT.
-# Espressif IoT Development Framework (ESP-IDF) Project Configuration
+# Espressif IoT Development Framework (ESP-IDF) 5.1.1 Project Configuration
#
+CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined"
+CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined"
+CONFIG_SOC_DPORT_WORKAROUND="Not determined"
+CONFIG_SOC_CAPS_ECO_VER_MAX=301
+CONFIG_SOC_ADC_SUPPORTED=y
+CONFIG_SOC_DAC_SUPPORTED=y
+CONFIG_SOC_UART_SUPPORTED=y
+CONFIG_SOC_MCPWM_SUPPORTED=y
+CONFIG_SOC_GPTIMER_SUPPORTED=y
+CONFIG_SOC_SDMMC_HOST_SUPPORTED=y
+CONFIG_SOC_BT_SUPPORTED=y
+CONFIG_SOC_PCNT_SUPPORTED=y
+CONFIG_SOC_WIFI_SUPPORTED=y
+CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y
+CONFIG_SOC_TWAI_SUPPORTED=y
+CONFIG_SOC_EMAC_SUPPORTED=y
+CONFIG_SOC_ULP_SUPPORTED=y
+CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
+CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
+CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
+CONFIG_SOC_RTC_MEM_SUPPORTED=y
+CONFIG_SOC_I2S_SUPPORTED=y
+CONFIG_SOC_RMT_SUPPORTED=y
+CONFIG_SOC_SDM_SUPPORTED=y
+CONFIG_SOC_GPSPI_SUPPORTED=y
+CONFIG_SOC_LEDC_SUPPORTED=y
+CONFIG_SOC_I2C_SUPPORTED=y
+CONFIG_SOC_SUPPORT_COEXISTENCE=y
+CONFIG_SOC_AES_SUPPORTED=y
+CONFIG_SOC_MPI_SUPPORTED=y
+CONFIG_SOC_SHA_SUPPORTED=y
+CONFIG_SOC_FLASH_ENC_SUPPORTED=y
+CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
+CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y
+CONFIG_SOC_BOD_SUPPORTED=y
+CONFIG_SOC_ULP_FSM_SUPPORTED=y
+CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5
+CONFIG_SOC_XTAL_SUPPORT_26M=y
+CONFIG_SOC_XTAL_SUPPORT_40M=y
+CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y
+CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
+CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
+CONFIG_SOC_ADC_DMA_SUPPORTED=y
+CONFIG_SOC_ADC_PERIPH_NUM=2
+CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10
+CONFIG_SOC_ADC_ATTEN_NUM=4
+CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2
+CONFIG_SOC_ADC_PATT_LEN_MAX=16
+CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9
+CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12
+CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2
+CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4
+CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2
+CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20
+CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9
+CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12
+CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y
+CONFIG_SOC_IDCACHE_PER_CORE=y
+CONFIG_SOC_CPU_CORES_NUM=2
+CONFIG_SOC_CPU_INTR_NUM=32
+CONFIG_SOC_CPU_HAS_FPU=y
+CONFIG_SOC_CPU_BREAKPOINTS_NUM=2
+CONFIG_SOC_CPU_WATCHPOINTS_NUM=2
+CONFIG_SOC_CPU_WATCHPOINT_SIZE=64
+CONFIG_SOC_DAC_CHAN_NUM=2
+CONFIG_SOC_DAC_RESOLUTION=8
+CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y
+CONFIG_SOC_GPIO_PORT=1
+CONFIG_SOC_GPIO_PIN_COUNT=40
+CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF
+CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA
+CONFIG_SOC_I2C_NUM=2
+CONFIG_SOC_I2C_FIFO_LEN=32
+CONFIG_SOC_I2C_CMD_REG_NUM=16
+CONFIG_SOC_I2C_SUPPORT_SLAVE=y
+CONFIG_SOC_I2C_SUPPORT_APB=y
+CONFIG_SOC_I2S_NUM=2
+CONFIG_SOC_I2S_HW_VERSION_1=y
+CONFIG_SOC_I2S_SUPPORTS_APLL=y
+CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y
+CONFIG_SOC_I2S_SUPPORTS_PDM=y
+CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y
+CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1
+CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y
+CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1
+CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y
+CONFIG_SOC_I2S_SUPPORTS_ADC=y
+CONFIG_SOC_I2S_SUPPORTS_DAC=y
+CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y
+CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y
+CONFIG_SOC_I2S_LCD_I80_VARIANT=y
+CONFIG_SOC_LCD_I80_SUPPORTED=y
+CONFIG_SOC_LCD_I80_BUSES=2
+CONFIG_SOC_LCD_I80_BUS_WIDTH=24
+CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y
+CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y
+CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y
+CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y
+CONFIG_SOC_LEDC_CHANNEL_NUM=8
+CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20
+CONFIG_SOC_MCPWM_GROUPS=2
+CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3
+CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3
+CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3
+CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y
+CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3
+CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3
+CONFIG_SOC_MMU_PERIPH_NUM=2
+CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3
+CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000
+CONFIG_SOC_MPU_REGIONS_MAX_NUM=8
+CONFIG_SOC_PCNT_GROUPS=1
+CONFIG_SOC_PCNT_UNITS_PER_GROUP=8
+CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2
+CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2
+CONFIG_SOC_RMT_GROUPS=1
+CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8
+CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8
+CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8
+CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64
+CONFIG_SOC_RMT_SUPPORT_REF_TICK=y
+CONFIG_SOC_RMT_SUPPORT_APB=y
+CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y
+CONFIG_SOC_RTCIO_PIN_COUNT=18
+CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y
+CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y
+CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y
+CONFIG_SOC_SDM_GROUPS=1
+CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8
+CONFIG_SOC_SDM_CLK_SUPPORT_APB=y
+CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y
+CONFIG_SOC_SPI_AS_CS_SUPPORTED=y
+CONFIG_SOC_SPI_PERIPH_NUM=3
+CONFIG_SOC_SPI_DMA_CHAN_NUM=2
+CONFIG_SOC_SPI_MAX_CS_NUM=3
+CONFIG_SOC_SPI_SUPPORT_CLK_APB=y
+CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64
+CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192
+CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y
+CONFIG_SOC_TIMER_GROUPS=2
+CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2
+CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64
+CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4
+CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y
+CONFIG_SOC_TOUCH_VERSION_1=y
+CONFIG_SOC_TOUCH_SENSOR_NUM=10
+CONFIG_SOC_TOUCH_PAD_MEASURE_WAIT_MAX=0xFF
+CONFIG_SOC_TWAI_CONTROLLER_NUM=1
+CONFIG_SOC_TWAI_BRP_MIN=2
+CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y
+CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y
+CONFIG_SOC_UART_NUM=3
+CONFIG_SOC_UART_SUPPORT_APB_CLK=y
+CONFIG_SOC_UART_SUPPORT_REF_TICK=y
+CONFIG_SOC_UART_FIFO_LEN=128
+CONFIG_SOC_UART_BITRATE_MAX=5000000
+CONFIG_SOC_SPIRAM_SUPPORTED=y
+CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y
+CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y
+CONFIG_SOC_SHA_SUPPORT_SHA1=y
+CONFIG_SOC_SHA_SUPPORT_SHA256=y
+CONFIG_SOC_SHA_SUPPORT_SHA384=y
+CONFIG_SOC_SHA_SUPPORT_SHA512=y
+CONFIG_SOC_RSA_MAX_BIT_LEN=4096
+CONFIG_SOC_AES_SUPPORT_AES_128=y
+CONFIG_SOC_AES_SUPPORT_AES_192=y
+CONFIG_SOC_AES_SUPPORT_AES_256=y
+CONFIG_SOC_SECURE_BOOT_V1=y
+CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
+CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
+CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
+CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y
+CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y
+CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y
+CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y
+CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y
+CONFIG_SOC_PM_SUPPORT_MODEM_PD=y
+CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y
+CONFIG_SOC_CLK_APLL_SUPPORTED=y
+CONFIG_SOC_APLL_MULTIPLIER_OUT_MIN_HZ=350000000
+CONFIG_SOC_APLL_MULTIPLIER_OUT_MAX_HZ=500000000
+CONFIG_SOC_APLL_MIN_HZ=5303031
+CONFIG_SOC_APLL_MAX_HZ=125000000
+CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y
+CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y
+CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y
+CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y
+CONFIG_SOC_SDMMC_USE_IOMUX=y
+CONFIG_SOC_SDMMC_NUM_SLOTS=2
+CONFIG_SOC_WIFI_WAPI_SUPPORT=y
+CONFIG_SOC_WIFI_CSI_SUPPORT=y
+CONFIG_SOC_WIFI_MESH_SUPPORT=y
+CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y
+CONFIG_SOC_WIFI_NAN_SUPPORT=y
+CONFIG_SOC_BLE_SUPPORTED=y
+CONFIG_SOC_BLE_MESH_SUPPORTED=y
+CONFIG_SOC_BT_CLASSIC_SUPPORTED=y
+CONFIG_SOC_BLUFI_SUPPORTED=y
+CONFIG_SOC_ULP_HAS_ADC=y
CONFIG_IDF_CMAKE=y
CONFIG_IDF_TARGET_ARCH_XTENSA=y
+CONFIG_IDF_TARGET_ARCH="xtensa"
CONFIG_IDF_TARGET="esp32"
CONFIG_IDF_TARGET_ESP32=y
CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000
-#
-# SDK tool configuration
-#
-CONFIG_SDK_TOOLPREFIX="xtensa-esp32-elf-"
-# CONFIG_SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS is not set
-# end of SDK tool configuration
-
#
# Build type
#
CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y
-# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set
+# CONFIG_APP_BUILD_TYPE_RAM is not set
CONFIG_APP_BUILD_GENERATE_BINARIES=y
CONFIG_APP_BUILD_BOOTLOADER=y
CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y
+# CONFIG_APP_REPRODUCIBLE_BUILD is not set
+# CONFIG_APP_NO_BLOBS is not set
+# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set
# end of Build type
+#
+# Bootloader config
+#
+CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000
+CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
+# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
+# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set
+# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
+CONFIG_BOOTLOADER_LOG_LEVEL_ERROR=y
+# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_INFO is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
+# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
+CONFIG_BOOTLOADER_LOG_LEVEL=1
+# CONFIG_BOOTLOADER_SPI_CUSTOM_WP_PIN is not set
+CONFIG_BOOTLOADER_SPI_WP_PIN=7
+CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
+# CONFIG_BOOTLOADER_FACTORY_RESET is not set
+# CONFIG_BOOTLOADER_APP_TEST is not set
+CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y
+CONFIG_BOOTLOADER_WDT_ENABLE=y
+# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
+CONFIG_BOOTLOADER_WDT_TIME_MS=9000
+CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
+# CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set
+# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
+CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
+# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
+CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
+# end of Bootloader config
+
+#
+# Security features
+#
+CONFIG_SECURE_BOOT_V1_SUPPORTED=y
+# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
+# CONFIG_SECURE_BOOT is not set
+# CONFIG_SECURE_FLASH_ENC_ENABLED is not set
+# end of Security features
+
#
# Application manager
#
@@ -35,55 +285,23 @@ CONFIG_APP_COMPILE_TIME_DATE=y
CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
# end of Application manager
-#
-# Bootloader config
-#
-CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x1000
-CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
-# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
-# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set
-# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set
-CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y
-# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
-CONFIG_BOOTLOADER_LOG_LEVEL=3
-# CONFIG_BOOTLOADER_SPI_CUSTOM_WP_PIN is not set
-CONFIG_BOOTLOADER_SPI_WP_PIN=7
-CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
-# CONFIG_BOOTLOADER_FACTORY_RESET is not set
-# CONFIG_BOOTLOADER_APP_TEST is not set
-CONFIG_BOOTLOADER_WDT_ENABLE=y
-# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
-CONFIG_BOOTLOADER_WDT_TIME_MS=9000
-CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
-# CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK is not set
-# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set
-# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set
-# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set
-CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0
-# CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set
-# end of Bootloader config
-
-#
-# Security features
-#
-# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
-# CONFIG_SECURE_BOOT is not set
-# CONFIG_SECURE_FLASH_ENC_ENABLED is not set
-# end of Security features
+CONFIG_ESP_ROM_HAS_CRC_LE=y
+CONFIG_ESP_ROM_HAS_CRC_BE=y
+CONFIG_ESP_ROM_HAS_MZ_CRC32=y
+CONFIG_ESP_ROM_HAS_JPEG_DECODE=y
+CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y
+CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y
+CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y
#
# Serial flasher config
#
-CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200
# CONFIG_ESPTOOLPY_NO_STUB is not set
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set
# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set
# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
+CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y
CONFIG_ESPTOOLPY_FLASHMODE="dio"
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set
@@ -95,23 +313,17 @@ CONFIG_ESPTOOLPY_FLASHFREQ="80m"
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
-CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
+# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set
CONFIG_ESPTOOLPY_BEFORE_RESET=y
# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
CONFIG_ESPTOOLPY_BEFORE="default_reset"
CONFIG_ESPTOOLPY_AFTER_RESET=y
# CONFIG_ESPTOOLPY_AFTER_NORESET is not set
CONFIG_ESPTOOLPY_AFTER="hard_reset"
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_CONSOLE is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_9600B is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_57600B is not set
-CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_230400B is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_921600B is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_2MB is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER is not set
-CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL=115200
CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
# end of Serial flasher config
@@ -119,6 +331,7 @@ CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
# Partition Table
#
# CONFIG_PARTITION_TABLE_SINGLE_APP is not set
+# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set
# CONFIG_PARTITION_TABLE_TWO_OTA is not set
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
@@ -128,7 +341,22 @@ CONFIG_PARTITION_TABLE_MD5=y
# end of Partition Table
#
-# Audio HAL
+# Snapclient Configuration
+#
+CONFIG_SNAPSERVER_USE_MDNS=y
+CONFIG_SNAPCLIENT_NAME="esp-snapclient"
+
+#
+# HTTP Server Setting
+#
+CONFIG_WEB_PORT=8000
+# end of HTTP Server Setting
+
+CONFIG_USE_SAMPLE_INSERTION=y
+# end of Snapclient Configuration
+
+#
+# Audio Board
#
CONFIG_AUDIO_BOARD_CUSTOM=y
# CONFIG_ESP_LYRAT_V4_3_BOARD is not set
@@ -138,7 +366,7 @@ CONFIG_AUDIO_BOARD_CUSTOM=y
# CONFIG_ESP_LYRAT_MINI_V1_1_BOARD is not set
# CONFIG_ESP32_KORVO_DU1906_BOARD is not set
# CONFIG_ESP32_S2_KALUGA_1_V1_2_BOARD is not set
-# end of Audio HAL
+# CONFIG_ESP_AI_THINKER_ES8388_BOARD is not set
#
# Custom Audio Board
@@ -148,6 +376,9 @@ CONFIG_AUDIO_BOARD_CUSTOM=y
# CONFIG_DAC_MA120 is not set
# CONFIG_DAC_MA120X0 is not set
CONFIG_DAC_ADAU1961=y
+# CONFIG_DAC_MAX98357 is not set
+# CONFIG_DAC_TAS5805M is not set
+# CONFIG_DAC_PT8211 is not set
#
# DAC I2C control interface
@@ -170,39 +401,36 @@ CONFIG_MASTER_I2S_DATAOUT_PIN=4
# I2S slave interface
#
CONFIG_SLAVE_I2S_BCK_PIN=26
+CONFIG_SLAVE_I2S_MCLK_PIN=0
CONFIG_SLAVE_I2S_LRCK_PIN=12
CONFIG_SLAVE_I2S_DATAOUT_PIN=5
# end of I2S slave interface
+
+#
+# Logic-Level-Settings
+#
+# CONFIG_INVERT_MCLK_LEVEL is not set
+# CONFIG_INVERT_WORD_SELECT_LEVEL is not set
+# CONFIG_INVERT_BCLK_LEVEL is not set
+# end of Logic-Level-Settings
# end of Custom Audio Board
+# end of Audio Board
#
# ESP32 DSP processor config
#
-CONFIG_USE_DSP_PROCESSOR=y
-# CONFIG_SNAPCLIENT_DSP_FLOW_STEREO is not set
-# CONFIG_SNAPCLIENT_DSP_FLOW_BASSBOOST is not set
-# CONFIG_SNAPCLIENT_DSP_FLOW_BIAMP is not set
-CONFIG_SNAPCLIENT_DSP_FLOW_BASS_TREBLE_EQ=y
-CONFIG_USE_BIQUAD_ASM=y
-# CONFIG_SNAPCLIENT_USE_SOFT_VOL is not set
+# CONFIG_USE_DSP_PROCESSOR is not set
# end of ESP32 DSP processor config
#
# Snapclient Ethernet Configuration
#
-CONFIG_SNAPCLIENT_ENABLE_ETHERNET=y
-CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET=y
-# CONFIG_SNAPCLIENT_USE_DM9051 is not set
-# CONFIG_SNAPCLIENT_USE_W5500 is not set
-# CONFIG_SNAPCLIENT_ETH_PHY_IP101 is not set
-# CONFIG_SNAPCLIENT_ETH_PHY_RTL8201 is not set
-CONFIG_SNAPCLIENT_ETH_PHY_LAN8720=y
-# CONFIG_SNAPCLIENT_ETH_PHY_DP83848 is not set
-# CONFIG_SNAPCLIENT_ETH_PHY_KSZ8041 is not set
-CONFIG_SNAPCLIENT_ETH_MDC_GPIO=23
-CONFIG_SNAPCLIENT_ETH_MDIO_GPIO=18
-CONFIG_SNAPCLIENT_ETH_PHY_RST_GPIO=17
-CONFIG_SNAPCLIENT_ETH_PHY_ADDR=0
+CONFIG_ENV_GPIO_RANGE_MIN=0
+CONFIG_ENV_GPIO_RANGE_MAX=39
+CONFIG_ENV_GPIO_IN_RANGE_MAX=39
+CONFIG_ENV_GPIO_OUT_RANGE_MAX=33
+# CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET is not set
+# CONFIG_SNAPCLIENT_USE_SPI_ETHERNET is not set
# end of Snapclient Ethernet Configuration
#
@@ -219,19 +447,6 @@ CONFIG_ENABLE_WIFI_PROVISIONING=y
CONFIG_WIFI_MAXIMUM_RETRY=0
# end of Wifi Configuration
-#
-# Snapclient Configuration
-#
-CONFIG_SNAPSERVER_USE_MDNS=y
-CONFIG_SNAPCLIENT_NAME="esp-snapclient"
-
-#
-# HTTP Server Setting
-#
-CONFIG_WEB_PORT=8000
-# end of HTTP Server Setting
-# end of Snapclient Configuration
-
#
# Compiler options
#
@@ -242,6 +457,10 @@ CONFIG_COMPILER_OPTIMIZATION_PERF=y
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set
+CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y
+CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
+# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
+CONFIG_COMPILER_HIDE_PATHS_MACROS=y
# CONFIG_COMPILER_CXX_EXCEPTIONS is not set
# CONFIG_COMPILER_CXX_RTTI is not set
CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
@@ -249,7 +468,7 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set
# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set
# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
-# CONFIG_COMPILER_DISABLE_GCC8_WARNINGS is not set
+# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set
# CONFIG_COMPILER_DUMP_RTL_FILES is not set
# end of Compiler options
@@ -260,109 +479,134 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
#
# Application Level Tracing
#
-# CONFIG_APPTRACE_DEST_TRAX is not set
+# CONFIG_APPTRACE_DEST_JTAG is not set
CONFIG_APPTRACE_DEST_NONE=y
+# CONFIG_APPTRACE_DEST_UART1 is not set
+# CONFIG_APPTRACE_DEST_UART2 is not set
+CONFIG_APPTRACE_DEST_UART_NONE=y
+CONFIG_APPTRACE_UART_TASK_PRIO=1
CONFIG_APPTRACE_LOCK_ENABLE=y
# end of Application Level Tracing
-#
-# ESP-ASIO
-#
-# CONFIG_ASIO_SSL_SUPPORT is not set
-# end of ESP-ASIO
-
#
# Bluetooth
#
# CONFIG_BT_ENABLED is not set
-CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0
-CONFIG_BTDM_CTRL_PCM_ROLE_EFF=0
-CONFIG_BTDM_CTRL_PCM_POLAR_EFF=0
-CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=0
-CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0
-CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0
-CONFIG_BTDM_CTRL_PINNED_TO_CORE=0
-CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1
-CONFIG_BT_CTRL_MODE_EFF=1
-CONFIG_BT_CTRL_BLE_MAX_ACT=10
-CONFIG_BT_CTRL_BLE_MAX_ACT_EFF=10
-CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB=0
-CONFIG_BT_CTRL_PINNED_TO_CORE=0
-CONFIG_BT_CTRL_HCI_TL=1
-CONFIG_BT_CTRL_ADV_DUP_FILT_MAX=30
-CONFIG_BT_CTRL_HW_CCA_EFF=0
-CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF=0
-CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y
-CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100
-CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20
-CONFIG_BT_CTRL_BLE_SCAN_DUPL=y
-CONFIG_BT_CTRL_SCAN_DUPL_TYPE=0
-CONFIG_BT_CTRL_SCAN_DUPL_CACHE_SIZE=100
-CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF=0
-CONFIG_BT_CTRL_SLEEP_MODE_EFF=0
-CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=0
-CONFIG_BT_CTRL_HCI_TL_EFF=1
-CONFIG_BT_RESERVE_DRAM=0
-CONFIG_BT_NIMBLE_USE_ESP_TIMER=y
# end of Bluetooth
#
-# CoAP Configuration
-#
-CONFIG_COAP_MBEDTLS_PSK=y
-# CONFIG_COAP_MBEDTLS_PKI is not set
-# CONFIG_COAP_MBEDTLS_DEBUG is not set
-CONFIG_COAP_LOG_DEFAULT_LEVEL=0
-# end of CoAP Configuration
-
-#
-# Driver configurations
+# Driver Configurations
#
#
-# ADC configuration
+# Legacy ADC Configuration
#
-# CONFIG_ADC_FORCE_XPD_FSM is not set
CONFIG_ADC_DISABLE_DAC=y
-# end of ADC configuration
+# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set
#
-# SPI configuration
+# Legacy ADC Calibration Configuration
+#
+CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y
+CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y
+CONFIG_ADC_CAL_LUT_ENABLE=y
+# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set
+# end of Legacy ADC Calibration Configuration
+# end of Legacy ADC Configuration
+
+#
+# SPI Configuration
#
-# CONFIG_SPI_MASTER_IN_IRAM is not set
CONFIG_SPI_MASTER_ISR_IN_IRAM=y
# CONFIG_SPI_SLAVE_IN_IRAM is not set
# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set
-# end of SPI configuration
+# end of SPI Configuration
#
-# TWAI configuration
+# TWAI Configuration
#
# CONFIG_TWAI_ISR_IN_IRAM is not set
# CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC is not set
# CONFIG_TWAI_ERRATA_FIX_TX_INTR_LOST is not set
# CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID is not set
# CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT is not set
-# end of TWAI configuration
+# CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM is not set
+# end of TWAI Configuration
#
-# UART configuration
+# UART Configuration
#
# CONFIG_UART_ISR_IN_IRAM is not set
-# end of UART configuration
-
-#
-# RTCIO configuration
-#
-# CONFIG_RTCIO_SUPPORT_RTC_GPIO_DESC is not set
-# end of RTCIO configuration
+# end of UART Configuration
#
# GPIO Configuration
#
# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
+# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
# end of GPIO Configuration
-# end of Driver configurations
+
+#
+# Sigma Delta Modulator Configuration
+#
+# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_SDM_ENABLE_DEBUG_LOG is not set
+# end of Sigma Delta Modulator Configuration
+
+#
+# GPTimer Configuration
+#
+# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set
+# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set
+# end of GPTimer Configuration
+
+#
+# PCNT Configuration
+#
+# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_PCNT_ISR_IRAM_SAFE is not set
+# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set
+# end of PCNT Configuration
+
+#
+# RMT Configuration
+#
+# CONFIG_RMT_ISR_IRAM_SAFE is not set
+# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_RMT_ENABLE_DEBUG_LOG is not set
+# end of RMT Configuration
+
+#
+# MCPWM Configuration
+#
+# CONFIG_MCPWM_ISR_IRAM_SAFE is not set
+# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set
+# end of MCPWM Configuration
+
+#
+# I2S Configuration
+#
+# CONFIG_I2S_ISR_IRAM_SAFE is not set
+# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_I2S_ENABLE_DEBUG_LOG is not set
+# end of I2S Configuration
+
+#
+# DAC Configuration
+#
+# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_DAC_ISR_IRAM_SAFE is not set
+# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_DAC_ENABLE_DEBUG_LOG is not set
+CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y
+# end of DAC Configuration
+# end of Driver Configurations
#
# eFuse Bit Manager
@@ -380,104 +624,38 @@ CONFIG_EFUSE_MAX_BLK_LEN=192
#
CONFIG_ESP_TLS_USING_MBEDTLS=y
# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
+# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set
# CONFIG_ESP_TLS_INSECURE is not set
# end of ESP-TLS
#
-# ESP32-specific
+# ADC and ADC Calibration
#
-CONFIG_ESP32_REV_MIN_0=y
-# CONFIG_ESP32_REV_MIN_1 is not set
-# CONFIG_ESP32_REV_MIN_2 is not set
-# CONFIG_ESP32_REV_MIN_3 is not set
-CONFIG_ESP32_REV_MIN=0
-CONFIG_ESP32_DPORT_WORKAROUND=y
-# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set
-# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set
-CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
-CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
-# CONFIG_ESP32_SPIRAM_SUPPORT is not set
-# CONFIG_ESP32_TRAX is not set
-CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0
-# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set
-CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y
-CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4
-# CONFIG_ESP32_ULP_COPROC_ENABLED is not set
-CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=0
-CONFIG_ESP32_DEBUG_OCDAWARE=y
-CONFIG_ESP32_BROWNOUT_DET=y
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set
-CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4=y
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set
-CONFIG_ESP32_BROWNOUT_DET_LVL=4
-CONFIG_ESP32_REDUCE_PHY_TX_POWER=y
-CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
-# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set
-# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set
-# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set
-CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y
-# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set
-# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set
-# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set
-CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
-CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
-CONFIG_ESP32_XTAL_FREQ_40=y
-# CONFIG_ESP32_XTAL_FREQ_26 is not set
-# CONFIG_ESP32_XTAL_FREQ_AUTO is not set
-CONFIG_ESP32_XTAL_FREQ=40
-# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set
-# CONFIG_ESP32_NO_BLOBS is not set
-# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
-# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set
-# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set
-CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5
-# end of ESP32-specific
+# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set
#
-# ADC-Calibration
+# ADC Calibration Configurations
#
-CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y
-CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y
-CONFIG_ADC_CAL_LUT_ENABLE=y
-# end of ADC-Calibration
+CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y
+CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y
+CONFIG_ADC_CALI_LUT_ENABLE=y
+# end of ADC Calibration Configurations
+
+CONFIG_ADC_DISABLE_DAC_OUTPUT=y
+# end of ADC and ADC Calibration
+
+#
+# Wireless Coexistence
+#
+# end of Wireless Coexistence
#
# Common ESP-related
#
CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
-CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
-CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
-CONFIG_ESP_MAIN_TASK_STACK_SIZE=2560
-CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
-CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
-CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
-CONFIG_ESP_CONSOLE_UART_DEFAULT=y
-# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
-# CONFIG_ESP_CONSOLE_NONE is not set
-CONFIG_ESP_CONSOLE_UART=y
-CONFIG_ESP_CONSOLE_MULTIPLE_UART=y
-CONFIG_ESP_CONSOLE_UART_NUM=0
-CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
-CONFIG_ESP_INT_WDT=y
-CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
-CONFIG_ESP_INT_WDT_CHECK_CPU1=y
-CONFIG_ESP_TASK_WDT=y
-# CONFIG_ESP_TASK_WDT_PANIC is not set
-CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
-CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
-CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
-# CONFIG_ESP_PANIC_HANDLER_IRAM is not set
-CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
# end of Common ESP-related
#
@@ -486,7 +664,6 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
CONFIG_ETH_ENABLED=y
CONFIG_ETH_USE_ESP32_EMAC=y
CONFIG_ETH_PHY_INTERFACE_RMII=y
-# CONFIG_ETH_PHY_INTERFACE_MII is not set
CONFIG_ETH_RMII_CLK_INPUT=y
# CONFIG_ETH_RMII_CLK_OUTPUT is not set
CONFIG_ETH_RMII_CLK_IN_GPIO=0
@@ -497,7 +674,9 @@ CONFIG_ETH_DMA_TX_BUFFER_NUM=5
CONFIG_ETH_USE_SPI_ETHERNET=y
# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set
# CONFIG_ETH_SPI_ETHERNET_W5500 is not set
+# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set
# CONFIG_ETH_USE_OPENETH is not set
+# CONFIG_ETH_TRANSMIT_MUTEX is not set
# end of Ethernet
#
@@ -518,6 +697,7 @@ CONFIG_ESP_EVENT_POST_FROM_ISR=y
#
CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y
# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set
+# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set
# end of ESP HTTP client
#
@@ -529,12 +709,14 @@ CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
CONFIG_HTTPD_PURGE_BUF_LEN=32
# CONFIG_HTTPD_LOG_PURGE_DATA is not set
# CONFIG_HTTPD_WS_SUPPORT is not set
+# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set
# end of HTTP Server
#
# ESP HTTPS OTA
#
-# CONFIG_OTA_ALLOW_HTTP is not set
+# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set
+# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set
# end of ESP HTTPS OTA
#
@@ -543,36 +725,240 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32
# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
# end of ESP HTTPS server
+#
+# Hardware Settings
+#
+
+#
+# Chip revision
+#
+CONFIG_ESP32_REV_MIN_0=y
+# CONFIG_ESP32_REV_MIN_1 is not set
+# CONFIG_ESP32_REV_MIN_1_1 is not set
+# CONFIG_ESP32_REV_MIN_2 is not set
+# CONFIG_ESP32_REV_MIN_3 is not set
+# CONFIG_ESP32_REV_MIN_3_1 is not set
+CONFIG_ESP32_REV_MIN=0
+CONFIG_ESP32_REV_MIN_FULL=0
+CONFIG_ESP_REV_MIN_FULL=0
+
+#
+# Maximum Supported ESP32 Revision (Rev v3.99)
+#
+CONFIG_ESP32_REV_MAX_FULL=399
+CONFIG_ESP_REV_MAX_FULL=399
+# end of Chip revision
+
+#
+# MAC Config
+#
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
+CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y
+# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set
+CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y
+CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4
+# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set
+# end of MAC Config
+
+#
+# Sleep Config
+#
+CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
+CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
+# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set
+CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000
+# end of Sleep Config
+
+#
+# RTC Clock Config
+#
+CONFIG_RTC_CLK_SRC_INT_RC=y
+# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set
+# CONFIG_RTC_CLK_SRC_EXT_OSC is not set
+# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set
+CONFIG_RTC_CLK_CAL_CYCLES=1024
+# end of RTC Clock Config
+
+#
+# Peripheral Control
+#
+CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
+# end of Peripheral Control
+
+#
+# Main XTAL Config
+#
+# CONFIG_XTAL_FREQ_26 is not set
+CONFIG_XTAL_FREQ_40=y
+# CONFIG_XTAL_FREQ_AUTO is not set
+CONFIG_XTAL_FREQ=40
+# end of Main XTAL Config
+# end of Hardware Settings
+
+#
+# LCD and Touch Panel
+#
+
+#
+# LCD Touch Drivers are maintained in the IDF Component Registry
+#
+
+#
+# LCD Peripheral Configuration
+#
+CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32
+# CONFIG_LCD_ENABLE_DEBUG_LOG is not set
+# end of LCD Peripheral Configuration
+# end of LCD and Touch Panel
+
#
# ESP NETIF Adapter
#
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
CONFIG_ESP_NETIF_TCPIP_LWIP=y
# CONFIG_ESP_NETIF_LOOPBACK is not set
-CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
+CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y
+# CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set
+# CONFIG_ESP_NETIF_L2_TAP is not set
+# CONFIG_ESP_NETIF_BRIDGE_EN is not set
# end of ESP NETIF Adapter
+#
+# Partition API Configuration
+#
+# end of Partition API Configuration
+
+#
+# PHY
+#
+CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y
+# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set
+CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20
+CONFIG_ESP_PHY_MAX_TX_POWER=20
+CONFIG_ESP_PHY_REDUCE_TX_POWER=y
+CONFIG_ESP_PHY_RF_CAL_PARTIAL=y
+# CONFIG_ESP_PHY_RF_CAL_NONE is not set
+# CONFIG_ESP_PHY_RF_CAL_FULL is not set
+CONFIG_ESP_PHY_CALIBRATION_MODE=0
+# end of PHY
+
#
# Power Management
#
# CONFIG_PM_ENABLE is not set
# end of Power Management
+#
+# ESP PSRAM
+#
+# CONFIG_SPIRAM is not set
+# end of ESP PSRAM
+
+#
+# ESP Ringbuf
+#
+# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set
+# end of ESP Ringbuf
+
#
# ESP System Settings
#
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240
+
+#
+# Memory
+#
+# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set
+
+#
+# Non-backward compatible options
+#
+# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set
+# end of Non-backward compatible options
+# end of Memory
+
+#
+# Trace memory
+#
+# CONFIG_ESP32_TRAX is not set
+CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0
+# end of Trace memory
+
# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set
-CONFIG_ESP_SYSTEM_PD_FLASH=y
+# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
+CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0
#
# Memory protection
#
# end of Memory protection
+
+CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
+CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
+CONFIG_ESP_MAIN_TASK_STACK_SIZE=3072
+CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y
+# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set
+# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set
+CONFIG_ESP_MAIN_TASK_AFFINITY=0x0
+CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
+CONFIG_ESP_CONSOLE_UART_DEFAULT=y
+# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
+# CONFIG_ESP_CONSOLE_NONE is not set
+CONFIG_ESP_CONSOLE_UART=y
+CONFIG_ESP_CONSOLE_MULTIPLE_UART=y
+CONFIG_ESP_CONSOLE_UART_NUM=0
+CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
+CONFIG_ESP_INT_WDT=y
+CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
+CONFIG_ESP_INT_WDT_CHECK_CPU1=y
+CONFIG_ESP_TASK_WDT_EN=y
+CONFIG_ESP_TASK_WDT_INIT=y
+# CONFIG_ESP_TASK_WDT_PANIC is not set
+CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
+CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
+CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
+# CONFIG_ESP_PANIC_HANDLER_IRAM is not set
+# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set
+CONFIG_ESP_DEBUG_OCDAWARE=y
+# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5 is not set
+CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y
+
+#
+# Brownout Detector
+#
+CONFIG_ESP_BROWNOUT_DET=y
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set
+CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4=y
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 is not set
+CONFIG_ESP_BROWNOUT_DET_LVL=4
+# end of Brownout Detector
+
+# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set
+CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y
# end of ESP System Settings
+#
+# IPC (Inter-Processor Call)
+#
+CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
+CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
+CONFIG_ESP_IPC_ISR_ENABLE=y
+# end of IPC (Inter-Processor Call)
+
#
# High resolution timer (esp_timer)
#
@@ -580,50 +966,69 @@ CONFIG_ESP_SYSTEM_PD_FLASH=y
CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y
CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y
CONFIG_ESP_TIMER_TASK_STACK_SIZE=2048
-# CONFIG_ESP_TIMER_IMPL_FRC2 is not set
+CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1
+# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set
+CONFIG_ESP_TIMER_TASK_AFFINITY=0x0
+CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y
+CONFIG_ESP_TIMER_ISR_AFFINITY=0x1
+CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y
+# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set
CONFIG_ESP_TIMER_IMPL_TG0_LAC=y
# end of High resolution timer (esp_timer)
#
# Wi-Fi
#
-CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
-CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=64
-CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y
-# CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER is not set
-CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0
-CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
-# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
-CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
-CONFIG_ESP32_WIFI_TX_BA_WIN=8
-CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
-CONFIG_ESP32_WIFI_RX_BA_WIN=16
-CONFIG_ESP32_WIFI_NVS_ENABLED=y
-CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
-# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
-CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
-CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_NONE is not set
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_ERROR is not set
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_WARN is not set
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_INFO is not set
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_DEBUG is not set
-CONFIG_WIFI_LOG_DEFAULT_LEVEL_VERBOSE=y
-# CONFIG_ESP32_WIFI_IRAM_OPT is not set
-CONFIG_ESP32_WIFI_RX_IRAM_OPT=y
-CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y
+CONFIG_ESP_WIFI_ENABLED=y
+CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=8
+CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=64
+CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y
+# CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER is not set
+CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0
+CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=8
+# CONFIG_ESP_WIFI_CSI_ENABLED is not set
+CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y
+CONFIG_ESP_WIFI_TX_BA_WIN=8
+CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP_WIFI_RX_BA_WIN=16
+CONFIG_ESP_WIFI_NVS_ENABLED=y
+CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y
+# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set
+CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752
+CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32
+# CONFIG_ESP_WIFI_IRAM_OPT is not set
+CONFIG_ESP_WIFI_RX_IRAM_OPT=y
+CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y
+CONFIG_ESP_WIFI_ENABLE_SAE_PK=y
+CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y
+CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y
# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
# CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set
-# end of Wi-Fi
+# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
+CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
+# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
+CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
+# CONFIG_ESP_WIFI_NAN_ENABLE is not set
+CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y
+CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
+# CONFIG_ESP_WIFI_WAPI_PSK is not set
+# CONFIG_ESP_WIFI_SUITE_B_192 is not set
+# CONFIG_ESP_WIFI_11KV_SUPPORT is not set
+# CONFIG_ESP_WIFI_MBO_SUPPORT is not set
+# CONFIG_ESP_WIFI_DPP_SUPPORT is not set
+# CONFIG_ESP_WIFI_11R_SUPPORT is not set
+# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set
#
-# PHY
+# WPS Configuration Options
#
-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
-# end of PHY
+# CONFIG_ESP_WIFI_WPS_STRICT is not set
+# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set
+# end of WPS Configuration Options
+
+# CONFIG_ESP_WIFI_DEBUG_PRINT is not set
+# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set
+# end of Wi-Fi
#
# Core dump
@@ -636,6 +1041,12 @@ CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
#
# FAT Filesystem support
#
+CONFIG_FATFS_VOLUME_COUNT=2
+CONFIG_FATFS_LFN_NONE=y
+# CONFIG_FATFS_LFN_HEAP is not set
+# CONFIG_FATFS_LFN_STACK is not set
+# CONFIG_FATFS_SECTOR_512 is not set
+CONFIG_FATFS_SECTOR_4096=y
# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set
CONFIG_FATFS_CODEPAGE_437=y
# CONFIG_FATFS_CODEPAGE_720 is not set
@@ -659,81 +1070,77 @@ CONFIG_FATFS_CODEPAGE_437=y
# CONFIG_FATFS_CODEPAGE_949 is not set
# CONFIG_FATFS_CODEPAGE_950 is not set
CONFIG_FATFS_CODEPAGE=437
-CONFIG_FATFS_LFN_NONE=y
-# CONFIG_FATFS_LFN_HEAP is not set
-# CONFIG_FATFS_LFN_STACK is not set
CONFIG_FATFS_FS_LOCK=0
CONFIG_FATFS_TIMEOUT_MS=10000
CONFIG_FATFS_PER_FILE_CACHE=y
# CONFIG_FATFS_USE_FASTSEEK is not set
+CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0
# end of FAT Filesystem support
-#
-# Modbus configuration
-#
-CONFIG_FMB_COMM_MODE_TCP_EN=y
-CONFIG_FMB_TCP_PORT_DEFAULT=502
-CONFIG_FMB_TCP_PORT_MAX_CONN=5
-CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20
-CONFIG_FMB_COMM_MODE_RTU_EN=y
-CONFIG_FMB_COMM_MODE_ASCII_EN=y
-CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=150
-CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200
-CONFIG_FMB_QUEUE_LENGTH=20
-CONFIG_FMB_PORT_TASK_STACK_SIZE=4096
-CONFIG_FMB_SERIAL_BUF_SIZE=256
-CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8
-CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000
-CONFIG_FMB_PORT_TASK_PRIO=10
-CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y
-CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233
-CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20
-CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
-CONFIG_FMB_CONTROLLER_STACK_SIZE=4096
-CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20
-CONFIG_FMB_TIMER_PORT_ENABLED=y
-CONFIG_FMB_TIMER_GROUP=0
-CONFIG_FMB_TIMER_INDEX=0
-# CONFIG_FMB_TIMER_ISR_IN_IRAM is not set
-# end of Modbus configuration
-
#
# FreeRTOS
#
+
+#
+# Kernel
+#
+# CONFIG_FREERTOS_SMP is not set
# CONFIG_FREERTOS_UNICORE is not set
-CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
-CONFIG_FREERTOS_CORETIMER_0=y
-# CONFIG_FREERTOS_CORETIMER_1 is not set
CONFIG_FREERTOS_HZ=1000
-CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y
# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
-# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
-CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
-# CONFIG_FREERTOS_ASSERT_FAIL_ABORT is not set
-# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set
-CONFIG_FREERTOS_ASSERT_DISABLE=y
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=768
-CONFIG_FREERTOS_ISR_STACKSIZE=1536
-# CONFIG_FREERTOS_LEGACY_HOOKS is not set
+# CONFIG_FREERTOS_USE_IDLE_HOOK is not set
+# CONFIG_FREERTOS_USE_TICK_HOOK is not set
CONFIG_FREERTOS_MAX_TASK_NAME_LEN=10
-CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
-# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
+CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y
CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=1536
CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=5
CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
+CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
+# end of Kernel
+
+#
+# Port
+#
+# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
+CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
+# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
-# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
-CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
-CONFIG_FREERTOS_DEBUG_OCDAWARE=y
+CONFIG_FREERTOS_ISR_STACKSIZE=1536
+CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
# CONFIG_FREERTOS_FPU_IN_ISR is not set
+CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y
+CONFIG_FREERTOS_CORETIMER_0=y
+# CONFIG_FREERTOS_CORETIMER_1 is not set
+CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y
+CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
+# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set
+# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
+CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
+# end of Port
+
+CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
+CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
+CONFIG_FREERTOS_DEBUG_OCDAWARE=y
# end of FreeRTOS
+#
+# Hardware Abstraction Layer (HAL) and Low Level (LL)
+#
+CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
+# CONFIG_HAL_ASSERTION_DISABLE is not set
+# CONFIG_HAL_ASSERTION_SILENT is not set
+# CONFIG_HAL_ASSERTION_ENABLE is not set
+CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2
+CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y
+# end of Hardware Abstraction Layer (HAL) and Low Level (LL)
+
#
# Heap memory debugging
#
@@ -743,31 +1150,31 @@ CONFIG_HEAP_POISONING_DISABLED=y
CONFIG_HEAP_TRACING_OFF=y
# CONFIG_HEAP_TRACING_STANDALONE is not set
# CONFIG_HEAP_TRACING_TOHOST is not set
+# CONFIG_HEAP_USE_HOOKS is not set
# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
+# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set
# end of Heap memory debugging
-#
-# jsmn
-#
-# CONFIG_JSMN_PARENT_LINKS is not set
-# CONFIG_JSMN_STRICT is not set
-# end of jsmn
-
-#
-# libsodium
-#
-# end of libsodium
+CONFIG_IEEE802154_CCA_THRESHOLD=-60
+CONFIG_IEEE802154_PENDING_TABLE_SIZE=20
#
# Log output
#
-# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set
+CONFIG_LOG_DEFAULT_LEVEL_NONE=y
# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set
# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set
-CONFIG_LOG_DEFAULT_LEVEL_INFO=y
+# CONFIG_LOG_DEFAULT_LEVEL_INFO is not set
# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set
# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set
-CONFIG_LOG_DEFAULT_LEVEL=3
+CONFIG_LOG_DEFAULT_LEVEL=0
+# CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT is not set
+# CONFIG_LOG_MAXIMUM_LEVEL_ERROR is not set
+# CONFIG_LOG_MAXIMUM_LEVEL_WARN is not set
+CONFIG_LOG_MAXIMUM_LEVEL_INFO=y
+# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set
+# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set
+CONFIG_LOG_MAXIMUM_LEVEL=3
CONFIG_LOG_COLORS=y
CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
@@ -777,6 +1184,9 @@ CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
# LWIP
#
CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
+# CONFIG_LWIP_NETIF_API is not set
+# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
+# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set
CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
# CONFIG_LWIP_L2_TO_L3_COPY is not set
# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
@@ -792,15 +1202,21 @@ CONFIG_LWIP_IP4_FRAG=y
CONFIG_LWIP_IP6_FRAG=y
# CONFIG_LWIP_IP4_REASSEMBLY is not set
# CONFIG_LWIP_IP6_REASSEMBLY is not set
+CONFIG_LWIP_IP_REASS_MAX_PBUFS=10
# CONFIG_LWIP_IP_FORWARD is not set
# CONFIG_LWIP_STATS is not set
-# CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set
CONFIG_LWIP_ESP_GRATUITOUS_ARP=y
CONFIG_LWIP_GARP_TMR_INTERVAL=60
+CONFIG_LWIP_ESP_MLDV6_REPORT=y
+CONFIG_LWIP_MLDV6_TMR_INTERVAL=40
CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32
CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
+CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
+CONFIG_LWIP_DHCP_OPTIONS_LEN=68
+CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0
+CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1
#
# DHCP server
@@ -811,8 +1227,12 @@ CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
# end of DHCP server
# CONFIG_LWIP_AUTOIP is not set
+CONFIG_LWIP_IPV4=y
CONFIG_LWIP_IPV6=y
# CONFIG_LWIP_IPV6_AUTOCONFIG is not set
+CONFIG_LWIP_IPV6_NUM_ADDRESSES=3
+# CONFIG_LWIP_IPV6_FORWARD is not set
+# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set
CONFIG_LWIP_NETIF_LOOPBACK=y
CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
@@ -827,12 +1247,12 @@ CONFIG_LWIP_TCP_SYNMAXRTX=12
CONFIG_LWIP_TCP_MSS=1460
CONFIG_LWIP_TCP_TMR_INTERVAL=250
CONFIG_LWIP_TCP_MSL=60000
+CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000
CONFIG_LWIP_TCP_SND_BUF_DEFAULT=11680
CONFIG_LWIP_TCP_WND_DEFAULT=11680
CONFIG_LWIP_TCP_RECVMBOX_SIZE=10
CONFIG_LWIP_TCP_QUEUE_OOSEQ=y
CONFIG_LWIP_TCP_SACK_OUT=y
-# CONFIG_LWIP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set
CONFIG_LWIP_TCP_OVERSIZE_MSS=y
# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set
# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set
@@ -881,10 +1301,12 @@ CONFIG_LWIP_MAX_RAW_PCBS=16
#
# SNTP
#
-CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1
+CONFIG_LWIP_SNTP_MAX_SERVERS=1
+# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
# end of SNTP
+CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7
CONFIG_LWIP_ESP_LWIP_ASSERT=y
#
@@ -896,9 +1318,18 @@ CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y
CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y
# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set
# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set
+CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y
+# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set
+# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set
+CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y
+# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set
+# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set
CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y
# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set
# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set
+CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y
+# CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set
+# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set
# end of Hooks
# CONFIG_LWIP_DEBUG is not set
@@ -916,6 +1347,17 @@ CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set
# CONFIG_MBEDTLS_DEBUG is not set
+#
+# mbedTLS v3.x related
+#
+# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set
+# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set
+# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set
+# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set
+CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y
+CONFIG_MBEDTLS_PKCS7_C=y
+# end of mbedTLS v3.x related
+
#
# Certificate Bundle
#
@@ -931,6 +1373,7 @@ CONFIG_MBEDTLS_ROM_MD5=y
# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set
# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set
CONFIG_MBEDTLS_HAVE_TIME=y
+# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set
# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y
CONFIG_MBEDTLS_SHA512_C=y
@@ -947,7 +1390,6 @@ CONFIG_MBEDTLS_TLS_ENABLED=y
#
# CONFIG_MBEDTLS_PSK_MODES is not set
CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
@@ -956,15 +1398,11 @@ CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
# end of TLS Key Exchange Methods
CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
-# CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set
-CONFIG_MBEDTLS_SSL_PROTO_TLS1=y
-CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y
CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
+# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set
# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set
CONFIG_MBEDTLS_SSL_ALPN=y
CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y
-CONFIG_MBEDTLS_X509_CHECK_KEY_USAGE=y
-CONFIG_MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE=y
CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y
#
@@ -973,9 +1411,6 @@ CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y
CONFIG_MBEDTLS_AES_C=y
# CONFIG_MBEDTLS_CAMELLIA_C is not set
# CONFIG_MBEDTLS_DES_C is not set
-CONFIG_MBEDTLS_RC4_DISABLED=y
-# CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT is not set
-# CONFIG_MBEDTLS_RC4_ENABLED is not set
# CONFIG_MBEDTLS_BLOWFISH_C is not set
# CONFIG_MBEDTLS_XTEA_C is not set
CONFIG_MBEDTLS_CCM_C=y
@@ -995,6 +1430,7 @@ CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
# end of Certificates
CONFIG_MBEDTLS_ECP_C=y
+# CONFIG_MBEDTLS_DHM_C is not set
CONFIG_MBEDTLS_ECDH_C=y
CONFIG_MBEDTLS_ECDSA_C=y
# CONFIG_MBEDTLS_ECJPAKE_C is not set
@@ -1019,25 +1455,11 @@ CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
# CONFIG_MBEDTLS_SECURITY_RISKS is not set
# end of mbedTLS
-#
-# mDNS
-#
-CONFIG_MDNS_MAX_SERVICES=10
-CONFIG_MDNS_TASK_PRIORITY=1
-CONFIG_MDNS_TASK_STACK_SIZE=2816
-CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY=y
-# CONFIG_MDNS_TASK_AFFINITY_CPU0 is not set
-# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set
-CONFIG_MDNS_TASK_AFFINITY=0x7FFFFFFF
-CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
-# CONFIG_MDNS_STRICT_MODE is not set
-CONFIG_MDNS_TIMER_PERIOD_MS=100
-# end of mDNS
-
#
# ESP-MQTT Configurations
#
CONFIG_MQTT_PROTOCOL_311=y
+# CONFIG_MQTT_PROTOCOL_5 is not set
CONFIG_MQTT_TRANSPORT_SSL=y
CONFIG_MQTT_TRANSPORT_WEBSOCKET=y
CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
@@ -1059,21 +1481,42 @@ CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y
# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set
CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y
# CONFIG_NEWLIB_NANO_FORMAT is not set
+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
# end of Newlib
#
# NVS
#
+# CONFIG_NVS_ASSERT_ERROR_CHECK is not set
# end of NVS
#
-# OpenSSL
+# OpenThread
#
-# CONFIG_OPENSSL_DEBUG is not set
-CONFIG_OPENSSL_ERROR_STACK=y
-# CONFIG_OPENSSL_ASSERT_DO_NOTHING is not set
-CONFIG_OPENSSL_ASSERT_EXIT=y
-# end of OpenSSL
+# CONFIG_OPENTHREAD_ENABLED is not set
+
+#
+# Thread Operational Dataset
+#
+CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP"
+CONFIG_OPENTHREAD_NETWORK_CHANNEL=15
+CONFIG_OPENTHREAD_NETWORK_PANID=0x1234
+CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe"
+CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff"
+CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53"
+# end of Thread Operational Dataset
+# end of OpenThread
+
+#
+# Protocomm
+#
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y
+# end of Protocomm
#
# PThreads
@@ -1088,6 +1531,14 @@ CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1
CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread"
# end of PThreads
+#
+# MMU Config
+#
+CONFIG_MMU_PAGE_SIZE_64KB=y
+CONFIG_MMU_PAGE_MODE="64KB"
+CONFIG_MMU_PAGE_SIZE=0x10000
+# end of MMU Config
+
#
# SPI Flash driver
#
@@ -1097,7 +1548,6 @@ CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y
# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set
# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set
-# CONFIG_SPI_FLASH_USE_LEGACY_IMPL is not set
# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set
# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
@@ -1106,14 +1556,29 @@ CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set
# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
+# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set
+
+#
+# SPI Flash behavior when brownout
+#
+CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y
+CONFIG_SPI_FLASH_BROWNOUT_RESET=y
+# end of SPI Flash behavior when brownout
#
# Auto-detect flash chips
#
+CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y
CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y
CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y
CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y
CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y
+# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set
+# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set
# end of Auto-detect flash chips
CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y
@@ -1164,25 +1629,33 @@ CONFIG_SPIFFS_USE_MTIME=y
#
CONFIG_WS_TRANSPORT=y
CONFIG_WS_BUFFER_SIZE=1024
+# CONFIG_WS_DYNAMIC_BUFFER is not set
# end of Websocket
# end of TCP Transport
#
-# TinyUSB
+# Ultra Low Power (ULP) Co-processor
#
-# end of TinyUSB
+# CONFIG_ULP_COPROC_ENABLED is not set
+# end of Ultra Low Power (ULP) Co-processor
#
# Unity unit testing library
#
CONFIG_UNITY_ENABLE_FLOAT=y
CONFIG_UNITY_ENABLE_DOUBLE=y
+# CONFIG_UNITY_ENABLE_64BIT is not set
# CONFIG_UNITY_ENABLE_COLOR is not set
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
# CONFIG_UNITY_ENABLE_FIXTURE is not set
# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set
# end of Unity unit testing library
+#
+# Root Hub configuration
+#
+# end of Root Hub configuration
+
#
# Virtual file system
#
@@ -1191,12 +1664,12 @@ CONFIG_VFS_SUPPORT_DIR=y
CONFIG_VFS_SUPPORT_SELECT=y
CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y
CONFIG_VFS_SUPPORT_TERMIOS=y
+CONFIG_VFS_MAX_COUNT=8
#
# Host File System I/O (Semihosting)
#
CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1
-CONFIG_VFS_SEMIHOSTFS_HOST_PATH_MAX_LEN=128
# end of Host File System I/O (Semihosting)
# end of Virtual file system
@@ -1213,22 +1686,26 @@ CONFIG_WL_SECTOR_SIZE=4096
#
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
+# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set
+CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
+# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set
# end of Wi-Fi Provisioning Manager
#
-# Supplicant
+# WebSocket Server
#
-CONFIG_WPA_MBEDTLS_CRYPTO=y
-# CONFIG_WPA_WAPI_PSK is not set
-# CONFIG_WPA_DEBUG_PRINT is not set
-# CONFIG_WPA_TESTING_OPTIONS is not set
-# CONFIG_WPA_WPS_STRICT is not set
-# CONFIG_WPA_11KV_SUPPORT is not set
-# end of Supplicant
+CONFIG_WEBSOCKET_SERVER_MAX_CLIENTS=1
+CONFIG_WEBSOCKET_SERVER_QUEUE_SIZE=2
+CONFIG_WEBSOCKET_SERVER_QUEUE_TIMEOUT=30
+CONFIG_WEBSOCKET_SERVER_TASK_STACK_DEPTH=3000
+CONFIG_WEBSOCKET_SERVER_TASK_PRIORITY=5
+# CONFIG_WEBSOCKET_SERVER_PINNED is not set
+# end of WebSocket Server
#
# DSP Library
#
+CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y
# CONFIG_DSP_ANSI is not set
CONFIG_DSP_OPTIMIZED=y
CONFIG_DSP_OPTIMIZATION=1
@@ -1243,32 +1720,51 @@ CONFIG_DSP_MAX_FFT_SIZE=4096
# end of DSP Library
#
-# WebSocket Server
+# mDNS
#
-CONFIG_WEBSOCKET_SERVER_MAX_CLIENTS=1
-CONFIG_WEBSOCKET_SERVER_QUEUE_SIZE=2
-CONFIG_WEBSOCKET_SERVER_QUEUE_TIMEOUT=30
-CONFIG_WEBSOCKET_SERVER_TASK_STACK_DEPTH=3000
-CONFIG_WEBSOCKET_SERVER_TASK_PRIORITY=5
-# CONFIG_WEBSOCKET_SERVER_PINNED is not set
-# end of WebSocket Server
+CONFIG_MDNS_MAX_INTERFACES=3
+CONFIG_MDNS_MAX_SERVICES=10
+CONFIG_MDNS_TASK_PRIORITY=1
+CONFIG_MDNS_ACTION_QUEUE_LEN=16
+CONFIG_MDNS_TASK_STACK_SIZE=2816
+CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY=y
+# CONFIG_MDNS_TASK_AFFINITY_CPU0 is not set
+# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set
+CONFIG_MDNS_TASK_AFFINITY=0x7FFFFFFF
+CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
+CONFIG_MDNS_TIMER_PERIOD_MS=100
+# CONFIG_MDNS_NETWORKING_SOCKET is not set
+# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set
+# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set
+CONFIG_MDNS_ENABLE_CONSOLE_CLI=y
+# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set
+CONFIG_MDNS_MULTIPLE_INSTANCE=y
+
+#
+# MDNS Predefined interfaces
+#
+CONFIG_MDNS_PREDEF_NETIF_STA=y
+CONFIG_MDNS_PREDEF_NETIF_AP=y
+CONFIG_MDNS_PREDEF_NETIF_ETH=y
+# end of MDNS Predefined interfaces
+# end of mDNS
# end of Component config
-#
-# Compatibility options
-#
-# CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set
-# end of Compatibility options
+# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set
# Deprecated options for backward compatibility
-CONFIG_TOOLPREFIX="xtensa-esp32-elf-"
+# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set
+# CONFIG_NO_BLOBS is not set
+# CONFIG_ESP32_NO_BLOBS is not set
+# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set
+CONFIG_LOG_BOOTLOADER_LEVEL_ERROR=y
# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set
-CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
+# CONFIG_LOG_BOOTLOADER_LEVEL_INFO is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
-CONFIG_LOG_BOOTLOADER_LEVEL=3
+CONFIG_LOG_BOOTLOADER_LEVEL=1
CONFIG_APP_ROLLBACK_ENABLE=y
# CONFIG_APP_ANTI_ROLLBACK is not set
# CONFIG_FLASH_ENCRYPTION_ENABLED is not set
@@ -1276,66 +1772,71 @@ CONFIG_FLASHMODE_QIO=y
# CONFIG_FLASHMODE_QOUT is not set
# CONFIG_FLASHMODE_DIO is not set
# CONFIG_FLASHMODE_DOUT is not set
-# CONFIG_MONITOR_BAUD_9600B is not set
-# CONFIG_MONITOR_BAUD_57600B is not set
-CONFIG_MONITOR_BAUD_115200B=y
-# CONFIG_MONITOR_BAUD_230400B is not set
-# CONFIG_MONITOR_BAUD_921600B is not set
-# CONFIG_MONITOR_BAUD_2MB is not set
-# CONFIG_MONITOR_BAUD_OTHER is not set
-CONFIG_MONITOR_BAUD_OTHER_VAL=115200
CONFIG_MONITOR_BAUD=115200
+# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
+# 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_DISABLE_GCC8_WARNINGS is not set
# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set
CONFIG_ESP32_APPTRACE_DEST_NONE=y
CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
-CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0
-CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0
-CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0
-CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0
CONFIG_ADC2_DISABLE_DAC=y
-# CONFIG_SPIRAM_SUPPORT is not set
-CONFIG_TRACEMEM_RESERVE_DRAM=0x0
+# CONFIG_MCPWM_ISR_IN_IRAM is not set
+# CONFIG_EVENT_LOOP_PROFILING is not set
+CONFIG_POST_EVENTS_FROM_ISR=y
+# CONFIG_POST_EVENTS_FROM_IRAM_ISR is not set
+# CONFIG_OTA_ALLOW_HTTP is not set
# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set
CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y
CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4
-# CONFIG_ULP_COPROC_ENABLED is not set
-CONFIG_ULP_COPROC_RESERVE_MEM=0
-CONFIG_BROWNOUT_DET=y
-# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
-CONFIG_BROWNOUT_DET_LVL_SEL_4=y
-# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set
-CONFIG_BROWNOUT_DET_LVL=4
-CONFIG_REDUCE_PHY_TX_POWER=y
+CONFIG_ESP_SYSTEM_PD_FLASH=y
+CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
+CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y
CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y
+# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set
# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set
+# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set
# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set
+# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set
# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set
-# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set
-# CONFIG_NO_BLOBS is not set
-# CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
+# CONFIG_ESP32_XTAL_FREQ_26 is not set
+CONFIG_ESP32_XTAL_FREQ_40=y
+# CONFIG_ESP32_XTAL_FREQ_AUTO is not set
+CONFIG_ESP32_XTAL_FREQ=40
+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=y
+CONFIG_ESP32_REDUCE_PHY_TX_POWER=y
+# CONFIG_SPIRAM_SUPPORT is not set
+# CONFIG_ESP32_SPIRAM_SUPPORT is not set
+# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set
+# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set
+CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
+CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
+CONFIG_TRACEMEM_RESERVE_DRAM=0x0
+# CONFIG_ESP32_PANIC_PRINT_HALT is not set
+CONFIG_ESP32_PANIC_PRINT_REBOOT=y
+# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set
+# CONFIG_ESP32_PANIC_GDBSTUB is not set
CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
-CONFIG_MAIN_TASK_STACK_SIZE=2560
-CONFIG_IPC_TASK_STACK_SIZE=1024
+CONFIG_MAIN_TASK_STACK_SIZE=3072
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
@@ -1344,42 +1845,80 @@ CONFIG_INT_WDT=y
CONFIG_INT_WDT_TIMEOUT_MS=300
CONFIG_INT_WDT_CHECK_CPU1=y
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_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
-# CONFIG_EVENT_LOOP_PROFILING is not set
-CONFIG_POST_EVENTS_FROM_ISR=y
-# CONFIG_POST_EVENTS_FROM_IRAM_ISR is not set
-# CONFIG_ESP32S2_PANIC_PRINT_HALT is not set
-CONFIG_ESP32S2_PANIC_PRINT_REBOOT=y
-# CONFIG_ESP32S2_PANIC_SILENT_REBOOT is not set
-# CONFIG_ESP32S2_PANIC_GDBSTUB is not set
+# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set
+CONFIG_ESP32_DEBUG_OCDAWARE=y
+CONFIG_BROWNOUT_DET=y
+CONFIG_ESP32_BROWNOUT_DET=y
+# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set
+CONFIG_BROWNOUT_DET_LVL_SEL_4=y
+CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4=y
+# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set
+CONFIG_BROWNOUT_DET_LVL=4
+CONFIG_ESP32_BROWNOUT_DET_LVL=4
+# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set
+CONFIG_IPC_TASK_STACK_SIZE=1024
CONFIG_TIMER_TASK_STACK_SIZE=2048
+CONFIG_ESP32_WIFI_ENABLED=y
+CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
+CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=64
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y
+# CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER is not set
+CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
+# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
+CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
+CONFIG_ESP32_WIFI_TX_BA_WIN=8
+CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP32_WIFI_RX_BA_WIN=16
+CONFIG_ESP32_WIFI_RX_BA_WIN=16
+CONFIG_ESP32_WIFI_NVS_ENABLED=y
+CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
+# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
+CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
+CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
+# CONFIG_ESP32_WIFI_IRAM_OPT is not set
+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_WPA_TESTING_OPTIONS 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_MB_MASTER_TIMEOUT_MS_RESPOND=150
-CONFIG_MB_MASTER_DELAY_MS_CONVERT=200
-CONFIG_MB_QUEUE_LENGTH=20
-CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096
-CONFIG_MB_SERIAL_BUF_SIZE=256
-CONFIG_MB_SERIAL_TASK_PRIO=10
-CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y
-CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233
-CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20
-CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
-CONFIG_MB_CONTROLLER_STACK_SIZE=4096
-CONFIG_MB_EVENT_QUEUE_TIMEOUT=20
-CONFIG_MB_TIMER_PORT_ENABLED=y
-CONFIG_MB_TIMER_GROUP=0
-CONFIG_MB_TIMER_INDEX=0
-# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set
CONFIG_TIMER_TASK_PRIORITY=1
CONFIG_TIMER_TASK_STACK_DEPTH=1536
CONFIG_TIMER_QUEUE_LENGTH=5
+# 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_USE_ONLY_LWIP_SELECT is not set
CONFIG_ESP_GRATUITOUS_ARP=y
CONFIG_GARP_TMR_INTERVAL=60
CONFIG_TCPIP_RECVMBOX_SIZE=32
@@ -1391,7 +1930,6 @@ CONFIG_TCP_SND_BUF_DEFAULT=11680
CONFIG_TCP_WND_DEFAULT=11680
CONFIG_TCP_RECVMBOX_SIZE=10
CONFIG_TCP_QUEUE_OOSEQ=y
-# CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set
CONFIG_TCP_OVERSIZE_MSS=y
# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set
# CONFIG_TCP_OVERSIZE_DISABLE is not set
@@ -1402,6 +1940,12 @@ CONFIG_TCPIP_TASK_AFFINITY_CPU0=y
# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set
CONFIG_TCPIP_TASK_AFFINITY=0x0
# CONFIG_PPP_SUPPORT is not set
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
+# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set
CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
CONFIG_ESP32_PTHREAD_STACK_MIN=768
@@ -1413,8 +1957,8 @@ 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_ESP32_ULP_COPROC_ENABLED is not set
CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y
CONFIG_SUPPORT_TERMIOS=y
CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1
-CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN=128
# End of deprecated options
diff --git a/sdkconfig_lyrat_v4.3 b/sdkconfig_lyrat_v4.3
index e258305..b075dd2 100644
--- a/sdkconfig_lyrat_v4.3
+++ b/sdkconfig_lyrat_v4.3
@@ -1,40 +1,235 @@
#
# Automatically generated file. DO NOT EDIT.
-# Espressif IoT Development Framework (ESP-IDF) Project Configuration
+# Espressif IoT Development Framework (ESP-IDF) 5.1.0 Project Configuration
#
+CONFIG_SOC_BROWNOUT_RESET_SUPPORTED="Not determined"
+CONFIG_SOC_TWAI_BRP_DIV_SUPPORTED="Not determined"
+CONFIG_SOC_DPORT_WORKAROUND="Not determined"
+CONFIG_SOC_CAPS_ECO_VER_MAX=301
+CONFIG_SOC_ADC_SUPPORTED=y
+CONFIG_SOC_DAC_SUPPORTED=y
+CONFIG_SOC_UART_SUPPORTED=y
+CONFIG_SOC_MCPWM_SUPPORTED=y
+CONFIG_SOC_GPTIMER_SUPPORTED=y
+CONFIG_SOC_SDMMC_HOST_SUPPORTED=y
+CONFIG_SOC_BT_SUPPORTED=y
+CONFIG_SOC_PCNT_SUPPORTED=y
+CONFIG_SOC_WIFI_SUPPORTED=y
+CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y
+CONFIG_SOC_TWAI_SUPPORTED=y
+CONFIG_SOC_EMAC_SUPPORTED=y
+CONFIG_SOC_ULP_SUPPORTED=y
+CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y
+CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y
+CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y
+CONFIG_SOC_RTC_MEM_SUPPORTED=y
+CONFIG_SOC_I2S_SUPPORTED=y
+CONFIG_SOC_RMT_SUPPORTED=y
+CONFIG_SOC_SDM_SUPPORTED=y
+CONFIG_SOC_GPSPI_SUPPORTED=y
+CONFIG_SOC_LEDC_SUPPORTED=y
+CONFIG_SOC_I2C_SUPPORTED=y
+CONFIG_SOC_SUPPORT_COEXISTENCE=y
+CONFIG_SOC_AES_SUPPORTED=y
+CONFIG_SOC_MPI_SUPPORTED=y
+CONFIG_SOC_SHA_SUPPORTED=y
+CONFIG_SOC_FLASH_ENC_SUPPORTED=y
+CONFIG_SOC_SECURE_BOOT_SUPPORTED=y
+CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y
+CONFIG_SOC_BOD_SUPPORTED=y
+CONFIG_SOC_ULP_FSM_SUPPORTED=y
+CONFIG_SOC_DPORT_WORKAROUND_DIS_INTERRUPT_LVL=5
+CONFIG_SOC_XTAL_SUPPORT_26M=y
+CONFIG_SOC_XTAL_SUPPORT_40M=y
+CONFIG_SOC_XTAL_SUPPORT_AUTO_DETECT=y
+CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y
+CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y
+CONFIG_SOC_ADC_DMA_SUPPORTED=y
+CONFIG_SOC_ADC_PERIPH_NUM=2
+CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10
+CONFIG_SOC_ADC_ATTEN_NUM=4
+CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2
+CONFIG_SOC_ADC_PATT_LEN_MAX=16
+CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=9
+CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12
+CONFIG_SOC_ADC_DIGI_RESULT_BYTES=2
+CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4
+CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=2
+CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=20
+CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=9
+CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12
+CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y
+CONFIG_SOC_CPU_CORES_NUM=2
+CONFIG_SOC_CPU_INTR_NUM=32
+CONFIG_SOC_CPU_HAS_FPU=y
+CONFIG_SOC_CPU_BREAKPOINTS_NUM=2
+CONFIG_SOC_CPU_WATCHPOINTS_NUM=2
+CONFIG_SOC_CPU_WATCHPOINT_SIZE=64
+CONFIG_SOC_DAC_CHAN_NUM=2
+CONFIG_SOC_DAC_RESOLUTION=8
+CONFIG_SOC_DAC_DMA_16BIT_ALIGN=y
+CONFIG_SOC_GPIO_PORT=1
+CONFIG_SOC_GPIO_PIN_COUNT=40
+CONFIG_SOC_GPIO_VALID_GPIO_MASK=0xFFFFFFFFFF
+CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0xEF0FEA
+CONFIG_SOC_I2C_NUM=2
+CONFIG_SOC_I2C_FIFO_LEN=32
+CONFIG_SOC_I2C_SUPPORT_SLAVE=y
+CONFIG_SOC_I2C_SUPPORT_APB=y
+CONFIG_SOC_I2S_NUM=2
+CONFIG_SOC_I2S_HW_VERSION_1=y
+CONFIG_SOC_I2S_SUPPORTS_APLL=y
+CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y
+CONFIG_SOC_I2S_SUPPORTS_PDM=y
+CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y
+CONFIG_SOC_I2S_PDM_MAX_TX_LINES=1
+CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y
+CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1
+CONFIG_SOC_I2S_SUPPORTS_ADC_DAC=y
+CONFIG_SOC_I2S_SUPPORTS_ADC=y
+CONFIG_SOC_I2S_SUPPORTS_DAC=y
+CONFIG_SOC_I2S_SUPPORTS_LCD_CAMERA=y
+CONFIG_SOC_I2S_TRANS_SIZE_ALIGN_WORD=y
+CONFIG_SOC_I2S_LCD_I80_VARIANT=y
+CONFIG_SOC_LCD_I80_SUPPORTED=y
+CONFIG_SOC_LCD_I80_BUSES=2
+CONFIG_SOC_LCD_I80_BUS_WIDTH=24
+CONFIG_SOC_LEDC_HAS_TIMER_SPECIFIC_MUX=y
+CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y
+CONFIG_SOC_LEDC_SUPPORT_REF_TICK=y
+CONFIG_SOC_LEDC_SUPPORT_HS_MODE=y
+CONFIG_SOC_LEDC_CHANNEL_NUM=8
+CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20
+CONFIG_SOC_MCPWM_GROUPS=2
+CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3
+CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3
+CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2
+CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3
+CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y
+CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3
+CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3
+CONFIG_SOC_MMU_PERIPH_NUM=2
+CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=3
+CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000
+CONFIG_SOC_MPU_REGIONS_MAX_NUM=8
+CONFIG_SOC_PCNT_GROUPS=1
+CONFIG_SOC_PCNT_UNITS_PER_GROUP=8
+CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2
+CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2
+CONFIG_SOC_RMT_GROUPS=1
+CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=8
+CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=8
+CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8
+CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=64
+CONFIG_SOC_RMT_SUPPORT_REF_TICK=y
+CONFIG_SOC_RMT_SUPPORT_APB=y
+CONFIG_SOC_RMT_CHANNEL_CLK_INDEPENDENT=y
+CONFIG_SOC_RTCIO_PIN_COUNT=18
+CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y
+CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y
+CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y
+CONFIG_SOC_SDM_GROUPS=1
+CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8
+CONFIG_SOC_SDM_CLK_SUPPORT_APB=y
+CONFIG_SOC_SPI_HD_BOTH_INOUT_SUPPORTED=y
+CONFIG_SOC_SPI_AS_CS_SUPPORTED=y
+CONFIG_SOC_SPI_PERIPH_NUM=3
+CONFIG_SOC_SPI_DMA_CHAN_NUM=2
+CONFIG_SOC_SPI_MAX_CS_NUM=3
+CONFIG_SOC_SPI_SUPPORT_CLK_APB=y
+CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64
+CONFIG_SOC_SPI_MAX_PRE_DIVIDER=8192
+CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_26M_SUPPORTED=y
+CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y
+CONFIG_SOC_TIMER_GROUPS=2
+CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2
+CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=64
+CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4
+CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y
+CONFIG_SOC_TOUCH_VERSION_1=y
+CONFIG_SOC_TOUCH_SENSOR_NUM=10
+CONFIG_SOC_TOUCH_PAD_MEASURE_WAIT_MAX=0xFF
+CONFIG_SOC_TWAI_CONTROLLER_NUM=1
+CONFIG_SOC_TWAI_BRP_MIN=2
+CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y
+CONFIG_SOC_TWAI_SUPPORT_MULTI_ADDRESS_LAYOUT=y
+CONFIG_SOC_UART_NUM=3
+CONFIG_SOC_UART_SUPPORT_APB_CLK=y
+CONFIG_SOC_UART_SUPPORT_REF_TICK=y
+CONFIG_SOC_UART_FIFO_LEN=128
+CONFIG_SOC_UART_BITRATE_MAX=5000000
+CONFIG_SOC_SPIRAM_SUPPORTED=y
+CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y
+CONFIG_SOC_SHA_SUPPORT_PARALLEL_ENG=y
+CONFIG_SOC_SHA_SUPPORT_SHA1=y
+CONFIG_SOC_SHA_SUPPORT_SHA256=y
+CONFIG_SOC_SHA_SUPPORT_SHA384=y
+CONFIG_SOC_SHA_SUPPORT_SHA512=y
+CONFIG_SOC_RSA_MAX_BIT_LEN=4096
+CONFIG_SOC_AES_SUPPORT_AES_128=y
+CONFIG_SOC_AES_SUPPORT_AES_192=y
+CONFIG_SOC_AES_SUPPORT_AES_256=y
+CONFIG_SOC_SECURE_BOOT_V1=y
+CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=y
+CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32
+CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21
+CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y
+CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y
+CONFIG_SOC_PM_SUPPORT_RTC_FAST_MEM_PD=y
+CONFIG_SOC_PM_SUPPORT_RTC_SLOW_MEM_PD=y
+CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y
+CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y
+CONFIG_SOC_PM_SUPPORT_MODEM_PD=y
+CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y
+CONFIG_SOC_CLK_APLL_SUPPORTED=y
+CONFIG_SOC_APLL_MULTIPLIER_OUT_MIN_HZ=350000000
+CONFIG_SOC_APLL_MULTIPLIER_OUT_MAX_HZ=500000000
+CONFIG_SOC_APLL_MIN_HZ=5303031
+CONFIG_SOC_APLL_MAX_HZ=125000000
+CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y
+CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y
+CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y
+CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y
+CONFIG_SOC_SDMMC_USE_IOMUX=y
+CONFIG_SOC_SDMMC_NUM_SLOTS=2
+CONFIG_SOC_WIFI_WAPI_SUPPORT=y
+CONFIG_SOC_WIFI_CSI_SUPPORT=y
+CONFIG_SOC_WIFI_MESH_SUPPORT=y
+CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y
+CONFIG_SOC_WIFI_NAN_SUPPORT=y
+CONFIG_SOC_BLE_SUPPORTED=y
+CONFIG_SOC_BLE_MESH_SUPPORTED=y
+CONFIG_SOC_BT_CLASSIC_SUPPORTED=y
+CONFIG_SOC_BLUFI_SUPPORTED=y
+CONFIG_SOC_ULP_HAS_ADC=y
CONFIG_IDF_CMAKE=y
CONFIG_IDF_TARGET_ARCH_XTENSA=y
+CONFIG_IDF_TARGET_ARCH="xtensa"
CONFIG_IDF_TARGET="esp32"
CONFIG_IDF_TARGET_ESP32=y
CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000
-#
-# SDK tool configuration
-#
-CONFIG_SDK_TOOLPREFIX="xtensa-esp32-elf-"
-# CONFIG_SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS is not set
-# end of SDK tool configuration
-
#
# Build type
#
CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y
-# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set
+# CONFIG_APP_BUILD_TYPE_RAM is not set
CONFIG_APP_BUILD_GENERATE_BINARIES=y
CONFIG_APP_BUILD_BOOTLOADER=y
CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y
+# CONFIG_APP_REPRODUCIBLE_BUILD is not set
+# CONFIG_APP_NO_BLOBS is not set
+# CONFIG_APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+# CONFIG_APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set
# end of Build type
-#
-# Application manager
-#
-CONFIG_APP_COMPILE_TIME_DATE=y
-# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set
-# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set
-# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set
-CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
-# end of Application manager
-
#
# Bootloader config
#
@@ -44,17 +239,18 @@ CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set
# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
-# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set
+CONFIG_BOOTLOADER_LOG_LEVEL_ERROR=y
# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set
-CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y
+# CONFIG_BOOTLOADER_LOG_LEVEL_INFO is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
-CONFIG_BOOTLOADER_LOG_LEVEL=3
+CONFIG_BOOTLOADER_LOG_LEVEL=1
# CONFIG_BOOTLOADER_SPI_CUSTOM_WP_PIN is not set
CONFIG_BOOTLOADER_SPI_WP_PIN=7
CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
# CONFIG_BOOTLOADER_FACTORY_RESET is not set
# CONFIG_BOOTLOADER_APP_TEST is not set
+CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y
CONFIG_BOOTLOADER_WDT_ENABLE=y
# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set
CONFIG_BOOTLOADER_WDT_TIME_MS=9000
@@ -71,20 +267,39 @@ CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y
#
# Security features
#
+CONFIG_SECURE_BOOT_V1_SUPPORTED=y
# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set
# CONFIG_SECURE_BOOT is not set
# CONFIG_SECURE_FLASH_ENC_ENABLED is not set
# end of Security features
+#
+# Application manager
+#
+CONFIG_APP_COMPILE_TIME_DATE=y
+# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set
+# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set
+# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set
+CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16
+# end of Application manager
+
+CONFIG_ESP_ROM_HAS_CRC_LE=y
+CONFIG_ESP_ROM_HAS_CRC_BE=y
+CONFIG_ESP_ROM_HAS_MZ_CRC32=y
+CONFIG_ESP_ROM_HAS_JPEG_DECODE=y
+CONFIG_ESP_ROM_HAS_UART_BUF_SWITCH=y
+CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y
+CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y
+
#
# Serial flasher config
#
-CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200
# CONFIG_ESPTOOLPY_NO_STUB is not set
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set
# CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set
# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set
+CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y
CONFIG_ESPTOOLPY_FLASHMODE="dio"
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set
@@ -96,23 +311,17 @@ CONFIG_ESPTOOLPY_FLASHFREQ="80m"
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
+# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
-CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y
+# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set
CONFIG_ESPTOOLPY_BEFORE_RESET=y
# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set
CONFIG_ESPTOOLPY_BEFORE="default_reset"
CONFIG_ESPTOOLPY_AFTER_RESET=y
# CONFIG_ESPTOOLPY_AFTER_NORESET is not set
CONFIG_ESPTOOLPY_AFTER="hard_reset"
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_CONSOLE is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_9600B is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_57600B is not set
-CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_230400B is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_921600B is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_2MB is not set
-# CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER is not set
-CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL=115200
CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
# end of Serial flasher config
@@ -120,6 +329,7 @@ CONFIG_ESPTOOLPY_MONITOR_BAUD=115200
# Partition Table
#
# CONFIG_PARTITION_TABLE_SINGLE_APP is not set
+# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set
# CONFIG_PARTITION_TABLE_TWO_OTA is not set
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
@@ -128,47 +338,6 @@ CONFIG_PARTITION_TABLE_OFFSET=0x8000
CONFIG_PARTITION_TABLE_MD5=y
# end of Partition Table
-#
-# Audio HAL
-#
-# CONFIG_AUDIO_BOARD_CUSTOM is not set
-CONFIG_ESP_LYRAT_V4_3_BOARD=y
-# CONFIG_ESP_LYRAT_V4_2_BOARD is not set
-# CONFIG_ESP_LYRATD_MSC_V2_1_BOARD is not set
-# CONFIG_ESP_LYRATD_MSC_V2_2_BOARD is not set
-# CONFIG_ESP_LYRAT_MINI_V1_1_BOARD is not set
-# CONFIG_ESP32_KORVO_DU1906_BOARD is not set
-# CONFIG_ESP32_S2_KALUGA_1_V1_2_BOARD is not set
-# end of Audio HAL
-
-#
-# ESP32 DSP processor config
-#
-# CONFIG_USE_DSP_PROCESSOR is not set
-# end of ESP32 DSP processor config
-
-#
-# Snapclient Ethernet Configuration
-#
-# CONFIG_SNAPCLIENT_ENABLE_ETHERNET is not set
-# end of Snapclient Ethernet Configuration
-
-#
-# SNTP Configuration
-#
-CONFIG_SNTP_TIMEZONE="UTC"
-CONFIG_SNTP_SERVER="pool.ntp.org"
-# end of SNTP Configuration
-
-#
-# Wifi Configuration
-#
-# CONFIG_ENABLE_WIFI_PROVISIONING is not set
-CONFIG_WIFI_SSID="zuhause"
-CONFIG_WIFI_PASSWORD="dErtischlEr"
-CONFIG_WIFI_MAXIMUM_RETRY=0
-# end of Wifi Configuration
-
#
# Snapclient Configuration
#
@@ -180,8 +349,55 @@ CONFIG_SNAPCLIENT_NAME="esp-snapclient"
#
CONFIG_WEB_PORT=8000
# end of HTTP Server Setting
+
+CONFIG_USE_SAMPLE_INSERTION=y
# end of Snapclient Configuration
+#
+# Audio Board
+#
+# CONFIG_AUDIO_BOARD_CUSTOM is not set
+CONFIG_ESP_LYRAT_V4_3_BOARD=y
+# CONFIG_ESP_LYRAT_V4_2_BOARD is not set
+# CONFIG_ESP_LYRATD_MSC_V2_1_BOARD is not set
+# CONFIG_ESP_LYRATD_MSC_V2_2_BOARD is not set
+# CONFIG_ESP_LYRAT_MINI_V1_1_BOARD is not set
+# CONFIG_ESP32_KORVO_DU1906_BOARD is not set
+# CONFIG_ESP32_S2_KALUGA_1_V1_2_BOARD is not set
+# CONFIG_ESP_AI_THINKER_ES8388_BOARD is not set
+# end of Audio Board
+
+#
+# ESP32 DSP processor config
+#
+# CONFIG_USE_DSP_PROCESSOR is not set
+# end of ESP32 DSP processor config
+
+#
+# Snapclient Ethernet Configuration
+#
+CONFIG_ENV_GPIO_RANGE_MIN=0
+CONFIG_ENV_GPIO_RANGE_MAX=39
+CONFIG_ENV_GPIO_IN_RANGE_MAX=39
+CONFIG_ENV_GPIO_OUT_RANGE_MAX=33
+# CONFIG_SNAPCLIENT_USE_INTERNAL_ETHERNET is not set
+# CONFIG_SNAPCLIENT_USE_SPI_ETHERNET is not set
+# end of Snapclient Ethernet Configuration
+
+#
+# SNTP Configuration
+#
+CONFIG_SNTP_TIMEZONE="UTC"
+CONFIG_SNTP_SERVER="pool.ntp.org"
+# end of SNTP Configuration
+
+#
+# Wifi Configuration
+#
+CONFIG_ENABLE_WIFI_PROVISIONING=y
+CONFIG_WIFI_MAXIMUM_RETRY=0
+# end of Wifi Configuration
+
#
# Compiler options
#
@@ -192,6 +408,10 @@ CONFIG_COMPILER_OPTIMIZATION_PERF=y
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set
+CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y
+CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2
+# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set
+CONFIG_COMPILER_HIDE_PATHS_MACROS=y
# CONFIG_COMPILER_CXX_EXCEPTIONS is not set
# CONFIG_COMPILER_CXX_RTTI is not set
CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
@@ -199,7 +419,7 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set
# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set
# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
-# CONFIG_COMPILER_DISABLE_GCC8_WARNINGS is not set
+# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set
# CONFIG_COMPILER_DUMP_RTL_FILES is not set
# end of Compiler options
@@ -212,15 +432,13 @@ CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
#
# CONFIG_APPTRACE_DEST_JTAG is not set
CONFIG_APPTRACE_DEST_NONE=y
+# CONFIG_APPTRACE_DEST_UART1 is not set
+# CONFIG_APPTRACE_DEST_UART2 is not set
+CONFIG_APPTRACE_DEST_UART_NONE=y
+CONFIG_APPTRACE_UART_TASK_PRIO=1
CONFIG_APPTRACE_LOCK_ENABLE=y
# end of Application Level Tracing
-#
-# ESP-ASIO
-#
-# CONFIG_ASIO_SSL_SUPPORT is not set
-# end of ESP-ASIO
-
#
# Bluetooth
#
@@ -228,36 +446,35 @@ CONFIG_APPTRACE_LOCK_ENABLE=y
# end of Bluetooth
#
-# CoAP Configuration
-#
-CONFIG_COAP_MBEDTLS_PSK=y
-# CONFIG_COAP_MBEDTLS_PKI is not set
-# CONFIG_COAP_MBEDTLS_DEBUG is not set
-CONFIG_COAP_LOG_DEFAULT_LEVEL=0
-# end of CoAP Configuration
-
-#
-# Driver configurations
+# Driver Configurations
#
#
-# ADC configuration
+# Legacy ADC Configuration
#
-# CONFIG_ADC_FORCE_XPD_FSM is not set
CONFIG_ADC_DISABLE_DAC=y
-# end of ADC configuration
+# CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set
#
-# SPI configuration
+# Legacy ADC Calibration Configuration
+#
+CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y
+CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y
+CONFIG_ADC_CAL_LUT_ENABLE=y
+# CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set
+# end of Legacy ADC Calibration Configuration
+# end of Legacy ADC Configuration
+
+#
+# SPI Configuration
#
-# CONFIG_SPI_MASTER_IN_IRAM is not set
CONFIG_SPI_MASTER_ISR_IN_IRAM=y
# CONFIG_SPI_SLAVE_IN_IRAM is not set
# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set
-# end of SPI configuration
+# end of SPI Configuration
#
-# TWAI configuration
+# TWAI Configuration
#
# CONFIG_TWAI_ISR_IN_IRAM is not set
# CONFIG_TWAI_ERRATA_FIX_BUS_OFF_REC is not set
@@ -265,26 +482,82 @@ CONFIG_SPI_MASTER_ISR_IN_IRAM=y
# CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID is not set
# CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT is not set
# CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM is not set
-# end of TWAI configuration
+# end of TWAI Configuration
#
-# UART configuration
+# UART Configuration
#
# CONFIG_UART_ISR_IN_IRAM is not set
-# end of UART configuration
-
-#
-# RTCIO configuration
-#
-# CONFIG_RTCIO_SUPPORT_RTC_GPIO_DESC is not set
-# end of RTCIO configuration
+# end of UART Configuration
#
# GPIO Configuration
#
# CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL is not set
+# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set
# end of GPIO Configuration
-# end of Driver configurations
+
+#
+# Sigma Delta Modulator Configuration
+#
+# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_SDM_ENABLE_DEBUG_LOG is not set
+# end of Sigma Delta Modulator Configuration
+
+#
+# GPTimer Configuration
+#
+# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set
+# CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set
+# end of GPTimer Configuration
+
+#
+# PCNT Configuration
+#
+# CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_PCNT_ISR_IRAM_SAFE is not set
+# CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_PCNT_ENABLE_DEBUG_LOG is not set
+# end of PCNT Configuration
+
+#
+# RMT Configuration
+#
+# CONFIG_RMT_ISR_IRAM_SAFE is not set
+# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_RMT_ENABLE_DEBUG_LOG is not set
+# end of RMT Configuration
+
+#
+# MCPWM Configuration
+#
+# CONFIG_MCPWM_ISR_IRAM_SAFE is not set
+# CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set
+# end of MCPWM Configuration
+
+#
+# I2S Configuration
+#
+# CONFIG_I2S_ISR_IRAM_SAFE is not set
+# CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_I2S_ENABLE_DEBUG_LOG is not set
+# end of I2S Configuration
+
+#
+# DAC Configuration
+#
+# CONFIG_DAC_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_DAC_ISR_IRAM_SAFE is not set
+# CONFIG_DAC_SUPPRESS_DEPRECATE_WARN is not set
+# CONFIG_DAC_ENABLE_DEBUG_LOG is not set
+CONFIG_DAC_DMA_AUTO_16BIT_ALIGN=y
+# end of DAC Configuration
+# end of Driver Configurations
#
# eFuse Bit Manager
@@ -302,111 +575,38 @@ CONFIG_EFUSE_MAX_BLK_LEN=192
#
CONFIG_ESP_TLS_USING_MBEDTLS=y
# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set
+# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set
# CONFIG_ESP_TLS_SERVER is not set
# CONFIG_ESP_TLS_PSK_VERIFICATION is not set
# CONFIG_ESP_TLS_INSECURE is not set
# end of ESP-TLS
#
-# ESP32-specific
+# ADC and ADC Calibration
#
-CONFIG_ESP32_REV_MIN_0=y
-# CONFIG_ESP32_REV_MIN_1 is not set
-# CONFIG_ESP32_REV_MIN_1_1 is not set
-# CONFIG_ESP32_REV_MIN_2 is not set
-# CONFIG_ESP32_REV_MIN_3 is not set
-# CONFIG_ESP32_REV_MIN_3_1 is not set
-CONFIG_ESP32_REV_MIN=0
-CONFIG_ESP32_REV_MIN_FULL=0
-CONFIG_ESP_REV_MIN_FULL=0
-CONFIG_ESP32_REV_MAX_FULL_STR_OPT=y
-CONFIG_ESP32_REV_MAX_FULL=399
-CONFIG_ESP_REV_MAX_FULL=399
-CONFIG_ESP32_DPORT_WORKAROUND=y
-# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set
-# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set
-CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
-CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
-# CONFIG_ESP32_SPIRAM_SUPPORT is not set
-# CONFIG_ESP32_TRAX is not set
-CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0
-# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set
-CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y
-CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4
-# CONFIG_ESP32_ULP_COPROC_ENABLED is not set
-CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=0
-CONFIG_ESP32_DEBUG_OCDAWARE=y
-CONFIG_ESP32_BROWNOUT_DET=y
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set
-CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4=y
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set
-# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set
-CONFIG_ESP32_BROWNOUT_DET_LVL=4
-CONFIG_ESP32_REDUCE_PHY_TX_POWER=y
-CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
-# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set
-# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set
-# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set
-CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y
-# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set
-# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set
-# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set
-CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
-CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
-CONFIG_ESP32_XTAL_FREQ_40=y
-# CONFIG_ESP32_XTAL_FREQ_26 is not set
-# CONFIG_ESP32_XTAL_FREQ_AUTO is not set
-CONFIG_ESP32_XTAL_FREQ=40
-# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set
-# CONFIG_ESP32_NO_BLOBS is not set
-# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
-# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set
-# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set
-CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5
-# end of ESP32-specific
+# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set
+# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set
#
-# ADC-Calibration
+# ADC Calibration Configurations
#
-CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y
-CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y
-CONFIG_ADC_CAL_LUT_ENABLE=y
-# end of ADC-Calibration
+CONFIG_ADC_CALI_EFUSE_TP_ENABLE=y
+CONFIG_ADC_CALI_EFUSE_VREF_ENABLE=y
+CONFIG_ADC_CALI_LUT_ENABLE=y
+# end of ADC Calibration Configurations
+
+CONFIG_ADC_DISABLE_DAC_OUTPUT=y
+# end of ADC and ADC Calibration
+
+#
+# Wireless Coexistence
+#
+# end of Wireless Coexistence
#
# Common ESP-related
#
CONFIG_ESP_ERR_TO_NAME_LOOKUP=y
-CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
-CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
-CONFIG_ESP_MAIN_TASK_STACK_SIZE=2560
-CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
-CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
-CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
-CONFIG_ESP_CONSOLE_UART_DEFAULT=y
-# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
-# CONFIG_ESP_CONSOLE_NONE is not set
-CONFIG_ESP_CONSOLE_UART=y
-CONFIG_ESP_CONSOLE_MULTIPLE_UART=y
-CONFIG_ESP_CONSOLE_UART_NUM=0
-CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
-CONFIG_ESP_INT_WDT=y
-CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
-CONFIG_ESP_INT_WDT_CHECK_CPU1=y
-CONFIG_ESP_TASK_WDT=y
-# CONFIG_ESP_TASK_WDT_PANIC is not set
-CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
-CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
-CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
-# CONFIG_ESP_PANIC_HANDLER_IRAM is not set
-CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
-CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
# end of Common ESP-related
#
@@ -415,7 +615,6 @@ CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
CONFIG_ETH_ENABLED=y
CONFIG_ETH_USE_ESP32_EMAC=y
CONFIG_ETH_PHY_INTERFACE_RMII=y
-# CONFIG_ETH_PHY_INTERFACE_MII is not set
CONFIG_ETH_RMII_CLK_INPUT=y
# CONFIG_ETH_RMII_CLK_OUTPUT is not set
CONFIG_ETH_RMII_CLK_IN_GPIO=0
@@ -426,7 +625,9 @@ CONFIG_ETH_DMA_TX_BUFFER_NUM=5
CONFIG_ETH_USE_SPI_ETHERNET=y
# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set
# CONFIG_ETH_SPI_ETHERNET_W5500 is not set
+# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set
# CONFIG_ETH_USE_OPENETH is not set
+# CONFIG_ETH_TRANSMIT_MUTEX is not set
# end of Ethernet
#
@@ -447,6 +648,7 @@ CONFIG_ESP_EVENT_POST_FROM_ISR=y
#
CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y
# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set
+# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set
# end of ESP HTTP client
#
@@ -458,12 +660,14 @@ CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
CONFIG_HTTPD_PURGE_BUF_LEN=32
# CONFIG_HTTPD_LOG_PURGE_DATA is not set
# CONFIG_HTTPD_WS_SUPPORT is not set
+# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set
# end of HTTP Server
#
# ESP HTTPS OTA
#
-# CONFIG_OTA_ALLOW_HTTP is not set
+# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set
+# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set
# end of ESP HTTPS OTA
#
@@ -472,42 +676,241 @@ CONFIG_HTTPD_PURGE_BUF_LEN=32
# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
# end of ESP HTTPS server
+#
+# Hardware Settings
+#
+
+#
+# Chip revision
+#
+CONFIG_ESP32_REV_MIN_0=y
+# CONFIG_ESP32_REV_MIN_1 is not set
+# CONFIG_ESP32_REV_MIN_1_1 is not set
+# CONFIG_ESP32_REV_MIN_2 is not set
+# CONFIG_ESP32_REV_MIN_3 is not set
+# CONFIG_ESP32_REV_MIN_3_1 is not set
+CONFIG_ESP32_REV_MIN=0
+CONFIG_ESP32_REV_MIN_FULL=0
+CONFIG_ESP_REV_MIN_FULL=0
+
+#
+# Maximum Supported ESP32 Revision (Rev v3.99)
+#
+CONFIG_ESP32_REV_MAX_FULL=399
+CONFIG_ESP_REV_MAX_FULL=399
+# end of Chip revision
+
+#
+# MAC Config
+#
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y
+CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y
+CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y
+# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set
+CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y
+CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4
+# CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR is not set
+# end of MAC Config
+
+#
+# Sleep Config
+#
+CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
+CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y
+# CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND is not set
+CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y
+# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set
+CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000
+# end of Sleep Config
+
+#
+# RTC Clock Config
+#
+CONFIG_RTC_CLK_SRC_INT_RC=y
+# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set
+# CONFIG_RTC_CLK_SRC_EXT_OSC is not set
+# CONFIG_RTC_CLK_SRC_INT_8MD256 is not set
+CONFIG_RTC_CLK_CAL_CYCLES=1024
+# end of RTC Clock Config
+
+#
+# Peripheral Control
+#
+CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y
+# end of Peripheral Control
+
+#
+# Main XTAL Config
+#
+# CONFIG_XTAL_FREQ_26 is not set
+CONFIG_XTAL_FREQ_40=y
+# CONFIG_XTAL_FREQ_AUTO is not set
+CONFIG_XTAL_FREQ=40
+# end of Main XTAL Config
+# end of Hardware Settings
+
+#
+# LCD and Touch Panel
+#
+
+#
+# LCD Touch Drivers are maintained in the IDF Component Registry
+#
+
+#
+# LCD Peripheral Configuration
+#
+CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32
+# CONFIG_LCD_ENABLE_DEBUG_LOG is not set
+# end of LCD Peripheral Configuration
+# end of LCD and Touch Panel
+
#
# ESP NETIF Adapter
#
CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120
CONFIG_ESP_NETIF_TCPIP_LWIP=y
# CONFIG_ESP_NETIF_LOOPBACK is not set
-CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
+CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y
+# CONFIG_ESP_NETIF_L2_TAP is not set
+# CONFIG_ESP_NETIF_BRIDGE_EN is not set
# end of ESP NETIF Adapter
+#
+# Partition API Configuration
+#
+# end of Partition API Configuration
+
+#
+# PHY
+#
+CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y
+# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set
+CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20
+CONFIG_ESP_PHY_MAX_TX_POWER=20
+CONFIG_ESP_PHY_REDUCE_TX_POWER=y
+CONFIG_ESP_PHY_RF_CAL_PARTIAL=y
+# CONFIG_ESP_PHY_RF_CAL_NONE is not set
+# CONFIG_ESP_PHY_RF_CAL_FULL is not set
+CONFIG_ESP_PHY_CALIBRATION_MODE=0
+# end of PHY
+
#
# Power Management
#
# CONFIG_PM_ENABLE is not set
# end of Power Management
+#
+# ESP PSRAM
+#
+# CONFIG_SPIRAM is not set
+# end of ESP PSRAM
+
+#
+# ESP Ringbuf
+#
+# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set
+# end of ESP Ringbuf
+
#
# ESP System Settings
#
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set
+# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y
+CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240
+
+#
+# Memory
+#
+# CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set
+
+#
+# Non-backward compatible options
+#
+# CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM is not set
+# end of Non-backward compatible options
+# end of Memory
+
+#
+# Trace memory
+#
+# CONFIG_ESP32_TRAX is not set
+CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0
+# end of Trace memory
+
# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set
CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set
-CONFIG_ESP_SYSTEM_PD_FLASH=y
-# CONFIG_ESP_SYSTEM_FLASH_LEAKAGE_WORKAROUND is not set
-
-#
-# RTC Clock Config
-#
-# end of RTC Clock Config
+# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set
+CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0
#
# Memory protection
#
# end of Memory protection
+
+CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
+CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304
+CONFIG_ESP_MAIN_TASK_STACK_SIZE=3072
+CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y
+# CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set
+# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set
+CONFIG_ESP_MAIN_TASK_AFFINITY=0x0
+CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048
+CONFIG_ESP_CONSOLE_UART_DEFAULT=y
+# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set
+# CONFIG_ESP_CONSOLE_NONE is not set
+CONFIG_ESP_CONSOLE_UART=y
+CONFIG_ESP_CONSOLE_MULTIPLE_UART=y
+CONFIG_ESP_CONSOLE_UART_NUM=0
+CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
+CONFIG_ESP_INT_WDT=y
+CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
+CONFIG_ESP_INT_WDT_CHECK_CPU1=y
+CONFIG_ESP_TASK_WDT_EN=y
+CONFIG_ESP_TASK_WDT_INIT=y
+# CONFIG_ESP_TASK_WDT_PANIC is not set
+CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
+CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
+CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
+# CONFIG_ESP_PANIC_HANDLER_IRAM is not set
+# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set
+CONFIG_ESP_DEBUG_OCDAWARE=y
+# CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_5 is not set
+CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y
+
+#
+# Brownout Detector
+#
+CONFIG_ESP_BROWNOUT_DET=y
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set
+CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4=y
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7 is not set
+CONFIG_ESP_BROWNOUT_DET_LVL=4
+# end of Brownout Detector
+
+# CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set
+CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y
# end of ESP System Settings
+#
+# IPC (Inter-Processor Call)
+#
+CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
+CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y
+CONFIG_ESP_IPC_ISR_ENABLE=y
+# end of IPC (Inter-Processor Call)
+
#
# High resolution timer (esp_timer)
#
@@ -515,51 +918,69 @@ CONFIG_ESP_SYSTEM_PD_FLASH=y
CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y
CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y
CONFIG_ESP_TIMER_TASK_STACK_SIZE=2048
-# CONFIG_ESP_TIMER_IMPL_FRC2 is not set
+CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1
+# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set
+CONFIG_ESP_TIMER_TASK_AFFINITY=0x0
+CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y
+CONFIG_ESP_TIMER_ISR_AFFINITY=0x1
+CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y
+# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set
CONFIG_ESP_TIMER_IMPL_TG0_LAC=y
# end of High resolution timer (esp_timer)
#
# Wi-Fi
#
-CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
-CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=64
-CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y
-# CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER is not set
-CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0
-CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
-# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
-CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
-CONFIG_ESP32_WIFI_TX_BA_WIN=8
-CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
-CONFIG_ESP32_WIFI_RX_BA_WIN=16
-CONFIG_ESP32_WIFI_NVS_ENABLED=y
-CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
-# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
-CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
-CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_NONE is not set
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_ERROR is not set
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_WARN is not set
-CONFIG_WIFI_LOG_DEFAULT_LEVEL_INFO=y
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_DEBUG is not set
-# CONFIG_WIFI_LOG_DEFAULT_LEVEL_VERBOSE is not set
-# CONFIG_ESP32_WIFI_IRAM_OPT is not set
-CONFIG_ESP32_WIFI_RX_IRAM_OPT=y
-CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y
+CONFIG_ESP_WIFI_ENABLED=y
+CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=8
+CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=64
+CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y
+# CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER is not set
+CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0
+CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=8
+# CONFIG_ESP_WIFI_CSI_ENABLED is not set
+CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y
+CONFIG_ESP_WIFI_TX_BA_WIN=8
+CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP_WIFI_RX_BA_WIN=16
+CONFIG_ESP_WIFI_NVS_ENABLED=y
+CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y
+# CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set
+CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752
+CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32
+# CONFIG_ESP_WIFI_IRAM_OPT is not set
+CONFIG_ESP_WIFI_RX_IRAM_OPT=y
+CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y
+CONFIG_ESP_WIFI_ENABLE_SAE_PK=y
+CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y
+CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y
# CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set
# CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set
+# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
+CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set
-# end of Wi-Fi
+CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7
+# CONFIG_ESP_WIFI_NAN_ENABLE is not set
+CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y
+CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y
+# CONFIG_ESP_WIFI_WAPI_PSK is not set
+# CONFIG_ESP_WIFI_SUITE_B_192 is not set
+# CONFIG_ESP_WIFI_11KV_SUPPORT is not set
+# CONFIG_ESP_WIFI_MBO_SUPPORT is not set
+# CONFIG_ESP_WIFI_DPP_SUPPORT is not set
+# CONFIG_ESP_WIFI_11R_SUPPORT is not set
+# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set
#
-# PHY
+# WPS Configuration Options
#
-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
-# end of PHY
+# CONFIG_ESP_WIFI_WPS_STRICT is not set
+# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set
+# end of WPS Configuration Options
+
+# CONFIG_ESP_WIFI_DEBUG_PRINT is not set
+# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set
+# end of Wi-Fi
#
# Core dump
@@ -572,6 +993,12 @@ CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y
#
# FAT Filesystem support
#
+CONFIG_FATFS_VOLUME_COUNT=2
+CONFIG_FATFS_LFN_NONE=y
+# CONFIG_FATFS_LFN_HEAP is not set
+# CONFIG_FATFS_LFN_STACK is not set
+# CONFIG_FATFS_SECTOR_512 is not set
+CONFIG_FATFS_SECTOR_4096=y
# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set
CONFIG_FATFS_CODEPAGE_437=y
# CONFIG_FATFS_CODEPAGE_720 is not set
@@ -595,87 +1022,77 @@ CONFIG_FATFS_CODEPAGE_437=y
# CONFIG_FATFS_CODEPAGE_949 is not set
# CONFIG_FATFS_CODEPAGE_950 is not set
CONFIG_FATFS_CODEPAGE=437
-CONFIG_FATFS_LFN_NONE=y
-# CONFIG_FATFS_LFN_HEAP is not set
-# CONFIG_FATFS_LFN_STACK is not set
CONFIG_FATFS_FS_LOCK=0
CONFIG_FATFS_TIMEOUT_MS=10000
CONFIG_FATFS_PER_FILE_CACHE=y
# CONFIG_FATFS_USE_FASTSEEK is not set
+CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0
# end of FAT Filesystem support
-#
-# Modbus configuration
-#
-CONFIG_FMB_COMM_MODE_TCP_EN=y
-CONFIG_FMB_TCP_PORT_DEFAULT=502
-CONFIG_FMB_TCP_PORT_MAX_CONN=5
-CONFIG_FMB_TCP_CONNECTION_TOUT_SEC=20
-CONFIG_FMB_COMM_MODE_RTU_EN=y
-CONFIG_FMB_COMM_MODE_ASCII_EN=y
-CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=150
-CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200
-CONFIG_FMB_QUEUE_LENGTH=20
-CONFIG_FMB_PORT_TASK_STACK_SIZE=4096
-CONFIG_FMB_SERIAL_BUF_SIZE=256
-CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8
-CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000
-CONFIG_FMB_PORT_TASK_PRIO=10
-# CONFIG_FMB_PORT_TASK_AFFINITY_NO_AFFINITY is not set
-CONFIG_FMB_PORT_TASK_AFFINITY_CPU0=y
-# CONFIG_FMB_PORT_TASK_AFFINITY_CPU1 is not set
-CONFIG_FMB_PORT_TASK_AFFINITY=0x0
-CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT=y
-CONFIG_FMB_CONTROLLER_SLAVE_ID=0x00112233
-CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20
-CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
-CONFIG_FMB_CONTROLLER_STACK_SIZE=4096
-CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20
-CONFIG_FMB_TIMER_PORT_ENABLED=y
-CONFIG_FMB_TIMER_GROUP=0
-CONFIG_FMB_TIMER_INDEX=0
-CONFIG_FMB_MASTER_TIMER_GROUP=0
-CONFIG_FMB_MASTER_TIMER_INDEX=0
-# CONFIG_FMB_TIMER_ISR_IN_IRAM is not set
-# end of Modbus configuration
-
#
# FreeRTOS
#
+
+#
+# Kernel
+#
+# CONFIG_FREERTOS_SMP is not set
# CONFIG_FREERTOS_UNICORE is not set
-CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
-CONFIG_FREERTOS_CORETIMER_0=y
-# CONFIG_FREERTOS_CORETIMER_1 is not set
CONFIG_FREERTOS_HZ=1000
-CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y
# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set
# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set
CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y
-# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
-CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1
-# CONFIG_FREERTOS_ASSERT_FAIL_ABORT is not set
-# CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set
-CONFIG_FREERTOS_ASSERT_DISABLE=y
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=768
-CONFIG_FREERTOS_ISR_STACKSIZE=1536
-# CONFIG_FREERTOS_LEGACY_HOOKS is not set
+# CONFIG_FREERTOS_USE_IDLE_HOOK is not set
+# CONFIG_FREERTOS_USE_TICK_HOOK is not set
CONFIG_FREERTOS_MAX_TASK_NAME_LEN=10
-CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
-# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
+CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY=y
CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=1536
CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=5
CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
+CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1
# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
+# end of Kernel
+
+#
+# Port
+#
+# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set
+CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y
+# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set
CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
-# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
-CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
-CONFIG_FREERTOS_DEBUG_OCDAWARE=y
+CONFIG_FREERTOS_ISR_STACKSIZE=1536
+CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
# CONFIG_FREERTOS_FPU_IN_ISR is not set
+CONFIG_FREERTOS_TICK_SUPPORT_CORETIMER=y
+CONFIG_FREERTOS_CORETIMER_0=y
+# CONFIG_FREERTOS_CORETIMER_1 is not set
+CONFIG_FREERTOS_SYSTICK_USES_CCOUNT=y
+CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
+# CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH is not set
+# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
+CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y
+# end of Port
+
+CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF
+CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y
+CONFIG_FREERTOS_DEBUG_OCDAWARE=y
# end of FreeRTOS
+#
+# Hardware Abstraction Layer (HAL) and Low Level (LL)
+#
+CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y
+# CONFIG_HAL_ASSERTION_DISABLE is not set
+# CONFIG_HAL_ASSERTION_SILENT is not set
+# CONFIG_HAL_ASSERTION_ENABLE is not set
+CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2
+CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y
+# end of Hardware Abstraction Layer (HAL) and Low Level (LL)
+
#
# Heap memory debugging
#
@@ -685,31 +1102,31 @@ CONFIG_HEAP_POISONING_DISABLED=y
CONFIG_HEAP_TRACING_OFF=y
# CONFIG_HEAP_TRACING_STANDALONE is not set
# CONFIG_HEAP_TRACING_TOHOST is not set
+# CONFIG_HEAP_USE_HOOKS is not set
# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set
+# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set
# end of Heap memory debugging
-#
-# jsmn
-#
-# CONFIG_JSMN_PARENT_LINKS is not set
-# CONFIG_JSMN_STRICT is not set
-# end of jsmn
-
-#
-# libsodium
-#
-# end of libsodium
+CONFIG_IEEE802154_CCA_THRESHOLD=-60
+CONFIG_IEEE802154_PENDING_TABLE_SIZE=20
#
# Log output
#
-# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set
+CONFIG_LOG_DEFAULT_LEVEL_NONE=y
# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set
# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set
-CONFIG_LOG_DEFAULT_LEVEL_INFO=y
+# CONFIG_LOG_DEFAULT_LEVEL_INFO is not set
# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set
# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set
-CONFIG_LOG_DEFAULT_LEVEL=3
+CONFIG_LOG_DEFAULT_LEVEL=0
+# CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT is not set
+# CONFIG_LOG_MAXIMUM_LEVEL_ERROR is not set
+# CONFIG_LOG_MAXIMUM_LEVEL_WARN is not set
+CONFIG_LOG_MAXIMUM_LEVEL_INFO=y
+# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set
+# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set
+CONFIG_LOG_MAXIMUM_LEVEL=3
CONFIG_LOG_COLORS=y
CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set
@@ -719,6 +1136,9 @@ CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y
# LWIP
#
CONFIG_LWIP_LOCAL_HOSTNAME="espressif"
+# CONFIG_LWIP_NETIF_API is not set
+# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set
+# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set
CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
# CONFIG_LWIP_L2_TO_L3_COPY is not set
# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
@@ -734,15 +1154,20 @@ CONFIG_LWIP_IP4_FRAG=y
CONFIG_LWIP_IP6_FRAG=y
# CONFIG_LWIP_IP4_REASSEMBLY is not set
# CONFIG_LWIP_IP6_REASSEMBLY is not set
+CONFIG_LWIP_IP_REASS_MAX_PBUFS=10
# CONFIG_LWIP_IP_FORWARD is not set
# CONFIG_LWIP_STATS is not set
-# CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set
CONFIG_LWIP_ESP_GRATUITOUS_ARP=y
CONFIG_LWIP_GARP_TMR_INTERVAL=60
+CONFIG_LWIP_ESP_MLDV6_REPORT=y
+CONFIG_LWIP_MLDV6_TMR_INTERVAL=40
CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32
CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y
# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set
+CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y
# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set
+CONFIG_LWIP_DHCP_OPTIONS_LEN=68
+CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0
CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1
#
@@ -754,8 +1179,12 @@ CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8
# end of DHCP server
# CONFIG_LWIP_AUTOIP is not set
+CONFIG_LWIP_IPV4=y
CONFIG_LWIP_IPV6=y
# CONFIG_LWIP_IPV6_AUTOCONFIG is not set
+CONFIG_LWIP_IPV6_NUM_ADDRESSES=3
+# CONFIG_LWIP_IPV6_FORWARD is not set
+# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set
CONFIG_LWIP_NETIF_LOOPBACK=y
CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8
@@ -776,7 +1205,6 @@ CONFIG_LWIP_TCP_WND_DEFAULT=11680
CONFIG_LWIP_TCP_RECVMBOX_SIZE=10
CONFIG_LWIP_TCP_QUEUE_OOSEQ=y
CONFIG_LWIP_TCP_SACK_OUT=y
-# CONFIG_LWIP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set
CONFIG_LWIP_TCP_OVERSIZE_MSS=y
# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set
# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set
@@ -825,10 +1253,12 @@ CONFIG_LWIP_MAX_RAW_PCBS=16
#
# SNTP
#
-CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1
+CONFIG_LWIP_SNTP_MAX_SERVERS=1
+# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000
# end of SNTP
+CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7
CONFIG_LWIP_ESP_LWIP_ASSERT=y
#
@@ -840,9 +1270,15 @@ CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y
CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y
# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set
# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set
+CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y
+# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set
+# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set
CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y
# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set
# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set
+CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y
+# CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set
+# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set
# end of Hooks
# CONFIG_LWIP_DEBUG is not set
@@ -861,13 +1297,15 @@ CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
# CONFIG_MBEDTLS_DEBUG is not set
#
-# mbedTLS v2.28.x related
+# mbedTLS v3.x related
#
+# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set
# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set
# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set
# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set
CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y
-# end of mbedTLS v2.28.x related
+CONFIG_MBEDTLS_PKCS7_C=y
+# end of mbedTLS v3.x related
#
# Certificate Bundle
@@ -884,6 +1322,7 @@ CONFIG_MBEDTLS_ROM_MD5=y
# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set
# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set
CONFIG_MBEDTLS_HAVE_TIME=y
+# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set
# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y
CONFIG_MBEDTLS_SHA512_C=y
@@ -900,7 +1339,6 @@ CONFIG_MBEDTLS_TLS_ENABLED=y
#
# CONFIG_MBEDTLS_PSK_MODES is not set
CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
-CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y
CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y
@@ -909,15 +1347,11 @@ CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y
# end of TLS Key Exchange Methods
CONFIG_MBEDTLS_SSL_RENEGOTIATION=y
-# CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set
-CONFIG_MBEDTLS_SSL_PROTO_TLS1=y
-CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y
CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
+# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set
# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set
CONFIG_MBEDTLS_SSL_ALPN=y
CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y
-CONFIG_MBEDTLS_X509_CHECK_KEY_USAGE=y
-CONFIG_MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE=y
CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y
#
@@ -926,9 +1360,6 @@ CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y
CONFIG_MBEDTLS_AES_C=y
# CONFIG_MBEDTLS_CAMELLIA_C is not set
# CONFIG_MBEDTLS_DES_C is not set
-CONFIG_MBEDTLS_RC4_DISABLED=y
-# CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT is not set
-# CONFIG_MBEDTLS_RC4_ENABLED is not set
# CONFIG_MBEDTLS_BLOWFISH_C is not set
# CONFIG_MBEDTLS_XTEA_C is not set
CONFIG_MBEDTLS_CCM_C=y
@@ -948,6 +1379,7 @@ CONFIG_MBEDTLS_X509_CSR_PARSE_C=y
# end of Certificates
CONFIG_MBEDTLS_ECP_C=y
+# CONFIG_MBEDTLS_DHM_C is not set
CONFIG_MBEDTLS_ECDH_C=y
CONFIG_MBEDTLS_ECDSA_C=y
# CONFIG_MBEDTLS_ECJPAKE_C is not set
@@ -972,25 +1404,11 @@ CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
# CONFIG_MBEDTLS_SECURITY_RISKS is not set
# end of mbedTLS
-#
-# mDNS
-#
-CONFIG_MDNS_MAX_SERVICES=10
-CONFIG_MDNS_TASK_PRIORITY=1
-CONFIG_MDNS_TASK_STACK_SIZE=2816
-CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY=y
-# CONFIG_MDNS_TASK_AFFINITY_CPU0 is not set
-# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set
-CONFIG_MDNS_TASK_AFFINITY=0x7FFFFFFF
-CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
-# CONFIG_MDNS_STRICT_MODE is not set
-CONFIG_MDNS_TIMER_PERIOD_MS=100
-# end of mDNS
-
#
# ESP-MQTT Configurations
#
CONFIG_MQTT_PROTOCOL_311=y
+# CONFIG_MQTT_PROTOCOL_5 is not set
CONFIG_MQTT_TRANSPORT_SSL=y
CONFIG_MQTT_TRANSPORT_WEBSOCKET=y
CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y
@@ -1012,21 +1430,31 @@ CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y
# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set
CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y
# CONFIG_NEWLIB_NANO_FORMAT is not set
+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
# end of Newlib
#
# NVS
#
+# CONFIG_NVS_ASSERT_ERROR_CHECK is not set
# end of NVS
#
-# OpenSSL
+# OpenThread
#
-# CONFIG_OPENSSL_DEBUG is not set
-CONFIG_OPENSSL_ERROR_STACK=y
-# CONFIG_OPENSSL_ASSERT_DO_NOTHING is not set
-CONFIG_OPENSSL_ASSERT_EXIT=y
-# end of OpenSSL
+# CONFIG_OPENTHREAD_ENABLED is not set
+# end of OpenThread
+
+#
+# Protocomm
+#
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y
+CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y
+# end of Protocomm
#
# PThreads
@@ -1041,6 +1469,14 @@ CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1
CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread"
# end of PThreads
+#
+# MMU Config
+#
+CONFIG_MMU_PAGE_SIZE_64KB=y
+CONFIG_MMU_PAGE_MODE="64KB"
+CONFIG_MMU_PAGE_SIZE=0x10000
+# end of MMU Config
+
#
# SPI Flash driver
#
@@ -1050,7 +1486,6 @@ CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y
CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y
# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set
# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set
-# CONFIG_SPI_FLASH_USE_LEGACY_IMPL is not set
# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set
# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
@@ -1059,10 +1494,23 @@ CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set
# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
+# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set
+
+#
+# SPI Flash behavior when brownout
+#
+CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y
+CONFIG_SPI_FLASH_BROWNOUT_RESET=y
+# end of SPI Flash behavior when brownout
#
# Auto-detect flash chips
#
+CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y
+CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y
CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y
CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y
CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y
@@ -1119,25 +1567,33 @@ CONFIG_SPIFFS_USE_MTIME=y
#
CONFIG_WS_TRANSPORT=y
CONFIG_WS_BUFFER_SIZE=1024
+# CONFIG_WS_DYNAMIC_BUFFER is not set
# end of Websocket
# end of TCP Transport
#
-# TinyUSB
+# Ultra Low Power (ULP) Co-processor
#
-# end of TinyUSB
+# CONFIG_ULP_COPROC_ENABLED is not set
+# end of Ultra Low Power (ULP) Co-processor
#
# Unity unit testing library
#
CONFIG_UNITY_ENABLE_FLOAT=y
CONFIG_UNITY_ENABLE_DOUBLE=y
+# CONFIG_UNITY_ENABLE_64BIT is not set
# CONFIG_UNITY_ENABLE_COLOR is not set
CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y
# CONFIG_UNITY_ENABLE_FIXTURE is not set
# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set
# end of Unity unit testing library
+#
+# Root Hub configuration
+#
+# end of Root Hub configuration
+
#
# Virtual file system
#
@@ -1151,7 +1607,6 @@ CONFIG_VFS_SUPPORT_TERMIOS=y
# Host File System I/O (Semihosting)
#
CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1
-CONFIG_VFS_SEMIHOSTFS_HOST_PATH_MAX_LEN=128
# end of Host File System I/O (Semihosting)
# end of Virtual file system
@@ -1168,23 +1623,56 @@ CONFIG_WL_SECTOR_SIZE=4096
#
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16
CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30
+# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set
+CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y
+# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set
# end of Wi-Fi Provisioning Manager
#
-# Supplicant
+# WebSocket Server
#
-CONFIG_WPA_MBEDTLS_CRYPTO=y
-# CONFIG_WPA_WAPI_PSK is not set
-# CONFIG_WPA_DEBUG_PRINT is not set
-# CONFIG_WPA_TESTING_OPTIONS is not set
-# CONFIG_WPA_WPS_STRICT is not set
-# CONFIG_WPA_11KV_SUPPORT is not set
-# CONFIG_WPA_DPP_SUPPORT is not set
-# end of Supplicant
+CONFIG_WEBSOCKET_SERVER_MAX_CLIENTS=1
+CONFIG_WEBSOCKET_SERVER_QUEUE_SIZE=2
+CONFIG_WEBSOCKET_SERVER_QUEUE_TIMEOUT=30
+CONFIG_WEBSOCKET_SERVER_TASK_STACK_DEPTH=3000
+CONFIG_WEBSOCKET_SERVER_TASK_PRIORITY=5
+# CONFIG_WEBSOCKET_SERVER_PINNED is not set
+# end of WebSocket Server
+
+#
+# mDNS
+#
+CONFIG_MDNS_MAX_INTERFACES=3
+CONFIG_MDNS_MAX_SERVICES=10
+CONFIG_MDNS_TASK_PRIORITY=1
+CONFIG_MDNS_ACTION_QUEUE_LEN=16
+CONFIG_MDNS_TASK_STACK_SIZE=2816
+CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY=y
+# CONFIG_MDNS_TASK_AFFINITY_CPU0 is not set
+# CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set
+CONFIG_MDNS_TASK_AFFINITY=0x7FFFFFFF
+CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000
+CONFIG_MDNS_TIMER_PERIOD_MS=100
+# CONFIG_MDNS_NETWORKING_SOCKET is not set
+# CONFIG_MDNS_SKIP_SUPPRESSING_OWN_QUERIES is not set
+# CONFIG_MDNS_ENABLE_DEBUG_PRINTS is not set
+CONFIG_MDNS_ENABLE_CONSOLE_CLI=y
+# CONFIG_MDNS_RESPOND_REVERSE_QUERIES is not set
+CONFIG_MDNS_MULTIPLE_INSTANCE=y
+
+#
+# MDNS Predefined interfaces
+#
+CONFIG_MDNS_PREDEF_NETIF_STA=y
+CONFIG_MDNS_PREDEF_NETIF_AP=y
+CONFIG_MDNS_PREDEF_NETIF_ETH=y
+# end of MDNS Predefined interfaces
+# end of mDNS
#
# DSP Library
#
+CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y
# CONFIG_DSP_ANSI is not set
CONFIG_DSP_OPTIMIZED=y
CONFIG_DSP_OPTIMIZATION=1
@@ -1197,34 +1685,23 @@ CONFIG_DSP_MAX_FFT_SIZE_4096=y
# CONFIG_DSP_MAX_FFT_SIZE_32768 is not set
CONFIG_DSP_MAX_FFT_SIZE=4096
# end of DSP Library
-
-#
-# WebSocket Server
-#
-CONFIG_WEBSOCKET_SERVER_MAX_CLIENTS=1
-CONFIG_WEBSOCKET_SERVER_QUEUE_SIZE=2
-CONFIG_WEBSOCKET_SERVER_QUEUE_TIMEOUT=30
-CONFIG_WEBSOCKET_SERVER_TASK_STACK_DEPTH=3000
-CONFIG_WEBSOCKET_SERVER_TASK_PRIORITY=5
-# CONFIG_WEBSOCKET_SERVER_PINNED is not set
-# end of WebSocket Server
# end of Component config
-#
-# Compatibility options
-#
-# CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set
-# end of Compatibility options
+# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set
# Deprecated options for backward compatibility
-CONFIG_TOOLPREFIX="xtensa-esp32-elf-"
+# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set
+# CONFIG_NO_BLOBS is not set
+# CONFIG_ESP32_NO_BLOBS is not set
+# CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+# CONFIG_ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set
-# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set
+CONFIG_LOG_BOOTLOADER_LEVEL_ERROR=y
# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set
-CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
+# CONFIG_LOG_BOOTLOADER_LEVEL_INFO is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
-CONFIG_LOG_BOOTLOADER_LEVEL=3
+CONFIG_LOG_BOOTLOADER_LEVEL=1
CONFIG_APP_ROLLBACK_ENABLE=y
# CONFIG_APP_ANTI_ROLLBACK is not set
# CONFIG_FLASH_ENCRYPTION_ENABLED is not set
@@ -1232,62 +1709,71 @@ CONFIG_FLASHMODE_QIO=y
# CONFIG_FLASHMODE_QOUT is not set
# CONFIG_FLASHMODE_DIO is not set
# CONFIG_FLASHMODE_DOUT is not set
-# CONFIG_MONITOR_BAUD_9600B is not set
-# CONFIG_MONITOR_BAUD_57600B is not set
-CONFIG_MONITOR_BAUD_115200B=y
-# CONFIG_MONITOR_BAUD_230400B is not set
-# CONFIG_MONITOR_BAUD_921600B is not set
-# CONFIG_MONITOR_BAUD_2MB is not set
-# CONFIG_MONITOR_BAUD_OTHER is not set
-CONFIG_MONITOR_BAUD_OTHER_VAL=115200
CONFIG_MONITOR_BAUD=115200
+# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
+# 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_DISABLE_GCC8_WARNINGS is not set
# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set
CONFIG_ESP32_APPTRACE_DEST_NONE=y
CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
CONFIG_ADC2_DISABLE_DAC=y
-# CONFIG_SPIRAM_SUPPORT is not set
-CONFIG_TRACEMEM_RESERVE_DRAM=0x0
+# CONFIG_MCPWM_ISR_IN_IRAM is not set
+# CONFIG_EVENT_LOOP_PROFILING is not set
+CONFIG_POST_EVENTS_FROM_ISR=y
+# CONFIG_POST_EVENTS_FROM_IRAM_ISR is not set
+# CONFIG_OTA_ALLOW_HTTP is not set
# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set
CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y
CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4
-# CONFIG_ULP_COPROC_ENABLED is not set
-CONFIG_ULP_COPROC_RESERVE_MEM=0
-CONFIG_BROWNOUT_DET=y
-# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
-CONFIG_BROWNOUT_DET_LVL_SEL_4=y
-# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
-# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set
-CONFIG_BROWNOUT_DET_LVL=4
-CONFIG_REDUCE_PHY_TX_POWER=y
+CONFIG_ESP_SYSTEM_PD_FLASH=y
+CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000
+CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y
CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y
+# CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set
# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set
+# CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set
# CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set
+# CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set
# CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set
-# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set
-# CONFIG_NO_BLOBS is not set
-# CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set
+CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024
+# CONFIG_ESP32_XTAL_FREQ_26 is not set
+CONFIG_ESP32_XTAL_FREQ_40=y
+# CONFIG_ESP32_XTAL_FREQ_AUTO is not set
+CONFIG_ESP32_XTAL_FREQ=40
+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=y
+CONFIG_ESP32_REDUCE_PHY_TX_POWER=y
+# CONFIG_SPIRAM_SUPPORT is not set
+# CONFIG_ESP32_SPIRAM_SUPPORT is not set
+# CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set
+# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set
+CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
+CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
+CONFIG_TRACEMEM_RESERVE_DRAM=0x0
+# CONFIG_ESP32_PANIC_PRINT_HALT is not set
+CONFIG_ESP32_PANIC_PRINT_REBOOT=y
+# CONFIG_ESP32_PANIC_SILENT_REBOOT is not set
+# CONFIG_ESP32_PANIC_GDBSTUB is not set
CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
-CONFIG_MAIN_TASK_STACK_SIZE=2560
-CONFIG_IPC_TASK_STACK_SIZE=1024
+CONFIG_MAIN_TASK_STACK_SIZE=3072
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
@@ -1296,42 +1782,80 @@ CONFIG_INT_WDT=y
CONFIG_INT_WDT_TIMEOUT_MS=300
CONFIG_INT_WDT_CHECK_CPU1=y
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_TASK_WDT_CHECK_IDLE_TASK_CPU1=y
-# CONFIG_EVENT_LOOP_PROFILING is not set
-CONFIG_POST_EVENTS_FROM_ISR=y
-# CONFIG_POST_EVENTS_FROM_IRAM_ISR is not set
-# CONFIG_ESP32S2_PANIC_PRINT_HALT is not set
-CONFIG_ESP32S2_PANIC_PRINT_REBOOT=y
-# CONFIG_ESP32S2_PANIC_SILENT_REBOOT is not set
-# CONFIG_ESP32S2_PANIC_GDBSTUB is not set
+# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set
+CONFIG_ESP32_DEBUG_OCDAWARE=y
+CONFIG_BROWNOUT_DET=y
+CONFIG_ESP32_BROWNOUT_DET=y
+# CONFIG_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set
+CONFIG_BROWNOUT_DET_LVL_SEL_4=y
+CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4=y
+# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set
+# CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set
+# CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set
+CONFIG_BROWNOUT_DET_LVL=4
+CONFIG_ESP32_BROWNOUT_DET_LVL=4
+# CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set
+CONFIG_IPC_TASK_STACK_SIZE=1024
CONFIG_TIMER_TASK_STACK_SIZE=2048
+CONFIG_ESP32_WIFI_ENABLED=y
+CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
+CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=64
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y
+# CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER is not set
+CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0
+CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
+# CONFIG_ESP32_WIFI_CSI_ENABLED is not set
+CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
+CONFIG_ESP32_WIFI_TX_BA_WIN=8
+CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
+CONFIG_ESP32_WIFI_RX_BA_WIN=16
+CONFIG_ESP32_WIFI_RX_BA_WIN=16
+CONFIG_ESP32_WIFI_NVS_ENABLED=y
+CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
+# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
+CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752
+CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32
+# CONFIG_ESP32_WIFI_IRAM_OPT is not set
+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_WPA_TESTING_OPTIONS 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_MB_MASTER_TIMEOUT_MS_RESPOND=150
-CONFIG_MB_MASTER_DELAY_MS_CONVERT=200
-CONFIG_MB_QUEUE_LENGTH=20
-CONFIG_MB_SERIAL_TASK_STACK_SIZE=4096
-CONFIG_MB_SERIAL_BUF_SIZE=256
-CONFIG_MB_SERIAL_TASK_PRIO=10
-CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT=y
-CONFIG_MB_CONTROLLER_SLAVE_ID=0x00112233
-CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20
-CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20
-CONFIG_MB_CONTROLLER_STACK_SIZE=4096
-CONFIG_MB_EVENT_QUEUE_TIMEOUT=20
-CONFIG_MB_TIMER_PORT_ENABLED=y
-CONFIG_MB_TIMER_GROUP=0
-CONFIG_MB_TIMER_INDEX=0
-# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set
CONFIG_TIMER_TASK_PRIORITY=1
CONFIG_TIMER_TASK_STACK_DEPTH=1536
CONFIG_TIMER_QUEUE_LENGTH=5
+# 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_USE_ONLY_LWIP_SELECT is not set
CONFIG_ESP_GRATUITOUS_ARP=y
CONFIG_GARP_TMR_INTERVAL=60
CONFIG_TCPIP_RECVMBOX_SIZE=32
@@ -1343,7 +1867,6 @@ CONFIG_TCP_SND_BUF_DEFAULT=11680
CONFIG_TCP_WND_DEFAULT=11680
CONFIG_TCP_RECVMBOX_SIZE=10
CONFIG_TCP_QUEUE_OOSEQ=y
-# CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set
CONFIG_TCP_OVERSIZE_MSS=y
# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set
# CONFIG_TCP_OVERSIZE_DISABLE is not set
@@ -1354,6 +1877,12 @@ CONFIG_TCPIP_TASK_AFFINITY_CPU0=y
# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set
CONFIG_TCPIP_TASK_AFFINITY=0x0
# CONFIG_PPP_SUPPORT is not set
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_HRT=y
+CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y
+# CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_HRT is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set
+# CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set
CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072
CONFIG_ESP32_PTHREAD_STACK_MIN=768
@@ -1365,8 +1894,8 @@ 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_ESP32_ULP_COPROC_ENABLED is not set
CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y
CONFIG_SUPPORT_TERMIOS=y
CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1
-CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN=128
# End of deprecated options