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

This commit is contained in:
Lucas Saavedra Vaz 2024-11-04 19:43:44 -03:00
commit f1e1f5ab95
No known key found for this signature in database
GPG key ID: 9CAE85DC84A38188
14 changed files with 956 additions and 82 deletions

View file

@ -4,73 +4,73 @@ build_all=false
chunks_count=0 chunks_count=0
if [[ $CORE_CHANGED == 'true' ]] || [[ $IS_PR != 'true' ]]; then if [[ $CORE_CHANGED == 'true' ]] || [[ $IS_PR != 'true' ]]; then
echo "Core files changed or not a PR. Building all." echo "Core files changed or not a PR. Building all."
build_all=true build_all=true
chunks_count=$MAX_CHUNKS chunks_count=$MAX_CHUNKS
elif [[ $LIB_CHANGED == 'true' ]]; then elif [[ $LIB_CHANGED == 'true' ]]; then
echo "Libraries changed. Building only affected sketches." echo "Libraries changed. Building only affected sketches."
if [[ $NETWORKING_CHANGED == 'true' ]]; then if [[ $NETWORKING_CHANGED == 'true' ]]; then
echo "Networking libraries changed. Building networking related sketches." echo "Networking libraries changed. Building networking related sketches."
networking_sketches="$(find libraries/WiFi -name *.ino) " networking_sketches="$(find libraries/WiFi -name *.ino) "
networking_sketches+="$(find libraries/Ethernet -name *.ino) " networking_sketches+="$(find libraries/Ethernet -name *.ino) "
networking_sketches+="$(find libraries/PPP -name *.ino) " networking_sketches+="$(find libraries/PPP -name *.ino) "
networking_sketches+="$(find libraries/NetworkClientSecure -name *.ino) " networking_sketches+="$(find libraries/NetworkClientSecure -name *.ino) "
networking_sketches+="$(find libraries/WebServer -name *.ino) " networking_sketches+="$(find libraries/WebServer -name *.ino) "
fi fi
if [[ $FS_CHANGED == 'true' ]]; then if [[ $FS_CHANGED == 'true' ]]; then
echo "FS libraries changed. Building FS related sketches." echo "FS libraries changed. Building FS related sketches."
fs_sketches="$(find libraries/SD -name *.ino) " fs_sketches="$(find libraries/SD -name *.ino) "
fs_sketches+="$(find libraries/SD_MMC -name *.ino) " fs_sketches+="$(find libraries/SD_MMC -name *.ino) "
fs_sketches+="$(find libraries/SPIFFS -name *.ino) " fs_sketches+="$(find libraries/SPIFFS -name *.ino) "
fs_sketches+="$(find libraries/LittleFS -name *.ino) " fs_sketches+="$(find libraries/LittleFS -name *.ino) "
fs_sketches+="$(find libraries/FFat -name *.ino) " fs_sketches+="$(find libraries/FFat -name *.ino) "
fi fi
sketches="$networking_sketches $fs_sketches" sketches="$networking_sketches $fs_sketches"
for file in $LIB_FILES; do for file in $LIB_FILES; do
if [[ $file == *.ino ]]; then lib=$(echo $file | awk -F "/" '{print $1"/"$2}')
# If file ends with .ino, add it to the list of sketches if [[ "$file" == *.ino ]]; then
echo "Sketch found: $file" # If file ends with .ino, add it to the list of sketches
sketches+="$file " echo "Sketch found: $file"
elif [[ $(basename $(dirname $file)) == "src" ]]; then sketches+="$file "
# If file is in a src directory, find all sketches in the parent/examples directory elif [[ "$file" == "$lib/src/"* ]]; then
echo "Library src file found: $file" # If file is inside the src directory, find all sketches in the lib/examples directory
lib=$(dirname $(dirname $file)) echo "Library src file found: $file"
if [[ -d $lib/examples ]]; then if [[ -d $lib/examples ]]; then
lib_sketches=$(find $lib/examples -name *.ino) lib_sketches=$(find $lib/examples -name *.ino)
sketches+="$lib_sketches " sketches+="$lib_sketches "
echo "Library sketches: $lib_sketches" echo "Library sketches: $lib_sketches"
fi fi
else else
# If file is in a example folder but it is not a sketch, find all sketches in the current directory # If file is in a example folder but it is not a sketch, find all sketches in the current directory
echo "File in example folder found: $file" echo "File in example folder found: $file"
sketch=$(find $(dirname $file) -name *.ino) sketch=$(find $(dirname $file) -name *.ino)
sketches+="$sketch " sketches+="$sketch "
echo "Sketch in example folder: $sketch" echo "Sketch in example folder: $sketch"
fi fi
echo "" echo ""
done done
fi fi
if [[ -n $sketches ]]; then if [[ -n $sketches ]]; then
# Remove duplicates # Remove duplicates
sketches=$(echo $sketches | tr ' ' '\n' | sort | uniq) sketches=$(echo $sketches | tr ' ' '\n' | sort | uniq)
for sketch in $sketches; do for sketch in $sketches; do
echo $sketch >> sketches_found.txt echo $sketch >> sketches_found.txt
chunks_count=$((chunks_count+1)) chunks_count=$((chunks_count+1))
done done
echo "Number of sketches found: $chunks_count" echo "Number of sketches found: $chunks_count"
echo "Sketches:" echo "Sketches:"
echo "$sketches" echo "$sketches"
if [[ $chunks_count -gt $MAX_CHUNKS ]]; then if [[ $chunks_count -gt $MAX_CHUNKS ]]; then
echo "More sketches than the allowed number of chunks found. Limiting to $MAX_CHUNKS chunks." echo "More sketches than the allowed number of chunks found. Limiting to $MAX_CHUNKS chunks."
chunks_count=$MAX_CHUNKS chunks_count=$MAX_CHUNKS
fi fi
fi fi
chunks='["0"' chunks='["0"'
for i in $(seq 1 $(( $chunks_count - 1 )) ); do for i in $(seq 1 $(( $chunks_count - 1 )) ); do
chunks+=",\"$i\"" chunks+=",\"$i\""
done done
chunks+="]" chunks+="]"

View file

@ -6,7 +6,7 @@ on:
branches: branches:
- master - master
pull_request: pull_request:
types: [opened, reopened, synchronize, labeled, unlabeled] types: [opened, reopened, synchronize, labeled]
concurrency: concurrency:
group: pre-commit-${{github.event.pull_request.number || github.ref}} group: pre-commit-${{github.event.pull_request.number || github.ref}}
@ -15,8 +15,10 @@ concurrency:
jobs: jobs:
lint: lint:
if: | if: |
github.event_name != 'pull_request' ||
contains(github.event.pull_request.labels.*.name, 'Status: Pending Merge') || contains(github.event.pull_request.labels.*.name, 'Status: Pending Merge') ||
github.event_name != 'pull_request' contains(github.event.pull_request.labels.*.name, 'Re-trigger Pre-commit Hooks')
name: Check if fixes are needed name: Check if fixes are needed
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@ -25,6 +27,12 @@ jobs:
with: with:
fetch-depth: 2 fetch-depth: 2
- name: Remove Label
if: contains(github.event.pull_request.labels.*.name, 'Re-trigger Pre-commit Hooks')
run: gh pr edit ${{ github.event.number }} --remove-label 'Re-trigger Pre-commit Hooks'
env:
GH_TOKEN: ${{ github.token }}
- name: Set up Python 3 - name: Set up Python 3
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
@ -65,7 +73,7 @@ jobs:
key: ${{ steps.restore-cache.outputs.cache-primary-key }} key: ${{ steps.restore-cache.outputs.cache-primary-key }}
- name: Push changes using pre-commit-ci-lite - name: Push changes using pre-commit-ci-lite
uses: pre-commit-ci/lite-action@v1.0.2 uses: pre-commit-ci/lite-action@v1.1.0
# Only push changes in PRs # Only push changes in PRs
if: ${{ always() && github.event_name == 'pull_request' }} if: ${{ always() && github.event_name == 'pull_request' }}
with: with:

View file

