Skip to content

Commit c1f5352

Browse files
authored
Prepare IDF Libs compile (arendst#22250)
* Prepare IDF Libs compile
1 parent d986f7f commit c1f5352

File tree

5 files changed

+317
-4
lines changed

5 files changed

+317
-4
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*.o
99
*.gcno
1010
*.gcda
11+
dependencies.lock
1112

1213
## Project files ######
1314
managed_components
@@ -16,6 +17,8 @@ managed_components
1617
.clang_complete
1718
.gcc-flags.json
1819
.cache
20+
.dummy
21+
sdkconfig.*
1922
data
2023
unpacked_fs
2124
unpacked_boards

CMakeLists.txt

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
cmake_minimum_required(VERSION 3.16.0)
2+
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
3+
4+
project(tasmota)
5+
6+
if(CONFIG_IDF_TARGET_ESP32C2)
7+
include(relinker)
8+
endif()

pio-tools/add_c_flags.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Import("env")
22

33
build_flags = env['BUILD_FLAGS']
4-
chip = env.get("BOARD_MCU").lower()
4+
mcu = env.get("BOARD_MCU").lower()
55

66
# General options that are passed to the C++ compiler
77
env.Append(CXXFLAGS=["-Wno-volatile"])
@@ -10,12 +10,12 @@
1010
env.Append(CFLAGS=["-Wno-discarded-qualifiers", "-Wno-implicit-function-declaration", "-Wno-incompatible-pointer-types"])
1111

1212
# Remove build flags which are not valid for risc-v
13-
if chip in ("esp32c2", "esp32c3", "esp32c6", "esp32h2"):
13+
if mcu in ("esp32c2", "esp32c3", "esp32c6", "esp32h2", "esp32p4"):
1414
try:
1515
build_flags.pop(build_flags.index("-mno-target-align"))
1616
except:
17-
do_nothing=""
17+
pass
1818
try:
1919
build_flags.pop(build_flags.index("-mtarget-align"))
2020
except:
21-
do_nothing=""
21+
pass

sdkconfig.defaults

+284
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,284 @@
1+
CONFIG_AUTOSTART_ARDUINO=y
2+
# CONFIG_WS2812_LED_ENABLE is not set
3+
CONFIG_APP_BUILD_TYPE_APP_2NDBOOT=y
4+
CONFIG_APP_REPRODUCIBLE_BUILD=y
5+
CONFIG_COMPILER_HIDE_PATHS_MACROS=y
6+
CONFIG_APP_EXCLUDE_PROJECT_VER_VAR=y
7+
CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=y
8+
# CONFIG_APP_COMPILE_TIME_DATE is not set
9+
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
10+
CONFIG_BOOT_ROM_LOG_ALWAYS_OFF=y
11+
CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS=y
12+
CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_NONE=y
13+
CONFIG_I2S_SUPPRESS_DEPRECATE_WARN=y
14+
CONFIG_I2S_ISR_IRAM_SAFE=y
15+
CONFIG_RMT_SUPPRESS_DEPRECATE_WARN=y
16+
CONFIG_TEMP_SENSOR_SUPPRESS_DEPRECATE_WARN=y
17+
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
18+
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
19+
CONFIG_COMPILER_DISABLE_DEFAULT_ERRORS=y
20+
CONFIG_COMPILER_DISABLE_GCC12_WARNINGS=y
21+
CONFIG_COMPILER_DISABLE_GCC13_WARNINGS=y
22+
CONFIG_COMPILER_DISABLE_GCC14_WARNINGS=y
23+
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE=y
24+
CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT=y
25+
CONFIG_COMPILER_STACK_CHECK_MODE_NONE=y
26+
# CONFIG_COMPILER_CXX_EXCEPTIONS is not set
27+
# CONFIG_COMPILER_WARN_WRITE_STRINGS is not set
28+
# CONFIG_ESP_ERR_TO_NAME_LOOKUP is not set
29+
# CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR is not set
30+
CONFIG_COMPILER_SAVE_RESTORE_LIBCALLS=y
31+
# CONFIG_ESP_HTTPS_SERVER_ENABLE is not set
32+
# CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS is not set
33+
# CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is not set
34+
CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH=y
35+
CONFIG_ESP_SYSTEM_ESP32_SRAM1_REGION_AS_IRAM=y
36+
CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
37+
CONFIG_ESP_IPC_TASK_STACK_SIZE=1024
38+
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096
39+
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=2048
40+
CONFIG_ESP_TASK_WDT_PANIC=y
41+
CONFIG_ESP_TIMER_TASK_STACK_SIZE=4096
42+
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
43+
CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE=y
44+
# CONFIG_ESP_WIFI_MBEDTLS_CRYPTO is not set
45+
# CONFIG_ESP_WIFI_FTM_ENABLE is not set
46+
# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set
47+
# CONFIG_ESP_WIFI_CSI_ENABLED is not set
48+
# CONFIG_ESP_WIFI_ENABLE_WPA3_SAE is not set
49+
# CONFIG_ESP_WIFI_ENABLE_SAE_PK is not set
50+
# CONFIG_ESP_WIFI_ENTERPRISE_SUPPORT is not set
51+
# CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT is not set
52+
# CONFIG_ESP_WIFI_SOFTAP_SAE_SUPPORT is not set
53+
# CONFIG_ESP_WIFI_ENABLE_WPA3_OWE_STA is not set
54+
CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=0
55+
# CONFIG_ESP_WIFI_IRAM_OPT is not set
56+
# CONFIG_ESP_WIFI_RX_IRAM_OPT is not set
57+
CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=8
58+
CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=8
59+
CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=16
60+
CONFIG_ESP_PHY_REDUCE_TX_POWER=y
61+
CONFIG_ETH_TRANSMIT_MUTEX=y
62+
CONFIG_ETH_SPI_ETHERNET_DM9051=y
63+
CONFIG_ETH_SPI_ETHERNET_W5500=y
64+
CONFIG_ETH_SPI_ETHERNET_KSZ8851SNL=y
65+
CONFIG_FATFS_CODEPAGE_850=y
66+
CONFIG_FATFS_LFN_STACK=y
67+
# CONFIG_FATFS_API_ENCODING_ANSI_OEM is not set
68+
CONFIG_FATFS_API_ENCODING_UTF_8=y
69+
# CONFIG_FMB_CONTROLLER_SLAVE_ID_SUPPORT is not set
70+
CONFIG_FMB_TIMER_PORT_ENABLED=y
71+
CONFIG_FREERTOS_HZ=1000
72+
# CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY is not set
73+
# CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION is not set
74+
# CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT is not set
75+
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304
76+
# CONFIG_FREERTOS_FPU_IN_ISR is not set
77+
CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
78+
CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y
79+
CONFIG_HAL_ASSERTION_DISABLE=y
80+
CONFIG_HEAP_POISONING_LIGHT=y
81+
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
82+
CONFIG_HTTPD_WS_SUPPORT=y
83+
CONFIG_LOG_DEFAULT_LEVEL_NONE=y
84+
# CONFIG_LOG_COLORS is not set
85+
CONFIG_LWIP_LOCAL_HOSTNAME="tasmota"
86+
CONFIG_LWIP_MAX_SOCKETS=16
87+
CONFIG_LWIP_SO_RCVBUF=y
88+
CONFIG_LWIP_IP_FORWARD=y
89+
CONFIG_LWIP_IPV4_NAPT=y
90+
# CONFIG_LWIP_DHCP_DOES_ARP_CHECK is not set
91+
CONFIG_LWIP_TCP_SYNMAXRTX=6
92+
CONFIG_LWIP_TCP_MSS=1436
93+
CONFIG_LWIP_TCP_RTO_TIME=3000
94+
CONFIG_LWIP_TCP_MSL=6000
95+
CONFIG_LWIP_TCP_FIN_WAIT_TIMEOUT=2000
96+
CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=2560
97+
CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
98+
CONFIG_LWIP_IPV6_AUTOCONFIG=y
99+
CONFIG_LWIP_IPV6_RDNSS_MAX_DNS_SERVERS=2
100+
CONFIG_LWIP_MAX_SOCKETS=16
101+
CONFIG_LWIP_DHCP_RESTORE_LAST_IP=n
102+
CONFIG_LWIP_DHCP_OPTIONS_LEN=128
103+
CONFIG_LWIP_SNTP_MAX_SERVERS=3
104+
# CONFIG_LWIP_DHCP_GET_NTP_SRV is not set
105+
CONFIG_LWIP_SNTP_UPDATE_DELAY=10800000
106+
CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=48
107+
CONFIG_LWIP_TCP_RECVMBOX_SIZE=16
108+
CONFIG_LWIP_UDP_RECVMBOX_SIZE=64
109+
CONFIG_NEWLIB_NANO_FORMAT=y
110+
# CONFIG_DAC_DMA_AUTO_16BIT_ALIGN is not set
111+
112+
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
113+
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y
114+
CONFIG_MBEDTLS_TLS_DISABLED=y
115+
# CONFIG_MBEDTLS_TLS_ENABLED is not set
116+
# CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN is not set
117+
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS=10
118+
# CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE is not set
119+
# CONFIG_MBEDTLS_PKCS7_C is not set
120+
# CONFIG_MBEDTLS_ERROR_STRINGS is not set
121+
122+
#
123+
# Symmetric Ciphers
124+
#
125+
CONFIG_MBEDTLS_AES_C=y
126+
# CONFIG_MBEDTLS_CAMELLIA_C is not set
127+
# CONFIG_MBEDTLS_DES_C is not set
128+
# CONFIG_MBEDTLS_BLOWFISH_C is not set
129+
# CONFIG_MBEDTLS_XTEA_C is not set
130+
# CONFIG_MBEDTLS_CCM_C is not set
131+
# CONFIG_MBEDTLS_GCM_C is not set
132+
# CONFIG_MBEDTLS_NIST_KW_C is not set
133+
# end of Symmetric Ciphers
134+
135+
136+
#
137+
# TLS Key Exchange Methods
138+
#
139+
140+
CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y
141+
# CONFIG_MBEDTLS_PSK_MODES is not set
142+
# CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE is not set
143+
# CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA is not set
144+
# CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA is not set
145+
# CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA is not set
146+
# CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA is not set
147+
148+
CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y
149+
# CONFIG_MBEDTLS_SSL_RENEGOTIATION is not set
150+
# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set
151+
# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set
152+
# CONFIG_MBEDTLS_SSL_ALPN is not set
153+
# CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS is not set
154+
155+
CONFIG_MBEDTLS_CMAC_C=y
156+
CONFIG_MBEDTLS_ROM_MD5=y
157+
CONFIG_MBEDTLS_HARDWARE_ECC=y
158+
CONFIG_MBEDTLS_HARDWARE_AES=y
159+
CONFIG_MBEDTLS_HARDWARE_MPI=y
160+
CONFIG_MBEDTLS_HARDWARE_SHA=y
161+
# CONFIG_MBEDTLS_ECC_OTHER_CURVES_SOFT_FALLBACK is not set
162+
# CONFIG_MBEDTLS_HAVE_TIME is not set
163+
# CONFIG_MBEDTLS_ECDSA_DETERMINISTIC is not set
164+
# CONFIG_MBEDTLS_SHA512_C is not set
165+
# CONFIG_MBEDTLS_RIPEMD160_C is not set
166+
167+
#
168+
# Certificates
169+
#
170+
# CONFIG_MBEDTLS_PEM_PARSE_C is not set
171+
# CONFIG_MBEDTLS_PEM_WRITE_C is not set
172+
# CONFIG_MBEDTLS_X509_CRL_PARSE_C is not set
173+
# CONFIG_MBEDTLS_X509_CSR_PARSE_C is not set
174+
# end of Certificates
175+
176+
CONFIG_MBEDTLS_ECP_C=y
177+
CONFIG_MBEDTLS_ECDH_C=y
178+
CONFIG_MBEDTLS_ECDSA_C=y
179+
CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y
180+
# CONFIG_MBEDTLS_DHM_C is not set
181+
# CONFIG_MBEDTLS_ECJPAKE_C is not set
182+
# CONFIG_MBEDTLS_CLIENT_SSL_SESSION_TICKETS is not set
183+
# CONFIG_MBEDTLS_SERVER_SSL_SESSION_TICKETS is not set
184+
# CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED is not set
185+
# CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED is not set
186+
# CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED is not set
187+
# CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED is not set
188+
# CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED is not set
189+
# CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED is not set
190+
# CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED is not set
191+
# CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED is not set
192+
# CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED is not set
193+
# CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED is not set
194+
# CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED is not set
195+
# CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM is not set
196+
# CONFIG_MBEDTLS_ECP_NIST_OPTIM is not set
197+
# CONFIG_MBEDTLS_SSL_PROTO_GMTSSL1_1 is not set
198+
# CONFIG_MBEDTLS_SSL_PROTO_DTLS is not set
199+
200+
CONFIG_OPENSSL_ASSERT_DO_NOTHING=y
201+
CONFIG_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
202+
CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED=y
203+
# CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE is not set
204+
CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
205+
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=10
206+
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=2
207+
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=4096
208+
# CONFIG_UNITY_ENABLE_FLOAT is not set
209+
# CONFIG_UNITY_ENABLE_DOUBLE is not set
210+
# CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER is not set
211+
# CONFIG_USE_WAKENET is not set
212+
# CONFIG_USE_MULTINET is not set
213+
# CONFIG_VFS_SUPPORT_SELECT is not set
214+
# CONFIG_VFS_SUPPRESS_SELECT_DEBUG_OUTPUT is not set
215+
# CONFIG_VFS_SUPPORT_TERMIOS is not set
216+
# CONFIG_SPI_MASTER_ISR_IN_IRAM is not set
217+
# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set
218+
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096
219+
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
220+
221+
CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=1
222+
CONFIG_DSP_MAX_FFT_SIZE_1024=y
223+
224+
CONFIG_LITTLEFS_MAX_PARTITIONS=2
225+
CONFIG_LITTLEFS_MULTIVERSION=y
226+
CONFIG_LITTLEFS_DISK_VERSION_2_0=y
227+
228+
#
229+
# Disable Cameras not used
230+
#
231+
# CONFIG_OV7670_SUPPORT is not set
232+
# CONFIG_OV7725_SUPPORT is not set
233+
# CONFIG_NT99141_SUPPORT is not set
234+
# CONFIG_GC2145_SUPPORT is not set
235+
# CONFIG_GC032A_SUPPORT is not set
236+
# CONFIG_GC0308_SUPPORT is not set
237+
# CONFIG_BF3005_SUPPORT is not set
238+
# CONFIG_BF20A6_SUPPORT is not set
239+
# CONFIG_SC030IOT_SUPPORT is not set
240+
241+
#
242+
# Bluetooth
243+
#
244+
CONFIG_BT_ENABLED=y
245+
CONFIG_BT_STACK_NO_LOG=y
246+
# CONFIG_BT_BLE_42_FEATURES_SUPPORTED is not set
247+
# CONFIG_BLE_MESH is not set
248+
CONFIG_BT_NIMBLE_ENABLED=y
249+
CONFIG_BT_NIMBLE_LOG_LEVEL_NONE=y
250+
CONFIG_BT_NIMBLE_MAX_CONNECTIONS=1
251+
# CONFIG_BT_NIMBLE_NVS_PERSIST is not set
252+
# CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS is not set
253+
# CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_2M_PHY is not set
254+
# CONFIG_BT_NIMBLE_LL_CFG_FEAT_LE_CODED_PHY is not set
255+
# CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT is not set
256+
257+
CONFIG_BT_CTRL_MODEM_SLEEP=y
258+
CONFIG_BT_CTRL_MODEM_SLEEP_MODE_1=y
259+
CONFIG_BT_CTRL_LPCLK_SEL_MAIN_XTAL=y
260+
# CONFIG_BT_CTRL_LPCLK_SEL_RTC_SLOW is not set
261+
CONFIG_BT_LOG_HCI_TRACE_LEVEL_NONE=y
262+
CONFIG_BT_LOG_BTM_TRACE_LEVEL_NONE=y
263+
CONFIG_BT_LOG_L2CAP_TRACE_LEVEL_NONE=y
264+
CONFIG_BT_LOG_RFCOMM_TRACE_LEVEL_NONE=y
265+
CONFIG_BT_LOG_SDP_TRACE_LEVEL_NONE=y
266+
CONFIG_BT_LOG_GAP_TRACE_LEVEL_NONE=y
267+
CONFIG_BT_LOG_BNEP_TRACE_LEVEL_NONE=y
268+
CONFIG_BT_LOG_PAN_TRACE_LEVEL_NONE=y
269+
CONFIG_BT_LOG_A2D_TRACE_LEVEL_NONE=y
270+
CONFIG_BT_LOG_AVDT_TRACE_LEVEL_NONE=y
271+
CONFIG_BT_LOG_AVCT_TRACE_LEVEL_NONE=y
272+
CONFIG_BT_LOG_AVRC_TRACE_LEVEL_NONE=y
273+
CONFIG_BT_LOG_MCA_TRACE_LEVEL_NONE=y
274+
CONFIG_BT_LOG_HID_TRACE_LEVEL_NONE=y
275+
CONFIG_BT_LOG_APPL_TRACE_LEVEL_NONE=y
276+
CONFIG_BT_LOG_GATT_TRACE_LEVEL_NONE=y
277+
CONFIG_BT_LOG_SMP_TRACE_LEVEL_NONE=y
278+
CONFIG_BT_LOG_BTIF_TRACE_LEVEL_NONE=y
279+
CONFIG_BT_LOG_BTC_TRACE_LEVEL_NONE=y
280+
CONFIG_BT_LOG_OSI_TRACE_LEVEL_NONE=y
281+
CONFIG_BT_LOG_BLUFI_TRACE_LEVEL_NONE=y
282+
CONFIG_RTC_CLK_CAL_CYCLES=576
283+
# CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0 is not set
284+
CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=2304

tasmota/idf_component.yml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
dependencies:
2+
# Required IDF version
3+
idf: ">=5.1"
4+
espressif/cmake_utilities:
5+
version: "0.*"
6+
espressif/esp32-camera:
7+
version: "master"
8+
git: https://github.com/espressif/esp32-camera.git
9+
require: public
10+
rules:
11+
- if: "target in [esp32, esp32s2, esp32s3, esp32p4]"
12+
espressif/fb_gfx:
13+
version: "master"
14+
path: components/fb_gfx
15+
git: https://github.com/espressif/esp32-arduino-lib-builder.git
16+
require: public
17+
rules:
18+
- if: "target in [esp32, esp32s2, esp32s3, esp32p4]"

0 commit comments

Comments
 (0)