Add support for esp32s3 (#834)

This commit is contained in:
Darrell 2023-03-11 02:13:34 -05:00 committed by GitHub
parent 7a6c7abfcb
commit 70383c8f47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 147 additions and 190 deletions

View File

@ -2,8 +2,10 @@
end_of_line = lf end_of_line = lf
insert_final_newline = true insert_final_newline = true
max_line_length = 999 max_line_length = 999
# 4 spaces indentation
[*.ino]
indent_style = space indent_style = space
indent_size = 4 indent_size = 4
trim_trailing_whitespace = true
[*.ini]
indent_style = space
indent_size = 2

View File

@ -27,12 +27,12 @@ jobs:
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v4 uses: actions/setup-python@v4
- name: Install PlatformIO with:
python-version: '3.x'
- name: Install dependencies
run: | run: |
python -m pip install --upgrade pip pip install wheel
pip install --upgrade platformio pip install -U platformio
pio platform update
pio run -t clean
- name: Setup github_head_sha - name: Setup github_head_sha
run: echo "GITHUB_HEAD_SHA=${{ github.event.pull_request.head.sha }}" >> $GITHUB_ENV run: echo "GITHUB_HEAD_SHA=${{ github.event.pull_request.head.sha }}" >> $GITHUB_ENV
if: ${{ github.event_name == 'pull_request' }} if: ${{ github.event_name == 'pull_request' }}
@ -43,28 +43,19 @@ jobs:
run: echo "PLATFORMIO_BUILD_FLAGS=-DVERSION='\"${GITHUB_REF#refs/*/}\"'" >> $GITHUB_ENV run: echo "PLATFORMIO_BUILD_FLAGS=-DVERSION='\"${GITHUB_REF#refs/*/}\"'" >> $GITHUB_ENV
if: startsWith(github.ref, 'refs/tags/v') if: startsWith(github.ref, 'refs/tags/v')
- name: Run PlatformIO - name: Run PlatformIO
run: pio run -e esp32 -e esp32c3 -e esp32-verbose -e m5stickc -e m5stickc-plus -e m5atom -e macchina-a0 run: pio run -e esp32 -e esp32c3 -e esp32s3 -e esp32-verbose -e esp32c3-verbose -e esp32s3-verbose -e m5stickc -e m5stickc-plus -e m5atom -e macchina-a0
- name: Rename firmware - name: Rename firmware
run: | run: |
cp .pio/build/esp32/firmware.bin esp32.bin cp .pio/build/esp32/firmware.bin esp32.bin
cp .pio/build/esp32c3/firmware.bin esp32c3.bin cp .pio/build/esp32c3/firmware.bin esp32c3.bin
cp .pio/build/esp32s3/firmware.bin esp32s3.bin
cp .pio/build/esp32-verbose/firmware.bin esp32-verbose.bin cp .pio/build/esp32-verbose/firmware.bin esp32-verbose.bin
cp .pio/build/esp32c3-verbose/firmware.bin esp32c3-verbose.bin
cp .pio/build/esp32s3-verbose/firmware.bin esp32s3-verbose.bin
cp .pio/build/m5stickc/firmware.bin m5stickc.bin cp .pio/build/m5stickc/firmware.bin m5stickc.bin
cp .pio/build/m5stickc-plus/firmware.bin m5stickc-plus.bin cp .pio/build/m5stickc-plus/firmware.bin m5stickc-plus.bin
cp .pio/build/m5atom/firmware.bin m5atom.bin cp .pio/build/m5atom/firmware.bin m5atom.bin
cp .pio/build/macchina-a0/firmware.bin macchina-a0.bin cp .pio/build/macchina-a0/firmware.bin macchina-a0.bin
#Deprecated
cp .pio/build/m5atom/firmware.bin m5atom-matrix.bin
cp .pio/build/m5atom/firmware.bin m5atom-matrix-sensors.bin
cp .pio/build/esp32/firmware.bin adafruit-huzzah32.bin
cp .pio/build/esp32/firmware.bin adafruit-huzzah32-sensors.bin
#Deprecated Sensors
cp .pio/build/esp32/firmware.bin esp32-sensors.bin
cp .pio/build/esp32-verbose/firmware.bin esp32-verbose-sensors.bin
cp .pio/build/m5stickc/firmware.bin m5stickc-sensors.bin
cp .pio/build/m5stickc-plus/firmware.bin m5stickc-plus-sensors.bin
- name: Release - name: Release
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/v') if: startsWith(github.ref, 'refs/tags/v')

View File

@ -34,4 +34,4 @@ jobs:
pio platform update pio platform update
pio run -t clean pio run -t clean
- name: Run PlatformIO - name: Run PlatformIO
run: pio check -e esp32 -e esp32c3 -e esp32-verbose -e m5stickc -e m5stickc-plus -e m5atom -e macchina-a0 run: pio run -e esp32 -e esp32c3 -e esp32s3 -e m5stickc -e m5stickc-plus -e m5atom -e macchina-a0

View File

@ -1,10 +1,3 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples ; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html ; https://docs.platformio.org/page/projectconf.html
@ -22,19 +15,22 @@ check_flags =
check_skip_packages = yes check_skip_packages = yes
[common] [common]
extends = env
platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.02.00/platform-espressif32.zip
platform_packages =
debug_build_flags = -O0 -ggdb3 -g3 -DDEBUG_TLS_MEM debug_build_flags = -O0 -ggdb3 -g3 -DDEBUG_TLS_MEM
build_flags = build_flags =
-Wall -Wall
-Wextra -Wextra
-Wformat=2 -Wformat=2
-Wformat-truncation -Wformat-truncation
-D CONFIG_BT_NIMBLE_TASK_STACK_SIZE=4096 -D CONFIG_BT_NIMBLE_TASK_STACK_SIZE=4096
-D SCAN_TASK_STACK_SIZE=2096 -D SCAN_TASK_STACK_SIZE=2096
-D ARDUINO_LOOP_STACK_SIZE=6144 -D ARDUINO_LOOP_STACK_SIZE=6144
-D MQTT_MIN_FREE_MEMORY=12192 -D MQTT_MIN_FREE_MEMORY=12192
-D CONFIG_ASYNC_TCP_USE_WDT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0
-D CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=20 -D CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=20
-D BLE_GATTC_UNRESPONSIVE_TIMEOUT_MS=2000 -D BLE_GATTC_UNRESPONSIVE_TIMEOUT_MS=2000
; -D CORE_DEBUG_LEVEL=2 ; -D CORE_DEBUG_LEVEL=2
; -D CONFIG_BT_NIMBLE_DEBUG=1 ; -D CONFIG_BT_NIMBLE_DEBUG=1
; -D CONFIG_NIMBLE_CPP_LOG_LEVEL=4 ; -D CONFIG_NIMBLE_CPP_LOG_LEVEL=4
@ -44,35 +40,33 @@ build_flags =
build_unflags = build_unflags =
framework = arduino framework = arduino
lib_deps = lib_deps =
AsyncTCP = https://github.com/pbolduc/AsyncTCP.git@^1.2.0 AsyncTCP = https://github.com/pbolduc/AsyncTCP.git@^1.2.0
https://github.com/ESPresense/ESPAsyncWebServer.git https://github.com/ESPresense/ESPAsyncWebServer.git
https://github.com/ESPresense/AsyncWiFiSettings.git#1.0.6 https://github.com/ESPresense/AsyncWiFiSettings.git#1.0.6
https://github.com/ESPresense/SoftFilters.git https://github.com/ESPresense/SoftFilters.git
https://github.com/ESPresense/NimBLE-Arduino.git https://github.com/ESPresense/NimBLE-Arduino.git
marvinroger/AsyncMqttClient@^0.9.0 marvinroger/AsyncMqttClient@^0.9.0
bblanchon/ArduinoJson@^6.19.3 bblanchon/ArduinoJson@^6.19.3
kitesurfer1404/WS2812FX@^1.4.1 kitesurfer1404/WS2812FX@^1.4.1
board_build.partitions = partitions_singleapp.csv
monitor_speed = 115200
monitor_filters = esp32_exception_decoder, time
upload_speed = 1500000
[esp32] [esp32]
platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.02.00/platform-espressif32.zip extends = common
platform_packages = board = esp32dev
debug_tool = esp-prog debug_tool = esp-prog
framework = ${common.framework}
build_unflags = ${common.build_unflags}
build_flags = -g build_flags = -g
-D ARDUINO_ARCH_ESP32 -D ARDUINO_ARCH_ESP32
-D CONFIG_BT_NIMBLE_PINNED_TO_CORE=1 -D CONFIG_BT_NIMBLE_PINNED_TO_CORE=1
-D REPORT_PINNED_TO_CORE=1 -D REPORT_PINNED_TO_CORE=1
-D CONFIG_USE_ETHERNET -D CONFIG_USE_ETHERNET
${common.build_flags} ${common.build_flags}
lib_deps = ${common.lib_deps}
[esp32c3] [esp32c3]
platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.4/platform-espressif32-2.0.4.zip extends = common
platform_packages = board = esp32-c3-devkitm-1
framework = ${common.framework}
build_unflags = ${common.build_unflags}
build_flags = -g build_flags = -g
-D ARDUINO_ARCH_ESP32 -D ARDUINO_ARCH_ESP32
-D ARDUINO_ARCH_ESP32C3 -D ARDUINO_ARCH_ESP32C3
@ -80,182 +74,152 @@ build_flags = -g
-D CO -D CO
-D CONFIG_BT_NIMBLE_PINNED_TO_CORE=0 -D CONFIG_BT_NIMBLE_PINNED_TO_CORE=0
-D REPORT_PINNED_TO_CORE=0 -D REPORT_PINNED_TO_CORE=0
-D ESP32C3
${common.build_flags}
[esp32s3]
extends = common
board = esp32-s3-devkitc-1
build_flags = -g
-D ARDUINO_ARCH_ESP32
-D ARDUINO_ARCH_ESP32S3
-D CONFIG_IDF_TARGET_ESP32S3
-D CO
-D CONFIG_BT_NIMBLE_PINNED_TO_CORE=1
-D REPORT_PINNED_TO_CORE=1
-D ESP32S3
${common.build_flags} ${common.build_flags}
lib_deps = ${common.lib_deps}
[sensors] [sensors]
lib_deps = lib_deps =
adafruit/Adafruit Unified Sensor@^1.1.4 adafruit/Adafruit Unified Sensor@^1.1.4
adafruit/Adafruit AHTX0@^2.0.3 adafruit/Adafruit AHTX0@^2.0.3
adafruit/Adafruit BME280 Library@^2.2.2 adafruit/Adafruit BME280 Library@^2.2.2
adafruit/Adafruit BMP085 Library@^1.2.1 adafruit/Adafruit BMP085 Library@^1.2.1
adafruit/Adafruit BMP280 Library@^2.6.3 adafruit/Adafruit BMP280 Library@^2.6.3
adafruit/Adafruit TSL2561@^1.1.0 adafruit/Adafruit TSL2561@^1.1.0
starmbi/hp_BH1750@^1.0.0 starmbi/hp_BH1750@^1.0.0
beegee-tokyo/DHT sensor library for ESPx@^1.18 beegee-tokyo/DHT sensor library for ESPx@^1.18
sparkfun/SparkFun SGP30 Arduino Library@^1.0.5 sparkfun/SparkFun SGP30 Arduino Library@^1.0.5
sensirion/arduino-sht@^1.2.2 sensirion/arduino-sht@^1.2.2
[env:esp32] [env:esp32]
extends = esp32 extends = esp32
platform = ${esp32.platform}
platform_packages = ${esp32.platform_packages}
framework = ${esp32.framework}
board = esp32dev
lib_deps = lib_deps =
${esp32.lib_deps} ${esp32.lib_deps}
${sensors.lib_deps} ${sensors.lib_deps}
board_build.partitions = partitions_singleapp.csv
monitor_speed = 115200
upload_speed = 1500000
monitor_filters = esp32_exception_decoder, time
build_unflags = ${esp32.build_unflags}
build_flags = build_flags =
-D FIRMWARE='"esp32"' -D FIRMWARE='"esp32"'
-D SENSORS -D SENSORS
${esp32.build_flags} ${esp32.build_flags}
[env:esp32c3] [env:esp32c3]
extends = esp32c3 extends = esp32c3
platform = ${esp32c3.platform}
platform_packages = ${esp32c3.platform_packages}
framework = ${esp32c3.framework}
board = esp32-c3-devkitm-1
board_build.partitions = partitions_singleapp.csv
monitor_speed = 115200
upload_speed = 1500000
monitor_filters = esp32_exception_decoder, time
lib_deps = lib_deps =
${esp32c3.lib_deps} ${esp32c3.lib_deps}
${sensors.lib_deps} ${sensors.lib_deps}
build_unflags = ${esp32c3.build_unflags}
build_flags = build_flags =
-D FIRMWARE='"esp32c3"' -D FIRMWARE='"esp32c3"'
-D SENSORS -D SENSORS
-D ESP32C3 ${esp32c3.build_flags}
${esp32c3.build_flags}
[env:esp32s3]
extends = esp32s3
lib_deps =
${esp32s3.lib_deps}
${sensors.lib_deps}
build_flags =
-D FIRMWARE='"esp32s3"'
-D SENSORS
${esp32s3.build_flags}
[env:esp32-verbose] [env:esp32-verbose]
extends = esp32 extends = esp32
platform = ${esp32.platform}
platform_packages = ${esp32.platform_packages}
framework = ${esp32.framework}
board = esp32dev
lib_deps = lib_deps =
${esp32.lib_deps} ${esp32.lib_deps}
${sensors.lib_deps} ${sensors.lib_deps}
board_build.partitions = partitions_singleapp.csv
monitor_speed = 115200
upload_speed = 1500000
monitor_filters = esp32_exception_decoder, time
build_unflags = ${esp32.build_unflags}
build_flags = build_flags =
-D CORE_DEBUG_LEVEL=2 -D CORE_DEBUG_LEVEL=2
-D FIRMWARE='"esp32-verbose"' -D FIRMWARE='"esp32-verbose"'
-D VERBOSE -D VERBOSE
-D SENSORS -D SENSORS
${esp32.build_flags} ${esp32.build_flags}
[env:esp32c3-verbose] [env:esp32c3-verbose]
extends = esp32c3 extends = esp32c3
platform = ${esp32c3.platform}
platform_packages = ${esp32c3.platform_packages}
framework = ${esp32c3.framework}
board = esp32-c3-devkitm-1
lib_deps = lib_deps =
${esp32.lib_deps} ${esp32.lib_deps}
${sensors.lib_deps} ${sensors.lib_deps}
board_build.partitions = partitions_singleapp.csv
monitor_speed = 115200
upload_speed = 1500000
monitor_filters = esp32_exception_decoder, time
build_unflags = ${esp32c3.build_unflags}
build_flags = build_flags =
-D CORE_DEBUG_LEVEL=2 -D CORE_DEBUG_LEVEL=2
-D FIRMWARE='"esp32c3-verbose"' -D FIRMWARE='"esp32c3-verbose"'
-D VERBOSE -D VERBOSE
-D SENSORS -D SENSORS
${esp32c3.build_flags} ${esp32c3.build_flags}
[env:esp32s3-verbose]
extends = esp32s3
lib_deps =
${esp32s3.lib_deps}
${sensors.lib_deps}
build_flags =
-D CORE_DEBUG_LEVEL=2
-D FIRMWARE='"esp32s3-verbose"'
-D VERBOSE
-D SENSORS
${esp32s3.build_flags}
[env:m5stickc] [env:m5stickc]
extends = esp32 extends = esp32
platform = ${esp32.platform}
platform_packages = ${esp32.platform_packages}
framework = ${esp32.framework}
board = m5stick-c board = m5stick-c
lib_deps = lib_deps =
https://github.com/ESPresense/TFT_eSPI.git https://github.com/ESPresense/TFT_eSPI.git
https://github.com/ESPresense/TB_Display.git https://github.com/ESPresense/TB_Display.git
${esp32.lib_deps} ${esp32.lib_deps}
${sensors.lib_deps} ${sensors.lib_deps}
board_build.partitions = partitions_singleapp.csv
monitor_speed = 115200
monitor_filters = esp32_exception_decoder, time
build_unflags = ${esp32.build_unflags}
build_flags = build_flags =
-D TFT_FONT=1 -D TFT_FONT=1
-D M5STICK -D M5STICK
-D FIRMWARE='"m5stickc"' -D FIRMWARE='"m5stickc"'
-D SENSORS -D SENSORS
${esp32.build_flags} ${esp32.build_flags}
[env:m5stickc-plus] [env:m5stickc-plus]
extends = esp32 extends = esp32
platform = ${esp32.platform}
platform_packages = ${esp32.platform_packages}
framework = ${esp32.framework}
board = m5stick-c board = m5stick-c
lib_deps = lib_deps =
https://github.com/ESPresense/TFT_eSPI.git https://github.com/ESPresense/TFT_eSPI.git
https://github.com/ESPresense/TB_Display.git https://github.com/ESPresense/TB_Display.git
${esp32.lib_deps} ${esp32.lib_deps}
${sensors.lib_deps} ${sensors.lib_deps}
board_build.partitions = partitions_singleapp.csv
monitor_speed = 115200
monitor_filters = esp32_exception_decoder, time
build_unflags = ${esp32.build_unflags}
build_flags = build_flags =
-D TFT_FONT=2 -D TFT_FONT=2
-D M5STICK -D M5STICK
-D PLUS -D PLUS
-D FIRMWARE='"m5stickc-plus"' -D FIRMWARE='"m5stickc-plus"'
-D SENSORS -D SENSORS
${esp32.build_flags} ${esp32.build_flags}
[env:m5atom] [env:m5atom]
extends = esp32 extends = esp32
platform = ${esp32.platform}
platform_packages = ${esp32.platform_packages}
framework = ${esp32.framework}
board = m5stack-atom board = m5stack-atom
lib_deps = lib_deps =
${esp32.lib_deps} ${esp32.lib_deps}
${sensors.lib_deps} ${sensors.lib_deps}
board_build.partitions = partitions_singleapp.csv
monitor_speed = 115200
monitor_filters = esp32_exception_decoder, time
build_unflags = ${esp32.build_unflags}
build_flags = build_flags =
-D M5ATOM -D M5ATOM
-D MATRIX -D MATRIX
-D FIRMWARE='"m5atom"' -D FIRMWARE='"m5atom"'
-D SENSORS -D SENSORS
${esp32.build_flags} ${esp32.build_flags}
[env:macchina-a0] [env:macchina-a0]
extends = esp32 extends = esp32
platform = ${esp32.platform}
platform_packages = ${esp32.platform_packages}
framework = ${esp32.framework}
board = esp32dev
lib_deps = lib_deps =
${esp32.lib_deps} ${esp32.lib_deps}
${sensors.lib_deps} ${sensors.lib_deps}
board_build.partitions = partitions_singleapp.csv
monitor_speed = 115200
build_unflags = ${esp32.build_unflags}
build_flags = build_flags =
-D MACCHINA_A0 -D MACCHINA_A0
-D FIRMWARE='"macchina-a0"' -D FIRMWARE='"macchina-a0"'
-D SENSORS -D SENSORS
${esp32.build_flags} ${esp32.build_flags}