platformio.ini 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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.3.0
  20. rweather/Crypto @ ^0.4.0
  21. adafruit/RTClib @ ^2.1.3
  22. melopero/Melopero RV3028 @ ^1.1.0
  23. electroniccats/CayenneLPP @ 1.6.1
  24. build_flags = -w -DNDEBUG -DRADIOLIB_STATIC_ONLY=1 -DRADIOLIB_GODMODE=1
  25. -D LORA_FREQ=869.525
  26. -D LORA_BW=250
  27. -D LORA_SF=11
  28. -D ENABLE_PRIVATE_KEY_IMPORT=1 ; NOTE: comment these out for more secure firmware
  29. -D ENABLE_PRIVATE_KEY_EXPORT=1
  30. -D RADIOLIB_EXCLUDE_CC1101=1
  31. -D RADIOLIB_EXCLUDE_RF69=1
  32. -D RADIOLIB_EXCLUDE_SX1231=1
  33. -D RADIOLIB_EXCLUDE_SI443X=1
  34. -D RADIOLIB_EXCLUDE_RFM2X=1
  35. -D RADIOLIB_EXCLUDE_SX128X=1
  36. -D RADIOLIB_EXCLUDE_AFSK=1
  37. -D RADIOLIB_EXCLUDE_AX25=1
  38. -D RADIOLIB_EXCLUDE_HELLSCHREIBER=1
  39. -D RADIOLIB_EXCLUDE_MORSE=1
  40. -D RADIOLIB_EXCLUDE_APRS=1
  41. -D RADIOLIB_EXCLUDE_BELL=1
  42. -D RADIOLIB_EXCLUDE_RTTY=1
  43. -D RADIOLIB_EXCLUDE_SSTV=1
  44. build_src_filter =
  45. +<*.cpp>
  46. +<helpers/*.cpp>
  47. +<helpers/radiolib/*.cpp>
  48. +<helpers/bridges/BridgeBase.cpp>
  49. +<helpers/ui/MomentaryButton.cpp>
  50. ; ----------------- ESP32 ---------------------
  51. [esp32_base]
  52. extends = arduino_base
  53. platform = platformio/espressif32@6.11.0
  54. monitor_filters = esp32_exception_decoder
  55. extra_scripts = merge-bin.py
  56. build_flags = ${arduino_base.build_flags}
  57. ; -D ESP32_CPU_FREQ=80 ; change it to your need
  58. build_src_filter = ${arduino_base.build_src_filter}
  59. [esp32_ota]
  60. lib_deps =
  61. me-no-dev/ESPAsyncWebServer @ ^3.6.0
  62. file://arch/esp32/AsyncElegantOTA
  63. ; esp32c6 uses arduino framework 3.x
  64. ; WARNING: experimental. pioarduino on esp32c6 needs work - it's not considered stable and has issues.
  65. [esp32c6_base]
  66. extends = esp32_base
  67. platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.12/platform-espressif32.zip
  68. ; ----------------- NRF52 ---------------------
  69. [nrf52_base]
  70. extends = arduino_base
  71. platform = nordicnrf52
  72. platform_packages =
  73. framework-arduinoadafruitnrf52 @ 1.10700.0
  74. extra_scripts = create-uf2.py
  75. build_flags = ${arduino_base.build_flags}
  76. -D NRF52_PLATFORM
  77. -D LFS_NO_ASSERT=1
  78. -D EXTRAFS=1
  79. lib_deps =
  80. ${arduino_base.lib_deps}
  81. https://github.com/oltaco/CustomLFS @ 0.2.1
  82. ; ----------------- RP2040 ---------------------
  83. [rp2040_base]
  84. extends = arduino_base
  85. upload_protocol = picotool
  86. board_build.core = earlephilhower
  87. platform = https://github.com/maxgerhardt/platform-raspberrypi.git
  88. build_flags = ${arduino_base.build_flags}
  89. -D RP2040_PLATFORM
  90. ; ----------------- STM32 ----------------------
  91. [stm32_base]
  92. extends = arduino_base
  93. platform = platformio/ststm32@19.1.0
  94. platform_packages = platformio/framework-arduinoststm32@https://github.com/stm32duino/Arduino_Core_STM32/archive/2.10.1.zip
  95. extra_scripts = post:arch/stm32/build_hex.py
  96. build_flags = ${arduino_base.build_flags}
  97. -D STM32_PLATFORM
  98. -I src/helpers/stm32
  99. build_src_filter = ${arduino_base.build_src_filter}
  100. +<helpers/stm32>
  101. lib_deps = ${arduino_base.lib_deps}
  102. file://arch/stm32/Adafruit_LittleFS_stm32
  103. adafruit/Adafruit BusIO @ 1.17.2
  104. [sensor_base]
  105. build_flags =
  106. -D ENV_INCLUDE_GPS=1
  107. -D ENV_INCLUDE_AHTX0=1
  108. -D ENV_INCLUDE_BME280=1
  109. -D ENV_INCLUDE_BMP280=1
  110. -D ENV_INCLUDE_SHTC3=1
  111. -D ENV_INCLUDE_SHT4X=1
  112. -D ENV_INCLUDE_LPS22HB=1
  113. -D ENV_INCLUDE_INA3221=1
  114. -D ENV_INCLUDE_INA219=1
  115. -D ENV_INCLUDE_INA226=1
  116. -D ENV_INCLUDE_INA260=1
  117. -D ENV_INCLUDE_MLX90614=1
  118. -D ENV_INCLUDE_VL53L0X=1
  119. -D ENV_INCLUDE_BME680=1
  120. lib_deps =
  121. adafruit/Adafruit INA3221 Library @ ^1.0.1
  122. adafruit/Adafruit INA219 @ ^1.2.3
  123. robtillaart/INA226 @ ^0.6.4
  124. adafruit/Adafruit INA260 Library @ ^1.5.3
  125. adafruit/Adafruit AHTX0 @ ^2.0.5
  126. adafruit/Adafruit BME280 Library @ ^2.3.0
  127. adafruit/Adafruit BMP280 Library @ ^2.6.8
  128. adafruit/Adafruit SHTC3 Library @ ^1.0.1
  129. sensirion/Sensirion I2C SHT4x @ ^1.1.2
  130. arduino-libraries/Arduino_LPS22HB @ ^1.0.2
  131. adafruit/Adafruit MLX90614 Library @ ^2.1.5
  132. adafruit/Adafruit_VL53L0X @ ^1.2.4
  133. stevemarple/MicroNMEA @ ^2.0.6
  134. adafruit/Adafruit BME680 Library @ ^2.0.4