-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathplatformio.ini
More file actions
205 lines (183 loc) · 6 KB
/
platformio.ini
File metadata and controls
205 lines (183 loc) · 6 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
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env]
platform = espressif32 @ 6.12.0
board = az-delivery-devkit-v4 ; Overridden per board
framework = arduino
build_flags =
-std=c++2a
-std=gnu++2a
-fno-exceptions
-DCONFIG_ASYNC_TCP_QUEUE_SIZE=256
build_unflags =
-std=gnu++11
; Most warnings here are commented out because the compiler detects warnings outside own code, build_src_flags is meant to only be for our code but doesnt seem to work in this instance...
build_src_flags =
-Wall
-Wextra
;-Wpedantic
;-Werror
;-Wcast-align
;-Wcast-qual
;-Wctor-dtor-privacy
-Wdisabled-optimization
-Wformat=2
-Winit-self
-Wlogical-op
;-Wmissing-declarations
-Wmissing-include-dirs
-Wnoexcept
;-Wold-style-cast
;-Woverloaded-virtual
;-Wredundant-decls
;-Wshadow
;-Wsign-conversion
-Wsign-promo
-Wstrict-null-sentinel
-Wstrict-overflow=5
-Wswitch-default
;-Wundef
-Wno-unused
-Wno-unknown-pragmas
;-Weffc++
lib_deps =
https://github.com/google/flatbuffers#03fffb25e2d777462b719cb4964249c30b19d58f
https://github.com/OpenShock/ESPAsyncWebServer#e13f2a4c69aefa003ded7bcad76ff42735200dab
https://github.com/OpenShock/BadWebSockets#74cadf4a771ea75693fdb860c7ce0b9a2b616fbd
custom_openshock.flash_size = 4MB; Can be overridden per board
board_build.filesystem = littlefs
board_build.embed_files = certificates/x509_crt_bundle
extra_scripts =
pre:scripts/install_dependencies.py
pre:scripts/use_openshock_params.py
pre:scripts/embed_env_vars.py
post:scripts/build_frontend.py
; Serial Monitor options
upload_speed = 921600
monitor_speed = 115200
monitor_filters = esp32_exception_decoder
; Static code analysis
check_tool = cppcheck
check_skip_packages = true
check_flags =
cppcheck: --std=c++20 -j 8 --suppress=*:*/.pio/* --suppress=*:*/include/serialization/_fbs/*
; https://docs.platformio.org/en/stable/boards/espressif32/wemos_d1_mini32.html
[env:Wemos-D1-Mini-ESP32]
board = Wemos-D1-Mini-ESP32
custom_openshock.chip = ESP32
build_flags = ${env.build_flags}
-DOPENSHOCK_LED_GPIO=2
-DOPENSHOCK_RF_TX_GPIO=15
; https://docs.platformio.org/en/latest/boards/espressif32/lolin_s2_mini.html
[env:Wemos-Lolin-S2-Mini]
board = Wemos-Lolin-S2-Mini ; override
custom_openshock.chip = ESP32-S2
build_flags = ${env.build_flags}
-DOPENSHOCK_LED_GPIO=15
; https://docs.platformio.org/en/latest/boards/espressif32/lolin_s3.html
[env:Wemos-Lolin-S3]
board = Wemos-Lolin-S3 ; override
custom_openshock.chip = ESP32-S3
custom_openshock.flash_size = 16MB
build_flags = ${env.build_flags}
-DOPENSHOCK_LED_WS2812B=38
; https://docs.platformio.org/en/latest/boards/espressif32/lolin_s3_mini.html
[env:Wemos-Lolin-S3-Mini]
board = lolin_s3_mini ; builtin
custom_openshock.chip = ESP32-S3
custom_openshock.flash_size = 4MB
build_flags = ${env.build_flags}
-DOPENSHOCK_LED_WS2812B=47
-DOPENSHOCK_LED_SWAP_RG_CHANNELS=1
-DARDUINO_USB_CDC_ON_BOOT=1
; https://www.waveshare.com/wiki/ESP32-S3-Zero
[env:Waveshare_esp32_s3_zero]
board = esp32-s3-devkitc-1
custom_openshock.chip = ESP32-S3
custom_openshock.flash_size = 4MB
build_flags = ${env.build_flags}
-DOPENSHOCK_RF_TX_GPIO=1
-DOPENSHOCK_LED_WS2812B=21
-DOPENSHOCK_LED_SWAP_RG_CHANNELS=1
-DARDUINO_USB_CDC_ON_BOOT=1
[env:Pishock-2023]
board = Wemos-D1-Mini-ESP32 ; override
custom_openshock.chip = ESP32
build_flags = ${env.build_flags}
-DOPENSHOCK_LED_GPIO=2
-DOPENSHOCK_RF_TX_GPIO=12
[env:Pishock-Lite-2021]
board = Wemos-D1-Mini-ESP32 ; override
custom_openshock.chip = ESP32
build_flags = ${env.build_flags}
-DOPENSHOCK_LED_GPIO=2
-DOPENSHOCK_RF_TX_GPIO=15
; https://docs.platformio.org/en/latest//boards/espressif32/seeed_xiao_esp32c3.html
[env:Seeed-Xiao-ESP32C3]
board = seeed_xiao_esp32c3 ; builtin
custom_openshock.chip = ESP32-C3
custom_openshock.flash_size = 4MB
; https://docs.platformio.org/en/latest//boards/espressif32/seeed_xiao_esp32s3.html
[env:Seeed-Xiao-ESP32S3]
board = seeed_xiao_esp32s3 ; builtin
custom_openshock.chip = ESP32-S3
custom_openshock.flash_size = 8MB
build_flags = ${env.build_flags}
-DOPENSHOCK_LED_GPIO=21
; https://docs.platformio.org/en/latest//boards/espressif32/dfrobot_firebeetle2_esp32e.html
[env:DFRobot-Firebeetle2-ESP32E]
board = dfrobot_firebeetle2_esp32e ; builtin
custom_openshock.chip = ESP32
custom_openshock.flash_size = 4MB
build_flags = ${env.build_flags}
-DOPENSHOCK_RF_TX_GPIO=13
-DOPENSHOCK_LED_WS2812B=5
-DOPENSHOCK_LED_GPIO=2
; https://github.com/OpenShock/Hardware/tree/main/Core
; 8MB Flash, assume no PSRAM.
; Uses now-blacklisted pins for RF TX and Status LED.
[env:OpenShock-Core-V1]
board = esp32-s3-devkitc-1 ; builtin
custom_openshock.chip = ESP32-S3
custom_openshock.flash_size = 8MB
build_flags = ${env.build_flags}
-DOPENSHOCK_LED_WS2812B=48
-DOPENSHOCK_LED_GPIO=35
-DOPENSHOCK_RF_TX_GPIO=15
-DOPENSHOCK_ESTOP_PIN=13
; https://github.com/OpenShock/Hardware/tree/main/Core%20v2
; 8MB Flash, assume no PSRAM.
[env:OpenShock-Core-V2]
board = esp32-s3-devkitc-1 ; builtin
custom_openshock.chip = ESP32-S3
custom_openshock.flash_size = 8MB
build_flags = ${env.build_flags}
-DOPENSHOCK_LED_WS2812B=14
-DOPENSHOCK_LED_GPIO=13
-DOPENSHOCK_RF_TX_GPIO=1
-DOPENSHOCK_ESTOP_PIN=38
; https://docs.platformio.org/en/stable/boards/espressif32/nodemcu-32s.html
[env:NodeMCU-32S]
board = nodemcu-32s
custom_openshock.chip = ESP32
build_flags = ${env.build_flags}
-DOPENSHOCK_LED_GPIO=2
; TODO:
; https://docs.platformio.org/en/latest/boards/espressif32/upesy_wroom.html;upesy-esp32-wroom-devkit
[env:fs]
custom_openshock.chip = ESP32
custom_openshock.flash_size = 4MB
; This exists so we don't build individual filesystems per board.
; Build for CI CodeQL and cppcheck
[env:ci-build]
board = esp32-s3-devkitc-1 ; builtin
custom_openshock.chip = ESP32-S3
custom_openshock.flash_size = 8MB
build_flags = ${env:OpenShock-Core-V2.build_flags}