From 0b4b9f512dcae72a89290f1826bfdb160e822b7a Mon Sep 17 00:00:00 2001 From: Seth Ladygo Date: Mon, 15 Sep 2025 14:50:13 -0700 Subject: [PATCH] initial convert from arduino to esp-idf --- DinnerRecv/CMakeLists.txt | 6 + .../NodeMCU-series_ESP-C3-32S-kit_pinout.png | Bin 0 -> 241173 bytes DinnerRecv/README.org | 9 + DinnerRecv/main/CMakeLists.txt | 2 + DinnerRecv/main/led_strip_encoder.c | 121 + DinnerRecv/main/led_strip_encoder.h | 31 + DinnerRecv/main/main.c | 224 ++ DinnerRecv/sdkconfig | 2246 +++++++++++++++++ DinnerRecv/sdkconfig.defaults | 15 + 9 files changed, 2654 insertions(+) create mode 100644 DinnerRecv/CMakeLists.txt create mode 100644 DinnerRecv/NodeMCU-series_ESP-C3-32S-kit_pinout.png create mode 100644 DinnerRecv/README.org create mode 100644 DinnerRecv/main/CMakeLists.txt create mode 100644 DinnerRecv/main/led_strip_encoder.c create mode 100644 DinnerRecv/main/led_strip_encoder.h create mode 100644 DinnerRecv/main/main.c create mode 100644 DinnerRecv/sdkconfig create mode 100644 DinnerRecv/sdkconfig.defaults diff --git a/DinnerRecv/CMakeLists.txt b/DinnerRecv/CMakeLists.txt new file mode 100644 index 0000000..40eb85c --- /dev/null +++ b/DinnerRecv/CMakeLists.txt @@ -0,0 +1,6 @@ +# The following lines of boilerplate have to be in your project's +# CMakeLists in this exact order for cmake to work correctly +cmake_minimum_required(VERSION 3.16) + +include($ENV{IDF_PATH}/tools/cmake/project.cmake) +project(DinnerRecv) \ No newline at end of file diff --git a/DinnerRecv/NodeMCU-series_ESP-C3-32S-kit_pinout.png b/DinnerRecv/NodeMCU-series_ESP-C3-32S-kit_pinout.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae2de123c845e11f28a993c210678d9787de5ee GIT binary patch literal 241173 zcmb??^M7VL)NgIuwr$(y)V6KgQ`>eswT-Deg7~T-P7JFC0|MwG?u>my4DCNh;f9KI%*WAN@dUh5Xk+3Sr7hM{+`FEoF zoV?6in#`nDNukd24Of%i}ZU5k3$R zKK6OFA0!_K)-VH?0`R zZRtZ}wZAi&XrtQ1jLoM2*>eT*W+)#8CQSp|G&=x6v=q90v*&Ho^W|&H-_Oxac9e4q zjr^y$3MymW&TY0)d9D(QjwxJX9AcD`84V8F#Tuwe4jl!Kl1YAd77IK2B@T_5f3V?W zPTFSROQ+re_3vzc69g0OB>C8@UpEMb$L584?6O2ZpP@=Hx>3}|TE@bAtnUUom1GF( zfpO+59~8=hFbJ}f!NL94xpOL3@~TIEV5ryGBRn=!PP4fgc2$yWOPv%Wndw2 zb#bA4Eho81dGcQE8ynND;@$ql<`!V781Fmc0^CBA{8JWcaph<{r8a-Vw6c%DWh5WF zknVEMO4iuT1cfvvD{qZej5o!{iVlt&j@sKdFc?f5m_z#dr_4Jj1l3MM>qY!K8PBSn zLco-#V+8e2SznXjo3l)Ix;2!Y8DQs}p`o=2Rs|fh@ZHOu23wnc2Mdk6T&Pj97m3G@Zf+ zfK|x+ciakZp;C;9oO0?#O$uMn$ocBRG?Au+TC7<9oRFPBUOO(xsVSOeQ#4ephLW@d zgrJ+B#(eU>bHx5B!~CVH%9SI%0DY+^QNKYC3h){SmVSf^^pF-@s`LGjX&S`Sl;^@T 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ϣ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

