Merge branch 'master' into release/v3.1.x

This commit is contained in:
Lucas Saavedra Vaz 2024-10-04 11:14:57 -03:00
commit e12e33c581
No known key found for this signature in database
GPG key ID: 9CAE85DC84A38188
31 changed files with 2462 additions and 231 deletions

View file

@ -6,7 +6,7 @@ PLATFORMIO_ESP32_URL="https://github.com/platformio/platform-espressif32.git"
TOOLCHAIN_VERSION="12.2.0+20230208" TOOLCHAIN_VERSION="12.2.0+20230208"
ESPTOOLPY_VERSION="~1.40501.0" ESPTOOLPY_VERSION="~1.40501.0"
ESPRESSIF_ORGANIZATION_NAME="espressif" ESPRESSIF_ORGANIZATION_NAME="espressif"
LIBS_DIR="tools/esp32-arduino-libs" SDKCONFIG_DIR="$PLATFORMIO_ESP32_PATH/tools/esp32-arduino-libs"
echo "Installing Python Wheel ..." echo "Installing Python Wheel ..."
pip install wheel > /dev/null 2>&1 pip install wheel > /dev/null 2>&1
@ -100,7 +100,8 @@ function count_sketches(){ # count_sketches <examples-path>
requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json)
if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then
for requirement in $requirements; do for requirement in $requirements; do
found_line=$(grep -E "^$requirement" $LIBS_DIR/esp32/sdkconfig) requirement=$(echo $requirement | xargs)
found_line=$(grep -E "^$requirement" "$SDKCONFIG_DIR/esp32/sdkconfig")
if [[ "$found_line" == "" ]]; then if [[ "$found_line" == "" ]]; then
continue 2 continue 2
fi fi
@ -190,7 +191,8 @@ function build_pio_sketches(){ # build_pio_sketches <board> <options> <examples-
requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json)
if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then
for requirement in $requirements; do for requirement in $requirements; do
found_line=$(grep -E "^$requirement" $LIBS_DIR/esp32/sdkconfig) requirement=$(echo $requirement | xargs)
found_line=$(grep -E "^$requirement" "$SDKCONFIG_DIR/esp32/sdkconfig")
if [[ "$found_line" == "" ]]; then if [[ "$found_line" == "" ]]; then
continue 2 continue 2
fi fi

View file