@ -5,7 +5,7 @@ on:
push: push:
branches: branches:
- master - master
- release/v2.x - release/*
pull_request: pull_request:
paths: paths:
- 'cores/**' - 'cores/**'
@ -47,6 +47,7 @@ jobs:
cmake-check: cmake-check:
name: Check cmake file name: Check cmake file
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: ${{ !(github.event_name == 'pull_request' && startsWith(github.head_ref, 'release/')) }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- run: bash ./.github/scripts/check-cmakelists.sh - run: bash ./.github/scripts/check-cmakelists.sh
@ -54,6 +55,7 @@ jobs:
gen-chunks: gen-chunks:
name: Generate chunks name: Generate chunks
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: ${{ !(github.event_name == 'pull_request' && startsWith(github.head_ref, 'release/')) }}
outputs: outputs:
build_all: ${{ steps.set-chunks.outputs.build_all }} build_all: ${{ steps.set-chunks.outputs.build_all }}
build_libraries: ${{ steps.set-chunks.outputs.build_libraries }} build_libraries: ${{ steps.set-chunks.outputs.build_libraries }}
@ -308,7 +310,7 @@ jobs:
#Upload PR number as artifact #Upload PR number as artifact
upload-pr-number: upload-pr-number:
name: Upload PR number name: Upload PR number
if: github.event_name == 'pull_request' if: ${{ github.event_name == 'pull_request' && !startsWith(github.head_ref, 'release/') }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Save the PR number in an artifact - name: Save the PR number in an artifact

View file

@ -26,10 +26,9 @@ on:
- '!.github/scripts/upload_py_tools.sh' - '!.github/scripts/upload_py_tools.sh'
- 'tests/**' - 'tests/**'
- 'cores/**' - 'cores/**'
- 'libraries/**' - 'libraries/*/src/**.cpp'
- '!libraries/**.md' - 'libraries/*/src/**.h'
- '!libraries/**.txt' - 'libraries/*/src/**.c'
- '!libraries/**.properties'
- 'package/**' - 'package/**'
schedule: schedule:
- cron: '0 2 * * *' - cron: '0 2 * * *'

View file

@ -46455,3 +46455,609 @@ waveshare_esp32_s3_relay_6ch.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MOD
waveshare_esp32_s3_relay_6ch.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port waveshare_esp32_s3_relay_6ch.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api_zczr -lesp_zb_cli_command -lzboss_stack.zczr -lzboss_port
############################################################## ##############################################################
waveshare_esp32_s3_touch_amoled_164.name=Waveshare ESP32-S3-Touch-AMOLED-1.64
waveshare_esp32_s3_touch_amoled_164.vid.0=0x303a
waveshare_esp32_s3_touch_amoled_164.pid.0=0x8249
waveshare_esp32_s3_touch_amoled_164.upload_port.0.vid=0x303a
waveshare_esp32_s3_touch_amoled_164.upload_port.0.pid=0x8249
waveshare_esp32_s3_touch_amoled_164.bootloader.tool=esptool_py
waveshare_esp32_s3_touch_amoled_164.bootloader.tool.default=esptool_py
waveshare_esp32_s3_touch_amoled_164.upload.tool=esptool_py
waveshare_esp32_s3_touch_amoled_164.upload.tool.default=esptool_py
waveshare_esp32_s3_touch_amoled_164.upload.tool.network=esp_ota
waveshare_esp32_s3_touch_amoled_164.upload.maximum_size=1310720
waveshare_esp32_s3_touch_amoled_164.upload.maximum_data_size=327680
waveshare_esp32_s3_touch_amoled_164.upload.flags=
waveshare_esp32_s3_touch_amoled_164.upload.extra_flags=
waveshare_esp32_s3_touch_amoled_164.upload.use_1200bps_touch=false
waveshare_esp32_s3_touch_amoled_164.upload.wait_for_upload_port=false
waveshare_esp32_s3_touch_amoled_164.serial.disableDTR=false
waveshare_esp32_s3_touch_amoled_164.serial.disableRTS=false
waveshare_esp32_s3_touch_amoled_164.build.tarch=xtensa
waveshare_esp32_s3_touch_amoled_164.build.bootloader_addr=0x0
waveshare_esp32_s3_touch_amoled_164.build.target=esp32s3
waveshare_esp32_s3_touch_amoled_164.build.mcu=esp32s3
waveshare_esp32_s3_touch_amoled_164.build.core=esp32
waveshare_esp32_s3_touch_amoled_164.build.variant=waveshare_esp32_s3_touch_amoled_164
waveshare_esp32_s3_touch_amoled_164.build.board=WAVESHARE_ESP32_S3_TOUCH_AMOLED_164
waveshare_esp32_s3_touch_amoled_164.build.usb_mode=1
waveshare_esp32_s3_touch_amoled_164.build.cdc_on_boot=0
waveshare_esp32_s3_touch_amoled_164.build.msc_on_boot=0
waveshare_esp32_s3_touch_amoled_164.build.dfu_on_boot=0
waveshare_esp32_s3_touch_amoled_164.build.f_cpu=240000000L
waveshare_esp32_s3_touch_amoled_164.build.flash_size=16MB
waveshare_esp32_s3_touch_amoled_164.build.flash_freq=80m
waveshare_esp32_s3_touch_amoled_164.build.flash_mode=dio
waveshare_esp32_s3_touch_amoled_164.build.boot=qio
waveshare_esp32_s3_touch_amoled_164.build.boot_freq=80m
waveshare_esp32_s3_touch_amoled_164.build.partitions=default
waveshare_esp32_s3_touch_amoled_164.build.defines=
waveshare_esp32_s3_touch_amoled_164.build.loop_core=
waveshare_esp32_s3_touch_amoled_164.build.event_core=
waveshare_esp32_s3_touch_amoled_164.build.psram_type=qspi
waveshare_esp32_s3_touch_amoled_164.build.memory_type={build.boot}_{build.psram_type}
waveshare_esp32_s3_touch_amoled_164.menu.PSRAM.disabled=Disabled
waveshare_esp32_s3_touch_amoled_164.menu.PSRAM.disabled.build.defines=
waveshare_esp32_s3_touch_amoled_164.menu.PSRAM.disabled.build.psram_type=qspi
waveshare_esp32_s3_touch_amoled_164.menu.PSRAM.enabled=Enabled
waveshare_esp32_s3_touch_amoled_164.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
waveshare_esp32_s3_touch_amoled_164.menu.PSRAM.enabled.build.psram_type=opi
waveshare_esp32_s3_touch_amoled_164.menu.FlashMode.qio=QIO 80MHz
waveshare_esp32_s3_touch_amoled_164.menu.FlashMode.qio.build.flash_mode=dio
waveshare_esp32_s3_touch_amoled_164.menu.FlashMode.qio.build.boot=qio
waveshare_esp32_s3_touch_amoled_164.menu.FlashMode.qio.build.boot_freq=80m
waveshare_esp32_s3_touch_amoled_164.menu.FlashMode.qio.build.flash_freq=80m
waveshare_esp32_s3_touch_amoled_164.menu.FlashMode.qio120=QIO 120MHz
waveshare_esp32_s3_touch_amoled_164.menu.FlashMode.qio120.build.flash_mode=dio
waveshare_esp32_s3_touch_amoled_164.menu.FlashMode.qio120.build.boot=qio
waveshare_esp32_s3_touch_amoled_164.menu.FlashMode.qio120.build.boot_freq=120m
waveshare_esp32_s3_touch_amoled_164.menu.FlashMode.qio120.build.flash_freq=80m
waveshare_esp32_s3_touch_amoled_164.menu.LoopCore.1=Core 1
waveshare_esp32_s3_touch_amoled_164.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
waveshare_esp32_s3_touch_amoled_164.menu.LoopCore.0=Core 0
waveshare_esp32_s3_touch_amoled_164.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
waveshare_esp32_s3_touch_amoled_164.menu.EventsCore.1=Core 1
waveshare_esp32_s3_touch_amoled_164.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
waveshare_esp32_s3_touch_amoled_164.menu.EventsCore.0=Core 0
waveshare_esp32_s3_touch_amoled_164.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
waveshare_esp32_s3_touch_amoled_164.menu.USBMode.hwcdc=Hardware CDC and JTAG
waveshare_esp32_s3_touch_amoled_164.menu.USBMode.hwcdc.build.usb_mode=1
waveshare_esp32_s3_touch_amoled_164.menu.USBMode.default=USB-OTG (TinyUSB)
waveshare_esp32_s3_touch_amoled_164.menu.USBMode.default.build.usb_mode=0
waveshare_esp32_s3_touch_amoled_164.menu.CDCOnBoot.default=Disabled
waveshare_esp32_s3_touch_amoled_164.menu.CDCOnBoot.default.build.cdc_on_boot=0
waveshare_esp32_s3_touch_amoled_164.menu.CDCOnBoot.cdc=Enabled
waveshare_esp32_s3_touch_amoled_164.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
waveshare_esp32_s3_touch_amoled_164.menu.MSCOnBoot.default=Disabled
waveshare_esp32_s3_touch_amoled_164.menu.MSCOnBoot.default.build.msc_on_boot=0
waveshare_esp32_s3_touch_amoled_164.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
waveshare_esp32_s3_touch_amoled_164.menu.MSCOnBoot.msc.build.msc_on_boot=1
waveshare_esp32_s3_touch_amoled_164.menu.DFUOnBoot.default=Disabled
waveshare_esp32_s3_touch_amoled_164.menu.DFUOnBoot.default.build.dfu_on_boot=0
waveshare_esp32_s3_touch_amoled_164.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
waveshare_esp32_s3_touch_amoled_164.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
waveshare_esp32_s3_touch_amoled_164.menu.UploadMode.default=UART0 / Hardware CDC
waveshare_esp32_s3_touch_amoled_164.menu.UploadMode.default.upload.use_1200bps_touch=false
waveshare_esp32_s3_touch_amoled_164.menu.UploadMode.default.upload.wait_for_upload_port=false
waveshare_esp32_s3_touch_amoled_164.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
waveshare_esp32_s3_touch_amoled_164.menu.UploadMode.cdc.upload.use_1200bps_touch=true
waveshare_esp32_s3_touch_amoled_164.menu.UploadMode.cdc.upload.wait_for_upload_port=true
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS)
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.default.build.partitions=default
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.no_ota.build.partitions=no_ota
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.huge_app.build.partitions=huge_app
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.rainmaker=RainMaker 4MB
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS)
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.fatflash.build.partitions=ffat
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS)
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA)
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.otanofs.upload.maximum_size=2031616
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA)
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.all_app.upload.maximum_size=4128768
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.custom=Custom
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.custom.build.partitions=
waveshare_esp32_s3_touch_amoled_164.menu.PartitionScheme.custom.upload.maximum_size=16777216
waveshare_esp32_s3_touch_amoled_164.menu.CPUFreq.240=240MHz (WiFi)
waveshare_esp32_s3_touch_amoled_164.menu.CPUFreq.240.build.f_cpu=240000000L
waveshare_esp32_s3_touch_amoled_164.menu.CPUFreq.160=160MHz (WiFi)
waveshare_esp32_s3_touch_amoled_164.menu.CPUFreq.160.build.f_cpu=160000000L
waveshare_esp32_s3_touch_amoled_164.menu.CPUFreq.80=80MHz (WiFi)
waveshare_esp32_s3_touch_amoled_164.menu.CPUFreq.80.build.f_cpu=80000000L
waveshare_esp32_s3_touch_amoled_164.menu.CPUFreq.40=40MHz
waveshare_esp32_s3_touch_amoled_164.menu.CPUFreq.40.build.f_cpu=40000000L
waveshare_esp32_s3_touch_amoled_164.menu.CPUFreq.20=20MHz
waveshare_esp32_s3_touch_amoled_164.menu.CPUFreq.20.build.f_cpu=20000000L
waveshare_esp32_s3_touch_amoled_164.menu.CPUFreq.10=10MHz
waveshare_esp32_s3_touch_amoled_164.menu.CPUFreq.10.build.f_cpu=10000000L
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.921600=921600
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.921600.upload.speed=921600
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.115200=115200
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.115200.upload.speed=115200
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.256000.windows=256000
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.256000.upload.speed=256000
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.230400.windows.upload.speed=256000
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.230400=230400
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.230400.upload.speed=230400
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.460800.linux=460800
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.460800.macosx=460800
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.460800.upload.speed=460800
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.512000.windows=512000
waveshare_esp32_s3_touch_amoled_164.menu.UploadSpeed.512000.upload.speed=512000
waveshare_esp32_s3_touch_amoled_164.menu.DebugLevel.none=None
waveshare_esp32_s3_touch_amoled_164.menu.DebugLevel.none.build.code_debug=0
waveshare_esp32_s3_touch_amoled_164.menu.DebugLevel.error=Error
waveshare_esp32_s3_touch_amoled_164.menu.DebugLevel.error.build.code_debug=1
waveshare_esp32_s3_touch_amoled_164.menu.DebugLevel.warn=Warn
waveshare_esp32_s3_touch_amoled_164.menu.DebugLevel.warn.build.code_debug=2
waveshare_esp32_s3_touch_amoled_164.menu.DebugLevel.info=Info
waveshare_esp32_s3_touch_amoled_164.menu.DebugLevel.info.build.code_debug=3
waveshare_esp32_s3_touch_amoled_164.menu.DebugLevel.debug=Debug
waveshare_esp32_s3_touch_amoled_164.menu.DebugLevel.debug.build.code_debug=4
waveshare_esp32_s3_touch_amoled_164.menu.DebugLevel.verbose=Verbose
waveshare_esp32_s3_touch_amoled_164.menu.DebugLevel.verbose.build.code_debug=5
waveshare_esp32_s3_touch_amoled_164.menu.EraseFlash.none=Disabled
waveshare_esp32_s3_touch_amoled_164.menu.EraseFlash.none.upload.erase_cmd=
waveshare_esp32_s3_touch_amoled_164.menu.EraseFlash.all=Enabled
waveshare_esp32_s3_touch_amoled_164.menu.EraseFlash.all.upload.erase_cmd=-e
##############################################################
waveshare_esp32_s3_touch_amoled_143.name=Waveshare ESP32-S3-Touch-AMOLED-1.43
waveshare_esp32_s3_touch_amoled_143.vid.0=0x303a
waveshare_esp32_s3_touch_amoled_143.pid.0=0x824a
waveshare_esp32_s3_touch_amoled_143.upload_port.0.vid=0x303a
waveshare_esp32_s3_touch_amoled_143.upload_port.0.pid=0x824a
waveshare_esp32_s3_touch_amoled_143.bootloader.tool=esptool_py
waveshare_esp32_s3_touch_amoled_143.bootloader.tool.default=esptool_py
waveshare_esp32_s3_touch_amoled_143.upload.tool=esptool_py
waveshare_esp32_s3_touch_amoled_143.upload.tool.default=esptool_py
waveshare_esp32_s3_touch_amoled_143.upload.tool.network=esp_ota
waveshare_esp32_s3_touch_amoled_143.upload.maximum_size=1310720
waveshare_esp32_s3_touch_amoled_143.upload.maximum_data_size=327680
waveshare_esp32_s3_touch_amoled_143.upload.flags=
waveshare_esp32_s3_touch_amoled_143.upload.extra_flags=
waveshare_esp32_s3_touch_amoled_143.upload.use_1200bps_touch=false
waveshare_esp32_s3_touch_amoled_143.upload.wait_for_upload_port=false
waveshare_esp32_s3_touch_amoled_143.serial.disableDTR=false
waveshare_esp32_s3_touch_amoled_143.serial.disableRTS=false
waveshare_esp32_s3_touch_amoled_143.build.tarch=xtensa
waveshare_esp32_s3_touch_amoled_143.build.bootloader_addr=0x0
waveshare_esp32_s3_touch_amoled_143.build.target=esp32s3
waveshare_esp32_s3_touch_amoled_143.build.mcu=esp32s3
waveshare_esp32_s3_touch_amoled_143.build.core=esp32
waveshare_esp32_s3_touch_amoled_143.build.variant=waveshare_esp32_s3_touch_amoled_143
waveshare_esp32_s3_touch_amoled_143.build.board=WAVESHARE_ESP32_S3_TOUCH_AMOLED_143
waveshare_esp32_s3_touch_amoled_143.build.usb_mode=1
waveshare_esp32_s3_touch_amoled_143.build.cdc_on_boot=0
waveshare_esp32_s3_touch_amoled_143.build.msc_on_boot=0
waveshare_esp32_s3_touch_amoled_143.build.dfu_on_boot=0
waveshare_esp32_s3_touch_amoled_143.build.f_cpu=240000000L
waveshare_esp32_s3_touch_amoled_143.build.flash_size=16MB
waveshare_esp32_s3_touch_amoled_143.build.flash_freq=80m
waveshare_esp32_s3_touch_amoled_143.build.flash_mode=dio
waveshare_esp32_s3_touch_amoled_143.build.boot=qio
waveshare_esp32_s3_touch_amoled_143.build.boot_freq=80m
waveshare_esp32_s3_touch_amoled_143.build.partitions=default
waveshare_esp32_s3_touch_amoled_143.build.defines=
waveshare_esp32_s3_touch_amoled_143.build.loop_core=
waveshare_esp32_s3_touch_amoled_143.build.event_core=
waveshare_esp32_s3_touch_amoled_143.build.psram_type=qspi
waveshare_esp32_s3_touch_amoled_143.build.memory_type={build.boot}_{build.psram_type}
waveshare_esp32_s3_touch_amoled_143.menu.PSRAM.disabled=Disabled
waveshare_esp32_s3_touch_amoled_143.menu.PSRAM.disabled.build.defines=
waveshare_esp32_s3_touch_amoled_143.menu.PSRAM.disabled.build.psram_type=qspi
waveshare_esp32_s3_touch_amoled_143.menu.PSRAM.enabled=Enabled
waveshare_esp32_s3_touch_amoled_143.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
waveshare_esp32_s3_touch_amoled_143.menu.PSRAM.enabled.build.psram_type=opi
waveshare_esp32_s3_touch_amoled_143.menu.FlashMode.qio=QIO 80MHz
waveshare_esp32_s3_touch_amoled_143.menu.FlashMode.qio.build.flash_mode=dio
waveshare_esp32_s3_touch_amoled_143.menu.FlashMode.qio.build.boot=qio
waveshare_esp32_s3_touch_amoled_143.menu.FlashMode.qio.build.boot_freq=80m
waveshare_esp32_s3_touch_amoled_143.menu.FlashMode.qio.build.flash_freq=80m
waveshare_esp32_s3_touch_amoled_143.menu.FlashMode.qio120=QIO 120MHz
waveshare_esp32_s3_touch_amoled_143.menu.FlashMode.qio120.build.flash_mode=dio
waveshare_esp32_s3_touch_amoled_143.menu.FlashMode.qio120.build.boot=qio
waveshare_esp32_s3_touch_amoled_143.menu.FlashMode.qio120.build.boot_freq=120m
waveshare_esp32_s3_touch_amoled_143.menu.FlashMode.qio120.build.flash_freq=80m
waveshare_esp32_s3_touch_amoled_143.menu.LoopCore.1=Core 1
waveshare_esp32_s3_touch_amoled_143.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
waveshare_esp32_s3_touch_amoled_143.menu.LoopCore.0=Core 0
waveshare_esp32_s3_touch_amoled_143.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
waveshare_esp32_s3_touch_amoled_143.menu.EventsCore.1=Core 1
waveshare_esp32_s3_touch_amoled_143.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
waveshare_esp32_s3_touch_amoled_143.menu.EventsCore.0=Core 0
waveshare_esp32_s3_touch_amoled_143.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
waveshare_esp32_s3_touch_amoled_143.menu.USBMode.hwcdc=Hardware CDC and JTAG
waveshare_esp32_s3_touch_amoled_143.menu.USBMode.hwcdc.build.usb_mode=1
waveshare_esp32_s3_touch_amoled_143.menu.USBMode.default=USB-OTG (TinyUSB)
waveshare_esp32_s3_touch_amoled_143.menu.USBMode.default.build.usb_mode=0
waveshare_esp32_s3_touch_amoled_143.menu.CDCOnBoot.default=Disabled
waveshare_esp32_s3_touch_amoled_143.menu.CDCOnBoot.default.build.cdc_on_boot=0
waveshare_esp32_s3_touch_amoled_143.menu.CDCOnBoot.cdc=Enabled
waveshare_esp32_s3_touch_amoled_143.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
waveshare_esp32_s3_touch_amoled_143.menu.MSCOnBoot.default=Disabled
waveshare_esp32_s3_touch_amoled_143.menu.MSCOnBoot.default.build.msc_on_boot=0
waveshare_esp32_s3_touch_amoled_143.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
waveshare_esp32_s3_touch_amoled_143.menu.MSCOnBoot.msc.build.msc_on_boot=1
waveshare_esp32_s3_touch_amoled_143.menu.DFUOnBoot.default=Disabled
waveshare_esp32_s3_touch_amoled_143.menu.DFUOnBoot.default.build.dfu_on_boot=0
waveshare_esp32_s3_touch_amoled_143.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
waveshare_esp32_s3_touch_amoled_143.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
waveshare_esp32_s3_touch_amoled_143.menu.UploadMode.default=UART0 / Hardware CDC
waveshare_esp32_s3_touch_amoled_143.menu.UploadMode.default.upload.use_1200bps_touch=false
waveshare_esp32_s3_touch_amoled_143.menu.UploadMode.default.upload.wait_for_upload_port=false
waveshare_esp32_s3_touch_amoled_143.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
waveshare_esp32_s3_touch_amoled_143.menu.UploadMode.cdc.upload.use_1200bps_touch=true
waveshare_esp32_s3_touch_amoled_143.menu.UploadMode.cdc.upload.wait_for_upload_port=true
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS)
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.default.build.partitions=default
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.no_ota.build.partitions=no_ota
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.huge_app.build.partitions=huge_app
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.rainmaker=RainMaker 4MB
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS)
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.fatflash.build.partitions=ffat
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS)
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA)
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.otanofs.upload.maximum_size=2031616
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA)
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.all_app.upload.maximum_size=4128768
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.custom=Custom
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.custom.build.partitions=
waveshare_esp32_s3_touch_amoled_143.menu.PartitionScheme.custom.upload.maximum_size=16777216
waveshare_esp32_s3_touch_amoled_143.menu.CPUFreq.240=240MHz (WiFi)
waveshare_esp32_s3_touch_amoled_143.menu.CPUFreq.240.build.f_cpu=240000000L
waveshare_esp32_s3_touch_amoled_143.menu.CPUFreq.160=160MHz (WiFi)
waveshare_esp32_s3_touch_amoled_143.menu.CPUFreq.160.build.f_cpu=160000000L
waveshare_esp32_s3_touch_amoled_143.menu.CPUFreq.80=80MHz (WiFi)
waveshare_esp32_s3_touch_amoled_143.menu.CPUFreq.80.build.f_cpu=80000000L
waveshare_esp32_s3_touch_amoled_143.menu.CPUFreq.40=40MHz
waveshare_esp32_s3_touch_amoled_143.menu.CPUFreq.40.build.f_cpu=40000000L
waveshare_esp32_s3_touch_amoled_143.menu.CPUFreq.20=20MHz
waveshare_esp32_s3_touch_amoled_143.menu.CPUFreq.20.build.f_cpu=20000000L
waveshare_esp32_s3_touch_amoled_143.menu.CPUFreq.10=10MHz
waveshare_esp32_s3_touch_amoled_143.menu.CPUFreq.10.build.f_cpu=10000000L
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.921600=921600
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.921600.upload.speed=921600
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.115200=115200
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.115200.upload.speed=115200
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.256000.windows=256000
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.256000.upload.speed=256000
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.230400.windows.upload.speed=256000
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.230400=230400
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.230400.upload.speed=230400
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.460800.linux=460800
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.460800.macosx=460800
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.460800.upload.speed=460800
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.512000.windows=512000
waveshare_esp32_s3_touch_amoled_143.menu.UploadSpeed.512000.upload.speed=512000
waveshare_esp32_s3_touch_amoled_143.menu.DebugLevel.none=None
waveshare_esp32_s3_touch_amoled_143.menu.DebugLevel.none.build.code_debug=0
waveshare_esp32_s3_touch_amoled_143.menu.DebugLevel.error=Error
waveshare_esp32_s3_touch_amoled_143.menu.DebugLevel.error.build.code_debug=1
waveshare_esp32_s3_touch_amoled_143.menu.DebugLevel.warn=Warn
waveshare_esp32_s3_touch_amoled_143.menu.DebugLevel.warn.build.code_debug=2
waveshare_esp32_s3_touch_amoled_143.menu.DebugLevel.info=Info
waveshare_esp32_s3_touch_amoled_143.menu.DebugLevel.info.build.code_debug=3
waveshare_esp32_s3_touch_amoled_143.menu.DebugLevel.debug=Debug
waveshare_esp32_s3_touch_amoled_143.menu.DebugLevel.debug.build.code_debug=4
waveshare_esp32_s3_touch_amoled_143.menu.DebugLevel.verbose=Verbose
waveshare_esp32_s3_touch_amoled_143.menu.DebugLevel.verbose.build.code_debug=5
waveshare_esp32_s3_touch_amoled_143.menu.EraseFlash.none=Disabled
waveshare_esp32_s3_touch_amoled_143.menu.EraseFlash.none.upload.erase_cmd=
waveshare_esp32_s3_touch_amoled_143.menu.EraseFlash.all=Enabled
waveshare_esp32_s3_touch_amoled_143.menu.EraseFlash.all.upload.erase_cmd=-e
##############################################################
waveshare_esp32_s3_touch_amoled_191.name=Waveshare ESP32-S3-Touch-AMOLED-1.91
waveshare_esp32_s3_touch_amoled_191.vid.0=0x303a
waveshare_esp32_s3_touch_amoled_191.pid.0=0x824b
waveshare_esp32_s3_touch_amoled_191.upload_port.0.vid=0x303a
waveshare_esp32_s3_touch_amoled_191.upload_port.0.pid=0x824b
waveshare_esp32_s3_touch_amoled_191.bootloader.tool=esptool_py
waveshare_esp32_s3_touch_amoled_191.bootloader.tool.default=esptool_py
waveshare_esp32_s3_touch_amoled_191.upload.tool=esptool_py
waveshare_esp32_s3_touch_amoled_191.upload.tool.default=esptool_py
waveshare_esp32_s3_touch_amoled_191.upload.tool.network=esp_ota
waveshare_esp32_s3_touch_amoled_191.upload.maximum_size=1310720
waveshare_esp32_s3_touch_amoled_191.upload.maximum_data_size=327680
waveshare_esp32_s3_touch_amoled_191.upload.flags=
waveshare_esp32_s3_touch_amoled_191.upload.extra_flags=
waveshare_esp32_s3_touch_amoled_191.upload.use_1200bps_touch=false
waveshare_esp32_s3_touch_amoled_191.upload.wait_for_upload_port=false
waveshare_esp32_s3_touch_amoled_191.serial.disableDTR=false
waveshare_esp32_s3_touch_amoled_191.serial.disableRTS=false
waveshare_esp32_s3_touch_amoled_191.build.tarch=xtensa
waveshare_esp32_s3_touch_amoled_191.build.bootloader_addr=0x0
waveshare_esp32_s3_touch_amoled_191.build.target=esp32s3
waveshare_esp32_s3_touch_amoled_191.build.mcu=esp32s3
waveshare_esp32_s3_touch_amoled_191.build.core=esp32
waveshare_esp32_s3_touch_amoled_191.build.variant=waveshare_esp32_s3_touch_amoled_191
waveshare_esp32_s3_touch_amoled_191.build.board=WAVESHARE_ESP32_S3_TOUCH_AMOLED_191
waveshare_esp32_s3_touch_amoled_191.build.usb_mode=1
waveshare_esp32_s3_touch_amoled_191.build.cdc_on_boot=0
waveshare_esp32_s3_touch_amoled_191.build.msc_on_boot=0
waveshare_esp32_s3_touch_amoled_191.build.dfu_on_boot=0
waveshare_esp32_s3_touch_amoled_191.build.f_cpu=240000000L
waveshare_esp32_s3_touch_amoled_191.build.flash_size=16MB
waveshare_esp32_s3_touch_amoled_191.build.flash_freq=80m
waveshare_esp32_s3_touch_amoled_191.build.flash_mode=dio
waveshare_esp32_s3_touch_amoled_191.build.boot=qio
waveshare_esp32_s3_touch_amoled_191.build.boot_freq=80m
waveshare_esp32_s3_touch_amoled_191.build.partitions=default
waveshare_esp32_s3_touch_amoled_191.build.defines=
waveshare_esp32_s3_touch_amoled_191.build.loop_core=
waveshare_esp32_s3_touch_amoled_191.build.event_core=
waveshare_esp32_s3_touch_amoled_191.build.psram_type=qspi
waveshare_esp32_s3_touch_amoled_191.build.memory_type={build.boot}_{build.psram_type}
waveshare_esp32_s3_touch_amoled_191.menu.PSRAM.disabled=Disabled
waveshare_esp32_s3_touch_amoled_191.menu.PSRAM.disabled.build.defines=
waveshare_esp32_s3_touch_amoled_191.menu.PSRAM.disabled.build.psram_type=qspi
waveshare_esp32_s3_touch_amoled_191.menu.PSRAM.enabled=Enabled
waveshare_esp32_s3_touch_amoled_191.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
waveshare_esp32_s3_touch_amoled_191.menu.PSRAM.enabled.build.psram_type=opi
waveshare_esp32_s3_touch_amoled_191.menu.FlashMode.qio=QIO 80MHz
waveshare_esp32_s3_touch_amoled_191.menu.FlashMode.qio.build.flash_mode=dio
waveshare_esp32_s3_touch_amoled_191.menu.FlashMode.qio.build.boot=qio
waveshare_esp32_s3_touch_amoled_191.menu.FlashMode.qio.build.boot_freq=80m
waveshare_esp32_s3_touch_amoled_191.menu.FlashMode.qio.build.flash_freq=80m
waveshare_esp32_s3_touch_amoled_191.menu.FlashMode.qio120=QIO 120MHz
waveshare_esp32_s3_touch_amoled_191.menu.FlashMode.qio120.build.flash_mode=dio
waveshare_esp32_s3_touch_amoled_191.menu.FlashMode.qio120.build.boot=qio
waveshare_esp32_s3_touch_amoled_191.menu.FlashMode.qio120.build.boot_freq=120m
waveshare_esp32_s3_touch_amoled_191.menu.FlashMode.qio120.build.flash_freq=80m
waveshare_esp32_s3_touch_amoled_191.menu.LoopCore.1=Core 1
waveshare_esp32_s3_touch_amoled_191.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
waveshare_esp32_s3_touch_amoled_191.menu.LoopCore.0=Core 0
waveshare_esp32_s3_touch_amoled_191.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
waveshare_esp32_s3_touch_amoled_191.menu.EventsCore.1=Core 1
waveshare_esp32_s3_touch_amoled_191.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
waveshare_esp32_s3_touch_amoled_191.menu.EventsCore.0=Core 0
waveshare_esp32_s3_touch_amoled_191.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
waveshare_esp32_s3_touch_amoled_191.menu.USBMode.hwcdc=Hardware CDC and JTAG
waveshare_esp32_s3_touch_amoled_191.menu.USBMode.hwcdc.build.usb_mode=1
waveshare_esp32_s3_touch_amoled_191.menu.USBMode.default=USB-OTG (TinyUSB)
waveshare_esp32_s3_touch_amoled_191.menu.USBMode.default.build.usb_mode=0
waveshare_esp32_s3_touch_amoled_191.menu.CDCOnBoot.default=Disabled
waveshare_esp32_s3_touch_amoled_191.menu.CDCOnBoot.default.build.cdc_on_boot=0
waveshare_esp32_s3_touch_amoled_191.menu.CDCOnBoot.cdc=Enabled
waveshare_esp32_s3_touch_amoled_191.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
waveshare_esp32_s3_touch_amoled_191.menu.MSCOnBoot.default=Disabled
waveshare_esp32_s3_touch_amoled_191.menu.MSCOnBoot.default.build.msc_on_boot=0
waveshare_esp32_s3_touch_amoled_191.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
waveshare_esp32_s3_touch_amoled_191.menu.MSCOnBoot.msc.build.msc_on_boot=1
waveshare_esp32_s3_touch_amoled_191.menu.DFUOnBoot.default=Disabled
waveshare_esp32_s3_touch_amoled_191.menu.DFUOnBoot.default.build.dfu_on_boot=0
waveshare_esp32_s3_touch_amoled_191.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
waveshare_esp32_s3_touch_amoled_191.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
waveshare_esp32_s3_touch_amoled_191.menu.UploadMode.default=UART0 / Hardware CDC
waveshare_esp32_s3_touch_amoled_191.menu.UploadMode.default.upload.use_1200bps_touch=false
waveshare_esp32_s3_touch_amoled_191.menu.UploadMode.default.upload.wait_for_upload_port=false
waveshare_esp32_s3_touch_amoled_191.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
waveshare_esp32_s3_touch_amoled_191.menu.UploadMode.cdc.upload.use_1200bps_touch=true
waveshare_esp32_s3_touch_amoled_191.menu.UploadMode.cdc.upload.wait_for_upload_port=true
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS)
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.default.build.partitions=default
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.no_ota.build.partitions=no_ota
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.huge_app.build.partitions=huge_app
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.rainmaker=RainMaker 4MB
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS)
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.fatflash.build.partitions=ffat
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS)
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.otanofs=OTA no FS (2MB APP with OTA)
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.otanofs.build.custom_partitions=partitions_otanofs_4MB
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.otanofs.upload.maximum_size=2031616
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.all_app=Max APP (4MB APP no OTA)
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.all_app.build.custom_partitions=partitions_all_app_4MB
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.all_app.upload.maximum_size=4128768
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.custom=Custom
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.custom.build.partitions=
waveshare_esp32_s3_touch_amoled_191.menu.PartitionScheme.custom.upload.maximum_size=16777216
waveshare_esp32_s3_touch_amoled_191.menu.CPUFreq.240=240MHz (WiFi)
waveshare_esp32_s3_touch_amoled_191.menu.CPUFreq.240.build.f_cpu=240000000L
waveshare_esp32_s3_touch_amoled_191.menu.CPUFreq.160=160MHz (WiFi)
waveshare_esp32_s3_touch_amoled_191.menu.CPUFreq.160.build.f_cpu=160000000L
waveshare_esp32_s3_touch_amoled_191.menu.CPUFreq.80=80MHz (WiFi)
waveshare_esp32_s3_touch_amoled_191.menu.CPUFreq.80.build.f_cpu=80000000L
waveshare_esp32_s3_touch_amoled_191.menu.CPUFreq.40=40MHz
waveshare_esp32_s3_touch_amoled_191.menu.CPUFreq.40.build.f_cpu=40000000L
waveshare_esp32_s3_touch_amoled_191.menu.CPUFreq.20=20MHz
waveshare_esp32_s3_touch_amoled_191.menu.CPUFreq.20.build.f_cpu=20000000L
waveshare_esp32_s3_touch_amoled_191.menu.CPUFreq.10=10MHz
waveshare_esp32_s3_touch_amoled_191.menu.CPUFreq.10.build.f_cpu=10000000L
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.921600=921600
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.921600.upload.speed=921600
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.115200=115200
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.115200.upload.speed=115200
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.256000.windows=256000
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.256000.upload.speed=256000
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.230400.windows.upload.speed=256000
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.230400=230400
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.230400.upload.speed=230400
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.460800.linux=460800
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.460800.macosx=460800
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.460800.upload.speed=460800
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.512000.windows=512000
waveshare_esp32_s3_touch_amoled_191.menu.UploadSpeed.512000.upload.speed=512000
waveshare_esp32_s3_touch_amoled_191.menu.DebugLevel.none=None
waveshare_esp32_s3_touch_amoled_191.menu.DebugLevel.none.build.code_debug=0
waveshare_esp32_s3_touch_amoled_191.menu.DebugLevel.error=Error
waveshare_esp32_s3_touch_amoled_191.menu.DebugLevel.error.build.code_debug=1
waveshare_esp32_s3_touch_amoled_191.menu.DebugLevel.warn=Warn
waveshare_esp32_s3_touch_amoled_191.menu.DebugLevel.warn.build.code_debug=2
waveshare_esp32_s3_touch_amoled_191.menu.DebugLevel.info=Info
waveshare_esp32_s3_touch_amoled_191.menu.DebugLevel.info.build.code_debug=3
waveshare_esp32_s3_touch_amoled_191.menu.DebugLevel.debug=Debug
waveshare_esp32_s3_touch_amoled_191.menu.DebugLevel.debug.build.code_debug=4
waveshare_esp32_s3_touch_amoled_191.menu.DebugLevel.verbose=Verbose
waveshare_esp32_s3_touch_amoled_191.menu.DebugLevel.verbose.build.code_debug=5
waveshare_esp32_s3_touch_amoled_191.menu.EraseFlash.none=Disabled
waveshare_esp32_s3_touch_amoled_191.menu.EraseFlash.none.upload.erase_cmd=
waveshare_esp32_s3_touch_amoled_191.menu.EraseFlash.all=Enabled
waveshare_esp32_s3_touch_amoled_191.menu.EraseFlash.all.upload.erase_cmd=-e
##############################################################

View file

@ -17,6 +17,10 @@
//#include "tcpip_adapter.h" //#include "tcpip_adapter.h"
#include "esp_netif.h" #include "esp_netif.h"
#ifdef CONFIG_LWIP_TCPIP_CORE_LOCKING
#include "lwip/priv/tcpip_priv.h"
#endif
static void setTimeZone(long offset, int daylight) { static void setTimeZone(long offset, int daylight) {
char cst[17] = {0}; char cst[17] = {0};
char cdt[17] = "DST"; char cdt[17] = "DST";
@ -50,11 +54,25 @@ void configTime(long gmtOffset_sec, int daylightOffset_sec, const char *server1,
if (sntp_enabled()) { if (sntp_enabled()) {
sntp_stop(); sntp_stop();
} }
#ifdef CONFIG_LWIP_TCPIP_CORE_LOCKING
if (!sys_thread_tcpip(LWIP_CORE_LOCK_QUERY_HOLDER)) {
LOCK_TCPIP_CORE();
}
#endif
sntp_setoperatingmode(SNTP_OPMODE_POLL); sntp_setoperatingmode(SNTP_OPMODE_POLL);
sntp_setservername(0, (char *)server1); sntp_setservername(0, (char *)server1);
sntp_setservername(1, (char *)server2); sntp_setservername(1, (char *)server2);
sntp_setservername(2, (char *)server3); sntp_setservername(2, (char *)server3);
sntp_init(); sntp_init();
#ifdef CONFIG_LWIP_TCPIP_CORE_LOCKING
if (sys_thread_tcpip(LWIP_CORE_LOCK_QUERY_HOLDER)) {
UNLOCK_TCPIP_CORE();
}
#endif
setTimeZone(-gmtOffset_sec, daylightOffset_sec); setTimeZone(-gmtOffset_sec, daylightOffset_sec);
} }
@ -68,11 +86,25 @@ void configTzTime(const char *tz, const char *server1, const char *server2, cons
if (sntp_enabled()) { if (sntp_enabled()) {
sntp_stop(); sntp_stop();
} }
#ifdef CONFIG_LWIP_TCPIP_CORE_LOCKING
if (!sys_thread_tcpip(LWIP_CORE_LOCK_QUERY_HOLDER)) {
LOCK_TCPIP_CORE();
}
#endif
sntp_setoperatingmode(SNTP_OPMODE_POLL); sntp_setoperatingmode(SNTP_OPMODE_POLL);
sntp_setservername(0, (char *)server1); sntp_setservername(0, (char *)server1);
sntp_setservername(1, (char *)server2); sntp_setservername(1, (char *)server2);
sntp_setservername(2, (char *)server3); sntp_setservername(2, (char *)server3);
sntp_init(); sntp_init();
#ifdef CONFIG_LWIP_TCPIP_CORE_LOCKING
if (sys_thread_tcpip(LWIP_CORE_LOCK_QUERY_HOLDER)) {
UNLOCK_TCPIP_CORE();
}
#endif
setenv("TZ", tz, 1); setenv("TZ", tz, 1);
tzset(); tzset();
} }

View file

@ -205,6 +205,50 @@ You can then run the UI using the following command:
./tools/config_editor/app.py ./tools/config_editor/app.py
Pre-Configuring the UI
**********************
The UI can be pre-configured using command line arguments. The following arguments are available:
- ``-t, --target <target>``: Comma-separated list of targets to be compiled.
Choose from: *all*, *esp32*, *esp32s2*, *esp32s3*, *esp32c2*, *esp32c3*, *esp32c6*, *esp32h2*. Default: all except *esp32c2*;
- ``--copy, --no-copy``: Enable/disable copying the compiled libraries to ``arduino-esp32``. Enabled by default;
- ``-c, --arduino-path <path>``: Path to ``arduino-esp32`` directory. Default: OS dependent;
- ``-A, --arduino-branch <branch>``: Branch of the ``arduino-esp32`` repository to be used. Default: set by the build script;
- ``-I, --idf-branch <branch>``: Branch of the ``ESP-IDF`` repository to be used. Default: set by the build script;
- ``-i, --idf-commit <commit>``: Commit of the ``ESP-IDF`` repository to be used. Default: set by the build script;
- ``-D, --debug-level <level>``: Debug level to be set in ``ESP-IDF``.
Choose from: *default*, *none*, *error*, *warning*, *info*, *debug*, *verbose*. Default: *default*.
Please note that all these options can be changed in the UI itself and are only used for automation purposes.
Screens
*******
There are many screens in the UI that are used to configure the libraries to be compiled.
Note that in all screens you can also use the shortcut keys shown in the footer bar to navigate.
The UI consists of the following screens:
- **Main Menu**: The main screen shows buttons to navigate to the other screens.
- **Compile Screen**: The compile screen shows the output of the compilation process and any errors that may have occurred.
- **Sdkconfig Editor**: The sdkconfig editor screen is a simple text editor that shows you the sdkconfig files that will be used for compilation.
You can edit the files here to customize the generated libraries.
- **Settings Screen**: The settings screen allows you to change the settings of the compilation process.
Here you can change:
- The targets that the libraries will be compiled for. To save time, you can compile the libraries only for the target you are using;
- Whether the compiled libraries will be copied to the ``arduino-esp32`` directory after compilation so that they can be used in the Arduino IDE;
- The path to the ``arduino-esp32`` directory. This will be automatically set if the ``arduino-esp32`` repository is in one of the default locations.
If not, you can set it manually here. If using the docker image, it should not be changed as the mount point is fixed;
- The branch of the ``arduino-esp32`` repository to be used. This is useful if you want to compile the libraries for a
specific branch or pull request of the ``arduino-esp32`` repository. Leave empty to use the default branch for this ``ESP-IDF`` version;
- The branch of the ``ESP-IDF`` repository to be used. This is useful if you want to compile the libraries for a specific branch of the ``ESP-IDF`` repository.
Leave empty to use the default branch for this IDF version;
- The commit of the ``ESP-IDF`` repository to be used. This is useful if you want to compile the libraries for a specific commit on the selected branch.
Leave empty to use the latest commit;
- The debug level to be set in ``ESP-IDF``.
Docker Image Docker Image
------------ ------------
@ -225,8 +269,9 @@ Tags
Multiple tags of this image are maintained: Multiple tags of this image are maintained:
- ``latest``: tracks ``master`` branch of the Lib Builder - ``latest``: tracks ``master`` branch of the Lib Builder. Note that the ``latest`` tag is not recommended for use as, depending on the
- ``release-vX.Y``: tracks ``release/vX.Y`` branch of the Lib Builder development stage of the Lib Builder, it might not be stable or might not contain the latest changes;
- ``release-vX.Y``: tracks ``release/vX.Y`` branch of the Lib Builder.
.. note:: .. note::
Versions of Lib Builder released before this feature was introduced do not have corresponding Docker image versions. Versions of Lib Builder released before this feature was introduced do not have corresponding Docker image versions.
@ -235,7 +280,7 @@ Multiple tags of this image are maintained:
Usage Usage
***** *****
Before using the ``espressif/esp32-arduino-lib-builder`` Docker image locally, make sure you have Docker installed. Before using the ``espressif/esp32-arduino-lib-builder`` Docker image locally, make sure you have Docker installed and running on your machine.
Follow the instructions at https://docs.docker.com/install/, if it is not installed yet. Follow the instructions at https://docs.docker.com/install/, if it is not installed yet.
If using the image in a CI environment, consult the documentation of your CI service on how to specify the image used for the build process. If using the image in a CI environment, consult the documentation of your CI service on how to specify the image used for the build process.
@ -249,7 +294,7 @@ To run the Docker image manually, use the following command from the root of the
.. code-block:: bash .. code-block:: bash
docker run --rm -it -v $PWD:/arduino-esp32 -e TERM=xterm-256color espressif/esp32-arduino-lib-builder docker run --rm -it -v $PWD:/arduino-esp32 -e TERM=xterm-256color espressif/esp32-arduino-lib-builder:release-v5.1
This will start the Lib Builder UI for compiling the libraries. The above command explained: This will start the Lib Builder UI for compiling the libraries. The above command explained:
@ -259,7 +304,8 @@ This will start the Lib Builder UI for compiling the libraries. The above comman
- ``-t`` Allocate a pseudo-TTY; - ``-t`` Allocate a pseudo-TTY;
- ``-e TERM=xterm-256color``: Optional. Sets the terminal type to ``xterm-256color`` to display colors correctly; - ``-e TERM=xterm-256color``: Optional. Sets the terminal type to ``xterm-256color`` to display colors correctly;
- ``-v $PWD:/arduino-esp32``: Optional. Mounts the current folder at ``/arduino-esp32`` inside the container. If not provided, the container will not copy the compiled libraries to the host machine; - ``-v $PWD:/arduino-esp32``: Optional. Mounts the current folder at ``/arduino-esp32`` inside the container. If not provided, the container will not copy the compiled libraries to the host machine;
- ``espressif/esp32-arduino-lib-builder``: uses Docker image ``espressif/esp32-arduino-lib-builder`` with tag ``latest``. The ``latest`` tag is implicitly added by Docker when no tag is specified. - ``espressif/esp32-arduino-lib-builder:release-v5.1``: uses Docker image ``espressif/esp32-arduino-lib-builder`` with tag ``release-v5.1``.
The ``latest`` tag is implicitly added by Docker when no tag is specified. It is recommended to use a specific version tag to ensure reproducibility of the build process.
.. warning:: .. warning::
The ``-v`` option is used to mount a folder from the host machine to the container. Make sure the folder already exists on the host machine before running the command. The ``-v`` option is used to mount a folder from the host machine to the container. Make sure the folder already exists on the host machine before running the command.
@ -279,14 +325,15 @@ For example, to run a terminal inside the container, you can run:
.. code-block:: bash .. code-block:: bash
docker run -it espressif/esp32-arduino-lib-builder:latest /bin/bash docker run -it espressif/esp32-arduino-lib-builder:release-v5.1 /bin/bash
Running the Docker image using the provided run script will depend on the host OS. Running the Docker image using the provided run script will depend on the host OS.
Use the following command from the root of the ``arduino-esp32`` repository to execute the image in a Linux or macOS environment: Use the following command from the root of the ``arduino-esp32`` repository to execute the image in a Linux or macOS environment for
the ``release-v5.1`` tag:
.. code-block:: bash .. code-block:: bash
curl -LJO https://raw.githubusercontent.com/espressif/esp32-arduino-lib-builder/master/tools/docker/run.sh curl -LJO https://raw.githubusercontent.com/espressif/esp32-arduino-lib-builder/refs/heads/release/v5.1/tools/docker/run.sh
chmod +x run.sh chmod +x run.sh
./run.sh $PWD ./run.sh $PWD
@ -294,9 +341,16 @@ For Windows, use the following command in PowerShell from the root of the ``ardu
.. code-block:: powershell .. code-block:: powershell
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/espressif/esp32-arduino-lib-builder/master/tools/docker/run.ps1" -OutFile "run.ps1" Invoke-WebRequest -Uri "https://raw.githubusercontent.com/espressif/esp32-arduino-lib-builder/refs/heads/release/v5.1/tools/docker/run.ps1" -OutFile "run.ps1"
.\run.ps1 $pwd .\run.ps1 $pwd
As the script is unsigned, you may need to change the execution policy of the current session before running the script.
To do so, run the following command in PowerShell:
.. code-block:: powershell
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.. warning:: .. warning::
It is always a good practice to understand what the script does before running it. It is always a good practice to understand what the script does before running it.
Make sure to analyze the content of the script to ensure it is safe to run and won't cause any harm to your system. Make sure to analyze the content of the script to ensure it is safe to run and won't cause any harm to your system.

View file

@ -1,5 +1,5 @@
/* /*
Simple BLE5 multi advertising example on esp32 C3/S3 Simple BLE5 periodic advertising example on esp32 C3/S3
only ESP_BLE_GAP_SET_EXT_ADV_PROP_NONCONN_NONSCANNABLE_UNDIRECTED can be used for periodic advertising only ESP_BLE_GAP_SET_EXT_ADV_PROP_NONCONN_NONSCANNABLE_UNDIRECTED can be used for periodic advertising
author: chegewara author: chegewara

View file

@ -1,7 +1,7 @@
cryptography==43.0.1 cryptography==43.0.1
--only-binary cryptography --only-binary cryptography
pytest-cov==5.0.0 pytest-cov==5.0.0
pytest-embedded-serial-esp==1.11.6 pytest-embedded-serial-esp==1.11.8
pytest-embedded-arduino==1.11.6 pytest-embedded-arduino==1.11.8
pytest-embedded-wokwi==1.11.6 pytest-embedded-wokwi==1.11.8
pytest-embedded-qemu==1.11.6 pytest-embedded-qemu==1.11.8

View file

@ -377,6 +377,10 @@ def load_tools_list(filename, platform):
tools_info = json.load(open(filename))["packages"][0]["tools"] tools_info = json.load(open(filename))["packages"][0]["tools"]
tools_to_download = [] tools_to_download = []
for t in tools_info: for t in tools_info:
if platform == "x86_64-mingw32":
if "i686-mingw32" not in [p["host"] for p in t["systems"]]:
raise Exception("Windows x64 requires both i686-mingw32 and x86_64-mingw32 tools")
tool_platform = [p for p in t["systems"] if p["host"] == platform] tool_platform = [p for p in t["systems"] if p["host"] == platform]
if len(tool_platform) == 0: if len(tool_platform) == 0:
# Fallback to x86 on Apple ARM # Fallback to x86 on Apple ARM
@ -390,6 +394,8 @@ def load_tools_list(filename, platform):
if len(tool_platform) == 0: if len(tool_platform) == 0:
continue continue
else: else:
if verbose:
print(f"Tool {t['name']} is not available for platform {platform}")
continue continue
tools_to_download.append(tool_platform[0]) tools_to_download.append(tool_platform[0])
return tools_to_download return tools_to_download
@ -441,6 +447,12 @@ if __name__ == "__main__":
force_all = args.force_all force_all = args.force_all
is_test = args.test is_test = args.test
# Set current directory to the script location
if getattr(sys, "frozen", False):
os.chdir(os.path.dirname(sys.executable))
else:
os.chdir(os.path.dirname(os.path.abspath(__file__)))
if is_test and (force_download or force_extract or force_all): if is_test and (force_download or force_extract or force_all):
print("Cannot combine test (-t) and forced execution (-d | -e | -f)") print("Cannot combine test (-t) and forced execution (-d | -e | -f)")
parser.print_help(sys.stderr) parser.print_help(sys.stderr)

View file

@ -1,2 +1,2 @@
pre-commit==3.7.1 pre-commit==4.0.1
docutils==0.16 docutils==0.16

View file

@ -0,0 +1,49 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
#include <stdint.h>
#include "soc/soc_caps.h"
// BN: ESP32 Family Device
#define USB_VID 0x303a
#define USB_PID 0x824A
#define USB_MANUFACTURER "Waveshare"
#define USB_PRODUCT "ESP32-S3-Touch-AMOLED-1.43"
#define USB_SERIAL ""
// display QSPI SPI2
#define QSPI_CS 9
#define QSPI_SCK 10
#define QSPI_D0 11
#define QSPI_D1 12
#define QSPI_D2 13
#define QSPI_D3 14
#define AMOLED_RESET 21
#define AMOLED_TE -1
#define AMOLED_PWR_EN -1
// Touch I2C
#define TP_SCL 48
#define TP_SDA 47
#define TP_RST -1
#define TP_INT -1
// RTC
#define RTC_INT 15
// Partial voltage measurement method
#define BAT_ADC 4
// Onboard QMI8658 IMU
#define QMI_INT1 8
static const uint8_t SDA = 47;
static const uint8_t SCL = 48;
// UART0 pins
static const uint8_t TX = 43;
static const uint8_t RX = 44;
//esp32s3-PSFlash SPI1/SPI0
static const uint8_t SS = 34; // FSPICS0
static const uint8_t MOSI = 35; // FSPID
static const uint8_t MISO = 37; // FSPIQ
static const uint8_t SCK = 36; // FSPICLK
#endif /* Pins_Arduino_h */

