platformio.ini 24 KB

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