@ -1,6 +1,12 @@
#!/bin/bash #!/bin/bash
LIBS_DIR="tools/esp32-arduino-libs" if [ -d "$ARDUINO_ESP32_PATH/tools/esp32-arduino-libs" ]; then
SDKCONFIG_DIR="$ARDUINO_ESP32_PATH/tools/esp32-arduino-libs"
elif [ -d "$GITHUB_WORKSPACE/tools/esp32-arduino-libs" ]; then
SDKCONFIG_DIR="$GITHUB_WORKSPACE/tools/esp32-arduino-libs"
else
SDKCONFIG_DIR="tools/esp32-arduino-libs"
fi
function build_sketch(){ # build_sketch <ide_path> <user_path> <path-to-ino> [extra-options] function build_sketch(){ # build_sketch <ide_path> <user_path> <path-to-ino> [extra-options]
while [ ! -z "$1" ]; do while [ ! -z "$1" ]; do
@ -83,15 +89,22 @@ function build_sketch(){ # build_sketch <ide_path> <user_path> <path-to-ino> [ex
len=1 len=1
if [ -f $sketchdir/ci.json ]; then
fqbn_append=`jq -r '.fqbn_append' $sketchdir/ci.json`
if [ $fqbn_append == "null" ]; then
fqbn_append=""
fi
fi
# Default FQBN options if none were passed in the command line. # Default FQBN options if none were passed in the command line.
esp32_opts="PSRAM=enabled,PartitionScheme=huge_app,FlashMode=dio" esp32_opts="PSRAM=enabled,FlashMode=dio${fqbn_append:+,$fqbn_append}"
esp32s2_opts="PSRAM=enabled,PartitionScheme=huge_app,FlashMode=dio" esp32s2_opts="PSRAM=enabled,FlashMode=dio${fqbn_append:+,$fqbn_append}"
esp32s3_opts="PSRAM=opi,USBMode=default,PartitionScheme=huge_app,FlashMode=dio" esp32s3_opts="PSRAM=opi,USBMode=default,FlashMode=dio${fqbn_append:+,$fqbn_append}"
esp32c3_opts="PartitionScheme=huge_app,FlashMode=dio" esp32c3_opts="FlashMode=dio${fqbn_append:+,$fqbn_append}"
esp32c6_opts="PartitionScheme=huge_app,FlashMode=dio" esp32c6_opts="FlashMode=dio${fqbn_append:+,$fqbn_append}"
esp32h2_opts="PartitionScheme=huge_app,FlashMode=dio" esp32h2_opts="FlashMode=dio${fqbn_append:+,$fqbn_append}"
esp32p4_opts="PartitionScheme=huge_app,FlashMode=dio,USBMode=default" esp32p4_opts="FlashMode=dio,USBMode=default${fqbn_append:+,$fqbn_append}"
# Select the common part of the FQBN based on the target. The rest will be # Select the common part of the FQBN based on the target. The rest will be
# appended depending on the passed options. # appended depending on the passed options.
@ -158,7 +171,8 @@ function build_sketch(){ # build_sketch <ide_path> <user_path> <path-to-ino> [ex
requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json)
if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then
for requirement in $requirements; do for requirement in $requirements; do
found_line=$(grep -E "^$requirement" $LIBS_DIR/$target/sdkconfig) requirement=$(echo $requirement | xargs)
found_line=$(grep -E "^$requirement" "$SDKCONFIG_DIR/$target/sdkconfig")
if [[ "$found_line" == "" ]]; then if [[ "$found_line" == "" ]]; then
echo "Target $target does not meet the requirement $requirement for $sketchname. Skipping." echo "Target $target does not meet the requirement $requirement for $sketchname. Skipping."
exit 0 exit 0
@ -274,10 +288,11 @@ function build_sketch(){ # build_sketch <ide_path> <user_path> <path-to-ino> [ex
unset options unset options
} }
function count_sketches(){ # count_sketches <path> [target] [file] function count_sketches(){ # count_sketches <path> [target] [file] [ignore-requirements]
local path=$1 local path=$1
local target=$2 local target=$2
local file=$3 local ignore_requirements=$3
local file=$4
if [ $# -lt 1 ]; then if [ $# -lt 1 ]; then
echo "ERROR: Illegal number of parameters" echo "ERROR: Illegal number of parameters"
@ -290,7 +305,7 @@ function count_sketches(){ # count_sketches <path> [target] [file]
return 0 return 0
fi fi
if [ -n "$file" ]; then if [ -f "$file" ]; then
local sketches=$(cat $file) local sketches=$(cat $file)
else else
local sketches=$(find $path -name *.ino | sort) local sketches=$(find $path -name *.ino | sort)
@ -310,15 +325,18 @@ function count_sketches(){ # count_sketches <path> [target] [file]
continue continue
fi fi
# Check if the sketch requires any configuration options if [ "$ignore_requirements" != "1" ]; then
requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) # Check if the sketch requires any configuration options
if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json)
for requirement in $requirements; do if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then
found_line=$(grep -E "^$requirement" $LIBS_DIR/$target/sdkconfig) for requirement in $requirements; do
if [[ "$found_line" == "" ]]; then requirement=$(echo $requirement | xargs)
continue 2 found_line=$(grep -E "^$requirement" $SDKCONFIG_DIR/$target/sdkconfig)
fi if [[ "$found_line" == "" ]]; then
done continue 2
fi
done
fi
fi fi
fi fi
echo $sketch >> sketches.txt echo $sketch >> sketches.txt
@ -396,7 +414,7 @@ function build_sketches(){ # build_sketches <ide_path> <user_path> <target> <pat
set +e set +e
if [ -n "$sketches_file" ]; then if [ -n "$sketches_file" ]; then
count_sketches "$path" "$target" "$sketches_file" count_sketches "$path" "$target" "0" "$sketches_file"
local sketchcount=$? local sketchcount=$?
else else
count_sketches "$path" "$target" count_sketches "$path" "$target"

View file

@ -10,6 +10,21 @@ function run_test() {
local result=0 local result=0
local error=0 local error=0
if [ $options -eq 0 ] && [ -f $sketchdir/ci.json ]; then
len=`jq -r --arg target $target '.fqbn[$target] | length' $sketchdir/ci.json`
if [ $len -eq 0 ]; then
len=1
fi
else
len=1
fi
if [ $len -eq 1 ]; then
SDKCONFIG_PATH="$HOME/.arduino/tests/$sketchname/build.tmp/sdkconfig"
else
SDKCONFIG_PATH="$HOME/.arduino/tests/$sketchname/build0.tmp/sdkconfig"
fi
if [ -f $sketchdir/ci.json ]; then if [ -f $sketchdir/ci.json ]; then
# If the target or platform is listed as false, skip the sketch. Otherwise, include it. # If the target or platform is listed as false, skip the sketch. Otherwise, include it.
is_target=$(jq -r --arg target $target '.targets[$target]' $sketchdir/ci.json) is_target=$(jq -r --arg target $target '.targets[$target]' $sketchdir/ci.json)
@ -25,7 +40,8 @@ function run_test() {
requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json) requirements=$(jq -r '.requires[]? // empty' $sketchdir/ci.json)
if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then if [[ "$requirements" != "null" ]] || [[ "$requirements" != "" ]]; then
for requirement in $requirements; do for requirement in $requirements; do
found_line=$(grep -E "^$requirement" $LIBS_DIR/$target/sdkconfig) requirement=$(echo $requirement | xargs)
found_line=$(grep -E "^$requirement" "$SDKCONFIG_PATH")
if [[ "$found_line" == "" ]]; then if [[ "$found_line" == "" ]]; then
printf "\033[93mTarget $target does not meet the requirement $requirement for $sketchname. Skipping.\033[0m\n" printf "\033[93mTarget $target does not meet the requirement $requirement for $sketchname. Skipping.\033[0m\n"
printf "\n\n\n" printf "\n\n\n"
@ -35,15 +51,6 @@ function run_test() {
fi fi
fi fi
if [ $options -eq 0 ] && [ -f $sketchdir/ci.json ]; then
len=`jq -r --arg target $target '.fqbn[$target] | length' $sketchdir/ci.json`
if [ $len -eq 0 ]; then
len=1
fi
else
len=1
fi
if [ $len -eq 1 ]; then if [ $len -eq 1 ]; then
# build_dir="$sketchdir/build" # build_dir="$sketchdir/build"
build_dir="$HOME/.arduino/tests/$sketchname/build.tmp" build_dir="$HOME/.arduino/tests/$sketchname/build.tmp"
@ -120,7 +127,6 @@ function run_test() {
SCRIPTS_DIR="./.github/scripts" SCRIPTS_DIR="./.github/scripts"
COUNT_SKETCHES="${SCRIPTS_DIR}/sketch_utils.sh count" COUNT_SKETCHES="${SCRIPTS_DIR}/sketch_utils.sh count"
LIBS_DIR="tools/esp32-arduino-libs"
platform="hardware" platform="hardware"
wokwi_timeout=60000 wokwi_timeout=60000
@ -223,7 +229,8 @@ else
fi fi
set +e set +e
${COUNT_SKETCHES} $test_folder $target # Ignore requirements as we don't have the libs. The requirements will be checked in the run_test function
${COUNT_SKETCHES} "$test_folder" "$target" "1"
sketchcount=$? sketchcount=$?
set -e set -e
sketches=$(cat sketches.txt) sketches=$(cat sketches.txt)

View file

@ -29,6 +29,7 @@ jobs:
~/.arduino/tests/**/build*.tmp/*.bin ~/.arduino/tests/**/build*.tmp/*.bin
~/.arduino/tests/**/build*.tmp/*.elf ~/.arduino/tests/**/build*.tmp/*.elf
~/.arduino/tests/**/build*.tmp/*.json ~/.arduino/tests/**/build*.tmp/*.json
~/.arduino/tests/**/build*.tmp/sdkconfig
- name: Evaluate if tests should be built - name: Evaluate if tests should be built
id: check-build id: check-build
@ -75,6 +76,7 @@ jobs:
~/.arduino/tests/**/build*.tmp/*.bin ~/.arduino/tests/**/build*.tmp/*.bin
~/.arduino/tests/**/build*.tmp/*.elf ~/.arduino/tests/**/build*.tmp/*.elf
~/.arduino/tests/**/build*.tmp/*.json ~/.arduino/tests/**/build*.tmp/*.json
~/.arduino/tests/**/build*.tmp/sdkconfig
- name: Upload ${{ inputs.chip }} ${{ inputs.type }} binaries as artifacts - name: Upload ${{ inputs.chip }} ${{ inputs.type }} binaries as artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
@ -85,3 +87,4 @@ jobs:
~/.arduino/tests/**/build*.tmp/*.bin ~/.arduino/tests/**/build*.tmp/*.bin
~/.arduino/tests/**/build*.tmp/*.elf ~/.arduino/tests/**/build*.tmp/*.elf
~/.arduino/tests/**/build*.tmp/*.json ~/.arduino/tests/**/build*.tmp/*.json
~/.arduino/tests/**/build*.tmp/sdkconfig

View file

@ -59,10 +59,6 @@ jobs:
sparse-checkout: | sparse-checkout: |
* *
- name: List files
if: ${{ steps.check-tests.outputs.enabled == 'true' }}
run: ls -la
# setup-python currently only works on ubuntu images # setup-python currently only works on ubuntu images
# - uses: actions/setup-python@v5 # - uses: actions/setup-python@v5
# if: ${{ steps.check-tests.outputs.enabled == 'true' }} # if: ${{ steps.check-tests.outputs.enabled == 'true' }}

View file

@ -123,7 +123,6 @@ esp32c2.menu.FlashFreq.30.build.flash_freq=30m
esp32c2.menu.FlashSize.2M=2MB (16Mb) esp32c2.menu.FlashSize.2M=2MB (16Mb)
esp32c2.menu.FlashSize.2M.build.flash_size=2MB esp32c2.menu.FlashSize.2M.build.flash_size=2MB
esp32c2.menu.FlashSize.2M.build.partitions=minimal
esp32c2.menu.FlashSize.4M=4MB (32Mb) esp32c2.menu.FlashSize.4M=4MB (32Mb)
esp32c2.menu.FlashSize.4M.build.flash_size=4MB esp32c2.menu.FlashSize.4M.build.flash_size=4MB
@ -479,10 +478,8 @@ esp32h2.menu.FlashSize.4M=4MB (32Mb)
esp32h2.menu.FlashSize.4M.build.flash_size=4MB esp32h2.menu.FlashSize.4M.build.flash_size=4MB
esp32h2.menu.FlashSize.8M=8MB (64Mb) esp32h2.menu.FlashSize.8M=8MB (64Mb)
esp32h2.menu.FlashSize.8M.build.flash_size=8MB esp32h2.menu.FlashSize.8M.build.flash_size=8MB
esp32h2.menu.FlashSize.8M.build.partitions=default_8MB
esp32h2.menu.FlashSize.2M=2MB (16Mb) esp32h2.menu.FlashSize.2M=2MB (16Mb)
esp32h2.menu.FlashSize.2M.build.flash_size=2MB esp32h2.menu.FlashSize.2M.build.flash_size=2MB
esp32h2.menu.FlashSize.2M.build.partitions=minimal
esp32h2.menu.FlashSize.16M=16MB (128Mb) esp32h2.menu.FlashSize.16M=16MB (128Mb)
esp32h2.menu.FlashSize.16M.build.flash_size=16MB esp32h2.menu.FlashSize.16M.build.flash_size=16MB
@ -673,10 +670,8 @@ esp32c6.menu.FlashSize.4M=4MB (32Mb)
esp32c6.menu.FlashSize.4M.build.flash_size=4MB esp32c6.menu.FlashSize.4M.build.flash_size=4MB
esp32c6.menu.FlashSize.8M=8MB (64Mb) esp32c6.menu.FlashSize.8M=8MB (64Mb)
esp32c6.menu.FlashSize.8M.build.flash_size=8MB esp32c6.menu.FlashSize.8M.build.flash_size=8MB
esp32c6.menu.FlashSize.8M.build.partitions=default_8MB
esp32c6.menu.FlashSize.2M=2MB (16Mb) esp32c6.menu.FlashSize.2M=2MB (16Mb)
esp32c6.menu.FlashSize.2M.build.flash_size=2MB esp32c6.menu.FlashSize.2M.build.flash_size=2MB
esp32c6.menu.FlashSize.2M.build.partitions=minimal
esp32c6.menu.FlashSize.16M=16MB (128Mb) esp32c6.menu.FlashSize.16M=16MB (128Mb)
esp32c6.menu.FlashSize.16M.build.flash_size=16MB esp32c6.menu.FlashSize.16M.build.flash_size=16MB
@ -820,12 +815,10 @@ esp32s3.menu.FlashSize.4M=4MB (32Mb)
esp32s3.menu.FlashSize.4M.build.flash_size=4MB esp32s3.menu.FlashSize.4M.build.flash_size=4MB
esp32s3.menu.FlashSize.8M=8MB (64Mb) esp32s3.menu.FlashSize.8M=8MB (64Mb)
esp32s3.menu.FlashSize.8M.build.flash_size=8MB esp32s3.menu.FlashSize.8M.build.flash_size=8MB
esp32s3.menu.FlashSize.8M.build.partitions=default_8MB
esp32s3.menu.FlashSize.16M=16MB (128Mb) esp32s3.menu.FlashSize.16M=16MB (128Mb)
esp32s3.menu.FlashSize.16M.build.flash_size=16MB esp32s3.menu.FlashSize.16M.build.flash_size=16MB
esp32s3.menu.FlashSize.32M=32MB (256Mb) esp32s3.menu.FlashSize.32M=32MB (256Mb)
esp32s3.menu.FlashSize.32M.build.flash_size=32MB esp32s3.menu.FlashSize.32M.build.flash_size=32MB
esp32s3.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB
esp32s3.menu.LoopCore.1=Core 1 esp32s3.menu.LoopCore.1=Core 1
esp32s3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 esp32s3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
@ -1114,10 +1107,8 @@ esp32c3.menu.FlashSize.4M=4MB (32Mb)
esp32c3.menu.FlashSize.4M.build.flash_size=4MB esp32c3.menu.FlashSize.4M.build.flash_size=4MB
esp32c3.menu.FlashSize.8M=8MB (64Mb) esp32c3.menu.FlashSize.8M=8MB (64Mb)
esp32c3.menu.FlashSize.8M.build.flash_size=8MB esp32c3.menu.FlashSize.8M.build.flash_size=8MB
esp32c3.menu.FlashSize.8M.build.partitions=default_8MB
esp32c3.menu.FlashSize.2M=2MB (16Mb) esp32c3.menu.FlashSize.2M=2MB (16Mb)
esp32c3.menu.FlashSize.2M.build.flash_size=2MB esp32c3.menu.FlashSize.2M.build.flash_size=2MB
esp32c3.menu.FlashSize.2M.build.partitions=minimal
esp32c3.menu.FlashSize.16M=16MB (128Mb) esp32c3.menu.FlashSize.16M=16MB (128Mb)
esp32c3.menu.FlashSize.16M.build.flash_size=16MB esp32c3.menu.FlashSize.16M.build.flash_size=16MB
@ -1323,10 +1314,8 @@ esp32s2.menu.FlashSize.4M=4MB (32Mb)
esp32s2.menu.FlashSize.4M.build.flash_size=4MB esp32s2.menu.FlashSize.4M.build.flash_size=4MB
esp32s2.menu.FlashSize.8M=8MB (64Mb) esp32s2.menu.FlashSize.8M=8MB (64Mb)
esp32s2.menu.FlashSize.8M.build.flash_size=8MB esp32s2.menu.FlashSize.8M.build.flash_size=8MB
esp32s2.menu.FlashSize.8M.build.partitions=default_8MB
esp32s2.menu.FlashSize.2M=2MB (16Mb) esp32s2.menu.FlashSize.2M=2MB (16Mb)
esp32s2.menu.FlashSize.2M.build.flash_size=2MB esp32s2.menu.FlashSize.2M.build.flash_size=2MB
esp32s2.menu.FlashSize.2M.build.partitions=minimal
esp32s2.menu.FlashSize.16M=16MB (128Mb) esp32s2.menu.FlashSize.16M=16MB (128Mb)
esp32s2.menu.FlashSize.16M.build.flash_size=16MB esp32s2.menu.FlashSize.16M.build.flash_size=16MB
@ -1509,10 +1498,8 @@ esp32.menu.FlashSize.4M=4MB (32Mb)
esp32.menu.FlashSize.4M.build.flash_size=4MB esp32.menu.FlashSize.4M.build.flash_size=4MB
esp32.menu.FlashSize.8M=8MB (64Mb) esp32.menu.FlashSize.8M=8MB (64Mb)
esp32.menu.FlashSize.8M.build.flash_size=8MB esp32.menu.FlashSize.8M.build.flash_size=8MB
esp32.menu.FlashSize.8M.build.partitions=default_8MB
esp32.menu.FlashSize.2M=2MB (16Mb) esp32.menu.FlashSize.2M=2MB (16Mb)
esp32.menu.FlashSize.2M.build.flash_size=2MB esp32.menu.FlashSize.2M.build.flash_size=2MB
esp32.menu.FlashSize.2M.build.partitions=minimal
esp32.menu.FlashSize.16M=16MB (128Mb) esp32.menu.FlashSize.16M=16MB (128Mb)
esp32.menu.FlashSize.16M.build.flash_size=16MB esp32.menu.FlashSize.16M.build.flash_size=16MB
@ -1685,7 +1672,6 @@ esp32da.menu.FlashSize.4M=4MB (32Mb)
esp32da.menu.FlashSize.4M.build.flash_size=4MB esp32da.menu.FlashSize.4M.build.flash_size=4MB
esp32da.menu.FlashSize.8M=8MB (64Mb) esp32da.menu.FlashSize.8M=8MB (64Mb)
esp32da.menu.FlashSize.8M.build.flash_size=8MB esp32da.menu.FlashSize.8M.build.flash_size=8MB
esp32da.menu.FlashSize.8M.build.partitions=default_8MB
esp32da.menu.FlashSize.16M=16MB (128Mb) esp32da.menu.FlashSize.16M=16MB (128Mb)
esp32da.menu.FlashSize.16M.build.flash_size=16MB esp32da.menu.FlashSize.16M.build.flash_size=16MB
@ -2027,12 +2013,10 @@ esp32s3-octal.menu.FlashSize.4M=4MB (32Mb)
esp32s3-octal.menu.FlashSize.4M.build.flash_size=4MB esp32s3-octal.menu.FlashSize.4M.build.flash_size=4MB
esp32s3-octal.menu.FlashSize.8M=8MB (64Mb) esp32s3-octal.menu.FlashSize.8M=8MB (64Mb)
esp32s3-octal.menu.FlashSize.8M.build.flash_size=8MB esp32s3-octal.menu.FlashSize.8M.build.flash_size=8MB
esp32s3-octal.menu.FlashSize.8M.build.partitions=default_8MB
esp32s3-octal.menu.FlashSize.16M=16MB (128Mb) esp32s3-octal.menu.FlashSize.16M=16MB (128Mb)
esp32s3-octal.menu.FlashSize.16M.build.flash_size=16MB esp32s3-octal.menu.FlashSize.16M.build.flash_size=16MB
esp32s3-octal.menu.FlashSize.32M=32MB (256Mb) esp32s3-octal.menu.FlashSize.32M=32MB (256Mb)
esp32s3-octal.menu.FlashSize.32M.build.flash_size=32MB esp32s3-octal.menu.FlashSize.32M.build.flash_size=32MB
esp32s3-octal.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB
esp32s3-octal.menu.LoopCore.1=Core 1 esp32s3-octal.menu.LoopCore.1=Core 1
esp32s3-octal.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 esp32s3-octal.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
@ -2553,7 +2537,6 @@ esp32s2usb.menu.FlashSize.4M=4MB (32Mb)
esp32s2usb.menu.FlashSize.4M.build.flash_size=4MB esp32s2usb.menu.FlashSize.4M.build.flash_size=4MB
esp32s2usb.menu.FlashSize.8M=8MB (64Mb) esp32s2usb.menu.FlashSize.8M=8MB (64Mb)
esp32s2usb.menu.FlashSize.8M.build.flash_size=8MB esp32s2usb.menu.FlashSize.8M.build.flash_size=8MB
esp32s2usb.menu.FlashSize.8M.build.partitions=default_8MB
esp32s2usb.menu.FlashSize.16M=16MB (128Mb) esp32s2usb.menu.FlashSize.16M=16MB (128Mb)
esp32s2usb.menu.FlashSize.16M.build.flash_size=16MB esp32s2usb.menu.FlashSize.16M.build.flash_size=16MB
@ -2647,13 +2630,10 @@ esp32wroverkit.menu.FlashSize.4M=4MB (32Mb)
esp32wroverkit.menu.FlashSize.4M.build.flash_size=4MB esp32wroverkit.menu.FlashSize.4M.build.flash_size=4MB
esp32wroverkit.menu.FlashSize.8M=8MB (64Mb) esp32wroverkit.menu.FlashSize.8M=8MB (64Mb)
esp32wroverkit.menu.FlashSize.8M.build.flash_size=8MB esp32wroverkit.menu.FlashSize.8M.build.flash_size=8MB
esp32wroverkit.menu.FlashSize.8M.build.partitions=default_8MB
esp32wroverkit.menu.FlashSize.2M=2MB (16Mb) esp32wroverkit.menu.FlashSize.2M=2MB (16Mb)
esp32wroverkit.menu.FlashSize.2M.build.flash_size=2MB esp32wroverkit.menu.FlashSize.2M.build.flash_size=2MB
esp32wroverkit.menu.FlashSize.2M.build.partitions=minimal
esp32wroverkit.menu.FlashSize.16M=16MB (128Mb) esp32wroverkit.menu.FlashSize.16M=16MB (128Mb)
esp32wroverkit.menu.FlashSize.16M.build.flash_size=16MB esp32wroverkit.menu.FlashSize.16M.build.flash_size=16MB
esp32wroverkit.menu.FlashSize.16M.build.partitions=default_16MB
esp32wroverkit.menu.PSRAM.enabled=Enabled esp32wroverkit.menu.PSRAM.enabled=Enabled
esp32wroverkit.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw esp32wroverkit.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw
@ -3255,10 +3235,8 @@ um_feathers2.menu.FlashSize.4M=4MB (32Mb)
um_feathers2.menu.FlashSize.4M.build.flash_size=4MB um_feathers2.menu.FlashSize.4M.build.flash_size=4MB
um_feathers2.menu.FlashSize.8M=8MB (64Mb) um_feathers2.menu.FlashSize.8M=8MB (64Mb)
um_feathers2.menu.FlashSize.8M.build.flash_size=8MB um_feathers2.menu.FlashSize.8M.build.flash_size=8MB
um_feathers2.menu.FlashSize.8M.build.partitions=default_8MB
um_feathers2.menu.FlashSize.2M=2MB (16Mb) um_feathers2.menu.FlashSize.2M=2MB (16Mb)
um_feathers2.menu.FlashSize.2M.build.flash_size=2MB um_feathers2.menu.FlashSize.2M.build.flash_size=2MB
um_feathers2.menu.FlashSize.2M.build.partitions=minimal
um_feathers2.menu.UploadSpeed.921600=921600 um_feathers2.menu.UploadSpeed.921600=921600
um_feathers2.menu.UploadSpeed.921600.upload.speed=921600 um_feathers2.menu.UploadSpeed.921600.upload.speed=921600
@ -3397,7 +3375,6 @@ um_feathers2neo.menu.FlashSize.4M=4MB (32Mb)
um_feathers2neo.menu.FlashSize.4M.build.flash_size=4MB um_feathers2neo.menu.FlashSize.4M.build.flash_size=4MB
um_feathers2neo.menu.FlashSize.2M=2MB (16Mb) um_feathers2neo.menu.FlashSize.2M=2MB (16Mb)
um_feathers2neo.menu.FlashSize.2M.build.flash_size=2MB um_feathers2neo.menu.FlashSize.2M.build.flash_size=2MB
um_feathers2neo.menu.FlashSize.2M.build.partitions=minimal
um_feathers2neo.menu.UploadSpeed.921600=921600 um_feathers2neo.menu.UploadSpeed.921600=921600
um_feathers2neo.menu.UploadSpeed.921600.upload.speed=921600 um_feathers2neo.menu.UploadSpeed.921600.upload.speed=921600
@ -4432,7 +4409,6 @@ um_tinyc6.menu.FlashFreq.40.build.flash_freq=40m
um_tinyc6.menu.FlashSize.8M=8MB (64Mb) um_tinyc6.menu.FlashSize.8M=8MB (64Mb)
um_tinyc6.menu.FlashSize.8M.build.flash_size=8MB um_tinyc6.menu.FlashSize.8M.build.flash_size=8MB
um_tinyc6.menu.FlashSize.8M.build.partitions=default_8MB
um_tinyc6.menu.UploadSpeed.921600=921600 um_tinyc6.menu.UploadSpeed.921600=921600
um_tinyc6.menu.UploadSpeed.921600.upload.speed=921600 um_tinyc6.menu.UploadSpeed.921600.upload.speed=921600
@ -4586,7 +4562,6 @@ um_tinys2.menu.FlashSize.4M=4MB (32Mb)
um_tinys2.menu.FlashSize.4M.build.flash_size=4MB um_tinys2.menu.FlashSize.4M.build.flash_size=4MB
um_tinys2.menu.FlashSize.2M=2MB (16Mb) um_tinys2.menu.FlashSize.2M=2MB (16Mb)
um_tinys2.menu.FlashSize.2M.build.flash_size=2MB um_tinys2.menu.FlashSize.2M.build.flash_size=2MB
um_tinys2.menu.FlashSize.2M.build.partitions=minimal
um_tinys2.menu.UploadSpeed.921600=921600 um_tinys2.menu.UploadSpeed.921600=921600
um_tinys2.menu.UploadSpeed.921600.upload.speed=921600 um_tinys2.menu.UploadSpeed.921600.upload.speed=921600
@ -5855,10 +5830,8 @@ micros2.menu.FlashSize.4M=4MB (32Mb)
micros2.menu.FlashSize.4M.build.flash_size=4MB micros2.menu.FlashSize.4M.build.flash_size=4MB
micros2.menu.FlashSize.8M=8MB (64Mb) micros2.menu.FlashSize.8M=8MB (64Mb)
micros2.menu.FlashSize.8M.build.flash_size=8MB micros2.menu.FlashSize.8M.build.flash_size=8MB
micros2.menu.FlashSize.8M.build.partitions=default_8MB
micros2.menu.FlashSize.2M=2MB (16Mb) micros2.menu.FlashSize.2M=2MB (16Mb)
micros2.menu.FlashSize.2M.build.flash_size=2MB micros2.menu.FlashSize.2M.build.flash_size=2MB
micros2.menu.FlashSize.2M.build.partitions=minimal
micros2.menu.UploadSpeed.921600=921600 micros2.menu.UploadSpeed.921600=921600
micros2.menu.UploadSpeed.921600.upload.speed=921600 micros2.menu.UploadSpeed.921600.upload.speed=921600
@ -6189,10 +6162,8 @@ ttgo-t1.menu.FlashSize.4M=4MB (32Mb)
ttgo-t1.menu.FlashSize.4M.build.flash_size=4MB ttgo-t1.menu.FlashSize.4M.build.flash_size=4MB
ttgo-t1.menu.FlashSize.2M=2MB (16Mb) ttgo-t1.menu.FlashSize.2M=2MB (16Mb)
ttgo-t1.menu.FlashSize.2M.build.flash_size=2MB ttgo-t1.menu.FlashSize.2M.build.flash_size=2MB
ttgo-t1.menu.FlashSize.2M.build.partitions=minimal
ttgo-t1.menu.FlashSize.16M=16MB (128Mb) ttgo-t1.menu.FlashSize.16M=16MB (128Mb)
ttgo-t1.menu.FlashSize.16M.build.flash_size=16MB ttgo-t1.menu.FlashSize.16M.build.flash_size=16MB
ttgo-t1.menu.FlashSize.16M.build.partitions=ffat
ttgo-t1.menu.UploadSpeed.921600=921600 ttgo-t1.menu.UploadSpeed.921600=921600
ttgo-t1.menu.UploadSpeed.921600.upload.speed=921600 ttgo-t1.menu.UploadSpeed.921600.upload.speed=921600
@ -6649,7 +6620,6 @@ cw02.menu.FlashSize.4M=4MB (32Mb)
cw02.menu.FlashSize.4M.build.flash_size=4MB cw02.menu.FlashSize.4M.build.flash_size=4MB
cw02.menu.FlashSize.2M=2MB (16Mb) cw02.menu.FlashSize.2M=2MB (16Mb)
cw02.menu.FlashSize.2M.build.flash_size=2MB cw02.menu.FlashSize.2M.build.flash_size=2MB
cw02.menu.FlashSize.2M.build.partitions=minimal
cw02.menu.UploadSpeed.921600=921600 cw02.menu.UploadSpeed.921600=921600
cw02.menu.UploadSpeed.921600.upload.speed=921600 cw02.menu.UploadSpeed.921600.upload.speed=921600
@ -7050,10 +7020,8 @@ sparkfun_esp32s2_thing_plus.menu.FlashSize.4M=4MB (32Mb)
sparkfun_esp32s2_thing_plus.menu.FlashSize.4M.build.flash_size=4MB sparkfun_esp32s2_thing_plus.menu.FlashSize.4M.build.flash_size=4MB
sparkfun_esp32s2_thing_plus.menu.FlashSize.8M=8MB (64Mb) sparkfun_esp32s2_thing_plus.menu.FlashSize.8M=8MB (64Mb)
sparkfun_esp32s2_thing_plus.menu.FlashSize.8M.build.flash_size=8MB sparkfun_esp32s2_thing_plus.menu.FlashSize.8M.build.flash_size=8MB
sparkfun_esp32s2_thing_plus.menu.FlashSize.8M.build.partitions=default_8MB
sparkfun_esp32s2_thing_plus.menu.FlashSize.2M=2MB (16Mb) sparkfun_esp32s2_thing_plus.menu.FlashSize.2M=2MB (16Mb)
sparkfun_esp32s2_thing_plus.menu.FlashSize.2M.build.flash_size=2MB sparkfun_esp32s2_thing_plus.menu.FlashSize.2M.build.flash_size=2MB
sparkfun_esp32s2_thing_plus.menu.FlashSize.2M.build.partitions=minimal
sparkfun_esp32s2_thing_plus.menu.FlashSize.16M=16MB (128Mb) sparkfun_esp32s2_thing_plus.menu.FlashSize.16M=16MB (128Mb)
sparkfun_esp32s2_thing_plus.menu.FlashSize.16M.build.flash_size=16MB sparkfun_esp32s2_thing_plus.menu.FlashSize.16M.build.flash_size=16MB
@ -7442,10 +7410,8 @@ sparkfun_esp32c6_thing_plus.menu.FlashSize.4M=4MB (32Mb)
sparkfun_esp32c6_thing_plus.menu.FlashSize.4M.build.flash_size=4MB sparkfun_esp32c6_thing_plus.menu.FlashSize.4M.build.flash_size=4MB
sparkfun_esp32c6_thing_plus.menu.FlashSize.8M=8MB (64Mb) sparkfun_esp32c6_thing_plus.menu.FlashSize.8M=8MB (64Mb)
sparkfun_esp32c6_thing_plus.menu.FlashSize.8M.build.flash_size=8MB sparkfun_esp32c6_thing_plus.menu.FlashSize.8M.build.flash_size=8MB
sparkfun_esp32c6_thing_plus.menu.FlashSize.8M.build.partitions=default_8MB
sparkfun_esp32c6_thing_plus.menu.FlashSize.2M=2MB (16Mb) sparkfun_esp32c6_thing_plus.menu.FlashSize.2M=2MB (16Mb)
sparkfun_esp32c6_thing_plus.menu.FlashSize.2M.build.flash_size=2MB sparkfun_esp32c6_thing_plus.menu.FlashSize.2M.build.flash_size=2MB
sparkfun_esp32c6_thing_plus.menu.FlashSize.2M.build.partitions=minimal
sparkfun_esp32c6_thing_plus.menu.FlashSize.16M=16MB (128Mb) sparkfun_esp32c6_thing_plus.menu.FlashSize.16M=16MB (128Mb)
sparkfun_esp32c6_thing_plus.menu.FlashSize.16M.build.flash_size=16MB sparkfun_esp32c6_thing_plus.menu.FlashSize.16M.build.flash_size=16MB
@ -7603,10 +7569,8 @@ esp32micromod.menu.FlashSize.4M=4MB (32Mb)
esp32micromod.menu.FlashSize.4M.build.flash_size=4MB esp32micromod.menu.FlashSize.4M.build.flash_size=4MB
esp32micromod.menu.FlashSize.8M=8MB (64Mb) esp32micromod.menu.FlashSize.8M=8MB (64Mb)
esp32micromod.menu.FlashSize.8M.build.flash_size=8MB esp32micromod.menu.FlashSize.8M.build.flash_size=8MB
esp32micromod.menu.FlashSize.8M.build.partitions=default_8MB
esp32micromod.menu.FlashSize.2M=2MB (16Mb) esp32micromod.menu.FlashSize.2M=2MB (16Mb)
esp32micromod.menu.FlashSize.2M.build.flash_size=2MB esp32micromod.menu.FlashSize.2M.build.flash_size=2MB
esp32micromod.menu.FlashSize.2M.build.partitions=minimal
esp32micromod.menu.FlashSize.16M=16MB (128Mb) esp32micromod.menu.FlashSize.16M=16MB (128Mb)
esp32micromod.menu.FlashSize.16M.build.flash_size=16MB esp32micromod.menu.FlashSize.16M.build.flash_size=16MB
@ -7856,10 +7820,8 @@ sparkfun_esp32_iot_redboard.menu.FlashSize.4M=4MB (32Mb)
sparkfun_esp32_iot_redboard.menu.FlashSize.4M.build.flash_size=4MB sparkfun_esp32_iot_redboard.menu.FlashSize.4M.build.flash_size=4MB
sparkfun_esp32_iot_redboard.menu.FlashSize.8M=8MB (64Mb) sparkfun_esp32_iot_redboard.menu.FlashSize.8M=8MB (64Mb)
sparkfun_esp32_iot_redboard.menu.FlashSize.8M.build.flash_size=8MB sparkfun_esp32_iot_redboard.menu.FlashSize.8M.build.flash_size=8MB
sparkfun_esp32_iot_redboard.menu.FlashSize.8M.build.partitions=default_8MB
sparkfun_esp32_iot_redboard.menu.FlashSize.2M=2MB (16Mb) sparkfun_esp32_iot_redboard.menu.FlashSize.2M=2MB (16Mb)
sparkfun_esp32_iot_redboard.menu.FlashSize.2M.build.flash_size=2MB sparkfun_esp32_iot_redboard.menu.FlashSize.2M.build.flash_size=2MB
sparkfun_esp32_iot_redboard.menu.FlashSize.2M.build.partitions=minimal
sparkfun_esp32_iot_redboard.menu.FlashSize.16M=16MB (128Mb) sparkfun_esp32_iot_redboard.menu.FlashSize.16M=16MB (128Mb)
sparkfun_esp32_iot_redboard.menu.FlashSize.16M.build.flash_size=16MB sparkfun_esp32_iot_redboard.menu.FlashSize.16M.build.flash_size=16MB
@ -8041,10 +8003,8 @@ sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.4M=4MB (32Mb)
sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.4M.build.flash_size=4MB sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.4M.build.flash_size=4MB
sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.8M=8MB (64Mb) sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.8M=8MB (64Mb)
sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.8M.build.flash_size=8MB sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.8M.build.flash_size=8MB
sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.8M.build.partitions=default_8MB
sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.2M=2MB (16Mb) sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.2M=2MB (16Mb)
sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.2M.build.flash_size=2MB sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.2M.build.flash_size=2MB
sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.2M.build.partitions=minimal
sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.16M=16MB (128Mb) sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.16M=16MB (128Mb)
sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.16M.build.flash_size=16MB sparkfun_esp32c6_qwiic_pocket.menu.FlashSize.16M.build.flash_size=16MB
@ -8297,13 +8257,10 @@ nina_w10.menu.UploadSpeed.512000.upload.speed=512000
nina_w10.menu.FlashSize.2M=2MB (16Mb, NINA-W101/W102) nina_w10.menu.FlashSize.2M=2MB (16Mb, NINA-W101/W102)
nina_w10.menu.FlashSize.2M.build.flash_size=2MB nina_w10.menu.FlashSize.2M.build.flash_size=2MB
nina_w10.menu.FlashSize.2M.build.partitions=minimal
nina_w10.menu.FlashSize.4M=4MB (32Mb, NINA-W106-00B) nina_w10.menu.FlashSize.4M=4MB (32Mb, NINA-W106-00B)
nina_w10.menu.FlashSize.4M.build.flash_size=4MB nina_w10.menu.FlashSize.4M.build.flash_size=4MB
nina_w10.menu.FlashSize.4M.build.partitions=default
nina_w10.menu.FlashSize.8M=8MB (64Mb, NINA-W106-10B) nina_w10.menu.FlashSize.8M=8MB (64Mb, NINA-W106-10B)
nina_w10.menu.FlashSize.8M.build.flash_size=8MB nina_w10.menu.FlashSize.8M.build.flash_size=8MB
nina_w10.menu.FlashSize.8M.build.partitions=default_8MB
nina_w10.menu.FlashFreq.80=80MHz nina_w10.menu.FlashFreq.80=80MHz
nina_w10.menu.FlashFreq.80.build.flash_freq=80m nina_w10.menu.FlashFreq.80.build.flash_freq=80m
@ -8473,7 +8430,6 @@ nora_w10.menu.FlashSize.4M=4MB (32Mb)
nora_w10.menu.FlashSize.4M.build.flash_size=4MB nora_w10.menu.FlashSize.4M.build.flash_size=4MB
nora_w10.menu.FlashSize.8M=8MB (64Mb) nora_w10.menu.FlashSize.8M=8MB (64Mb)
nora_w10.menu.FlashSize.8M.build.flash_size=8MB nora_w10.menu.FlashSize.8M.build.flash_size=8MB
nora_w10.menu.FlashSize.8M.build.partitions=default_8MB
#nora_w10.menu.FlashSize.16M=16MB (128Mb) #nora_w10.menu.FlashSize.16M=16MB (128Mb)
#nora_w10.menu.FlashSize.16M.build.flash_size=16MB #nora_w10.menu.FlashSize.16M.build.flash_size=16MB
#nora_w10.menu.FlashSize.32M=32MB (256Mb) #nora_w10.menu.FlashSize.32M=32MB (256Mb)
@ -11447,10 +11403,8 @@ dfrobot_firebeetle2_esp32e.menu.FlashSize.4M=4MB (32Mb)
dfrobot_firebeetle2_esp32e.menu.FlashSize.4M.build.flash_size=4MB dfrobot_firebeetle2_esp32e.menu.FlashSize.4M.build.flash_size=4MB
dfrobot_firebeetle2_esp32e.menu.FlashSize.8M=8MB (64Mb) dfrobot_firebeetle2_esp32e.menu.FlashSize.8M=8MB (64Mb)
dfrobot_firebeetle2_esp32e.menu.FlashSize.8M.build.flash_size=8MB dfrobot_firebeetle2_esp32e.menu.FlashSize.8M.build.flash_size=8MB
dfrobot_firebeetle2_esp32e.menu.FlashSize.8M.build.partitions=default_8MB
dfrobot_firebeetle2_esp32e.menu.FlashSize.2M=2MB (16Mb) dfrobot_firebeetle2_esp32e.menu.FlashSize.2M=2MB (16Mb)
dfrobot_firebeetle2_esp32e.menu.FlashSize.2M.build.flash_size=2MB dfrobot_firebeetle2_esp32e.menu.FlashSize.2M.build.flash_size=2MB
dfrobot_firebeetle2_esp32e.menu.FlashSize.2M.build.partitions=minimal
dfrobot_firebeetle2_esp32e.menu.FlashSize.16M=16MB (128Mb) dfrobot_firebeetle2_esp32e.menu.FlashSize.16M=16MB (128Mb)
dfrobot_firebeetle2_esp32e.menu.FlashSize.16M.build.flash_size=16MB dfrobot_firebeetle2_esp32e.menu.FlashSize.16M.build.flash_size=16MB
@ -11584,7 +11538,6 @@ dfrobot_firebeetle2_esp32s3.menu.FlashSize.4M=4MB (32Mb)
dfrobot_firebeetle2_esp32s3.menu.FlashSize.4M.build.flash_size=4MB dfrobot_firebeetle2_esp32s3.menu.FlashSize.4M.build.flash_size=4MB
dfrobot_firebeetle2_esp32s3.menu.FlashSize.8M=8MB (64Mb) dfrobot_firebeetle2_esp32s3.menu.FlashSize.8M=8MB (64Mb)
dfrobot_firebeetle2_esp32s3.menu.FlashSize.8M.build.flash_size=8MB dfrobot_firebeetle2_esp32s3.menu.FlashSize.8M.build.flash_size=8MB
dfrobot_firebeetle2_esp32s3.menu.FlashSize.8M.build.partitions=default_8MB
dfrobot_firebeetle2_esp32s3.menu.FlashSize.16M=16MB (128Mb) dfrobot_firebeetle2_esp32s3.menu.FlashSize.16M=16MB (128Mb)
dfrobot_firebeetle2_esp32s3.menu.FlashSize.16M.build.flash_size=16MB dfrobot_firebeetle2_esp32s3.menu.FlashSize.16M.build.flash_size=16MB
#dfrobot_firebeetle2_esp32s3.menu.FlashSize.32M=32MB (256Mb) #dfrobot_firebeetle2_esp32s3.menu.FlashSize.32M=32MB (256Mb)
@ -16750,7 +16703,6 @@ nologo_esp32s3_pico.menu.FlashMode.opi.build.flash_freq=80m
nologo_esp32s3_pico.menu.FlashSize.8M=8MB (64Mb) nologo_esp32s3_pico.menu.FlashSize.8M=8MB (64Mb)
nologo_esp32s3_pico.menu.FlashSize.8M.build.flash_size=8MB nologo_esp32s3_pico.menu.FlashSize.8M.build.flash_size=8MB
nologo_esp32s3_pico.menu.FlashSize.8M.build.partitions=default_8MB
nologo_esp32s3_pico.menu.FlashSize.16M=16MB (128Mb) nologo_esp32s3_pico.menu.FlashSize.16M=16MB (128Mb)
nologo_esp32s3_pico.menu.FlashSize.16M.build.flash_size=16MB nologo_esp32s3_pico.menu.FlashSize.16M.build.flash_size=16MB
@ -18012,10 +17964,8 @@ esp32s2-devkitlipo.menu.FlashSize.4M=4MB (32Mb)
esp32s2-devkitlipo.menu.FlashSize.4M.build.flash_size=4MB esp32s2-devkitlipo.menu.FlashSize.4M.build.flash_size=4MB
esp32s2-devkitlipo.menu.FlashSize.8M=8MB (64Mb) esp32s2-devkitlipo.menu.FlashSize.8M=8MB (64Mb)
esp32s2-devkitlipo.menu.FlashSize.8M.build.flash_size=8MB esp32s2-devkitlipo.menu.FlashSize.8M.build.flash_size=8MB
esp32s2-devkitlipo.menu.FlashSize.8M.build.partitions=default_8MB
esp32s2-devkitlipo.menu.FlashSize.2M=2MB (16Mb) esp32s2-devkitlipo.menu.FlashSize.2M=2MB (16Mb)
esp32s2-devkitlipo.menu.FlashSize.2M.build.flash_size=2MB esp32s2-devkitlipo.menu.FlashSize.2M.build.flash_size=2MB
esp32s2-devkitlipo.menu.FlashSize.2M.build.partitions=minimal
esp32s2-devkitlipo.menu.FlashSize.16M=16MB (128Mb) esp32s2-devkitlipo.menu.FlashSize.16M=16MB (128Mb)
esp32s2-devkitlipo.menu.FlashSize.16M.build.flash_size=16MB esp32s2-devkitlipo.menu.FlashSize.16M.build.flash_size=16MB
@ -18209,10 +18159,8 @@ esp32s2-devkitlipo-usb.menu.FlashSize.4M=4MB (32Mb)
esp32s2-devkitlipo-usb.menu.FlashSize.4M.build.flash_size=4MB esp32s2-devkitlipo-usb.menu.FlashSize.4M.build.flash_size=4MB
esp32s2-devkitlipo-usb.menu.FlashSize.8M=8MB (64Mb) esp32s2-devkitlipo-usb.menu.FlashSize.8M=8MB (64Mb)
esp32s2-devkitlipo-usb.menu.FlashSize.8M.build.flash_size=8MB esp32s2-devkitlipo-usb.menu.FlashSize.8M.build.flash_size=8MB
esp32s2-devkitlipo-usb.menu.FlashSize.8M.build.partitions=default_8MB
esp32s2-devkitlipo-usb.menu.FlashSize.2M=2MB (16Mb) esp32s2-devkitlipo-usb.menu.FlashSize.2M=2MB (16Mb)
esp32s2-devkitlipo-usb.menu.FlashSize.2M.build.flash_size=2MB esp32s2-devkitlipo-usb.menu.FlashSize.2M.build.flash_size=2MB
esp32s2-devkitlipo-usb.menu.FlashSize.2M.build.partitions=minimal
esp32s2-devkitlipo-usb.menu.FlashSize.16M=16MB (128Mb) esp32s2-devkitlipo-usb.menu.FlashSize.16M=16MB (128Mb)
esp32s2-devkitlipo-usb.menu.FlashSize.16M.build.flash_size=16MB esp32s2-devkitlipo-usb.menu.FlashSize.16M.build.flash_size=16MB
@ -18343,12 +18291,10 @@ esp32s3-devkitlipo.menu.FlashSize.4M=4MB (32Mb)
esp32s3-devkitlipo.menu.FlashSize.4M.build.flash_size=4MB esp32s3-devkitlipo.menu.FlashSize.4M.build.flash_size=4MB
esp32s3-devkitlipo.menu.FlashSize.8M=8MB (64Mb) esp32s3-devkitlipo.menu.FlashSize.8M=8MB (64Mb)
esp32s3-devkitlipo.menu.FlashSize.8M.build.flash_size=8MB esp32s3-devkitlipo.menu.FlashSize.8M.build.flash_size=8MB
esp32s3-devkitlipo.menu.FlashSize.8M.build.partitions=default_8MB
esp32s3-devkitlipo.menu.FlashSize.16M=16MB (128Mb) esp32s3-devkitlipo.menu.FlashSize.16M=16MB (128Mb)
esp32s3-devkitlipo.menu.FlashSize.16M.build.flash_size=16MB esp32s3-devkitlipo.menu.FlashSize.16M.build.flash_size=16MB
esp32s3-devkitlipo.menu.FlashSize.32M=32MB (256Mb) esp32s3-devkitlipo.menu.FlashSize.32M=32MB (256Mb)
esp32s3-devkitlipo.menu.FlashSize.32M.build.flash_size=32MB esp32s3-devkitlipo.menu.FlashSize.32M.build.flash_size=32MB
esp32s3-devkitlipo.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB
esp32s3-devkitlipo.menu.LoopCore.1=Core 1 esp32s3-devkitlipo.menu.LoopCore.1=Core 1
esp32s3-devkitlipo.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 esp32s3-devkitlipo.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
@ -18624,10 +18570,8 @@ esp32c3-devkitlipo.menu.FlashSize.4M=4MB (32Mb)
esp32c3-devkitlipo.menu.FlashSize.4M.build.flash_size=4MB esp32c3-devkitlipo.menu.FlashSize.4M.build.flash_size=4MB
esp32c3-devkitlipo.menu.FlashSize.8M=8MB (64Mb) esp32c3-devkitlipo.menu.FlashSize.8M=8MB (64Mb)
esp32c3-devkitlipo.menu.FlashSize.8M.build.flash_size=8MB esp32c3-devkitlipo.menu.FlashSize.8M.build.flash_size=8MB
esp32c3-devkitlipo.menu.FlashSize.8M.build.partitions=default_8MB
esp32c3-devkitlipo.menu.FlashSize.2M=2MB (16Mb) esp32c3-devkitlipo.menu.FlashSize.2M=2MB (16Mb)
esp32c3-devkitlipo.menu.FlashSize.2M.build.flash_size=2MB esp32c3-devkitlipo.menu.FlashSize.2M.build.flash_size=2MB
esp32c3-devkitlipo.menu.FlashSize.2M.build.partitions=minimal
esp32c3-devkitlipo.menu.FlashSize.16M=16MB (128Mb) esp32c3-devkitlipo.menu.FlashSize.16M=16MB (128Mb)
esp32c3-devkitlipo.menu.FlashSize.16M.build.flash_size=16MB esp32c3-devkitlipo.menu.FlashSize.16M.build.flash_size=16MB
@ -18799,10 +18743,8 @@ esp32c6-evb.menu.FlashSize.4M=4MB (32Mb)
esp32c6-evb.menu.FlashSize.4M.build.flash_size=4MB esp32c6-evb.menu.FlashSize.4M.build.flash_size=4MB
esp32c6-evb.menu.FlashSize.8M=8MB (64Mb) esp32c6-evb.menu.FlashSize.8M=8MB (64Mb)
esp32c6-evb.menu.FlashSize.8M.build.flash_size=8MB esp32c6-evb.menu.FlashSize.8M.build.flash_size=8MB
esp32c6-evb.menu.FlashSize.8M.build.partitions=default_8MB
esp32c6-evb.menu.FlashSize.2M=2MB (16Mb) esp32c6-evb.menu.FlashSize.2M=2MB (16Mb)
esp32c6-evb.menu.FlashSize.2M.build.flash_size=2MB esp32c6-evb.menu.FlashSize.2M.build.flash_size=2MB
esp32c6-evb.menu.FlashSize.2M.build.partitions=minimal
esp32c6-evb.menu.FlashSize.16M=16MB (128Mb) esp32c6-evb.menu.FlashSize.16M=16MB (128Mb)
esp32c6-evb.menu.FlashSize.16M.build.flash_size=16MB esp32c6-evb.menu.FlashSize.16M.build.flash_size=16MB
@ -18981,10 +18923,8 @@ esp32h2-devkitlipo.menu.FlashSize.4M=4MB (32Mb)
esp32h2-devkitlipo.menu.FlashSize.4M.build.flash_size=4MB esp32h2-devkitlipo.menu.FlashSize.4M.build.flash_size=4MB
esp32h2-devkitlipo.menu.FlashSize.8M=8MB (64Mb) esp32h2-devkitlipo.menu.FlashSize.8M=8MB (64Mb)
esp32h2-devkitlipo.menu.FlashSize.8M.build.flash_size=8MB esp32h2-devkitlipo.menu.FlashSize.8M.build.flash_size=8MB
esp32h2-devkitlipo.menu.FlashSize.8M.build.partitions=default_8MB
esp32h2-devkitlipo.menu.FlashSize.2M=2MB (16Mb) esp32h2-devkitlipo.menu.FlashSize.2M=2MB (16Mb)
esp32h2-devkitlipo.menu.FlashSize.2M.build.flash_size=2MB esp32h2-devkitlipo.menu.FlashSize.2M.build.flash_size=2MB
esp32h2-devkitlipo.menu.FlashSize.2M.build.partitions=minimal
esp32h2-devkitlipo.menu.FlashSize.16M=16MB (128Mb) esp32h2-devkitlipo.menu.FlashSize.16M=16MB (128Mb)
esp32h2-devkitlipo.menu.FlashSize.16M.build.flash_size=16MB esp32h2-devkitlipo.menu.FlashSize.16M.build.flash_size=16MB
@ -19170,10 +19110,8 @@ esp32-sbc-fabgl.menu.FlashSize.4M=4MB (32Mb)
esp32-sbc-fabgl.menu.FlashSize.4M.build.flash_size=4MB esp32-sbc-fabgl.menu.FlashSize.4M.build.flash_size=4MB
esp32-sbc-fabgl.menu.FlashSize.8M=8MB (64Mb) esp32-sbc-fabgl.menu.FlashSize.8M=8MB (64Mb)
esp32-sbc-fabgl.menu.FlashSize.8M.build.flash_size=8MB esp32-sbc-fabgl.menu.FlashSize.8M.build.flash_size=8MB
esp32-sbc-fabgl.menu.FlashSize.8M.build.partitions=default_8MB
esp32-sbc-fabgl.menu.FlashSize.2M=2MB (16Mb) esp32-sbc-fabgl.menu.FlashSize.2M=2MB (16Mb)
esp32-sbc-fabgl.menu.FlashSize.2M.build.flash_size=2MB esp32-sbc-fabgl.menu.FlashSize.2M.build.flash_size=2MB
esp32-sbc-fabgl.menu.FlashSize.2M.build.partitions=minimal
esp32-sbc-fabgl.menu.FlashSize.16M=16MB (128Mb) esp32-sbc-fabgl.menu.FlashSize.16M=16MB (128Mb)
esp32-sbc-fabgl.menu.FlashSize.16M.build.flash_size=16MB esp32-sbc-fabgl.menu.FlashSize.16M.build.flash_size=16MB
@ -20872,7 +20810,6 @@ m5stack_atoms3.menu.FlashMode.opi.build.flash_freq=80m
m5stack_atoms3.menu.FlashSize.8M=8MB (64Mb) m5stack_atoms3.menu.FlashSize.8M=8MB (64Mb)
m5stack_atoms3.menu.FlashSize.8M.build.flash_size=8MB m5stack_atoms3.menu.FlashSize.8M.build.flash_size=8MB
m5stack_atoms3.menu.FlashSize.8M.build.partitions=default_8MB
m5stack_atoms3.menu.LoopCore.1=Core 1 m5stack_atoms3.menu.LoopCore.1=Core 1
m5stack_atoms3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 m5stack_atoms3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
@ -21106,7 +21043,6 @@ m5stack_cores3.menu.FlashSize.16M=16MB (128Mb)
m5stack_cores3.menu.FlashSize.16M.build.flash_size=16MB m5stack_cores3.menu.FlashSize.16M.build.flash_size=16MB
m5stack_cores3.menu.FlashSize.32M=32MB (256Mb) m5stack_cores3.menu.FlashSize.32M=32MB (256Mb)
m5stack_cores3.menu.FlashSize.32M.build.flash_size=32MB m5stack_cores3.menu.FlashSize.32M.build.flash_size=32MB
m5stack_cores3.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB
m5stack_cores3.menu.LoopCore.1=Core 1 m5stack_cores3.menu.LoopCore.1=Core 1
m5stack_cores3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 m5stack_cores3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
@ -21649,7 +21585,6 @@ m5stack_unit_cams3.menu.FlashSize.16M=16MB (128Mb)
m5stack_unit_cams3.menu.FlashSize.16M.build.flash_size=16MB m5stack_unit_cams3.menu.FlashSize.16M.build.flash_size=16MB
m5stack_unit_cams3.menu.FlashSize.32M=32MB (256Mb) m5stack_unit_cams3.menu.FlashSize.32M=32MB (256Mb)
m5stack_unit_cams3.menu.FlashSize.32M.build.flash_size=32MB m5stack_unit_cams3.menu.FlashSize.32M.build.flash_size=32MB
m5stack_unit_cams3.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB
m5stack_unit_cams3.menu.LoopCore.1=Core 1 m5stack_unit_cams3.menu.LoopCore.1=Core 1
m5stack_unit_cams3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 m5stack_unit_cams3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
@ -22661,12 +22596,10 @@ m5stack_stamp_s3.menu.FlashSize.4M=4MB (32Mb)
m5stack_stamp_s3.menu.FlashSize.4M.build.flash_size=4MB m5stack_stamp_s3.menu.FlashSize.4M.build.flash_size=4MB
m5stack_stamp_s3.menu.FlashSize.8M=8MB (64Mb) m5stack_stamp_s3.menu.FlashSize.8M=8MB (64Mb)
m5stack_stamp_s3.menu.FlashSize.8M.build.flash_size=8MB m5stack_stamp_s3.menu.FlashSize.8M.build.flash_size=8MB
m5stack_stamp_s3.menu.FlashSize.8M.build.partitions=default_8MB
m5stack_stamp_s3.menu.FlashSize.16M=16MB (128Mb) m5stack_stamp_s3.menu.FlashSize.16M=16MB (128Mb)
m5stack_stamp_s3.menu.FlashSize.16M.build.flash_size=16MB m5stack_stamp_s3.menu.FlashSize.16M.build.flash_size=16MB
m5stack_stamp_s3.menu.FlashSize.32M=32MB (256Mb) m5stack_stamp_s3.menu.FlashSize.32M=32MB (256Mb)
m5stack_stamp_s3.menu.FlashSize.32M.build.flash_size=32MB m5stack_stamp_s3.menu.FlashSize.32M.build.flash_size=32MB
m5stack_stamp_s3.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB
m5stack_stamp_s3.menu.LoopCore.1=Core 1 m5stack_stamp_s3.menu.LoopCore.1=Core 1
m5stack_stamp_s3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 m5stack_stamp_s3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
@ -22900,12 +22833,10 @@ m5stack_capsule.menu.FlashSize.4M=4MB (32Mb)
m5stack_capsule.menu.FlashSize.4M.build.flash_size=4MB m5stack_capsule.menu.FlashSize.4M.build.flash_size=4MB
m5stack_capsule.menu.FlashSize.8M=8MB (64Mb) m5stack_capsule.menu.FlashSize.8M=8MB (64Mb)
m5stack_capsule.menu.FlashSize.8M.build.flash_size=8MB m5stack_capsule.menu.FlashSize.8M.build.flash_size=8MB
m5stack_capsule.menu.FlashSize.8M.build.partitions=default_8MB
m5stack_capsule.menu.FlashSize.16M=16MB (128Mb) m5stack_capsule.menu.FlashSize.16M=16MB (128Mb)
m5stack_capsule.menu.FlashSize.16M.build.flash_size=16MB m5stack_capsule.menu.FlashSize.16M.build.flash_size=16MB
m5stack_capsule.menu.FlashSize.32M=32MB (256Mb) m5stack_capsule.menu.FlashSize.32M=32MB (256Mb)
m5stack_capsule.menu.FlashSize.32M.build.flash_size=32MB m5stack_capsule.menu.FlashSize.32M.build.flash_size=32MB
m5stack_capsule.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB
m5stack_capsule.menu.LoopCore.1=Core 1 m5stack_capsule.menu.LoopCore.1=Core 1
m5stack_capsule.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 m5stack_capsule.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
@ -23142,12 +23073,10 @@ m5stack_cardputer.menu.FlashSize.4M=4MB (32Mb)
m5stack_cardputer.menu.FlashSize.4M.build.flash_size=4MB m5stack_cardputer.menu.FlashSize.4M.build.flash_size=4MB
m5stack_cardputer.menu.FlashSize.8M=8MB (64Mb) m5stack_cardputer.menu.FlashSize.8M=8MB (64Mb)
m5stack_cardputer.menu.FlashSize.8M.build.flash_size=8MB m5stack_cardputer.menu.FlashSize.8M.build.flash_size=8MB
m5stack_cardputer.menu.FlashSize.8M.build.partitions=default_8MB
m5stack_cardputer.menu.FlashSize.16M=16MB (128Mb) m5stack_cardputer.menu.FlashSize.16M=16MB (128Mb)
m5stack_cardputer.menu.FlashSize.16M.build.flash_size=16MB m5stack_cardputer.menu.FlashSize.16M.build.flash_size=16MB
m5stack_cardputer.menu.FlashSize.32M=32MB (256Mb) m5stack_cardputer.menu.FlashSize.32M=32MB (256Mb)
m5stack_cardputer.menu.FlashSize.32M.build.flash_size=32MB m5stack_cardputer.menu.FlashSize.32M.build.flash_size=32MB
m5stack_cardputer.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB
m5stack_cardputer.menu.LoopCore.1=Core 1 m5stack_cardputer.menu.LoopCore.1=Core 1
m5stack_cardputer.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 m5stack_cardputer.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
@ -23381,12 +23310,10 @@ m5stack_dial.menu.FlashSize.4M=4MB (32Mb)
m5stack_dial.menu.FlashSize.4M.build.flash_size=4MB m5stack_dial.menu.FlashSize.4M.build.flash_size=4MB
m5stack_dial.menu.FlashSize.8M=8MB (64Mb) m5stack_dial.menu.FlashSize.8M=8MB (64Mb)
m5stack_dial.menu.FlashSize.8M.build.flash_size=8MB m5stack_dial.menu.FlashSize.8M.build.flash_size=8MB
m5stack_dial.menu.FlashSize.8M.build.partitions=default_8MB
m5stack_dial.menu.FlashSize.16M=16MB (128Mb) m5stack_dial.menu.FlashSize.16M=16MB (128Mb)
m5stack_dial.menu.FlashSize.16M.build.flash_size=16MB m5stack_dial.menu.FlashSize.16M.build.flash_size=16MB
m5stack_dial.menu.FlashSize.32M=32MB (256Mb) m5stack_dial.menu.FlashSize.32M=32MB (256Mb)
m5stack_dial.menu.FlashSize.32M.build.flash_size=32MB m5stack_dial.menu.FlashSize.32M.build.flash_size=32MB
m5stack_dial.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB
m5stack_dial.menu.LoopCore.1=Core 1 m5stack_dial.menu.LoopCore.1=Core 1
m5stack_dial.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 m5stack_dial.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
@ -23620,12 +23547,10 @@ m5stack_dinmeter.menu.FlashSize.4M=4MB (32Mb)
m5stack_dinmeter.menu.FlashSize.4M.build.flash_size=4MB m5stack_dinmeter.menu.FlashSize.4M.build.flash_size=4MB
m5stack_dinmeter.menu.FlashSize.8M=8MB (64Mb) m5stack_dinmeter.menu.FlashSize.8M=8MB (64Mb)
m5stack_dinmeter.menu.FlashSize.8M.build.flash_size=8MB m5stack_dinmeter.menu.FlashSize.8M.build.flash_size=8MB
m5stack_dinmeter.menu.FlashSize.8M.build.partitions=default_8MB
m5stack_dinmeter.menu.FlashSize.16M=16MB (128Mb) m5stack_dinmeter.menu.FlashSize.16M=16MB (128Mb)
m5stack_dinmeter.menu.FlashSize.16M.build.flash_size=16MB m5stack_dinmeter.menu.FlashSize.16M.build.flash_size=16MB
m5stack_dinmeter.menu.FlashSize.32M=32MB (256Mb) m5stack_dinmeter.menu.FlashSize.32M=32MB (256Mb)
m5stack_dinmeter.menu.FlashSize.32M.build.flash_size=32MB m5stack_dinmeter.menu.FlashSize.32M.build.flash_size=32MB
m5stack_dinmeter.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB
m5stack_dinmeter.menu.LoopCore.1=Core 1 m5stack_dinmeter.menu.LoopCore.1=Core 1
m5stack_dinmeter.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 m5stack_dinmeter.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
@ -26702,7 +26627,6 @@ espectro32.menu.FlashSize.4M=4MB (32Mb)
espectro32.menu.FlashSize.4M.build.flash_size=4MB espectro32.menu.FlashSize.4M.build.flash_size=4MB
espectro32.menu.FlashSize.2M=2MB (16Mb) espectro32.menu.FlashSize.2M=2MB (16Mb)
espectro32.menu.FlashSize.2M.build.flash_size=2MB espectro32.menu.FlashSize.2M.build.flash_size=2MB
espectro32.menu.FlashSize.2M.build.partitions=minimal
espectro32.menu.UploadSpeed.921600=921600 espectro32.menu.UploadSpeed.921600=921600
espectro32.menu.UploadSpeed.921600.upload.speed=921600 espectro32.menu.UploadSpeed.921600.upload.speed=921600
@ -26931,10 +26855,8 @@ alksesp32.menu.FlashSize.4M=4MB (32Mb)
alksesp32.menu.FlashSize.4M.build.flash_size=4MB alksesp32.menu.FlashSize.4M.build.flash_size=4MB
alksesp32.menu.FlashSize.2M=2MB (16Mb) alksesp32.menu.FlashSize.2M=2MB (16Mb)
alksesp32.menu.FlashSize.2M.build.flash_size=2MB alksesp32.menu.FlashSize.2M.build.flash_size=2MB
alksesp32.menu.FlashSize.2M.build.partitions=minimal
alksesp32.menu.FlashSize.16M=16MB (128Mb) alksesp32.menu.FlashSize.16M=16MB (128Mb)
alksesp32.menu.FlashSize.16M.build.flash_size=16MB alksesp32.menu.FlashSize.16M.build.flash_size=16MB
alksesp32.menu.FlashSize.16M.build.partitions=ffat
alksesp32.menu.UploadSpeed.921600=921600 alksesp32.menu.UploadSpeed.921600=921600
alksesp32.menu.UploadSpeed.921600.upload.speed=921600 alksesp32.menu.UploadSpeed.921600.upload.speed=921600
@ -27451,7 +27373,6 @@ bpi_leaf_s3.menu.FlashMode.opi.build.flash_freq=80m
bpi_leaf_s3.menu.FlashSize.8M=8MB (64Mb) bpi_leaf_s3.menu.FlashSize.8M=8MB (64Mb)
bpi_leaf_s3.menu.FlashSize.8M.build.flash_size=8MB bpi_leaf_s3.menu.FlashSize.8M.build.flash_size=8MB
bpi_leaf_s3.menu.FlashSize.8M.build.partitions=default_8MB
bpi_leaf_s3.menu.FlashSize.4M=4MB (32Mb) bpi_leaf_s3.menu.FlashSize.4M=4MB (32Mb)
bpi_leaf_s3.menu.FlashSize.4M.build.flash_size=4MB bpi_leaf_s3.menu.FlashSize.4M.build.flash_size=4MB
bpi_leaf_s3.menu.FlashSize.16M=16MB (128Mb) bpi_leaf_s3.menu.FlashSize.16M=16MB (128Mb)
@ -28408,7 +28329,6 @@ frogboard.menu.FlashSize.4M=4MB (32Mb)
frogboard.menu.FlashSize.4M.build.flash_size=4MB frogboard.menu.FlashSize.4M.build.flash_size=4MB
frogboard.menu.FlashSize.2M=2MB (16Mb) frogboard.menu.FlashSize.2M=2MB (16Mb)
frogboard.menu.FlashSize.2M.build.flash_size=2MB frogboard.menu.FlashSize.2M.build.flash_size=2MB
frogboard.menu.FlashSize.2M.build.partitions=minimal
frogboard.menu.UploadSpeed.921600=921600 frogboard.menu.UploadSpeed.921600=921600
frogboard.menu.UploadSpeed.921600.upload.speed=921600 frogboard.menu.UploadSpeed.921600.upload.speed=921600
@ -29005,10 +28925,8 @@ vintlabs-devkit-v1.menu.FlashSize.4M=4MB (32Mb)
vintlabs-devkit-v1.menu.FlashSize.4M.build.flash_size=4MB vintlabs-devkit-v1.menu.FlashSize.4M.build.flash_size=4MB
vintlabs-devkit-v1.menu.FlashSize.8M=8MB (64Mb) vintlabs-devkit-v1.menu.FlashSize.8M=8MB (64Mb)
vintlabs-devkit-v1.menu.FlashSize.8M.build.flash_size=8MB vintlabs-devkit-v1.menu.FlashSize.8M.build.flash_size=8MB
vintlabs-devkit-v1.menu.FlashSize.8M.build.partitions=default_8MB
vintlabs-devkit-v1.menu.FlashSize.2M=2MB (16Mb) vintlabs-devkit-v1.menu.FlashSize.2M=2MB (16Mb)
vintlabs-devkit-v1.menu.FlashSize.2M.build.flash_size=2MB vintlabs-devkit-v1.menu.FlashSize.2M.build.flash_size=2MB
vintlabs-devkit-v1.menu.FlashSize.2M.build.partitions=minimal
vintlabs-devkit-v1.menu.FlashSize.16M=16MB (128Mb) vintlabs-devkit-v1.menu.FlashSize.16M=16MB (128Mb)
vintlabs-devkit-v1.menu.FlashSize.16M.build.flash_size=16MB vintlabs-devkit-v1.menu.FlashSize.16M.build.flash_size=16MB
@ -29209,10 +29127,8 @@ mgbot-iotik32a.menu.FlashSize.4M=4MB (32Mb)
mgbot-iotik32a.menu.FlashSize.4M.build.flash_size=4MB mgbot-iotik32a.menu.FlashSize.4M.build.flash_size=4MB
mgbot-iotik32a.menu.FlashSize.8M=8MB (64Mb) mgbot-iotik32a.menu.FlashSize.8M=8MB (64Mb)
mgbot-iotik32a.menu.FlashSize.8M.build.flash_size=8MB mgbot-iotik32a.menu.FlashSize.8M.build.flash_size=8MB
mgbot-iotik32a.menu.FlashSize.8M.build.partitions=default_8MB
mgbot-iotik32a.menu.FlashSize.2M=2MB (16Mb) mgbot-iotik32a.menu.FlashSize.2M=2MB (16Mb)
mgbot-iotik32a.menu.FlashSize.2M.build.flash_size=2MB mgbot-iotik32a.menu.FlashSize.2M.build.flash_size=2MB
mgbot-iotik32a.menu.FlashSize.2M.build.partitions=minimal
mgbot-iotik32a.menu.FlashSize.16M=16MB (128Mb) mgbot-iotik32a.menu.FlashSize.16M=16MB (128Mb)
mgbot-iotik32a.menu.FlashSize.16M.build.flash_size=16MB mgbot-iotik32a.menu.FlashSize.16M.build.flash_size=16MB
@ -29358,10 +29274,8 @@ mgbot-iotik32b.menu.FlashSize.4M=4MB (32Mb)
mgbot-iotik32b.menu.FlashSize.4M.build.flash_size=4MB mgbot-iotik32b.menu.FlashSize.4M.build.flash_size=4MB
mgbot-iotik32b.menu.FlashSize.8M=8MB (64Mb) mgbot-iotik32b.menu.FlashSize.8M=8MB (64Mb)
mgbot-iotik32b.menu.FlashSize.8M.build.flash_size=8MB mgbot-iotik32b.menu.FlashSize.8M.build.flash_size=8MB
mgbot-iotik32b.menu.FlashSize.8M.build.partitions=default_8MB
mgbot-iotik32b.menu.FlashSize.2M=2MB (16Mb) mgbot-iotik32b.menu.FlashSize.2M=2MB (16Mb)
mgbot-iotik32b.menu.FlashSize.2M.build.flash_size=2MB mgbot-iotik32b.menu.FlashSize.2M.build.flash_size=2MB
mgbot-iotik32b.menu.FlashSize.2M.build.partitions=minimal
mgbot-iotik32b.menu.FlashSize.16M=16MB (128Mb) mgbot-iotik32b.menu.FlashSize.16M=16MB (128Mb)
mgbot-iotik32b.menu.FlashSize.16M.build.flash_size=16MB mgbot-iotik32b.menu.FlashSize.16M.build.flash_size=16MB
@ -30097,10 +30011,8 @@ wifiduino32c3.menu.FlashSize.4M=4MB (32Mb)
wifiduino32c3.menu.FlashSize.4M.build.flash_size=4MB wifiduino32c3.menu.FlashSize.4M.build.flash_size=4MB
wifiduino32c3.menu.FlashSize.8M=8MB (64Mb) wifiduino32c3.menu.FlashSize.8M=8MB (64Mb)
wifiduino32c3.menu.FlashSize.8M.build.flash_size=8MB wifiduino32c3.menu.FlashSize.8M.build.flash_size=8MB
wifiduino32c3.menu.FlashSize.8M.build.partitions=default_8MB
wifiduino32c3.menu.FlashSize.2M=2MB (16Mb) wifiduino32c3.menu.FlashSize.2M=2MB (16Mb)
wifiduino32c3.menu.FlashSize.2M.build.flash_size=2MB wifiduino32c3.menu.FlashSize.2M.build.flash_size=2MB
wifiduino32c3.menu.FlashSize.2M.build.partitions=minimal
wifiduino32c3.menu.FlashSize.16M=16MB (128Mb) wifiduino32c3.menu.FlashSize.16M=16MB (128Mb)
wifiduino32c3.menu.FlashSize.16M.build.flash_size=16MB wifiduino32c3.menu.FlashSize.16M.build.flash_size=16MB
@ -30218,7 +30130,6 @@ wifiduino32s3.menu.FlashSize.4M=4MB (32Mb)
wifiduino32s3.menu.FlashSize.4M.build.flash_size=4MB wifiduino32s3.menu.FlashSize.4M.build.flash_size=4MB
wifiduino32s3.menu.FlashSize.8M=8MB (64Mb) wifiduino32s3.menu.FlashSize.8M=8MB (64Mb)
wifiduino32s3.menu.FlashSize.8M.build.flash_size=8MB wifiduino32s3.menu.FlashSize.8M.build.flash_size=8MB
wifiduino32s3.menu.FlashSize.8M.build.partitions=default_8MB
wifiduino32s3.menu.FlashSize.16M=16MB (128Mb) wifiduino32s3.menu.FlashSize.16M=16MB (128Mb)
wifiduino32s3.menu.FlashSize.16M.build.flash_size=16MB wifiduino32s3.menu.FlashSize.16M.build.flash_size=16MB
#wifiduino32s3.menu.FlashSize.32M=32MB (256Mb) #wifiduino32s3.menu.FlashSize.32M=32MB (256Mb)
@ -31550,10 +31461,8 @@ kb32.menu.FlashSize.4M=4MB (32Mb)
kb32.menu.FlashSize.4M.build.flash_size=4MB kb32.menu.FlashSize.4M.build.flash_size=4MB
kb32.menu.FlashSize.8M=8MB (64Mb) kb32.menu.FlashSize.8M=8MB (64Mb)
kb32.menu.FlashSize.8M.build.flash_size=8MB kb32.menu.FlashSize.8M.build.flash_size=8MB
kb32.menu.FlashSize.8M.build.partitions=default_8MB
kb32.menu.FlashSize.2M=2MB (16Mb) kb32.menu.FlashSize.2M=2MB (16Mb)
kb32.menu.FlashSize.2M.build.flash_size=2MB kb32.menu.FlashSize.2M.build.flash_size=2MB
kb32.menu.FlashSize.2M.build.partitions=minimal
kb32.menu.FlashSize.16M=16MB (128Mb) kb32.menu.FlashSize.16M=16MB (128Mb)
kb32.menu.FlashSize.16M.build.flash_size=16MB kb32.menu.FlashSize.16M.build.flash_size=16MB
@ -31730,10 +31639,8 @@ deneyapkart.menu.FlashSize.4M=4MB (32Mb)
deneyapkart.menu.FlashSize.4M.build.flash_size=4MB deneyapkart.menu.FlashSize.4M.build.flash_size=4MB
deneyapkart.menu.FlashSize.8M=8MB (64Mb) deneyapkart.menu.FlashSize.8M=8MB (64Mb)
deneyapkart.menu.FlashSize.8M.build.flash_size=8MB deneyapkart.menu.FlashSize.8M.build.flash_size=8MB
deneyapkart.menu.FlashSize.8M.build.partitions=default_8MB
deneyapkart.menu.FlashSize.2M=2MB (16Mb) deneyapkart.menu.FlashSize.2M=2MB (16Mb)
deneyapkart.menu.FlashSize.2M.build.flash_size=2MB deneyapkart.menu.FlashSize.2M.build.flash_size=2MB
deneyapkart.menu.FlashSize.2M.build.partitions=minimal
deneyapkart.menu.FlashSize.16M=16MB (128Mb) deneyapkart.menu.FlashSize.16M=16MB (128Mb)
deneyapkart.menu.FlashSize.16M.build.flash_size=16MB deneyapkart.menu.FlashSize.16M.build.flash_size=16MB
@ -31910,10 +31817,8 @@ deneyapkart1A.menu.FlashSize.4M=4MB (32Mb)
deneyapkart1A.menu.FlashSize.4M.build.flash_size=4MB deneyapkart1A.menu.FlashSize.4M.build.flash_size=4MB
deneyapkart1A.menu.FlashSize.8M=8MB (64Mb) deneyapkart1A.menu.FlashSize.8M=8MB (64Mb)
deneyapkart1A.menu.FlashSize.8M.build.flash_size=8MB deneyapkart1A.menu.FlashSize.8M.build.flash_size=8MB
deneyapkart1A.menu.FlashSize.8M.build.partitions=default_8MB
deneyapkart1A.menu.FlashSize.2M=2MB (16Mb) deneyapkart1A.menu.FlashSize.2M=2MB (16Mb)
deneyapkart1A.menu.FlashSize.2M.build.flash_size=2MB deneyapkart1A.menu.FlashSize.2M.build.flash_size=2MB
deneyapkart1A.menu.FlashSize.2M.build.partitions=minimal
deneyapkart1A.menu.FlashSize.16M=16MB (128Mb) deneyapkart1A.menu.FlashSize.16M=16MB (128Mb)
deneyapkart1A.menu.FlashSize.16M.build.flash_size=16MB deneyapkart1A.menu.FlashSize.16M.build.flash_size=16MB
@ -32057,7 +31962,6 @@ deneyapkart1Av2.menu.FlashSize.4M=4MB (32Mb)
deneyapkart1Av2.menu.FlashSize.4M.build.flash_size=4MB deneyapkart1Av2.menu.FlashSize.4M.build.flash_size=4MB
deneyapkart1Av2.menu.FlashSize.8M=8MB (64Mb) deneyapkart1Av2.menu.FlashSize.8M=8MB (64Mb)
deneyapkart1Av2.menu.FlashSize.8M.build.flash_size=8MB deneyapkart1Av2.menu.FlashSize.8M.build.flash_size=8MB
deneyapkart1Av2.menu.FlashSize.8M.build.partitions=default_8MB
deneyapkart1Av2.menu.FlashSize.16M=16MB (128Mb) deneyapkart1Av2.menu.FlashSize.16M=16MB (128Mb)
deneyapkart1Av2.menu.FlashSize.16M.build.flash_size=16MB deneyapkart1Av2.menu.FlashSize.16M.build.flash_size=16MB
#deneyapkart1Av2.menu.FlashSize.32M=32MB (256Mb) #deneyapkart1Av2.menu.FlashSize.32M=32MB (256Mb)
@ -32341,10 +32245,8 @@ deneyapmini.menu.FlashSize.4M=4MB (32Mb)
deneyapmini.menu.FlashSize.4M.build.flash_size=4MB deneyapmini.menu.FlashSize.4M.build.flash_size=4MB
deneyapmini.menu.FlashSize.8M=8MB (64Mb) deneyapmini.menu.FlashSize.8M=8MB (64Mb)
deneyapmini.menu.FlashSize.8M.build.flash_size=8MB deneyapmini.menu.FlashSize.8M.build.flash_size=8MB
deneyapmini.menu.FlashSize.8M.build.partitions=default_8MB
deneyapmini.menu.FlashSize.2M=2MB (16Mb) deneyapmini.menu.FlashSize.2M=2MB (16Mb)
deneyapmini.menu.FlashSize.2M.build.flash_size=2MB deneyapmini.menu.FlashSize.2M.build.flash_size=2MB
deneyapmini.menu.FlashSize.2M.build.partitions=minimal
deneyapmini.menu.FlashSize.16M=16MB (128Mb) deneyapmini.menu.FlashSize.16M=16MB (128Mb)
deneyapmini.menu.FlashSize.16M.build.flash_size=16MB deneyapmini.menu.FlashSize.16M.build.flash_size=16MB
@ -32533,10 +32435,8 @@ deneyapminiv2.menu.FlashSize.4M=4MB (32Mb)
deneyapminiv2.menu.FlashSize.4M.build.flash_size=4MB deneyapminiv2.menu.FlashSize.4M.build.flash_size=4MB
deneyapminiv2.menu.FlashSize.8M=8MB (64Mb) deneyapminiv2.menu.FlashSize.8M=8MB (64Mb)
deneyapminiv2.menu.FlashSize.8M.build.flash_size=8MB deneyapminiv2.menu.FlashSize.8M.build.flash_size=8MB
deneyapminiv2.menu.FlashSize.8M.build.partitions=default_8MB
deneyapminiv2.menu.FlashSize.2M=2MB (16Mb) deneyapminiv2.menu.FlashSize.2M=2MB (16Mb)
deneyapminiv2.menu.FlashSize.2M.build.flash_size=2MB deneyapminiv2.menu.FlashSize.2M.build.flash_size=2MB
deneyapminiv2.menu.FlashSize.2M.build.partitions=minimal
deneyapminiv2.menu.FlashSize.16M=16MB (128Mb) deneyapminiv2.menu.FlashSize.16M=16MB (128Mb)
deneyapminiv2.menu.FlashSize.16M.build.flash_size=16MB deneyapminiv2.menu.FlashSize.16M.build.flash_size=16MB
@ -32702,10 +32602,8 @@ deneyapkartg.menu.FlashSize.4M=4MB (32Mb)
deneyapkartg.menu.FlashSize.4M.build.flash_size=4MB deneyapkartg.menu.FlashSize.4M.build.flash_size=4MB
deneyapkartg.menu.FlashSize.8M=8MB (64Mb) deneyapkartg.menu.FlashSize.8M=8MB (64Mb)
deneyapkartg.menu.FlashSize.8M.build.flash_size=8MB deneyapkartg.menu.FlashSize.8M.build.flash_size=8MB
deneyapkartg.menu.FlashSize.8M.build.partitions=default_8MB
deneyapkartg.menu.FlashSize.2M=2MB (16Mb) deneyapkartg.menu.FlashSize.2M=2MB (16Mb)
deneyapkartg.menu.FlashSize.2M.build.flash_size=2MB deneyapkartg.menu.FlashSize.2M.build.flash_size=2MB
deneyapkartg.menu.FlashSize.2M.build.partitions=minimal
deneyapkartg.menu.FlashSize.16M=16MB (128Mb) deneyapkartg.menu.FlashSize.16M=16MB (128Mb)
deneyapkartg.menu.FlashSize.16M.build.flash_size=16MB deneyapkartg.menu.FlashSize.16M.build.flash_size=16MB
@ -33009,10 +32907,8 @@ atmegazero_esp32s2.menu.FlashSize.4M=4MB (32Mb)
atmegazero_esp32s2.menu.FlashSize.4M.build.flash_size=4MB atmegazero_esp32s2.menu.FlashSize.4M.build.flash_size=4MB
atmegazero_esp32s2.menu.FlashSize.8M=8MB (64Mb) atmegazero_esp32s2.menu.FlashSize.8M=8MB (64Mb)
atmegazero_esp32s2.menu.FlashSize.8M.build.flash_size=8MB atmegazero_esp32s2.menu.FlashSize.8M.build.flash_size=8MB
atmegazero_esp32s2.menu.FlashSize.8M.build.partitions=default_8MB
atmegazero_esp32s2.menu.FlashSize.2M=2MB (16Mb) atmegazero_esp32s2.menu.FlashSize.2M=2MB (16Mb)
atmegazero_esp32s2.menu.FlashSize.2M.build.flash_size=2MB atmegazero_esp32s2.menu.FlashSize.2M.build.flash_size=2MB
atmegazero_esp32s2.menu.FlashSize.2M.build.partitions=minimal
atmegazero_esp32s2.menu.FlashSize.16M=16MB (128Mb) atmegazero_esp32s2.menu.FlashSize.16M=16MB (128Mb)
atmegazero_esp32s2.menu.FlashSize.16M.build.flash_size=16MB atmegazero_esp32s2.menu.FlashSize.16M.build.flash_size=16MB
@ -33101,7 +32997,6 @@ franzininho_wifi_esp32s2.menu.FlashSize.4M=4MB (32Mb)
franzininho_wifi_esp32s2.menu.FlashSize.4M.build.flash_size=4MB franzininho_wifi_esp32s2.menu.FlashSize.4M.build.flash_size=4MB
franzininho_wifi_esp32s2.menu.FlashSize.8M=8MB (64Mb) franzininho_wifi_esp32s2.menu.FlashSize.8M=8MB (64Mb)
franzininho_wifi_esp32s2.menu.FlashSize.8M.build.flash_size=8MB franzininho_wifi_esp32s2.menu.FlashSize.8M.build.flash_size=8MB
franzininho_wifi_esp32s2.menu.FlashSize.8M.build.partitions=default_8MB
franzininho_wifi_esp32s2.menu.FlashSize.16M=16MB (128Mb) franzininho_wifi_esp32s2.menu.FlashSize.16M=16MB (128Mb)
franzininho_wifi_esp32s2.menu.FlashSize.16M.build.flash_size=16MB franzininho_wifi_esp32s2.menu.FlashSize.16M.build.flash_size=16MB
@ -33209,7 +33104,6 @@ franzininho_wifi_msc_esp32s2.menu.FlashSize.4M=4MB (32Mb)
franzininho_wifi_msc_esp32s2.menu.FlashSize.4M.build.flash_size=4MB franzininho_wifi_msc_esp32s2.menu.FlashSize.4M.build.flash_size=4MB
franzininho_wifi_msc_esp32s2.menu.FlashSize.8M=8MB (64Mb) franzininho_wifi_msc_esp32s2.menu.FlashSize.8M=8MB (64Mb)
franzininho_wifi_msc_esp32s2.menu.FlashSize.8M.build.flash_size=8MB franzininho_wifi_msc_esp32s2.menu.FlashSize.8M.build.flash_size=8MB
franzininho_wifi_msc_esp32s2.menu.FlashSize.8M.build.partitions=default_8MB
franzininho_wifi_msc_esp32s2.menu.FlashSize.16M=16MB (128Mb) franzininho_wifi_msc_esp32s2.menu.FlashSize.16M=16MB (128Mb)
franzininho_wifi_msc_esp32s2.menu.FlashSize.16M.build.flash_size=16MB franzininho_wifi_msc_esp32s2.menu.FlashSize.16M.build.flash_size=16MB
@ -33346,7 +33240,6 @@ tamc_termod_s3.menu.FlashSize.4M=4MB (32Mb)
tamc_termod_s3.menu.FlashSize.4M.build.flash_size=4MB tamc_termod_s3.menu.FlashSize.4M.build.flash_size=4MB
tamc_termod_s3.menu.FlashSize.8M=8MB (64Mb) tamc_termod_s3.menu.FlashSize.8M=8MB (64Mb)
tamc_termod_s3.menu.FlashSize.8M.build.flash_size=8MB tamc_termod_s3.menu.FlashSize.8M.build.flash_size=8MB
tamc_termod_s3.menu.FlashSize.8M.build.partitions=default_8MB
tamc_termod_s3.menu.FlashSize.16M=16MB (128Mb) tamc_termod_s3.menu.FlashSize.16M=16MB (128Mb)
tamc_termod_s3.menu.FlashSize.16M.build.flash_size=16MB tamc_termod_s3.menu.FlashSize.16M.build.flash_size=16MB
@ -33808,7 +33701,6 @@ lionbit.menu.FlashFreq.40.build.flash_freq=40m
lionbit.menu.FlashSize.4M=4MB (32Mb) lionbit.menu.FlashSize.4M=4MB (32Mb)
lionbit.menu.FlashSize.4M.build.flash_size=4MB lionbit.menu.FlashSize.4M.build.flash_size=4MB
lionbit.menu.FlashSize.4M.build.partitions=default
@ -34156,10 +34048,8 @@ XIAO_ESP32C3.menu.FlashSize.4M=4MB (32Mb)
XIAO_ESP32C3.menu.FlashSize.4M.build.flash_size=4MB XIAO_ESP32C3.menu.FlashSize.4M.build.flash_size=4MB
XIAO_ESP32C3.menu.FlashSize.8M=8MB (64Mb) XIAO_ESP32C3.menu.FlashSize.8M=8MB (64Mb)
XIAO_ESP32C3.menu.FlashSize.8M.build.flash_size=8MB XIAO_ESP32C3.menu.FlashSize.8M.build.flash_size=8MB
XIAO_ESP32C3.menu.FlashSize.8M.build.partitions=default_8MB
XIAO_ESP32C3.menu.FlashSize.2M=2MB (16Mb) XIAO_ESP32C3.menu.FlashSize.2M=2MB (16Mb)
XIAO_ESP32C3.menu.FlashSize.2M.build.flash_size=2MB XIAO_ESP32C3.menu.FlashSize.2M.build.flash_size=2MB
XIAO_ESP32C3.menu.FlashSize.2M.build.partitions=minimal
XIAO_ESP32C3.menu.FlashSize.16M=16MB (128Mb) XIAO_ESP32C3.menu.FlashSize.16M=16MB (128Mb)
XIAO_ESP32C3.menu.FlashSize.16M.build.flash_size=16MB XIAO_ESP32C3.menu.FlashSize.16M.build.flash_size=16MB
@ -34432,7 +34322,6 @@ XIAO_ESP32S3.menu.FlashMode.dio.build.flash_freq=80m
XIAO_ESP32S3.menu.FlashSize.8M=8MB (64Mb) XIAO_ESP32S3.menu.FlashSize.8M=8MB (64Mb)
XIAO_ESP32S3.menu.FlashSize.8M.build.flash_size=8MB XIAO_ESP32S3.menu.FlashSize.8M.build.flash_size=8MB
XIAO_ESP32S3.menu.FlashSize.8M.build.partitions=default_8MB
XIAO_ESP32S3.menu.LoopCore.1=Core 1 XIAO_ESP32S3.menu.LoopCore.1=Core 1
XIAO_ESP32S3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1 XIAO_ESP32S3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
@ -34855,10 +34744,8 @@ department_of_alchemy_minimain_esp32s2.menu.FlashSize.4M=4MB (32Mb)
department_of_alchemy_minimain_esp32s2.menu.FlashSize.4M.build.flash_size=4MB department_of_alchemy_minimain_esp32s2.menu.FlashSize.4M.build.flash_size=4MB
department_of_alchemy_minimain_esp32s2.menu.FlashSize.8M=8MB (64Mb) department_of_alchemy_minimain_esp32s2.menu.FlashSize.8M=8MB (64Mb)
department_of_alchemy_minimain_esp32s2.menu.FlashSize.8M.build.flash_size=8MB department_of_alchemy_minimain_esp32s2.menu.FlashSize.8M.build.flash_size=8MB
department_of_alchemy_minimain_esp32s2.menu.FlashSize.8M.build.partitions=default_8MB
department_of_alchemy_minimain_esp32s2.menu.FlashSize.2M=2MB (16Mb) department_of_alchemy_minimain_esp32s2.menu.FlashSize.2M=2MB (16Mb)
department_of_alchemy_minimain_esp32s2.menu.FlashSize.2M.build.flash_size=2MB department_of_alchemy_minimain_esp32s2.menu.FlashSize.2M.build.flash_size=2MB
department_of_alchemy_minimain_esp32s2.menu.FlashSize.2M.build.partitions=minimal
department_of_alchemy_minimain_esp32s2.menu.FlashSize.16M=16MB (128Mb) department_of_alchemy_minimain_esp32s2.menu.FlashSize.16M=16MB (128Mb)
department_of_alchemy_minimain_esp32s2.menu.FlashSize.16M.build.flash_size=16MB department_of_alchemy_minimain_esp32s2.menu.FlashSize.16M.build.flash_size=16MB
@ -36599,10 +36486,8 @@ VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.4M=4MB (32Mb)
VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.4M.build.flash_size=4MB VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.4M.build.flash_size=4MB
VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.8M=8MB (64Mb) VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.8M=8MB (64Mb)
VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.8M.build.flash_size=8MB VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.8M.build.flash_size=8MB
VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.8M.build.partitions=default_8MB
VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.2M=2MB (16Mb) VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.2M=2MB (16Mb)
VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.2M.build.flash_size=2MB VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.2M.build.flash_size=2MB
VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.2M.build.partitions=minimal
VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.16M=16MB (128Mb) VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.16M=16MB (128Mb)
VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.16M.build.flash_size=16MB VALTRACK_V4_VTS_ESP32_C3.menu.FlashSize.16M.build.flash_size=16MB
@ -36752,10 +36637,8 @@ VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.4M=4MB (32Mb)
VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.4M.build.flash_size=4MB VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.4M.build.flash_size=4MB
VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.8M=8MB (64Mb) VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.8M=8MB (64Mb)
VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.8M.build.flash_size=8MB VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.8M.build.flash_size=8MB
VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.8M.build.partitions=default_8MB
VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.2M=2MB (16Mb) VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.2M=2MB (16Mb)
VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.2M.build.flash_size=2MB VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.2M.build.flash_size=2MB
VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.2M.build.partitions=minimal
VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.16M=16MB (128Mb) VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.16M=16MB (128Mb)
VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.16M.build.flash_size=16MB VALTRACK_V4_MFW_ESP32_C3.menu.FlashSize.16M.build.flash_size=16MB
@ -36873,7 +36756,6 @@ Edgebox-ESP-100.menu.FlashSize.4M=4MB (32Mb)
Edgebox-ESP-100.menu.FlashSize.4M.build.flash_size=4MB Edgebox-ESP-100.menu.FlashSize.4M.build.flash_size=4MB
Edgebox-ESP-100.menu.FlashSize.8M=8MB (64Mb) Edgebox-ESP-100.menu.FlashSize.8M=8MB (64Mb)
Edgebox-ESP-100.menu.FlashSize.8M.build.flash_size=8MB Edgebox-ESP-100.menu.FlashSize.8M.build.flash_size=8MB
Edgebox-ESP-100.menu.FlashSize.8M.build.partitions=default_8MB
Edgebox-ESP-100.menu.FlashSize.16M=16MB (128Mb) Edgebox-ESP-100.menu.FlashSize.16M=16MB (128Mb)
Edgebox-ESP-100.menu.FlashSize.16M.build.flash_size=16MB Edgebox-ESP-100.menu.FlashSize.16M.build.flash_size=16MB
#Edgebox-ESP-100.menu.FlashSize.32M=32MB (256Mb) #Edgebox-ESP-100.menu.FlashSize.32M=32MB (256Mb)
@ -37246,7 +37128,6 @@ nebulas3.menu.FlashSize.4M=4MB (32Mb)
nebulas3.menu.FlashSize.4M.build.flash_size=4MB nebulas3.menu.FlashSize.4M.build.flash_size=4MB
nebulas3.menu.FlashSize.8M=8MB (64Mb) nebulas3.menu.FlashSize.8M=8MB (64Mb)
nebulas3.menu.FlashSize.8M.build.flash_size=8MB nebulas3.menu.FlashSize.8M.build.flash_size=8MB
nebulas3.menu.FlashSize.8M.build.partitions=default_8MB
nebulas3.menu.FlashSize.16M=16MB (128Mb) nebulas3.menu.FlashSize.16M=16MB (128Mb)
nebulas3.menu.FlashSize.16M.build.flash_size=16MB nebulas3.menu.FlashSize.16M.build.flash_size=16MB
@ -37471,7 +37352,6 @@ lionbits3.menu.FlashSize.4M=4MB (32Mb)
lionbits3.menu.FlashSize.4M.build.flash_size=4MB lionbits3.menu.FlashSize.4M.build.flash_size=4MB
lionbits3.menu.FlashSize.8M=8MB (64Mb) lionbits3.menu.FlashSize.8M=8MB (64Mb)
lionbits3.menu.FlashSize.8M.build.flash_size=8MB lionbits3.menu.FlashSize.8M.build.flash_size=8MB
lionbits3.menu.FlashSize.8M.build.partitions=default_8MB
lionbits3.menu.FlashSize.16M=16MB (128Mb) lionbits3.menu.FlashSize.16M=16MB (128Mb)
lionbits3.menu.FlashSize.16M.build.flash_size=16MB lionbits3.menu.FlashSize.16M.build.flash_size=16MB
#lionbits3.menu.FlashSize.32M=32MB (256Mb) #lionbits3.menu.FlashSize.32M=32MB (256Mb)
@ -39500,7 +39380,6 @@ epulse_feather_c6.menu.FlashSize.4M=4MB (32Mb)
epulse_feather_c6.menu.FlashSize.4M.build.flash_size=4MB epulse_feather_c6.menu.FlashSize.4M.build.flash_size=4MB
epulse_feather_c6.menu.FlashSize.2M=2MB (16Mb) epulse_feather_c6.menu.FlashSize.2M=2MB (16Mb)
epulse_feather_c6.menu.FlashSize.2M.build.flash_size=2MB epulse_feather_c6.menu.FlashSize.2M.build.flash_size=2MB
epulse_feather_c6.menu.FlashSize.2M.build.partitions=minimal
epulse_feather_c6.menu.UploadSpeed.921600=921600 epulse_feather_c6.menu.UploadSpeed.921600=921600
epulse_feather_c6.menu.UploadSpeed.921600.upload.speed=921600 epulse_feather_c6.menu.UploadSpeed.921600.upload.speed=921600
@ -39643,7 +39522,6 @@ Geekble_ESP32C3.menu.FlashSize.4M=4MB (Default)
Geekble_ESP32C3.menu.FlashSize.4M.build.flash_size=4MB Geekble_ESP32C3.menu.FlashSize.4M.build.flash_size=4MB
Geekble_ESP32C3.menu.FlashSize.2M=2MB Geekble_ESP32C3.menu.FlashSize.2M=2MB
Geekble_ESP32C3.menu.FlashSize.2M.build.flash_size=2MB Geekble_ESP32C3.menu.FlashSize.2M.build.flash_size=2MB
Geekble_ESP32C3.menu.FlashSize.2M.build.partitions=minimal
Geekble_ESP32C3.menu.UploadSpeed.921600=921600 (Default) Geekble_ESP32C3.menu.UploadSpeed.921600=921600 (Default)
Geekble_ESP32C3.menu.UploadSpeed.921600.upload.speed=921600 Geekble_ESP32C3.menu.UploadSpeed.921600.upload.speed=921600

View file

@ -166,8 +166,48 @@ And in the ``README.md`` file:
Currently, this example requires Wi-Fi and supports the following targets. Currently, this example requires Wi-Fi and supports the following targets.
| Supported Targets | ESP32 | ESP32-H2 | ESP32-S3 | ESP32-C3 | ESP32-C6 | | Supported Targets | ESP32 | ESP32-S3 | ESP32-C3 | ESP32-C6 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | | ----------------- | ----- | -------- | -------- | -------- |
By default, the CI system will use the FQBNs specified in the ``.github/scripts/sketch_utils.sh`` file to compile the sketches.
Currently, the default FQBNs are:
* ``espressif:esp32:esp32:PSRAM=enabled,FlashMode=dio``
* ``espressif:esp32:esp32s2:PSRAM=enabled,FlashMode=dio``
* ``espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,FlashMode=dio``
* ``espressif:esp32:esp32c3:FlashMode=dio``
* ``espressif:esp32:esp32c6:FlashMode=dio``
* ``espressif:esp32:esp32h2:FlashMode=dio``
* ``espressif:esp32:esp32p4:FlashMode=dio,USBMode=default``
There are two ways to alter the FQBNs used to compile the sketches: by using the ``fqbn`` or ``fqbn_append`` fields in the ``ci.json`` file.
If you just want to append a string to the default FQBNs, you can use the ``fqbn_append`` field. For example, to add the ``DebugLevel=debug`` to the FQBNs, you would use:
.. code-block:: json
{
"fqbn_append": "DebugLevel=debug"
}
If you want to override the default FQBNs, you can use the ``fqbn`` field. It is a dictionary where the key is the target name and the value is a list of FQBNs.
The FQBNs in the list will be used in sequence to compile the sketch. For example, to compile a sketch for ESP32-S2 with and without PSRAM enabled, you would use:
.. code-block:: json
{
"fqbn": {
"esp32s2": [
"espressif:esp32:esp32s2:PSRAM=enabled,FlashMode=dio",
"espressif:esp32:esp32s2:PSRAM=disabled,FlashMode=dio"
]
}
}
.. note::
The FQBNs specified in the ``fqbn`` field will also override the options specified in the ``fqbn_append`` field.
That means that if the ``fqbn`` field is specified, the ``fqbn_append`` field will be ignored and will have no effect.
Example Template Example Template
**************** ****************
@ -376,9 +416,10 @@ The ``ci.json`` file is used to specify how the test suite and sketches will han
* ``platforms``: A dictionary that specifies the supported platforms. The key is the platform name and the value is a boolean that specifies if * ``platforms``: A dictionary that specifies the supported platforms. The key is the platform name and the value is a boolean that specifies if
the platform is supported. By default, all platforms are assumed to be supported. the platform is supported. By default, all platforms are assumed to be supported.
* ``extra_tags``: A list of extra tags that the runner will require when running the test suite in hardware. By default, no extra tags are required. * ``extra_tags``: A list of extra tags that the runner will require when running the test suite in hardware. By default, no extra tags are required.
* ``fqbn_append``: A string to be appended to the default FQBNs. By default, no string is appended. This has no effect if ``fqbn`` is specified.
* ``fqbn``: A dictionary that specifies the FQBNs that will be used to compile the sketch. The key is the target name and the value is a list * ``fqbn``: A dictionary that specifies the FQBNs that will be used to compile the sketch. The key is the target name and the value is a list
of FQBNs. The `default FQBNs <https://github.com/espressif/arduino-esp32/blob/a31a5fca1739993173caba995f7785b8eed6b30e/.github/scripts/sketch_utils.sh#L86-L91>`_ of FQBNs. The `default FQBNs <https://github.com/espressif/arduino-esp32/blob/a31a5fca1739993173caba995f7785b8eed6b30e/.github/scripts/sketch_utils.sh#L86-L91>`_
are used if this field is not specified. are used if this field is not specified. This overrides the default FQBNs and the ``fqbn_append`` field.
The ``wifi`` test suite is a good example of how to use the ``ci.json`` file: The ``wifi`` test suite is a good example of how to use the ``ci.json`` file:

View file

@ -19,7 +19,7 @@ Below are the details of the class:
```cpp ```cpp
class OpenThreadCLI : public Stream { class OpenThreadCLI : public Stream {
private: private:
static size_t setBuffer(xQueueHandle &queue, size_t len); static size_t setBuffer(QueueHandle_t &queue, size_t len);
bool otStarted = false; bool otStarted = false;
public: public:

View file

@ -21,8 +21,8 @@
static TaskHandle_t s_cli_task = NULL; static TaskHandle_t s_cli_task = NULL;
static TaskHandle_t s_console_cli_task = NULL; static TaskHandle_t s_console_cli_task = NULL;
static xQueueHandle rx_queue = NULL; static QueueHandle_t rx_queue = NULL;
static xQueueHandle tx_queue = NULL; static QueueHandle_t tx_queue = NULL;
static esp_openthread_platform_config_t ot_native_config; static esp_openthread_platform_config_t ot_native_config;
static TaskHandle_t s_ot_task = NULL; static TaskHandle_t s_ot_task = NULL;
@ -389,7 +389,7 @@ size_t OpenThreadCLI::write(uint8_t c) {
return 1; return 1;
} }
size_t OpenThreadCLI::setBuffer(xQueueHandle &queue, size_t queue_len) { size_t OpenThreadCLI::setBuffer(QueueHandle_t &queue, size_t queue_len) {
if (queue) { if (queue) {
vQueueDelete(queue); vQueueDelete(queue);
queue = NULL; queue = NULL;

View file

@ -22,7 +22,7 @@ typedef std::function<void(void)> OnReceiveCb_t;
class OpenThreadCLI : public Stream { class OpenThreadCLI : public Stream {
private: private:
static size_t setBuffer(xQueueHandle &queue, size_t len); static size_t setBuffer(QueueHandle_t &queue, size_t len);
bool otStarted = false; bool otStarted = false;
public: public:

View file

@ -1,6 +1,7 @@
{ {
"fqbn_append": "PartitionScheme=rainmaker_4MB",
"requires": [ "requires": [
"CONFIG_SOC_WIFI_SUPPORTED=y", "CONFIG_SOC_WIFI_SUPPORTED=y",
"CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK" "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=[1-9][0-9]*"
] ]
} }

View file

@ -1,6 +1,7 @@
{ {
"fqbn_append": "PartitionScheme=rainmaker_4MB",
"requires": [ "requires": [
"CONFIG_SOC_WIFI_SUPPORTED=y", "CONFIG_SOC_WIFI_SUPPORTED=y",
"CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK" "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=[1-9][0-9]*"
] ]
} }

View file

@ -1,6 +1,7 @@
{ {
"fqbn_append": "PartitionScheme=rainmaker_4MB",
"requires": [ "requires": [
"CONFIG_SOC_WIFI_SUPPORTED=y", "CONFIG_SOC_WIFI_SUPPORTED=y",
"CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK" "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=[1-9][0-9]*"
] ]
} }

View file

@ -1,6 +1,7 @@
{ {
"fqbn_append": "PartitionScheme=rainmaker_4MB",
"requires": [ "requires": [
"CONFIG_SOC_WIFI_SUPPORTED=y", "CONFIG_SOC_WIFI_SUPPORTED=y",
"CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK" "CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK=[1-9][0-9]*"
] ]
} }

View file

@ -1,4 +1,5 @@
{ {
"fqbn_append": "PartitionScheme=huge_app",
"requires": [ "requires": [
"CONFIG_SOC_WIFI_SUPPORTED=y" "CONFIG_SOC_WIFI_SUPPORTED=y"
] ]

View file

@ -646,6 +646,8 @@ void TwoWire::onRequestService(uint8_t num, void *arg) {
#endif /* SOC_I2C_SUPPORT_SLAVE */ #endif /* SOC_I2C_SUPPORT_SLAVE */
TwoWire Wire = TwoWire(0); TwoWire Wire = TwoWire(0);
#if SOC_I2C_NUM > 1
TwoWire Wire1 = TwoWire(1); TwoWire Wire1 = TwoWire(1);
#endif /* SOC_I2C_NUM */
#endif /* SOC_I2C_SUPPORTED */ #endif /* SOC_I2C_SUPPORTED */

View file

@ -144,7 +144,9 @@ public:
}; };
extern TwoWire Wire; extern TwoWire Wire;
#if SOC_I2C_NUM > 1
extern TwoWire Wire1; extern TwoWire Wire1;
#endif /* SOC_I2C_NUM */
#endif /* SOC_I2C_SUPPORTED */ #endif /* SOC_I2C_SUPPORTED */
#endif /* TwoWire_h */ #endif /* TwoWire_h */

View file

@ -1,12 +1,5 @@
{ {
"fqbn": { "fqbn_append": "PartitionScheme=zigbee,ZigbeeMode=ed",
"esp32c6": [
"espressif:esp32:esp32c6:PartitionScheme=zigbee,ZigbeeMode=ed"
],
"esp32h2": [
"espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed"
]
},
"requires": [ "requires": [
"CONFIG_SOC_IEEE802154_SUPPORTED=y" "CONFIG_SOC_IEEE802154_SUPPORTED=y"
] ]

View file

@ -1,12 +1,5 @@
{ {
"fqbn": { "fqbn_append": "PartitionScheme=zigbee_zczr,ZigbeeMode=zczr",
"esp32c6": [
"espressif:esp32:esp32c6:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr"
],
"esp32h2": [
"espressif:esp32:esp32h2:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr"
]
},
"requires": [ "requires": [
"CONFIG_SOC_IEEE802154_SUPPORTED=y" "CONFIG_SOC_IEEE802154_SUPPORTED=y"
] ]

View file

@ -1,12 +1,5 @@
{ {
"fqbn": { "fqbn_append": "PartitionScheme=zigbee,ZigbeeMode=ed",
"esp32c6": [
"espressif:esp32:esp32c6:PartitionScheme=zigbee,ZigbeeMode=ed"
],
"esp32h2": [
"espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed"
]
},
"requires": [ "requires": [
"CONFIG_SOC_IEEE802154_SUPPORTED=y" "CONFIG_SOC_IEEE802154_SUPPORTED=y"
] ]

View file

@ -1,12 +1,5 @@
{ {
"fqbn": { "fqbn_append": "PartitionScheme=zigbee_zczr,ZigbeeMode=zczr",
"esp32c6": [
"espressif:esp32:esp32c6:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr"
],
"esp32h2": [
"espressif:esp32:esp32h2:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr"
]
},
"requires": [ "requires": [
"CONFIG_SOC_IEEE802154_SUPPORTED=y" "CONFIG_SOC_IEEE802154_SUPPORTED=y"
] ]

View file

@ -1,12 +1,5 @@
{ {
"fqbn": { "fqbn_append": "PartitionScheme=zigbee,ZigbeeMode=ed",
"esp32c6": [
"espressif:esp32:esp32c6:PartitionScheme=zigbee,ZigbeeMode=ed"
],
"esp32h2": [
"espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed"
]
},
"requires": [ "requires": [
"CONFIG_SOC_IEEE802154_SUPPORTED=y" "CONFIG_SOC_IEEE802154_SUPPORTED=y"
] ]

View file

@ -1,12 +1,5 @@
{ {
"fqbn": { "fqbn_append": "PartitionScheme=zigbee,ZigbeeMode=ed",
"esp32c6": [
"espressif:esp32:esp32c6:PartitionScheme=zigbee,ZigbeeMode=ed"
],
"esp32h2": [
"espressif:esp32:esp32h2:PartitionScheme=zigbee,ZigbeeMode=ed"
]
},
"requires": [ "requires": [
"CONFIG_SOC_IEEE802154_SUPPORTED=y" "CONFIG_SOC_IEEE802154_SUPPORTED=y"
] ]

View file

@ -1,12 +1,5 @@
{ {
"fqbn": { "fqbn_append": "PartitionScheme=zigbee_zczr,ZigbeeMode=zczr",
"esp32c6": [
"espressif:esp32:esp32c6:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr"
],
"esp32h2": [
"espressif:esp32:esp32h2:PartitionScheme=zigbee_zczr,ZigbeeMode=zczr"
]
},
"requires": [ "requires": [
"CONFIG_SOC_IEEE802154_SUPPORTED=y" "CONFIG_SOC_IEEE802154_SUPPORTED=y"
] ]

View file

@ -141,6 +141,10 @@ recipe.hooks.prebuild.7.pattern.windows=cmd /c type nul > "{file_opts.path}"
recipe.hooks.core.prebuild.1.pattern.windows=cmd /c echo "-DARDUINO_CORE_BUILD" > "{file_opts.path}" recipe.hooks.core.prebuild.1.pattern.windows=cmd /c echo "-DARDUINO_CORE_BUILD" > "{file_opts.path}"
recipe.hooks.core.postbuild.1.pattern.windows=cmd /c type nul > "{file_opts.path}" recipe.hooks.core.postbuild.1.pattern.windows=cmd /c type nul > "{file_opts.path}"
# Copy sdkconfig to build folder
recipe.hooks.prebuild.8.pattern=/usr/bin/env bash -c "cp -f "{runtime.platform.path}"/tools/esp32-arduino-libs/{build.mcu}/sdkconfig "{build.path}"/sdkconfig"
recipe.hooks.prebuild.8.pattern.windows=cmd /c COPY /y "{runtime.platform.path}\tools\esp32-arduino-libs\{build.mcu}\sdkconfig" "{build.path}\sdkconfig"
## Compile c files ## Compile c files
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.extra_flags} {compiler.c.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" -DARDUINO_VARIANT="{build.variant}" -DARDUINO_PARTITION_{build.partitions} {build.extra_flags} {compiler.cpreprocessor.flags} {includes} "@{build.opt.path}" "@{file_opts.path}" "{source_file}" -o "{object_file}" recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.extra_flags} {compiler.c.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" -DARDUINO_VARIANT="{build.variant}" -DARDUINO_PARTITION_{build.partitions} {build.extra_flags} {compiler.cpreprocessor.flags} {includes} "@{build.opt.path}" "@{file_opts.path}" "{source_file}" -o "{object_file}"

View file

@ -0,0 +1,6 @@
{
"platforms": {
"qemu": false,
"wokwi": false
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,61 @@
import json
import logging
import os
def test_linpack_double(dut, request):
LOGGER = logging.getLogger(__name__)
# Match "Runs: %d"
res = dut.expect(r"Runs: (\d+)", timeout=60)
runs = int(res.group(0).decode("utf-8").split(" ")[1])
LOGGER.info("Number of runs: {}".format(runs))
assert runs > 0, "Invalid number of runs"
# Match "Type: %s"
res = dut.expect(r"Type: (\w+)", timeout=60)
data_type = res.group(0).decode("utf-8").split(" ")[1]
LOGGER.info("Data type: {}".format(data_type))
assert data_type == "double", "Invalid data type"
# Match "Runs completed: %d"
res = dut.expect(r"Runs completed: (\d+)", timeout=120)
runs_completed = int(res.group(0).decode("utf-8").split(" ")[2])
LOGGER.info("Runs completed: {}".format(runs_completed))
assert runs_completed == runs, "Invalid number of runs completed"
# Match "Average MFLOPS: %f"
res = dut.expect(r"Average MFLOPS: (\d+\.\d+)", timeout=120)
avg_score = float(res.group(0).decode("utf-8").split(" ")[2])
LOGGER.info("Average MFLOPS: {}".format(avg_score))
assert avg_score > 0, "Invalid average MFLOPS"
# Match "Min MFLOPS: %f"
res = dut.expect(r"Min MFLOPS: (\d+\.\d+)", timeout=120)
min_score = float(res.group(0).decode("utf-8").split(" ")[2])
LOGGER.info("Min MFLOPS: {}".format(min_score))
assert min_score > 0 and min_score < 1000000000.0, "Invalid min MFLOPS"
# Match "Max MFLOPS: %f"
res = dut.expect(r"Max MFLOPS: (\d+\.\d+)", timeout=120)
max_score = float(res.group(0).decode("utf-8").split(" ")[2])
LOGGER.info("Max MFLOPS: {}".format(max_score))
assert max_score > 0, "Invalid max MFLOPS"
# Create JSON with results and write it to file
# Always create a JSON with this format (so it can be merged later on):
# { TEST_NAME_STR: TEST_RESULTS_DICT }
results = {"linpack_double": {"runs": runs, "avg_score": avg_score, "min_score": min_score, "max_score": max_score}}
current_folder = os.path.dirname(request.path)
file_index = 0
report_file = os.path.join(current_folder, "result_linpack_double" + str(file_index) + ".json")
while os.path.exists(report_file):
report_file = report_file.replace(str(file_index) + ".json", str(file_index + 1) + ".json")
file_index += 1
with open(report_file, "w") as f:
try:
f.write(json.dumps(results))
except Exception as e:
LOGGER.warning("Failed to write results to file: {}".format(e))

View file

@ -0,0 +1,6 @@
{
"platforms": {
"qemu": false,
"wokwi": false
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,61 @@
import json
import logging
import os
def test_linpack_float(dut, request):
LOGGER = logging.getLogger(__name__)
# Match "Runs: %d"
res = dut.expect(r"Runs: (\d+)", timeout=60)
runs = int(res.group(0).decode("utf-8").split(" ")[1])
LOGGER.info("Number of runs: {}".format(runs))
assert runs > 0, "Invalid number of runs"
# Match "Type: %s"
res = dut.expect(r"Type: (\w+)", timeout=60)
data_type = res.group(0).decode("utf-8").split(" ")[1]
LOGGER.info("Data type: {}".format(data_type))
assert data_type == "float", "Invalid data type"
# Match "Runs completed: %d"
res = dut.expect(r"Runs completed: (\d+)", timeout=120)
runs_completed = int(res.group(0).decode("utf-8").split(" ")[2])
LOGGER.info("Runs completed: {}".format(runs_completed))
assert runs_completed == runs, "Invalid number of runs completed"
# Match "Average MFLOPS: %f"
res = dut.expect(r"Average MFLOPS: (\d+\.\d+)", timeout=120)
avg_score = float(res.group(0).decode("utf-8").split(" ")[2])
LOGGER.info("Average MFLOPS: {}".format(avg_score))
assert avg_score > 0, "Invalid average MFLOPS"
# Match "Min MFLOPS: %f"
res = dut.expect(r"Min MFLOPS: (\d+\.\d+)", timeout=120)
min_score = float(res.group(0).decode("utf-8").split(" ")[2])
LOGGER.info("Min MFLOPS: {}".format(min_score))
assert min_score > 0 and min_score < 1000000000.0, "Invalid min MFLOPS"
# Match "Max MFLOPS: %f"
res = dut.expect(r"Max MFLOPS: (\d+\.\d+)", timeout=120)
max_score = float(res.group(0).decode("utf-8").split(" ")[2])
LOGGER.info("Max MFLOPS: {}".format(max_score))
assert max_score > 0, "Invalid max MFLOPS"
# Create JSON with results and write it to file
# Always create a JSON with this format (so it can be merged later on):
# { TEST_NAME_STR: TEST_RESULTS_DICT }
results = {"linpack_float": {"runs": runs, "avg_score": avg_score, "min_score": min_score, "max_score": max_score}}
current_folder = os.path.dirname(request.path)
file_index = 0
report_file = os.path.join(current_folder, "result_linpack_float" + str(file_index) + ".json")
while os.path.exists(report_file):
report_file = report_file.replace(str(file_index) + ".json", str(file_index + 1) + ".json")
file_index += 1
with open(report_file, "w") as f:
try:
f.write(json.dumps(results))
except Exception as e:
LOGGER.warning("Failed to write results to file: {}".format(e))