diff --git a/README.md b/README.md index 2be4654..112ec04 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,35 @@ -# Product Name +# M5Unit-CardKB2-UserDemo -## Overview +**Factory firmware** for the [M5Stack Unit CardKB2](https://docs.m5stack.com/en/products/sku/u215) (**SKU: U215**), built with [ESP-IDF](https://github.com/espressif/esp-idf). It provides matrix keyboard scanning, RGB status LED, and key output over **I2C / UART / ESP-NOW / BLE HID**—including manufacturing / QA hooks such as I2C-triggered production-test mode. -### SKU:xxx +----------------- +## Operating mode -Description of the product +| Mode | Description | +|------|-------------| +| **I2C** (default) | I2C slave reports characters / key data to the host. | +| **UART** | Custom frames with key index and press / release over UART. | +| **ESP-NOW** | Broadcasts key frames (similar framing to UART). | +| **BLE HID** | Bluetooth HID keyboard, including arrow keys via Fn combos. | -## Related Link +### Switching modes -- [Document & Datasheet](https://docs.m5stack.com/en/unit/product_Link) +Hold **Fn + Sym**, then press **1 / 2 / 3 / 4** on the top number row to select **I2C / UART / ESP-NOW / BLE HID** respectively. -## Required Libraries: +**Note:** **Fn + 1** alone (top-left number key) sends **ESC** in most modes; it does **not** switch modes. -- [Adafruit_BMP280_Library](https://github.com/adafruit/Required_Libraries_Link) +-------------------- +## Build environment + +* idf version: ESP-IDF v6.1-dev-dirty + +```bash +cd src +idf.py set-target esp32c61 +idf.py build +idf.py -p flash monitor +``` ## License -- [Product Name- MIT](LICENSE) - -## Remaining steps(Editorial Staff Look,After following the steps, remember to delete all the content below) - -1. Change [clang format check path](./.github/workflows/clang-format-check.yml#L42-L47). -2. Add License content to [LICENSE](/LICENSE). -3. Change link on line 78 of [bug-report.yml](./.github/ISSUE_TEMPLATE/bug-report.yml#L79). - -```cpp -Example -# M5Unit-ENV - -## Overview - -### SKU:U001 & U001-B & U001-C - -Contains M5Stack-**UNIT ENV** series related case programs.ENV is an environmental sensor with integrated SHT30 and QMP6988 internally to detect temperature, humidity, and atmospheric pressure data. - -## Related Link - -- [Document & Datasheet](https://docs.m5stack.com/en/unit/envIII) - -## Required Libraries: - -- [Adafruit_BMP280_Library](https://github.com/adafruit/Adafruit_BMP280_Library) - -## License - -- [M5Unit-ENV - MIT](LICENSE) -``` \ No newline at end of file +This project is licensed under the MIT License—see [LICENSE](LICENSE). diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..98ee917 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,7 @@ +# The following five 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(main) diff --git a/src/dependencies.lock b/src/dependencies.lock new file mode 100644 index 0000000..10d3e28 --- /dev/null +++ b/src/dependencies.lock @@ -0,0 +1,35 @@ +dependencies: + espressif/button: + component_hash: 4ed25fcf354b48aa5e5680b9e7549e38d7738f9b613c94a2e39119c100db9c95 + dependencies: + - name: espressif/cmake_utilities + registry_url: https://components.espressif.com + require: private + version: '*' + - name: idf + require: private + version: '>=4.0' + source: + registry_url: https://components.espressif.com/ + type: service + version: 4.1.4 + espressif/cmake_utilities: + component_hash: 05165f30922b422b4b90c08845e6d449329b97370fbd06309803d8cb539d79e3 + dependencies: + - name: idf + require: private + version: '>=4.1' + source: + registry_url: https://components.espressif.com + type: service + version: 1.1.1 + idf: + source: + type: idf + version: 6.1.0 +direct_dependencies: +- espressif/button +- idf +manifest_hash: d181cbae979e2a4195884d101aa2bd9d54059e652a36664cfc40a9fa26ec2dd7 +target: esp32c61 +version: 3.0.0 diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt new file mode 100644 index 0000000..acd5266 --- /dev/null +++ b/src/main/CMakeLists.txt @@ -0,0 +1,29 @@ +set(src_dirs + . + ./app + ./bsp +) + +set(include_dirs + . + ./app + ./bsp +) + +idf_component_register( + SRC_DIRS + ${src_dirs} + INCLUDE_DIRS + ${include_dirs} + REQUIRES + esp_hid + esp_driver_ledc + esp_driver_i2c + esp_driver_uart + esp_wifi + esp_netif + bt + PRIV_REQUIRES + nvs_flash +) + diff --git a/src/main/app/app_factory.c b/src/main/app/app_factory.c new file mode 100644 index 0000000..0065bba --- /dev/null +++ b/src/main/app/app_factory.c @@ -0,0 +1,831 @@ +//============================================== +// Includes +//============================================== +#include "app_factory.h" +#include "app_production_test.h" +#include "bsp_keyboard.h" +#include "bsp_rgb_led.h" +#include "bsp_blehid.h" +#include "bsp_uart.h" +#include "bsp_i2c.h" +#include "bsp_espnow.h" +#include "esp_err.h" +#include "esp_log.h" +#include "nvs.h" +#include + +//=================================================================================================== +// Global State / Queues +//=================================================================================================== + +static const char *TAG = "app/factory"; + +app_mode_t g_mode = MODE_I2C; +QueueHandle_t mode_queue = NULL; + +typedef struct { + int button_index; + button_event_t event; + bool is_repeat; +} key_event_t; + +#define KEY_EVENT_QUEUE_SIZE 32 +static QueueHandle_t key_event_queue = NULL; + +// Aa / Fn / Sym 状态 +static bool caps_one_time = false; +static bool caps_locked = false; +static bool caps_hold = false; +static bool pending_click = false; +static bool fn_pressed = false; +static bool sym_pressed = false; // Sym 键按下状态(用于组合键检测) +static bool sym_mode = false; // Sym 模式开关状态(用于符号输入) +static TaskHandle_t led_delay_task_handle = NULL; + +// 按键保持功能 +#define MAX_KEY_INDEX 44 +#define KEY_REPEAT_DELAY_MS 300 // 首次重复延迟:300ms +#define KEY_REPEAT_INTERVAL_MS 50 // 重复间隔:50ms +static bool key_pressed[MAX_KEY_INDEX] = {0}; +static uint32_t key_press_time[MAX_KEY_INDEX] = {0}; +static uint32_t key_last_repeat_time[MAX_KEY_INDEX] = {0}; +static TaskHandle_t key_repeat_task_handle = NULL; + +//=================================================================================================== +// RGB Indicator Task +//=================================================================================================== + +// RGB 指示任务 +typedef enum { + RGB_CMD_SET_STATE = 0, + RGB_CMD_BLINK_WHITE, +} rgb_cmd_type_t; + +typedef struct { + rgb_cmd_type_t type; + uint8_t r; + uint8_t g; + uint8_t b; + uint8_t times; +} rgb_cmd_t; + +static QueueHandle_t rgb_cmd_queue = NULL; +static TaskHandle_t rgb_task_handle = NULL; + +//=================================================================================================== +// Keymap Tables +//=================================================================================================== +// 按键映射表(ASCII) +static const uint8_t keymap_normal[4][11] = { + {0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x30, 0x00}, + {0x71, 0x77, 0x65, 0x72, 0x74, 0x79, 0x75, 0x69, 0x6F, 0x70, 0x08}, + {0x41, 0x61, 0x73, 0x64, 0x66, 0x67, 0x68, 0x6A, 0x6B, 0x6C, 0x0A}, + {0x46, 0x53, 0x7A, 0x78, 0x63, 0x76, 0x62, 0x6E, 0x6D, 0x20, 0x00} +}; + +static const uint8_t keymap_sym[4][11] = { + {0x21, 0x40, 0x23, 0x24, 0x25, 0x5E, 0x26, 0x2A, 0x28, 0x29, 0x00}, + {0x7E, 0x60, 0x3F, 0x5C, 0x2F, 0x7C, 0x5F, 0x2D, 0x2B, 0x3D, 0x08}, + {0x41, 0x7B, 0x7D, 0x5E, 0x5B, 0x5D, 0x22, 0x27, 0x3B, 0x3A, 0x0A}, + {0x46, 0x53, 0x5A, 0x58, 0x43, 0x3C, 0x3E, 0x2C, 0x2E, 0x20, 0x00} +}; + +//=================================================================================================== +// Forward Declarations +//=================================================================================================== +static bool app_get_key_char(int button_index, char *out_char); +static void app_process_key_event(key_event_t *key_event); +static void app_mode_apply(app_mode_t new_mode, bool save_nvs); + +//=================================================================================================== +// LED Helpers +//=================================================================================================== +static bool app_is_caps_active(void) +{ + return caps_one_time || caps_locked || caps_hold; +} + +static void rgb_indicator_task(void *arg) +{ + uint8_t current_r = 0; + uint8_t current_g = 0; + uint8_t current_b = 0; + + while (1) { + rgb_cmd_t cmd; + if (xQueueReceive(rgb_cmd_queue, &cmd, portMAX_DELAY) != pdTRUE) { + continue; + } + + switch (cmd.type) { + case RGB_CMD_SET_STATE: + current_r = cmd.r; + current_g = cmd.g; + current_b = cmd.b; + bsp_rgb_led_set_color(current_r, current_g, current_b); + break; + case RGB_CMD_BLINK_WHITE: + for (uint8_t i = 0; i < cmd.times; i++) { + bsp_rgb_led_set_color(255, 255, 255); + vTaskDelay(pdMS_TO_TICKS(200)); + bsp_rgb_led_set_color(0, 0, 0); + vTaskDelay(pdMS_TO_TICKS(200)); + } + bsp_rgb_led_set_color(current_r, current_g, current_b); + break; + default: + break; + } + } +} + +static void app_update_led_state(void) +{ + // Fn -- Red,Caps -- Green,Sym -- Blue + uint8_t r = fn_pressed ? 255 : 0; + uint8_t g = app_is_caps_active() ? 255 : 0; + uint8_t b = sym_mode ? 255 : 0; + rgb_cmd_t cmd = { + .type = RGB_CMD_SET_STATE, + .r = r, + .g = g, + .b = b, + .times = 0 + }; + if (rgb_cmd_queue != NULL) { + xQueueSend(rgb_cmd_queue, &cmd, 0); + } +} + +static void app_led_blink_white(uint8_t times) +{ + rgb_cmd_t cmd = { + .type = RGB_CMD_BLINK_WHITE, + .r = 0, + .g = 0, + .b = 0, + .times = times + }; + if (rgb_cmd_queue != NULL) { + xQueueSend(rgb_cmd_queue, &cmd, 0); + } +} + +//=================================================================================================== +// Mode / NVS Helpers +//=================================================================================================== +static uint8_t app_mode_to_blink_count(app_mode_t mode) +{ + switch (mode) { + case MODE_I2C: + return 1; + case MODE_UART: + return 2; + case MODE_ESPNOW: + return 3; + case MODE_BLEHID: + return 4; + case MODE_PRODTEST: + return 5; + case MODE_NONE: + default: + return 0; + } +} + +static const char *app_mode_to_string(app_mode_t mode) +{ + switch (mode) { + case MODE_NONE: + return "NONE"; + case MODE_I2C: + return "I2C"; + case MODE_UART: + return "UART"; + case MODE_ESPNOW: + return "ESP-NOW"; + case MODE_BLEHID: + return "BLE-HID"; + case MODE_PRODTEST: + return "PRODTEST"; + default: + return "UNKNOWN"; + } +} + +static void app_print_mode(app_mode_t mode) +{ + printf("Unit CardKB2 MODE: %s\r\n", app_mode_to_string(mode)); +} + +static void app_print_key_event(int key_id, bool pressed) +{ + // 获取按键字符(如果有) + char key_char = 0; + bool has_char = app_get_key_char(key_id, &key_char); + + if (has_char && key_char >= 32 && key_char <= 126) { + // 可打印字符 + printf("KEY[%2d] '%c' %s\r\n", key_id, key_char, pressed ? "PRESS" : "RELEASE"); + } else if (has_char) { + // 控制字符 + const char *ctrl_name = ""; + switch (key_char) { + case 0x08: ctrl_name = "BS"; break; + case 0x09: ctrl_name = "TAB"; break; + case 0x0A: ctrl_name = "LF"; break; + case 0x0D: ctrl_name = "CR"; break; + case 0x20: ctrl_name = "SPACE"; break; + case 0x1B: ctrl_name = "ESC"; break; + default: ctrl_name = "CTRL"; break; + } + printf("KEY[%2d] %s %s\r\n", key_id, ctrl_name, pressed ? "PRESS" : "RELEASE"); + } else { + // 特殊功能键(Aa/Fn/Sym等) + const char *key_name = ""; + if (key_id == KEY_AA_TOGGLE) { + key_name = "Aa"; + } else if (key_id == KEY_FN) { + key_name = "Fn"; + } else if (key_id == KEY_SYM) { + key_name = "Sym"; + } else if (key_id == KEY_DEL) { + key_name = "Del"; + } else if (key_id == KEY_ENTER) { + key_name = "Enter"; + } else if (key_id == KEY_SPACE) { + key_name = "Space"; + } else { + key_name = "?"; + } + printf("KEY[%2d] %s %s\r\n", key_id, key_name, pressed ? "PRESS" : "RELEASE"); + } +} + +static void app_save_mode_to_nvs(app_mode_t mode) +{ + if (mode != MODE_I2C && mode != MODE_UART && mode != MODE_BLEHID && mode != MODE_ESPNOW) { + return; + } + + nvs_handle_t handle; + if (nvs_open("cardkb2", NVS_READWRITE, &handle) != ESP_OK) { + return; + } + + uint8_t value = (uint8_t)mode; + if (nvs_set_u8(handle, "mode", value) == ESP_OK) { + nvs_commit(handle); + } + nvs_close(handle); +} + +static app_mode_t app_load_mode_from_nvs(void) +{ + nvs_handle_t handle; + uint8_t value = (uint8_t)MODE_I2C; + if (nvs_open("cardkb2", NVS_READONLY, &handle) == ESP_OK) { + if (nvs_get_u8(handle, "mode", &value) != ESP_OK) { + value = (uint8_t)MODE_I2C; + } + nvs_close(handle); + } + if (value == MODE_NONE || value >= MODE_MAX) { + return MODE_I2C; + } + if (value == MODE_I2C || value == MODE_UART || value == MODE_BLEHID || value == MODE_ESPNOW) { + return (app_mode_t)value; + } + return MODE_I2C; +} + +//=================================================================================================== +// Output Helpers (UART / ESP-NOW) +//=================================================================================================== +static void app_send_uart_frame(uint8_t key_id, bool pressed) +{ + uint8_t frame[5]; + frame[0] = 0xAA; + frame[1] = 0x03; + frame[2] = key_id; + frame[3] = pressed ? 0x01 : 0x02; + frame[4] = (uint8_t)((frame[1] + frame[2] + frame[3]) & 0xFF); + bsp_uart_send(frame, sizeof(frame)); +} + +static void app_send_espnow_frame(uint8_t key_id, bool pressed) +{ + uint8_t frame[5]; + frame[0] = 0xAA; + frame[1] = 0x03; + frame[2] = key_id; + frame[3] = pressed ? 0x01 : 0x02; + frame[4] = (uint8_t)((frame[1] + frame[2] + frame[3]) & 0xFF); + bsp_espnow_send(frame, sizeof(frame)); +} + +//=================================================================================================== +// Key Handling Helpers +//=================================================================================================== +static bool app_is_special_key(int button_index) +{ + return (button_index == KEY_AA_TOGGLE || button_index == KEY_FN || button_index == KEY_SYM); +} + +static bool app_is_repeatable_key(int button_index) +{ + if (button_index < 0 || button_index >= MAX_KEY_INDEX) { + return false; + } + return !app_is_special_key(button_index); +} + +static bool app_get_key_char(int button_index, char *out_char) +{ + if (button_index < 0 || button_index >= MAX_KEY_INDEX || out_char == NULL) { + return false; + } + + if (app_is_special_key(button_index)) { + return false; + } + + int row = button_index / 11; + int col = button_index % 11; + if (row < 0 || row >= 4 || col < 0 || col >= 11) { + return false; + } + + uint8_t key_char = sym_mode ? keymap_sym[row][col] : keymap_normal[row][col]; + if (key_char == 0) { + return false; + } + + if (!sym_mode && app_is_caps_active() && key_char >= 0x61 && key_char <= 0x7A) { + key_char = (uint8_t)(key_char - 0x61 + 0x41); + } + + *out_char = (char)key_char; + return true; +} + +static void app_clear_caps_one_time(void) +{ + if (caps_one_time) { + caps_one_time = false; + app_update_led_state(); + } +} + +//=================================================================================================== +// Tasks +//=================================================================================================== +static void led_delay_task(void *arg) +{ + while (1) { + vTaskSuspend(NULL); + vTaskDelay(pdMS_TO_TICKS(300)); + if (pending_click) { + pending_click = false; + app_update_led_state(); + } + } +} + +static void key_repeat_task(void *arg) +{ + while (1) { + uint32_t current_time = xTaskGetTickCount() * portTICK_PERIOD_MS; + for (int i = 0; i < MAX_KEY_INDEX; i++) { + if (!app_is_repeatable_key(i)) { + continue; + } + if (key_pressed[i] && key_press_time[i] > 0) { + bool should_repeat = false; + if (key_last_repeat_time[i] == 0) { + uint32_t elapsed = current_time - key_press_time[i]; + if (elapsed >= KEY_REPEAT_DELAY_MS) { + should_repeat = true; + } + } else { + uint32_t elapsed = current_time - key_last_repeat_time[i]; + if (elapsed >= KEY_REPEAT_INTERVAL_MS) { + should_repeat = true; + } + } + + if (should_repeat && key_event_queue != NULL) { + key_event_t evt = { + .button_index = i, + .event = BUTTON_PRESS_DOWN, + .is_repeat = true + }; + xQueueSend(key_event_queue, &evt, 0); + key_last_repeat_time[i] = current_time; + } + } + } + vTaskDelay(pdMS_TO_TICKS(KEY_REPEAT_INTERVAL_MS)); + } +} + +static void ble_hid_event_callback(ble_hid_state_t state) +{ + if (state == BLE_HID_STATE_CONNECTED) { + printf("BLE-HID connected\r\n"); + } else if (state == BLE_HID_STATE_DISCONNECTED) { + printf("BLE-HID disconnected\r\n"); + // 断开连接时清除所有按键状态,防止自动输入 + for (int i = 0; i < MAX_KEY_INDEX; i++) { + key_pressed[i] = false; + key_press_time[i] = 0; + key_last_repeat_time[i] = 0; + } + // 挂起按键重复任务 + if (key_repeat_task_handle != NULL) { + vTaskSuspend(key_repeat_task_handle); + } + } +} + +//=================================================================================================== +// Mode Switch / Key Processing +//=================================================================================================== +static void app_mode_apply(app_mode_t new_mode, bool save_nvs) +{ + if (new_mode == MODE_NONE || new_mode >= MODE_MAX) { + return; + } + + if (g_mode == MODE_PRODTEST) { + app_production_test_set_enabled(false); + app_production_test_deinit(); + } + + bsp_i2c_deinit(); + bsp_uart_deinit(); + bsp_blehid_deinit(); + if (bsp_espnow_is_initialized()) { + bsp_espnow_deinit(); + } + + g_mode = new_mode; + switch (g_mode) { + case MODE_I2C: + bsp_i2c_init(); + break; + case MODE_UART: + bsp_uart_init(); + break; + case MODE_ESPNOW: + bsp_espnow_init(); + break; + case MODE_BLEHID: + bsp_blehid_register_event_cb(ble_hid_event_callback); + if (bsp_blehid_init() == ESP_OK) { + bsp_blehid_start_advertising(); + } + break; + case MODE_PRODTEST: + bsp_uart_init(); + app_production_test_init(); + app_production_test_set_enabled(true); + break; + default: + break; + } + + if (save_nvs) { + app_save_mode_to_nvs(g_mode); + } + + app_print_mode(g_mode); + app_led_blink_white(app_mode_to_blink_count(g_mode)); +} + +void app_key_event_cb(button_event_data_t *event_data) +{ + if (key_event_queue != NULL) { + key_event_t evt = { + .button_index = event_data->button_index, + .event = event_data->event, + .is_repeat = false + }; + BaseType_t xHigherPriorityTaskWoken = pdFALSE; + xQueueSendFromISR(key_event_queue, &evt, &xHigherPriorityTaskWoken); + portYIELD_FROM_ISR(xHigherPriorityTaskWoken); + } +} + +static void app_process_key_event(key_event_t *key_event) +{ + bool is_press = (key_event->event == BUTTON_PRESS_DOWN); + bool is_release = (key_event->event == BUTTON_PRESS_UP); + uint32_t current_time = xTaskGetTickCount() * portTICK_PERIOD_MS; + + // 更新按键保持状态 + if (key_event->button_index < MAX_KEY_INDEX) { + if (is_press) { + key_pressed[key_event->button_index] = true; + key_press_time[key_event->button_index] = current_time; + key_last_repeat_time[key_event->button_index] = 0; + } else if (is_release) { + key_pressed[key_event->button_index] = false; + key_press_time[key_event->button_index] = 0; + key_last_repeat_time[key_event->button_index] = 0; + } + } + + // 控制按键重复任务 + if (key_repeat_task_handle != NULL) { + bool has_pressed_key = false; + for (int i = 0; i < MAX_KEY_INDEX; i++) { + if (key_pressed[i]) { + has_pressed_key = true; + break; + } + } + if (has_pressed_key) { + vTaskResume(key_repeat_task_handle); + } else { + vTaskSuspend(key_repeat_task_handle); + } + } + + // USB 串口输出按键事件(仅真实按下/释放) + if ((is_press || is_release) && !key_event->is_repeat) { + app_print_key_event(key_event->button_index, is_press); + } + + // Fn + Sym + 数字键切换模式(仅按下事件,忽略重复) + if (is_press && !key_event->is_repeat && fn_pressed && sym_pressed) { + app_mode_t new_mode; + switch (key_event->button_index) { + case 0: // Fn + Sym + 1 + new_mode = MODE_I2C; + break; + case 1: // Fn + Sym + 2 + new_mode = MODE_UART; + break; + case 2: // Fn + Sym + 3 + new_mode = MODE_ESPNOW; + break; + case 3: // Fn + Sym + 4 + new_mode = MODE_BLEHID; + break; + default: + new_mode = MODE_MAX; + break; + } + if (new_mode < MODE_MAX && mode_queue != NULL) { + xQueueSend(mode_queue, &new_mode, 0); + return; + } + } + + // Fn + 1 = ESC 键(仅按下事件,忽略重复) + if (is_press && !key_event->is_repeat && fn_pressed && !sym_pressed && key_event->button_index == KEY_ESC) { + uint8_t esc_char = 0x1B; + if (g_mode == MODE_I2C) { + bsp_i2c_add_key(esc_char); // ESC ASCII 码 + } else if (g_mode == MODE_BLEHID) { + if (bsp_blehid_is_connected()) { + bsp_blehid_send_keycode(0, USB_HID_KEY_ESC); + } + } else if (g_mode == MODE_UART) { + bsp_uart_send(&esc_char, 1); + } + return; + } + + // UART / ESP-NOW 模式:按键索引 + 状态帧 + if (is_press || is_release) { + if (g_mode == MODE_UART) { + app_send_uart_frame((uint8_t)key_event->button_index, is_press); + } else if (g_mode == MODE_ESPNOW) { + app_send_espnow_frame((uint8_t)key_event->button_index, is_press); + } + } + + // 产测模式:通过 UART 上报按键事件 + if (g_mode == MODE_PRODTEST && (is_press || is_release)) { + bsp_uart_printf("+KEY:%d,%d\r\n", key_event->button_index, key_event->event); + } + + // 处理 Aa 键事件 + if (key_event->button_index == KEY_AA_TOGGLE) { + switch (key_event->event) { + case BUTTON_PRESS_DOWN: + if (!caps_locked) { + caps_hold = true; + app_update_led_state(); + } + return; + case BUTTON_PRESS_UP: + if (!caps_locked && caps_hold) { + pending_click = true; + caps_hold = false; + if (led_delay_task_handle != NULL) { + vTaskResume(led_delay_task_handle); + } + } else if (!caps_locked) { + caps_hold = false; + app_update_led_state(); + } + return; + case BUTTON_LONG_PRESS_START: + return; + case BUTTON_LONG_PRESS_UP: + if (!caps_locked) { + caps_hold = false; + app_update_led_state(); + } + return; + case BUTTON_SINGLE_CLICK: + pending_click = false; + if (caps_locked) { + caps_locked = false; + caps_one_time = false; + } else { + caps_one_time = true; + caps_locked = false; + } + app_update_led_state(); + return; + case BUTTON_DOUBLE_CLICK: + pending_click = false; + caps_locked = !caps_locked; + caps_one_time = false; + app_update_led_state(); + return; + default: + break; + } + } + + // 处理 Fn 键 + if (key_event->button_index == KEY_FN) { + if (is_press) { + fn_pressed = true; + } else if (is_release) { + fn_pressed = false; + } + app_update_led_state(); + return; + } + + // 处理方向键(Fn + D/Z/X/C) + // 注意:需要处理重复事件,以便长按时也能连续发送方向键 + if (is_press && fn_pressed) { + switch (key_event->button_index) { + case KEY_UP: // Fn+D = 上方向键 + if (g_mode == MODE_BLEHID) { + if (bsp_blehid_is_connected()) { + bsp_blehid_send_keycode(0, USB_HID_KEY_UP); + } + } + return; + + case KEY_LEFT: // Fn+Z = 左方向键 + if (g_mode == MODE_BLEHID) { + if (bsp_blehid_is_connected()) { + bsp_blehid_send_keycode(0, USB_HID_KEY_LEFT); + } + } + return; + + case KEY_DOWN: // Fn+X = 下方向键 + if (g_mode == MODE_BLEHID) { + if (bsp_blehid_is_connected()) { + bsp_blehid_send_keycode(0, USB_HID_KEY_DOWN); + } + } + return; + + case KEY_RIGHT: // Fn+C = 右方向键 + if (g_mode == MODE_BLEHID) { + if (bsp_blehid_is_connected()) { + bsp_blehid_send_keycode(0, USB_HID_KEY_RIGHT); + } + } + return; + + default: + break; + } + } + + // 处理 Sym 键 + if (key_event->button_index == KEY_SYM) { + if (is_press) { + sym_pressed = true; + } else if (is_release) { + sym_pressed = false; + } + // 单击切换符号模式(仅在非组合键时) + if (key_event->event == BUTTON_SINGLE_CLICK && !fn_pressed) { + sym_mode = !sym_mode; + app_update_led_state(); + } + // 如果 Fn 未按下,更新 LED 状态 + if (!fn_pressed) { + app_update_led_state(); + } + return; + } + + // I2C / BLE HID 模式:输出 ASCII + if (is_press && (g_mode == MODE_I2C || g_mode == MODE_BLEHID)) { + char key_char = 0; + if (app_get_key_char(key_event->button_index, &key_char)) { + if (g_mode == MODE_I2C) { + bsp_i2c_add_key((uint8_t)key_char); + } else if (g_mode == MODE_BLEHID) { + if (bsp_blehid_is_connected()) { + bsp_blehid_send_key(key_char); + } + } + + if (!key_event->is_repeat && + ((key_char >= 0x41 && key_char <= 0x5A) || (key_char >= 0x61 && key_char <= 0x7A))) { + app_clear_caps_one_time(); + } + } + } +} + +void app_mode_switch(void *arg) +{ + app_mode_t last = MODE_MAX; + while (1) { + app_mode_t new_mode; + if (xQueueReceive(mode_queue, &new_mode, portMAX_DELAY) == pdTRUE) { + if (new_mode == last) { + continue; + } + bool save_nvs = (new_mode != MODE_PRODTEST); + app_mode_apply(new_mode, save_nvs); + last = new_mode; + } + } +} + +//=================================================================================================== +// App Entry +//=================================================================================================== +void app_factory(void *arg) +{ + mode_queue = xQueueCreate(5, sizeof(app_mode_t)); + if (mode_queue == NULL) { + ESP_LOGE(TAG, "Create mode queue failed"); + return; + } + + key_event_queue = xQueueCreate(KEY_EVENT_QUEUE_SIZE, sizeof(key_event_t)); + if (key_event_queue == NULL) { + ESP_LOGE(TAG, "Create key event queue failed"); + return; + } + + rgb_cmd_queue = xQueueCreate(8, sizeof(rgb_cmd_t)); + if (rgb_cmd_queue == NULL) { + ESP_LOGE(TAG, "Create rgb cmd queue failed"); + return; + } + + bsp_keyboard_init(); + bsp_keyboard_add_event_cb(app_key_event_cb, BUTTON_PRESS_DOWN); + bsp_keyboard_add_event_cb(app_key_event_cb, BUTTON_PRESS_UP); + bsp_keyboard_add_event_cb_by_index(KEY_AA_TOGGLE, app_key_event_cb, BUTTON_SINGLE_CLICK); + bsp_keyboard_add_event_cb_by_index(KEY_AA_TOGGLE, app_key_event_cb, BUTTON_DOUBLE_CLICK); + bsp_keyboard_add_event_cb_by_index(KEY_SYM, app_key_event_cb, BUTTON_SINGLE_CLICK); + + bsp_rgb_led_init(); + bsp_rgb_led_set_color(0, 0, 0); + + xTaskCreate(led_delay_task, "led_delay", 8192, NULL, 1, &led_delay_task_handle); + if (led_delay_task_handle != NULL) { + vTaskSuspend(led_delay_task_handle); + } + + xTaskCreate(rgb_indicator_task, "rgb_indicator", 4096, NULL, 2, &rgb_task_handle); + + xTaskCreate(key_repeat_task, "key_repeat", 8192, NULL, 2, &key_repeat_task_handle); + if (key_repeat_task_handle != NULL) { + vTaskSuspend(key_repeat_task_handle); + } + + xTaskCreate(app_mode_switch, "mode_switch", 8192, NULL, 5, NULL); + + app_mode_t init_mode = app_load_mode_from_nvs(); + app_mode_apply(init_mode, false); + + while (1) { + key_event_t evt; + if (xQueueReceive(key_event_queue, &evt, portMAX_DELAY) == pdTRUE) { + app_process_key_event(&evt); + } + } +} + + diff --git a/src/main/app/app_factory.h b/src/main/app/app_factory.h new file mode 100644 index 0000000..92f432c --- /dev/null +++ b/src/main/app/app_factory.h @@ -0,0 +1,72 @@ +#pragma once + +#include "esp_log.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "driver/gpio.h" +#include "bsp_keyboard.h" + +// 工作模式定义 +typedef enum { + MODE_NONE = 0, // 未定义模式 + MODE_I2C = 1, // I2C 模式 (默认, Fn+1) + MODE_UART = 2, // UART 模式 (Fn+2) + MODE_ESPNOW = 3, // ESP-NOW 模式 (Fn+3) + MODE_BLEHID = 4, // BLE HID 模式 (Fn+4) + MODE_PRODTEST = 5, // 产测模式 + MODE_MAX +} app_mode_t; + +// I2C 触发产测模式切换相关变量(供 bsp_i2c ISR 使用) +extern QueueHandle_t mode_queue; +extern app_mode_t g_mode; + +#ifdef __cplusplus +extern "C" { +#endif + +// 固件版本定义 +#define FIRMWARE_VERSION 0x01 + +// 键盘状态定义 +typedef struct { + bool caps_lock; // 大写锁定状态 + bool fn_pressed; // Fn 键状态 + bool sym_pressed; // Sym 键状态 +} keyboard_state_t; + +// LED 状态定义 +typedef struct { + bool caps_led_on; // 大写锁定红灯 + bool sym_led_on; // 符号模式绿灯 + bool fn_led_on; // Fn 激活蓝灯 +} led_state_t; + +// 按键索引定义 +#define KEY_AA_TOGGLE 22 // Aa 大小写切换 (行2, 列0) +#define KEY_DEL 21 // Del 删除键 (行1, 列10) +#define KEY_ENTER 32 // Enter 回车键 (行2, 列10) +#define KEY_FN 33 // Fn 功能键 (行3, 列0) +#define KEY_SYM 34 // Sym 符号键 (行3, 列1) +#define KEY_SPACE 42 // Space 空格键 (行3, 列9) + +// Fn 键组合功能定义 +#define KEY_ESC 0 // ESC 键 (行0, 列0) = 0*11+0 = 0 (Fn+1) +#define KEY_UP 25 // 上方向键 (行2, 列3) = 2*11+3 = 25 (Fn+D) +#define KEY_LEFT 35 // 左方向键 (行3, 列2) = 3*11+2 = 35 (Fn+Z) +#define KEY_DOWN 36 // 下方向键 (行3, 列3) = 3*11+3 = 36 (Fn+X) +#define KEY_RIGHT 37 // 右方向键 (行3, 列4) = 3*11+4 = 37 (Fn+C) + +// 输出模式选择:1=DEBUG模式(输出index), 0=正常模式(输出ASCII) +#define KEYBOARD_DEBUG_MODE 0 + +// 函数声明 +void app_key_event_cb(button_event_data_t *event_data); +void app_mode_switch(void *arg); +void app_factory(void *arg); + +#ifdef __cplusplus +} +#endif + + \ No newline at end of file diff --git a/src/main/app/app_production_test.c b/src/main/app/app_production_test.c new file mode 100644 index 0000000..b93fc5a --- /dev/null +++ b/src/main/app/app_production_test.c @@ -0,0 +1,404 @@ +/** + * @file app_factorytest.c + * @brief 产测模式实现 + * @author Enable + * @date 2025/12/08 + */ + +#include "app_production_test.h" +#include "app_factory.h" +#include "bsp_uart.h" +#include "bsp_rgb_led.h" +#include +#include +#include "esp_log.h" +#include "esp_wifi.h" +#include "esp_event.h" +#include "esp_netif.h" +#include "nvs_flash.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "freertos/event_groups.h" + + +static const char *TAG = "app/production_test"; + +// WiFi 事件组 +static EventGroupHandle_t s_wifi_event_group = NULL; +#define WIFI_CONNECTED_BIT BIT0 +#define WIFI_FAIL_BIT BIT1 + +// 状态 +static bool s_production_test_initialized = false; +static bool s_production_test_enabled = false; +static wifi_conn_state_t s_wifi_state = WIFI_STATE_DISCONNECTED; +static char s_wifi_ip[16] = {0}; +static int s_retry_num = 0; +#define WIFI_MAX_RETRY 5 + +// RGB 测试任务 +static TaskHandle_t s_rgb_test_task_handle = NULL; +static bool s_rgb_test_running = false; + +// RGB 闪烁测试任务(红绿蓝白黑循环) +static void rgb_test_task(void *arg) +{ + // RGB 颜色定义 + const uint8_t colors[5][3] = { + {255, 0, 0}, // 红 + {0, 255, 0}, // 绿 + {0, 0, 255}, // 蓝 + {255, 255, 255}, // 白 + {0, 0, 0} // 黑 + }; + const char *color_names[] = {"红", "绿", "蓝", "白", "黑"}; + const int color_count = 5; + const int delay_ms = 500; + int color_index = 0; + + ESP_LOGI(TAG, "RGB test task started"); + while (s_rgb_test_running) { + bsp_rgb_led_set_color(colors[color_index][0], + colors[color_index][1], + colors[color_index][2]); + + ESP_LOGI(TAG, "RGB test: %s (R:%d, G:%d, B:%d)", + color_names[color_index], + colors[color_index][0], + colors[color_index][1], + colors[color_index][2]); + vTaskDelay(pdMS_TO_TICKS(delay_ms)); + color_index = (color_index + 1) % color_count; + } + bsp_rgb_led_set_color(0, 0, 0); + s_rgb_test_task_handle = NULL; + ESP_LOGI(TAG, "RGB test task stopped"); + vTaskDelete(NULL); +} + +// WiFi 事件处理 +static void wifi_event_handler(void *arg, esp_event_base_t event_base, int32_t event_id, void *event_data) +{ + if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_START) { + esp_wifi_connect(); + } else if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_DISCONNECTED) { + if (s_retry_num < WIFI_MAX_RETRY) { + esp_wifi_connect(); + s_retry_num++; + ESP_LOGI(TAG, "retry to connect to the AP"); + } else { + if (s_wifi_event_group) { + xEventGroupSetBits(s_wifi_event_group, WIFI_FAIL_BIT); + } + s_wifi_state = WIFI_STATE_FAILED; + bsp_uart_printf("+WIFI:FAILED,max_retry\r\n"); + } + ESP_LOGI(TAG, "connect to the AP fail"); + } else if (event_base == IP_EVENT && event_id == IP_EVENT_STA_GOT_IP) { + ip_event_got_ip_t *event = (ip_event_got_ip_t *)event_data; + snprintf(s_wifi_ip, sizeof(s_wifi_ip), IPSTR, IP2STR(&event->ip_info.ip)); + ESP_LOGI(TAG, "Got IP: %s", s_wifi_ip); + s_retry_num = 0; + if (s_wifi_event_group) { + xEventGroupSetBits(s_wifi_event_group, WIFI_CONNECTED_BIT); + } + s_wifi_state = WIFI_STATE_CONNECTED; + wifi_ap_record_t ap_info; + if (esp_wifi_sta_get_ap_info(&ap_info) == ESP_OK) { + bsp_uart_printf("+WIFI:CONNECTED,%d\r\n", ap_info.rssi); + } else { + bsp_uart_printf("+WIFI:CONNECTED,0\r\n"); + } + } +} + +static esp_err_t wifi_init(void) +{ + static bool wifi_initialized = false; + if (wifi_initialized) { + return ESP_OK; + } + + s_wifi_event_group = xEventGroupCreate(); + + ESP_ERROR_CHECK(esp_netif_init()); + ESP_ERROR_CHECK(esp_event_loop_create_default()); + esp_netif_create_default_wifi_sta(); + + wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); + ESP_ERROR_CHECK(esp_wifi_init(&cfg)); + + esp_event_handler_instance_t instance_any_id; + esp_event_handler_instance_t instance_got_ip; + ESP_ERROR_CHECK(esp_event_handler_instance_register(WIFI_EVENT, + ESP_EVENT_ANY_ID, + &wifi_event_handler, + NULL, + &instance_any_id)); + ESP_ERROR_CHECK(esp_event_handler_instance_register(IP_EVENT, + IP_EVENT_STA_GOT_IP, + &wifi_event_handler, + NULL, + &instance_got_ip)); + + ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA)); + + wifi_initialized = true; + return ESP_OK; +} + +static void uart_cmd_handler(const char *cmd, int len) +{ + // 去除首尾空白字符(包括 \r\n) + while (len > 0 && (cmd[len-1] == '\r' || cmd[len-1] == '\n' || cmd[len-1] == ' ' || cmd[len-1] == '\t')) { + len--; + } + const char *cmd_start = cmd; + while (len > 0 && (*cmd_start == ' ' || *cmd_start == '\t')) { + cmd_start++; + len--; + } + if (len == 0) { + return; + } + + ESP_LOGI(TAG, "CMD: %.*s", len, cmd_start); + + // AT+WIFI=SSID,PASSWORD + if (strncmp(cmd_start, "AT+WIFI=", 8) == 0) { + const char *params = cmd_start + 8; + if (strncmp(params, "DISCONNECT", 10) == 0) { + app_production_test_wifi_disconnect(); + bsp_uart_printf("+WIFI:DISCONNECTED\r\n"); + return; + } + char ssid[33] = {0}; + char password[65] = {0}; + const char *comma = strchr(params, ','); + if (comma) { + int ssid_len = comma - params; + if (ssid_len > 0 && ssid_len < 33) { + strncpy(ssid, params, ssid_len); + const char *pwd_start = comma + 1; + int pwd_len = strlen(pwd_start); + while (pwd_len > 0 && (pwd_start[pwd_len-1] == '\r' || pwd_start[pwd_len-1] == '\n')) { + pwd_len--; + } + if (pwd_len < 65) { + strncpy(password, pwd_start, pwd_len); + } + + ESP_LOGI(TAG, "WiFi connect: SSID=%s, PWD=%s", ssid, password); + bsp_uart_printf("+WIFI:CONNECTING\r\n"); + app_production_test_wifi_connect(ssid, password); + } + } + } + // AT+WIFI? + else if (strncmp(cmd_start, "AT+WIFI?", 8) == 0) { + if (s_wifi_state == WIFI_STATE_CONNECTED) { + // 获取 RSSI + wifi_ap_record_t ap_info; + if (esp_wifi_sta_get_ap_info(&ap_info) == ESP_OK) { + bsp_uart_printf("+WIFI:CONNECTED,%d\r\n", ap_info.rssi); + } else { + bsp_uart_printf("+WIFI:CONNECTED,0\r\n"); + } + } else if (s_wifi_state == WIFI_STATE_CONNECTING) { + bsp_uart_printf("+WIFI:CONNECTING\r\n"); + } else { + bsp_uart_printf("+WIFI:DISCONNECTED\r\n"); + } + } + // AT+VERSION? + else if (strncmp(cmd_start, "AT+VERSION?", 11) == 0) { + bsp_uart_printf("+VERSION:0x%02X\r\n", FIRMWARE_VERSION); + } + // AT+RGB=R,G,B + else if (strncmp(cmd_start, "AT+RGB=", 7) == 0) { + int r = 0, g = 0, b = 0; + if (sscanf(cmd_start + 7, "%d,%d,%d", &r, &g, &b) == 3) { + bsp_rgb_led_set_color((uint8_t)r, (uint8_t)g, (uint8_t)b); + bsp_uart_printf("+RGB:OK\r\n"); + } else { + bsp_uart_printf("+RGB:ERROR\r\n"); + } + } + // AT+FACTORY=0/1 + else if (strncmp(cmd_start, "AT+FACTORY=", 11) == 0) { + int enable = atoi(cmd_start + 11); + s_production_test_enabled = (enable != 0); + bsp_uart_printf("+FACTORY:%d\r\n", s_production_test_enabled ? 1 : 0); + ESP_LOGI(TAG, "Factory test mode: %s", s_production_test_enabled ? "ENABLED" : "DISABLED"); + } + // AT+FACTORY? + else if (strncmp(cmd_start, "AT+FACTORY?", 11) == 0) { + bsp_uart_printf("+FACTORY:%d\r\n", s_production_test_enabled ? 1 : 0); + } + // AT+RGB_TEST=0/1 (启动/停止 RGB 闪烁测试) + else if (strncmp(cmd_start, "AT+RGB_TEST=", 12) == 0) { + ESP_LOGI(TAG, "RGB_TEST"); + int enable = atoi(cmd_start + 12); + if (enable != 0) { + if (s_rgb_test_task_handle == NULL) { + s_rgb_test_running = true; + ESP_LOGI(TAG, "RGB test task started"); + xTaskCreate(rgb_test_task, "rgb_test", 8192, NULL, 3, &s_rgb_test_task_handle); + bsp_uart_printf("+RGB_TEST:STARTED\r\n"); + } else { + bsp_uart_printf("+RGB_TEST:ALREADY_RUNNING\r\n"); + } + } else { + if (s_rgb_test_task_handle != NULL) { + s_rgb_test_running = false; + int wait_count = 0; + while (s_rgb_test_task_handle != NULL && wait_count < 10) { + vTaskDelay(pdMS_TO_TICKS(100)); + wait_count++; + } + if (s_rgb_test_task_handle != NULL) { + vTaskDelete(s_rgb_test_task_handle); + s_rgb_test_task_handle = NULL; + } + bsp_rgb_led_set_color(0, 0, 0); + bsp_uart_printf("+RGB_TEST:STOPPED\r\n"); + } else { + bsp_uart_printf("+RGB_TEST:NOT_RUNNING\r\n"); + } + } + } else { + bsp_uart_printf("+ERROR:UNKNOWN_CMD\r\n"); + } +} + +esp_err_t app_production_test_init(void) +{ + if (s_production_test_initialized) { + return ESP_OK; + } + + esp_err_t ret; + + ret = wifi_init(); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "WiFi init failed: %d", ret); + return ret; + } + + vTaskDelay(pdMS_TO_TICKS(300)); + + ret = bsp_uart_init(); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "UART init failed: %d", ret); + return ret; + } + + bsp_uart_set_cmd_callback(uart_cmd_handler); + ret = bsp_uart_start_recv_task(); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "UART recv task start failed: %d", ret); + return ret; + } + + s_production_test_initialized = true; + ESP_LOGI(TAG, "Production test initialized"); + bsp_uart_printf("+READY\r\n"); + + return ESP_OK; +} + +esp_err_t app_production_test_deinit(void) +{ + if (!s_production_test_initialized) { + return ESP_OK; + } + + if (s_rgb_test_task_handle != NULL) { + s_rgb_test_running = false; + int wait_count = 0; + while (s_rgb_test_task_handle != NULL && wait_count < 10) { + vTaskDelay(pdMS_TO_TICKS(100)); + wait_count++; + } + if (s_rgb_test_task_handle != NULL) { + vTaskDelete(s_rgb_test_task_handle); + s_rgb_test_task_handle = NULL; + } + bsp_rgb_led_set_color(0, 0, 0); + } + + app_production_test_wifi_disconnect(); + bsp_uart_deinit(); + + s_production_test_initialized = false; + return ESP_OK; +} + +esp_err_t app_production_test_wifi_connect(const char *ssid, const char *password) +{ + if (ssid == NULL || strlen(ssid) == 0) { + return ESP_ERR_INVALID_ARG; + } + + esp_wifi_disconnect(); + vTaskDelay(pdMS_TO_TICKS(100)); + esp_wifi_stop(); + vTaskDelay(pdMS_TO_TICKS(100)); + wifi_config_t wifi_config = { + .sta = { + .scan_method = WIFI_ALL_CHANNEL_SCAN, + .sort_method = WIFI_CONNECT_AP_BY_SIGNAL, + .threshold.rssi = -70, + .threshold.authmode = (password && strlen(password) > 0) ? WIFI_AUTH_WPA2_PSK : WIFI_AUTH_OPEN, + .threshold.rssi_5g_adjustment = 0, + }, + }; + + strcpy((char *)wifi_config.sta.ssid, ssid); + if (password && strlen(password) > 0) { + strcpy((char *)wifi_config.sta.password, password); + } + ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA)); + ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config)); + ESP_ERROR_CHECK(esp_wifi_start()); + + s_wifi_state = WIFI_STATE_CONNECTING; + s_retry_num = 0; + memset(s_wifi_ip, 0, sizeof(s_wifi_ip)); + + ESP_LOGI(TAG, "WiFi connecting to SSID: %s", ssid); + return ESP_OK; +} + +esp_err_t app_production_test_wifi_disconnect(void) +{ + esp_wifi_disconnect(); + esp_wifi_stop(); + s_wifi_state = WIFI_STATE_DISCONNECTED; + memset(s_wifi_ip, 0, sizeof(s_wifi_ip)); + return ESP_OK; +} + +wifi_conn_state_t app_production_test_wifi_get_state(void) +{ + return s_wifi_state; +} + +const char *app_production_test_wifi_get_ip(void) +{ + if (s_wifi_state == WIFI_STATE_CONNECTED && strlen(s_wifi_ip) > 0) { + return s_wifi_ip; + } + return NULL; +} + +bool app_production_test_is_enabled(void) +{ + return s_production_test_enabled; +} + +void app_production_test_set_enabled(bool enable) +{ + s_production_test_enabled = enable; +} + diff --git a/src/main/app/app_production_test.h b/src/main/app/app_production_test.h new file mode 100644 index 0000000..c5e1efd --- /dev/null +++ b/src/main/app/app_production_test.h @@ -0,0 +1,127 @@ +/** + * @file app_production_test.h + * @brief 产测模式头文件 + * @author Enable + * @date 2025/12/08 + * + * 产测命令协议 (UART 115200): + * + * 1. 设置WiFi并连接: + * 发送: AT+WIFI=SSID,PASSWORD\r\n + * 响应: +WIFI:CONNECTING\r\n + * +WIFI:CONNECTED,192.168.1.100\r\n (成功) + * +WIFI:FAILED,reason\r\n (失败) + * + * 2. 查询WiFi状态: + * 发送: AT+WIFI?\r\n + * 响应: +WIFI:CONNECTED,192.168.1.100\r\n + * +WIFI:DISCONNECTED\r\n + * + * 3. 断开WiFi: + * 发送: AT+WIFI=DISCONNECT\r\n + * 响应: +WIFI:DISCONNECTED\r\n + * + * 4. 获取固件版本: + * 发送: AT+VERSION?\r\n + * 响应: +VERSION:0xF0\r\n + * + * 5. RGB LED 设置颜色: + * 发送: AT+RGB=R,G,B\r\n (0-255) + * 响应: +RGB:OK\r\n + * + * 6. RGB LED 闪烁测试: + * 发送: AT+RGB_TEST=1\r\n (启动红绿蓝白黑循环闪烁) + * 响应: +RGB_TEST:STARTED\r\n + * 发送: AT+RGB_TEST=0\r\n (停止闪烁) + * 响应: +RGB_TEST:STOPPED\r\n + * + * 7. 进入/退出产测模式: + * 发送: AT+FACTORY=1\r\n (进入) + * 发送: AT+FACTORY=0\r\n (退出) + * 响应: +FACTORY:1\r\n 或 +FACTORY:0\r\n + * + * 8. 按键事件上报(产测模式下自动上报): + * 格式: +KEY:index,event\r\n + * - index: 按键索引 (0-43) + * - event: 事件类型 (0=按下, 1=释放) + * 示例: +KEY:22,0\r\n (按键索引22按下) + * +KEY:22,1\r\n (按键索引22释放) + */ + +#ifndef _APP_PRODUCTION_TEST_H_ +#define _APP_PRODUCTION_TEST_H_ + +#include +#include "esp_err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// WiFi 连接状态 +typedef enum { + WIFI_STATE_DISCONNECTED = 0, + WIFI_STATE_CONNECTING, + WIFI_STATE_CONNECTED, + WIFI_STATE_FAILED, +} wifi_conn_state_t; + +// WiFi 状态回调 +typedef void (*wifi_state_callback_t)(wifi_conn_state_t state, const char *info); + +/** + * @brief 初始化产测模式 + * @return ESP_OK 成功 + */ +esp_err_t app_production_test_init(void); + +/** + * @brief 反初始化产测模式 + * @return ESP_OK 成功 + */ +esp_err_t app_production_test_deinit(void); + +/** + * @brief 连接 WiFi + * @param ssid SSID + * @param password 密码 + * @return ESP_OK 成功发起连接 + */ +esp_err_t app_production_test_wifi_connect(const char *ssid, const char *password); + +/** + * @brief 断开 WiFi + * @return ESP_OK 成功 + */ +esp_err_t app_production_test_wifi_disconnect(void); + +/** + * @brief 获取 WiFi 状态 + * @return WiFi 连接状态 + */ +wifi_conn_state_t app_production_test_wifi_get_state(void); + +/** + * @brief 获取 WiFi IP 地址 + * @return IP 地址字符串,未连接返回 NULL + */ +const char *app_production_test_wifi_get_ip(void); + +/** + * @brief 是否处于产测模式 + * @return true 产测模式 + */ +bool app_production_test_is_enabled(void); + +/** + * @brief 设置产测模式 + * @param enable true 进入产测模式 + */ +void app_production_test_set_enabled(bool enable); + +#ifdef __cplusplus +} +#endif + +#endif /* _APP_PRODUCTION_TEST_H_ */ + diff --git a/src/main/bsp/bsp_blehid.c b/src/main/bsp/bsp_blehid.c new file mode 100644 index 0000000..5cc4e1c --- /dev/null +++ b/src/main/bsp/bsp_blehid.c @@ -0,0 +1,664 @@ +/** + * @file bsp_blehid.c + * @brief BLE HID 键盘驱动实现 + * @author Enable + * @date 2025/12/08 + */ + +#include "bsp_blehid.h" +#include +#include +#include +#include + +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "freertos/event_groups.h" +#include "freertos/semphr.h" + +#include "esp_system.h" +#include "esp_log.h" +#include "nvs_flash.h" +#include "esp_bt.h" +#include "esp_bt_defs.h" +#include "esp_bt_main.h" +#include "esp_bt_device.h" +#include "esp_gap_ble_api.h" +#include "esp_gatts_api.h" +#include "esp_gatt_defs.h" +#include "esp_hidd.h" +#include "esp_hid_common.h" +#include "esp_mac.h" + +static const char *TAG = "BLE_HID"; + +// 设备名称缓冲区(包含 MAC 后缀) +static char s_ble_device_name[32] = {0}; + +static esp_err_t esp_hid_ble_gap_adv_start(void); +static void ble_hid_task_start_up(void); +static void ble_hid_task_shut_down(void); + +static SemaphoreHandle_t ble_hidh_cb_semaphore = NULL; + +typedef struct { + TaskHandle_t task_hdl; + esp_hidd_dev_t *hid_dev; + uint8_t protocol_mode; + uint8_t *buffer; +} local_param_t; + +static local_param_t s_ble_hid_param = {0}; + +// =========================================================================== +// Keyboard Report Map +// =========================================================================== +static const unsigned char keyboardReportMap[] = { + 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) + 0x09, 0x06, // Usage (Keyboard) + 0xA1, 0x01, // Collection (Application) + 0x85, 0x01, // Report ID (1) + 0x05, 0x07, // Usage Page (Kbrd/Keypad) + 0x19, 0xE0, // Usage Minimum (0xE0) + 0x29, 0xE7, // Usage Maximum (0xE7) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x01, // Logical Maximum (1) + 0x75, 0x01, // Report Size (1) + 0x95, 0x08, // Report Count (8) + 0x81, 0x02, // Input (Data,Var,Abs) + 0x95, 0x01, // Report Count (1) + 0x75, 0x08, // Report Size (8) + 0x81, 0x01, // Input (Const,Array,Abs) - 保留字节,必须是 Array + 0x95, 0x05, // Report Count (5) - LED 保留位部分 + 0x75, 0x01, // Report Size (1) + 0x05, 0x08, // Usage Page (LEDs) + 0x19, 0x01, // Usage Minimum (Num Lock) + 0x29, 0x05, // Usage Maximum (Kana) + 0x91, 0x02, // Output (Data,Var,Abs) - LED 数据位(5 bits) + 0x95, 0x01, // Report Count (1) + 0x75, 0x03, // Report Size (3) - LED 保留位(3 bits) + 0x91, 0x01, // Output (Const,Array,Abs) - 保留位,必须是 Array + 0x95, 0x06, // Report Count (6) - 按键数组(6 个字节) + 0x75, 0x08, // Report Size (8) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x65, // Logical Maximum (101) + 0x05, 0x07, // Usage Page (Kbrd/Keypad) + 0x19, 0x00, // Usage Minimum (0x00) + 0x29, 0x65, // Usage Maximum (0x65) + 0x81, 0x00, // Input (Data,Array,Abs) + 0xC0, // End Collection +}; + +static esp_hid_raw_report_map_t ble_report_maps[] = { + { + .data = keyboardReportMap, + .len = sizeof(keyboardReportMap) + } +}; + +static esp_hid_device_config_t ble_hid_config = { + .vendor_id = 0x16C0, + .product_id = 0x05DF, + .version = 0x0100, + .device_name = s_ble_device_name, // 使用动态生成的设备名称 + .manufacturer_name = "M5Stack", + .serial_number = "CardKB2-001", + .report_maps = ble_report_maps, + .report_maps_len = 1 +}; + +// 状态 +static bool s_ble_hid_initialized = false; +static ble_hid_state_t s_ble_hid_state = BLE_HID_STATE_DISCONNECTED; +static ble_hid_event_cb_t s_event_cb = NULL; +static bool s_client_subscribed = false; // 客户端是否已订阅特征值(Notify/Indicate) + + +static void char_to_code(uint8_t *buffer, char ch) +{ + if (ch >= 'a' && ch <= 'z') { + buffer[0] = 0; + buffer[2] = (uint8_t)(4 + (ch - 'a')); + } else if (ch >= 'A' && ch <= 'Z') { + buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; + ch = ch - ('A' - 'a'); + buffer[2] = (uint8_t)(4 + (ch - 'a')); + } else if (ch >= '0' && ch <= '9') { + buffer[0] = 0; + if (ch == '0') { + buffer[2] = 39; + } else { + buffer[2] = (uint8_t)(30 + (ch - '1')); + } + } else { + switch (ch) { + case ' ': buffer[0] = 0; buffer[2] = 0x2C; break; + case '.': buffer[0] = 0; buffer[2] = 0x37; break; + case '\n': buffer[0] = 0; buffer[2] = 0x28; break; + case '\b': buffer[0] = 0; buffer[2] = 0x2A; break; + case '\t': buffer[0] = 0; buffer[2] = 0x2B; break; + case '?': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 0x38; break; + case '/': buffer[0] = 0; buffer[2] = 0x38; break; + case '\\': buffer[0] = 0; buffer[2] = 0x31; break; + case '|': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 0x31; break; + case ',': buffer[0] = 0; buffer[2] = 0x36; break; + case '<': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 0x36; break; + case '>': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 0x37; break; + case '@': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 31; break; + case '!': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 30; break; + case '#': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 32; break; + case '$': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 33; break; + case '%': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 34; break; + case '^': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 35; break; + case '&': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 36; break; + case '*': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 37; break; + case '(': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 38; break; + case ')': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 39; break; + case '-': buffer[0] = 0; buffer[2] = 0x2D; break; + case '_': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 0x2D; break; + case '=': buffer[0] = 0; buffer[2] = 0x2E; break; + case '+': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 0x2E; break; + case '[': buffer[0] = 0; buffer[2] = 0x2F; break; + case '{': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 0x2F; break; + case ']': buffer[0] = 0; buffer[2] = 0x30; break; + case '}': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 0x30; break; + case ';': buffer[0] = 0; buffer[2] = 0x33; break; + case ':': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 0x33; break; + case '\'': buffer[0] = 0; buffer[2] = 0x34; break; + case '"': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 0x34; break; + case '`': buffer[0] = 0; buffer[2] = 0x35; break; + case '~': buffer[0] = USB_HID_MODIFIER_LEFT_SHIFT; buffer[2] = 0x35; break; + default: buffer[0] = 0; buffer[2] = 0; break; + } + } +} + +static void send_keyboard(char c) +{ + static uint8_t buffer[8] = {0}; + char_to_code(buffer, c); + + esp_hidd_dev_input_set(s_ble_hid_param.hid_dev, 0, 1, buffer, 8); + memset(buffer, 0, sizeof(uint8_t) * 8); + esp_hidd_dev_input_set(s_ble_hid_param.hid_dev, 0, 1, buffer, 8); +} + +static void ble_hid_task_start_up(void) +{ + if (s_ble_hid_param.task_hdl) { + return; + } + ESP_LOGD(TAG, "BLE HID Keyboard Ready"); + s_ble_hid_state = BLE_HID_STATE_CONNECTED; + if (s_event_cb) { + s_event_cb(BLE_HID_STATE_CONNECTED); + } +} + +static void ble_hid_task_shut_down(void) +{ + if (s_ble_hid_param.task_hdl) { + vTaskDelete(s_ble_hid_param.task_hdl); + s_ble_hid_param.task_hdl = NULL; + } + s_ble_hid_state = BLE_HID_STATE_DISCONNECTED; + if (s_event_cb) { + s_event_cb(BLE_HID_STATE_DISCONNECTED); + } +} + +static void ble_hidd_event_callback(void *handler_args, esp_event_base_t base, int32_t id, void *event_data) +{ + esp_hidd_event_t event = (esp_hidd_event_t)id; + esp_hidd_event_data_t *param = (esp_hidd_event_data_t *)event_data; + + switch (event) { + case ESP_HIDD_START_EVENT: { + ESP_LOGD(TAG, "START"); + esp_hid_ble_gap_adv_start(); + break; + } + case ESP_HIDD_CONNECT_EVENT: { + ESP_LOGI(TAG, "CONNECT"); + // 连接时,客户端可能还未订阅特征值,先标记为未订阅 + s_client_subscribed = false; + ble_hid_task_start_up(); + break; + } + case ESP_HIDD_PROTOCOL_MODE_EVENT: { + ESP_LOGI(TAG, "PROTOCOL MODE[%u]: %s", param->protocol_mode.map_index, param->protocol_mode.protocol_mode ? "REPORT" : "BOOT"); + break; + } + case ESP_HIDD_CONTROL_EVENT: { + ESP_LOGD(TAG, "CONTROL[%u]: %sSUSPEND", param->control.map_index, param->control.control ? "EXIT_" : ""); + if (param->control.control) { + ble_hid_task_start_up(); + } else { + ble_hid_task_shut_down(); + } + break; + } + case ESP_HIDD_OUTPUT_EVENT: { + ESP_LOGI(TAG, "OUTPUT[%u]: %8s ID: %2u, Len: %d, Data:", param->output.map_index, esp_hid_usage_str(param->output.usage), param->output.report_id, param->output.length); + ESP_LOG_BUFFER_HEX(TAG, param->output.data, param->output.length); + s_client_subscribed = true; + ESP_LOGI(TAG, "Client subscribed, ready to send HID reports"); + ble_hid_task_start_up(); + break; + } + case ESP_HIDD_FEATURE_EVENT: { + ESP_LOGD(TAG, "FEATURE[%u]: %8s ID: %2u, Len: %d, Data:", param->feature.map_index, esp_hid_usage_str(param->feature.usage), param->feature.report_id, param->feature.length); + ESP_LOG_BUFFER_HEX(TAG, param->feature.data, param->feature.length); + break; + } + case ESP_HIDD_DISCONNECT_EVENT: { + ESP_LOGI(TAG, "DISCONNECT: %s", esp_hid_disconnect_reason_str(esp_hidd_dev_transport_get(param->disconnect.dev), param->disconnect.reason)); + s_client_subscribed = false; + ble_hid_task_shut_down(); + esp_hid_ble_gap_adv_start(); + break; + } + case ESP_HIDD_STOP_EVENT: { + ESP_LOGD(TAG, "STOP"); + break; + } + default: + break; + } +} + +static void ble_gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) +{ + switch (event) { + case ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT: + ESP_LOGV(TAG, "BLE GAP ADV_DATA_SET_COMPLETE"); + break; + + case ESP_GAP_BLE_ADV_START_COMPLETE_EVT: + ESP_LOGV(TAG, "BLE GAP ADV_START_COMPLETE"); + s_ble_hid_state = BLE_HID_STATE_ADVERTISING; + break; + + case ESP_GAP_BLE_AUTH_CMPL_EVT: + if (!param->ble_security.auth_cmpl.success) { + ESP_LOGE(TAG, "BLE GAP AUTH ERROR: 0x%x", param->ble_security.auth_cmpl.fail_reason); + } else { + ESP_LOGI(TAG, "BLE GAP AUTH SUCCESS"); + s_client_subscribed = false; + } + ble_hid_task_start_up(); + break; + + case ESP_GAP_BLE_KEY_EVT: + ESP_LOGD(TAG, "BLE GAP KEY type = %d", param->ble_security.ble_key.key_type); + break; + + case ESP_GAP_BLE_PASSKEY_NOTIF_EVT: + ESP_LOGD(TAG, "BLE GAP PASSKEY_NOTIF passkey:%" PRIu32, param->ble_security.key_notif.passkey); + break; + + case ESP_GAP_BLE_NC_REQ_EVT: + ESP_LOGD(TAG, "BLE GAP NC_REQ passkey:%" PRIu32, param->ble_security.key_notif.passkey); + esp_ble_confirm_reply(param->ble_security.key_notif.bd_addr, true); + break; + + case ESP_GAP_BLE_PASSKEY_REQ_EVT: + ESP_LOGD(TAG, "BLE GAP PASSKEY_REQ"); + break; + + case ESP_GAP_BLE_SEC_REQ_EVT: + ESP_LOGD(TAG, "BLE GAP SEC_REQ"); + esp_ble_gap_security_rsp(param->ble_security.ble_req.bd_addr, true); + break; + + default: + break; + } +} + +static esp_err_t esp_hid_ble_gap_adv_init(uint16_t appearance, const char *device_name) +{ + esp_err_t ret; + + const uint8_t hidd_service_uuid128[] = { + 0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x12, 0x18, 0x00, 0x00, + }; + + esp_ble_adv_data_t ble_adv_data = { + .set_scan_rsp = false, + .include_name = true, + .include_txpower = true, + .min_interval = 0x0006, + .max_interval = 0x0010, + .appearance = appearance, + .manufacturer_len = 0, + .p_manufacturer_data = NULL, + .service_data_len = 0, + .p_service_data = NULL, + .service_uuid_len = sizeof(hidd_service_uuid128), + .p_service_uuid = (uint8_t *)hidd_service_uuid128, + .flag = 0x6, + }; + + esp_ble_auth_req_t auth_req = ESP_LE_AUTH_BOND; + esp_ble_io_cap_t iocap = ESP_IO_CAP_NONE; + uint8_t init_key = ESP_BLE_ENC_KEY_MASK | ESP_BLE_ID_KEY_MASK; + uint8_t rsp_key = ESP_BLE_ENC_KEY_MASK | ESP_BLE_ID_KEY_MASK; + uint8_t key_size = 16; + uint32_t passkey = 1234; + + if ((ret = esp_ble_gap_set_security_param(ESP_BLE_SM_AUTHEN_REQ_MODE, &auth_req, sizeof(uint8_t))) != ESP_OK) { + ESP_LOGE(TAG, "GAP set_security_param AUTHEN_REQ_MODE failed: %d", ret); + return ret; + } + + if ((ret = esp_ble_gap_set_security_param(ESP_BLE_SM_IOCAP_MODE, &iocap, sizeof(uint8_t))) != ESP_OK) { + ESP_LOGE(TAG, "GAP set_security_param IOCAP_MODE failed: %d", ret); + return ret; + } + + if ((ret = esp_ble_gap_set_security_param(ESP_BLE_SM_SET_INIT_KEY, &init_key, sizeof(uint8_t))) != ESP_OK) { + ESP_LOGE(TAG, "GAP set_security_param SET_INIT_KEY failed: %d", ret); + return ret; + } + + if ((ret = esp_ble_gap_set_security_param(ESP_BLE_SM_SET_RSP_KEY, &rsp_key, sizeof(uint8_t))) != ESP_OK) { + ESP_LOGE(TAG, "GAP set_security_param SET_RSP_KEY failed: %d", ret); + return ret; + } + + if ((ret = esp_ble_gap_set_security_param(ESP_BLE_SM_MAX_KEY_SIZE, &key_size, sizeof(uint8_t))) != ESP_OK) { + ESP_LOGE(TAG, "GAP set_security_param MAX_KEY_SIZE failed: %d", ret); + return ret; + } + + if ((ret = esp_ble_gap_set_security_param(ESP_BLE_SM_SET_STATIC_PASSKEY, &passkey, sizeof(uint32_t))) != ESP_OK) { + ESP_LOGE(TAG, "GAP set_security_param SET_STATIC_PASSKEY failed: %d", ret); + return ret; + } + + if ((ret = esp_ble_gap_set_device_name(device_name)) != ESP_OK) { + ESP_LOGE(TAG, "GAP set_device_name failed: %d", ret); + return ret; + } + + if ((ret = esp_ble_gap_config_adv_data(&ble_adv_data)) != ESP_OK) { + ESP_LOGE(TAG, "GAP config_adv_data failed: %d", ret); + return ret; + } + + return ret; +} + +static esp_err_t esp_hid_ble_gap_adv_start(void) +{ + static esp_ble_adv_params_t hidd_adv_params = { + .adv_int_min = 0x20, + .adv_int_max = 0x30, + .adv_type = ADV_TYPE_IND, + .own_addr_type = BLE_ADDR_TYPE_PUBLIC, + .channel_map = ADV_CHNL_ALL, + .adv_filter_policy = ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY, + }; + return esp_ble_gap_start_advertising(&hidd_adv_params); +} + +static esp_err_t init_low_level(uint8_t mode) +{ + esp_err_t ret; + esp_bt_controller_config_t bt_cfg = BT_CONTROLLER_INIT_CONFIG_DEFAULT(); + + ret = esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT); + if (ret) { + ESP_LOGE(TAG, "esp_bt_controller_mem_release failed: %d", ret); + return ret; + } + + ret = esp_bt_controller_init(&bt_cfg); + if (ret) { + ESP_LOGE(TAG, "esp_bt_controller_init failed: %d", ret); + return ret; + } + + ret = esp_bt_controller_enable(mode); + if (ret) { + ESP_LOGE(TAG, "esp_bt_controller_enable failed: %d", ret); + return ret; + } + + esp_bluedroid_config_t bluedroid_cfg = BT_BLUEDROID_INIT_CONFIG_DEFAULT(); + ret = esp_bluedroid_init_with_cfg(&bluedroid_cfg); + if (ret) { + ESP_LOGE(TAG, "esp_bluedroid_init failed: %d", ret); + return ret; + } + + ret = esp_bluedroid_enable(); + if (ret) { + ESP_LOGE(TAG, "esp_bluedroid_enable failed: %d", ret); + return ret; + } + + if ((ret = esp_ble_gap_register_callback(ble_gap_event_handler)) != ESP_OK) { + ESP_LOGE(TAG, "esp_ble_gap_register_callback failed: %d", ret); + return ret; + } + + return ret; +} + +static esp_err_t esp_hid_gap_init(uint8_t mode) +{ + esp_err_t ret; + if (!mode || mode > ESP_BT_MODE_BTDM) { + ESP_LOGE(TAG, "Invalid mode given!"); + return ESP_FAIL; + } + + if (ble_hidh_cb_semaphore != NULL) { + ESP_LOGE(TAG, "Already initialised"); + return ESP_FAIL; + } + + ble_hidh_cb_semaphore = xSemaphoreCreateBinary(); + if (ble_hidh_cb_semaphore == NULL) { + ESP_LOGE(TAG, "xSemaphoreCreateMutex failed!"); + return ESP_FAIL; + } + + ret = init_low_level(mode); + if (ret != ESP_OK) { + vSemaphoreDelete(ble_hidh_cb_semaphore); + ble_hidh_cb_semaphore = NULL; + return ret; + } + + return ESP_OK; +} + +esp_err_t bsp_blehid_init(void) +{ + if (s_ble_hid_initialized) { + ESP_LOGW(TAG, "BLE HID already initialized"); + return ESP_OK; + } + + esp_err_t ret; + + // 生成带 MAC 后缀的设备名称 + uint8_t mac[6]; + ret = esp_read_mac(mac, ESP_MAC_BT); + if (ret != ESP_OK) { + ESP_LOGW(TAG, "Failed to read BT MAC, using default name"); + snprintf(s_ble_device_name, sizeof(s_ble_device_name), "%s", BLE_HID_DEVICE_NAME); + } else { + // 取 MAC 地址的后 4 位(最后 2 字节)作为后缀 + snprintf(s_ble_device_name, sizeof(s_ble_device_name), "%s-%02X%02X", BLE_HID_DEVICE_NAME, mac[4], mac[5]); + ESP_LOGI(TAG, "BLE device name: %s", s_ble_device_name); + } + + // 初始化 NVS + 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_log_level_set("BLE_HIDD", ESP_LOG_WARN); + + // 1. 初始化 HID GAP + ESP_LOGD(TAG, "Setting HID GAP, mode: BLE"); + ret = esp_hid_gap_init(ESP_BT_MODE_BLE); + ESP_ERROR_CHECK(ret); + + // 2. 初始化 BLE GAP 广播 + ret = esp_hid_ble_gap_adv_init(ESP_HID_APPEARANCE_KEYBOARD, ble_hid_config.device_name); + ESP_ERROR_CHECK(ret); + + // 3. 注册 GATTS 回调 + if ((ret = esp_ble_gatts_register_callback(esp_hidd_gatts_event_handler)) != ESP_OK) { + ESP_LOGE(TAG, "GATTS register callback failed: %d", ret); + return ret; + } + + // 4. 初始化 HID 设备 + ESP_LOGD(TAG, "Setting BLE device"); + ESP_ERROR_CHECK( + esp_hidd_dev_init(&ble_hid_config, ESP_HID_TRANSPORT_BLE, ble_hidd_event_callback, &s_ble_hid_param.hid_dev)); + + s_ble_hid_initialized = true; + ESP_LOGD(TAG, "BLE HID Keyboard initialized successfully"); + + return ESP_OK; +} + +esp_err_t bsp_blehid_deinit(void) +{ + if (!s_ble_hid_initialized) { + return ESP_OK; + } + + ble_hid_task_shut_down(); + + if (s_ble_hid_param.hid_dev) { + esp_hidd_dev_deinit(s_ble_hid_param.hid_dev); + s_ble_hid_param.hid_dev = NULL; + } + + esp_bluedroid_disable(); + esp_bluedroid_deinit(); + esp_bt_controller_disable(); + esp_bt_controller_deinit(); + + if (ble_hidh_cb_semaphore) { + vSemaphoreDelete(ble_hidh_cb_semaphore); + ble_hidh_cb_semaphore = NULL; + } + + s_ble_hid_initialized = false; + s_ble_hid_state = BLE_HID_STATE_DISCONNECTED; + + return ESP_OK; +} + +esp_err_t bsp_blehid_start_advertising(void) +{ + if (!s_ble_hid_initialized) { + return ESP_ERR_INVALID_STATE; + } + return esp_hid_ble_gap_adv_start(); +} + +esp_err_t bsp_blehid_stop_advertising(void) +{ + if (!s_ble_hid_initialized) { + return ESP_ERR_INVALID_STATE; + } + return esp_ble_gap_stop_advertising(); +} + +esp_err_t bsp_blehid_send_key(char ch) +{ + if (!s_ble_hid_initialized || !s_ble_hid_param.hid_dev) { + ESP_LOGW(TAG, "BLE HID not initialized"); + return ESP_ERR_INVALID_STATE; + } + + if (s_ble_hid_state != BLE_HID_STATE_CONNECTED) { + ESP_LOGW(TAG, "BLE HID not connected (state=%d)", s_ble_hid_state); + return ESP_ERR_INVALID_STATE; + } + + send_keyboard(ch); + return ESP_OK; +} + +esp_err_t bsp_blehid_send_keycode(uint8_t modifier, uint8_t keycode) +{ + if (!s_ble_hid_initialized || !s_ble_hid_param.hid_dev) { + return ESP_ERR_INVALID_STATE; + } + + if (s_ble_hid_state != BLE_HID_STATE_CONNECTED) { + return ESP_ERR_INVALID_STATE; + } + + uint8_t buffer[8] = {0}; + buffer[0] = modifier; + buffer[2] = keycode; + + esp_err_t ret = esp_hidd_dev_input_set(s_ble_hid_param.hid_dev, 0, 1, buffer, 8); + if (ret != ESP_OK) { + ESP_LOGW(TAG, "HID input set failed: %s", esp_err_to_name(ret)); + s_client_subscribed = false; + return ret; + } + memset(buffer, 0, sizeof(buffer)); + ret = esp_hidd_dev_input_set(s_ble_hid_param.hid_dev, 0, 1, buffer, 8); + if (ret != ESP_OK) { + ESP_LOGW(TAG, "HID input set (release) failed: %s", esp_err_to_name(ret)); + s_client_subscribed = false; + return ret; + } + + return ESP_OK; +} + +esp_err_t bsp_blehid_send_key_release(void) +{ + if (!s_ble_hid_initialized || !s_ble_hid_param.hid_dev) { + return ESP_ERR_INVALID_STATE; + } + + if (s_ble_hid_state != BLE_HID_STATE_CONNECTED) { + return ESP_ERR_INVALID_STATE; + } + + if (!s_client_subscribed) { + ESP_LOGD(TAG, "Client not subscribed, but sending key release anyway"); + } + + uint8_t buffer[8] = {0}; + esp_err_t ret = esp_hidd_dev_input_set(s_ble_hid_param.hid_dev, 0, 1, buffer, 8); + if (ret != ESP_OK) { + ESP_LOGD(TAG, "HID input set (release) failed: %s", esp_err_to_name(ret)); + } + return ret; +} + +ble_hid_state_t bsp_blehid_get_state(void) +{ + return s_ble_hid_state; +} + +bool bsp_blehid_is_connected(void) +{ + return s_ble_hid_state == BLE_HID_STATE_CONNECTED; +} + +esp_err_t bsp_blehid_register_event_cb(ble_hid_event_cb_t cb) +{ + s_event_cb = cb; + return ESP_OK; +} diff --git a/src/main/bsp/bsp_blehid.h b/src/main/bsp/bsp_blehid.h new file mode 100644 index 0000000..d92080c --- /dev/null +++ b/src/main/bsp/bsp_blehid.h @@ -0,0 +1,133 @@ +#ifndef _BSP_BLEHID_H_ +#define _BSP_BLEHID_H_ + +#include +#include +#include "esp_err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// BLE HID 设备名称 +#define BLE_HID_DEVICE_NAME "CardKB2" + +// USB HID 修饰键码 +#define USB_HID_MODIFIER_NONE 0x00 +#define USB_HID_MODIFIER_LEFT_CTRL 0x01 +#define USB_HID_MODIFIER_LEFT_SHIFT 0x02 +#define USB_HID_MODIFIER_LEFT_ALT 0x04 +#define USB_HID_MODIFIER_LEFT_GUI 0x08 +#define USB_HID_MODIFIER_RIGHT_CTRL 0x10 +#define USB_HID_MODIFIER_RIGHT_SHIFT 0x20 +#define USB_HID_MODIFIER_RIGHT_ALT 0x40 +#define USB_HID_MODIFIER_RIGHT_GUI 0x80 + +// USB HID 键码定义 +#define USB_HID_KEY_A 0x04 +#define USB_HID_KEY_Z 0x1D +#define USB_HID_KEY_1 0x1E +#define USB_HID_KEY_0 0x27 +#define USB_HID_KEY_ENTER 0x28 +#define USB_HID_KEY_ESC 0x29 +#define USB_HID_KEY_BACKSPACE 0x2A +#define USB_HID_KEY_TAB 0x2B +#define USB_HID_KEY_SPACE 0x2C +#define USB_HID_KEY_MINUS 0x2D +#define USB_HID_KEY_EQUAL 0x2E +#define USB_HID_KEY_LEFTBRACE 0x2F +#define USB_HID_KEY_RIGHTBRACE 0x30 +#define USB_HID_KEY_BACKSLASH 0x31 +#define USB_HID_KEY_SEMICOLON 0x33 +#define USB_HID_KEY_APOSTROPHE 0x34 +#define USB_HID_KEY_GRAVE 0x35 +#define USB_HID_KEY_COMMA 0x36 +#define USB_HID_KEY_DOT 0x37 +#define USB_HID_KEY_SLASH 0x38 + +// 方向键 +#define USB_HID_KEY_RIGHT 0x4F +#define USB_HID_KEY_LEFT 0x50 +#define USB_HID_KEY_DOWN 0x51 +#define USB_HID_KEY_UP 0x52 + +// BLE HID 连接状态 +typedef enum { + BLE_HID_STATE_DISCONNECTED = 0, + BLE_HID_STATE_ADVERTISING, + BLE_HID_STATE_CONNECTED, +} ble_hid_state_t; + +// BLE HID 事件回调类型 +typedef void (*ble_hid_event_cb_t)(ble_hid_state_t state); + +/** + * @brief 初始化 BLE HID 设备 + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_blehid_init(void); + +/** + * @brief 反初始化 BLE HID 设备 + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_blehid_deinit(void); + +/** + * @brief 开始 BLE 广播 + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_blehid_start_advertising(void); + +/** + * @brief 停止 BLE 广播 + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_blehid_stop_advertising(void); + +/** + * @brief 发送键盘按键 (ASCII字符) + * @param ch ASCII字符 + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_blehid_send_key(char ch); + +/** + * @brief 发送键盘按键 (HID 键码) + * @param modifier 修饰键 + * @param keycode HID 键码 + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_blehid_send_keycode(uint8_t modifier, uint8_t keycode); + +/** + * @brief 发送键盘释放 + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_blehid_send_key_release(void); + +/** + * @brief 获取 BLE HID 连接状态 + * @return BLE HID 状态 + */ +ble_hid_state_t bsp_blehid_get_state(void); + +/** + * @brief 检查 BLE HID 是否已连接 + * @return true 已连接, false 未连接 + */ +bool bsp_blehid_is_connected(void); + +/** + * @brief 注册 BLE HID 事件回调 + * @param cb 回调函数 + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_blehid_register_event_cb(ble_hid_event_cb_t cb); + +#ifdef __cplusplus +} +#endif + +#endif /* _BSP_BLEHID_H_ */ + diff --git a/src/main/bsp/bsp_espnow.c b/src/main/bsp/bsp_espnow.c new file mode 100644 index 0000000..16a9a4d --- /dev/null +++ b/src/main/bsp/bsp_espnow.c @@ -0,0 +1,154 @@ +/** + * @file bsp_espnow.c + * @brief ESP-NOW 广播模式 BSP 实现 + * @author Enable + * @date 2025/12/08 + */ + +#include "bsp_espnow.h" +#include "esp_log.h" +#include "esp_wifi.h" +#include "esp_now.h" +#include "esp_netif.h" +#include "nvs_flash.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include + +static const char *TAG = "bsp/espnow"; + +// ESP-NOW 广播地址 +static const uint8_t broadcast_mac[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; +// Wi-Fi 信道 0 +#define WIFI_CHANNEL 0 +// 是否初始化 +static bool espnow_initialized = false; + +/** + * @brief ESP-NOW 发送回调 + */ +static void espnow_send_cb(const uint8_t *mac_addr, esp_now_send_status_t status) +{ + if (status == ESP_NOW_SEND_SUCCESS) { + ESP_LOGD(TAG, "ESP-NOW 发送成功"); + } else { + ESP_LOGW(TAG, "ESP-NOW 发送失败"); + } +} + +/** + * @brief ESP-NOW 初始化 + */ +esp_err_t bsp_espnow_init(void) +{ + if (espnow_initialized) { + return ESP_OK; + } + + ESP_ERROR_CHECK(esp_netif_init()); + 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_err_t ret = esp_now_init(); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "ESP-NOW 初始化失败: %s", esp_err_to_name(ret)); + return ret; + } + esp_now_register_send_cb((esp_now_send_cb_t)espnow_send_cb); + + // 添加广播对等点 + esp_now_peer_info_t peer = {}; + memcpy(peer.peer_addr, broadcast_mac, 6); + peer.channel = WIFI_CHANNEL; + peer.ifidx = WIFI_IF_STA; + peer.encrypt = false; + ret = esp_now_add_peer(&peer); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "添加广播对等点失败: %s", esp_err_to_name(ret)); + esp_now_deinit(); + return ret; + } + espnow_initialized = true; + ESP_LOGD(TAG, "ESP-NOW 广播模式初始化成功"); + + return ESP_OK; +} + +/** + * @brief ESP-NOW 反初始化 + */ +esp_err_t bsp_espnow_deinit(void) +{ + if (!espnow_initialized) { + return ESP_OK; + } + + esp_err_t ret = esp_now_del_peer(broadcast_mac); + if (ret != ESP_OK && ret != ESP_ERR_NOT_FOUND) { + ESP_LOGW(TAG, "delete peer failed: %s", esp_err_to_name(ret)); + } + + ret = esp_now_deinit(); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "deinit esp-now failed: %s", esp_err_to_name(ret)); + } + + ret = esp_wifi_stop(); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "stop wifi failed: %s", esp_err_to_name(ret)); + } + + ret = esp_wifi_deinit(); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "deinit wifi failed: %s", esp_err_to_name(ret)); + } + + esp_netif_deinit(); + + espnow_initialized = false; + + return ESP_OK; +} + +void bsp_espnow_add_key(char c) +{ + if (!espnow_initialized) { + return; + } + + if (c == 0) { + return; + } + + uint8_t data[1] = {(uint8_t)c}; + esp_err_t ret = esp_now_send(broadcast_mac, data, 1); + if (ret == ESP_OK) { + ESP_LOGD(TAG, "send char: %c (0x%02X)", c, (uint8_t)c); + } else { + ESP_LOGW(TAG, "send char failed: %s", esp_err_to_name(ret)); + } +} + +bool bsp_espnow_is_initialized(void) +{ + return espnow_initialized; +} + +esp_err_t bsp_espnow_send(const uint8_t *data, size_t len) +{ + if (!espnow_initialized || data == NULL || len == 0) { + return ESP_ERR_INVALID_ARG; + } + + esp_err_t ret = esp_now_send(broadcast_mac, data, len); + if (ret == ESP_OK) { + ESP_LOGD(TAG, "send data: len=%u", (unsigned)len); + } else { + ESP_LOGW(TAG, "send data failed: %s", esp_err_to_name(ret)); + } + return ret; +} + diff --git a/src/main/bsp/bsp_espnow.h b/src/main/bsp/bsp_espnow.h new file mode 100644 index 0000000..bfdec4a --- /dev/null +++ b/src/main/bsp/bsp_espnow.h @@ -0,0 +1,50 @@ +#ifndef _BSP_ESPNOW_H_ +#define _BSP_ESPNOW_H_ + +#include +#include +#include +#include "esp_err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief 初始化 ESP-NOW 广播模式 + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_espnow_init(void); + +/** + * @brief 反初始化 ESP-NOW + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_espnow_deinit(void); + +/** + * @brief 通过 ESP-NOW 发送按键字符 + * @param c 按键字符 + */ +void bsp_espnow_add_key(char c); + +/** + * @brief 检查 ESP-NOW 是否已初始化 + * @return true 已初始化, false 未初始化 + */ +bool bsp_espnow_is_initialized(void); + +/** + * @brief 发送 ESP-NOW 数据包(原始数据) + * @param data 数据缓冲区 + * @param len 数据长度 + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_espnow_send(const uint8_t *data, size_t len); + +#ifdef __cplusplus +} +#endif + +#endif /* _BSP_ESPNOW_H_ */ + diff --git a/src/main/bsp/bsp_i2c.c b/src/main/bsp/bsp_i2c.c new file mode 100644 index 0000000..afa946b --- /dev/null +++ b/src/main/bsp/bsp_i2c.c @@ -0,0 +1,255 @@ +/******************************************************************************* + * M5Stack Unit CardKB2 I2C 从机 BSP + * + * I2C 从机配置: + * - 地址:0x5F + * - SCL:GPIO 25 + * - SDA:GPIO 26 + * + * 寄存器定义: + * - 0xF1:固件版本寄存器(写入 0xF1,然后读取获取版本号) + * - 0xF0:产测模式控制寄存器(写入 0x01 进入产测模式,退出只能通过切换到其他模式) + * + * 使用方法: + * 1. 读取按键:直接读取 I2C,返回按键 ASCII 码(无按键返回 0) + * 2. 读取版本:先写入 0xF1,然后读取,返回版本号 + *******************************************************************************/ +#include "bsp_i2c.h" +#include "app_factory.h" +#include "esp_log.h" +#include "driver/i2c_slave.h" +#include "driver/i2c_types.h" +#include "freertos/FreeRTOS.h" +#include "freertos/queue.h" + +static const char *TAG = "bsp/i2c"; + +// I2C 从机配置 +#define I2C_SLAVE_PORT 0 // I2C 端口号 +#define I2C_SLAVE_SCL_IO 25 // GPIO 25 +#define I2C_SLAVE_SDA_IO 26 // GPIO 26 +#define I2C_SLAVE_ADDR 0x5F // I2C 从机地址 +#define I2C_SLAVE_TX_BUF_LEN 32 // 发送缓冲区长度 +#define I2C_SLAVE_RX_BUF_LEN 32 // 接收缓冲区长度 + +// 按键队列配置 +#define KEY_QUEUE_SIZE 32 // 队列大小 + +// 按键队列结构(环形缓冲区) +typedef struct { + uint8_t buffer[KEY_QUEUE_SIZE]; + volatile uint16_t head; // 队列头(写入位置) + volatile uint16_t tail; // 队列尾(读取位置) + SemaphoreHandle_t mutex; // 互斥锁 +} key_queue_t; + +static key_queue_t key_queue = {0}; +static i2c_slave_dev_handle_t i2c_slave_handle = NULL; +static volatile uint8_t last_register = 0; // 最后写入的寄存器地址 +static bool i2c_initialized = false; // I2C 从机初始化状态 + +// 寄存器地址定义 +#define REG_FIRMWARE_VERSION 0xF1 // 固件版本寄存器 +#define REG_PRODUCTION_TEST 0xF0 // 产测模式控制寄存器 + +// 队列操作函数 +static bool key_queue_is_full(void) +{ + return ((key_queue.head + 1) % KEY_QUEUE_SIZE) == key_queue.tail; +} + +static bool key_queue_is_empty(void) +{ + return key_queue.head == key_queue.tail; +} + +static bool key_queue_push(uint8_t key) +{ + if (xSemaphoreTake(key_queue.mutex, pdMS_TO_TICKS(10)) != pdTRUE) { + return false; + } + + bool result = false; + if (!key_queue_is_full()) { + key_queue.buffer[key_queue.head] = key; + key_queue.head = (key_queue.head + 1) % KEY_QUEUE_SIZE; + result = true; + } + + xSemaphoreGive(key_queue.mutex); + return result; +} + +static bool key_queue_pop_from_isr(uint8_t *key) +{ + // 在 ISR 中直接访问,不使用互斥锁 + // 使用 volatile 变量确保可见性 + if (key_queue.head == key_queue.tail) { + return false; // 队列为空 + } + + *key = key_queue.buffer[key_queue.tail]; + key_queue.tail = (key_queue.tail + 1) % KEY_QUEUE_SIZE; + return true; +} + +static IRAM_ATTR bool i2c_slave_receive_callback(i2c_slave_dev_handle_t handle, const i2c_slave_rx_done_event_data_t *edata, void *user_data) +{ + if (edata->length > 0 && edata->buffer != NULL) { + if (edata->length >= 1) { + uint8_t reg = edata->buffer[0]; + last_register = reg; // 保存寄存器地址 + + if (edata->length >= 2) { + // 如果写入 2 字节,第一个是寄存器地址,第二个是值 + uint8_t value = edata->buffer[1]; + + if (reg == REG_PRODUCTION_TEST) { + if (value == 0x01) { + // 触发产测模式切换:通过消息队列发送模式值 + extern QueueHandle_t mode_queue; + app_mode_t mode = MODE_PRODTEST; + + if (mode_queue != NULL) { + BaseType_t xHigherPriorityTaskWoken = pdFALSE; + xQueueSendFromISR(mode_queue, &mode, &xHigherPriorityTaskWoken); + portYIELD_FROM_ISR(xHigherPriorityTaskWoken); + } + return true; + } + } + } + } + } + + return false; +} + +// I2C 从机发送请求回调(当主机请求读取数据时调用) +static IRAM_ATTR bool i2c_slave_request_callback(i2c_slave_dev_handle_t handle, const i2c_slave_request_event_data_t *evt_data, void *user_data) +{ + uint8_t tx_data[1] = {0}; + uint32_t write_len = 0; + + // 检查是否是读取寄存器(如果最后写入的寄存器是版本寄存器) + if (last_register == REG_FIRMWARE_VERSION) { + tx_data[0] = FIRMWARE_VERSION; + last_register = 0; + } else { + uint8_t key = 0; + if (!key_queue_pop_from_isr(&key)) { + key = 0; + } + tx_data[0] = key; + } + + i2c_slave_write(handle, tx_data, 1, &write_len, 0); + + return false; +} + +esp_err_t bsp_i2c_init(void) +{ + if (i2c_initialized) { + ESP_LOGD(TAG, "I2C slave already initialized"); + return ESP_OK; + } + ESP_LOGD(TAG, "initialize I2C slave..."); + + key_queue.mutex = xSemaphoreCreateMutex(); + if (key_queue.mutex == NULL) { + ESP_LOGE(TAG, "create mutex failed"); + return ESP_ERR_NO_MEM; + } + key_queue.head = 0; + key_queue.tail = 0; + + i2c_slave_config_t i2c_slave_config = { + .i2c_port = I2C_SLAVE_PORT, + .sda_io_num = I2C_SLAVE_SDA_IO, + .scl_io_num = I2C_SLAVE_SCL_IO, + .clk_source = I2C_CLK_SRC_DEFAULT, + .send_buf_depth = I2C_SLAVE_TX_BUF_LEN, + .receive_buf_depth = I2C_SLAVE_RX_BUF_LEN, + .slave_addr = I2C_SLAVE_ADDR, + .addr_bit_len = I2C_ADDR_BIT_LEN_7, + .intr_priority = 0, + .flags = { + .enable_internal_pullup = true, + } + }; + + esp_err_t ret = i2c_new_slave_device(&i2c_slave_config, &i2c_slave_handle); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "create I2C slave device failed: %s", esp_err_to_name(ret)); + vSemaphoreDelete(key_queue.mutex); + return ret; + } + + i2c_slave_event_callbacks_t cbs = { + .on_request = i2c_slave_request_callback, + .on_receive = i2c_slave_receive_callback, + }; + + ret = i2c_slave_register_event_callbacks(i2c_slave_handle, &cbs, NULL); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "register I2C slave event callback failed: %s", esp_err_to_name(ret)); + i2c_del_slave_device(i2c_slave_handle); + i2c_slave_handle = NULL; + vSemaphoreDelete(key_queue.mutex); + return ret; + } + + ESP_LOGD(TAG, "I2C slave initialized (address: 0x%02X, SCL: GPIO%d, SDA: GPIO%d)", I2C_SLAVE_ADDR, I2C_SLAVE_SCL_IO, I2C_SLAVE_SDA_IO); + + return ESP_OK; +} + +esp_err_t bsp_i2c_deinit(void) +{ + if (i2c_slave_handle == NULL) { + return ESP_OK; + } + + esp_err_t ret = i2c_del_slave_device(i2c_slave_handle); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "delete I2C slave device failed: %s", esp_err_to_name(ret)); + return ret; + } + i2c_slave_handle = NULL; + + if (key_queue.mutex) { + vSemaphoreDelete(key_queue.mutex); + key_queue.mutex = NULL; + } + + key_queue.head = 0; + key_queue.tail = 0; + + return ESP_OK; +} + +void bsp_i2c_add_key(uint8_t key) +{ + if (key == 0) { + return; + } + + if (key_queue_push(key)) { + ESP_LOGD(TAG, "key added to I2C queue: 0x%02X ('%c')", key, (key >= 32 && key <= 126) ? key : '?'); + } else { + ESP_LOGD(TAG, "key queue is full, discard key: 0x%02X", key); + } +} + +void bsp_i2c_add_key_index(uint8_t button_index) +{ + if (key_queue_push(button_index)) { + ESP_LOGD(TAG, "key index added to I2C queue: %d (row=%d, col=%d)", + button_index, button_index / 11, button_index % 11); + } else { + ESP_LOGD(TAG, "key queue is full, discard key index: %d", button_index); + } +} + + diff --git a/src/main/bsp/bsp_i2c.h b/src/main/bsp/bsp_i2c.h new file mode 100644 index 0000000..8d8032a --- /dev/null +++ b/src/main/bsp/bsp_i2c.h @@ -0,0 +1,38 @@ +#pragma once + +#include "esp_err.h" +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief I2C 从机初始化 + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_i2c_init(void); + +/** + * @brief I2C 从机反初始化 + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_i2c_deinit(void); + +/** + * @brief 添加按键数据到 I2C 发送队列(ASCII 码模式) + * @param key 按键 ASCII 码 + */ +void bsp_i2c_add_key(uint8_t key); + +/** + * @brief 添加按键 index 到 I2C 发送队列(产测模式) + * @param button_index 按键索引 + */ +void bsp_i2c_add_key_index(uint8_t button_index); + +#ifdef __cplusplus +} +#endif + diff --git a/src/main/bsp/bsp_keyboard.c b/src/main/bsp/bsp_keyboard.c new file mode 100644 index 0000000..5214487 --- /dev/null +++ b/src/main/bsp/bsp_keyboard.c @@ -0,0 +1,97 @@ +/******************************************************************************* + +*******************************************************************************/ +#include "bsp_keyboard.h" +#include "esp_log.h" +#include "iot_button.h" +#include "button_matrix.h" + + +static const char *TAG = "bsp/keyboard"; + + +// 键盘配置,实际 (ROW1, COM10), (ROW3, COM10) 未接按键 +static const int32_t row_gpios[] = {0, 1, 2, 3}; // ROW0-ROW3 +static const int32_t col_gpios[] = {4, 5, 6, 7, 8, 29, 10, 11, 22, 23, 24}; // COM0-COM10 +// 按键句柄数组 (4x11 = 44个按键) +static button_handle_t button_handles[44] = {0}; +// 按键事件回调 +static keyboard_event_cb_t event_cb = NULL; + + +static void button_event_cb(void *arg, void *data) +{ + button_event_t event = iot_button_get_event(arg); + int button_index = (int)data; + + button_event_data_t event_data = { + .button_index = button_index, + .event = event + }; + + if (event_cb != NULL) { + event_cb(&event_data); + } +} + +esp_err_t bsp_keyboard_init(void) +{ + const button_config_t btn_cfg = { + .long_press_time = 400, + .short_press_time = 200, + }; + const button_matrix_config_t matrix_cfg = { + .row_gpios = (int32_t*)row_gpios, + .col_gpios = (int32_t*)col_gpios, + .row_gpio_num = 4, + .col_gpio_num = 11, + }; + size_t btn_num = 44; + + esp_err_t ret = iot_button_new_matrix_device(&btn_cfg, &matrix_cfg, button_handles, &btn_num); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "Create matrix button device failed: %s", esp_err_to_name(ret)); + return ret; + } + + return ESP_OK; +} + +esp_err_t bsp_keyboard_add_event_cb(keyboard_event_cb_t cb, button_event_t event_type) +{ + if (cb == NULL) { + return ESP_ERR_INVALID_ARG; + } + + if (event_cb == NULL) { + event_cb = cb; + } + + for (int i = 0; i < 44; i++) { + if (button_handles[i] != NULL) { + iot_button_register_cb(button_handles[i], event_type, NULL, button_event_cb, (void*)i); + } + } + + return ESP_OK; +} + +esp_err_t bsp_keyboard_add_event_cb_by_index(int button_index, keyboard_event_cb_t cb, button_event_t event_type) +{ + if (button_index < 0 || button_index >= 44) { + return ESP_ERR_INVALID_ARG; + } + + if (cb == NULL) { + return ESP_ERR_INVALID_ARG; + } + if (event_cb == NULL) { + event_cb = cb; + } + + if (button_handles[button_index] == NULL) { + return ESP_ERR_INVALID_STATE; + } + + return iot_button_register_cb(button_handles[button_index], event_type, NULL, button_event_cb, (void*)button_index); +} \ No newline at end of file diff --git a/src/main/bsp/bsp_keyboard.h b/src/main/bsp/bsp_keyboard.h new file mode 100644 index 0000000..18da708 --- /dev/null +++ b/src/main/bsp/bsp_keyboard.h @@ -0,0 +1,47 @@ +#pragma once + +#include "esp_err.h" +#include "iot_button.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + int button_index; + button_event_t event; +} button_event_data_t; + +typedef void (*keyboard_event_cb_t)(button_event_data_t *event_data); + + +/** + * @brief 初始化键盘 + * @return ESP_OK 成功, 其他失败 + * @note 初始化键盘 + */ +esp_err_t bsp_keyboard_init(void); + +/** + * @brief 注册按键事件回调 + * @param cb 回调函数 + * @param event_type 事件类型 (BUTTON_PRESS_DOWN, BUTTON_PRESS_UP, BUTTON_SINGLE_CLICK 等) + * @return ESP_OK 成功, 其他失败 + * @note 为所有按键注册事件回调 + */ +esp_err_t bsp_keyboard_add_event_cb(keyboard_event_cb_t cb, button_event_t event_type); + +/** + * @brief 指定按键注册事件回调 + * @param button_index 按键索引 (0-43) + * @param cb 回调函数 + * @param event_type 事件类型 (BUTTON_PRESS_DOWN, BUTTON_PRESS_UP, BUTTON_SINGLE_CLICK 等) + * @return ESP_OK 成功, 其他失败 + * @note 为指定按键注册事件回调 + */ +esp_err_t bsp_keyboard_add_event_cb_by_index(int button_index, keyboard_event_cb_t cb, button_event_t event_type); + +#ifdef __cplusplus +} +#endif + diff --git a/src/main/bsp/bsp_rgb_led.c b/src/main/bsp/bsp_rgb_led.c new file mode 100644 index 0000000..dcc3a21 --- /dev/null +++ b/src/main/bsp/bsp_rgb_led.c @@ -0,0 +1,142 @@ +/******************************************************************************* + +*******************************************************************************/ +#include "bsp_rgb_led.h" +#include "esp_log.h" +#include "driver/ledc.h" +#include "driver/gpio.h" + +static const char *TAG = "bsp/rgb_led"; + +// RGB LED 配置 +#define RGB_R_PIN GPIO_NUM_27 +#define RGB_G_PIN GPIO_NUM_28 +#define RGB_B_PIN GPIO_NUM_9 +#define LEDC_TIMER LEDC_TIMER_0 +#define LEDC_MODE LEDC_LOW_SPEED_MODE +#define LEDC_CHANNEL_R LEDC_CHANNEL_0 +#define LEDC_CHANNEL_G LEDC_CHANNEL_1 +#define LEDC_CHANNEL_B LEDC_CHANNEL_2 +#define LEDC_DUTY_RES LEDC_TIMER_8_BIT +#define LEDC_FREQUENCY 5000 + +// 当前 LED 颜色值(用于单独设置通道) +static uint8_t current_r = 0; +static uint8_t current_g = 0; +static uint8_t current_b = 0; + + +esp_err_t bsp_rgb_led_init(void) +{ + ledc_timer_config_t ledc_timer = { + .speed_mode = LEDC_MODE, + .timer_num = LEDC_TIMER, + .duty_resolution = LEDC_DUTY_RES, + .freq_hz = LEDC_FREQUENCY, + .clk_cfg = LEDC_AUTO_CLK + }; + esp_err_t ret = ledc_timer_config(&ledc_timer); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "LEDC timer config failed: %s", esp_err_to_name(ret)); + return ret; + } + + ledc_channel_config_t ledc_channel_r = { + .speed_mode = LEDC_MODE, + .channel = LEDC_CHANNEL_R, + .timer_sel = LEDC_TIMER, + .intr_type = LEDC_INTR_DISABLE, + .gpio_num = RGB_R_PIN, + .duty = 0, + .hpoint = 0 + }; + ret = ledc_channel_config(&ledc_channel_r); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "Red channel config failed: %s", esp_err_to_name(ret)); + return ret; + } + + ledc_channel_config_t ledc_channel_g = { + .speed_mode = LEDC_MODE, + .channel = LEDC_CHANNEL_G, + .timer_sel = LEDC_TIMER, + .intr_type = LEDC_INTR_DISABLE, + .gpio_num = RGB_G_PIN, + .duty = 0, + .hpoint = 0 + }; + ret = ledc_channel_config(&ledc_channel_g); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "Green channel config failed: %s", esp_err_to_name(ret)); + return ret; + } + + ledc_channel_config_t ledc_channel_b = { + .speed_mode = LEDC_MODE, + .channel = LEDC_CHANNEL_B, + .timer_sel = LEDC_TIMER, + .intr_type = LEDC_INTR_DISABLE, + .gpio_num = RGB_B_PIN, + .duty = 0, + .hpoint = 0 + }; + ret = ledc_channel_config(&ledc_channel_b); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "Blue channel config failed: %s", esp_err_to_name(ret)); + return ret; + } + + ESP_LOGD(TAG, "RGB LED initialized"); + return ESP_OK; +} + +void bsp_rgb_led_set_color(uint8_t r, uint8_t g, uint8_t b) +{ + current_r = r; + current_g = g; + current_b = b; + + // 共阳极 LED,需要反转 PWM 值 + uint32_t duty_r = 256 - r; + uint32_t duty_g = 256 - g; + uint32_t duty_b = 256 - b; + + ledc_set_duty(LEDC_MODE, LEDC_CHANNEL_R, duty_r); + ledc_update_duty(LEDC_MODE, LEDC_CHANNEL_R); + ledc_set_duty(LEDC_MODE, LEDC_CHANNEL_G, duty_g); + ledc_update_duty(LEDC_MODE, LEDC_CHANNEL_G); + ledc_set_duty(LEDC_MODE, LEDC_CHANNEL_B, duty_b); + ledc_update_duty(LEDC_MODE, LEDC_CHANNEL_B); +} + +void bsp_rgb_led_set_red(uint8_t r) +{ + current_r = r; + uint32_t duty_r = 256 - r; + ledc_set_duty(LEDC_MODE, LEDC_CHANNEL_R, duty_r); + ledc_update_duty(LEDC_MODE, LEDC_CHANNEL_R); +} + +void bsp_rgb_led_set_green(uint8_t g) +{ + current_g = g; + uint32_t duty_g = 256 - g; + ledc_set_duty(LEDC_MODE, LEDC_CHANNEL_G, duty_g); + ledc_update_duty(LEDC_MODE, LEDC_CHANNEL_G); +} + +void bsp_rgb_led_set_blue(uint8_t b) +{ + current_b = b; + uint32_t duty_b = 256 - b; + ledc_set_duty(LEDC_MODE, LEDC_CHANNEL_B, duty_b); + ledc_update_duty(LEDC_MODE, LEDC_CHANNEL_B); +} + +void bsp_rgb_led_get_color(uint8_t *r, uint8_t *g, uint8_t *b) +{ + if (r) *r = current_r; + if (g) *g = current_g; + if (b) *b = current_b; +} + diff --git a/src/main/bsp/bsp_rgb_led.h b/src/main/bsp/bsp_rgb_led.h new file mode 100644 index 0000000..d52acba --- /dev/null +++ b/src/main/bsp/bsp_rgb_led.h @@ -0,0 +1,53 @@ +#pragma once + +#include +#include "esp_err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief 初始化 RGB LED + * @return ESP_OK 成功, 其他失败 + */ +esp_err_t bsp_rgb_led_init(void); + +/** + * @brief 设置 RGB LED 颜色 + * @param r 红色亮度值 (0-255) + * @param g 绿色亮度值 (0-255) + * @param b 蓝色亮度值 (0-255) + */ +void bsp_rgb_led_set_color(uint8_t r, uint8_t g, uint8_t b); + +/** + * @brief 单独设置 RGB LED 的红色通道 + * @param r 红色亮度值 (0-255) + */ +void bsp_rgb_led_set_red(uint8_t r); + +/** + * @brief 单独设置 RGB LED 的绿色通道 + * @param g 绿色亮度值 (0-255) + */ +void bsp_rgb_led_set_green(uint8_t g); + +/** + * @brief 单独设置 RGB LED 的蓝色通道 + * @param b 蓝色亮度值 (0-255) + */ +void bsp_rgb_led_set_blue(uint8_t b); + +/** + * @brief 获取当前 RGB LED 的颜色值 + * @param r 红色通道输出指针 + * @param g 绿色通道输出指针 + * @param b 蓝色通道输出指针 + */ +void bsp_rgb_led_get_color(uint8_t *r, uint8_t *g, uint8_t *b); + +#ifdef __cplusplus +} +#endif + diff --git a/src/main/bsp/bsp_uart.c b/src/main/bsp/bsp_uart.c new file mode 100644 index 0000000..b556179 --- /dev/null +++ b/src/main/bsp/bsp_uart.c @@ -0,0 +1,164 @@ + +#include "bsp_uart.h" +#include +#include +#include +#include "driver/uart.h" +#include "esp_log.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" + +static const char *TAG = "bsp/uart"; + +static bool s_uart_initialized = false; +static uart_cmd_callback_t s_cmd_callback = NULL; +static TaskHandle_t s_recv_task_handle = NULL; + +// UART 接收任务 +static void uart_recv_task(void *arg) +{ + uint8_t *data = (uint8_t *)malloc(BSP_UART_BUF_SIZE); + if (data == NULL) { + ESP_LOGE(TAG, "Failed to allocate UART buffer"); + vTaskDelete(NULL); + return; + } + + while (1) { + int len = uart_read_bytes(BSP_UART_NUM, data, BSP_UART_BUF_SIZE - 1, pdMS_TO_TICKS(100)); + if (len > 0) { + data[len] = '\0'; + ESP_LOGD(TAG, "UART RX: %s", data); + + if (s_cmd_callback) { + s_cmd_callback((const char *)data, len); + } + } + } + + free(data); + vTaskDelete(NULL); +} + +esp_err_t bsp_uart_init(void) +{ + if (s_uart_initialized) { + return ESP_OK; + } + + uart_config_t uart_config = { + .baud_rate = BSP_UART_BAUD_RATE, + .data_bits = UART_DATA_8_BITS, + .parity = UART_PARITY_DISABLE, + .stop_bits = UART_STOP_BITS_1, + .flow_ctrl = UART_HW_FLOWCTRL_DISABLE, + .source_clk = UART_SCLK_DEFAULT, + }; + + esp_err_t ret = uart_driver_install(BSP_UART_NUM, BSP_UART_BUF_SIZE * 2, 0, 0, NULL, 0); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "uart_driver_install failed: %d", ret); + return ret; + } + + ret = uart_param_config(BSP_UART_NUM, &uart_config); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "uart_param_config failed: %d", ret); + return ret; + } + + ret = uart_set_pin(BSP_UART_NUM, BSP_UART_TX_PIN, BSP_UART_RX_PIN, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "uart_set_pin failed: %d", ret); + return ret; + } + + s_uart_initialized = true; + ESP_LOGD(TAG, "UART initialized (TX:%d, RX:%d, Baud:%d)", BSP_UART_TX_PIN, BSP_UART_RX_PIN, BSP_UART_BAUD_RATE); + + return ESP_OK; +} + +esp_err_t bsp_uart_deinit(void) +{ + if (!s_uart_initialized) { + return ESP_OK; + } + + // 停止并删除接收任务 + if (s_recv_task_handle) { + vTaskDelete(s_recv_task_handle); + s_recv_task_handle = NULL; + } + + // 删除 UART 驱动 + esp_err_t ret = uart_driver_delete(BSP_UART_NUM); + if (ret != ESP_OK) { + ESP_LOGE(TAG, "uart_driver_delete failed: %d", ret); + return ret; + } + + s_uart_initialized = false; + ESP_LOGD(TAG, "UART 已反初始化"); + + return ESP_OK; +} + +int bsp_uart_send(const uint8_t *data, int len) +{ + if (!s_uart_initialized || data == NULL || len <= 0) { + return -1; + } + return uart_write_bytes(BSP_UART_NUM, data, len); +} + +int bsp_uart_send_str(const char *str) +{ + if (!s_uart_initialized || str == NULL) { + return -1; + } + return uart_write_bytes(BSP_UART_NUM, str, strlen(str)); +} + +int bsp_uart_printf(const char *fmt, ...) +{ + if (!s_uart_initialized || fmt == NULL) { + return -1; + } + + char buf[BSP_UART_BUF_SIZE]; + va_list args; + va_start(args, fmt); + int len = vsnprintf(buf, sizeof(buf), fmt, args); + va_end(args); + + if (len > 0) { + return uart_write_bytes(BSP_UART_NUM, buf, len); + } + return len; +} + +void bsp_uart_set_cmd_callback(uart_cmd_callback_t cb) +{ + s_cmd_callback = cb; +} + +esp_err_t bsp_uart_start_recv_task(void) +{ + if (!s_uart_initialized) { + return ESP_ERR_INVALID_STATE; + } + + if (s_recv_task_handle != NULL) { + return ESP_OK; + } + + BaseType_t ret = xTaskCreate(uart_recv_task, "uart_recv", 8192, NULL, 10, &s_recv_task_handle); + if (ret != pdPASS) { + ESP_LOGE(TAG, "Failed to create UART recv task"); + return ESP_FAIL; + } + + return ESP_OK; +} + diff --git a/src/main/bsp/bsp_uart.h b/src/main/bsp/bsp_uart.h new file mode 100644 index 0000000..c593689 --- /dev/null +++ b/src/main/bsp/bsp_uart.h @@ -0,0 +1,73 @@ +#ifndef _BSP_UART_H_ +#define _BSP_UART_H_ + +#include +#include +#include "esp_err.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// UART 配置 +#define BSP_UART_NUM UART_NUM_1 +#define BSP_UART_TX_PIN 25 // GPIO 25 (与 I2C SCL 共用) +#define BSP_UART_RX_PIN 26 // GPIO 26 (与 I2C SDA 共用) +#define BSP_UART_BAUD_RATE 115200 +#define BSP_UART_BUF_SIZE 256 + +// 命令回调函数类型 +typedef void (*uart_cmd_callback_t)(const char *cmd, int len); + +/** + * @brief 初始化 UART + * @return ESP_OK 成功 + */ +esp_err_t bsp_uart_init(void); + +/** + * @brief 反初始化 UART + * @return ESP_OK 成功 + */ +esp_err_t bsp_uart_deinit(void); + +/** + * @brief 发送数据 + * @param data 数据指针 + * @param len 数据长度 + * @return 发送的字节数 + */ +int bsp_uart_send(const uint8_t *data, int len); + +/** + * @brief 发送字符串 + * @param str 字符串 + * @return 发送的字节数 + */ +int bsp_uart_send_str(const char *str); + +/** + * @brief 格式化发送 + * @param fmt 格式字符串 + * @return 发送的字节数 + */ +int bsp_uart_printf(const char *fmt, ...); + +/** + * @brief 注册命令回调 + * @param cb 回调函数 + */ +void bsp_uart_set_cmd_callback(uart_cmd_callback_t cb); + +/** + * @brief 启动UART接收任务 + * @return ESP_OK 成功 + */ +esp_err_t bsp_uart_start_recv_task(void); + +#ifdef __cplusplus +} +#endif + +#endif /* _BSP_UART_H_ */ + diff --git a/src/main/idf_component.yml b/src/main/idf_component.yml new file mode 100644 index 0000000..3c6e96e --- /dev/null +++ b/src/main/idf_component.yml @@ -0,0 +1,17 @@ +## IDF Component Manager Manifest File +dependencies: + ## Required IDF version + idf: + version: '>=4.1.0' + # # Put list of dependencies here + # # For components maintained by Espressif: + # component: "~1.0.0" + # # For 3rd party components: + # username/component: ">=1.0.0,<2.0.0" + # username2/component2: + # version: "~1.0.0" + # # For transient dependencies `public` flag can be set. + # # `public` flag doesn't have an effect dependencies of the `main` component. + # # All dependencies of `main` are public by default. + # public: true + espressif/button: ^4.1.4 diff --git a/src/main/main.c b/src/main/main.c new file mode 100644 index 0000000..1744747 --- /dev/null +++ b/src/main/main.c @@ -0,0 +1,37 @@ +/****************************************************************************** + * M5Stack Unit CardKB2 Factory + * @author: Enable + * @date: 2025/12/06 + * + * + * component config --> Bluetooth HID --> Enable + * + ******************************************************************************/ +#include "app_factory.h" +#include "esp_log.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "driver/gpio.h" +#include "nvs_flash.h" + + +static const char *TAG = "main"; + + +void app_main(void) +{ + ESP_LOGI(TAG, "CardKB2 Start"); + + 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); + + xTaskCreate(app_factory, "app_factory", 8192, NULL, 5, NULL); + + while (1) { + vTaskDelay(pdMS_TO_TICKS(100)); + } +} diff --git a/src/partitions.csv b/src/partitions.csv new file mode 100644 index 0000000..28b17d6 --- /dev/null +++ b/src/partitions.csv @@ -0,0 +1,6 @@ +# Name, Type, SubType, Offset, Size, Flags +# Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap +nvs, data, nvs, 0x9000, 0x6000, +phy_init, data, phy, 0xf000, 0x1000, +factory, app, factory, 0x10000, 0x1F0000, + diff --git a/src/sdkconfig b/src/sdkconfig new file mode 100644 index 0000000..d6815f0 --- /dev/null +++ b/src/sdkconfig @@ -0,0 +1,4519 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 6.1.0 Project Configuration +# +# default: +CONFIG_SOC_ADC_SUPPORTED=y +# default: +CONFIG_SOC_ANA_CMPR_SUPPORTED=y +# default: +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +# default: +CONFIG_SOC_UART_SUPPORTED=y +# default: +CONFIG_SOC_GDMA_SUPPORTED=y +# default: +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +# default: +CONFIG_SOC_GPTIMER_SUPPORTED=y +# default: +CONFIG_SOC_BT_SUPPORTED=y +# default: +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +# default: +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +# default: +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +# default: +CONFIG_SOC_PHY_SUPPORTED=y +# default: +CONFIG_SOC_WIFI_SUPPORTED=y +# default: +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +# default: +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +# default: +CONFIG_SOC_EFUSE_SUPPORTED=y +# default: +CONFIG_SOC_I2S_SUPPORTED=y +# default: +CONFIG_SOC_GPSPI_SUPPORTED=y +# default: +CONFIG_SOC_I2C_SUPPORTED=y +# default: +CONFIG_SOC_LEDC_SUPPORTED=y +# default: +CONFIG_SOC_SYSTIMER_SUPPORTED=y +# default: +CONFIG_SOC_SHA_SUPPORTED=y +# default: +CONFIG_SOC_ECC_SUPPORTED=y +# default: +CONFIG_SOC_ECC_EXTENDED_MODES_SUPPORTED=y +# default: +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +# default: +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +# default: +CONFIG_SOC_BOD_SUPPORTED=y +# default: +CONFIG_SOC_APM_SUPPORTED=y +# default: +CONFIG_SOC_PMU_SUPPORTED=y +# default: +CONFIG_SOC_LP_TIMER_SUPPORTED=y +# default: +CONFIG_SOC_LP_AON_SUPPORTED=y +# default: +CONFIG_SOC_CLK_TREE_SUPPORTED=y +# default: +CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y +# default: +CONFIG_SOC_WDT_SUPPORTED=y +# default: +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +# default: +CONFIG_SOC_MODEM_CLOCK_SUPPORTED=y +# default: +CONFIG_SOC_REG_I2C_SUPPORTED=y +# default: +CONFIG_SOC_ETM_SUPPORTED=y +# default: +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y +# default: +CONFIG_SOC_PAU_SUPPORTED=y +# default: +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_PM_SUPPORTED=y +# default: +CONFIG_SOC_ECDSA_SUPPORTED=y +# default: +CONFIG_SOC_SPIRAM_SUPPORTED=y +# default: +CONFIG_SOC_XTAL_SUPPORT_40M=y +# default: +CONFIG_SOC_XTAL_CLOCK_PATH_DEPENDS_ON_TOP_DOMAIN=y +# default: +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +# default: +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DMA_SUPPORTED=y +# default: +CONFIG_SOC_ADC_PERIPH_NUM=1 +# default: +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=4 +# default: +CONFIG_SOC_ADC_ATTEN_NUM=4 +# default: +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1 +# default: +CONFIG_SOC_ADC_PATT_LEN_MAX=8 +# default: +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +# default: +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +# default: +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +# default: +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +# default: +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +# default: +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +# default: +CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED=y +# default: +CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR=y +# default: +CONFIG_SOC_ADC_SHARED_POWER=y +# default: +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +# default: +CONFIG_SOC_RNG_SUPPORTED=y +# default: +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y +# default: +CONFIG_SOC_CPU_CORES_NUM=1 +# default: +CONFIG_SOC_CPU_INTR_NUM=32 +# default: +CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y +# default: +CONFIG_SOC_CPU_SUPPORT_WFE=y +# default: +CONFIG_SOC_INT_CLIC_SUPPORTED=y +# default: +CONFIG_SOC_INT_HW_NESTED_SUPPORTED=y +# default: +CONFIG_SOC_BRANCH_PREDICTOR_SUPPORTED=y +# default: +CONFIG_SOC_CPU_BREAKPOINTS_NUM=4 +# default: +CONFIG_SOC_CPU_WATCHPOINTS_NUM=4 +# default: +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x80000000 +# default: +CONFIG_SOC_CPU_HAS_PMA=y +# default: +CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP=y +# default: +CONFIG_SOC_CPU_PMP_REGION_GRANULARITY=128 +# default: +CONFIG_SOC_CPU_HAS_LOCKUP_RESET=y +# default: +CONFIG_SOC_DMA_CAN_ACCESS_FLASH=y +# default: +CONFIG_SOC_AHB_GDMA_VERSION=2 +# default: +CONFIG_SOC_GDMA_SUPPORT_ETM=y +# default: +CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_GDMA_SUPPORT_WEIGHTED_ARBITRATION=y +# default: +CONFIG_SOC_ETM_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_GPIO_PORT=1 +# default: +CONFIG_SOC_GPIO_PIN_COUNT=30 +# default: +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +# default: +CONFIG_SOC_GPIO_SUPPORT_PIN_HYS_FILTER=y +# default: +CONFIG_SOC_GPIO_SUPPORT_ETM=y +# default: +CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +# default: +CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y +# default: +CONFIG_SOC_GPIO_IN_RANGE_MAX=29 +# default: +CONFIG_SOC_GPIO_OUT_RANGE_MAX=29 +# default: +CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y +# default: +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0 +# default: +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT=7 +# default: +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x3FFFFF80 +# default: +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +# default: +CONFIG_SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP=y +# default: +CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP=y +# default: +CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y +# default: +CONFIG_SOC_CLOCKOUT_HAS_SOURCE_GATE=y +# default: +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +# default: +CONFIG_SOC_RTCIO_PIN_COUNT=7 +# default: +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_EDGE_WAKE_SUPPORTED=y +# default: +CONFIG_SOC_ANA_CMPR_NUM=1 +# default: +CONFIG_SOC_ANA_CMPR_CAN_DISTINGUISH_EDGE=y +# default: +CONFIG_SOC_ANA_CMPR_SUPPORT_ETM=y +# default: +CONFIG_SOC_I2C_NUM=1 +# default: +CONFIG_SOC_HP_I2C_NUM=1 +# default: +CONFIG_SOC_I2C_FIFO_LEN=32 +# default: +CONFIG_SOC_I2C_CMD_REG_NUM=8 +# default: +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +# default: +CONFIG_SOC_I2C_SUPPORT_HW_FSM_RST=y +# default: +CONFIG_SOC_I2C_SUPPORT_XTAL=y +# default: +CONFIG_SOC_I2C_SUPPORT_RTC=y +# default: +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +# default: +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +# default: +CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y +# default: +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y +# default: +CONFIG_SOC_I2C_SLAVE_SUPPORT_SLAVE_UNMATCH=y +# default: +CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_I2S_HW_VERSION_2=y +# default: +CONFIG_SOC_I2S_SUPPORTS_ETM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_TX_SYNC_CNT=y +# default: +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +# default: +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 +# default: +CONFIG_SOC_I2S_SUPPORTS_TDM=y +# default: +CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK=y +# default: +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +# default: +CONFIG_SOC_LEDC_TIMER_NUM=4 +# default: +CONFIG_SOC_LEDC_CHANNEL_NUM=6 +# default: +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +# default: +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +# default: +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED=y +# default: +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX=16 +# default: +CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH=10 +# default: +CONFIG_SOC_LEDC_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y +# default: +CONFIG_SOC_MMU_PAGE_SIZE_8KB_SUPPORTED=y +# default: +CONFIG_SOC_MMU_PERIPH_NUM=1 +# default: +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +# default: +CONFIG_SOC_MMU_DI_VADDR_SHARED=y +# default: +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +# default: +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +# default: +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +# default: +CONFIG_SOC_SHA_SUPPORT_DMA=y +# default: +CONFIG_SOC_SHA_SUPPORT_RESUME=y +# default: +CONFIG_SOC_SHA_GDMA=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA1=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA224=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA256=y +# default: +CONFIG_SOC_ECC_CONSTANT_TIME_POINT_MUL=y +# default: +CONFIG_SOC_ECDSA_SUPPORT_EXPORT_PUBKEY=y +# default: +CONFIG_SOC_ECDSA_SUPPORT_DETERMINISTIC_MODE=y +# default: +CONFIG_SOC_SPI_PERIPH_NUM=2 +# default: +CONFIG_SOC_SPI_MAX_CS_NUM=6 +# default: +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +# default: +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +# default: +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +# default: +CONFIG_SOC_SPI_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_PLL=y +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y +# default: +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +# default: +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y +# default: +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_TSUS_TRES_SEPERATE_CTR=y +# default: +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y +# default: +CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y +# default: +CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +# default: +CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +# default: +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +# default: +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +# default: +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +# default: +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +# default: +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +# default: +CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST=y +# default: +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +# default: +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y +# default: +CONFIG_SOC_SYSTIMER_SUPPORT_ETM=y +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 +# default: +CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_TIMER_SUPPORT_ETM=y +# default: +CONFIG_SOC_MWDT_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y +# default: +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +# default: +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +# default: +CONFIG_SOC_EFUSE_DIS_ICACHE=y +# default: +CONFIG_SOC_EFUSE_ECDSA_KEY=y +# default: +CONFIG_SOC_SECURE_BOOT_V2_ECC=y +# default: +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +# default: +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +# default: +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +# default: +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_SUPPORT_PSEUDO_ROUND=y +# default: +CONFIG_SOC_RECOVERY_BOOTLOADER_SUPPORTED=y +# default: +CONFIG_SOC_BOOTLOADER_ANTI_ROLLBACK_SUPPORTED=y +# default: +CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED=y +# default: +CONFIG_SOC_APM_CPU_APM_SUPPORTED=y +# default: +CONFIG_SOC_APM_SUPPORT_CTRL_CFG_LOCK=y +# default: +CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y +# default: +CONFIG_SOC_UART_NUM=3 +# default: +CONFIG_SOC_UART_HP_NUM=3 +# default: +CONFIG_SOC_UART_FIFO_LEN=128 +# default: +CONFIG_SOC_UART_BITRATE_MAX=5000000 +# default: +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +# default: +CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +# default: +CONFIG_SOC_UART_WAKEUP_CHARS_SEQ_MAX_LEN=5 +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_FIFO_THRESH_MODE=y +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_START_BIT_MODE=y +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_CHAR_SEQ_MODE=y +# default: +CONFIG_SOC_COEX_HW_PTI=y +# default: +CONFIG_SOC_EXTERNAL_COEX_ADVANCE=y +# default: +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +# default: +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +# default: +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN=y +# default: +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RC32K_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_TOP_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_HP_AON_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE=y +# default: +CONFIG_SOC_PM_SUPPORT_PMU_CLK_ICG=y +# default: +CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y +# default: +CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y +# default: +CONFIG_SOC_EXT_MEM_CACHE_TAG_IN_CPU_DOMAIN=y +# default: +CONFIG_SOC_PM_PAU_LINK_NUM=4 +# default: +CONFIG_SOC_PM_PAU_REGDMA_LINK_MULTI_ADDR=y +# default: +CONFIG_SOC_PM_PAU_REGDMA_LINK_WIFIMAC=y +# default: +CONFIG_SOC_PM_PAU_REGDMA_UPDATE_CACHE_BEFORE_WAIT_COMPARE=y +# default: +CONFIG_SOC_PM_PMU_MIN_SLP_SLOW_CLK_CYCLE_FIXED=y +# default: +CONFIG_SOC_PM_RETENTION_MODULE_NUM=32 +# default: +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +# default: +CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y +# default: +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +# default: +CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y +# default: +CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL=y +# default: +CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D2=y +# default: +CONFIG_SOC_RCC_IS_INDEPENDENT=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN=y +# default: +CONFIG_SOC_WIFI_HW_TSF=y +# default: +CONFIG_SOC_WIFI_FTM_SUPPORT=y +# default: +CONFIG_SOC_WIFI_GCMP_SUPPORT=y +# default: +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_CSI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_MESH_SUPPORT=y +# default: +CONFIG_SOC_WIFI_HE_SUPPORT=y +# default: +CONFIG_SOC_WIFI_MAC_VERSION_NUM=3 +# default: +CONFIG_SOC_WIFI_NAN_SUPPORT=y +# default: +CONFIG_SOC_BLE_SUPPORTED=y +# default: +CONFIG_SOC_ESP_NIMBLE_CONTROLLER=y +# default: +CONFIG_SOC_BLE_50_SUPPORTED=y +# default: +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +# default: +CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y +# default: +CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED=y +# default: +CONFIG_SOC_BLUFI_SUPPORTED=y +# default: +CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y +# default: +CONFIG_SOC_BLE_CTE_SUPPORTED=y +# default: +CONFIG_SOC_PHY_COMBO_MODULE=y +# default: +CONFIG_SOC_PHY_CALIBRATION_CLOCK_IS_INDEPENDENT=y +# default: +CONFIG_IDF_CMAKE=y +# default: +CONFIG_IDF_TOOLCHAIN="gcc" +# default: +CONFIG_IDF_TOOLCHAIN_GCC=y +# default: +CONFIG_IDF_TARGET_ARCH_RISCV=y +# default: +CONFIG_IDF_TARGET_ARCH="riscv" +# default: +CONFIG_IDF_TARGET="esp32c61" +# default: +CONFIG_IDF_INIT_VERSION="6.1.0" +# default: +CONFIG_IDF_TARGET_ESP32C61=y +# default: +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0014 + +# +# Build type +# +# default: +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# default: +# CONFIG_APP_BUILD_TYPE_RAM is not set +# default: +CONFIG_APP_BUILD_GENERATE_BINARIES=y +# default: +CONFIG_APP_BUILD_BOOTLOADER=y +# default: +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# default: +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# default: +# CONFIG_APP_NO_BLOBS is not set +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +# default: +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +# default: +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +# +# Application Rollback +# +# default: +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# end of Application Rollback + +# +# Recovery Bootloader and Rollback +# +# default: +# CONFIG_BOOTLOADER_RECOVERY_ENABLE is not set +# end of Recovery Bootloader and Rollback + +# default: +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +# default: +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set + +# +# Log +# +# default: +CONFIG_BOOTLOADER_LOG_VERSION_1=y +# default: +CONFIG_BOOTLOADER_LOG_VERSION=1 +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Format +# +# default: +# CONFIG_BOOTLOADER_LOG_COLORS is not set +# default: +CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y +# end of Format + +# +# Settings +# +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT=y +# end of Settings +# end of Log + +# default: +CONFIG_BOOTLOADER_CPU_CLK_FREQ_MHZ=80 + +# +# Serial Flash Configurations +# +# default: +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +# default: +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# default: +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# default: +# CONFIG_BOOTLOADER_APP_TEST is not set +# default: +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +# default: +CONFIG_BOOTLOADER_WDT_ENABLE=y +# default: +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +# default: +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +# end of Bootloader config + +# +# Security features +# +# default: +CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED=y +# default: +CONFIG_SECURE_BOOT_V2_PREFERRED=y +# default: +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +# default: +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y +# end of Security features + +# +# Application manager +# +# default: +CONFIG_APP_COMPILE_TIME_DATE=y +# default: +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# default: +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# default: +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +# default: +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +# default: +CONFIG_ESP_ROM_HAS_CRC_LE=y +# default: +CONFIG_ESP_ROM_HAS_CRC_BE=y +# default: +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +# default: +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +# default: +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 +# default: +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +# default: +CONFIG_ESP_ROM_GET_CLK_FREQ=y +# default: +CONFIG_ESP_ROM_HAS_RVFPLIB=y +# default: +CONFIG_ESP_ROM_HAS_HAL_WDT=y +# default: +CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y +# default: +CONFIG_ESP_ROM_SYSTIMER_INIT_PATCH=y +# default: +CONFIG_ESP_ROM_HAS_HEAP_TLSF=y +# default: +CONFIG_ESP_ROM_TLSF_CHECK_PATCH=y +# default: +CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH=y +# default: +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +# default: +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +# default: +CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP=y +# default: +CONFIG_ESP_ROM_WITHOUT_REGI2C=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_PRINTF_FLOAT_BUG=y +# default: +CONFIG_ESP_ROM_HAS_VERSION=y +# default: +CONFIG_ESP_ROM_WDT_INIT_PATCH=y +# default: +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +# default: +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +# default: +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +# default: +CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y +# default: +CONFIG_ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY=y +# default: +CONFIG_ESP_ROM_DELAY_US_PATCH=y + +# +# Boot ROM Behavior +# +# default: +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# default: +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# default: +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# default: +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# Serial flasher config +# +# default: +# CONFIG_ESPTOOLPY_NO_STUB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +# default: +CONFIG_ESPTOOLPY_FLASHMODE="dio" +# default: +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +# default: +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set +# default: +CONFIG_ESPTOOLPY_FLASHSIZE="2MB" +# default: +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +# default: +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# default: +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +# default: +CONFIG_ESPTOOLPY_BEFORE="default-reset" +# default: +CONFIG_ESPTOOLPY_AFTER_RESET=y +# default: +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +# default: +CONFIG_ESPTOOLPY_AFTER="hard-reset" +# default: +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# 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_TWO_OTA_LARGE is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +# default: +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +# default: +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +# default: +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Compiler options +# +# default: +CONFIG_COMPILER_OPTIMIZATION_DEBUG=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +# default: +# CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE is not set +# default: +# CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB is not set +# default: +CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# default: +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +# default: +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# default: +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# default: +# CONFIG_COMPILER_CXX_RTTI is not set +# default: +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# default: +# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set +# default: +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# default: +# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set +# default: +# CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC15_WARNINGS is not set +# default: +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +# default: +CONFIG_COMPILER_RT_LIB_GCCLIB=y +# default: +CONFIG_COMPILER_RT_LIB_NAME="gcc" +# default: +CONFIG_COMPILER_ORPHAN_SECTIONS_ERROR=y +# default: +# CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set +# default: +# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set +# default: +# CONFIG_COMPILER_STATIC_ANALYZER is not set +# default: +CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_NO_CHANGE=y +# default: +# CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD_CONSTEXPR is not set +# default: +# CONFIG_COMPILER_CXX_GLIBCXX_CONSTEXPR_COLD is not set +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# default: +# CONFIG_APPTRACE_ENABLE is not set +# end of Application Level Tracing + +# +# Bluetooth +# +CONFIG_BT_ENABLED=y +CONFIG_BT_BLUEDROID_ENABLED=y +# CONFIG_BT_NIMBLE_ENABLED is not set +# CONFIG_BT_CONTROLLER_ONLY is not set +# default: +CONFIG_BT_CONTROLLER_ENABLED=y +# default: +# CONFIG_BT_CONTROLLER_DISABLED is not set + +# +# Bluedroid Options +# +# default: +CONFIG_BT_BTC_TASK_STACK_SIZE=3072 +# default: +CONFIG_BT_BLUEDROID_PINNED_TO_CORE=0 +# default: +CONFIG_BT_BTU_TASK_STACK_SIZE=4352 +# default: +# CONFIG_BT_BLUEDROID_MEM_DEBUG is not set +# default: +CONFIG_BT_BLUEDROID_ESP_COEX_VSC=y +CONFIG_BT_BLE_ENABLED=y +# default: +CONFIG_BT_GATTS_ENABLE=y +# default: +# CONFIG_BT_GATTS_PPCP_CHAR_GAP is not set +# default: +# CONFIG_BT_BLE_BLUFI_ENABLE is not set +# default: +CONFIG_BT_GATT_MAX_SR_PROFILES=8 +# default: +CONFIG_BT_GATT_MAX_SR_ATTRIBUTES=100 +# default: +# CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set +# default: +CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_AUTO=y +# default: +CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MODE=0 +# default: +# CONFIG_BT_GATTS_ROBUST_CACHING_ENABLED is not set +# default: +# CONFIG_BT_GATTS_DEVICE_NAME_WRITABLE is not set +# default: +# CONFIG_BT_GATTS_APPEARANCE_WRITABLE is not set +# default: +CONFIG_BT_GATTC_ENABLE=y +# default: +CONFIG_BT_GATTC_MAX_CACHE_CHAR=40 +# default: +CONFIG_BT_GATTC_NOTIF_REG_MAX=5 +# default: +# CONFIG_BT_GATTC_CACHE_NVS_FLASH is not set +# default: +CONFIG_BT_GATTC_CONNECT_RETRY_COUNT=3 +# default: +CONFIG_BT_BLE_ESTAB_LINK_CONN_TOUT=30 +# default: +CONFIG_BT_BLE_SMP_ENABLE=y +# default: +# CONFIG_BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set +# default: +# CONFIG_BT_BLE_SMP_ID_RESET_ENABLE is not set +# default: +CONFIG_BT_BLE_SMP_BOND_NVS_FLASH=y +# default: +# CONFIG_BT_STACK_NO_LOG is not set + +# +# BT DEBUG LOG LEVEL +# +# default: +# CONFIG_BT_LOG_HCI_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_HCI_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_HCI_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_HCI_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_HCI_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_HCI_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_HCI_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_HCI_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_BTM_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_BTM_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_BTM_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_BTM_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_BTM_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_BTM_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_BTM_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_BTM_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_L2CAP_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_SDP_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_SDP_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_SDP_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_SDP_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_SDP_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_SDP_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_SDP_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_SDP_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_GAP_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_GAP_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_GAP_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_GAP_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_GAP_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_GAP_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_GAP_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_GAP_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_BNEP_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_BNEP_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_PAN_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_PAN_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_PAN_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_PAN_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_PAN_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_PAN_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_PAN_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_PAN_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_A2D_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_A2D_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_A2D_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_A2D_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_A2D_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_A2D_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_A2D_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_A2D_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_AVDT_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_AVDT_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_AVCT_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_AVCT_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_AVRC_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_AVRC_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_MCA_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_MCA_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_MCA_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_MCA_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_MCA_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_MCA_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_MCA_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_MCA_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_HID_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_HID_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_HID_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_HID_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_HID_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_HID_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_HID_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_HID_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_APPL_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_APPL_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_APPL_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_APPL_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_APPL_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_APPL_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_APPL_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_APPL_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_GATT_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_GATT_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_GATT_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_GATT_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_GATT_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_GATT_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_GATT_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_GATT_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_SMP_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_SMP_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_SMP_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_SMP_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_SMP_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_SMP_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_SMP_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_SMP_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_BTIF_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_BTIF_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_BTC_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_BTC_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_BTC_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_BTC_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_BTC_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_BTC_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_BTC_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_BTC_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_OSI_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_OSI_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_OSI_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_OSI_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_OSI_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_OSI_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_OSI_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_OSI_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_BLUFI_TRACE_LEVEL=2 +# end of BT DEBUG LOG LEVEL + +# default: +CONFIG_BT_ACL_CONNECTIONS=4 +# default: +CONFIG_BT_MULTI_CONNECTION_ENBALE=y +# default: +# CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST is not set +# default: +# CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY is not set +# default: +CONFIG_BT_SMP_ENABLE=y +# default: +CONFIG_BT_SMP_MAX_BONDS=15 +# default: +# CONFIG_BT_BLE_ACT_SCAN_REP_ADV_SCAN is not set +# default: +CONFIG_BT_MAX_DEVICE_NAME_LEN=32 +# default: +CONFIG_BT_BLE_RPA_TIMEOUT=900 +# default: +CONFIG_BT_BLE_50_FEATURES_SUPPORTED=y +# default: +CONFIG_BT_BLE_50_EXTEND_ADV_EN=y +# default: +CONFIG_BT_BLE_50_PERIODIC_ADV_EN=y +# default: +CONFIG_BT_BLE_50_EXTEND_SCAN_EN=y +# default: +CONFIG_BT_BLE_50_EXTEND_SYNC_EN=y +# default: +CONFIG_BT_BLE_50_DTM_TEST_EN=y +# default: +# CONFIG_BT_BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER is not set +# default: +# CONFIG_BT_BLE_FEAT_PERIODIC_ADV_ENH is not set +# default: +# CONFIG_BT_BLE_FEAT_CREATE_SYNC_ENH is not set +CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y +# default: +CONFIG_BT_BLE_42_DTM_TEST_EN=y +# default: +CONFIG_BT_BLE_42_ADV_EN=y +# default: +CONFIG_BT_BLE_42_SCAN_EN=y +# default: +# CONFIG_BT_BLE_FEAT_CTE_EN is not set +# default: +# CONFIG_BT_BLE_FEAT_POWER_CONTROL is not set +# default: +CONFIG_BT_BLE_VENDOR_HCI_EN=y +# default: +# CONFIG_BT_BLE_HIGH_DUTY_ADV_INTERVAL is not set +# default: +# CONFIG_BT_ABORT_WHEN_ALLOCATION_FAILS is not set +# end of Bluedroid Options + +# +# Controller Options +# + +# +# HCI Config +# +# default: +CONFIG_BT_LE_HCI_INTERFACE_USE_RAM=y +# default: +# CONFIG_BT_LE_HCI_INTERFACE_USE_UART is not set +# end of HCI Config + +# default: +CONFIG_BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT=y +# default: +CONFIG_BT_LE_50_FEATURE_SUPPORT=y +# default: +CONFIG_BT_LE_LL_CFG_FEAT_LE_2M_PHY=y +# default: +CONFIG_BT_LE_LL_CFG_FEAT_LE_CODED_PHY=y +# default: +CONFIG_BT_LE_EXT_ADV=y +# default: +CONFIG_BT_LE_MAX_EXT_ADV_INSTANCES=1 +# default: +CONFIG_BT_LE_EXT_ADV_MAX_SIZE=1650 +# default: +CONFIG_BT_LE_ENABLE_PERIODIC_ADV=y +# default: +CONFIG_BT_LE_PERIODIC_ADV_SYNC_TRANSFER=y +# default: +CONFIG_BT_LE_MAX_PERIODIC_SYNCS=1 +# default: +CONFIG_BT_LE_MAX_PERIODIC_ADVERTISER_LIST=5 +# default: +# CONFIG_BT_LE_CTE_FEATURE_ENABLED is not set +# default: +# CONFIG_BT_LE_PERIODIC_ADV_WITH_RESPONSE_ENABLED is not set + +# +# Memory Settings +# +# default: +CONFIG_BT_LE_MSYS_1_BLOCK_COUNT=12 +# default: +CONFIG_BT_LE_MSYS_1_BLOCK_SIZE=256 +# default: +CONFIG_BT_LE_MSYS_2_BLOCK_COUNT=24 +# default: +CONFIG_BT_LE_MSYS_2_BLOCK_SIZE=320 +# default: +CONFIG_BT_LE_MSYS_BUF_FROM_HEAP=y +# default: +CONFIG_BT_LE_ACL_BUF_COUNT=10 +# default: +CONFIG_BT_LE_ACL_BUF_SIZE=517 +# default: +CONFIG_BT_LE_HCI_EVT_BUF_SIZE=257 +# default: +CONFIG_BT_LE_HCI_EVT_HI_BUF_COUNT=30 +# default: +CONFIG_BT_LE_HCI_EVT_LO_BUF_COUNT=8 +# end of Memory Settings + +# default: +CONFIG_BT_LE_CONTROLLER_TASK_STACK_SIZE=4096 + +# +# Controller debug features +# +# default: +# CONFIG_BT_LE_CONTROLLER_LOG_ENABLED is not set +# default: +# CONFIG_BT_LE_ERROR_SIM_ENABLED is not set +# default: +# CONFIG_BT_LE_ASSERT_WHEN_ABNORMAL_DISCONN_ENABLED is not set +# default: +# CONFIG_BT_LE_DEBUG_REMAIN_SCENE_ENABLED is not set +# default: +# CONFIG_BT_LE_PTR_CHECK_ENABLED is not set +# default: +# CONFIG_BT_LE_MEM_CHECK_ENABLED is not set +# end of Controller debug features + +# default: +CONFIG_BT_LE_LL_RESOLV_LIST_SIZE=4 +# default: +CONFIG_BT_LE_SECURITY_ENABLE=y +# default: +CONFIG_BT_LE_SM_LEGACY=y +# default: +CONFIG_BT_LE_SM_SC=y +# default: +# CONFIG_BT_LE_SM_SC_DEBUG_KEYS is not set +# default: +CONFIG_BT_LE_LL_CFG_FEAT_LE_ENCRYPTION=y +# default: +CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS=y +# default: +CONFIG_BT_LE_WHITELIST_SIZE=12 +# default: +CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT=20 +# default: +CONFIG_BT_LE_LL_SCA=60 +# default: +# CONFIG_BT_LE_LL_PEER_SCA_SET_ENABLE is not set +# default: +CONFIG_BT_LE_MAX_CONNECTIONS=3 +# default: +# CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +# default: +CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +# default: +CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 +# default: +# CONFIG_BT_LE_SLEEP_ENABLE is not set +# default: +CONFIG_BT_LE_LP_CLK_SRC_MAIN_XTAL=y +# default: +# CONFIG_BT_LE_LP_CLK_SRC_DEFAULT is not set +# default: +CONFIG_BT_LE_USE_ESP_TIMER=y +# default: +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +# default: +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +# default: +CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +# default: +CONFIG_BT_LE_SCAN_DUPL=y +# default: +CONFIG_BT_LE_SCAN_DUPL_TYPE_DEVICE=y +# default: +# CONFIG_BT_LE_SCAN_DUPL_TYPE_DATA is not set +# default: +# CONFIG_BT_LE_SCAN_DUPL_TYPE_DATA_DEVICE is not set +# default: +CONFIG_BT_LE_SCAN_DUPL_TYPE=0 +# default: +CONFIG_BT_LE_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 +# default: +CONFIG_BT_LE_MSYS_INIT_IN_CONTROLLER=y +# default: +# CONFIG_BT_LE_TX_CCA_ENABLED is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N15 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N12 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N9 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N6 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N3 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N0 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P3 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P6 is not set +# default: +CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P9=y +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P12 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P15 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P18 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P20 is not set +# default: +CONFIG_BT_LE_DFT_TX_POWER_LEVEL_DBM_EFF=9 +# default: +# CONFIG_BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS is not set +# default: +# CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY is not set + +# +# BLE disconnects when Instant Passed (0x28) occurs +# +# default: +# CONFIG_BT_LE_CTRL_LLCP_CONN_UPDATE is not set +# default: +# CONFIG_BT_LE_CTRL_LLCP_CHAN_MAP_UPDATE is not set +# default: +# CONFIG_BT_LE_CTRL_LLCP_PHY_UPDATE is not set +# end of BLE disconnects when Instant Passed (0x28) occurs + +# default: +CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX=32 +# default: +# CONFIG_BT_LE_CTRL_CHAN_ASS_EN is not set +# default: +CONFIG_BT_LE_CTRL_ADV_DATA_LENGTH_ZERO_AUX=y +# default: +CONFIG_BT_LE_RXBUF_OPT_ENABLED=y +# default: +CONFIG_BT_LE_CTRL_FAST_CONN_DATA_TX_EN=y + +# +# Reserved Memory Config +# +# default: +CONFIG_BT_LE_EXT_ADV_RESERVED_MEMORY_COUNT=2 +# default: +CONFIG_BT_LE_CONN_RESERVED_MEMORY_COUNT=2 +# end of Reserved Memory Config + +# default: +# CONFIG_BT_LE_DTM_ENABLED is not set + +# +# Scheduling Priority Level Config +# +# default: +CONFIG_BT_LE_ADV_SCHED_PRIO_LOW_LEVEL=y +# default: +# CONFIG_BT_LE_ADV_SCHED_PRIO_MID_LEVEL is not set +# default: +# CONFIG_BT_LE_ADV_SCHED_PRIO_HIGH_LEVEL is not set +# default: +CONFIG_BT_LE_DFT_ADV_SCHED_PRIO_LEVEL=0 +# default: +# CONFIG_BT_LE_PERIODIC_ADV_SCHED_PRIO_LOW_LEVEL is not set +# default: +CONFIG_BT_LE_PERIODIC_ADV_SCHED_PRIO_MID_LEVEL=y +# default: +# CONFIG_BT_LE_PERIODIC_ADV_SCHED_PRIO_HIGH_LEVEL is not set +# default: +CONFIG_BT_LE_DFT_PERIODIC_ADV_SCHED_PRIO_LEVEL=1 +# default: +# CONFIG_BT_LE_SYNC_SCHED_PRIO_LOW_LEVEL is not set +# default: +CONFIG_BT_LE_SYNC_SCHED_PRIO_MID_LEVEL=y +# default: +# CONFIG_BT_LE_SYNC_SCHED_PRIO_HIGH_LEVEL is not set +# default: +CONFIG_BT_LE_DFT_SYNC_SCHED_PRIO_LEVEL=1 +# end of Scheduling Priority Level Config +# end of Controller Options + +# +# Common Options +# +# default: +CONFIG_BT_ALARM_MAX_NUM=50 + +# +# BLE Log +# +# default: +# CONFIG_BLE_LOG_ENABLED is not set +# end of BLE Log + +# default: +# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set +# default: +# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set +# default: +# CONFIG_BT_LE_USED_MEM_STATISTICS_ENABLED is not set +# end of Common Options + +# default: +# CONFIG_BT_HCI_LOG_DEBUG_EN is not set +# end of Bluetooth + +# default: +# CONFIG_BLE_MESH is not set + +# +# Console Library +# +# default: +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Legacy Driver Configurations +# + +# +# Legacy I2C Driver Configurations +# +# default: +# CONFIG_I2C_SUPPRESS_DEPRECATE_WARN is not set +# default: +# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2C Driver Configurations +# end of Legacy Driver Configurations + +# +# eFuse Bit Manager +# +# default: +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# default: +# CONFIG_EFUSE_VIRTUAL is not set +# default: +CONFIG_EFUSE_MAX_BLK_LEN=256 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +# default: +CONFIG_ESP_TLS_USING_MBEDTLS=y +# default: +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +# default: +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# default: +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# default: +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# default: +# CONFIG_ESP_TLS_INSECURE is not set +# default: +CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# default: +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set +# default: +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +# default: +CONFIG_ESP_COEX_ENABLED=y +# default: +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y +# default: +# CONFIG_ESP_COEX_POWER_MANAGEMENT is not set +# default: +# CONFIG_ESP_COEX_GPIO_DEBUG is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +# default: +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:Analog Comparator Configurations +# +# default: +CONFIG_ANA_CMPR_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_ANA_CMPR_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_ANA_CMPR_ISR_CACHE_SAFE is not set +# default: +CONFIG_ANA_CMPR_OBJ_CACHE_SAFE=y +# default: +# CONFIG_ANA_CMPR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Analog Comparator Configurations + +# +# ESP-Driver:GPIO Configurations +# +# default: +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +# default: +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set +# default: +CONFIG_GPTIMER_OBJ_CACHE_SAFE=y +# default: +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# default: +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# default: +CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# default: +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2S_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:I3C Master Configurations +# +# default: +# CONFIG_I3C_MASTER_ISR_CACHE_SAFE is not set +# default: +# CONFIG_I3C_MASTER_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_I3C_MASTER_ISR_HANDLER_IN_IRAM is not set +# end of ESP-Driver:I3C Master Configurations + +# +# ESP-Driver:LEDC Configurations +# +# default: +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:SPI Configurations +# +# default: +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# default: +# CONFIG_SPI_SLAVE_IN_IRAM is not set +# default: +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Temperature Sensor Configurations +# +# default: +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set +# end of ESP-Driver:Temperature Sensor Configurations + +# +# ESP-Driver:UART Configurations +# +# default: +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# ESP-Driver:UHCI Configurations +# +# default: +# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set +# default: +# CONFIG_UHCI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:UHCI Configurations + +# +# ESP-Driver:USB Serial/JTAG Configuration +# +# default: +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + +# +# Ethernet +# +# default: +CONFIG_ETH_ENABLED=y +# default: +CONFIG_ETH_USE_SPI_ETHERNET=y +# default: +# CONFIG_ETH_USE_OPENETH is not set +# default: +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# default: +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +# default: +CONFIG_ESP_EVENT_POST_FROM_ISR=y +# default: +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +# default: +CONFIG_ESP_GDBSTUB_ENABLED=y +# default: +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +# default: +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +# default: +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HID +# +# default: +CONFIG_ESPHID_TASK_SIZE_BT=2048 +# default: +CONFIG_ESPHID_TASK_SIZE_BLE=4096 +# end of ESP HID + +# +# ESP HTTP client +# +# default: +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_GET_CONTENT_RANGE is not set +# default: +CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 +# end of ESP HTTP client + +# +# HTTP Server +# +# default: +CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 +# default: +CONFIG_HTTPD_MAX_URI_LEN=512 +# default: +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +# default: +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# default: +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# default: +# CONFIG_HTTPD_WS_SUPPORT is not set +# default: +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# default: +CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# default: +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# default: +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# default: +CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 +# default: +# CONFIG_ESP_HTTPS_OTA_ENABLE_PARTIAL_DOWNLOAD is not set +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# default: +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# default: +CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 +# default: +# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# + +# +# Chip revision +# +# default: +CONFIG_ESP32C61_REV_MIN_100=y +# default: +CONFIG_ESP32C61_REV_MIN_FULL=100 +# default: +CONFIG_ESP_REV_MIN_FULL=100 + +# +# Maximum Supported ESP32-C61 Revision (Rev v1.99) +# +# default: +CONFIG_ESP32C61_REV_MAX_FULL=199 +# default: +CONFIG_ESP_REV_MAX_FULL=199 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=199 + +# +# Maximum Supported ESP32-C61 eFuse Block Revision (eFuse Block Rev v0.99) +# +# end of Chip revision + +# +# MAC Config +# +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP32C61_UNIVERSAL_MAC_ADDRESSES_TWO is not set +# default: +CONFIG_ESP32C61_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP32C61_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# default: +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +# default: +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# default: +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +# default: +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +# default: +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 +# default: +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# default: +# CONFIG_ESP_SLEEP_DEBUG is not set +# default: +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +# default: +CONFIG_RTC_CLK_SRC_INT_RC=y +# default: +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# default: +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# default: +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# end of RTC Clock Config + +# +# Peripheral Control +# +# default: +CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# GDMA Configurations +# +# default: +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_GDMA_ISR_HANDLER_IN_IRAM=y +# default: +CONFIG_GDMA_OBJ_DRAM_SAFE=y +# default: +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configurations + +# +# Event Task Matrix (ETM) Configurations +# +# default: +# CONFIG_ETM_ENABLE_DEBUG_LOG is not set +# end of Event Task Matrix (ETM) Configurations + +# +# Main XTAL Config +# +# default: +CONFIG_XTAL_FREQ_40=y +# default: +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +# +# Power Supplier +# + +# +# Brownout Detector +# +# default: +CONFIG_ESP_BROWNOUT_DET=y +# default: +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# default: +CONFIG_ESP_BROWNOUT_DET_LVL=7 +# default: +CONFIG_ESP_BROWNOUT_USE_INTR=y +# end of Brownout Detector +# end of Power Supplier + +# default: +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +# default: +CONFIG_ESP_CLK_RC32K_NOT_TO_USE=y +# default: +CONFIG_ESP_INTR_IN_IRAM=y +# end of Hardware Settings + +# +# ESP-Driver:LCD Controller Configurations +# +# default: +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:LCD Controller Configurations + +# +# LibC +# +# default: +CONFIG_LIBC_NEWLIB=y +# default: +CONFIG_LIBC_MISC_IN_IRAM=y +# default: +CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y +# default: +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set +# default: +CONFIG_LIBC_STDIN_LINE_ENDING_CR=y +# default: +# CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set +# default: +CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set +# default: +CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS=y +# default: +CONFIG_LIBC_ASSERT_BUFFER_SIZE=200 +# end of LibC + +# +# ESP-MM: Memory Management Configurations +# +# default: +# CONFIG_ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS is not set +# end of ESP-MM: Memory Management Configurations + +# +# ESP NETIF Adapter +# +# default: +CONFIG_ESP_NETIF_LOST_IP_TIMER_ENABLE=y +# default: +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +# default: +# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set +# default: +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# default: +# CONFIG_ESP_NETIF_LOOPBACK is not set +# default: +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# default: +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y +# default: +CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS=y +# default: +# CONFIG_ESP_NETIF_L2_TAP is not set +# default: +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# default: +# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +# default: +CONFIG_ESP_PHY_ENABLED=y +# default: +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# default: +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +# default: +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +# default: +CONFIG_ESP_PHY_MAX_TX_POWER=20 +# default: +# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +# default: +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set +# default: +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# default: +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# default: +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +# default: +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# default: +CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000 +# default: +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# default: +# CONFIG_ESP_PHY_RECORD_USED_TIME is not set +# default: +CONFIG_ESP_PHY_IRAM_OPT=y +# default: +# CONFIG_ESP_PHY_DEBUG is not set +# end of PHY + +# +# Power Management +# +# default: +CONFIG_PM_SLEEP_FUNC_IN_IRAM=y +# default: +# CONFIG_PM_ENABLE is not set +# default: +CONFIG_PM_SLP_IRAM_OPT=y +# default: +CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y +# default: +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +# default: +CONFIG_PM_CPU_RETENTION_DYNAMIC=y +# default: +# CONFIG_PM_CPU_RETENTION_STATIC is not set +# default: +# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set +# default: +CONFIG_PM_ESP_SLEEP_POWER_DOWN_CPU=y +# end of Power Management + +# +# ESP PSRAM +# +# default: +# CONFIG_SPIRAM is not set +# end of ESP PSRAM + +# +# ESP Ringbuf +# +# default: +# CONFIG_RINGBUF_IN_IRAM is not set +# default: +# CONFIG_RINGBUF_PLACE_ISR_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP-ROM +# +# default: +CONFIG_ESP_ROM_PRINT_IN_IRAM=y +# end of ESP-ROM + +# +# ESP Security Specific +# + +# +# Crypto DPA Protection +# +# default: +CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP=y +# default: +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW=y +# default: +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM is not set +# default: +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set +# default: +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1 +# end of Crypto DPA Protection + +# default: +# CONFIG_ESP_CRYPTO_FORCE_ECC_CONSTANT_TIME_POINT_MUL is not set +# end of ESP Security Specific + +# +# ESP-STDIO +# +# default: +CONFIG_ESP_CONSOLE_UART_DEFAULT=y +# default: +# CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set +# default: +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# default: +# CONFIG_ESP_CONSOLE_NONE is not set +# default: +# CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set +# default: +CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y +# default: +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y +# default: +CONFIG_ESP_CONSOLE_UART=y +# default: +CONFIG_ESP_CONSOLE_UART_NUM=0 +# default: +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 +# default: +CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 +# end of ESP-STDIO + +# +# ESP System Settings +# +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 + +# +# Cache config +# +# default: +CONFIG_CACHE_L1_CACHE_SIZE=0x8000 +# default: +CONFIG_CACHE_L1_CACHE_LINE_SIZE=32 +# end of Cache config + +# default: +CONFIG_ESP_SYSTEM_IN_IRAM=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# default: +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +# default: +CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y +# default: +CONFIG_ESP_SYSTEM_NO_BACKTRACE=y +# default: +# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set +# default: +# CONFIG_ESP_SYSTEM_USE_FRAME_POINTER is not set +# default: +CONFIG_ESP_SYSTEM_MEMPROT=y +# default: +CONFIG_ESP_SYSTEM_MEMPROT_PMP=y +# default: +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +# default: +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +# default: +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +# default: +CONFIG_ESP_INT_WDT=y +# default: +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +# default: +CONFIG_ESP_TASK_WDT_EN=y +# default: +CONFIG_ESP_TASK_WDT_INIT=y +# default: +# CONFIG_ESP_TASK_WDT_PANIC is not set +# default: +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +# default: +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# default: +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# default: +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +# default: +CONFIG_ESP_DEBUG_OCDAWARE=y +# default: +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +# default: +CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y +# default: +CONFIG_ESP_SYSTEM_HW_PC_RECORD=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +# default: +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +# default: +CONFIG_ESP_TIMER_IN_IRAM=y +# default: +# CONFIG_ESP_TIMER_PROFILING is not set +# default: +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +# default: +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +# default: +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +# default: +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# default: +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +# default: +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +# default: +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of ESP Timer (High Resolution Timer) + +# +# Wi-Fi +# +# default: +CONFIG_ESP_WIFI_ENABLED=y +# default: +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# default: +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +# default: +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# default: +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# default: +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +# default: +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# default: +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +# default: +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +# default: +CONFIG_ESP_WIFI_TX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +# default: +CONFIG_ESP_WIFI_RX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_NVS_ENABLED=y +# default: +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +# default: +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +# default: +CONFIG_ESP_WIFI_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_H2E=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +# default: +CONFIG_ESP_WIFI_WPA3_COMPATIBLE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_SLP_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +# default: +CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# default: +# CONFIG_ESP_WIFI_FTM_ENABLE is not set +# default: +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# default: +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set +# default: +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +# default: +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# default: +# CONFIG_ESP_WIFI_NAN_SYNC_ENABLE is not set +# default: +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +# default: +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# default: +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# default: +# CONFIG_ESP_WIFI_SUITE_B_192 is not set +# default: +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set +# default: +# CONFIG_ESP_WIFI_ENABLE_WIFI_TX_STATS is not set +# default: +# CONFIG_ESP_WIFI_ENABLE_WIFI_RX_STATS is not set +# default: +CONFIG_ESP_WIFI_TX_HETB_QUEUE_NUM=3 + +# +# WPS Configuration Options +# +# default: +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# default: +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# default: +# CONFIG_ESP_WIFI_WPS_RECONNECT_ON_FAIL is not set +# end of WPS Configuration Options + +# default: +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# default: +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# end of Wi-Fi + +# +# Core dump +# +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +# default: +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +# default: +CONFIG_FATFS_VOLUME_COUNT=2 +# default: +# CONFIG_FATFS_LFN_NONE is not set +# default: +CONFIG_FATFS_LFN_HEAP=y +# default: +# CONFIG_FATFS_LFN_STACK is not set +# default: +# CONFIG_FATFS_SECTOR_512 is not set +# default: +CONFIG_FATFS_SECTOR_4096=y +# default: +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +# default: +CONFIG_FATFS_CODEPAGE_437=y +# default: +# CONFIG_FATFS_CODEPAGE_720 is not set +# default: +# CONFIG_FATFS_CODEPAGE_737 is not set +# default: +# CONFIG_FATFS_CODEPAGE_771 is not set +# default: +# CONFIG_FATFS_CODEPAGE_775 is not set +# default: +# CONFIG_FATFS_CODEPAGE_850 is not set +# default: +# CONFIG_FATFS_CODEPAGE_852 is not set +# default: +# CONFIG_FATFS_CODEPAGE_855 is not set +# default: +# CONFIG_FATFS_CODEPAGE_857 is not set +# default: +# CONFIG_FATFS_CODEPAGE_860 is not set +# default: +# CONFIG_FATFS_CODEPAGE_861 is not set +# default: +# CONFIG_FATFS_CODEPAGE_862 is not set +# default: +# CONFIG_FATFS_CODEPAGE_863 is not set +# default: +# CONFIG_FATFS_CODEPAGE_864 is not set +# default: +# CONFIG_FATFS_CODEPAGE_865 is not set +# default: +# CONFIG_FATFS_CODEPAGE_866 is not set +# default: +# CONFIG_FATFS_CODEPAGE_869 is not set +# default: +# CONFIG_FATFS_CODEPAGE_932 is not set +# default: +# CONFIG_FATFS_CODEPAGE_936 is not set +# default: +# CONFIG_FATFS_CODEPAGE_949 is not set +# default: +# CONFIG_FATFS_CODEPAGE_950 is not set +# default: +CONFIG_FATFS_CODEPAGE=437 +# default: +CONFIG_FATFS_MAX_LFN=255 +# default: +CONFIG_FATFS_API_ENCODING_ANSI_OEM=y +# default: +# CONFIG_FATFS_API_ENCODING_UTF_8 is not set +# default: +CONFIG_FATFS_FS_LOCK=0 +# default: +CONFIG_FATFS_TIMEOUT_MS=10000 +# default: +CONFIG_FATFS_PER_FILE_CACHE=y +# default: +# CONFIG_FATFS_USE_FASTSEEK is not set +# default: +CONFIG_FATFS_USE_STRFUNC_NONE=y +# default: +# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set +# default: +# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set +# default: +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# default: +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# default: +# CONFIG_FATFS_USE_LABEL is not set +# default: +CONFIG_FATFS_LINK_LOCK=y +# default: +CONFIG_FATFS_USE_DYN_BUFFERS=y + +# +# File system free space calculation behavior +# +# default: +CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 +# default: +CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 +# end of File system free space calculation behavior +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# default: +# CONFIG_FREERTOS_SMP is not set +# default: +CONFIG_FREERTOS_UNICORE=y +# default: +CONFIG_FREERTOS_HZ=100 +# default: +CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +# default: +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +# default: +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +# default: +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# default: +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# default: +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +# default: +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# default: +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +# default: +CONFIG_FREERTOS_USE_TIMERS=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# default: +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +# default: +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +# default: +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +# default: +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +# default: +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +# default: +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# default: +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# default: +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# default: +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# default: +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# default: +CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y +# default: +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +# default: +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# default: +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# default: +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +# default: +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +# default: +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +# default: +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +# default: +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# default: +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +# default: +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +# default: +# CONFIG_FREERTOS_IN_IRAM is not set +# default: +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +# +# Extra +# +# end of Extra + +# default: +CONFIG_FREERTOS_PORT=y +# default: +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +# default: +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +# default: +CONFIG_FREERTOS_NUMBER_OF_CORES=1 +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +# default: +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# default: +# CONFIG_HAL_ASSERTION_DISABLE is not set +# default: +# CONFIG_HAL_ASSERTION_SILENT is not set +# default: +# CONFIG_HAL_ASSERTION_ENABLE is not set +# default: +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# default: +CONFIG_HAL_SYSTIMER_USE_ROM_IMPL=y +# default: +CONFIG_HAL_WDT_USE_ROM_IMPL=y +# default: +CONFIG_HAL_GPIO_USE_ROM_IMPL=y +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +# default: +CONFIG_HEAP_POISONING_DISABLED=y +# default: +# CONFIG_HEAP_POISONING_LIGHT is not set +# default: +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +# default: +CONFIG_HEAP_TRACING_OFF=y +# default: +# CONFIG_HEAP_TRACING_STANDALONE is not set +# default: +# CONFIG_HEAP_TRACING_TOHOST is not set +# default: +# CONFIG_HEAP_USE_HOOKS is not set +# default: +# CONFIG_HEAP_TASK_TRACKING is not set +# default: +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# default: +CONFIG_HEAP_TLSF_USE_ROM_IMPL=y +# default: +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log +# +# default: +CONFIG_LOG_VERSION_1=y +# default: +# CONFIG_LOG_VERSION_2 is not set +# default: +CONFIG_LOG_VERSION=1 + +# +# Log Level +# +# default: +# CONFIG_LOG_DEFAULT_LEVEL_NONE is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_WARN is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL_INFO=y +# default: +# CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_DEFAULT_LEVEL=3 +# default: +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_MAXIMUM_LEVEL=3 + +# +# Level Settings +# +# default: +# CONFIG_LOG_MASTER_LEVEL is not set +# default: +CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y +# default: +# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set +# default: +CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 +# end of Level Settings +# end of Log Level + +# +# Format +# +# default: +# CONFIG_LOG_COLORS is not set +# default: +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# default: +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Format + +# +# Settings +# +# default: +CONFIG_LOG_MODE_TEXT_EN=y +# default: +CONFIG_LOG_MODE_TEXT=y +# end of Settings + +# default: +CONFIG_LOG_IN_IRAM=y +# end of Log + +# +# LWIP +# +# default: +CONFIG_LWIP_ENABLE=y +# default: +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# default: +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# default: +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# default: +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +# default: +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# default: +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# default: +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# default: +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +# default: +CONFIG_LWIP_TIMERS_ONDEMAND=y +# default: +CONFIG_LWIP_ND6=y +# default: +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +# default: +CONFIG_LWIP_MAX_SOCKETS=10 +# default: +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# default: +# CONFIG_LWIP_SO_LINGER is not set +# default: +CONFIG_LWIP_SO_REUSE=y +# default: +CONFIG_LWIP_SO_REUSE_RXTOALL=y +# default: +# CONFIG_LWIP_SO_RCVBUF is not set +# default: +# CONFIG_LWIP_NETBUF_RECVINFO is not set +# default: +CONFIG_LWIP_IP_DEFAULT_TTL=64 +# default: +CONFIG_LWIP_IP4_FRAG=y +# default: +CONFIG_LWIP_IP6_FRAG=y +# default: +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# default: +# CONFIG_LWIP_IP6_REASSEMBLY is not set +# default: +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# default: +CONFIG_LWIP_IPV6_DUP_DETECT_ATTEMPTS=1 +# default: +# CONFIG_LWIP_IP_FORWARD is not set +# default: +# CONFIG_LWIP_STATS is not set +# default: +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +# default: +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +# default: +CONFIG_LWIP_ESP_MLDV6_REPORT=y +# default: +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +# default: +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +# default: +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# default: +# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set +# default: +# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set +# default: +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +# default: +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# default: +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +# default: +CONFIG_LWIP_DHCP_OPTIONS_LEN=69 +# default: +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +# default: +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +# default: +CONFIG_LWIP_DHCPS=y +# default: +CONFIG_LWIP_DHCPS_REPORT_CLIENT_HOSTNAME=y +# default: +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +# default: +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +# default: +CONFIG_LWIP_DHCPS_MAX_HOSTNAME_LEN=64 +# default: +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# end of DHCP server + +# default: +# CONFIG_LWIP_AUTOIP is not set +# default: +CONFIG_LWIP_IPV4=y +# default: +CONFIG_LWIP_IPV6=y +# default: +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +# default: +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# default: +# CONFIG_LWIP_IPV6_FORWARD is not set +# default: +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +# default: +# CONFIG_LWIP_NETIF_LINK_CALLBACK is not set +# default: +CONFIG_LWIP_NETIF_LOOPBACK=y +# default: +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +# default: +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +# default: +CONFIG_LWIP_MAX_LISTENING_TCP=16 +# default: +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +# default: +CONFIG_LWIP_TCP_MAXRTX=12 +# default: +CONFIG_LWIP_TCP_SYNMAXRTX=12 +# default: +CONFIG_LWIP_TCP_MSS=1440 +# default: +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +# default: +CONFIG_LWIP_TCP_MSL=60000 +# default: +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +# default: +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +# default: +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +# default: +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# default: +# CONFIG_LWIP_TCP_SACK_OUT is not set +# default: +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# default: +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# default: +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +# default: +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +# default: +CONFIG_LWIP_MAX_UDP_PCBS=16 +# default: +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +# default: +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +# default: +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# default: +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# default: +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 +# default: +# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_SUPPORT is not set +# default: +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +# default: +CONFIG_LWIP_ICMP=y +# default: +# CONFIG_LWIP_MULTICAST_PING is not set +# default: +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +# default: +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +# default: +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# default: +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +# default: +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +# default: +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +# default: +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +# default: +CONFIG_LWIP_DNS_MAX_HOST_IP=1 +# default: +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# default: +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# default: +# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set +# default: +# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set +# end of DNS + +# default: +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +# default: +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +# default: +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set +# default: +CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# default: +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# + +# +# Core Configuration +# +# default: +# CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_NONE is not set +# default: +CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_SIZE=y +# default: +# CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_PERF is not set +# default: +CONFIG_MBEDTLS_FS_IO=y +# default: +# CONFIG_MBEDTLS_THREADING_C is not set +# default: +CONFIG_MBEDTLS_ERROR_STRINGS=y +# default: +CONFIG_MBEDTLS_VERSION_C=y +# default: +CONFIG_MBEDTLS_HAVE_TIME=y +# default: +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# default: +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +# default: +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# default: +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +# default: +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +# default: +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +# default: +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# default: +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# default: +# CONFIG_MBEDTLS_VERSION_FEATURES is not set +# default: +# CONFIG_MBEDTLS_DEBUG is not set +# default: +CONFIG_MBEDTLS_SELF_TEST=y +# end of Core Configuration + +# +# Certificates +# +# default: +CONFIG_MBEDTLS_X509_USE_C=y +# default: +CONFIG_MBEDTLS_PEM_PARSE_C=y +# default: +CONFIG_MBEDTLS_PEM_WRITE_C=y +# default: +CONFIG_MBEDTLS_PK_C=y +# default: +CONFIG_MBEDTLS_PK_PARSE_C=y +# default: +CONFIG_MBEDTLS_PK_WRITE_C=y +# default: +# CONFIG_MBEDTLS_X509_REMOVE_INFO is not set +# default: +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +# default: +CONFIG_MBEDTLS_X509_CRT_PARSE_C=y +# default: +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# default: +# CONFIG_MBEDTLS_X509_CREATE_C is not set +# default: +CONFIG_MBEDTLS_X509_RSASSA_PSS_SUPPORT=y +# default: +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# default: +CONFIG_MBEDTLS_ASN1_PARSE_C=y +# default: +CONFIG_MBEDTLS_ASN1_WRITE_C=y +# default: +CONFIG_MBEDTLS_OID_C=y +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + +# +# Certificate Bundle Configuration +# +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle Configuration + +# default: +# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY is not set +# end of Certificates + +# default: +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Protocol Configuration +# +# default: +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# default: +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# default: +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# default: +CONFIG_MBEDTLS_TLS_SERVER=y +# default: +CONFIG_MBEDTLS_TLS_CLIENT=y +# default: +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# default: +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_DISABLED is not set +# default: +# CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE is not set +# default: +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +# default: +CONFIG_MBEDTLS_SSL_CACHE_C=y +# default: +CONFIG_MBEDTLS_SSL_ALL_ALERT_MESSAGES=y + +# +# TLS Key Exchange Configuration +# +# default: +# CONFIG_MBEDTLS_PSK_MODES is not set +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Configuration + +# default: +CONFIG_MBEDTLS_SSL_SERVER_NAME_INDICATION=y +# default: +CONFIG_MBEDTLS_SSL_ALPN=y +# default: +CONFIG_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH=y +# default: +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# default: +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +# default: +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +# default: +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y +# default: +# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set +# end of TLS Protocol Configuration + +# default: +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +# default: +CONFIG_MBEDTLS_CIPHER_C=y + +# +# Symmetric Ciphers +# +# default: +CONFIG_MBEDTLS_AES_C=y +# default: +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# default: +# CONFIG_MBEDTLS_ARIA_C is not set +# default: +# CONFIG_MBEDTLS_DES_C is not set +# default: +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# default: +# CONFIG_MBEDTLS_XTEA_C is not set +# default: +CONFIG_MBEDTLS_CCM_C=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_CBC=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_CFB=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_CTR=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_OFB=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_XTS=y +# default: +CONFIG_MBEDTLS_GCM_C=y +# default: +# CONFIG_MBEDTLS_NIST_KW_C is not set +# default: +CONFIG_MBEDTLS_CIPHER_PADDING=y +# default: +CONFIG_MBEDTLS_CIPHER_PADDING_PKCS7=y +# default: +CONFIG_MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS=y +# default: +CONFIG_MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN=y +# default: +CONFIG_MBEDTLS_CIPHER_PADDING_ZEROS=y +# default: +CONFIG_MBEDTLS_AES_ROM_TABLES=y +# default: +# CONFIG_MBEDTLS_AES_FEWER_TABLES is not set +# default: +# CONFIG_MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH is not set +# default: +CONFIG_MBEDTLS_CMAC_C=y +# end of Symmetric Ciphers + +# +# Asymmetric Ciphers +# +# default: +CONFIG_MBEDTLS_BIGNUM_C=y +# default: +CONFIG_MBEDTLS_GENPRIME=y +# default: +CONFIG_MBEDTLS_RSA_C=y +# default: +CONFIG_MBEDTLS_ECP_C=y + +# +# Supported Curves +# +# default: +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +# end of Supported Curves + +# +# Elliptic Curve Ciphers Configuration +# +# default: +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +# default: +# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set +# default: +# CONFIG_MBEDTLS_DHM_C is not set +# default: +CONFIG_MBEDTLS_ECDH_C=y +# default: +# CONFIG_MBEDTLS_ECJPAKE_C is not set +# default: +CONFIG_MBEDTLS_ECDSA_C=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y +# default: +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +# default: +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# end of Elliptic Curve Ciphers Configuration +# end of Asymmetric Ciphers + +# +# Hash functions +# +# default: +# CONFIG_MBEDTLS_HKDF_C is not set +# default: +# CONFIG_MBEDTLS_POLY1305_C is not set +# default: +# CONFIG_MBEDTLS_RIPEMD160_C is not set +# default: +CONFIG_MBEDTLS_MD_C=y +# default: +CONFIG_MBEDTLS_MD5_C=y +# default: +CONFIG_MBEDTLS_SHA1_C=y +# default: +# CONFIG_MBEDTLS_SHA224_C is not set +# default: +CONFIG_MBEDTLS_SHA256_C=y +# default: +CONFIG_MBEDTLS_SHA384_C=y +# default: +CONFIG_MBEDTLS_SHA512_C=y +# default: +# CONFIG_MBEDTLS_SHA3_C is not set +# default: +CONFIG_MBEDTLS_ROM_MD5=y +# end of Hash functions + +# +# Hardware Acceleration +# +# default: +CONFIG_MBEDTLS_HARDWARE_ECDSA_VERIFY=y +# default: +# CONFIG_MBEDTLS_HARDWARE_ECDSA_SIGN is not set +# default: +CONFIG_MBEDTLS_HARDWARE_ECC=y +# default: +CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK=y +# default: +CONFIG_MBEDTLS_HARDWARE_SHA=y +# default: +CONFIG_MBEDTLS_PK_RSA_ALT_SUPPORT=y +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +# end of Hardware Acceleration + +# +# Entropy and Random Number Generation +# +# default: +CONFIG_MBEDTLS_ENTROPY_C=y +# default: +# CONFIG_MBEDTLS_ENTROPY_FORCE_SHA256 is not set +# default: +CONFIG_MBEDTLS_CTR_DRBG_C=y +# default: +CONFIG_MBEDTLS_HMAC_DRBG_C=y +# end of Entropy and Random Number Generation + +# +# Encoding/Decoding +# +# default: +CONFIG_MBEDTLS_BASE64_C=y +# default: +CONFIG_MBEDTLS_PKCS5_C=y +# default: +CONFIG_MBEDTLS_PKCS7_C=y +# default: +CONFIG_MBEDTLS_PKCS12_C=y +# default: +CONFIG_MBEDTLS_PKCS1_V15=y +# default: +CONFIG_MBEDTLS_PKCS1_V21=y +# end of Encoding/Decoding + +# +# Stream Cipher +# +# default: +# CONFIG_MBEDTLS_CHACHA20_C is not set +# end of Stream Cipher +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +# default: +CONFIG_MQTT_PROTOCOL_311=y +# default: +# CONFIG_MQTT_PROTOCOL_5 is not set +# default: +CONFIG_MQTT_TRANSPORT_SSL=y +# default: +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +# default: +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# default: +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# default: +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# default: +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# default: +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# default: +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# default: +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# NVS +# +# default: +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# default: +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# default: +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# Thread Console +# +# default: +CONFIG_OPENTHREAD_CLI=y +# default: +CONFIG_OPENTHREAD_CONSOLE_COMMAND_PREFIX="ot" +# end of Thread Console + +# +# OpenThread Spinel +# +# default: +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# end of OpenThread Spinel + +# default: +# CONFIG_OPENTHREAD_DEBUG is not set +# end of OpenThread + +# +# Protocomm +# +# default: +# CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0 is not set +# default: +# CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1 is not set +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y +# end of Protocomm + +# +# PThreads +# +# default: +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +# default: +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +# default: +CONFIG_PTHREAD_STACK_MIN=768 +# default: +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +# default: +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# SD Protocol Layer Configuration +# +# default: +CONFIG_SD_ENABLE_SDIO_SUPPORT=y +# end of SD Protocol Layer Configuration + +# +# MMU Config +# +# default: +CONFIG_MMU_PAGE_SIZE_32KB=y +# default: +CONFIG_MMU_PAGE_MODE="32KB" +# default: +CONFIG_MMU_PAGE_SIZE=0x8000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +# default: +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# default: +CONFIG_SPI_FLASH_SUSPEND_TRS_VAL_US=50 +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# default: +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# default: +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +# default: +# CONFIG_SPI_FLASH_ROM_IMPL is not set +# default: +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# default: +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +# default: +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +# default: +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# default: +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# default: +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# default: +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +# default: +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y +# default: +# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set +# default: +# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set +# default: +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +# default: +# CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set +# default: +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# default: +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# end of Auto-detect flash chips + +# default: +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +# default: +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +# default: +CONFIG_SPIFFS_CACHE=y +# default: +CONFIG_SPIFFS_CACHE_WR=y +# default: +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +# default: +CONFIG_SPIFFS_PAGE_CHECK=y +# default: +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# default: +# CONFIG_SPIFFS_GC_STATS is not set +# default: +CONFIG_SPIFFS_PAGE_SIZE=256 +# default: +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# default: +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +# default: +CONFIG_SPIFFS_USE_MAGIC=y +# default: +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +# default: +CONFIG_SPIFFS_META_LENGTH=4 +# default: +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# default: +# CONFIG_SPIFFS_DBG is not set +# default: +# CONFIG_SPIFFS_API_DBG is not set +# default: +# CONFIG_SPIFFS_GC_DBG is not set +# default: +# CONFIG_SPIFFS_CACHE_DBG is not set +# default: +# CONFIG_SPIFFS_CHECK_DBG is not set +# default: +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +# default: +CONFIG_WS_TRANSPORT=y +# default: +CONFIG_WS_BUFFER_SIZE=1024 +# default: +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Unity unit testing library +# +# default: +CONFIG_UNITY_ENABLE_FLOAT=y +# default: +CONFIG_UNITY_ENABLE_DOUBLE=y +# default: +# CONFIG_UNITY_ENABLE_64BIT is not set +# default: +# CONFIG_UNITY_ENABLE_COLOR is not set +# default: +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# default: +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# default: +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# end of Unity unit testing library + +# +# Virtual file system +# +# default: +CONFIG_VFS_SUPPORT_IO=y +# default: +CONFIG_VFS_SUPPORT_DIR=y +# default: +CONFIG_VFS_SUPPORT_SELECT=y +# default: +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# default: +# CONFIG_VFS_SELECT_IN_RAM is not set +# default: +# CONFIG_VFS_SUPPORT_TERMIOS is not set +# default: +CONFIG_VFS_MAX_COUNT=8 + +# +# Host File System I/O (Semihosting) +# +# default: +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) + +# default: +CONFIG_VFS_INITIALIZE_DEV_NULL=y +# end of Virtual file system + +# +# Wear Levelling +# +# default: +# CONFIG_WL_SECTOR_SIZE_512 is not set +# default: +CONFIG_WL_SECTOR_SIZE_4096=y +# default: +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# IoT Button +# +# default: +CONFIG_BUTTON_PERIOD_TIME_MS=5 +# default: +CONFIG_BUTTON_DEBOUNCE_TICKS=2 +# default: +CONFIG_BUTTON_SHORT_PRESS_TIME_MS=180 +# default: +CONFIG_BUTTON_LONG_PRESS_TIME_MS=1500 +# default: +CONFIG_BUTTON_LONG_PRESS_HOLD_SERIAL_TIME_MS=20 +# default: +CONFIG_ADC_BUTTON_MAX_CHANNEL=3 +# default: +CONFIG_ADC_BUTTON_MAX_BUTTON_PER_CHANNEL=8 +# default: +CONFIG_ADC_BUTTON_SAMPLE_TIMES=1 +# end of IoT Button + +# +# CMake Utilities +# +# default: +# CONFIG_CU_RELINKER_ENABLE is not set +# default: +# CONFIG_CU_DIAGNOSTICS_COLOR_NEVER is not set +# default: +CONFIG_CU_DIAGNOSTICS_COLOR_ALWAYS=y +# default: +# CONFIG_CU_DIAGNOSTICS_COLOR_AUTO is not set +# default: +# CONFIG_CU_GCC_LTO_ENABLE is not set +# default: +# CONFIG_CU_GCC_STRING_1BYTE_ALIGN is not set +# end of CMake Utilities +# end of Component config + +# default: +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +CONFIG_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y +# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_ENABLE is not set +CONFIG_BLUEDROID_ENABLED=y +# CONFIG_NIMBLE_ENABLED is not set +CONFIG_BTC_TASK_STACK_SIZE=3072 +CONFIG_BLUEDROID_PINNED_TO_CORE=0 +CONFIG_BTU_TASK_STACK_SIZE=4352 +# CONFIG_BLUEDROID_MEM_DEBUG is not set +CONFIG_GATTS_ENABLE=y +# CONFIG_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set +CONFIG_GATTS_SEND_SERVICE_CHANGE_AUTO=y +CONFIG_GATTS_SEND_SERVICE_CHANGE_MODE=0 +CONFIG_GATTC_ENABLE=y +# CONFIG_GATTC_CACHE_NVS_FLASH is not set +CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT=30 +CONFIG_BLE_SMP_ENABLE=y +# CONFIG_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set +# CONFIG_HCI_TRACE_LEVEL_NONE is not set +# CONFIG_HCI_TRACE_LEVEL_ERROR is not set +CONFIG_HCI_TRACE_LEVEL_WARNING=y +# CONFIG_HCI_TRACE_LEVEL_API is not set +# CONFIG_HCI_TRACE_LEVEL_EVENT is not set +# CONFIG_HCI_TRACE_LEVEL_DEBUG is not set +# CONFIG_HCI_TRACE_LEVEL_VERBOSE is not set +CONFIG_HCI_INITIAL_TRACE_LEVEL=2 +# CONFIG_BTM_TRACE_LEVEL_NONE is not set +# CONFIG_BTM_TRACE_LEVEL_ERROR is not set +CONFIG_BTM_TRACE_LEVEL_WARNING=y +# CONFIG_BTM_TRACE_LEVEL_API is not set +# CONFIG_BTM_TRACE_LEVEL_EVENT is not set +# CONFIG_BTM_TRACE_LEVEL_DEBUG is not set +# CONFIG_BTM_TRACE_LEVEL_VERBOSE is not set +CONFIG_BTM_INITIAL_TRACE_LEVEL=2 +# CONFIG_L2CAP_TRACE_LEVEL_NONE is not set +# CONFIG_L2CAP_TRACE_LEVEL_ERROR is not set +CONFIG_L2CAP_TRACE_LEVEL_WARNING=y +# CONFIG_L2CAP_TRACE_LEVEL_API is not set +# CONFIG_L2CAP_TRACE_LEVEL_EVENT is not set +# CONFIG_L2CAP_TRACE_LEVEL_DEBUG is not set +# CONFIG_L2CAP_TRACE_LEVEL_VERBOSE is not set +CONFIG_L2CAP_INITIAL_TRACE_LEVEL=2 +# CONFIG_RFCOMM_TRACE_LEVEL_NONE is not set +# CONFIG_RFCOMM_TRACE_LEVEL_ERROR is not set +CONFIG_RFCOMM_TRACE_LEVEL_WARNING=y +# CONFIG_RFCOMM_TRACE_LEVEL_API is not set +# CONFIG_RFCOMM_TRACE_LEVEL_EVENT is not set +# CONFIG_RFCOMM_TRACE_LEVEL_DEBUG is not set +# CONFIG_RFCOMM_TRACE_LEVEL_VERBOSE is not set +CONFIG_RFCOMM_INITIAL_TRACE_LEVEL=2 +# CONFIG_SDP_TRACE_LEVEL_NONE is not set +# CONFIG_SDP_TRACE_LEVEL_ERROR is not set +CONFIG_SDP_TRACE_LEVEL_WARNING=y +# CONFIG_SDP_TRACE_LEVEL_API is not set +# CONFIG_SDP_TRACE_LEVEL_EVENT is not set +# CONFIG_SDP_TRACE_LEVEL_DEBUG is not set +# CONFIG_SDP_TRACE_LEVEL_VERBOSE is not set +CONFIG_BTH_LOG_SDP_INITIAL_TRACE_LEVEL=2 +# CONFIG_GAP_TRACE_LEVEL_NONE is not set +# CONFIG_GAP_TRACE_LEVEL_ERROR is not set +CONFIG_GAP_TRACE_LEVEL_WARNING=y +# CONFIG_GAP_TRACE_LEVEL_API is not set +# CONFIG_GAP_TRACE_LEVEL_EVENT is not set +# CONFIG_GAP_TRACE_LEVEL_DEBUG is not set +# CONFIG_GAP_TRACE_LEVEL_VERBOSE is not set +CONFIG_GAP_INITIAL_TRACE_LEVEL=2 +CONFIG_BNEP_INITIAL_TRACE_LEVEL=2 +# CONFIG_PAN_TRACE_LEVEL_NONE is not set +# CONFIG_PAN_TRACE_LEVEL_ERROR is not set +CONFIG_PAN_TRACE_LEVEL_WARNING=y +# CONFIG_PAN_TRACE_LEVEL_API is not set +# CONFIG_PAN_TRACE_LEVEL_EVENT is not set +# CONFIG_PAN_TRACE_LEVEL_DEBUG is not set +# CONFIG_PAN_TRACE_LEVEL_VERBOSE is not set +CONFIG_PAN_INITIAL_TRACE_LEVEL=2 +# CONFIG_A2D_TRACE_LEVEL_NONE is not set +# CONFIG_A2D_TRACE_LEVEL_ERROR is not set +CONFIG_A2D_TRACE_LEVEL_WARNING=y +# CONFIG_A2D_TRACE_LEVEL_API is not set +# CONFIG_A2D_TRACE_LEVEL_EVENT is not set +# CONFIG_A2D_TRACE_LEVEL_DEBUG is not set +# CONFIG_A2D_TRACE_LEVEL_VERBOSE is not set +CONFIG_A2D_INITIAL_TRACE_LEVEL=2 +# CONFIG_AVDT_TRACE_LEVEL_NONE is not set +# CONFIG_AVDT_TRACE_LEVEL_ERROR is not set +CONFIG_AVDT_TRACE_LEVEL_WARNING=y +# CONFIG_AVDT_TRACE_LEVEL_API is not set +# CONFIG_AVDT_TRACE_LEVEL_EVENT is not set +# CONFIG_AVDT_TRACE_LEVEL_DEBUG is not set +# CONFIG_AVDT_TRACE_LEVEL_VERBOSE is not set +CONFIG_AVDT_INITIAL_TRACE_LEVEL=2 +# CONFIG_AVCT_TRACE_LEVEL_NONE is not set +# CONFIG_AVCT_TRACE_LEVEL_ERROR is not set +CONFIG_AVCT_TRACE_LEVEL_WARNING=y +# CONFIG_AVCT_TRACE_LEVEL_API is not set +# CONFIG_AVCT_TRACE_LEVEL_EVENT is not set +# CONFIG_AVCT_TRACE_LEVEL_DEBUG is not set +# CONFIG_AVCT_TRACE_LEVEL_VERBOSE is not set +CONFIG_AVCT_INITIAL_TRACE_LEVEL=2 +# CONFIG_AVRC_TRACE_LEVEL_NONE is not set +# CONFIG_AVRC_TRACE_LEVEL_ERROR is not set +CONFIG_AVRC_TRACE_LEVEL_WARNING=y +# CONFIG_AVRC_TRACE_LEVEL_API is not set +# CONFIG_AVRC_TRACE_LEVEL_EVENT is not set +# CONFIG_AVRC_TRACE_LEVEL_DEBUG is not set +# CONFIG_AVRC_TRACE_LEVEL_VERBOSE is not set +CONFIG_AVRC_INITIAL_TRACE_LEVEL=2 +# CONFIG_MCA_TRACE_LEVEL_NONE is not set +# CONFIG_MCA_TRACE_LEVEL_ERROR is not set +CONFIG_MCA_TRACE_LEVEL_WARNING=y +# CONFIG_MCA_TRACE_LEVEL_API is not set +# CONFIG_MCA_TRACE_LEVEL_EVENT is not set +# CONFIG_MCA_TRACE_LEVEL_DEBUG is not set +# CONFIG_MCA_TRACE_LEVEL_VERBOSE is not set +CONFIG_MCA_INITIAL_TRACE_LEVEL=2 +# CONFIG_HID_TRACE_LEVEL_NONE is not set +# CONFIG_HID_TRACE_LEVEL_ERROR is not set +CONFIG_HID_TRACE_LEVEL_WARNING=y +# CONFIG_HID_TRACE_LEVEL_API is not set +# CONFIG_HID_TRACE_LEVEL_EVENT is not set +# CONFIG_HID_TRACE_LEVEL_DEBUG is not set +# CONFIG_HID_TRACE_LEVEL_VERBOSE is not set +CONFIG_HID_INITIAL_TRACE_LEVEL=2 +# CONFIG_APPL_TRACE_LEVEL_NONE is not set +# CONFIG_APPL_TRACE_LEVEL_ERROR is not set +CONFIG_APPL_TRACE_LEVEL_WARNING=y +# CONFIG_APPL_TRACE_LEVEL_API is not set +# CONFIG_APPL_TRACE_LEVEL_EVENT is not set +# CONFIG_APPL_TRACE_LEVEL_DEBUG is not set +# CONFIG_APPL_TRACE_LEVEL_VERBOSE is not set +CONFIG_APPL_INITIAL_TRACE_LEVEL=2 +# CONFIG_GATT_TRACE_LEVEL_NONE is not set +# CONFIG_GATT_TRACE_LEVEL_ERROR is not set +CONFIG_GATT_TRACE_LEVEL_WARNING=y +# CONFIG_GATT_TRACE_LEVEL_API is not set +# CONFIG_GATT_TRACE_LEVEL_EVENT is not set +# CONFIG_GATT_TRACE_LEVEL_DEBUG is not set +# CONFIG_GATT_TRACE_LEVEL_VERBOSE is not set +CONFIG_GATT_INITIAL_TRACE_LEVEL=2 +# CONFIG_SMP_TRACE_LEVEL_NONE is not set +# CONFIG_SMP_TRACE_LEVEL_ERROR is not set +CONFIG_SMP_TRACE_LEVEL_WARNING=y +# CONFIG_SMP_TRACE_LEVEL_API is not set +# CONFIG_SMP_TRACE_LEVEL_EVENT is not set +# CONFIG_SMP_TRACE_LEVEL_DEBUG is not set +# CONFIG_SMP_TRACE_LEVEL_VERBOSE is not set +CONFIG_SMP_INITIAL_TRACE_LEVEL=2 +# CONFIG_BTIF_TRACE_LEVEL_NONE is not set +# CONFIG_BTIF_TRACE_LEVEL_ERROR is not set +CONFIG_BTIF_TRACE_LEVEL_WARNING=y +# CONFIG_BTIF_TRACE_LEVEL_API is not set +# CONFIG_BTIF_TRACE_LEVEL_EVENT is not set +# CONFIG_BTIF_TRACE_LEVEL_DEBUG is not set +# CONFIG_BTIF_TRACE_LEVEL_VERBOSE is not set +CONFIG_BTIF_INITIAL_TRACE_LEVEL=2 +# CONFIG_BTC_TRACE_LEVEL_NONE is not set +# CONFIG_BTC_TRACE_LEVEL_ERROR is not set +CONFIG_BTC_TRACE_LEVEL_WARNING=y +# CONFIG_BTC_TRACE_LEVEL_API is not set +# CONFIG_BTC_TRACE_LEVEL_EVENT is not set +# CONFIG_BTC_TRACE_LEVEL_DEBUG is not set +# CONFIG_BTC_TRACE_LEVEL_VERBOSE is not set +CONFIG_BTC_INITIAL_TRACE_LEVEL=2 +# CONFIG_OSI_TRACE_LEVEL_NONE is not set +# CONFIG_OSI_TRACE_LEVEL_ERROR is not set +CONFIG_OSI_TRACE_LEVEL_WARNING=y +# CONFIG_OSI_TRACE_LEVEL_API is not set +# CONFIG_OSI_TRACE_LEVEL_EVENT is not set +# CONFIG_OSI_TRACE_LEVEL_DEBUG is not set +# CONFIG_OSI_TRACE_LEVEL_VERBOSE is not set +CONFIG_OSI_INITIAL_TRACE_LEVEL=2 +# CONFIG_BLUFI_TRACE_LEVEL_NONE is not set +# CONFIG_BLUFI_TRACE_LEVEL_ERROR is not set +CONFIG_BLUFI_TRACE_LEVEL_WARNING=y +# CONFIG_BLUFI_TRACE_LEVEL_API is not set +# CONFIG_BLUFI_TRACE_LEVEL_EVENT is not set +# CONFIG_BLUFI_TRACE_LEVEL_DEBUG is not set +# CONFIG_BLUFI_TRACE_LEVEL_VERBOSE is not set +CONFIG_BLUFI_INITIAL_TRACE_LEVEL=2 +CONFIG_SMP_ENABLE=y +# CONFIG_BLE_ACTIVE_SCAN_REPORT_ADV_SCAN_RSP_INDIVIDUALLY is not set +# CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_SW_COEXIST_ENABLE=y +CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y +CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y +# CONFIG_ANA_CMPR_ISR_IRAM_SAFE 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_PERIPH_CTRL_FUNC_IN_IRAM=y +CONFIG_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set +# CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set +# CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set +CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y +# CONFIG_NEWLIB_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 +CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y +# CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set +CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 +CONFIG_ESP32_PHY_MAX_TX_POWER=20 +# CONFIG_REDUCE_PHY_TX_POWER is not set +# CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set +CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y +CONFIG_CONSOLE_UART_DEFAULT=y +# CONFIG_CONSOLE_UART_CUSTOM is not set +# CONFIG_CONSOLE_UART_NONE is not set +# CONFIG_ESP_CONSOLE_UART_NONE is not set +CONFIG_CONSOLE_UART=y +CONFIG_CONSOLE_UART_NUM=0 +CONFIG_CONSOLE_UART_BAUDRATE=115200 +CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_VIA_TEE=y +CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y +CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP32_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_ESP_WIFI_NAN_ENABLE is not set +CONFIG_WPA_MBEDTLS_CRYPTO=y +CONFIG_WPA_MBEDTLS_TLS_CLIENT=y +# CONFIG_WPA_WAPI_PSK is not set +# CONFIG_WPA_SUITE_B_192 is not set +# CONFIG_WPA_11KV_SUPPORT is not set +# CONFIG_WPA_MBO_SUPPORT is not set +# CONFIG_WPA_DPP_SUPPORT is not set +# CONFIG_WPA_11R_SUPPORT is not set +# CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set +# CONFIG_WPA_WPS_STRICT is not set +# CONFIG_WPA_DEBUG_PRINT is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set +# CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set +CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y +CONFIG_TIMER_TASK_PRIORITY=1 +CONFIG_TIMER_TASK_STACK_DEPTH=2048 +CONFIG_TIMER_QUEUE_LENGTH=10 +# CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set +# CONFIG_HAL_ASSERTION_SILIENT is not set +# CONFIG_L2_TO_L3_COPY is not set +CONFIG_ESP_GRATUITOUS_ARP=y +CONFIG_GARP_TMR_INTERVAL=60 +CONFIG_TCPIP_RECVMBOX_SIZE=32 +CONFIG_TCP_MAXRTX=12 +CONFIG_TCP_SYNMAXRTX=12 +CONFIG_TCP_MSS=1440 +CONFIG_TCP_MSL=60000 +CONFIG_TCP_SND_BUF_DEFAULT=5760 +CONFIG_TCP_WND_DEFAULT=5760 +CONFIG_TCP_RECVMBOX_SIZE=6 +CONFIG_TCP_QUEUE_OOSEQ=y +CONFIG_TCP_OVERSIZE_MSS=y +# CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set +# CONFIG_TCP_OVERSIZE_DISABLE is not set +CONFIG_UDP_RECVMBOX_SIZE=6 +CONFIG_TCPIP_TASK_STACK_SIZE=3072 +CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set +CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# CONFIG_PPP_SUPPORT is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# CONFIG_SUPPORT_TERMIOS is not set +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# End of deprecated options diff --git a/src/sdkconfig.defaults b/src/sdkconfig.defaults new file mode 100644 index 0000000..128e4a4 --- /dev/null +++ b/src/sdkconfig.defaults @@ -0,0 +1,15 @@ +# 蓝牙配置 +CONFIG_BT_ENABLED=y +CONFIG_BT_BLUEDROID_ENABLED=y +CONFIG_BT_CLASSIC_ENABLED=y +CONFIG_BT_BLE_ENABLED=y +CONFIG_BT_HID_ENABLED=y +CONFIG_BT_HID_DEVICE_ENABLED=y +CONFIG_BT_SDP_COMMON_ENABLED=y +CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y + +# 分区表配置 +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" + diff --git a/src/sdkconfig.old b/src/sdkconfig.old new file mode 100644 index 0000000..6a48e2c --- /dev/null +++ b/src/sdkconfig.old @@ -0,0 +1,4474 @@ +# +# Automatically generated file. DO NOT EDIT. +# Espressif IoT Development Framework (ESP-IDF) 6.0.0 Project Configuration +# +# default: +CONFIG_SOC_ADC_SUPPORTED=y +# default: +CONFIG_SOC_ANA_CMPR_SUPPORTED=y +# default: +CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y +# default: +CONFIG_SOC_UART_SUPPORTED=y +# default: +CONFIG_SOC_GDMA_SUPPORTED=y +# default: +CONFIG_SOC_AHB_GDMA_SUPPORTED=y +# default: +CONFIG_SOC_GPTIMER_SUPPORTED=y +# default: +CONFIG_SOC_BT_SUPPORTED=y +# default: +CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y +# default: +CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y +# default: +CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y +# default: +CONFIG_SOC_PHY_SUPPORTED=y +# default: +CONFIG_SOC_WIFI_SUPPORTED=y +# default: +CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y +# default: +CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y +# default: +CONFIG_SOC_EFUSE_SUPPORTED=y +# default: +CONFIG_SOC_I2S_SUPPORTED=y +# default: +CONFIG_SOC_GPSPI_SUPPORTED=y +# default: +CONFIG_SOC_I2C_SUPPORTED=y +# default: +CONFIG_SOC_LEDC_SUPPORTED=y +# default: +CONFIG_SOC_SYSTIMER_SUPPORTED=y +# default: +CONFIG_SOC_SHA_SUPPORTED=y +# default: +CONFIG_SOC_ECC_SUPPORTED=y +# default: +CONFIG_SOC_ECC_EXTENDED_MODES_SUPPORTED=y +# default: +CONFIG_SOC_FLASH_ENC_SUPPORTED=y +# default: +CONFIG_SOC_SECURE_BOOT_SUPPORTED=y +# default: +CONFIG_SOC_BOD_SUPPORTED=y +# default: +CONFIG_SOC_APM_SUPPORTED=y +# default: +CONFIG_SOC_PMU_SUPPORTED=y +# default: +CONFIG_SOC_LP_TIMER_SUPPORTED=y +# default: +CONFIG_SOC_LP_AON_SUPPORTED=y +# default: +CONFIG_SOC_CLK_TREE_SUPPORTED=y +# default: +CONFIG_SOC_ASSIST_DEBUG_SUPPORTED=y +# default: +CONFIG_SOC_WDT_SUPPORTED=y +# default: +CONFIG_SOC_SPI_FLASH_SUPPORTED=y +# default: +CONFIG_SOC_MODEM_CLOCK_SUPPORTED=y +# default: +CONFIG_SOC_REG_I2C_SUPPORTED=y +# default: +CONFIG_SOC_ETM_SUPPORTED=y +# default: +CONFIG_SOC_SDIO_SLAVE_SUPPORTED=y +# default: +CONFIG_SOC_PAU_SUPPORTED=y +# default: +CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y +# default: +CONFIG_SOC_PM_SUPPORTED=y +# default: +CONFIG_SOC_ECDSA_SUPPORTED=y +# default: +CONFIG_SOC_SPIRAM_SUPPORTED=y +# default: +CONFIG_SOC_XTAL_SUPPORT_40M=y +# default: +CONFIG_SOC_XTAL_CLOCK_PATH_DEPENDS_ON_TOP_DOMAIN=y +# default: +CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y +# default: +CONFIG_SOC_ADC_MONITOR_SUPPORTED=y +# default: +CONFIG_SOC_ADC_DMA_SUPPORTED=y +# default: +CONFIG_SOC_ADC_PERIPH_NUM=1 +# default: +CONFIG_SOC_ADC_MAX_CHANNEL_NUM=4 +# default: +CONFIG_SOC_ADC_ATTEN_NUM=4 +# default: +CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=1 +# default: +CONFIG_SOC_ADC_PATT_LEN_MAX=8 +# default: +CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 +# default: +CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 +# default: +CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 +# default: +CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 +# default: +CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 +# default: +CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 +# default: +CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y +# default: +CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y +# default: +CONFIG_SOC_ADC_CALIB_CHAN_COMPENS_SUPPORTED=y +# default: +CONFIG_SOC_ADC_TEMPERATURE_SHARE_INTR=y +# default: +CONFIG_SOC_ADC_SHARED_POWER=y +# default: +CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y +# default: +CONFIG_SOC_RNG_SUPPORTED=y +# default: +CONFIG_SOC_SHARED_IDCACHE_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y +# default: +CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y +# default: +CONFIG_SOC_CPU_CORES_NUM=1 +# default: +CONFIG_SOC_CPU_INTR_NUM=32 +# default: +CONFIG_SOC_CPU_HAS_FLEXIBLE_INTC=y +# default: +CONFIG_SOC_CPU_SUPPORT_WFE=y +# default: +CONFIG_SOC_INT_CLIC_SUPPORTED=y +# default: +CONFIG_SOC_INT_HW_NESTED_SUPPORTED=y +# default: +CONFIG_SOC_BRANCH_PREDICTOR_SUPPORTED=y +# default: +CONFIG_SOC_CPU_BREAKPOINTS_NUM=4 +# default: +CONFIG_SOC_CPU_WATCHPOINTS_NUM=4 +# default: +CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=0x80000000 +# default: +CONFIG_SOC_CPU_HAS_PMA=y +# default: +CONFIG_SOC_CPU_IDRAM_SPLIT_USING_PMP=y +# default: +CONFIG_SOC_CPU_PMP_REGION_GRANULARITY=128 +# default: +CONFIG_SOC_CPU_HAS_LOCKUP_RESET=y +# default: +CONFIG_SOC_DMA_CAN_ACCESS_FLASH=y +# default: +CONFIG_SOC_AHB_GDMA_VERSION=2 +# default: +CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 +# default: +CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=2 +# default: +CONFIG_SOC_GDMA_SUPPORT_ETM=y +# default: +CONFIG_SOC_GDMA_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y +# default: +CONFIG_SOC_GDMA_SUPPORT_WEIGHTED_ARBITRATION=y +# default: +CONFIG_SOC_ETM_GROUPS=1 +# default: +CONFIG_SOC_ETM_CHANNELS_PER_GROUP=50 +# default: +CONFIG_SOC_ETM_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_GPIO_PORT=1 +# default: +CONFIG_SOC_GPIO_PIN_COUNT=30 +# default: +CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y +# default: +CONFIG_SOC_GPIO_SUPPORT_PIN_HYS_FILTER=y +# default: +CONFIG_SOC_GPIO_SUPPORT_ETM=y +# default: +CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y +# default: +CONFIG_SOC_LP_IO_CLOCK_IS_INDEPENDENT=y +# default: +CONFIG_SOC_GPIO_IN_RANGE_MAX=29 +# default: +CONFIG_SOC_GPIO_OUT_RANGE_MAX=29 +# default: +CONFIG_SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP=y +# default: +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK=0 +# default: +CONFIG_SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT=7 +# default: +CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x3FFFFF80 +# default: +CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y +# default: +CONFIG_SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP=y +# default: +CONFIG_SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP=y +# default: +CONFIG_SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX=y +# default: +CONFIG_SOC_CLOCKOUT_HAS_SOURCE_GATE=y +# default: +CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 +# default: +CONFIG_SOC_RTCIO_PIN_COUNT=7 +# default: +CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y +# default: +CONFIG_SOC_RTCIO_EDGE_WAKE_SUPPORTED=y +# default: +CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 +# default: +CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 +# default: +CONFIG_SOC_DEDIC_PERIPH_ALWAYS_ENABLE=y +# default: +CONFIG_SOC_ANA_CMPR_NUM=1 +# default: +CONFIG_SOC_ANA_CMPR_CAN_DISTINGUISH_EDGE=y +# default: +CONFIG_SOC_ANA_CMPR_SUPPORT_ETM=y +# default: +CONFIG_SOC_I2C_NUM=1 +# default: +CONFIG_SOC_HP_I2C_NUM=1 +# default: +CONFIG_SOC_I2C_FIFO_LEN=32 +# default: +CONFIG_SOC_I2C_CMD_REG_NUM=8 +# default: +CONFIG_SOC_I2C_SUPPORT_SLAVE=y +# default: +CONFIG_SOC_I2C_SUPPORT_HW_FSM_RST=y +# default: +CONFIG_SOC_I2C_SUPPORT_XTAL=y +# default: +CONFIG_SOC_I2C_SUPPORT_RTC=y +# default: +CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y +# default: +CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y +# default: +CONFIG_SOC_I2C_SLAVE_CAN_GET_STRETCH_CAUSE=y +# default: +CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y +# default: +CONFIG_SOC_I2C_SLAVE_SUPPORT_SLAVE_UNMATCH=y +# default: +CONFIG_SOC_I2C_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_I2S_NUM=1 +# default: +CONFIG_SOC_I2S_HW_VERSION_2=y +# default: +CONFIG_SOC_I2S_SUPPORTS_ETM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_XTAL=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PLL_F120M=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PCM2PDM=y +# default: +CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y +# default: +CONFIG_SOC_I2S_SUPPORTS_TX_SYNC_CNT=y +# default: +CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 +# default: +CONFIG_SOC_I2S_PDM_MAX_RX_LINES=1 +# default: +CONFIG_SOC_I2S_SUPPORTS_TDM=y +# default: +CONFIG_SOC_I2S_TDM_FULL_DATA_WIDTH=y +# default: +CONFIG_SOC_I2S_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_LEDC_SUPPORT_PLL_DIV_CLOCK=y +# default: +CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y +# default: +CONFIG_SOC_LEDC_TIMER_NUM=4 +# default: +CONFIG_SOC_LEDC_CHANNEL_NUM=6 +# default: +CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=20 +# default: +CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y +# default: +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_SUPPORTED=y +# default: +CONFIG_SOC_LEDC_GAMMA_CURVE_FADE_RANGE_MAX=16 +# default: +CONFIG_SOC_LEDC_FADE_PARAMS_BIT_WIDTH=10 +# default: +CONFIG_SOC_LEDC_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_MMU_PAGE_SIZE_CONFIGURABLE=y +# default: +CONFIG_SOC_MMU_PAGE_SIZE_8KB_SUPPORTED=y +# default: +CONFIG_SOC_MMU_PERIPH_NUM=1 +# default: +CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 +# default: +CONFIG_SOC_MMU_DI_VADDR_SHARED=y +# default: +CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 +# default: +CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 +# default: +CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 +# default: +CONFIG_SOC_SHA_SUPPORT_DMA=y +# default: +CONFIG_SOC_SHA_SUPPORT_RESUME=y +# default: +CONFIG_SOC_SHA_GDMA=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA1=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA224=y +# default: +CONFIG_SOC_SHA_SUPPORT_SHA256=y +# default: +CONFIG_SOC_ECC_CONSTANT_TIME_POINT_MUL=y +# default: +CONFIG_SOC_ECDSA_SUPPORT_EXPORT_PUBKEY=y +# default: +CONFIG_SOC_ECDSA_SUPPORT_DETERMINISTIC_MODE=y +# default: +CONFIG_SOC_SPI_PERIPH_NUM=2 +# default: +CONFIG_SOC_SPI_MAX_CS_NUM=6 +# default: +CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 +# default: +CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 +# default: +CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y +# default: +CONFIG_SOC_SPI_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_PLL=y +# default: +CONFIG_SOC_SPI_SUPPORT_CLK_RC_FAST=y +# default: +CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y +# default: +CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y +# default: +CONFIG_SOC_PSRAM_DMA_CAPABLE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_IDLE_INTR=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_CHECK_SUS=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y +# default: +CONFIG_SOC_SPI_MEM_SUPPORT_TSUS_TRES_SEPERATE_CTR=y +# default: +CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y +# default: +CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y +# default: +CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y +# default: +CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y +# default: +CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 +# default: +CONFIG_SOC_SYSTIMER_ALARM_NUM=3 +# default: +CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 +# default: +CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 +# default: +CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y +# default: +CONFIG_SOC_SYSTIMER_SUPPORT_RC_FAST=y +# default: +CONFIG_SOC_SYSTIMER_INT_LEVEL=y +# default: +CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y +# default: +CONFIG_SOC_SYSTIMER_SUPPORT_ETM=y +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_LO=32 +# default: +CONFIG_SOC_LP_TIMER_BIT_WIDTH_HI=16 +# default: +CONFIG_SOC_TIMER_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_TIMER_SUPPORT_ETM=y +# default: +CONFIG_SOC_MWDT_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_EFUSE_DIS_PAD_JTAG=y +# default: +CONFIG_SOC_EFUSE_DIS_USB_JTAG=y +# default: +CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y +# default: +CONFIG_SOC_EFUSE_DIS_ICACHE=y +# default: +CONFIG_SOC_EFUSE_ECDSA_KEY=y +# default: +CONFIG_SOC_SECURE_BOOT_V2_ECC=y +# default: +CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 +# default: +CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y +# default: +CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y +# default: +CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y +# default: +CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_SUPPORT_PSEUDO_ROUND=y +# default: +CONFIG_SOC_RECOVERY_BOOTLOADER_SUPPORTED=y +# default: +CONFIG_SOC_BOOTLOADER_ANTI_ROLLBACK_SUPPORTED=y +# default: +CONFIG_SOC_APM_CTRL_FILTER_SUPPORTED=y +# default: +CONFIG_SOC_APM_CPU_APM_SUPPORTED=y +# default: +CONFIG_SOC_APM_SUPPORT_CTRL_CFG_LOCK=y +# default: +CONFIG_SOC_CRYPTO_DPA_PROTECTION_SUPPORTED=y +# default: +CONFIG_SOC_UART_NUM=3 +# default: +CONFIG_SOC_UART_HP_NUM=3 +# default: +CONFIG_SOC_UART_FIFO_LEN=128 +# default: +CONFIG_SOC_UART_BITRATE_MAX=5000000 +# default: +CONFIG_SOC_UART_SUPPORT_PLL_F80M_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_RTC_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y +# default: +CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y +# default: +CONFIG_SOC_UART_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y +# default: +CONFIG_SOC_UART_WAKEUP_CHARS_SEQ_MAX_LEN=5 +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_ACTIVE_THRESH_MODE=y +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_FIFO_THRESH_MODE=y +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_START_BIT_MODE=y +# default: +CONFIG_SOC_UART_WAKEUP_SUPPORT_CHAR_SEQ_MODE=y +# default: +CONFIG_SOC_COEX_HW_PTI=y +# default: +CONFIG_SOC_EXTERNAL_COEX_ADVANCE=y +# default: +CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 +# default: +CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 +# default: +CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_BEACON_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y +# default: +CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN=y +# default: +CONFIG_SOC_PM_SUPPORT_CPU_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MODEM_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_XTAL32K_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RC32K_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_TOP_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_HP_AON_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y +# default: +CONFIG_SOC_PM_SUPPORT_PMU_MODEM_STATE=y +# default: +CONFIG_SOC_PM_SUPPORT_PMU_CLK_ICG=y +# default: +CONFIG_SOC_PM_CPU_RETENTION_BY_SW=y +# default: +CONFIG_SOC_PM_MODEM_RETENTION_BY_REGDMA=y +# default: +CONFIG_SOC_EXT_MEM_CACHE_TAG_IN_CPU_DOMAIN=y +# default: +CONFIG_SOC_PM_PAU_LINK_NUM=4 +# default: +CONFIG_SOC_PM_PAU_REGDMA_LINK_MULTI_ADDR=y +# default: +CONFIG_SOC_PM_PAU_REGDMA_LINK_WIFIMAC=y +# default: +CONFIG_SOC_PM_PAU_REGDMA_UPDATE_CACHE_BEFORE_WAIT_COMPARE=y +# default: +CONFIG_SOC_PM_PMU_MIN_SLP_SLOW_CLK_CYCLE_FIXED=y +# default: +CONFIG_SOC_PM_RETENTION_MODULE_NUM=32 +# default: +CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y +# default: +CONFIG_SOC_MODEM_CLOCK_IS_INDEPENDENT=y +# default: +CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y +# default: +CONFIG_SOC_CLK_OSC_SLOW_SUPPORTED=y +# default: +CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL=y +# default: +CONFIG_SOC_CLK_LP_FAST_SUPPORT_XTAL_D2=y +# default: +CONFIG_SOC_RCC_IS_INDEPENDENT=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_XTAL=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_INTR_SUPPORT=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_SLEEP_RETENTION=y +# default: +CONFIG_SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN=y +# default: +CONFIG_SOC_WIFI_HW_TSF=y +# default: +CONFIG_SOC_WIFI_FTM_SUPPORT=y +# default: +CONFIG_SOC_WIFI_GCMP_SUPPORT=y +# default: +CONFIG_SOC_WIFI_WAPI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_CSI_SUPPORT=y +# default: +CONFIG_SOC_WIFI_MESH_SUPPORT=y +# default: +CONFIG_SOC_WIFI_HE_SUPPORT=y +# default: +CONFIG_SOC_WIFI_MAC_VERSION_NUM=3 +# default: +CONFIG_SOC_WIFI_NAN_SUPPORT=y +# default: +CONFIG_SOC_BLE_SUPPORTED=y +# default: +CONFIG_SOC_ESP_NIMBLE_CONTROLLER=y +# default: +CONFIG_SOC_BLE_50_SUPPORTED=y +# default: +CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y +# default: +CONFIG_SOC_BLE_POWER_CONTROL_SUPPORTED=y +# default: +CONFIG_SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED=y +# default: +CONFIG_SOC_BLUFI_SUPPORTED=y +# default: +CONFIG_SOC_BLE_MULTI_CONN_OPTIMIZATION=y +# default: +CONFIG_SOC_BLE_CTE_SUPPORTED=y +# default: +CONFIG_SOC_PHY_COMBO_MODULE=y +# default: +CONFIG_IDF_CMAKE=y +# default: +CONFIG_IDF_TOOLCHAIN="gcc" +# default: +CONFIG_IDF_TOOLCHAIN_GCC=y +# default: +CONFIG_IDF_TARGET_ARCH_RISCV=y +# default: +CONFIG_IDF_TARGET_ARCH="riscv" +# default: +CONFIG_IDF_TARGET="esp32c61" +# default: +CONFIG_IDF_INIT_VERSION="6.1.0" +# default: +CONFIG_IDF_TARGET_ESP32C61=y +# default: +CONFIG_IDF_FIRMWARE_CHIP_ID=0x0014 + +# +# Build type +# +# default: +CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y +# default: +# CONFIG_APP_BUILD_TYPE_RAM is not set +# default: +CONFIG_APP_BUILD_GENERATE_BINARIES=y +# default: +CONFIG_APP_BUILD_BOOTLOADER=y +# default: +CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y +# default: +# CONFIG_APP_REPRODUCIBLE_BUILD is not set +# default: +# CONFIG_APP_NO_BLOBS is not set +# end of Build type + +# +# Bootloader config +# + +# +# Bootloader manager +# +# default: +CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y +# default: +CONFIG_BOOTLOADER_PROJECT_VER=1 +# end of Bootloader manager + +# +# Application Rollback +# +# default: +# CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set +# end of Application Rollback + +# +# Recovery Bootloader and Rollback +# +# default: +# CONFIG_BOOTLOADER_RECOVERY_ENABLE is not set +# end of Recovery Bootloader and Rollback + +# default: +CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 +# default: +CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set + +# +# Log +# +# default: +CONFIG_BOOTLOADER_LOG_VERSION_1=y +# default: +CONFIG_BOOTLOADER_LOG_VERSION=1 +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set +# default: +# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set +# default: +CONFIG_BOOTLOADER_LOG_LEVEL=3 + +# +# Format +# +# default: +# CONFIG_BOOTLOADER_LOG_COLORS is not set +# default: +CONFIG_BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS=y +# end of Format + +# +# Settings +# +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT_EN=y +# default: +CONFIG_BOOTLOADER_LOG_MODE_TEXT=y +# end of Settings +# end of Log + +# default: +CONFIG_BOOTLOADER_CPU_CLK_FREQ_MHZ=80 + +# +# Serial Flash Configurations +# +# default: +# CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set +# default: +CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y +# end of Serial Flash Configurations + +# default: +# CONFIG_BOOTLOADER_FACTORY_RESET is not set +# default: +# CONFIG_BOOTLOADER_APP_TEST is not set +# default: +CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y +# default: +CONFIG_BOOTLOADER_WDT_ENABLE=y +# default: +# CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set +# default: +CONFIG_BOOTLOADER_WDT_TIME_MS=9000 +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set +# default: +# CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set +# end of Bootloader config + +# +# Security features +# +# default: +CONFIG_SECURE_BOOT_V2_ECC_SUPPORTED=y +# default: +CONFIG_SECURE_BOOT_V2_PREFERRED=y +# default: +# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_BOOT is not set +# default: +# CONFIG_SECURE_FLASH_ENC_ENABLED is not set +# default: +CONFIG_SECURE_ROM_DL_MODE_ENABLED=y +# end of Security features + +# +# Application manager +# +# default: +CONFIG_APP_COMPILE_TIME_DATE=y +# default: +# CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set +# default: +# CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set +# default: +# CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set +# default: +CONFIG_APP_RETRIEVE_LEN_ELF_SHA=9 +# end of Application manager + +# default: +CONFIG_ESP_ROM_HAS_CRC_LE=y +# default: +CONFIG_ESP_ROM_HAS_CRC_BE=y +# default: +CONFIG_ESP_ROM_HAS_JPEG_DECODE=y +# default: +CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y +# default: +CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 +# default: +CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y +# default: +CONFIG_ESP_ROM_GET_CLK_FREQ=y +# default: +CONFIG_ESP_ROM_HAS_RVFPLIB=y +# default: +CONFIG_ESP_ROM_HAS_HAL_WDT=y +# default: +CONFIG_ESP_ROM_HAS_HAL_SYSTIMER=y +# default: +CONFIG_ESP_ROM_SYSTIMER_INIT_PATCH=y +# default: +CONFIG_ESP_ROM_HAS_HEAP_TLSF=y +# default: +CONFIG_ESP_ROM_TLSF_CHECK_PATCH=y +# default: +CONFIG_ESP_ROM_MULTI_HEAP_WALK_PATCH=y +# default: +CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y +# default: +CONFIG_ESP_ROM_HAS_SPI_FLASH=y +# default: +CONFIG_ESP_ROM_HAS_SPI_FLASH_MMAP=y +# default: +CONFIG_ESP_ROM_WITHOUT_REGI2C=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y +# default: +CONFIG_ESP_ROM_HAS_NEWLIB_NANO_PRINTF_FLOAT_BUG=y +# default: +CONFIG_ESP_ROM_HAS_VERSION=y +# default: +CONFIG_ESP_ROM_WDT_INIT_PATCH=y +# default: +CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y +# default: +CONFIG_ESP_ROM_HAS_SW_FLOAT=y +# default: +CONFIG_ESP_ROM_USB_OTG_NUM=-1 +# default: +CONFIG_ESP_ROM_HAS_OUTPUT_PUTC_FUNC=y +# default: +CONFIG_ESP_ROM_HAS_SUBOPTIMAL_NEWLIB_ON_MISALIGNED_MEMORY=y +# default: +CONFIG_ESP_ROM_DELAY_US_PATCH=y + +# +# Boot ROM Behavior +# +# default: +CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y +# default: +# CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set +# default: +# CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set +# default: +# CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set +# end of Boot ROM Behavior + +# +# Serial flasher config +# +# default: +# CONFIG_ESPTOOLPY_NO_STUB is not set +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASHMODE_DIO=y +# default: +# CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set +# default: +CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y +# default: +CONFIG_ESPTOOLPY_FLASHMODE="dio" +# default: +CONFIG_ESPTOOLPY_FLASHFREQ_80M=y +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set +# default: +# CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set +# default: +CONFIG_ESPTOOLPY_FLASHFREQ="80m" +# 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 +# default: +CONFIG_ESPTOOLPY_FLASHSIZE="4MB" +# default: +# CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set +# default: +CONFIG_ESPTOOLPY_BEFORE_RESET=y +# default: +# CONFIG_ESPTOOLPY_BEFORE_NORESET is not set +# default: +CONFIG_ESPTOOLPY_BEFORE="default_reset" +# default: +CONFIG_ESPTOOLPY_AFTER_RESET=y +# default: +# CONFIG_ESPTOOLPY_AFTER_NORESET is not set +# default: +CONFIG_ESPTOOLPY_AFTER="hard_reset" +# default: +CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 +# end of Serial flasher config + +# +# Partition Table +# +# 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_TWO_OTA_LARGE is not set +CONFIG_PARTITION_TABLE_CUSTOM=y +CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" +# default: +CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" +# default: +CONFIG_PARTITION_TABLE_OFFSET=0x8000 +# default: +CONFIG_PARTITION_TABLE_MD5=y +# end of Partition Table + +# +# Compiler options +# +# default: +CONFIG_COMPILER_OPTIMIZATION_DEBUG=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_NONE is not set +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set +# default: +# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set +# default: +# CONFIG_COMPILER_ASSERT_NDEBUG_EVALUATE is not set +# default: +# CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB is not set +# default: +CONFIG_COMPILER_FLOAT_LIB_FROM_RVFPLIB=y +# default: +CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 +# default: +# CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set +# default: +CONFIG_COMPILER_HIDE_PATHS_MACROS=y +# default: +# CONFIG_COMPILER_CXX_EXCEPTIONS is not set +# default: +# CONFIG_COMPILER_CXX_RTTI is not set +# default: +CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set +# default: +# CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set +# default: +# CONFIG_COMPILER_NO_MERGE_CONSTANTS is not set +# default: +# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set +# default: +# CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS is not set +# default: +# CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC14_WARNINGS is not set +# default: +# CONFIG_COMPILER_DISABLE_GCC15_WARNINGS is not set +# default: +# CONFIG_COMPILER_DUMP_RTL_FILES is not set +# default: +CONFIG_COMPILER_RT_LIB_GCCLIB=y +# default: +CONFIG_COMPILER_RT_LIB_NAME="gcc" +# default: +CONFIG_COMPILER_ORPHAN_SECTIONS_ERROR=y +# default: +# CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set +# default: +# CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE is not set +# default: +# CONFIG_COMPILER_STATIC_ANALYZER is not set +# end of Compiler options + +# +# Component config +# + +# +# Application Level Tracing +# +# default: +# CONFIG_APPTRACE_DEST_JTAG is not set +# default: +CONFIG_APPTRACE_DEST_NONE=y +# default: +# CONFIG_APPTRACE_DEST_UART0 is not set +# default: +# CONFIG_APPTRACE_DEST_UART1 is not set +# default: +# CONFIG_APPTRACE_DEST_UART2 is not set +# default: +CONFIG_APPTRACE_DEST_UART_NONE=y +# default: +CONFIG_APPTRACE_UART_TASK_PRIO=1 +# default: +CONFIG_APPTRACE_LOCK_ENABLE=y +# end of Application Level Tracing + +# +# Bluetooth +# +CONFIG_BT_ENABLED=y +CONFIG_BT_BLUEDROID_ENABLED=y +# CONFIG_BT_NIMBLE_ENABLED is not set +# CONFIG_BT_CONTROLLER_ONLY is not set +# default: +CONFIG_BT_CONTROLLER_ENABLED=y +# default: +# CONFIG_BT_CONTROLLER_DISABLED is not set + +# +# Bluedroid Options +# +# default: +CONFIG_BT_BTC_TASK_STACK_SIZE=3072 +# default: +CONFIG_BT_BLUEDROID_PINNED_TO_CORE=0 +# default: +CONFIG_BT_BTU_TASK_STACK_SIZE=4352 +# default: +# CONFIG_BT_BLUEDROID_MEM_DEBUG is not set +# default: +CONFIG_BT_BLUEDROID_ESP_COEX_VSC=y +CONFIG_BT_BLE_ENABLED=y +# default: +CONFIG_BT_GATTS_ENABLE=y +# default: +# CONFIG_BT_GATTS_PPCP_CHAR_GAP is not set +# default: +# CONFIG_BT_BLE_BLUFI_ENABLE is not set +# default: +CONFIG_BT_GATT_MAX_SR_PROFILES=8 +# default: +CONFIG_BT_GATT_MAX_SR_ATTRIBUTES=100 +# default: +# CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set +# default: +CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_AUTO=y +# default: +CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MODE=0 +# default: +# CONFIG_BT_GATTS_ROBUST_CACHING_ENABLED is not set +# default: +# CONFIG_BT_GATTS_DEVICE_NAME_WRITABLE is not set +# default: +# CONFIG_BT_GATTS_APPEARANCE_WRITABLE is not set +# default: +CONFIG_BT_GATTC_ENABLE=y +# default: +CONFIG_BT_GATTC_MAX_CACHE_CHAR=40 +# default: +CONFIG_BT_GATTC_NOTIF_REG_MAX=5 +# default: +# CONFIG_BT_GATTC_CACHE_NVS_FLASH is not set +# default: +CONFIG_BT_GATTC_CONNECT_RETRY_COUNT=3 +# default: +CONFIG_BT_BLE_ESTAB_LINK_CONN_TOUT=30 +# default: +CONFIG_BT_BLE_SMP_ENABLE=y +# default: +# CONFIG_BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set +# default: +# CONFIG_BT_BLE_SMP_ID_RESET_ENABLE is not set +# default: +CONFIG_BT_BLE_SMP_BOND_NVS_FLASH=y +# default: +# CONFIG_BT_STACK_NO_LOG is not set + +# +# BT DEBUG LOG LEVEL +# +# default: +# CONFIG_BT_LOG_HCI_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_HCI_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_HCI_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_HCI_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_HCI_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_HCI_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_HCI_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_HCI_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_BTM_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_BTM_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_BTM_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_BTM_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_BTM_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_BTM_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_BTM_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_BTM_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_L2CAP_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_SDP_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_SDP_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_SDP_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_SDP_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_SDP_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_SDP_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_SDP_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_SDP_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_GAP_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_GAP_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_GAP_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_GAP_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_GAP_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_GAP_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_GAP_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_GAP_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_BNEP_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_BNEP_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_BNEP_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_PAN_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_PAN_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_PAN_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_PAN_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_PAN_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_PAN_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_PAN_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_PAN_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_A2D_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_A2D_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_A2D_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_A2D_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_A2D_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_A2D_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_A2D_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_A2D_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_AVDT_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_AVDT_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_AVDT_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_AVCT_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_AVCT_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_AVCT_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_AVRC_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_AVRC_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_AVRC_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_MCA_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_MCA_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_MCA_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_MCA_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_MCA_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_MCA_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_MCA_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_MCA_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_HID_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_HID_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_HID_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_HID_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_HID_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_HID_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_HID_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_HID_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_APPL_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_APPL_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_APPL_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_APPL_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_APPL_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_APPL_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_APPL_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_APPL_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_GATT_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_GATT_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_GATT_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_GATT_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_GATT_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_GATT_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_GATT_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_GATT_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_SMP_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_SMP_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_SMP_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_SMP_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_SMP_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_SMP_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_SMP_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_SMP_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_BTIF_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_BTIF_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_BTIF_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_BTC_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_BTC_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_BTC_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_BTC_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_BTC_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_BTC_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_BTC_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_BTC_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_OSI_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_OSI_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_OSI_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_OSI_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_OSI_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_OSI_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_OSI_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_OSI_TRACE_LEVEL=2 +# default: +# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_NONE is not set +# default: +# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_ERROR is not set +# default: +CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_WARNING=y +# default: +# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_API is not set +# default: +# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_EVENT is not set +# default: +# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_DEBUG is not set +# default: +# CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_VERBOSE is not set +# default: +CONFIG_BT_LOG_BLUFI_TRACE_LEVEL=2 +# end of BT DEBUG LOG LEVEL + +# default: +CONFIG_BT_ACL_CONNECTIONS=4 +# default: +CONFIG_BT_MULTI_CONNECTION_ENBALE=y +# default: +# CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST is not set +# default: +# CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY is not set +# default: +CONFIG_BT_SMP_ENABLE=y +# default: +CONFIG_BT_SMP_MAX_BONDS=15 +# default: +# CONFIG_BT_BLE_ACT_SCAN_REP_ADV_SCAN is not set +# default: +CONFIG_BT_MAX_DEVICE_NAME_LEN=32 +# default: +CONFIG_BT_BLE_RPA_TIMEOUT=900 +# default: +CONFIG_BT_BLE_50_FEATURES_SUPPORTED=y +# default: +CONFIG_BT_BLE_50_EXTEND_ADV_EN=y +# default: +CONFIG_BT_BLE_50_PERIODIC_ADV_EN=y +# default: +CONFIG_BT_BLE_50_EXTEND_SCAN_EN=y +# default: +CONFIG_BT_BLE_50_EXTEND_SYNC_EN=y +# default: +CONFIG_BT_BLE_50_DTM_TEST_EN=y +# default: +# CONFIG_BT_BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER is not set +# default: +# CONFIG_BT_BLE_FEAT_PERIODIC_ADV_ENH is not set +# default: +# CONFIG_BT_BLE_FEAT_CREATE_SYNC_ENH is not set +CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y +# default: +CONFIG_BT_BLE_42_DTM_TEST_EN=y +# default: +CONFIG_BT_BLE_42_ADV_EN=y +# default: +CONFIG_BT_BLE_42_SCAN_EN=y +# default: +# CONFIG_BT_BLE_FEAT_CTE_EN is not set +# default: +# CONFIG_BT_BLE_FEAT_POWER_CONTROL is not set +# default: +CONFIG_BT_BLE_VENDOR_HCI_EN=y +# default: +# CONFIG_BT_BLE_HIGH_DUTY_ADV_INTERVAL is not set +# default: +# CONFIG_BT_ABORT_WHEN_ALLOCATION_FAILS is not set +# end of Bluedroid Options + +# +# Controller Options +# + +# +# HCI Config +# +# default: +CONFIG_BT_LE_HCI_INTERFACE_USE_RAM=y +# default: +# CONFIG_BT_LE_HCI_INTERFACE_USE_UART is not set +# end of HCI Config + +# default: +CONFIG_BT_LE_CONTROLLER_NPL_OS_PORTING_SUPPORT=y +# default: +CONFIG_BT_LE_50_FEATURE_SUPPORT=y +# default: +CONFIG_BT_LE_LL_CFG_FEAT_LE_2M_PHY=y +# default: +CONFIG_BT_LE_LL_CFG_FEAT_LE_CODED_PHY=y +# default: +CONFIG_BT_LE_EXT_ADV=y +# default: +CONFIG_BT_LE_MAX_EXT_ADV_INSTANCES=1 +# default: +CONFIG_BT_LE_EXT_ADV_MAX_SIZE=1650 +# default: +CONFIG_BT_LE_ENABLE_PERIODIC_ADV=y +# default: +CONFIG_BT_LE_PERIODIC_ADV_SYNC_TRANSFER=y +# default: +CONFIG_BT_LE_MAX_PERIODIC_SYNCS=1 +# default: +CONFIG_BT_LE_MAX_PERIODIC_ADVERTISER_LIST=5 +# default: +# CONFIG_BT_LE_CTE_FEATURE_ENABLED is not set + +# +# Memory Settings +# +# default: +CONFIG_BT_LE_MSYS_1_BLOCK_COUNT=12 +# default: +CONFIG_BT_LE_MSYS_1_BLOCK_SIZE=256 +# default: +CONFIG_BT_LE_MSYS_2_BLOCK_COUNT=24 +# default: +CONFIG_BT_LE_MSYS_2_BLOCK_SIZE=320 +# default: +CONFIG_BT_LE_MSYS_BUF_FROM_HEAP=y +# default: +CONFIG_BT_LE_ACL_BUF_COUNT=10 +# default: +CONFIG_BT_LE_ACL_BUF_SIZE=517 +# default: +CONFIG_BT_LE_HCI_EVT_BUF_SIZE=257 +# default: +CONFIG_BT_LE_HCI_EVT_HI_BUF_COUNT=30 +# default: +CONFIG_BT_LE_HCI_EVT_LO_BUF_COUNT=8 +# end of Memory Settings + +# default: +CONFIG_BT_LE_CONTROLLER_TASK_STACK_SIZE=4096 + +# +# Controller debug features +# +# default: +# CONFIG_BT_LE_CONTROLLER_LOG_ENABLED is not set +# default: +# CONFIG_BT_LE_ERROR_SIM_ENABLED is not set +# default: +# CONFIG_BT_LE_ASSERT_WHEN_ABNORMAL_DISCONN_ENABLED is not set +# default: +# CONFIG_BT_LE_DEBUG_REMAIN_SCENE_ENABLED is not set +# default: +# CONFIG_BT_LE_PTR_CHECK_ENABLED is not set +# default: +# CONFIG_BT_LE_MEM_CHECK_ENABLED is not set +# end of Controller debug features + +# default: +CONFIG_BT_LE_LL_RESOLV_LIST_SIZE=4 +# default: +CONFIG_BT_LE_SECURITY_ENABLE=y +# default: +CONFIG_BT_LE_SM_LEGACY=y +# default: +CONFIG_BT_LE_SM_SC=y +# default: +# CONFIG_BT_LE_SM_SC_DEBUG_KEYS is not set +# default: +CONFIG_BT_LE_LL_CFG_FEAT_LE_ENCRYPTION=y +# default: +CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS=y +# default: +CONFIG_BT_LE_WHITELIST_SIZE=12 +# default: +CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT=20 +# default: +CONFIG_BT_LE_LL_SCA=60 +# default: +# CONFIG_BT_LE_LL_PEER_SCA_SET_ENABLE is not set +# default: +CONFIG_BT_LE_MAX_CONNECTIONS=3 +# default: +# CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +# default: +CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +# default: +CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF=0 +# default: +# CONFIG_BT_LE_SLEEP_ENABLE is not set +# default: +CONFIG_BT_LE_LP_CLK_SRC_MAIN_XTAL=y +# default: +# CONFIG_BT_LE_LP_CLK_SRC_DEFAULT is not set +# default: +CONFIG_BT_LE_USE_ESP_TIMER=y +# default: +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y +# default: +CONFIG_BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_NUM=100 +# default: +CONFIG_BT_CTRL_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 +# default: +CONFIG_BT_LE_SCAN_DUPL=y +# default: +CONFIG_BT_LE_SCAN_DUPL_TYPE_DEVICE=y +# default: +# CONFIG_BT_LE_SCAN_DUPL_TYPE_DATA is not set +# default: +# CONFIG_BT_LE_SCAN_DUPL_TYPE_DATA_DEVICE is not set +# default: +CONFIG_BT_LE_SCAN_DUPL_TYPE=0 +# default: +CONFIG_BT_LE_SCAN_DUPL_CACHE_REFRESH_PERIOD=0 +# default: +CONFIG_BT_LE_MSYS_INIT_IN_CONTROLLER=y +# default: +# CONFIG_BT_LE_TX_CCA_ENABLED is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N15 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N12 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N9 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N6 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N3 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_N0 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P3 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P6 is not set +# default: +CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P9=y +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P12 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P15 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P18 is not set +# default: +# CONFIG_BT_LE_DFT_TX_POWER_LEVEL_P20 is not set +# default: +CONFIG_BT_LE_DFT_TX_POWER_LEVEL_DBM_EFF=9 +# default: +# CONFIG_BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS is not set +# default: +# CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY is not set + +# +# BLE disconnects when Instant Passed (0x28) occurs +# +# default: +# CONFIG_BT_LE_CTRL_LLCP_CONN_UPDATE is not set +# default: +# CONFIG_BT_LE_CTRL_LLCP_CHAN_MAP_UPDATE is not set +# default: +# CONFIG_BT_LE_CTRL_LLCP_PHY_UPDATE is not set +# end of BLE disconnects when Instant Passed (0x28) occurs + +# default: +CONFIG_BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX=32 +# default: +# CONFIG_BT_LE_CTRL_CHAN_ASS_EN is not set +# default: +CONFIG_BT_LE_CTRL_ADV_DATA_LENGTH_ZERO_AUX=y +# default: +CONFIG_BT_LE_RXBUF_OPT_ENABLED=y +# default: +CONFIG_BT_LE_CTRL_FAST_CONN_DATA_TX_EN=y + +# +# Reserved Memory Config +# +# default: +CONFIG_BT_LE_EXT_ADV_RESERVED_MEMORY_COUNT=2 +# default: +CONFIG_BT_LE_CONN_RESERVED_MEMORY_COUNT=2 +# end of Reserved Memory Config +# end of Controller Options + +# +# Common Options +# +# default: +CONFIG_BT_ALARM_MAX_NUM=50 +# default: +# CONFIG_BT_BLE_LOG_SPI_OUT_ENABLED is not set +# default: +# CONFIG_BT_BLE_LOG_UHCI_OUT_ENABLED is not set +# end of Common Options + +# default: +# CONFIG_BT_HCI_LOG_DEBUG_EN is not set +# end of Bluetooth + +# default: +# CONFIG_BLE_MESH is not set + +# +# Console Library +# +# CONFIG_CONSOLE_SORTED_HELP is not set +# end of Console Library + +# +# Driver Configurations +# + +# +# Legacy I2C Driver Configurations +# +# default: +# CONFIG_I2C_SKIP_LEGACY_CONFLICT_CHECK is not set +# end of Legacy I2C Driver Configurations +# end of Driver Configurations + +# +# eFuse Bit Manager +# +# default: +# CONFIG_EFUSE_CUSTOM_TABLE is not set +# default: +# CONFIG_EFUSE_VIRTUAL is not set +# default: +CONFIG_EFUSE_MAX_BLK_LEN=256 +# end of eFuse Bit Manager + +# +# ESP-TLS +# +# default: +CONFIG_ESP_TLS_USING_MBEDTLS=y +# default: +# CONFIG_ESP_TLS_USE_SECURE_ELEMENT is not set +# default: +# CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set +# default: +# CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set +# default: +# CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set +# default: +# CONFIG_ESP_TLS_PSK_VERIFICATION is not set +# default: +# CONFIG_ESP_TLS_INSECURE is not set +# default: +CONFIG_ESP_TLS_DYN_BUF_STRATEGY_SUPPORTED=y +# end of ESP-TLS + +# +# ADC and ADC Calibration +# +# default: +# CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set +# default: +# CONFIG_ADC_ENABLE_DEBUG_LOG is not set +# end of ADC and ADC Calibration + +# +# Wireless Coexistence +# +# default: +CONFIG_ESP_COEX_ENABLED=y +# default: +CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y +# default: +# CONFIG_ESP_COEX_POWER_MANAGEMENT is not set +# default: +# CONFIG_ESP_COEX_GPIO_DEBUG is not set +# end of Wireless Coexistence + +# +# Common ESP-related +# +# default: +CONFIG_ESP_ERR_TO_NAME_LOOKUP=y +# end of Common ESP-related + +# +# ESP-Driver:Analog Comparator Configurations +# +# default: +CONFIG_ANA_CMPR_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_ANA_CMPR_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_ANA_CMPR_ISR_CACHE_SAFE is not set +# default: +CONFIG_ANA_CMPR_OBJ_CACHE_SAFE=y +# default: +# CONFIG_ANA_CMPR_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:Analog Comparator Configurations + +# +# ESP-Driver:GPIO Configurations +# +# default: +# CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:GPIO Configurations + +# +# ESP-Driver:GPTimer Configurations +# +# default: +CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y +# default: +# CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_GPTIMER_ISR_CACHE_SAFE is not set +# default: +CONFIG_GPTIMER_OBJ_CACHE_SAFE=y +# default: +# CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:GPTimer Configurations + +# +# ESP-Driver:I2C Configurations +# +# default: +# CONFIG_I2C_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2C_ENABLE_DEBUG_LOG is not set +# default: +CONFIG_I2C_MASTER_ISR_HANDLER_IN_IRAM=y +# end of ESP-Driver:I2C Configurations + +# +# ESP-Driver:I2S Configurations +# +# default: +# CONFIG_I2S_ISR_IRAM_SAFE is not set +# default: +# CONFIG_I2S_CTRL_FUNC_IN_IRAM is not set +# default: +# CONFIG_I2S_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:I2S Configurations + +# +# ESP-Driver:I3C Master Configurations +# +# default: +# CONFIG_I3C_MASTER_ISR_CACHE_SAFE is not set +# default: +# CONFIG_I3C_MASTER_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_I3C_MASTER_ISR_HANDLER_IN_IRAM is not set +# end of ESP-Driver:I3C Master Configurations + +# +# ESP-Driver:LEDC Configurations +# +# default: +# CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set +# end of ESP-Driver:LEDC Configurations + +# +# ESP-Driver:SPI Configurations +# +# default: +# CONFIG_SPI_MASTER_IN_IRAM is not set +# default: +CONFIG_SPI_MASTER_ISR_IN_IRAM=y +# default: +# CONFIG_SPI_SLAVE_IN_IRAM is not set +# default: +CONFIG_SPI_SLAVE_ISR_IN_IRAM=y +# end of ESP-Driver:SPI Configurations + +# +# ESP-Driver:Temperature Sensor Configurations +# +# default: +# CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set +# default: +# CONFIG_TEMP_SENSOR_ISR_IRAM_SAFE is not set +# end of ESP-Driver:Temperature Sensor Configurations + +# +# ESP-Driver:UART Configurations +# +# default: +# CONFIG_UART_ISR_IN_IRAM is not set +# end of ESP-Driver:UART Configurations + +# +# ESP-Driver:UHCI Configurations +# +# default: +# CONFIG_UHCI_ISR_HANDLER_IN_IRAM is not set +# default: +# CONFIG_UHCI_ISR_CACHE_SAFE is not set +# default: +# CONFIG_UHCI_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:UHCI Configurations + +# +# ESP-Driver:USB Serial/JTAG Configuration +# +# default: +CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y +# end of ESP-Driver:USB Serial/JTAG Configuration + +# +# Ethernet +# +# default: +CONFIG_ETH_ENABLED=y +# default: +CONFIG_ETH_USE_SPI_ETHERNET=y +# default: +# CONFIG_ETH_SPI_ETHERNET_DM9051 is not set +# default: +# CONFIG_ETH_SPI_ETHERNET_W5500 is not set +# default: +# CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set +# default: +# CONFIG_ETH_USE_OPENETH is not set +# default: +# CONFIG_ETH_TRANSMIT_MUTEX is not set +# end of Ethernet + +# +# Event Loop Library +# +# default: +# CONFIG_ESP_EVENT_LOOP_PROFILING is not set +# default: +CONFIG_ESP_EVENT_POST_FROM_ISR=y +# default: +CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y +# end of Event Loop Library + +# +# GDB Stub +# +# default: +CONFIG_ESP_GDBSTUB_ENABLED=y +# default: +# CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set +# default: +CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y +# default: +CONFIG_ESP_GDBSTUB_MAX_TASKS=32 +# end of GDB Stub + +# +# ESP HID +# +# default: +CONFIG_ESPHID_TASK_SIZE_BT=2048 +# default: +CONFIG_ESPHID_TASK_SIZE_BLE=4096 +# end of ESP HID + +# +# ESP HTTP client +# +# default: +CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set +# default: +# CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set +# default: +CONFIG_ESP_HTTP_CLIENT_EVENT_POST_TIMEOUT=2000 +# end of ESP HTTP client + +# +# HTTP Server +# +# default: +CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024 +# default: +CONFIG_HTTPD_MAX_URI_LEN=512 +# default: +CONFIG_HTTPD_ERR_RESP_NO_DELAY=y +# default: +CONFIG_HTTPD_PURGE_BUF_LEN=32 +# default: +# CONFIG_HTTPD_LOG_PURGE_DATA is not set +# default: +# CONFIG_HTTPD_WS_SUPPORT is not set +# default: +# CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set +# default: +CONFIG_HTTPD_SERVER_EVENT_POST_TIMEOUT=2000 +# end of HTTP Server + +# +# ESP HTTPS OTA +# +# default: +# CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set +# default: +# CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set +# default: +CONFIG_ESP_HTTPS_OTA_EVENT_POST_TIMEOUT=2000 +# end of ESP HTTPS OTA + +# +# ESP HTTPS server +# +# default: +# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set +# default: +CONFIG_ESP_HTTPS_SERVER_EVENT_POST_TIMEOUT=2000 +# default: +# CONFIG_ESP_HTTPS_SERVER_CERT_SELECT_HOOK is not set +# end of ESP HTTPS server + +# +# Hardware Settings +# + +# +# Chip revision +# +# default: +CONFIG_ESP32C61_REV_MIN_100=y +# default: +CONFIG_ESP32C61_REV_MIN_FULL=100 +# default: +CONFIG_ESP_REV_MIN_FULL=100 + +# +# Maximum Supported ESP32-C61 Revision (Rev v1.99) +# +# default: +CONFIG_ESP32C61_REV_MAX_FULL=199 +# default: +CONFIG_ESP_REV_MAX_FULL=199 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MIN_FULL=0 +# default: +CONFIG_ESP_EFUSE_BLOCK_REV_MAX_FULL=199 + +# +# Maximum Supported ESP32-C61 eFuse Block Revision (eFuse Block Rev v0.99) +# +# end of Chip revision + +# +# MAC Config +# +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y +# default: +CONFIG_ESP_MAC_ADDR_UNIVERSE_IEEE802154=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP32C61_UNIVERSAL_MAC_ADDRESSES_TWO is not set +# default: +CONFIG_ESP32C61_UNIVERSAL_MAC_ADDRESSES_FOUR=y +# default: +CONFIG_ESP32C61_UNIVERSAL_MAC_ADDRESSES=4 +# default: +# CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set +# end of MAC Config + +# +# Sleep Config +# +# default: +# CONFIG_ESP_SLEEP_POWER_DOWN_FLASH is not set +# default: +CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y +# default: +# CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU is not set +# default: +CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y +# default: +CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=0 +# default: +# CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set +# default: +# CONFIG_ESP_SLEEP_DEBUG is not set +# default: +CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y +# end of Sleep Config + +# +# RTC Clock Config +# +# default: +CONFIG_RTC_CLK_SRC_INT_RC=y +# default: +# CONFIG_RTC_CLK_SRC_EXT_CRYS is not set +# default: +# CONFIG_RTC_CLK_SRC_EXT_OSC is not set +# default: +CONFIG_RTC_CLK_CAL_CYCLES=1024 +# end of RTC Clock Config + +# +# Peripheral Control +# +# default: +CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=y +# end of Peripheral Control + +# +# ETM Configuration +# +# default: +# CONFIG_ETM_ENABLE_DEBUG_LOG is not set +# end of ETM Configuration + +# +# GDMA Configurations +# +# default: +CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y +# default: +CONFIG_GDMA_ISR_HANDLER_IN_IRAM=y +# default: +CONFIG_GDMA_OBJ_DRAM_SAFE=y +# default: +# CONFIG_GDMA_ENABLE_DEBUG_LOG is not set +# end of GDMA Configurations + +# +# Main XTAL Config +# +# default: +CONFIG_XTAL_FREQ_40=y +# default: +CONFIG_XTAL_FREQ=40 +# end of Main XTAL Config + +# +# Power Supplier +# + +# +# Brownout Detector +# +# default: +CONFIG_ESP_BROWNOUT_DET=y +# default: +CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set +# default: +# CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set +# default: +CONFIG_ESP_BROWNOUT_DET_LVL=7 +# default: +CONFIG_ESP_BROWNOUT_USE_INTR=y +# end of Brownout Detector +# end of Power Supplier + +# default: +CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y +# default: +CONFIG_ESP_CLK_RC32K_NOT_TO_USE=y +# default: +CONFIG_ESP_INTR_IN_IRAM=y +# end of Hardware Settings + +# +# ESP-Driver:LCD Controller Configurations +# +# default: +# CONFIG_LCD_ENABLE_DEBUG_LOG is not set +# end of ESP-Driver:LCD Controller Configurations + +# +# ESP-MM: Memory Management Configurations +# +# default: +# CONFIG_ESP_MM_CACHE_MSYNC_C2M_CHUNKED_OPS is not set +# end of ESP-MM: Memory Management Configurations + +# +# ESP NETIF Adapter +# +# default: +CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 +# default: +# CONFIG_ESP_NETIF_PROVIDE_CUSTOM_IMPLEMENTATION is not set +# default: +CONFIG_ESP_NETIF_TCPIP_LWIP=y +# default: +# CONFIG_ESP_NETIF_LOOPBACK is not set +# default: +CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y +# default: +CONFIG_ESP_NETIF_REPORT_DATA_TRAFFIC=y +# default: +CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS=y +# default: +# CONFIG_ESP_NETIF_L2_TAP is not set +# default: +# CONFIG_ESP_NETIF_BRIDGE_EN is not set +# default: +# CONFIG_ESP_NETIF_SET_DNS_PER_DEFAULT_NETIF is not set +# end of ESP NETIF Adapter + +# +# Partition API Configuration +# +# end of Partition API Configuration + +# +# PHY +# +# default: +CONFIG_ESP_PHY_ENABLED=y +# default: +CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y +# default: +# CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set +# default: +CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 +# default: +CONFIG_ESP_PHY_MAX_TX_POWER=20 +# default: +# CONFIG_ESP_PHY_REDUCE_TX_POWER is not set +# default: +# CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set +# default: +CONFIG_ESP_PHY_RF_CAL_PARTIAL=y +# default: +# CONFIG_ESP_PHY_RF_CAL_NONE is not set +# default: +# CONFIG_ESP_PHY_RF_CAL_FULL is not set +# default: +CONFIG_ESP_PHY_CALIBRATION_MODE=0 +# default: +CONFIG_ESP_PHY_PLL_TRACK_PERIOD_MS=1000 +# default: +# CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set +# default: +# CONFIG_ESP_PHY_RECORD_USED_TIME is not set +# default: +CONFIG_ESP_PHY_IRAM_OPT=y +# default: +# CONFIG_ESP_PHY_DEBUG is not set +# end of PHY + +# +# Power Management +# +# default: +CONFIG_PM_SLEEP_FUNC_IN_IRAM=y +# default: +# CONFIG_PM_ENABLE is not set +# default: +CONFIG_PM_SLP_IRAM_OPT=y +# default: +CONFIG_PM_SLP_DEFAULT_PARAMS_OPT=y +# default: +CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y +# default: +# CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP is not set +# end of Power Management + +# +# ESP PSRAM +# +# default: +# CONFIG_SPIRAM is not set +# end of ESP PSRAM + +# +# ESP Ringbuf +# +# default: +# CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set +# end of ESP Ringbuf + +# +# ESP-ROM +# +# default: +CONFIG_ESP_ROM_PRINT_IN_IRAM=y +# end of ESP-ROM + +# +# ESP Security Specific +# + +# +# Crypto DPA Protection +# +# default: +CONFIG_ESP_CRYPTO_DPA_PROTECTION_AT_STARTUP=y +# default: +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_LOW=y +# default: +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_MEDIUM is not set +# default: +# CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL_HIGH is not set +# default: +CONFIG_ESP_CRYPTO_DPA_PROTECTION_LEVEL=1 +# end of Crypto DPA Protection + +# default: +# CONFIG_ESP_CRYPTO_FORCE_ECC_CONSTANT_TIME_POINT_MUL is not set +# end of ESP Security Specific + +# +# ESP System Settings +# +# default: +# CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160=y +# default: +CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=160 + +# +# Cache config +# +# default: +CONFIG_CACHE_L1_CACHE_SIZE=0x8000 +# default: +CONFIG_CACHE_L1_CACHE_LINE_SIZE=32 +# end of Cache config + +# default: +CONFIG_ESP_SYSTEM_IN_IRAM=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y +# default: +# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set +# default: +# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set +# default: +CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 +# default: +CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE=y +# default: +CONFIG_ESP_SYSTEM_NO_BACKTRACE=y +# default: +# CONFIG_ESP_SYSTEM_USE_EH_FRAME is not set +# default: +# CONFIG_ESP_SYSTEM_USE_FRAME_POINTER is not set + +# +# Memory protection +# +CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT=y +# end of Memory protection + +# default: +CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 +# default: +CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +# default: +CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set +# default: +CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 +# CONFIG_ESP_CONSOLE_UART_DEFAULT is not set +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y +# CONFIG_ESP_CONSOLE_UART_CUSTOM is not set +# CONFIG_ESP_CONSOLE_NONE is not set +# default: +CONFIG_ESP_CONSOLE_SECONDARY_NONE=y +# default: +CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y +# default: +CONFIG_ESP_CONSOLE_UART_NUM=-1 +# default: +CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=4 +# default: +CONFIG_ESP_INT_WDT=y +# default: +CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 +# default: +CONFIG_ESP_TASK_WDT_EN=y +# default: +CONFIG_ESP_TASK_WDT_INIT=y +# default: +# CONFIG_ESP_TASK_WDT_PANIC is not set +# default: +CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 +# default: +CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# default: +# CONFIG_ESP_PANIC_HANDLER_IRAM is not set +# default: +# CONFIG_ESP_DEBUG_STUBS_ENABLE is not set +# default: +CONFIG_ESP_DEBUG_OCDAWARE=y +# default: +CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y +# default: +CONFIG_ESP_SYSTEM_HW_STACK_GUARD=y +# default: +CONFIG_ESP_SYSTEM_HW_PC_RECORD=y +# end of ESP System Settings + +# +# IPC (Inter-Processor Call) +# +# default: +CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 +# end of IPC (Inter-Processor Call) + +# +# ESP Timer (High Resolution Timer) +# +# default: +CONFIG_ESP_TIMER_IN_IRAM=y +# default: +# CONFIG_ESP_TIMER_PROFILING is not set +# default: +CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y +# default: +CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y +# default: +CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 +# default: +CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 +# default: +# CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 +# default: +CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y +# default: +CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y +# default: +# CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set +# default: +CONFIG_ESP_TIMER_IMPL_SYSTIMER=y +# end of ESP Timer (High Resolution Timer) + +# +# Wi-Fi +# +# default: +CONFIG_ESP_WIFI_ENABLED=y +# default: +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 +# default: +# CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y +# default: +CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 +# default: +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 +# default: +CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y +# default: +# CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set +# default: +CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 +# default: +CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 +# default: +# CONFIG_ESP_WIFI_CSI_ENABLED is not set +# default: +CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y +# default: +CONFIG_ESP_WIFI_TX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y +# default: +CONFIG_ESP_WIFI_RX_BA_WIN=6 +# default: +CONFIG_ESP_WIFI_NVS_ENABLED=y +# default: +CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 +# default: +CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 +# default: +CONFIG_ESP_WIFI_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_RX_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_PK=y +# default: +CONFIG_ESP_WIFI_ENABLE_SAE_H2E=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y +# default: +CONFIG_ESP_WIFI_SLP_IRAM_OPT=y +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 +# default: +CONFIG_ESP_WIFI_BSS_MAX_IDLE_SUPPORT=y +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 +# default: +CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 +# default: +# CONFIG_ESP_WIFI_FTM_ENABLE is not set +# default: +CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y +# default: +# CONFIG_ESP_WIFI_GCMP_SUPPORT is not set +# default: +CONFIG_ESP_WIFI_GMAC_SUPPORT=y +# default: +CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set +# default: +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 +# CONFIG_ESP_WIFI_NAN_ENABLE is not set +# default: +CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y +# default: +CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y +# default: +# CONFIG_ESP_WIFI_WAPI_PSK is not set +# default: +# CONFIG_ESP_WIFI_SUITE_B_192 is not set +# default: +# CONFIG_ESP_WIFI_11KV_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_MBO_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_DPP_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_11R_SUPPORT is not set +# default: +# CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set +# default: +# CONFIG_ESP_WIFI_ENABLE_WIFI_TX_STATS is not set +# default: +# CONFIG_ESP_WIFI_ENABLE_WIFI_RX_STATS is not set +# default: +CONFIG_ESP_WIFI_TX_HETB_QUEUE_NUM=3 + +# +# WPS Configuration Options +# +# default: +# CONFIG_ESP_WIFI_WPS_STRICT is not set +# default: +# CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set +# end of WPS Configuration Options + +# default: +# CONFIG_ESP_WIFI_DEBUG_PRINT is not set +# default: +# CONFIG_ESP_WIFI_TESTING_OPTIONS is not set +# default: +CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y +# default: +# CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set +# end of Wi-Fi + +# +# Core dump +# +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set +# default: +# CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set +# default: +CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y +# end of Core dump + +# +# FAT Filesystem support +# +# default: +CONFIG_FATFS_VOLUME_COUNT=2 +# default: +CONFIG_FATFS_LFN_NONE=y +# default: +# CONFIG_FATFS_LFN_HEAP is not set +# default: +# CONFIG_FATFS_LFN_STACK is not set +# default: +# CONFIG_FATFS_SECTOR_512 is not set +# default: +CONFIG_FATFS_SECTOR_4096=y +# default: +# CONFIG_FATFS_CODEPAGE_DYNAMIC is not set +# default: +CONFIG_FATFS_CODEPAGE_437=y +# default: +# CONFIG_FATFS_CODEPAGE_720 is not set +# default: +# CONFIG_FATFS_CODEPAGE_737 is not set +# default: +# CONFIG_FATFS_CODEPAGE_771 is not set +# default: +# CONFIG_FATFS_CODEPAGE_775 is not set +# default: +# CONFIG_FATFS_CODEPAGE_850 is not set +# default: +# CONFIG_FATFS_CODEPAGE_852 is not set +# default: +# CONFIG_FATFS_CODEPAGE_855 is not set +# default: +# CONFIG_FATFS_CODEPAGE_857 is not set +# default: +# CONFIG_FATFS_CODEPAGE_860 is not set +# default: +# CONFIG_FATFS_CODEPAGE_861 is not set +# default: +# CONFIG_FATFS_CODEPAGE_862 is not set +# default: +# CONFIG_FATFS_CODEPAGE_863 is not set +# default: +# CONFIG_FATFS_CODEPAGE_864 is not set +# default: +# CONFIG_FATFS_CODEPAGE_865 is not set +# default: +# CONFIG_FATFS_CODEPAGE_866 is not set +# default: +# CONFIG_FATFS_CODEPAGE_869 is not set +# default: +# CONFIG_FATFS_CODEPAGE_932 is not set +# default: +# CONFIG_FATFS_CODEPAGE_936 is not set +# default: +# CONFIG_FATFS_CODEPAGE_949 is not set +# default: +# CONFIG_FATFS_CODEPAGE_950 is not set +# default: +CONFIG_FATFS_CODEPAGE=437 +# default: +CONFIG_FATFS_FS_LOCK=0 +# default: +CONFIG_FATFS_TIMEOUT_MS=10000 +# default: +CONFIG_FATFS_PER_FILE_CACHE=y +# default: +# CONFIG_FATFS_USE_FASTSEEK is not set +# default: +CONFIG_FATFS_USE_STRFUNC_NONE=y +# default: +# CONFIG_FATFS_USE_STRFUNC_WITHOUT_CRLF_CONV is not set +# default: +# CONFIG_FATFS_USE_STRFUNC_WITH_CRLF_CONV is not set +# default: +CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 +# default: +# CONFIG_FATFS_IMMEDIATE_FSYNC is not set +# default: +# CONFIG_FATFS_USE_LABEL is not set +# default: +CONFIG_FATFS_LINK_LOCK=y +# default: +CONFIG_FATFS_USE_DYN_BUFFERS=y + +# +# File system free space calculation behavior +# +# default: +CONFIG_FATFS_DONT_TRUST_FREE_CLUSTER_CNT=0 +# default: +CONFIG_FATFS_DONT_TRUST_LAST_ALLOC=0 +# end of File system free space calculation behavior +# end of FAT Filesystem support + +# +# FreeRTOS +# + +# +# Kernel +# +# default: +# CONFIG_FREERTOS_SMP is not set +# default: +CONFIG_FREERTOS_UNICORE=y +# default: +CONFIG_FREERTOS_HZ=100 +# default: +CONFIG_FREERTOS_OPTIMIZED_SCHEDULER=y +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set +# default: +# CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set +# default: +CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y +# default: +CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 +# default: +CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 +# default: +# CONFIG_FREERTOS_USE_IDLE_HOOK is not set +# default: +# CONFIG_FREERTOS_USE_TICK_HOOK is not set +# default: +CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 +# default: +# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set +# default: +CONFIG_FREERTOS_USE_TIMERS=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" +# default: +# CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set +# default: +CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y +# default: +CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 +# default: +CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 +# default: +CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 +# default: +CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 +# default: +CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 +# default: +# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set +# default: +# CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set +# default: +# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set +# default: +# CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set +# end of Kernel + +# +# Port +# +# default: +CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y +# default: +# CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set +# default: +CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y +# default: +# CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set +# default: +# CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set +# default: +CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y +# default: +CONFIG_FREERTOS_ISR_STACKSIZE=1536 +# default: +CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y +# default: +CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y +# default: +CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y +# default: +# CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set +# default: +CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y +# default: +# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set +# default: +# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set +# end of Port + +# +# Extra +# +# end of Extra + +# default: +CONFIG_FREERTOS_PORT=y +# default: +CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF +# default: +CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y +# default: +CONFIG_FREERTOS_DEBUG_OCDAWARE=y +# default: +CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y +# default: +CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y +# default: +CONFIG_FREERTOS_NUMBER_OF_CORES=1 +# default: +CONFIG_FREERTOS_IN_IRAM=y +# end of FreeRTOS + +# +# Hardware Abstraction Layer (HAL) and Low Level (LL) +# +# default: +CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y +# default: +# CONFIG_HAL_ASSERTION_DISABLE is not set +# default: +# CONFIG_HAL_ASSERTION_SILENT is not set +# default: +# CONFIG_HAL_ASSERTION_ENABLE is not set +# default: +CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 +# default: +CONFIG_HAL_SYSTIMER_USE_ROM_IMPL=y +# default: +CONFIG_HAL_WDT_USE_ROM_IMPL=y +# default: +CONFIG_HAL_GPIO_USE_ROM_IMPL=y +# end of Hardware Abstraction Layer (HAL) and Low Level (LL) + +# +# Heap memory debugging +# +# default: +CONFIG_HEAP_POISONING_DISABLED=y +# default: +# CONFIG_HEAP_POISONING_LIGHT is not set +# default: +# CONFIG_HEAP_POISONING_COMPREHENSIVE is not set +# default: +CONFIG_HEAP_TRACING_OFF=y +# default: +# CONFIG_HEAP_TRACING_STANDALONE is not set +# default: +# CONFIG_HEAP_TRACING_TOHOST is not set +# default: +# CONFIG_HEAP_USE_HOOKS is not set +# default: +# CONFIG_HEAP_TASK_TRACKING is not set +# default: +# CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set +# default: +CONFIG_HEAP_TLSF_USE_ROM_IMPL=y +# default: +# CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set +# end of Heap memory debugging + +# +# Log +# +# default: +CONFIG_LOG_VERSION_1=y +# default: +# CONFIG_LOG_VERSION_2 is not set +# default: +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 +# default: +CONFIG_LOG_DEFAULT_LEVEL=3 +# default: +CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set +# default: +# CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set +# default: +CONFIG_LOG_MAXIMUM_LEVEL=3 + +# +# Level Settings +# +# default: +# CONFIG_LOG_MASTER_LEVEL is not set +# default: +CONFIG_LOG_DYNAMIC_LEVEL_CONTROL=y +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_NONE is not set +# default: +# CONFIG_LOG_TAG_LEVEL_IMPL_LINKED_LIST is not set +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_AND_LINKED_LIST=y +# default: +# CONFIG_LOG_TAG_LEVEL_CACHE_ARRAY is not set +# default: +CONFIG_LOG_TAG_LEVEL_CACHE_BINARY_MIN_HEAP=y +# default: +CONFIG_LOG_TAG_LEVEL_IMPL_CACHE_SIZE=31 +# end of Level Settings +# end of Log Level + +# +# Format +# +# default: +# CONFIG_LOG_COLORS is not set +# default: +CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y +# default: +# CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set +# end of Format + +# +# Settings +# +# default: +CONFIG_LOG_MODE_TEXT_EN=y +# default: +CONFIG_LOG_MODE_TEXT=y +# end of Settings + +# default: +CONFIG_LOG_IN_IRAM=y +# end of Log + +# +# LWIP +# +# default: +CONFIG_LWIP_ENABLE=y +# default: +CONFIG_LWIP_LOCAL_HOSTNAME="espressif" +# default: +CONFIG_LWIP_TCPIP_TASK_PRIO=18 +# default: +# CONFIG_LWIP_TCPIP_CORE_LOCKING is not set +# default: +# CONFIG_LWIP_CHECK_THREAD_SAFETY is not set +# default: +CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y +# default: +# CONFIG_LWIP_L2_TO_L3_COPY is not set +# default: +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set +# default: +# CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set +# default: +CONFIG_LWIP_TIMERS_ONDEMAND=y +# default: +CONFIG_LWIP_ND6=y +# default: +# CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set +# default: +CONFIG_LWIP_MAX_SOCKETS=10 +# default: +# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set +# default: +# CONFIG_LWIP_SO_LINGER is not set +# default: +CONFIG_LWIP_SO_REUSE=y +# default: +CONFIG_LWIP_SO_REUSE_RXTOALL=y +# default: +# CONFIG_LWIP_SO_RCVBUF is not set +# default: +# CONFIG_LWIP_NETBUF_RECVINFO is not set +# default: +CONFIG_LWIP_IP_DEFAULT_TTL=64 +# default: +CONFIG_LWIP_IP4_FRAG=y +# default: +CONFIG_LWIP_IP6_FRAG=y +# default: +# CONFIG_LWIP_IP4_REASSEMBLY is not set +# default: +# CONFIG_LWIP_IP6_REASSEMBLY is not set +# default: +CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 +# default: +CONFIG_LWIP_IPV6_DUP_DETECT_ATTEMPTS=1 +# default: +# CONFIG_LWIP_IP_FORWARD is not set +# default: +# CONFIG_LWIP_STATS is not set +# default: +CONFIG_LWIP_ESP_GRATUITOUS_ARP=y +# default: +CONFIG_LWIP_GARP_TMR_INTERVAL=60 +# default: +CONFIG_LWIP_ESP_MLDV6_REPORT=y +# default: +CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 +# default: +CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 +# default: +CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y +# default: +# CONFIG_LWIP_DHCP_DOES_ACD_CHECK is not set +# default: +# CONFIG_LWIP_DHCP_DOES_NOT_CHECK_OFFERED_IP is not set +# default: +# CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set +# default: +CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y +# default: +# CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set +# default: +CONFIG_LWIP_DHCP_OPTIONS_LEN=69 +# default: +CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 +# default: +CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 + +# +# DHCP server +# +# default: +CONFIG_LWIP_DHCPS=y +# default: +CONFIG_LWIP_DHCPS_LEASE_UNIT=60 +# default: +CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 +# default: +CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y +# default: +CONFIG_LWIP_DHCPS_ADD_DNS=y +# end of DHCP server + +# default: +# CONFIG_LWIP_AUTOIP is not set +# default: +CONFIG_LWIP_IPV4=y +# default: +CONFIG_LWIP_IPV6=y +# default: +# CONFIG_LWIP_IPV6_AUTOCONFIG is not set +# default: +CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 +# default: +# CONFIG_LWIP_IPV6_FORWARD is not set +# default: +# CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set +# default: +CONFIG_LWIP_NETIF_LOOPBACK=y +# default: +CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 + +# +# TCP +# +# default: +CONFIG_LWIP_MAX_ACTIVE_TCP=16 +# default: +CONFIG_LWIP_MAX_LISTENING_TCP=16 +# default: +CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y +# default: +CONFIG_LWIP_TCP_MAXRTX=12 +# default: +CONFIG_LWIP_TCP_SYNMAXRTX=12 +# default: +CONFIG_LWIP_TCP_MSS=1440 +# default: +CONFIG_LWIP_TCP_TMR_INTERVAL=250 +# default: +CONFIG_LWIP_TCP_MSL=60000 +# default: +CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 +# default: +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_WND_DEFAULT=5760 +# default: +CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 +# default: +CONFIG_LWIP_TCP_QUEUE_OOSEQ=y +# default: +CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 +# default: +CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 +# default: +# CONFIG_LWIP_TCP_SACK_OUT is not set +# default: +CONFIG_LWIP_TCP_OVERSIZE_MSS=y +# default: +# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set +# default: +# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set +# default: +CONFIG_LWIP_TCP_RTO_TIME=1500 +# end of TCP + +# +# UDP +# +# default: +CONFIG_LWIP_MAX_UDP_PCBS=16 +# default: +CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 +# end of UDP + +# +# Checksums +# +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_IP is not set +# default: +# CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set +# default: +CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y +# end of Checksums + +# default: +CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y +# default: +# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set +# default: +CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF +# default: +CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_PREFIXES=5 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_ROUTERS=3 +# default: +CONFIG_LWIP_IPV6_ND6_NUM_DESTINATIONS=10 +# default: +# CONFIG_LWIP_IPV6_ND6_ROUTE_INFO_OPTION_SUPPORT is not set +# default: +# CONFIG_LWIP_PPP_SUPPORT is not set +# default: +# CONFIG_LWIP_SLIP_SUPPORT is not set + +# +# ICMP +# +# default: +CONFIG_LWIP_ICMP=y +# default: +# CONFIG_LWIP_MULTICAST_PING is not set +# default: +# CONFIG_LWIP_BROADCAST_PING is not set +# end of ICMP + +# +# LWIP RAW API +# +# default: +CONFIG_LWIP_MAX_RAW_PCBS=16 +# end of LWIP RAW API + +# +# SNTP +# +# default: +CONFIG_LWIP_SNTP_MAX_SERVERS=1 +# default: +# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set +# default: +CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 +# default: +CONFIG_LWIP_SNTP_STARTUP_DELAY=y +# default: +CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 +# end of SNTP + +# +# DNS +# +# default: +CONFIG_LWIP_DNS_MAX_HOST_IP=1 +# default: +CONFIG_LWIP_DNS_MAX_SERVERS=3 +# default: +# CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set +# default: +# CONFIG_LWIP_DNS_SETSERVER_WITH_NETIF is not set +# default: +# CONFIG_LWIP_USE_ESP_GETADDRINFO is not set +# end of DNS + +# default: +CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 +# default: +CONFIG_LWIP_ESP_LWIP_ASSERT=y + +# +# Hooks +# +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set +# default: +CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_NONE=y +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_DHCP_EXTRA_OPTION_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set +# default: +# CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set +# default: +CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_NONE=y +# default: +# CONFIG_LWIP_HOOK_DNS_EXT_RESOLVE_CUSTOM is not set +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_NONE is not set +# default: +CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT=y +# default: +# CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set +# end of Hooks + +# default: +# CONFIG_LWIP_DEBUG is not set +# end of LWIP + +# +# mbedTLS +# + +# +# Core Configuration +# +# default: +CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_NONE=y +# default: +# CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_SIZE is not set +# default: +# CONFIG_MBEDTLS_COMPILER_OPTIMIZATION_PERF is not set +# default: +CONFIG_MBEDTLS_FS_IO=y +# default: +# CONFIG_MBEDTLS_THREADING_C is not set +# default: +CONFIG_MBEDTLS_ERROR_STRINGS=y +# default: +CONFIG_MBEDTLS_VERSION_C=y +# default: +CONFIG_MBEDTLS_HAVE_TIME=y +# default: +# CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set +# default: +# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set +# default: +CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y +# default: +# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set +# default: +CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y +# default: +CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 +# default: +CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 +# default: +# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set +# default: +# CONFIG_MBEDTLS_VERSION_FEATURES is not set +# default: +# CONFIG_MBEDTLS_DEBUG is not set +# default: +CONFIG_MBEDTLS_SELF_TEST=y +# end of Core Configuration + +# +# Certificates +# +# default: +CONFIG_MBEDTLS_X509_USE_C=y +# default: +CONFIG_MBEDTLS_PEM_PARSE_C=y +# default: +CONFIG_MBEDTLS_PEM_WRITE_C=y +# default: +CONFIG_MBEDTLS_PK_C=y +# default: +CONFIG_MBEDTLS_PK_PARSE_C=y +# default: +CONFIG_MBEDTLS_PK_WRITE_C=y +# default: +# CONFIG_MBEDTLS_X509_REMOVE_INFO is not set +# default: +CONFIG_MBEDTLS_X509_CRL_PARSE_C=y +# default: +CONFIG_MBEDTLS_X509_CRT_PARSE_C=y +# default: +CONFIG_MBEDTLS_X509_CSR_PARSE_C=y +# default: +# CONFIG_MBEDTLS_X509_CREATE_C is not set +# default: +CONFIG_MBEDTLS_X509_RSASSA_PSS_SUPPORT=y +# default: +# CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set +# default: +CONFIG_MBEDTLS_ASN1_PARSE_C=y +# default: +CONFIG_MBEDTLS_ASN1_WRITE_C=y +# default: +CONFIG_MBEDTLS_OID_C=y +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y + +# +# Certificate Bundle Configuration +# +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set +# default: +# CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set +# default: +CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 +# end of Certificate Bundle Configuration + +# default: +# CONFIG_MBEDTLS_ALLOW_WEAK_CERTIFICATE_VERIFICATION is not set +# default: +# CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_CROSS_SIGNED_VERIFY is not set +# end of Certificates + +# default: +CONFIG_MBEDTLS_TLS_ENABLED=y + +# +# TLS Protocol Configuration +# +# default: +CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y +# default: +# CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set +# default: +# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set +# default: +CONFIG_MBEDTLS_TLS_SERVER=y +# default: +CONFIG_MBEDTLS_TLS_CLIENT=y +# default: +CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y +# default: +# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set +# default: +# CONFIG_MBEDTLS_TLS_DISABLED is not set +# default: +# CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE is not set +# default: +# CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set +# default: +CONFIG_MBEDTLS_SSL_CACHE_C=y +# default: +CONFIG_MBEDTLS_SSL_ALL_ALERT_MESSAGES=y + +# +# TLS Key Exchange Configuration +# +# default: +# CONFIG_MBEDTLS_PSK_MODES is not set +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y +# default: +CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y +# end of TLS Key Exchange Configuration + +# default: +CONFIG_MBEDTLS_SSL_SERVER_NAME_INDICATION=y +# default: +CONFIG_MBEDTLS_SSL_ALPN=y +# default: +CONFIG_MBEDTLS_SSL_MAX_FRAGMENT_LENGTH=y +# default: +# CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set +# default: +CONFIG_MBEDTLS_SSL_RENEGOTIATION=y +# default: +CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y +# default: +CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y +# default: +# CONFIG_MBEDTLS_SSL_KEYING_MATERIAL_EXPORT is not set +# end of TLS Protocol Configuration + +# default: +# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set +# default: +CONFIG_MBEDTLS_CIPHER_C=y + +# +# Symmetric Ciphers +# +# default: +CONFIG_MBEDTLS_AES_C=y +# default: +# CONFIG_MBEDTLS_CAMELLIA_C is not set +# default: +CONFIG_MBEDTLS_ARIA_C=y +# default: +# CONFIG_MBEDTLS_DES_C is not set +# default: +# CONFIG_MBEDTLS_BLOWFISH_C is not set +# default: +# CONFIG_MBEDTLS_XTEA_C is not set +# default: +CONFIG_MBEDTLS_CCM_C=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_CBC=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_CFB=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_CTR=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_OFB=y +# default: +CONFIG_MBEDTLS_CIPHER_MODE_XTS=y +# default: +CONFIG_MBEDTLS_GCM_C=y +# default: +# CONFIG_MBEDTLS_NIST_KW_C is not set +# default: +CONFIG_MBEDTLS_CIPHER_PADDING=y +# default: +CONFIG_MBEDTLS_CIPHER_PADDING_PKCS7=y +# default: +CONFIG_MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS=y +# default: +CONFIG_MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN=y +# default: +CONFIG_MBEDTLS_CIPHER_PADDING_ZEROS=y +# default: +CONFIG_MBEDTLS_AES_ROM_TABLES=y +# default: +# CONFIG_MBEDTLS_AES_FEWER_TABLES is not set +# default: +# CONFIG_MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH is not set +# default: +CONFIG_MBEDTLS_CMAC_C=y +# end of Symmetric Ciphers + +# +# Asymmetric Ciphers +# +# default: +CONFIG_MBEDTLS_BIGNUM_C=y +# default: +CONFIG_MBEDTLS_GENPRIME=y +# default: +CONFIG_MBEDTLS_RSA_C=y +# default: +CONFIG_MBEDTLS_ECP_C=y + +# +# Supported Curves +# +# default: +CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y +# default: +CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y +# end of Supported Curves + +# +# Elliptic Curve Ciphers Configuration +# +# default: +CONFIG_MBEDTLS_ECP_NIST_OPTIM=y +# default: +# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set +# default: +CONFIG_MBEDTLS_DHM_C=y +# default: +CONFIG_MBEDTLS_ECDH_C=y +# default: +# CONFIG_MBEDTLS_ECJPAKE_C is not set +# default: +CONFIG_MBEDTLS_ECDSA_C=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_EXTENDED=y +# default: +CONFIG_MBEDTLS_PK_PARSE_EC_COMPRESSED=y +# default: +CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y +# default: +# CONFIG_MBEDTLS_ECP_RESTARTABLE is not set +# end of Elliptic Curve Ciphers Configuration +# end of Asymmetric Ciphers + +# +# Hash functions +# +# default: +# CONFIG_MBEDTLS_HKDF_C is not set +# default: +# CONFIG_MBEDTLS_POLY1305_C is not set +# default: +# CONFIG_MBEDTLS_RIPEMD160_C is not set +# default: +CONFIG_MBEDTLS_MD_C=y +# default: +CONFIG_MBEDTLS_MD5_C=y +# default: +CONFIG_MBEDTLS_SHA1_C=y +# default: +# CONFIG_MBEDTLS_SHA224_C is not set +# default: +CONFIG_MBEDTLS_SHA256_C=y +# default: +CONFIG_MBEDTLS_SHA384_C=y +# default: +CONFIG_MBEDTLS_SHA512_C=y +# default: +CONFIG_MBEDTLS_SHA3_C=y +# default: +CONFIG_MBEDTLS_ROM_MD5=y +# end of Hash functions + +# +# Hardware Acceleration +# +# default: +CONFIG_MBEDTLS_HARDWARE_ECDSA_VERIFY=y +# default: +# CONFIG_MBEDTLS_HARDWARE_ECDSA_SIGN is not set +# default: +CONFIG_MBEDTLS_HARDWARE_ECC=y +# default: +CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK=y +# default: +CONFIG_MBEDTLS_HARDWARE_SHA=y +# default: +CONFIG_MBEDTLS_PK_RSA_ALT_SUPPORT=y +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set +# default: +# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set +# end of Hardware Acceleration + +# +# Entropy and Random Number Generation +# +# default: +CONFIG_MBEDTLS_ENTROPY_C=y +# default: +# CONFIG_MBEDTLS_ENTROPY_FORCE_SHA256 is not set +# default: +CONFIG_MBEDTLS_CTR_DRBG_C=y +# default: +CONFIG_MBEDTLS_HMAC_DRBG_C=y +# end of Entropy and Random Number Generation + +# +# Encoding/Decoding +# +# default: +CONFIG_MBEDTLS_BASE64_C=y +# default: +CONFIG_MBEDTLS_PKCS5_C=y +# default: +CONFIG_MBEDTLS_PKCS7_C=y +# default: +CONFIG_MBEDTLS_PKCS12_C=y +# default: +CONFIG_MBEDTLS_PKCS1_V15=y +# default: +CONFIG_MBEDTLS_PKCS1_V21=y +# end of Encoding/Decoding + +# +# Stream Cipher +# +# default: +# CONFIG_MBEDTLS_CHACHA20_C is not set +# end of Stream Cipher +# end of mbedTLS + +# +# ESP-MQTT Configurations +# +# default: +CONFIG_MQTT_PROTOCOL_311=y +# default: +# CONFIG_MQTT_PROTOCOL_5 is not set +# default: +CONFIG_MQTT_TRANSPORT_SSL=y +# default: +CONFIG_MQTT_TRANSPORT_WEBSOCKET=y +# default: +CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y +# default: +# CONFIG_MQTT_MSG_ID_INCREMENTAL is not set +# default: +# CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set +# default: +# CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set +# default: +# CONFIG_MQTT_USE_CUSTOM_CONFIG is not set +# default: +# CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set +# default: +# CONFIG_MQTT_CUSTOM_OUTBOX is not set +# end of ESP-MQTT Configurations + +# +# LibC +# +# default: +CONFIG_LIBC_NEWLIB=y +# default: +CONFIG_LIBC_MISC_IN_IRAM=y +# default: +CONFIG_LIBC_LOCKS_PLACE_IN_IRAM=y +# default: +CONFIG_LIBC_STDOUT_LINE_ENDING_CRLF=y +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_LF is not set +# default: +# CONFIG_LIBC_STDOUT_LINE_ENDING_CR is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_CRLF is not set +# default: +# CONFIG_LIBC_STDIN_LINE_ENDING_LF is not set +# default: +CONFIG_LIBC_STDIN_LINE_ENDING_CR=y +# default: +# CONFIG_LIBC_NEWLIB_NANO_FORMAT is not set +# default: +CONFIG_LIBC_TIME_SYSCALL_USE_RTC_HRT=y +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_RTC is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_HRT is not set +# default: +# CONFIG_LIBC_TIME_SYSCALL_USE_NONE is not set +# default: +CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS=y +# end of LibC + +# +# NVS +# +# default: +# CONFIG_NVS_ASSERT_ERROR_CHECK is not set +# default: +# CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set +# end of NVS + +# +# OpenThread +# +# default: +# CONFIG_OPENTHREAD_ENABLED is not set + +# +# OpenThread Spinel +# +# default: +# CONFIG_OPENTHREAD_SPINEL_ONLY is not set +# end of OpenThread Spinel +# end of OpenThread + +# +# Protocomm +# +# default: +# CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0 is not set +# default: +# CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1 is not set +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y +# default: +CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_PATCH_VERSION=y +# end of Protocomm + +# +# PThreads +# +# default: +CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 +# default: +CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +# default: +CONFIG_PTHREAD_STACK_MIN=768 +# default: +CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 +# default: +CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" +# end of PThreads + +# +# MMU Config +# +# default: +CONFIG_MMU_PAGE_SIZE_64KB=y +# default: +CONFIG_MMU_PAGE_MODE="64KB" +# default: +CONFIG_MMU_PAGE_SIZE=0x10000 +# end of MMU Config + +# +# Main Flash configuration +# + +# +# SPI Flash behavior when brownout +# +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y +# default: +CONFIG_SPI_FLASH_BROWNOUT_RESET=y +# end of SPI Flash behavior when brownout + +# +# Optional and Experimental Features (READ DOCS FIRST) +# + +# +# Features here require specific hardware (READ DOCS FIRST!) +# +# default: +# CONFIG_SPI_FLASH_AUTO_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 +# default: +CONFIG_SPI_FLASH_SUSPEND_TRS_VAL_US=50 +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_XMC_C_SUSPEND is not set +# default: +# CONFIG_SPI_FLASH_FORCE_ENABLE_C6_H2_SUSPEND is not set +# default: +CONFIG_SPI_FLASH_PLACE_FUNCTIONS_IN_IRAM=y +# end of Optional and Experimental Features (READ DOCS FIRST) +# end of Main Flash configuration + +# +# SPI Flash driver +# +# default: +# CONFIG_SPI_FLASH_VERIFY_WRITE is not set +# default: +# CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set +# default: +CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y +# default: +# CONFIG_SPI_FLASH_ROM_IMPL is not set +# default: +CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set +# default: +# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set +# default: +# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set +# default: +CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 +# default: +CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 +# default: +CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 +# default: +# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set +# default: +# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set +# default: +# CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set + +# +# Auto-detect flash chips +# +# default: +CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORT_ENABLED=y +# default: +CONFIG_SPI_FLASH_VENDOR_GD_SUPPORT_ENABLED=y +# default: +# CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP is not set +# default: +# CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP is not set +# default: +CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y +# default: +# CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP is not set +# default: +# CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP is not set +# default: +# CONFIG_SPI_FLASH_SUPPORT_TH_CHIP is not set +# end of Auto-detect flash chips + +# default: +CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y +# end of SPI Flash driver + +# +# SPIFFS Configuration +# +# default: +CONFIG_SPIFFS_MAX_PARTITIONS=3 + +# +# SPIFFS Cache Configuration +# +# default: +CONFIG_SPIFFS_CACHE=y +# default: +CONFIG_SPIFFS_CACHE_WR=y +# default: +# CONFIG_SPIFFS_CACHE_STATS is not set +# end of SPIFFS Cache Configuration + +# default: +CONFIG_SPIFFS_PAGE_CHECK=y +# default: +CONFIG_SPIFFS_GC_MAX_RUNS=10 +# default: +# CONFIG_SPIFFS_GC_STATS is not set +# default: +CONFIG_SPIFFS_PAGE_SIZE=256 +# default: +CONFIG_SPIFFS_OBJ_NAME_LEN=32 +# default: +# CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set +# default: +CONFIG_SPIFFS_USE_MAGIC=y +# default: +CONFIG_SPIFFS_USE_MAGIC_LENGTH=y +# default: +CONFIG_SPIFFS_META_LENGTH=4 +# default: +CONFIG_SPIFFS_USE_MTIME=y + +# +# Debug Configuration +# +# default: +# CONFIG_SPIFFS_DBG is not set +# default: +# CONFIG_SPIFFS_API_DBG is not set +# default: +# CONFIG_SPIFFS_GC_DBG is not set +# default: +# CONFIG_SPIFFS_CACHE_DBG is not set +# default: +# CONFIG_SPIFFS_CHECK_DBG is not set +# default: +# CONFIG_SPIFFS_TEST_VISUALISATION is not set +# end of Debug Configuration +# end of SPIFFS Configuration + +# +# TCP Transport +# + +# +# Websocket +# +# default: +CONFIG_WS_TRANSPORT=y +# default: +CONFIG_WS_BUFFER_SIZE=1024 +# default: +# CONFIG_WS_DYNAMIC_BUFFER is not set +# end of Websocket +# end of TCP Transport + +# +# Unity unit testing library +# +# default: +CONFIG_UNITY_ENABLE_FLOAT=y +# default: +CONFIG_UNITY_ENABLE_DOUBLE=y +# default: +# CONFIG_UNITY_ENABLE_64BIT is not set +# default: +# CONFIG_UNITY_ENABLE_COLOR is not set +# default: +CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y +# default: +# CONFIG_UNITY_ENABLE_FIXTURE is not set +# default: +# CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set +# default: +# CONFIG_UNITY_TEST_ORDER_BY_FILE_PATH_AND_LINE is not set +# end of Unity unit testing library + +# +# Virtual file system +# +# default: +CONFIG_VFS_SUPPORT_IO=y +# default: +CONFIG_VFS_SUPPORT_DIR=y +# default: +CONFIG_VFS_SUPPORT_SELECT=y +# default: +CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# default: +# CONFIG_VFS_SELECT_IN_RAM is not set +# default: +# CONFIG_VFS_SUPPORT_TERMIOS is not set +# default: +CONFIG_VFS_MAX_COUNT=8 + +# +# Host File System I/O (Semihosting) +# +# default: +CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# end of Host File System I/O (Semihosting) + +# default: +CONFIG_VFS_INITIALIZE_DEV_NULL=y +# end of Virtual file system + +# +# Wear Levelling +# +# default: +# CONFIG_WL_SECTOR_SIZE_512 is not set +# default: +CONFIG_WL_SECTOR_SIZE_4096=y +# default: +CONFIG_WL_SECTOR_SIZE=4096 +# end of Wear Levelling + +# +# Wi-Fi Provisioning Manager +# +# default: +CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 +# default: +CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 +# default: +# CONFIG_WIFI_PROV_BLE_BONDING is not set +# default: +# CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set +# default: +# CONFIG_WIFI_PROV_BLE_NOTIFY is not set +# default: +# CONFIG_WIFI_PROV_KEEP_BLE_ON_AFTER_PROV is not set +# default: +CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y +# default: +# CONFIG_WIFI_PROV_STA_FAST_SCAN is not set +# end of Wi-Fi Provisioning Manager + +# +# IoT Button +# +# default: +CONFIG_BUTTON_PERIOD_TIME_MS=5 +# default: +CONFIG_BUTTON_DEBOUNCE_TICKS=2 +# default: +CONFIG_BUTTON_SHORT_PRESS_TIME_MS=180 +# default: +CONFIG_BUTTON_LONG_PRESS_TIME_MS=1500 +# default: +CONFIG_BUTTON_LONG_PRESS_HOLD_SERIAL_TIME_MS=20 +# default: +CONFIG_ADC_BUTTON_MAX_CHANNEL=3 +# default: +CONFIG_ADC_BUTTON_MAX_BUTTON_PER_CHANNEL=8 +# default: +CONFIG_ADC_BUTTON_SAMPLE_TIMES=1 +# end of IoT Button + +# +# CMake Utilities +# +# default: +# CONFIG_CU_RELINKER_ENABLE is not set +# default: +# CONFIG_CU_DIAGNOSTICS_COLOR_NEVER is not set +# default: +CONFIG_CU_DIAGNOSTICS_COLOR_ALWAYS=y +# default: +# CONFIG_CU_DIAGNOSTICS_COLOR_AUTO is not set +# default: +# CONFIG_CU_GCC_LTO_ENABLE is not set +# default: +# CONFIG_CU_GCC_STRING_1BYTE_ALIGN is not set +# end of CMake Utilities +# end of Component config + +# default: +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set + +# Deprecated options for backward compatibility +# CONFIG_APP_BUILD_TYPE_ELF_RAM is not set +# CONFIG_NO_BLOBS is not set +# CONFIG_APP_ROLLBACK_ENABLE is not set +# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set +CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y +# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set +# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set +CONFIG_LOG_BOOTLOADER_LEVEL=3 +# CONFIG_FLASH_ENCRYPTION_ENABLED is not set +# CONFIG_FLASHMODE_QIO is not set +# CONFIG_FLASHMODE_QOUT is not set +CONFIG_FLASHMODE_DIO=y +# CONFIG_FLASHMODE_DOUT is not set +CONFIG_MONITOR_BAUD=115200 +CONFIG_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y +CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y +# CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set +CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y +# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set +# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set +CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 +# CONFIG_CXX_EXCEPTIONS is not set +CONFIG_STACK_CHECK_NONE=y +# CONFIG_STACK_CHECK_NORM is not set +# CONFIG_STACK_CHECK_STRONG is not set +# CONFIG_STACK_CHECK_ALL is not set +# CONFIG_WARN_WRITE_STRINGS is not set +# CONFIG_ESP32_APPTRACE_DEST_TRAX is not set +CONFIG_ESP32_APPTRACE_DEST_NONE=y +CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y +CONFIG_BLUEDROID_ENABLED=y +# CONFIG_NIMBLE_ENABLED is not set +CONFIG_BTC_TASK_STACK_SIZE=3072 +CONFIG_BLUEDROID_PINNED_TO_CORE=0 +CONFIG_BTU_TASK_STACK_SIZE=4352 +# CONFIG_BLUEDROID_MEM_DEBUG is not set +CONFIG_GATTS_ENABLE=y +# CONFIG_GATTS_SEND_SERVICE_CHANGE_MANUAL is not set +CONFIG_GATTS_SEND_SERVICE_CHANGE_AUTO=y +CONFIG_GATTS_SEND_SERVICE_CHANGE_MODE=0 +CONFIG_GATTC_ENABLE=y +# CONFIG_GATTC_CACHE_NVS_FLASH is not set +CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT=30 +CONFIG_BLE_SMP_ENABLE=y +# CONFIG_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set +# CONFIG_HCI_TRACE_LEVEL_NONE is not set +# CONFIG_HCI_TRACE_LEVEL_ERROR is not set +CONFIG_HCI_TRACE_LEVEL_WARNING=y +# CONFIG_HCI_TRACE_LEVEL_API is not set +# CONFIG_HCI_TRACE_LEVEL_EVENT is not set +# CONFIG_HCI_TRACE_LEVEL_DEBUG is not set +# CONFIG_HCI_TRACE_LEVEL_VERBOSE is not set +CONFIG_HCI_INITIAL_TRACE_LEVEL=2 +# CONFIG_BTM_TRACE_LEVEL_NONE is not set +# CONFIG_BTM_TRACE_LEVEL_ERROR is not set +CONFIG_BTM_TRACE_LEVEL_WARNING=y +# CONFIG_BTM_TRACE_LEVEL_API is not set +# CONFIG_BTM_TRACE_LEVEL_EVENT is not set +# CONFIG_BTM_TRACE_LEVEL_DEBUG is not set +# CONFIG_BTM_TRACE_LEVEL_VERBOSE is not set +CONFIG_BTM_INITIAL_TRACE_LEVEL=2 +# CONFIG_L2CAP_TRACE_LEVEL_NONE is not set +# CONFIG_L2CAP_TRACE_LEVEL_ERROR is not set +CONFIG_L2CAP_TRACE_LEVEL_WARNING=y +# CONFIG_L2CAP_TRACE_LEVEL_API is not set +# CONFIG_L2CAP_TRACE_LEVEL_EVENT is not set +# CONFIG_L2CAP_TRACE_LEVEL_DEBUG is not set +# CONFIG_L2CAP_TRACE_LEVEL_VERBOSE is not set +CONFIG_L2CAP_INITIAL_TRACE_LEVEL=2 +# CONFIG_RFCOMM_TRACE_LEVEL_NONE is not set +# CONFIG_RFCOMM_TRACE_LEVEL_ERROR is not set +CONFIG_RFCOMM_TRACE_LEVEL_WARNING=y +# CONFIG_RFCOMM_TRACE_LEVEL_API is not set +# CONFIG_RFCOMM_TRACE_LEVEL_EVENT is not set +# CONFIG_RFCOMM_TRACE_LEVEL_DEBUG is not set +# CONFIG_RFCOMM_TRACE_LEVEL_VERBOSE is not set +CONFIG_RFCOMM_INITIAL_TRACE_LEVEL=2 +# CONFIG_SDP_TRACE_LEVEL_NONE is not set +# CONFIG_SDP_TRACE_LEVEL_ERROR is not set +CONFIG_SDP_TRACE_LEVEL_WARNING=y +# CONFIG_SDP_TRACE_LEVEL_API is not set +# CONFIG_SDP_TRACE_LEVEL_EVENT is not set +# CONFIG_SDP_TRACE_LEVEL_DEBUG is not set +# CONFIG_SDP_TRACE_LEVEL_VERBOSE is not set +CONFIG_BTH_LOG_SDP_INITIAL_TRACE_LEVEL=2 +# CONFIG_GAP_TRACE_LEVEL_NONE is not set +# CONFIG_GAP_TRACE_LEVEL_ERROR is not set +CONFIG_GAP_TRACE_LEVEL_WARNING=y +# CONFIG_GAP_TRACE_LEVEL_API is not set +# CONFIG_GAP_TRACE_LEVEL_EVENT is not set +# CONFIG_GAP_TRACE_LEVEL_DEBUG is not set +# CONFIG_GAP_TRACE_LEVEL_VERBOSE is not set +CONFIG_GAP_INITIAL_TRACE_LEVEL=2 +CONFIG_BNEP_INITIAL_TRACE_LEVEL=2 +# CONFIG_PAN_TRACE_LEVEL_NONE is not set +# CONFIG_PAN_TRACE_LEVEL_ERROR is not set +CONFIG_PAN_TRACE_LEVEL_WARNING=y +# CONFIG_PAN_TRACE_LEVEL_API is not set +# CONFIG_PAN_TRACE_LEVEL_EVENT is not set +# CONFIG_PAN_TRACE_LEVEL_DEBUG is not set +# CONFIG_PAN_TRACE_LEVEL_VERBOSE is not set +CONFIG_PAN_INITIAL_TRACE_LEVEL=2 +# CONFIG_A2D_TRACE_LEVEL_NONE is not set +# CONFIG_A2D_TRACE_LEVEL_ERROR is not set +CONFIG_A2D_TRACE_LEVEL_WARNING=y +# CONFIG_A2D_TRACE_LEVEL_API is not set +# CONFIG_A2D_TRACE_LEVEL_EVENT is not set +# CONFIG_A2D_TRACE_LEVEL_DEBUG is not set +# CONFIG_A2D_TRACE_LEVEL_VERBOSE is not set +CONFIG_A2D_INITIAL_TRACE_LEVEL=2 +# CONFIG_AVDT_TRACE_LEVEL_NONE is not set +# CONFIG_AVDT_TRACE_LEVEL_ERROR is not set +CONFIG_AVDT_TRACE_LEVEL_WARNING=y +# CONFIG_AVDT_TRACE_LEVEL_API is not set +# CONFIG_AVDT_TRACE_LEVEL_EVENT is not set +# CONFIG_AVDT_TRACE_LEVEL_DEBUG is not set +# CONFIG_AVDT_TRACE_LEVEL_VERBOSE is not set +CONFIG_AVDT_INITIAL_TRACE_LEVEL=2 +# CONFIG_AVCT_TRACE_LEVEL_NONE is not set +# CONFIG_AVCT_TRACE_LEVEL_ERROR is not set +CONFIG_AVCT_TRACE_LEVEL_WARNING=y +# CONFIG_AVCT_TRACE_LEVEL_API is not set +# CONFIG_AVCT_TRACE_LEVEL_EVENT is not set +# CONFIG_AVCT_TRACE_LEVEL_DEBUG is not set +# CONFIG_AVCT_TRACE_LEVEL_VERBOSE is not set +CONFIG_AVCT_INITIAL_TRACE_LEVEL=2 +# CONFIG_AVRC_TRACE_LEVEL_NONE is not set +# CONFIG_AVRC_TRACE_LEVEL_ERROR is not set +CONFIG_AVRC_TRACE_LEVEL_WARNING=y +# CONFIG_AVRC_TRACE_LEVEL_API is not set +# CONFIG_AVRC_TRACE_LEVEL_EVENT is not set +# CONFIG_AVRC_TRACE_LEVEL_DEBUG is not set +# CONFIG_AVRC_TRACE_LEVEL_VERBOSE is not set +CONFIG_AVRC_INITIAL_TRACE_LEVEL=2 +# CONFIG_MCA_TRACE_LEVEL_NONE is not set +# CONFIG_MCA_TRACE_LEVEL_ERROR is not set +CONFIG_MCA_TRACE_LEVEL_WARNING=y +# CONFIG_MCA_TRACE_LEVEL_API is not set +# CONFIG_MCA_TRACE_LEVEL_EVENT is not set +# CONFIG_MCA_TRACE_LEVEL_DEBUG is not set +# CONFIG_MCA_TRACE_LEVEL_VERBOSE is not set +CONFIG_MCA_INITIAL_TRACE_LEVEL=2 +# CONFIG_HID_TRACE_LEVEL_NONE is not set +# CONFIG_HID_TRACE_LEVEL_ERROR is not set +CONFIG_HID_TRACE_LEVEL_WARNING=y +# CONFIG_HID_TRACE_LEVEL_API is not set +# CONFIG_HID_TRACE_LEVEL_EVENT is not set +# CONFIG_HID_TRACE_LEVEL_DEBUG is not set +# CONFIG_HID_TRACE_LEVEL_VERBOSE is not set +CONFIG_HID_INITIAL_TRACE_LEVEL=2 +# CONFIG_APPL_TRACE_LEVEL_NONE is not set +# CONFIG_APPL_TRACE_LEVEL_ERROR is not set +CONFIG_APPL_TRACE_LEVEL_WARNING=y +# CONFIG_APPL_TRACE_LEVEL_API is not set +# CONFIG_APPL_TRACE_LEVEL_EVENT is not set +# CONFIG_APPL_TRACE_LEVEL_DEBUG is not set +# CONFIG_APPL_TRACE_LEVEL_VERBOSE is not set +CONFIG_APPL_INITIAL_TRACE_LEVEL=2 +# CONFIG_GATT_TRACE_LEVEL_NONE is not set +# CONFIG_GATT_TRACE_LEVEL_ERROR is not set +CONFIG_GATT_TRACE_LEVEL_WARNING=y +# CONFIG_GATT_TRACE_LEVEL_API is not set +# CONFIG_GATT_TRACE_LEVEL_EVENT is not set +# CONFIG_GATT_TRACE_LEVEL_DEBUG is not set +# CONFIG_GATT_TRACE_LEVEL_VERBOSE is not set +CONFIG_GATT_INITIAL_TRACE_LEVEL=2 +# CONFIG_SMP_TRACE_LEVEL_NONE is not set +# CONFIG_SMP_TRACE_LEVEL_ERROR is not set +CONFIG_SMP_TRACE_LEVEL_WARNING=y +# CONFIG_SMP_TRACE_LEVEL_API is not set +# CONFIG_SMP_TRACE_LEVEL_EVENT is not set +# CONFIG_SMP_TRACE_LEVEL_DEBUG is not set +# CONFIG_SMP_TRACE_LEVEL_VERBOSE is not set +CONFIG_SMP_INITIAL_TRACE_LEVEL=2 +# CONFIG_BTIF_TRACE_LEVEL_NONE is not set +# CONFIG_BTIF_TRACE_LEVEL_ERROR is not set +CONFIG_BTIF_TRACE_LEVEL_WARNING=y +# CONFIG_BTIF_TRACE_LEVEL_API is not set +# CONFIG_BTIF_TRACE_LEVEL_EVENT is not set +# CONFIG_BTIF_TRACE_LEVEL_DEBUG is not set +# CONFIG_BTIF_TRACE_LEVEL_VERBOSE is not set +CONFIG_BTIF_INITIAL_TRACE_LEVEL=2 +# CONFIG_BTC_TRACE_LEVEL_NONE is not set +# CONFIG_BTC_TRACE_LEVEL_ERROR is not set +CONFIG_BTC_TRACE_LEVEL_WARNING=y +# CONFIG_BTC_TRACE_LEVEL_API is not set +# CONFIG_BTC_TRACE_LEVEL_EVENT is not set +# CONFIG_BTC_TRACE_LEVEL_DEBUG is not set +# CONFIG_BTC_TRACE_LEVEL_VERBOSE is not set +CONFIG_BTC_INITIAL_TRACE_LEVEL=2 +# CONFIG_OSI_TRACE_LEVEL_NONE is not set +# CONFIG_OSI_TRACE_LEVEL_ERROR is not set +CONFIG_OSI_TRACE_LEVEL_WARNING=y +# CONFIG_OSI_TRACE_LEVEL_API is not set +# CONFIG_OSI_TRACE_LEVEL_EVENT is not set +# CONFIG_OSI_TRACE_LEVEL_DEBUG is not set +# CONFIG_OSI_TRACE_LEVEL_VERBOSE is not set +CONFIG_OSI_INITIAL_TRACE_LEVEL=2 +# CONFIG_BLUFI_TRACE_LEVEL_NONE is not set +# CONFIG_BLUFI_TRACE_LEVEL_ERROR is not set +CONFIG_BLUFI_TRACE_LEVEL_WARNING=y +# CONFIG_BLUFI_TRACE_LEVEL_API is not set +# CONFIG_BLUFI_TRACE_LEVEL_EVENT is not set +# CONFIG_BLUFI_TRACE_LEVEL_DEBUG is not set +# CONFIG_BLUFI_TRACE_LEVEL_VERBOSE is not set +CONFIG_BLUFI_INITIAL_TRACE_LEVEL=2 +CONFIG_SMP_ENABLE=y +# CONFIG_BLE_ACTIVE_SCAN_REPORT_ADV_SCAN_RSP_INDIVIDUALLY is not set +# CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_EN is not set +CONFIG_BT_NIMBLE_COEX_PHY_CODED_TX_RX_TLIM_DIS=y +CONFIG_SW_COEXIST_ENABLE=y +CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y +CONFIG_ESP_WIFI_SW_COEXIST_ENABLE=y +# CONFIG_ANA_CMPR_ISR_IRAM_SAFE 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_PERIPH_CTRL_FUNC_IN_IRAM=y +CONFIG_BROWNOUT_DET=y +CONFIG_BROWNOUT_DET_LVL_SEL_7=y +# CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set +# CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set +CONFIG_BROWNOUT_DET_LVL=7 +CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y +CONFIG_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_SYSTEM_EVENT_QUEUE_SIZE=32 +CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 +CONFIG_MAIN_TASK_STACK_SIZE=3584 +# CONFIG_CONSOLE_UART_DEFAULT is not set +# 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_NUM=-1 +CONFIG_INT_WDT=y +CONFIG_INT_WDT_TIMEOUT_MS=300 +CONFIG_TASK_WDT=y +CONFIG_ESP_TASK_WDT=y +# CONFIG_TASK_WDT_PANIC is not set +CONFIG_TASK_WDT_TIMEOUT_S=5 +CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y +# CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set +CONFIG_IPC_TASK_STACK_SIZE=1024 +CONFIG_TIMER_TASK_STACK_SIZE=3584 +CONFIG_ESP32_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_NEWLIB_TIME_SYSCALL_USE_RTC is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set +# CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set +CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 +CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 +CONFIG_ESP32_PTHREAD_STACK_MIN=768 +CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 +CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" +CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set +# CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set +CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y +# CONFIG_SUPPORT_TERMIOS is not set +CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 +# End of deprecated options