platformio.ini 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. electroniccats/CayenneLPP @ 1.4.0
  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. build_src_filter =
  31. +<*.cpp>
  32. +<helpers/*.cpp>
  33. ; ----------------- ESP32 ---------------------
  34. [esp32_base]
  35. extends = arduino_base
  36. platform = platformio/espressif32@^6.11.0
  37. monitor_filters = esp32_exception_decoder
  38. extra_scripts = merge-bin.py
  39. build_flags = ${arduino_base.build_flags}
  40. ; -D ESP32_CPU_FREQ=80 ; change it to your need
  41. build_src_filter = ${arduino_base.build_src_filter}
  42. [esp32_ota]
  43. lib_deps =
  44. me-no-dev/ESPAsyncWebServer @ ^3.6.0
  45. file://arch/esp32/AsyncElegantOTA
  46. ; esp32c6 uses arduino framework 3.x
  47. [esp32c6_base]
  48. extends = esp32_base
  49. platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip
  50. ; ----------------- NRF52 ---------------------
  51. [nrf52_base]
  52. extends = arduino_base
  53. platform = nordicnrf52
  54. build_flags = ${arduino_base.build_flags}
  55. -D NRF52_PLATFORM
  56. -D LFS_NO_ASSERT=1
  57. [nrf52840_base]
  58. extends = nrf52_base
  59. build_flags = ${nrf52_base.build_flags}
  60. lib_deps =
  61. ${nrf52_base.lib_deps}
  62. rweather/Crypto @ ^0.4.0
  63. https://github.com/adafruit/Adafruit_nRF52_Arduino
  64. ; ----------------- RP2040 ---------------------
  65. [rp2040_base]
  66. extends = arduino_base
  67. upload_protocol = picotool
  68. board_build.core = earlephilhower
  69. platform = https://github.com/maxgerhardt/platform-raspberrypi.git
  70. build_flags = ${arduino_base.build_flags}
  71. -D RP2040_PLATFORM
  72. ; ----------------- STM32 ----------------------
  73. [stm32_base]
  74. extends = arduino_base
  75. platform = platformio/ststm32@19.1.0
  76. platform_packages = platformio/framework-arduinoststm32@https://github.com/stm32duino/Arduino_Core_STM32/archive/2.10.1.zip
  77. extra_scripts = post:arch/stm32/build_hex.py
  78. build_flags = ${arduino_base.build_flags}
  79. -D STM32_PLATFORM
  80. -I src/helpers/stm32
  81. build_src_filter = ${arduino_base.build_src_filter}
  82. +<helpers/stm32>
  83. lib_deps = ${arduino_base.lib_deps}
  84. file://arch/stm32/Adafruit_LittleFS_stm32