Skip to content

Commit

Permalink
Tasmota/205 (#23)
Browse files Browse the repository at this point in the history
* Create lionbit config file (platformio#692)

* Create lionbit config file

* Changed upload speed.

* Update ESP-IDF to the latest v4.3.2

v4.3.2 also requires updated toolchains

* PSRAM fix not needed for M5 stack core2 (platformio#676)

since all m5 stack core 2 have a actual PSRAM bug free version

* Add Franzininho WiFi Board (platformio#642)

* Update latest toolchains to patched versions

Resolve platformio#705

* Tasmota/203

* Changes for C3 and S3

* Add Adafruit Feather ESP32 V2 board

* S2 has no PSRAM bugs which needs fixes

* Fix Esptool S3 bootloader patching

Co-authored-by: Maximilian Gerhardt <maximilian.gerhardt@rub.de>

* Tasmota esptool v3.3

* toolchain-xtensa 8.4.0+2021r2-patch3

* 8.4.0+2021r2-patch3

* Update platform.json

* Revert espressif/arduino-esp32#6456

since it generates crashes

* Add files via upload

* Add files via upload

* Add files via upload

* Update featheresp32-s2.json

* Update main.py

* Update platform.json

* Update platform.py

* Integrate upstream develop changes

* Update platform.json

* Update platform.py

* Integrate upstream 2

* Update esp32-s2-franzininho.json

* Update _embed_files.py

* Update main.py

* Update platform.json

* Update platform.py

* updates 21.04.2022 (#15)

* Tasmota/dev apple

* Update platform.json

* Update platform.py

* Update README.md

* Update OCD Apple Silicon to build from 20220424

* esptool.py v3.3 now in registry

* Add CMSIS-DAP as available debug probe

* Use GetBuildType for detecting debug mode

* rm Python2 add C3 exception decoder

* remove fix firmware address 0x10000

* Apple arm toolchains for IDF

* Arduino framework based on IDF4.4.1

* Use Tasmota release versions

* Compile IDF bootloader with optimizations by default

By default the size of bootloader is limited to 0x2000 bytes,
in debug mode the footprint can be easily grow beyond this limit

* Update examples.yml

* esptool.py v3.3.1

* Update platform.py

* add `_get_board_boot_mode`

* esptool.py v4.0.1

* Improve support for assembly programming

* Add compatibility with PIO Core 6.0

* Update platform.py

* Update examples.yml

* Explicitly exit from build process when there is default IDF component

* revert Use empty ASM and CXX flags if config empty

* Update main.py

* Update platform.py

* "platformio": "^6"

* Update _bare.py

* Update platform.py

* Delete compat.py

* Platformio core 6.0.2

since Tasmota uses ino folder feature, which is introduced with 6.0.2

* pio core v6.0.2

* Add misso

* Missing `:` in class def

* Esptool v4.1

* Esptool v4.1

* really Esptool v4.1

* really Esptool v4.1

* Boards update

* add framework espidf to all boards

* Update espidf.py

* use upstream version

* Update platform.py

* Update platform.py

* Integrate upstream updates (#21)

* Update featheresp32-s2.json

* Update main.py

* Update platform.json

* Update platform.py

* Integrate upstream develop changes

* Update platform.json

* Update platform.py

* Integrate upstream 2

* Update esp32-s2-franzininho.json

* Update _embed_files.py

* Update main.py

* Update platform.json

* Update platform.py

* updates 21.04.2022 (#15)

* Tasmota/dev apple

* Update platform.json

* Update platform.py

* Update README.md

* Update OCD Apple Silicon to build from 20220424

* esptool.py v3.3 now in registry

* Add CMSIS-DAP as available debug probe

* Use GetBuildType for detecting debug mode

* rm Python2 add C3 exception decoder

* remove fix firmware address 0x10000

* Apple arm toolchains for IDF

* Arduino framework based on IDF4.4.1

* Use Tasmota release versions

* Compile IDF bootloader with optimizations by default

By default the size of bootloader is limited to 0x2000 bytes,
in debug mode the footprint can be easily grow beyond this limit

* Update examples.yml

* esptool.py v3.3.1

* Update platform.py

* add `_get_board_boot_mode`

* esptool.py v4.0.1

* Improve support for assembly programming

* Add compatibility with PIO Core 6.0

* Update platform.py

* Update examples.yml

* Explicitly exit from build process when there is default IDF component

* revert Use empty ASM and CXX flags if config empty

* Update main.py

* Update platform.py

* "platformio": "^6"

* Update _bare.py

* Update platform.py

* Delete compat.py

* Platformio core 6.0.2

since Tasmota uses ino folder feature, which is introduced with 6.0.2

* Add misso

* Esptool v4.1

* really Esptool v4.1

* Boards update

* add framework espidf to all boards

* Update espidf.py

* Update platform.py

* Update platform.py

* Update README.md

* Update README.md

* Back to esptool.py v3.3.1

since v4 does not work with S3 > 4MB !!

* --dont-append-digest

* Back to esptool v3.3.1

since header patching is not working anymore when using esptool merge

* revert "--dont-append-digest"

* Tasmota 204pre

* Update esp32-s3-devkitc-1.json

* Update esp32-s3-devkitc-1.json

* Core 2.0.4 / IDF 442 (#23)

* Tasmota github for core 204

* Update README.md

* core 2.0.4

* Tasmota github as source

* --dont-append-digest

* esptool v4.1

* 2.0.5dev

* platformio": ">=6.1.0

* Update espidf.py

* Add default nameOnDisk value for external CMake projects

* Build 918

newest wifi libs from idf44

* Tasmota IDF 4.4.3

* Tasmota Core 2.0.4.1 based on IDF 4.4.3

* Tasmota release Core 2.0.4.1

* stable 2.0.4.1

* Merge firmware before flashing via OpenOCD

* Merge firmware before flashing via OpenOCD

* Update arduino.py

* Update espidf.py

* update boards 1/2

* Update Boards 2/2

* v2.0.4.1

* FIx OCD flash, Esptool v4.1, Board updates (#24)

* Tasmota github as source

* --dont-append-digest

* esptool v4.1

* 2.0.5dev

* platformio": ">=6.1.0

* Update espidf.py

* Add default nameOnDisk value for external CMake projects

* Build 918

newest wifi libs from idf44

* Tasmota IDF 4.4.3

* Tasmota release Core 2.0.4.1

* Merge firmware before flashing via OpenOCD

* Merge firmware before flashing via OpenOCD

* Update arduino.py

* Update espidf.py

* update boards 1/2

* Update Boards 2/2

* v2.0.4.1

* Mode qio

* Mode qio

* Board supports qio

* OpenOCD has now apple ARM support

* rm custom OpenOCD

* fix install OpenOCD

* Allow overriding reset operation via project file

* Allow overriding reset operation via project file

* flash options from env for uploadfs

* revert

* flash options from env for uploadfs

* no .DS_Store

* fix boot flash mode

* refactor

* Fix bootloader flash mode

* Allow overriding reset operation via project file
* fix boot flash mode

* Esptool.py v4.2.1

* Update platform.json

* Update bootloader image headers before debugging or uploading via deb…

…ug tools
This approach is less intrusive than merging the entire application into one binary
implemented in #006d64e8b268e479703a0aac7eed8bef1ebea587

In this implementation we safely copy the required bootloader binary to the
build directory, adjust the headers via esptoolpy and the "merge_bin" command
according to --flash-size and --flash-mode arguments.

* Change in OCD firmware generation

In this implementation we safely copy the required bootloader binary to the
build directory, adjust the headers via esptoolpy and the "merge_bin" command
according to --flash-size and --flash-mode arguments.

* better specs

* qio and 8MB and faster upload

* replace deprecated flash modes

* Board support faster flash mode

* Update boards manifests (#27)

* Tasmota github as source

* --dont-append-digest

* esptool v4.1

* 2.0.5dev

* platformio": ">=6.1.0

* Update espidf.py

* Add default nameOnDisk value for external CMake projects

* Build 918

newest wifi libs from idf44

* Tasmota IDF 4.4.3

* Tasmota release Core 2.0.4.1

* Merge firmware before flashing via OpenOCD

* Merge firmware before flashing via OpenOCD

* Update arduino.py

* Update espidf.py

* update boards 1/2

* Update Boards 2/2

* v2.0.4.1

* Mode qio

* Board supports qio

* OpenOCD has now apple ARM support

* rm custom OpenOCD

* fix install OpenOCD

* Allow overriding reset operation via project file

* flash options from env for uploadfs

* revert

* flash options from env for uploadfs

* no .DS_Store

* fix boot flash mode

* refactor

* Esptool.py v4.2.1

* Update bootloader image headers before debugging or uploading via deb…

…ug tools
This approach is less intrusive than merging the entire application into one binary
implemented in #006d64e8b268e479703a0aac7eed8bef1ebea587

In this implementation we safely copy the required bootloader binary to the
build directory, adjust the headers via esptoolpy and the "merge_bin" command
according to --flash-size and --flash-mode arguments.

* better specs

* replace deprecated flash modes

* Board support faster flash mode

* now "memory_type": "qio_opi"

* qio

* opi flash needs flash mode `dout`

flash mode `dio `works for `qout` as mode too

* 8 MB

* 8 MB

* Tasmota/205

* Update IDF to 4.4.3.1

* Use S2 / S3 / C3 as board

* cmake v3.21

* core pre 2.0.5

* Move the process of patching bootloader to the Arduino build script

* Remove obsolete workaround for propagating debug configurations

* Update platform.py

* Update platform.json

* Update sdkconfig.defaults

* PSK needed for wifi

* Update Arduino / IDF

* Update platform.json

* Update platform.json

* Update main.py

* Update platform.py

Co-authored-by: Niwantha Nadeesh Meepage <niwantha33@gmail.com>
Co-authored-by: valeros <valeros08@gmail.com>
Co-authored-by: Anderson Costa <arcostasi@gmail.com>
Co-authored-by: Valerii Koval <valeros@users.noreply.github.com>
Co-authored-by: Maximilian Gerhardt <maximilian.gerhardt@rub.de>
  • Loading branch information
6 people authored Sep 4, 2022
1 parent 5950479 commit 0669ae6
Show file tree
Hide file tree
Showing 149 changed files with 4,068 additions and 2,292 deletions.
22 changes: 11 additions & 11 deletions .github/workflows/examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,17 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-18.04, windows-latest, macos-latest]
python-version: [3.7]
os: [ubuntu-latest, windows-latest, macos-latest]
example:
- "examples/arduino-ble5-advertising"
- "examples/arduino-blink"
- "examples/arduino-rmt-blink"
- "examples/arduino-briki-internal-libs"
- "examples/arduino-usb-keyboard"
- "examples/arduino-wifiscan"
- "examples/espidf-arduino-blink"
- "examples/espidf-arduino-wifiscan"
- "examples/espidf-blink"
- "examples/espidf-aws-iot"
- "examples/espidf-ble-eddystone"
- "examples/espidf-coap-server"
Expand All @@ -27,22 +30,19 @@ jobs:
- "examples/espidf-storage-spiffs"
- "examples/espidf-ulp-adc"
- "examples/espidf-ulp-pulse"
- "examples/pumbaa-blink"
- "examples/simba-blink"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: "recursive"
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
python-version: "3.9"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -U https://github.com/platformio/platformio/archive/develop.zip
platformio platform install file://.
pio pkg install --global --platform symlink://.
- name: Build examples
run: |
platformio run -d ${{ matrix.example }}
pio run -d ${{ matrix.example }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
*.pyc
.DS_Store
18 changes: 6 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Espressif 32: development platform for [PlatformIO](http://platformio.org)
[![Build_special_firmware](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)

[![Build Status](https://github.com/platformio/platform-espressif32/workflows/Examples/badge.svg)](https://github.com/platformio/platform-espressif32/actions)

# Tasmota Espressif 32: development platform for [PlatformIO](http://platformio.org)

[![Examples](https://github.com/Jason2866/platform-espressif32/actions/workflows/examples.yml/badge.svg)](https://github.com/Jason2866/platform-espressif32/actions/workflows/examples.yml)[![GitHub Releases](https://img.shields.io/github/downloads/tasmota/platform-espressif32/total?label=downloads)](https://github.com/tasmota/platform-espressif32/releases/latest)

Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

Expand All @@ -16,16 +19,7 @@ Espressif Systems is a privately held fabless semiconductor company. They provid

```ini
[env:stable]
platform = espressif32
board = ...
...
```

## Development version

```ini
[env:development]
platform = https://github.com/platformio/platform-espressif32.git
platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.4.1/platform-espressif32-2.0.4.1.zip
board = ...
...
```
Expand Down
42 changes: 42 additions & 0 deletions boards/adafruit_feather_esp32_v2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"build": {
"arduino":{
"ldscript": "esp32_out.ld"
},
"core": "esp32",
"extra_flags": [
"-DARDUINO_ADAFRUIT_FEATHER_ESP32_V2",
"-DBOARD_HAS_PSRAM",
"-mfix-esp32-psram-cache-issue",
"-mfix-esp32-psram-cache-strategy=memw"
],
"f_cpu": "240000000L",
"f_flash": "40000000L",
"flash_mode": "dio",
"mcu": "esp32",
"variant": "adafruit_feather_esp32_v2"
},
"connectivity": [
"wifi",
"bluetooth",
"ethernet",
"can"
],
"debug": {
"openocd_board": "esp-wroom-32.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Adafruit Feather ESP32 V2",
"upload": {
"flash_size": "8MB",
"maximum_ram_size": 327680,
"maximum_size": 8388608,
"require_upload_port": true,
"speed": 460800
},
"url": "https://www.adafruit.com/product/5400",
"vendor": "Adafruit"
}
55 changes: 55 additions & 0 deletions boards/adafruit_feather_esp32s2_tft.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"build": {
"arduino": {
"ldscript": "esp32s2_out.ld",
"partitions": "partitions-4MB-tinyuf2.csv"
},
"core": "esp32",
"extra_flags": [
"-DARDUINO_ADAFRUIT_FEATHER_ESP32S2_TFT",
"-DBOARD_HAS_PSRAM",
"-DARDUINO_USB_CDC_ON_BOOT=1"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"hwids": [
[
"0x239A",
"0x810F"
],
[
"0x239A",
"0x010F"
],
[
"0x239A",
"0x8110"
]
],
"mcu": "esp32s2",
"variant": "adafruit_feather_esp32s2_tft"
},
"connectivity": [
"wifi"
],
"debug": {
"openocd_target": "esp32s2.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Adafruit Feather ESP32-S2 TFT",
"upload": {
"flash_size": "4MB",
"maximum_ram_size": 327680,
"maximum_size": 4194304,
"use_1200bps_touch": true,
"wait_for_upload_port": true,
"require_upload_port": true,
"speed": 460800
},
"url": "https://www.adafruit.com/product/5300",
"vendor": "Adafruit"
}
56 changes: 56 additions & 0 deletions boards/adafruit_feather_esp32s3.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
{
"build": {
"arduino":{
"ldscript": "esp32s3_out.ld",
"partitions": "partitions.csv"
},
"core": "esp32",
"extra_flags": [
"-DARDUINO_ADAFRUIT_FEATHER_ESP32S3",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"hwids": [
[
"0x239A",
"0x811B"
],
[
"0x239A",
"0x011B"
],
[
"0x239A",
"0x811C"
]
],
"mcu": "esp32s3",
"variant": "adafruit_feather_esp32s3"
},
"connectivity": [
"wifi"
],
"debug": {
"openocd_target": "esp32s3.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Adafruit Feather ESP32-S3 2MB PSRAM",
"upload": {
"flash_size": "4MB",
"maximum_ram_size": 327680,
"maximum_size": 4194304,
"use_1200bps_touch": true,
"wait_for_upload_port": true,
"require_upload_port": true,
"speed": 460800
},
"url": "https://www.adafruit.com/product/5477",
"vendor": "Adafruit"
}
63 changes: 63 additions & 0 deletions boards/adafruit_feather_esp32s3_nopsram.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
"build": {
"arduino":{
"ldscript": "esp32s3_out.ld"
},
"core": "esp32",
"extra_flags": [
"-DARDUINO_ADAFRUIT_FEATHER_ESP32S3_NOPSRAM",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"hwids": [
[
"0x239A",
"0x811B"
],
[
"0x239A",
"0x011B"
],
[
"0x239A",
"0x811C"
]
],
"mcu": "esp32s3",
"variant": "adafruit_feather_esp32s3_nopsram"
},
"connectivity": [
"wifi"
],
"debug": {
"openocd_target": "esp32s3.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Adafruit Feather ESP32-S3 No PSRAM",
"upload": {
"arduino": {
"flash_extra_images": [
[
"0x2d0000",
"variants/adafruit_feather_esp32s3_nopsram/tinyuf2.bin"
]
]
},
"flash_size": "8MB",
"maximum_ram_size": 327680,
"maximum_size": 8388608,
"use_1200bps_touch": true,
"wait_for_upload_port": true,
"require_upload_port": true,
"speed": 460800
},
"url": "https://www.adafruit.com/product/5323",
"vendor": "Adafruit"
}
64 changes: 64 additions & 0 deletions boards/adafruit_feather_esp32s3_tft.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"build": {
"arduino": {
"ldscript": "esp32s3_out.ld",
"partitions": "partitions.csv"
},
"core": "esp32",
"extra_flags": [
"-DARDUINO_ADAFRUIT_FEATHER_ESP32S3_TFT",
"-DARDUINO_USB_CDC_ON_BOOT=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"hwids": [
[
"0x239A",
"0x811D"
],
[
"0x239A",
"0x011D"
],
[
"0x239A",
"0x811E"
]
],
"mcu": "esp32s3",
"variant": "adafruit_feather_esp32s3_tft"
},
"connectivity": [
"wifi"
],
"debug": {
"openocd_target": "esp32s3.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Adafruit Feather ESP32-S3 TFT",
"upload": {
"arduino": {
"flash_extra_images": [
[
"0x2d0000",
"variants/adafruit_feather_esp32s3_tft/tinyuf2.bin"
]
]
},
"flash_size": "4MB",
"maximum_ram_size": 327680,
"maximum_size": 4194304,
"use_1200bps_touch": true,
"wait_for_upload_port": true,
"require_upload_port": true,
"speed": 460800
},
"url": "https://www.adafruit.com/product/5483",
"vendor": "Adafruit"
}
Loading

0 comments on commit 0669ae6

Please sign in to comment.