meshtastic-firmware/platformio.ini

267 wiersze
9.4 KiB
INI
Czysty Zwykły widok Historia

; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[platformio]
2021-12-26 17:08:49 +00:00
default_envs = tbeam
2021-01-10 01:44:20 +00:00
;default_envs = tbeam0.7
;default_envs = heltec-v1
2022-01-24 17:33:31 +00:00
;default_envs = heltec-v2.0
;default_envs = heltec-v2.1
2021-01-10 01:44:20 +00:00
;default_envs = tlora-v1
2022-01-04 00:18:01 +00:00
;default_envs = tlora-v1
2021-03-21 03:47:48 +00:00
;default_envs = tlora_v1_3
2021-01-10 01:44:20 +00:00
;default_envs = tlora-v2
;default_envs = tlora-v2-1-1.6
2021-01-10 01:44:20 +00:00
;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 = rak4631_5005
;default_envs = rak4631_5005_eink
;default_envs = rak4631_19003
2021-12-26 17:08:49 +00:00
;default_envs = meshtastic-diy-v1
2022-01-23 20:44:58 +00:00
;default_envs = meshtastic-diy-v1.1
; board specific config can be moved to the respective 'variants' file.
; See https://docs.platformio.org/en/latest/projectconf/section_platformio.html#extra-configs
extra_configs = variants/*/platformio.ini
[common]
; common is not currently used
; REQUIRED environment variables - if not set the specified default will be sued
; The following environment variables must be set in the shell if you'd like to override them.
; They are used in this ini file as systenv.VARNAME, so in your shell do export "VARNAME=fish"
2020-06-20 16:58:45 +00:00
; COUNTRY (default US), i.e. "export COUNTRY=EU865"
; HW_VERSION (default emptystring)
[env]
; note: APP_VERSION now comes from bin/version.json
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
2021-02-22 04:57:03 +00:00
build_flags = -Wno-missing-field-initializers
-Wno-format
2021-04-01 06:05:27 +00:00
-Isrc -Isrc/mesh -Isrc/gps -Isrc/buzz -Wl,-Map,.pio/build/output.map
-DHW_VERSION_${sysenv.COUNTRY}
-DHW_VERSION=${sysenv.HW_VERSION}
-DUSE_THREAD_NAMES
-DTINYGPS_OPTION_NO_CUSTOM_FIELDS
2020-02-03 02:33:46 +00:00
; the default is esptool
; upload_protocol = esp-prog
2020-05-12 20:35:22 +00:00
; monitor_speed = 115200
2020-04-22 21:58:35 +00:00
monitor_speed = 921600
2020-02-04 06:22:53 +00:00
# debug_tool = esp-prog
# debug_port = /dev/ttyACM0
2020-02-03 02:33:46 +00:00
debug_tool = jlink
2020-02-07 05:26:40 +00:00
;upload_protocol = jlink
; debug_tool = olimex-arm-usb-ocd-h
2020-02-04 17:00:17 +00:00
; upload_protocol = olimex-arm-usb-ocd-h
2020-02-04 06:22:53 +00:00
;debug_init_cmds =
; monitor adapter_khz 10000
lib_deps =
https://github.com/meshtastic/esp8266-oled-ssd1306.git#d90231dedbb2f52bd7a32fb8ed8edec52cf4a8cb ; ESP8266_SSD1306
2022-03-09 22:03:30 +00:00
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/SparkFun_Ublox_Arduino_Library.git#31015a55e630a2df77d9d714669c621a5bf355ad
https://github.com/meshtastic/RadioLib.git#5582ac30578ff3f53f20630a00b2a8a4b8f92c74
https://github.com/meshtastic/TinyGPSPlus.git#f0f47067ef2f67c856475933188251c1ef615e79
https://github.com/meshtastic/AXP202X_Library.git#8404abb6d4b486748636bc6ad72d2a47baaf5460
2020-09-04 22:03:22 +00:00
Wire ; explicitly needed here because the AXP202 library forgets to add it
2020-09-05 00:23:17 +00:00
SPI
https://github.com/geeksville/ArduinoThread.git#72921ac222eed6f526ba1682023cee290d9aa1b3
PubSubClient
2022-03-09 21:37:24 +00:00
nanopb/Nanopb@^0.4.6
meshtastic/json11@^1.0.2
2022-01-23 08:29:16 +00:00
; Used for the code analysis in PIO Home / Inspect
check_tool = cppcheck
2022-01-23 08:29:16 +00:00
check_skip_packages = yes
; Common settings for conventional (non Portduino) Arduino targets
2020-09-04 22:03:22 +00:00
[arduino_base]
framework = arduino
lib_deps =
${env.lib_deps}
2021-05-03 07:38:14 +00:00
build_flags = ${env.build_flags} -Os
# -DRADIOLIB_GODMODE
2020-09-06 17:09:40 +00:00
2020-09-07 20:03:37 +00:00
src_filter = ${env.src_filter} -<portduino/>
; Common libs for environmental measurements (not included in native / portduino)
[environmental]
lib_deps =
adafruit/DHT sensor library@^1.4.1
adafruit/Adafruit Unified Sensor@^1.1.4
paulstoffregen/OneWire@^2.3.5
robtillaart/DS18B20@^0.1.11
adafruit/Adafruit BME280 Library@^2.2.2
2022-01-25 20:22:48 +00:00
adafruit/Adafruit BME680 Library@^2.0.1
adafruit/Adafruit MCP9808 Library@^2.0.0
; Common settings for ESP targes, mixin with extends = esp32_base
[esp32_base]
2020-09-04 22:03:22 +00:00
extends = arduino_base
platform = espressif32
src_filter =
2020-09-07 20:03:37 +00:00
${arduino_base.src_filter} -<nrf52/>
upload_speed = 921600
debug_init_break = tbreak setup
2022-01-05 01:58:56 +00:00
# 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
# -DUSE_NEW_ESP32_BLUETOOTH will enable the new NimBLE C++ api
build_flags =
2020-09-06 17:09:40 +00:00
${arduino_base.build_flags} -Wall -Wextra -Isrc/esp32 -Isrc/esp32-mfix-esp32-psram-cache-issue -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
2022-03-07 01:52:05 +00:00
-DAXP_DEBUG_PORT=Serial -DUSE_NEW_ESP32_BLUETOOTH
lib_deps =
${arduino_base.lib_deps}
${environmental.lib_deps}
https://github.com/meshtastic/esp32_https_server.git
2022-03-05 16:57:38 +00:00
h2zero/NimBLE-Arduino@1.3.7
tobozo/ESP32-targz@^1.1.4
2021-12-29 03:24:10 +00:00
arduino-libraries/NTPClient#531eff39d9fbc831f3d03f706a161739203fbe2a
lorol/LittleFS_esp32@^1.0.6
2022-01-04 00:18:01 +00:00
2021-12-12 03:26:03 +00:00
lib_ignore =
segger_rtt
ESP32 BLE Arduino
platform_packages =
framework-arduinoespressif32@https://github.com/meshtastic/arduino-esp32.git#4cde0f5d412d2695184f32e8a47e9bea57b45276
2021-03-12 06:10:36 +00:00
; leave this commented out to avoid breaking Windows
2021-12-26 17:08:49 +00:00
;upload_port = /dev/ttyUSB0
2021-03-12 06:10:36 +00:00
;monitor_port = /dev/ttyUSB0
;upload_port = /dev/cu.SLAB_USBtoUART
;monitor_port = /dev/cu.SLAB_USBtoUART
2020-09-04 22:03:22 +00:00
; customize the partition table
; http://docs.platformio.org/en/latest/platforms/espressif32.html#partition-tables
board_build.partitions = partition-table.csv
; not needed included in ttgo-t-beam board file
; also to use PSRAM https://docs.platformio.org/en/latest/platforms/espressif32.html#external-ram-psram
; -DBOARD_HAS_PSRAM
; -mfix-esp32-psram-cache-issue
; -DLOG_LOCAL_LEVEL=ESP_LOG_DEBUG -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
; The Heltec Cubecell plus
; IMPORTANT NOTE: This target doesn't yet work and probably won't ever work. I'm keeping it around for now.
; For more details see my post in the forum.
2021-05-11 01:44:41 +00:00
;[env:cubecellplus]
;platform = https://github.com/HelTecAutomation/platform-asrmicro650x.git ; we use top-of-tree because stable version has too many bugs - asrmicro650x
;board = cubecell_board_plus
2020-06-06 00:30:09 +00:00
; FIXME, bug in cubecell arduino - they are supposed to set ARDUINO
2021-05-11 01:44:41 +00:00
;build_flags = ${arduino_base.build_flags} -DARDUINO=100 -Isrc/cubecell
;src_filter =
; ${arduino_base.src_filter} -<esp32/> -<nrf52/>
2020-06-06 00:30:09 +00:00
2020-05-10 19:33:17 +00:00
; Common settings for NRF52 based targets
[nrf52_base]
; Instead of the standard nordicnrf52 platform, we use our fork which has our added variant files
; platform = nordicnrf52
platform = https://github.com/meshtastic/platform-nordicnrf52.git#merge
2020-09-04 22:03:22 +00:00
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 =
2020-09-06 17:09:40 +00:00
${arduino_base.build_flags} -Wno-unused-variable
-Isrc/nrf52
2021-01-17 08:11:26 +00:00
-Isdk-nrfxlib/crypto/nrf_oberon/include -Lsdk-nrfxlib/crypto/nrf_oberon/lib/cortex-m4/hard-float/ -lliboberon_3.0.7
2020-05-22 04:17:38 +00:00
;-DCFG_DEBUG=3
src_filter =
2022-02-27 07:56:26 +00:00
${arduino_base.src_filter} -<esp32/> -<nimble/> -<mesh/wifi/> -<mesh/http/> -<modules/esp32> -<mqtt/>
lib_ignore =
BluetoothOTA
; monitor_port = /dev/ttyACM1
2021-03-08 07:20:29 +00:00
# we pass in options to jlink so it can understand freertos (note: we don't use "jlink" as the tool)
2021-04-28 07:25:54 +00:00
;debug_tool = jlink
2021-03-08 07:20:29 +00:00
debug_port = :2331
# Note: the ARGUMENTS MUST BE on multiple lines. Otherwise platformio/commands/debug/helpers.py misparses everything into the "executable"
# attribute and leaves "arguments" empty
# /home/kevinh/.platformio/packages/tool-jlink/JLinkGDBServerCLExe
2021-03-12 06:10:36 +00:00
# This doesn't work yet, so not using for now
disabled_debug_server =
2021-03-08 07:20:29 +00:00
/usr/bin/JLinkGDBServerCLExe
-singlerun
-if
SWD
-select
USB
-device
nRF52840_xxAA
-port
2331
-rtos
GDBServer/RTOSPlugin_FreeRTOS
debug_extra_cmds =
source gdbinit
2020-05-26 22:55:36 +00:00
; after programming the flash, reset the initial PC
; debug_load_cmds = load
; Set initial breakpoint (defaults to main)
debug_init_break =
;debug_init_break = tbreak loop
;debug_init_break = tbreak Reset_Handler
[nrf52840_base]
; Common base class for all nrf52840 based targets
extends = nrf52_base
; was -DTINY_USB
build_flags = ${nrf52_base.build_flags}
lib_deps =
${arduino_base.lib_deps}
${environmental.lib_deps}
Adafruit nRFCrypto
# Adafruit TinyUSB Arduino
# add Adafruit nRFCrypto platform IO automated scan is broken
2020-05-10 19:33:17 +00:00
; The NRF52840-dk development board
; Note: By default no lora device is created for this build - it uses a simulated interface
2020-07-10 03:31:16 +00:00
[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
2020-07-10 18:02:29 +00:00
[env:rak815]
extends = nrf52_base
board = rak815
2020-07-10 19:12:03 +00:00
debug_tool = jlink
upload_protocol = jlink
2020-07-10 20:11:29 +00:00
monitor_port = /dev/ttyUSB0
; this board's serial chip can only run at 115200, not faster
2022-03-09 21:04:45 +00:00
monitor_speed = 115200