platformio.ini 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787
  1. ; PlatformIO Project Configuration File
  2. ;
  3. ; Build options: build flags, source filter
  4. ; Upload options: custom upload port, speed and extra flags
  5. ; Library options: dependencies, extra library storages
  6. ; Advanced options: extra scripting
  7. ;
  8. ; Please visit documentation for the other options and examples
  9. ; https://docs.platformio.org/page/projectconf.html
  10. [arduino_base]
  11. framework = arduino
  12. monitor_speed = 115200
  13. lib_deps =
  14. SPI
  15. Wire
  16. jgromes/RadioLib @ ^6.3.0
  17. rweather/Crypto @ ^0.4.0
  18. adafruit/RTClib @ ^2.1.3
  19. melopero/Melopero RV3028 @ ^1.1.0
  20. build_flags = -w -DNDEBUG -DRADIOLIB_STATIC_ONLY=1 -DRADIOLIB_GODMODE=1
  21. -D LORA_FREQ=867.5
  22. -D LORA_BW=250
  23. -D LORA_SF=10
  24. build_src_filter = +<*.cpp> +<helpers/*.cpp>
  25. [esp32_base]
  26. extends = arduino_base
  27. platform = espressif32
  28. monitor_filters = esp32_exception_decoder
  29. extra_scripts = merge-bin.py
  30. build_src_filter = ${arduino_base.build_src_filter}
  31. ; ================
  32. [Heltec_lora32_v2]
  33. extends = esp32_base
  34. board = heltec_wifi_lora_32_V2 ; heltec_wifi_lora_32_V2
  35. build_flags =
  36. ${esp32_base.build_flags}
  37. -D HELTEC_LORA_V2
  38. -D RADIO_CLASS=CustomSX1276
  39. -D WRAPPER_CLASS=CustomSX1276Wrapper
  40. -D LORA_TX_POWER=20
  41. -D P_LORA_TX_LED=25
  42. build_src_filter = ${esp32_base.build_src_filter}
  43. [env:Heltec_v2_repeater]
  44. extends = Heltec_lora32_v2
  45. build_flags =
  46. ${Heltec_lora32_v2.build_flags}
  47. -D ADVERT_NAME="\"Heltec Repeater\""
  48. -D ADVERT_LAT=-37.0
  49. -D ADVERT_LON=145.0
  50. -D ADMIN_PASSWORD="\"password\""
  51. ; -D MESH_PACKET_LOGGING=1
  52. ; -D MESH_DEBUG=1
  53. build_src_filter = ${Heltec_lora32_v2.build_src_filter} +<../examples/simple_repeater/main.cpp>
  54. [env:Heltec_v2_terminal_chat]
  55. extends = Heltec_lora32_v2
  56. build_flags =
  57. ${Heltec_lora32_v2.build_flags}
  58. -D MAX_CONTACTS=100
  59. -D MAX_GROUP_CHANNELS=1
  60. ; -D MESH_PACKET_LOGGING=1
  61. ; -D MESH_DEBUG=1
  62. build_src_filter = ${Heltec_lora32_v2.build_src_filter} +<../examples/simple_secure_chat/main.cpp>
  63. lib_deps =
  64. ${Heltec_lora32_v2.lib_deps}
  65. densaugeo/base64 @ ~1.4.0
  66. [env:Heltec_v2_companion_radio_usb]
  67. extends = Heltec_lora32_v2
  68. build_flags =
  69. ${Heltec_lora32_v2.build_flags}
  70. -D MAX_CONTACTS=100
  71. -D MAX_GROUP_CHANNELS=1
  72. ; NOTE: DO NOT ENABLE --> -D MESH_PACKET_LOGGING=1
  73. ; NOTE: DO NOT ENABLE --> -D MESH_DEBUG=1
  74. build_src_filter = ${Heltec_lora32_v2.build_src_filter} +<helpers/esp32/*.cpp> +<../examples/companion_radio/main.cpp>
  75. lib_deps =
  76. ${Heltec_lora32_v2.lib_deps}
  77. densaugeo/base64 @ ~1.4.0
  78. [env:Heltec_v2_companion_radio_ble]
  79. extends = Heltec_lora32_v2
  80. build_flags =
  81. ${Heltec_lora32_v2.build_flags}
  82. -D MAX_CONTACTS=100
  83. -D MAX_GROUP_CHANNELS=1
  84. -D BLE_PIN_CODE=123456
  85. -D BLE_DEBUG_LOGGING=1
  86. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  87. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  88. ; -D MESH_PACKET_LOGGING=1
  89. ; -D MESH_DEBUG=1
  90. build_src_filter = ${Heltec_lora32_v2.build_src_filter} +<helpers/esp32/*.cpp> +<../examples/companion_radio/main.cpp>
  91. lib_deps =
  92. ${Heltec_lora32_v2.lib_deps}
  93. densaugeo/base64 @ ~1.4.0
  94. ; ================
  95. [Heltec_lora32_v3]
  96. extends = esp32_base
  97. board = esp32-s3-devkitc-1
  98. build_flags =
  99. ${esp32_base.build_flags}
  100. -D HELTEC_LORA_V3
  101. -D RADIO_CLASS=CustomSX1262
  102. -D WRAPPER_CLASS=CustomSX1262Wrapper
  103. -D LORA_TX_POWER=22
  104. -D P_LORA_TX_LED=35
  105. -D PIN_BOARD_SDA=17
  106. -D PIN_BOARD_SCL=18
  107. -D PIN_USER_BTN=0
  108. -D SX126X_DIO2_AS_RF_SWITCH=true
  109. -D SX126X_DIO3_TCXO_VOLTAGE=1.8
  110. -D SX126X_CURRENT_LIMIT=130.0f ; for best TX power!
  111. build_src_filter = ${esp32_base.build_src_filter}
  112. lib_deps =
  113. ${esp32_base.lib_deps}
  114. adafruit/Adafruit SSD1306 @ ^2.5.13
  115. [env:Heltec_v3_repeater]
  116. extends = Heltec_lora32_v3
  117. build_flags =
  118. ${Heltec_lora32_v3.build_flags}
  119. -D DISPLAY_CLASS=SSD1306Display
  120. -D ADVERT_NAME="\"Heltec Repeater\""
  121. -D ADVERT_LAT=-37.0
  122. -D ADVERT_LON=145.0
  123. -D ADMIN_PASSWORD="\"password\""
  124. -D MESH_PACKET_LOGGING=1
  125. ; -D MESH_DEBUG=1
  126. build_src_filter = ${Heltec_lora32_v3.build_src_filter} +<helpers/ui/*.cpp> +<../examples/simple_repeater>
  127. [env:Heltec_v3_room_server]
  128. extends = Heltec_lora32_v3
  129. build_src_filter = ${Heltec_lora32_v3.build_src_filter} +<helpers/ui/*.cpp> +<../examples/simple_room_server>
  130. build_flags =
  131. ${Heltec_lora32_v3.build_flags}
  132. -D DISPLAY_CLASS=SSD1306Display
  133. -D ADVERT_NAME="\"Heltec Room\""
  134. -D ADVERT_LAT=-37.0
  135. -D ADVERT_LON=145.0
  136. -D ADMIN_PASSWORD="\"password\""
  137. -D ROOM_PASSWORD="\"hello\""
  138. ; -D MESH_PACKET_LOGGING=1
  139. ; -D MESH_DEBUG=1
  140. [env:Heltec_v3_terminal_chat]
  141. extends = Heltec_lora32_v3
  142. build_flags =
  143. ${Heltec_lora32_v3.build_flags}
  144. -D MAX_CONTACTS=100
  145. -D MAX_GROUP_CHANNELS=1
  146. ; -D MESH_PACKET_LOGGING=1
  147. ; -D MESH_DEBUG=1
  148. build_src_filter = ${Heltec_lora32_v3.build_src_filter} +<../examples/simple_secure_chat/main.cpp>
  149. lib_deps =
  150. ${Heltec_lora32_v3.lib_deps}
  151. densaugeo/base64 @ ~1.4.0
  152. [env:Heltec_v3_companion_radio_usb]
  153. extends = Heltec_lora32_v3
  154. build_flags =
  155. ${Heltec_lora32_v3.build_flags}
  156. -D MAX_CONTACTS=100
  157. -D MAX_GROUP_CHANNELS=1
  158. -D DISPLAY_CLASS=SSD1306Display
  159. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  160. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  161. ; NOTE: DO NOT ENABLE --> -D MESH_PACKET_LOGGING=1
  162. ; NOTE: DO NOT ENABLE --> -D MESH_DEBUG=1
  163. build_src_filter = ${Heltec_lora32_v3.build_src_filter} +<helpers/ui/*.cpp> +<../examples/companion_radio>
  164. lib_deps =
  165. ${Heltec_lora32_v3.lib_deps}
  166. densaugeo/base64 @ ~1.4.0
  167. [env:Heltec_v3_companion_radio_ble]
  168. extends = Heltec_lora32_v3
  169. build_flags =
  170. ${Heltec_lora32_v3.build_flags}
  171. -D MAX_CONTACTS=100
  172. -D MAX_GROUP_CHANNELS=1
  173. -D DISPLAY_CLASS=SSD1306Display
  174. -D BLE_PIN_CODE=0 ; dynamic, random PIN
  175. -D BLE_DEBUG_LOGGING=1
  176. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  177. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  178. ; -D MESH_PACKET_LOGGING=1
  179. ; -D MESH_DEBUG=1
  180. build_src_filter = ${Heltec_lora32_v3.build_src_filter} +<helpers/ui/*.cpp> +<helpers/esp32/*.cpp> +<../examples/companion_radio>
  181. lib_deps =
  182. ${Heltec_lora32_v3.lib_deps}
  183. densaugeo/base64 @ ~1.4.0
  184. [env:Heltec_WSL3_companion_radio_ble]
  185. extends = Heltec_lora32_v3
  186. build_flags =
  187. ${Heltec_lora32_v3.build_flags}
  188. -D MAX_CONTACTS=100
  189. -D MAX_GROUP_CHANNELS=1
  190. -D BLE_PIN_CODE=123456
  191. -D BLE_DEBUG_LOGGING=1
  192. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  193. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  194. ; -D MESH_PACKET_LOGGING=1
  195. ; -D MESH_DEBUG=1
  196. build_src_filter = ${Heltec_lora32_v3.build_src_filter} +<helpers/esp32/*.cpp> +<../examples/companion_radio>
  197. lib_deps =
  198. ${Heltec_lora32_v3.lib_deps}
  199. densaugeo/base64 @ ~1.4.0
  200. [env:Heltec_v3_companion_radio_wifi]
  201. extends = Heltec_lora32_v3
  202. build_flags =
  203. ${Heltec_lora32_v3.build_flags}
  204. -D MAX_CONTACTS=100
  205. -D MAX_GROUP_CHANNELS=1
  206. -D DISPLAY_CLASS=SSD1306Display
  207. -D WIFI_DEBUG_LOGGING=1
  208. -D WIFI_SSID="\"myssid\""
  209. -D WIFI_PWD="\"mypwd\""
  210. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  211. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  212. ; -D MESH_PACKET_LOGGING=1
  213. ; -D MESH_DEBUG=1
  214. build_src_filter = ${Heltec_lora32_v3.build_src_filter} +<helpers/ui/*.cpp> +<helpers/esp32/*.cpp> +<../examples/companion_radio>
  215. lib_deps =
  216. ${Heltec_lora32_v3.lib_deps}
  217. densaugeo/base64 @ ~1.4.0
  218. ; ================
  219. [Xiao_esp32_C3]
  220. extends = esp32_base
  221. board = seeed_xiao_esp32c3
  222. build_flags =
  223. ${esp32_base.build_flags}
  224. -D LORA_TX_BOOST_PIN=D3
  225. -D P_LORA_TX_LED=D5
  226. -D PIN_VBAT_READ=D0
  227. -D P_LORA_DIO_1=D2
  228. -D P_LORA_NSS=D4
  229. -D P_LORA_RESET=RADIOLIB_NC
  230. -D P_LORA_BUSY=D1
  231. -D PIN_BOARD_SDA=D6
  232. -D PIN_BOARD_SCL=D7
  233. -D SX126X_DIO2_AS_RF_SWITCH=true
  234. -D SX126X_DIO3_TCXO_VOLTAGE=1.8
  235. -D SX126X_CURRENT_LIMIT=130.0f ; for best TX power!
  236. [env:Xiao_C3_Repeater_sx1262]
  237. extends = Xiao_esp32_C3
  238. build_src_filter = ${Xiao_esp32_C3.build_src_filter} +<../examples/simple_repeater/main.cpp>
  239. build_flags =
  240. ${Xiao_esp32_C3.build_flags}
  241. -D RADIO_CLASS=CustomSX1262
  242. -D WRAPPER_CLASS=CustomSX1262Wrapper
  243. -D LORA_TX_POWER=22
  244. -D ADVERT_NAME="\"Xiao Repeater\""
  245. -D ADVERT_LAT=-37.0
  246. -D ADVERT_LON=145.0
  247. -D ADMIN_PASSWORD="\"password\""
  248. ; -D MESH_PACKET_LOGGING=1
  249. ; -D MESH_DEBUG=1
  250. [env:Xiao_C3_Repeater_sx1268]
  251. extends = Xiao_esp32_C3
  252. build_src_filter = ${Xiao_esp32_C3.build_src_filter} +<../examples/simple_repeater/main.cpp>
  253. build_flags =
  254. ${Xiao_esp32_C3.build_flags}
  255. -D RADIO_CLASS=CustomSX1268
  256. -D WRAPPER_CLASS=CustomSX1268Wrapper
  257. -D LORA_TX_POWER=22
  258. -D ADVERT_NAME="\"Xiao Repeater\""
  259. -D ADVERT_LAT=-37.0
  260. -D ADVERT_LON=145.0
  261. -D ADMIN_PASSWORD="\"password\""
  262. ; -D MESH_PACKET_LOGGING=1
  263. ; -D MESH_DEBUG=1
  264. ; =============
  265. [Xiao_S3_WIO]
  266. extends = esp32_base
  267. board = seeed_xiao_esp32s3
  268. board_check = true
  269. board_build.mcu = esp32s3
  270. build_flags = ${esp32_base.build_flags}
  271. -D SEEED_XIAO_S3
  272. -D P_LORA_DIO_1=39
  273. -D P_LORA_NSS=41
  274. -D P_LORA_RESET=42 ; RADIOLIB_NC
  275. -D P_LORA_BUSY=40 ; DIO2 = 38
  276. -D P_LORA_SCLK=7
  277. -D P_LORA_MISO=8
  278. -D P_LORA_MOSI=9
  279. -D SX126X_DIO2_AS_RF_SWITCH=true
  280. -D SX126X_DIO3_TCXO_VOLTAGE=1.8
  281. -D SX126X_CURRENT_LIMIT=130
  282. -D RADIO_CLASS=CustomSX1262
  283. -D WRAPPER_CLASS=CustomSX1262Wrapper
  284. -D LORA_TX_POWER=22
  285. [env:Xiao_S3_WIO_Repeater]
  286. extends = Xiao_S3_WIO
  287. build_src_filter = ${Xiao_S3_WIO.build_src_filter} +<../examples/simple_repeater/main.cpp>
  288. build_flags =
  289. ${Xiao_S3_WIO.build_flags}
  290. -D ADVERT_NAME="\"XiaoS3 Repeater\""
  291. -D ADVERT_LAT=-37.0
  292. -D ADVERT_LON=145.0
  293. -D ADMIN_PASSWORD="\"password\""
  294. ; -D MESH_PACKET_LOGGING=1
  295. ; -D MESH_DEBUG=1
  296. [env:Xiao_S3_WIO_terminal_chat]
  297. extends = Xiao_S3_WIO
  298. build_flags =
  299. ${Xiao_S3_WIO.build_flags}
  300. -D MAX_CONTACTS=100
  301. -D MAX_GROUP_CHANNELS=1
  302. ; -D MESH_PACKET_LOGGING=1
  303. ; -D MESH_DEBUG=1
  304. build_src_filter = ${Xiao_S3_WIO.build_src_filter} +<../examples/simple_secure_chat/main.cpp>
  305. lib_deps =
  306. ${Xiao_S3_WIO.lib_deps}
  307. densaugeo/base64 @ ~1.4.0
  308. [env:Xiao_S3_WIO_companion_radio_ble]
  309. extends = Xiao_S3_WIO
  310. build_flags =
  311. ${Xiao_S3_WIO.build_flags}
  312. -D MAX_CONTACTS=100
  313. -D MAX_GROUP_CHANNELS=1
  314. -D BLE_PIN_CODE=123456
  315. ; -D BLE_DEBUG_LOGGING=1
  316. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  317. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  318. ; -D MESH_PACKET_LOGGING=1
  319. ; -D MESH_DEBUG=1
  320. build_src_filter = ${Xiao_S3_WIO.build_src_filter} +<helpers/esp32/*.cpp> +<../examples/companion_radio/main.cpp>
  321. lib_deps =
  322. ${Xiao_S3_WIO.lib_deps}
  323. densaugeo/base64 @ ~1.4.0
  324. ; =============
  325. [LilyGo_TLora_V2_1_1_6]
  326. extends = esp32_base
  327. board = ttgo-lora32-v1 ; LILYGO T-LoRa V2.1-1.6 ESP32 with SX1276
  328. build_unflags = -Os
  329. build_type = release ; Set build type to release
  330. board_build.partitions = min_spiffs.csv ; get around 4mb flash limit
  331. build_flags =
  332. ${esp32_base.build_flags}
  333. -Os -ffunction-sections -fdata-sections ; Optimize for size
  334. -D LILYGO_TLORA ; LILYGO T-LoRa V2.1-1.6 ESP32 with SX1276
  335. -D P_LORA_DIO_0=26 ; SX1276 DIO0 interrupt pin
  336. -D P_LORA_DIO_1=33 ; SX1276 DIO1 interrupt pin
  337. -D P_LORA_NSS=18 ; Chip select - SS pin
  338. -D P_LORA_RESET=14 ; Reset pin
  339. -D P_LORA_SCLK=5 ; SPI clock
  340. -D P_LORA_MISO=19 ; SPI MISO
  341. -D P_LORA_MOSI=27 ; SPI MOSI
  342. -D P_LORA_TX_LED=2 ; LED pin for TX indication
  343. -D PIN_VBAT_READ=35 ; Battery voltage reading (analog pin)
  344. -D RADIO_CLASS=CustomSX1276
  345. -D ARDUINO_LOOP_STACK_SIZE=16384
  346. -D WRAPPER_CLASS=CustomSX1276Wrapper
  347. -D LORA_TX_POWER=20
  348. ; =============
  349. [LilyGo_T3S3_sx1262]
  350. extends = esp32_base
  351. board = t3_s3_v1_x
  352. build_flags = ${esp32_base.build_flags}
  353. -D LILYGO_T3S3
  354. -D P_LORA_DIO_1=33
  355. -D P_LORA_NSS=7
  356. -D P_LORA_RESET=8 ; RADIOLIB_NC
  357. -D P_LORA_BUSY=34
  358. -D P_LORA_SCLK=5
  359. -D P_LORA_MISO=3
  360. -D P_LORA_MOSI=6
  361. -D P_LORA_TX_LED=37
  362. -D PIN_VBAT_READ=1
  363. -D SX126X_DIO2_AS_RF_SWITCH=true
  364. -D SX126X_DIO3_TCXO_VOLTAGE=1.8
  365. -D SX126X_CURRENT_LIMIT=130
  366. -D RADIO_CLASS=CustomSX1262
  367. -D WRAPPER_CLASS=CustomSX1262Wrapper
  368. -D LORA_TX_POWER=22
  369. ; === LILYGO T-LoRa V2.1-1.6 with SX1276 environments ===
  370. [env:LilyGo_TLora_V2_1_1_6_Repeater]
  371. extends = LilyGo_TLora_V2_1_1_6
  372. build_src_filter = ${LilyGo_TLora_V2_1_1_6.build_src_filter} +<../examples/simple_repeater/main.cpp>
  373. build_flags =
  374. ${LilyGo_TLora_V2_1_1_6.build_flags}
  375. -D ADVERT_NAME="\"TLora-V2.1-1.6 Repeater\""
  376. -D ADVERT_LAT=-37.0
  377. -D ADVERT_LON=145.0
  378. -D ADMIN_PASSWORD="\"password\""
  379. ; -D MESH_PACKET_LOGGING=1
  380. ; -D MESH_DEBUG=1
  381. ; -D CORE_DEBUG_LEVEL=3
  382. [env:LilyGo_TLora_V2_1_1_6_terminal_chat]
  383. extends = LilyGo_TLora_V2_1_1_6
  384. build_flags =
  385. ${LilyGo_TLora_V2_1_1_6.build_flags}
  386. -D MAX_CONTACTS=100
  387. -D MAX_GROUP_CHANNELS=1
  388. ; -D MESH_PACKET_LOGGING=1
  389. ; -D MESH_DEBUG=1
  390. build_src_filter = ${LilyGo_TLora_V2_1_1_6.build_src_filter} +<../examples/simple_secure_chat/main.cpp>
  391. lib_deps =
  392. ${LilyGo_TLora_V2_1_1_6.lib_deps}
  393. densaugeo/base64 @ ~1.4.0
  394. [env:LilyGo_TLora_V2_1_1_6_companion_radio_usb]
  395. extends = LilyGo_TLora_V2_1_1_6
  396. build_flags =
  397. ${LilyGo_TLora_V2_1_1_6.build_flags}
  398. -D MAX_CONTACTS=100
  399. -D MAX_GROUP_CHANNELS=1
  400. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  401. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  402. ; NOTE: DO NOT ENABLE --> -D MESH_PACKET_LOGGING=1
  403. ; NOTE: DO NOT ENABLE --> -D MESH_DEBUG=1
  404. build_src_filter = ${LilyGo_TLora_V2_1_1_6.build_src_filter} +<../examples/companion_radio/main.cpp>
  405. lib_deps =
  406. ${LilyGo_TLora_V2_1_1_6.lib_deps}
  407. densaugeo/base64 @ ~1.4.0
  408. [env:LilyGo_TLora_V2_1_1_6_companion_radio_ble]
  409. extends = LilyGo_TLora_V2_1_1_6
  410. build_flags =
  411. ${LilyGo_TLora_V2_1_1_6.build_flags}
  412. -D MAX_CONTACTS=100
  413. -D MAX_GROUP_CHANNELS=1
  414. -D BLE_PIN_CODE=123456
  415. ; -D BLE_DEBUG_LOGGING=1
  416. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  417. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  418. ; -D MESH_PACKET_LOGGING=1
  419. ; -D MESH_DEBUG=1
  420. build_src_filter = ${LilyGo_TLora_V2_1_1_6.build_src_filter} +<helpers/esp32/*.cpp> +<../examples/companion_radio/main.cpp>
  421. lib_deps =
  422. ${LilyGo_TLora_V2_1_1_6.lib_deps}
  423. densaugeo/base64 @ ~1.4.0
  424. [env:LilyGo_TLora_V2_1_1_6_room_server]
  425. extends = LilyGo_TLora_V2_1_1_6
  426. build_src_filter = ${LilyGo_TLora_V2_1_1_6.build_src_filter} +<../examples/simple_room_server/main.cpp>
  427. build_flags =
  428. ${LilyGo_TLora_V2_1_1_6.build_flags}
  429. -D ADVERT_NAME="\"TLora-V2.1-1.6 Room\""
  430. -D ADVERT_LAT=-37.0
  431. -D ADVERT_LON=145.0
  432. -D ADMIN_PASSWORD="\"password\""
  433. -D ROOM_PASSWORD="\"hello\""
  434. ; -D MESH_PACKET_LOGGING=1
  435. ; -D MESH_DEBUG=1
  436. ; === LilyGo T3S3 with SX1262 environments ===
  437. [env:LilyGo_T3S3_sx1262_Repeater]
  438. extends = LilyGo_T3S3_sx1262
  439. build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter} +<../examples/simple_repeater/main.cpp>
  440. build_flags =
  441. ${LilyGo_T3S3_sx1262.build_flags}
  442. -D ADVERT_NAME="\"T3S3-1262 Repeater\""
  443. -D ADVERT_LAT=-37.0
  444. -D ADVERT_LON=145.0
  445. -D ADMIN_PASSWORD="\"password\""
  446. ; -D MESH_PACKET_LOGGING=1
  447. ; -D MESH_DEBUG=1
  448. [env:LilyGo_T3S3_sx1262_terminal_chat]
  449. extends = LilyGo_T3S3_sx1262
  450. build_flags =
  451. ${LilyGo_T3S3_sx1262.build_flags}
  452. -D MAX_CONTACTS=100
  453. -D MAX_GROUP_CHANNELS=1
  454. ; -D MESH_PACKET_LOGGING=1
  455. ; -D MESH_DEBUG=1
  456. build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter} +<../examples/simple_secure_chat/main.cpp>
  457. lib_deps =
  458. ${LilyGo_T3S3_sx1262.lib_deps}
  459. densaugeo/base64 @ ~1.4.0
  460. [env:LilyGo_T3S3_sx1262_companion_radio_usb]
  461. extends = LilyGo_T3S3_sx1262
  462. build_flags =
  463. ${LilyGo_T3S3_sx1262.build_flags}
  464. -D MAX_CONTACTS=100
  465. -D MAX_GROUP_CHANNELS=1
  466. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  467. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  468. ; NOTE: DO NOT ENABLE --> -D MESH_PACKET_LOGGING=1
  469. ; NOTE: DO NOT ENABLE --> -D MESH_DEBUG=1
  470. build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter} +<../examples/companion_radio/main.cpp>
  471. lib_deps =
  472. ${LilyGo_T3S3_sx1262.lib_deps}
  473. densaugeo/base64 @ ~1.4.0
  474. [env:LilyGo_T3S3_sx1262_companion_radio_ble]
  475. extends = LilyGo_T3S3_sx1262
  476. build_flags =
  477. ${LilyGo_T3S3_sx1262.build_flags}
  478. -D MAX_CONTACTS=100
  479. -D MAX_GROUP_CHANNELS=1
  480. -D BLE_PIN_CODE=123456
  481. -D BLE_DEBUG_LOGGING=1
  482. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  483. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  484. ; -D MESH_PACKET_LOGGING=1
  485. ; -D MESH_DEBUG=1
  486. build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter} +<helpers/esp32/*.cpp> +<../examples/companion_radio/main.cpp>
  487. lib_deps =
  488. ${LilyGo_T3S3_sx1262.lib_deps}
  489. densaugeo/base64 @ ~1.4.0
  490. ; ----------------- NRF52 ---------------------
  491. [nrf52_base]
  492. extends = arduino_base
  493. platform = nordicnrf52
  494. build_flags = ${arduino_base.build_flags}
  495. -D NRF52_PLATFORM
  496. [nrf52840_base]
  497. extends = nrf52_base
  498. build_flags = ${nrf52_base.build_flags}
  499. lib_deps =
  500. ${nrf52_base.lib_deps}
  501. rweather/Crypto @ ^0.4.0
  502. https://github.com/adafruit/Adafruit_nRF52_Arduino
  503. [rak4631]
  504. extends = nrf52840_base
  505. platform = https://github.com/maxgerhardt/platform-nordicnrf52.git#rak
  506. board = wiscore_rak4631
  507. board_check = true
  508. build_src_filter = ${nrf52840_base.build_src_filter} +<helpers/nrf52/*.cpp>
  509. build_flags = ${nrf52840_base.build_flags}
  510. -D RAK_4631
  511. -D RADIO_CLASS=CustomSX1262
  512. -D WRAPPER_CLASS=CustomSX1262Wrapper
  513. -D LORA_TX_POWER=22
  514. -D SX126X_CURRENT_LIMIT=130
  515. [env:RAK_4631_Repeater]
  516. extends = rak4631
  517. build_src_filter = ${rak4631.build_src_filter} +<../examples/simple_repeater/main.cpp>
  518. build_flags =
  519. ${rak4631.build_flags}
  520. -D ADVERT_NAME="\"RAK4631 Repeater\""
  521. -D ADVERT_LAT=-37.0
  522. -D ADVERT_LON=145.0
  523. -D ADMIN_PASSWORD="\"password\""
  524. ; -D MESH_PACKET_LOGGING=1
  525. ; -D MESH_DEBUG=1
  526. [env:RAK_4631_room_server]
  527. extends = rak4631
  528. build_src_filter = ${rak4631.build_src_filter} +<../examples/simple_room_server/main.cpp>
  529. build_flags =
  530. ${rak4631.build_flags}
  531. -D ADVERT_NAME="\"Test Room\""
  532. -D ADVERT_LAT=-37.0
  533. -D ADVERT_LON=145.0
  534. -D ADMIN_PASSWORD="\"password\""
  535. -D ROOM_PASSWORD="\"hello\""
  536. ; -D MESH_PACKET_LOGGING=1
  537. ; -D MESH_DEBUG=1
  538. [env:RAK_4631_terminal_chat]
  539. extends = rak4631
  540. build_flags =
  541. ${rak4631.build_flags}
  542. -D MAX_CONTACTS=100
  543. -D MAX_GROUP_CHANNELS=1
  544. -D MESH_PACKET_LOGGING=1
  545. -D MESH_DEBUG=1
  546. build_src_filter = ${rak4631.build_src_filter} +<../examples/simple_secure_chat/main.cpp>
  547. lib_deps =
  548. ${rak4631.lib_deps}
  549. densaugeo/base64 @ ~1.4.0
  550. [env:RAK_4631_companion_radio_usb]
  551. extends = rak4631
  552. build_flags =
  553. ${rak4631.build_flags}
  554. -D MAX_CONTACTS=100
  555. -D MAX_GROUP_CHANNELS=1
  556. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  557. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  558. ; NOTE: DO NOT ENABLE --> -D MESH_PACKET_LOGGING=1
  559. ; NOTE: DO NOT ENABLE --> -D MESH_DEBUG=1
  560. build_src_filter = ${rak4631.build_src_filter} +<../examples/companion_radio/main.cpp>
  561. lib_deps =
  562. ${rak4631.lib_deps}
  563. densaugeo/base64 @ ~1.4.0
  564. [env:RAK_4631_companion_radio_ble]
  565. extends = rak4631
  566. build_flags =
  567. ${rak4631.build_flags}
  568. -D MAX_CONTACTS=100
  569. -D MAX_GROUP_CHANNELS=1
  570. -D BLE_PIN_CODE=123456
  571. -D BLE_DEBUG_LOGGING=1
  572. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  573. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  574. ; -D MESH_PACKET_LOGGING=1
  575. ; -D MESH_DEBUG=1
  576. build_src_filter = ${rak4631.build_src_filter} +<helpers/nrf52/*.cpp> +<../examples/companion_radio/main.cpp>
  577. lib_deps =
  578. ${rak4631.lib_deps}
  579. densaugeo/base64 @ ~1.4.0
  580. ; ----------------- NRF52 T1000e---------------------
  581. [nrf52840_t1000e]
  582. extends = nrf52_base
  583. platform_packages = framework-arduinoadafruitnrf52
  584. build_flags = ${nrf52_base.build_flags}
  585. -I src/helpers/nrf52
  586. -I lib/nrf52/s140_nrf52_7.3.0_API/include
  587. -I lib/nrf52/s140_nrf52_7.3.0_API/include/nrf52
  588. lib_ignore =
  589. BluetoothOTA
  590. lvgl
  591. lib5b4
  592. lib_deps =
  593. ${nrf52_base.lib_deps}
  594. rweather/Crypto @ ^0.4.0
  595. [t1000-e]
  596. extends = nrf52840_t1000e
  597. board = tracker-t1000-e
  598. board_build.ldscript = boards/nrf52840_s140_v7.ld
  599. build_flags = ${nrf52840_t1000e.build_flags}
  600. -Ivariants/t1000-e
  601. -DT1000_E
  602. -D PIN_USER_BTN=6
  603. -D RADIO_CLASS=CustomLR1110
  604. -D WRAPPER_CLASS=CustomLR1110Wrapper
  605. build_src_filter = ${nrf52840_t1000e.build_src_filter}
  606. +<helpers/*.cpp>
  607. +<helpers/nrf52/T1000eBoard.cpp>
  608. +<../variants/t1000-e>
  609. debug_tool = jlink
  610. upload_protocol = nrfutil
  611. [env:t1000e_companion_radio_ble]
  612. extends = t1000-e
  613. build_flags = ${t1000-e.build_flags}
  614. -D MAX_CONTACTS=100
  615. -D MAX_GROUP_CHANNELS=1
  616. -D BLE_PIN_CODE=123456
  617. -D BLE_DEBUG_LOGGING=1
  618. -D MESH_PACKET_LOGGING=1
  619. -D MESH_DEBUG=1
  620. build_src_filter = ${t1000-e.build_src_filter}
  621. +<helpers/nrf52/SerialBLEInterface.cpp>
  622. +<../examples/companion_radio/*.cpp>
  623. lib_deps = ${t1000-e.lib_deps}
  624. densaugeo/base64 @ ~1.4.0
  625. [nrf52840_t114]
  626. extends = nrf52_base
  627. platform_packages = framework-arduinoadafruitnrf52
  628. build_flags = ${nrf52_base.build_flags}
  629. -I src/helpers/nrf52
  630. -I lib/nrf52/s140_nrf52_6.1.1_API/include
  631. -I lib/nrf52/s140_nrf52_6.1.1_API/include/nrf52
  632. lib_deps =
  633. ${nrf52_base.lib_deps}
  634. rweather/Crypto @ ^0.4.0
  635. [Heltec_t114]
  636. extends = nrf52840_t114
  637. board = heltec_t114
  638. board_build.ldscript = boards/nrf52840_s140_v6.ld
  639. build_flags = ${nrf52840_t114.build_flags}
  640. -Ivariants/t114
  641. -DHELTEC_T114
  642. -D RADIO_CLASS=CustomSX1262
  643. -D WRAPPER_CLASS=CustomSX1262Wrapper
  644. -D LORA_TX_POWER=22
  645. -D SX126X_CURRENT_LIMIT=130
  646. build_src_filter = ${nrf52840_t114.build_src_filter}
  647. +<helpers/*.cpp>
  648. +<helpers/nrf52/T114Board.cpp>
  649. +<../variants/t114>
  650. debug_tool = jlink
  651. upload_protocol = nrfutil
  652. [env:Heltec_t114_repeater]
  653. extends = Heltec_t114
  654. build_src_filter = ${Heltec_t114.build_src_filter} +<../examples/simple_repeater/main.cpp>
  655. build_flags =
  656. ${Heltec_t114.build_flags}
  657. -D ADVERT_NAME="\"Heltec_T114 Repeater\""
  658. -D ADVERT_LAT=-37.0
  659. -D ADVERT_LON=145.0
  660. -D ADMIN_PASSWORD="\"password\""
  661. ; -D MESH_PACKET_LOGGING=1
  662. ; -D MESH_DEBUG=1
  663. [env:Heltec_t114_companion_radio_ble]
  664. extends = Heltec_t114
  665. build_flags =
  666. ${Heltec_t114.build_flags}
  667. -D MAX_CONTACTS=100
  668. -D MAX_GROUP_CHANNELS=1
  669. -D BLE_PIN_CODE=123456
  670. -D BLE_DEBUG_LOGGING=1
  671. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  672. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  673. ; -D MESH_PACKET_LOGGING=1
  674. ; -D MESH_DEBUG=1
  675. build_src_filter = ${Heltec_t114.build_src_filter} +<helpers/nrf52/*.cpp> +<../examples/companion_radio/main.cpp>
  676. lib_deps =
  677. ${Heltec_t114.lib_deps}
  678. densaugeo/base64 @ ~1.4.0
  679. [nrf52840_techo]
  680. extends = nrf52_base
  681. platform_packages = framework-arduinoadafruitnrf52
  682. build_flags = ${nrf52_base.build_flags}
  683. -I src/helpers/nrf52
  684. -I lib/nrf52/s140_nrf52_6.1.1_API/include
  685. -I lib/nrf52/s140_nrf52_6.1.1_API/include/nrf52
  686. lib_deps =
  687. ${nrf52_base.lib_deps}
  688. rweather/Crypto @ ^0.4.0
  689. [LilyGo_Techo]
  690. extends = nrf52840_techo
  691. board = t-echo
  692. board_build.ldscript = boards/nrf52840_s140_v6.ld
  693. build_flags = ${nrf52840_techo.build_flags}
  694. -Ivariants/techo
  695. -DLILYGO_TECHO
  696. -D RADIO_CLASS=CustomSX1262
  697. -D WRAPPER_CLASS=CustomSX1262Wrapper
  698. -D LORA_TX_POWER=22
  699. -D SX126X_CURRENT_LIMIT=130
  700. build_src_filter = ${nrf52840_techo.build_src_filter}
  701. +<helpers/*.cpp>
  702. +<helpers/nrf52/TechoBoard.cpp>
  703. +<../variants/techo>
  704. debug_tool = jlink
  705. upload_protocol = nrfutil
  706. [env:LilyGo_T-Echo_repeater]
  707. extends = LilyGo_Techo
  708. build_src_filter = ${LilyGo_Techo.build_src_filter} +<../examples/simple_repeater/main.cpp>
  709. build_flags =
  710. ${LilyGo_Techo.build_flags}
  711. -D ADVERT_NAME="\"T-Echo Repeater\""
  712. -D ADVERT_LAT=-37.0
  713. -D ADVERT_LON=145.0
  714. -D ADMIN_PASSWORD="\"password\""
  715. ; -D MESH_PACKET_LOGGING=1
  716. ; -D MESH_DEBUG=1
  717. [env:LilyGo_T-Echo_companion_radio_ble]
  718. extends = LilyGo_Techo
  719. build_flags =
  720. ${LilyGo_Techo.build_flags}
  721. -D MAX_CONTACTS=100
  722. -D MAX_GROUP_CHANNELS=1
  723. -D BLE_PIN_CODE=123456
  724. -D BLE_DEBUG_LOGGING=1
  725. ; -D ENABLE_PRIVATE_KEY_IMPORT=1
  726. ; -D ENABLE_PRIVATE_KEY_EXPORT=1
  727. ; -D MESH_PACKET_LOGGING=1
  728. ; -D MESH_DEBUG=1
  729. build_src_filter = ${LilyGo_Techo.build_src_filter} +<helpers/nrf52/*.cpp> +<../examples/companion_radio/main.cpp>
  730. lib_deps =
  731. ${LilyGo_Techo.lib_deps}
  732. densaugeo/base64 @ ~1.4.0