├── .clang-format ├── .gitattributes ├── .github └── workflows │ └── main.yml ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── LICENSE ├── README.md ├── images ├── application_uart_configuration.png ├── application_uart_rate.png ├── application_uart_rate_options.png ├── application_uart_swap.png ├── esp32_flash_size_list.png ├── esp32_flash_size_settings.png ├── esp32_nano33_breadboard.jpg ├── example_connection_config.png ├── example_connection_ssid_pw.png ├── qf_esp32_stack.png └── qf_esp32_stack_battery.png ├── main ├── CMakeLists.txt ├── Kconfig.projbuild ├── component.mk ├── httpd_task.c ├── httpd_task.h ├── main.c ├── uart_task.c └── uart_task.h ├── sdkconfig.defaults └── sdkconfig.example /.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Mozilla 3 | AccessModifierOffset: '-4' 4 | AlignAfterOpenBracket: Align 5 | AlignConsecutiveAssignments: 'true' 6 | AlignConsecutiveDeclarations: 'true' 7 | AlignEscapedNewlinesLeft: 'false' 8 | AlignOperands: 'true' 9 | AlignTrailingComments: 'true' 10 | AllowAllParametersOfDeclarationOnNextLine: 'true' 11 | AllowShortBlocksOnASingleLine: 'true' 12 | AllowShortCaseLabelsOnASingleLine: 'false' 13 | AllowShortFunctionsOnASingleLine: All 14 | AllowShortIfStatementsOnASingleLine: 'false' 15 | AllowShortLoopsOnASingleLine: 'false' 16 | AlwaysBreakAfterDefinitionReturnType: None 17 | AlwaysBreakAfterReturnType: None 18 | AlwaysBreakTemplateDeclarations: 'true' 19 | BreakBeforeBinaryOperators: All 20 | BreakBeforeBraces: Allman 21 | BreakBeforeTernaryOperators: 'true' 22 | BreakConstructorInitializersBeforeComma: 'true' 23 | BreakStringLiterals: 'false' 24 | ColumnLimit: '100' 25 | ConstructorInitializerAllOnOneLineOrOnePerLine: 'false' 26 | ConstructorInitializerIndentWidth: '0' 27 | ContinuationIndentWidth: '4' 28 | Cpp11BracedListStyle: 'false' 29 | DerivePointerAlignment: 'false' 30 | DisableFormat: 'false' 31 | ExperimentalAutoDetectBinPacking: 'true' 32 | IndentCaseLabels: 'true' 33 | IndentWidth: '4' 34 | IndentWrappedFunctionNames: 'false' 35 | JavaScriptQuotes: Single 36 | KeepEmptyLinesAtTheStartOfBlocks: 'false' 37 | Language: Cpp 38 | MaxEmptyLinesToKeep: '2' 39 | NamespaceIndentation: None 40 | ObjCBlockIndentWidth: '4' 41 | ObjCSpaceAfterProperty: 'false' 42 | ObjCSpaceBeforeProtocolList: 'false' 43 | PointerAlignment: Left 44 | ReflowComments: 'true' 45 | SortIncludes: 'false' 46 | SpaceAfterCStyleCast: 'true' 47 | SpaceBeforeAssignmentOperators: 'true' 48 | SpaceBeforeParens: ControlStatements 49 | SpaceInEmptyParentheses: 'false' 50 | SpacesBeforeTrailingComments: '2' 51 | SpacesInAngles: 'false' 52 | SpacesInCStyleCastParentheses: 'false' 53 | SpacesInContainerLiterals: 'false' 54 | SpacesInParentheses: 'false' 55 | SpacesInSquareBrackets: 'false' 56 | Standard: Cpp11 57 | TabWidth: '4' 58 | UseTab: Never 59 | 60 | ... 61 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.jpg filter=lfs diff=lfs merge=lfs -text 2 | *.png filter=lfs diff=lfs merge=lfs -text 3 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | # This is a basic workflow to help you get started with Actions 2 | 3 | name: CI 4 | 5 | # Controls when the action will run. 6 | on: 7 | # Triggers the workflow on push or pull request events but only for the main branch 8 | push: 9 | branches: [ main ] 10 | pull_request: 11 | branches: [ main ] 12 | 13 | # Allows you to run this workflow manually from the Actions tab 14 | workflow_dispatch: 15 | 16 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 17 | jobs: 18 | # This workflow contains a single job called "build" 19 | build: 20 | # The type of runner that the job will run on 21 | runs-on: ubuntu-latest 22 | 23 | # Steps represent a sequence of tasks that will be executed as part of the job 24 | steps: 25 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it 26 | - uses: actions/checkout@v2 27 | with: 28 | submodules: recursive 29 | 30 | # Runs a single command using the runners shell 31 | - name: espressif idf build 32 | uses: sebastianPsm/esp-idf-ci-action@1 33 | 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.out 34 | *.app 35 | *.i*86 36 | *.x86_64 37 | *.hex 38 | 39 | # Debug files 40 | *.dSYM/ 41 | *.su 42 | *.idb 43 | *.pdb 44 | 45 | # Kernel Module Compile Results 46 | *.mod* 47 | *.cmd 48 | .tmp_versions/ 49 | modules.order 50 | Module.symvers 51 | Mkfile.old 52 | dkms.conf 53 | 54 | #Esp-IDF files 55 | build/ 56 | sdkconfig 57 | sdkconfig.old 58 | 59 | #VS code files 60 | .vscode/settings.json 61 | .vscode/c_cpp_properties.json 62 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "components/libesphttpd"] 2 | path = components/libesphttpd 3 | url = https://github.com/chmorgan/libesphttpd.git 4 | -------------------------------------------------------------------------------- /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.5) 4 | set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common 5 | $ENV{IDF_PATH}/components/json) 6 | 7 | 8 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 9 | project(esp32_simple_http_uart) 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2020, SensiML 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ESP32 UART to HTTP bridge 2 | 3 | ESP32 UART to HTTP bridge for simple streaming interface. This application will communicate on UART1 to a target device at 460800bps (configurable) 4 | 5 | It will then create a `/config` and `/stream` endpoints for get the device configuration and stream data to the Data Capture Libraries 6 | 7 | It is assumed that you will have the [ESP-IDF](https://github.com/espressif/esp-idf) set up on your machine already. 8 | 9 | ## Cloning this repository 10 | 11 | To clone this repository, make sure it is cloned with the `--recursive` option. `git clone https://github.com/sensiml/esp32_simple_http_uart.git --recursive` 12 | 13 | ## Configuring WiFi SSID/Password 14 | 15 | Run the ESP-IDF menuconfig tool: `idf.py menuconfig`, and configure the `Example Connection Configuration` section with your SSID/Passphrase. 16 | 17 | ![Example Connection Configuration](images/example_connection_config.png) 18 | 19 | ![Example Connection SSID and Password](images/example_connection_ssid_pw.png) 20 | 21 | ## UART Configuration 22 | 23 | In the ESP-IDF menuconfig tool, you will see `Application UART Configuration` 24 | 25 | ![Application UART Configuration in menuconfig](images/application_uart_configuration.png) 26 | 27 | ### Swapping UART Pins 28 | 29 | If you are connecting two feather boards together, you will need to swap the UART RX/TX Pins. Select `Data UART Swap RX/TX` to do this. 30 | 31 | ![Application UART swap pins](images/application_uart_swap.png) 32 | 33 | ### Changing Data UART Baud Rate 34 | 35 | The application defaults to `480600 bps` as a baud rate for the UART. This can be configured in the configuration. 36 | 37 | Select `Data UART Baud Rate` 38 | 39 | ![Application UART rate](images/application_uart_rate.png) 40 | 41 | And choose from the list of options 42 | 43 | ![Application UART rate options](images/application_uart_rate_options.png) 44 | 45 | ### Configuring the Flash Size 46 | 47 | The application defaults to 4MB of flash. You may need to change this value depending on your boards manufacture. To do that, 48 | 49 | Select `Serial Flasher Config` 50 | 51 | ![Application Flash Size](images/esp32_flash_size_settings.png) 52 | 53 | And choose from the list of options 54 | 55 | ![Application Flash size options](images/esp32_flash_size_list.png) 56 | 57 | ### Flashing The Board 58 | 59 | ```bash 60 | idf.py build 61 | idf.py -p [PORT] flash 62 | ``` 63 | 64 | ### Getting the IP Address 65 | 66 | ```bash 67 | idf.py -p [PORT] monitor 68 | ``` 69 | 70 | Look for the static ip address (sta ip) to know where to connect 71 | 72 | ```bash 73 | > I (3115) esp_netif_handlers: sta ip: 192.168.86.249, mask: 255.255.255.0, gw: 192.168.86.1 74 | ``` 75 | 76 | ## Other Tips 77 | 78 | It is useful to have the UART ISR configured to be placed in RAM, but it is not necessary. This is done through the menuconfig. 79 | 80 | ## Recognition results 81 | 82 | The application will assume that if it gets valid JSON over a serial port, and it isn't a capture configuration, that it is getting recognition results. 83 | 84 | These results will be viewable at the `/results` endpoint. `/config` and `/stream` endpoints won't work when streaming results. 85 | 86 | # Using with QuickFeather (and other Feather Boards) 87 | 88 | Using the [Huzzah32 Feather](https://www.adafruit.com/product/3619) with stacking headers installed, insert another feather/wing board into the headers to connect them. Shown here is the [QuickLogic QuickFeather](https://www.quicklogic.com/products/eos-s3/quickfeather-development-kit/) on top. 89 | 90 | **Note:** When using two feather boards, you will need to [Swap UART pins](#Swapping-UART-Pins) in order for communication to work properly. 91 | 92 | ![QuickLogic QuickFeather stacked on top of Huzzah32](images/qf_esp32_stack.png) 93 | 94 | When using a battery, use the battery terminal of the Huzzah32 Feather. 95 | ![QuickLogic QuickFeather stacked on top of Huzzah32](images/qf_esp32_stack_battery.png) 96 | 97 | # Using with Nano33 or other devices. 98 | 99 | SensiML's firmware for the [Arduino Nano33](https://github.com/sensiml/nano33_data_capture) is set up to communicate with this firmware using the second hardware UART on the Nano33. However, the cables aren't necessarily meant to line up. Below, an image is shown with a breadboard to illustrate the wiring needed to power the Nano33 from the ESP32 feather with a battery. 100 | 101 | ![ESP32 Feather and Nano33 on a Breadboard](images/esp32_nano33_breadboard.jpg) 102 | -------------------------------------------------------------------------------- /images/application_uart_configuration.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:0c5aa5d616b87417373a603582a4611202db8830f281511ba9a5c81331aa23aa 3 | size 48505 4 | -------------------------------------------------------------------------------- /images/application_uart_rate.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2ceefea1c59d0ca30b4eebb7e1f9d6259ac137e84d259fd8e518ecc547e299f4 3 | size 25180 4 | -------------------------------------------------------------------------------- /images/application_uart_rate_options.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:07d4d15fe45aacea97628746cf99fada4fbded6ee3d1f788548c781778c0a58d 3 | size 24537 4 | -------------------------------------------------------------------------------- /images/application_uart_swap.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:43d869c26ed80e8c80b9644ed01524a0f5af9a39872ca5306844b4de74262afe 3 | size 25749 4 | -------------------------------------------------------------------------------- /images/esp32_flash_size_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sensiml/esp32_simple_http_uart/83228707a6d25f1253e4e561d437c50749bab899/images/esp32_flash_size_list.png -------------------------------------------------------------------------------- /images/esp32_flash_size_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sensiml/esp32_simple_http_uart/83228707a6d25f1253e4e561d437c50749bab899/images/esp32_flash_size_settings.png -------------------------------------------------------------------------------- /images/esp32_nano33_breadboard.jpg: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:fd8568f8764e589ac7f23f92519247d5898dd47fb727299c3cf4d802542cba57 3 | size 658847 4 | -------------------------------------------------------------------------------- /images/example_connection_config.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:8aa65718baee27d08666ebbbe0656ce1356f3f144e07661b901428a40dd70698 3 | size 42288 4 | -------------------------------------------------------------------------------- /images/example_connection_ssid_pw.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6808aa1ed9113d1af59950ec81e870dac6240c2a913997481cc79d29596698f6 3 | size 32852 4 | -------------------------------------------------------------------------------- /images/qf_esp32_stack.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a1dc06f7b6f66c4c16bc9bcef3bf67222f1f7bdb87593cd9d6081cc73f36fade 3 | size 588370 4 | -------------------------------------------------------------------------------- /images/qf_esp32_stack_battery.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2dda58a1f05f701e5c35ddd1691f54d4253305b36719870902a2c9817be79406 3 | size 463699 4 | -------------------------------------------------------------------------------- /main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | idf_component_register( 2 | SRCS "httpd_task.c" "main.c" "uart_task.c" 3 | INCLUDE_DIRS "" 4 | ) 5 | -------------------------------------------------------------------------------- /main/Kconfig.projbuild: -------------------------------------------------------------------------------- 1 | menu "Application UART Configuration" 2 | config DEVICE_DATA_UART_PIN_SWAP 3 | bool "Data UART Swap RX/TX" 4 | default n 5 | help 6 | If you are connecting two Feather devices, or need to swap device 7 | data uart pins, enable this. 8 | 9 | choice BAUD_SET 10 | prompt "Data UART Baud Rate" 11 | default BAUD_460800 12 | config BAUD_115200 13 | bool "115200" 14 | config BAUD_230400 15 | bool "230400" 16 | config BAUD_460800 17 | bool "460800" 18 | config BAUD_921600 19 | bool "921600" 20 | 21 | endchoice 22 | config DATA_UART_SPEED 23 | int 24 | default 460800 if BAUD_460800 25 | default 115200 if BAUD_115200 26 | default 230400 if BAUD_230400 27 | default 921600 if BAUD_921600 28 | 29 | endmenu 30 | 31 | 32 | -------------------------------------------------------------------------------- /main/component.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sensiml/esp32_simple_http_uart/83228707a6d25f1253e4e561d437c50749bab899/main/component.mk -------------------------------------------------------------------------------- /main/httpd_task.c: -------------------------------------------------------------------------------- 1 | 2 | #include "libesphttpd/cgiwifi.h" 3 | #include "libesphttpd/cgiflash.h" 4 | #include "libesphttpd/cgiwebsocket.h" 5 | #include "libesphttpd/httpd-freertos.h" 6 | #include "libesphttpd/httpd.h" 7 | #include "libesphttpd/route.h" 8 | #include "esp_wifi.h" 9 | #include "driver/uart.h" 10 | 11 | #include "freertos/FreeRTOS.h" 12 | #include "freertos/task.h" 13 | #include "freertos/semphr.h" 14 | #include "freertos/queue.h" 15 | 16 | #include "esp_err.h" 17 | #include "esp_log.h" 18 | #include "esp_event.h" 19 | #include "esp_netif.h" 20 | 21 | #include "cJSON.h" 22 | #include "httpd_task.h" 23 | #include "uart_task.h" 24 | 25 | #define TAG "httpd_task" 26 | 27 | char my_hostname[16] = "esphttpstream"; 28 | static CgiStatus ICACHE_FLASH_ATTR config_get_handler(HttpdConnData* connData); 29 | static CgiStatus ICACHE_FLASH_ATTR stream_get_handler(HttpdConnData* connData); 30 | static CgiStatus ICACHE_FLASH_ATTR results_get_handler(HttpdConnData* connData); 31 | static char connectionMemory[sizeof(RtosConnType) * MAX_CONNECTIONS]; 32 | static HttpdFreertosInstance httpdFreertosInstance; 33 | 34 | HttpdBuiltInUrl builtInUrls[] = { 35 | ROUTE_CGI("/config", config_get_handler), 36 | ROUTE_CGI("/stream", stream_get_handler), 37 | ROUTE_CGI("/results", results_get_handler), 38 | ROUTE_END(), 39 | }; 40 | 41 | 42 | static CgiStatus ICACHE_FLASH_ATTR config_get_handler(HttpdConnData* connData) 43 | { 44 | if (connData->isConnectionClosed) 45 | { 46 | // Connection aborted. Clean up. 47 | return HTTPD_CGI_DONE; 48 | } 49 | cJSON* config_json = get_config_json(); 50 | if (config_json != NULL) 51 | { 52 | httpdStartResponse(connData, 200); 53 | httpdHeader(connData, "Content-Type", "text/json"); 54 | httpdEndHeaders(connData); 55 | const char* resp_str = (const char*) cJSON_Print(config_json); 56 | httpdSend(connData, resp_str, strlen(resp_str)); 57 | } 58 | else 59 | { 60 | httpdStartResponse(connData, 200); 61 | httpdHeader(connData, "Content-Type", "text/plain"); 62 | httpdEndHeaders(connData); 63 | const char* resp_str 64 | = "Config not yet received from device, or device is in recognition mode."; 65 | httpdSend(connData, resp_str, strlen(resp_str)); 66 | } 67 | 68 | return HTTPD_CGI_DONE; 69 | } 70 | 71 | static CgiStatus ICACHE_FLASH_ATTR results_get_handler(HttpdConnData* connData) 72 | { 73 | uint8_t* pData = connData->cgiData; 74 | int rxBytes = 0; 75 | 76 | if (connData->isConnectionClosed) 77 | { 78 | if (pData != NULL) 79 | { 80 | free(pData); 81 | } 82 | ESP_LOGI(TAG, "Result Stream Closed"); 83 | // Connection aborted. Clean up. 84 | return HTTPD_CGI_DONE; 85 | } 86 | 87 | else 88 | { 89 | int queue_sz = get_result_queue_size(); 90 | if (pData == NULL) 91 | { 92 | pData = (uint8_t*) malloc(RX_BUF_SIZE + 1); 93 | 94 | if (pData == NULL) 95 | { 96 | ESP_LOGE(TAG, "Cant malloc for result data"); 97 | return HTTPD_CGI_DONE; 98 | } 99 | 100 | connData->cgiData = pData; 101 | // Set initial pointer to start of string 102 | // We need to send the headers before sending any data. Do that now. 103 | httpdStartResponse(connData, 200); 104 | httpdHeader(connData, "Content-Type", "application/octet-stream"); 105 | httpdEndHeaders(connData); 106 | uart_flush_input(DEVICE_DATA_UART_NUM); 107 | } 108 | else 109 | { 110 | rxBytes = uart_read_bytes( 111 | DEVICE_DATA_UART_NUM, pData, queue_sz / 2, 100 / portTICK_RATE_MS); 112 | if (rxBytes > 0) 113 | { 114 | httpdSend(connData, (const char*) pData, rxBytes); 115 | } 116 | else 117 | { 118 | ESP_LOGW(TAG, "No bytes RX"); 119 | const char* resp_str = "{}"; 120 | httpdSend(connData, resp_str, strlen(resp_str)); 121 | } 122 | } 123 | 124 | return HTTPD_CGI_MORE; 125 | } 126 | 127 | 128 | return HTTPD_CGI_DONE; 129 | } 130 | 131 | static CgiStatus stream_get_handler(HttpdConnData* connData) 132 | { 133 | uint8_t* pSensorData = connData->cgiData; 134 | // If the browser unexpectedly closes the connection, the CGI will be called 135 | // after isConnectionClosed is set to true. We can use this to clean up any data. It's pretty 136 | // relevant here because otherwise we may leak memory when the browser aborts the connection. 137 | if (connData->isConnectionClosed) 138 | { 139 | // Connection aborted. Clean up. 140 | if (pSensorData != NULL) 141 | { 142 | // free(pSensorData->data); 143 | free(pSensorData); 144 | } 145 | ESP_LOGI(TAG, "Stream closed"); 146 | return HTTPD_CGI_DONE; 147 | } 148 | 149 | else 150 | { 151 | int queue_sz = get_data_queue_size(); 152 | if (pSensorData == NULL) 153 | { 154 | // This is the first call to the CGI for this webbrowser request. 155 | // Allocate a state structure. 156 | pSensorData = malloc(queue_sz); 157 | ESP_LOGI(TAG, "Malloc %d", queue_sz); 158 | if (pSensorData == NULL) 159 | { 160 | ESP_LOGE(TAG, "Cant malloc for sensordata"); 161 | return HTTPD_CGI_DONE; 162 | } 163 | 164 | // pSensorData->data = malloc(queue_sz); 165 | // Save the ptr in connData so we get it passed the next time as well. 166 | connData->cgiData = pSensorData; 167 | // Set initial pointer to start of string 168 | // We need to send the headers before sending any data. Do that now. 169 | httpdStartResponse(connData, 200); 170 | httpdHeader(connData, "Content-Type", "application/octet-stream"); 171 | httpdEndHeaders(connData); 172 | uart_flush_input(DEVICE_DATA_UART_NUM); 173 | } 174 | else 175 | { 176 | const int rxBytes = uart_read_bytes( 177 | DEVICE_DATA_UART_NUM, pSensorData, queue_sz, 100 / portTICK_RATE_MS); 178 | if (rxBytes > 0) 179 | { 180 | httpdSend(connData, (const char*) pSensorData, queue_sz); 181 | } 182 | } 183 | 184 | return HTTPD_CGI_MORE; 185 | } 186 | 187 | 188 | return HTTPD_CGI_DONE; 189 | } 190 | 191 | void httpd_task_init() 192 | { 193 | httpdFreertosInit(&httpdFreertosInstance, 194 | builtInUrls, 195 | LISTEN_PORT, 196 | connectionMemory, 197 | MAX_CONNECTIONS, 198 | HTTPD_FLAG_NONE); 199 | httpdFreertosStart(&httpdFreertosInstance); 200 | 201 | ESP_ERROR_CHECK(initCgiWifi()); // Initialise wifi configuration CGI 202 | 203 | printf("\nReady\n"); 204 | } 205 | -------------------------------------------------------------------------------- /main/httpd_task.h: -------------------------------------------------------------------------------- 1 | #ifndef __HTTPD_TASK_H__ 2 | #define __HTTPD_TASK_H__ 3 | 4 | #define DEFAULT_WIFI_MODE WIFI_MODE_AP 5 | #define DEFAULT_WIFI_STA_SSID CONFIG_EXAMPLE_WIFI_SSID 6 | #define DEFAULT_WIFI_STA_PASS CONFIG_EXAMPLE_WIFI_PASSWORD 7 | #define LISTEN_PORT 80u 8 | #define MAX_CONNECTIONS 2u 9 | 10 | void httpd_task_init(); 11 | bool httpd_task_is_stream_open(); 12 | #endif 13 | -------------------------------------------------------------------------------- /main/main.c: -------------------------------------------------------------------------------- 1 | /* UART asynchronous example, that uses separate RX and TX tasks 2 | 3 | This example code is in the Public Domain (or CC0 licensed, at your option.) 4 | 5 | Unless required by applicable law or agreed to in writing, this 6 | software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 7 | CONDITIONS OF ANY KIND, either express or implied. 8 | */ 9 | #include "freertos/FreeRTOS.h" 10 | #include "freertos/task.h" 11 | #include "freertos/queue.h" 12 | #include "esp_system.h" 13 | #include "esp_log.h" 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include "driver/uart.h" 21 | #include "string.h" 22 | #include "driver/gpio.h" 23 | #include "nvs_flash.h" 24 | #include "esp_netif.h" 25 | #include "esp_eth.h" 26 | #include "protocol_examples_common.h" 27 | #include "cJSON.h" 28 | #include "uart_task.h" 29 | #include "httpd_task.h" 30 | 31 | #include 32 | 33 | 34 | void app_main(void) 35 | { 36 | ESP_ERROR_CHECK(nvs_flash_init()); 37 | ESP_ERROR_CHECK(esp_netif_init()); 38 | ESP_ERROR_CHECK(esp_event_loop_create_default()); 39 | 40 | /* This helper function configures Wi-Fi or Ethernet, as selected in menuconfig. 41 | * Read "Establishing Wi-Fi or Ethernet Connection" section in 42 | * examples/protocols/README.md for more information about this function. 43 | */ 44 | ESP_ERROR_CHECK(example_connect()); 45 | 46 | /* Start the server for the first time */ 47 | // #define xQueueCreate( uxQueueLength, uxItemSize ) xQueueGenericCreate( ( uxQueueLength ), ( 48 | // uxItemSize ), ( queueQUEUE_TYPE_BASE ) ) 49 | uart_init(); 50 | xTaskCreate(uart_task_rx, "uart_rx_task", 1024 * 2, NULL, configMAX_PRIORITIES - 1, NULL); 51 | httpd_task_init(); 52 | } 53 | -------------------------------------------------------------------------------- /main/uart_task.c: -------------------------------------------------------------------------------- 1 | #include "freertos/FreeRTOS.h" 2 | #include "freertos/task.h" 3 | #include "freertos/queue.h" 4 | #include "esp_log.h" 5 | #include "esp_vfs_dev.h" 6 | #include "driver/uart.h" 7 | #include "string.h" 8 | #include "driver/gpio.h" 9 | #include "cJSON.h" 10 | #include "uart_task.h" 11 | #include "httpd_task.h" 12 | 13 | static int data_queue_item_sz = 0; 14 | static int result_queue_item_sz = 0; 15 | static cJSON* config_json; 16 | static bool config_rx = false; 17 | 18 | bool results_ready = false; 19 | int get_data_queue_size() { return data_queue_item_sz; } 20 | int get_result_queue_size() { return result_queue_item_sz; } 21 | 22 | cJSON* get_config_json() { return config_json; } 23 | 24 | void uart_init(void) 25 | { 26 | const uart_config_t uart_config_data_source = { 27 | .baud_rate = UART_SPEED_DATA_SOURCE, 28 | .data_bits = UART_DATA_8_BITS, 29 | .parity = UART_PARITY_DISABLE, 30 | .stop_bits = UART_STOP_BITS_1, 31 | .flow_ctrl = UART_HW_FLOWCTRL_DISABLE, 32 | .source_clk = UART_SCLK_APB, 33 | }; 34 | const uart_config_t uart_config_usb = { 35 | .baud_rate = 115200, 36 | .data_bits = UART_DATA_8_BITS, 37 | .parity = UART_PARITY_DISABLE, 38 | .stop_bits = UART_STOP_BITS_1, 39 | .flow_ctrl = UART_HW_FLOWCTRL_DISABLE, 40 | .source_clk = UART_SCLK_APB, 41 | }; 42 | // We won't use a buffer for sending data. 43 | uart_driver_install(DEVICE_DATA_UART_NUM, RX_BUF_SIZE * 2, 0, 0, NULL, 0); 44 | uart_param_config(DEVICE_DATA_UART_NUM, &uart_config_data_source); 45 | uart_set_pin(DEVICE_DATA_UART_NUM, 46 | TXD_HW_UART_PIN, 47 | RXD_HW_UART_PIN, 48 | UART_PIN_NO_CHANGE, 49 | UART_PIN_NO_CHANGE); 50 | esp_vfs_dev_uart_use_driver(DEVICE_DATA_UART_NUM); 51 | 52 | uart_driver_install(USB_SERIAL_UART_NUM, RX_BUF_SIZE, 0, 0, NULL, 0); 53 | uart_param_config(USB_SERIAL_UART_NUM, &uart_config_usb); 54 | uart_set_pin(USB_SERIAL_UART_NUM, 55 | TXD_USB_SERIAL_PIN, 56 | RXD_USB_SERIAL_PIN, 57 | UART_PIN_NO_CHANGE, 58 | UART_PIN_NO_CHANGE); 59 | } 60 | 61 | uint8_t num_stored_packets; 62 | 63 | void uart_task_rx(void* arg) 64 | { 65 | static int samples_in_packet = 0; 66 | static int num_cols = 0; 67 | esp_log_level_set(RX_TASK_TAG, ESP_LOG_INFO); 68 | uint8_t* data = (uint8_t*) malloc(RX_BUF_SIZE + 1); 69 | 70 | while (1) 71 | { 72 | if (!config_rx) 73 | { 74 | const int rxBytes 75 | = uart_read_bytes(DEVICE_DATA_UART_NUM, data, RX_BUF_SIZE, 100 / portTICK_RATE_MS); 76 | 77 | if (rxBytes > 0) 78 | { 79 | data[rxBytes] = 0; 80 | config_json = cJSON_Parse((char*) data); 81 | if (config_json != NULL) 82 | { 83 | cJSON* samples_per_packet 84 | = cJSON_GetObjectItemCaseSensitive(config_json, "samples_per_packet"); 85 | cJSON* column_location 86 | = cJSON_GetObjectItemCaseSensitive(config_json, "column_location"); 87 | if (samples_per_packet != NULL && column_location != NULL) 88 | { 89 | if (cJSON_IsNumber(samples_per_packet)) 90 | { 91 | samples_in_packet = samples_per_packet->valueint; 92 | num_cols = cJSON_GetArraySize(column_location); 93 | data_queue_item_sz = samples_in_packet * sizeof(int16_t) * num_cols; 94 | ESP_LOGI(RX_TASK_TAG, 95 | "Samples in packet %d cols %d queue_sz %d", 96 | samples_in_packet, 97 | num_cols, 98 | data_queue_item_sz); 99 | } 100 | const char* resp_str = (const char*) cJSON_PrintUnformatted(config_json); 101 | ESP_LOGI(RX_TASK_TAG, "%s", resp_str); 102 | uart_tx_chars(DEVICE_DATA_UART_NUM, CONNECT_STR, strlen(CONNECT_STR)); 103 | uart_wait_tx_done(DEVICE_DATA_UART_NUM, 1000 / portTICK_RATE_MS); 104 | config_rx = true; 105 | free(data); 106 | uart_flush_input(DEVICE_DATA_UART_NUM); 107 | vTaskDelete(NULL); 108 | } 109 | else 110 | { 111 | ESP_LOGW(RX_TASK_TAG, "Getting non-config JSON data"); 112 | const char* resp_str = (const char*) cJSON_Print(config_json); 113 | ESP_LOGI(RX_TASK_TAG, "%s", resp_str); 114 | result_queue_item_sz = strlen(resp_str) + 10; 115 | free(data); 116 | free(config_json); 117 | 118 | vTaskDelete(NULL); 119 | } 120 | // We are getting JSON data, but it is not the configuration. The device is in 121 | // recognition mode. 122 | } 123 | } 124 | } 125 | } 126 | } 127 | -------------------------------------------------------------------------------- /main/uart_task.h: -------------------------------------------------------------------------------- 1 | #ifndef __UART_TASK_H__ 2 | #define __UART_TASK_H__ 3 | #include "driver/gpio.h" 4 | #include "cJSON.h" 5 | #include "freertos/queue.h" 6 | 7 | #define CONNECT_STR "connect" 8 | #define RX_TASK_TAG "RX_TASK" 9 | #define RX_BUF_SIZE 2048 10 | #define UART_SPEED_DATA_SOURCE CONFIG_DATA_UART_SPEED 11 | 12 | #if CONFIG_DEVICE_DATA_UART_PIN_SWAP 13 | #define TXD_HW_UART_PIN (GPIO_NUM_16) 14 | #define RXD_HW_UART_PIN (GPIO_NUM_17) 15 | #else 16 | #define TXD_HW_UART_PIN (GPIO_NUM_17) 17 | #define RXD_HW_UART_PIN (GPIO_NUM_16) 18 | #endif 19 | #define DEVICE_DATA_UART_NUM UART_NUM_1 20 | 21 | #define TXD_USB_SERIAL_PIN (GPIO_NUM_4) 22 | #define RXD_USB_SERIAL_PIN (GPIO_NUM_5) 23 | #define USB_SERIAL_UART_NUM UART_NUM_0 24 | 25 | #define MAX_SENSOR_DATA_MSG 50 26 | 27 | extern bool results_ready; 28 | 29 | void uart_task_rx(void* arg); 30 | void uart_init(void); 31 | int get_data_queue_size(); 32 | int get_result_queue_size(); 33 | cJSON* get_config_json(); 34 | 35 | 36 | #endif //__UART_TASK_H__ 37 | -------------------------------------------------------------------------------- /sdkconfig.defaults: -------------------------------------------------------------------------------- 1 | # 2 | # esphttpd 3 | # 4 | CONFIG_ESPHTTPD_ENABLED=y 5 | CONFIG_ESPHTTPD_STACK_SIZE=8192 6 | # CONFIG_ESPHTTPD_PROC_AFFINITY is not set 7 | CONFIG_ESPHTTPD_PROC_PRI=5 8 | # CONFIG_ESPHTTPD_SHUTDOWN_SUPPORT is not set 9 | # CONFIG_ESPHTTPD_CORS_SUPPORT is not set 10 | # CONFIG_ESPHTTPD_USE_ESPFS is not set 11 | # CONFIG_ESPHTTPD_SO_REUSEADDR is not set 12 | CONFIG_ESPHTTPD_TCP_NODELAY=y 13 | # CONFIG_ESPHTTPD_SSL_SUPPORT is not set 14 | # CONFIG_ESPHTTPD_BACKLOG_SUPPORT is not set 15 | CONFIG_ESPHTTPD_SANITIZE_URLS=y 16 | # CONFIG_ESPHTTPD_SINGLE_REQUEST is not set 17 | # CONFIG_ESPHTTPD_ALLOW_OTA_FACTORY_APP is not set 18 | # end of esphttpd 19 | -------------------------------------------------------------------------------- /sdkconfig.example: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated file. DO NOT EDIT. 3 | # Espressif IoT Development Framework (ESP-IDF) Project Configuration 4 | # 5 | CONFIG_IDF_CMAKE=y 6 | CONFIG_IDF_TARGET="esp32" 7 | CONFIG_IDF_TARGET_ESP32=y 8 | CONFIG_IDF_FIRMWARE_CHIP_ID=0x0000 9 | 10 | # 11 | # SDK tool configuration 12 | # 13 | CONFIG_SDK_TOOLPREFIX="xtensa-esp32-elf-" 14 | # CONFIG_SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS is not set 15 | # end of SDK tool configuration 16 | 17 | # 18 | # Build type 19 | # 20 | CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y 21 | # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set 22 | CONFIG_APP_BUILD_GENERATE_BINARIES=y 23 | CONFIG_APP_BUILD_BOOTLOADER=y 24 | CONFIG_APP_BUILD_USE_FLASH_SECTIONS=y 25 | # end of Build type 26 | 27 | # 28 | # Application manager 29 | # 30 | CONFIG_APP_COMPILE_TIME_DATE=y 31 | # CONFIG_APP_EXCLUDE_PROJECT_VER_VAR is not set 32 | # CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR is not set 33 | CONFIG_APP_RETRIEVE_LEN_ELF_SHA=16 34 | # end of Application manager 35 | 36 | # 37 | # Bootloader config 38 | # 39 | CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y 40 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set 41 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set 42 | # CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set 43 | # CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set 44 | # CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set 45 | # CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set 46 | CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y 47 | # CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set 48 | # CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set 49 | CONFIG_BOOTLOADER_LOG_LEVEL=3 50 | # CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V is not set 51 | CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y 52 | # CONFIG_BOOTLOADER_FACTORY_RESET is not set 53 | # CONFIG_BOOTLOADER_APP_TEST is not set 54 | CONFIG_BOOTLOADER_WDT_ENABLE=y 55 | # CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE is not set 56 | CONFIG_BOOTLOADER_WDT_TIME_MS=9000 57 | # CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE is not set 58 | # CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP is not set 59 | CONFIG_BOOTLOADER_RESERVE_RTC_SIZE=0 60 | # CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC is not set 61 | # end of Bootloader config 62 | 63 | # 64 | # Security features 65 | # 66 | # CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT is not set 67 | # CONFIG_SECURE_BOOT is not set 68 | # CONFIG_SECURE_FLASH_ENC_ENABLED is not set 69 | # end of Security features 70 | 71 | # 72 | # Serial flasher config 73 | # 74 | CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200 75 | # CONFIG_ESPTOOLPY_FLASHMODE_QIO is not set 76 | # CONFIG_ESPTOOLPY_FLASHMODE_QOUT is not set 77 | CONFIG_ESPTOOLPY_FLASHMODE_DIO=y 78 | # CONFIG_ESPTOOLPY_FLASHMODE_DOUT is not set 79 | CONFIG_ESPTOOLPY_FLASHMODE="dio" 80 | # CONFIG_ESPTOOLPY_FLASHFREQ_80M is not set 81 | CONFIG_ESPTOOLPY_FLASHFREQ_40M=y 82 | # CONFIG_ESPTOOLPY_FLASHFREQ_26M is not set 83 | # CONFIG_ESPTOOLPY_FLASHFREQ_20M is not set 84 | CONFIG_ESPTOOLPY_FLASHFREQ="40m" 85 | # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set 86 | CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y 87 | # CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set 88 | # CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set 89 | # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set 90 | CONFIG_ESPTOOLPY_FLASHSIZE="2MB" 91 | CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y 92 | CONFIG_ESPTOOLPY_BEFORE_RESET=y 93 | # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set 94 | CONFIG_ESPTOOLPY_BEFORE="default_reset" 95 | CONFIG_ESPTOOLPY_AFTER_RESET=y 96 | # CONFIG_ESPTOOLPY_AFTER_NORESET is not set 97 | CONFIG_ESPTOOLPY_AFTER="hard_reset" 98 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_9600B is not set 99 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_57600B is not set 100 | CONFIG_ESPTOOLPY_MONITOR_BAUD_115200B=y 101 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_230400B is not set 102 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_921600B is not set 103 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_2MB is not set 104 | # CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER is not set 105 | CONFIG_ESPTOOLPY_MONITOR_BAUD_OTHER_VAL=115200 106 | CONFIG_ESPTOOLPY_MONITOR_BAUD=115200 107 | # end of Serial flasher config 108 | 109 | # 110 | # Partition Table 111 | # 112 | CONFIG_PARTITION_TABLE_SINGLE_APP=y 113 | # CONFIG_PARTITION_TABLE_TWO_OTA is not set 114 | # CONFIG_PARTITION_TABLE_CUSTOM is not set 115 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 116 | CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" 117 | CONFIG_PARTITION_TABLE_OFFSET=0x8000 118 | CONFIG_PARTITION_TABLE_MD5=y 119 | # end of Partition Table 120 | 121 | # 122 | # Application UART Configuration 123 | # 124 | CONFIG_DEVICE_DATA_UART_PIN_SWAP=y 125 | # CONFIG_BAUD_115200 is not set 126 | # CONFIG_BAUD_230400 is not set 127 | CONFIG_BAUD_460800=y 128 | # CONFIG_BAUD_921600 is not set 129 | CONFIG_DATA_UART_SPEED=460800 130 | # end of Application UART Configuration 131 | 132 | # 133 | # Example Connection Configuration 134 | # 135 | CONFIG_EXAMPLE_CONNECT_WIFI=y 136 | # CONFIG_EXAMPLE_CONNECT_ETHERNET is not set 137 | CONFIG_EXAMPLE_WIFI_SSID="myssid" 138 | CONFIG_EXAMPLE_WIFI_PASSWORD="mypassword" 139 | CONFIG_EXAMPLE_CONNECT_IPV6=y 140 | # end of Example Connection Configuration 141 | 142 | # 143 | # Compiler options 144 | # 145 | # CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set 146 | # CONFIG_COMPILER_OPTIMIZATION_SIZE is not set 147 | CONFIG_COMPILER_OPTIMIZATION_PERF=y 148 | # CONFIG_COMPILER_OPTIMIZATION_NONE is not set 149 | CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y 150 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set 151 | # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE is not set 152 | # CONFIG_COMPILER_CXX_EXCEPTIONS is not set 153 | # CONFIG_COMPILER_CXX_RTTI is not set 154 | CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y 155 | # CONFIG_COMPILER_STACK_CHECK_MODE_NORM is not set 156 | # CONFIG_COMPILER_STACK_CHECK_MODE_STRONG is not set 157 | # CONFIG_COMPILER_STACK_CHECK_MODE_ALL is not set 158 | # CONFIG_COMPILER_WARN_WRITE_STRINGS is not set 159 | # CONFIG_COMPILER_DISABLE_GCC8_WARNINGS is not set 160 | # end of Compiler options 161 | 162 | # 163 | # Component config 164 | # 165 | 166 | # 167 | # Application Level Tracing 168 | # 169 | # CONFIG_APPTRACE_DEST_TRAX is not set 170 | CONFIG_APPTRACE_DEST_NONE=y 171 | CONFIG_APPTRACE_LOCK_ENABLE=y 172 | # end of Application Level Tracing 173 | 174 | # 175 | # Bluetooth 176 | # 177 | # CONFIG_BT_ENABLED is not set 178 | CONFIG_BTDM_CTRL_BR_EDR_SCO_DATA_PATH_EFF=0 179 | CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=0 180 | CONFIG_BTDM_CTRL_BR_EDR_MAX_ACL_CONN_EFF=0 181 | CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN_EFF=0 182 | CONFIG_BTDM_CTRL_PINNED_TO_CORE=0 183 | CONFIG_BTDM_BLE_SLEEP_CLOCK_ACCURACY_INDEX_EFF=1 184 | CONFIG_BT_RESERVE_DRAM=0 185 | # end of Bluetooth 186 | 187 | # CONFIG_BLE_MESH is not set 188 | 189 | # 190 | # CoAP Configuration 191 | # 192 | CONFIG_COAP_MBEDTLS_PSK=y 193 | # CONFIG_COAP_MBEDTLS_PKI is not set 194 | # CONFIG_COAP_MBEDTLS_DEBUG is not set 195 | CONFIG_COAP_LOG_DEFAULT_LEVEL=0 196 | # end of CoAP Configuration 197 | 198 | # 199 | # Driver configurations 200 | # 201 | 202 | # 203 | # ADC configuration 204 | # 205 | # CONFIG_ADC_FORCE_XPD_FSM is not set 206 | CONFIG_ADC_DISABLE_DAC=y 207 | # end of ADC configuration 208 | 209 | # 210 | # SPI configuration 211 | # 212 | # CONFIG_SPI_MASTER_IN_IRAM is not set 213 | CONFIG_SPI_MASTER_ISR_IN_IRAM=y 214 | # CONFIG_SPI_SLAVE_IN_IRAM is not set 215 | CONFIG_SPI_SLAVE_ISR_IN_IRAM=y 216 | # end of SPI configuration 217 | 218 | # 219 | # UART configuration 220 | # 221 | CONFIG_UART_ISR_IN_IRAM=y 222 | # end of UART configuration 223 | 224 | # 225 | # RTCIO configuration 226 | # 227 | # CONFIG_RTCIO_SUPPORT_RTC_GPIO_DESC is not set 228 | # end of RTCIO configuration 229 | # end of Driver configurations 230 | 231 | # 232 | # eFuse Bit Manager 233 | # 234 | # CONFIG_EFUSE_CUSTOM_TABLE is not set 235 | # CONFIG_EFUSE_VIRTUAL is not set 236 | # CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE is not set 237 | CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y 238 | # CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT is not set 239 | CONFIG_EFUSE_MAX_BLK_LEN=192 240 | # end of eFuse Bit Manager 241 | 242 | # 243 | # ESP-TLS 244 | # 245 | CONFIG_ESP_TLS_USING_MBEDTLS=y 246 | # CONFIG_ESP_TLS_SERVER is not set 247 | # CONFIG_ESP_TLS_PSK_VERIFICATION is not set 248 | # end of ESP-TLS 249 | 250 | # 251 | # ESP32-specific 252 | # 253 | CONFIG_ESP32_REV_MIN_0=y 254 | # CONFIG_ESP32_REV_MIN_1 is not set 255 | # CONFIG_ESP32_REV_MIN_2 is not set 256 | # CONFIG_ESP32_REV_MIN_3 is not set 257 | CONFIG_ESP32_REV_MIN=0 258 | CONFIG_ESP32_DPORT_WORKAROUND=y 259 | # CONFIG_ESP32_DEFAULT_CPU_FREQ_80 is not set 260 | CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y 261 | # CONFIG_ESP32_DEFAULT_CPU_FREQ_240 is not set 262 | CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 263 | # CONFIG_ESP32_SPIRAM_SUPPORT is not set 264 | # CONFIG_ESP32_TRAX is not set 265 | CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 266 | # CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set 267 | CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_FOUR=y 268 | CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES=4 269 | # CONFIG_ESP32_ULP_COPROC_ENABLED is not set 270 | CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=0 271 | # CONFIG_ESP32_PANIC_PRINT_HALT is not set 272 | CONFIG_ESP32_PANIC_PRINT_REBOOT=y 273 | # CONFIG_ESP32_PANIC_SILENT_REBOOT is not set 274 | # CONFIG_ESP32_PANIC_GDBSTUB is not set 275 | CONFIG_ESP32_DEBUG_OCDAWARE=y 276 | CONFIG_ESP32_BROWNOUT_DET=y 277 | CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_0=y 278 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_1 is not set 279 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_2 is not set 280 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_3 is not set 281 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_4 is not set 282 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_5 is not set 283 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_6 is not set 284 | # CONFIG_ESP32_BROWNOUT_DET_LVL_SEL_7 is not set 285 | CONFIG_ESP32_BROWNOUT_DET_LVL=0 286 | CONFIG_ESP32_REDUCE_PHY_TX_POWER=y 287 | CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y 288 | # CONFIG_ESP32_TIME_SYSCALL_USE_RTC is not set 289 | # CONFIG_ESP32_TIME_SYSCALL_USE_FRC1 is not set 290 | # CONFIG_ESP32_TIME_SYSCALL_USE_NONE is not set 291 | CONFIG_ESP32_RTC_CLK_SRC_INT_RC=y 292 | # CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS is not set 293 | # CONFIG_ESP32_RTC_CLK_SRC_EXT_OSC is not set 294 | # CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256 is not set 295 | CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 296 | CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 297 | CONFIG_ESP32_XTAL_FREQ_40=y 298 | # CONFIG_ESP32_XTAL_FREQ_26 is not set 299 | # CONFIG_ESP32_XTAL_FREQ_AUTO is not set 300 | CONFIG_ESP32_XTAL_FREQ=40 301 | # CONFIG_ESP32_DISABLE_BASIC_ROM_CONSOLE is not set 302 | # CONFIG_ESP32_NO_BLOBS is not set 303 | # CONFIG_ESP32_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set 304 | # CONFIG_ESP32_USE_FIXED_STATIC_RAM_SIZE is not set 305 | CONFIG_ESP32_DPORT_DIS_INTERRUPT_LVL=5 306 | # end of ESP32-specific 307 | 308 | # 309 | # Power Management 310 | # 311 | # CONFIG_PM_ENABLE is not set 312 | # end of Power Management 313 | 314 | # 315 | # ADC-Calibration 316 | # 317 | CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y 318 | CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y 319 | CONFIG_ADC_CAL_LUT_ENABLE=y 320 | # end of ADC-Calibration 321 | 322 | # 323 | # Common ESP-related 324 | # 325 | # CONFIG_ESP_TIMER_PROFILING is not set 326 | CONFIG_ESP_ERR_TO_NAME_LOOKUP=y 327 | CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32 328 | CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2304 329 | CONFIG_ESP_MAIN_TASK_STACK_SIZE=3584 330 | CONFIG_ESP_IPC_TASK_STACK_SIZE=1024 331 | CONFIG_ESP_IPC_USES_CALLERS_PRIORITY=y 332 | CONFIG_ESP_TIMER_TASK_STACK_SIZE=3584 333 | CONFIG_ESP_MINIMAL_SHARED_STACK_SIZE=2048 334 | CONFIG_ESP_CONSOLE_UART_DEFAULT=y 335 | # CONFIG_ESP_CONSOLE_UART_CUSTOM is not set 336 | # CONFIG_ESP_CONSOLE_UART_NONE is not set 337 | CONFIG_ESP_CONSOLE_UART_NUM=0 338 | CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 339 | CONFIG_ESP_INT_WDT=y 340 | CONFIG_ESP_INT_WDT_TIMEOUT_MS=300 341 | CONFIG_ESP_INT_WDT_CHECK_CPU1=y 342 | CONFIG_ESP_TASK_WDT=y 343 | # CONFIG_ESP_TASK_WDT_PANIC is not set 344 | CONFIG_ESP_TASK_WDT_TIMEOUT_S=5 345 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y 346 | CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU1=y 347 | # CONFIG_ESP_PANIC_HANDLER_IRAM is not set 348 | # end of Common ESP-related 349 | 350 | # 351 | # Ethernet 352 | # 353 | CONFIG_ETH_ENABLED=y 354 | CONFIG_ETH_USE_ESP32_EMAC=y 355 | CONFIG_ETH_PHY_INTERFACE_RMII=y 356 | # CONFIG_ETH_PHY_INTERFACE_MII is not set 357 | CONFIG_ETH_RMII_CLK_INPUT=y 358 | # CONFIG_ETH_RMII_CLK_OUTPUT is not set 359 | CONFIG_ETH_RMII_CLK_IN_GPIO=0 360 | CONFIG_ETH_DMA_BUFFER_SIZE=512 361 | CONFIG_ETH_DMA_RX_BUFFER_NUM=10 362 | CONFIG_ETH_DMA_TX_BUFFER_NUM=10 363 | CONFIG_ETH_USE_SPI_ETHERNET=y 364 | CONFIG_ETH_SPI_ETHERNET_DM9051=y 365 | # CONFIG_ETH_USE_OPENETH is not set 366 | # end of Ethernet 367 | 368 | # 369 | # Event Loop Library 370 | # 371 | # CONFIG_ESP_EVENT_LOOP_PROFILING is not set 372 | CONFIG_ESP_EVENT_POST_FROM_ISR=y 373 | CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=y 374 | # end of Event Loop Library 375 | 376 | # 377 | # GDB Stub 378 | # 379 | # end of GDB Stub 380 | 381 | # 382 | # ESP HTTP client 383 | # 384 | CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y 385 | # CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set 386 | # end of ESP HTTP client 387 | 388 | # 389 | # HTTP Server 390 | # 391 | CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 392 | CONFIG_HTTPD_MAX_URI_LEN=512 393 | CONFIG_HTTPD_ERR_RESP_NO_DELAY=y 394 | CONFIG_HTTPD_PURGE_BUF_LEN=32 395 | # CONFIG_HTTPD_LOG_PURGE_DATA is not set 396 | # end of HTTP Server 397 | 398 | # 399 | # ESP HTTPS OTA 400 | # 401 | # CONFIG_OTA_ALLOW_HTTP is not set 402 | # end of ESP HTTPS OTA 403 | 404 | # 405 | # ESP HTTPS server 406 | # 407 | # CONFIG_ESP_HTTPS_SERVER_ENABLE is not set 408 | # end of ESP HTTPS server 409 | 410 | # 411 | # ESP NETIF Adapter 412 | # 413 | CONFIG_ESP_NETIF_IP_LOST_TIMER_INTERVAL=120 414 | CONFIG_ESP_NETIF_TCPIP_LWIP=y 415 | # CONFIG_ESP_NETIF_LOOPBACK is not set 416 | CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y 417 | # end of ESP NETIF Adapter 418 | 419 | # 420 | # Wi-Fi 421 | # 422 | CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 423 | CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 424 | # CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set 425 | CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y 426 | CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 427 | CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 428 | # CONFIG_ESP32_WIFI_CSI_ENABLED is not set 429 | CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y 430 | CONFIG_ESP32_WIFI_TX_BA_WIN=6 431 | CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y 432 | CONFIG_ESP32_WIFI_RX_BA_WIN=6 433 | CONFIG_ESP32_WIFI_NVS_ENABLED=y 434 | CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y 435 | # CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set 436 | CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 437 | CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 438 | # CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE is not set 439 | CONFIG_ESP32_WIFI_IRAM_OPT=y 440 | CONFIG_ESP32_WIFI_RX_IRAM_OPT=y 441 | CONFIG_ESP32_WIFI_ENABLE_WPA3_SAE=y 442 | # end of Wi-Fi 443 | 444 | # 445 | # PHY 446 | # 447 | CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y 448 | # CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION is not set 449 | CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 450 | CONFIG_ESP32_PHY_MAX_TX_POWER=20 451 | # end of PHY 452 | 453 | # 454 | # Core dump 455 | # 456 | # CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH is not set 457 | # CONFIG_ESP32_ENABLE_COREDUMP_TO_UART is not set 458 | CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y 459 | # end of Core dump 460 | 461 | # 462 | # FAT Filesystem support 463 | # 464 | # CONFIG_FATFS_CODEPAGE_DYNAMIC is not set 465 | CONFIG_FATFS_CODEPAGE_437=y 466 | # CONFIG_FATFS_CODEPAGE_720 is not set 467 | # CONFIG_FATFS_CODEPAGE_737 is not set 468 | # CONFIG_FATFS_CODEPAGE_771 is not set 469 | # CONFIG_FATFS_CODEPAGE_775 is not set 470 | # CONFIG_FATFS_CODEPAGE_850 is not set 471 | # CONFIG_FATFS_CODEPAGE_852 is not set 472 | # CONFIG_FATFS_CODEPAGE_855 is not set 473 | # CONFIG_FATFS_CODEPAGE_857 is not set 474 | # CONFIG_FATFS_CODEPAGE_860 is not set 475 | # CONFIG_FATFS_CODEPAGE_861 is not set 476 | # CONFIG_FATFS_CODEPAGE_862 is not set 477 | # CONFIG_FATFS_CODEPAGE_863 is not set 478 | # CONFIG_FATFS_CODEPAGE_864 is not set 479 | # CONFIG_FATFS_CODEPAGE_865 is not set 480 | # CONFIG_FATFS_CODEPAGE_866 is not set 481 | # CONFIG_FATFS_CODEPAGE_869 is not set 482 | # CONFIG_FATFS_CODEPAGE_932 is not set 483 | # CONFIG_FATFS_CODEPAGE_936 is not set 484 | # CONFIG_FATFS_CODEPAGE_949 is not set 485 | # CONFIG_FATFS_CODEPAGE_950 is not set 486 | CONFIG_FATFS_CODEPAGE=437 487 | CONFIG_FATFS_LFN_NONE=y 488 | # CONFIG_FATFS_LFN_HEAP is not set 489 | # CONFIG_FATFS_LFN_STACK is not set 490 | CONFIG_FATFS_FS_LOCK=0 491 | CONFIG_FATFS_TIMEOUT_MS=10000 492 | CONFIG_FATFS_PER_FILE_CACHE=y 493 | # end of FAT Filesystem support 494 | 495 | # 496 | # Modbus configuration 497 | # 498 | CONFIG_FMB_COMM_MODE_RTU_EN=y 499 | CONFIG_FMB_COMM_MODE_ASCII_EN=y 500 | CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=150 501 | CONFIG_FMB_MASTER_DELAY_MS_CONVERT=200 502 | CONFIG_FMB_QUEUE_LENGTH=20 503 | CONFIG_FMB_SERIAL_TASK_STACK_SIZE=2048 504 | CONFIG_FMB_SERIAL_BUF_SIZE=256 505 | CONFIG_FMB_SERIAL_ASCII_BITS_PER_SYMB=8 506 | CONFIG_FMB_SERIAL_ASCII_TIMEOUT_RESPOND_MS=1000 507 | CONFIG_FMB_SERIAL_TASK_PRIO=10 508 | # CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set 509 | CONFIG_FMB_CONTROLLER_NOTIFY_TIMEOUT=20 510 | CONFIG_FMB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 511 | CONFIG_FMB_CONTROLLER_STACK_SIZE=4096 512 | CONFIG_FMB_EVENT_QUEUE_TIMEOUT=20 513 | CONFIG_FMB_TIMER_PORT_ENABLED=y 514 | CONFIG_FMB_TIMER_GROUP=0 515 | CONFIG_FMB_TIMER_INDEX=0 516 | # CONFIG_FMB_TIMER_ISR_IN_IRAM is not set 517 | # end of Modbus configuration 518 | 519 | # 520 | # FreeRTOS 521 | # 522 | # CONFIG_FREERTOS_UNICORE is not set 523 | CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF 524 | CONFIG_FREERTOS_CORETIMER_0=y 525 | # CONFIG_FREERTOS_CORETIMER_1 is not set 526 | CONFIG_FREERTOS_HZ=100 527 | CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y 528 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE is not set 529 | # CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL is not set 530 | CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y 531 | # CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set 532 | CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y 533 | CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 534 | CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y 535 | # CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE is not set 536 | # CONFIG_FREERTOS_ASSERT_DISABLE is not set 537 | CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 538 | CONFIG_FREERTOS_ISR_STACKSIZE=1536 539 | # CONFIG_FREERTOS_LEGACY_HOOKS is not set 540 | CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 541 | # CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION is not set 542 | CONFIG_FREERTOS_TIMER_TASK_PRIORITY=1 543 | CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=2048 544 | CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10 545 | CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 546 | # CONFIG_FREERTOS_USE_TRACE_FACILITY is not set 547 | # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set 548 | # CONFIG_FREERTOS_DEBUG_INTERNALS is not set 549 | CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y 550 | # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set 551 | CONFIG_FREERTOS_DEBUG_OCDAWARE=y 552 | # end of FreeRTOS 553 | 554 | # 555 | # Heap memory debugging 556 | # 557 | CONFIG_HEAP_POISONING_DISABLED=y 558 | # CONFIG_HEAP_POISONING_LIGHT is not set 559 | # CONFIG_HEAP_POISONING_COMPREHENSIVE is not set 560 | CONFIG_HEAP_TRACING_OFF=y 561 | # CONFIG_HEAP_TRACING_STANDALONE is not set 562 | # CONFIG_HEAP_TRACING_TOHOST is not set 563 | # end of Heap memory debugging 564 | 565 | # 566 | # jsmn 567 | # 568 | # CONFIG_JSMN_PARENT_LINKS is not set 569 | # CONFIG_JSMN_STRICT is not set 570 | # end of jsmn 571 | 572 | # 573 | # libsodium 574 | # 575 | # end of libsodium 576 | 577 | # 578 | # Log output 579 | # 580 | # CONFIG_LOG_DEFAULT_LEVEL_NONE is not set 581 | # CONFIG_LOG_DEFAULT_LEVEL_ERROR is not set 582 | # CONFIG_LOG_DEFAULT_LEVEL_WARN is not set 583 | CONFIG_LOG_DEFAULT_LEVEL_INFO=y 584 | # CONFIG_LOG_DEFAULT_LEVEL_DEBUG is not set 585 | # CONFIG_LOG_DEFAULT_LEVEL_VERBOSE is not set 586 | CONFIG_LOG_DEFAULT_LEVEL=3 587 | CONFIG_LOG_COLORS=y 588 | CONFIG_LOG_TIMESTAMP_SOURCE_RTOS=y 589 | # CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM is not set 590 | # end of Log output 591 | 592 | # 593 | # LWIP 594 | # 595 | CONFIG_LWIP_LOCAL_HOSTNAME="espressif" 596 | CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y 597 | # CONFIG_LWIP_L2_TO_L3_COPY is not set 598 | # CONFIG_LWIP_IRAM_OPTIMIZATION is not set 599 | CONFIG_LWIP_TIMERS_ONDEMAND=y 600 | CONFIG_LWIP_MAX_SOCKETS=10 601 | # CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set 602 | # CONFIG_LWIP_SO_LINGER is not set 603 | CONFIG_LWIP_SO_REUSE=y 604 | CONFIG_LWIP_SO_REUSE_RXTOALL=y 605 | # CONFIG_LWIP_SO_RCVBUF is not set 606 | # CONFIG_LWIP_NETBUF_RECVINFO is not set 607 | CONFIG_LWIP_IP_FRAG=y 608 | # CONFIG_LWIP_IP_REASSEMBLY is not set 609 | # CONFIG_LWIP_STATS is not set 610 | # CONFIG_LWIP_ETHARP_TRUST_IP_MAC is not set 611 | CONFIG_LWIP_ESP_GRATUITOUS_ARP=y 612 | CONFIG_LWIP_GARP_TMR_INTERVAL=60 613 | CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=32 614 | CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y 615 | # CONFIG_LWIP_DHCP_RESTORE_LAST_IP is not set 616 | 617 | # 618 | # DHCP server 619 | # 620 | CONFIG_LWIP_DHCPS_LEASE_UNIT=60 621 | CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 622 | # end of DHCP server 623 | 624 | # CONFIG_LWIP_AUTOIP is not set 625 | # CONFIG_LWIP_IPV6_AUTOCONFIG is not set 626 | CONFIG_LWIP_NETIF_LOOPBACK=y 627 | CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 628 | 629 | # 630 | # TCP 631 | # 632 | CONFIG_LWIP_MAX_ACTIVE_TCP=16 633 | CONFIG_LWIP_MAX_LISTENING_TCP=16 634 | CONFIG_LWIP_TCP_MAXRTX=12 635 | CONFIG_LWIP_TCP_SYNMAXRTX=6 636 | CONFIG_LWIP_TCP_MSS=1440 637 | CONFIG_LWIP_TCP_TMR_INTERVAL=250 638 | CONFIG_LWIP_TCP_MSL=60000 639 | CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744 640 | CONFIG_LWIP_TCP_WND_DEFAULT=5744 641 | CONFIG_LWIP_TCP_RECVMBOX_SIZE=6 642 | CONFIG_LWIP_TCP_QUEUE_OOSEQ=y 643 | # CONFIG_LWIP_TCP_SACK_OUT is not set 644 | # CONFIG_LWIP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set 645 | CONFIG_LWIP_TCP_OVERSIZE_MSS=y 646 | # CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set 647 | # CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set 648 | # end of TCP 649 | 650 | # 651 | # UDP 652 | # 653 | CONFIG_LWIP_MAX_UDP_PCBS=16 654 | CONFIG_LWIP_UDP_RECVMBOX_SIZE=6 655 | # end of UDP 656 | 657 | CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=3072 658 | CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY=y 659 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0 is not set 660 | # CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set 661 | CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x7FFFFFFF 662 | # CONFIG_LWIP_PPP_SUPPORT is not set 663 | 664 | # 665 | # ICMP 666 | # 667 | # CONFIG_LWIP_MULTICAST_PING is not set 668 | # CONFIG_LWIP_BROADCAST_PING is not set 669 | # end of ICMP 670 | 671 | # 672 | # LWIP RAW API 673 | # 674 | CONFIG_LWIP_MAX_RAW_PCBS=16 675 | # end of LWIP RAW API 676 | 677 | # 678 | # SNTP 679 | # 680 | CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 681 | CONFIG_LWIP_SNTP_UPDATE_DELAY=3600000 682 | # end of SNTP 683 | # end of LWIP 684 | 685 | # 686 | # mbedTLS 687 | # 688 | CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y 689 | # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set 690 | # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set 691 | CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y 692 | CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384 693 | CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 694 | # CONFIG_MBEDTLS_DEBUG is not set 695 | # CONFIG_MBEDTLS_ECP_RESTARTABLE is not set 696 | # CONFIG_MBEDTLS_CMAC_C is not set 697 | CONFIG_MBEDTLS_HARDWARE_AES=y 698 | CONFIG_MBEDTLS_HARDWARE_MPI=y 699 | CONFIG_MBEDTLS_HARDWARE_SHA=y 700 | CONFIG_MBEDTLS_HAVE_TIME=y 701 | # CONFIG_MBEDTLS_HAVE_TIME_DATE is not set 702 | CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y 703 | # CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set 704 | # CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set 705 | # CONFIG_MBEDTLS_TLS_DISABLED is not set 706 | CONFIG_MBEDTLS_TLS_SERVER=y 707 | CONFIG_MBEDTLS_TLS_CLIENT=y 708 | CONFIG_MBEDTLS_TLS_ENABLED=y 709 | 710 | # 711 | # TLS Key Exchange Methods 712 | # 713 | # CONFIG_MBEDTLS_PSK_MODES is not set 714 | CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y 715 | CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y 716 | CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y 717 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y 718 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y 719 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y 720 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y 721 | # end of TLS Key Exchange Methods 722 | 723 | CONFIG_MBEDTLS_SSL_RENEGOTIATION=y 724 | # CONFIG_MBEDTLS_SSL_PROTO_SSL3 is not set 725 | CONFIG_MBEDTLS_SSL_PROTO_TLS1=y 726 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y 727 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y 728 | # CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set 729 | CONFIG_MBEDTLS_SSL_ALPN=y 730 | CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS=y 731 | CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS=y 732 | 733 | # 734 | # Symmetric Ciphers 735 | # 736 | CONFIG_MBEDTLS_AES_C=y 737 | # CONFIG_MBEDTLS_CAMELLIA_C is not set 738 | # CONFIG_MBEDTLS_DES_C is not set 739 | CONFIG_MBEDTLS_RC4_DISABLED=y 740 | # CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT is not set 741 | # CONFIG_MBEDTLS_RC4_ENABLED is not set 742 | # CONFIG_MBEDTLS_BLOWFISH_C is not set 743 | # CONFIG_MBEDTLS_XTEA_C is not set 744 | CONFIG_MBEDTLS_CCM_C=y 745 | CONFIG_MBEDTLS_GCM_C=y 746 | # end of Symmetric Ciphers 747 | 748 | # CONFIG_MBEDTLS_RIPEMD160_C is not set 749 | 750 | # 751 | # Certificates 752 | # 753 | CONFIG_MBEDTLS_PEM_PARSE_C=y 754 | CONFIG_MBEDTLS_PEM_WRITE_C=y 755 | CONFIG_MBEDTLS_X509_CRL_PARSE_C=y 756 | CONFIG_MBEDTLS_X509_CSR_PARSE_C=y 757 | # end of Certificates 758 | 759 | CONFIG_MBEDTLS_ECP_C=y 760 | CONFIG_MBEDTLS_ECDH_C=y 761 | CONFIG_MBEDTLS_ECDSA_C=y 762 | CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y 763 | CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y 764 | CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y 765 | CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y 766 | CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y 767 | CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y 768 | CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y 769 | CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y 770 | CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y 771 | CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y 772 | CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y 773 | CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y 774 | CONFIG_MBEDTLS_ECP_NIST_OPTIM=y 775 | # CONFIG_MBEDTLS_SECURITY_RISKS is not set 776 | # end of mbedTLS 777 | 778 | # 779 | # mDNS 780 | # 781 | CONFIG_MDNS_MAX_SERVICES=10 782 | CONFIG_MDNS_TASK_PRIORITY=1 783 | # CONFIG_MDNS_TASK_AFFINITY_NO_AFFINITY is not set 784 | CONFIG_MDNS_TASK_AFFINITY_CPU0=y 785 | # CONFIG_MDNS_TASK_AFFINITY_CPU1 is not set 786 | CONFIG_MDNS_TASK_AFFINITY=0x0 787 | CONFIG_MDNS_SERVICE_ADD_TIMEOUT_MS=2000 788 | CONFIG_MDNS_TIMER_PERIOD_MS=100 789 | # end of mDNS 790 | 791 | # 792 | # ESP-MQTT Configurations 793 | # 794 | CONFIG_MQTT_PROTOCOL_311=y 795 | CONFIG_MQTT_TRANSPORT_SSL=y 796 | CONFIG_MQTT_TRANSPORT_WEBSOCKET=y 797 | CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y 798 | # CONFIG_MQTT_USE_CUSTOM_CONFIG is not set 799 | # CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED is not set 800 | # CONFIG_MQTT_CUSTOM_OUTBOX is not set 801 | # end of ESP-MQTT Configurations 802 | 803 | # 804 | # Newlib 805 | # 806 | CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y 807 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF is not set 808 | # CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR is not set 809 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF is not set 810 | # CONFIG_NEWLIB_STDIN_LINE_ENDING_LF is not set 811 | CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y 812 | # CONFIG_NEWLIB_NANO_FORMAT is not set 813 | # end of Newlib 814 | 815 | # 816 | # NVS 817 | # 818 | # end of NVS 819 | 820 | # 821 | # OpenSSL 822 | # 823 | # CONFIG_OPENSSL_DEBUG is not set 824 | # CONFIG_OPENSSL_ASSERT_DO_NOTHING is not set 825 | CONFIG_OPENSSL_ASSERT_EXIT=y 826 | # end of OpenSSL 827 | 828 | # 829 | # PThreads 830 | # 831 | CONFIG_PTHREAD_TASK_PRIO_DEFAULT=5 832 | CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 833 | CONFIG_PTHREAD_STACK_MIN=768 834 | CONFIG_PTHREAD_DEFAULT_CORE_NO_AFFINITY=y 835 | # CONFIG_PTHREAD_DEFAULT_CORE_0 is not set 836 | # CONFIG_PTHREAD_DEFAULT_CORE_1 is not set 837 | CONFIG_PTHREAD_TASK_CORE_DEFAULT=-1 838 | CONFIG_PTHREAD_TASK_NAME_DEFAULT="pthread" 839 | # end of PThreads 840 | 841 | # 842 | # SPI Flash driver 843 | # 844 | # CONFIG_SPI_FLASH_VERIFY_WRITE is not set 845 | # CONFIG_SPI_FLASH_ENABLE_COUNTERS is not set 846 | CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y 847 | CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y 848 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set 849 | # CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set 850 | # CONFIG_SPI_FLASH_USE_LEGACY_IMPL is not set 851 | # CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set 852 | CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y 853 | CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20 854 | CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=1 855 | 856 | # 857 | # Auto-detect flash chips 858 | # 859 | CONFIG_SPI_FLASH_SUPPORT_ISSI_CHIP=y 860 | CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y 861 | # end of Auto-detect flash chips 862 | # end of SPI Flash driver 863 | 864 | # 865 | # SPIFFS Configuration 866 | # 867 | CONFIG_SPIFFS_MAX_PARTITIONS=3 868 | 869 | # 870 | # SPIFFS Cache Configuration 871 | # 872 | CONFIG_SPIFFS_CACHE=y 873 | CONFIG_SPIFFS_CACHE_WR=y 874 | # CONFIG_SPIFFS_CACHE_STATS is not set 875 | # end of SPIFFS Cache Configuration 876 | 877 | CONFIG_SPIFFS_PAGE_CHECK=y 878 | CONFIG_SPIFFS_GC_MAX_RUNS=10 879 | # CONFIG_SPIFFS_GC_STATS is not set 880 | CONFIG_SPIFFS_PAGE_SIZE=256 881 | CONFIG_SPIFFS_OBJ_NAME_LEN=32 882 | # CONFIG_SPIFFS_FOLLOW_SYMLINKS is not set 883 | CONFIG_SPIFFS_USE_MAGIC=y 884 | CONFIG_SPIFFS_USE_MAGIC_LENGTH=y 885 | CONFIG_SPIFFS_META_LENGTH=4 886 | CONFIG_SPIFFS_USE_MTIME=y 887 | 888 | # 889 | # Debug Configuration 890 | # 891 | # CONFIG_SPIFFS_DBG is not set 892 | # CONFIG_SPIFFS_API_DBG is not set 893 | # CONFIG_SPIFFS_GC_DBG is not set 894 | # CONFIG_SPIFFS_CACHE_DBG is not set 895 | # CONFIG_SPIFFS_CHECK_DBG is not set 896 | # CONFIG_SPIFFS_TEST_VISUALISATION is not set 897 | # end of Debug Configuration 898 | # end of SPIFFS Configuration 899 | 900 | # 901 | # Unity unit testing library 902 | # 903 | CONFIG_UNITY_ENABLE_FLOAT=y 904 | CONFIG_UNITY_ENABLE_DOUBLE=y 905 | # CONFIG_UNITY_ENABLE_COLOR is not set 906 | CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y 907 | # CONFIG_UNITY_ENABLE_FIXTURE is not set 908 | # CONFIG_UNITY_ENABLE_BACKTRACE_ON_FAIL is not set 909 | # end of Unity unit testing library 910 | 911 | # 912 | # Virtual file system 913 | # 914 | CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT=y 915 | CONFIG_VFS_SUPPORT_TERMIOS=y 916 | 917 | # 918 | # Host File System I/O (Semihosting) 919 | # 920 | CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS=1 921 | CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN=128 922 | # end of Host File System I/O (Semihosting) 923 | # end of Virtual file system 924 | 925 | # 926 | # Wear Levelling 927 | # 928 | # CONFIG_WL_SECTOR_SIZE_512 is not set 929 | CONFIG_WL_SECTOR_SIZE_4096=y 930 | CONFIG_WL_SECTOR_SIZE=4096 931 | # end of Wear Levelling 932 | 933 | # 934 | # Wi-Fi Provisioning Manager 935 | # 936 | CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16 937 | CONFIG_WIFI_PROV_AUTOSTOP_TIMEOUT=30 938 | # end of Wi-Fi Provisioning Manager 939 | 940 | # 941 | # Supplicant 942 | # 943 | CONFIG_WPA_MBEDTLS_CRYPTO=y 944 | # CONFIG_WPA_TLS_V12 is not set 945 | # end of Supplicant 946 | 947 | # 948 | # esphttpd 949 | # 950 | CONFIG_ESPHTTPD_ENABLED=y 951 | CONFIG_ESPHTTPD_STACK_SIZE=8192 952 | # CONFIG_ESPHTTPD_PROC_AFFINITY is not set 953 | CONFIG_ESPHTTPD_PROC_PRI=5 954 | # CONFIG_ESPHTTPD_SHUTDOWN_SUPPORT is not set 955 | # CONFIG_ESPHTTPD_CORS_SUPPORT is not set 956 | # CONFIG_ESPHTTPD_USE_ESPFS is not set 957 | # CONFIG_ESPHTTPD_SO_REUSEADDR is not set 958 | CONFIG_ESPHTTPD_TCP_NODELAY=y 959 | # CONFIG_ESPHTTPD_SSL_SUPPORT is not set 960 | # CONFIG_ESPHTTPD_BACKLOG_SUPPORT is not set 961 | CONFIG_ESPHTTPD_SANITIZE_URLS=y 962 | # CONFIG_ESPHTTPD_SINGLE_REQUEST is not set 963 | # CONFIG_ESPHTTPD_ALLOW_OTA_FACTORY_APP is not set 964 | # end of esphttpd 965 | # end of Component config 966 | 967 | # 968 | # Compatibility options 969 | # 970 | # CONFIG_LEGACY_INCLUDE_COMMON_HEADERS is not set 971 | # end of Compatibility options 972 | 973 | # Deprecated options for backward compatibility 974 | CONFIG_TOOLPREFIX="xtensa-esp32-elf-" 975 | # CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set 976 | # CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set 977 | # CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set 978 | CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y 979 | # CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set 980 | # CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set 981 | CONFIG_LOG_BOOTLOADER_LEVEL=3 982 | # CONFIG_APP_ROLLBACK_ENABLE is not set 983 | # CONFIG_FLASH_ENCRYPTION_ENABLED is not set 984 | # CONFIG_FLASHMODE_QIO is not set 985 | # CONFIG_FLASHMODE_QOUT is not set 986 | CONFIG_FLASHMODE_DIO=y 987 | # CONFIG_FLASHMODE_DOUT is not set 988 | # CONFIG_MONITOR_BAUD_9600B is not set 989 | # CONFIG_MONITOR_BAUD_57600B is not set 990 | CONFIG_MONITOR_BAUD_115200B=y 991 | # CONFIG_MONITOR_BAUD_230400B is not set 992 | # CONFIG_MONITOR_BAUD_921600B is not set 993 | # CONFIG_MONITOR_BAUD_2MB is not set 994 | # CONFIG_MONITOR_BAUD_OTHER is not set 995 | CONFIG_MONITOR_BAUD_OTHER_VAL=115200 996 | CONFIG_MONITOR_BAUD=115200 997 | # CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set 998 | # CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set 999 | CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y 1000 | # CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set 1001 | # CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set 1002 | # CONFIG_CXX_EXCEPTIONS is not set 1003 | CONFIG_STACK_CHECK_NONE=y 1004 | # CONFIG_STACK_CHECK_NORM is not set 1005 | # CONFIG_STACK_CHECK_STRONG is not set 1006 | # CONFIG_STACK_CHECK_ALL is not set 1007 | # CONFIG_WARN_WRITE_STRINGS is not set 1008 | # CONFIG_DISABLE_GCC8_WARNINGS is not set 1009 | # CONFIG_ESP32_APPTRACE_DEST_TRAX is not set 1010 | CONFIG_ESP32_APPTRACE_DEST_NONE=y 1011 | CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y 1012 | CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0 1013 | CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 1014 | CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 1015 | CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 1016 | CONFIG_ADC2_DISABLE_DAC=y 1017 | # CONFIG_SPIRAM_SUPPORT is not set 1018 | CONFIG_TRACEMEM_RESERVE_DRAM=0x0 1019 | # CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set 1020 | CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y 1021 | CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 1022 | # CONFIG_ULP_COPROC_ENABLED is not set 1023 | CONFIG_ULP_COPROC_RESERVE_MEM=0 1024 | CONFIG_BROWNOUT_DET=y 1025 | CONFIG_BROWNOUT_DET_LVL_SEL_0=y 1026 | # CONFIG_BROWNOUT_DET_LVL_SEL_1 is not set 1027 | # CONFIG_BROWNOUT_DET_LVL_SEL_2 is not set 1028 | # CONFIG_BROWNOUT_DET_LVL_SEL_3 is not set 1029 | # CONFIG_BROWNOUT_DET_LVL_SEL_4 is not set 1030 | # CONFIG_BROWNOUT_DET_LVL_SEL_5 is not set 1031 | # CONFIG_BROWNOUT_DET_LVL_SEL_6 is not set 1032 | # CONFIG_BROWNOUT_DET_LVL_SEL_7 is not set 1033 | CONFIG_BROWNOUT_DET_LVL=0 1034 | CONFIG_REDUCE_PHY_TX_POWER=y 1035 | CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y 1036 | # CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL is not set 1037 | # CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC is not set 1038 | # CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256 is not set 1039 | # CONFIG_DISABLE_BASIC_ROM_CONSOLE is not set 1040 | # CONFIG_NO_BLOBS is not set 1041 | # CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS is not set 1042 | CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 1043 | CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 1044 | CONFIG_MAIN_TASK_STACK_SIZE=3584 1045 | CONFIG_IPC_TASK_STACK_SIZE=1024 1046 | CONFIG_TIMER_TASK_STACK_SIZE=3584 1047 | CONFIG_CONSOLE_UART_DEFAULT=y 1048 | # CONFIG_CONSOLE_UART_CUSTOM is not set 1049 | # CONFIG_CONSOLE_UART_NONE is not set 1050 | CONFIG_CONSOLE_UART_NUM=0 1051 | CONFIG_CONSOLE_UART_BAUDRATE=115200 1052 | CONFIG_INT_WDT=y 1053 | CONFIG_INT_WDT_TIMEOUT_MS=300 1054 | CONFIG_INT_WDT_CHECK_CPU1=y 1055 | CONFIG_TASK_WDT=y 1056 | # CONFIG_TASK_WDT_PANIC is not set 1057 | CONFIG_TASK_WDT_TIMEOUT_S=5 1058 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y 1059 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y 1060 | # CONFIG_EVENT_LOOP_PROFILING is not set 1061 | CONFIG_POST_EVENTS_FROM_ISR=y 1062 | CONFIG_POST_EVENTS_FROM_IRAM_ISR=y 1063 | CONFIG_MB_MASTER_TIMEOUT_MS_RESPOND=150 1064 | CONFIG_MB_MASTER_DELAY_MS_CONVERT=200 1065 | CONFIG_MB_QUEUE_LENGTH=20 1066 | CONFIG_MB_SERIAL_TASK_STACK_SIZE=2048 1067 | CONFIG_MB_SERIAL_BUF_SIZE=256 1068 | CONFIG_MB_SERIAL_TASK_PRIO=10 1069 | # CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT is not set 1070 | CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 1071 | CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 1072 | CONFIG_MB_CONTROLLER_STACK_SIZE=4096 1073 | CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 1074 | CONFIG_MB_TIMER_PORT_ENABLED=y 1075 | CONFIG_MB_TIMER_GROUP=0 1076 | CONFIG_MB_TIMER_INDEX=0 1077 | # CONFIG_SUPPORT_STATIC_ALLOCATION is not set 1078 | CONFIG_TIMER_TASK_PRIORITY=1 1079 | CONFIG_TIMER_TASK_STACK_DEPTH=2048 1080 | CONFIG_TIMER_QUEUE_LENGTH=10 1081 | # CONFIG_L2_TO_L3_COPY is not set 1082 | # CONFIG_USE_ONLY_LWIP_SELECT is not set 1083 | CONFIG_ESP_GRATUITOUS_ARP=y 1084 | CONFIG_GARP_TMR_INTERVAL=60 1085 | CONFIG_TCPIP_RECVMBOX_SIZE=32 1086 | CONFIG_TCP_MAXRTX=12 1087 | CONFIG_TCP_SYNMAXRTX=6 1088 | CONFIG_TCP_MSS=1440 1089 | CONFIG_TCP_MSL=60000 1090 | CONFIG_TCP_SND_BUF_DEFAULT=5744 1091 | CONFIG_TCP_WND_DEFAULT=5744 1092 | CONFIG_TCP_RECVMBOX_SIZE=6 1093 | CONFIG_TCP_QUEUE_OOSEQ=y 1094 | # CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES is not set 1095 | CONFIG_TCP_OVERSIZE_MSS=y 1096 | # CONFIG_TCP_OVERSIZE_QUARTER_MSS is not set 1097 | # CONFIG_TCP_OVERSIZE_DISABLE is not set 1098 | CONFIG_UDP_RECVMBOX_SIZE=6 1099 | CONFIG_TCPIP_TASK_STACK_SIZE=3072 1100 | CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y 1101 | # CONFIG_TCPIP_TASK_AFFINITY_CPU0 is not set 1102 | # CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set 1103 | CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF 1104 | # CONFIG_PPP_SUPPORT is not set 1105 | CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 1106 | CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 1107 | CONFIG_ESP32_PTHREAD_STACK_MIN=768 1108 | CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y 1109 | # CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0 is not set 1110 | # CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1 is not set 1111 | CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 1112 | CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread" 1113 | CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y 1114 | # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS is not set 1115 | # CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED is not set 1116 | CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y 1117 | CONFIG_SUPPORT_TERMIOS=y 1118 | # End of deprecated options 1119 | --------------------------------------------------------------------------------