-
Notifications
You must be signed in to change notification settings - Fork 2.2k
/
platformio_core_defs.ini
228 lines (202 loc) · 10.3 KB
/
platformio_core_defs.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
; *********************************************************************
; **** Definition cheat sheet:
; board_build.flash_mode in terms of performance: QIO > QOUT > DIO > DOUT
; for lib_ldf_mode, see http://docs.platformio.org/en/latest/librarymanager/ldf.html;ldf
; **** Frequently used build flags:
; Use custom.h file to override default settings for ESPeasy: -D USE_CUSTOM_H
; Set VCC mode to measure Vcc of ESP chip : -D FEATURE_ADC_VCC=1
; Build Flags:
; -DUSE_CONFIG_OVERRIDE
; lwIP 1.4 (Default)
; -DPIO_FRAMEWORK_ARDUINO_LWIP_HIGHER_BANDWIDTH
; lwIP 2 - Low Memory
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
; lwIP 2 - Higher Bandwitdh
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
; VTABLES in Flash (default)
; -DVTABLES_IN_FLASH
; VTABLES in Heap
; -DVTABLES_IN_DRAM
; VTABLES in IRAM
; -DVTABLES_IN_IRAM
; NO_EXTRA_4K_HEAP - this forces the default NONOS-SDK user's heap location
; Default currently overlaps cont stack (Arduino) with sys stack (System)
; to save up-to 4 kB of heap. (starting core_2.4.2)
; ESP8266_DISABLE_EXTRA4K - Calls disable_extra4k_at_link_time() from setup
; to force the linker keep user's stack in user ram.
; CONT_STACKSIZE to set the 'cont' (Arduino) stack size. Default = 4096
; -mtarget-align see: https://github.com/arendst/Sonoff-Tasmota/issues/3678#issuecomment-419712437
[esp82xx_defaults]
build_flags = -D NDEBUG
-lstdc++ -lsupc++
-mtarget-align
-DPIO_FRAMEWORK_ARDUINO_LWIP2_LOW_MEMORY
-DVTABLES_IN_FLASH
-DPUYA_SUPPORT=1
-DDISABLE_SC16IS752_SPI
-DCRON_USE_LOCAL_TIME
-fno-strict-aliasing
-I$PROJECT_DIR/src/include
-include "ESPEasy_config.h"
lib_ignore = ESP32_ping
ESP32WebServer
ESP32HTTPUpdateServer
ServoESP32
IRremoteESP8266
HeatpumpIR
TinyWireM
ESP8266SdFat
SD(esp8266)
SD
SDFS
LittleFS(esp8266)
LittleFS
ArduinoOTA
ESP8266mDNS
I2C AXP192 Power management
; EspSoftwareSerial
; Keep optimization flag to -O2
; See: https://github.com/platformio/platform-espressif8266/issues/288
; For "-fno-strict-aliasing"
; See: https://github.com/esp8266/Arduino/issues/8261
[esp82xx_2_7_x]
build_flags = -DNDEBUG
-mtarget-align
-DVTABLES_IN_FLASH
-fno-exceptions
-lstdc++
-DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
-DPUYA_SUPPORT=1
-DCORE_POST_2_5_0
-DDISABLE_SC16IS752_SPI
-DCRON_USE_LOCAL_TIME
-fno-strict-aliasing
-DLIBRARIES_NO_LOG=1
-DNO_GLOBAL_I2S
-I$PROJECT_DIR/src/include
-include "ESPEasy_config.h"
-O2
-s
-DBEARSSL_SSL_BASIC
-DCORE_POST_2_6_0
-DPR_9453_FLUSH_TO_CLEAR=flush
; remove the 4-bytes alignment for PSTR()
-DPSTR_ALIGN=1
-Werror=return-type
build_unflags = ${esp82xx_common.build_unflags}
lib_ignore = ${esp82xx_defaults.lib_ignore}
EspSoftwareSerial
[esp82xx_3_0_x]
build_flags = ${esp82xx_2_7_x.build_flags}
-DCORE_POST_3_0_0
-Wno-deprecated-declarations
; -flto=auto
; -Wl,-flto
build_unflags = -DDEBUG_ESP_PORT
-fexceptions
-Wall
; -fno-lto
lib_ignore = ${esp82xx_defaults.lib_ignore}
extra_scripts = pre:tools/pio/pre_custom_esp8266_toolchain.py
; See for SDK flags: https://github.com/esp8266/Arduino/blob/master/tools/platformio-build.py
[core_2_7_4]
extends = esp82xx_2_7_x
platform = [email protected]
platform_packages =
framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git#2.7.4
build_flags = ${esp82xx_2_7_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
-DUSES_LATEST_SOFTWARE_SERIAL_LIBRARY=0
-Wno-deprecated-declarations
-DLIBRARIES_NO_LOG=1
lib_ignore = ${esp82xx_2_7_x.lib_ignore}
build_unflags = ${esp82xx_2_7_x.build_unflags}
extra_scripts = ${esp82xx_common.extra_scripts}
[core_stage]
extends = esp82xx_3_0_x
platform = [email protected]
platform_packages =
build_flags = ${esp82xx_3_0_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
-DUSES_LATEST_SOFTWARE_SERIAL_LIBRARY=1
-DLIBRARIES_NO_LOG=1
-DFP_IN_IRAM
-DPHASE_LOCKED_WAVEFORM
build_unflags = ${esp82xx_3_0_x.build_unflags}
lib_ignore = ${esp82xx_defaults.lib_ignore}
extra_scripts = ${esp82xx_common.extra_scripts}
; See: https://arduino-esp8266.readthedocs.io/en/latest/mmu.html
[core_stage_2ndheap]
extends = esp82xx_3_0_x
platform = [email protected]
platform_packages =
build_flags = ${esp82xx_3_0_x.build_flags}
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK3
-DUSES_LATEST_SOFTWARE_SERIAL_LIBRARY=1
-DLIBRARIES_NO_LOG=1
-DPHASE_LOCKED_WAVEFORM
-DPIO_FRAMEWORK_ARDUINO_MMU_CACHE16_IRAM48_SECHEAP_SHARED
-DUSE_SECOND_HEAP
build_unflags = ${esp82xx_3_0_x.build_unflags}
lib_ignore = ${core_stage.lib_ignore}
extra_scripts = ${esp82xx_common.extra_scripts}
; Updated ESP-IDF to the latest stable 4.0.1
; See: https://github.com/platformio/platform-espressif32/releases
; IDF 4.4 = platform-espressif32 3.4.x = espressif/arduino-esp32 tag 2.0.4
; Just for those who lost track of the extremely confusing numbering schema.
; For MUSTFIX_CLIENT_TIMEOUT_IN_SECONDS See: https://github.com/espressif/arduino-esp32/pull/6676
[core_esp32_IDF5_1_4__3_0_5_SPIFFS]
platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.09.10/platform-espressif32.zip
platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/3110/framework-arduinoespressif32-all-release_v5.1-632e0c2.zip
build_flags = -DESP32_STAGE
-DESP_IDF_VERSION_MAJOR=5
-DLIBRARIES_NO_LOG=1
-DDISABLE_SC16IS752_SPI
-DCONFIG_PM_ENABLE
-DESP_IDF_STILL_NEEDS_SPI_REGISTERS_FIXED
-DPR_9453_FLUSH_TO_CLEAR=clear
;-DETH_TYPE_JL1101_SUPPORTED
; -DCONFIG_LWIP_L2_TO_L3_COPY
; -DETH_SPI_SUPPORTS_NO_IRQ=1
-DCONFIG_FREERTOS_USE_TICKLESS_IDLE=1
-DCONFIG_FREERTOS_IDLE_TIME_BEFORE_SLEEP=3
-DNEOPIXEL_ESP32_RMT_DEFAULT
-DCRON_USE_LOCAL_TIME
-I$PROJECT_DIR/src/include
-include "sdkconfig.h"
-include "ESPEasy_config.h"
-include "esp32x_fixes.h"
-Wnull-dereference
lib_ignore =
lib_extra_dirs =
lib/lib_ssl
; ESP_IDF 5.3.1
[core_esp32_IDF5_3_1__3_0_5_LittleFS]
platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.10.31/platform-espressif32.zip
platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/3112/framework-arduinoespressif32-all-release_v5.3-1c74f314.zip
build_flags = -DESP32_STAGE
-DESP_IDF_VERSION_MAJOR=5
-DLIBRARIES_NO_LOG=1
-DDISABLE_SC16IS752_SPI
-DCONFIG_PM_ENABLE
-DETH_TYPE_JL1101_SUPPORTED
; PR_9453_FLUSH_TO_CLEAR_REVERTED
-DPR_9453_FLUSH_TO_CLEAR=clear
; -DCONFIG_LWIP_L2_TO_L3_COPY
; -DETH_SPI_SUPPORTS_NO_IRQ=1
-DCONFIG_FREERTOS_USE_TICKLESS_IDLE=1
-DCONFIG_FREERTOS_IDLE_TIME_BEFORE_SLEEP=3
-DNEOPIXEL_ESP32_RMT_DEFAULT
-DCRON_USE_LOCAL_TIME
-I$PROJECT_DIR/src/include
-include "sdkconfig.h"
-include "ESPEasy_config.h"
-include "esp32x_fixes.h"
-Wnull-dereference
lib_ignore =
lib_extra_dirs =
lib/lib_ssl
; Regarding the define PR_9453_FLUSH_TO_CLEAR
; See:
; https://github.com/espressif/arduino-esp32/pull/8871/files
; https://github.com/espressif/arduino-esp32/pull/9453/files