2020-02-01 08:30:53 -08:00
; PlatformIO Project Configuration File
; https://docs.platformio.org/page/projectconf.html
[platformio]
2022-09-06 15:58:33 +08:00
default_envs = tbeam
;default_envs = tbeam-s3-core
2021-01-09 17:44:20 -08:00
;default_envs = tbeam0.7
2021-12-30 22:18:08 +01:00
;default_envs = heltec-v1
2022-01-24 18:33:31 +01:00
;default_envs = heltec-v2.0
;default_envs = heltec-v2.1
2021-01-09 17:44:20 -08:00
;default_envs = tlora-v1
2022-01-03 16:18:01 -08:00
;default_envs = tlora-v1
2021-03-20 20:47:48 -07:00
;default_envs = tlora_v1_3
2021-01-09 17:44:20 -08:00
;default_envs = tlora-v2
2022-01-20 08:34:03 -06:00
;default_envs = tlora-v2-1-1.6
2021-01-09 17:44:20 -08:00
;default_envs = lora-relay-v1 # nrf board
2022-09-09 22:31:30 +02:00
;default_envs = t-echo
2021-03-10 15:29:25 +08:00
;default_envs = nrf52840dk-geeksville
2021-05-24 09:21:52 +08:00
;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
2022-04-04 18:16:19 +08:00
;default_envs = nano-g1
2022-04-05 18:46:07 +02:00
;default_envs = pca10059_diy_eink
2021-12-26 09:08:49 -08:00
;default_envs = meshtastic-diy-v1
2022-01-23 23:44:58 +03:00
;default_envs = meshtastic-diy-v1.1
2022-06-01 11:09:21 +02:00
;default_envs = m5stack-coreink
2022-08-22 16:41:23 -05:00
;default_envs = rak4631
2020-02-01 08:30:53 -08:00
2022-01-25 15:56:16 +01:00
extra_configs = variants/*/platformio.ini
2020-03-27 13:20:52 -07:00
[env]
2020-12-10 11:28:15 +08:00
extra_scripts = bin/platformio-custom.py
2020-02-01 08:30:53 -08:00
; note: we add src to our include search path so that lmic_project_config can override
2021-03-10 15:29:25 +08:00
; 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!
2020-02-27 21:45:20 -08:00
; FIXME: fix lib/BluetoothOTA dependency back on src/ so we can remove -Isrc
2021-02-22 12:57:03 +08:00
build_flags = -Wno-missing-field-initializers
-Wno-format
2021-04-01 14:05:27 +08:00
-Isrc -Isrc/mesh -Isrc/gps -Isrc/buzz -Wl,-Map,.pio/build/output.map
2020-10-09 14:16:51 +08:00
-DUSE_THREAD_NAMES
2021-03-10 15:29:25 +08:00
-DTINYGPS_OPTION_NO_CUSTOM_FIELDS
2022-05-06 22:16:51 +02:00
-DPB_ENABLE_MALLOC = 1
2020-03-29 12:33:14 -07:00
2022-06-15 11:44:37 -05:00
monitor_speed = 115200
2020-02-01 08:30:53 -08:00
lib_deps =
2022-04-10 19:15:10 -07:00
https://github.com/meshtastic/esp8266-oled-ssd1306.git#53580644255b48ebb7a737343c6b4e71c7e11cf2 ; ESP8266_SSD1306
2022-03-10 09:03:30 +11:00
mathertel/OneButton@^2.0.3 ; OneButton library for non-blocking button debounce
2020-02-27 21:45:20 -08:00
1202 ; CRC32, explicitly needed because dependency is missing in the ble ota update lib
2021-08-02 21:34:14 -07:00
https://github.com/meshtastic/arduino-fsm.git
2022-04-06 09:18:55 +02:00
https://github.com/meshtastic/TinyGPSPlus.git
2020-09-04 15:03:22 -07:00
Wire ; explicitly needed here because the AXP202 library forgets to add it
2020-09-04 17:23:17 -07:00
SPI
2022-05-05 13:54:21 -05:00
https://github.com/meshtastic/ArduinoThread.git#72921ac222eed6f526ba1682023cee290d9aa1b3
2022-03-10 08:37:24 +11:00
nanopb/Nanopb@^0.4.6
2022-01-24 19:58:07 +00:00
2022-01-23 00:29:16 -08:00
; Used for the code analysis in PIO Home / Inspect
2022-01-24 19:58:07 +00:00
check_tool = cppcheck
2022-01-23 00:29:16 -08:00
check_skip_packages = yes
2022-01-18 18:35:42 -06:00
; Common settings for conventional (non Portduino) Arduino targets
2020-09-04 15:03:22 -07:00
[arduino_base]
framework = arduino
lib_deps =
${env.lib_deps}
2022-05-29 19:30:20 -05:00
; Portduino is using meshtastic fork for now
2022-06-13 21:25:27 +02:00
https://github.com/jgromes/RadioLib.git
2021-05-03 15:38:14 +08:00
build_flags = ${env.build_flags} -Os
# -DRADIOLIB_GODMODE
2022-08-10 11:31:29 +02:00
build_src_filter = ${env.build_src_filter} -<platform/portduino/>
2020-08-12 17:03:36 -07:00
2022-05-29 19:30:20 -05:00
; 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]
2022-01-23 10:05:39 -06:00
lib_deps =
2022-05-01 14:22:04 -05:00
adafruit/Adafruit BusIO@^1.11.4
2022-01-23 10:05:39 -06:00
adafruit/Adafruit Unified Sensor@^1.1.4
2022-07-31 08:52:47 -05:00
adafruit/Adafruit BMP280 Library@^2.6.3
2022-01-23 10:05:39 -06:00
adafruit/Adafruit BME280 Library@^2.2.2
2022-01-25 14:22:48 -06:00
adafruit/Adafruit BME680 Library@^2.0.1
2022-02-08 10:03:34 -07:00
adafruit/Adafruit MCP9808 Library@^2.0.0
2022-06-11 16:44:56 -05:00
adafruit/Adafruit INA260 Library@^1.5.0
adafruit/Adafruit INA219@^1.2.0
2020-04-14 20:22:27 -07:00
; Common settings for ESP targes, mixin with extends = esp32_base
[esp32_base]
2020-09-04 15:03:22 -07:00
extends = arduino_base
2022-09-09 22:31:30 +02:00
platform = espressif32
2022-05-17 11:14:21 +02:00
build_src_filter =
2022-08-10 11:31:29 +02:00
${arduino_base.build_src_filter} -<platform/nrf52/> -<platform/stm32wl> -<platform/rp2040>
2022-06-15 11:44:37 -05:00
upload_speed = 115200
2020-04-14 20:22:27 -07:00
debug_init_break = tbreak setup
2022-06-10 20:38:56 +02:00
2022-01-04 18:58:56 -07: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
2020-04-14 20:22:27 -07:00
build_flags =
2022-09-09 22:31:30 +02:00
${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
2020-10-12 09:03:04 +08:00
lib_deps =
${arduino_base.lib_deps}
2022-05-29 19:30:20 -05:00
${networking_base.lib_deps}
${environmental_base.lib_deps}
2022-09-09 22:31:30 +02:00
https://github.com/caveman99/esp32_https_server.git
2022-08-06 14:16:11 -05:00
h2zero/NimBLE-Arduino@1.4.0
2022-03-15 17:35:29 +11:00
arduino-libraries/NTPClient@^3.1.0
2022-09-09 22:31:30 +02:00
https://github.com/lewisxhe/XPowersLib.git
2021-12-11 21:26:03 -06:00
lib_ignore =
segger_rtt
ESP32 BLE Arduino
2020-06-13 08:26:48 -07:00
platform_packages =
2022-09-10 20:53:23 +02:00
framework-arduinoespressif32
2022-03-15 17:35:29 +11:00
2022-04-11 22:12:04 -07:00
; leave this commented out to avoid breaking Windows
2021-12-26 09:08:49 -08:00
;upload_port = /dev/ttyUSB0
2021-03-12 14:10:36 +08:00
;monitor_port = /dev/ttyUSB0
2022-04-13 21:59:25 -07:00
; Please don't delete these lines. JM uses them.
;upload_port = /dev/cu.SLAB_USBtoUART
;monitor_port = /dev/cu.SLAB_USBtoUART
2022-04-11 22:12:04 -07:00
2020-09-04 15:03:22 -07:00
; customize the partition table
; http://docs.platformio.org/en/latest/platforms/espressif32.html#partition-tables
board_build.partitions = partition-table.csv
2020-05-10 12:33:17 -07:00
[nrf52_base]
2020-07-09 20:22:40 -07:00
; Instead of the standard nordicnrf52 platform, we use our fork which has our added variant files
2022-03-15 18:28:39 +11:00
; platform = nordicnrf52 ;pending https://github.com/platformio/builder-framework-arduino-nrf5/pull/7
platform = https://github.com/meshtastic/platform-nordicnrf52.git#merge
2020-09-04 15:03:22 -07:00
extends = arduino_base
2020-04-29 19:04:59 -07:00
build_type = debug ; I'm debugging with ICE a lot now
2020-05-24 14:15:49 -07:00
; note: liboberon provides the AES256 implementation for NRF52 (though not using the hardware acceleration of the NRF52840 - FIXME)
2020-03-31 21:56:35 -07:00
build_flags =
2020-09-06 10:09:40 -07:00
${arduino_base.build_flags} -Wno-unused-variable
2022-08-10 11:31:29 +02:00
-Isrc/platform/nrf52
2022-05-17 11:14:21 +02:00
build_src_filter =
2022-08-10 11:31:29 +02:00
${arduino_base.build_src_filter} -<platform/esp32/> -<platform/stm32wl> -<nimble/> -<mesh/wifi/> -<mesh/http/> -<modules/esp32> -<mqtt/> -<platform/rp2040>
2020-04-10 12:15:00 -07:00
lib_ignore =
2020-04-14 20:22:27 -07:00
BluetoothOTA
2020-04-29 20:23:59 -07:00
2021-04-15 11:45:58 +08:00
[nrf52840_base]
extends = nrf52_base
2021-08-12 15:50:54 -07:00
build_flags = ${nrf52_base.build_flags}
2021-04-15 11:45:58 +08:00
lib_deps =
${arduino_base.lib_deps}
2022-05-29 19:30:20 -05:00
${environmental_base.lib_deps}
2022-04-25 11:01:54 +02:00
https://github.com/Kongduino/Adafruit_nRFCrypto.git
2021-04-15 11:45:58 +08:00
2020-07-09 20:22:40 -07:00
; Note: By default no lora device is created for this build - it uses a simulated interface
2020-07-09 20:31:16 -07:00
[env:nrf52840dk]
2021-04-15 11:45:58 +08:00
extends = nrf52840_base
2020-07-09 20:05:39 -07:00
board = nrf52840_dk
2020-07-09 21:27:34 -07: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
2022-08-08 23:11:19 +02:00
; 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
2022-08-10 11:31:29 +02:00
-Isrc/platform/rp2040
2022-08-08 23:11:19 +02:00
-D__PLAT_RP2040__
# -D _POSIX_THREADS
build_src_filter =
2022-08-10 11:31:29 +02:00
${arduino_base.build_src_filter} -<platform/esp32/> -<nimble/> -<mesh/wifi/> -<mesh/http/> -<modules/esp32> -<mqtt/> -<platform/nrf52/> -<platform/stm32wl>
2022-08-08 23:11:19 +02:00
lib_ignore =
BluetoothOTA
lib_deps =
${arduino_base.lib_deps}
${environmental_base.lib_deps}
2022-08-15 07:54:45 -05:00
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
2022-09-03 23:38:40 +08:00
[esp32s3_base]
extends = arduino_base
platform = espressif32
build_src_filter =
${arduino_base.build_src_filter} -<platform/nrf52/> -<platform/stm32wl> -<platform/rp2040>
2022-09-06 15:58:33 +08:00
upload_speed = 961200
monitor_speed = 115200
2022-09-03 23:38:40 +08:00
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
2022-09-06 15:58:33 +08:00
-std = c++11
2022-09-03 23:38:40 +08:00
-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}
2022-09-09 22:31:30 +02:00
https://github.com/meshtastic/esp32_https_server.git
2022-09-03 23:38:40 +08:00
h2zero/NimBLE-Arduino@1.4.0
arduino-libraries/NTPClient@^3.1.0
2022-09-06 15:58:33 +08:00
https://github.com/lewisxhe/XPowersLib.git
2022-09-03 23:38:40 +08:00
lib_ignore =
segger_rtt
ESP32 BLE Arduino
platform_packages =
2022-09-06 15:58:33 +08:00
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