forked from jomjol/AI-on-the-edge-device
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplatformio.ini
217 lines (194 loc) · 7.42 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
; 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
[platformio]
src_dir = main
default_envs = esp32cam
[common:idf]
build_flags =
-DUSE_ESP_IDF
lib_deps =
[common:esp32-idf]
extends = common:idf
; PlatformIO releases, see https://github.com/platformio/platform-espressif32/releases
platform = platformio/espressif32 @ 6.9.0
framework = espidf
lib_deps =
${common:idf.lib_deps}
build_flags =
${common:idf.build_flags}
-Wno-nonnull-compare
-DUSE_ESP32
-DUSE_ESP32_FRAMEWORK_ESP_IDF
[flags:runtime]
build_flags =
-Wno-nonnull-compare
-Wno-sign-compare
-Wno-unused-but-set-variable
-Wno-unused-variable
-fno-exceptions
[flags:clangtidy]
build_flags =
-Wall
-Wextra
-Wunreachable-code
;-Wshadow-compatible-local
-fno-exceptions
; The main env - default
[env:esp32cam]
extends = common:esp32-idf
board = esp32cam
framework = espidf
build_flags =
; ### common imported :
${common:esp32-idf.build_flags}
${flags:runtime.build_flags}
; ### Sofware options : (can be set in defines.h)
-D BOARD_ESP32CAM_AITHINKER
-D ENABLE_MQTT
-D ENABLE_INFLUXDB
-D ENABLE_WEBHOOK
-D ENABLE_SOFTAP
board_build.partitions = partitions.csv
monitor_speed = 115200
; full standalone dev mode
; As sample, the board is nod32s instead of esp32cam (do not change nothing in fact :)
; You can test newer platform_packages
; or flash mode (board_build.flash_mode = qio)
[env:esp32cam-dev]
extends = common:esp32-idf
board = esp32cam ; node32s
;board_build.flash_mode = qio ;generate SPI_FAST_FLASH_BOOT boot loop
build_flags =
; ### common imported :
${common:esp32-idf.build_flags}
${flags:clangtidy.build_flags}
; ### Sofware options : (can be set in defines.h)
-D BOARD_ESP32CAM_AITHINKER
-D ENABLE_MQTT
-D ENABLE_INFLUXDB
-D ENABLE_WEBHOOK
;-D ENABLE_SOFTAP
; ### Debug options :
;-D DEBUG_DETAIL_ON
;-D DEBUG_DISABLE_BROWNOUT_DETECTOR
;-D DEBUG_ENABLE_SYSINFO
;-D DEBUG_ENABLE_PERFMON
;-D DEBUG_HIMEM_MEMORY_CHECK
;### test options
-D CONFIG_ESP_TASK_WDT
;-D CONFIG_COMPILER_OPTIMIZATION_ASSERTION_LEVEL
-D CONFIG_ESP_TASK_WDT_TIMEOUT_S ; fix for CONFIG_ESP_INT_WDT_TIMEOUT_MS
;-D USE_HIMEM_IF_AVAILABLE
framework = espidf
lib_ldf_mode = deep+
platform = platformio/espressif32 @ 5.2.0
platform_packages =
;platformio/framework-espidf @ 3.40402.0 (4.4.2)
;platformio/framework-espidf@^3.50000.0
;platformio/tool-cmake @ 3.16.4
;platformio/tool-cmake@^3.21.3
;platformio/tool-esptoolpy @ 1.40201.0 (4.2.1)
;platformio/tool-esptoolpy@^1.40400.0
;platformio/tool-idf @ 1.0.1
;platformio/tool-mconf @ 1.4060000.20190628 (406.0.0)
;platformio/tool-ninja @ 1.9.0
;platformio/tool-ninja @ 1.10.2
;platformio/toolchain-esp32ulp @ 1.22851.191205 (2.28.51)
;espressif/toolchain-esp32ulp @ 2.35.0-20220830
;platformio/toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
;platformio/toolchain-xtensa-esp32 @ 11.2.0+2022r1
; platformio/espressif32 @ 5.3.0 dependencies :
;platformio/framework-espidf @ 3.40403.0
;platformio/tool-cmake @ 3.16.4
;platformio/tool-esptoolpy@^1.40400.0
;platformio/tool-idf @ 1.0.1
;platformio/tool-mconf @ 1.4060000.20190628
;platformio/tool-ninja @ 1.9.0
;espressif/toolchain-esp32ulp @ 2.35.0-20220830
;;;;espressif/toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
board_build.partitions = partitions.csv
monitor_speed = 115200
; Activate all debug mode
; Cannot be used alone, but must be added at the end of extends = env:esp32cam-dev, esp32cam-debug
;If multiple items specified in the extends field then only values from the latter one will be used in the final configuration
;https://docs.platformio.org/en/stable/projectconf/section_env_advanced.html
[env:esp32cam-debug] ; activate all debug
;extends nothing, only apply sdkconfig.esp32-debug.defaults, enable debug options and clangtidy
build_flags =
; ### clangtidy build flags:
${flags:clangtidy.build_flags}
; ### Debug options :
-D DEBUG_DETAIL_ON
;-D DEBUG_DISABLE_BROWNOUT_DETECTOR
-D DEBUG_ENABLE_SYSINFO
-D DEBUG_ENABLE_PERFMON
;-D DEBUG_HIMEM_MEMORY_CHECK
;-D USE_HIMEM_IF_AVAILABLE
lib_ldf_mode = deep+
; Power management enabled
;https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/power_management.html
;https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/kconfig.html#config-pm-enable
[env:esp32cam-power-management]
build_flags =
-D TCONFIG_PM_ENABLE
-D CONFIG_PM_DFS_INIT_AUTO
-D CONFIG_FREERTOS_USE_TICKLESS_IDLE
;-D FREERTOS_IDLE_TIME_BEFORE_SLEEP=3
;**********************
; next section use modified version CMakeLists.txt of to use sdkconfig.<pioenv>.defaults + sdkconfig.defaults
; https://github.com/platformio/platform-espressif32/issues/638
; set board to rev3
[env:esp32cam-board-rev3]
extends = env:esp32cam-dev, esp32cam-debug
; set CPU frequency to 240 instead of 160 default
[env:esp32cam-cpu-freq-240]
extends = env:esp32cam-dev, esp32cam-debug
; sdkconfig.esp32cam-board-rev3.defaults override some sdkconfig.defaults
; set board to rev3 + CPU frequency to 240
; look at the extends : it takes esp32cam-dev and add env:esp32cam-board-rev3, env:esp32cam-cpu-freq-240 , esp32cam-debug parameters
[env:esp32cam-board-rev3-cpu-freq-240]
extends = env:esp32cam-dev, env:esp32cam-board-rev3, env:esp32cam-cpu-freq-240 , esp32cam-debug
; set board to rev3 + CPU frequency to 240 + power management
[env:esp32cam-board-rev3-cpu-freq-240-pow]
extends = env:esp32cam-dev, env:esp32cam-board-rev3, env:esp32cam-cpu-freq-240 , env:esp32cam-power-management, esp32cam-debug
; Enable use of 8 MB PSRAM boards
;https://github.com/espressif/esp-idf/blob/master/examples/system/himem/README.md
[env:esp32cam-dev-himem]
extends = env:esp32cam-dev, esp32cam-debug
; sdkconfig.esp32cam-dev-himem.defaults override some sdkconfig.defaults
build_flags =
-DBOARD_HAS_PSRAM
;-D DEBUG_HIMEM_MEMORY_CHECK
;-D USE_HIMEM_IF_AVAILABLE
; set options for task analysis (PR #1751)
[env:esp32cam-dev-task-analysis]
extends = env:esp32cam-dev, esp32cam-debug
; sdkconfig.esp32cam-dev-task-analysis.defaults override some sdkconfig.defaults
build_flags =
;-D DEBUG_DETAIL_ON ; if esp32cam-debug not in extends
-D TASK_ANALYSIS_ON
;please use only one HEAP tracing at time.
-D HEAP_TRACING_MAIN_WIFI
;-D HEAP_TRACING_MAIN_START
;-D HEAP_TRACING_CLASS_FLOW_CNN_GENERAL_DO_ALING_AND_CUT
; Overwrite espcam build_flags to not include ENABLE_SOFTAP
; Nor the -U ENABLE_SOFTAP nor -D ENABLE_SOFTAP=0 works to unset defines actually
; Set CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n in sdkconfig.esp32cam-no-softap.defaults to disable softap in the esp-idf compilation
[env:esp32cam-no-softap] ;CONFIG_ESP_WIFI_SOFTAP_SUPPORT=n saves 28k of flash
extends = env:esp32cam
build_flags =
; ### common imported :
${common:esp32-idf.build_flags}
${flags:clangtidy.build_flags}
; ### Sofware options :
-D ENABLE_MQTT
-D ENABLE_INFLUXDB
-D ENABLE_WEBHOOK
;-D ENABLE_SOFTAP ; disabled