├── .cxast ├── .gitignore ├── dummy-esp32 ├── .gitignore ├── src │ └── main.cpp ├── platformio.ini └── extra_script.py ├── dummy-esp8266 ├── .gitignore ├── src │ └── main.cpp ├── platformio.ini └── extra_script.py ├── dummy-esp32-idf ├── main │ ├── component.mk │ └── hello_world_main.c ├── Makefile └── sdkconfig ├── cross-build.sh ├── LICENSE ├── .circleci └── config.yml ├── Dockerfile ├── README.md └── cmd.sh /.cxast: -------------------------------------------------------------------------------- 1 | # -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .pioenvs 2 | .piolibdeps 3 | -------------------------------------------------------------------------------- /dummy-esp32/.gitignore: -------------------------------------------------------------------------------- 1 | .pioenvs 2 | .piolibdeps 3 | -------------------------------------------------------------------------------- /dummy-esp8266/.gitignore: -------------------------------------------------------------------------------- 1 | .pioenvs 2 | .piolibdeps 3 | -------------------------------------------------------------------------------- /dummy-esp32/src/main.cpp: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | void setup() {} 4 | 5 | void loop() {} 6 | -------------------------------------------------------------------------------- /dummy-esp8266/src/main.cpp: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | void setup() {} 4 | 5 | void loop() {} 6 | -------------------------------------------------------------------------------- /dummy-esp32/platformio.ini: -------------------------------------------------------------------------------- 1 | ; This is a dummy project used to install core dependencies 2 | 3 | [env:esp32] 4 | platform=espressif32 5 | board=esp32dev 6 | framework=arduino 7 | -------------------------------------------------------------------------------- /dummy-esp8266/platformio.ini: -------------------------------------------------------------------------------- 1 | ; This is a dummy project used to install core dependencies 2 | 3 | [env:esp8266] 4 | platform=espressif8266 5 | board=d1_mini 6 | framework=arduino 7 | -------------------------------------------------------------------------------- /dummy-esp32-idf/main/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # "main" pseudo-component makefile. 3 | # 4 | # (Uses default behaviour of compiling all source files in directory, adding 'include' to include path.) 5 | 6 | -------------------------------------------------------------------------------- /cross-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | docker buildx build --platform=linux/arm64 -t suculent/platformio-docker-build:arm64 . 4 | 5 | docker buildx build --platform=linux/amd64 -t suculent/platformio-docker-build:latest . 6 | 7 | -------------------------------------------------------------------------------- /dummy-esp32/extra_script.py: -------------------------------------------------------------------------------- 1 | Import("env") 2 | 3 | # Consider possible security implications associated with call module. 4 | # from subprocess import call 5 | # from SCons.Script import DefaultEnvironment 6 | 7 | print env.Dump() 8 | -------------------------------------------------------------------------------- /dummy-esp8266/extra_script.py: -------------------------------------------------------------------------------- 1 | Import("env") 2 | 3 | # Consider possible security implications associated with call module. 4 | # from subprocess import call 5 | # from SCons.Script import DefaultEnvironment 6 | 7 | print env.Dump() 8 | -------------------------------------------------------------------------------- /dummy-esp32-idf/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # This is a project Makefile. It is assumed the directory this Makefile resides in is a 3 | # project subdirectory. 4 | # 5 | 6 | PROJECT_NAME := hello-world 7 | 8 | include $(IDF_PATH)/make/project.mk 9 | 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2017 Matěj Sychra 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2.1 2 | orbs: 3 | docker: circleci/docker@2.8.0 4 | 5 | jobs: 6 | 7 | docker-build: 8 | executor: docker/docker 9 | steps: 10 | - setup_remote_docker 11 | - checkout 12 | - docker/check 13 | - docker/build: 14 | image: suculent/platformio-docker-build 15 | tag: latest 16 | 17 | deploy-docker-build: 18 | executor: docker/docker 19 | steps: 20 | - setup_remote_docker 21 | - checkout 22 | - docker/check 23 | - docker/build: 24 | image: suculent/platformio-docker-build 25 | tag: latest 26 | - docker/push: 27 | digest-path: /tmp/digest.txt 28 | image: suculent/platformio-docker-build 29 | tag: latest 30 | - run: 31 | command: | 32 | echo "Digest is: $( 10 | #include "freertos/FreeRTOS.h" 11 | #include "freertos/task.h" 12 | #include "esp_system.h" 13 | #include "esp_spi_flash.h" 14 | 15 | 16 | void app_main() 17 | { 18 | printf("Hello world!\n"); 19 | 20 | /* Print chip information */ 21 | esp_chip_info_t chip_info; 22 | esp_chip_info(&chip_info); 23 | printf("This is ESP32 chip with %d CPU cores, WiFi%s%s, ", 24 | chip_info.cores, 25 | (chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "", 26 | (chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : ""); 27 | 28 | printf("silicon revision %d, ", chip_info.revision); 29 | 30 | printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024), 31 | (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external"); 32 | 33 | for (int i = 10; i >= 0; i--) { 34 | printf("Restarting in %d seconds...\n", i); 35 | vTaskDelay(1000 / portTICK_PERIOD_MS); 36 | } 37 | printf("Restarting now.\n"); 38 | fflush(stdout); 39 | esp_restart(); 40 | } 41 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # IDF v5.3; ESP8266@; ESP32@ 2 | 3 | FROM debian:bookworm-20240926-slim 4 | 5 | LABEL version="1.8.95" 6 | 7 | ENV DEBIAN_FRONTEND=noninteractive 8 | ENV ESP_IDF_VERSION="v5.3" 9 | 10 | RUN mkdir /opt/workspace 11 | WORKDIR /opt/workspace 12 | COPY cmd.sh /opt/ 13 | 14 | COPY dummy-esp8266 /opt/dummy-esp8266 15 | COPY dummy-esp32 /opt/dummy-esp32 16 | COPY dummy-esp32-idf /opt/dummy-esp32-idf 17 | 18 | RUN apt update -qq && \ 19 | apt install -y -qq --no-install-recommends software-properties-common gpgv2 && \ 20 | apt install -qq -y --no-install-recommends \ 21 | bc \ 22 | bison \ 23 | build-essential \ 24 | ccache \ 25 | cmake \ 26 | curl \ 27 | dfu-util \ 28 | flex \ 29 | gcc \ 30 | git \ 31 | gperf \ 32 | jq \ 33 | libffi-dev \ 34 | libncurses-dev \ 35 | libssl-dev \ 36 | libusb-1.0-0 \ 37 | make \ 38 | ninja-build \ 39 | python3 \ 40 | python3-dev \ 41 | python3-pip \ 42 | python3-venv \ 43 | srecord \ 44 | unzip \ 45 | wget \ 46 | xz-utils \ 47 | && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 48 | 49 | # 50 | # Install Python icomponents 51 | # 52 | 53 | RUN python3 -m pip install --break-system-packages pipx setuptools platformio virtualenv 54 | RUN python3 -m pipx ensurepath 55 | RUN python3 -V 56 | 57 | # 58 | # ESP32 & ESP8266 Arduino Frameworks for Platformio 59 | # 60 | 61 | # https://docs.platformio.org/en/latest/core/installation.html#piocore-install-shell-commands 62 | 63 | RUN pio platform install espressif8266 \ 64 | && pio platform install espressif32 \ 65 | && cat /root/.platformio/platforms/espressif32/platform.py \ 66 | && chmod 777 /root/.platformio/platforms/espressif32/platform.py \ 67 | && sed -i 's/~2/>=1/g' /root/.platformio/platforms/espressif32/platform.py \ 68 | && cat /root/.platformio/platforms/espressif32/platform.py 69 | 70 | # 71 | # ESP-IDF for projects containing `sdkconfig` or `*platform*espidf*` in platformio.ini 72 | # 73 | 74 | # https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/linux-macos-setup.html#get-started-get-esp-idf 75 | 76 | RUN mkdir -p ~/esp \ 77 | && cd ~/esp \ 78 | && git clone -b ${ESP_IDF_VERSION} --recursive https://github.com/espressif/esp-idf.git 79 | RUN cd ~/esp/esp-idf \ 80 | && ./install.sh all 81 | 82 | # Build tests for ESP32 and ESP8266 (may take up to 20 minutes!) 83 | 84 | WORKDIR /opt/dummy-esp32 85 | RUN pio --version && pio run 86 | 87 | WORKDIR /opt/dummy-esp8266 88 | RUN pio --version && pio run 89 | 90 | CMD /opt/cmd.sh 91 | 92 | # Build tests for ESP-IDF (make fails with: No targets specified and no makefile found.) 93 | 94 | #RUN export PATH=$PATH:/root/esp/xtensa-esp32-elf/bin \ 95 | # && export IDF_PATH=/root/esp/esp-idf \ 96 | # && cd /root/esp/esp-idf/examples/get-started/hello_world \ 97 | # && ls -la \ 98 | # && cp -v /opt/dummy-esp32-idf/sdkconfig . \ 99 | # && ln -s $(which python3) /usr/bin/python \ 100 | # && make 101 | 102 | # Build tests for ESP32 and ESP8266 (may take up to 20 minutes!) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PlatformIO Docker Build 2 | 3 | [![Docker Pulls](https://badgen.net/docker/pulls/suculent/platformio-docker-build?icon=docker&label=pulls)](https://hub.docker.com/r/suculent/platformio-docker-build/) [![Docker Stars](https://img.shields.io/docker/stars/suculent/platformio-docker-build.svg)](https://hub.docker.com/r/suculent/platformio-docker-build/) [![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://github.com/suculent/platformio-docker-build/blob/master/LICENSE) 4 | 5 | Run the [PlatformIO](http://platformio.org) command-line builder in a docker container. This image will take it from there and turn your PlatformIO project into a binary which you then can [flash to the ESP8266](http://nodemcu.readthedocs.org/en/dev/en/flash/). 6 | 7 | ## Target audience 8 | 9 | - IoT application developers - they just need a ready-made firmware. 10 | 11 | - Occasional firmware hackers - They don't need full control over the complete tool chain and don't want to setup a Linux VM with the build environment. 12 | 13 | **This image has been created for purposes of the THiNX IoT management platform.** 14 | 15 | 16 | ## Usage 17 | 18 | ### Install Docker 19 | Follow the instructions at [https://docs.docker.com/get-started/](https://docs.docker.com/get-started/). 20 | 21 | ### Run this image with Docker 22 | Start terminal and change to the your PlatformIO project directory. Then run: 23 | 24 | ``docker run --rm -ti -v `pwd`:/opt/workspace suculent/platformio-docker-build`` 25 | 26 | Depending on the performance of your system it takes 1-3min until the compilation finishes. The first time you run this it takes longer because Docker needs to download the image and create a container. 27 | 28 | :bangbang: If you have previously pulled this Docker image (e.g. with the command above) you should update the image from time to time to pull in the latest bug fixes: 29 | 30 | `docker pull suculent/platformio-docker-build` 31 | 32 | **Note for Windows users** 33 | 34 | (Docker on) Windows handles paths slightly differently. The command thus becomes (`c` equals C drive i.e. `c:`): 35 | 36 | `docker run --rm -it -v //c/Users//:/opt/platformio-builder suculent/platformio-docker-build` 37 | 38 | If the Windows path contains spaces it would have to be wrapped in quotes as usual on Windows. 39 | 40 | `docker run --rm -it -v "//c/Users/monster tune/"/opt/workspace suculent/platformio-docker-build`` 41 | 42 | #### Output 43 | The firmware file is created in the `bin` sub folder of your root directory. You will also find a mapfile in the `bin` folder with the same name as the firmware file but with a `.map` ending. 44 | 45 | #### Options 46 | You can pass the following optional parameters to the Docker build like so `docker run -e "=value" -e ...`. 47 | 48 | - `WORKDIR` Just an parametrization example, will deprecate or be used for additional libraries. 49 | 50 | You can use thinx.yml file to customize build options: 51 | 52 | ``` 53 | 54 | # Builder Selection and Options 55 | platformio: 56 | environment: esp8266-release 57 | target: env 58 | 59 | # DevSec Built-in Credentials Encryption 60 | devsec: 61 | ckey: 62 | ssid: 63 | pass: 64 | 65 | environment: 66 | # File to inject per-device environment variables 67 | target: src/environment.h 68 | 69 | ``` 70 | 71 | ### Flashing the built binary 72 | There are several [tools to flash the firmware](http://nodemcu.readthedocs.org/en/dev/en/flash/) to the ESP8266. If you were to use [esptool](https://github.com/themadinventor/esptool) (like I do) you'd run: 73 | 74 | `esptool.py --port write_flash 0x00000 /bin/firmware.bin` 75 | 76 | ## Pre-cached platforms 77 | 78 | You may edit Dockerfile in order to pre-build image with your preferred platform. Initially, this image is configured to kick-start builds for ESP8266 and ESP32. 79 | 80 | ## Support 81 | Don't leave comments on Docker Hub that are intended to be support requests. First, Docker Hub doesn't notify me when you write them, second I can't properly reply and third even if I could often it doesn't make much sense to keep them around forever and a day. Instead ask a question on [StackOverflow](http://stackoverflow.com/) and assign the `platformio` and `docker` tags. 82 | 83 | For bugs and improvement suggestions create an issue at [https://github.com/suculent/platformio-docker-build/issues](https://github.com/suculent/platformio-docker-build/issues). 84 | 85 | ## Credits 86 | Thanks to [Marcel Stoer](http://pfalcon-oe.blogspot.com/) who inspired me with his NodeMCU firmware builder on [http://frightanic.com](http://frightanic.com) 87 | 88 | ## Author 89 | [Matěj Sychra @ THiNX](http://thinx.cloud) 90 | -------------------------------------------------------------------------------- /cmd.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | 5 | echo "platformio-docker-build-1.8.80" 6 | echo $GIT_TAG 7 | 8 | parse_yaml() { 9 | local prefix=$2 10 | local s 11 | local w 12 | local fs 13 | s='[[:space:]]*' 14 | w='[a-zA-Z0-9_]*' 15 | fs="$(echo @|tr @ '\034')" 16 | sed -ne "s|^\($s\)\($w\)$s:$s\"\(.*\)\"$s\$|\1$fs\2$fs\3|p" \ 17 | -e "s|^\($s\)\($w\)$s[:-]$s\(.*\)$s\$|\1$fs\2$fs\3|p" "$1" | 18 | awk -F"$fs" '{ 19 | indent = length($1)/2; 20 | vname[indent] = $2; 21 | for (i in vname) {if (i > indent) {delete vname[i]}} 22 | if (length($3) > 0) { 23 | vn=""; for (i=0; i="': 30 | # - KEY= 31 | 32 | export IDF_PATH=/root/esp/esp-idf 33 | export PATH=$PATH:/root/esp/xtensa-esp32-elf/bin 34 | 35 | echo "export PATH=$PATH:/root/esp/xtensa-esp32-elf/bin" > ~/.profile 36 | echo "export IDF_PATH=/root/esp/esp-idf" > ~/.profile 37 | 38 | if [[ -z "$WORKDIR" ]]; then 39 | cd $WORKDIR 40 | else 41 | echo "No working directory given." 42 | true 43 | fi 44 | 45 | cd /opt/workspace 46 | 47 | # 48 | # Build 49 | # 50 | 51 | # Parse thinx.yml config 52 | 53 | YMLFILE=$(find /opt/workspace -name "thinx.yml" | head -n 1) 54 | 55 | if [[ ! -f $YMLFILE ]]; then 56 | echo "No thinx.yml found" 57 | exit 1 58 | else 59 | eval $(parse_yaml "$YMLFILE" "") 60 | # output filename for the per-device environment file 61 | if [[ ! -z "${environment_target}" ]]; then 62 | ENVOUT="${WORKDIR}/${environment_target}" # e.g. src/env.h 63 | fi 64 | 65 | # selected build environment 66 | if [ ! -z "${platformio_environment}" ]; then 67 | PIO_ENVIRONMENT="--environment ${platformio_environment}" 68 | fi 69 | 70 | # selected build target 71 | if [ ! -z "${platformio_target}" ]; then 72 | PIO_TARGET="--target ${platformio_target}" 73 | fi 74 | fi 75 | 76 | # Parse environment.json 77 | 78 | ENVFILE=$(find /opt/workspace -name "environment.json" | head -n 1) 79 | ENVOUT=$(find /opt/workspace -name "environment.h" | head -n 1) 80 | 81 | # echo "Will write to ENVOUT ${ENVOUT}" 82 | 83 | if [[ ! -f $ENVFILE ]]; then 84 | echo "No environment.json found" 85 | else 86 | echo "Generating per-device environment headers to: ${ENVOUT}" 87 | # Generate C-header from key-value JSON object 88 | arr=() 89 | # Print out header, will clear previous contents. 90 | # echo "Touching file at ${ENVOUT}" 91 | touch ${ENVOUT} 92 | echo "/* This file is auto-generated. */" > ${ENVOUT} 93 | while IFS='' read -r keyname; do 94 | # SKIP CPASS and CSSID, those will end up in thinx.yml to be encrypted using DevSec instead 95 | if [[ "$keyname" == "CPASS" ]]; then 96 | continue 97 | fi 98 | if [[ "$keyname" == "CSSID" ]]; then 99 | continue 100 | fi 101 | arr+=("$keyname") 102 | VAL=$(jq '.'$keyname $ENVFILE) 103 | NAME=$(echo "environment_${keyname}" | tr '[:lower:]' '[:upper:]') 104 | echo "#define ${NAME}" "$VAL" >> ${ENVOUT} 105 | done < <(jq -r 'keys[]' $ENVFILE) 106 | fi 107 | 108 | BUILD_TYPE='platformio' 109 | 110 | if [[ -f "./sdkconfig" ]]; then 111 | echo "Found `sdkconfig` in workspace root, switching to ESP-IDF build." 112 | BUILD_TYPE='espidf' 113 | fi 114 | 115 | if [[ $BUILD_TYPE == "platformio" ]]; then 116 | if [[ ! -f "./platformio.ini" ]]; then 117 | echo "Incorrect workdir $(pwd)" 118 | else 119 | if [[ ! -z $(cat ./platformio.ini | grep -v "^;" | grep "framework" | grep "espidf") ]]; then 120 | echo "Found `framework = espidf` in platformio.ini, switching to ESP-IDF build." 121 | BUILD_TYPE='espidf' 122 | fi 123 | fi 124 | fi 125 | 126 | if [[ $BUILD_TYPE != "platformio" ]]; then 127 | 128 | make 129 | 130 | rm -rf build/partitions_singleapp.bin 131 | 132 | cp -vf build/*.bin /opt/workspace/build/firmware.bin 133 | cp -vf build/*.elf /opt/workspace/build/firmware.elf 134 | 135 | else 136 | 137 | platformio run $PIO_ENVIRONMENT $PIO_TARGET # --silent # suppressed progress reporting 138 | 139 | if [[ -d build ]]; then 140 | rm -rf build 141 | fi 142 | 143 | mkdir build 144 | 145 | cd ./.pio/build/ 146 | 147 | # WARNING! Currently supports only one simultaneous 148 | # build-environment and overwrites OUTFILE(s) with recents. 149 | 150 | for dir in $(ls -d */); do 151 | if [[ -d $dir ]]; then 152 | pushd $dir 153 | if [[ -f firmware.bin ]]; then 154 | if [[ ! -d /opt/workspace/build ]]; then 155 | mkdir -p /opt/workspace/build 156 | fi 157 | cp -vf firmware.bin /opt/workspace/build/firmware.bin 158 | if [[ -f firmware.elf ]]; then 159 | cp -vf firmware.elf /opt/workspace/build/firmware.elf 160 | fi 161 | chmod 775 /opt/workspace/build/firmware.* 162 | fi 163 | popd 164 | fi 165 | done 166 | 167 | fi 168 | 169 | RESULT=$? 170 | 171 | echo "" 172 | 173 | # Report build status using logfile 174 | if [[ $RESULT == 0 ]]; then 175 | echo "THiNX BUILD SUCCESSFUL." 176 | else 177 | echo "THiNX BUILD FAILED: $?" 178 | fi 179 | -------------------------------------------------------------------------------- /dummy-esp32-idf/sdkconfig: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated file; DO NOT EDIT. 3 | # Espressif IoT Development Framework Configuration 4 | # 5 | 6 | # 7 | # SDK tool configuration 8 | # 9 | CONFIG_TOOLPREFIX="xtensa-esp32-elf-" 10 | CONFIG_PYTHON="python3" 11 | CONFIG_MAKE_WARN_UNDEFINED_VARIABLES=y 12 | 13 | # 14 | # Bootloader config 15 | # 16 | CONFIG_LOG_BOOTLOADER_LEVEL_NONE= 17 | CONFIG_LOG_BOOTLOADER_LEVEL_ERROR= 18 | CONFIG_LOG_BOOTLOADER_LEVEL_WARN= 19 | CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y 20 | CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG= 21 | CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE= 22 | CONFIG_LOG_BOOTLOADER_LEVEL=3 23 | CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V= 24 | CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y 25 | 26 | # 27 | # Security features 28 | # 29 | CONFIG_SECURE_BOOT_ENABLED= 30 | CONFIG_FLASH_ENCRYPTION_ENABLED= 31 | 32 | # 33 | # Serial flasher config 34 | # 35 | CONFIG_ESPTOOLPY_PORT="/dev/ttyUSB0" 36 | CONFIG_ESPTOOLPY_BAUD_115200B=y 37 | CONFIG_ESPTOOLPY_BAUD_230400B= 38 | CONFIG_ESPTOOLPY_BAUD_921600B= 39 | CONFIG_ESPTOOLPY_BAUD_2MB= 40 | CONFIG_ESPTOOLPY_BAUD_OTHER= 41 | CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200 42 | CONFIG_ESPTOOLPY_BAUD=115200 43 | CONFIG_ESPTOOLPY_COMPRESSED=y 44 | CONFIG_FLASHMODE_QIO= 45 | CONFIG_FLASHMODE_QOUT= 46 | CONFIG_FLASHMODE_DIO=y 47 | CONFIG_FLASHMODE_DOUT= 48 | CONFIG_ESPTOOLPY_FLASHMODE="dio" 49 | CONFIG_ESPTOOLPY_FLASHFREQ_80M= 50 | CONFIG_ESPTOOLPY_FLASHFREQ_40M=y 51 | CONFIG_ESPTOOLPY_FLASHFREQ_26M= 52 | CONFIG_ESPTOOLPY_FLASHFREQ_20M= 53 | CONFIG_ESPTOOLPY_FLASHFREQ="40m" 54 | CONFIG_ESPTOOLPY_FLASHSIZE_1MB= 55 | CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y 56 | CONFIG_ESPTOOLPY_FLASHSIZE_4MB= 57 | CONFIG_ESPTOOLPY_FLASHSIZE_8MB= 58 | CONFIG_ESPTOOLPY_FLASHSIZE_16MB= 59 | CONFIG_ESPTOOLPY_FLASHSIZE="2MB" 60 | CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y 61 | CONFIG_ESPTOOLPY_BEFORE_RESET=y 62 | CONFIG_ESPTOOLPY_BEFORE_NORESET= 63 | CONFIG_ESPTOOLPY_BEFORE="default_reset" 64 | CONFIG_ESPTOOLPY_AFTER_RESET=y 65 | CONFIG_ESPTOOLPY_AFTER_NORESET= 66 | CONFIG_ESPTOOLPY_AFTER="hard_reset" 67 | CONFIG_MONITOR_BAUD_9600B= 68 | CONFIG_MONITOR_BAUD_57600B= 69 | CONFIG_MONITOR_BAUD_115200B=y 70 | CONFIG_MONITOR_BAUD_230400B= 71 | CONFIG_MONITOR_BAUD_921600B= 72 | CONFIG_MONITOR_BAUD_2MB= 73 | CONFIG_MONITOR_BAUD_OTHER= 74 | CONFIG_MONITOR_BAUD_OTHER_VAL=115200 75 | CONFIG_MONITOR_BAUD=115200 76 | 77 | # 78 | # Partition Table 79 | # 80 | CONFIG_PARTITION_TABLE_SINGLE_APP=y 81 | CONFIG_PARTITION_TABLE_TWO_OTA= 82 | CONFIG_PARTITION_TABLE_CUSTOM= 83 | CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" 84 | CONFIG_PARTITION_TABLE_CUSTOM_APP_BIN_OFFSET=0x10000 85 | CONFIG_PARTITION_TABLE_FILENAME="partitions_singleapp.csv" 86 | CONFIG_APP_OFFSET=0x10000 87 | CONFIG_PARTITION_TABLE_MD5=y 88 | 89 | # 90 | # Compiler options 91 | # 92 | CONFIG_OPTIMIZATION_LEVEL_DEBUG=y 93 | CONFIG_OPTIMIZATION_LEVEL_RELEASE= 94 | CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y 95 | CONFIG_OPTIMIZATION_ASSERTIONS_SILENT= 96 | CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED= 97 | CONFIG_CXX_EXCEPTIONS= 98 | CONFIG_STACK_CHECK_NONE=y 99 | CONFIG_STACK_CHECK_NORM= 100 | CONFIG_STACK_CHECK_STRONG= 101 | CONFIG_STACK_CHECK_ALL= 102 | CONFIG_STACK_CHECK= 103 | CONFIG_WARN_WRITE_STRINGS= 104 | 105 | # 106 | # Component config 107 | # 108 | 109 | # 110 | # Application Level Tracing 111 | # 112 | CONFIG_ESP32_APPTRACE_DEST_TRAX= 113 | CONFIG_ESP32_APPTRACE_DEST_NONE=y 114 | CONFIG_ESP32_APPTRACE_ENABLE= 115 | CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y 116 | 117 | # 118 | # FreeRTOS SystemView Tracing 119 | # 120 | CONFIG_AWS_IOT_SDK= 121 | 122 | # 123 | # Bluetooth 124 | # 125 | CONFIG_BT_ENABLED= 126 | CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 127 | CONFIG_BT_RESERVE_DRAM=0 128 | 129 | # 130 | # ADC configuration 131 | # 132 | CONFIG_ADC_FORCE_XPD_FSM= 133 | CONFIG_ADC2_DISABLE_DAC=y 134 | 135 | # 136 | # ESP32-specific 137 | # 138 | CONFIG_ESP32_DEFAULT_CPU_FREQ_80= 139 | CONFIG_ESP32_DEFAULT_CPU_FREQ_160=y 140 | CONFIG_ESP32_DEFAULT_CPU_FREQ_240= 141 | CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=160 142 | CONFIG_SPIRAM_SUPPORT= 143 | CONFIG_MEMMAP_TRACEMEM= 144 | CONFIG_MEMMAP_TRACEMEM_TWOBANKS= 145 | CONFIG_ESP32_TRAX= 146 | CONFIG_TRACEMEM_RESERVE_DRAM=0x0 147 | CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH= 148 | CONFIG_ESP32_ENABLE_COREDUMP_TO_UART= 149 | CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y 150 | CONFIG_ESP32_ENABLE_COREDUMP= 151 | CONFIG_TWO_UNIVERSAL_MAC_ADDRESS= 152 | CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y 153 | CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 154 | CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 155 | CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 156 | CONFIG_MAIN_TASK_STACK_SIZE=3584 157 | CONFIG_IPC_TASK_STACK_SIZE=1024 158 | CONFIG_TIMER_TASK_STACK_SIZE=3584 159 | CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y 160 | CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF= 161 | CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR= 162 | CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF= 163 | CONFIG_NEWLIB_STDIN_LINE_ENDING_LF= 164 | CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y 165 | CONFIG_NEWLIB_NANO_FORMAT= 166 | CONFIG_CONSOLE_UART_DEFAULT=y 167 | CONFIG_CONSOLE_UART_CUSTOM= 168 | CONFIG_CONSOLE_UART_NONE= 169 | CONFIG_CONSOLE_UART_NUM=0 170 | CONFIG_CONSOLE_UART_BAUDRATE=115200 171 | CONFIG_ULP_COPROC_ENABLED= 172 | CONFIG_ULP_COPROC_RESERVE_MEM=0 173 | CONFIG_ESP32_PANIC_PRINT_HALT= 174 | CONFIG_ESP32_PANIC_PRINT_REBOOT=y 175 | CONFIG_ESP32_PANIC_SILENT_REBOOT= 176 | CONFIG_ESP32_PANIC_GDBSTUB= 177 | CONFIG_ESP32_DEBUG_OCDAWARE=y 178 | CONFIG_INT_WDT=y 179 | CONFIG_INT_WDT_TIMEOUT_MS=300 180 | CONFIG_INT_WDT_CHECK_CPU1=y 181 | CONFIG_TASK_WDT=y 182 | CONFIG_TASK_WDT_PANIC= 183 | CONFIG_TASK_WDT_TIMEOUT_S=5 184 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y 185 | CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y 186 | CONFIG_BROWNOUT_DET=y 187 | CONFIG_BROWNOUT_DET_LVL_SEL_0=y 188 | CONFIG_BROWNOUT_DET_LVL_SEL_1= 189 | CONFIG_BROWNOUT_DET_LVL_SEL_2= 190 | CONFIG_BROWNOUT_DET_LVL_SEL_3= 191 | CONFIG_BROWNOUT_DET_LVL_SEL_4= 192 | CONFIG_BROWNOUT_DET_LVL_SEL_5= 193 | CONFIG_BROWNOUT_DET_LVL_SEL_6= 194 | CONFIG_BROWNOUT_DET_LVL_SEL_7= 195 | CONFIG_BROWNOUT_DET_LVL=0 196 | CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y 197 | CONFIG_ESP32_TIME_SYSCALL_USE_RTC= 198 | CONFIG_ESP32_TIME_SYSCALL_USE_FRC1= 199 | CONFIG_ESP32_TIME_SYSCALL_USE_NONE= 200 | CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y 201 | CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL= 202 | CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 203 | CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 204 | CONFIG_ESP32_XTAL_FREQ_40=y 205 | CONFIG_ESP32_XTAL_FREQ_26= 206 | CONFIG_ESP32_XTAL_FREQ_AUTO= 207 | CONFIG_ESP32_XTAL_FREQ=40 208 | CONFIG_DISABLE_BASIC_ROM_CONSOLE= 209 | CONFIG_NO_BLOBS= 210 | CONFIG_ESP_TIMER_PROFILING= 211 | CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS= 212 | CONFIG_ESP_ERR_TO_NAME_LOOKUP=y 213 | 214 | # 215 | # Wi-Fi 216 | # 217 | CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10 218 | CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 219 | CONFIG_ESP32_WIFI_STATIC_TX_BUFFER= 220 | CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y 221 | CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 222 | CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 223 | CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y 224 | CONFIG_ESP32_WIFI_TX_BA_WIN=6 225 | CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y 226 | CONFIG_ESP32_WIFI_RX_BA_WIN=6 227 | CONFIG_ESP32_WIFI_NVS_ENABLED=y 228 | CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y 229 | CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1= 230 | 231 | # 232 | # PHY 233 | # 234 | CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y 235 | CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION= 236 | CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 237 | CONFIG_ESP32_PHY_MAX_TX_POWER=20 238 | 239 | # 240 | # Power Management 241 | # 242 | CONFIG_PM_ENABLE= 243 | 244 | # 245 | # ADC-Calibration 246 | # 247 | CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y 248 | CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y 249 | CONFIG_ADC_CAL_LUT_ENABLE=y 250 | 251 | # 252 | # Ethernet 253 | # 254 | CONFIG_DMA_RX_BUF_NUM=10 255 | CONFIG_DMA_TX_BUF_NUM=10 256 | CONFIG_EMAC_L2_TO_L3_RX_BUF_MODE= 257 | CONFIG_EMAC_TASK_PRIORITY=20 258 | 259 | # 260 | # FAT Filesystem support 261 | # 262 | CONFIG_FATFS_CODEPAGE_DYNAMIC= 263 | CONFIG_FATFS_CODEPAGE_437=y 264 | CONFIG_FATFS_CODEPAGE_720= 265 | CONFIG_FATFS_CODEPAGE_737= 266 | CONFIG_FATFS_CODEPAGE_771= 267 | CONFIG_FATFS_CODEPAGE_775= 268 | CONFIG_FATFS_CODEPAGE_850= 269 | CONFIG_FATFS_CODEPAGE_852= 270 | CONFIG_FATFS_CODEPAGE_855= 271 | CONFIG_FATFS_CODEPAGE_857= 272 | CONFIG_FATFS_CODEPAGE_860= 273 | CONFIG_FATFS_CODEPAGE_861= 274 | CONFIG_FATFS_CODEPAGE_862= 275 | CONFIG_FATFS_CODEPAGE_863= 276 | CONFIG_FATFS_CODEPAGE_864= 277 | CONFIG_FATFS_CODEPAGE_865= 278 | CONFIG_FATFS_CODEPAGE_866= 279 | CONFIG_FATFS_CODEPAGE_869= 280 | CONFIG_FATFS_CODEPAGE_932= 281 | CONFIG_FATFS_CODEPAGE_936= 282 | CONFIG_FATFS_CODEPAGE_949= 283 | CONFIG_FATFS_CODEPAGE_950= 284 | CONFIG_FATFS_CODEPAGE=437 285 | CONFIG_FATFS_LFN_NONE=y 286 | CONFIG_FATFS_LFN_HEAP= 287 | CONFIG_FATFS_LFN_STACK= 288 | CONFIG_FATFS_FS_LOCK=0 289 | CONFIG_FATFS_TIMEOUT_MS=10000 290 | CONFIG_FATFS_PER_FILE_CACHE=y 291 | 292 | # 293 | # FreeRTOS 294 | # 295 | CONFIG_FREERTOS_UNICORE= 296 | CONFIG_FREERTOS_CORETIMER_0=y 297 | CONFIG_FREERTOS_CORETIMER_1= 298 | CONFIG_FREERTOS_HZ=100 299 | CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y 300 | CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE= 301 | CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL= 302 | CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y 303 | CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK= 304 | CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y 305 | CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 306 | CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y 307 | CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE= 308 | CONFIG_FREERTOS_ASSERT_DISABLE= 309 | CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1536 310 | CONFIG_FREERTOS_ISR_STACKSIZE=1536 311 | CONFIG_FREERTOS_LEGACY_HOOKS= 312 | CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 313 | CONFIG_SUPPORT_STATIC_ALLOCATION= 314 | CONFIG_TIMER_TASK_PRIORITY=1 315 | CONFIG_TIMER_TASK_STACK_DEPTH=2048 316 | CONFIG_TIMER_QUEUE_LENGTH=10 317 | CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 318 | CONFIG_FREERTOS_USE_TRACE_FACILITY= 319 | CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS= 320 | CONFIG_FREERTOS_DEBUG_INTERNALS= 321 | 322 | # 323 | # Heap memory debugging 324 | # 325 | CONFIG_HEAP_POISONING_DISABLED=y 326 | CONFIG_HEAP_POISONING_LIGHT= 327 | CONFIG_HEAP_POISONING_COMPREHENSIVE= 328 | CONFIG_HEAP_TRACING= 329 | 330 | # 331 | # libsodium 332 | # 333 | CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y 334 | 335 | # 336 | # Log output 337 | # 338 | CONFIG_LOG_DEFAULT_LEVEL_NONE= 339 | CONFIG_LOG_DEFAULT_LEVEL_ERROR= 340 | CONFIG_LOG_DEFAULT_LEVEL_WARN= 341 | CONFIG_LOG_DEFAULT_LEVEL_INFO=y 342 | CONFIG_LOG_DEFAULT_LEVEL_DEBUG= 343 | CONFIG_LOG_DEFAULT_LEVEL_VERBOSE= 344 | CONFIG_LOG_DEFAULT_LEVEL=3 345 | CONFIG_LOG_COLORS=y 346 | 347 | # 348 | # LWIP 349 | # 350 | CONFIG_L2_TO_L3_COPY= 351 | CONFIG_LWIP_IRAM_OPTIMIZATION= 352 | CONFIG_LWIP_MAX_SOCKETS=10 353 | CONFIG_LWIP_SO_REUSE=y 354 | CONFIG_LWIP_SO_REUSE_RXTOALL=y 355 | CONFIG_LWIP_SO_RCVBUF= 356 | CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 357 | CONFIG_LWIP_IP_FRAG= 358 | CONFIG_LWIP_IP_REASSEMBLY= 359 | CONFIG_LWIP_STATS= 360 | CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y 361 | CONFIG_TCPIP_RECVMBOX_SIZE=32 362 | CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y 363 | 364 | # 365 | # DHCP server 366 | # 367 | CONFIG_LWIP_DHCPS_LEASE_UNIT=60 368 | CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 369 | CONFIG_LWIP_AUTOIP= 370 | CONFIG_LWIP_NETIF_LOOPBACK=y 371 | CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8 372 | 373 | # 374 | # TCP 375 | # 376 | CONFIG_LWIP_MAX_ACTIVE_TCP=16 377 | CONFIG_LWIP_MAX_LISTENING_TCP=16 378 | CONFIG_TCP_MAXRTX=12 379 | CONFIG_TCP_SYNMAXRTX=6 380 | CONFIG_TCP_MSS=1436 381 | CONFIG_TCP_MSL=60000 382 | CONFIG_TCP_SND_BUF_DEFAULT=5744 383 | CONFIG_TCP_WND_DEFAULT=5744 384 | CONFIG_TCP_RECVMBOX_SIZE=6 385 | CONFIG_TCP_QUEUE_OOSEQ=y 386 | CONFIG_TCP_OVERSIZE_MSS=y 387 | CONFIG_TCP_OVERSIZE_QUARTER_MSS= 388 | CONFIG_TCP_OVERSIZE_DISABLE= 389 | 390 | # 391 | # UDP 392 | # 393 | CONFIG_LWIP_MAX_UDP_PCBS=16 394 | CONFIG_UDP_RECVMBOX_SIZE=6 395 | CONFIG_TCPIP_TASK_STACK_SIZE=2048 396 | CONFIG_PPP_SUPPORT= 397 | 398 | # 399 | # ICMP 400 | # 401 | CONFIG_LWIP_MULTICAST_PING= 402 | CONFIG_LWIP_BROADCAST_PING= 403 | 404 | # 405 | # LWIP RAW API 406 | # 407 | CONFIG_LWIP_MAX_RAW_PCBS=16 408 | 409 | # 410 | # mbedTLS 411 | # 412 | CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384 413 | CONFIG_MBEDTLS_DEBUG= 414 | CONFIG_MBEDTLS_HARDWARE_AES=y 415 | CONFIG_MBEDTLS_HARDWARE_MPI= 416 | CONFIG_MBEDTLS_HARDWARE_SHA= 417 | CONFIG_MBEDTLS_HAVE_TIME=y 418 | CONFIG_MBEDTLS_HAVE_TIME_DATE= 419 | CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y 420 | CONFIG_MBEDTLS_TLS_SERVER_ONLY= 421 | CONFIG_MBEDTLS_TLS_CLIENT_ONLY= 422 | CONFIG_MBEDTLS_TLS_DISABLED= 423 | CONFIG_MBEDTLS_TLS_SERVER=y 424 | CONFIG_MBEDTLS_TLS_CLIENT=y 425 | CONFIG_MBEDTLS_TLS_ENABLED=y 426 | 427 | # 428 | # TLS Key Exchange Methods 429 | # 430 | CONFIG_MBEDTLS_PSK_MODES= 431 | CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y 432 | CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y 433 | CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y 434 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y 435 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y 436 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y 437 | CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y 438 | CONFIG_MBEDTLS_SSL_RENEGOTIATION=y 439 | CONFIG_MBEDTLS_SSL_PROTO_SSL3= 440 | CONFIG_MBEDTLS_SSL_PROTO_TLS1=y 441 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y 442 | CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y 443 | CONFIG_MBEDTLS_SSL_PROTO_DTLS= 444 | CONFIG_MBEDTLS_SSL_ALPN=y 445 | CONFIG_MBEDTLS_SSL_SESSION_TICKETS=y 446 | 447 | # 448 | # Symmetric Ciphers 449 | # 450 | CONFIG_MBEDTLS_AES_C=y 451 | CONFIG_MBEDTLS_CAMELLIA_C= 452 | CONFIG_MBEDTLS_DES_C= 453 | CONFIG_MBEDTLS_RC4_DISABLED=y 454 | CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT= 455 | CONFIG_MBEDTLS_RC4_ENABLED= 456 | CONFIG_MBEDTLS_BLOWFISH_C= 457 | CONFIG_MBEDTLS_XTEA_C= 458 | CONFIG_MBEDTLS_CCM_C=y 459 | CONFIG_MBEDTLS_GCM_C=y 460 | CONFIG_MBEDTLS_RIPEMD160_C= 461 | 462 | # 463 | # Certificates 464 | # 465 | CONFIG_MBEDTLS_PEM_PARSE_C=y 466 | CONFIG_MBEDTLS_PEM_WRITE_C=y 467 | CONFIG_MBEDTLS_X509_CRL_PARSE_C=y 468 | CONFIG_MBEDTLS_X509_CSR_PARSE_C=y 469 | CONFIG_MBEDTLS_ECP_C=y 470 | CONFIG_MBEDTLS_ECDH_C=y 471 | CONFIG_MBEDTLS_ECDSA_C=y 472 | CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y 473 | CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y 474 | CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y 475 | CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y 476 | CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y 477 | CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y 478 | CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y 479 | CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y 480 | CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y 481 | CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y 482 | CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y 483 | CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y 484 | CONFIG_MBEDTLS_ECP_NIST_OPTIM=y 485 | 486 | # 487 | # OpenSSL 488 | # 489 | CONFIG_OPENSSL_DEBUG= 490 | CONFIG_OPENSSL_ASSERT_DO_NOTHING=y 491 | CONFIG_OPENSSL_ASSERT_EXIT= 492 | 493 | # 494 | # PThreads 495 | # 496 | CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 497 | CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 498 | 499 | # 500 | # SPI Flash driver 501 | # 502 | CONFIG_SPI_FLASH_VERIFY_WRITE= 503 | CONFIG_SPI_FLASH_ENABLE_COUNTERS= 504 | CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y 505 | CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y 506 | CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS= 507 | CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED= 508 | 509 | # 510 | # SPIFFS Configuration 511 | # 512 | CONFIG_SPIFFS_MAX_PARTITIONS=3 513 | 514 | # 515 | # SPIFFS Cache Configuration 516 | # 517 | CONFIG_SPIFFS_CACHE=y 518 | CONFIG_SPIFFS_CACHE_WR=y 519 | CONFIG_SPIFFS_CACHE_STATS= 520 | CONFIG_SPIFFS_PAGE_CHECK=y 521 | CONFIG_SPIFFS_GC_MAX_RUNS=10 522 | CONFIG_SPIFFS_GC_STATS= 523 | CONFIG_SPIFFS_PAGE_SIZE=256 524 | CONFIG_SPIFFS_OBJ_NAME_LEN=32 525 | CONFIG_SPIFFS_USE_MAGIC=y 526 | CONFIG_SPIFFS_USE_MAGIC_LENGTH=y 527 | CONFIG_SPIFFS_META_LENGTH=4 528 | CONFIG_SPIFFS_USE_MTIME=y 529 | 530 | # 531 | # Debug Configuration 532 | # 533 | CONFIG_SPIFFS_DBG= 534 | CONFIG_SPIFFS_API_DBG= 535 | CONFIG_SPIFFS_GC_DBG= 536 | CONFIG_SPIFFS_CACHE_DBG= 537 | CONFIG_SPIFFS_CHECK_DBG= 538 | CONFIG_SPIFFS_TEST_VISUALISATION= 539 | 540 | # 541 | # tcpip adapter 542 | # 543 | CONFIG_IP_LOST_TIMER_INTERVAL=120 544 | 545 | # 546 | # Wear Levelling 547 | # 548 | CONFIG_WL_SECTOR_SIZE_512= 549 | CONFIG_WL_SECTOR_SIZE_4096=y 550 | CONFIG_WL_SECTOR_SIZE=4096 551 | --------------------------------------------------------------------------------