Skip to content

Commit 842f0f0

Browse files
Jason2866me-no-dev
andauthored
update 25062022 (#27)
* Support extern Ethernet (#60) see espressif/arduino-esp32#6318 * Revert "Support extern Ethernet (#60)" (#61) This reverts commit 8c5ac76. * Fix missing BLE 4.2 from ESP32-S3 * Allow selecting Arduino branch based on the current lib-builder branch * For CI builds get branch from env * dump env * Update update-components.sh * Update update-components.sh * Add support for CPP exceptions for C3 Fixes: espressif/arduino-esp32#6187 * Script improvements, rainmaker and esp-sr * Optimized for Tasmota * Update build.sh * Update config.sh * Update install-esp-idf.sh * AR_BRANCH="master" * Update push.yml * Update defconfig.esp32s3 * Update defconfig.esp32s2 * space in path fix * fix space in path * Update install-esp-idf.sh * Update README.md * esp littlesfs broken going back to commit 4ee58815 * lfn * lfn * lfn * lfn * use actual littlefs * esp_littlefs commit 4ee58815093 * Update config.sh * use latest littlefs * AR_BRANCH="work" * IDF branch v4.4_work * Update push.yml * Update defconfig.esp32 * Update fb_gfx.h * Update fb_gfx.c * IDF_BRANCH="v4.4.1" * Update push.yml * remove CONFIG_SPI_FLASH_ROM_IMPL since it breaks dangerous writes * remove CONFIG_SPI_FLASH_ROM_IMPL * remove CONFIG_SPI_FLASH_ROM_IMPL * remove CONFIG_SPI_FLASH_ROM_IMPL * Update README.md * Update README.md * IDF_BRANCH="v4.4_dev" * 2.0.4dev * Update README.md * Update README.md * Update README.md * Update README.md * Update Kconfig.projbuild * Do not append digest to the bootloader bin * Update .gitignore * Update copy-libs.sh * --non-interactive * Update install-esp-idf.sh * CONFIG_LWIP_SNTP_UPDATE_DELAY=10800000 * CONFIG_LWIP_SNTP_UPDATE_DELAY=10800000 * CONFIG_LWIP_SNTP_UPDATE_DELAY=10800000 * CONFIG_LWIP_SNTP_UPDATE_DELAY=10800000 * Improve support for hand-written asm source files in PIO * Improve support for hand-written asm source files in PIO * CONFIG_LWIP_IPV6_AUTOCONFIG=y * CONFIG_LWIP_IPV6_AUTOCONFIG=y * CONFIG_LWIP_IPV6_AUTOCONFIG=y * CONFIG_LWIP_IPV6_AUTOCONFIG=y * Update CMakeLists.txt * Update builds.json * Update copy-libs.sh * Update copy-mem-variant.sh Co-authored-by: me-no-dev <[email protected]>
1 parent b0458a7 commit 842f0f0

8 files changed

+98
-48
lines changed

Diff for: CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ idf_build_get_property(elf EXECUTABLE GENERATOR_EXPRESSION)
1111

1212
add_custom_command(
1313
OUTPUT "idf_libs"
14-
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-libs.sh ${IDF_TARGET} "${CONFIG_ESPTOOLPY_OCT_FLASH}" "${CONFIG_SPIRAM_MODE_OCT}" "${CONFIG_IDF_TARGET_ARCH_XTENSA}"
14+
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-libs.sh ${IDF_TARGET} "${CONFIG_LIB_BUILDER_FLASHMODE}" "${CONFIG_SPIRAM_MODE_OCT}" "${CONFIG_IDF_TARGET_ARCH_XTENSA}"
1515
DEPENDS ${elf}
1616
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
1717
VERBATIM
@@ -29,7 +29,7 @@ add_custom_target(copy-bootloader DEPENDS "copy_bootloader")
2929

3030
add_custom_command(
3131
OUTPUT "mem_variant"
32-
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-mem-variant.sh ${IDF_TARGET} "${CONFIG_ESPTOOLPY_OCT_FLASH}" "${CONFIG_SPIRAM_MODE_OCT}"
32+
COMMAND ${CMAKE_SOURCE_DIR}/tools/copy-mem-variant.sh ${IDF_TARGET} "${CONFIG_LIB_BUILDER_FLASHMODE}" "${CONFIG_SPIRAM_MODE_OCT}"
3333
DEPENDS ${elf}
3434
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
3535
VERBATIM

Diff for: README.md

+21-5
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,30 @@
1-
# Tasmota ESP32 Arduino Lib Builder [![Build Status](https://travis-ci.org/espressif/esp32-arduino-lib-builder.svg?branch=master)](https://travis-ci.org/espressif/esp32-arduino-lib-builder)
21

3-
This repository contains the scripts that produce the libraries included with esp32-arduino.
2+
# Tasmota ESP32 Arduino Lib Builder [![ESP32 builder](https://github.com/Jason2866/esp32-arduino-lib-builder/actions/workflows/push.yml/badge.svg)](https://github.com/Jason2866/esp32-arduino-lib-builder/actions/workflows/push.yml)
43

5-
Tested on Ubuntu (32 and 64 bit), Raspberry Pi and MacOS.
4+
This repository contains the scripts that produce the libraries included with Tasmota esp32-arduino.
65

7-
### Build on Ubuntu and Raspberry Pi
6+
### Build on Ubuntu
87
```bash
98
sudo apt-get install git wget curl libssl-dev libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache
109
sudo pip install --upgrade pip
11-
git clone https://github.com/espressif/esp32-arduino-lib-builder
10+
git clone https://github.com/Jason2866/esp32-arduino-lib-builder
1211
cd esp32-arduino-lib-builder
1312
./build.sh
1413
```
14+
### Development builds
15+
Look in release and download a version. The day of build is using the commits of this day of IDF / Arduino.
16+
17+
### Stable Release
18+
are based on Arduino Core 2.0.3 and can be used with Platformio for the ESP32, ESP32C3, ESP32S2 and ESP32S3
19+
```
20+
[platformio]
21+
platform = https://github.com/tasmota/platform-espressif32/releases/download/v.2.0.3/platform-espressif32-v.2.0.3.zip
22+
framework = arduino, espidf
23+
```
24+
and for the ESP32solo1 with
25+
```
26+
[platformio]
27+
platform = https://github.com/tasmota/platform-espressif32/releases/download/v.2.0.3/platform-espressif32-solo1-v.2.0.3.zip
28+
framework = arduino, espidf
29+
```
30+
The frameworks are here [https://github.com/tasmota/arduino-esp32/releases](https://github.com/tasmota/arduino-esp32/releases)

Diff for: configs/builds.json

+39-19
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,40 @@
11
{
22
"mem_variants_files":[
3-
{
4-
"file":"libbootloader_support.a",
5-
"src":"build/esp-idf/bootloader_support/libbootloader_support.a",
6-
"out":"lib/libbootloader_support.a"
7-
},
8-
{
9-
"file":"libesp_hw_support.a",
10-
"src":"build/esp-idf/esp_hw_support/libesp_hw_support.a",
11-
"out":"lib/libesp_hw_support.a"
12-
},
133
{
144
"file":"libspi_flash.a",
155
"src":"build/esp-idf/spi_flash/libspi_flash.a",
16-
"out":"lib/libspi_flash.a"
6+
"out":"lib/libspi_flash.a",
7+
"targets":["esp32","esp32c3","esp32s2","esp32s3"]
8+
},
9+
{
10+
"file":"libesp_system.a",
11+
"src":"build/esp-idf/esp_system/libesp_system.a",
12+
"out":"lib/libesp_system.a",
13+
"targets":["esp32s3"]
1714
},
1815
{
1916
"file":"libfreertos.a",
2017
"src":"build/esp-idf/freertos/libfreertos.a",
21-
"out":"lib/libfreertos.a"
18+
"out":"lib/libfreertos.a",
19+
"targets":["esp32s3"]
2220
},
2321
{
24-
"file":"libesp_system.a",
25-
"src":"build/esp-idf/esp_system/libesp_system.a",
26-
"out":"lib/libesp_system.a"
22+
"file":"libbootloader_support.a",
23+
"src":"build/esp-idf/bootloader_support/libbootloader_support.a",
24+
"out":"lib/libbootloader_support.a",
25+
"targets":["esp32s3"]
26+
},
27+
{
28+
"file":"libesp_hw_support.a",
29+
"src":"build/esp-idf/esp_hw_support/libesp_hw_support.a",
30+
"out":"lib/libesp_hw_support.a",
31+
"targets":["esp32s3"]
2732
},
2833
{
2934
"file":"sections.ld",
3035
"src":"build/esp-idf/esp_system/ld/sections.ld",
31-
"out":"ld/sections.ld"
36+
"out":"ld/sections.ld",
37+
"targets":["esp32s3"]
3238
}
3339
],
3440
"targets":[
@@ -44,6 +50,8 @@
4450
],
4551
"mem_variants":[
4652
["qio","80m","opi_ram"],
53+
["dio","80m","qio_ram"],
54+
["dio","80m","opi_ram"],
4755
["opi","80m","opi_ram"],
4856
["opi","80m","qio_ram"]
4957
]
@@ -62,7 +70,11 @@
6270
["dio","40m"],
6371
["dout","40m"]
6472
],
65-
"mem_variants":[]
73+
"mem_variants":[
74+
["qout","80m"],
75+
["dio","80m"],
76+
["qio","80m"]
77+
]
6678
},
6779
{
6880
"target": "esp32c3",
@@ -78,7 +90,11 @@
7890
["dio","40m"],
7991
["dout","40m"]
8092
],
81-
"mem_variants":[]
93+
"mem_variants":[
94+
["qout","80m"],
95+
["dio","80m"],
96+
["qio","80m"]
97+
]
8298
},
8399
{
84100
"target": "esp32",
@@ -94,7 +110,11 @@
94110
["dio","40m"],
95111
["dout","40m"]
96112
],
97-
"mem_variants":[]
113+
"mem_variants":[
114+
["qout","80m"],
115+
["dio","80m"],
116+
["qio","80m"]
117+
]
98118
}
99119
]
100120
}

