Skip to content

Commit acaed49

Browse files
authored
Use platformio's extend feature (#149)
* Use platformio's extend feature * Pin ESP32 platform version * Do not use env: prefix for base envs By using a custom prefix base:, we don't need to list the environments we *want* to build explicitly. * Fix espressif32 platform version
1 parent 8c62485 commit acaed49

File tree

1 file changed

+29
-13
lines changed

1 file changed

+29
-13
lines changed

platformio.ini

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
[platformio]
1212
src_dir = ESP8266WirelessPrintAsync
1313

14+
15+
# common variables shared by the environments
1416
[common]
17+
framework = arduino
1518
lib_deps =
1619
https://github.com/greiman/SdFat#3b79f38
1720
https://github.com/me-no-dev/ESPAsyncWebServer#95dedf7
@@ -22,24 +25,37 @@ lib_deps =
2225
https://github.com/bblanchon/ArduinoJson#3df4efd
2326
https://github.com/Makuna/NeoPixelBus#9619fef
2427

25-
[env:nodemcuv2]
26-
platform = espressif8266@2.0.0 ; Corresponds to https://github.com/platformio/platform-espressif8266/releases/tag/v2.0.0 = https://github.com/esp8266/Arduino/releases/tag/2.5.0
27-
board = nodemcuv2
28-
framework = arduino
28+
29+
# base environments
30+
# can be extended by board-specific environments
31+
[base:esp8266]
32+
; corresponds to https://github.com/platformio/platform-espressif8266/releases/tag/v2.0.0
33+
; see https://github.com/esp8266/Arduino/releases/tag/2.5.0
34+
platform = espressif8266@2.0.0
35+
framework = ${common.framework}
36+
lib_deps = ${common.lib_deps}
37+
38+
[base:esp32]
39+
; corresponds to https://github.com/platformio/platform-espressif32/releases/tag/v1.8.0
40+
; see https://github.com/espressif/arduino-esp32/releases/tag/1.0.2
41+
platform = espressif32@1.8.0
42+
framework = ${common.framework}
2943
lib_deps =
3044
${common.lib_deps}
45+
https://github.com/bbx10/Hash_tng
46+
47+
48+
[env:nodemcuv2]
49+
board = nodemcuv2
50+
extends = base:esp8266
3151

3252
[env:d1_mini]
33-
platform = espressif8266@2.0.0 ; Corresponds to https://github.com/platformio/platform-espressif8266/releases/tag/v2.0.0 = https://github.com/esp8266/Arduino/releases/tag/2.5.0
3453
board = d1_mini
35-
framework = arduino
36-
lib_deps =
37-
${common.lib_deps}
54+
extends = base:esp8266
3855

56+
# esp32dev works for the majority of ESP32 based dev boards
57+
# there are more specific board configurations available, feel free to send PRs adding new ones
3958
[env:esp32dev]
40-
platform = espressif32@1.8.0 ; Corresponds to https://github.com/platformio/platform-espressif32/releases/tag/v1.8.0 = https://github.com/espressif/arduino-esp32/releases/tag/1.0.2
4159
board = esp32dev
42-
framework = arduino
43-
lib_deps =
44-
${common.lib_deps}
45-
https://github.com/bbx10/Hash_tng
60+
extends = base:esp32
61+

0 commit comments

Comments
 (0)