Skip to content

Commit 0669ae6

Browse files
Jason2866niwantha33valerosarcostasimaxgerhardt
authored
Tasmota/205 (#23)
* 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 <[email protected]> * 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 <[email protected]> Co-authored-by: valeros <[email protected]> Co-authored-by: Anderson Costa <[email protected]> Co-authored-by: Valerii Koval <[email protected]> Co-authored-by: Maximilian Gerhardt <[email protected]>
1 parent 5950479 commit 0669ae6

File tree

149 files changed

+4068
-2292
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

149 files changed

+4068
-2292
lines changed

.github/workflows/examples.yml

+11-11
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,17 @@ jobs:
77
strategy:
88
fail-fast: false
99
matrix:
10-
os: [ubuntu-18.04, windows-latest, macos-latest]
11-
python-version: [3.7]
10+
os: [ubuntu-latest, windows-latest, macos-latest]
1211
example:
12+
- "examples/arduino-ble5-advertising"
1313
- "examples/arduino-blink"
14+
- "examples/arduino-rmt-blink"
1415
- "examples/arduino-briki-internal-libs"
16+
- "examples/arduino-usb-keyboard"
1517
- "examples/arduino-wifiscan"
1618
- "examples/espidf-arduino-blink"
1719
- "examples/espidf-arduino-wifiscan"
20+
- "examples/espidf-blink"
1821
- "examples/espidf-aws-iot"
1922
- "examples/espidf-ble-eddystone"
2023
- "examples/espidf-coap-server"
@@ -27,22 +30,19 @@ jobs:
2730
- "examples/espidf-storage-spiffs"
2831
- "examples/espidf-ulp-adc"
2932
- "examples/espidf-ulp-pulse"
30-
- "examples/pumbaa-blink"
31-
- "examples/simba-blink"
3233
runs-on: ${{ matrix.os }}
3334
steps:
34-
- uses: actions/checkout@v2
35+
- uses: actions/checkout@v3
3536
with:
3637
submodules: "recursive"
37-
- name: Set up Python ${{ matrix.python-version }}
38-
uses: actions/setup-python@v1
38+
- name: Set up Python
39+
uses: actions/setup-python@v3
3940
with:
40-
python-version: ${{ matrix.python-version }}
41+
python-version: "3.9"
4142
- name: Install dependencies
4243
run: |
43-
python -m pip install --upgrade pip
4444
pip install -U https://github.com/platformio/platformio/archive/develop.zip
45-
platformio platform install file://.
45+
pio pkg install --global --platform symlink://.
4646
- name: Build examples
4747
run: |
48-
platformio run -d ${{ matrix.example }}
48+
pio run -d ${{ matrix.example }}

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
*.pyc
2+
.DS_Store

README.md

+6-12
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1-
# Espressif 32: development platform for [PlatformIO](http://platformio.org)
1+
[![Build_special_firmware](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)
22

3-
[![Build Status](https://github.com/platformio/platform-espressif32/workflows/Examples/badge.svg)](https://github.com/platformio/platform-espressif32/actions)
3+
4+
# Tasmota Espressif 32: development platform for [PlatformIO](http://platformio.org)
5+
6+
[![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)
47

58
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.
69

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

1720
```ini
1821
[env:stable]
19-
platform = espressif32
20-
board = ...
21-
...
22-
```
23-
24-
## Development version
25-
26-
```ini
27-
[env:development]
28-
platform = https://github.com/platformio/platform-espressif32.git
22+
platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.4.1/platform-espressif32-2.0.4.1.zip
2923
board = ...
3024
...
3125
```

boards/adafruit_feather_esp32_v2.json

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"build": {
3+
"arduino":{
4+
"ldscript": "esp32_out.ld"
5+
},
6+
"core": "esp32",
7+
"extra_flags": [
8+
"-DARDUINO_ADAFRUIT_FEATHER_ESP32_V2",
9+
"-DBOARD_HAS_PSRAM",
10+
"-mfix-esp32-psram-cache-issue",
11+
"-mfix-esp32-psram-cache-strategy=memw"
12+
],
13+
"f_cpu": "240000000L",
14+
"f_flash": "40000000L",
15+
"flash_mode": "dio",
16+
"mcu": "esp32",
17+
"variant": "adafruit_feather_esp32_v2"
18+
},
19+
"connectivity": [
20+
"wifi",
21+
"bluetooth",
22+
"ethernet",
23+
"can"
24+
],
25+
"debug": {
26+
"openocd_board": "esp-wroom-32.cfg"
27+
},
28+
"frameworks": [
29+
"arduino",
30+
"espidf"
31+
],
32+
"name": "Adafruit Feather ESP32 V2",
33+
"upload": {
34+
"flash_size": "8MB",
35+
"maximum_ram_size": 327680,
36+
"maximum_size": 8388608,
37+
"require_upload_port": true,
38+
"speed": 460800
39+
},
40+
"url": "https://www.adafruit.com/product/5400",
41+
"vendor": "Adafruit"
42+
}
+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"build": {
3+
"arduino": {
4+
"ldscript": "esp32s2_out.ld",
5+
"partitions": "partitions-4MB-tinyuf2.csv"
6+
},
7+
"core": "esp32",
8+
"extra_flags": [
9+
"-DARDUINO_ADAFRUIT_FEATHER_ESP32S2_TFT",
10+
"-DBOARD_HAS_PSRAM",
11+
"-DARDUINO_USB_CDC_ON_BOOT=1"
12+
],
13+
"f_cpu": "240000000L",
14+
"f_flash": "80000000L",
15+
"flash_mode": "qio",
16+
"hwids": [
17+
[
18+
"0x239A",
19+
"0x810F"
20+
],
21+
[
22+
"0x239A",
23+
"0x010F"
24+
],
25+
[
26+
"0x239A",
27+
"0x8110"
28+
]
29+
],
30+
"mcu": "esp32s2",
31+
"variant": "adafruit_feather_esp32s2_tft"
32+
},
33+
"connectivity": [
34+
"wifi"
35+
],
36+
"debug": {
37+
"openocd_target": "esp32s2.cfg"
38+
},
39+
"frameworks": [
40+
"arduino",
41+
"espidf"
42+
],
43+
"name": "Adafruit Feather ESP32-S2 TFT",
44+
"upload": {
45+
"flash_size": "4MB",
46+
"maximum_ram_size": 327680,
47+
"maximum_size": 4194304,
48+
"use_1200bps_touch": true,
49+
"wait_for_upload_port": true,
50+
"require_upload_port": true,
51+
"speed": 460800
52+
},
53+
"url": "https://www.adafruit.com/product/5300",
54+
"vendor": "Adafruit"
55+
}

boards/adafruit_feather_esp32s3.json

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
{
2+
"build": {
3+
"arduino":{
4+
"ldscript": "esp32s3_out.ld",
5+
"partitions": "partitions.csv"
6+
},
7+
"core": "esp32",
8+
"extra_flags": [
9+
"-DARDUINO_ADAFRUIT_FEATHER_ESP32S3",
10+
"-DARDUINO_USB_CDC_ON_BOOT=1",
11+
"-DARDUINO_RUNNING_CORE=1",
12+
"-DARDUINO_EVENT_RUNNING_CORE=1"
13+
],
14+
"f_cpu": "240000000L",
15+
"f_flash": "80000000L",
16+
"flash_mode": "qio",
17+
"hwids": [
18+
[
19+
"0x239A",
20+
"0x811B"
21+
],
22+
[
23+
"0x239A",
24+
"0x011B"
25+
],
26+
[
27+
"0x239A",
28+
"0x811C"
29+
]
30+
],
31+
"mcu": "esp32s3",
32+
"variant": "adafruit_feather_esp32s3"
33+
},
34+
"connectivity": [
35+
"wifi"
36+
],
37+
"debug": {
38+
"openocd_target": "esp32s3.cfg"
39+
},
40+
"frameworks": [
41+
"arduino",
42+
"espidf"
43+
],
44+
"name": "Adafruit Feather ESP32-S3 2MB PSRAM",
45+
"upload": {
46+
"flash_size": "4MB",
47+
"maximum_ram_size": 327680,
48+
"maximum_size": 4194304,
49+
"use_1200bps_touch": true,
50+
"wait_for_upload_port": true,
51+
"require_upload_port": true,
52+
"speed": 460800
53+
},
54+
"url": "https://www.adafruit.com/product/5477",
55+
"vendor": "Adafruit"
56+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
{
2+
"build": {
3+
"arduino":{
4+
"ldscript": "esp32s3_out.ld"
5+
},
6+
"core": "esp32",
7+
"extra_flags": [
8+
"-DARDUINO_ADAFRUIT_FEATHER_ESP32S3_NOPSRAM",
9+
"-DARDUINO_USB_CDC_ON_BOOT=1",
10+
"-DARDUINO_RUNNING_CORE=1",
11+
"-DARDUINO_EVENT_RUNNING_CORE=1"
12+
],
13+
"f_cpu": "240000000L",
14+
"f_flash": "80000000L",
15+
"flash_mode": "qio",
16+
"hwids": [
17+
[
18+
"0x239A",
19+
"0x811B"
20+
],
21+
[
22+
"0x239A",
23+
"0x011B"
24+
],
25+
[
26+
"0x239A",
27+
"0x811C"
28+
]
29+
],
30+
"mcu": "esp32s3",
31+
"variant": "adafruit_feather_esp32s3_nopsram"
32+
},
33+
"connectivity": [
34+
"wifi"
35+
],
36+
"debug": {
37+
"openocd_target": "esp32s3.cfg"
38+
},
39+
"frameworks": [
40+
"arduino",
41+
"espidf"
42+
],
43+
"name": "Adafruit Feather ESP32-S3 No PSRAM",
44+
"upload": {
45+
"arduino": {
46+
"flash_extra_images": [
47+
[
48+
"0x2d0000",
49+
"variants/adafruit_feather_esp32s3_nopsram/tinyuf2.bin"
50+
]
51+
]
52+
},
53+
"flash_size": "8MB",
54+
"maximum_ram_size": 327680,
55+
"maximum_size": 8388608,
56+
"use_1200bps_touch": true,
57+
"wait_for_upload_port": true,
58+
"require_upload_port": true,
59+
"speed": 460800
60+
},
61+
"url": "https://www.adafruit.com/product/5323",
62+
"vendor": "Adafruit"
63+
}
+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{
2+
"build": {
3+
"arduino": {
4+
"ldscript": "esp32s3_out.ld",
5+
"partitions": "partitions.csv"
6+
},
7+
"core": "esp32",
8+
"extra_flags": [
9+
"-DARDUINO_ADAFRUIT_FEATHER_ESP32S3_TFT",
10+
"-DARDUINO_USB_CDC_ON_BOOT=1",
11+
"-DARDUINO_RUNNING_CORE=1",
12+
"-DARDUINO_EVENT_RUNNING_CORE=1"
13+
],
14+
"f_cpu": "240000000L",
15+
"f_flash": "80000000L",
16+
"flash_mode": "qio",
17+
"hwids": [
18+
[
19+
"0x239A",
20+
"0x811D"
21+
],
22+
[
23+
"0x239A",
24+
"0x011D"
25+
],
26+
[
27+
"0x239A",
28+
"0x811E"
29+
]
30+
],
31+
"mcu": "esp32s3",
32+
"variant": "adafruit_feather_esp32s3_tft"
33+
},
34+
"connectivity": [
35+
"wifi"
36+
],
37+
"debug": {
38+
"openocd_target": "esp32s3.cfg"
39+
},
40+
"frameworks": [
41+
"arduino",
42+
"espidf"
43+
],
44+
"name": "Adafruit Feather ESP32-S3 TFT",
45+
"upload": {
46+
"arduino": {
47+
"flash_extra_images": [
48+
[
49+
"0x2d0000",
50+
"variants/adafruit_feather_esp32s3_tft/tinyuf2.bin"
51+
]
52+
]
53+
},
54+
"flash_size": "4MB",
55+
"maximum_ram_size": 327680,
56+
"maximum_size": 4194304,
57+
"use_1200bps_touch": true,
58+
"wait_for_upload_port": true,
59+
"require_upload_port": true,
60+
"speed": 460800
61+
},
62+
"url": "https://www.adafruit.com/product/5483",
63+
"vendor": "Adafruit"
64+
}

0 commit comments

Comments
 (0)