View file

@ -0,0 +1,55 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
#include <stdint.h>
#include "soc/soc_caps.h"
// BN: ESP32 Family Device
#define USB_VID 0x303a
#define USB_PID 0x8249
#define USB_MANUFACTURER "Waveshare"
#define USB_PRODUCT "ESP32-S3-Touch-AMOLED-1.64"
#define USB_SERIAL ""
// display QSPI SPI2
#define QSPI_CS 9
#define QSPI_SCK 10
#define QSPI_D0 11
#define QSPI_D1 12
#define QSPI_D2 13
#define QSPI_D3 14
#define AMOLED_RESET 21
#define AMOLED_TE -1
#define AMOLED_PWR_EN -1
// Touch I2C
#define TP_SCL 48
#define TP_SDA 47
#define TP_RST -1
#define TP_INT -1
//key
#define KEY_0 0
//ADC
#define BAT_ADC 4
//SD_CARD
#define SD_CS 38
#define SD_MOSI 39
#define SD_MISO 40
#define SD_SCLK 41
static const uint8_t SDA = 47;
static const uint8_t SCL = 48;
// UART0 pins
static const uint8_t TX = 43;
static const uint8_t RX = 44;
//esp32s3-PSFlash SPI1/SPI0
static const uint8_t SS = 34; // FSPICS0
static const uint8_t MOSI = 35; // FSPID
static const uint8_t MISO = 37; // FSPIQ
static const uint8_t SCK = 36; // FSPICLK
#endif /* Pins_Arduino_h */

