aboutsummaryrefslogtreecommitdiff
path: root/platformio.ini
blob: 51abc541a47d7bece7aad195f0862979b507feb2 (plain)
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
; 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]
default_envs = SmartResponseXE_sx1262
extra_configs =
	variants/*/platformio.ini

[arduino_base]
framework = arduino
monitor_speed = 115200
lib_deps =
  SPI
  Wire
  jgromes/RadioLib @ ^7.3.0
  rweather/Crypto @ ^0.4.0
  adafruit/RTClib @ ^2.1.3
  melopero/Melopero RV3028 @ ^1.1.0
  electroniccats/CayenneLPP @ 1.6.1
build_flags = -w -DNDEBUG -DRADIOLIB_STATIC_ONLY=1 -DRADIOLIB_GODMODE=1
  -D LORA_FREQ=869.618
  -D LORA_BW=62.5
  -D LORA_SF=8
  -D ENABLE_ADVERT_ON_BOOT=1
  -D ENABLE_PRIVATE_KEY_IMPORT=1   ; NOTE: comment these out for more secure firmware
  -D ENABLE_PRIVATE_KEY_EXPORT=1
  -D RADIOLIB_EXCLUDE_CC1101=1
  -D RADIOLIB_EXCLUDE_RF69=1
  -D RADIOLIB_EXCLUDE_SX1231=1
  -D RADIOLIB_EXCLUDE_SI443X=1
  -D RADIOLIB_EXCLUDE_RFM2X=1
  -D RADIOLIB_EXCLUDE_NRF24=1
  -D RADIOLIB_EXCLUDE_SX126X=1
  -D RADIOLIB_EXCLUDE_SX128X=1
  -D RADIOLIB_EXCLUDE_ADSB=1
  -D RADIOLIB_EXCLUDE_AFSK=1
  -D RADIOLIB_EXCLUDE_AX25=1
  -D RADIOLIB_EXCLUDE_HELLSCHREIBER=1
  -D RADIOLIB_EXCLUDE_LORAWAN=1
  -D RADIOLIB_EXCLUDE_LR11X0=1
  -D RADIOLIB_EXCLUDE_LR2021=1
  -D RADIOLIB_EXCLUDE_MORSE=1
  -D RADIOLIB_EXCLUDE_APRS=1
  -D RADIOLIB_EXCLUDE_BELL=1
  -D RADIOLIB_EXCLUDE_DIRECT_RECEIVE=1
  -D RADIOLIB_EXCLUDE_FSK4=1
  -D RADIOLIB_EXCLUDE_PAGER=1
  -D RADIOLIB_EXCLUDE_RTTY=1
  -D RADIOLIB_EXCLUDE_SSTV=1
build_src_filter =
  +<*.cpp>
  +<helpers/*.cpp>
  +<helpers/radiolib/*.cpp>
  +<helpers/bridges/BridgeBase.cpp>
  +<helpers/ui/MomentaryButton.cpp>

; ----------------- ESP32 ---------------------

[esp32_base]
extends = arduino_base
platform = platformio/espressif32@6.11.0
monitor_filters = esp32_exception_decoder
extra_scripts = merge-bin.py
build_flags = ${arduino_base.build_flags}
  -D ESP32_PLATFORM
;  -D ESP32_CPU_FREQ=80          ; change it to your need
build_src_filter = ${arduino_base.build_src_filter}

[esp32_ota]
lib_deps =
  me-no-dev/ESPAsyncWebServer @ ^3.6.0
  file://arch/esp32/AsyncElegantOTA

; esp32c6 uses arduino framework 3.x
; WARNING: experimental. May not work as stable as other platforms.
[esp32c6_base]
extends = esp32_base
platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.13-1/platform-espressif32.zip

; ----------------- NRF52 ---------------------

[nrf52_base]
extends = arduino_base
platform = nordicnrf52
platform_packages =
  framework-arduinoadafruitnrf52 @ 1.10700.0
extra_scripts =
  create-uf2.py
  arch/nrf52/extra_scripts/patch_bluefruit.py
build_flags = ${arduino_base.build_flags}
  -D NRF52_PLATFORM
  -D LFS_NO_ASSERT=1
  -D EXTRAFS=1
lib_deps =
  ${arduino_base.lib_deps}
  https://github.com/oltaco/CustomLFS @ 0.2.1
; ----------------- RP2040 ---------------------

[rp2040_base]
extends = arduino_base
upload_protocol = picotool
board_build.core = earlephilhower
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
build_flags = ${arduino_base.build_flags}
  -D RP2040_PLATFORM

; ----------------- STM32 ----------------------

[stm32_base]
extends = arduino_base
platform = platformio/ststm32@19.1.0
platform_packages = platformio/framework-arduinoststm32@https://github.com/stm32duino/Arduino_Core_STM32/archive/2.10.1.zip
extra_scripts = post:arch/stm32/build_hex.py
build_flags = ${arduino_base.build_flags}
  -D STM32_PLATFORM
  -I src/helpers/stm32
build_src_filter = ${arduino_base.build_src_filter}
  +<helpers/stm32>
lib_deps = ${arduino_base.lib_deps}
  file://arch/stm32/Adafruit_LittleFS_stm32
  adafruit/Adafruit BusIO @ 1.17.2

; ----------------- AVR8 ----------------------

[avr8_base]
framework = arduino
platform = atmelavr
monitor_speed = 115200
lib_deps =
  SPI
  Wire
  jgromes/RadioLib @ ^7.3.0
  rweather/Crypto @ ^0.4.0
build_flags = -w -DNDEBUG -DRADIOLIB_STATIC_ONLY=1 -DRADIOLIB_GODMODE=1
  -D AVR_PLATFORM
  -D RADIOLIB_EXCLUDE_CC1101=1
  -D RADIOLIB_EXCLUDE_RF69=1
  -D RADIOLIB_EXCLUDE_SX1231=1
  -D RADIOLIB_EXCLUDE_SI443X=1
  -D RADIOLIB_EXCLUDE_RFM2X=1
  -D RADIOLIB_EXCLUDE_NRF24=1
  -D RADIOLIB_EXCLUDE_SX126X=1
  -D RADIOLIB_EXCLUDE_SX128X=1
  -D RADIOLIB_EXCLUDE_ADSB=1
  -D RADIOLIB_EXCLUDE_AFSK=1
  -D RADIOLIB_EXCLUDE_AX25=1
  -D RADIOLIB_EXCLUDE_HELLSCHREIBER=1
  -D RADIOLIB_EXCLUDE_LORAWAN=1
  -D RADIOLIB_EXCLUDE_LR11X0=1
  -D RADIOLIB_EXCLUDE_LR2021=1
  -D RADIOLIB_EXCLUDE_MORSE=1
  -D RADIOLIB_EXCLUDE_APRS=1
  -D RADIOLIB_EXCLUDE_BELL=1
  -D RADIOLIB_EXCLUDE_DIRECT_RECEIVE=1
  -D RADIOLIB_EXCLUDE_FSK4=1
  -D RADIOLIB_EXCLUDE_PAGER=1
  -D RADIOLIB_EXCLUDE_RTTY=1
  -D RADIOLIB_EXCLUDE_SSTV=1
build_src_filter =
  +<*.cpp>
  +<helpers/*.cpp>
  +<helpers/radiolib/*.cpp>

[sensor_base]
build_flags =
  -D ENV_INCLUDE_GPS=1
  -D ENV_INCLUDE_AHTX0=1
  -D ENV_INCLUDE_BME280=1
  -D ENV_INCLUDE_BMP280=1
  -D ENV_INCLUDE_SHTC3=1
  -D ENV_INCLUDE_SHT4X=1
  -D ENV_INCLUDE_LPS22HB=1
  -D ENV_INCLUDE_INA3221=1
  -D ENV_INCLUDE_INA219=1
  -D ENV_INCLUDE_INA226=1
  -D ENV_INCLUDE_INA260=1
  -D ENV_INCLUDE_MLX90614=1
  -D ENV_INCLUDE_VL53L0X=1
  -D ENV_INCLUDE_BME680=1
  -D ENV_INCLUDE_BMP085=1
lib_deps =
  adafruit/Adafruit INA3221 Library @ ^1.0.1
  adafruit/Adafruit INA219 @ ^1.2.3
  robtillaart/INA226 @ ^0.6.4
  adafruit/Adafruit INA260 Library @ ^1.5.3
  adafruit/Adafruit AHTX0 @ ^2.0.5
  adafruit/Adafruit BME280 Library @ ^2.3.0
  adafruit/Adafruit BMP280 Library @ ^2.6.8
  adafruit/Adafruit SHTC3 Library @ ^1.0.1
  sensirion/Sensirion I2C SHT4x @ ^1.1.2
  arduino-libraries/Arduino_LPS22HB @ ^1.0.2
  adafruit/Adafruit MLX90614 Library @ ^2.1.5
  adafruit/Adafruit_VL53L0X @ ^1.2.4
  stevemarple/MicroNMEA @ ^2.0.6
  adafruit/Adafruit BME680 Library @ ^2.0.4
  adafruit/Adafruit BMP085 Library @ ^1.2.4