-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplatformio.ini
101 lines (92 loc) · 3.11 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
; LoRa32 PlatformIO Project Config File
;
; PlatformIO Project Config: https://docs.platformio.org/page/projectconf.html
;
; Visual Studio Code Fixes
;
; - Show Computed Configuration: $> pio project config
; - Code Completion/Linting (clang) Errors:
; - PlatformIO: Rebuild C/C++ Project Index
; - Generate 'compile_commands.json': $> pio run --target compiledb
; - Download clang: https://releases.llvm.org/download.html
; - Set paths in VSCode settings:
; clang-tidy: C_Cpp.codeAnalysis.clangTidy.path
; clang-format: C_Cpp.clang_format_path
;
;
; NOTE: This config is targted towards ESP32.
; Use 'extends' if configuring for RaspberryPi, ESP8266, etc.
;
;
[platformio]
name = iown-homecontrol
description = io-homecontrol for LoRa32 boards
default_envs = heltec_wifi_lora_32_V2
; Contents and Filesystem folder. Arduino standard is 'extras'.
data_dir = extras
; Global Options for all [env:*]
[env]
framework = arduino
platform = espressif32
;
; Build Options
board_build.filesystem = littlefs
; Use latest C/C++ Standards available
build_unflags = -std=gnu++11 -Os
; https://gcc.gnu.org/onlinedocs/gcc/Xtensa-Options.html
build_flags = -std=gnu++2a -O3
; auto align instructions to reduce branch penalties at the expense of some code density
-mtarget-align
; translate direct calls to indirect unless direct call target is in call range.
-mlongcalls
;
; Library Options
lib_compat_mode = off
; Parse project sources and dependencies recursively.
lib_ldf_mode = deep+
lib_deps = jgromes/RadioLib
;
; Upload Options
upload_speed = 921600
;
; Monitor Options
monitor_speed = 921600
monitor_echo = yes
monitor_eol = LF
monitor_filters =
default ; Remove typical terminal control codes from input
time ; Add timestamp with milliseconds for each new line
colorize ; Apply different colors for received and echo
send_on_enter ; Send a text to device on ENTER
esp32_exception_decoder ; Crash exception decoder
;
; Check Options
check_skip_packages = yes
check_tool = cppcheck, clangtidy
check_flags =
; https://sourceforge.net/p/cppcheck/wiki/ListOfChecks/
cppcheck: --enable=style --std=c++20
clangtidy: -format-style=Google -fix-errors
; high = Bugs || medium = Defensive Programming || low = Cleanup/Performance
check_severity = high
; Debug Options can be used in [env:*] via ${debug.*}
[debug]
; Build & Upload & Show Serial Monitor
targets = upload, monitor
monitor_filters = ${env.monitor_filters}
; Print what is sent and received
debug
; (Debug) Build Options
build_type = debug
build_flags = ${env.build_flags}
; Arduino Debug Level: 0=None, 1=Error, 2=Warn, 3=Info, 4=Debug, 5=Verbose
-DCORE_DEBUG_LEVEL=4
; debug_build_flags = ${env.debug_build_flags}
; Platform Options: Raspberry Pi RP2040 (use with 'extends = platform_raspberrypi')
[platform_raspberrypi]
; override standard platform
platform = raspberrypi
; ... options ...
; Board Options: HelTec WiFi LoRa32 V2
[env:heltec_wifi_lora_32_V2]
board = heltec_wifi_lora_32_V2