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-06-17 18:35:21 +00:00
|
|
|
default_envs = tbeam ; Note: the github actions CI test build can't yet build NRF52 targets
|
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
|
|
|
; APP_VERSION (default emptystring)
|
|
|
|
; 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-07-01 17:08:09 +00:00
|
|
|
framework = arduino
|
|
|
|
|
2020-02-01 17:46:25 +00:00
|
|
|
; customize the partition table
|
|
|
|
; http://docs.platformio.org/en/latest/platforms/espressif32.html#partition-tables
|
|
|
|
board_build.partitions = partition-table.csv
|
|
|
|
|
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-05-04 18:15:05 +00:00
|
|
|
build_flags = -Wno-missing-field-initializers -Isrc -Isrc/mesh -Isrc/gps -Ilib/nanopb/include -Os -Wl,-Map,.pio/build/output.map
|
2020-04-19 15:33:59 +00:00
|
|
|
-DAXP_DEBUG_PORT=Serial
|
|
|
|
-DHW_VERSION_${sysenv.COUNTRY}
|
|
|
|
-DAPP_VERSION=${sysenv.APP_VERSION}
|
|
|
|
-DHW_VERSION=${sysenv.HW_VERSION}
|
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-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-02-04 15:31:32 +00:00
|
|
|
SPI
|
2020-06-22 18:09:26 +00:00
|
|
|
1260 ; 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-02-06 06:13:27 +00:00
|
|
|
Wire ; explicitly needed here because the AXP202 library forgets to add it
|
2020-03-15 04:21:45 +00:00
|
|
|
https://github.com/meshtastic/arduino-fsm.git
|
2020-03-14 19:46:24 +00:00
|
|
|
https://github.com/meshtastic/SparkFun_Ublox_Arduino_Library.git
|
2020-07-10 02:57:55 +00:00
|
|
|
https://github.com/meshtastic/RadioLib.git#d6b12f7eb0a06bd2414c79b437b25d377e3f603f
|
2020-05-05 00:39:57 +00:00
|
|
|
https://github.com/meshtastic/TinyGPSPlus.git
|
|
|
|
|
2020-04-15 03:22:27 +00:00
|
|
|
; Common settings for ESP targes, mixin with extends = esp32_base
|
|
|
|
[esp32_base]
|
2020-06-13 15:26:48 +00:00
|
|
|
platform = espressif32
|
2020-04-15 03:22:27 +00:00
|
|
|
src_filter =
|
2020-04-27 14:39:50 +00:00
|
|
|
${env.src_filter} -<nrf52/>
|
2020-04-15 03:22:27 +00:00
|
|
|
upload_speed = 921600
|
|
|
|
debug_init_break = tbreak setup
|
|
|
|
build_flags =
|
2020-07-22 16:51:57 +00:00
|
|
|
${env.build_flags} -Wall -Wextra -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-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-07-18 23:25:53 +00:00
|
|
|
framework-arduinoespressif32 @ https://github.com/meshtastic/arduino-esp32.git#b7f106cd11a04573b902228ea97025c8b5814dd9
|
2020-04-15 03:22:27 +00:00
|
|
|
|
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-03-28 22:31:22 +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 =
|
|
|
|
${env.lib_deps}
|
2020-05-17 11:44:48 +00:00
|
|
|
https://github.com/meshtastic/AXP202X_Library.git
|
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-06-17 00:01:50 +00:00
|
|
|
build_flags = ${env.build_flags} -DARDUINO=100 -Isrc/cubecell
|
2020-06-06 00:30:09 +00:00
|
|
|
src_filter =
|
2020-06-17 00:01:50 +00:00
|
|
|
${env.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-07-10 18:28:18 +00:00
|
|
|
platform = https://github.com/meshtastic/platform-nordicnrf52.git#62d185fe61b6c84c554046106529b4fd8f155e2c
|
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-06-16 22:27:08 +00:00
|
|
|
${env.build_flags} -Wno-unused-variable -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 =
|
|
|
|
${env.src_filter} -<esp32/>
|
|
|
|
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-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 =
|
|
|
|
${env.lib_deps}
|
|
|
|
UC1701
|
2020-06-15 20:31:53 +00:00
|
|
|
|
2020-05-10 19:33:17 +00:00
|
|
|
|
|
|
|
|
|
|
|
|