Diff for: configs/defconfig.esp32c3

+5-1
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,20 @@ CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
5252
CONFIG_HAL_ASSERTION_DISABLE=y
5353
CONFIG_LOG_DEFAULT_LEVEL_NONE=y
5454
# CONFIG_LOG_COLORS is not set
55+
CONFIG_LWIP_IPV6_AUTOCONFIG=y
5556
CONFIG_LWIP_LOCAL_HOSTNAME="tasmota"
5657
CONFIG_LWIP_MAX_SOCKETS=16
5758
CONFIG_LWIP_SO_RCVBUF=y
5859
CONFIG_LWIP_IP_FORWARD=y
5960
CONFIG_LWIP_IPV4_NAPT=y
6061
CONFIG_LWIP_DHCP_OPTIONS_LEN=128
62+
CONFIG_LWIP_SNTP_UPDATE_DELAY=10800000
63+
CONFIG_MBEDTLS_PSK_MODES=y
64+
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
65+
CONFIG_NEWLIB_NANO_FORMAT=y
6166
CONFIG_MBEDTLS_PSK_MODES=y
6267
CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
6368
CONFIG_NEWLIB_NANO_FORMAT=y
64-
CONFIG_SPI_FLASH_ROM_IMPL=y
6569
CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED=y
6670
# CONFIG_UNITY_ENABLE_FLOAT is not set
6771
# CONFIG_UNITY_ENABLE_DOUBLE is not set

