2020-02-01 16:30:53 +00:00
; 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]
2020-09-26 19:40:15 +00:00
default_envs = tbeam # lora-relay-v1 # nrf52840dk-geeksville # linux # or if you'd like to change the default to something like lora-relay-v1 put that here
2020-09-27 07:55:41 +00:00
;default_envs = heltec # lora-relay-v1 # nrf52840dk-geeksville # linux # or if you'd like to change the default to something like lora-relay-v1 put that here
2020-02-01 16:30:53 +00:00
2020-03-27 20:20:52 +00:00
[common]
2020-04-19 15:33:59 +00:00
; common is not currently used
2020-03-27 20:20:52 +00:00
2020-04-19 15:33:59 +00:00
; 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"
2020-04-19 15:33:59 +00:00
; HW_VERSION (default emptystring)
2020-04-10 19:15:00 +00:00
2020-03-27 20:20:52 +00:00
[env]
2020-02-01 16:30:53 +00:00
2020-12-10 03:28:15 +00:00
; note: APP_VERSION now comes from bin/version.json
extra_scripts = bin/platformio-custom.py
2020-02-01 16:30:53 +00:00
; note: we add src to our include search path so that lmic_project_config can override
2020-02-28 05:45:20 +00:00
; FIXME: fix lib/BluetoothOTA dependency back on src/ so we can remove -Isrc
2020-09-06 17:09:40 +00:00
build_flags = -Wno-missing-field-initializers -Isrc -Isrc/mesh -Isrc/gps -Ilib/nanopb/include -Wl,-Map,.pio/build/output.map
2020-04-19 15:33:59 +00:00
-DHW_VERSION_${sysenv.COUNTRY}
-DHW_VERSION = ${sysenv.HW_VERSION}
2020-10-09 06:16:51 +00:00
-DUSE_THREAD_NAMES
2020-11-18 02:35:13 +00:00
-DTINYGPSPLUS_OPTION_NO_CUSTOM_FIELDS
2020-02-05 23:37:58 +00:00
2020-03-29 19:33:14 +00:00
; leave this commented out to avoid breaking Windows
;upload_port = /dev/ttyUSB0
;monitor_port = /dev/ttyUSB0
2020-10-01 17:03:23 +00:00
2020-12-30 04:19:08 +00:00
;upload_port = /dev/cu.SLAB_USBtoUART
;monitor_port = /dev/cu.SLAB_USBtoUART
2020-03-29 19:33:14 +00:00
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-01 16:30:53 +00:00
2020-02-04 06:22:53 +00:00
# debug_tool = esp-prog
2020-02-05 23:37:58 +00:00
# debug_port = /dev/ttyACM0
2020-02-03 02:33:46 +00:00
2020-02-05 23:37:58 +00:00
debug_tool = jlink
2020-02-07 05:26:40 +00:00
;upload_protocol = jlink
2020-02-05 23:37:58 +00:00
; 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 =
2020-02-05 23:37:58 +00:00
; monitor adapter_khz 10000
2020-02-01 16:30:53 +00:00
lib_deps =
2020-03-02 23:13:33 +00:00
https://github.com/meshtastic/esp8266-oled-ssd1306.git ; ESP8266_SSD1306
2020-10-12 00:25:17 +00:00
https://github.com/geeksville/OneButton.git ; OneButton library for non-blocking button debounce
2020-02-28 05:45:20 +00:00
1202 ; CRC32, explicitly needed because dependency is missing in the ble ota update lib
2020-10-11 00:15:52 +00:00
https://github.com/meshtastic/arduino-fsm.git#2f106146071fc7bc620e1e8d4b88dc4e0266ce39
2020-10-07 21:23:52 +00:00
https://github.com/meshtastic/SparkFun_Ublox_Arduino_Library.git#31015a55e630a2df77d9d714669c621a5bf355ad
2020-10-07 22:22:25 +00:00
https://github.com/meshtastic/RadioLib.git#8657380241bce681c33aab46598bbf13b11f876c
2020-11-18 02:35:13 +00:00
https://github.com/meshtastic/TinyGPSPlus.git#9c1d584d2469523381e077b0b9c1bf868d6c0206
2020-08-13 00:03:36 +00:00
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
2020-10-11 01:18:47 +00:00
https://github.com/geeksville/ArduinoThread.git#333ffd09b596977c217ba25da4258f588b462ac6
2020-09-04 22:03:22 +00:00
2020-09-06 17:09:40 +00:00
; Common settings for conventional (non Portduino) Ardino targets
2020-09-04 22:03:22 +00:00
[arduino_base]
framework = arduino
lib_deps =
${env.lib_deps}
2020-08-13 00:03:36 +00:00
2020-09-06 17:09:40 +00:00
build_flags = ${env.build_flags} -Os
2020-09-07 20:03:37 +00:00
src_filter = ${env.src_filter} -<portduino/>
2020-08-13 00:03:36 +00:00
2020-04-15 03:22:27 +00:00
; Common settings for ESP targes, mixin with extends = esp32_base
[esp32_base]
2020-09-04 22:03:22 +00:00
extends = arduino_base
2020-06-13 15:26:48 +00:00
platform = espressif32
2020-04-15 03:22:27 +00:00
src_filter =
2020-09-07 20:03:37 +00:00
${arduino_base.src_filter} -<nrf52/>
2020-04-15 03:22:27 +00:00
upload_speed = 921600
debug_init_break = tbreak setup
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
2020-07-22 17:46:01 +00:00
-DLOG_LOCAL_LEVEL = ESP_LOG_DEBUG -DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
2020-08-13 00:10:59 +00:00
-DAXP_DEBUG_PORT = Serial
2020-10-12 01:03:04 +00:00
lib_deps =
${arduino_base.lib_deps}
https://github.com/meshtastic/esp32_https_server.git
2020-06-21 21:11:38 +00:00
# Hmm - this doesn't work yet
# board_build.ldscript = linker/esp32.extram.bss.ld
2020-04-23 23:20:07 +00:00
lib_ignore = segger_rtt
2020-06-13 15:26:48 +00:00
platform_packages =
2020-12-25 03:14:00 +00:00
framework-arduinoespressif32@https://github.com/meshtastic/arduino-esp32.git#352c8ea7cb73f10433ed139f34251979c470ad56
2020-04-15 03:22:27 +00:00
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
2020-07-21 18:16:14 +00:00
; 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
2020-09-10 16:51:53 +00:00
; The 1.0 release of the TBEAM board
2020-04-10 19:15:00 +00:00
[env:tbeam]
extends = esp32_base
2020-03-27 20:20:52 +00:00
board = ttgo-t-beam
lib_deps =
2020-10-17 01:58:34 +00:00
${esp32_base.lib_deps}
2020-03-28 22:31:22 +00:00
build_flags =
2020-04-15 03:22:27 +00:00
${esp32_base.build_flags} -D TBEAM_V10
2020-03-28 22:31:22 +00:00
; The original TBEAM board without the AXP power chip and a few other changes
2020-04-16 16:05:53 +00:00
; Note: I've heard reports this didn't work. Disabled until someone with a 0.7 can test and debug.
2020-07-03 05:44:14 +00:00
[env:tbeam0.7]
extends = esp32_base
board = ttgo-t-beam
build_flags =
${esp32_base.build_flags} -D TBEAM_V07
2020-02-06 06:13:27 +00:00
2020-03-27 20:20:52 +00:00
[env:heltec]
2020-02-06 06:13:27 +00:00
;build_type = debug ; to make it possible to step through our jtag debugger
2020-04-10 19:15:00 +00:00
extends = esp32_base
2020-03-27 20:20:52 +00:00
board = heltec_wifi_lora_32_V2
2020-03-27 23:55:19 +00:00
2020-07-14 14:16:49 +00:00
[env:tlora-v1]
2020-04-10 19:15:00 +00:00
extends = esp32_base
2020-03-27 23:55:19 +00:00
board = ttgo-lora32-v1
2020-03-28 21:45:33 +00:00
build_flags =
2020-07-14 14:16:49 +00:00
${esp32_base.build_flags} -D TLORA_V1
2020-03-27 23:55:19 +00:00
; note: the platformio definition for lora32-v2 seems stale, it is missing a pins_arduino.h file, therefore I don't think it works
2020-07-14 14:16:49 +00:00
[env:tlora-v2]
2020-04-10 19:15:00 +00:00
extends = esp32_base
2020-03-28 21:45:33 +00:00
board = ttgo-lora32-v1
build_flags =
2020-07-14 14:16:49 +00:00
${esp32_base.build_flags} -D TLORA_V2
[env:tlora-v2-1-1.6]
extends = esp32_base
board = ttgo-lora32-v1
build_flags =
${esp32_base.build_flags} -D TLORA_V2_1_16
2020-04-01 04:56:35 +00:00
2020-06-17 18:35:21 +00:00
; 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.
2020-06-06 00:30:09 +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
; FIXME, bug in cubecell arduino - they are supposed to set ARDUINO
2020-09-06 17:09:40 +00:00
build_flags = ${arduino_base.build_flags} -DARDUINO=100 -Isrc/cubecell
2020-06-06 00:30:09 +00:00
src_filter =
2020-09-07 20:03:37 +00:00
${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]
2020-07-10 03:22:40 +00:00
; Instead of the standard nordicnrf52 platform, we use our fork which has our added variant files
; platform = nordicnrf52
2020-09-07 22:22:00 +00:00
platform = https://github.com/meshtastic/platform-nordicnrf52.git#1a2639a6b0f79b5df66bea3e3089f0d5285fdc63
2020-09-04 22:03:22 +00:00
extends = arduino_base
2020-04-15 03:22:27 +00:00
debug_tool = jlink
2020-04-30 02:04:59 +00:00
build_type = debug ; I'm debugging with ICE a lot now
2020-05-24 21:15:49 +00:00
; note: liboberon provides the AES256 implementation for NRF52 (though not using the hardware acceleration of the NRF52840 - FIXME)
2020-04-01 04:56:35 +00:00
build_flags =
2020-09-06 17:09:40 +00:00
${arduino_base.build_flags} -Wno-unused-variable
2020-07-24 18:39:30 +00:00
-Isrc/nrf52
-Isdk-nrfxlib/crypto/nrf_oberon/include -Lsdk-nrfxlib/crypto/nrf_oberon/lib/cortex-m4/hard-float/ -lliboberon_3.0.3
2020-05-22 04:17:38 +00:00
;-DCFG_DEBUG=3
2020-04-10 19:15:00 +00:00
src_filter =
2020-09-24 17:36:37 +00:00
${arduino_base.src_filter} -<esp32/> -<nimble/> -<meshwifi/>
2020-04-10 19:15:00 +00:00
lib_ignore =
2020-04-15 03:22:27 +00:00
BluetoothOTA
2020-04-24 01:47:27 +00:00
monitor_port = /dev/ttyACM1
2020-04-30 03:23:59 +00:00
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
2020-04-24 01:47:27 +00:00
; Set initial breakpoint (defaults to main)
debug_init_break =
;debug_init_break = tbreak loop
2020-04-30 03:23:59 +00:00
;debug_init_break = tbreak Reset_Handler
2020-05-10 19:33:17 +00:00
; The NRF52840-dk development board
2020-07-10 03:22:40 +00:00
; 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]
2020-05-10 19:33:17 +00:00
extends = nrf52_base
2020-07-10 03:05:39 +00:00
board = nrf52840_dk
; The NRF52840-dk development board, but @geeksville's board - which has a busted oscilliator
2020-07-10 03:31:16 +00:00
[env:nrf52840dk-geeksville]
2020-05-10 19:33:17 +00:00
extends = nrf52_base
board = nrf52840_dk_modified
2020-08-17 17:23:21 +00:00
# add our variants files to the include and src paths
build_flags = ${nrf52_base.build_flags} -Ivariants/pca10056-rc-clock
src_filter = ${nrf52_base.src_filter} +<../variants/pca10056-rc-clock>
2020-05-10 19:33:17 +00:00
2020-07-10 04:27:34 +00:00
; 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
2020-07-10 20:24:00 +00:00
; this board's serial chip can only run at 115200, not faster
monitor_speed = 115200
2020-07-10 18:02:29 +00:00
2020-06-16 22:27:08 +00:00
# For experimenting with RAM sizes
# board_build.ldscript = linker/nrf52840_s140_sim832.ld
2020-05-10 19:33:17 +00:00
; The PPR board
[env:ppr]
extends = nrf52_base
board = ppr
lib_deps =
2020-09-04 22:03:22 +00:00
${arduino_base.lib_deps}
2020-05-10 19:33:17 +00:00
UC1701
2020-06-15 20:31:53 +00:00
2020-10-15 05:47:10 +00:00
; The PPR board
[env:ppr1]
extends = nrf52_base
board = ppr1
build_flags = ${nrf52_base.build_flags} -Ivariants/ppr1
src_filter = ${nrf52_base.src_filter} +<../variants/ppr1>
lib_deps =
${arduino_base.lib_deps}
2020-09-24 21:36:43 +00:00
; Prototype eink/nrf52840/sx1262 device
[env:eink]
extends = nrf52_base
board = eink
# add our variants files to the include and src paths
# define build flags for the TFT_eSPI library
build_flags = ${nrf52_base.build_flags} -Ivariants/eink
2020-09-26 16:40:48 +00:00
-DBUSY_PIN = 3 -DRST_PIN=2 -DDC_PIN=28 -DCS_PIN=30
2020-09-24 21:36:43 +00:00
src_filter = ${nrf52_base.src_filter} +<../variants/eink>
lib_deps =
${arduino_base.lib_deps}
2020-09-26 16:40:48 +00:00
https://github.com/geeksville/EPD_Libraries.git
2020-09-24 21:36:43 +00:00
TFT_eSPI
2020-08-16 21:08:31 +00:00
; The https://github.com/BigCorvus/SX1262-LoRa-BLE-Relay board by @BigCorvus
[env:lora-relay-v1]
extends = nrf52_base
board = lora-relay-v1
2020-08-17 17:23:21 +00:00
# add our variants files to the include and src paths
2020-08-28 21:24:22 +00:00
# define build flags for the TFT_eSPI library
2020-08-17 17:23:21 +00:00
build_flags = ${nrf52_base.build_flags} -Ivariants/lora_relay_v1
2020-08-28 21:24:22 +00:00
-DUSER_SETUP_LOADED
-DTFT_WIDTH = 80
-DTFT_HEIGHT = 160
-DST7735_GREENTAB160x80
-DST7735_DRIVER
-DTFT_CS = ST7735_CS
-DTFT_DC = ST7735_RS
-DTFT_RST = ST7735_RESET
-DSPI_FREQUENCY = 27000000
2020-08-17 17:23:21 +00:00
src_filter = ${nrf52_base.src_filter} +<../variants/lora_relay_v1>
2020-08-16 21:08:31 +00:00
lib_deps =
2020-09-04 22:03:22 +00:00
${arduino_base.lib_deps}
2020-08-16 21:50:04 +00:00
SparkFun BQ27441 LiPo Fuel Gauge Arduino Library
2020-08-17 20:47:05 +00:00
TFT_eSPI
2020-10-13 05:59:06 +00:00
; The https://github.com/BigCorvus/LoRa-BLE-Relay-v2 board by @BigCorvus
[env:lora-relay-v2]
extends = nrf52_base
board = lora-relay-v2
# add our variants files to the include and src paths
# define build flags for the TFT_eSPI library
build_flags = ${nrf52_base.build_flags} -Ivariants/lora_relay_v2
-DUSER_SETUP_LOADED
-DTFT_WIDTH = 80
-DTFT_HEIGHT = 160
-DST7735_GREENTAB160x80
-DST7735_DRIVER
-DTFT_CS = ST7735_CS
-DTFT_DC = ST7735_RS
-DTFT_RST = ST7735_RESET
-DSPI_FREQUENCY = 27000000
-DTFT_WR = ST7735_SDA
-DTFT_SCLK = ST7735_SCK
src_filter = ${nrf52_base.src_filter} +<../variants/lora_relay_v2>
lib_deps =
${arduino_base.lib_deps}
SparkFun BQ27441 LiPo Fuel Gauge Arduino Library
TFT_eSPI
2020-08-16 21:08:31 +00:00
2020-09-07 20:03:37 +00:00
; The Portduino based sim environment on top of linux
2020-09-04 22:03:22 +00:00
[env:linux]
platform = https://github.com/geeksville/platform-portduino.git
2020-09-24 00:22:17 +00:00
src_filter = ${env.src_filter} -<esp32/> -<nimble/> -<nrf52/> -<meshwifi/>
2020-09-06 21:45:43 +00:00
build_flags = ${arduino_base.build_flags} -O0
2020-09-04 22:03:22 +00:00
framework = arduino
board = linux_x86_64