├── .DS_Store ├── .gitignore ├── CMakeLists.txt ├── ESP32_LLM.jpg ├── Kconfig.projbuild ├── README.md ├── data ├── stories260K.bin └── tok512.bin ├── dependencies.lock ├── linker.lf ├── llm_output.gif ├── main ├── CMakeLists.txt ├── idf_component.yml ├── llama.h ├── llm.c ├── llm.h └── main.c ├── partitions.csv ├── sdkconfig ├── sdkconfig.ci └── sdkconfig.old /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveBben/esp32-llm/934dab4d242d259abd88678488ea3b62d4fca601/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | .vscode 3 | managed_components/ -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # The following lines of boilerplate have to be in your project's 2 | # CMakeLists in this exact order for cmake to work correctly 3 | cmake_minimum_required(VERSION 3.16) 4 | 5 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 6 | project(hello_world) 7 | -------------------------------------------------------------------------------- /ESP32_LLM.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveBben/esp32-llm/934dab4d242d259abd88678488ea3b62d4fca601/ESP32_LLM.jpg -------------------------------------------------------------------------------- /Kconfig.projbuild: -------------------------------------------------------------------------------- 1 | menu "Example Configuration" 2 | 3 | menu "I2C Master" 4 | config I2C_MASTER_SCL 5 | int "SCL GPIO Num" 6 | default 9 7 | help 8 | GPIO number for I2C Master clock line. 9 | 10 | config I2C_MASTER_SDA 11 | int "SDA GPIO Num" 12 | default 8 13 | help 14 | GPIO number for I2C Master data line. 15 | 16 | config I2C_MASTER_FREQUENCY 17 | int "Master Frequency" 18 | default 400000 19 | help 20 | I2C Speed of Master device. 21 | endmenu 22 | 23 | endmenu -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Running a LLM on the ESP32 2 | ![LLM on ESP32](/ESP32_LLM.jpg) 3 | ![LLM Output](/llm_output.gif) 4 | 5 | ## Summary 6 | I wanted to see if it was possible to run a Large Language Model (LLM) on the ESP32. Surprisingly it is possible, though probably not very useful. 7 | 8 | The "Large" Language Model used is actually quite small. It is a 260K parameter [tinyllamas checkpoint](https://huggingface.co/karpathy/tinyllamas/tree/main/stories260K) trained on the [tiny stories](https://huggingface.co/datasets/roneneldan/TinyStories) dataset. 9 | 10 | The LLM implementation is done using [llama.2c](https://github.com/karpathy/llama2.c) with minor optimizations to make it run faster on the ESP32. 11 | 12 | ## Hardware 13 | LLMs require a great deal of memory. Even this small one still requires 1MB of RAM. I used the [ESP32-S3FH4R2](https://www.mouser.com/ProductDetail/Espressif-Systems/ESP32-S3FH4R2?qs=tlsG%2FOw5FFjPrwkmZSBQNA%3D%3D) because it has 2MB of embedded PSRAM. 14 | 15 | ## Optimizing Llama2.c for the ESP32 16 | 17 | With the following changes to `llama2.c`, I am able to achieve **19.13 tok/s**: 18 | 19 | 1. Utilizing both cores of the ESP32 during math heavy operations. 20 | 2. Utilizing some special [dot product functions](https://github.com/espressif/esp-dsp/tree/master/modules/dotprod/float) from the [ESP-DSP library](https://github.com/espressif/esp-dsp) that are designed for the ESP32-S3. These functions utilize some of the [few SIMD instructions](https://bitbanksoftware.blogspot.com/2024/01/surprise-esp32-s3-has-few-simd.html) the ESP32-S3 has. 21 | 3. Maxing out CPU speed to 240 MHz and PSRAM speed to 80MHZ and increasing the instruction cache size. 22 | 23 | 24 | ## Setup 25 | This requires the [ESP-IDF](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/index.html#installation) toolchain to be installed 26 | 27 | ``` 28 | idf.py build 29 | idf.py -p /dev/{DEVICE_PORT} flash 30 | ``` 31 | 32 | 33 | -------------------------------------------------------------------------------- /data/stories260K.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveBben/esp32-llm/934dab4d242d259abd88678488ea3b62d4fca601/data/stories260K.bin -------------------------------------------------------------------------------- /data/tok512.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveBben/esp32-llm/934dab4d242d259abd88678488ea3b62d4fca601/data/tok512.bin -------------------------------------------------------------------------------- /dependencies.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | espressif/esp-dsp: 3 | component_hash: fa7fe74305df6da25867437ebcd4213e047cbfc0556cf92067ab657fce537c6e 4 | dependencies: 5 | - name: idf 6 | require: private 7 | version: '>=4.2' 8 | source: 9 | registry_url: https://components.espressif.com/ 10 | type: service 11 | version: 1.5.2 12 | idf: 13 | source: 14 | type: idf 15 | version: 5.3.0 16 | u8g2: 17 | component_hash: 9e7530091ba29a32a7660161386a99c7e7ae28ff257e077430d1cd32e43c2d0f 18 | dependencies: [] 19 | source: 20 | git: https://github.com/olikraus/u8g2.git 21 | path: . 22 | type: git 23 | version: f3532ff7f1d6a2b8579f46be133cf5400ae3b728 24 | u8g2-hal-esp-idf: 25 | component_hash: 2483e67353d55b9ed489f9f34186b0eea2b6b2b1dc63ad148a257bd7ed94ea0c 26 | dependencies: [] 27 | source: 28 | git: https://github.com/mkfrey/u8g2-hal-esp-idf.git 29 | path: . 30 | type: git 31 | version: 3d1183516e21d59408adbbab275829c67a7f3a6f 32 | direct_dependencies: 33 | - espressif/esp-dsp 34 | - idf 35 | - u8g2 36 | - u8g2-hal-esp-idf 37 | manifest_hash: 25233f4440ec430274f0c0f4e49c35608ebfa6975155c77cabb41d8e938534c2 38 | target: esp32s3 39 | version: 2.0.0 40 | -------------------------------------------------------------------------------- /linker.lf: -------------------------------------------------------------------------------- 1 | [mapping:main] 2 | archive: libmain.a 3 | entries: 4 | * (noflash) # places all data under IRAM/DRAM -------------------------------------------------------------------------------- /llm_output.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveBben/esp32-llm/934dab4d242d259abd88678488ea3b62d4fca601/llm_output.gif -------------------------------------------------------------------------------- /main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register(SRCS "main.c" "llm.c" 2 | INCLUDE_DIRS "" LDFRAGMENTS "../linker.lf") 3 | 4 | 5 | 6 | # https://github.com/espressif/esp-idf/issues/11696#issuecomment-1596208414 7 | target_compile_options(${COMPONENT_LIB} PRIVATE -fno-if-conversion) # 8 | 9 | 10 | # Create a SPIFFS image from the contents of the 'spiffs_image' directory 11 | # that fits the partition named 'data'. FLASH_IN_PROJECT indicates that 12 | # the generated image should be flashed when the entire project is flashed to 13 | # the target with 'idf.py -p PORT flash'. 14 | spiffs_create_partition_image(data ../data FLASH_IN_PROJECT) 15 | -------------------------------------------------------------------------------- /main/idf_component.yml: -------------------------------------------------------------------------------- 1 | ## IDF Component Manager Manifest File 2 | dependencies: 3 | espressif/esp-dsp: "*" 4 | ## Required IDF version 5 | idf: 6 | version: ">=4.1.0" 7 | u8g2: 8 | git: https://github.com/olikraus/u8g2.git 9 | u8g2-hal-esp-idf: 10 | git: https://github.com/mkfrey/u8g2-hal-esp-idf.git 11 | # # Put list of dependencies here 12 | # # For components maintained by Espressif: 13 | # component: "~1.0.0" 14 | # # For 3rd party components: 15 | # username/component: ">=1.0.0,<2.0.0" 16 | # username2/component2: 17 | # version: "~1.0.0" 18 | # # For transient dependencies `public` flag can be set. 19 | # # `public` flag doesn't have an effect dependencies of the `main` component. 20 | # # All dependencies of `main` are public by default. 21 | # public: true 22 | -------------------------------------------------------------------------------- /main/llama.h: -------------------------------------------------------------------------------- 1 | #ifndef LLAMA_H 2 | #define LLAMA_H 3 | 4 | // picure of a llama 5 | const unsigned char llama_bmp [] = { 6 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 7 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 8 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 9 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 10 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 11 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 12 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 13 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 15 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 16 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 17 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 18 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 19 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 20 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xf0, 0x01, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 21 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xfc, 0x07, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 22 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xfe, 0x0f, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 23 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 24 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 25 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 26 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 27 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 28 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 29 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 30 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 31 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 32 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 33 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 34 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x07, 0xfc, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 35 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xe3, 0x01, 0xf0, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 36 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xc1, 0xf0, 0xe1, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 37 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x61, 0xfc, 0xc7, 0xf0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 38 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x33, 0xfe, 0x8f, 0xf9, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 39 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x3f, 0x1f, 0x9f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 40 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x1f, 0x9f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 41 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x3f, 0x9f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 42 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0xbf, 0x9f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 43 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0xfe, 0x8f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 44 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x7f, 0xfc, 0xc7, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 45 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xe0, 0xc0, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 46 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x01, 0xf0, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 47 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x0f, 0xfe, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 48 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 49 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 50 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 51 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 52 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 53 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 54 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 55 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 56 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 57 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 58 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 59 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 60 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 61 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 62 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 63 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 64 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 65 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 66 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 67 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 68 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 69 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 70 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 71 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 72 | }; 73 | 74 | 75 | 76 | 77 | #endif 78 | -------------------------------------------------------------------------------- /main/llm.c: -------------------------------------------------------------------------------- 1 | /* Inference for Llama-2 Transformer model in pure C */ 2 | /** 3 | * Original author of this: 4 | * https://github.com/karpathy/llama2.c 5 | * 6 | * Slight modifications added to make it ESP32 friendly 7 | */ 8 | 9 | #include "llm.h" 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include "esp_log.h" 18 | #include "esp_system.h" 19 | #include "esp_dsp.h" 20 | #include "esp_attr.h" 21 | 22 | #define MAP_FAILED NULL 23 | #define munmap(ptr, length) custom_munmap(ptr) 24 | #define close(fd) custom_close(fd) 25 | 26 | #define TASK_0_BIT (1 << 0) 27 | #define TASK_1_BIT (1 << 1) 28 | #define FORWARD_TASK_1 (1 << 2) 29 | #define FORWARD_TASK_2 (1 << 3) 30 | #define READY_BIT (1 << 3) 31 | #define ALL_SYNC_BITS (TASK_0_BIT | TASK_1_BIT) 32 | #define ALL_FORWARD_TASKS (FORWARD_TASK_1 | FORWARD_TASK_2) 33 | 34 | typedef struct 35 | { 36 | v4sf *xout; 37 | v4sf *x; 38 | v4sf *w; 39 | int start; 40 | int end; 41 | int n; 42 | int d; 43 | int task_num; 44 | } MatMulTaskParams; 45 | 46 | typedef struct 47 | { 48 | RunState *s; 49 | TransformerWeights *w; 50 | Config *p; 51 | int pos; 52 | int start; 53 | int loff; 54 | int end; 55 | int dim; 56 | int kv_dim; 57 | int kv_mul; 58 | int hidden_dim; 59 | int head_size; 60 | int task_num; 61 | } ForwardTaskParams; 62 | 63 | EventGroupHandle_t xEventGroup; 64 | EventGroupHandle_t ForwardEventGroup; 65 | 66 | static const char *TAG = "LLM"; 67 | TaskHandle_t handle_forward_task = NULL; 68 | TaskHandle_t matmul_task_2 = NULL; 69 | 70 | ForwardTaskParams *forward_params = NULL; 71 | MatMulTaskParams *matmul_params = NULL; 72 | 73 | SemaphoreHandle_t semaDataReady; 74 | SemaphoreHandle_t semaForwardDataReady; 75 | 76 | void matmul_task(void *params); 77 | void forward_task(void *params); 78 | 79 | void custom_munmap(void *ptr) 80 | { 81 | free(ptr); 82 | } 83 | 84 | int custom_close(int fd) 85 | { 86 | // Since there are no actual file descriptors to close, simply return 0 (success) 87 | return 0; 88 | } 89 | 90 | void chat(Transformer *transformer, Tokenizer *tokenizer, Sampler *sampler, 91 | char *cli_user_prompt, char *cli_system_prompt, int steps); 92 | 93 | void malloc_run_state(RunState *s, Config *p) 94 | { 95 | // we calloc instead of malloc to keep valgrind happy 96 | int kv_dim = (p->dim * p->n_kv_heads) / p->n_heads; 97 | s->x = calloc(p->dim, sizeof(v4sf)); 98 | s->xb = calloc(p->dim, sizeof(v4sf)); 99 | s->xb2 = calloc(p->dim, sizeof(v4sf)); 100 | s->hb = calloc(p->hidden_dim, sizeof(v4sf)); 101 | s->hb2 = calloc(p->hidden_dim, sizeof(v4sf)); 102 | s->q = calloc(p->dim, sizeof(v4sf)); 103 | s->key_cache = calloc(p->n_layers * p->seq_len * kv_dim, sizeof(v4sf)); 104 | s->value_cache = calloc(p->n_layers * p->seq_len * kv_dim, sizeof(v4sf)); 105 | s->att = calloc(p->n_heads * p->seq_len, sizeof(v4sf)); 106 | s->logits = calloc(p->vocab_size, sizeof(v4sf)); 107 | // ensure all mallocs went fine 108 | if (!s->x || !s->xb || !s->xb2 || !s->hb || !s->hb2 || !s->q || !s->key_cache || !s->value_cache || !s->att || !s->logits) 109 | { 110 | fprintf(stderr, "malloc failed!\n"); 111 | exit(EXIT_FAILURE); 112 | } 113 | } 114 | 115 | void free_run_state(RunState *s) 116 | { 117 | free(s->x); 118 | free(s->xb); 119 | free(s->xb2); 120 | free(s->hb); 121 | free(s->hb2); 122 | free(s->q); 123 | free(s->att); 124 | free(s->logits); 125 | free(s->key_cache); 126 | free(s->value_cache); 127 | } 128 | 129 | void memory_map_weights(TransformerWeights *w, Config *p, v4sf *ptr, int shared_weights) 130 | { 131 | int head_size = p->dim / p->n_heads; 132 | // make sure the multiplications below are done in 64bit to fit the parameter counts of 13B+ models 133 | unsigned long long n_layers = p->n_layers; 134 | w->token_embedding_table = ptr; 135 | ptr += p->vocab_size * p->dim; 136 | w->rms_att_weight = ptr; 137 | ptr += n_layers * p->dim; 138 | w->wq = ptr; 139 | ptr += n_layers * p->dim * (p->n_heads * head_size); 140 | w->wk = ptr; 141 | ptr += n_layers * p->dim * (p->n_kv_heads * head_size); 142 | w->wv = ptr; 143 | ptr += n_layers * p->dim * (p->n_kv_heads * head_size); 144 | w->wo = ptr; 145 | ptr += n_layers * (p->n_heads * head_size) * p->dim; 146 | w->rms_ffn_weight = ptr; 147 | ptr += n_layers * p->dim; 148 | w->w1 = ptr; 149 | ptr += n_layers * p->dim * p->hidden_dim; 150 | w->w2 = ptr; 151 | ptr += n_layers * p->hidden_dim * p->dim; 152 | w->w3 = ptr; 153 | ptr += n_layers * p->dim * p->hidden_dim; 154 | w->rms_final_weight = ptr; 155 | ptr += p->dim; 156 | ptr += p->seq_len * head_size / 2; // skip what used to be freq_cis_real (for RoPE) 157 | ptr += p->seq_len * head_size / 2; // skip what used to be freq_cis_imag (for RoPE) 158 | w->wcls = shared_weights ? w->token_embedding_table : ptr; 159 | } 160 | 161 | void read_checkpoint(char *checkpoint, Config *config, TransformerWeights *weights, 162 | int *fd, v4sf **data, size_t *file_size) 163 | { 164 | FILE *file = fopen(checkpoint, "rb"); 165 | if (!file) 166 | { 167 | ESP_LOGE(TAG, "Couldn't open file %s", checkpoint); 168 | exit(EXIT_FAILURE); 169 | } 170 | // read in the config header 171 | if (fread(config, sizeof(Config), 1, file) != 1) 172 | { 173 | exit(EXIT_FAILURE); 174 | } 175 | // negative vocab size is hacky way of signaling unshared weights. bit yikes. 176 | int shared_weights = config->vocab_size > 0 ? 1 : 0; 177 | config->vocab_size = abs(config->vocab_size); 178 | ESP_LOGI(TAG, "Vocab size if %d", config->vocab_size); 179 | // figure out the file size 180 | fseek(file, 0, SEEK_END); // move file pointer to end of file 181 | *file_size = ftell(file); // get the file size, in bytes 182 | fseek(file, 0, SEEK_SET); // move back to beginning for reading 183 | ESP_LOGI(TAG, "File size: %zu bytes", *file_size); 184 | ESP_LOGI(TAG, "Free ram available: %lu", esp_get_free_heap_size()); 185 | *data = malloc(*file_size); 186 | if (*data == NULL) 187 | { 188 | ESP_LOGE(TAG, "Malloc operation failed"); 189 | exit(EXIT_FAILURE); 190 | } 191 | // Read the entire file into memory 192 | size_t bytes_read = fread(*data, 1, *file_size, file); 193 | if (bytes_read != *file_size) 194 | { 195 | ESP_LOGE(TAG, "Failed to read file into memory"); 196 | ESP_LOGE(TAG, "Bytes read %zu bytes", bytes_read); 197 | exit(EXIT_FAILURE); 198 | } 199 | fclose(file); 200 | 201 | ESP_LOGI(TAG, "Successfully read LLM into memory"); 202 | ESP_LOGI(TAG, "Free ram available: %lu", esp_get_free_heap_size()); 203 | v4sf *weights_ptr = *data + sizeof(Config) / sizeof(v4sf); 204 | memory_map_weights(weights, config, weights_ptr, shared_weights); 205 | ESP_LOGI(TAG, "Successfully read checkpoint"); 206 | } 207 | 208 | void build_transformer(Transformer *t, char *checkpoint_path) 209 | { 210 | // read in the Config and the Weights from the checkpoint 211 | read_checkpoint(checkpoint_path, &t->config, &t->weights, &t->fd, &t->data, &t->file_size); 212 | // allocate the RunState buffers 213 | malloc_run_state(&t->state, &t->config); 214 | ESP_LOGI(TAG, "Transformer successfully built"); 215 | 216 | // FreeRTos Tasks 217 | xEventGroup = xEventGroupCreate(); 218 | ForwardEventGroup = xEventGroupCreate(); 219 | semaDataReady = xSemaphoreCreateBinary(); 220 | semaForwardDataReady = xSemaphoreCreateBinary(); 221 | xSemaphoreGive(semaDataReady); 222 | xSemaphoreTake(semaDataReady, portMAX_DELAY); 223 | xSemaphoreGive(semaForwardDataReady); 224 | xSemaphoreTake(semaForwardDataReady, portMAX_DELAY); 225 | 226 | matmul_params = malloc(sizeof(MatMulTaskParams)); 227 | forward_params = malloc(sizeof(ForwardTaskParams)); 228 | xTaskCreatePinnedToCore(matmul_task, "MatMul2", 2048, matmul_params, 19, &matmul_task_2, 1); // Run on Core 1 229 | xTaskCreatePinnedToCore(forward_task, "ForwardTask", 2048, forward_params, 19, &handle_forward_task, 1); // Run on Core 1 230 | ESP_LOGI(TAG, "Created FreeRTOS Tasks"); 231 | } 232 | 233 | void free_transformer(Transformer *t) 234 | { 235 | // close the memory mapping 236 | if (t->data != MAP_FAILED) 237 | { 238 | munmap(t->data, t->file_size); 239 | } 240 | if (t->fd != -1) 241 | { 242 | close(t->fd); 243 | } 244 | // free the RunState buffers 245 | free_run_state(&t->state); 246 | } 247 | 248 | // ---------------------------------------------------------------------------- 249 | // neural net blocks; the dynamics of the Transformer 250 | 251 | void rmsnorm(v4sf *o, v4sf *x, v4sf *weight, int size) 252 | { 253 | // calculate sum of squares 254 | v4sf ss = 0.0f; 255 | for (int j = 0; j < size; j++) 256 | { 257 | ss += x[j] * x[j]; 258 | } 259 | ss /= size; 260 | ss += 1e-5f; 261 | ss = 1.0f / sqrtf(ss); 262 | // normalize and scale 263 | for (int j = 0; j < size; j++) 264 | { 265 | o[j] = weight[j] * (ss * x[j]); 266 | } 267 | } 268 | 269 | void softmax(v4sf *x, int size) 270 | { 271 | // find max value (for numerical stability) 272 | v4sf max_val = x[0]; 273 | for (int i = 1; i < size; i++) 274 | { 275 | if (x[i] > max_val) 276 | { 277 | max_val = x[i]; 278 | } 279 | } 280 | // exp and sum 281 | v4sf sum = 0.0f; 282 | for (int i = 0; i < size; i++) 283 | { 284 | x[i] = expf(x[i] - max_val); 285 | sum += x[i]; 286 | } 287 | // normalize 288 | for (int i = 0; i < size; i++) 289 | { 290 | x[i] /= sum; 291 | } 292 | } 293 | 294 | void matmul_task(void *params) 295 | { 296 | const TickType_t xDelay = 1 / portTICK_PERIOD_MS; 297 | MatMulTaskParams *p = (MatMulTaskParams *)params; 298 | TaskHandle_t current_task = xTaskGetCurrentTaskHandle(); 299 | char *tName = pcTaskGetName(current_task); 300 | // ESP_LOGI(TAG, "Created Task %s", tName); 301 | for (;;) 302 | { 303 | if (xSemaphoreTake(semaDataReady, portMAX_DELAY) == pdTRUE) 304 | { 305 | // ESP_LOGI(TAG, "Started Task %s", tName); 306 | for (int i = p->start; i < p->end; i++) 307 | { 308 | v4sf val = 0.0f; 309 | v4sf *row = &p->w[i * p->n]; // Pointer to the start of the current row in matrix w 310 | dsps_dotprod_f32_aes3(row, p->x, &val, p->n); 311 | p->xout[i] = val; 312 | } 313 | // ESP_LOGI(TAG, "Completed task %s", tName); 314 | xSemaphoreGive(semaDataReady); 315 | xEventGroupSync(xEventGroup, p->task_num, ALL_SYNC_BITS, portMAX_DELAY); 316 | } 317 | } 318 | } 319 | 320 | void forward_task(void *params) 321 | { 322 | const TickType_t xDelay = 1 / portTICK_PERIOD_MS; 323 | ForwardTaskParams *t_params = (ForwardTaskParams *)params; 324 | TaskHandle_t current_task = xTaskGetCurrentTaskHandle(); 325 | char *tName = pcTaskGetName(current_task); 326 | // ESP_LOGI(TAG, "Created Task %s", tName); 327 | for (;;) 328 | { 329 | if (xSemaphoreTake(semaForwardDataReady, portMAX_DELAY) == pdTRUE) 330 | { 331 | // ESP_LOGI(TAG, "Started Task %s", tName); 332 | int h; 333 | // #pragma omp parallel for private(h) 334 | for (h = t_params->start; h < t_params->end; h++) 335 | { 336 | // get the query vector for this head 337 | v4sf *q = t_params->s->q + h * t_params->head_size; 338 | // attention scores for this head 339 | v4sf *att = t_params->s->att + h * t_params->p->seq_len; 340 | // iterate over all timesteps, including the current one 341 | for (int t = 0; t <= t_params->pos; t++) 342 | { 343 | // get the key vector for this head and at this timestep 344 | v4sf *k = t_params->s->key_cache + t_params->loff + t * t_params->kv_dim + (h / t_params->kv_mul) * t_params->head_size; 345 | // calculate the attention score as the dot product of q and k 346 | v4sf score = 0.0f; 347 | for (int i = 0; i < t_params->head_size; i++) 348 | { 349 | score += q[i] * k[i]; 350 | } 351 | score /= sqrtf(t_params->head_size); 352 | // save the score to the attention buffer 353 | att[t] = score; 354 | } 355 | 356 | // softmax the scores to get attention weights, from 0..pos inclusively 357 | softmax(att, t_params->pos + 1); 358 | 359 | // weighted sum of the values, store back into xb 360 | v4sf *xb = t_params->s->xb + h * t_params->head_size; 361 | memset(xb, 0, t_params->head_size * sizeof(v4sf)); 362 | for (int t = 0; t <= t_params->pos; t++) 363 | { 364 | // get the value vector for this head and at this timestep 365 | v4sf *v = t_params->s->value_cache + t_params->loff + t * t_params->kv_dim + (h / t_params->kv_mul) * t_params->head_size; 366 | // get the attention weight for this timestep 367 | v4sf a = att[t]; 368 | // accumulate the weighted value into xb 369 | for (int i = 0; i < t_params->head_size; i++) 370 | { 371 | xb[i] += a * v[i]; 372 | } 373 | } 374 | } 375 | // ESP_LOGI(TAG, "Completed task %s", tName); 376 | xSemaphoreGive(semaForwardDataReady); 377 | xEventGroupSync(ForwardEventGroup, t_params->task_num, ALL_FORWARD_TASKS, portMAX_DELAY); 378 | } 379 | } 380 | } 381 | 382 | void matmul(v4sf *xout, v4sf *x, v4sf *w, int n, int d) 383 | { 384 | 385 | // d is the number of rows 386 | // n is the number of columns 387 | // d X n 388 | *matmul_params = (MatMulTaskParams){xout, x, w, d / 2, d, n, d, TASK_1_BIT}; 389 | xSemaphoreGive(semaDataReady); 390 | for (int i = 0; i < d / 2; i++) 391 | { 392 | v4sf val = 0.0f; 393 | v4sf *row = &w[i * n]; // Pointer to the start of the current row in matrix w 394 | dsps_dotprod_f32_aes3(row, x, &val, n); 395 | xout[i] = val; 396 | } 397 | if (xSemaphoreTake(semaDataReady, portMAX_DELAY) == pdTRUE) 398 | { 399 | xEventGroupSync(xEventGroup, 400 | TASK_0_BIT, 401 | ALL_SYNC_BITS, 402 | portMAX_DELAY); 403 | 404 | xEventGroupClearBits(xEventGroup, ALL_SYNC_BITS); 405 | } 406 | // ESP_LOGI(TAG, "Completed MatMul tasks"); 407 | } 408 | 409 | v4sf *forward(Transformer *transformer, int token, int pos) 410 | { 411 | ESP_LOGD(TAG, "ram available: %lu", esp_get_free_heap_size()); 412 | 413 | // a few convenience variables 414 | Config *p = &transformer->config; 415 | TransformerWeights *w = &transformer->weights; 416 | RunState *s = &transformer->state; 417 | v4sf *x = s->x; 418 | int dim = p->dim; 419 | int kv_dim = (p->dim * p->n_kv_heads) / p->n_heads; 420 | int kv_mul = p->n_heads / p->n_kv_heads; // integer multiplier of the kv sharing in multiquery 421 | int hidden_dim = p->hidden_dim; 422 | int head_size = dim / p->n_heads; 423 | 424 | // copy the token embedding into x 425 | v4sf *content_row = w->token_embedding_table + token * dim; 426 | ESP_LOGD(TAG, "Content row: %f", *content_row); 427 | memcpy(x, content_row, dim * sizeof(*x)); 428 | 429 | // forward all the layers 430 | for (unsigned long long l = 0; l < p->n_layers; l++) 431 | { 432 | ESP_LOGD(TAG, "X: %f, Weights %f", *x, *w->rms_att_weight); 433 | // attention rmsnorm 434 | rmsnorm(s->xb, x, w->rms_att_weight + l * dim, dim); 435 | 436 | // key and value point to the kv cache 437 | int loff = l * p->seq_len * kv_dim; // kv cache layer offset for convenience 438 | s->k = s->key_cache + loff + pos * kv_dim; 439 | s->v = s->value_cache + loff + pos * kv_dim; 440 | 441 | // qkv matmuls for this position 442 | matmul(s->q, s->xb, w->wq + l * dim * dim, dim, dim); 443 | matmul(s->k, s->xb, w->wk + l * dim * kv_dim, dim, kv_dim); 444 | matmul(s->v, s->xb, w->wv + l * dim * kv_dim, dim, kv_dim); 445 | 446 | // RoPE relative positional encoding: complex-valued rotate q and k in each head 447 | for (int i = 0; i < dim; i += 2) 448 | { 449 | int head_dim = i % head_size; 450 | v4sf freq = 1.0f / powf(10000.0f, head_dim / (v4sf)head_size); 451 | v4sf val = pos * freq; 452 | v4sf fcr = cosf(val); 453 | v4sf fci = sinf(val); 454 | int rotn = i < kv_dim ? 2 : 1; // how many vectors? 2 = q & k, 1 = q only 455 | for (int v = 0; v < rotn; v++) 456 | { 457 | v4sf *vec = v == 0 ? s->q : s->k; // the vector to rotate (query or key) 458 | v4sf v0 = vec[i]; 459 | v4sf v1 = vec[i + 1]; 460 | vec[i] = v0 * fcr - v1 * fci; 461 | vec[i + 1] = v0 * fci + v1 * fcr; 462 | } 463 | } 464 | // start task 465 | *forward_params = (ForwardTaskParams){ 466 | .s = s, 467 | .w = w, 468 | .p = p, 469 | .pos = pos, 470 | .start = p->n_heads / 2, 471 | .loff = loff, 472 | .end = p->n_heads, 473 | .dim = dim, 474 | .kv_dim = kv_dim, 475 | .kv_mul = kv_mul, 476 | .hidden_dim = hidden_dim, 477 | .head_size = head_size, 478 | .task_num = FORWARD_TASK_1, 479 | }; 480 | xSemaphoreGive(semaForwardDataReady); 481 | 482 | // multihead attention. iterate over all heads 483 | int h; 484 | // #pragma omp parallel for private(h) 485 | for (h = 0; h < (p->n_heads / 2); h++) 486 | { 487 | // get the query vector for this head 488 | v4sf *q = s->q + h * head_size; 489 | // attention scores for this head 490 | v4sf *att = s->att + h * p->seq_len; 491 | // iterate over all timesteps, including the current one 492 | for (int t = 0; t <= pos; t++) 493 | { 494 | // get the key vector for this head and at this timestep 495 | v4sf *k = s->key_cache + loff + t * kv_dim + (h / kv_mul) * head_size; 496 | // calculate the attention score as the dot product of q and k 497 | v4sf score = 0.0f; 498 | for (int i = 0; i < head_size; i++) 499 | { 500 | score += q[i] * k[i]; 501 | } 502 | score /= sqrtf(head_size); 503 | // save the score to the attention buffer 504 | att[t] = score; 505 | } 506 | 507 | // softmax the scores to get attention weights, from 0..pos inclusively 508 | softmax(att, pos + 1); 509 | 510 | // weighted sum of the values, store back into xb 511 | v4sf *xb = s->xb + h * head_size; 512 | memset(xb, 0, head_size * sizeof(v4sf)); 513 | for (int t = 0; t <= pos; t++) 514 | { 515 | // get the value vector for this head and at this timestep 516 | v4sf *v = s->value_cache + loff + t * kv_dim + (h / kv_mul) * head_size; 517 | // get the attention weight for this timestep 518 | v4sf a = att[t]; 519 | // accumulate the weighted value into xb 520 | for (int i = 0; i < head_size; i++) 521 | { 522 | xb[i] += a * v[i]; 523 | } 524 | } 525 | } 526 | if (xSemaphoreTake(semaForwardDataReady, portMAX_DELAY) == pdTRUE) 527 | { 528 | 529 | xEventGroupSync(ForwardEventGroup, 530 | FORWARD_TASK_2, 531 | ALL_FORWARD_TASKS, 532 | portMAX_DELAY); 533 | 534 | xEventGroupClearBits(ForwardEventGroup, ALL_FORWARD_TASKS); 535 | 536 | // final matmul to get the output of the attention 537 | matmul(s->xb2, s->xb, w->wo + l * dim * dim, dim, dim); 538 | 539 | // residual connection back into x 540 | for (int i = 0; i < dim; i++) 541 | { 542 | x[i] += s->xb2[i]; 543 | } 544 | 545 | // ffn rmsnorm 546 | rmsnorm(s->xb, x, w->rms_ffn_weight + l * dim, dim); 547 | 548 | // Now for FFN in PyTorch we have: self.w2(F.silu(self.w1(x)) * self.w3(x)) 549 | // first calculate self.w1(x) and self.w3(x) 550 | matmul(s->hb, s->xb, w->w1 + l * dim * hidden_dim, dim, hidden_dim); 551 | matmul(s->hb2, s->xb, w->w3 + l * dim * hidden_dim, dim, hidden_dim); 552 | 553 | // SwiGLU non-linearity 554 | for (int i = 0; i < hidden_dim; i++) 555 | { 556 | v4sf val = s->hb[i]; 557 | // silu(x)=x*σ(x), where σ(x) is the logistic sigmoid 558 | val *= (1.0f / (1.0f + expf(-val))); 559 | // elementwise multiply with w3(x) 560 | val *= s->hb2[i]; 561 | s->hb[i] = val; 562 | } 563 | 564 | // final matmul to get the output of the ffn 565 | matmul(s->xb, s->hb, w->w2 + l * dim * hidden_dim, hidden_dim, dim); 566 | 567 | // residual connection 568 | for (int i = 0; i < dim; i++) 569 | { 570 | x[i] += s->xb[i]; 571 | } 572 | } 573 | } 574 | 575 | // final rmsnorm 576 | rmsnorm(x, x, w->rms_final_weight, dim); 577 | 578 | // classifier into logits 579 | matmul(s->logits, x, w->wcls, p->dim, p->vocab_size); 580 | return s->logits; 581 | } 582 | 583 | // ---------------------------------------------------------------------------- 584 | // The Byte Pair Encoding (BPE) Tokenizer that translates strings <-> tokens 585 | 586 | int compare_tokens(const void *a, const void *b) 587 | { 588 | return strcmp(((TokenIndex *)a)->str, ((TokenIndex *)b)->str); 589 | } 590 | 591 | void build_tokenizer(Tokenizer *t, char *tokenizer_path, int vocab_size) 592 | { 593 | // i should have written the vocab_size into the tokenizer file... sigh 594 | ESP_LOGI(TAG, "Vocab size is %d\n", vocab_size); 595 | t->vocab_size = vocab_size; 596 | // malloc space to hold the scores and the strings 597 | t->vocab = (char **)malloc(vocab_size * sizeof(char *)); 598 | t->vocab_scores = (v4sf *)malloc(vocab_size * sizeof(v4sf)); 599 | t->sorted_vocab = NULL; // initialized lazily 600 | for (int i = 0; i < 256; i++) 601 | { 602 | t->byte_pieces[i * 2] = (unsigned char)i; 603 | t->byte_pieces[i * 2 + 1] = '\0'; 604 | } 605 | // read in the file 606 | FILE *file = fopen(tokenizer_path, "rb"); 607 | if (!file) 608 | { 609 | ESP_LOGE(TAG, "couldn't load %s", tokenizer_path); 610 | exit(EXIT_FAILURE); 611 | } 612 | ESP_LOGI(TAG, "Opened Tokenizer File"); 613 | if (fread(&t->max_token_length, sizeof(int), 1, file) != 1) 614 | { 615 | ESP_LOGE(TAG, "failed read"); 616 | exit(EXIT_FAILURE); 617 | } 618 | int len; 619 | for (int i = 0; i < vocab_size; i++) 620 | { 621 | if (fread(t->vocab_scores + i, sizeof(v4sf), 1, file) != 1) 622 | { 623 | ESP_LOGE(TAG, "failed read vocab scores"); 624 | exit(EXIT_FAILURE); 625 | } 626 | if (fread(&len, sizeof(int), 1, file) != 1) 627 | { 628 | ESP_LOGE(TAG, "failed read len"); 629 | exit(EXIT_FAILURE); 630 | } 631 | t->vocab[i] = (char *)malloc(len + 1); 632 | if (fread(t->vocab[i], len, 1, file) != 1) 633 | { 634 | ESP_LOGE(TAG, "failed read vocab"); 635 | exit(EXIT_FAILURE); 636 | } 637 | t->vocab[i][len] = '\0'; // add the string terminating token 638 | } 639 | fclose(file); 640 | ESP_LOGI(TAG, "Tokenizer successfully built"); 641 | } 642 | 643 | void free_tokenizer(Tokenizer *t) 644 | { 645 | for (int i = 0; i < t->vocab_size; i++) 646 | { 647 | free(t->vocab[i]); 648 | } 649 | free(t->vocab); 650 | free(t->vocab_scores); 651 | free(t->sorted_vocab); 652 | } 653 | 654 | char *decode(Tokenizer *t, int prev_token, int token) 655 | { 656 | char *piece = t->vocab[token]; 657 | // following BOS (1) token, sentencepiece decoder strips any leading whitespace (see PR #89) 658 | if (prev_token == 1 && piece[0] == ' ') 659 | { 660 | piece++; 661 | } 662 | // careful, some tokens designate raw bytes, and look like e.g. '<0x01>' 663 | // parse this and convert and return the actual byte 664 | unsigned char byte_val; 665 | if (sscanf(piece, "<0x%02hhX>", &byte_val) == 1) 666 | { 667 | piece = (char *)t->byte_pieces + byte_val * 2; 668 | } 669 | return piece; 670 | } 671 | 672 | void safe_printf(char *piece) 673 | { 674 | // piece might be a raw byte token, and we only want to print printable chars or whitespace 675 | // because some of the other bytes can be various control codes, backspace, etc. 676 | if (piece == NULL) 677 | { 678 | return; 679 | } 680 | if (piece[0] == '\0') 681 | { 682 | return; 683 | } 684 | if (piece[1] == '\0') 685 | { 686 | unsigned char byte_val = piece[0]; 687 | if (!(isprint(byte_val) || isspace(byte_val))) 688 | { 689 | return; // bad byte, don't print it 690 | } 691 | } 692 | printf("%s", piece); 693 | } 694 | 695 | int str_lookup(char *str, TokenIndex *sorted_vocab, int vocab_size) 696 | { 697 | // efficiently find the perfect match for str in vocab, return its index or -1 if not found 698 | TokenIndex tok = {.str = str}; // acts as the key to search for 699 | TokenIndex *res = bsearch(&tok, sorted_vocab, vocab_size, sizeof(TokenIndex), compare_tokens); 700 | return res != NULL ? res->id : -1; 701 | } 702 | 703 | void encode(Tokenizer *t, char *text, int8_t bos, int8_t eos, int *tokens, int *n_tokens) 704 | { 705 | // encode the string text (input) into an upper-bound preallocated tokens[] array 706 | // bos != 0 means prepend the BOS token (=1), eos != 0 means append the EOS token (=2) 707 | if (text == NULL) 708 | { 709 | ESP_LOGE(TAG, "cannot encode NULL text"); 710 | exit(EXIT_FAILURE); 711 | } 712 | 713 | if (t->sorted_vocab == NULL) 714 | { 715 | // lazily malloc and sort the vocabulary 716 | t->sorted_vocab = malloc(t->vocab_size * sizeof(TokenIndex)); 717 | for (int i = 0; i < t->vocab_size; i++) 718 | { 719 | t->sorted_vocab[i].str = t->vocab[i]; 720 | t->sorted_vocab[i].id = i; 721 | } 722 | qsort(t->sorted_vocab, t->vocab_size, sizeof(TokenIndex), compare_tokens); 723 | } 724 | 725 | // create a temporary buffer that will store merge candidates of always two consecutive tokens 726 | // *2 for concat, +1 for null terminator +2 for UTF8 (in case max_token_length is 1) 727 | char *str_buffer = malloc((t->max_token_length * 2 + 1 + 2) * sizeof(char)); 728 | size_t str_len = 0; 729 | 730 | // start at 0 tokens 731 | *n_tokens = 0; 732 | 733 | // add optional BOS (=1) token, if desired 734 | if (bos) 735 | tokens[(*n_tokens)++] = 1; 736 | 737 | // add_dummy_prefix is true by default 738 | // so prepend a dummy prefix token to the input string, but only if text != "" 739 | // TODO: pretty sure this isn't correct in the general case but I don't have the 740 | // energy to read more of the sentencepiece code to figure out what it's doing 741 | if (text[0] != '\0') 742 | { 743 | int dummy_prefix = str_lookup(" ", t->sorted_vocab, t->vocab_size); 744 | tokens[(*n_tokens)++] = dummy_prefix; 745 | } 746 | 747 | // Okay UTF-8 time. This will get messy. Here is the reference from Wikipedia: 748 | // Code point ↔ UTF-8 conversion 749 | // First code point Last code point Byte 1 Byte 2 Byte 3 Byte 4 750 | // U+0000 U+007F 0xxxxxxx 751 | // U+0080 U+07FF 110xxxxx 10xxxxxx 752 | // U+0800 U+FFFF 1110xxxx 10xxxxxx 10xxxxxx 753 | // U+10000 U+10FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 754 | 755 | // process the raw (UTF-8) byte sequence of the input string 756 | for (char *c = text; *c != '\0'; c++) 757 | { 758 | 759 | // reset buffer if the current byte is ASCII or a leading byte 760 | // 0xC0 is 11000000, so (*c & 0xC0) keeps the first 2 bits and zeros the rest 761 | // 0x80 is 10000000 762 | // in UTF-8, all continuation bytes start with "10" in first two bits 763 | // so in English this is: "if this byte is not a continuation byte" 764 | if ((*c & 0xC0) != 0x80) 765 | { 766 | // this byte must be either a leading byte (11...) or an ASCII char (0x...) 767 | // => reset our location, as we're starting a new UTF-8 codepoint 768 | str_len = 0; 769 | } 770 | 771 | // append the current byte to the buffer 772 | str_buffer[str_len++] = *c; // ++ is post-increment, incremented after this line 773 | str_buffer[str_len] = '\0'; 774 | 775 | // while the next character is a continuation byte, continue appending 776 | // but if there are too many of them, just stop to avoid overruning str_buffer size. 777 | if ((*(c + 1) & 0xC0) == 0x80 && str_len < 4) 778 | { 779 | continue; 780 | } 781 | 782 | // ok c+1 is not a continuation byte, so we've read in a full codepoint 783 | int id = str_lookup(str_buffer, t->sorted_vocab, t->vocab_size); 784 | 785 | if (id != -1) 786 | { 787 | // we found this codepoint in vocab, add it as a token 788 | tokens[(*n_tokens)++] = id; 789 | } 790 | else 791 | { 792 | // byte_fallback encoding: just encode each byte as a token 793 | // +3 is here because the first 3 vocab elements are , , 794 | // so the individual bytes only start at index 3 795 | for (int i = 0; i < str_len; i++) 796 | { 797 | tokens[(*n_tokens)++] = (unsigned char)str_buffer[i] + 3; 798 | } 799 | } 800 | str_len = 0; // protect against a sequence of stray UTF8 continuation bytes 801 | } 802 | 803 | // merge the best consecutive pair each iteration, according the scores in vocab_scores 804 | while (1) 805 | { 806 | v4sf best_score = -1e10; 807 | int best_id = -1; 808 | int best_idx = -1; 809 | 810 | for (int i = 0; i < (*n_tokens - 1); i++) 811 | { 812 | // check if we can merge the pair (tokens[i], tokens[i+1]) 813 | sprintf(str_buffer, "%s%s", t->vocab[tokens[i]], t->vocab[tokens[i + 1]]); 814 | int id = str_lookup(str_buffer, t->sorted_vocab, t->vocab_size); 815 | if (id != -1 && t->vocab_scores[id] > best_score) 816 | { 817 | // this merge pair exists in vocab! record its score and position 818 | best_score = t->vocab_scores[id]; 819 | best_id = id; 820 | best_idx = i; 821 | } 822 | } 823 | 824 | if (best_idx == -1) 825 | { 826 | break; // we couldn't find any more pairs to merge, so we're done 827 | } 828 | 829 | // merge the consecutive pair (best_idx, best_idx+1) into new token best_id 830 | tokens[best_idx] = best_id; 831 | // delete token at position best_idx+1, shift the entire sequence back 1 832 | for (int i = best_idx + 1; i < (*n_tokens - 1); i++) 833 | { 834 | tokens[i] = tokens[i + 1]; 835 | } 836 | (*n_tokens)--; // token length decreased 837 | } 838 | 839 | // add optional EOS (=2) token, if desired 840 | if (eos) 841 | tokens[(*n_tokens)++] = 2; 842 | 843 | free(str_buffer); 844 | } 845 | 846 | // ---------------------------------------------------------------------------- 847 | // The Sampler, which takes logits and returns a sampled token 848 | // sampling can be done in a few ways: greedy argmax, sampling, top-p sampling 849 | 850 | int sample_argmax(v4sf *probabilities, int n) 851 | { 852 | // return the index that has the highest probability 853 | int max_i = 0; 854 | v4sf max_p = probabilities[0]; 855 | for (int i = 1; i < n; i++) 856 | { 857 | if (probabilities[i] > max_p) 858 | { 859 | max_i = i; 860 | max_p = probabilities[i]; 861 | } 862 | } 863 | return max_i; 864 | } 865 | 866 | int sample_mult(v4sf *probabilities, int n, v4sf coin) 867 | { 868 | // sample index from probabilities (they must sum to 1!) 869 | // coin is a random number in [0, 1), usually from random_f32() 870 | v4sf cdf = 0.0f; 871 | for (int i = 0; i < n; i++) 872 | { 873 | cdf += probabilities[i]; 874 | if (coin < cdf) 875 | { 876 | return i; 877 | } 878 | } 879 | return n - 1; // in case of rounding errors 880 | } 881 | 882 | int compare(const void *a, const void *b) 883 | { 884 | ProbIndex *a_ = (ProbIndex *)a; 885 | ProbIndex *b_ = (ProbIndex *)b; 886 | if (a_->prob > b_->prob) 887 | return -1; 888 | if (a_->prob < b_->prob) 889 | return 1; 890 | return 0; 891 | } 892 | 893 | int sample_topp(v4sf *probabilities, int n, v4sf topp, ProbIndex *probindex, v4sf coin) 894 | { 895 | // top-p sampling (or "nucleus sampling") samples from the smallest set of 896 | // tokens that exceed probability topp. This way we never sample tokens that 897 | // have very low probabilities and are less likely to go "off the rails". 898 | // coin is a random number in [0, 1), usually from random_f32() 899 | 900 | int n0 = 0; 901 | // quicksort indices in descending order of probabilities 902 | // values smaller than (1 - topp) / (n - 1) cannot be part of the result 903 | // so for efficiency we crop these out as candidates before sorting 904 | const v4sf cutoff = (1.0f - topp) / (n - 1); 905 | for (int i = 0; i < n; i++) 906 | { 907 | if (probabilities[i] >= cutoff) 908 | { 909 | probindex[n0].index = i; 910 | probindex[n0].prob = probabilities[i]; 911 | n0++; 912 | } 913 | } 914 | qsort(probindex, n0, sizeof(ProbIndex), compare); 915 | 916 | // truncate the list where cumulative probability exceeds topp 917 | v4sf cumulative_prob = 0.0f; 918 | int last_idx = n0 - 1; // in case of rounding errors consider all elements 919 | for (int i = 0; i < n0; i++) 920 | { 921 | cumulative_prob += probindex[i].prob; 922 | if (cumulative_prob > topp) 923 | { 924 | last_idx = i; 925 | break; // we've exceeded topp by including last_idx 926 | } 927 | } 928 | 929 | // sample from the truncated list 930 | v4sf r = coin * cumulative_prob; 931 | v4sf cdf = 0.0f; 932 | for (int i = 0; i <= last_idx; i++) 933 | { 934 | cdf += probindex[i].prob; 935 | if (r < cdf) 936 | { 937 | return probindex[i].index; 938 | } 939 | } 940 | return probindex[last_idx].index; // in case of rounding errors 941 | } 942 | 943 | void build_sampler(Sampler *sampler, int vocab_size, v4sf temperature, v4sf topp, unsigned long long rng_seed) 944 | { 945 | sampler->vocab_size = vocab_size; 946 | sampler->temperature = temperature; 947 | sampler->topp = topp; 948 | sampler->rng_state = rng_seed; 949 | // buffer only used with nucleus sampling; may not need but it's ~small 950 | sampler->probindex = malloc(sampler->vocab_size * sizeof(ProbIndex)); 951 | ESP_LOGI(TAG, "Sampler Successfully built"); 952 | } 953 | 954 | void free_sampler(Sampler *sampler) 955 | { 956 | free(sampler->probindex); 957 | } 958 | 959 | unsigned int random_u32(unsigned long long *state) 960 | { 961 | // xorshift rng: https://en.wikipedia.org/wiki/Xorshift#xorshift.2A 962 | *state ^= *state >> 12; 963 | *state ^= *state << 25; 964 | *state ^= *state >> 27; 965 | return (*state * 0x2545F4914F6CDD1Dull) >> 32; 966 | } 967 | v4sf random_f32(unsigned long long *state) 968 | { // random v4sf32 in [0,1) 969 | return (random_u32(state) >> 8) / 16777216.0f; 970 | } 971 | 972 | int sample(Sampler *sampler, v4sf *logits) 973 | { 974 | // sample the token given the logits and some hyperparameters 975 | int next; 976 | if (sampler->temperature == 0.0f) 977 | { 978 | // greedy argmax sampling: take the token with the highest probability 979 | next = sample_argmax(logits, sampler->vocab_size); 980 | } 981 | else 982 | { 983 | // apply the temperature to the logits 984 | for (int q = 0; q < sampler->vocab_size; q++) 985 | { 986 | logits[q] /= sampler->temperature; 987 | } 988 | // apply softmax to the logits to get the probabilities for next token 989 | softmax(logits, sampler->vocab_size); 990 | // flip a (v4sf) coin (this is our source of entropy for sampling) 991 | v4sf coin = random_f32(&sampler->rng_state); 992 | // we sample from this distribution to get the next token 993 | if (sampler->topp <= 0 || sampler->topp >= 1) 994 | { 995 | // simply sample from the predicted probability distribution 996 | next = sample_mult(logits, sampler->vocab_size, coin); 997 | } 998 | else 999 | { 1000 | // top-p (nucleus) sampling, clamping the least likely tokens to zero 1001 | next = sample_topp(logits, sampler->vocab_size, sampler->topp, sampler->probindex, coin); 1002 | } 1003 | } 1004 | return next; 1005 | } 1006 | 1007 | // ---------------------------------------------------------------------------- 1008 | // utilities: time 1009 | 1010 | long time_in_ms() 1011 | { 1012 | // return time in milliseconds, for benchmarking the model speed 1013 | struct timespec time; 1014 | clock_gettime(CLOCK_REALTIME, &time); 1015 | return time.tv_sec * 1000 + time.tv_nsec / 1000000; 1016 | } 1017 | 1018 | // ---------------------------------------------------------------------------- 1019 | // generation loop 1020 | 1021 | void generate(Transformer *transformer, Tokenizer *tokenizer, Sampler *sampler, char *prompt, int steps, generated_complete_cb cb_done) 1022 | { 1023 | char *empty_prompt = ""; 1024 | if (prompt == NULL) 1025 | { 1026 | prompt = empty_prompt; 1027 | } 1028 | 1029 | // encode the (string) prompt into tokens sequence 1030 | int num_prompt_tokens = 0; 1031 | int *prompt_tokens = (int *)malloc((strlen(prompt) + 3) * sizeof(int)); // +3 for '\0', ?BOS, ?EOS 1032 | encode(tokenizer, prompt, 1, 0, prompt_tokens, &num_prompt_tokens); 1033 | if (num_prompt_tokens < 1) 1034 | { 1035 | ESP_LOGE(TAG, "something is wrong, expected at least 1 prompt token"); 1036 | exit(EXIT_FAILURE); 1037 | } 1038 | 1039 | // start the main loop 1040 | long start = 0; // used to time our code, only initialized after first iteration 1041 | int next; // will store the next token in the sequence 1042 | int token = prompt_tokens[0]; // kick off with the first token in the prompt 1043 | int pos = 0; // position in the sequence 1044 | while (pos < steps) 1045 | { 1046 | // forward the transformer to get logits for the next token 1047 | v4sf *logits = forward(transformer, token, pos); 1048 | 1049 | // advance the state machine 1050 | if (pos < num_prompt_tokens - 1) 1051 | { 1052 | // if we are still processing the input prompt, force the next prompt token 1053 | next = prompt_tokens[pos + 1]; 1054 | } 1055 | else 1056 | { 1057 | // otherwise sample the next token from the logits 1058 | next = sample(sampler, logits); 1059 | } 1060 | pos++; 1061 | 1062 | // data-dependent terminating condition: the BOS (=1) token delimits sequences 1063 | if (next == 1) 1064 | { 1065 | break; 1066 | } 1067 | 1068 | // print the token as string, decode it with the Tokenizer object 1069 | char *piece = decode(tokenizer, token, next); 1070 | safe_printf(piece); // same as printf("%s", piece), but skips "unsafe" bytes 1071 | fflush(stdout); 1072 | token = next; 1073 | 1074 | // init the timer here because the first iteration can be slower 1075 | if (start == 0) 1076 | { 1077 | start = time_in_ms(); 1078 | } 1079 | } 1080 | printf("\n"); 1081 | 1082 | // report achieved tok/s (pos-1 because the timer starts after first iteration) 1083 | if (pos > 1) 1084 | { 1085 | long end = time_in_ms(); 1086 | float tks = (pos - 1) / (double)(end - start) * 1000; 1087 | fprintf(stderr, "achieved tok/s: %f\n", tks); 1088 | cb_done(tks); 1089 | } 1090 | 1091 | free(prompt_tokens); 1092 | ESP_LOGI(TAG, "Generate complete"); 1093 | } 1094 | 1095 | void read_stdin(const char *guide, char *buffer, size_t bufsize) 1096 | { 1097 | // read a line from stdin, up to but not including \n 1098 | printf("%s", guide); 1099 | if (fgets(buffer, bufsize, stdin) != NULL) 1100 | { 1101 | size_t len = strlen(buffer); 1102 | if (len > 0 && buffer[len - 1] == '\n') 1103 | { 1104 | buffer[len - 1] = '\0'; // strip newline 1105 | } 1106 | } 1107 | } 1108 | -------------------------------------------------------------------------------- /main/llm.h: -------------------------------------------------------------------------------- 1 | #ifndef LLM_H 2 | #define LLM_H 3 | 4 | /** 5 | * Original author of this: 6 | * https://github.com/karpathy/llama2.c 7 | * 8 | * Slight modifications added to make it ESP32 friendly 9 | */ 10 | 11 | #include 12 | #include 13 | #include "freertos/FreeRTOS.h" 14 | #include "freertos/task.h" 15 | #include "freertos/semphr.h" 16 | #include "freertos/task.h" 17 | #include "freertos/event_groups.h" 18 | 19 | typedef float v4sf __attribute__((aligned(16))); 20 | 21 | typedef struct { 22 | float prob; 23 | int index; 24 | } ProbIndex; // struct used when sorting probabilities during top-p sampling 25 | 26 | typedef struct { 27 | int vocab_size; 28 | ProbIndex* probindex; // buffer used in top-p sampling 29 | float temperature; 30 | float topp; 31 | unsigned long long rng_state; 32 | } Sampler; 33 | 34 | typedef struct { 35 | char *str; 36 | int id; 37 | } TokenIndex; 38 | 39 | typedef struct { 40 | char** vocab; 41 | v4sf* vocab_scores; 42 | TokenIndex *sorted_vocab; 43 | int vocab_size; 44 | unsigned int max_token_length; 45 | unsigned char byte_pieces[512]; // stores all single-byte strings 46 | } Tokenizer; 47 | 48 | typedef struct { 49 | int dim; // transformer dimension 50 | int hidden_dim; // for ffn layers 51 | int n_layers; // number of layers 52 | int n_heads; // number of query heads 53 | int n_kv_heads; // number of key/value heads (can be < query heads because of multiquery) 54 | int vocab_size; // vocabulary size, usually 256 (byte-level) 55 | int seq_len; // max sequence length 56 | } Config; 57 | 58 | typedef struct { 59 | // token embedding table 60 | v4sf* token_embedding_table; // (vocab_size, dim) 61 | // weights for rmsnorms 62 | v4sf* rms_att_weight; // (layer, dim) rmsnorm weights 63 | v4sf* rms_ffn_weight; // (layer, dim) 64 | // weights for matmuls. note dim == n_heads * head_size 65 | v4sf* wq; // (layer, dim, n_heads * head_size) 66 | v4sf* wk; // (layer, dim, n_kv_heads * head_size) 67 | v4sf* wv; // (layer, dim, n_kv_heads * head_size) 68 | v4sf* wo; // (layer, n_heads * head_size, dim) 69 | // weights for ffn 70 | v4sf* w1; // (layer, hidden_dim, dim) 71 | v4sf* w2; // (layer, dim, hidden_dim) 72 | v4sf* w3; // (layer, hidden_dim, dim) 73 | // final rmsnorm 74 | v4sf* rms_final_weight; // (dim,) 75 | // (optional) classifier weights for the logits, on the last layer 76 | v4sf* wcls; 77 | } TransformerWeights; 78 | 79 | typedef struct { 80 | // current wave of activations 81 | v4sf *x; // activation at current time stamp (dim,) 82 | v4sf *xb; // same, but inside a residual branch (dim,) 83 | v4sf *xb2; // an additional buffer just for convenience (dim,) 84 | v4sf *hb; // buffer for hidden dimension in the ffn (hidden_dim,) 85 | v4sf *hb2; // buffer for hidden dimension in the ffn (hidden_dim,) 86 | v4sf *q; // query (dim,) 87 | v4sf *k; // key (dim,) 88 | v4sf *v; // value (dim,) 89 | v4sf *att; // buffer for scores/attention values (n_heads, seq_len) 90 | v4sf *logits; // output logits 91 | // kv cache 92 | v4sf* key_cache; // (layer, seq_len, dim) 93 | v4sf* value_cache; // (layer, seq_len, dim) 94 | } RunState; 95 | 96 | 97 | typedef struct { 98 | Config config; // the hyperparameters of the architecture (the blueprint) 99 | TransformerWeights weights; // the weights of the model 100 | RunState state; // buffers for the "wave" of activations in the forward pass 101 | // some more state needed to properly clean up the memory mapping (sigh) 102 | int fd; // file descriptor for memory mapping 103 | v4sf* data; // memory mapped data pointer 104 | size_t file_size; // size of the checkpoint file in bytes 105 | } Transformer; 106 | 107 | 108 | 109 | typedef void (*generated_complete_cb)(float tokens_ps); 110 | 111 | void build_transformer(Transformer *t, char* checkpoint_path); 112 | void build_tokenizer(Tokenizer* t, char* tokenizer_path, int vocab_size); 113 | void build_sampler(Sampler* sampler, int vocab_size, float temperature, float topp, unsigned long long rng_seed); 114 | void generate(Transformer *transformer, Tokenizer *tokenizer, Sampler *sampler, char *prompt, int steps, generated_complete_cb cb_done); 115 | void free_sampler(Sampler* sampler); 116 | void free_transformer(Transformer* t); 117 | void free_tokenizer(Tokenizer* t); 118 | 119 | 120 | #endif -------------------------------------------------------------------------------- /main/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "esp_spiffs.h" 4 | #include "sdkconfig.h" 5 | #include "esp_err.h" 6 | #include "esp_log.h" 7 | #include 8 | #include "llm.h" 9 | #include 10 | #include "u8g2_esp32_hal.h" 11 | #include 12 | #include 13 | #include "llama.h" 14 | 15 | static const char *TAG = "MAIN"; 16 | u8g2_t u8g2; 17 | 18 | #define PIN_SDA 8 19 | #define PIN_SCL 9 20 | #define OLED_I2C_ADDRESS 0x78 21 | 22 | /** 23 | * @brief Configure SSD1306 display 24 | * Uses I2C connection 25 | */ 26 | void init_display(void) 27 | { 28 | u8g2_esp32_hal_t u8g2_esp32_hal = U8G2_ESP32_HAL_DEFAULT; 29 | u8g2_esp32_hal.bus.i2c.sda = PIN_SDA; 30 | u8g2_esp32_hal.bus.i2c.scl = PIN_SCL; 31 | u8g2_esp32_hal_init(u8g2_esp32_hal); 32 | u8g2_Setup_ssd1306_i2c_128x64_noname_f( 33 | &u8g2, U8G2_R0, 34 | // u8x8_byte_sw_i2c, 35 | u8g2_esp32_i2c_byte_cb, 36 | u8g2_esp32_gpio_and_delay_cb); // init u8g2 structure 37 | // 0x3c 38 | u8x8_SetI2CAddress(&u8g2.u8x8, OLED_I2C_ADDRESS); 39 | u8g2_InitDisplay(&u8g2); // send init sequence to the display, display is in 40 | // sleep mode after this, 41 | u8g2_SetPowerSave(&u8g2, 0); // wake up display 42 | u8g2_ClearBuffer(&u8g2); 43 | u8g2_SetFont(&u8g2, u8g2_font_ncenB08_tr); 44 | u8g2_SendBuffer(&u8g2); 45 | ESP_LOGI(TAG, "Display initialized"); 46 | } 47 | 48 | /** 49 | * @brief intializes SPIFFS storage 50 | * 51 | */ 52 | void init_storage(void) 53 | { 54 | 55 | ESP_LOGI(TAG, "Initializing SPIFFS"); 56 | 57 | esp_vfs_spiffs_conf_t conf = { 58 | .base_path = "/data", 59 | .partition_label = NULL, 60 | .max_files = 5, 61 | .format_if_mount_failed = false}; 62 | 63 | esp_err_t ret = esp_vfs_spiffs_register(&conf); 64 | 65 | if (ret != ESP_OK) 66 | { 67 | if (ret == ESP_FAIL) 68 | { 69 | ESP_LOGE(TAG, "Failed to mount or format filesystem"); 70 | } 71 | else if (ret == ESP_ERR_NOT_FOUND) 72 | { 73 | ESP_LOGE(TAG, "Failed to find SPIFFS partition"); 74 | } 75 | else 76 | { 77 | ESP_LOGE(TAG, "Failed to initialize SPIFFS (%s)", esp_err_to_name(ret)); 78 | } 79 | return; 80 | } 81 | 82 | size_t total = 0, used = 0; 83 | ret = esp_spiffs_info(NULL, &total, &used); 84 | if (ret != ESP_OK) 85 | { 86 | ESP_LOGE(TAG, "Failed to get SPIFFS partition information (%s)", esp_err_to_name(ret)); 87 | } 88 | else 89 | { 90 | ESP_LOGI(TAG, "Partition size: total: %d, used: %d", total, used); 91 | } 92 | } 93 | 94 | /** 95 | * @brief Outputs to display 96 | * 97 | * @param text The text to output 98 | */ 99 | void write_display(char *text) 100 | { 101 | u8g2_ClearBuffer(&u8g2); 102 | u8g2_DrawStr(&u8g2, 0, u8g2_GetDisplayHeight(&u8g2) / 2, text); 103 | u8g2_SendBuffer(&u8g2); 104 | } 105 | 106 | /** 107 | * @brief Callbacks once generation is done 108 | * 109 | * @param tk_s The number of tokens per second generated 110 | */ 111 | void generate_complete_cb(float tk_s) 112 | { 113 | char buffer[50]; 114 | sprintf(buffer, "%.2f tok/s", tk_s); 115 | write_display(&buffer); 116 | } 117 | 118 | /** 119 | * @brief Draws a llama onscreen 120 | * 121 | */ 122 | void draw_llama(void) 123 | { 124 | u8g2_DrawXBM(&u8g2, 0, 0, u8g2_GetDisplayWidth(&u8g2), u8g2_GetDisplayHeight(&u8g2), &llama_bmp); 125 | u8g2_SendBuffer(&u8g2); 126 | } 127 | 128 | void app_main(void) 129 | { 130 | init_display(); 131 | write_display("Loading Model"); 132 | init_storage(); 133 | 134 | // default parameters 135 | char *checkpoint_path = "/data/stories260K.bin"; // e.g. out/model.bin 136 | char *tokenizer_path = "/data/tok512.bin"; 137 | float temperature = 1.0f; // 0.0 = greedy deterministic. 1.0 = original. don't set higher 138 | float topp = 0.9f; // top-p in nucleus sampling. 1.0 = off. 0.9 works well, but slower 139 | int steps = 256; // number of steps to run for 140 | char *prompt = NULL; // prompt string 141 | unsigned long long rng_seed = 0; // seed rng with time by default 142 | 143 | // parameter validation/overrides 144 | if (rng_seed <= 0) 145 | rng_seed = (unsigned int)time(NULL); 146 | 147 | // build the Transformer via the model .bin file 148 | Transformer transformer; 149 | ESP_LOGI(TAG, "LLM Path is %s", checkpoint_path); 150 | build_transformer(&transformer, checkpoint_path); 151 | if (steps == 0 || steps > transformer.config.seq_len) 152 | steps = transformer.config.seq_len; // override to ~max length 153 | 154 | // build the Tokenizer via the tokenizer .bin file 155 | Tokenizer tokenizer; 156 | build_tokenizer(&tokenizer, tokenizer_path, transformer.config.vocab_size); 157 | 158 | // build the Sampler 159 | Sampler sampler; 160 | build_sampler(&sampler, transformer.config.vocab_size, temperature, topp, rng_seed); 161 | 162 | // run! 163 | draw_llama(); 164 | generate(&transformer, &tokenizer, &sampler, prompt, steps, &generate_complete_cb); 165 | } 166 | -------------------------------------------------------------------------------- /partitions.csv: -------------------------------------------------------------------------------- 1 | # Name, Type, SubType, Offset, Size, Flags 2 | nvs, data, nvs, 0x9000, 0x6000, 3 | phy_init, data, phy, 0xf000, 0x1000, 4 | factory, app, factory, 0x10000, 1M, 5 | data, data, spiffs, , 2M, -------------------------------------------------------------------------------- /sdkconfig: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated file. DO NOT EDIT. 3 | # Espressif IoT Development Framework (ESP-IDF) 5.3.0 Project Configuration 4 | # 5 | CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 6 | CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 7 | CONFIG_SOC_ADC_SUPPORTED=y 8 | CONFIG_SOC_UART_SUPPORTED=y 9 | CONFIG_SOC_PCNT_SUPPORTED=y 10 | CONFIG_SOC_PHY_SUPPORTED=y 11 | CONFIG_SOC_WIFI_SUPPORTED=y 12 | CONFIG_SOC_TWAI_SUPPORTED=y 13 | CONFIG_SOC_GDMA_SUPPORTED=y 14 | CONFIG_SOC_AHB_GDMA_SUPPORTED=y 15 | CONFIG_SOC_GPTIMER_SUPPORTED=y 16 | CONFIG_SOC_LCDCAM_SUPPORTED=y 17 | CONFIG_SOC_MCPWM_SUPPORTED=y 18 | CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y 19 | CONFIG_SOC_CACHE_SUPPORT_WRAP=y 20 | CONFIG_SOC_ULP_SUPPORTED=y 21 | CONFIG_SOC_ULP_FSM_SUPPORTED=y 22 | CONFIG_SOC_RISCV_COPROC_SUPPORTED=y 23 | CONFIG_SOC_BT_SUPPORTED=y 24 | CONFIG_SOC_USB_OTG_SUPPORTED=y 25 | CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y 26 | CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y 27 | CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y 28 | CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y 29 | CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y 30 | CONFIG_SOC_EFUSE_SUPPORTED=y 31 | CONFIG_SOC_SDMMC_HOST_SUPPORTED=y 32 | CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y 33 | CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y 34 | CONFIG_SOC_RTC_MEM_SUPPORTED=y 35 | CONFIG_SOC_PSRAM_DMA_CAPABLE=y 36 | CONFIG_SOC_XT_WDT_SUPPORTED=y 37 | CONFIG_SOC_I2S_SUPPORTED=y 38 | CONFIG_SOC_RMT_SUPPORTED=y 39 | CONFIG_SOC_SDM_SUPPORTED=y 40 | CONFIG_SOC_GPSPI_SUPPORTED=y 41 | CONFIG_SOC_LEDC_SUPPORTED=y 42 | CONFIG_SOC_I2C_SUPPORTED=y 43 | CONFIG_SOC_SYSTIMER_SUPPORTED=y 44 | CONFIG_SOC_SUPPORT_COEXISTENCE=y 45 | CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y 46 | CONFIG_SOC_AES_SUPPORTED=y 47 | CONFIG_SOC_MPI_SUPPORTED=y 48 | CONFIG_SOC_SHA_SUPPORTED=y 49 | CONFIG_SOC_HMAC_SUPPORTED=y 50 | CONFIG_SOC_DIG_SIGN_SUPPORTED=y 51 | CONFIG_SOC_FLASH_ENC_SUPPORTED=y 52 | CONFIG_SOC_SECURE_BOOT_SUPPORTED=y 53 | CONFIG_SOC_MEMPROT_SUPPORTED=y 54 | CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y 55 | CONFIG_SOC_BOD_SUPPORTED=y 56 | CONFIG_SOC_CLK_TREE_SUPPORTED=y 57 | CONFIG_SOC_MPU_SUPPORTED=y 58 | CONFIG_SOC_WDT_SUPPORTED=y 59 | CONFIG_SOC_SPI_FLASH_SUPPORTED=y 60 | CONFIG_SOC_RNG_SUPPORTED=y 61 | CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y 62 | CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y 63 | CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y 64 | CONFIG_SOC_PM_SUPPORTED=y 65 | CONFIG_SOC_XTAL_SUPPORT_40M=y 66 | CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y 67 | CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y 68 | CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y 69 | CONFIG_SOC_ADC_ARBITER_SUPPORTED=y 70 | CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y 71 | CONFIG_SOC_ADC_MONITOR_SUPPORTED=y 72 | CONFIG_SOC_ADC_DMA_SUPPORTED=y 73 | CONFIG_SOC_ADC_PERIPH_NUM=2 74 | CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 75 | CONFIG_SOC_ADC_ATTEN_NUM=4 76 | CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 77 | CONFIG_SOC_ADC_PATT_LEN_MAX=24 78 | CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 79 | CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 80 | CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 81 | CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 82 | CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 83 | CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 84 | CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 85 | CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 86 | CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 87 | CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 88 | CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y 89 | CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y 90 | CONFIG_SOC_ADC_SHARED_POWER=y 91 | CONFIG_SOC_APB_BACKUP_DMA=y 92 | CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y 93 | CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y 94 | CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y 95 | CONFIG_SOC_CPU_CORES_NUM=2 96 | CONFIG_SOC_CPU_INTR_NUM=32 97 | CONFIG_SOC_CPU_HAS_FPU=y 98 | CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y 99 | CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 100 | CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 101 | CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 102 | CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 103 | CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 104 | CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 105 | CONFIG_SOC_AHB_GDMA_VERSION=1 106 | CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 107 | CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 108 | CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 109 | CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y 110 | CONFIG_SOC_GPIO_PORT=1 111 | CONFIG_SOC_GPIO_PIN_COUNT=49 112 | CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y 113 | CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y 114 | CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y 115 | CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y 116 | CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF 117 | CONFIG_SOC_GPIO_IN_RANGE_MAX=48 118 | CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 119 | CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 120 | CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y 121 | CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 122 | CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 123 | CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 124 | CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y 125 | CONFIG_SOC_I2C_NUM=2 126 | CONFIG_SOC_HP_I2C_NUM=2 127 | CONFIG_SOC_I2C_FIFO_LEN=32 128 | CONFIG_SOC_I2C_CMD_REG_NUM=8 129 | CONFIG_SOC_I2C_SUPPORT_SLAVE=y 130 | CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y 131 | CONFIG_SOC_I2C_SUPPORT_XTAL=y 132 | CONFIG_SOC_I2C_SUPPORT_RTC=y 133 | CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y 134 | CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y 135 | CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y 136 | CONFIG_SOC_I2S_NUM=2 137 | CONFIG_SOC_I2S_HW_VERSION_2=y 138 | CONFIG_SOC_I2S_SUPPORTS_XTAL=y 139 | CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y 140 | CONFIG_SOC_I2S_SUPPORTS_PCM=y 141 | CONFIG_SOC_I2S_SUPPORTS_PDM=y 142 | CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y 143 | CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 144 | CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y 145 | CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 146 | CONFIG_SOC_I2S_SUPPORTS_TDM=y 147 | CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y 148 | CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y 149 | CONFIG_SOC_LEDC_CHANNEL_NUM=8 150 | CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 151 | CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y 152 | CONFIG_SOC_MCPWM_GROUPS=2 153 | CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 154 | CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 155 | CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 156 | CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 157 | CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 158 | CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 159 | CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y 160 | CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 161 | CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 162 | CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y 163 | CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 164 | CONFIG_SOC_MMU_PERIPH_NUM=1 165 | CONFIG_SOC_PCNT_GROUPS=1 166 | CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 167 | CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 168 | CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 169 | CONFIG_SOC_RMT_GROUPS=1 170 | CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 171 | CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 172 | CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 173 | CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 174 | CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y 175 | CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y 176 | CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y 177 | CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y 178 | CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y 179 | CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y 180 | CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y 181 | CONFIG_SOC_RMT_SUPPORT_XTAL=y 182 | CONFIG_SOC_RMT_SUPPORT_RC_FAST=y 183 | CONFIG_SOC_RMT_SUPPORT_APB=y 184 | CONFIG_SOC_RMT_SUPPORT_DMA=y 185 | CONFIG_SOC_LCD_I80_SUPPORTED=y 186 | CONFIG_SOC_LCD_RGB_SUPPORTED=y 187 | CONFIG_SOC_LCD_I80_BUSES=1 188 | CONFIG_SOC_LCD_RGB_PANELS=1 189 | CONFIG_SOC_LCD_I80_BUS_WIDTH=16 190 | CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 191 | CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y 192 | CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 193 | CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 194 | CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 195 | CONFIG_SOC_RTCIO_PIN_COUNT=22 196 | CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y 197 | CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y 198 | CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y 199 | CONFIG_SOC_SDM_GROUPS=y 200 | CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 201 | CONFIG_SOC_SDM_CLK_SUPPORT_APB=y 202 | CONFIG_SOC_SPI_PERIPH_NUM=3 203 | CONFIG_SOC_SPI_MAX_CS_NUM=6 204 | CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 205 | CONFIG_SOC_SPI_SUPPORT_DDRCLK=y 206 | CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y 207 | CONFIG_SOC_SPI_SUPPORT_CD_SIG=y 208 | CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y 209 | CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y 210 | CONFIG_SOC_SPI_SUPPORT_CLK_APB=y 211 | CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y 212 | CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y 213 | CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y 214 | CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 215 | CONFIG_SOC_SPI_SUPPORT_OCT=y 216 | CONFIG_SOC_SPI_SCT_SUPPORTED=y 217 | CONFIG_SOC_SPI_SCT_REG_NUM=14 218 | CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y 219 | CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA 220 | CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y 221 | CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y 222 | CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y 223 | CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y 224 | CONFIG_SOC_SPIRAM_SUPPORTED=y 225 | CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y 226 | CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 227 | CONFIG_SOC_SYSTIMER_ALARM_NUM=3 228 | CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 229 | CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 230 | CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y 231 | CONFIG_SOC_SYSTIMER_INT_LEVEL=y 232 | CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y 233 | CONFIG_SOC_TIMER_GROUPS=2 234 | CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 235 | CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 236 | CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y 237 | CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y 238 | CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 239 | CONFIG_SOC_TOUCH_SENSOR_VERSION=2 240 | CONFIG_SOC_TOUCH_SENSOR_NUM=15 241 | CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y 242 | CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y 243 | CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y 244 | CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 245 | CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y 246 | CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 247 | CONFIG_SOC_TWAI_CONTROLLER_NUM=1 248 | CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y 249 | CONFIG_SOC_TWAI_BRP_MIN=2 250 | CONFIG_SOC_TWAI_BRP_MAX=16384 251 | CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y 252 | CONFIG_SOC_UART_NUM=3 253 | CONFIG_SOC_UART_HP_NUM=3 254 | CONFIG_SOC_UART_FIFO_LEN=128 255 | CONFIG_SOC_UART_BITRATE_MAX=5000000 256 | CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y 257 | CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y 258 | CONFIG_SOC_UART_SUPPORT_APB_CLK=y 259 | CONFIG_SOC_UART_SUPPORT_RTC_CLK=y 260 | CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y 261 | CONFIG_SOC_USB_OTG_PERIPH_NUM=1 262 | CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 263 | CONFIG_SOC_SHA_SUPPORT_DMA=y 264 | CONFIG_SOC_SHA_SUPPORT_RESUME=y 265 | CONFIG_SOC_SHA_GDMA=y 266 | CONFIG_SOC_SHA_SUPPORT_SHA1=y 267 | CONFIG_SOC_SHA_SUPPORT_SHA224=y 268 | CONFIG_SOC_SHA_SUPPORT_SHA256=y 269 | CONFIG_SOC_SHA_SUPPORT_SHA384=y 270 | CONFIG_SOC_SHA_SUPPORT_SHA512=y 271 | CONFIG_SOC_SHA_SUPPORT_SHA512_224=y 272 | CONFIG_SOC_SHA_SUPPORT_SHA512_256=y 273 | CONFIG_SOC_SHA_SUPPORT_SHA512_T=y 274 | CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 275 | CONFIG_SOC_MPI_OPERATIONS_NUM=3 276 | CONFIG_SOC_RSA_MAX_BIT_LEN=4096 277 | CONFIG_SOC_AES_SUPPORT_DMA=y 278 | CONFIG_SOC_AES_GDMA=y 279 | CONFIG_SOC_AES_SUPPORT_AES_128=y 280 | CONFIG_SOC_AES_SUPPORT_AES_256=y 281 | CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y 282 | CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y 283 | CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y 284 | CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y 285 | CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y 286 | CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y 287 | CONFIG_SOC_PM_SUPPORT_CPU_PD=y 288 | CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y 289 | CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y 290 | CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y 291 | CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y 292 | CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y 293 | CONFIG_SOC_PM_SUPPORT_MODEM_PD=y 294 | CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y 295 | CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y 296 | CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y 297 | CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y 298 | CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y 299 | CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y 300 | CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y 301 | CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y 302 | CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y 303 | CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y 304 | CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y 305 | CONFIG_SOC_EFUSE_DIS_USB_JTAG=y 306 | CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y 307 | CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y 308 | CONFIG_SOC_EFUSE_DIS_ICACHE=y 309 | CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y 310 | CONFIG_SOC_SECURE_BOOT_V2_RSA=y 311 | CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 312 | CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y 313 | CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y 314 | CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 315 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y 316 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y 317 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y 318 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y 319 | CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 320 | CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 321 | CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 322 | CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 323 | CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 324 | CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y 325 | CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y 326 | CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y 327 | CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y 328 | CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y 329 | CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y 330 | CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y 331 | CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y 332 | CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y 333 | CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y 334 | CONFIG_SOC_COEX_HW_PTI=y 335 | CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y 336 | CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y 337 | CONFIG_SOC_SDMMC_NUM_SLOTS=2 338 | CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y 339 | CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 340 | CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y 341 | CONFIG_SOC_WIFI_HW_TSF=y 342 | CONFIG_SOC_WIFI_FTM_SUPPORT=y 343 | CONFIG_SOC_WIFI_GCMP_SUPPORT=y 344 | CONFIG_SOC_WIFI_WAPI_SUPPORT=y 345 | CONFIG_SOC_WIFI_CSI_SUPPORT=y 346 | CONFIG_SOC_WIFI_MESH_SUPPORT=y 347 | CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y 348 | CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y 349 | CONFIG_SOC_BLE_SUPPORTED=y 350 | CONFIG_SOC_BLE_MESH_SUPPORTED=y 351 | CONFIG_SOC_BLE_50_SUPPORTED=y 352 | CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y 353 | CONFIG_SOC_BLUFI_SUPPORTED=y 354 | CONFIG_SOC_ULP_HAS_ADC=y 355 | CONFIG_SOC_PHY_COMBO_MODULE=y 356 | CONFIG_IDF_CMAKE=y 357 | CONFIG_IDF_TOOLCHAIN="gcc" 358 | CONFIG_IDF_TARGET_ARCH_XTENSA=y 359 | CONFIG_IDF_TARGET_ARCH="xtensa" 360 | CONFIG_IDF_TARGET="esp32s3" 361 | CONFIG_IDF_INIT_VERSION="5.3.0" 362 | CONFIG_IDF_TARGET_ESP32S3=y 363 | CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 364 | 365 | # 366 | # Build type 367 | # 368 | CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y 369 | # CONFIG_APP_BUILD_TYPE_RAM is not set 370 | CONFIG_APP_BUILD_GENERATE_BINARIES=y 371 | CONFIG_APP_BUILD_BOOTLOADER=y 372 | CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y 373 | # CONFIG_APP_REPRODUCIBLE_BUILD is not set 374 | # CONFIG_APP_NO_BLOBS is not set 375 | # end of Build type 376 | 377 | # 378 | # Bootloader config 379 | # 380 | 381 | # 382 | # Bootloader manager 383 | # 384 | CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y 385 | CONFIG_BOOTLOADER_PROJECT_VER=1 386 | # end of Bootloader manager 387 | 388 | CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 389 | CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y 390 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set 391 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set 392 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set 393 | # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set 394 | # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set 395 | # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set 396 | CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y 397 | # CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set 398 | # CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set 399 | CONFIG_BOOTLOADER_LOG_LEVEL=3 400 | 401 | # 402 | # Serial Flash Configurations 403 | # 404 | # CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set 405 | CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y 406 | # end of Serial Flash Configurations 407 | 408 | CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y 409 | # CONFIG_BOOTLOADER_FACTORY_RESET is not set 410 | # CONFIG_BOOTLOADER_APP_TEST is not set 411 | CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y 412 | CONFIG_BOOTLOADER_WDT_ENABLE=y 413 | # CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set 414 | CONFIG_BOOTLOADER_WDT_TIME_MS=9000 415 | # CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set 416 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set 417 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set 418 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set 419 | CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 420 | # CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set 421 | # end of Bootloader config 422 | 423 | # 424 | # Security features 425 | # 426 | CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y 427 | CONFIG_SECURE_BOOT_V2_PREFERRED=y 428 | # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set 429 | # CONFIG_SECURE_BOOT is not set 430 | # CONFIG_SECURE_FLASH_ENC_ENABLED is not set 431 | CONFIG_SECURE_ROM_DL_MODE_ENABLED=y 432 | # end of Security features 433 | 434 | # 435 | # Application manager 436 | # 437 | CONFIG_APP_COMPILE_TIME_DATE=y 438 | # CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set 439 | # CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set 440 | # CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set 441 | CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16 442 | # end of Application manager 443 | 444 | CONFIG_ESP_ROM_HAS_CRC_LE=y 445 | CONFIG_ESP_ROM_HAS_CRC_BE=y 446 | CONFIG_ESP_ROM_HAS_MZ_CRC32=y 447 | CONFIG_ESP_ROM_HAS_JPEG_DECODE=y 448 | CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y 449 | CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y 450 | CONFIG_ESP_ROM_USB_OTG_NUM=3 451 | CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 452 | CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y 453 | CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y 454 | CONFIG_ESP_ROM_GET_CLK_FREQ=y 455 | CONFIG_ESP_ROM_HAS_HAL_WDT=y 456 | CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y 457 | CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y 458 | CONFIG_ESP_ROM_HAS_SPI_FLASH=y 459 | CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y 460 | CONFIG_ESP_ROM_HAS_NEWLIB=y 461 | CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y 462 | CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y 463 | CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y 464 | CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y 465 | CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y 466 | CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y 467 | CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y 468 | CONFIG_ESP_ROM_HAS_SW_FLOAT=y 469 | CONFIG_ESP_ROM_HAS_VERSION=y 470 | CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y 471 | 472 | # 473 | # Boot ROM Behavior 474 | # 475 | CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y 476 | # CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set 477 | # CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set 478 | # CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set 479 | # end of Boot ROM Behavior 480 | 481 | # 482 | # Serial flasher config 483 | # 484 | # CONFIG_ESPTOOLPY_NO_STUB is not set 485 | # CONFIG_ESPTOOLPY_OCT_FLASH is not set 486 | CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y 487 | CONFIG_ESPTOOLPY_FLASHMODE_QIO=y 488 | # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set 489 | # CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set 490 | # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set 491 | CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y 492 | CONFIG_ESPTOOLPY_FLASHMODE="dio" 493 | # CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set 494 | CONFIG_ESPTOOLPY_FLASHFREQ_80M=y 495 | # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set 496 | # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set 497 | CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y 498 | CONFIG_ESPTOOLPY_FLASHFREQ="80m" 499 | # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set 500 | # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set 501 | CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y 502 | # CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set 503 | # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set 504 | # CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set 505 | # CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set 506 | # CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set 507 | CONFIG_ESPTOOLPY_FLASHSIZE="4MB" 508 | CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE=y 509 | CONFIG_ESPTOOLPY_BEFORE_RESET=y 510 | # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set 511 | CONFIG_ESPTOOLPY_BEFORE="default_reset" 512 | CONFIG_ESPTOOLPY_AFTER_RESET=y 513 | # CONFIG_ESPTOOLPY_AFTER_NORESET is not set 514 | CONFIG_ESPTOOLPY_AFTER="hard_reset" 515 | CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 516 | # end of Serial flasher config 517 | 518 | # 519 | # Partition Table 520 | # 521 | # CONFIG_PARTITION_TABLE_SINGLE_APP is not set 522 | # CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set 523 | # CONFIG_PARTITION_TABLE_TWO_OTA is not set 524 | CONFIG_PARTITION_TABLE_CUSTOM=y 525 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 526 | CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" 527 | CONFIG_PARTITION_TABLE_OFFSET=0x8000 528 | CONFIG_PARTITION_TABLE_MD5=y 529 | # end of Partition Table 530 | 531 | # 532 | # Compiler options 533 | # 534 | # CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set 535 | # CONFIG_COMPILER_OPTIMIZATION_SIZE is not set 536 | CONFIG_COMPILER_OPTIMIZATION_PERF=y 537 | # CONFIG_COMPILER_OPTIMIZATION_NONE is not set 538 | CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y 539 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set 540 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set 541 | CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y 542 | CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 543 | # CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set 544 | CONFIG_COMPILER_HIDE_PATHS_MACROS=y 545 | # CONFIG_COMPILER_CXX_EXCEPTIONS is not set 546 | # CONFIG_COMPILER_CXX_RTTI is not set 547 | CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y 548 | # CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set 549 | # CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set 550 | # CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set 551 | # CONFIG_COMPILER_WARN_WRITE_STRINGS is not set 552 | # CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set 553 | # CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set 554 | # CONFIG_COMPILER_DUMP_RTL_FILES is not set 555 | CONFIG_COMPILER_RT_LIB_GCCLIB=y 556 | CONFIG_COMPILER_RT_LIB_NAME="gcc" 557 | # CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set 558 | CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y 559 | # end of Compiler options 560 | 561 | # 562 | # Component config 563 | # 564 | 565 | # 566 | # Application Level Tracing 567 | # 568 | # CONFIG_APPTRACE_DEST_JTAG is not set 569 | CONFIG_APPTRACE_DEST_NONE=y 570 | # CONFIG_APPTRACE_DEST_UART1 is not set 571 | # CONFIG_APPTRACE_DEST_UART2 is not set 572 | # CONFIG_APPTRACE_DEST_USB_CDC is not set 573 | CONFIG_APPTRACE_DEST_UART_NONE=y 574 | CONFIG_APPTRACE_UART_TASK_PRIO=1 575 | CONFIG_APPTRACE_LOCK_ENABLE=y 576 | # end of Application Level Tracing 577 | 578 | # 579 | # Bluetooth 580 | # 581 | # CONFIG_BT_ENABLED is not set 582 | CONFIG_BT_ALARM_MAX_NUM=50 583 | # end of Bluetooth 584 | 585 | # 586 | # Console Library 587 | # 588 | # CONFIG_CONSOLE_SORTED_HELP is not set 589 | # end of Console Library 590 | 591 | # 592 | # Driver Configurations 593 | # 594 | 595 | # 596 | # TWAI Configuration 597 | # 598 | # CONFIG_TWAI_ISR_IN_IRAM is not set 599 | CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y 600 | # end of TWAI Configuration 601 | 602 | # 603 | # Legacy ADC Driver Configuration 604 | # 605 | # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set 606 | 607 | # 608 | # Legacy ADC Calibration Configuration 609 | # 610 | # CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set 611 | # end of Legacy ADC Calibration Configuration 612 | # end of Legacy ADC Driver Configuration 613 | 614 | # 615 | # Legacy MCPWM Driver Configurations 616 | # 617 | # CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set 618 | # end of Legacy MCPWM Driver Configurations 619 | 620 | # 621 | # Legacy Timer Group Driver Configurations 622 | # 623 | # CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set 624 | # end of Legacy Timer Group Driver Configurations 625 | 626 | # 627 | # Legacy RMT Driver Configurations 628 | # 629 | # CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set 630 | # end of Legacy RMT Driver Configurations 631 | 632 | # 633 | # Legacy I2S Driver Configurations 634 | # 635 | # CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set 636 | # end of Legacy I2S Driver Configurations 637 | 638 | # 639 | # Legacy PCNT Driver Configurations 640 | # 641 | # CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set 642 | # end of Legacy PCNT Driver Configurations 643 | 644 | # 645 | # Legacy SDM Driver Configurations 646 | # 647 | # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set 648 | # end of Legacy SDM Driver Configurations 649 | 650 | # 651 | # Legacy Temperature Sensor Driver Configurations 652 | # 653 | # CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set 654 | # end of Legacy Temperature Sensor Driver Configurations 655 | # end of Driver Configurations 656 | 657 | # 658 | # eFuse Bit Manager 659 | # 660 | # CONFIG_EFUSE_CUSTOM_TABLE is not set 661 | # CONFIG_EFUSE_VIRTUAL is not set 662 | CONFIG_EFUSE_MAX_BLK_LEN=256 663 | # end of eFuse Bit Manager 664 | 665 | # 666 | # ESP-TLS 667 | # 668 | CONFIG_ESP_TLS_USING_MBEDTLS=y 669 | CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y 670 | # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set 671 | # CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set 672 | # CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set 673 | # CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set 674 | # CONFIG_ESP_TLS_PSK_VERIFICATION is not set 675 | # CONFIG_ESP_TLS_INSECURE is not set 676 | # end of ESP-TLS 677 | 678 | # 679 | # ADC and ADC Calibration 680 | # 681 | # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set 682 | # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set 683 | # CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set 684 | # CONFIG_ADC_ENABLE_DEBUG_LOG is not set 685 | # end of ADC and ADC Calibration 686 | 687 | # 688 | # Wireless Coexistence 689 | # 690 | CONFIG_ESP_COEX_ENABLED=y 691 | # CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set 692 | # end of Wireless Coexistence 693 | 694 | # 695 | # Common ESP-related 696 | # 697 | CONFIG_ESP_ERR_TO_NAME_LOOKUP=y 698 | # end of Common ESP-related 699 | 700 | # 701 | # ESP-Driver:GPIO Configurations 702 | # 703 | # CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set 704 | # end of ESP-Driver:GPIO Configurations 705 | 706 | # 707 | # ESP-Driver:GPTimer Configurations 708 | # 709 | CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y 710 | # CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set 711 | # CONFIG_GPTIMER_ISR_IRAM_SAFE is not set 712 | # CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set 713 | # end of ESP-Driver:GPTimer Configurations 714 | 715 | # 716 | # ESP-Driver:I2C Configurations 717 | # 718 | # CONFIG_I2C_ISR_IRAM_SAFE is not set 719 | # CONFIG_I2C_ENABLE_DEBUG_LOG is not set 720 | # end of ESP-Driver:I2C Configurations 721 | 722 | # 723 | # ESP-Driver:I2S Configurations 724 | # 725 | # CONFIG_I2S_ISR_IRAM_SAFE is not set 726 | # CONFIG_I2S_ENABLE_DEBUG_LOG is not set 727 | # end of ESP-Driver:I2S Configurations 728 | 729 | # 730 | # ESP-Driver:LEDC Configurations 731 | # 732 | # CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set 733 | # end of ESP-Driver:LEDC Configurations 734 | 735 | # 736 | # ESP-Driver:MCPWM Configurations 737 | # 738 | # CONFIG_MCPWM_ISR_IRAM_SAFE is not set 739 | # CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set 740 | # CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set 741 | # end of ESP-Driver:MCPWM Configurations 742 | 743 | # 744 | # ESP-Driver:PCNT Configurations 745 | # 746 | # CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set 747 | # CONFIG_PCNT_ISR_IRAM_SAFE is not set 748 | # CONFIG_PCNT_ENABLE_DEBUG_LOG is not set 749 | # end of ESP-Driver:PCNT Configurations 750 | 751 | # 752 | # ESP-Driver:RMT Configurations 753 | # 754 | # CONFIG_RMT_ISR_IRAM_SAFE is not set 755 | # CONFIG_RMT_RECV_FUNC_IN_IRAM is not set 756 | # CONFIG_RMT_ENABLE_DEBUG_LOG is not set 757 | # end of ESP-Driver:RMT Configurations 758 | 759 | # 760 | # ESP-Driver:Sigma Delta Modulator Configurations 761 | # 762 | # CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set 763 | # CONFIG_SDM_ENABLE_DEBUG_LOG is not set 764 | # end of ESP-Driver:Sigma Delta Modulator Configurations 765 | 766 | # 767 | # ESP-Driver:SPI Configurations 768 | # 769 | # CONFIG_SPI_MASTER_IN_IRAM is not set 770 | CONFIG_SPI_MASTER_ISR_IN_IRAM=y 771 | # CONFIG_SPI_SLAVE_IN_IRAM is not set 772 | CONFIG_SPI_SLAVE_ISR_IN_IRAM=y 773 | # end of ESP-Driver:SPI Configurations 774 | 775 | # 776 | # ESP-Driver:Touch Sensor Configurations 777 | # 778 | # CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set 779 | # CONFIG_TOUCH_ISR_IRAM_SAFE is not set 780 | # CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set 781 | # end of ESP-Driver:Touch Sensor Configurations 782 | 783 | # 784 | # ESP-Driver:Temperature Sensor Configurations 785 | # 786 | # CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set 787 | # end of ESP-Driver:Temperature Sensor Configurations 788 | 789 | # 790 | # ESP-Driver:UART Configurations 791 | # 792 | # CONFIG_UART_ISR_IN_IRAM is not set 793 | # end of ESP-Driver:UART Configurations 794 | 795 | # 796 | # ESP-Driver:USB Serial/JTAG Configuration 797 | # 798 | CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y 799 | # end of ESP-Driver:USB Serial/JTAG Configuration 800 | 801 | # 802 | # Ethernet 803 | # 804 | CONFIG_ETH_ENABLED=y 805 | CONFIG_ETH_USE_SPI_ETHERNET=y 806 | # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set 807 | # CONFIG_ETH_SPI_ETHERNET_W5500 is not set 808 | # CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set 809 | # CONFIG_ETH_USE_OPENETH is not set 810 | # CONFIG_ETH_TRANSMIT_MUTEX is not set 811 | # end of Ethernet 812 | 813 | # 814 | # Event Loop Library 815 | # 816 | # CONFIG_ESP_EVENT_LOOP_PROFILING is not set 817 | CONFIG_ESP_EVENT_POST_FROM_ISR=y 818 | CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y 819 | # end of Event Loop Library 820 | 821 | # 822 | # GDB Stub 823 | # 824 | CONFIG_ESP_GDBSTUB_ENABLED=y 825 | # CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set 826 | CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y 827 | CONFIG_ESP_GDBSTUB_MAX_TASKS=32 828 | # end of GDB Stub 829 | 830 | # 831 | # ESP HTTP client 832 | # 833 | CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y 834 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set 835 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set 836 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set 837 | # end of ESP HTTP client 838 | 839 | # 840 | # HTTP Server 841 | # 842 | CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 843 | CONFIG_HTTPD_MAX_URI_LEN=512 844 | CONFIG_HTTPD_ERR_RESP_NO_DELAY=y 845 | CONFIG_HTTPD_PURGE_BUF_LEN=32 846 | # CONFIG_HTTPD_LOG_PURGE_DATA is not set 847 | # CONFIG_HTTPD_WS_SUPPORT is not set 848 | # CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set 849 | # end of HTTP Server 850 | 851 | # 852 | # ESP HTTPS OTA 853 | # 854 | # CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set 855 | # CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set 856 | # end of ESP HTTPS OTA 857 | 858 | # 859 | # ESP HTTPS server 860 | # 861 | # CONFIG_ESP_HTTPS_SERVER_ENABLE is not set 862 | # end of ESP HTTPS server 863 | 864 | # 865 | # Hardware Settings 866 | # 867 | 868 | # 869 | # Chip revision 870 | # 871 | CONFIG_ESP32S3_REV_MIN_0=y 872 | # CONFIG_ESP32S3_REV_MIN_1 is not set 873 | # CONFIG_ESP32S3_REV_MIN_2 is not set 874 | CONFIG_ESP32S3_REV_MIN_FULL=0 875 | CONFIG_ESP_REV_MIN_FULL=0 876 | 877 | # 878 | # Maximum Supported ESP32-S3 Revision (Rev v0.99) 879 | # 880 | CONFIG_ESP32S3_REV_MAX_FULL=99 881 | CONFIG_ESP_REV_MAX_FULL=99 882 | # end of Chip revision 883 | 884 | # 885 | # MAC Config 886 | # 887 | CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y 888 | CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y 889 | CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y 890 | CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y 891 | CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y 892 | CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 893 | # CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set 894 | CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y 895 | CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 896 | # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set 897 | # end of MAC Config 898 | 899 | # 900 | # Sleep Config 901 | # 902 | CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y 903 | CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y 904 | CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU=y 905 | CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y 906 | CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y 907 | CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 908 | # CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set 909 | # CONFIG_ESP_SLEEP_DEBUG is not set 910 | CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y 911 | # end of Sleep Config 912 | 913 | # 914 | # RTC Clock Config 915 | # 916 | CONFIG_RTC_CLK_SRC_INT_RC=y 917 | # CONFIG_RTC_CLK_SRC_EXT_CRYS is not set 918 | # CONFIG_RTC_CLK_SRC_EXT_OSC is not set 919 | # CONFIG_RTC_CLK_SRC_INT_8MD256 is not set 920 | CONFIG_RTC_CLK_CAL_CYCLES=1024 921 | # end of RTC Clock Config 922 | 923 | # 924 | # Peripheral Control 925 | # 926 | CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y 927 | # end of Peripheral Control 928 | 929 | # 930 | # GDMA Configurations 931 | # 932 | CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y 933 | # CONFIG_GDMA_ISR_IRAM_SAFE is not set 934 | # CONFIG_GDMA_ENABLE_DEBUG_LOG is not set 935 | # end of GDMA Configurations 936 | 937 | # 938 | # Main XTAL Config 939 | # 940 | CONFIG_XTAL_FREQ_40=y 941 | CONFIG_XTAL_FREQ=40 942 | # end of Main XTAL Config 943 | 944 | CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y 945 | # end of Hardware Settings 946 | 947 | # 948 | # LCD and Touch Panel 949 | # 950 | 951 | # 952 | # LCD Touch Drivers are maintained in the IDF Component Registry 953 | # 954 | 955 | # 956 | # LCD Peripheral Configuration 957 | # 958 | CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 959 | # CONFIG_LCD_ENABLE_DEBUG_LOG is not set 960 | # CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set 961 | # CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set 962 | # end of LCD Peripheral Configuration 963 | # end of LCD and Touch Panel 964 | 965 | # 966 | # ESP NETIF Adapter 967 | # 968 | CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 969 | CONFIG_ESP_NETIF_TCPIP_LWIP=y 970 | # CONFIG_ESP_NETIF_LOOPBACK is not set 971 | CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y 972 | # CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set 973 | # CONFIG_ESP_NETIF_L2_TAP is not set 974 | # CONFIG_ESP_NETIF_BRIDGE_EN is not set 975 | # end of ESP NETIF Adapter 976 | 977 | # 978 | # Partition API Configuration 979 | # 980 | # end of Partition API Configuration 981 | 982 | # 983 | # PHY 984 | # 985 | CONFIG_ESP_PHY_ENABLED=y 986 | CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y 987 | # CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set 988 | CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 989 | CONFIG_ESP_PHY_MAX_TX_POWER=20 990 | # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set 991 | CONFIG_ESP_PHY_ENABLE_USB=y 992 | # CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set 993 | CONFIG_ESP_PHY_RF_CAL_PARTIAL=y 994 | # CONFIG_ESP_PHY_RF_CAL_NONE is not set 995 | # CONFIG_ESP_PHY_RF_CAL_FULL is not set 996 | CONFIG_ESP_PHY_CALIBRATION_MODE=0 997 | # CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set 998 | # end of PHY 999 | 1000 | # 1001 | # Power Management 1002 | # 1003 | # CONFIG_PM_ENABLE is not set 1004 | CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y 1005 | CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y 1006 | # end of Power Management 1007 | 1008 | # 1009 | # ESP PSRAM 1010 | # 1011 | CONFIG_SPIRAM=y 1012 | 1013 | # 1014 | # SPI RAM config 1015 | # 1016 | CONFIG_SPIRAM_MODE_QUAD=y 1017 | # CONFIG_SPIRAM_MODE_OCT is not set 1018 | CONFIG_SPIRAM_TYPE_AUTO=y 1019 | # CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set 1020 | # CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set 1021 | # CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set 1022 | CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y 1023 | CONFIG_SPIRAM_CLK_IO=30 1024 | CONFIG_SPIRAM_CS_IO=26 1025 | # CONFIG_SPIRAM_XIP_FROM_PSRAM is not set 1026 | # CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set 1027 | # CONFIG_SPIRAM_RODATA is not set 1028 | # CONFIG_SPIRAM_SPEED_120M is not set 1029 | CONFIG_SPIRAM_SPEED_80M=y 1030 | # CONFIG_SPIRAM_SPEED_40M is not set 1031 | CONFIG_SPIRAM_SPEED=80 1032 | CONFIG_SPIRAM_BOOT_INIT=y 1033 | # CONFIG_SPIRAM_IGNORE_NOTFOUND is not set 1034 | # CONFIG_SPIRAM_USE_MEMMAP is not set 1035 | # CONFIG_SPIRAM_USE_CAPS_ALLOC is not set 1036 | CONFIG_SPIRAM_USE_MALLOC=y 1037 | CONFIG_SPIRAM_MEMTEST=y 1038 | CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 1039 | # CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set 1040 | CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 1041 | # CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set 1042 | # end of SPI RAM config 1043 | # end of ESP PSRAM 1044 | 1045 | # 1046 | # ESP Ringbuf 1047 | # 1048 | # CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set 1049 | # end of ESP Ringbuf 1050 | 1051 | # 1052 | # ESP System Settings 1053 | # 1054 | # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set 1055 | # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set 1056 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 1057 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 1058 | 1059 | # 1060 | # Cache config 1061 | # 1062 | # CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB is not set 1063 | CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB=y 1064 | CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x8000 1065 | # CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set 1066 | CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y 1067 | CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 1068 | CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y 1069 | CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 1070 | # CONFIG_ESP32S3_DATA_CACHE_16KB is not set 1071 | # CONFIG_ESP32S3_DATA_CACHE_32KB is not set 1072 | CONFIG_ESP32S3_DATA_CACHE_64KB=y 1073 | CONFIG_ESP32S3_DATA_CACHE_SIZE=0x10000 1074 | # CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set 1075 | CONFIG_ESP32S3_DATA_CACHE_8WAYS=y 1076 | CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 1077 | CONFIG_ESP32S3_DATA_CACHE_LINE_32B=y 1078 | # CONFIG_ESP32S3_DATA_CACHE_LINE_64B is not set 1079 | CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=32 1080 | # end of Cache config 1081 | 1082 | # 1083 | # Memory 1084 | # 1085 | # CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set 1086 | # CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set 1087 | # end of Memory 1088 | 1089 | # 1090 | # Trace memory 1091 | # 1092 | # CONFIG_ESP32S3_TRAX is not set 1093 | CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 1094 | # end of Trace memory 1095 | 1096 | # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set 1097 | CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y 1098 | # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set 1099 | # CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set 1100 | CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 1101 | CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y 1102 | CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y 1103 | 1104 | # 1105 | # Memory protection 1106 | # 1107 | CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y 1108 | CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y 1109 | # end of Memory protection 1110 | 1111 | CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 1112 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 1113 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 1114 | CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y 1115 | # CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set 1116 | # CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set 1117 | CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 1118 | CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 1119 | CONFIG_ESP_CONSOLE_UART_DEFAULT=y 1120 | # CONFIG_ESP_CONSOLE_USB_CDC is not set 1121 | # CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set 1122 | # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set 1123 | # CONFIG_ESP_CONSOLE_NONE is not set 1124 | # CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set 1125 | CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y 1126 | CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y 1127 | CONFIG_ESP_CONSOLE_UART=y 1128 | CONFIG_ESP_CONSOLE_UART_NUM=0 1129 | CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 1130 | CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 1131 | CONFIG_ESP_INT_WDT=y 1132 | CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 1133 | CONFIG_ESP_INT_WDT_CHECK_CPU1=y 1134 | CONFIG_ESP_TASK_WDT_EN=y 1135 | CONFIG_ESP_TASK_WDT_INIT=y 1136 | # CONFIG_ESP_TASK_WDT_PANIC is not set 1137 | CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 1138 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y 1139 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y 1140 | # CONFIG_ESP_PANIC_HANDLER_IRAM is not set 1141 | # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set 1142 | CONFIG_ESP_DEBUG_OCDAWARE=y 1143 | CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y 1144 | 1145 | # 1146 | # Brownout Detector 1147 | # 1148 | CONFIG_ESP_BROWNOUT_DET=y 1149 | CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y 1150 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set 1151 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set 1152 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set 1153 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set 1154 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set 1155 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set 1156 | CONFIG_ESP_BROWNOUT_DET_LVL=7 1157 | # end of Brownout Detector 1158 | 1159 | CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y 1160 | CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y 1161 | # end of ESP System Settings 1162 | 1163 | # 1164 | # IPC (Inter-Processor Call) 1165 | # 1166 | CONFIG_ESP_IPC_TASK_STACK_SIZE=1280 1167 | CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y 1168 | CONFIG_ESP_IPC_ISR_ENABLE=y 1169 | # end of IPC (Inter-Processor Call) 1170 | 1171 | # 1172 | # ESP Timer (High Resolution Timer) 1173 | # 1174 | # CONFIG_ESP_TIMER_PROFILING is not set 1175 | CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y 1176 | CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y 1177 | CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 1178 | CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 1179 | # CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set 1180 | CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 1181 | CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y 1182 | CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y 1183 | # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set 1184 | CONFIG_ESP_TIMER_IMPL_SYSTIMER=y 1185 | # end of ESP Timer (High Resolution Timer) 1186 | 1187 | # 1188 | # Wi-Fi 1189 | # 1190 | CONFIG_ESP_WIFI_ENABLED=y 1191 | CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 1192 | CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 1193 | CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y 1194 | CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 1195 | CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 1196 | CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32 1197 | CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y 1198 | # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set 1199 | CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 1200 | CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 1201 | # CONFIG_ESP_WIFI_CSI_ENABLED is not set 1202 | CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y 1203 | CONFIG_ESP_WIFI_TX_BA_WIN=6 1204 | CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y 1205 | CONFIG_ESP_WIFI_RX_BA_WIN=6 1206 | # CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set 1207 | CONFIG_ESP_WIFI_NVS_ENABLED=y 1208 | CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y 1209 | # CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set 1210 | CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 1211 | CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 1212 | CONFIG_ESP_WIFI_IRAM_OPT=y 1213 | # CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set 1214 | CONFIG_ESP_WIFI_RX_IRAM_OPT=y 1215 | CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y 1216 | CONFIG_ESP_WIFI_ENABLE_SAE_PK=y 1217 | CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y 1218 | CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y 1219 | # CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set 1220 | CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 1221 | CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 1222 | CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 1223 | # CONFIG_ESP_WIFI_FTM_ENABLE is not set 1224 | CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y 1225 | # CONFIG_ESP_WIFI_GCMP_SUPPORT is not set 1226 | # CONFIG_ESP_WIFI_GMAC_SUPPORT is not set 1227 | CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y 1228 | # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set 1229 | CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 1230 | CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y 1231 | CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y 1232 | # CONFIG_ESP_WIFI_WAPI_PSK is not set 1233 | # CONFIG_ESP_WIFI_SUITE_B_192 is not set 1234 | # CONFIG_ESP_WIFI_11KV_SUPPORT is not set 1235 | # CONFIG_ESP_WIFI_MBO_SUPPORT is not set 1236 | # CONFIG_ESP_WIFI_DPP_SUPPORT is not set 1237 | # CONFIG_ESP_WIFI_11R_SUPPORT is not set 1238 | # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set 1239 | 1240 | # 1241 | # WPS Configuration Options 1242 | # 1243 | # CONFIG_ESP_WIFI_WPS_STRICT is not set 1244 | # CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set 1245 | # end of WPS Configuration Options 1246 | 1247 | # CONFIG_ESP_WIFI_DEBUG_PRINT is not set 1248 | # CONFIG_ESP_WIFI_TESTING_OPTIONS is not set 1249 | CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y 1250 | # CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set 1251 | # end of Wi-Fi 1252 | 1253 | # 1254 | # Core dump 1255 | # 1256 | # CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set 1257 | # CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set 1258 | CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y 1259 | # end of Core dump 1260 | 1261 | # 1262 | # FAT Filesystem support 1263 | # 1264 | CONFIG_FATFS_VOLUME_COUNT=2 1265 | CONFIG_FATFS_LFN_NONE=y 1266 | # CONFIG_FATFS_LFN_HEAP is not set 1267 | # CONFIG_FATFS_LFN_STACK is not set 1268 | # CONFIG_FATFS_SECTOR_512 is not set 1269 | CONFIG_FATFS_SECTOR_4096=y 1270 | # CONFIG_FATFS_CODEPAGE_DYNAMIC is not set 1271 | CONFIG_FATFS_CODEPAGE_437=y 1272 | # CONFIG_FATFS_CODEPAGE_720 is not set 1273 | # CONFIG_FATFS_CODEPAGE_737 is not set 1274 | # CONFIG_FATFS_CODEPAGE_771 is not set 1275 | # CONFIG_FATFS_CODEPAGE_775 is not set 1276 | # CONFIG_FATFS_CODEPAGE_850 is not set 1277 | # CONFIG_FATFS_CODEPAGE_852 is not set 1278 | # CONFIG_FATFS_CODEPAGE_855 is not set 1279 | # CONFIG_FATFS_CODEPAGE_857 is not set 1280 | # CONFIG_FATFS_CODEPAGE_860 is not set 1281 | # CONFIG_FATFS_CODEPAGE_861 is not set 1282 | # CONFIG_FATFS_CODEPAGE_862 is not set 1283 | # CONFIG_FATFS_CODEPAGE_863 is not set 1284 | # CONFIG_FATFS_CODEPAGE_864 is not set 1285 | # CONFIG_FATFS_CODEPAGE_865 is not set 1286 | # CONFIG_FATFS_CODEPAGE_866 is not set 1287 | # CONFIG_FATFS_CODEPAGE_869 is not set 1288 | # CONFIG_FATFS_CODEPAGE_932 is not set 1289 | # CONFIG_FATFS_CODEPAGE_936 is not set 1290 | # CONFIG_FATFS_CODEPAGE_949 is not set 1291 | # CONFIG_FATFS_CODEPAGE_950 is not set 1292 | CONFIG_FATFS_CODEPAGE=437 1293 | CONFIG_FATFS_FS_LOCK=0 1294 | CONFIG_FATFS_TIMEOUT_MS=10000 1295 | CONFIG_FATFS_PER_FILE_CACHE=y 1296 | CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y 1297 | # CONFIG_FATFS_USE_FASTSEEK is not set 1298 | CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 1299 | # CONFIG_FATFS_IMMEDIATE_FSYNC is not set 1300 | # CONFIG_FATFS_USE_LABEL is not set 1301 | CONFIG_FATFS_LINK_LOCK=y 1302 | # end of FAT Filesystem support 1303 | 1304 | # 1305 | # FreeRTOS 1306 | # 1307 | 1308 | # 1309 | # Kernel 1310 | # 1311 | # CONFIG_FREERTOS_SMP is not set 1312 | # CONFIG_FREERTOS_UNICORE is not set 1313 | CONFIG_FREERTOS_HZ=100 1314 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set 1315 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set 1316 | CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y 1317 | CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 1318 | CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 1319 | # CONFIG_FREERTOS_USE_IDLE_HOOK is not set 1320 | # CONFIG_FREERTOS_USE_TICK_HOOK is not set 1321 | CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 1322 | # CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set 1323 | CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" 1324 | # CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set 1325 | # CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set 1326 | CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y 1327 | CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF 1328 | CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 1329 | CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 1330 | CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 1331 | CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 1332 | CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 1333 | # CONFIG_FREERTOS_USE_TRACE_FACILITY is not set 1334 | # CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set 1335 | # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set 1336 | # CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set 1337 | # end of Kernel 1338 | 1339 | # 1340 | # Port 1341 | # 1342 | # CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set 1343 | CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y 1344 | # CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set 1345 | # CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set 1346 | CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y 1347 | CONFIG_FREERTOS_ISR_STACKSIZE=1536 1348 | CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y 1349 | CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y 1350 | CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y 1351 | # CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set 1352 | CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y 1353 | # CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set 1354 | # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set 1355 | # end of Port 1356 | 1357 | CONFIG_FREERTOS_PORT=y 1358 | CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF 1359 | CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y 1360 | CONFIG_FREERTOS_DEBUG_OCDAWARE=y 1361 | CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y 1362 | CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y 1363 | CONFIG_FREERTOS_NUMBER_OF_CORES=2 1364 | # end of FreeRTOS 1365 | 1366 | # 1367 | # Hardware Abstraction Layer (HAL) and Low Level (LL) 1368 | # 1369 | CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y 1370 | # CONFIG_HAL_ASSERTION_DISABLE is not set 1371 | # CONFIG_HAL_ASSERTION_SILENT is not set 1372 | # CONFIG_HAL_ASSERTION_ENABLE is not set 1373 | CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 1374 | CONFIG_HAL_WDT_USE_ROM_IMPL=y 1375 | CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y 1376 | CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y 1377 | # end of Hardware Abstraction Layer (HAL) and Low Level (LL) 1378 | 1379 | # 1380 | # Heap memory debugging 1381 | # 1382 | CONFIG_HEAP_POISONING_DISABLED=y 1383 | # CONFIG_HEAP_POISONING_LIGHT is not set 1384 | # CONFIG_HEAP_POISONING_COMPREHENSIVE is not set 1385 | CONFIG_HEAP_TRACING_OFF=y 1386 | # CONFIG_HEAP_TRACING_STANDALONE is not set 1387 | # CONFIG_HEAP_TRACING_TOHOST is not set 1388 | # CONFIG_HEAP_USE_HOOKS is not set 1389 | # CONFIG_HEAP_TASK_TRACKING is not set 1390 | # CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set 1391 | # CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set 1392 | # end of Heap memory debugging 1393 | 1394 | # 1395 | # Log output 1396 | # 1397 | # CONFIG_LOG_DEFAULT_LEVEL_NONE is not set 1398 | # CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set 1399 | # CONFIG_LOG_DEFAULT_LEVEL_WARN is not set 1400 | CONFIG_LOG_DEFAULT_LEVEL_INFO=y 1401 | # CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set 1402 | # CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set 1403 | CONFIG_LOG_DEFAULT_LEVEL=3 1404 | CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y 1405 | # CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set 1406 | # CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set 1407 | CONFIG_LOG_MAXIMUM_LEVEL=3 1408 | # CONFIG_LOG_MASTER_LEVEL is not set 1409 | CONFIG_LOG_COLORS=y 1410 | CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y 1411 | # CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set 1412 | # end of Log output 1413 | 1414 | # 1415 | # LWIP 1416 | # 1417 | CONFIG_LWIP_ENABLE=y 1418 | CONFIG_LWIP_LOCAL_HOSTNAME="espressif" 1419 | # CONFIG_LWIP_NETIF_API is not set 1420 | CONFIG_LWIP_TCPIP_TASK_PRIO=18 1421 | # CONFIG_LWIP_TCPIP_CORE_LOCKING is not set 1422 | # CONFIG_LWIP_CHECK_THREAD_SAFETY is not set 1423 | CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y 1424 | # CONFIG_LWIP_L2_TO_L3_COPY is not set 1425 | # CONFIG_LWIP_IRAM_OPTIMIZATION is not set 1426 | # CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set 1427 | CONFIG_LWIP_TIMERS_ONDEMAND=y 1428 | CONFIG_LWIP_ND6=y 1429 | # CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set 1430 | CONFIG_LWIP_MAX_SOCKETS=10 1431 | # CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set 1432 | # CONFIG_LWIP_SO_LINGER is not set 1433 | CONFIG_LWIP_SO_REUSE=y 1434 | CONFIG_LWIP_SO_REUSE_RXTOALL=y 1435 | # CONFIG_LWIP_SO_RCVBUF is not set 1436 | # CONFIG_LWIP_NETBUF_RECVINFO is not set 1437 | CONFIG_LWIP_IP_DEFAULT_TTL=64 1438 | CONFIG_LWIP_IP4_FRAG=y 1439 | CONFIG_LWIP_IP6_FRAG=y 1440 | # CONFIG_LWIP_IP4_REASSEMBLY is not set 1441 | # CONFIG_LWIP_IP6_REASSEMBLY is not set 1442 | CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 1443 | # CONFIG_LWIP_IP_FORWARD is not set 1444 | # CONFIG_LWIP_STATS is not set 1445 | CONFIG_LWIP_ESP_GRATUITOUS_ARP=y 1446 | CONFIG_LWIP_GARP_TMR_INTERVAL=60 1447 | CONFIG_LWIP_ESP_MLDV6_REPORT=y 1448 | CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 1449 | CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 1450 | CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y 1451 | # CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set 1452 | CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y 1453 | # CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set 1454 | CONFIG_LWIP_DHCP_OPTIONS_LEN=68 1455 | CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 1456 | CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 1457 | 1458 | # 1459 | # DHCP server 1460 | # 1461 | CONFIG_LWIP_DHCPS=y 1462 | CONFIG_LWIP_DHCPS_LEASE_UNIT=60 1463 | CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 1464 | CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y 1465 | # end of DHCP server 1466 | 1467 | # CONFIG_LWIP_AUTOIP is not set 1468 | CONFIG_LWIP_IPV4=y 1469 | CONFIG_LWIP_IPV6=y 1470 | # CONFIG_LWIP_IPV6_AUTOCONFIG is not set 1471 | CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 1472 | # CONFIG_LWIP_IPV6_FORWARD is not set 1473 | # CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set 1474 | CONFIG_LWIP_NETIF_LOOPBACK=y 1475 | CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 1476 | 1477 | # 1478 | # TCP 1479 | # 1480 | CONFIG_LWIP_MAX_ACTIVE_TCP=16 1481 | CONFIG_LWIP_MAX_LISTENING_TCP=16 1482 | CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y 1483 | CONFIG_LWIP_TCP_MAXRTX=12 1484 | CONFIG_LWIP_TCP_SYNMAXRTX=12 1485 | CONFIG_LWIP_TCP_MSS=1440 1486 | CONFIG_LWIP_TCP_TMR_INTERVAL=250 1487 | CONFIG_LWIP_TCP_MSL=60000 1488 | CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 1489 | CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744 1490 | CONFIG_LWIP_TCP_WND_DEFAULT=5744 1491 | CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 1492 | CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 1493 | CONFIG_LWIP_TCP_QUEUE_OOSEQ=y 1494 | CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 1495 | CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 1496 | # CONFIG_LWIP_TCP_SACK_OUT is not set 1497 | CONFIG_LWIP_TCP_OVERSIZE_MSS=y 1498 | # CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set 1499 | # CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set 1500 | CONFIG_LWIP_TCP_RTO_TIME=1500 1501 | # end of TCP 1502 | 1503 | # 1504 | # UDP 1505 | # 1506 | CONFIG_LWIP_MAX_UDP_PCBS=16 1507 | CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 1508 | # end of UDP 1509 | 1510 | # 1511 | # Checksums 1512 | # 1513 | # CONFIG_LWIP_CHECKSUM_CHECK_IP is not set 1514 | # CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set 1515 | CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y 1516 | # end of Checksums 1517 | 1518 | CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 1519 | CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y 1520 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set 1521 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set 1522 | CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF 1523 | # CONFIG_LWIP_PPP_SUPPORT is not set 1524 | CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 1525 | CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 1526 | # CONFIG_LWIP_SLIP_SUPPORT is not set 1527 | 1528 | # 1529 | # ICMP 1530 | # 1531 | CONFIG_LWIP_ICMP=y 1532 | # CONFIG_LWIP_MULTICAST_PING is not set 1533 | # CONFIG_LWIP_BROADCAST_PING is not set 1534 | # end of ICMP 1535 | 1536 | # 1537 | # LWIP RAW API 1538 | # 1539 | CONFIG_LWIP_MAX_RAW_PCBS=16 1540 | # end of LWIP RAW API 1541 | 1542 | # 1543 | # SNTP 1544 | # 1545 | CONFIG_LWIP_SNTP_MAX_SERVERS=1 1546 | # CONFIG_LWIP_DHCP_GET_NTP_SRV is not set 1547 | CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 1548 | CONFIG_LWIP_SNTP_STARTUP_DELAY=y 1549 | CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 1550 | # end of SNTP 1551 | 1552 | # 1553 | # DNS 1554 | # 1555 | CONFIG_LWIP_DNS_MAX_SERVERS=3 1556 | # CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set 1557 | # end of DNS 1558 | 1559 | CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 1560 | CONFIG_LWIP_ESP_LWIP_ASSERT=y 1561 | 1562 | # 1563 | # Hooks 1564 | # 1565 | # CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set 1566 | CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y 1567 | # CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set 1568 | CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y 1569 | # CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set 1570 | # CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set 1571 | CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y 1572 | # CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set 1573 | # CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set 1574 | CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y 1575 | # CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set 1576 | # CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set 1577 | CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y 1578 | # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set 1579 | # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set 1580 | CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y 1581 | # CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set 1582 | # CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set 1583 | # end of Hooks 1584 | 1585 | # CONFIG_LWIP_DEBUG is not set 1586 | # end of LWIP 1587 | 1588 | # 1589 | # mbedTLS 1590 | # 1591 | CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y 1592 | # CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set 1593 | # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set 1594 | # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set 1595 | CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y 1596 | CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 1597 | CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 1598 | # CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set 1599 | # CONFIG_MBEDTLS_DEBUG is not set 1600 | 1601 | # 1602 | # mbedTLS v3.x related 1603 | # 1604 | # CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set 1605 | # CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set 1606 | # CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set 1607 | # CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set 1608 | CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y 1609 | CONFIG_MBEDTLS_PKCS7_C=y 1610 | # end of mbedTLS v3.x related 1611 | 1612 | # 1613 | # Certificate Bundle 1614 | # 1615 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y 1616 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y 1617 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set 1618 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set 1619 | # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set 1620 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set 1621 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 1622 | # end of Certificate Bundle 1623 | 1624 | # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set 1625 | CONFIG_MBEDTLS_CMAC_C=y 1626 | CONFIG_MBEDTLS_HARDWARE_AES=y 1627 | CONFIG_MBEDTLS_AES_USE_INTERRUPT=y 1628 | CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 1629 | CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y 1630 | CONFIG_MBEDTLS_HARDWARE_MPI=y 1631 | # CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set 1632 | CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y 1633 | CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 1634 | CONFIG_MBEDTLS_HARDWARE_SHA=y 1635 | CONFIG_MBEDTLS_ROM_MD5=y 1636 | # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set 1637 | # CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set 1638 | CONFIG_MBEDTLS_HAVE_TIME=y 1639 | # CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set 1640 | # CONFIG_MBEDTLS_HAVE_TIME_DATE is not set 1641 | CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y 1642 | CONFIG_MBEDTLS_SHA512_C=y 1643 | CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y 1644 | # CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set 1645 | # CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set 1646 | # CONFIG_MBEDTLS_TLS_DISABLED is not set 1647 | CONFIG_MBEDTLS_TLS_SERVER=y 1648 | CONFIG_MBEDTLS_TLS_CLIENT=y 1649 | CONFIG_MBEDTLS_TLS_ENABLED=y 1650 | 1651 | # 1652 | # TLS Key Exchange Methods 1653 | # 1654 | # CONFIG_MBEDTLS_PSK_MODES is not set 1655 | CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y 1656 | CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y 1657 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y 1658 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y 1659 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y 1660 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y 1661 | # end of TLS Key Exchange Methods 1662 | 1663 | CONFIG_MBEDTLS_SSL_RENEGOTIATION=y 1664 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y 1665 | # CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set 1666 | # CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set 1667 | CONFIG_MBEDTLS_SSL_ALPN=y 1668 | CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y 1669 | CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y 1670 | 1671 | # 1672 | # Symmetric Ciphers 1673 | # 1674 | CONFIG_MBEDTLS_AES_C=y 1675 | # CONFIG_MBEDTLS_CAMELLIA_C is not set 1676 | # CONFIG_MBEDTLS_DES_C is not set 1677 | # CONFIG_MBEDTLS_BLOWFISH_C is not set 1678 | # CONFIG_MBEDTLS_XTEA_C is not set 1679 | CONFIG_MBEDTLS_CCM_C=y 1680 | CONFIG_MBEDTLS_GCM_C=y 1681 | # CONFIG_MBEDTLS_NIST_KW_C is not set 1682 | # end of Symmetric Ciphers 1683 | 1684 | # CONFIG_MBEDTLS_RIPEMD160_C is not set 1685 | 1686 | # 1687 | # Certificates 1688 | # 1689 | CONFIG_MBEDTLS_PEM_PARSE_C=y 1690 | CONFIG_MBEDTLS_PEM_WRITE_C=y 1691 | CONFIG_MBEDTLS_X509_CRL_PARSE_C=y 1692 | CONFIG_MBEDTLS_X509_CSR_PARSE_C=y 1693 | # end of Certificates 1694 | 1695 | CONFIG_MBEDTLS_ECP_C=y 1696 | # CONFIG_MBEDTLS_DHM_C is not set 1697 | CONFIG_MBEDTLS_ECDH_C=y 1698 | CONFIG_MBEDTLS_ECDSA_C=y 1699 | # CONFIG_MBEDTLS_ECJPAKE_C is not set 1700 | CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y 1701 | CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y 1702 | CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y 1703 | CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y 1704 | CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y 1705 | CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y 1706 | CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y 1707 | CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y 1708 | CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y 1709 | CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y 1710 | CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y 1711 | CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y 1712 | CONFIG_MBEDTLS_ECP_NIST_OPTIM=y 1713 | CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y 1714 | # CONFIG_MBEDTLS_POLY1305_C is not set 1715 | # CONFIG_MBEDTLS_CHACHA20_C is not set 1716 | # CONFIG_MBEDTLS_HKDF_C is not set 1717 | # CONFIG_MBEDTLS_THREADING_C is not set 1718 | CONFIG_MBEDTLS_ERROR_STRINGS=y 1719 | # end of mbedTLS 1720 | 1721 | # 1722 | # ESP-MQTT Configurations 1723 | # 1724 | CONFIG_MQTT_PROTOCOL_311=y 1725 | # CONFIG_MQTT_PROTOCOL_5 is not set 1726 | CONFIG_MQTT_TRANSPORT_SSL=y 1727 | CONFIG_MQTT_TRANSPORT_WEBSOCKET=y 1728 | CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y 1729 | # CONFIG_MQTT_MSG_ID_INCREMENTAL is not set 1730 | # CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set 1731 | # CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set 1732 | # CONFIG_MQTT_USE_CUSTOM_CONFIG is not set 1733 | # CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set 1734 | # CONFIG_MQTT_CUSTOM_OUTBOX is not set 1735 | # end of ESP-MQTT Configurations 1736 | 1737 | # 1738 | # Newlib 1739 | # 1740 | CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y 1741 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set 1742 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set 1743 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set 1744 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set 1745 | CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y 1746 | # CONFIG_NEWLIB_NANO_FORMAT is not set 1747 | CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y 1748 | # CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set 1749 | # CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set 1750 | # CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set 1751 | # end of Newlib 1752 | 1753 | CONFIG_STDATOMIC_S32C1I_SPIRAM_WORKAROUND=y 1754 | 1755 | # 1756 | # NVS 1757 | # 1758 | # CONFIG_NVS_ENCRYPTION is not set 1759 | # CONFIG_NVS_ASSERT_ERROR_CHECK is not set 1760 | # CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set 1761 | # end of NVS 1762 | 1763 | # 1764 | # OpenThread 1765 | # 1766 | # CONFIG_OPENTHREAD_ENABLED is not set 1767 | 1768 | # 1769 | # Thread Operational Dataset 1770 | # 1771 | CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP" 1772 | CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64" 1773 | CONFIG_OPENTHREAD_NETWORK_CHANNEL=15 1774 | CONFIG_OPENTHREAD_NETWORK_PANID=0x1234 1775 | CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe" 1776 | CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff" 1777 | CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" 1778 | # end of Thread Operational Dataset 1779 | 1780 | CONFIG_OPENTHREAD_XTAL_ACCURACY=130 1781 | # CONFIG_OPENTHREAD_SPINEL_ONLY is not set 1782 | CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE=y 1783 | 1784 | # 1785 | # Thread Address Query Config 1786 | # 1787 | # end of Thread Address Query Config 1788 | # end of OpenThread 1789 | 1790 | # 1791 | # Protocomm 1792 | # 1793 | CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y 1794 | CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y 1795 | CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y 1796 | # end of Protocomm 1797 | 1798 | # 1799 | # PThreads 1800 | # 1801 | CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 1802 | CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 1803 | CONFIG_PTHREAD_STACK_MIN=768 1804 | CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y 1805 | # CONFIG_PTHREAD_DEFAULT_CORE_0 is not set 1806 | # CONFIG_PTHREAD_DEFAULT_CORE_1 is not set 1807 | CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 1808 | CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" 1809 | # end of PThreads 1810 | 1811 | # 1812 | # MMU Config 1813 | # 1814 | CONFIG_MMU_PAGE_SIZE_64KB=y 1815 | CONFIG_MMU_PAGE_MODE="64KB" 1816 | CONFIG_MMU_PAGE_SIZE=0x10000 1817 | # end of MMU Config 1818 | 1819 | # 1820 | # Main Flash configuration 1821 | # 1822 | 1823 | # 1824 | # SPI Flash behavior when brownout 1825 | # 1826 | CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y 1827 | CONFIG_SPI_FLASH_BROWNOUT_RESET=y 1828 | # end of SPI Flash behavior when brownout 1829 | 1830 | # 1831 | # Optional and Experimental Features (READ DOCS FIRST) 1832 | # 1833 | 1834 | # 1835 | # Features here require specific hardware (READ DOCS FIRST!) 1836 | # 1837 | CONFIG_SPI_FLASH_HPM_ENA=y 1838 | # CONFIG_SPI_FLASH_HPM_AUTO is not set 1839 | # CONFIG_SPI_FLASH_HPM_DIS is not set 1840 | CONFIG_SPI_FLASH_HPM_ON=y 1841 | CONFIG_SPI_FLASH_HPM_DC_AUTO=y 1842 | # CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set 1843 | CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y 1844 | # CONFIG_SPI_FLASH_AUTO_SUSPEND is not set 1845 | CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 1846 | # end of Optional and Experimental Features (READ DOCS FIRST) 1847 | # end of Main Flash configuration 1848 | 1849 | # 1850 | # SPI Flash driver 1851 | # 1852 | # CONFIG_SPI_FLASH_VERIFY_WRITE is not set 1853 | # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set 1854 | CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y 1855 | # CONFIG_SPI_FLASH_ROM_IMPL is not set 1856 | CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y 1857 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set 1858 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set 1859 | # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set 1860 | CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y 1861 | CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 1862 | CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 1863 | CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 1864 | # CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set 1865 | # CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set 1866 | # CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set 1867 | 1868 | # 1869 | # Auto-detect flash chips 1870 | # 1871 | CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y 1872 | CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y 1873 | CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y 1874 | CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y 1875 | CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y 1876 | CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y 1877 | CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y 1878 | CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y 1879 | CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y 1880 | CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y 1881 | CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y 1882 | CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y 1883 | CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y 1884 | CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y 1885 | # end of Auto-detect flash chips 1886 | 1887 | CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y 1888 | # end of SPI Flash driver 1889 | 1890 | # 1891 | # SPIFFS Configuration 1892 | # 1893 | CONFIG_SPIFFS_MAX_PARTITIONS=3 1894 | 1895 | # 1896 | # SPIFFS Cache Configuration 1897 | # 1898 | CONFIG_SPIFFS_CACHE=y 1899 | CONFIG_SPIFFS_CACHE_WR=y 1900 | # CONFIG_SPIFFS_CACHE_STATS is not set 1901 | # end of SPIFFS Cache Configuration 1902 | 1903 | CONFIG_SPIFFS_PAGE_CHECK=y 1904 | CONFIG_SPIFFS_GC_MAX_RUNS=10 1905 | # CONFIG_SPIFFS_GC_STATS is not set 1906 | CONFIG_SPIFFS_PAGE_SIZE=256 1907 | CONFIG_SPIFFS_OBJ_NAME_LEN=32 1908 | # CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set 1909 | CONFIG_SPIFFS_USE_MAGIC=y 1910 | CONFIG_SPIFFS_USE_MAGIC_LENGTH=y 1911 | CONFIG_SPIFFS_META_LENGTH=4 1912 | CONFIG_SPIFFS_USE_MTIME=y 1913 | 1914 | # 1915 | # Debug Configuration 1916 | # 1917 | # CONFIG_SPIFFS_DBG is not set 1918 | # CONFIG_SPIFFS_API_DBG is not set 1919 | # CONFIG_SPIFFS_GC_DBG is not set 1920 | # CONFIG_SPIFFS_CACHE_DBG is not set 1921 | # CONFIG_SPIFFS_CHECK_DBG is not set 1922 | # CONFIG_SPIFFS_TEST_VISUALISATION is not set 1923 | # end of Debug Configuration 1924 | # end of SPIFFS Configuration 1925 | 1926 | # 1927 | # TCP Transport 1928 | # 1929 | 1930 | # 1931 | # Websocket 1932 | # 1933 | CONFIG_WS_TRANSPORT=y 1934 | CONFIG_WS_BUFFER_SIZE=1024 1935 | # CONFIG_WS_DYNAMIC_BUFFER is not set 1936 | # end of Websocket 1937 | # end of TCP Transport 1938 | 1939 | # 1940 | # Ultra Low Power (ULP) Co-processor 1941 | # 1942 | # CONFIG_ULP_COPROC_ENABLED is not set 1943 | 1944 | # 1945 | # ULP Debugging Options 1946 | # 1947 | # end of ULP Debugging Options 1948 | # end of Ultra Low Power (ULP) Co-processor 1949 | 1950 | # 1951 | # Unity unit testing library 1952 | # 1953 | CONFIG_UNITY_ENABLE_FLOAT=y 1954 | CONFIG_UNITY_ENABLE_DOUBLE=y 1955 | # CONFIG_UNITY_ENABLE_64BIT is not set 1956 | # CONFIG_UNITY_ENABLE_COLOR is not set 1957 | CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y 1958 | # CONFIG_UNITY_ENABLE_FIXTURE is not set 1959 | # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set 1960 | # end of Unity unit testing library 1961 | 1962 | # 1963 | # USB-OTG 1964 | # 1965 | CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 1966 | CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y 1967 | # CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set 1968 | # CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set 1969 | 1970 | # 1971 | # Root Hub configuration 1972 | # 1973 | CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 1974 | CONFIG_USB_HOST_RESET_HOLD_MS=30 1975 | CONFIG_USB_HOST_RESET_RECOVERY_MS=30 1976 | CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 1977 | # end of Root Hub configuration 1978 | 1979 | # CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set 1980 | CONFIG_USB_OTG_SUPPORTED=y 1981 | # end of USB-OTG 1982 | 1983 | # 1984 | # Virtual file system 1985 | # 1986 | CONFIG_VFS_SUPPORT_IO=y 1987 | CONFIG_VFS_SUPPORT_DIR=y 1988 | CONFIG_VFS_SUPPORT_SELECT=y 1989 | CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y 1990 | # CONFIG_VFS_SELECT_IN_RAM is not set 1991 | CONFIG_VFS_SUPPORT_TERMIOS=y 1992 | CONFIG_VFS_MAX_COUNT=8 1993 | 1994 | # 1995 | # Host File System I/O (Semihosting) 1996 | # 1997 | CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 1998 | # end of Host File System I/O (Semihosting) 1999 | # end of Virtual file system 2000 | 2001 | # 2002 | # Wear Levelling 2003 | # 2004 | # CONFIG_WL_SECTOR_SIZE_512 is not set 2005 | CONFIG_WL_SECTOR_SIZE_4096=y 2006 | CONFIG_WL_SECTOR_SIZE=4096 2007 | # end of Wear Levelling 2008 | 2009 | # 2010 | # Wi-Fi Provisioning Manager 2011 | # 2012 | CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 2013 | CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 2014 | # CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set 2015 | CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y 2016 | # CONFIG_WIFI_PROV_STA_FAST_SCAN is not set 2017 | # end of Wi-Fi Provisioning Manager 2018 | 2019 | # 2020 | # DSP Library 2021 | # 2022 | CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y 2023 | # CONFIG_DSP_ANSI is not set 2024 | CONFIG_DSP_OPTIMIZED=y 2025 | CONFIG_DSP_OPTIMIZATION=1 2026 | # CONFIG_DSP_MAX_FFT_SIZE_512 is not set 2027 | # CONFIG_DSP_MAX_FFT_SIZE_1024 is not set 2028 | # CONFIG_DSP_MAX_FFT_SIZE_2048 is not set 2029 | CONFIG_DSP_MAX_FFT_SIZE_4096=y 2030 | # CONFIG_DSP_MAX_FFT_SIZE_8192 is not set 2031 | # CONFIG_DSP_MAX_FFT_SIZE_16384 is not set 2032 | # CONFIG_DSP_MAX_FFT_SIZE_32768 is not set 2033 | CONFIG_DSP_MAX_FFT_SIZE=4096 2034 | # end of DSP Library 2035 | # end of Component config 2036 | 2037 | # CONFIG_IDF_EXPERIMENTAL_FEATURES is not set 2038 | 2039 | # Deprecated options for backward compatibility 2040 | # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set 2041 | # CONFIG_NO_BLOBS is not set 2042 | # CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set 2043 | # CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set 2044 | # CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set 2045 | CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y 2046 | # CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set 2047 | # CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set 2048 | CONFIG_LOG_BOOTLOADER_LEVEL=3 2049 | # CONFIG_APP_ROLLBACK_ENABLE is not set 2050 | # CONFIG_FLASH_ENCRYPTION_ENABLED is not set 2051 | CONFIG_FLASHMODE_QIO=y 2052 | # CONFIG_FLASHMODE_QOUT is not set 2053 | # CONFIG_FLASHMODE_DIO is not set 2054 | # CONFIG_FLASHMODE_DOUT is not set 2055 | CONFIG_MONITOR_BAUD=115200 2056 | # CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set 2057 | # CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set 2058 | # CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set 2059 | # CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set 2060 | # CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set 2061 | CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y 2062 | # CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set 2063 | # CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set 2064 | CONFIG_OPTIMIZATION_ASSERTION_LEVEL=2 2065 | # CONFIG_CXX_EXCEPTIONS is not set 2066 | CONFIG_STACK_CHECK_NONE=y 2067 | # CONFIG_STACK_CHECK_NORM is not set 2068 | # CONFIG_STACK_CHECK_STRONG is not set 2069 | # CONFIG_STACK_CHECK_ALL is not set 2070 | # CONFIG_WARN_WRITE_STRINGS is not set 2071 | # CONFIG_ESP32_APPTRACE_DEST_TRAX is not set 2072 | CONFIG_ESP32_APPTRACE_DEST_NONE=y 2073 | CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y 2074 | # CONFIG_EXTERNAL_COEX_ENABLE is not set 2075 | # CONFIG_ESP_WIFI_EXTERNAL_COEXIST_ENABLE is not set 2076 | # CONFIG_MCPWM_ISR_IN_IRAM is not set 2077 | # CONFIG_EVENT_LOOP_PROFILING is not set 2078 | CONFIG_POST_EVENTS_FROM_ISR=y 2079 | CONFIG_POST_EVENTS_FROM_IRAM_ISR=y 2080 | CONFIG_GDBSTUB_SUPPORT_TASKS=y 2081 | CONFIG_GDBSTUB_MAX_TASKS=32 2082 | # CONFIG_OTA_ALLOW_HTTP is not set 2083 | CONFIG_ESP32S3_DEEP_SLEEP_WAKEUP_DELAY=2000 2084 | CONFIG_ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY=2000 2085 | CONFIG_ESP32S3_RTC_CLK_SRC_INT_RC=y 2086 | # CONFIG_ESP32S3_RTC_CLK_SRC_EXT_CRYS is not set 2087 | # CONFIG_ESP32S3_RTC_CLK_SRC_EXT_OSC is not set 2088 | # CONFIG_ESP32S3_RTC_CLK_SRC_INT_8MD256 is not set 2089 | CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=1024 2090 | CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y 2091 | # CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set 2092 | CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 2093 | CONFIG_ESP32_PHY_MAX_TX_POWER=20 2094 | # CONFIG_REDUCE_PHY_TX_POWER is not set 2095 | # CONFIG_ESP32_REDUCE_PHY_TX_POWER is not set 2096 | CONFIG_ESP_SYSTEM_PM_POWER_DOWN_CPU=y 2097 | CONFIG_PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP=y 2098 | CONFIG_ESP32S3_SPIRAM_SUPPORT=y 2099 | CONFIG_DEFAULT_PSRAM_CLK_IO=30 2100 | CONFIG_DEFAULT_PSRAM_CS_IO=26 2101 | # CONFIG_ESP32S3_DEFAULT_CPU_FREQ_80 is not set 2102 | # CONFIG_ESP32S3_DEFAULT_CPU_FREQ_160 is not set 2103 | CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240=y 2104 | CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ=240 2105 | CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 2106 | CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 2107 | CONFIG_MAIN_TASK_STACK_SIZE=3584 2108 | CONFIG_CONSOLE_UART_DEFAULT=y 2109 | # CONFIG_CONSOLE_UART_CUSTOM is not set 2110 | # CONFIG_CONSOLE_UART_NONE is not set 2111 | # CONFIG_ESP_CONSOLE_UART_NONE is not set 2112 | CONFIG_CONSOLE_UART=y 2113 | CONFIG_CONSOLE_UART_NUM=0 2114 | CONFIG_CONSOLE_UART_BAUDRATE=115200 2115 | CONFIG_INT_WDT=y 2116 | CONFIG_INT_WDT_TIMEOUT_MS=300 2117 | CONFIG_INT_WDT_CHECK_CPU1=y 2118 | CONFIG_TASK_WDT=y 2119 | CONFIG_ESP_TASK_WDT=y 2120 | # CONFIG_TASK_WDT_PANIC is not set 2121 | CONFIG_TASK_WDT_TIMEOUT_S=5 2122 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y 2123 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y 2124 | # CONFIG_ESP32_DEBUG_STUBS_ENABLE is not set 2125 | CONFIG_ESP32S3_DEBUG_OCDAWARE=y 2126 | CONFIG_BROWNOUT_DET=y 2127 | CONFIG_ESP32S3_BROWNOUT_DET=y 2128 | CONFIG_ESP32S3_BROWNOUT_DET=y 2129 | CONFIG_BROWNOUT_DET_LVL_SEL_7=y 2130 | CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_7=y 2131 | # CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set 2132 | # CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_6 is not set 2133 | # CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set 2134 | # CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_5 is not set 2135 | # CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set 2136 | # CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_4 is not set 2137 | # CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set 2138 | # CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_3 is not set 2139 | # CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set 2140 | # CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_2 is not set 2141 | # CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set 2142 | # CONFIG_ESP32S3_BROWNOUT_DET_LVL_SEL_1 is not set 2143 | CONFIG_BROWNOUT_DET_LVL=7 2144 | CONFIG_ESP32S3_BROWNOUT_DET_LVL=7 2145 | CONFIG_IPC_TASK_STACK_SIZE=1280 2146 | CONFIG_TIMER_TASK_STACK_SIZE=3584 2147 | CONFIG_ESP32_WIFI_ENABLED=y 2148 | CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 2149 | CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 2150 | CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y 2151 | CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 2152 | CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 2153 | CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=32 2154 | # CONFIG_ESP32_WIFI_CSI_ENABLED is not set 2155 | CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y 2156 | CONFIG_ESP32_WIFI_TX_BA_WIN=6 2157 | CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y 2158 | CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y 2159 | CONFIG_ESP32_WIFI_RX_BA_WIN=6 2160 | CONFIG_ESP32_WIFI_RX_BA_WIN=6 2161 | # CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set 2162 | CONFIG_ESP32_WIFI_NVS_ENABLED=y 2163 | CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y 2164 | # CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set 2165 | CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 2166 | CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 2167 | CONFIG_ESP32_WIFI_IRAM_OPT=y 2168 | CONFIG_ESP32_WIFI_RX_IRAM_OPT=y 2169 | CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y 2170 | CONFIG_ESP32_WIFI_ENABLE_WPA3_OWE_STA=y 2171 | CONFIG_WPA_MBEDTLS_CRYPTO=y 2172 | CONFIG_WPA_MBEDTLS_TLS_CLIENT=y 2173 | # CONFIG_WPA_WAPI_PSK is not set 2174 | # CONFIG_WPA_SUITE_B_192 is not set 2175 | # CONFIG_WPA_11KV_SUPPORT is not set 2176 | # CONFIG_WPA_MBO_SUPPORT is not set 2177 | # CONFIG_WPA_DPP_SUPPORT is not set 2178 | # CONFIG_WPA_11R_SUPPORT is not set 2179 | # CONFIG_WPA_WPS_SOFTAP_REGISTRAR is not set 2180 | # CONFIG_WPA_WPS_STRICT is not set 2181 | # CONFIG_WPA_DEBUG_PRINT is not set 2182 | # CONFIG_WPA_TESTING_OPTIONS is not set 2183 | # CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set 2184 | # CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set 2185 | CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y 2186 | CONFIG_TIMER_TASK_PRIORITY=1 2187 | CONFIG_TIMER_TASK_STACK_DEPTH=2048 2188 | CONFIG_TIMER_QUEUE_LENGTH=10 2189 | # CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK is not set 2190 | # CONFIG_HAL_ASSERTION_SILIENT is not set 2191 | # CONFIG_L2_TO_L3_COPY is not set 2192 | CONFIG_ESP_GRATUITOUS_ARP=y 2193 | CONFIG_GARP_TMR_INTERVAL=60 2194 | CONFIG_TCPIP_RECVMBOX_SIZE=32 2195 | CONFIG_TCP_MAXRTX=12 2196 | CONFIG_TCP_SYNMAXRTX=12 2197 | CONFIG_TCP_MSS=1440 2198 | CONFIG_TCP_MSL=60000 2199 | CONFIG_TCP_SND_BUF_DEFAULT=5744 2200 | CONFIG_TCP_WND_DEFAULT=5744 2201 | CONFIG_TCP_RECVMBOX_SIZE=6 2202 | CONFIG_TCP_QUEUE_OOSEQ=y 2203 | CONFIG_TCP_OVERSIZE_MSS=y 2204 | # CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set 2205 | # CONFIG_TCP_OVERSIZE_DISABLE is not set 2206 | CONFIG_UDP_RECVMBOX_SIZE=6 2207 | CONFIG_TCPIP_TASK_STACK_SIZE=3072 2208 | CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y 2209 | # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set 2210 | # CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set 2211 | CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF 2212 | # CONFIG_PPP_SUPPORT is not set 2213 | CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_SYSTIMER=y 2214 | CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC_FRC1=y 2215 | # CONFIG_ESP32S3_TIME_SYSCALL_USE_RTC is not set 2216 | # CONFIG_ESP32S3_TIME_SYSCALL_USE_SYSTIMER is not set 2217 | # CONFIG_ESP32S3_TIME_SYSCALL_USE_FRC1 is not set 2218 | # CONFIG_ESP32S3_TIME_SYSCALL_USE_NONE is not set 2219 | CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 2220 | CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 2221 | CONFIG_ESP32_PTHREAD_STACK_MIN=768 2222 | CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y 2223 | # CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set 2224 | # CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set 2225 | CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 2226 | CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" 2227 | CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y 2228 | # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set 2229 | # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set 2230 | CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y 2231 | CONFIG_SUPPORT_TERMIOS=y 2232 | CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 2233 | # End of deprecated options 2234 | -------------------------------------------------------------------------------- /sdkconfig.ci: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DaveBben/esp32-llm/934dab4d242d259abd88678488ea3b62d4fca601/sdkconfig.ci -------------------------------------------------------------------------------- /sdkconfig.old: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated file. DO NOT EDIT. 3 | # Espressif IoT Development Framework (ESP-IDF) 5.3.0 Project Configuration 4 | # 5 | CONFIG_SOC_MPU_MIN_REGION_SIZE=0x20000000 6 | CONFIG_SOC_MPU_REGIONS_MAX_NUM=8 7 | CONFIG_SOC_ADC_SUPPORTED=y 8 | CONFIG_SOC_UART_SUPPORTED=y 9 | CONFIG_SOC_PCNT_SUPPORTED=y 10 | CONFIG_SOC_PHY_SUPPORTED=y 11 | CONFIG_SOC_WIFI_SUPPORTED=y 12 | CONFIG_SOC_TWAI_SUPPORTED=y 13 | CONFIG_SOC_GDMA_SUPPORTED=y 14 | CONFIG_SOC_AHB_GDMA_SUPPORTED=y 15 | CONFIG_SOC_GPTIMER_SUPPORTED=y 16 | CONFIG_SOC_LCDCAM_SUPPORTED=y 17 | CONFIG_SOC_MCPWM_SUPPORTED=y 18 | CONFIG_SOC_DEDICATED_GPIO_SUPPORTED=y 19 | CONFIG_SOC_CACHE_SUPPORT_WRAP=y 20 | CONFIG_SOC_ULP_SUPPORTED=y 21 | CONFIG_SOC_ULP_FSM_SUPPORTED=y 22 | CONFIG_SOC_RISCV_COPROC_SUPPORTED=y 23 | CONFIG_SOC_BT_SUPPORTED=y 24 | CONFIG_SOC_USB_OTG_SUPPORTED=y 25 | CONFIG_SOC_USB_SERIAL_JTAG_SUPPORTED=y 26 | CONFIG_SOC_CCOMP_TIMER_SUPPORTED=y 27 | CONFIG_SOC_ASYNC_MEMCPY_SUPPORTED=y 28 | CONFIG_SOC_SUPPORTS_SECURE_DL_MODE=y 29 | CONFIG_SOC_EFUSE_KEY_PURPOSE_FIELD=y 30 | CONFIG_SOC_EFUSE_SUPPORTED=y 31 | CONFIG_SOC_SDMMC_HOST_SUPPORTED=y 32 | CONFIG_SOC_RTC_FAST_MEM_SUPPORTED=y 33 | CONFIG_SOC_RTC_SLOW_MEM_SUPPORTED=y 34 | CONFIG_SOC_RTC_MEM_SUPPORTED=y 35 | CONFIG_SOC_PSRAM_DMA_CAPABLE=y 36 | CONFIG_SOC_XT_WDT_SUPPORTED=y 37 | CONFIG_SOC_I2S_SUPPORTED=y 38 | CONFIG_SOC_RMT_SUPPORTED=y 39 | CONFIG_SOC_SDM_SUPPORTED=y 40 | CONFIG_SOC_GPSPI_SUPPORTED=y 41 | CONFIG_SOC_LEDC_SUPPORTED=y 42 | CONFIG_SOC_I2C_SUPPORTED=y 43 | CONFIG_SOC_SYSTIMER_SUPPORTED=y 44 | CONFIG_SOC_SUPPORT_COEXISTENCE=y 45 | CONFIG_SOC_TEMP_SENSOR_SUPPORTED=y 46 | CONFIG_SOC_AES_SUPPORTED=y 47 | CONFIG_SOC_MPI_SUPPORTED=y 48 | CONFIG_SOC_SHA_SUPPORTED=y 49 | CONFIG_SOC_HMAC_SUPPORTED=y 50 | CONFIG_SOC_DIG_SIGN_SUPPORTED=y 51 | CONFIG_SOC_FLASH_ENC_SUPPORTED=y 52 | CONFIG_SOC_SECURE_BOOT_SUPPORTED=y 53 | CONFIG_SOC_MEMPROT_SUPPORTED=y 54 | CONFIG_SOC_TOUCH_SENSOR_SUPPORTED=y 55 | CONFIG_SOC_BOD_SUPPORTED=y 56 | CONFIG_SOC_CLK_TREE_SUPPORTED=y 57 | CONFIG_SOC_MPU_SUPPORTED=y 58 | CONFIG_SOC_WDT_SUPPORTED=y 59 | CONFIG_SOC_SPI_FLASH_SUPPORTED=y 60 | CONFIG_SOC_RNG_SUPPORTED=y 61 | CONFIG_SOC_LIGHT_SLEEP_SUPPORTED=y 62 | CONFIG_SOC_DEEP_SLEEP_SUPPORTED=y 63 | CONFIG_SOC_LP_PERIPH_SHARE_INTERRUPT=y 64 | CONFIG_SOC_PM_SUPPORTED=y 65 | CONFIG_SOC_XTAL_SUPPORT_40M=y 66 | CONFIG_SOC_APPCPU_HAS_CLOCK_GATING_BUG=y 67 | CONFIG_SOC_ADC_RTC_CTRL_SUPPORTED=y 68 | CONFIG_SOC_ADC_DIG_CTRL_SUPPORTED=y 69 | CONFIG_SOC_ADC_ARBITER_SUPPORTED=y 70 | CONFIG_SOC_ADC_DIG_IIR_FILTER_SUPPORTED=y 71 | CONFIG_SOC_ADC_MONITOR_SUPPORTED=y 72 | CONFIG_SOC_ADC_DMA_SUPPORTED=y 73 | CONFIG_SOC_ADC_PERIPH_NUM=2 74 | CONFIG_SOC_ADC_MAX_CHANNEL_NUM=10 75 | CONFIG_SOC_ADC_ATTEN_NUM=4 76 | CONFIG_SOC_ADC_DIGI_CONTROLLER_NUM=2 77 | CONFIG_SOC_ADC_PATT_LEN_MAX=24 78 | CONFIG_SOC_ADC_DIGI_MIN_BITWIDTH=12 79 | CONFIG_SOC_ADC_DIGI_MAX_BITWIDTH=12 80 | CONFIG_SOC_ADC_DIGI_RESULT_BYTES=4 81 | CONFIG_SOC_ADC_DIGI_DATA_BYTES_PER_CONV=4 82 | CONFIG_SOC_ADC_DIGI_IIR_FILTER_NUM=2 83 | CONFIG_SOC_ADC_DIGI_MONITOR_NUM=2 84 | CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_HIGH=83333 85 | CONFIG_SOC_ADC_SAMPLE_FREQ_THRES_LOW=611 86 | CONFIG_SOC_ADC_RTC_MIN_BITWIDTH=12 87 | CONFIG_SOC_ADC_RTC_MAX_BITWIDTH=12 88 | CONFIG_SOC_ADC_CALIBRATION_V1_SUPPORTED=y 89 | CONFIG_SOC_ADC_SELF_HW_CALI_SUPPORTED=y 90 | CONFIG_SOC_ADC_SHARED_POWER=y 91 | CONFIG_SOC_APB_BACKUP_DMA=y 92 | CONFIG_SOC_BROWNOUT_RESET_SUPPORTED=y 93 | CONFIG_SOC_CACHE_WRITEBACK_SUPPORTED=y 94 | CONFIG_SOC_CACHE_FREEZE_SUPPORTED=y 95 | CONFIG_SOC_CPU_CORES_NUM=2 96 | CONFIG_SOC_CPU_INTR_NUM=32 97 | CONFIG_SOC_CPU_HAS_FPU=y 98 | CONFIG_SOC_HP_CPU_HAS_MULTIPLE_CORES=y 99 | CONFIG_SOC_CPU_BREAKPOINTS_NUM=2 100 | CONFIG_SOC_CPU_WATCHPOINTS_NUM=2 101 | CONFIG_SOC_CPU_WATCHPOINT_MAX_REGION_SIZE=64 102 | CONFIG_SOC_DS_SIGNATURE_MAX_BIT_LEN=4096 103 | CONFIG_SOC_DS_KEY_PARAM_MD_IV_LENGTH=16 104 | CONFIG_SOC_DS_KEY_CHECK_MAX_WAIT_US=1100 105 | CONFIG_SOC_AHB_GDMA_VERSION=1 106 | CONFIG_SOC_GDMA_NUM_GROUPS_MAX=1 107 | CONFIG_SOC_GDMA_PAIRS_PER_GROUP=5 108 | CONFIG_SOC_GDMA_PAIRS_PER_GROUP_MAX=5 109 | CONFIG_SOC_AHB_GDMA_SUPPORT_PSRAM=y 110 | CONFIG_SOC_GPIO_PORT=1 111 | CONFIG_SOC_GPIO_PIN_COUNT=49 112 | CONFIG_SOC_GPIO_SUPPORT_PIN_GLITCH_FILTER=y 113 | CONFIG_SOC_GPIO_FILTER_CLK_SUPPORT_APB=y 114 | CONFIG_SOC_GPIO_SUPPORT_RTC_INDEPENDENT=y 115 | CONFIG_SOC_GPIO_SUPPORT_FORCE_HOLD=y 116 | CONFIG_SOC_GPIO_VALID_GPIO_MASK=0x1FFFFFFFFFFFF 117 | CONFIG_SOC_GPIO_IN_RANGE_MAX=48 118 | CONFIG_SOC_GPIO_OUT_RANGE_MAX=48 119 | CONFIG_SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK=0x0001FFFFFC000000 120 | CONFIG_SOC_GPIO_CLOCKOUT_BY_IO_MUX=y 121 | CONFIG_SOC_GPIO_CLOCKOUT_CHANNEL_NUM=3 122 | CONFIG_SOC_DEDIC_GPIO_OUT_CHANNELS_NUM=8 123 | CONFIG_SOC_DEDIC_GPIO_IN_CHANNELS_NUM=8 124 | CONFIG_SOC_DEDIC_GPIO_OUT_AUTO_ENABLE=y 125 | CONFIG_SOC_I2C_NUM=2 126 | CONFIG_SOC_HP_I2C_NUM=2 127 | CONFIG_SOC_I2C_FIFO_LEN=32 128 | CONFIG_SOC_I2C_CMD_REG_NUM=8 129 | CONFIG_SOC_I2C_SUPPORT_SLAVE=y 130 | CONFIG_SOC_I2C_SUPPORT_HW_CLR_BUS=y 131 | CONFIG_SOC_I2C_SUPPORT_XTAL=y 132 | CONFIG_SOC_I2C_SUPPORT_RTC=y 133 | CONFIG_SOC_I2C_SUPPORT_10BIT_ADDR=y 134 | CONFIG_SOC_I2C_SLAVE_SUPPORT_BROADCAST=y 135 | CONFIG_SOC_I2C_SLAVE_SUPPORT_I2CRAM_ACCESS=y 136 | CONFIG_SOC_I2S_NUM=2 137 | CONFIG_SOC_I2S_HW_VERSION_2=y 138 | CONFIG_SOC_I2S_SUPPORTS_XTAL=y 139 | CONFIG_SOC_I2S_SUPPORTS_PLL_F160M=y 140 | CONFIG_SOC_I2S_SUPPORTS_PCM=y 141 | CONFIG_SOC_I2S_SUPPORTS_PDM=y 142 | CONFIG_SOC_I2S_SUPPORTS_PDM_TX=y 143 | CONFIG_SOC_I2S_PDM_MAX_TX_LINES=2 144 | CONFIG_SOC_I2S_SUPPORTS_PDM_RX=y 145 | CONFIG_SOC_I2S_PDM_MAX_RX_LINES=4 146 | CONFIG_SOC_I2S_SUPPORTS_TDM=y 147 | CONFIG_SOC_LEDC_SUPPORT_APB_CLOCK=y 148 | CONFIG_SOC_LEDC_SUPPORT_XTAL_CLOCK=y 149 | CONFIG_SOC_LEDC_CHANNEL_NUM=8 150 | CONFIG_SOC_LEDC_TIMER_BIT_WIDTH=14 151 | CONFIG_SOC_LEDC_SUPPORT_FADE_STOP=y 152 | CONFIG_SOC_MCPWM_GROUPS=2 153 | CONFIG_SOC_MCPWM_TIMERS_PER_GROUP=3 154 | CONFIG_SOC_MCPWM_OPERATORS_PER_GROUP=3 155 | CONFIG_SOC_MCPWM_COMPARATORS_PER_OPERATOR=2 156 | CONFIG_SOC_MCPWM_GENERATORS_PER_OPERATOR=2 157 | CONFIG_SOC_MCPWM_TRIGGERS_PER_OPERATOR=2 158 | CONFIG_SOC_MCPWM_GPIO_FAULTS_PER_GROUP=3 159 | CONFIG_SOC_MCPWM_CAPTURE_TIMERS_PER_GROUP=y 160 | CONFIG_SOC_MCPWM_CAPTURE_CHANNELS_PER_TIMER=3 161 | CONFIG_SOC_MCPWM_GPIO_SYNCHROS_PER_GROUP=3 162 | CONFIG_SOC_MCPWM_SWSYNC_CAN_PROPAGATE=y 163 | CONFIG_SOC_MMU_LINEAR_ADDRESS_REGION_NUM=1 164 | CONFIG_SOC_MMU_PERIPH_NUM=1 165 | CONFIG_SOC_PCNT_GROUPS=1 166 | CONFIG_SOC_PCNT_UNITS_PER_GROUP=4 167 | CONFIG_SOC_PCNT_CHANNELS_PER_UNIT=2 168 | CONFIG_SOC_PCNT_THRES_POINT_PER_UNIT=2 169 | CONFIG_SOC_RMT_GROUPS=1 170 | CONFIG_SOC_RMT_TX_CANDIDATES_PER_GROUP=4 171 | CONFIG_SOC_RMT_RX_CANDIDATES_PER_GROUP=4 172 | CONFIG_SOC_RMT_CHANNELS_PER_GROUP=8 173 | CONFIG_SOC_RMT_MEM_WORDS_PER_CHANNEL=48 174 | CONFIG_SOC_RMT_SUPPORT_RX_PINGPONG=y 175 | CONFIG_SOC_RMT_SUPPORT_RX_DEMODULATION=y 176 | CONFIG_SOC_RMT_SUPPORT_TX_ASYNC_STOP=y 177 | CONFIG_SOC_RMT_SUPPORT_TX_LOOP_COUNT=y 178 | CONFIG_SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP=y 179 | CONFIG_SOC_RMT_SUPPORT_TX_SYNCHRO=y 180 | CONFIG_SOC_RMT_SUPPORT_TX_CARRIER_DATA_ONLY=y 181 | CONFIG_SOC_RMT_SUPPORT_XTAL=y 182 | CONFIG_SOC_RMT_SUPPORT_RC_FAST=y 183 | CONFIG_SOC_RMT_SUPPORT_APB=y 184 | CONFIG_SOC_RMT_SUPPORT_DMA=y 185 | CONFIG_SOC_LCD_I80_SUPPORTED=y 186 | CONFIG_SOC_LCD_RGB_SUPPORTED=y 187 | CONFIG_SOC_LCD_I80_BUSES=1 188 | CONFIG_SOC_LCD_RGB_PANELS=1 189 | CONFIG_SOC_LCD_I80_BUS_WIDTH=16 190 | CONFIG_SOC_LCD_RGB_DATA_WIDTH=16 191 | CONFIG_SOC_LCD_SUPPORT_RGB_YUV_CONV=y 192 | CONFIG_SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH=128 193 | CONFIG_SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM=549 194 | CONFIG_SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH=128 195 | CONFIG_SOC_RTCIO_PIN_COUNT=22 196 | CONFIG_SOC_RTCIO_INPUT_OUTPUT_SUPPORTED=y 197 | CONFIG_SOC_RTCIO_HOLD_SUPPORTED=y 198 | CONFIG_SOC_RTCIO_WAKE_SUPPORTED=y 199 | CONFIG_SOC_SDM_GROUPS=y 200 | CONFIG_SOC_SDM_CHANNELS_PER_GROUP=8 201 | CONFIG_SOC_SDM_CLK_SUPPORT_APB=y 202 | CONFIG_SOC_SPI_PERIPH_NUM=3 203 | CONFIG_SOC_SPI_MAX_CS_NUM=6 204 | CONFIG_SOC_SPI_MAXIMUM_BUFFER_SIZE=64 205 | CONFIG_SOC_SPI_SUPPORT_DDRCLK=y 206 | CONFIG_SOC_SPI_SLAVE_SUPPORT_SEG_TRANS=y 207 | CONFIG_SOC_SPI_SUPPORT_CD_SIG=y 208 | CONFIG_SOC_SPI_SUPPORT_CONTINUOUS_TRANS=y 209 | CONFIG_SOC_SPI_SUPPORT_SLAVE_HD_VER2=y 210 | CONFIG_SOC_SPI_SUPPORT_CLK_APB=y 211 | CONFIG_SOC_SPI_SUPPORT_CLK_XTAL=y 212 | CONFIG_SOC_SPI_PERIPH_SUPPORT_CONTROL_DUMMY_OUT=y 213 | CONFIG_SOC_MEMSPI_IS_INDEPENDENT=y 214 | CONFIG_SOC_SPI_MAX_PRE_DIVIDER=16 215 | CONFIG_SOC_SPI_SUPPORT_OCT=y 216 | CONFIG_SOC_SPI_SCT_SUPPORTED=y 217 | CONFIG_SOC_SPI_SCT_REG_NUM=14 218 | CONFIG_SOC_SPI_SCT_BUFFER_NUM_MAX=y 219 | CONFIG_SOC_SPI_SCT_CONF_BITLEN_MAX=0x3FFFA 220 | CONFIG_SOC_MEMSPI_SRC_FREQ_120M=y 221 | CONFIG_SOC_MEMSPI_SRC_FREQ_80M_SUPPORTED=y 222 | CONFIG_SOC_MEMSPI_SRC_FREQ_40M_SUPPORTED=y 223 | CONFIG_SOC_MEMSPI_SRC_FREQ_20M_SUPPORTED=y 224 | CONFIG_SOC_SPIRAM_SUPPORTED=y 225 | CONFIG_SOC_SPIRAM_XIP_SUPPORTED=y 226 | CONFIG_SOC_SYSTIMER_COUNTER_NUM=2 227 | CONFIG_SOC_SYSTIMER_ALARM_NUM=3 228 | CONFIG_SOC_SYSTIMER_BIT_WIDTH_LO=32 229 | CONFIG_SOC_SYSTIMER_BIT_WIDTH_HI=20 230 | CONFIG_SOC_SYSTIMER_FIXED_DIVIDER=y 231 | CONFIG_SOC_SYSTIMER_INT_LEVEL=y 232 | CONFIG_SOC_SYSTIMER_ALARM_MISS_COMPENSATE=y 233 | CONFIG_SOC_TIMER_GROUPS=2 234 | CONFIG_SOC_TIMER_GROUP_TIMERS_PER_GROUP=2 235 | CONFIG_SOC_TIMER_GROUP_COUNTER_BIT_WIDTH=54 236 | CONFIG_SOC_TIMER_GROUP_SUPPORT_XTAL=y 237 | CONFIG_SOC_TIMER_GROUP_SUPPORT_APB=y 238 | CONFIG_SOC_TIMER_GROUP_TOTAL_TIMERS=4 239 | CONFIG_SOC_TOUCH_SENSOR_VERSION=2 240 | CONFIG_SOC_TOUCH_SENSOR_NUM=15 241 | CONFIG_SOC_TOUCH_SUPPORT_SLEEP_WAKEUP=y 242 | CONFIG_SOC_TOUCH_SUPPORT_WATERPROOF=y 243 | CONFIG_SOC_TOUCH_SUPPORT_PROX_SENSING=y 244 | CONFIG_SOC_TOUCH_PROXIMITY_CHANNEL_NUM=3 245 | CONFIG_SOC_TOUCH_PROXIMITY_MEAS_DONE_SUPPORTED=y 246 | CONFIG_SOC_TOUCH_SAMPLE_CFG_NUM=1 247 | CONFIG_SOC_TWAI_CONTROLLER_NUM=1 248 | CONFIG_SOC_TWAI_CLK_SUPPORT_APB=y 249 | CONFIG_SOC_TWAI_BRP_MIN=2 250 | CONFIG_SOC_TWAI_BRP_MAX=16384 251 | CONFIG_SOC_TWAI_SUPPORTS_RX_STATUS=y 252 | CONFIG_SOC_UART_NUM=3 253 | CONFIG_SOC_UART_HP_NUM=3 254 | CONFIG_SOC_UART_FIFO_LEN=128 255 | CONFIG_SOC_UART_BITRATE_MAX=5000000 256 | CONFIG_SOC_UART_SUPPORT_FSM_TX_WAIT_SEND=y 257 | CONFIG_SOC_UART_SUPPORT_WAKEUP_INT=y 258 | CONFIG_SOC_UART_SUPPORT_APB_CLK=y 259 | CONFIG_SOC_UART_SUPPORT_RTC_CLK=y 260 | CONFIG_SOC_UART_SUPPORT_XTAL_CLK=y 261 | CONFIG_SOC_USB_OTG_PERIPH_NUM=1 262 | CONFIG_SOC_SHA_DMA_MAX_BUFFER_SIZE=3968 263 | CONFIG_SOC_SHA_SUPPORT_DMA=y 264 | CONFIG_SOC_SHA_SUPPORT_RESUME=y 265 | CONFIG_SOC_SHA_GDMA=y 266 | CONFIG_SOC_SHA_SUPPORT_SHA1=y 267 | CONFIG_SOC_SHA_SUPPORT_SHA224=y 268 | CONFIG_SOC_SHA_SUPPORT_SHA256=y 269 | CONFIG_SOC_SHA_SUPPORT_SHA384=y 270 | CONFIG_SOC_SHA_SUPPORT_SHA512=y 271 | CONFIG_SOC_SHA_SUPPORT_SHA512_224=y 272 | CONFIG_SOC_SHA_SUPPORT_SHA512_256=y 273 | CONFIG_SOC_SHA_SUPPORT_SHA512_T=y 274 | CONFIG_SOC_MPI_MEM_BLOCKS_NUM=4 275 | CONFIG_SOC_MPI_OPERATIONS_NUM=3 276 | CONFIG_SOC_RSA_MAX_BIT_LEN=4096 277 | CONFIG_SOC_AES_SUPPORT_DMA=y 278 | CONFIG_SOC_AES_GDMA=y 279 | CONFIG_SOC_AES_SUPPORT_AES_128=y 280 | CONFIG_SOC_AES_SUPPORT_AES_256=y 281 | CONFIG_SOC_PM_SUPPORT_EXT0_WAKEUP=y 282 | CONFIG_SOC_PM_SUPPORT_EXT1_WAKEUP=y 283 | CONFIG_SOC_PM_SUPPORT_EXT_WAKEUP=y 284 | CONFIG_SOC_PM_SUPPORT_WIFI_WAKEUP=y 285 | CONFIG_SOC_PM_SUPPORT_BT_WAKEUP=y 286 | CONFIG_SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP=y 287 | CONFIG_SOC_PM_SUPPORT_CPU_PD=y 288 | CONFIG_SOC_PM_SUPPORT_TAGMEM_PD=y 289 | CONFIG_SOC_PM_SUPPORT_RTC_PERIPH_PD=y 290 | CONFIG_SOC_PM_SUPPORT_RC_FAST_PD=y 291 | CONFIG_SOC_PM_SUPPORT_VDDSDIO_PD=y 292 | CONFIG_SOC_PM_SUPPORT_MAC_BB_PD=y 293 | CONFIG_SOC_PM_SUPPORT_MODEM_PD=y 294 | CONFIG_SOC_CONFIGURABLE_VDDSDIO_SUPPORTED=y 295 | CONFIG_SOC_PM_SUPPORT_DEEPSLEEP_CHECK_STUB_ONLY=y 296 | CONFIG_SOC_PM_CPU_RETENTION_BY_RTCCNTL=y 297 | CONFIG_SOC_PM_MODEM_RETENTION_BY_BACKUPDMA=y 298 | CONFIG_SOC_CLK_RC_FAST_D256_SUPPORTED=y 299 | CONFIG_SOC_RTC_SLOW_CLK_SUPPORT_RC_FAST_D256=y 300 | CONFIG_SOC_CLK_RC_FAST_SUPPORT_CALIBRATION=y 301 | CONFIG_SOC_CLK_XTAL32K_SUPPORTED=y 302 | CONFIG_SOC_EFUSE_DIS_DOWNLOAD_ICACHE=y 303 | CONFIG_SOC_EFUSE_DIS_DOWNLOAD_DCACHE=y 304 | CONFIG_SOC_EFUSE_HARD_DIS_JTAG=y 305 | CONFIG_SOC_EFUSE_DIS_USB_JTAG=y 306 | CONFIG_SOC_EFUSE_SOFT_DIS_JTAG=y 307 | CONFIG_SOC_EFUSE_DIS_DIRECT_BOOT=y 308 | CONFIG_SOC_EFUSE_DIS_ICACHE=y 309 | CONFIG_SOC_EFUSE_BLOCK9_KEY_PURPOSE_QUIRK=y 310 | CONFIG_SOC_SECURE_BOOT_V2_RSA=y 311 | CONFIG_SOC_EFUSE_SECURE_BOOT_KEY_DIGESTS=3 312 | CONFIG_SOC_EFUSE_REVOKE_BOOT_KEY_DIGESTS=y 313 | CONFIG_SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY=y 314 | CONFIG_SOC_FLASH_ENCRYPTED_XTS_AES_BLOCK_MAX=64 315 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES=y 316 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_OPTIONS=y 317 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128=y 318 | CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_256=y 319 | CONFIG_SOC_MEMPROT_CPU_PREFETCH_PAD_SIZE=16 320 | CONFIG_SOC_MEMPROT_MEM_ALIGN_SIZE=256 321 | CONFIG_SOC_PHY_DIG_REGS_MEM_SIZE=21 322 | CONFIG_SOC_MAC_BB_PD_MEM_SIZE=192 323 | CONFIG_SOC_WIFI_LIGHT_SLEEP_CLK_WIDTH=12 324 | CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_WAIT_IDLE=y 325 | CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_SUSPEND=y 326 | CONFIG_SOC_SPI_MEM_SUPPORT_AUTO_RESUME=y 327 | CONFIG_SOC_SPI_MEM_SUPPORT_SW_SUSPEND=y 328 | CONFIG_SOC_SPI_MEM_SUPPORT_OPI_MODE=y 329 | CONFIG_SOC_SPI_MEM_SUPPORT_TIMING_TUNING=y 330 | CONFIG_SOC_SPI_MEM_SUPPORT_CONFIG_GPIO_BY_EFUSE=y 331 | CONFIG_SOC_SPI_MEM_SUPPORT_WRAP=y 332 | CONFIG_SOC_MEMSPI_TIMING_TUNING_BY_MSPI_DELAY=y 333 | CONFIG_SOC_MEMSPI_CORE_CLK_SHARED_WITH_PSRAM=y 334 | CONFIG_SOC_COEX_HW_PTI=y 335 | CONFIG_SOC_EXTERNAL_COEX_LEADER_TX_LINE=y 336 | CONFIG_SOC_SDMMC_USE_GPIO_MATRIX=y 337 | CONFIG_SOC_SDMMC_NUM_SLOTS=2 338 | CONFIG_SOC_SDMMC_SUPPORT_XTAL_CLOCK=y 339 | CONFIG_SOC_SDMMC_DELAY_PHASE_NUM=4 340 | CONFIG_SOC_TEMPERATURE_SENSOR_SUPPORT_FAST_RC=y 341 | CONFIG_SOC_WIFI_HW_TSF=y 342 | CONFIG_SOC_WIFI_FTM_SUPPORT=y 343 | CONFIG_SOC_WIFI_GCMP_SUPPORT=y 344 | CONFIG_SOC_WIFI_WAPI_SUPPORT=y 345 | CONFIG_SOC_WIFI_CSI_SUPPORT=y 346 | CONFIG_SOC_WIFI_MESH_SUPPORT=y 347 | CONFIG_SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW=y 348 | CONFIG_SOC_WIFI_PHY_NEEDS_USB_WORKAROUND=y 349 | CONFIG_SOC_BLE_SUPPORTED=y 350 | CONFIG_SOC_BLE_MESH_SUPPORTED=y 351 | CONFIG_SOC_BLE_50_SUPPORTED=y 352 | CONFIG_SOC_BLE_DEVICE_PRIVACY_SUPPORTED=y 353 | CONFIG_SOC_BLUFI_SUPPORTED=y 354 | CONFIG_SOC_ULP_HAS_ADC=y 355 | CONFIG_SOC_PHY_COMBO_MODULE=y 356 | CONFIG_IDF_CMAKE=y 357 | CONFIG_IDF_TOOLCHAIN="gcc" 358 | CONFIG_IDF_TARGET_ARCH_XTENSA=y 359 | CONFIG_IDF_TARGET_ARCH="xtensa" 360 | CONFIG_IDF_TARGET="esp32s3" 361 | CONFIG_IDF_INIT_VERSION="5.3.0" 362 | CONFIG_IDF_TARGET_ESP32S3=y 363 | CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 364 | 365 | # 366 | # Build type 367 | # 368 | CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y 369 | # CONFIG_APP_BUILD_TYPE_RAM is not set 370 | CONFIG_APP_BUILD_GENERATE_BINARIES=y 371 | CONFIG_APP_BUILD_BOOTLOADER=y 372 | CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y 373 | # CONFIG_APP_REPRODUCIBLE_BUILD is not set 374 | # CONFIG_APP_NO_BLOBS is not set 375 | # end of Build type 376 | 377 | # 378 | # Bootloader config 379 | # 380 | 381 | # 382 | # Bootloader manager 383 | # 384 | CONFIG_BOOTLOADER_COMPILE_TIME_DATE=y 385 | CONFIG_BOOTLOADER_PROJECT_VER=1 386 | # end of Bootloader manager 387 | 388 | CONFIG_BOOTLOADER_OFFSET_IN_FLASH=0x0 389 | CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y 390 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set 391 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set 392 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set 393 | # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set 394 | # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set 395 | # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set 396 | CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y 397 | # CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set 398 | # CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set 399 | CONFIG_BOOTLOADER_LOG_LEVEL=3 400 | 401 | # 402 | # Serial Flash Configurations 403 | # 404 | # CONFIG_BOOTLOADER_FLASH_DC_AWARE is not set 405 | CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT=y 406 | # end of Serial Flash Configurations 407 | 408 | CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y 409 | # CONFIG_BOOTLOADER_FACTORY_RESET is not set 410 | # CONFIG_BOOTLOADER_APP_TEST is not set 411 | CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE=y 412 | CONFIG_BOOTLOADER_WDT_ENABLE=y 413 | # CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set 414 | CONFIG_BOOTLOADER_WDT_TIME_MS=9000 415 | # CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set 416 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set 417 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_ON_POWER_ON is not set 418 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS is not set 419 | CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 420 | # CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set 421 | # end of Bootloader config 422 | 423 | # 424 | # Security features 425 | # 426 | CONFIG_SECURE_BOOT_V2_RSA_SUPPORTED=y 427 | CONFIG_SECURE_BOOT_V2_PREFERRED=y 428 | # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set 429 | # CONFIG_SECURE_BOOT is not set 430 | # CONFIG_SECURE_FLASH_ENC_ENABLED is not set 431 | CONFIG_SECURE_ROM_DL_MODE_ENABLED=y 432 | # end of Security features 433 | 434 | # 435 | # Application manager 436 | # 437 | CONFIG_APP_COMPILE_TIME_DATE=y 438 | # CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set 439 | # CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set 440 | # CONFIG_APP_PROJECT_VER_FROM_CONFIG is not set 441 | CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16 442 | # end of Application manager 443 | 444 | CONFIG_ESP_ROM_HAS_CRC_LE=y 445 | CONFIG_ESP_ROM_HAS_CRC_BE=y 446 | CONFIG_ESP_ROM_HAS_MZ_CRC32=y 447 | CONFIG_ESP_ROM_HAS_JPEG_DECODE=y 448 | CONFIG_ESP_ROM_UART_CLK_IS_XTAL=y 449 | CONFIG_ESP_ROM_HAS_RETARGETABLE_LOCKING=y 450 | CONFIG_ESP_ROM_USB_OTG_NUM=3 451 | CONFIG_ESP_ROM_USB_SERIAL_DEVICE_NUM=4 452 | CONFIG_ESP_ROM_HAS_ERASE_0_REGION_BUG=y 453 | CONFIG_ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV=y 454 | CONFIG_ESP_ROM_GET_CLK_FREQ=y 455 | CONFIG_ESP_ROM_HAS_HAL_WDT=y 456 | CONFIG_ESP_ROM_NEEDS_SWSETUP_WORKAROUND=y 457 | CONFIG_ESP_ROM_HAS_LAYOUT_TABLE=y 458 | CONFIG_ESP_ROM_HAS_SPI_FLASH=y 459 | CONFIG_ESP_ROM_HAS_ETS_PRINTF_BUG=y 460 | CONFIG_ESP_ROM_HAS_NEWLIB=y 461 | CONFIG_ESP_ROM_HAS_NEWLIB_NANO_FORMAT=y 462 | CONFIG_ESP_ROM_HAS_NEWLIB_32BIT_TIME=y 463 | CONFIG_ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE=y 464 | CONFIG_ESP_ROM_RAM_APP_NEEDS_MMU_INIT=y 465 | CONFIG_ESP_ROM_HAS_FLASH_COUNT_PAGES_BUG=y 466 | CONFIG_ESP_ROM_HAS_CACHE_SUSPEND_WAITI_BUG=y 467 | CONFIG_ESP_ROM_HAS_CACHE_WRITEBACK_BUG=y 468 | CONFIG_ESP_ROM_HAS_SW_FLOAT=y 469 | CONFIG_ESP_ROM_HAS_VERSION=y 470 | CONFIG_ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB=y 471 | 472 | # 473 | # Boot ROM Behavior 474 | # 475 | CONFIG_BOOT_ROM_LOG_ALWAYS_ON=y 476 | # CONFIG_BOOT_ROM_LOG_ALWAYS_OFF is not set 477 | # CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH is not set 478 | # CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW is not set 479 | # end of Boot ROM Behavior 480 | 481 | # 482 | # Serial flasher config 483 | # 484 | # CONFIG_ESPTOOLPY_NO_STUB is not set 485 | # CONFIG_ESPTOOLPY_OCT_FLASH is not set 486 | CONFIG_ESPTOOLPY_FLASH_MODE_AUTO_DETECT=y 487 | CONFIG_ESPTOOLPY_FLASHMODE_QIO=y 488 | # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set 489 | # CONFIG_ESPTOOLPY_FLASHMODE_DIO is not set 490 | # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set 491 | CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_STR=y 492 | CONFIG_ESPTOOLPY_FLASHMODE="dio" 493 | # CONFIG_ESPTOOLPY_FLASHFREQ_120M is not set 494 | CONFIG_ESPTOOLPY_FLASHFREQ_80M=y 495 | # CONFIG_ESPTOOLPY_FLASHFREQ_40M is not set 496 | # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set 497 | CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y 498 | CONFIG_ESPTOOLPY_FLASHFREQ="80m" 499 | # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set 500 | # CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set 501 | CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y 502 | # CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set 503 | # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set 504 | # CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set 505 | # CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set 506 | # CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set 507 | CONFIG_ESPTOOLPY_FLASHSIZE="4MB" 508 | CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE=y 509 | CONFIG_ESPTOOLPY_BEFORE_RESET=y 510 | # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set 511 | CONFIG_ESPTOOLPY_BEFORE="default_reset" 512 | CONFIG_ESPTOOLPY_AFTER_RESET=y 513 | # CONFIG_ESPTOOLPY_AFTER_NORESET is not set 514 | CONFIG_ESPTOOLPY_AFTER="hard_reset" 515 | CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 516 | # end of Serial flasher config 517 | 518 | # 519 | # Partition Table 520 | # 521 | # CONFIG_PARTITION_TABLE_SINGLE_APP is not set 522 | # CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE is not set 523 | # CONFIG_PARTITION_TABLE_TWO_OTA is not set 524 | CONFIG_PARTITION_TABLE_CUSTOM=y 525 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 526 | CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" 527 | CONFIG_PARTITION_TABLE_OFFSET=0x8000 528 | CONFIG_PARTITION_TABLE_MD5=y 529 | # end of Partition Table 530 | 531 | # 532 | # Compiler options 533 | # 534 | # CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set 535 | # CONFIG_COMPILER_OPTIMIZATION_SIZE is not set 536 | CONFIG_COMPILER_OPTIMIZATION_PERF=y 537 | # CONFIG_COMPILER_OPTIMIZATION_NONE is not set 538 | CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y 539 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set 540 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set 541 | CONFIG_COMPILER_FLOAT_LIB_FROM_GCCLIB=y 542 | CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL=2 543 | # CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT is not set 544 | CONFIG_COMPILER_HIDE_PATHS_MACROS=y 545 | # CONFIG_COMPILER_CXX_EXCEPTIONS is not set 546 | # CONFIG_COMPILER_CXX_RTTI is not set 547 | CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y 548 | # CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set 549 | # CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set 550 | # CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set 551 | # CONFIG_COMPILER_WARN_WRITE_STRINGS is not set 552 | # CONFIG_COMPILER_DISABLE_GCC12_WARNINGS is not set 553 | # CONFIG_COMPILER_DISABLE_GCC13_WARNINGS is not set 554 | # CONFIG_COMPILER_DUMP_RTL_FILES is not set 555 | CONFIG_COMPILER_RT_LIB_GCCLIB=y 556 | CONFIG_COMPILER_RT_LIB_NAME="gcc" 557 | # CONFIG_COMPILER_ORPHAN_SECTIONS_WARNING is not set 558 | CONFIG_COMPILER_ORPHAN_SECTIONS_PLACE=y 559 | # end of Compiler options 560 | 561 | # 562 | # Component config 563 | # 564 | 565 | # 566 | # Application Level Tracing 567 | # 568 | # CONFIG_APPTRACE_DEST_JTAG is not set 569 | CONFIG_APPTRACE_DEST_NONE=y 570 | # CONFIG_APPTRACE_DEST_UART1 is not set 571 | # CONFIG_APPTRACE_DEST_UART2 is not set 572 | # CONFIG_APPTRACE_DEST_USB_CDC is not set 573 | CONFIG_APPTRACE_DEST_UART_NONE=y 574 | CONFIG_APPTRACE_UART_TASK_PRIO=1 575 | CONFIG_APPTRACE_LOCK_ENABLE=y 576 | # end of Application Level Tracing 577 | 578 | # 579 | # Bluetooth 580 | # 581 | # CONFIG_BT_ENABLED is not set 582 | CONFIG_BT_ALARM_MAX_NUM=50 583 | # end of Bluetooth 584 | 585 | # 586 | # Console Library 587 | # 588 | # CONFIG_CONSOLE_SORTED_HELP is not set 589 | # end of Console Library 590 | 591 | # 592 | # Driver Configurations 593 | # 594 | 595 | # 596 | # TWAI Configuration 597 | # 598 | # CONFIG_TWAI_ISR_IN_IRAM is not set 599 | CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM=y 600 | # end of TWAI Configuration 601 | 602 | # 603 | # Legacy ADC Driver Configuration 604 | # 605 | # CONFIG_ADC_SUPPRESS_DEPRECATE_WARN is not set 606 | 607 | # 608 | # Legacy ADC Calibration Configuration 609 | # 610 | # CONFIG_ADC_CALI_SUPPRESS_DEPRECATE_WARN is not set 611 | # end of Legacy ADC Calibration Configuration 612 | # end of Legacy ADC Driver Configuration 613 | 614 | # 615 | # Legacy MCPWM Driver Configurations 616 | # 617 | # CONFIG_MCPWM_SUPPRESS_DEPRECATE_WARN is not set 618 | # end of Legacy MCPWM Driver Configurations 619 | 620 | # 621 | # Legacy Timer Group Driver Configurations 622 | # 623 | # CONFIG_GPTIMER_SUPPRESS_DEPRECATE_WARN is not set 624 | # end of Legacy Timer Group Driver Configurations 625 | 626 | # 627 | # Legacy RMT Driver Configurations 628 | # 629 | # CONFIG_RMT_SUPPRESS_DEPRECATE_WARN is not set 630 | # end of Legacy RMT Driver Configurations 631 | 632 | # 633 | # Legacy I2S Driver Configurations 634 | # 635 | # CONFIG_I2S_SUPPRESS_DEPRECATE_WARN is not set 636 | # end of Legacy I2S Driver Configurations 637 | 638 | # 639 | # Legacy PCNT Driver Configurations 640 | # 641 | # CONFIG_PCNT_SUPPRESS_DEPRECATE_WARN is not set 642 | # end of Legacy PCNT Driver Configurations 643 | 644 | # 645 | # Legacy SDM Driver Configurations 646 | # 647 | # CONFIG_SDM_SUPPRESS_DEPRECATE_WARN is not set 648 | # end of Legacy SDM Driver Configurations 649 | 650 | # 651 | # Legacy Temperature Sensor Driver Configurations 652 | # 653 | # CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN is not set 654 | # end of Legacy Temperature Sensor Driver Configurations 655 | # end of Driver Configurations 656 | 657 | # 658 | # eFuse Bit Manager 659 | # 660 | # CONFIG_EFUSE_CUSTOM_TABLE is not set 661 | # CONFIG_EFUSE_VIRTUAL is not set 662 | CONFIG_EFUSE_MAX_BLK_LEN=256 663 | # end of eFuse Bit Manager 664 | 665 | # 666 | # ESP-TLS 667 | # 668 | CONFIG_ESP_TLS_USING_MBEDTLS=y 669 | CONFIG_ESP_TLS_USE_DS_PERIPHERAL=y 670 | # CONFIG_ESP_TLS_CLIENT_SESSION_TICKETS is not set 671 | # CONFIG_ESP_TLS_SERVER_SESSION_TICKETS is not set 672 | # CONFIG_ESP_TLS_SERVER_CERT_SELECT_HOOK is not set 673 | # CONFIG_ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL is not set 674 | # CONFIG_ESP_TLS_PSK_VERIFICATION is not set 675 | # CONFIG_ESP_TLS_INSECURE is not set 676 | # end of ESP-TLS 677 | 678 | # 679 | # ADC and ADC Calibration 680 | # 681 | # CONFIG_ADC_ONESHOT_CTRL_FUNC_IN_IRAM is not set 682 | # CONFIG_ADC_CONTINUOUS_ISR_IRAM_SAFE is not set 683 | # CONFIG_ADC_CONTINUOUS_FORCE_USE_ADC2_ON_C3_S3 is not set 684 | # CONFIG_ADC_ENABLE_DEBUG_LOG is not set 685 | # end of ADC and ADC Calibration 686 | 687 | # 688 | # Wireless Coexistence 689 | # 690 | CONFIG_ESP_COEX_ENABLED=y 691 | # CONFIG_ESP_COEX_EXTERNAL_COEXIST_ENABLE is not set 692 | # end of Wireless Coexistence 693 | 694 | # 695 | # Common ESP-related 696 | # 697 | CONFIG_ESP_ERR_TO_NAME_LOOKUP=y 698 | # end of Common ESP-related 699 | 700 | # 701 | # ESP-Driver:GPIO Configurations 702 | # 703 | # CONFIG_GPIO_CTRL_FUNC_IN_IRAM is not set 704 | # end of ESP-Driver:GPIO Configurations 705 | 706 | # 707 | # ESP-Driver:GPTimer Configurations 708 | # 709 | CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM=y 710 | # CONFIG_GPTIMER_CTRL_FUNC_IN_IRAM is not set 711 | # CONFIG_GPTIMER_ISR_IRAM_SAFE is not set 712 | # CONFIG_GPTIMER_ENABLE_DEBUG_LOG is not set 713 | # end of ESP-Driver:GPTimer Configurations 714 | 715 | # 716 | # ESP-Driver:I2C Configurations 717 | # 718 | # CONFIG_I2C_ISR_IRAM_SAFE is not set 719 | # CONFIG_I2C_ENABLE_DEBUG_LOG is not set 720 | # end of ESP-Driver:I2C Configurations 721 | 722 | # 723 | # ESP-Driver:I2S Configurations 724 | # 725 | # CONFIG_I2S_ISR_IRAM_SAFE is not set 726 | # CONFIG_I2S_ENABLE_DEBUG_LOG is not set 727 | # end of ESP-Driver:I2S Configurations 728 | 729 | # 730 | # ESP-Driver:LEDC Configurations 731 | # 732 | # CONFIG_LEDC_CTRL_FUNC_IN_IRAM is not set 733 | # end of ESP-Driver:LEDC Configurations 734 | 735 | # 736 | # ESP-Driver:MCPWM Configurations 737 | # 738 | # CONFIG_MCPWM_ISR_IRAM_SAFE is not set 739 | # CONFIG_MCPWM_CTRL_FUNC_IN_IRAM is not set 740 | # CONFIG_MCPWM_ENABLE_DEBUG_LOG is not set 741 | # end of ESP-Driver:MCPWM Configurations 742 | 743 | # 744 | # ESP-Driver:PCNT Configurations 745 | # 746 | # CONFIG_PCNT_CTRL_FUNC_IN_IRAM is not set 747 | # CONFIG_PCNT_ISR_IRAM_SAFE is not set 748 | # CONFIG_PCNT_ENABLE_DEBUG_LOG is not set 749 | # end of ESP-Driver:PCNT Configurations 750 | 751 | # 752 | # ESP-Driver:RMT Configurations 753 | # 754 | # CONFIG_RMT_ISR_IRAM_SAFE is not set 755 | # CONFIG_RMT_RECV_FUNC_IN_IRAM is not set 756 | # CONFIG_RMT_ENABLE_DEBUG_LOG is not set 757 | # end of ESP-Driver:RMT Configurations 758 | 759 | # 760 | # ESP-Driver:Sigma Delta Modulator Configurations 761 | # 762 | # CONFIG_SDM_CTRL_FUNC_IN_IRAM is not set 763 | # CONFIG_SDM_ENABLE_DEBUG_LOG is not set 764 | # end of ESP-Driver:Sigma Delta Modulator Configurations 765 | 766 | # 767 | # ESP-Driver:SPI Configurations 768 | # 769 | # CONFIG_SPI_MASTER_IN_IRAM is not set 770 | CONFIG_SPI_MASTER_ISR_IN_IRAM=y 771 | # CONFIG_SPI_SLAVE_IN_IRAM is not set 772 | CONFIG_SPI_SLAVE_ISR_IN_IRAM=y 773 | # end of ESP-Driver:SPI Configurations 774 | 775 | # 776 | # ESP-Driver:Touch Sensor Configurations 777 | # 778 | # CONFIG_TOUCH_CTRL_FUNC_IN_IRAM is not set 779 | # CONFIG_TOUCH_ISR_IRAM_SAFE is not set 780 | # CONFIG_TOUCH_ENABLE_DEBUG_LOG is not set 781 | # end of ESP-Driver:Touch Sensor Configurations 782 | 783 | # 784 | # ESP-Driver:Temperature Sensor Configurations 785 | # 786 | # CONFIG_TEMP_SENSOR_ENABLE_DEBUG_LOG is not set 787 | # end of ESP-Driver:Temperature Sensor Configurations 788 | 789 | # 790 | # ESP-Driver:UART Configurations 791 | # 792 | # CONFIG_UART_ISR_IN_IRAM is not set 793 | # end of ESP-Driver:UART Configurations 794 | 795 | # 796 | # ESP-Driver:USB Serial/JTAG Configuration 797 | # 798 | CONFIG_USJ_ENABLE_USB_SERIAL_JTAG=y 799 | # end of ESP-Driver:USB Serial/JTAG Configuration 800 | 801 | # 802 | # Ethernet 803 | # 804 | CONFIG_ETH_ENABLED=y 805 | CONFIG_ETH_USE_SPI_ETHERNET=y 806 | # CONFIG_ETH_SPI_ETHERNET_DM9051 is not set 807 | # CONFIG_ETH_SPI_ETHERNET_W5500 is not set 808 | # CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL is not set 809 | # CONFIG_ETH_USE_OPENETH is not set 810 | # CONFIG_ETH_TRANSMIT_MUTEX is not set 811 | # end of Ethernet 812 | 813 | # 814 | # Event Loop Library 815 | # 816 | # CONFIG_ESP_EVENT_LOOP_PROFILING is not set 817 | CONFIG_ESP_EVENT_POST_FROM_ISR=y 818 | CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y 819 | # end of Event Loop Library 820 | 821 | # 822 | # GDB Stub 823 | # 824 | CONFIG_ESP_GDBSTUB_ENABLED=y 825 | # CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME is not set 826 | CONFIG_ESP_GDBSTUB_SUPPORT_TASKS=y 827 | CONFIG_ESP_GDBSTUB_MAX_TASKS=32 828 | # end of GDB Stub 829 | 830 | # 831 | # ESP HTTP client 832 | # 833 | CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y 834 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set 835 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set 836 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_CUSTOM_TRANSPORT is not set 837 | # end of ESP HTTP client 838 | 839 | # 840 | # HTTP Server 841 | # 842 | CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 843 | CONFIG_HTTPD_MAX_URI_LEN=512 844 | CONFIG_HTTPD_ERR_RESP_NO_DELAY=y 845 | CONFIG_HTTPD_PURGE_BUF_LEN=32 846 | # CONFIG_HTTPD_LOG_PURGE_DATA is not set 847 | # CONFIG_HTTPD_WS_SUPPORT is not set 848 | # CONFIG_HTTPD_QUEUE_WORK_BLOCKING is not set 849 | # end of HTTP Server 850 | 851 | # 852 | # ESP HTTPS OTA 853 | # 854 | # CONFIG_ESP_HTTPS_OTA_DECRYPT_CB is not set 855 | # CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP is not set 856 | # end of ESP HTTPS OTA 857 | 858 | # 859 | # ESP HTTPS server 860 | # 861 | # CONFIG_ESP_HTTPS_SERVER_ENABLE is not set 862 | # end of ESP HTTPS server 863 | 864 | # 865 | # Hardware Settings 866 | # 867 | 868 | # 869 | # Chip revision 870 | # 871 | CONFIG_ESP32S3_REV_MIN_0=y 872 | # CONFIG_ESP32S3_REV_MIN_1 is not set 873 | # CONFIG_ESP32S3_REV_MIN_2 is not set 874 | CONFIG_ESP32S3_REV_MIN_FULL=0 875 | CONFIG_ESP_REV_MIN_FULL=0 876 | 877 | # 878 | # Maximum Supported ESP32-S3 Revision (Rev v0.99) 879 | # 880 | CONFIG_ESP32S3_REV_MAX_FULL=99 881 | CONFIG_ESP_REV_MAX_FULL=99 882 | # end of Chip revision 883 | 884 | # 885 | # MAC Config 886 | # 887 | CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y 888 | CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y 889 | CONFIG_ESP_MAC_ADDR_UNIVERSE_BT=y 890 | CONFIG_ESP_MAC_ADDR_UNIVERSE_ETH=y 891 | CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES_FOUR=y 892 | CONFIG_ESP_MAC_UNIVERSAL_MAC_ADDRESSES=4 893 | # CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_TWO is not set 894 | CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES_FOUR=y 895 | CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES=4 896 | # CONFIG_ESP_MAC_USE_CUSTOM_MAC_AS_BASE_MAC is not set 897 | # end of MAC Config 898 | 899 | # 900 | # Sleep Config 901 | # 902 | CONFIG_ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND=y 903 | CONFIG_ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND=y 904 | CONFIG_ESP_SLEEP_MSPI_NEED_ALL_IO_PU=y 905 | CONFIG_ESP_SLEEP_RTC_BUS_ISO_WORKAROUND=y 906 | CONFIG_ESP_SLEEP_GPIO_RESET_WORKAROUND=y 907 | CONFIG_ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY=2000 908 | # CONFIG_ESP_SLEEP_CACHE_SAFE_ASSERTION is not set 909 | # CONFIG_ESP_SLEEP_DEBUG is not set 910 | CONFIG_ESP_SLEEP_GPIO_ENABLE_INTERNAL_RESISTORS=y 911 | # end of Sleep Config 912 | 913 | # 914 | # RTC Clock Config 915 | # 916 | CONFIG_RTC_CLK_SRC_INT_RC=y 917 | # CONFIG_RTC_CLK_SRC_EXT_CRYS is not set 918 | # CONFIG_RTC_CLK_SRC_EXT_OSC is not set 919 | # CONFIG_RTC_CLK_SRC_INT_8MD256 is not set 920 | CONFIG_RTC_CLK_CAL_CYCLES=1024 921 | # end of RTC Clock Config 922 | 923 | # 924 | # Peripheral Control 925 | # 926 | CONFIG_PERIPH_CTRL_FUNC_IN_IRAM=y 927 | # end of Peripheral Control 928 | 929 | # 930 | # GDMA Configurations 931 | # 932 | CONFIG_GDMA_CTRL_FUNC_IN_IRAM=y 933 | # CONFIG_GDMA_ISR_IRAM_SAFE is not set 934 | # CONFIG_GDMA_ENABLE_DEBUG_LOG is not set 935 | # end of GDMA Configurations 936 | 937 | # 938 | # Main XTAL Config 939 | # 940 | CONFIG_XTAL_FREQ_40=y 941 | CONFIG_XTAL_FREQ=40 942 | # end of Main XTAL Config 943 | 944 | CONFIG_ESP_SPI_BUS_LOCK_ISR_FUNCS_IN_IRAM=y 945 | # end of Hardware Settings 946 | 947 | # 948 | # LCD and Touch Panel 949 | # 950 | 951 | # 952 | # LCD Touch Drivers are maintained in the IDF Component Registry 953 | # 954 | 955 | # 956 | # LCD Peripheral Configuration 957 | # 958 | CONFIG_LCD_PANEL_IO_FORMAT_BUF_SIZE=32 959 | # CONFIG_LCD_ENABLE_DEBUG_LOG is not set 960 | # CONFIG_LCD_RGB_ISR_IRAM_SAFE is not set 961 | # CONFIG_LCD_RGB_RESTART_IN_VSYNC is not set 962 | # end of LCD Peripheral Configuration 963 | # end of LCD and Touch Panel 964 | 965 | # 966 | # ESP NETIF Adapter 967 | # 968 | CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 969 | CONFIG_ESP_NETIF_TCPIP_LWIP=y 970 | # CONFIG_ESP_NETIF_LOOPBACK is not set 971 | CONFIG_ESP_NETIF_USES_TCPIP_WITH_BSD_API=y 972 | # CONFIG_ESP_NETIF_RECEIVE_REPORT_ERRORS is not set 973 | # CONFIG_ESP_NETIF_L2_TAP is not set 974 | # CONFIG_ESP_NETIF_BRIDGE_EN is not set 975 | # end of ESP NETIF Adapter 976 | 977 | # 978 | # Partition API Configuration 979 | # 980 | # end of Partition API Configuration 981 | 982 | # 983 | # PHY 984 | # 985 | CONFIG_ESP_PHY_ENABLED=y 986 | CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE=y 987 | # CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION is not set 988 | CONFIG_ESP_PHY_MAX_WIFI_TX_POWER=20 989 | CONFIG_ESP_PHY_MAX_TX_POWER=20 990 | # CONFIG_ESP_PHY_REDUCE_TX_POWER is not set 991 | CONFIG_ESP_PHY_ENABLE_USB=y 992 | # CONFIG_ESP_PHY_ENABLE_CERT_TEST is not set 993 | CONFIG_ESP_PHY_RF_CAL_PARTIAL=y 994 | # CONFIG_ESP_PHY_RF_CAL_NONE is not set 995 | # CONFIG_ESP_PHY_RF_CAL_FULL is not set 996 | CONFIG_ESP_PHY_CALIBRATION_MODE=0 997 | # CONFIG_ESP_PHY_PLL_TRACK_DEBUG is not set 998 | # end of PHY 999 | 1000 | # 1001 | # Power Management 1002 | # 1003 | # CONFIG_PM_ENABLE is not set 1004 | CONFIG_PM_POWER_DOWN_CPU_IN_LIGHT_SLEEP=y 1005 | CONFIG_PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP=y 1006 | # end of Power Management 1007 | 1008 | # 1009 | # ESP PSRAM 1010 | # 1011 | CONFIG_SPIRAM=y 1012 | 1013 | # 1014 | # SPI RAM config 1015 | # 1016 | CONFIG_SPIRAM_MODE_QUAD=y 1017 | # CONFIG_SPIRAM_MODE_OCT is not set 1018 | CONFIG_SPIRAM_TYPE_AUTO=y 1019 | # CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set 1020 | # CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set 1021 | # CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set 1022 | CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY=y 1023 | CONFIG_SPIRAM_CLK_IO=30 1024 | CONFIG_SPIRAM_CS_IO=26 1025 | # CONFIG_SPIRAM_XIP_FROM_PSRAM is not set 1026 | # CONFIG_SPIRAM_FETCH_INSTRUCTIONS is not set 1027 | # CONFIG_SPIRAM_RODATA is not set 1028 | CONFIG_SPIRAM_SPEED_120M=y 1029 | # CONFIG_SPIRAM_SPEED_80M is not set 1030 | # CONFIG_SPIRAM_SPEED_40M is not set 1031 | CONFIG_SPIRAM_SPEED=120 1032 | CONFIG_SPIRAM_BOOT_INIT=y 1033 | # CONFIG_SPIRAM_IGNORE_NOTFOUND is not set 1034 | # CONFIG_SPIRAM_USE_MEMMAP is not set 1035 | # CONFIG_SPIRAM_USE_CAPS_ALLOC is not set 1036 | CONFIG_SPIRAM_USE_MALLOC=y 1037 | CONFIG_SPIRAM_MEMTEST=y 1038 | CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384 1039 | # CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set 1040 | CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 1041 | # CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set 1042 | # end of SPI RAM config 1043 | # end of ESP PSRAM 1044 | 1045 | # 1046 | # ESP Ringbuf 1047 | # 1048 | # CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH is not set 1049 | # end of ESP Ringbuf 1050 | 1051 | # 1052 | # ESP System Settings 1053 | # 1054 | # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80 is not set 1055 | # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set 1056 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y 1057 | CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 1058 | 1059 | # 1060 | # Cache config 1061 | # 1062 | # CONFIG_ESP32S3_INSTRUCTION_CACHE_16KB is not set 1063 | CONFIG_ESP32S3_INSTRUCTION_CACHE_32KB=y 1064 | CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE=0x8000 1065 | # CONFIG_ESP32S3_INSTRUCTION_CACHE_4WAYS is not set 1066 | CONFIG_ESP32S3_INSTRUCTION_CACHE_8WAYS=y 1067 | CONFIG_ESP32S3_ICACHE_ASSOCIATED_WAYS=8 1068 | CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_32B=y 1069 | CONFIG_ESP32S3_INSTRUCTION_CACHE_LINE_SIZE=32 1070 | # CONFIG_ESP32S3_DATA_CACHE_16KB is not set 1071 | # CONFIG_ESP32S3_DATA_CACHE_32KB is not set 1072 | CONFIG_ESP32S3_DATA_CACHE_64KB=y 1073 | CONFIG_ESP32S3_DATA_CACHE_SIZE=0x10000 1074 | # CONFIG_ESP32S3_DATA_CACHE_4WAYS is not set 1075 | CONFIG_ESP32S3_DATA_CACHE_8WAYS=y 1076 | CONFIG_ESP32S3_DCACHE_ASSOCIATED_WAYS=8 1077 | CONFIG_ESP32S3_DATA_CACHE_LINE_32B=y 1078 | # CONFIG_ESP32S3_DATA_CACHE_LINE_64B is not set 1079 | CONFIG_ESP32S3_DATA_CACHE_LINE_SIZE=32 1080 | # end of Cache config 1081 | 1082 | # 1083 | # Memory 1084 | # 1085 | # CONFIG_ESP32S3_RTCDATA_IN_FAST_MEM is not set 1086 | # CONFIG_ESP32S3_USE_FIXED_STATIC_RAM_SIZE is not set 1087 | # end of Memory 1088 | 1089 | # 1090 | # Trace memory 1091 | # 1092 | # CONFIG_ESP32S3_TRAX is not set 1093 | CONFIG_ESP32S3_TRACEMEM_RESERVE_DRAM=0x0 1094 | # end of Trace memory 1095 | 1096 | # CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT is not set 1097 | CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y 1098 | # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set 1099 | # CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set 1100 | CONFIG_ESP_SYSTEM_PANIC_REBOOT_DELAY_SECONDS=0 1101 | CONFIG_ESP_SYSTEM_RTC_FAST_MEM_AS_HEAP_DEPCHECK=y 1102 | CONFIG_ESP_SYSTEM_ALLOW_RTC_FAST_MEM_AS_HEAP=y 1103 | 1104 | # 1105 | # Memory protection 1106 | # 1107 | CONFIG_ESP_SYSTEM_MEMPROT_FEATURE=y 1108 | CONFIG_ESP_SYSTEM_MEMPROT_FEATURE_LOCK=y 1109 | # end of Memory protection 1110 | 1111 | CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 1112 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 1113 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 1114 | CONFIG_ESP_MAIN_TASK_AFFINITY_CPU0=y 1115 | # CONFIG_ESP_MAIN_TASK_AFFINITY_CPU1 is not set 1116 | # CONFIG_ESP_MAIN_TASK_AFFINITY_NO_AFFINITY is not set 1117 | CONFIG_ESP_MAIN_TASK_AFFINITY=0x0 1118 | CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 1119 | CONFIG_ESP_CONSOLE_UART_DEFAULT=y 1120 | # CONFIG_ESP_CONSOLE_USB_CDC is not set 1121 | # CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG is not set 1122 | # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set 1123 | # CONFIG_ESP_CONSOLE_NONE is not set 1124 | # CONFIG_ESP_CONSOLE_SECONDARY_NONE is not set 1125 | CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=y 1126 | CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED=y 1127 | CONFIG_ESP_CONSOLE_UART=y 1128 | CONFIG_ESP_CONSOLE_UART_NUM=0 1129 | CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0 1130 | CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 1131 | CONFIG_ESP_INT_WDT=y 1132 | CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 1133 | CONFIG_ESP_INT_WDT_CHECK_CPU1=y 1134 | CONFIG_ESP_TASK_WDT_EN=y 1135 | CONFIG_ESP_TASK_WDT_INIT=y 1136 | # CONFIG_ESP_TASK_WDT_PANIC is not set 1137 | CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 1138 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y 1139 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y 1140 | # CONFIG_ESP_PANIC_HANDLER_IRAM is not set 1141 | # CONFIG_ESP_DEBUG_STUBS_ENABLE is not set 1142 | CONFIG_ESP_DEBUG_OCDAWARE=y 1143 | CONFIG_ESP_SYSTEM_CHECK_INT_LEVEL_4=y 1144 | 1145 | # 1146 | # Brownout Detector 1147 | # 1148 | CONFIG_ESP_BROWNOUT_DET=y 1149 | CONFIG_ESP_BROWNOUT_DET_LVL_SEL_7=y 1150 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_6 is not set 1151 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_5 is not set 1152 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_4 is not set 1153 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_3 is not set 1154 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_2 is not set 1155 | # CONFIG_ESP_BROWNOUT_DET_LVL_SEL_1 is not set 1156 | CONFIG_ESP_BROWNOUT_DET_LVL=7 1157 | # end of Brownout Detector 1158 | 1159 | CONFIG_ESP_SYSTEM_BROWNOUT_INTR=y 1160 | CONFIG_ESP_SYSTEM_BBPLL_RECALIB=y 1161 | # end of ESP System Settings 1162 | 1163 | # 1164 | # IPC (Inter-Processor Call) 1165 | # 1166 | CONFIG_ESP_IPC_TASK_STACK_SIZE=1280 1167 | CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y 1168 | CONFIG_ESP_IPC_ISR_ENABLE=y 1169 | # end of IPC (Inter-Processor Call) 1170 | 1171 | # 1172 | # ESP Timer (High Resolution Timer) 1173 | # 1174 | # CONFIG_ESP_TIMER_PROFILING is not set 1175 | CONFIG_ESP_TIME_FUNCS_USE_RTC_TIMER=y 1176 | CONFIG_ESP_TIME_FUNCS_USE_ESP_TIMER=y 1177 | CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 1178 | CONFIG_ESP_TIMER_INTERRUPT_LEVEL=1 1179 | # CONFIG_ESP_TIMER_SHOW_EXPERIMENTAL is not set 1180 | CONFIG_ESP_TIMER_TASK_AFFINITY=0x0 1181 | CONFIG_ESP_TIMER_TASK_AFFINITY_CPU0=y 1182 | CONFIG_ESP_TIMER_ISR_AFFINITY_CPU0=y 1183 | # CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD is not set 1184 | CONFIG_ESP_TIMER_IMPL_SYSTIMER=y 1185 | # end of ESP Timer (High Resolution Timer) 1186 | 1187 | # 1188 | # Wi-Fi 1189 | # 1190 | CONFIG_ESP_WIFI_ENABLED=y 1191 | CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=10 1192 | CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 1193 | CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y 1194 | CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 1195 | CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 1196 | CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=32 1197 | CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y 1198 | # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set 1199 | CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 1200 | CONFIG_ESP_WIFI_RX_MGMT_BUF_NUM_DEF=5 1201 | # CONFIG_ESP_WIFI_CSI_ENABLED is not set 1202 | CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y 1203 | CONFIG_ESP_WIFI_TX_BA_WIN=6 1204 | CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y 1205 | CONFIG_ESP_WIFI_RX_BA_WIN=6 1206 | # CONFIG_ESP_WIFI_AMSDU_TX_ENABLED is not set 1207 | CONFIG_ESP_WIFI_NVS_ENABLED=y 1208 | CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_0=y 1209 | # CONFIG_ESP_WIFI_TASK_PINNED_TO_CORE_1 is not set 1210 | CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 1211 | CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 1212 | CONFIG_ESP_WIFI_IRAM_OPT=y 1213 | # CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set 1214 | CONFIG_ESP_WIFI_RX_IRAM_OPT=y 1215 | CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y 1216 | CONFIG_ESP_WIFI_ENABLE_SAE_PK=y 1217 | CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT=y 1218 | CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA=y 1219 | # CONFIG_ESP_WIFI_SLP_IRAM_OPT is not set 1220 | CONFIG_ESP_WIFI_SLP_DEFAULT_MIN_ACTIVE_TIME=50 1221 | CONFIG_ESP_WIFI_SLP_DEFAULT_MAX_ACTIVE_TIME=10 1222 | CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 1223 | # CONFIG_ESP_WIFI_FTM_ENABLE is not set 1224 | CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y 1225 | # CONFIG_ESP_WIFI_GCMP_SUPPORT is not set 1226 | # CONFIG_ESP_WIFI_GMAC_SUPPORT is not set 1227 | CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y 1228 | # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set 1229 | CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 1230 | CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y 1231 | CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y 1232 | # CONFIG_ESP_WIFI_WAPI_PSK is not set 1233 | # CONFIG_ESP_WIFI_SUITE_B_192 is not set 1234 | # CONFIG_ESP_WIFI_11KV_SUPPORT is not set 1235 | # CONFIG_ESP_WIFI_MBO_SUPPORT is not set 1236 | # CONFIG_ESP_WIFI_DPP_SUPPORT is not set 1237 | # CONFIG_ESP_WIFI_11R_SUPPORT is not set 1238 | # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set 1239 | 1240 | # 1241 | # WPS Configuration Options 1242 | # 1243 | # CONFIG_ESP_WIFI_WPS_STRICT is not set 1244 | # CONFIG_ESP_WIFI_WPS_PASSPHRASE is not set 1245 | # end of WPS Configuration Options 1246 | 1247 | # CONFIG_ESP_WIFI_DEBUG_PRINT is not set 1248 | # CONFIG_ESP_WIFI_TESTING_OPTIONS is not set 1249 | CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT=y 1250 | # CONFIG_ESP_WIFI_ENT_FREE_DYNAMIC_BUFFER is not set 1251 | # end of Wi-Fi 1252 | 1253 | # 1254 | # Core dump 1255 | # 1256 | # CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH is not set 1257 | # CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set 1258 | CONFIG_ESP_COREDUMP_ENABLE_TO_NONE=y 1259 | # end of Core dump 1260 | 1261 | # 1262 | # FAT Filesystem support 1263 | # 1264 | CONFIG_FATFS_VOLUME_COUNT=2 1265 | CONFIG_FATFS_LFN_NONE=y 1266 | # CONFIG_FATFS_LFN_HEAP is not set 1267 | # CONFIG_FATFS_LFN_STACK is not set 1268 | # CONFIG_FATFS_SECTOR_512 is not set 1269 | CONFIG_FATFS_SECTOR_4096=y 1270 | # CONFIG_FATFS_CODEPAGE_DYNAMIC is not set 1271 | CONFIG_FATFS_CODEPAGE_437=y 1272 | # CONFIG_FATFS_CODEPAGE_720 is not set 1273 | # CONFIG_FATFS_CODEPAGE_737 is not set 1274 | # CONFIG_FATFS_CODEPAGE_771 is not set 1275 | # CONFIG_FATFS_CODEPAGE_775 is not set 1276 | # CONFIG_FATFS_CODEPAGE_850 is not set 1277 | # CONFIG_FATFS_CODEPAGE_852 is not set 1278 | # CONFIG_FATFS_CODEPAGE_855 is not set 1279 | # CONFIG_FATFS_CODEPAGE_857 is not set 1280 | # CONFIG_FATFS_CODEPAGE_860 is not set 1281 | # CONFIG_FATFS_CODEPAGE_861 is not set 1282 | # CONFIG_FATFS_CODEPAGE_862 is not set 1283 | # CONFIG_FATFS_CODEPAGE_863 is not set 1284 | # CONFIG_FATFS_CODEPAGE_864 is not set 1285 | # CONFIG_FATFS_CODEPAGE_865 is not set 1286 | # CONFIG_FATFS_CODEPAGE_866 is not set 1287 | # CONFIG_FATFS_CODEPAGE_869 is not set 1288 | # CONFIG_FATFS_CODEPAGE_932 is not set 1289 | # CONFIG_FATFS_CODEPAGE_936 is not set 1290 | # CONFIG_FATFS_CODEPAGE_949 is not set 1291 | # CONFIG_FATFS_CODEPAGE_950 is not set 1292 | CONFIG_FATFS_CODEPAGE=437 1293 | CONFIG_FATFS_FS_LOCK=0 1294 | CONFIG_FATFS_TIMEOUT_MS=10000 1295 | CONFIG_FATFS_PER_FILE_CACHE=y 1296 | CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y 1297 | # CONFIG_FATFS_USE_FASTSEEK is not set 1298 | CONFIG_FATFS_VFS_FSTAT_BLKSIZE=0 1299 | # CONFIG_FATFS_IMMEDIATE_FSYNC is not set 1300 | # CONFIG_FATFS_USE_LABEL is not set 1301 | CONFIG_FATFS_LINK_LOCK=y 1302 | # end of FAT Filesystem support 1303 | 1304 | # 1305 | # FreeRTOS 1306 | # 1307 | 1308 | # 1309 | # Kernel 1310 | # 1311 | # CONFIG_FREERTOS_SMP is not set 1312 | # CONFIG_FREERTOS_UNICORE is not set 1313 | CONFIG_FREERTOS_HZ=100 1314 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set 1315 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set 1316 | CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y 1317 | CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 1318 | CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 1319 | # CONFIG_FREERTOS_USE_IDLE_HOOK is not set 1320 | # CONFIG_FREERTOS_USE_TICK_HOOK is not set 1321 | CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 1322 | # CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set 1323 | CONFIG_FREERTOS_TIMER_SERVICE_TASK_NAME="Tmr Svc" 1324 | # CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU0 is not set 1325 | # CONFIG_FREERTOS_TIMER_TASK_AFFINITY_CPU1 is not set 1326 | CONFIG_FREERTOS_TIMER_TASK_NO_AFFINITY=y 1327 | CONFIG_FREERTOS_TIMER_SERVICE_TASK_CORE_AFFINITY=0x7FFFFFFF 1328 | CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 1329 | CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 1330 | CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 1331 | CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 1332 | CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 1333 | # CONFIG_FREERTOS_USE_TRACE_FACILITY is not set 1334 | # CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is not set 1335 | # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set 1336 | # CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG is not set 1337 | # end of Kernel 1338 | 1339 | # 1340 | # Port 1341 | # 1342 | # CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set 1343 | CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y 1344 | # CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set 1345 | # CONFIG_FREERTOS_ENABLE_STATIC_TASK_CLEAN_UP is not set 1346 | CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y 1347 | CONFIG_FREERTOS_ISR_STACKSIZE=1536 1348 | CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y 1349 | CONFIG_FREERTOS_TICK_SUPPORT_SYSTIMER=y 1350 | CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL1=y 1351 | # CONFIG_FREERTOS_CORETIMER_SYSTIMER_LVL3 is not set 1352 | CONFIG_FREERTOS_SYSTICK_USES_SYSTIMER=y 1353 | # CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set 1354 | # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set 1355 | # end of Port 1356 | 1357 | CONFIG_FREERTOS_PORT=y 1358 | CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF 1359 | CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION=y 1360 | CONFIG_FREERTOS_DEBUG_OCDAWARE=y 1361 | CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT=y 1362 | CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y 1363 | CONFIG_FREERTOS_NUMBER_OF_CORES=2 1364 | # end of FreeRTOS 1365 | 1366 | # 1367 | # Hardware Abstraction Layer (HAL) and Low Level (LL) 1368 | # 1369 | CONFIG_HAL_ASSERTION_EQUALS_SYSTEM=y 1370 | # CONFIG_HAL_ASSERTION_DISABLE is not set 1371 | # CONFIG_HAL_ASSERTION_SILENT is not set 1372 | # CONFIG_HAL_ASSERTION_ENABLE is not set 1373 | CONFIG_HAL_DEFAULT_ASSERTION_LEVEL=2 1374 | CONFIG_HAL_WDT_USE_ROM_IMPL=y 1375 | CONFIG_HAL_SPI_MASTER_FUNC_IN_IRAM=y 1376 | CONFIG_HAL_SPI_SLAVE_FUNC_IN_IRAM=y 1377 | # end of Hardware Abstraction Layer (HAL) and Low Level (LL) 1378 | 1379 | # 1380 | # Heap memory debugging 1381 | # 1382 | CONFIG_HEAP_POISONING_DISABLED=y 1383 | # CONFIG_HEAP_POISONING_LIGHT is not set 1384 | # CONFIG_HEAP_POISONING_COMPREHENSIVE is not set 1385 | CONFIG_HEAP_TRACING_OFF=y 1386 | # CONFIG_HEAP_TRACING_STANDALONE is not set 1387 | # CONFIG_HEAP_TRACING_TOHOST is not set 1388 | # CONFIG_HEAP_USE_HOOKS is not set 1389 | # CONFIG_HEAP_TASK_TRACKING is not set 1390 | # CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS is not set 1391 | # CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH is not set 1392 | # end of Heap memory debugging 1393 | 1394 | # 1395 | # Log output 1396 | # 1397 | # CONFIG_LOG_DEFAULT_LEVEL_NONE is not set 1398 | # CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set 1399 | # CONFIG_LOG_DEFAULT_LEVEL_WARN is not set 1400 | CONFIG_LOG_DEFAULT_LEVEL_INFO=y 1401 | # CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set 1402 | # CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set 1403 | CONFIG_LOG_DEFAULT_LEVEL=3 1404 | CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y 1405 | # CONFIG_LOG_MAXIMUM_LEVEL_DEBUG is not set 1406 | # CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE is not set 1407 | CONFIG_LOG_MAXIMUM_LEVEL=3 1408 | # CONFIG_LOG_MASTER_LEVEL is not set 1409 | CONFIG_LOG_COLORS=y 1410 | CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y 1411 | # CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set 1412 | # end of Log output 1413 | 1414 | # 1415 | # LWIP 1416 | # 1417 | CONFIG_LWIP_ENABLE=y 1418 | CONFIG_LWIP_LOCAL_HOSTNAME="espressif" 1419 | # CONFIG_LWIP_NETIF_API is not set 1420 | CONFIG_LWIP_TCPIP_TASK_PRIO=18 1421 | # CONFIG_LWIP_TCPIP_CORE_LOCKING is not set 1422 | # CONFIG_LWIP_CHECK_THREAD_SAFETY is not set 1423 | CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y 1424 | # CONFIG_LWIP_L2_TO_L3_COPY is not set 1425 | # CONFIG_LWIP_IRAM_OPTIMIZATION is not set 1426 | # CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set 1427 | CONFIG_LWIP_TIMERS_ONDEMAND=y 1428 | CONFIG_LWIP_ND6=y 1429 | # CONFIG_LWIP_FORCE_ROUTER_FORWARDING is not set 1430 | CONFIG_LWIP_MAX_SOCKETS=10 1431 | # CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set 1432 | # CONFIG_LWIP_SO_LINGER is not set 1433 | CONFIG_LWIP_SO_REUSE=y 1434 | CONFIG_LWIP_SO_REUSE_RXTOALL=y 1435 | # CONFIG_LWIP_SO_RCVBUF is not set 1436 | # CONFIG_LWIP_NETBUF_RECVINFO is not set 1437 | CONFIG_LWIP_IP_DEFAULT_TTL=64 1438 | CONFIG_LWIP_IP4_FRAG=y 1439 | CONFIG_LWIP_IP6_FRAG=y 1440 | # CONFIG_LWIP_IP4_REASSEMBLY is not set 1441 | # CONFIG_LWIP_IP6_REASSEMBLY is not set 1442 | CONFIG_LWIP_IP_REASS_MAX_PBUFS=10 1443 | # CONFIG_LWIP_IP_FORWARD is not set 1444 | # CONFIG_LWIP_STATS is not set 1445 | CONFIG_LWIP_ESP_GRATUITOUS_ARP=y 1446 | CONFIG_LWIP_GARP_TMR_INTERVAL=60 1447 | CONFIG_LWIP_ESP_MLDV6_REPORT=y 1448 | CONFIG_LWIP_MLDV6_TMR_INTERVAL=40 1449 | CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 1450 | CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y 1451 | # CONFIG_LWIP_DHCP_DISABLE_CLIENT_ID is not set 1452 | CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID=y 1453 | # CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set 1454 | CONFIG_LWIP_DHCP_OPTIONS_LEN=68 1455 | CONFIG_LWIP_NUM_NETIF_CLIENT_DATA=0 1456 | CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1 1457 | 1458 | # 1459 | # DHCP server 1460 | # 1461 | CONFIG_LWIP_DHCPS=y 1462 | CONFIG_LWIP_DHCPS_LEASE_UNIT=60 1463 | CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 1464 | CONFIG_LWIP_DHCPS_STATIC_ENTRIES=y 1465 | # end of DHCP server 1466 | 1467 | # CONFIG_LWIP_AUTOIP is not set 1468 | CONFIG_LWIP_IPV4=y 1469 | CONFIG_LWIP_IPV6=y 1470 | # CONFIG_LWIP_IPV6_AUTOCONFIG is not set 1471 | CONFIG_LWIP_IPV6_NUM_ADDRESSES=3 1472 | # CONFIG_LWIP_IPV6_FORWARD is not set 1473 | # CONFIG_LWIP_NETIF_STATUS_CALLBACK is not set 1474 | CONFIG_LWIP_NETIF_LOOPBACK=y 1475 | CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 1476 | 1477 | # 1478 | # TCP 1479 | # 1480 | CONFIG_LWIP_MAX_ACTIVE_TCP=16 1481 | CONFIG_LWIP_MAX_LISTENING_TCP=16 1482 | CONFIG_LWIP_TCP_HIGH_SPEED_RETRANSMISSION=y 1483 | CONFIG_LWIP_TCP_MAXRTX=12 1484 | CONFIG_LWIP_TCP_SYNMAXRTX=12 1485 | CONFIG_LWIP_TCP_MSS=1440 1486 | CONFIG_LWIP_TCP_TMR_INTERVAL=250 1487 | CONFIG_LWIP_TCP_MSL=60000 1488 | CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=20000 1489 | CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744 1490 | CONFIG_LWIP_TCP_WND_DEFAULT=5744 1491 | CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 1492 | CONFIG_LWIP_TCP_ACCEPTMBOX_SIZE=6 1493 | CONFIG_LWIP_TCP_QUEUE_OOSEQ=y 1494 | CONFIG_LWIP_TCP_OOSEQ_TIMEOUT=6 1495 | CONFIG_LWIP_TCP_OOSEQ_MAX_PBUFS=4 1496 | # CONFIG_LWIP_TCP_SACK_OUT is not set 1497 | CONFIG_LWIP_TCP_OVERSIZE_MSS=y 1498 | # CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set 1499 | # CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set 1500 | CONFIG_LWIP_TCP_RTO_TIME=1500 1501 | # end of TCP 1502 | 1503 | # 1504 | # UDP 1505 | # 1506 | CONFIG_LWIP_MAX_UDP_PCBS=16 1507 | CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 1508 | # end of UDP 1509 | 1510 | # 1511 | # Checksums 1512 | # 1513 | # CONFIG_LWIP_CHECKSUM_CHECK_IP is not set 1514 | # CONFIG_LWIP_CHECKSUM_CHECK_UDP is not set 1515 | CONFIG_LWIP_CHECKSUM_CHECK_ICMP=y 1516 | # end of Checksums 1517 | 1518 | CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 1519 | CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y 1520 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set 1521 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set 1522 | CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF 1523 | # CONFIG_LWIP_PPP_SUPPORT is not set 1524 | CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3 1525 | CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5 1526 | # CONFIG_LWIP_SLIP_SUPPORT is not set 1527 | 1528 | # 1529 | # ICMP 1530 | # 1531 | CONFIG_LWIP_ICMP=y 1532 | # CONFIG_LWIP_MULTICAST_PING is not set 1533 | # CONFIG_LWIP_BROADCAST_PING is not set 1534 | # end of ICMP 1535 | 1536 | # 1537 | # LWIP RAW API 1538 | # 1539 | CONFIG_LWIP_MAX_RAW_PCBS=16 1540 | # end of LWIP RAW API 1541 | 1542 | # 1543 | # SNTP 1544 | # 1545 | CONFIG_LWIP_SNTP_MAX_SERVERS=1 1546 | # CONFIG_LWIP_DHCP_GET_NTP_SRV is not set 1547 | CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 1548 | CONFIG_LWIP_SNTP_STARTUP_DELAY=y 1549 | CONFIG_LWIP_SNTP_MAXIMUM_STARTUP_DELAY=5000 1550 | # end of SNTP 1551 | 1552 | # 1553 | # DNS 1554 | # 1555 | CONFIG_LWIP_DNS_MAX_SERVERS=3 1556 | # CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT is not set 1557 | # end of DNS 1558 | 1559 | CONFIG_LWIP_BRIDGEIF_MAX_PORTS=7 1560 | CONFIG_LWIP_ESP_LWIP_ASSERT=y 1561 | 1562 | # 1563 | # Hooks 1564 | # 1565 | # CONFIG_LWIP_HOOK_TCP_ISN_NONE is not set 1566 | CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT=y 1567 | # CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM is not set 1568 | CONFIG_LWIP_HOOK_IP6_ROUTE_NONE=y 1569 | # CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT is not set 1570 | # CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM is not set 1571 | CONFIG_LWIP_HOOK_ND6_GET_GW_NONE=y 1572 | # CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT is not set 1573 | # CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM is not set 1574 | CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_NONE=y 1575 | # CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_DEFAULT is not set 1576 | # CONFIG_LWIP_HOOK_IP6_SELECT_SRC_ADDR_CUSTOM is not set 1577 | CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y 1578 | # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT is not set 1579 | # CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM is not set 1580 | CONFIG_LWIP_HOOK_IP6_INPUT_NONE=y 1581 | # CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT is not set 1582 | # CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM is not set 1583 | # end of Hooks 1584 | 1585 | # CONFIG_LWIP_DEBUG is not set 1586 | # end of LWIP 1587 | 1588 | # 1589 | # mbedTLS 1590 | # 1591 | CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y 1592 | # CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set 1593 | # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set 1594 | # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set 1595 | CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y 1596 | CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 1597 | CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 1598 | # CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set 1599 | # CONFIG_MBEDTLS_DEBUG is not set 1600 | 1601 | # 1602 | # mbedTLS v3.x related 1603 | # 1604 | # CONFIG_MBEDTLS_SSL_PROTO_TLS1_3 is not set 1605 | # CONFIG_MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH is not set 1606 | # CONFIG_MBEDTLS_X509_TRUSTED_CERT_CALLBACK is not set 1607 | # CONFIG_MBEDTLS_SSL_CONTEXT_SERIALIZATION is not set 1608 | CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=y 1609 | CONFIG_MBEDTLS_PKCS7_C=y 1610 | # end of mbedTLS v3.x related 1611 | 1612 | # 1613 | # Certificate Bundle 1614 | # 1615 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y 1616 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y 1617 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN is not set 1618 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_NONE is not set 1619 | # CONFIG_MBEDTLS_CUSTOM_CERTIFICATE_BUNDLE is not set 1620 | # CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEPRECATED_LIST is not set 1621 | CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=200 1622 | # end of Certificate Bundle 1623 | 1624 | # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set 1625 | CONFIG_MBEDTLS_CMAC_C=y 1626 | CONFIG_MBEDTLS_HARDWARE_AES=y 1627 | CONFIG_MBEDTLS_AES_USE_INTERRUPT=y 1628 | CONFIG_MBEDTLS_AES_INTERRUPT_LEVEL=0 1629 | CONFIG_MBEDTLS_GCM_SUPPORT_NON_AES_CIPHER=y 1630 | CONFIG_MBEDTLS_HARDWARE_MPI=y 1631 | # CONFIG_MBEDTLS_LARGE_KEY_SOFTWARE_MPI is not set 1632 | CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y 1633 | CONFIG_MBEDTLS_MPI_INTERRUPT_LEVEL=0 1634 | CONFIG_MBEDTLS_HARDWARE_SHA=y 1635 | CONFIG_MBEDTLS_ROM_MD5=y 1636 | # CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set 1637 | # CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set 1638 | CONFIG_MBEDTLS_HAVE_TIME=y 1639 | # CONFIG_MBEDTLS_PLATFORM_TIME_ALT is not set 1640 | # CONFIG_MBEDTLS_HAVE_TIME_DATE is not set 1641 | CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y 1642 | CONFIG_MBEDTLS_SHA512_C=y 1643 | CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y 1644 | # CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set 1645 | # CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set 1646 | # CONFIG_MBEDTLS_TLS_DISABLED is not set 1647 | CONFIG_MBEDTLS_TLS_SERVER=y 1648 | CONFIG_MBEDTLS_TLS_CLIENT=y 1649 | CONFIG_MBEDTLS_TLS_ENABLED=y 1650 | 1651 | # 1652 | # TLS Key Exchange Methods 1653 | # 1654 | # CONFIG_MBEDTLS_PSK_MODES is not set 1655 | CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y 1656 | CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y 1657 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y 1658 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y 1659 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y 1660 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y 1661 | # end of TLS Key Exchange Methods 1662 | 1663 | CONFIG_MBEDTLS_SSL_RENEGOTIATION=y 1664 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y 1665 | # CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set 1666 | # CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set 1667 | CONFIG_MBEDTLS_SSL_ALPN=y 1668 | CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y 1669 | CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y 1670 | 1671 | # 1672 | # Symmetric Ciphers 1673 | # 1674 | CONFIG_MBEDTLS_AES_C=y 1675 | # CONFIG_MBEDTLS_CAMELLIA_C is not set 1676 | # CONFIG_MBEDTLS_DES_C is not set 1677 | # CONFIG_MBEDTLS_BLOWFISH_C is not set 1678 | # CONFIG_MBEDTLS_XTEA_C is not set 1679 | CONFIG_MBEDTLS_CCM_C=y 1680 | CONFIG_MBEDTLS_GCM_C=y 1681 | # CONFIG_MBEDTLS_NIST_KW_C is not set 1682 | # end of Symmetric Ciphers 1683 | 1684 | # CONFIG_MBEDTLS_RIPEMD160_C is not set 1685 | 1686 | # 1687 | # Certificates 1688 | # 1689 | CONFIG_MBEDTLS_PEM_PARSE_C=y 1690 | CONFIG_MBEDTLS_PEM_WRITE_C=y 1691 | CONFIG_MBEDTLS_X509_CRL_PARSE_C=y 1692 | CONFIG_MBEDTLS_X509_CSR_PARSE_C=y 1693 | # end of Certificates 1694 | 1695 | CONFIG_MBEDTLS_ECP_C=y 1696 | # CONFIG_MBEDTLS_DHM_C is not set 1697 | CONFIG_MBEDTLS_ECDH_C=y 1698 | CONFIG_MBEDTLS_ECDSA_C=y 1699 | # CONFIG_MBEDTLS_ECJPAKE_C is not set 1700 | CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y 1701 | CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y 1702 | CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y 1703 | CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y 1704 | CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y 1705 | CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y 1706 | CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y 1707 | CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y 1708 | CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y 1709 | CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y 1710 | CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y 1711 | CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y 1712 | CONFIG_MBEDTLS_ECP_NIST_OPTIM=y 1713 | CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM=y 1714 | # CONFIG_MBEDTLS_POLY1305_C is not set 1715 | # CONFIG_MBEDTLS_CHACHA20_C is not set 1716 | # CONFIG_MBEDTLS_HKDF_C is not set 1717 | # CONFIG_MBEDTLS_THREADING_C is not set 1718 | CONFIG_MBEDTLS_ERROR_STRINGS=y 1719 | # end of mbedTLS 1720 | 1721 | # 1722 | # ESP-MQTT Configurations 1723 | # 1724 | CONFIG_MQTT_PROTOCOL_311=y 1725 | # CONFIG_MQTT_PROTOCOL_5 is not set 1726 | CONFIG_MQTT_TRANSPORT_SSL=y 1727 | CONFIG_MQTT_TRANSPORT_WEBSOCKET=y 1728 | CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y 1729 | # CONFIG_MQTT_MSG_ID_INCREMENTAL is not set 1730 | # CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set 1731 | # CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set 1732 | # CONFIG_MQTT_USE_CUSTOM_CONFIG is not set 1733 | # CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set 1734 | # CONFIG_MQTT_CUSTOM_OUTBOX is not set 1735 | # end of ESP-MQTT Configurations 1736 | 1737 | # 1738 | # Newlib 1739 | # 1740 | CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y 1741 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set 1742 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set 1743 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set 1744 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set 1745 | CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y 1746 | # CONFIG_NEWLIB_NANO_FORMAT is not set 1747 | CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC_HRT=y 1748 | # CONFIG_NEWLIB_TIME_SYSCALL_USE_RTC is not set 1749 | # CONFIG_NEWLIB_TIME_SYSCALL_USE_HRT is not set 1750 | # CONFIG_NEWLIB_TIME_SYSCALL_USE_NONE is not set 1751 | # end of Newlib 1752 | 1753 | CONFIG_STDATOMIC_S32C1I_SPIRAM_WORKAROUND=y 1754 | 1755 | # 1756 | # NVS 1757 | # 1758 | # CONFIG_NVS_ENCRYPTION is not set 1759 | # CONFIG_NVS_ASSERT_ERROR_CHECK is not set 1760 | # CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY is not set 1761 | # end of NVS 1762 | 1763 | # 1764 | # OpenThread 1765 | # 1766 | # CONFIG_OPENTHREAD_ENABLED is not set 1767 | 1768 | # 1769 | # Thread Operational Dataset 1770 | # 1771 | CONFIG_OPENTHREAD_NETWORK_NAME="OpenThread-ESP" 1772 | CONFIG_OPENTHREAD_MESH_LOCAL_PREFIX="fd00:db8:a0:0::/64" 1773 | CONFIG_OPENTHREAD_NETWORK_CHANNEL=15 1774 | CONFIG_OPENTHREAD_NETWORK_PANID=0x1234 1775 | CONFIG_OPENTHREAD_NETWORK_EXTPANID="dead00beef00cafe" 1776 | CONFIG_OPENTHREAD_NETWORK_MASTERKEY="00112233445566778899aabbccddeeff" 1777 | CONFIG_OPENTHREAD_NETWORK_PSKC="104810e2315100afd6bc9215a6bfac53" 1778 | # end of Thread Operational Dataset 1779 | 1780 | CONFIG_OPENTHREAD_XTAL_ACCURACY=130 1781 | # CONFIG_OPENTHREAD_SPINEL_ONLY is not set 1782 | CONFIG_OPENTHREAD_RX_ON_WHEN_IDLE=y 1783 | 1784 | # 1785 | # Thread Address Query Config 1786 | # 1787 | # end of Thread Address Query Config 1788 | # end of OpenThread 1789 | 1790 | # 1791 | # Protocomm 1792 | # 1793 | CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_0=y 1794 | CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_1=y 1795 | CONFIG_ESP_PROTOCOMM_SUPPORT_SECURITY_VERSION_2=y 1796 | # end of Protocomm 1797 | 1798 | # 1799 | # PThreads 1800 | # 1801 | CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 1802 | CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 1803 | CONFIG_PTHREAD_STACK_MIN=768 1804 | CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y 1805 | # CONFIG_PTHREAD_DEFAULT_CORE_0 is not set 1806 | # CONFIG_PTHREAD_DEFAULT_CORE_1 is not set 1807 | CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 1808 | CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" 1809 | # end of PThreads 1810 | 1811 | # 1812 | # MMU Config 1813 | # 1814 | CONFIG_MMU_PAGE_SIZE_64KB=y 1815 | CONFIG_MMU_PAGE_MODE="64KB" 1816 | CONFIG_MMU_PAGE_SIZE=0x10000 1817 | # end of MMU Config 1818 | 1819 | # 1820 | # Main Flash configuration 1821 | # 1822 | 1823 | # 1824 | # SPI Flash behavior when brownout 1825 | # 1826 | CONFIG_SPI_FLASH_BROWNOUT_RESET_XMC=y 1827 | CONFIG_SPI_FLASH_BROWNOUT_RESET=y 1828 | # end of SPI Flash behavior when brownout 1829 | 1830 | # 1831 | # Optional and Experimental Features (READ DOCS FIRST) 1832 | # 1833 | 1834 | # 1835 | # Features here require specific hardware (READ DOCS FIRST!) 1836 | # 1837 | CONFIG_SPI_FLASH_HPM_ENA=y 1838 | # CONFIG_SPI_FLASH_HPM_AUTO is not set 1839 | # CONFIG_SPI_FLASH_HPM_DIS is not set 1840 | CONFIG_SPI_FLASH_HPM_ON=y 1841 | CONFIG_SPI_FLASH_HPM_DC_AUTO=y 1842 | # CONFIG_SPI_FLASH_HPM_DC_DISABLE is not set 1843 | CONFIG_SPI_FLASH_SUSPEND_QVL_SUPPORTED=y 1844 | # CONFIG_SPI_FLASH_AUTO_SUSPEND is not set 1845 | CONFIG_SPI_FLASH_SUSPEND_TSUS_VAL_US=50 1846 | # end of Optional and Experimental Features (READ DOCS FIRST) 1847 | # end of Main Flash configuration 1848 | 1849 | # 1850 | # SPI Flash driver 1851 | # 1852 | # CONFIG_SPI_FLASH_VERIFY_WRITE is not set 1853 | # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set 1854 | CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y 1855 | # CONFIG_SPI_FLASH_ROM_IMPL is not set 1856 | CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y 1857 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set 1858 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set 1859 | # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set 1860 | CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y 1861 | CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 1862 | CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 1863 | CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192 1864 | # CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set 1865 | # CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set 1866 | # CONFIG_SPI_FLASH_OVERRIDE_CHIP_DRIVER_LIST is not set 1867 | 1868 | # 1869 | # Auto-detect flash chips 1870 | # 1871 | CONFIG_SPI_FLASH_VENDOR_XMC_SUPPORTED=y 1872 | CONFIG_SPI_FLASH_VENDOR_GD_SUPPORTED=y 1873 | CONFIG_SPI_FLASH_VENDOR_ISSI_SUPPORTED=y 1874 | CONFIG_SPI_FLASH_VENDOR_MXIC_SUPPORTED=y 1875 | CONFIG_SPI_FLASH_VENDOR_WINBOND_SUPPORTED=y 1876 | CONFIG_SPI_FLASH_VENDOR_BOYA_SUPPORTED=y 1877 | CONFIG_SPI_FLASH_VENDOR_TH_SUPPORTED=y 1878 | CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y 1879 | CONFIG_SPI_FLASH_SUPPORT_MXIC_CHIP=y 1880 | CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y 1881 | CONFIG_SPI_FLASH_SUPPORT_WINBOND_CHIP=y 1882 | CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y 1883 | CONFIG_SPI_FLASH_SUPPORT_TH_CHIP=y 1884 | CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP=y 1885 | # end of Auto-detect flash chips 1886 | 1887 | CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE=y 1888 | # end of SPI Flash driver 1889 | 1890 | # 1891 | # SPIFFS Configuration 1892 | # 1893 | CONFIG_SPIFFS_MAX_PARTITIONS=3 1894 | 1895 | # 1896 | # SPIFFS Cache Configuration 1897 | # 1898 | CONFIG_SPIFFS_CACHE=y 1899 | CONFIG_SPIFFS_CACHE_WR=y 1900 | # CONFIG_SPIFFS_CACHE_STATS is not set 1901 | # end of SPIFFS Cache Configuration 1902 | 1903 | CONFIG_SPIFFS_PAGE_CHECK=y 1904 | CONFIG_SPIFFS_GC_MAX_RUNS=10 1905 | # CONFIG_SPIFFS_GC_STATS is not set 1906 | CONFIG_SPIFFS_PAGE_SIZE=256 1907 | CONFIG_SPIFFS_OBJ_NAME_LEN=32 1908 | # CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set 1909 | CONFIG_SPIFFS_USE_MAGIC=y 1910 | CONFIG_SPIFFS_USE_MAGIC_LENGTH=y 1911 | CONFIG_SPIFFS_META_LENGTH=4 1912 | CONFIG_SPIFFS_USE_MTIME=y 1913 | 1914 | # 1915 | # Debug Configuration 1916 | # 1917 | # CONFIG_SPIFFS_DBG is not set 1918 | # CONFIG_SPIFFS_API_DBG is not set 1919 | # CONFIG_SPIFFS_GC_DBG is not set 1920 | # CONFIG_SPIFFS_CACHE_DBG is not set 1921 | # CONFIG_SPIFFS_CHECK_DBG is not set 1922 | # CONFIG_SPIFFS_TEST_VISUALISATION is not set 1923 | # end of Debug Configuration 1924 | # end of SPIFFS Configuration 1925 | 1926 | # 1927 | # TCP Transport 1928 | # 1929 | 1930 | # 1931 | # Websocket 1932 | # 1933 | CONFIG_WS_TRANSPORT=y 1934 | CONFIG_WS_BUFFER_SIZE=1024 1935 | # CONFIG_WS_DYNAMIC_BUFFER is not set 1936 | # end of Websocket 1937 | # end of TCP Transport 1938 | 1939 | # 1940 | # Ultra Low Power (ULP) Co-processor 1941 | # 1942 | # CONFIG_ULP_COPROC_ENABLED is not set 1943 | 1944 | # 1945 | # ULP Debugging Options 1946 | # 1947 | # end of ULP Debugging Options 1948 | # end of Ultra Low Power (ULP) Co-processor 1949 | 1950 | # 1951 | # Unity unit testing library 1952 | # 1953 | CONFIG_UNITY_ENABLE_FLOAT=y 1954 | CONFIG_UNITY_ENABLE_DOUBLE=y 1955 | # CONFIG_UNITY_ENABLE_64BIT is not set 1956 | # CONFIG_UNITY_ENABLE_COLOR is not set 1957 | CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y 1958 | # CONFIG_UNITY_ENABLE_FIXTURE is not set 1959 | # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set 1960 | # end of Unity unit testing library 1961 | 1962 | # 1963 | # USB-OTG 1964 | # 1965 | CONFIG_USB_HOST_CONTROL_TRANSFER_MAX_SIZE=256 1966 | CONFIG_USB_HOST_HW_BUFFER_BIAS_BALANCED=y 1967 | # CONFIG_USB_HOST_HW_BUFFER_BIAS_IN is not set 1968 | # CONFIG_USB_HOST_HW_BUFFER_BIAS_PERIODIC_OUT is not set 1969 | 1970 | # 1971 | # Root Hub configuration 1972 | # 1973 | CONFIG_USB_HOST_DEBOUNCE_DELAY_MS=250 1974 | CONFIG_USB_HOST_RESET_HOLD_MS=30 1975 | CONFIG_USB_HOST_RESET_RECOVERY_MS=30 1976 | CONFIG_USB_HOST_SET_ADDR_RECOVERY_MS=10 1977 | # end of Root Hub configuration 1978 | 1979 | # CONFIG_USB_HOST_ENABLE_ENUM_FILTER_CALLBACK is not set 1980 | CONFIG_USB_OTG_SUPPORTED=y 1981 | # end of USB-OTG 1982 | 1983 | # 1984 | # Virtual file system 1985 | # 1986 | CONFIG_VFS_SUPPORT_IO=y 1987 | CONFIG_VFS_SUPPORT_DIR=y 1988 | CONFIG_VFS_SUPPORT_SELECT=y 1989 | CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y 1990 | # CONFIG_VFS_SELECT_IN_RAM is not set 1991 | CONFIG_VFS_SUPPORT_TERMIOS=y 1992 | CONFIG_VFS_MAX_COUNT=8 1993 | 1994 | # 1995 | # Host File System I/O (Semihosting) 1996 | # 1997 | CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS=1 1998 | # end of Host File System I/O (Semihosting) 1999 | # end of Virtual file system 2000 | 2001 | # 2002 | # Wear Levelling 2003 | # 2004 | # CONFIG_WL_SECTOR_SIZE_512 is not set 2005 | CONFIG_WL_SECTOR_SIZE_4096=y 2006 | CONFIG_WL_SECTOR_SIZE=4096 2007 | # end of Wear Levelling 2008 | 2009 | # 2010 | # Wi-Fi Provisioning Manager 2011 | # 2012 | CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 2013 | CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 2014 | # CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION is not set 2015 | CONFIG_WIFI_PROV_STA_ALL_CHANNEL_SCAN=y 2016 | # CONFIG_WIFI_PROV_STA_FAST_SCAN is not set 2017 | # end of Wi-Fi Provisioning Manager 2018 | 2019 | # 2020 | # DSP Library 2021 | # 2022 | CONFIG_DSP_OPTIMIZATIONS_SUPPORTED=y 2023 | # CONFIG_DSP_ANSI is not set 2024 | CONFIG_DSP_OPTIMIZED=y 2025 | CONFIG_DSP_OPTIMIZATION=1 2026 | # CONFIG_DSP_MAX_FFT_SIZE_512 is not set 2027 | # CONFIG_DSP_MAX_FFT_SIZE_1024 is not set 2028 | # CONFIG_DSP_MAX_FFT_SIZE_2048 is not set 2029 | CONFIG_DSP_MAX_FFT_SIZE_4096=y 2030 | # CONFIG_DSP_MAX_FFT_SIZE_8192 is not set 2031 | # CONFIG_DSP_MAX_FFT_SIZE_16384 is not set 2032 | # CONFIG_DSP_MAX_FFT_SIZE_32768 is not set 2033 | CONFIG_DSP_MAX_FFT_SIZE=4096 2034 | # end of DSP Library 2035 | # end of Component config 2036 | 2037 | # CONFIG_IDF_EXPERIMENTAL_FEATURES is not set 2038 | --------------------------------------------------------------------------------