sforkowany z mirror/meshtastic-firmware
258 wiersze
9.2 KiB
INI
258 wiersze
9.2 KiB
INI
; PlatformIO Project Configuration File
|
|
; https://docs.platformio.org/page/projectconf.html
|
|
|
|
[platformio]
|
|
default_envs = tbeam
|
|
;default_envs = tbeam-s3-core
|
|
;default_envs = tbeam0.7
|
|
;default_envs = heltec-v1
|
|
;default_envs = heltec-v2.0
|
|
;default_envs = heltec-v2.1
|
|
;default_envs = tlora-v1
|
|
;default_envs = tlora-v1
|
|
;default_envs = tlora_v1_3
|
|
;default_envs = tlora-v2
|
|
;default_envs = tlora-v2-1-1.6
|
|
;default_envs = lora-relay-v1 # nrf board
|
|
; default_envs = t-echo
|
|
;default_envs = nrf52840dk-geeksville
|
|
;default_envs = native # lora-relay-v1 # nrf52840dk-geeksville # linux # or if you'd like to change the default to something like lora-relay-v1 put that here
|
|
;default_envs = nano-g1
|
|
;default_envs = pca10059_diy_eink
|
|
;default_envs = meshtastic-diy-v1
|
|
;default_envs = meshtastic-diy-v1.1
|
|
;default_envs = m5stack-coreink
|
|
;default_envs = rak4631
|
|
|
|
extra_configs = variants/*/platformio.ini
|
|
|
|
[env]
|
|
extra_scripts = bin/platformio-custom.py
|
|
|
|
; note: we add src to our include search path so that lmic_project_config can override
|
|
; note: TINYGPS_OPTION_NO_CUSTOM_FIELDS is VERY important. We don't use custom fields and somewhere in that pile
|
|
; of code is a heap corruption bug!
|
|
; FIXME: fix lib/BluetoothOTA dependency back on src/ so we can remove -Isrc
|
|
build_flags = -Wno-missing-field-initializers
|
|
-Wno-format
|
|
-Isrc -Isrc/mesh -Isrc/gps -Isrc/buzz -Wl,-Map,.pio/build/output.map
|
|
-DUSE_THREAD_NAMES
|
|
-DTINYGPS_OPTION_NO_CUSTOM_FIELDS
|
|
-DPB_ENABLE_MALLOC=1
|
|
|
|
monitor_speed = 115200
|
|
|
|
lib_deps =
|
|
https://github.com/meshtastic/esp8266-oled-ssd1306.git#53580644255b48ebb7a737343c6b4e71c7e11cf2 ; ESP8266_SSD1306
|
|
mathertel/OneButton@^2.0.3 ; OneButton library for non-blocking button debounce
|
|
1202 ; CRC32, explicitly needed because dependency is missing in the ble ota update lib
|
|
https://github.com/meshtastic/arduino-fsm.git
|
|
https://github.com/meshtastic/TinyGPSPlus.git
|
|
Wire ; explicitly needed here because the AXP202 library forgets to add it
|
|
SPI
|
|
https://github.com/meshtastic/ArduinoThread.git#72921ac222eed6f526ba1682023cee290d9aa1b3
|
|
nanopb/Nanopb@^0.4.6
|
|
|
|
; Used for the code analysis in PIO Home / Inspect
|
|
check_tool = cppcheck
|
|
check_skip_packages = yes
|
|
|
|
; Common settings for conventional (non Portduino) Arduino targets
|
|
[arduino_base]
|
|
framework = arduino
|
|
lib_deps =
|
|
${env.lib_deps}
|
|
; Portduino is using meshtastic fork for now
|
|
https://github.com/jgromes/RadioLib.git
|
|
|
|
build_flags = ${env.build_flags} -Os
|
|
# -DRADIOLIB_GODMODE
|
|
build_src_filter = ${env.build_src_filter} -<platform/portduino/>
|
|
|
|
; Common libs for communicating over TCP/IP networks such as MQTT
|
|
[networking_base]
|
|
lib_deps =
|
|
PubSubClient
|
|
meshtastic/json11@^1.0.2
|
|
|
|
; Common libs for environmental measurements in telemetry module
|
|
; (not included in native / portduino)
|
|
[environmental_base]
|
|
lib_deps =
|
|
adafruit/Adafruit BusIO@^1.11.4
|
|
adafruit/Adafruit Unified Sensor@^1.1.4
|
|
adafruit/Adafruit BMP280 Library@^2.6.3
|
|
adafruit/Adafruit BME280 Library@^2.2.2
|
|
adafruit/Adafruit BME680 Library@^2.0.1
|
|
adafruit/Adafruit MCP9808 Library@^2.0.0
|
|
adafruit/Adafruit INA260 Library@^1.5.0
|
|
adafruit/Adafruit INA219@^1.2.0
|
|
; Common settings for ESP targes, mixin with extends = esp32_base
|
|
[esp32_base]
|
|
extends = arduino_base
|
|
platform = espressif32@3.5.0
|
|
build_src_filter =
|
|
${arduino_base.build_src_filter} -<platform/nrf52/> -<platform/stm32wl> -<platform/rp2040>
|
|
upload_speed = 115200
|
|
debug_init_break = tbreak setup
|
|
|
|
# Remove -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL for low level BLE logging.
|
|
# See library directory for BLE logging possible values: .pio/libdeps/tbeam/NimBLE-Arduino/src/log_common/log_common.h
|
|
# This overrides the BLE logging default of LOG_LEVEL_INFO (1) from: .pio/libdeps/tbeam/NimBLE-Arduino/src/esp_nimble_cfg.h
|
|
build_flags =
|
|
${arduino_base.build_flags} -Wall -Wextra -Isrc/platform/esp32 -lnimble -std=c++11
|
|
-DLOG_LOCAL_LEVEL=ESP_LOG_DEBUG -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL
|
|
-DAXP_DEBUG_PORT=Serial -DCONFIG_BT_NIMBLE_ENABLED -DCONFIG_NIMBLE_CPP_LOG_LEVEL=2 -DCONFIG_BT_NIMBLE_MAX_CCCDS=20
|
|
lib_deps =
|
|
${arduino_base.lib_deps}
|
|
${networking_base.lib_deps}
|
|
${environmental_base.lib_deps}
|
|
https://github.com/meshtastic/esp32_https_server.git
|
|
h2zero/NimBLE-Arduino@1.4.0
|
|
arduino-libraries/NTPClient@^3.1.0
|
|
lorol/LittleFS_esp32@^1.0.6
|
|
https://github.com/lewisxhe/XPowersLib.git
|
|
|
|
lib_ignore =
|
|
segger_rtt
|
|
ESP32 BLE Arduino
|
|
platform_packages =
|
|
framework-arduinoespressif32@https://github.com/meshtastic/arduino-esp32.git#4cde0f5d412d2695184f32e8a47e9bea57b45276
|
|
|
|
; leave this commented out to avoid breaking Windows
|
|
;upload_port = /dev/ttyUSB0
|
|
;monitor_port = /dev/ttyUSB0
|
|
|
|
; Please don't delete these lines. JM uses them.
|
|
;upload_port = /dev/cu.SLAB_USBtoUART
|
|
;monitor_port = /dev/cu.SLAB_USBtoUART
|
|
|
|
; customize the partition table
|
|
; http://docs.platformio.org/en/latest/platforms/espressif32.html#partition-tables
|
|
board_build.partitions = partition-table.csv
|
|
|
|
[nrf52_base]
|
|
; Instead of the standard nordicnrf52 platform, we use our fork which has our added variant files
|
|
; platform = nordicnrf52 ;pending https://github.com/platformio/builder-framework-arduino-nrf5/pull/7
|
|
platform = https://github.com/meshtastic/platform-nordicnrf52.git#merge
|
|
|
|
extends = arduino_base
|
|
build_type = debug ; I'm debugging with ICE a lot now
|
|
; note: liboberon provides the AES256 implementation for NRF52 (though not using the hardware acceleration of the NRF52840 - FIXME)
|
|
build_flags =
|
|
${arduino_base.build_flags} -Wno-unused-variable
|
|
-Isrc/platform/nrf52
|
|
build_src_filter =
|
|
${arduino_base.build_src_filter} -<platform/esp32/> -<platform/stm32wl> -<nimble/> -<mesh/wifi/> -<mesh/http/> -<modules/esp32> -<mqtt/> -<platform/rp2040>
|
|
lib_ignore =
|
|
BluetoothOTA
|
|
|
|
[nrf52840_base]
|
|
extends = nrf52_base
|
|
build_flags = ${nrf52_base.build_flags}
|
|
lib_deps =
|
|
${arduino_base.lib_deps}
|
|
${environmental_base.lib_deps}
|
|
https://github.com/Kongduino/Adafruit_nRFCrypto.git
|
|
|
|
; Note: By default no lora device is created for this build - it uses a simulated interface
|
|
[env:nrf52840dk]
|
|
extends = nrf52840_base
|
|
board = nrf52840_dk
|
|
|
|
; Note: By default no lora device is created for this build - it uses a simulated interface
|
|
[env:feather_nrf52832]
|
|
extends = nrf52_base
|
|
board = adafruit_feather_nrf52832
|
|
|
|
; Common settings for rp2040 Processor based targets
|
|
[rp2040_base]
|
|
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
|
|
extends = arduino_base
|
|
board_build.core = earlephilhower
|
|
board_build.filesystem_size = 0.5m
|
|
build_flags =
|
|
${arduino_base.build_flags} -Wno-unused-variable
|
|
-Isrc/platform/rp2040
|
|
-D__PLAT_RP2040__
|
|
# -D _POSIX_THREADS
|
|
build_src_filter =
|
|
${arduino_base.build_src_filter} -<platform/esp32/> -<nimble/> -<mesh/wifi/> -<mesh/http/> -<modules/esp32> -<mqtt/> -<platform/nrf52/> -<platform/stm32wl>
|
|
lib_ignore =
|
|
BluetoothOTA
|
|
lib_deps =
|
|
${arduino_base.lib_deps}
|
|
${environmental_base.lib_deps}
|
|
https://github.com/kokke/tiny-AES-c.git
|
|
|
|
[stm32wl5e_base]
|
|
platform = ststm32
|
|
board = generic_wl5e
|
|
framework = arduino
|
|
build_type = debug
|
|
build_flags =
|
|
${arduino_base.build_flags}
|
|
-Isrc/platform/stm32wl -g
|
|
-DHAL_SUBGHZ_MODULE_ENABLED
|
|
# Arduino/PlatformIO framework-arduinoststm32 package does not presently have SUBGHZSPI support
|
|
# -DPIN_SPI_MOSI=PINSUBGHZSPIMOSI -DPIN_SPI_MISO=PINSUBGHZSPIMISO -DPIN_SPI_SCK=PINSUBGHZSPISCK
|
|
build_src_filter =
|
|
${arduino_base.build_src_filter} -<platform/esp32/> -<nimble/> -<mesh/wifi/> -<mesh/http/> -<modules/esp32> -<mqtt/> -<graphics> -<input> -<buzz> -<modules/Telemetry> -<platform/nrf52> -<platform/portduino> -<platform/rp2040>
|
|
lib_deps =
|
|
${env.lib_deps}
|
|
https://github.com/jgromes/RadioLib.git
|
|
https://github.com/kokke/tiny-AES-c.git
|
|
lib_ignore =
|
|
mathertel/OneButton@^2.0.3
|
|
|
|
|
|
|
|
[esp32s3_base]
|
|
extends = arduino_base
|
|
platform = espressif32
|
|
build_src_filter =
|
|
${arduino_base.build_src_filter} -<platform/nrf52/> -<platform/stm32wl> -<platform/rp2040>
|
|
upload_speed = 961200
|
|
monitor_speed = 115200
|
|
debug_init_break = tbreak setup
|
|
|
|
# Remove -DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL for low level BLE logging.
|
|
# See library directory for BLE logging possible values: .pio/libdeps/tbeam/NimBLE-Arduino/src/log_common/log_common.h
|
|
# This overrides the BLE logging default of LOG_LEVEL_INFO (1) from: .pio/libdeps/tbeam/NimBLE-Arduino/src/esp_nimble_cfg.h
|
|
build_flags =
|
|
${arduino_base.build_flags}
|
|
-Wall
|
|
-Wextra
|
|
-Isrc/platform/esp32
|
|
-std=c++11
|
|
-DLOG_LOCAL_LEVEL=ESP_LOG_DEBUG
|
|
-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
|
|
-DMYNEWT_VAL_BLE_HS_LOG_LVL=LOG_LEVEL_CRITICAL
|
|
-DAXP_DEBUG_PORT=Serial
|
|
-DCONFIG_BT_NIMBLE_ENABLED
|
|
-DCONFIG_NIMBLE_CPP_LOG_LEVEL=2
|
|
-DCONFIG_BT_NIMBLE_MAX_CCCDS=20
|
|
|
|
lib_deps =
|
|
${arduino_base.lib_deps}
|
|
${networking_base.lib_deps}
|
|
${environmental_base.lib_deps}
|
|
; https://github.com/meshtastic/esp32_https_server.git
|
|
; PR has been submitted and can be deleted after merging ,https://github.com/meshtastic/esp32_https_server/pull/1
|
|
https://github.com/lewisxhe/esp32_https_server.git
|
|
h2zero/NimBLE-Arduino@1.4.0
|
|
arduino-libraries/NTPClient@^3.1.0
|
|
https://github.com/lewisxhe/XPowersLib.git
|
|
|
|
|
|
lib_ignore =
|
|
segger_rtt
|
|
ESP32 BLE Arduino
|
|
platform_packages =
|
|
framework-arduinoespressif32@ 3.20004.220825
|
|
|
|
; customize the partition table
|
|
; http://docs.platformio.org/en/latest/platforms/espressif32.html#partition-tables
|
|
board_build.partitions = partition-table.csv
|
|
|