View file

@ -0,0 +1,57 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
#include <stdint.h>
#include "soc/soc_caps.h"
// BN: ESP32 Family Device
#define USB_VID 0x303a
#define USB_PID 0x824B
#define USB_MANUFACTURER "Waveshare"
#define USB_PRODUCT "ESP32-S3-Touch-AMOLED-1.91"
#define USB_SERIAL ""
// display QSPI SPI2
#define QSPI_CS 6
#define QSPI_SCK 47
#define QSPI_D0 18
#define QSPI_D1 7
#define QSPI_D2 48
#define QSPI_D3 5
#define AMOLED_RESET 17
#define AMOLED_TE -1
#define AMOLED_PWR_EN -1
// Touch I2C
#define TP_SCL 39
#define TP_SDA 40
#define TP_RST -1
#define TP_INT -1
// Partial voltage measurement method
#define BAT_ADC 1
// Onboard QMI8658 IMU
#define QMI_INT1 45
#define QMI_INT1 46
//SD
#define SD_CS 9
#define SD_MISO 8
#define SD_MOSI 42
#define SD_CLK 47
//i2c
static const uint8_t SDA = 40;
static const uint8_t SCL = 39;
// UART0 pins
static const uint8_t TX = 43;
static const uint8_t RX = 44;
//esp32s3-PSFlash SPI1/SPI0
static const uint8_t SS = 34; // FSPICS0
static const uint8_t MOSI = 35; // FSPID
static const uint8_t MISO = 37; // FSPIQ
static const uint8_t SCK = 36; // FSPICLK
#endif /* Pins_Arduino_h */