Diff for: configs/defconfig.esp32s2

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ CONFIG_SPIRAM_IGNORE_NOTFOUND=y
2121
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096
2222
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
2323
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
24+
CONFIG_LWIP_IPV6_AUTOCONFIG=y
2425
CONFIG_ESP32S2_KEEP_USB_ALIVE=y
2526
CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=y
2627
CONFIG_HTTPD_WS_SUPPORT=y
@@ -59,6 +60,7 @@ CONFIG_LWIP_IPV4_NAPT=y
5960
# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
6061
CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y
6162
CONFIG_LWIP_DHCP_OPTIONS_LEN=128
63+
CONFIG_LWIP_SNTP_UPDATE_DELAY=10800000
6264
CONFIG_LWIP_TCP_SYNMAXRTX=6
6365
CONFIG_LWIP_TCP_MSS=1436
6466
CONFIG_LWIP_TCP_RTO_TIME=3000
@@ -71,7 +73,6 @@ CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
7173
CONFIG_NEWLIB_NANO_FORMAT=y
7274
CONFIG_OPENSSL_ASSERT_DO_NOTHING=y
7375
CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
74-
CONFIG_SPI_FLASH_ROM_IMPL=y
7576
CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED=y
7677
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=10
7778
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=2

Diff for: configs/defconfig.esp32s3