?@B2b#%5lE%SdJNu&#>d*9Z|dCUo$xbV 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 AXaE2J literal 0 HcmV?d00001 diff --git a/DinnerRecv/README.org b/DinnerRecv/README.org new file mode 100644 index 0000000..348b0ab --- /dev/null +++ b/DinnerRecv/README.org @@ -0,0 +1,9 @@ +To build and flash: + # Set up ESP-IDF environment first + . $IDF_PATH/export.sh + + # Build the project + idf.py build + + # Flash to device + idf.py -p /dev/ttyUSB0 flash monitor diff --git a/DinnerRecv/main/CMakeLists.txt b/DinnerRecv/main/CMakeLists.txt new file mode 100644 index 0000000..8576635 --- /dev/null +++ b/DinnerRecv/main/CMakeLists.txt @@ -0,0 +1,2 @@ +idf_component_register(SRCS "main.c" "led_strip_encoder.c" + INCLUDE_DIRS ".") \ No newline at end of file diff --git a/DinnerRecv/main/led_strip_encoder.c b/DinnerRecv/main/led_strip_encoder.c new file mode 100644 index 0000000..0f717bd --- /dev/null +++ b/DinnerRecv/main/led_strip_encoder.c @@ -0,0 +1,121 @@ +#include "esp_check.h" +#include "led_strip_encoder.h" + +static const char *TAG = "led_strip_encoder"; + +typedef struct { + rmt_encoder_t base; + rmt_encoder_t *bytes_encoder; + rmt_encoder_t *copy_encoder; + int state; + rmt_symbol_word_t reset_code; +} rmt_led_strip_encoder_t; + +static size_t rmt_encode_led_strip(rmt_encoder_t *encoder, rmt_channel_handle_t channel, const void *primary_data, size_t data_size, rmt_encode_state_t *ret_state) +{ + rmt_led_strip_encoder_t *led_encoder = __containerof(encoder, rmt_led_strip_encoder_t, base); + rmt_encoder_handle_t bytes_encoder = led_encoder->bytes_encoder; + rmt_encoder_handle_t copy_encoder = led_encoder->copy_encoder; + rmt_encode_state_t session_state = 0; + rmt_encode_state_t state = 0; + size_t encoded_symbols = 0; + + switch (led_encoder->state) { + case 0: // send RGB data + encoded_symbols += bytes_encoder->encode(bytes_encoder, channel, primary_data, data_size, &session_state); + if (session_state & RMT_ENCODING_COMPLETE) { + led_encoder->state = 1; // switch to next state when current encoding session finished + } + if (session_state & RMT_ENCODING_MEM_FULL) { + state |= RMT_ENCODING_MEM_FULL; + goto out; // yield if there's no free space for encoding artifacts + } + // fall-through + case 1: // send reset code + encoded_symbols += copy_encoder->encode(copy_encoder, channel, &led_encoder->reset_code, + sizeof(led_encoder->reset_code), &session_state); + if (session_state & RMT_ENCODING_COMPLETE) { + led_encoder->state = 0; // back to the initial encoding session + state |= RMT_ENCODING_COMPLETE; + } + if (session_state & RMT_ENCODING_MEM_FULL) { + state |= RMT_ENCODING_MEM_FULL; + goto out; // yield if there's no free space for encoding artifacts + } + } +out: + *ret_state = state; + return encoded_symbols; +} + +static esp_err_t rmt_del_led_strip_encoder(rmt_encoder_t *encoder) +{ + rmt_led_strip_encoder_t *led_encoder = __containerof(encoder, rmt_led_strip_encoder_t, base); + rmt_del_encoder(led_encoder->copy_encoder); + rmt_del_encoder(led_encoder->bytes_encoder); + free(led_encoder); + return ESP_OK; +} + +static esp_err_t rmt_led_strip_encoder_reset(rmt_encoder_t *encoder) +{ + rmt_led_strip_encoder_t *led_encoder = __containerof(encoder, rmt_led_strip_encoder_t, base); + rmt_encoder_reset(led_encoder->bytes_encoder); + rmt_encoder_reset(led_encoder->copy_encoder); + led_encoder->state = 0; + return ESP_OK; +} + +esp_err_t rmt_new_led_strip_encoder(const led_strip_encoder_config_t *config, rmt_encoder_handle_t *ret_encoder) +{ + esp_err_t ret = ESP_OK; + rmt_led_strip_encoder_t *led_encoder = NULL; + ESP_GOTO_ON_FALSE(config && ret_encoder, ESP_ERR_INVALID_ARG, err, TAG, "invalid argument"); + led_encoder = calloc(1, sizeof(rmt_led_strip_encoder_t)); + ESP_GOTO_ON_FALSE(led_encoder, ESP_ERR_NO_MEM, err, TAG, "no mem for led strip encoder"); + led_encoder->base.encode = rmt_encode_led_strip; + led_encoder->base.del = rmt_del_led_strip_encoder; + led_encoder->base.reset = rmt_led_strip_encoder_reset; + + // different led strip might have its own timing requirements, following parameter is for WS2812 + rmt_bytes_encoder_config_t bytes_encoder_config = { + .bit0 = { + .level0 = 1, + .duration0 = 0.3 * config->resolution / 1000000, // T0H=0.3us + .level1 = 0, + .duration1 = 0.9 * config->resolution / 1000000, // T0L=0.9us + }, + .bit1 = { + .level0 = 1, + .duration0 = 0.9 * config->resolution / 1000000, // T1H=0.9us + .level1 = 0, + .duration1 = 0.3 * config->resolution / 1000000, // T1L=0.3us + }, + .flags.msb_first = 1 // WS2812 transfer bit order: G7...G0R7...R0B7...B0 + }; + ESP_GOTO_ON_ERROR(rmt_new_bytes_encoder(&bytes_encoder_config, &led_encoder->bytes_encoder), err, TAG, "create bytes encoder failed"); + + rmt_copy_encoder_config_t copy_encoder_config = {}; + ESP_GOTO_ON_ERROR(rmt_new_copy_encoder(©_encoder_config, &led_encoder->copy_encoder), err, TAG, "create copy encoder failed"); + + uint32_t reset_ticks = config->resolution / 1000000 * 50 / 2; // reset code duration defaults to 50us + led_encoder->reset_code = (rmt_symbol_word_t) { + .level0 = 0, + .duration0 = reset_ticks, + .level1 = 0, + .duration1 = reset_ticks, + }; + *ret_encoder = &led_encoder->base; + return ESP_OK; +err: + if (led_encoder) { + if (led_encoder->bytes_encoder) { + rmt_del_encoder(led_encoder->bytes_encoder); + } + if (led_encoder->copy_encoder) { + rmt_del_encoder(led_encoder->copy_encoder); + } + free(led_encoder); + } + return ret; +} \ No newline at end of file diff --git a/DinnerRecv/main/led_strip_encoder.h b/DinnerRecv/main/led_strip_encoder.h new file mode 100644 index 0000000..085d715 --- /dev/null +++ b/DinnerRecv/main/led_strip_encoder.h @@ -0,0 +1,31 @@ +#pragma once + +#include "driver/rmt_encoder.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Type of led strip encoder configuration + */ +typedef struct { + uint32_t resolution; /*!< Encoder resolution, in Hz */ +} led_strip_encoder_config_t; + +/** + * @brief Create RMT encoder for encoding LED strip pixels into RMT symbols + * + * @param[in] config Encoder configuration + * @param[out] ret_encoder Returned encoder handle + * @return + * - ESP_ERR_INVALID_ARG for any invalid arguments + * - ESP_ERR_NO_MEM out of memory when creating encoder + * - ESP_OK if creating encoder successfully + */ +esp_err_t rmt_new_led_strip_encoder(const led_strip_encoder_config_t *config, + rmt_encoder_handle_t *ret_encoder); + +#ifdef __cplusplus +} +#endif diff --git a/DinnerRecv/main/main.c b/DinnerRecv/main/main.c new file mode 100644 index 0000000..3fd4a55 --- /dev/null +++ b/DinnerRecv/main/main.c @@ -0,0 +1,224 @@ +#include "driver/rmt_tx.h" +#include "esp_log.h" +#include "esp_now.h" +#include "esp_system.h" +#include "esp_timer.h" +#include "esp_wifi.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "led_strip_encoder.h" +#include "nvs_flash.h" +#include +#include +#include + +#define LED_STRIP_GPIO_NUM 8 +#define LED_STRIP_LED_NUMBERS 4 +#define LED_STRIP_RMT_RES_HZ \ + (10 * 1000 * 1000) // 10MHz resolution, 1 tick = 0.1us + +#define ESPNOW_WIFI_CHANNEL 6 + +static const char *TAG = "DinnerRecv"; + +// Global variables +static bool dinner_alert = false; +static uint64_t dinner_start_time = 0; +static uint64_t last_blink_time = 0; +static bool led_state = false; +static uint8_t breath = 0; +static uint64_t last_breath_time = 0; + +// RMT and LED strip handles +static rmt_channel_handle_t led_chan = NULL; +static rmt_encoder_handle_t led_encoder = NULL; + +typedef struct { + uint8_t r; + uint8_t g; + uint8_t b; +} led_color_t; + +static led_color_t led_strip_buf[LED_STRIP_LED_NUMBERS]; + +static void led_strip_set_pixel(int index, uint8_t red, uint8_t green, + uint8_t blue) { + if (index < LED_STRIP_LED_NUMBERS) { + led_strip_buf[index].r = red; + led_strip_buf[index].g = green; + led_strip_buf[index].b = blue; + } +} + +static void led_strip_clear(void) { + for (int i = 0; i < LED_STRIP_LED_NUMBERS; i++) { + led_strip_set_pixel(i, 0, 0, 0); + } +} + +static void led_strip_show(void) { + rmt_transmit_config_t tx_config = { + .loop_count = 0, // no transfer loop + }; + + rmt_transmit(led_chan, led_encoder, led_strip_buf, sizeof(led_strip_buf), + &tx_config); + rmt_tx_wait_all_done(led_chan, portMAX_DELAY); +} + +static uint64_t get_time_ms(void) { return esp_timer_get_time() / 1000; } + +static void on_data_received(const esp_now_recv_info_t *mac_addr, + const uint8_t *data, int data_len) { + char message[data_len + 1]; + memcpy(message, data, data_len); + message[data_len] = '\0'; + + ESP_LOGI(TAG, "Received message: %s", message); + + if (strcmp(message, "dinner") == 0) { + ESP_LOGI(TAG, "Dinner alert received!"); + dinner_alert = true; + dinner_start_time = get_time_ms(); + last_blink_time = get_time_ms(); + led_state = false; + } +} + +static void blink_all_leds(void) { + if (get_time_ms() - last_blink_time >= 2000) { + last_blink_time = get_time_ms(); + led_state = !led_state; + + if (led_state) { + for (int i = 0; i < LED_STRIP_LED_NUMBERS; i++) { + led_strip_set_pixel(i, 255, 0, 0); + } + } else { + led_strip_clear(); + } + led_strip_show(); + } +} + +static void breathe(void) { + uint8_t val = breath > 128 ? 256 - breath : breath; + for (int i = 0; i < LED_STRIP_LED_NUMBERS; i++) { + led_strip_set_pixel(i, 0, 0, val); + } + led_strip_show(); +} + +static void dinner_animation(void) { + if (get_time_ms() - dinner_start_time > 15 * 1000) { + dinner_alert = false; + ESP_LOGI(TAG, "Dinner alert timeout - returning to normal mode"); + led_strip_clear(); + led_strip_show(); + } else { + blink_all_leds(); + } +} + +static void breath_animation(void) { + uint64_t time = get_time_ms(); + if (time % 25 == 0 && time != last_breath_time) { + breath++; + last_breath_time = time; + breathe(); + } +} + +static esp_err_t init_wifi(void) { + esp_err_t ret = nvs_flash_init(); + if (ret == ESP_ERR_NVS_NO_FREE_PAGES || + ret == ESP_ERR_NVS_NEW_VERSION_FOUND) { + ESP_ERROR_CHECK(nvs_flash_erase()); + ret = nvs_flash_init(); + } + ESP_ERROR_CHECK(ret); + + ESP_ERROR_CHECK(esp_netif_init()); + ESP_ERROR_CHECK(esp_event_loop_create_default()); + wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); + ESP_ERROR_CHECK(esp_wifi_init(&cfg)); + ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM)); + ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA)); + ESP_ERROR_CHECK(esp_wifi_start()); + ESP_ERROR_CHECK( + esp_wifi_set_channel(ESPNOW_WIFI_CHANNEL, WIFI_SECOND_CHAN_NONE)); + + return ESP_OK; +} + +static esp_err_t init_espnow(void) { + esp_err_t ret = esp_now_init(); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "Error initializing ESP-NOW: %s", esp_err_to_name(ret)); + return ret; + } + + ESP_ERROR_CHECK(esp_now_register_recv_cb(on_data_received)); + ESP_LOGI(TAG, "ESP-NOW initialized and ready to receive messages"); + + return ESP_OK; +} + +static esp_err_t init_led_strip(void) { + ESP_LOGI(TAG, "Create RMT TX channel"); + rmt_tx_channel_config_t tx_chan_config = { + .clk_src = RMT_CLK_SRC_DEFAULT, + .gpio_num = LED_STRIP_GPIO_NUM, + .mem_block_symbols = 64, + .resolution_hz = LED_STRIP_RMT_RES_HZ, + .trans_queue_depth = 4, + }; + ESP_ERROR_CHECK(rmt_new_tx_channel(&tx_chan_config, &led_chan)); + + ESP_LOGI(TAG, "Install led strip encoder"); + led_strip_encoder_config_t encoder_config = { + .resolution = LED_STRIP_RMT_RES_HZ, + }; + ESP_ERROR_CHECK(rmt_new_led_strip_encoder(&encoder_config, &led_encoder)); + + ESP_LOGI(TAG, "Enable RMT TX channel"); + ESP_ERROR_CHECK(rmt_enable(led_chan)); + + // Clear all LEDs initially + led_strip_clear(); + led_strip_show(); + + return ESP_OK; +} + +void app_main(void) { + ESP_LOGI(TAG, "Dinner RECV"); + + // Initialize LED strip + ESP_ERROR_CHECK(init_led_strip()); + + // Initialize WiFi + ESP_ERROR_CHECK(init_wifi()); + + // Initialize ESP-NOW + ESP_ERROR_CHECK(init_espnow()); + + // Print WiFi parameters + uint8_t mac[6]; + esp_wifi_get_mac(WIFI_IF_STA, mac); + ESP_LOGI(TAG, "Wi-Fi parameters:"); + ESP_LOGI(TAG, " Mode: STA"); + ESP_LOGI(TAG, " MAC Address: %02x:%02x:%02x:%02x:%02x:%02x", mac[0], mac[1], + mac[2], mac[3], mac[4], mac[5]); + ESP_LOGI(TAG, " Channel: %d", ESPNOW_WIFI_CHANNEL); + + // Main loop + while (1) { + if (dinner_alert) { + dinner_animation(); + } else { + breath_animation(); + } + vTaskDelay(pdMS_TO_TICKS(10)); // Small delay to prevent watchdog timeout + } +} diff --git a/DinnerRecv/sdkconfig b/DinnerRecv/sdkconfig new file mode 100644 index 0000000..875d56c --- /dev/null +++ b/DinnerRecv/sdkconfig @@ -0,0 +1,2246 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 6.0.0 Project Configuration +# +CONFIG_SOC_ADC_SUPPORTED=y +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +CONFIG_SOC_UART_SUPPORTED=y +CONFIG_SOC_GDMA_SUPPORTED=y +CONFIG_SOC_UHCI_SUPPORTED=y +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +CONFIG_SOC_GPTIMER_SUPPORTED=y +CONFIG_SOC_TWAI_SUPPORTED=y +CONFIG_SOC_BT_SUPPORTED=y +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +CONFIG_SOC_XT_WDT_SUPPORTED=y +CONFIG_SOC_PHY_SUPPORTED=y +CONFIG_SOC_WIFI_SUPPORTED=y +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +CONFIG_SOC_EFUSE_HAS_EFUSE_RST_BUG=y +CONFIG_SOC_EFUSE_SUPPORTED=y +CONFIG_SOC_RTC_FAST_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_SYSTIMER_SUPPORTED=y +CONFIG_SOC_SUPPORT_COEXISTENCE=y +CONFIG_SOC_AES_SUPPORTED=y +CONFIG_SOC_MPI_SUPPORTED=y +CONFIG_SOC_SHA_SUPPORTED=y +CONFIG_SOC_HMAC_SUPPORTED=y +CONFIG_SOC_DIG_SIGN_SUPPORTED=y +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +CONFIG_SOC_MEMPROT_SUPPORTED=y +CONFIG_SOC_BOD_SUPPORTED=y +CONFIG_SOC_CLK_TREE_SUPPORTED=y +CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y +CONFIG_SOC_WDT_SUPPORTED=y +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +CONFIG_SOC_RNG_SUPPORTED=y +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y +CONFIG_SOC_PM_SUPPORTED=y +CONFIG_SOC_XTAL_SUPPORT_40M=y +CONFIG_SOC_AES_SUPPORT_DMA=y +CONFIG_SOC_AES_GDMA=y +CONFIG_SOC_AES_SUPPORT_AES_128=y +CONFIG_SOC_AES_SUPPORT_AES_256=y +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +CONFIG_SOC_ADC_ARBITER_SUPPORTED=y +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y +CONFIG_SOC_ADC_DMA_SUPPORTED=y +CONFIG_SOC_ADC_PERIPH_NUM=2 +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=5 +CONFIG_SOC_ADC_ATTEN_NUM=4 +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1 +CONFIG_SOC_ADC_PATT_LEN_MAX=8 +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +CONFIG_SOC_ADC_SHARED_POWER=y +CONFIG_SOC_APB_BACKUP_DMA=y +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y +CONFIG_SOC_CACHE_MEMORY_IBANK_SIZE=0x4000 +CONFIG_SOC_CPU_CORES_NUM=1 +CONFIG_SOC_CPU_INTR_NUM=32 +CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y +CONFIG_SOC_CPU_HAS_CSR_PC=y +CONFIG_SOC_CPU_BREAKPOINTS_NUM=8 +CONFIG_SOC_CPU_WATCHPOINTS_NUM=8 +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x80000000 +CONFIG_SOC_CPU_MISALIGNED_ACCESS_ON_PMP_MISMATCH_ISSUE=y +CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=3072 +CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 +CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 +CONFIG_SOC_AHB_GDMA_VERSION=1 +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=3 +CONFIG_SOC_GPIO_PORT=1 +CONFIG_SOC_GPIO_PIN_COUNT=22 +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y +CONFIG_SOC_GPIO_IN_RANGE_MAX=21 +CONFIG_SOC_GPIO_OUT_RANGE_MAX=21 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0 +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT=6 +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x00000000003FFFC0 +CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +CONFIG_SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP=y +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y +CONFIG_SOC_I2C_NUM=1 +CONFIG_SOC_HP_I2C_NUM=1 +CONFIG_SOC_I2C_FIFO_LEN=32 +CONFIG_SOC_I2C_CMD_REG_NUM=8 +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y +CONFIG_SOC_I2C_SUPPORT_XTAL=y +CONFIG_SOC_I2C_SUPPORT_RTC=y +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y +CONFIG_SOC_I2S_NUM=1 +CONFIG_SOC_I2S_HW_VERSION_2=y +CONFIG_SOC_I2S_SUPPORTS_XTAL=y +CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +CONFIG_SOC_I2S_SUPPORTS_PCM=y +CONFIG_SOC_I2S_SUPPORTS_PDM=y +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 +CONFIG_SOC_I2S_SUPPORTS_TDM=y +CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +CONFIG_SOC_LEDC_TIMER_NUM=4 +CONFIG_SOC_LEDC_CHANNEL_NUM=6 +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +CONFIG_SOC_MMU_PERIPH_NUM=1 +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +CONFIG_SOC_RMT_GROUPS=1 +CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=2 +CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=2 +CONFIG_SOC_RMT_CHANNELS_PER_GROUP=4 +CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 +CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y +CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y +CONFIG_SOC_RMT_SUPPORT_ASYNC_STOP=y +CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y +CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y +CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y +CONFIG_SOC_RMT_SUPPORT_XTAL=y +CONFIG_SOC_RMT_SUPPORT_APB=y +CONFIG_SOC_RMT_SUPPORT_RC_FAST=y +CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 +CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=108 +CONFIG_SOC_SLEEP_SYSTIMER_STALL_WORKAROUND=y +CONFIG_SOC_SLEEP_TGWDT_STOP_WORKAROUND=y +CONFIG_SOC_RTCIO_PIN_COUNT=0 +CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 +CONFIG_SOC_MPI_OPERATIONS_NUM=3 +CONFIG_SOC_RSA_MAX_BIT_LEN=3072 +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +CONFIG_SOC_SHA_SUPPORT_DMA=y +CONFIG_SOC_SHA_SUPPORT_RESUME=y +CONFIG_SOC_SHA_GDMA=y +CONFIG_SOC_SHA_SUPPORT_SHA1=y +CONFIG_SOC_SHA_SUPPORT_SHA224=y +CONFIG_SOC_SHA_SUPPORT_SHA256=y +CONFIG_SOC_SPI_PERIPH_NUM=2 +CONFIG_SOC_SPI_MAX_CS_NUM=6 +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +CONFIG_SOC_SPI_SUPPORT_DDRCLK=y +CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y +CONFIG_SOC_SPI_SUPPORT_CD_SIG=y +CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +CONFIG_SOC_SPI_SUPPORT_CLK_APB=y +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y +CONFIG_SOC_SPI_SCT_SUPPORTED=y +CONFIG_SOC_SPI_SCT_REG_NUM=14 +CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y +CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y +CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +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_SYSTIMER_COUNTER_NUM=2 +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 +CONFIG_SOC_MWDT_SUPPORT_XTAL=y +CONFIG_SOC_TWAI_CONTROLLER_NUM=1 +CONFIG_SOC_TWAI_MASK_FILTER_NUM=1 +CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y +CONFIG_SOC_TWAI_BRP_MIN=2 +CONFIG_SOC_TWAI_BRP_MAX=16384 +CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y +CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y +CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y +CONFIG_SOC_EFUSE_DIS_ICACHE=y +CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y +CONFIG_SOC_SECURE_BOOT_V2_RSA=y +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=32 +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 +CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=512 +CONFIG_SOC_UART_NUM=2 +CONFIG_SOC_UART_HP_NUM=2 +CONFIG_SOC_UART_FIFO_LEN=128 +CONFIG_SOC_UART_BITRATE_MAX=5000000 +CONFIG_SOC_UART_SUPPORT_APB_CLK=y +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y +CONFIG_SOC_UHCI_NUM=1 +CONFIG_SOC_COEX_HW_PTI=y +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +CONFIG_SOC_PM_SUPPORT_WIFI_PD=y +CONFIG_SOC_PM_SUPPORT_BT_PD=y +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y +CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y +CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y +CONFIG_SOC_PM_MODEM_PD_BY_SW=y +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_CLK_LP_FAST_SUPPORT_XTAL_D2=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y +CONFIG_SOC_WIFI_HW_TSF=y +CONFIG_SOC_WIFI_FTM_SUPPORT=y +CONFIG_SOC_WIFI_GCMP_SUPPORT=y +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_PHY_NEEDS_USB_WORKAROUND=y +CONFIG_SOC_BLE_SUPPORTED=y +CONFIG_SOC_BLE_MESH_SUPPORTED=y +CONFIG_SOC_BLE_50_SUPPORTED=y +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +CONFIG_SOC_BLUFI_SUPPORTED=y +CONFIG_SOC_PHY_COMBO_MODULE=y +CONFIG_IDF_CMAKE=y +CONFIG_IDF_TOOLCHAIN="gcc" +CONFIG_IDF_TOOLCHAIN_GCC=y +CONFIG_IDF_TARGET_ARCH_RISCV=y +CONFIG_IDF_TARGET_ARCH="riscv" +CONFIG_IDF_TARGET="esp32c3" +CONFIG_IDF_INIT_VERSION="6.0.0" +CONFIG_IDF_TARGET_ESP32C3=y +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0005 + +# +# 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 +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +# +# Application Rollback +# +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# end of Application Rollback + +# +# Recovery Bootloader and Rollback +# +# end of Recovery Bootloader and Rollback + +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set + +# +# Log +# +CONFIG_BOOTLOADER_LOG_VERSION_1=y +CONFIG_BOOTLOADER_LOG_VERSION=1 +# 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 + +# +# Format +# +# CONFIG_BOOTLOADER_LOG_COLORS is not set +CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y +# end of Format + +# +# Settings +# +CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y +CONFIG_BOOTLOADER_LOG_MODE_TEXT=y +# end of Settings +# end of Log + +CONFIG_BOOTLOADER_CPU_CLK_FREQ_MHZ=80 + +# +# Serial Flash Configurations +# +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# 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_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_BOOT_V2_RSA_SUPPORTED=y +CONFIG_SECURE_BOOT_V2_PREFERRED=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 +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y +# 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=9 +# 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_UART_CLK_IS_XTAL=y +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=3 +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y +CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y +CONFIG_ESP_ROM_GET_CLK_FREQ=y +CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP=y +CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y +CONFIG_ESP_ROM_HAS_NEWLIB=y +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y +CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +CONFIG_ESP_ROM_HAS_VERSION=y +CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y +CONFIG_ESP_ROM_CONSOLE_OUTPUT_SECONDARY=y +CONFIG_ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY=y + +# +# Boot ROM Behavior +# +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# Serial flasher config +# +# CONFIG_ESPTOOLPY_NO_STUB is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# 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=y +# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +# 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="2MB" +# 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=y +# CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set +# CONFIG_PARTITION_TABLE_TWO_OTA is not set +# CONFIG_PARTITION_TABLE_TWO_OTA_LARGE is not set +# CONFIG_PARTITION_TABLE_CUSTOM is not set +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Compiler options +# +CONFIG_COMPILER_OPTIMIZATION_DEBUG=y +# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# 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_ASSERT_NDEBUG_EVALUATE=y +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_NO_MERGE_CONSTANTS is not set +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set +CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set +# CONFIG_COMPILER_DISABLE_GCC15_WARNINGS is not set +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +CONFIG_COMPILER_RT_LIB_GCCLIB=y +CONFIG_COMPILER_RT_LIB_NAME="gcc" +CONFIG_COMPILER_ORPHAN_SECTIONS_ERROR=y +# CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set +# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set +# CONFIG_COMPILER_STATIC_ANALYZER 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_USB_CDC 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 + +# +# Common Options +# +# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set +# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set +# end of Common Options +# end of Bluetooth + +# +# Console Library +# +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Driver Configurations +# + +# +# Legacy TWAI Driver Configurations +# +# CONFIG_TWAI_SKIP_LEGACY_CONFLICT_CHECK is not set +CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y +# end of Legacy TWAI Driver Configurations + +# +# Legacy RMT Driver Configurations +# +# CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set +# CONFIG_RMT_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy RMT Driver Configurations + +# +# Legacy I2C Driver Configurations +# +# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2C Driver Configurations +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# CONFIG_EFUSE_VIRTUAL is not set +CONFIG_EFUSE_MAX_BLK_LEN=256 +# 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_USE_DS_PERIPHERAL=y +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# CONFIG_ESP_TLS_INSECURE is not set +CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y +# 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 +# CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set +# CONFIG_ADC_ONESHOT_FORCE_USE_ADC2_ON_C3 is not set +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +CONFIG_ESP_COEX_ENABLED=y +# CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set +# CONFIG_ESP_COEX_GPIO_DEBUG is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:GPIO Configurations +# +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set +CONFIG_GPTIMER_OBJ_CACHE_SAFE=y +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# CONFIG_I2S_CTRL_FUNC_IN_IRAM is not set +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:I3C Master Configurations +# +# CONFIG_I3C_MASTER_ISR_CACHE_SAFE is not set +# CONFIG_I3C_MASTER_ENABLE_DEBUG_LOG is not set +# CONFIG_I3C_MASTER_ISR_HANDLER_IN_IRAM is not set +# end of ESP-Driver:I3C Master Configurations + +# +# ESP-Driver:LEDC Configurations +# +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:RMT Configurations +# +CONFIG_RMT_ENCODER_FUNC_IN_IRAM=y +CONFIG_RMT_TX_ISR_HANDLER_IN_IRAM=y +CONFIG_RMT_RX_ISR_HANDLER_IN_IRAM=y +# CONFIG_RMT_RECV_FUNC_IN_IRAM is not set +# CONFIG_RMT_TX_ISR_CACHE_SAFE is not set +# CONFIG_RMT_RX_ISR_CACHE_SAFE is not set +CONFIG_RMT_OBJ_CACHE_SAFE=y +# CONFIG_RMT_ENABLE_DEBUG_LOG is not set +# CONFIG_RMT_ISR_IRAM_SAFE is not set +# end of ESP-Driver:RMT Configurations + +# +# ESP-Driver:Sigma Delta Modulator Configurations +# +# CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set +# CONFIG_SDM_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Sigma Delta Modulator Configurations + +# +# ESP-Driver:SPI Configurations +# +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# CONFIG_SPI_SLAVE_IN_IRAM is not set +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Temperature Sensor Configurations +# +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Temperature Sensor Configurations + +# +# ESP-Driver:TWAI Configurations +# +# CONFIG_TWAI_ISR_IN_IRAM is not set +# CONFIG_TWAI_IO_FUNC_IN_IRAM is not set +# CONFIG_TWAI_ISR_CACHE_SAFE is not set +# CONFIG_TWAI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:TWAI Configurations + +# +# ESP-Driver:UART Configurations +# +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# ESP-Driver:UHCI Configurations +# +# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set +# CONFIG_UHCI_ISR_CACHE_SAFE is not set +# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:UHCI Configurations + +# +# ESP-Driver:USB Serial/JTAG Configuration +# +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + +# +# Ethernet +# +CONFIG_ETH_ENABLED=y +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=y +# end of Event Loop Library + +# +# GDB Stub +# +CONFIG_ESP_GDBSTUB_ENABLED=y +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HID +# +CONFIG_ESPHID_TASK_SIZE_BT=2048 +CONFIG_ESPHID_TASK_SIZE_BLE=4096 +# end of ESP HID + +# +# 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 +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# CONFIG_ESP_HTTP_CLIENT_ENABLE_GET_CONTENT_RANGE is not set +CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 +# 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 +CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 +# 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 +CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 +# CONFIG_ESP_HTTPS_OTA_ENABLE_PARTIAL_DOWNLOAD is not set +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 +# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# + +# +# Chip revision +# +# CONFIG_ESP32C3_REV_MIN_0 is not set +# CONFIG_ESP32C3_REV_MIN_1 is not set +# CONFIG_ESP32C3_REV_MIN_2 is not set +CONFIG_ESP32C3_REV_MIN_3=y +# CONFIG_ESP32C3_REV_MIN_4 is not set +# CONFIG_ESP32C3_REV_MIN_101 is not set +CONFIG_ESP32C3_REV_MIN_FULL=3 +CONFIG_ESP_REV_MIN_FULL=3 + +# +# Maximum Supported ESP32-C3 Revision (Rev v1.99) +# +CONFIG_ESP32C3_REV_MAX_FULL=199 +CONFIG_ESP_REV_MAX_FULL=199 +CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 +CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=199 + +# +# Maximum Supported ESP32-C3 eFuse Block Revision (eFuse Block Rev v1.99) +# +# 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_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP32C3_UNIVERSAL_MAC_ADDRESSES_TWO is not set +CONFIG_ESP32C3_UNIVERSAL_MAC_ADDRESSES_FOUR=y +CONFIG_ESP32C3_UNIVERSAL_MAC_ADDRESSES=4 +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# CONFIG_ESP_SLEEP_DEBUG is not set +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# 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_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y +CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# GDMA Configurations +# +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +CONFIG_GDMA_ISR_HANDLER_IN_IRAM=y +CONFIG_GDMA_OBJ_DRAM_SAFE=y +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configurations + +# +# Main XTAL Config +# +CONFIG_XTAL_FREQ_40=y +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +# +# Power Supplier +# + +# +# Brownout Detector +# +CONFIG_ESP_BROWNOUT_DET=y +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +CONFIG_ESP_BROWNOUT_DET_LVL=7 +CONFIG_ESP_BROWNOUT_USE_INTR=y +# end of Brownout Detector +# end of Power Supplier + +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +CONFIG_ESP_INTR_IN_IRAM=y +# end of Hardware Settings + +# +# ESP-Driver:LCD Controller Configurations +# +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:LCD Controller Configurations + +# +# ESP-MM: Memory Management Configurations +# +# end of ESP-MM: Memory Management Configurations + +# +# ESP NETIF Adapter +# +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set +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_REPORT_DATA_TRAFFIC=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 +# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +CONFIG_ESP_PHY_ENABLED=y +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 is not set +CONFIG_ESP_PHY_ENABLE_USB=y +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set +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 +CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000 +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# CONFIG_ESP_PHY_RECORD_USED_TIME is not set +CONFIG_ESP_PHY_IRAM_OPT=y +# CONFIG_ESP_PHY_DEBUG is not set +# end of PHY + +# +# Power Management +# +CONFIG_PM_SLEEP_FUNC_IN_IRAM=y +# CONFIG_PM_ENABLE is not set +CONFIG_PM_SLP_IRAM_OPT=y +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +# end of Power Management + +# +# ESP PSRAM +# + +# +# ESP Ringbuf +# +# CONFIG_RINGBUF_IN_IRAM is not set +# CONFIG_RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP-ROM +# +CONFIG_ESP_ROM_PRINT_IN_IRAM=y +# end of ESP-ROM + +# +# ESP Security Specific +# +# end of ESP Security Specific + +# +# ESP System Settings +# +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_ESP_SYSTEM_IN_IRAM=y +# 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_PANIC_REBOOT_DELAY_SECONDS=0 +CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y +CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y +CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y +CONFIG_ESP_SYSTEM_NO_BACKTRACE=y +# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set +# CONFIG_ESP_SYSTEM_USE_FRAME_POINTER is not set +CONFIG_ESP_SYSTEM_MEMPROT=y +CONFIG_ESP_SYSTEM_MEMPROT_PMS=y +CONFIG_ESP_SYSTEM_MEMPROT_PMS_LOCK=y +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# 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_USB_SERIAL_JTAG is not set +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_NONE is not set +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y +CONFIG_ESP_CONSOLE_UART=y +CONFIG_ESP_CONSOLE_UART_NUM=0 +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ESP_INT_WDT=y +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +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_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_4=y +CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y +CONFIG_ESP_SYSTEM_HW_PC_RECORD=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +CONFIG_ESP_TIMER_IN_IRAM=y +# 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=3584 +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_CPU0=y +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of ESP Timer (High Resolution Timer) + +# +# Wi-Fi +# +CONFIG_ESP_WIFI_ENABLED=y +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP_WIFI_TX_BA_WIN=6 +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP_WIFI_RX_BA_WIN=6 +CONFIG_ESP_WIFI_NVS_ENABLED=y +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP_WIFI_IRAM_OPT=y +# CONFIG_ESP_WIFI_EXTRA_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_ENABLE_SAE_H2E=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_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +# CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT is not set +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# CONFIG_ESP_WIFI_FTM_ENABLE is not set +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=0 +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 +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER 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_USE_STRFUNC_NONE=y +# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set +# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# CONFIG_FATFS_USE_LABEL is not set +CONFIG_FATFS_LINK_LOCK=y +# CONFIG_FATFS_USE_DYN_BUFFERS is not set + +# +# File system free space calculation behavior +# +CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 +CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 +# end of File system free space calculation behavior +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# CONFIG_FREERTOS_SMP is not set +CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_HZ=100 +CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=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_THREAD_LOCAL_STORAGE_POINTERS=1 +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +CONFIG_FREERTOS_USE_TIMERS=y +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# 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_TICK_SUPPORT_SYSTIMER=y +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +# CONFIG_FREERTOS_IN_IRAM is not set +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +# +# Extra +# +# end of Extra + +CONFIG_FREERTOS_PORT=y +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +CONFIG_FREERTOS_NUMBER_OF_CORES=1 +# 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_GPIO_USE_ROM_IMPL=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_TASK_TRACKING 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 + +# +# Log +# +CONFIG_LOG_VERSION_1=y +# CONFIG_LOG_VERSION_2 is not set +CONFIG_LOG_VERSION=1 + +# +# Log Level +# +# 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 + +# +# Level Settings +# +# CONFIG_LOG_MASTER_LEVEL is not set +CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y +# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set +# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y +# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set +CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 +# end of Level Settings +# end of Log Level + +# +# Format +# +# CONFIG_LOG_COLORS is not set +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Format + +# +# Settings +# +CONFIG_LOG_MODE_TEXT_EN=y +CONFIG_LOG_MODE_TEXT=y +# end of Settings + +CONFIG_LOG_IN_IRAM=y +# end of Log + +# +# LWIP +# +CONFIG_LWIP_ENABLE=y +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# 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_EXTRA_IRAM_OPTIMIZATION is not set +CONFIG_LWIP_TIMERS_ONDEMAND=y +CONFIG_LWIP_ND6=y +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +CONFIG_LWIP_MAX_SOCKETS=10 +# 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=y +# CONFIG_LWIP_SO_RCVBUF is not set +# CONFIG_LWIP_NETBUF_RECVINFO is not set +CONFIG_LWIP_IP_DEFAULT_TTL=64 +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_IPV6_DUP_DETECT_ATTEMPTS=1 +# 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_DOES_ACD_CHECK is not set +# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set +# 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=69 +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 +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +CONFIG_LWIP_DHCPS_ADD_DNS=y +# 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=16 +CONFIG_LWIP_MAX_LISTENING_TCP=16 +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +CONFIG_LWIP_TCP_MAXRTX=12 +CONFIG_LWIP_TCP_SYNMAXRTX=12 +CONFIG_LWIP_TCP_MSS=1440 +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +CONFIG_LWIP_TCP_MSL=60000 +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# CONFIG_LWIP_TCP_SACK_OUT 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 +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +CONFIG_LWIP_MAX_UDP_PCBS=16 +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=y +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 +CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 +CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 +# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set +# CONFIG_LWIP_PPP_SUPPORT is not set +# 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 +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +CONFIG_LWIP_DNS_MAX_HOST_IP=1 +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set +# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set +# end of DNS + +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_DHCP_EXTRA_OPTION_NONE=y +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_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_DNS_EXT_RESOLVE_NONE=y +# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set +# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set +CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# + +# +# Core Configuration +# +CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_NONE=y +# CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_SIZE is not set +# CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_PERF is not set +CONFIG_MBEDTLS_FS_IO=y +# CONFIG_MBEDTLS_THREADING_C is not set +CONFIG_MBEDTLS_ERROR_STRINGS=y +CONFIG_MBEDTLS_VERSION_C=y +CONFIG_MBEDTLS_HAVE_TIME=y +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +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_VERSION_FEATURES is not set +# CONFIG_MBEDTLS_DEBUG is not set +CONFIG_MBEDTLS_SELF_TEST=y +# end of Core Configuration + +# +# Certificates +# +CONFIG_MBEDTLS_X509_USE_C=y +CONFIG_MBEDTLS_PEM_PARSE_C=y +CONFIG_MBEDTLS_PEM_WRITE_C=y +CONFIG_MBEDTLS_PK_C=y +CONFIG_MBEDTLS_PK_PARSE_C=y +CONFIG_MBEDTLS_PK_WRITE_C=y +# CONFIG_MBEDTLS_X509_REMOVE_INFO is not set +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +CONFIG_MBEDTLS_X509_CRT_PARSE_C=y +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# CONFIG_MBEDTLS_X509_CREATE_C is not set +CONFIG_MBEDTLS_X509_RSASSA_PSS_SUPPORT=y +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +CONFIG_MBEDTLS_ASN1_PARSE_C=y +CONFIG_MBEDTLS_ASN1_WRITE_C=y +CONFIG_MBEDTLS_OID_C=y +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + +# +# Certificate Bundle Configuration +# +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle Configuration + +# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY is not set +# end of Certificates + +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Protocol Configuration +# +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +CONFIG_MBEDTLS_TLS_SERVER=y +CONFIG_MBEDTLS_TLS_CLIENT=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_SSL_KEEP_PEER_CERTIFICATE is not set +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +CONFIG_MBEDTLS_SSL_CACHE_C=y +CONFIG_MBEDTLS_SSL_ALL_ALERT_MESSAGES=y + +# +# TLS Key Exchange Configuration +# +# 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 +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Configuration + +CONFIG_MBEDTLS_SSL_SERVER_NAME_INDICATION=y +CONFIG_MBEDTLS_SSL_ALPN=y +CONFIG_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH=y +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y +# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set +# end of TLS Protocol Configuration + +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +CONFIG_MBEDTLS_CIPHER_C=y + +# +# Symmetric Ciphers +# +CONFIG_MBEDTLS_AES_C=y +# CONFIG_MBEDTLS_CAMELLIA_C is not set +CONFIG_MBEDTLS_ARIA_C=y +# 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_CIPHER_MODE_CBC=y +CONFIG_MBEDTLS_CIPHER_MODE_CFB=y +CONFIG_MBEDTLS_CIPHER_MODE_CTR=y +CONFIG_MBEDTLS_CIPHER_MODE_OFB=y +CONFIG_MBEDTLS_CIPHER_MODE_XTS=y +CONFIG_MBEDTLS_GCM_C=y +# CONFIG_MBEDTLS_NIST_KW_C is not set +CONFIG_MBEDTLS_CIPHER_PADDING=y +CONFIG_MBEDTLS_CIPHER_PADDING_PKCS7=y +CONFIG_MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS=y +CONFIG_MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN=y +CONFIG_MBEDTLS_CIPHER_PADDING_ZEROS=y +CONFIG_MBEDTLS_AES_ROM_TABLES=y +# CONFIG_MBEDTLS_AES_FEWER_TABLES is not set +# CONFIG_MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH is not set +CONFIG_MBEDTLS_CMAC_C=y +# end of Symmetric Ciphers + +# +# Asymmetric Ciphers +# +CONFIG_MBEDTLS_BIGNUM_C=y +CONFIG_MBEDTLS_GENPRIME=y +CONFIG_MBEDTLS_RSA_C=y +CONFIG_MBEDTLS_ECP_C=y + +# +# Supported Curves +# +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 +# end of Supported Curves + +# +# Elliptic Curve Ciphers Configuration +# +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set +CONFIG_MBEDTLS_DHM_C=y +CONFIG_MBEDTLS_ECDH_C=y +# CONFIG_MBEDTLS_ECJPAKE_C is not set +CONFIG_MBEDTLS_ECDSA_C=y +CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y +CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# end of Elliptic Curve Ciphers Configuration +# end of Asymmetric Ciphers + +# +# Hash functions +# +# CONFIG_MBEDTLS_HKDF_C is not set +# CONFIG_MBEDTLS_POLY1305_C is not set +# CONFIG_MBEDTLS_RIPEMD160_C is not set +CONFIG_MBEDTLS_MD_C=y +CONFIG_MBEDTLS_MD5_C=y +CONFIG_MBEDTLS_SHA1_C=y +# CONFIG_MBEDTLS_SHA224_C is not set +CONFIG_MBEDTLS_SHA256_C=y +CONFIG_MBEDTLS_SHA384_C=y +CONFIG_MBEDTLS_SHA512_C=y +CONFIG_MBEDTLS_SHA3_C=y +CONFIG_MBEDTLS_ROM_MD5=y +# end of Hash functions + +# +# Hardware Acceleration +# +CONFIG_MBEDTLS_HARDWARE_SHA=y +CONFIG_MBEDTLS_HARDWARE_MPI=y +CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI=y +CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y +CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_HARDWARE_AES=y +CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y +CONFIG_MBEDTLS_AES_USE_INTERRUPT=y +CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 +CONFIG_MBEDTLS_PK_RSA_ALT_SUPPORT=y +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +# end of Hardware Acceleration + +# +# Entropy and Random Number Generation +# +CONFIG_MBEDTLS_ENTROPY_C=y +# CONFIG_MBEDTLS_ENTROPY_FORCE_SHA256 is not set +CONFIG_MBEDTLS_CTR_DRBG_C=y +CONFIG_MBEDTLS_HMAC_DRBG_C=y +# end of Entropy and Random Number Generation + +# +# Encoding/Decoding +# +CONFIG_MBEDTLS_BASE64_C=y +CONFIG_MBEDTLS_PKCS5_C=y +CONFIG_MBEDTLS_PKCS7_C=y +CONFIG_MBEDTLS_PKCS12_C=y +CONFIG_MBEDTLS_PKCS1_V15=y +CONFIG_MBEDTLS_PKCS1_V21=y +# end of Encoding/Decoding + +# +# Stream Cipher +# +# CONFIG_MBEDTLS_CHACHA20_C is not set +# end of Stream Cipher +# 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 + +# +# LibC +# +CONFIG_LIBC_NEWLIB=y +CONFIG_LIBC_MISC_IN_IRAM=y +CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set +# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set +# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set +CONFIG_LIBC_STDIN_LINE_ENDING_CR=y +# CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set +CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y +# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set +# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set +# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set +CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS=y +CONFIG_LIBC_ASSERT_BUFFER_SIZE=200 +# end of LibC + +# +# NVS +# +# CONFIG_NVS_ENCRYPTION is not set +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# OpenThread Spinel +# +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# end of OpenThread Spinel + +# CONFIG_OPENTHREAD_DEBUG is not set +# end of OpenThread + +# +# Protocomm +# +# CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0 is not set +# CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1 is not set +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=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_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 + +# +# Main Flash configuration +# + +# +# 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 + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set +# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set +CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# 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_ROM_IMPL is not set +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_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 + +# +# Auto-detect flash chips +# +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORT_ENABLED=y +CONFIG_SPI_FLASH_VENDOR_TH_SUPPORT_ENABLED=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=y +CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y +# 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 + +# +# 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 + +# +# 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_SELECT_IN_RAM is not set +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) + +CONFIG_VFS_INITIALIZE_DEV_NULL=y +# 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_STA_ALL_CHANNEL_SCAN=y +# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set +# end of Wi-Fi Provisioning Manager +# 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_APP_ROLLBACK_ENABLE is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +CONFIG_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y +# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +# CONFIG_EXTERNAL_COEX_ENABLE is not set +# CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set +# CONFIG_GPTIMER_ISR_IRAM_SAFE is not set +# CONFIG_EVENT_LOOP_PROFILING is not set +CONFIG_POST_EVENTS_FROM_ISR=y +CONFIG_POST_EVENTS_FROM_IRAM_ISR=y +CONFIG_GDBSTUB_SUPPORT_TASKS=y +CONFIG_GDBSTUB_MAX_TASKS=32 +# CONFIG_OTA_ALLOW_HTTP is not set +# CONFIG_ESP_SYSTEM_PD_FLASH is not set +CONFIG_ESP32C3_LIGHTSLEEP_GPIO_RESET_WORKAROUND=y +CONFIG_ESP32C3_RTC_CLK_SRC_INT_RC=y +# CONFIG_ESP32C3_RTC_CLK_SRC_EXT_CRYS is not set +# CONFIG_ESP32C3_RTC_CLK_SRC_EXT_OSC is not set +# CONFIG_ESP32C3_RTC_CLK_SRC_INT_8MD256 is not set +CONFIG_ESP32C3_RTC_CLK_CAL_CYCLES=1024 +CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y +CONFIG_BROWNOUT_DET=y +CONFIG_ESP32C3_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +# CONFIG_ESP32C3_BROWNOUT_DET_LVL_SEL_2 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP32C3_BROWNOUT_DET_LVL=7 +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +# CONFIG_ESP32C3_DEFAULT_CPU_FREQ_80 is not set +CONFIG_ESP32C3_DEFAULT_CPU_FREQ_160=y +CONFIG_ESP32C3_DEFAULT_CPU_FREQ_MHZ=160 +CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_VIA_TEE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_ESP32C3_MEMPROT_FEATURE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y +CONFIG_ESP32C3_MEMPROT_FEATURE_LOCK=y +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +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_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_ESP32C3_DEBUG_OCDAWARE=y +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP32_WIFI_ENABLED=y +CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 +CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y +CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# CONFIG_ESP32_WIFI_CSI_ENABLED is not set +CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y +CONFIG_ESP32_WIFI_TX_BA_WIN=6 +CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y +CONFIG_ESP32_WIFI_RX_BA_WIN=6 +CONFIG_ESP32_WIFI_NVS_ENABLED=y +CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 +CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 +CONFIG_ESP32_WIFI_IRAM_OPT=y +CONFIG_ESP32_WIFI_RX_IRAM_OPT=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y +CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_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=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +CONFIG_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_ESP32C3_TIME_SYSCALL_USE_RTC_SYSTIMER=y +# CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_ESP32C3_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_ESP32C3_TIME_SYSCALL_USE_SYSTIMER is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +# CONFIG_ESP32C3_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_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +CONFIG_SUPPORT_TERMIOS=y +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# End of deprecated options diff --git a/DinnerRecv/sdkconfig.defaults b/DinnerRecv/sdkconfig.defaults new file mode 100644 index 0000000..e01d435 --- /dev/null +++ b/DinnerRecv/sdkconfig.defaults @@ -0,0 +1,15 @@ +# ESP32 Configuration +CONFIG_ESPTOOLPY_FLASHMODE_QIO=y +CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y + +# WiFi Configuration +CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y + +# ESP-NOW Configuration +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=0 + +# Log level +CONFIG_LOG_DEFAULT_LEVEL_INFO=y + +# RMT Configuration +CONFIG_RMT_ENABLE_TX_CHANNEL=y \ No newline at end of file