-
Notifications
You must be signed in to change notification settings - Fork 1
/
platformio.ini
291 lines (263 loc) · 12.5 KB
/
platformio.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
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
; @brief platformio.h - DO NOT EDIT
; @note Create custom builds in "platformio_override.ini"
; Copyright (C) 2021 Michael
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter, extra scripting
; Upload options: custom port, speed and extra flags
; Library options: dependencies, extra library storages
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/en/stable/projectconf.html
[build_envs]
default_envs =
; *** Uncomment by deleting ";" in the line(s) below to select version(s)
;hacs
;hacs_lighting_ws2812
;hacs_lighting_pwm
;hacs_energy
;hacs_display
; *** Selection for ESP32 is done in platformio_32.ini
[platformio]
description = My Provide ESP8266 / ESP32 based devices with Web, MQTT and OTA firmware
src_dir = code
build_dir = .pioenvs
; boards_dir = boards
build_cache_dir = .cache
extra_configs = platformio_env8266.ini
; Personal long term installed devices (gitignored)
; platformio_env8266_home.ini
; Personal debug devices or short term installs (gitignored)
; platformio_env8266_homedev.ini
; Testbed devices (both esp8266 and esp32)
platformio_envboth_testbeds.ini
platformio_32.ini
platformio_env32.ini
platformio_env_whitehall.ini
; Only personal devices that will be removed when I move out
platformio_env_whitehall_temporary.ini
; Devices to be configured from template defines
platformio_env_uTemplates.ini
; Examples to build from
platformio_env_examples.ini
; Uncomment the override file on next line to add custom compile versions
platformio_override.ini
default_envs = ${build_envs.default_envs}
[common]
framework = arduino
board = esp01_1m
board_build.filesystem = littlefs
custom_unpack_dir = unpacked_littlefs
board_build.flash_mode = dout
board_build.ldscript = eagle.flash.1m.ld
platform = ${core.platform}
platform_packages = ${core.platform_packages}
build_unflags = ${core.build_unflags}
build_flags = ${core.build_flags}
board_build.f_cpu = 80000000L
board_build.f_flash = 40000000L
; monitor_speed = 921600
monitor_speed = 115200
upload_speed = 921600
; *** Upload Serial reset method for Wemos and NodeMCU
upload_resetmethod = nodemcu
upload_port = COM3
extra_scripts = ${scripts_defaults.extra_scripts}
lib_ldf_mode = chain+
shared_libdeps_dir = lib
lib_deps =
lib_extra_dirs =
lib/libesp8266/network
lib/lib_network
; lib/libg_neopixel
lib/lib_basic
lib/lib_sensor
lib/lib_custom
[scripts_defaults]
extra_scripts = pio/strip-floats.py
pio/name-firmware.py
pio/gzip-firmware.py
gzip_fw.py
pio/override_copy.py
; pio-tools/download_fs.py
; pre:pio/build_web.py
;;; ^^ Caused my own code to not build anymore
[esp_defaults]
; *** remove undesired all warnings
build_unflags = -Wall
-Wdeprecated-declarations
build_flags = -Wno-deprecated-declarations
; *********************************************************************
; *** Use custom settings from file user_config_override.h
;-DUSE_CONFIG_OVERRIDE
; *********************************************************************
[esp82xx_defaults]
build_flags = ${esp_defaults.build_flags}
-Wl,-Map,firmware.map
-D CORE_DEBUG_LEVEL=0
-D NDEBUG
-w
-mtarget-align
-DFP_IN_IROM
-DBEARSSL_SSL_BASIC
; NONOSDK22x_190703 = 2.2.2-dev(38a443e)
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
; lwIP 2 - Higher Bandwidth no Features
-DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
; VTABLES in Flash
-DVTABLES_IN_FLASH
; remove the 4-bytes alignment for PSTR()
; -DPSTR_ALIGN=1
; restrict to minimal mime-types
-DMIMETYPE_MINIMAL
[core]
; *** Esp8266 Tasmota modified Arduino core based on core 2.7.4
platform = espressif8266@2.6.2
platform_packages = framework-arduinoespressif8266@https://github.com/tasmota/Arduino/releases/download/2.7.4.5/esp8266-2.7.4.5.zip
platformio/tool-esptool @ 1.413.0
build_unflags = ${esp_defaults.build_unflags}
build_flags = ${esp82xx_defaults.build_flags}
; [core_active]
; platform = ${core_2_6_1.platform}
; build_flags = ${core_2_6_1.build_flags}
; platform = ${core_2_6_1_4m.platform}
; build_flags = ${core_2_6_1_4m.build_flags}
; build_unflags = ${esp_defaults.build_unflags}
[core_2_6_1]
; *** Esp8266 core for Arduino version 2.6.1
; platform = espressif8266
; platform_packages =
; framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
platform = espressif8266@2.6.1
;https://github.com/platformio/platform-espressif8266.git
;espressif8266@2.5.1
;https://github.com/platformio/platform-espressif8266.git
;espressif8266@2.5.1
;espressif8266@2.3.0
;espressif8266@2.5.1
;espressif8266@2.3.0
board_build.ldscript = eagle.flash.1m.ld
build_flags = ${esp82xx_defaults.build_flags}
; -Wl,-Teagle.flash.1m.ld
;-DBEARSSL_SSL_BASIC ;removed
;-Wl,-Teagle.flash.1m.ld
; NONOSDK22x_190703 = 2.2.2-dev(38a443e)
;-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703;removed
; lwIP 2 - Higher Bandwidth no Features
;-DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
; VTABLES in Flash
;-DVTABLES_IN_FLASH
; -DPGM_READ_UNALIGNED=0
; No exception code in firmware
-fno-exceptions
-lstdc++
; remove the 4-bytes alignment for PSTR()
;-DPSTR_ALIGN=1
; restrict to minimal mime-types
-DMIMETYPE_MINIMAL
[core_82_latest]
; *** Esp8266 core for Arduino version 2.6.1
; platform = espressif8266
; platform_packages =
; framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
platform = espressif8266
;https://github.com/platformio/platform-espressif8266.git
;espressif8266@2.5.1
;https://github.com/platformio/platform-espressif8266.git
;espressif8266@2.5.1
;espressif8266@2.3.0
;espressif8266@2.5.1
;espressif8266@2.3.0
board_build.ldscript = eagle.flash.1m.ld
build_flags = ${esp82xx_defaults.build_flags}
; -Wl,-Teagle.flash.1m.ld
;-DBEARSSL_SSL_BASIC ;removed
;-Wl,-Teagle.flash.1m.ld
; NONOSDK22x_190703 = 2.2.2-dev(38a443e)
;-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703;removed
; lwIP 2 - Higher Bandwidth no Features
;-DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
; VTABLES in Flash
;-DVTABLES_IN_FLASH
; -DPGM_READ_UNALIGNED=0
; No exception code in firmware
-fno-exceptions
-lstdc++
; remove the 4-bytes alignment for PSTR()
;-DPSTR_ALIGN=1
; restrict to minimal mime-types
-DMIMETYPE_MINIMAL
[core_2_6_1_4m]
; *** Esp8266 core for Arduino version 2.6.1
; platform = espressif8266
; platform_packages =
; framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git
platform = espressif8266@2.6.1
;https://github.com/platformio/platform-espressif8266.git
;espressif8266@2.5.1
;https://github.com/platformio/platform-espressif8266.git
;espressif8266@2.5.1
;espressif8266@2.3.0
;espressif8266@2.5.1
;espressif8266@2.3.0
extra_scripts = gzip_fw.py
board_build.ldscript = eagle.flash.4m.ld
build_flags = ${esp82xx_defaults.build_flags}
; -Wl,-Teagle.flash.4m.ld
;-DBEARSSL_SSL_BASIC ;removed
;-Wl,-Teagle.flash.1m.ld
; NONOSDK22x_190703 = 2.2.2-dev(38a443e)
;-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703;removed
; lwIP 2 - Higher Bandwidth no Features
;-DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
; VTABLES in Flash
;-DVTABLES_IN_FLASH
; -DPGM_READ_UNALIGNED=0
; No exception code in firmware
-fno-exceptions
-lstdc++
; remove the 4-bytes alignment for PSTR()
;-DPSTR_ALIGN=1
; restrict to minimal mime-types
-DMIMETYPE_MINIMAL
[core_2_6_1_1m]
; *** Esp8266 core for Arduino version 2.6.1
platform = espressif8266@2.6.1
board_build.ldscript = eagle.flash.1m.ld
build_flags = ${esp82xx_defaults.build_flags}
; -DBEARSSL_SSL_BASIC
; NONOSDK22x_190703 = 2.2.2-dev(38a443e)
; -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703
; lwIP 2 - Higher Bandwidth no Features
; -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH
; VTABLES in Flash
; -DVTABLES_IN_FLASH
; No exception code in firmware
-fno-exceptions
-lstdc++
extra_scripts = ${scripts_defaults.extra_scripts}
; ; // PSTR() macro modified to start on a 32-bit boundary. This adds on average
; ; // 1.5 bytes/string, but in return memcpy_P and strcpy_P will work 4~8x faster
; ; #ifndef PSTR
; ; #ifndef PSTR_ALIGN
; ; // PSTR() macro starts by default on a 32-bit boundary. This adds on average
; ; // 1.5 bytes/string, but in return memcpy_P and strcpy_P will work 4~8x faster
; ; // Allow users to override the alignment with PSTR_ALIGN
; ; #define PSTR_ALIGN 4
; ; #endif
; ; #ifndef PSTRN
; ; // Multi-alignment variant of PSTR, n controls the alignment and should typically be 1 or 4
; ; // Adapted from AVR-specific code at https://forum.arduino.cc/index.php?topic=194603.0
; ; // Uses C attribute section instead of ASM block to allow for C language string concatenation ("x" "y" === "xy")
; ; #define PSTR(s) (__extension__({static const char __c[] __attribute__((__aligned__(4))) __attribute__((section( "\".irom0.pstr." __FILE__ "." __STRINGIZE(__LINE__) "." __STRINGIZE(__COUNTER__) "\", \"aSM\", @progbits, 1 #"))) = (s); &__c[0];}))
; ; #define PSTRN(s,n) (__extension__({static const char __c[] __attribute__((__aligned__(n))) __attribute__((section( "\".irom0.pstr." __FILE__ "." __STRINGIZE(__LINE__) "." __STRINGIZE(__COUNTER__) "\", \"aSM\", @progbits, 1 #"))) = (s); &__c[0];}))
; ; #endif
; ; #ifndef PSTR
; ; // PSTR() uses the default alignment defined by PSTR_ALIGN
; ; #define PSTR(s) PSTRN(s,PSTR_ALIGN)
; ; #endif
; ; #ifndef PSTR4
; ; // PSTR4() enforces 4-bytes alignment whatever the value of PSTR_ALIGN
; ; // as required by functions like ets_strlen() or ets_memcpy()
; ; #define PSTR4(s) PSTRN(s,4)
; ; #endif