+2-1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ CONFIG_SPIRAM_IGNORE_NOTFOUND=y
4545
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096
4646
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
4747
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
48+
CONFIG_LWIP_IPV6_AUTOCONFIG=y
4849
CONFIG_ESP32S3_RTC_CLK_CAL_CYCLES=576
4950
CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=y
5051
CONFIG_HTTPD_WS_SUPPORT=y
@@ -86,6 +87,7 @@ CONFIG_LWIP_IPV4_NAPT=y
8687
# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
8788
CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y
8889
CONFIG_LWIP_DHCP_OPTIONS_LEN=128
90+
CONFIG_LWIP_SNTP_UPDATE_DELAY=10800000
8991
CONFIG_LWIP_TCP_SYNMAXRTX=6
9092
CONFIG_LWIP_TCP_MSS=1436
9193
CONFIG_LWIP_TCP_RTO_TIME=3000
@@ -97,7 +99,6 @@ CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
9799
CONFIG_NEWLIB_NANO_FORMAT=y
98100
CONFIG_OPENSSL_ASSERT_DO_NOTHING=y
99101
CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
100-
CONFIG_SPI_FLASH_ROM_IMPL=y
101102
CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED=y
102103
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=10
103104
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=2

Diff for: tools/copy-libs.sh

+14-9
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,9 @@
33

44
IDF_TARGET=$1
55
IS_XTENSA=$4
6-
OCT_FLASH=
6+
OCT_FLASH="$2"
77
OCT_PSRAM=
8-
if [ "$2" = "y" ]; then
9-
OCT_FLASH="opi"
10-
else
11-
OCT_FLASH="qspi"
12-
fi
8+
139
if [ "$3" = "y" ]; then
1410
OCT_PSRAM="opi"
1511
else
@@ -514,9 +510,18 @@ done
514510
mkdir -p "$AR_SDK/$MEMCONF/include"
515511
mv "$PWD/build/config/sdkconfig.h" "$AR_SDK/$MEMCONF/include/sdkconfig.h"
516512
for mem_variant in `jq -c '.mem_variants_files[]' configs/builds.json`; do
517-
file=$(echo "$mem_variant" | jq -c '.file' | tr -d '"')
518-
out=$(echo "$mem_variant" | jq -c '.out' | tr -d '"')
519-
mv "$AR_SDK/$out" "$AR_SDK/$MEMCONF/$file"
513+
skip_file=1
514+
for file_target in $(echo "$mem_variant" | jq -c '.targets[]' | tr -d '"'); do
515+
if [ "$file_target" == "$IDF_TARGET" ]; then
516+
skip_file=0
517+
break
518+
fi
519+
done
520+
if [ $skip_file -eq 0 ]; then
521+
file=$(echo "$mem_variant" | jq -c '.file' | tr -d '"')
522+
out=$(echo "$mem_variant" | jq -c '.out' | tr -d '"')
523+
mv "$AR_SDK/$out" "$AR_SDK/$MEMCONF/$file"
524+
fi
520525
done;
521526

522527
# Add IDF versions to sdkconfig

Diff for: tools/copy-mem-variant.sh

+13-10
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,8 @@
11
#!/bin/bash
22
IDF_TARGET=$1
3-
OCT_FLASH=
3+
OCT_FLASH="$2"
44
OCT_PSRAM=
55

6-
if [ "$2" = "y" ]; then
7-
OCT_FLASH="opi"
8-
else
9-
OCT_FLASH="qspi"
10-
fi
11-
126
if [ "$3" = "y" ]; then
137
OCT_PSRAM="opi"
148
else
@@ -30,7 +24,16 @@ rm -rf "$AR_SDK/$MEMCONF"
3024
mkdir -p "$AR_SDK/$MEMCONF/include"
3125
mv "build/config/sdkconfig.h" "$AR_SDK/$MEMCONF/include/sdkconfig.h"
3226
for mem_variant in `jq -c '.mem_variants_files[]' configs/builds.json`; do
33-
file=$(echo "$mem_variant" | jq -c '.file' | tr -d '"')
34-
src=$(echo "$mem_variant" | jq -c '.src' | tr -d '"')
35-
cp "$src" "$AR_SDK/$MEMCONF/$file"
27+
skip_file=1
28+
for file_target in $(echo "$mem_variant" | jq -c '.targets[]' | tr -d '"'); do
29+
if [ "$file_target" == "$IDF_TARGET" ]; then
30+
skip_file=0
31+
break
32+
fi
33+
done
34+
if [ $skip_file -eq 0 ]; then
35+
file=$(echo "$mem_variant" | jq -c '.file' | tr -d '"')
36+
src=$(echo "$mem_variant" | jq -c '.src' | tr -d '"')
37+
cp "$src" "$AR_SDK/$MEMCONF/$file"
38+
fi
3639
done;

0 commit comments

Comments
 (0)