platformio.ini 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425
  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. [platformio]
  11. extra_configs =
  12. variants/*/platformio.ini
  13. [arduino_base]
  14. framework = arduino
  15. monitor_speed = 115200
  16. lib_deps =
  17. SPI
  18. Wire
  19. jgromes/RadioLib @ ^7.1.2
  20. rweather/Crypto @ ^0.4.0
  21. adafruit/RTClib @ ^2.1.3
  22. melopero/Melopero RV3028 @ ^1.1.0
  23. build_flags = -w -DNDEBUG -DRADIOLIB_STATIC_ONLY=1 -DRADIOLIB_GODMODE=1
  24. -D LORA_FREQ=869.525
  25. -D LORA_BW=250
  26. -D LORA_SF=11
  27. build_src_filter =
  28. +<*.cpp>
  29. +<helpers/*.cpp>
  30. ; ----------------- ESP32 ---------------------
  31. [esp32_base]
  32. extends = arduino_base
  33. platform = espressif32
  34. monitor_filters = esp32_exception_decoder
  35. extra_scripts = merge-bin.py
  36. build_flags = ${arduino_base.build_flags}
  37. build_src_filter = ${arduino_base.build_src_filter}
  38. [esp32_ota]
  39. lib_deps =
  40. me-no-dev/ESPAsyncWebServer @ ^3.6.0
  41. file://arch/esp32/AsyncElegantOTA
  42. [nrf52_base]
  43. extends = arduino_base
  44. platform = nordicnrf52
  45. build_flags = ${arduino_base.build_flags}
  46. -D NRF52_PLATFORM
  47. [nrf52840_base]
  48. extends = nrf52_base
  49. build_flags = ${nrf52_base.build_flags}
  50. lib_deps =
  51. ${nrf52_base.lib_deps}
  52. rweather/Crypto @ ^0.4.0
  53. https://github.com/adafruit/Adafruit_nRF52_Arduino
  54. [Generic_ESPNOW]
  55. extends = esp32_base
  56. board = esp32-c3-devkitm-1
  57. build_flags =
  58. ${esp32_base.build_flags}
  59. -I variants/generic_espnow
  60. -D PIN_BOARD_SDA=-1
  61. -D PIN_BOARD_SCL=-1
  62. -D PIN_USER_BTN=0
  63. build_src_filter = ${esp32_base.build_src_filter}
  64. +<helpers/esp32/ESPNowRadio.cpp>
  65. +<../variants/generic_espnow>
  66. [env:Generic_ESPNOW_terminal_chat]
  67. extends = Generic_ESPNOW
  68. build_flags =
  69. ${Generic_ESPNOW.build_flags}
  70. -D MAX_CONTACTS=100
  71. -D MAX_GROUP_CHANNELS=1
  72. build_src_filter = ${Generic_ESPNOW.build_src_filter}
  73. +<../examples/simple_secure_chat/main.cpp>
  74. lib_deps =
  75. ${Generic_ESPNOW.lib_deps}
  76. densaugeo/base64 @ ~1.4.0
  77. [env:Generic_ESPNOW_repeatr]
  78. extends = Generic_ESPNOW
  79. build_flags =
  80. ${Generic_ESPNOW.build_flags}
  81. -D ADVERT_NAME='"ESPNOW Repeater"'
  82. -D ADVERT_LAT=0.0
  83. -D ADVERT_LON=0.0
  84. -D ADMIN_PASSWORD='"password"'
  85. build_src_filter = ${Generic_ESPNOW.build_src_filter}
  86. +<../examples/simple_repeater/main.cpp>
  87. lib_deps =
  88. ${Generic_ESPNOW.lib_deps}
  89. ${esp32_ota.lib_deps}
  90. densaugeo/base64 @ ~1.4.0
  91. [env:Generic_ESPNOW_comp_radio_usb]
  92. extends = Generic_ESPNOW
  93. build_flags =
  94. ${Generic_ESPNOW.build_flags}
  95. -D MAX_CONTACTS=100
  96. -D MAX_GROUP_CHANNELS=8
  97. build_src_filter = ${Generic_ESPNOW.build_src_filter}
  98. +<../examples/companion_radio/main.cpp>
  99. lib_deps =
  100. ${Generic_ESPNOW.lib_deps}
  101. densaugeo/base64 @ ~1.4.0
  102. [env:Generic_ESPNOW_room_svr]
  103. extends = Generic_ESPNOW
  104. build_flags =
  105. ${Generic_ESPNOW.build_flags}
  106. -D ADVERT_NAME='"Heltec Room"'
  107. -D ADVERT_LAT=0.0
  108. -D ADVERT_LON=0.0
  109. -D ADMIN_PASSWORD='"password"'
  110. -D ROOM_PASSWORD='"hello"'
  111. build_src_filter = ${Generic_ESPNOW.build_src_filter}
  112. +<../examples/simple_room_server/main.cpp>
  113. lib_deps =
  114. ${Generic_ESPNOW.lib_deps}
  115. ${esp32_ota.lib_deps}
  116. [Heltec_lora32_v2]
  117. extends = esp32_base
  118. board = heltec_wifi_lora_32_V2
  119. build_flags =
  120. ${esp32_base.build_flags}
  121. -I variants/heltec_v2
  122. -D HELTEC_LORA_V2
  123. -D PIN_BOARD_SDA=4
  124. -D PIN_BOARD_SCL=15
  125. -D PIN_USER_BTN=0
  126. -D PIN_OLED_RESET=16
  127. -D RADIO_CLASS=CustomSX1276
  128. -D WRAPPER_CLASS=CustomSX1276Wrapper
  129. -D LORA_TX_POWER=20
  130. -D P_LORA_TX_LED=25
  131. build_src_filter = ${esp32_base.build_src_filter}
  132. +<../variants/heltec_v2>
  133. lib_deps =
  134. ${esp32_base.lib_deps}
  135. adafruit/Adafruit SSD1306 @ ^2.5.13
  136. [env:Heltec_v2_repeater]
  137. extends = Heltec_lora32_v2
  138. build_flags =
  139. ${Heltec_lora32_v2.build_flags}
  140. -D DISPLAY_CLASS=SSD1306Display
  141. -D ADVERT_NAME='"Heltec Repeater"'
  142. -D ADVERT_LAT=0.0
  143. -D ADVERT_LON=0.0
  144. -D ADMIN_PASSWORD='"password"'
  145. build_src_filter = ${Heltec_lora32_v2.build_src_filter}
  146. +<../examples/simple_repeater>
  147. +<helpers/ui/*.cpp>
  148. lib_deps =
  149. ${Heltec_lora32_v2.lib_deps}
  150. ${esp32_ota.lib_deps}
  151. [env:Heltec_v2_room_server]
  152. extends = Heltec_lora32_v2
  153. build_flags =
  154. ${Heltec_lora32_v2.build_flags}
  155. -D DISPLAY_CLASS=SSD1306Display
  156. -D ADVERT_NAME='"Heltec Room"'
  157. -D ADVERT_LAT=0.0
  158. -D ADVERT_LON=0.0
  159. -D ADMIN_PASSWORD='"password"'
  160. -D ROOM_PASSWORD='"hello"'
  161. build_src_filter = ${Heltec_lora32_v2.build_src_filter}
  162. +<helpers/ui/*.cpp>
  163. +<../examples/simple_room_server>
  164. lib_deps =
  165. ${Heltec_lora32_v2.lib_deps}
  166. ${esp32_ota.lib_deps}
  167. [env:Heltec_v2_terminal_chat]
  168. extends = Heltec_lora32_v2
  169. build_flags =
  170. ${Heltec_lora32_v2.build_flags}
  171. -D MAX_CONTACTS=100
  172. -D MAX_GROUP_CHANNELS=1
  173. build_src_filter = ${Heltec_lora32_v2.build_src_filter}
  174. +<../examples/simple_secure_chat/main.cpp>
  175. lib_deps =
  176. ${Heltec_lora32_v2.lib_deps}
  177. densaugeo/base64 @ ~1.4.0
  178. [env:Heltec_v2_companion_radio_usb]
  179. extends = Heltec_lora32_v2
  180. build_flags =
  181. ${Heltec_lora32_v2.build_flags}
  182. -D DISPLAY_CLASS=SSD1306Display
  183. -D MAX_CONTACTS=100
  184. -D MAX_GROUP_CHANNELS=8
  185. build_src_filter = ${Heltec_lora32_v2.build_src_filter}
  186. +<helpers/esp32/*.cpp>
  187. +<helpers/ui/*.cpp>
  188. +<../examples/companion_radio>
  189. lib_deps =
  190. ${Heltec_lora32_v2.lib_deps}
  191. densaugeo/base64 @ ~1.4.0
  192. [env:Heltec_v2_companion_radio_ble]
  193. extends = Heltec_lora32_v2
  194. build_flags =
  195. ${Heltec_lora32_v2.build_flags}
  196. -D DISPLAY_CLASS=SSD1306Display
  197. -D MAX_CONTACTS=100
  198. -D MAX_GROUP_CHANNELS=8
  199. -D BLE_PIN_CODE=0
  200. -D BLE_DEBUG_LOGGING=1
  201. build_src_filter = ${Heltec_lora32_v2.build_src_filter}
  202. +<helpers/esp32/*.cpp>
  203. +<helpers/ui/*.cpp>
  204. +<../examples/companion_radio>
  205. lib_deps =
  206. ${Heltec_lora32_v2.lib_deps}
  207. densaugeo/base64 @ ~1.4.0
  208. [Heltec_lora32_v3]
  209. extends = esp32_base
  210. board = esp32-s3-devkitc-1
  211. build_flags =
  212. ${esp32_base.build_flags}
  213. -I variants/heltec_v3
  214. -D HELTEC_LORA_V3
  215. -D RADIO_CLASS=CustomSX1262
  216. -D WRAPPER_CLASS=CustomSX1262Wrapper
  217. -D LORA_TX_POWER=22
  218. -D P_LORA_TX_LED=35
  219. -D PIN_BOARD_SDA=17
  220. -D PIN_BOARD_SCL=18
  221. -D PIN_USER_BTN=0
  222. -D SX126X_DIO2_AS_RF_SWITCH=true
  223. -D SX126X_DIO3_TCXO_VOLTAGE=1.8
  224. -D SX126X_CURRENT_LIMIT=130.0f
  225. -D SX126X_RX_BOOSTED_GAIN=1
  226. build_src_filter = ${esp32_base.build_src_filter}
  227. +<../variants/heltec_v3>
  228. lib_deps =
  229. ${esp32_base.lib_deps}
  230. adafruit/Adafruit SSD1306 @ ^2.5.13
  231. [env:Heltec_v3_repeater]
  232. extends = Heltec_lora32_v3
  233. build_flags =
  234. ${Heltec_lora32_v3.build_flags}
  235. -D DISPLAY_CLASS=SSD1306Display
  236. -D ADVERT_NAME='"Heltec Repeater"'
  237. -D ADVERT_LAT=0.0
  238. -D ADVERT_LON=0.0
  239. -D ADMIN_PASSWORD='"password"'
  240. -D MESH_PACKET_LOGGING=1
  241. build_src_filter = ${Heltec_lora32_v3.build_src_filter}
  242. +<helpers/ui/*.cpp>
  243. +<../examples/simple_repeater>
  244. lib_deps =
  245. ${Heltec_lora32_v3.lib_deps}
  246. ${esp32_ota.lib_deps}
  247. [env:Heltec_v3_room_server]
  248. extends = Heltec_lora32_v3
  249. build_flags =
  250. ${Heltec_lora32_v3.build_flags}
  251. -D DISPLAY_CLASS=SSD1306Display
  252. -D ADVERT_NAME='"Heltec Room"'
  253. -D ADVERT_LAT=0.0
  254. -D ADVERT_LON=0.0
  255. -D ADMIN_PASSWORD='"password"'
  256. -D ROOM_PASSWORD='"hello"'
  257. build_src_filter = ${Heltec_lora32_v3.build_src_filter}
  258. +<helpers/ui/*.cpp>
  259. +<../examples/simple_room_server>
  260. lib_deps =
  261. ${Heltec_lora32_v3.lib_deps}
  262. ${esp32_ota.lib_deps}
  263. [env:Heltec_v3_terminal_chat]
  264. extends = Heltec_lora32_v3
  265. build_flags =
  266. ${Heltec_lora32_v3.build_flags}
  267. -D MAX_CONTACTS=100
  268. -D MAX_GROUP_CHANNELS=1
  269. build_src_filter = ${Heltec_lora32_v3.build_src_filter}
  270. +<../examples/simple_secure_chat/main.cpp>
  271. lib_deps =
  272. ${Heltec_lora32_v3.lib_deps}
  273. densaugeo/base64 @ ~1.4.0
  274. [env:Heltec_v3_companion_radio_usb]
  275. extends = Heltec_lora32_v3
  276. build_flags =
  277. ${Heltec_lora32_v3.build_flags}
  278. -D MAX_CONTACTS=100
  279. -D MAX_GROUP_CHANNELS=8
  280. -D DISPLAY_CLASS=SSD1306Display
  281. build_src_filter = ${Heltec_lora32_v3.build_src_filter}
  282. +<helpers/ui/*.cpp>
  283. +<../examples/companion_radio>
  284. lib_deps =
  285. ${Heltec_lora32_v3.lib_deps}
  286. densaugeo/base64 @ ~1.4.0
  287. [env:Heltec_v3_companion_radio_ble]
  288. extends = Heltec_lora32_v3
  289. build_flags =
  290. ${Heltec_lora32_v3.build_flags}
  291. -D MAX_CONTACTS=100
  292. -D MAX_GROUP_CHANNELS=8
  293. -D DISPLAY_CLASS=SSD1306Display
  294. -D BLE_PIN_CODE=0
  295. -D BLE_DEBUG_LOGGING=1
  296. build_src_filter = ${Heltec_lora32_v3.build_src_filter}
  297. +<helpers/ui/*.cpp>
  298. +<helpers/esp32/*.cpp>
  299. +<../examples/companion_radio>
  300. lib_deps =
  301. ${Heltec_lora32_v3.lib_deps}
  302. densaugeo/base64 @ ~1.4.0
  303. [env:Heltec_v3_companion_radio_wifi]
  304. extends = Heltec_lora32_v3
  305. build_flags =
  306. ${Heltec_lora32_v3.build_flags}
  307. -D MAX_CONTACTS=100
  308. -D MAX_GROUP_CHANNELS=8
  309. -D DISPLAY_CLASS=SSD1306Display
  310. -D WIFI_DEBUG_LOGGING=1
  311. -D WIFI_SSID='"myssid"'
  312. -D WIFI_PWD='"mypwd"'
  313. build_src_filter = ${Heltec_lora32_v3.build_src_filter}
  314. +<helpers/ui/*.cpp>
  315. +<helpers/esp32/*.cpp>
  316. +<../examples/companion_radio>
  317. lib_deps =
  318. ${Heltec_lora32_v3.lib_deps}
  319. densaugeo/base64 @ ~1.4.0
  320. [env:Heltec_WSL3_repeater]
  321. extends = Heltec_lora32_v3
  322. build_flags =
  323. ${Heltec_lora32_v3.build_flags}
  324. -D ADVERT_NAME='"Heltec Repeater"'
  325. -D ADVERT_LAT=0.0
  326. -D ADVERT_LON=0.0
  327. -D ADMIN_PASSWORD='"password"'
  328. -D MESH_PACKET_LOGGING=1
  329. build_src_filter = ${Heltec_lora32_v3.build_src_filter}
  330. +<../examples/simple_repeater>
  331. lib_deps =
  332. ${Heltec_lora32_v3.lib_deps}
  333. ${esp32_ota.lib_deps}
  334. [env:Heltec_WSL3_room_server]
  335. extends = Heltec_lora32_v3
  336. build_src_filter = ${Heltec_lora32_v3.build_src_filter}
  337. +<../examples/simple_room_server>
  338. build_flags =
  339. ${Heltec_lora32_v3.build_flags}
  340. -D ADVERT_NAME='"Heltec Room"'
  341. -D ADVERT_LAT=0.0
  342. -D ADVERT_LON=0.0
  343. -D ADMIN_PASSWORD='"password"'
  344. -D ROOM_PASSWORD='"hello"'
  345. lib_deps =
  346. ${Heltec_lora32_v3.lib_deps}
  347. ${esp32_ota.lib_deps}
  348. [env:Heltec_WSL3_companion_radio_ble]
  349. extends = Heltec_lora32_v3
  350. build_flags =
  351. ${Heltec_lora32_v3.build_flags}
  352. -D MAX_CONTACTS=100
  353. -D MAX_GROUP_CHANNELS=8
  354. -D BLE_PIN_CODE=123456
  355. -D BLE_DEBUG_LOGGING=1
  356. build_src_filter = ${Heltec_lora32_v3.build_src_filter}
  357. +<helpers/esp32/*.cpp>
  358. +<../examples/companion_radio>
  359. lib_deps =
  360. ${Heltec_lora32_v3.lib_deps}
  361. densaugeo/base64 @ ~1.4.0
  362. [LilyGo_T3S3_sx1262]
  363. extends = esp32_base
  364. board = t3_s3_v1_x
  365. build_flags =
  366. ${esp32_base.build_flags}
  367. -I variants/lilygo_t3s3
  368. -D LILYGO_T3S3
  369. -D P_LORA_DIO_1=33
  370. -D P_LORA_NSS=7
  371. -D P_LORA_RESET=8
  372. -D P_LORA_BUSY=34
  373. -D P_LORA_SCLK=5
  374. -D P_LORA_MISO=3
  375. -D P_LORA_MOSI=6
  376. -D P_LORA_TX_LED=37
  377. -D PIN_VBAT_READ=1
  378. -D PIN_USER_BTN=0
  379. -D PIN_BOARD_SDA=18
  380. -D PIN_BOARD_SCL=17
  381. -D P_LORA_TX_LED=37
  382. -D PIN_OLED_RESET=21
  383. -D SX126X_DIO2_AS_RF_SWITCH=true
  384. -D SX126X_DIO3_TCXO_VOLTAGE=1.8
  385. -D SX126X_CURRENT_LIMIT=130
  386. -D RADIO_CLASS=CustomSX1262
  387. -D WRAPPER_CLASS=CustomSX1262Wrapper
  388. -D LORA_TX_POWER=22
  389. -D SX126X_RX_BOOSTED_GAIN=1
  390. build_src_filter = ${esp32_base.build_src_filter}
  391. +<../variants/lilygo_t3s3>
  392. lib_deps =
  393. ${esp32_base.lib_deps}
  394. adafruit/Adafruit SSD1306 @ ^2.5.13
  395. [env:LilyGo_T3S3_sx1262_Repeater]
  396. extends = LilyGo_T3S3_sx1262
  397. build_flags =
  398. ${LilyGo_T3S3_sx1262.build_flags}
  399. -D DISPLAY_CLASS=SSD1306Display
  400. -D ADVERT_NAME='"T3S3-1262 Repeater"'
  401. -D ADVERT_LAT=0.0
  402. -D ADVERT_LON=0.0
  403. -D ADMIN_PASSWORD='"password"'
  404. build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter}
  405. +<helpers/ui/*.cpp>
  406. +<../examples/simple_repeater>
  407. lib_deps =
  408. ${LilyGo_T3S3_sx1262.lib_deps}
  409. ${esp32_ota.lib_deps}
  410. [env:LilyGo_T3S3_sx1262_terminal_chat]
  411. extends = LilyGo_T3S3_sx1262
  412. build_flags =
  413. ${LilyGo_T3S3_sx1262.build_flags}
  414. -D MAX_CONTACTS=100
  415. -D MAX_GROUP_CHANNELS=1
  416. build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter}
  417. +<../examples/simple_secure_chat/main.cpp>
  418. lib_deps =
  419. ${LilyGo_T3S3_sx1262.lib_deps}
  420. densaugeo/base64 @ ~1.4.0
  421. [env:LilyGo_T3S3_sx1262_room_server]
  422. extends = LilyGo_T3S3_sx1262
  423. build_flags =
  424. ${LilyGo_T3S3_sx1262.build_flags}
  425. -D DISPLAY_CLASS=SSD1306Display
  426. -D ADVERT_NAME='"T3S3-1262 Room"'
  427. -D ADVERT_LAT=0.0
  428. -D ADVERT_LON=0.0
  429. -D ADMIN_PASSWORD='"password"'
  430. -D ROOM_PASSWORD='"hello"'
  431. build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter}
  432. +<helpers/ui/*.cpp>
  433. +<../examples/simple_room_server>
  434. lib_deps =
  435. ${LilyGo_T3S3_sx1262.lib_deps}
  436. ${esp32_ota.lib_deps}
  437. [env:LilyGo_T3S3_sx1262_companion_radio_usb]
  438. extends = LilyGo_T3S3_sx1262
  439. build_flags =
  440. ${LilyGo_T3S3_sx1262.build_flags}
  441. -D DISPLAY_CLASS=SSD1306Display
  442. -D MAX_CONTACTS=100
  443. -D MAX_GROUP_CHANNELS=8
  444. build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter}
  445. +<helpers/ui/*.cpp>
  446. +<../examples/companion_radio>
  447. lib_deps =
  448. ${LilyGo_T3S3_sx1262.lib_deps}
  449. densaugeo/base64 @ ~1.4.0
  450. [env:LilyGo_T3S3_sx1262_companion_radio_ble]
  451. extends = LilyGo_T3S3_sx1262
  452. build_flags =
  453. ${LilyGo_T3S3_sx1262.build_flags}
  454. -D DISPLAY_CLASS=SSD1306Display
  455. -D MAX_CONTACTS=100
  456. -D MAX_GROUP_CHANNELS=8
  457. -D BLE_PIN_CODE=123456
  458. -D BLE_DEBUG_LOGGING=1
  459. build_src_filter = ${LilyGo_T3S3_sx1262.build_src_filter}
  460. +<helpers/esp32/*.cpp>
  461. +<helpers/ui/*.cpp>
  462. +<../examples/companion_radio>
  463. lib_deps =
  464. ${LilyGo_T3S3_sx1262.lib_deps}
  465. densaugeo/base64 @ ~1.4.0
  466. [LilyGo_TBeam]
  467. extends = esp32_base
  468. board = ttgo-t-beam
  469. build_flags =
  470. ${esp32_base.build_flags}
  471. -I variants/lilygo_tbeam
  472. -D LILYGO_TBEAM
  473. -D RADIO_CLASS=CustomSX1276
  474. -D WRAPPER_CLASS=CustomSX1276Wrapper
  475. -D LORA_TX_POWER=20
  476. -D P_LORA_TX_LED=4
  477. -D PIN_BOARD_SDA=21
  478. -D PIN_BOARD_SCL=22
  479. -D PIN_USER_BTN=38
  480. build_src_filter = ${esp32_base.build_src_filter}
  481. +<../variants/lilygo_tbeam>
  482. board_build.partitions = min_spiffs.csv
  483. lib_deps =
  484. ${esp32_base.lib_deps}
  485. lewisxhe/XPowersLib@^0.2.7
  486. adafruit/Adafruit SSD1306 @ ^2.5.13
  487. [env:Tbeam_companion_radio_ble]
  488. extends = LilyGo_TBeam
  489. board_build.upload.maximum_ram_size = 2000000
  490. build_flags =
  491. ${LilyGo_TBeam.build_flags}
  492. -D DISPLAY_CLASS=SSD1306Display
  493. -D MAX_CONTACTS=100
  494. -D MAX_GROUP_CHANNELS=1
  495. -D BLE_PIN_CODE=123456
  496. -D BLE_DEBUG_LOGGING=1
  497. -D MESH_PACKET_LOGGING=1
  498. -D MESH_DEBUG=1
  499. -D RADIOLIB_DEBUG_BASIC=1
  500. build_src_filter = ${LilyGo_TBeam.build_src_filter}
  501. +<helpers/esp32/*.cpp>
  502. +<helpers/ui/*.cpp>
  503. +<../examples/companion_radio>
  504. lib_deps =
  505. ${LilyGo_TBeam.lib_deps}
  506. densaugeo/base64 @ ~1.4.0
  507. [env:Tbeam_repeater]
  508. extends = LilyGo_TBeam
  509. build_flags =
  510. ${LilyGo_TBeam.build_flags}
  511. -D DISPLAY_CLASS=SSD1306Display
  512. -D ADVERT_NAME='"Tbeam Repeater"'
  513. -D ADVERT_LAT=0.0
  514. -D ADVERT_LON=0.0
  515. -D ADMIN_PASSWORD='"password"'
  516. -D MESH_PACKET_LOGGING=1
  517. build_src_filter = ${LilyGo_TBeam.build_src_filter}
  518. +<helpers/ui/*.cpp>
  519. +<../examples/simple_repeater>
  520. lib_deps =
  521. ${LilyGo_TBeam.lib_deps}
  522. ${esp32_ota.lib_deps}
  523. [T_Beam_S3_Supreme_SX1262]
  524. extends = esp32_base
  525. board = t_beams3_supreme
  526. build_flags =
  527. ${esp32_base.build_flags}
  528. -I variants/lilygo_tbeam_supreme_SX1262
  529. -D LORA_TX_POWER=22
  530. -D RADIO_CLASS=CustomSX1262
  531. -D WRAPPER_CLASS=CustomSX1262Wrapper
  532. -D DISPLAY_CLASS=SSD1306Display
  533. -D SX126X_RX_BOOSTED_GAIN=1
  534. lib_deps =
  535. ${esp32_base.lib_deps}
  536. lewisxhe/PCF8563_Library@^1.0.1
  537. lewisxhe/XPowersLib @ ^0.2.7
  538. build_src_filter = ${esp32_base.build_src_filter}
  539. +<../variants/lilygo_tbeam_supreme_SX1262>
  540. board_build.partitions = min_spiffs.csv
  541. [env:T_Beam_S3_Supreme_SX1262_Repeater]
  542. extends = T_Beam_S3_Supreme_SX1262
  543. build_flags =
  544. ${T_Beam_S3_Supreme_SX1262.build_flags}
  545. -D ADVERT_NAME='"T-Beam S3 Supreme SX1262 Repeater"'
  546. -D ADVERT_LAT=0
  547. -D ADVERT_LON=0
  548. -D ADMIN_PASSWORD='"password"'
  549. build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
  550. +<helpers/ui/*.cpp>
  551. +<../examples/simple_repeater>
  552. lib_deps =
  553. ${T_Beam_S3_Supreme_SX1262.lib_deps}
  554. ${esp32_ota.lib_deps}
  555. [LilyGo_TLora_V2_1_1_6]
  556. extends = esp32_base
  557. board = ttgo-lora32-v1
  558. build_unflags = -Os
  559. build_type = release
  560. board_build.partitions = min_spiffs.csv
  561. build_flags =
  562. ${esp32_base.build_flags}
  563. -I variants/lilygo_tlora_v2_1
  564. -Os -ffunction-sections -fdata-sections
  565. -D LILYGO_TLORA
  566. -D P_LORA_DIO_0=26
  567. -D P_LORA_DIO_1=33
  568. -D P_LORA_NSS=18
  569. -D P_LORA_RESET=14
  570. -D P_LORA_SCLK=5
  571. -D P_LORA_MISO=19
  572. -D P_LORA_MOSI=27
  573. -D P_LORA_TX_LED=2
  574. -D PIN_VBAT_READ=35
  575. -D PIN_USER_BTN=0
  576. -D RADIO_CLASS=CustomSX1276
  577. -D ARDUINO_LOOP_STACK_SIZE=16384
  578. -D DISPLAY_CLASS=SSD1306Display
  579. -D WRAPPER_CLASS=CustomSX1276Wrapper
  580. -D LORA_TX_POWER=20
  581. build_src_filter = ${esp32_base.build_src_filter}
  582. +<../variants/lilygo_tlora_v2_1>
  583. lib_deps =
  584. ${esp32_base.lib_deps}
  585. adafruit/Adafruit SSD1306 @ ^2.5.13
  586. [env:LilyGo_TLora_V2_1_1_6_Repeater]
  587. extends = LilyGo_TLora_V2_1_1_6
  588. build_src_filter = ${LilyGo_TLora_V2_1_1_6.build_src_filter}
  589. +<helpers/ui/*.cpp>
  590. +<../examples/simple_repeater>
  591. build_flags =
  592. ${LilyGo_TLora_V2_1_1_6.build_flags}
  593. -D ADVERT_NAME='"TLora-V2.1-1.6 Repeater"'
  594. -D ADVERT_LAT=0.0
  595. -D ADVERT_LON=0.0
  596. -D ADMIN_PASSWORD='"password"'
  597. lib_deps =
  598. ${LilyGo_TLora_V2_1_1_6.lib_deps}
  599. ${esp32_ota.lib_deps}
  600. [env:LilyGo_TLora_V2_1_1_6_terminal_chat]
  601. extends = LilyGo_TLora_V2_1_1_6
  602. build_flags =
  603. ${LilyGo_TLora_V2_1_1_6.build_flags}
  604. -D MAX_CONTACTS=100
  605. -D MAX_GROUP_CHANNELS=8
  606. build_src_filter = ${LilyGo_TLora_V2_1_1_6.build_src_filter}
  607. +<helpers/ui/*.cpp>
  608. +<../examples/simple_repeater>
  609. lib_deps =
  610. ${LilyGo_TLora_V2_1_1_6.lib_deps}
  611. densaugeo/base64 @ ~1.4.0
  612. [env:LilyGo_TLora_V2_1_1_6_companion_radio_usb]
  613. extends = LilyGo_TLora_V2_1_1_6
  614. build_flags =
  615. ${LilyGo_TLora_V2_1_1_6.build_flags}
  616. -D MAX_CONTACTS=100
  617. -D MAX_GROUP_CHANNELS=8
  618. build_src_filter = ${LilyGo_TLora_V2_1_1_6.build_src_filter}
  619. +<helpers/ui/*.cpp>
  620. +<../examples/companion_radio>
  621. lib_deps =
  622. ${LilyGo_TLora_V2_1_1_6.lib_deps}
  623. densaugeo/base64 @ ~1.4.0
  624. [env:LilyGo_TLora_V2_1_1_6_companion_radio_ble]
  625. extends = LilyGo_TLora_V2_1_1_6
  626. build_flags =
  627. ${LilyGo_TLora_V2_1_1_6.build_flags}
  628. -D MAX_CONTACTS=100
  629. -D MAX_GROUP_CHANNELS=8
  630. -D BLE_PIN_CODE=123456
  631. build_src_filter = ${LilyGo_TLora_V2_1_1_6.build_src_filter}
  632. +<helpers/esp32/*.cpp>
  633. +<helpers/ui/*.cpp>
  634. +<../examples/companion_radio>
  635. lib_deps =
  636. ${LilyGo_TLora_V2_1_1_6.lib_deps}
  637. densaugeo/base64 @ ~1.4.0
  638. [env:LilyGo_TLora_V2_1_1_6_room_server]
  639. extends = LilyGo_TLora_V2_1_1_6
  640. build_src_filter = ${LilyGo_TLora_V2_1_1_6.build_src_filter}
  641. +<helpers/ui/*.cpp>
  642. +<../examples/simple_room_server>
  643. build_flags =
  644. ${LilyGo_TLora_V2_1_1_6.build_flags}
  645. -D ADVERT_NAME='"TLora-V2.1-1.6 Room"'
  646. -D ADVERT_LAT=0.0
  647. -D ADVERT_LON=0.0
  648. -D ADMIN_PASSWORD='"password"'
  649. -D ROOM_PASSWORD='"hello"'
  650. lib_deps =
  651. ${LilyGo_TLora_V2_1_1_6.lib_deps}
  652. ${esp32_ota.lib_deps}
  653. [Faketec]
  654. extends = nrf52840_base
  655. board = promicro_nrf52840
  656. build_flags = ${nrf52840_base.build_flags}
  657. -I variants/promicro
  658. -D FAKETEC
  659. -D RADIO_CLASS=CustomSX1262
  660. -D WRAPPER_CLASS=CustomSX1262Wrapper
  661. -D LORA_TX_POWER=22
  662. -D SX126X_CURRENT_LIMIT=130
  663. -D SX126X_RX_BOOSTED_GAIN=1
  664. -D DISPLAY_CLASS=SSD1306Display
  665. -D PIN_BOARD_SCL=7
  666. -D PIN_BOARD_SDA=8
  667. -D PIN_OLED_RESET=-1
  668. -D PIN_USER_BTN=6
  669. build_src_filter = ${nrf52840_base.build_src_filter}
  670. +<helpers/nrf52/PromicroBoard.cpp>
  671. +<../variants/promicro>
  672. lib_deps =
  673. ${nrf52840_base.lib_deps}
  674. adafruit/Adafruit SSD1306 @ ^2.5.13
  675. [env:Faketec_Repeater]
  676. extends = Faketec
  677. build_src_filter = ${Faketec.build_src_filter} +<../examples/simple_repeater> +<helpers/ui/*.cpp>
  678. build_flags =
  679. ${Faketec.build_flags}
  680. -D ADVERT_NAME="\"Faketec Repeater\""
  681. -D ADVERT_LAT=0.0
  682. -D ADVERT_LON=0.0
  683. -D ADMIN_PASSWORD="\"password\""
  684. lib_deps =
  685. ${Faketec.lib_deps}
  686. adafruit/RTClib @ ^2.1.3
  687. [env:Faketec_room_server]
  688. extends = Faketec
  689. build_src_filter = ${Faketec.build_src_filter} +<../examples/simple_room_server> +<helpers/ui/*.cpp>
  690. build_flags =
  691. ${Faketec.build_flags}
  692. -D ADVERT_NAME="\"Test Room\""
  693. -D ADVERT_LAT=0.0
  694. -D ADVERT_LON=0.0
  695. -D ADMIN_PASSWORD="\"password\""
  696. -D ROOM_PASSWORD="\"hello\""
  697. lib_deps =
  698. ${Faketec.lib_deps}
  699. adafruit/RTClib @ ^2.1.3
  700. [env:Faketec_terminal_chat]
  701. extends = Faketec
  702. build_flags =
  703. ${Faketec.build_flags}
  704. -D MAX_CONTACTS=100
  705. -D MAX_GROUP_CHANNELS=1
  706. build_src_filter = ${Faketec.build_src_filter} +<../examples/simple_secure_chat/main.cpp>
  707. lib_deps =
  708. ${Faketec.lib_deps}
  709. densaugeo/base64 @ ~1.4.0
  710. adafruit/RTClib @ ^2.1.3
  711. [env:Faketec_companion_radio_usb]
  712. extends = Faketec
  713. build_flags =
  714. ${Faketec.build_flags}
  715. -D MAX_CONTACTS=100
  716. -D MAX_GROUP_CHANNELS=8
  717. build_src_filter = ${Faketec.build_src_filter} +<../examples/companion_radio> +<../examples/companion_radio> +<helpers/ui/*.cpp>
  718. lib_deps =
  719. ${Faketec.lib_deps}
  720. adafruit/RTClib @ ^2.1.3
  721. densaugeo/base64 @ ~1.4.0
  722. [env:Faketec_companion_radio_ble]
  723. extends = Faketec
  724. build_flags =
  725. ${Faketec.build_flags}
  726. -D MAX_CONTACTS=100
  727. -D MAX_GROUP_CHANNELS=8
  728. -D BLE_PIN_CODE=123456
  729. -D BLE_DEBUG_LOGGING=1
  730. -D ENABLE_PRIVATE_KEY_EXPORT=1
  731. -D ENABLE_PRIVATE_KEY_IMPORT=1
  732. build_src_filter = ${Faketec.build_src_filter} +<helpers/nrf52/SerialBLEInterface.cpp> +<../examples/companion_radio> +<helpers/ui/*.cpp>
  733. lib_deps =
  734. ${Faketec.lib_deps}
  735. adafruit/RTClib @ ^2.1.3
  736. densaugeo/base64 @ ~1.4.0
  737. [ProMicroLLCC68]
  738. extends = nrf52840_base
  739. board = promicro_nrf52840
  740. build_flags = ${nrf52840_base.build_flags}
  741. -I variants/promicro
  742. -D PROMICROLLCC68
  743. -D RADIO_CLASS=CustomLLCC68
  744. -D WRAPPER_CLASS=CustomLLCC68Wrapper
  745. -D LORA_TX_POWER=22
  746. -D SX126X_CURRENT_LIMIT=130
  747. -D SX126X_RX_BOOSTED_GAIN=1
  748. build_src_filter = ${nrf52840_base.build_src_filter}
  749. +<helpers/nrf52/PromicroBoard.cpp>
  750. +<../variants/promicro>
  751. [env:ProMicroLLCC68_Repeater]
  752. extends = ProMicroLLCC68
  753. build_src_filter = ${ProMicroLLCC68.build_src_filter} +<../examples/simple_repeater/main.cpp>
  754. build_flags =
  755. ${ProMicroLLCC68.build_flags}
  756. -D ADVERT_NAME="\"ProMicroLLCC68 Repeater\""
  757. -D ADMIN_PASSWORD="\"password\""
  758. lib_deps =
  759. ${ProMicroLLCC68.lib_deps}
  760. adafruit/RTClib @ ^2.1.3
  761. [env:ProMicroLLCC68_room_server]
  762. extends = ProMicroLLCC68
  763. build_src_filter = ${ProMicroLLCC68.build_src_filter} +<../examples/simple_room_server/main.cpp>
  764. build_flags =
  765. ${ProMicroLLCC68.build_flags}
  766. -D ADVERT_NAME="\"ProMicroLLCC68 Room\""
  767. -D ADMIN_PASSWORD="\"password\""
  768. -D ROOM_PASSWORD="\"hello\""
  769. lib_deps =
  770. ${ProMicroLLCC68.lib_deps}
  771. adafruit/RTClib @ ^2.1.3
  772. [env:ProMicroLLCC68_terminal_chat]
  773. extends = ProMicroLLCC68
  774. build_flags =
  775. ${ProMicroLLCC68.build_flags}
  776. -D MAX_CONTACTS=100
  777. -D MAX_GROUP_CHANNELS=1
  778. build_src_filter = ${ProMicroLLCC68.build_src_filter} +<../examples/simple_secure_chat/main.cpp>
  779. lib_deps =
  780. ${ProMicroLLCC68.lib_deps}
  781. densaugeo/base64 @ ~1.4.0
  782. adafruit/RTClib @ ^2.1.3
  783. [env:ProMicroLLCC68_companion_radio_usb]
  784. extends = ProMicroLLCC68
  785. build_flags =
  786. ${ProMicroLLCC68.build_flags}
  787. -D MAX_CONTACTS=100
  788. -D MAX_GROUP_CHANNELS=8
  789. build_src_filter = ${ProMicroLLCC68.build_src_filter} +<../examples/companion_radio/main.cpp>
  790. lib_deps =
  791. ${ProMicroLLCC68.lib_deps}
  792. adafruit/RTClib @ ^2.1.3
  793. densaugeo/base64 @ ~1.4.0
  794. [env:ProMicroLLCC68_companion_radio_ble]
  795. extends = ProMicroLLCC68
  796. build_flags =
  797. ${ProMicroLLCC68.build_flags}
  798. -D MAX_CONTACTS=100
  799. -D MAX_GROUP_CHANNELS=8
  800. -D BLE_PIN_CODE=123456
  801. -D BLE_DEBUG_LOGGING=1
  802. -D ENABLE_PRIVATE_KEY_EXPORT=1
  803. -D ENABLE_PRIVATE_KEY_IMPORT=1
  804. build_src_filter = ${ProMicroLLCC68.build_src_filter} +<helpers/nrf52/SerialBLEInterface.cpp> +<../examples/companion_radio/main.cpp>
  805. lib_deps =
  806. ${ProMicroLLCC68.lib_deps}
  807. adafruit/RTClib @ ^2.1.3
  808. densaugeo/base64 @ ~1.4.0
  809. [rak4631]
  810. extends = nrf52840_base
  811. platform = https://github.com/maxgerhardt/platform-nordicnrf52.git#rak
  812. board = wiscore_rak4631
  813. board_check = true
  814. build_flags = ${nrf52840_base.build_flags}
  815. -I variants/rak4631
  816. -D RAK_4631
  817. -D PIN_USER_BTN=9
  818. -D RADIO_CLASS=CustomSX1262
  819. -D WRAPPER_CLASS=CustomSX1262Wrapper
  820. -D LORA_TX_POWER=22
  821. -D SX126X_CURRENT_LIMIT=130
  822. -D SX126X_RX_BOOSTED_GAIN=1
  823. build_src_filter = ${nrf52840_base.build_src_filter}
  824. +<helpers/nrf52/*.cpp>
  825. +<../variants/rak4631>
  826. lib_deps =
  827. ${nrf52840_base.lib_deps}
  828. adafruit/Adafruit SSD1306 @ ^2.5.13
  829. [env:RAK_4631_Repeater]
  830. extends = rak4631
  831. build_flags =
  832. ${rak4631.build_flags}
  833. -D DISPLAY_CLASS=SSD1306Display
  834. -D ADVERT_NAME='"RAK4631 Repeater"'
  835. -D ADVERT_LAT=0.0
  836. -D ADVERT_LON=0.0
  837. -D ADMIN_PASSWORD='"password"'
  838. build_src_filter = ${rak4631.build_src_filter}
  839. +<helpers/ui/*.cpp>
  840. +<../examples/simple_repeater>
  841. lib_deps =
  842. me-no-dev/AsyncTCP@^3.3.2
  843. esp32async/ESPAsyncWebServer@^3.7.5
  844. rweather/Crypto@^0.4.0
  845. jgromes/RadioLib@^7.1.2
  846. adafruit/RTClib@^2.1.4
  847. melopero/Melopero RV3028@^1.1.0
  848. lewisxhe/PCF8563_Library@^1.0.1
  849. adafruit/Adafruit GFX Library@^1.12.0
  850. adafruit/Adafruit SSD1306@^2.5.13
  851. [env:RAK_4631_room_server]
  852. extends = rak4631
  853. build_flags =
  854. ${rak4631.build_flags}
  855. -D DISPLAY_CLASS=SSD1306Display
  856. -D ADVERT_NAME='"Test Room"'
  857. -D ADVERT_LAT=0.0
  858. -D ADVERT_LON=0.0
  859. -D ADMIN_PASSWORD='"password"'
  860. -D ROOM_PASSWORD='"hello"'
  861. build_src_filter = ${rak4631.build_src_filter}
  862. +<helpers/ui/*.cpp>
  863. +<../examples/simple_room_server>
  864. lib_deps =
  865. me-no-dev/AsyncTCP@^3.3.2
  866. esp32async/ESPAsyncWebServer@^3.7.5
  867. rweather/Crypto@^0.4.0
  868. jgromes/RadioLib@^7.1.2
  869. adafruit/RTClib@^2.1.4
  870. melopero/Melopero RV3028@^1.1.0
  871. lewisxhe/PCF8563_Library@^1.0.1
  872. adafruit/Adafruit GFX Library@^1.12.0
  873. adafruit/Adafruit SSD1306@^2.5.13
  874. [env:RAK_4631_companion_radio_usb]
  875. extends = rak4631
  876. build_flags =
  877. ${rak4631.build_flags}
  878. -D DISPLAY_CLASS=SSD1306Display
  879. -D MAX_CONTACTS=100
  880. -D MAX_GROUP_CHANNELS=8
  881. build_src_filter = ${rak4631.build_src_filter}
  882. +<helpers/ui/*.cpp>
  883. +<../examples/companion_radio>
  884. lib_deps =
  885. ${rak4631.lib_deps}
  886. densaugeo/base64 @ ~1.4.0
  887. [env:RAK_4631_companion_radio_ble]
  888. extends = rak4631
  889. build_flags =
  890. ${rak4631.build_flags}
  891. -D DISPLAY_CLASS=SSD1306Display
  892. -D MAX_CONTACTS=100
  893. -D MAX_GROUP_CHANNELS=8
  894. -D BLE_PIN_CODE=123456
  895. -D BLE_DEBUG_LOGGING=1
  896. build_src_filter = ${rak4631.build_src_filter}
  897. +<helpers/ui/*.cpp>
  898. +<helpers/nrf52/*.cpp>
  899. +<../examples/companion_radio>
  900. lib_deps =
  901. ${rak4631.lib_deps}
  902. densaugeo/base64 @ ~1.4.0
  903. [env:RAK_4631_terminal_chat]
  904. extends = rak4631
  905. build_flags =
  906. ${rak4631.build_flags}
  907. -D MAX_CONTACTS=100
  908. -D MAX_GROUP_CHANNELS=1
  909. -D MESH_PACKET_LOGGING=1
  910. -D MESH_DEBUG=1
  911. build_src_filter = ${rak4631.build_src_filter}
  912. +<../examples/simple_secure_chat/main.cpp>
  913. lib_deps =
  914. ${rak4631.lib_deps}
  915. densaugeo/base64 @ ~1.4.0
  916. [Station_G2]
  917. extends = esp32_base
  918. board = station-g2
  919. build_flags =
  920. ${esp32_base.build_flags}
  921. -I variants/station_g2
  922. -D STATION_G2
  923. -D RADIO_CLASS=CustomSX1262
  924. -D WRAPPER_CLASS=CustomSX1262Wrapper
  925. -D LORA_TX_POWER=7
  926. -D PIN_USER_BTN=0
  927. -D SX126X_DIO2_AS_RF_SWITCH=true
  928. -D SX126X_DIO3_TCXO_VOLTAGE=1.8
  929. -D SX126X_CURRENT_LIMIT=130.0f
  930. build_src_filter = ${esp32_base.build_src_filter}
  931. +<../variants/station_g2>
  932. lib_deps =
  933. ${esp32_base.lib_deps}
  934. [env:Station_G2_repeater]
  935. extends = Station_G2
  936. build_flags =
  937. ${Station_G2.build_flags}
  938. -D ADVERT_NAME='"Station G2 Repeater"'
  939. -D ADVERT_LAT=0.0
  940. -D ADVERT_LON=0.0
  941. -D ADMIN_PASSWORD='"password"'
  942. -D MESH_PACKET_LOGGING=1
  943. build_src_filter = ${Station_G2.build_src_filter}
  944. +<../examples/simple_repeater>
  945. lib_deps =
  946. ${Station_G2.lib_deps}
  947. ${esp32_ota.lib_deps}
  948. [env:Station_G2_room_server]
  949. extends = Station_G2
  950. build_src_filter = ${Station_G2.build_src_filter}
  951. +<../examples/simple_room_server>
  952. build_flags =
  953. ${Station_G2.build_flags}
  954. -D ADVERT_NAME='"Station G2 Room"'
  955. -D ADVERT_LAT=0.0
  956. -D ADVERT_LON=0.0
  957. -D ADMIN_PASSWORD='"password"'
  958. -D ROOM_PASSWORD='"hello"'
  959. lib_deps =
  960. ${Station_G2.lib_deps}
  961. ${esp32_ota.lib_deps}
  962. [nrf52840_t1000e]
  963. extends = nrf52_base
  964. platform_packages = framework-arduinoadafruitnrf52
  965. build_flags = ${nrf52_base.build_flags}
  966. -I src/helpers/nrf52
  967. -I lib/nrf52/s140_nrf52_7.3.0_API/include
  968. -I lib/nrf52/s140_nrf52_7.3.0_API/include/nrf52
  969. lib_ignore =
  970. BluetoothOTA
  971. lvgl
  972. lib5b4
  973. lib_deps =
  974. ${nrf52_base.lib_deps}
  975. rweather/Crypto @ ^0.4.0
  976. [t1000-e]
  977. extends = nrf52840_t1000e
  978. board = tracker-t1000-e
  979. board_build.ldscript = boards/nrf52840_s140_v7.ld
  980. build_flags = ${nrf52840_t1000e.build_flags}
  981. -I variants/t1000-e
  982. -D T1000_E
  983. -D PIN_USER_BTN=6
  984. -D USER_BTN_PRESSED=HIGH
  985. -D PIN_STATUS_LED=24
  986. -D RADIO_CLASS=CustomLR1110
  987. -D WRAPPER_CLASS=CustomLR1110Wrapper
  988. -D LORA_TX_POWER=22
  989. build_src_filter = ${nrf52840_t1000e.build_src_filter}
  990. +<helpers/*.cpp>
  991. +<helpers/nrf52/T1000eBoard.cpp>
  992. +<../variants/t1000-e>
  993. debug_tool = jlink
  994. upload_protocol = nrfutil
  995. [env:t1000e_companion_radio_ble]
  996. extends = t1000-e
  997. build_flags = ${t1000-e.build_flags}
  998. -D MAX_CONTACTS=100
  999. -D MAX_GROUP_CHANNELS=8
  1000. -D BLE_PIN_CODE=123456
  1001. -D BLE_DEBUG_LOGGING=1
  1002. -D MESH_PACKET_LOGGING=1
  1003. -D MESH_DEBUG=1
  1004. -D RX_BOOSTED_GAIN=true
  1005. -D RF_SWITCH_TABLE
  1006. -D HAS_UI
  1007. build_src_filter = ${t1000-e.build_src_filter}
  1008. +<helpers/nrf52/SerialBLEInterface.cpp>
  1009. +<../examples/companion_radio/*.cpp>
  1010. lib_deps = ${t1000-e.lib_deps}
  1011. densaugeo/base64 @ ~1.4.0
  1012. [nrf52840_t114]
  1013. extends = nrf52_base
  1014. platform_packages = framework-arduinoadafruitnrf52
  1015. build_flags = ${nrf52_base.build_flags}
  1016. -I src/helpers/nrf52
  1017. -I lib/nrf52/s140_nrf52_6.1.1_API/include
  1018. -I lib/nrf52/s140_nrf52_6.1.1_API/include/nrf52
  1019. lib_deps =
  1020. ${nrf52_base.lib_deps}
  1021. rweather/Crypto @ ^0.4.0
  1022. [Heltec_t114]
  1023. extends = nrf52840_t114
  1024. board = heltec_t114
  1025. board_build.ldscript = boards/nrf52840_s140_v6.ld
  1026. build_flags = ${nrf52840_t114.build_flags}
  1027. -I variants/t114
  1028. -DHELTEC_T114
  1029. -D P_LORA_TX_LED=35
  1030. -D RADIO_CLASS=CustomSX1262
  1031. -D WRAPPER_CLASS=CustomSX1262Wrapper
  1032. -D LORA_TX_POWER=22
  1033. -D SX126X_CURRENT_LIMIT=130
  1034. -D SX126X_RX_BOOSTED_GAIN=1
  1035. build_src_filter = ${nrf52840_t114.build_src_filter}
  1036. +<helpers/*.cpp>
  1037. +<helpers/nrf52/T114Board.cpp>
  1038. +<../variants/t114>
  1039. debug_tool = jlink
  1040. upload_protocol = nrfutil
  1041. [env:Heltec_t114_repeater]
  1042. extends = Heltec_t114
  1043. build_src_filter = ${Heltec_t114.build_src_filter}
  1044. +<../examples/simple_repeater/main.cpp>
  1045. build_flags =
  1046. ${Heltec_t114.build_flags}
  1047. -D ADVERT_NAME='"Heltec_T114 Repeater"'
  1048. -D ADVERT_LAT=0.0
  1049. -D ADVERT_LON=0.0
  1050. -D ADMIN_PASSWORD='"password"'
  1051. lib_deps =
  1052. me-no-dev/AsyncTCP@^3.3.2
  1053. esp32async/ESPAsyncWebServer@^3.7.5
  1054. rweather/Crypto@^0.4.0
  1055. jgromes/RadioLib@^7.1.2
  1056. adafruit/RTClib@^2.1.4
  1057. melopero/Melopero RV3028@^1.1.0
  1058. lewisxhe/PCF8563_Library@^1.0.1
  1059. adafruit/Adafruit GFX Library@^1.12.0
  1060. adafruit/Adafruit SSD1306@^2.5.13
  1061. [env:Heltec_t114_room_server]
  1062. extends = Heltec_t114
  1063. build_src_filter = ${Heltec_t114.build_src_filter}
  1064. +<../examples/simple_room_server>
  1065. build_flags =
  1066. ${Heltec_t114.build_flags}
  1067. -D ADVERT_NAME='"Heltec_T114 Room"'
  1068. -D ADVERT_LAT=0.0
  1069. -D ADVERT_LON=0.0
  1070. -D ADMIN_PASSWORD='"password"'
  1071. -D ROOM_PASSWORD='"hello"'
  1072. lib_deps =
  1073. me-no-dev/AsyncTCP@^3.3.2
  1074. esp32async/ESPAsyncWebServer@^3.7.5
  1075. rweather/Crypto@^0.4.0
  1076. jgromes/RadioLib@^7.1.2
  1077. adafruit/RTClib@^2.1.4
  1078. melopero/Melopero RV3028@^1.1.0
  1079. lewisxhe/PCF8563_Library@^1.0.1
  1080. adafruit/Adafruit GFX Library@^1.12.0
  1081. adafruit/Adafruit SSD1306@^2.5.13
  1082. [env:Heltec_t114_companion_radio_ble]
  1083. extends = Heltec_t114
  1084. build_flags =
  1085. ${Heltec_t114.build_flags}
  1086. -D MAX_CONTACTS=100
  1087. -D MAX_GROUP_CHANNELS=8
  1088. -D BLE_PIN_CODE=123456
  1089. -D BLE_DEBUG_LOGGING=1
  1090. build_src_filter = ${Heltec_t114.build_src_filter}
  1091. +<helpers/nrf52/*.cpp>
  1092. +<../examples/companion_radio/main.cpp>
  1093. lib_deps =
  1094. ${Heltec_t114.lib_deps}
  1095. densaugeo/base64 @ ~1.4.0
  1096. [nrf52840_techo]
  1097. extends = nrf52_base
  1098. platform_packages = framework-arduinoadafruitnrf52
  1099. build_flags = ${nrf52_base.build_flags}
  1100. -I src/helpers/nrf52
  1101. -I lib/nrf52/s140_nrf52_6.1.1_API/include
  1102. -I lib/nrf52/s140_nrf52_6.1.1_API/include/nrf52
  1103. lib_deps =
  1104. ${nrf52_base.lib_deps}
  1105. rweather/Crypto @ ^0.4.0
  1106. [LilyGo_Techo]
  1107. extends = nrf52840_techo
  1108. board = t-echo
  1109. board_build.ldscript = boards/nrf52840_s140_v6.ld
  1110. build_flags = ${nrf52840_techo.build_flags}
  1111. -I variants/techo
  1112. -DLILYGO_TECHO
  1113. -D RADIO_CLASS=CustomSX1262
  1114. -D WRAPPER_CLASS=CustomSX1262Wrapper
  1115. -D LORA_TX_POWER=22
  1116. -D SX126X_CURRENT_LIMIT=130
  1117. -D SX126X_RX_BOOSTED_GAIN=1
  1118. build_src_filter = ${nrf52840_techo.build_src_filter}
  1119. +<helpers/*.cpp>
  1120. +<helpers/nrf52/TechoBoard.cpp>
  1121. +<../variants/techo>
  1122. debug_tool = jlink
  1123. upload_protocol = nrfutil
  1124. [env:LilyGo_T-Echo_repeater]
  1125. extends = LilyGo_Techo
  1126. build_src_filter = ${LilyGo_Techo.build_src_filter} +<../examples/simple_repeater/main.cpp>
  1127. build_flags =
  1128. ${LilyGo_Techo.build_flags}
  1129. -D ADVERT_NAME='"T-Echo Repeater"'
  1130. -D ADVERT_LAT=0.0
  1131. -D ADVERT_LON=0.0
  1132. -D ADMIN_PASSWORD='"password"'
  1133. lib_deps =
  1134. me-no-dev/AsyncTCP@^3.3.2
  1135. esp32async/ESPAsyncWebServer@^3.7.5
  1136. rweather/Crypto@^0.4.0
  1137. jgromes/RadioLib@^7.1.2
  1138. adafruit/RTClib@^2.1.4
  1139. melopero/Melopero RV3028@^1.1.0
  1140. lewisxhe/PCF8563_Library@^1.0.1
  1141. adafruit/Adafruit GFX Library@^1.12.0
  1142. adafruit/Adafruit SSD1306@^2.5.13
  1143. [env:LilyGo_T-Echo_room_server]
  1144. extends = LilyGo_Techo
  1145. build_src_filter = ${LilyGo_Techo.build_src_filter} +<../examples/simple_room_server/main.cpp>
  1146. build_flags =
  1147. ${LilyGo_Techo.build_flags}
  1148. -D ADVERT_NAME='"T-Echo Room"'
  1149. -D ADVERT_LAT=0.0
  1150. -D ADVERT_LON=0.0
  1151. -D ADMIN_PASSWORD='"password"'
  1152. lib_deps =
  1153. me-no-dev/AsyncTCP@^3.3.2
  1154. esp32async/ESPAsyncWebServer@^3.7.5
  1155. rweather/Crypto@^0.4.0
  1156. jgromes/RadioLib@^7.1.2
  1157. adafruit/RTClib@^2.1.4
  1158. melopero/Melopero RV3028@^1.1.0
  1159. lewisxhe/PCF8563_Library@^1.0.1
  1160. adafruit/Adafruit GFX Library@^1.12.0
  1161. adafruit/Adafruit SSD1306@^2.5.13
  1162. [env:LilyGo_T-Echo_companion_radio_ble]
  1163. extends = LilyGo_Techo
  1164. build_flags =
  1165. ${LilyGo_Techo.build_flags}
  1166. -D MAX_CONTACTS=100
  1167. -D MAX_GROUP_CHANNELS=8
  1168. -D BLE_PIN_CODE=123456
  1169. -D BLE_DEBUG_LOGGING=1
  1170. build_src_filter = ${LilyGo_Techo.build_src_filter}
  1171. +<helpers/nrf52/*.cpp>
  1172. +<../examples/companion_radio/main.cpp>
  1173. lib_deps =
  1174. ${LilyGo_Techo.lib_deps}
  1175. densaugeo/base64 @ ~1.4.0
  1176. [Xiao_esp32_C3]
  1177. extends = esp32_base
  1178. board = seeed_xiao_esp32c3
  1179. build_flags =
  1180. ${esp32_base.build_flags}
  1181. -I variants/xiao_c3
  1182. -D LORA_TX_BOOST_PIN=D3
  1183. -D P_LORA_TX_LED=D5
  1184. -D PIN_VBAT_READ=D0
  1185. -D P_LORA_DIO_1=D2
  1186. -D P_LORA_NSS=D4
  1187. -D P_LORA_RESET=RADIOLIB_NC
  1188. -D P_LORA_BUSY=D1
  1189. -D PIN_BOARD_SDA=D6
  1190. -D PIN_BOARD_SCL=D7
  1191. -D SX126X_DIO2_AS_RF_SWITCH=true
  1192. -D SX126X_DIO3_TCXO_VOLTAGE=1.8
  1193. -D SX126X_CURRENT_LIMIT=130.0f
  1194. build_src_filter = ${esp32_base.build_src_filter}
  1195. +<../variants/xiao_c3>
  1196. [env:Xiao_C3_Repeater_sx1262]
  1197. extends = Xiao_esp32_C3
  1198. build_src_filter = ${Xiao_esp32_C3.build_src_filter}
  1199. +<../examples/simple_repeater/main.cpp>
  1200. build_flags =
  1201. ${Xiao_esp32_C3.build_flags}
  1202. -D RADIO_CLASS=CustomSX1262
  1203. -D WRAPPER_CLASS=CustomSX1262Wrapper
  1204. -D SX126X_RX_BOOSTED_GAIN=1
  1205. -D LORA_TX_POWER=22
  1206. -D ADVERT_NAME='"Xiao Repeater"'
  1207. -D ADVERT_LAT=0.0
  1208. -D ADVERT_LON=0.0
  1209. -D ADMIN_PASSWORD='"password"'
  1210. lib_deps =
  1211. ${Xiao_esp32_C3.lib_deps}
  1212. ${esp32_ota.lib_deps}
  1213. [env:Xiao_C3_Repeater_sx1268]
  1214. extends = Xiao_esp32_C3
  1215. build_src_filter = ${Xiao_esp32_C3.build_src_filter}
  1216. +<../examples/simple_repeater/main.cpp>
  1217. build_flags =
  1218. ${Xiao_esp32_C3.build_flags}
  1219. -D RADIO_CLASS=CustomSX1268
  1220. -D WRAPPER_CLASS=CustomSX1268Wrapper
  1221. -D LORA_TX_POWER=22
  1222. -D ADVERT_NAME='"Xiao Repeater"'
  1223. -D ADVERT_LAT=0.0
  1224. -D ADVERT_LON=0.0
  1225. -D ADMIN_PASSWORD='"password"'
  1226. lib_deps =
  1227. ${Xiao_esp32_C3.lib_deps}
  1228. ${esp32_ota.lib_deps}
  1229. [Xiao_S3_WIO]
  1230. extends = esp32_base
  1231. board = seeed_xiao_esp32s3
  1232. board_check = true
  1233. board_build.mcu = esp32s3
  1234. build_flags = ${esp32_base.build_flags}
  1235. -I variants/xiao_s3_wio
  1236. -D SEEED_XIAO_S3
  1237. -D P_LORA_DIO_1=39
  1238. -D P_LORA_NSS=41
  1239. -D P_LORA_RESET=42
  1240. -D P_LORA_BUSY=40
  1241. -D P_LORA_SCLK=7
  1242. -D P_LORA_MISO=8
  1243. -D P_LORA_MOSI=9
  1244. -D SX126X_DIO2_AS_RF_SWITCH=true
  1245. -D SX126X_DIO3_TCXO_VOLTAGE=1.8
  1246. -D SX126X_CURRENT_LIMIT=130
  1247. -D RADIO_CLASS=CustomSX1262
  1248. -D WRAPPER_CLASS=CustomSX1262Wrapper
  1249. -D LORA_TX_POWER=22
  1250. -D SX126X_RX_BOOSTED_GAIN=1
  1251. build_src_filter = ${esp32_base.build_src_filter}
  1252. +<../variants/xiao_s3_wio>
  1253. [env:Xiao_S3_WIO_Repeater]
  1254. extends = Xiao_S3_WIO
  1255. build_src_filter = ${Xiao_S3_WIO.build_src_filter}
  1256. +<../examples/simple_repeater/main.cpp>
  1257. build_flags =
  1258. ${Xiao_S3_WIO.build_flags}
  1259. -D ADVERT_NAME='"XiaoS3 Repeater"'
  1260. -D ADVERT_LAT=0.0
  1261. -D ADVERT_LON=0.0
  1262. -D ADMIN_PASSWORD='"password"'
  1263. lib_deps =
  1264. ${Xiao_S3_WIO.lib_deps}
  1265. ${esp32_ota.lib_deps}
  1266. [env:Xiao_S3_WIO_room_server]
  1267. extends = Xiao_S3_WIO
  1268. build_src_filter = ${Xiao_S3_WIO.build_src_filter}
  1269. +<../examples/simple_room_server>
  1270. build_flags =
  1271. ${Xiao_S3_WIO.build_flags}
  1272. -D ADVERT_NAME='"XiaoS3 Room"'
  1273. -D ADVERT_LAT=0.0
  1274. -D ADVERT_LON=0.0
  1275. -D ADMIN_PASSWORD='"password"'
  1276. -D ROOM_PASSWORD='"hello"'
  1277. lib_deps =
  1278. ${Xiao_S3_WIO.lib_deps}
  1279. ${esp32_ota.lib_deps}
  1280. [env:Xiao_S3_WIO_terminal_chat]
  1281. extends = Xiao_S3_WIO
  1282. build_flags =
  1283. ${Xiao_S3_WIO.build_flags}
  1284. -D MAX_CONTACTS=100
  1285. -D MAX_GROUP_CHANNELS=8
  1286. build_src_filter = ${Xiao_S3_WIO.build_src_filter}
  1287. +<../examples/simple_secure_chat/main.cpp>
  1288. lib_deps =
  1289. ${Xiao_S3_WIO.lib_deps}
  1290. densaugeo/base64 @ ~1.4.0
  1291. [env:Xiao_S3_WIO_companion_radio_ble]
  1292. extends = Xiao_S3_WIO
  1293. build_flags =
  1294. ${Xiao_S3_WIO.build_flags}
  1295. -D MAX_CONTACTS=100
  1296. -D MAX_GROUP_CHANNELS=8
  1297. -D BLE_PIN_CODE=123456
  1298. build_src_filter = ${Xiao_S3_WIO.build_src_filter}
  1299. +<helpers/esp32/*.cpp>
  1300. +<../examples/companion_radio/main.cpp>
  1301. lib_deps =
  1302. ${Xiao_S3_WIO.lib_deps}
  1303. densaugeo/base64 @ ~1.4.0
  1304. [env:Xiao_S3_WIO_companion_radio_serial]
  1305. extends = Xiao_S3_WIO
  1306. build_flags =
  1307. ${Xiao_S3_WIO.build_flags}
  1308. -D MAX_CONTACTS=100
  1309. -D MAX_GROUP_CHANNELS=8
  1310. -D SERIAL_TX=D6
  1311. -D SERIAL_RX=D7
  1312. build_src_filter = ${Xiao_S3_WIO.build_src_filter}
  1313. +<helpers/esp32/*.cpp>
  1314. +<../examples/companion_radio/main.cpp>
  1315. lib_deps =
  1316. ${Xiao_S3_WIO.lib_deps}
  1317. densaugeo/base64 @ ~1.4.0
  1318. [env:T_Beam_S3_Supreme_SX1262_companion_radio_ble]
  1319. extends = T_Beam_S3_Supreme_SX1262
  1320. build_flags =
  1321. ${T_Beam_S3_Supreme_SX1262.build_flags}
  1322. -D DISPLAY_CLASS=SSD1306Display
  1323. -D MAX_CONTACTS=100
  1324. -D MAX_GROUP_CHANNELS=8
  1325. -D BLE_PIN_CODE=123456
  1326. -D BLE_DEBUG_LOGGING=1
  1327. -D MESH_PACKET_LOGGING=1
  1328. -D MESH_DEBUG=1
  1329. build_src_filter = ${T_Beam_S3_Supreme_SX1262.build_src_filter}
  1330. +<helpers/esp32/*.cpp>
  1331. +<helpers/ui/*.cpp>
  1332. +<../examples/companion_radio>
  1333. lib_deps =
  1334. ${T_Beam_S3_Supreme_SX1262.lib_deps}
  1335. densaugeo/base64 @ ~1.4.0
  1336. adafruit/Adafruit SSD1306@^2.5.13