-
-
Notifications
You must be signed in to change notification settings - Fork 13
/
platformio.ini.sample
302 lines (260 loc) · 8.56 KB
/
platformio.ini.sample
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
; Meatloaf PlatformIO Project Configuration File
;
; Quick Start Instructions:
;
; Set the following options in this file:
; in [meatloaf] section: Set your environment and flash_size
; in [env] section: Set your upload_port and monitor_port
;
; To build in VSCode, select the PlatformIO icon on the sidebar and expand
; the section for the board you have chosen (ie, lolin-d32). First, choose
; choose Upload under the General section, then choose Upload Filesystem
; image under the Platform section.
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[meatloaf]
description = Meatloaf Commodore to ESP32 WiFi Multifunction Firmware
; Uncomment ONLY ONE of the below lines to target the hardware you use
; GPIO pin assignments are located in the include/pinmap/ directory for reference
; ESP32-WROVER
;environment = lolin-d32-pro ; Wemos Lolin D32 Pro (ESP32-WROVER 8M PSRAM, 4M/8M/16M Flash)
;environment = iec-nugget ; Wemos Lolin D32 Pro (TFT Header) (ESP32-WROVER 8M PSRAM, 4M/8M/16M Flash)
;environment = fujiapple-rev0 ; FujiApple REV0 with esp32-devkitc (ESP32-WROVER 8M PSRAM, 8M Flash)
;environment = fujinet-v16 ; FujiNet v1.6 (ESP32-WROVER 8M PSRAM, 16M Flash)
environment = fujiloaf-rev0 ; Meatloaf / FujiNet REV0 board, aka Fujiloaf (ESP32-WROVER 8M PSRAM, 16M Flash)
; ESP32-WROOM
;environment = esp32-wroom ; generic esp32-wroom board (ESP32-WROOM NO PSRAM, 4M/8M/16M Flash)
;environment = esp32-wroom-pi1541 ; generic esp32-wroom board with pi1541 hat (ESP32-WROOM NO PSRAM, 4M/8M/16M Flash)
;environment = ttgo-t1 ; Lilygo TTGO T1 V1.3 (ESP32 NO PSRAM, 4M Flash)
; EXPERIMENTAL
; ESP32-S2
;environment = lolin-s2-mini ; Wemos Lolin S2 Mini (ESP32-S2 2M PSRAM, 4M Flash)
; ESP32-S3
;environment = esp32-s3-devkitc-1 ; esp32s3 devkitc (ESP32-S3 2M/8M PSRAM, 8M/16M/32M Flash)
;environment = lolin-s3-pro ; Wemos Lolin S3 Pro (ESP32-S3 8M PSRAM, 16M Flash)
;environment = freenove-esp32-s3-wroom-1 ; Freenove ESP32-S3-WROOM-1 (ESP32-S3 8M PSRAM, 16M Flash)
;environment = esp32-s3-zero ; (ESP32-S3 2M PSRAM, 4M Flash)
;environment = esp32-s3-super-mini ; (ESP32-C3 NO PSRAM, 4M Flash)
; ESP32-C3
;environment = esp32-c3-super-mini ; (ESP32-C3 NO PSRAM, 4M Flash)
; NATIVE UNIT TESTING
;environment = native ; For running tests that don't require embedded hardware
; Choose SPIFFS or LITTLEFS for the filesystem used on internal flash
;flash_filesystem = FLASH_SPIFFS
flash_filesystem = FLASH_LITTLEFS
; Set default WiFi credentials
wifi_ssid = "meatloaf"
wifi_pass = "meatloaf"
; Required flags, leave as is
build_platform = BUILD_IEC
build_bus = IEC
[platformio]
description = ${meatloaf.description}
default_envs = ${meatloaf.environment}
data_dir = data/${meatloaf.build_platform}
[esp32_base]
; Espressif32 PlatformIO Version to use for building
; https://github.com/platformio/platform-espressif32/releases
platform = espressif32 @ 6.3.2
;platform = espressif32 @ 6.9.0
framework = espidf
board_build.filesystem = littlefs
test_filter = embedded/*
extra_scripts =
pre:build_version.py
; post:archive_firmware.py
[env]
; Common settings for all enivornments
build_type = debug ;debug ;release
lib_ldf_mode = deep+ ; off chain deep chain+ deep+
upload_speed = 460800 ;460800 ;921600
;upload_port = COM1 ; Windows
;upload_port = /dev/ttyUSB0 ; Linux
;upload_port = /dev/cu.usbserial-144210 ; Mac
monitor_speed = 460800 ;460800 ;921600
;monitor_port = COM1 ; Windows
;monitor_port = /dev/ttyUSB0 ; Linux
;monitor_port = /dev/cu.usbserial-144210 ; Mac
monitor_filters = esp32_exception_decoder
check_skip_packages = yes
;debug_tool = esp-prog
;debug_init_break = tbreak setup
; Build flags used by ALL boards go here
build_flags =
-std=gnu++17
-D ${meatloaf.build_platform}
-D ${meatloaf.flash_filesystem}
-D CMAKE_EXPORT_COMPILE_COMMANDS=ON
; Default WiFi
-D WIFI_SSID=\"${meatloaf.wifi_ssid}\"
-D WIFI_PASSWORD=\"${meatloaf.wifi_pass}\"
; Firmware Version
;-D MEATLOAF_MAX
; IEC Hardware Options
; These options are also useful for reusing a PI1541 Hat with Meatloaf
;-D IEC_SPLIT_LINES ; hardware uses seperate input/output lines
;-D IEC_INVERTED_LINES ; hardware inverts the signals
; Other Hardware Options
;-D NO_BUTTONS ; if your hardware has no physical buttons
;-D SD_CARD ; if your hardware has an sd card slot
;-D RGB_LED_STRIP ; if your hardware has an RGB LED strip
;-D PIEZO_BUZZER ; if your hardware has a piezo buzzer
;-D PARALLEL_BUS ; if your hardware has userport parallel interface
;-D JTAG ; enable use with JTAG debugger
;-D BLUETOOTH_SUPPORT ; enable BlueTooth support
; Service Options
;-D ENABLE_ZIMODEM ; enable Zimodem functionality
;-D ENABLE_SSDP ; enable Simple Service Discovery Protocol service
-D ENABLE_CONSOLE ; enable console service
;-D ENABLE_DISPLAY ; enable display service
;-D ENABLE_AUDIO ; enable audio service
; GPIO Expander Selection (select only one if available)
;-D GPIOX_PCF8575
;-D GPIOX_MCP23017
;-D GPIOX_XRA1405
; Protocol Support
;-D JIFFYDOS
; Component Options
-D QRCODEVERSION=8
; DEBUG Options
-D DEBUG_SPEED=${env.monitor_speed}
;-D DATA_STREAM
;-D VERBOSE_TNFS
;-D VERBOSE_DISK
;-D VERBOSE_HTTP
;-D VERBOSE_PROTOCOL
;-D DEBUG_TIMING
;-D NO_VIRTUAL_KEYBOARD
;-D DBUG2 ; enable monitor messages for a release build
;-D RUN_TESTS
build_unflags =
-std=gnu++11
[env:native]
; Add Code Coverage Reporting
; https://piolabs.com/blog/insights/test-coverage-on-unit-testing.html
; https://blog.leon0399.ru/platformio-coverage-github-actions
platform = native
test_filter = native/*
extra_scripts = gen_coverage.py
build_flags =
${env.build_flags}
-D TEST_NATIVE
;-lgcov
;--coverage
;-fprofile-abs-path
; ESP32-WROVER
[env:fujiloaf-rev0]
extends = esp32_base
board = esp32-16mb
build_flags =
${env.build_flags}
-D PINMAP_FUJILOAF_REV0
-D SD_CARD
-D ENABLE_DISPLAY
;-D PARALLEL_BUS
;-D GPIOX_PCF8575
;-D MEATLOAF_MAX
;-D JIFFYDOS
;-D ENABLE_SSDP
;-D USE_VDRIVE
[env:lolin-d32-pro]
extends = esp32_base
board = esp32-16mb
build_flags =
${env.build_flags}
-D PINMAP_LOLIN_D32_PRO
-D NO_BUTTONS
-D SD_CARD
[env:iec-nugget]
extends = esp32_base
board = esp32-16mb
build_flags =
${env.build_flags}
-D PINMAP_IEC_NUGGET
-D NO_BUTTONS
-D SD_CARD
[env:fujiapple-rev0]
extends = esp32_base
board = esp32-8mb
build_flags =
${env.build_flags}
-D PINMAP_A2_REV0
-D SD_CARD
[env:fujinet-v16]
extends = esp32_base
board = esp32-8mb
build_flags =
${env.build_flags}
-D PINMAP_FN_16
-D SD_CARD
; ESP32-WROOM32
[env:esp32-wroom]
extends = esp32_base
board = esp32-4mb
build_flags =
${env.build_flags}
-D PINMAP_WROOM
[env:esp32-wroom-pi1541]
extends = esp32_base
board = esp32-4mb
build_flags =
${env.build_flags}
-D PINMAP_WROOM_1541
-D NO_BUTTONS
-D IEC_SPLIT_LINES
-D IEC_INVERTED_LINES
[env:ttgo-t1]
extends = esp32_base
board = esp32-4mb
build_flags =
${env.build_flags}
-D PINMAP_TTGO_T1
-D SD_CARD
; ESP32-S2
[env:lolin-s2-mini]
extends = esp32_base
board = esp32-s2fh4
build_flags =
${env.build_flags}
-D PINMAP_LOLIN_S2_MINI
; ESP32-S3
[env:esp32-s3-devkitc-1]
extends = esp32_base
board = esp32-s3-wroom-1-n16r8
build_flags =
${env.build_flags}
-D PINMAP_ESP32S3_DEVKITC_1
[env:lolin-s3-pro]
extends = esp32_base
board = esp32-s3-wroom-1-n16r8
build_flags =
${env.build_flags}
-D PINMAP_LOLIN_S3_PRO
-D SD_CARD
[env:freenove-esp32-s3-wroom-1]
extends = esp32_base
board = esp32-s3-wroom-1-n16r8
build_flags =
${env.build_flags}
-D PINMAP_FREENOVE_ESP32S3
-D SD_CARD
[env:esp32-s3-zero]
extends = esp32_base
board = esp32-s3fh4r2
build_flags =
${env.build_flags}
-D PINMAP_ESP32_S3_ZERO
[env:esp32-s3-super-mini]
extends = esp32_base
board = esp32-s3fh4r2
build_flags =
${env.build_flags}
-D PINMAP_ESP32_S3_SUPER_MINI
; ESP32-C3
[env:esp32-c3-super-mini]
extends = esp32_base
board = esp32-c3fn4
build_flags =
${env.build_flags}
-D PINMAP_ESP32_C3_SUPER_MINI