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
insert_final_newline = true
max_line_length = 999
# 4 spaces indentation
[*.ino]
indent_style = space
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') }}
- name: Set up Python
uses: actions/setup-python@v4
- name: Install PlatformIO
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
pio platform update
pio run -t clean
pip install wheel
pip install -U platformio
- name: Setup github_head_sha
run: echo "GITHUB_HEAD_SHA=${{ github.event.pull_request.head.sha }}" >> $GITHUB_ENV
if: ${{ github.event_name == 'pull_request' }}
@ -43,28 +43,19 @@ jobs:
run: echo "PLATFORMIO_BUILD_FLAGS=-DVERSION='\"${GITHUB_REF#refs/*/}\"'" >> $GITHUB_ENV
if: startsWith(github.ref, 'refs/tags/v')
- 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
run: |
cp .pio/build/esp32/firmware.bin esp32.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/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-plus/firmware.bin m5stickc-plus.bin
cp .pio/build/m5atom/firmware.bin m5atom.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
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/v')

View File

@ -34,4 +34,4 @@ jobs:
pio platform update
pio run -t clean
- 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
; https://docs.platformio.org/page/projectconf.html
@ -22,19 +15,22 @@ check_flags =
check_skip_packages = yes
[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
build_flags =
-Wall
-Wextra
-Wformat=2
-Wformat-truncation
-D CONFIG_BT_NIMBLE_TASK_STACK_SIZE=4096
-D SCAN_TASK_STACK_SIZE=2096
-D ARDUINO_LOOP_STACK_SIZE=6144
-D MQTT_MIN_FREE_MEMORY=12192
-D CONFIG_ASYNC_TCP_USE_WDT=0
-D CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=20
-D BLE_GATTC_UNRESPONSIVE_TIMEOUT_MS=2000
-Wall
-Wextra
-Wformat=2
-Wformat-truncation
-D CONFIG_BT_NIMBLE_TASK_STACK_SIZE=4096
-D SCAN_TASK_STACK_SIZE=2096
-D ARDUINO_LOOP_STACK_SIZE=6144
-D MQTT_MIN_FREE_MEMORY=12192
-D CONFIG_ASYNC_TCP_USE_WDT=0
-D CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=20
-D BLE_GATTC_UNRESPONSIVE_TIMEOUT_MS=2000
; -D CORE_DEBUG_LEVEL=2
; -D CONFIG_BT_NIMBLE_DEBUG=1
; -D CONFIG_NIMBLE_CPP_LOG_LEVEL=4
@ -44,35 +40,33 @@ build_flags =
build_unflags =
framework = arduino
lib_deps =
AsyncTCP = https://github.com/pbolduc/AsyncTCP.git@^1.2.0
https://github.com/ESPresense/ESPAsyncWebServer.git
https://github.com/ESPresense/AsyncWiFiSettings.git#1.0.6
https://github.com/ESPresense/SoftFilters.git
https://github.com/ESPresense/NimBLE-Arduino.git
marvinroger/AsyncMqttClient@^0.9.0
bblanchon/ArduinoJson@^6.19.3
kitesurfer1404/WS2812FX@^1.4.1
AsyncTCP = https://github.com/pbolduc/AsyncTCP.git@^1.2.0
https://github.com/ESPresense/ESPAsyncWebServer.git
https://github.com/ESPresense/AsyncWiFiSettings.git#1.0.6
https://github.com/ESPresense/SoftFilters.git
https://github.com/ESPresense/NimBLE-Arduino.git
marvinroger/AsyncMqttClient@^0.9.0
bblanchon/ArduinoJson@^6.19.3
kitesurfer1404/WS2812FX@^1.4.1
board_build.partitions = partitions_singleapp.csv
monitor_speed = 115200
monitor_filters = esp32_exception_decoder, time
upload_speed = 1500000
[esp32]
platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.02.00/platform-espressif32.zip
platform_packages =
extends = common
board = esp32dev
debug_tool = esp-prog
framework = ${common.framework}
build_unflags = ${common.build_unflags}
build_flags = -g
-D ARDUINO_ARCH_ESP32
-D CONFIG_BT_NIMBLE_PINNED_TO_CORE=1
-D REPORT_PINNED_TO_CORE=1
-D CONFIG_USE_ETHERNET
${common.build_flags}
lib_deps = ${common.lib_deps}
[esp32c3]
platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.4/platform-espressif32-2.0.4.zip
platform_packages =
framework = ${common.framework}
build_unflags = ${common.build_unflags}
extends = common
board = esp32-c3-devkitm-1
build_flags = -g
-D ARDUINO_ARCH_ESP32
-D ARDUINO_ARCH_ESP32C3
@ -80,182 +74,152 @@ build_flags = -g
-D CO
-D CONFIG_BT_NIMBLE_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}
lib_deps = ${common.lib_deps}
[sensors]
lib_deps =
adafruit/Adafruit Unified Sensor@^1.1.4
adafruit/Adafruit AHTX0@^2.0.3
adafruit/Adafruit BME280 Library@^2.2.2
adafruit/Adafruit BMP085 Library@^1.2.1
adafruit/Adafruit BMP280 Library@^2.6.3
adafruit/Adafruit TSL2561@^1.1.0
starmbi/hp_BH1750@^1.0.0
beegee-tokyo/DHT sensor library for ESPx@^1.18
sparkfun/SparkFun SGP30 Arduino Library@^1.0.5
sensirion/arduino-sht@^1.2.2
adafruit/Adafruit Unified Sensor@^1.1.4
adafruit/Adafruit AHTX0@^2.0.3
adafruit/Adafruit BME280 Library@^2.2.2
adafruit/Adafruit BMP085 Library@^1.2.1
adafruit/Adafruit BMP280 Library@^2.6.3
adafruit/Adafruit TSL2561@^1.1.0
starmbi/hp_BH1750@^1.0.0
beegee-tokyo/DHT sensor library for ESPx@^1.18
sparkfun/SparkFun SGP30 Arduino Library@^1.0.5
sensirion/arduino-sht@^1.2.2
[env:esp32]
extends = esp32
platform = ${esp32.platform}
platform_packages = ${esp32.platform_packages}
framework = ${esp32.framework}
board = esp32dev
lib_deps =
${esp32.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}
${esp32.lib_deps}
${sensors.lib_deps}
build_flags =
-D FIRMWARE='"esp32"'
-D SENSORS
${esp32.build_flags}
-D FIRMWARE='"esp32"'
-D SENSORS
${esp32.build_flags}
[env: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 =
${esp32c3.lib_deps}
${sensors.lib_deps}
build_unflags = ${esp32c3.build_unflags}
${esp32c3.lib_deps}
${sensors.lib_deps}
build_flags =
-D FIRMWARE='"esp32c3"'
-D SENSORS
-D ESP32C3
${esp32c3.build_flags}
-D FIRMWARE='"esp32c3"'
-D SENSORS
${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]
extends = esp32
platform = ${esp32.platform}
platform_packages = ${esp32.platform_packages}
framework = ${esp32.framework}
board = esp32dev
lib_deps =
${esp32.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}
${esp32.lib_deps}
${sensors.lib_deps}
build_flags =
-D CORE_DEBUG_LEVEL=2
-D FIRMWARE='"esp32-verbose"'
-D VERBOSE
-D SENSORS
${esp32.build_flags}
-D CORE_DEBUG_LEVEL=2
-D FIRMWARE='"esp32-verbose"'
-D VERBOSE
-D SENSORS
${esp32.build_flags}
[env:esp32c3-verbose]
extends = esp32c3
platform = ${esp32c3.platform}
platform_packages = ${esp32c3.platform_packages}
framework = ${esp32c3.framework}
board = esp32-c3-devkitm-1
lib_deps =
${esp32.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}
${esp32.lib_deps}
${sensors.lib_deps}
build_flags =
-D CORE_DEBUG_LEVEL=2
-D FIRMWARE='"esp32c3-verbose"'
-D VERBOSE
-D SENSORS
${esp32c3.build_flags}
-D CORE_DEBUG_LEVEL=2
-D FIRMWARE='"esp32c3-verbose"'
-D VERBOSE
-D SENSORS
${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]
extends = esp32
platform = ${esp32.platform}
platform_packages = ${esp32.platform_packages}
framework = ${esp32.framework}
board = m5stick-c
lib_deps =
https://github.com/ESPresense/TFT_eSPI.git
https://github.com/ESPresense/TB_Display.git
${esp32.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}
https://github.com/ESPresense/TFT_eSPI.git
https://github.com/ESPresense/TB_Display.git
${esp32.lib_deps}
${sensors.lib_deps}
build_flags =
-D TFT_FONT=1
-D M5STICK
-D FIRMWARE='"m5stickc"'
-D SENSORS
${esp32.build_flags}
-D TFT_FONT=1
-D M5STICK
-D FIRMWARE='"m5stickc"'
-D SENSORS
${esp32.build_flags}
[env:m5stickc-plus]
extends = esp32
platform = ${esp32.platform}
platform_packages = ${esp32.platform_packages}
framework = ${esp32.framework}
board = m5stick-c
lib_deps =
https://github.com/ESPresense/TFT_eSPI.git
https://github.com/ESPresense/TB_Display.git
${esp32.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}
https://github.com/ESPresense/TFT_eSPI.git
https://github.com/ESPresense/TB_Display.git
${esp32.lib_deps}
${sensors.lib_deps}
build_flags =
-D TFT_FONT=2
-D M5STICK
-D PLUS
-D FIRMWARE='"m5stickc-plus"'
-D SENSORS
${esp32.build_flags}
-D TFT_FONT=2
-D M5STICK
-D PLUS
-D FIRMWARE='"m5stickc-plus"'
-D SENSORS
${esp32.build_flags}
[env:m5atom]
extends = esp32
platform = ${esp32.platform}
platform_packages = ${esp32.platform_packages}
framework = ${esp32.framework}
board = m5stack-atom
lib_deps =
${esp32.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}
${esp32.lib_deps}
${sensors.lib_deps}
build_flags =
-D M5ATOM
-D MATRIX
-D FIRMWARE='"m5atom"'
-D SENSORS
${esp32.build_flags}
-D M5ATOM
-D MATRIX
-D FIRMWARE='"m5atom"'
-D SENSORS
${esp32.build_flags}
[env:macchina-a0]
extends = esp32
platform = ${esp32.platform}
platform_packages = ${esp32.platform_packages}
framework = ${esp32.framework}
board = esp32dev
lib_deps =
${esp32.lib_deps}
${sensors.lib_deps}
board_build.partitions = partitions_singleapp.csv
monitor_speed = 115200
build_unflags = ${esp32.build_unflags}
${esp32.lib_deps}
${sensors.lib_deps}
build_flags =
-D MACCHINA_A0
-D FIRMWARE='"macchina-a0"'
-D SENSORS
${esp32.build_flags}
-D MACCHINA_A0
-D FIRMWARE='"macchina-a0"'
-D SENSORS
${esp32.build_flags}