-
Notifications
You must be signed in to change notification settings - Fork 32
Expand file tree
/
Copy pathplatformio.ini
More file actions
328 lines (304 loc) · 11.3 KB
/
Copy pathplatformio.ini
File metadata and controls
328 lines (304 loc) · 11.3 KB
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
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
; 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
[platformio]
; Added this here to "hard code" the environment for macro debugging/visuals
;default_envs = esp32_wifi_tft
[common]
framework = arduino
; The default platform & platform package only applies to ESP32 derivatives
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.34/platform-espressif32.zip
lib_deps =
bblanchon/ArduinoJson @ ^7.4.2
https://github.com/thorrak/Arduino-Log.git ; // Need this until ArduinoLog merges https://github.com/thijse/Arduino-Log/pull/21
https://github.com/tzapu/WiFiManager.git#0d84861270c3cd64f72a4eaf34443ee580d2547e ; Anchor to latest commit as of 8/7/24
bblanchon/StreamUtils @ ^1.9.1
ESP32Async/ESPAsyncWebServer @ 3.9.3 ; https://github.com/ESP32Async/ESPAsyncWebServer.git
lib_deps_bluetooth =
h2zero/NimBLE-Arduino @ ^2.3.7 ; https://github.com/h2zero/NimBLE-Arduino.git
lib_deps_esp32 =
ESP32Async/AsyncTCP @ ^3.4.9 ; https://github.com/ESP32Async/AsyncTCP.git
https://github.com/thorrak/esp32_ds18b20.git
lib_deps_esp8266 =
ESP32Async/ESPAsyncTCP @ ^2.0.0 ; https://github.com/ESP32Async/ESPAsyncTCP.git
pstolarz/OneWireNg@^0.13.1
https://github.com/pstolarz/Arduino-Temperature-Control-Library.git#475f390038fe6828f0403960b8634a5227e54b34 ; Anchor to latest commit as of 12/15/24
; Let's also include some other common build flags for ease-of-use
build_flags =
!python3 scripts/gen_version.py
-DCONFIG_USE_NATIVE_CPP_NEW
-D CORE_DEBUG_LEVEL=0 ; Set core Arduino log level (5 = high)
-D ARDUINO_LOG_LEVEL=0 ; Set Serial log level (6 = high)
-D CONFIG_NIMBLE_CPP_LOG_LEVEL=0 ; Set NimBLE log level (4 = high)
-D DISABLE_LOGGING ; This will remove log lib from sketch
; Remove some espressif components we don't need to reduce build size (mostly for iram savings)
custom_sdkconfig = CONFIG_SPIRAM_CACHE_LIBTIME_IN_IRAM=n
custom_component_remove = espressif/esp_hosted
espressif/esp_wifi_remote
espressif/esp_modem
espressif/esp-dsp
espressif/esp-zboss-lib
espressif/esp-zigbee-lib
espressif/esp_rainmaker
espressif/rmaker_common
espressif/esp_insights
espressif/esp_diag_data_store
espressif/esp_diagnostics
espressif/cbor
espressif/qrcode
espressif/esp-sr
espressif/libsodium
espressif/esp-modbus
espressif/esp32-camera
upload_speed = 460800
monitor_speed = 115200
; These are true for most devices on MacOS - Will likely need to be changed if compiling on other platforms
build_type = release
monitor_dtr = 1
monitor_rts = 1
[env:esp32_wifi_tft]
board = lolin_d32
platform = ${common.platform}
framework = ${common.framework}
; board_build.arduino.upstream_packages = no
; For esp32_wifi_tft we want to enable LCD support, TFT support, and WiFi support
build_flags =
${common.build_flags}
-DBREWPI_LCD
; BREWPI_TFT is the flag we're using for TFTs in general
; BREWPI_TFT_ILI9341 is the flag we're using for the "big" (LoLin) TFTs
-DBREWPI_TFT
-DBREWPI_TFT_ILI9341
-DESP8266_WiFi
-DHAS_BLUETOOTH
-DEXTERN_SENSOR_ACTUATOR_SUPPORT
; -DENABLE_PROMETHEUS_SERVER
-DENABLE_HTTP_INTERFACE
-DCONFIG_BT_NIMBLE_ROLE_PERIPHERAL_DISABLED
-DCONFIG_BT_NIMBLE_ROLE_BROADCASTER_DISABLED
-DCONFIG_BT_NIMBLE_PINNED_TO_CORE=1
-DESP32_STOCK
lib_deps =
${common.lib_deps}
${common.lib_deps_bluetooth}
${common.lib_deps_esp32}
https://github.com/PaulStoffregen/XPT2046_Touchscreen
adafruit/Adafruit GFX Library@^1.11.5
adafruit/Adafruit ILI9341@^1.5.12
adafruit/Adafruit BusIO@^1.14.1
upload_speed = ${common.upload_speed}
monitor_speed = ${common.monitor_speed}
board_build.partitions = 4mb_no_ota.csv
board_build.filesystem = littlefs
build_type = ${common.build_type}
custom_sdkconfig = ${common.custom_sdkconfig}
custom_component_remove = ${common.custom_component_remove}
monitor_filters =
esp32_exception_decoder
[env:esp32_wifi_iic]
board = lolin_d32
platform = ${common.platform}
framework = ${common.framework}
; For esp32_wifi_iic we want to enable LCD support, IIC support, and WiFi support
build_flags =
${common.build_flags}
-DBREWPI_LCD
-DBREWPI_IIC
-DESP8266_WiFi
-DHAS_BLUETOOTH
-DEXTERN_SENSOR_ACTUATOR_SUPPORT
; -DENABLE_PROMETHEUS_SERVER
-DENABLE_HTTP_INTERFACE
-DCONFIG_BT_NIMBLE_ROLE_PERIPHERAL_DISABLED
-DCONFIG_BT_NIMBLE_ROLE_BROADCASTER_DISABLED
-DCONFIG_BT_NIMBLE_PINNED_TO_CORE=1
-DESP32_STOCK
lib_deps =
${common.lib_deps}
${common.lib_deps_bluetooth}
${common.lib_deps_esp32}
upload_speed = ${common.upload_speed}
monitor_speed = ${common.monitor_speed}
board_build.partitions = 4mb_no_ota.csv
board_build.filesystem = littlefs
build_type = ${common.build_type}
custom_sdkconfig = ${common.custom_sdkconfig}
custom_component_remove = ${common.custom_component_remove}
monitor_filters =
esp32_exception_decoder
[env:esp8266_wifi]
; v4.1.0 was known to be more stable with WiFi - but trying 4.2.1 to see if the issues have been fixed
platform = espressif8266@4.2.1
board = d1_mini
framework = ${common.framework}
board_build.filesystem = littlefs
; For esp8266_wifi we want to enable LCD support, IIC support, and WiFi support
build_flags =
${common.build_flags}
-DBREWPI_LCD
-DBREWPI_IIC
-DESP8266_WiFi
-DENABLE_HTTP_INTERFACE
-DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK221
lib_deps =
${common.lib_deps}
${common.lib_deps_esp8266}
upload_speed = ${common.upload_speed}
monitor_speed = ${common.monitor_speed}
build_type = ${common.build_type}
monitor_filters = esp8266_exception_decoder, default
; [env:esp8266_serial]
; platform = espressif8266
; board = d1_mini
; framework = ${common.framework}
; ; For esp8266_serial we want to enable LCD support and IIC support, but disable WiFi support
; build_flags =
; ${common.build_flags}
; -DBREWPI_LCD
; -DBREWPI_IIC
; -DESP8266_Serial
; lib_deps =
; ${common.lib_deps}
; pstolarz/OneWireNg@^0.13.1
; https://github.com/pstolarz/Arduino-Temperature-Control-Library.git#475f390038fe6828f0403960b8634a5227e54b34 ; Anchor to latest commit as of 12/15/24
; upload_speed = ${common.upload_speed}
; monitor_speed = 57600
; ;upload_port = ${common.upload_port}
; ;monitor_port = ${common.monitor_port}
; build_type = ${common.build_type}
; board_build.filesystem = littlefs
; monitor_filters = esp8266_exception_decoder, default
; [env:esp32_c3_wifi]
; platform = espressif32
; board = lolin_c3_mini
; framework = ${common.framework}
; ; For esp32_c3_wifi we want to enable LCD support, TFT support, and WiFi support
; build_flags =
; ${common.build_flags}
; -DBREWPI_LCD
; -DBREWPI_IIC
; -DESP8266_WiFi
; -DEXTERN_SENSOR_ACTUATOR_SUPPORT
; ; -DENABLE_PROMETHEUS_SERVER
; ; -DENABLE_HTTP_INTERFACE
; -DESP32C3
; lib_deps =
; ${common.lib_deps}
; ${common.lib_deps_esp32}
; upload_speed = ${common.upload_speed}
; monitor_speed = ${common.monitor_speed}
; board_build.partitions = 4mb_inc_ota.csv
; ;board_build.filesystem = littlefs
; build_type = ${common.build_type}
; custom_component_remove = ${common.custom_component_remove}
; monitor_filters =
; esp32_exception_decoder
[env:esp32_s2_wifi]
board = lolin_s2_mini
platform = ${common.platform}
framework = ${common.framework}
; v4.4.4 of esp-idf introduces a bug in the IIC implementation that causes MASSIVE delays
; in the IIC bus on the S2 (meaning that writes to the LCD grind the controller to a halt).
; This appears to be related to https://github.com/espressif/arduino-esp32/issues/8480#issuecomment-1708909457
; For esp32_s2_wifi we want to enable LCD support, IIC support, and WiFi support
; There is no Bluetooth support on this chip.
build_flags =
${common.build_flags}
-DBREWPI_LCD
-DBREWPI_IIC
-DESP8266_WiFi
-DENABLE_HTTP_INTERFACE
-DEXTERN_SENSOR_ACTUATOR_SUPPORT
; -DENABLE_PROMETHEUS_SERVER
-DESP32S2
lib_deps =
${common.lib_deps}
${common.lib_deps_esp32}
upload_speed = ${common.upload_speed}
monitor_speed = ${common.monitor_speed}
board_build.partitions = 4mb_inc_ota.csv
board_build.filesystem = littlefs
build_type = ${common.build_type}
custom_component_remove = ${common.custom_component_remove}
monitor_filters =
esp32_exception_decoder
; [env:esp32_s2_serial]
; board = lolin_s2_mini
; platform = ${common.platform}
; framework = ${common.framework}
; ; v4.4.4 of esp-idf introduces a bug in the IIC implementation that causes MASSIVE delays
; ; in the IIC bus on the S2 (meaning that writes to the LCD grind the controller to a halt).
; ; This appears to be related to https://github.com/espressif/arduino-esp32/issues/8480#issuecomment-1708909457
; ; For esp32_s2_serial we want to enable LCD support, IIC support, and Serial support
; ; There is no Bluetooth support on this chip.
; build_flags =
; ${common.build_flags}
; -DBREWPI_LCD
; -DBREWPI_IIC
; -DESP8266_Serial
; ; -DEXTERN_SENSOR_ACTUATOR_SUPPORT
; -DESP32S2
; lib_deps =
; ${common.lib_deps}
; upload_speed = ${common.upload_speed}
; monitor_speed = ${common.monitor_speed}
; board_build.partitions = 4mb_inc_ota.csv
; board_build.filesystem = littlefs
; build_type = ${common.build_type}
; custom_component_remove = ${common.custom_component_remove}
; monitor_filters =
; esp32_exception_decoder
[env:esp32_wifi_espi]
board = esp32dev
platform = ${common.platform}
framework = ${common.framework}
; board_build.arduino.upstream_packages = no
; For esp32_wifi_tft we want to enable LCD support, TFT support, and WiFi support
build_flags =
${common.build_flags}
-DBREWPI_LCD
-DBREWPI_TFT
-DBREWPI_TFT_ESPI
-DHAS_AXP192
-DESP8266_WiFi
-DHAS_BLUETOOTH
-DEXTERN_SENSOR_ACTUATOR_SUPPORT
; -DENABLE_PROMETHEUS_SERVER
-DENABLE_HTTP_INTERFACE
-DCONFIG_BT_NIMBLE_ROLE_PERIPHERAL_DISABLED
-DCONFIG_BT_NIMBLE_ROLE_BROADCASTER_DISABLED
-DCONFIG_BT_NIMBLE_PINNED_TO_CORE=1
-DESP32_STOCK
-DUSER_SETUP_LOADED=1
-DST7789_DRIVER=1
-DTFT_WIDTH=135
-DTFT_HEIGHT=240
-DCGRAM_OFFSET=1
-DTFT_MISO=-1
-DTFT_MOSI=15
-DTFT_SCLK=13
-DTFT_CS=5
-DTFT_DC=23
-DTFT_RST=18
-DLOAD_GFXFF=1
-DSMOOTH_FONT=1
lib_deps =
${common.lib_deps}
${common.lib_deps_bluetooth}
${common.lib_deps_esp32}
; bodmer/TFT_eSPI @ 2.5.43 ; https://github.com/Bodmer/TFT_eSPI.git
https://github.com/Bodmer/TFT_eSPI.git#5793878d24161c1ed23ccb136f8564f332506d53 ; master as of 7/6/24
upload_speed = 1500000
monitor_speed = ${common.monitor_speed}
board_build.partitions = 4mb_no_ota.csv
board_build.filesystem = littlefs
build_type = ${common.build_type}
custom_sdkconfig = ${common.custom_sdkconfig}
custom_component_remove = ${common.custom_component_remove}
monitor_filters =
esp32_exception_decoder