LMIC-node/platformio.ini
Leonel Lopes Parente b4142760a5 Fix nodemcuv2 PRINTF_TO for espressif8266 v3.0.0
Add -D _GNU_SOURCE to [env:nodemcuv2] in platformio.ini.
Espressif8266 platform v3.0.0 now also requires this,
otherwise LMIC_PRINTF_TO will fail to compile.
2021-06-03 12:09:07 +02:00

857 lines
No EOL
27 KiB
INI

;-------------------------------------------------------------------------------
;
; File: platformio.ini
;
; Function: Project configuration file for LMIC-node.
;
; Copyright: Copyright (c) 2021 Leonel Lopes Parente
;
; License: MIT License. See accompanying LICENSE file.
;
; Author: Leonel Lopes Parente
;
; Description: This is the main configuration file. It contains:
; - Board selector to select your board type
; - Common settings used for all boards
; - Board specific settings that can be altered per board.
;
; For a description of all settings see README.md
;
;-------------------------------------------------------------------------------
; ------------------------------------------------------------------------------
; | Board Selector |
; | |
; | Select your board by uncommenting EXACTLY ONE board-id below. |
; ------------------------------------------------------------------------------
[platformio]
default_envs =
<platformio.ini board selector guard> Comment this line and uncomment one board-id below:
; LoRa development boards with integrated LoRa support:
; Board-id Board name
;--------- ----------
; adafruit_feather_m0_lora ; Adafruit Feather M0 LoRa
; disco_l072cz_lrwan1 ; Discovery B-L072Z-LRWAN1
; heltec_wifi_lora_32_v2 ; Heltec Wifi LoRa 32 V2
; heltec_wifi_lora_32 ; Heltec Wifi LoRa 32
; heltec_wireless_stick_lite ; Heltec Wireless Stick Lite
; heltec_wireless_stick ; Heltec Wireless Stick
; lopy4 ; Pycom Lopy4
; lora32u4II ; BSFrance LoRa32u4 II v1.0, v1.1, v1.2, v1.3
; ttgo_lora32_v1 ; TTGO LoRa32 v1.3
; ttgo_lora32_v2 ; TTGO LoRa32 v2.0
; ttgo_lora32_v21 ; TTGO LoRa32 v2.1.6
; ttgo_t_beam ; TTGO T-Beam v0.5, v0.6, v0.7
; ttgo_t_beam_v1 ; TTGO T-Beam v1.0, v1.1
; Development boards that require an external SPI LoRa module:
; Board-id Board name
;--------- ----------
; adafruit_qt_py_m0 ; Adafruit QT Py
; blackpill_f103c8_128k ; Black Pill 128k
; blackpill_f103c8 ; Black Pill 64k
; bluepill_f103c8_128k ; Blue Pill 128k
; bluepill_f103c8 ; Blue Pill 64k
; lolin_d32_pro ; Lolin D32 Pro
; lolin_d32 ; Lolin D32
; lolin32 ; Lolin32
; nodemcu_32s ; NodeMCU-32S
; nodemcuv2 ; NodeMCU V2
; pico ; Raspberry Pi Pico
; pro8mhzatmega328 ; Arduino Pro Mini 3.3V 8Mhz
; samd21_m0_mini ; SAMD21 M0-Mini
; teensylc ; Teensy LC
; ------------------------------------------------------------------------------
; | Common Settings |
; | |
; | These settings are shared by all board configurations except for |
; | nodemcuv2 which uses its own monitor_speed setting. |
; ------------------------------------------------------------------------------
[common]
monitor_speed = 115200 ; No need to change this.
build_flags =
-D DO_WORK_INTERVAL_SECONDS=60
; -D ABP_ACTIVATION ; Use ABP instead of OTAA activation
;
; -D WAITFOR_SERIAL_SECONDS=10 ; Can be used to override the default value (10)
; Only used for boards with default set to != 0 in BSF
;
; -D STM32_POST_INITSERIAL_DELAY_MS=1500 ; Workaround for STM32 boards. Can be used
; to override value (milliseconds) in BSF
lib_deps =
olikraus/U8g2 ; OLED display library
lnlp/EasyLed ; LED library
; ███ Add additional libraries for User Code below this line ███
; --------------------------------------------------
; | Shortcuts to enable quick and easy changes |
; --------------------------------------------------
[pico]
upload_port = E: ; For Raspberry Pi Pico.
; Operating system and hardware dependent.
; Placed here so it can be easily changed.
; See [env:pico] for information.
; --------------------------------------------------
; | MCCI LoRaWAN LMIC library specific settings |
; --------------------------------------------------
[mcci_lmic]
; LMIC-node was tested with MCCI LoRaWAN LMIC library v3.3.0.
; Some changes have been announced for future versions of the MCCI library
; which may be incompatible with LMIC-node. In case of problems just
; use mcci-catena/MCCI LoRaWAN LMIC library@3.3.0 below which will
; explicitly use v3.3.0 of the library.
; Perform PlatformIO: Clean after changing library version and
; in case of issues remove the old version from .pio/libdeps/*.
; Note: LMIC_PRINTF_TO is defined for each board separately
; in the board specific sections. Don't define it in this section.
lib_deps =
; Only ONE of below LMIC libraries should be enabled.
mcci-catena/MCCI LoRaWAN LMIC library ; MCCI LMIC library (latest release)
; mcci-catena/MCCI LoRaWAN LMIC library@3.3.0 ; MCCI LMIC library v3.3.0
build_flags =
; Use platformio.ini for settings instead lmic_project_config.h.
-D ARDUINO_LMIC_PROJECT_CONFIG_H_SUPPRESS
; Ping and beacons not supported for class A, disable to save memory.
-D DISABLE_PING
-D DISABLE_BEACONS
; -D LMIC_DEBUG_LEVEL=1 ; 0, 1 or 2
; -D CFG_sx1272_radio=1 ; Use for SX1272 radio
-D CFG_sx1276_radio=1 ; Use for SX1276 radio
-D USE_ORIGINAL_AES ; Faster but larger, see docs
; -D LMIC_USE_INTERRUPTS ; Not tested or supported on many platforms
; -D LMIC_ENABLE_DeviceTimeReq=1 ; Network time support
; --- Regional settings -----
; Enable only one of the following regions:
; -D CFG_as923=1
; -D CFG_as923jp=1
; -D CFG_au915=1
; -D CFG_cn490=1 ; Not yet supported
; -D CFG_cn783=1 ; Not yet supported
; -D CFG_eu433=1 ; Not yet supported
-D CFG_eu868=1
; -D CFG_in866=1
; -D CFG_kr920=1
; -D CFG_us915=1
; --------------------------------------------------
; | IBM LMIC framework library specific settings |
; --------------------------------------------------
[classic_lmic]
; IMPORTANT:
; This library was recently DEPRECATED and is no longer maintained.
; It is not fully LoRaWAN compliant (e.g. in handling of MAC commands)
; and is therefore less suitable for use with The Things Network V3.
;
; Region, radio and debug settings CANNOT be changed in platformio.ini.
; They must be configured in file: config.h in the following location:
; .pio/libdeps/<board-id>/IBM LMIC framework/src/lmic
;
; When making changes to config.h:
; CONFIG.H MUST BE CHANGED FOR EACH BOARD SEPARATELY!
; (By default libraries are installed per project per build config/board.)
lib_deps =
matthijskooijman/IBM LMIC framework ; [Deprecated] Classic LMIC library
build_flags =
; DEFAULT VALUES defined in config.h:
; CFG_sx1276_radio 1
; CFG_eu868 1
; LMIC_DEBUG_LEVEL 0
; Ping and beacons not supported for class A, disable to save memory.
-D DISABLE_PING
-D DISABLE_BEACONS
; ------------------------------------------------------------------------------
; | LoRa development boards with integrated LoRa support |
; | |
; | Some but not all of these boards have an onboard display. |
; | Some boards require additional wiring that needs to be manually added. |
; | Check the Board Support Files in the boards folder for information. |
; ------------------------------------------------------------------------------
[env:adafruit_feather_m0_lora]
; Adafruit Feather M0 with RF9x LoRa (SAMD21).
; No display.
; Requires manual wiring of DIO1 to GPIO6.
platform = atmelsam
board = adafruit_feather_m0
framework = arduino
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_adafruit_feather_m0_lora.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D _GNU_SOURCE
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:disco_l072cz_lrwan1]
; ST B-L072Z-LRWAN1 Discovery kit (STM32L072CZ).
; No display.
platform = ststm32
board = disco_l072cz_lrwan1
framework = arduino
upload_protocol = stlink ; If this fails then try mbed
; upload_protocol = jlink ; Requires onboard programmer firmware upgrade
; upload_protocol = mbed ; If selected, also set the correct upload_port
; upload_port = E: ; Used for mbed, value is hardware and OS dependent
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_disco_l072cz_lrwan1.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D _GNU_SOURCE
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:heltec_wifi_lora_32_v2]
; Heltec WiFi LoRa 32 V2 (ESP32).
; Onboard OLED display SSD1306 0.96" 128x64.
platform = espressif32
board = heltec_wifi_lora_32_V2
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_heltec_wifi_lora_32_v2.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
-D USE_DISPLAY
[env:heltec_wifi_lora_32]
; Heltec WiFi LoRa 32 version 1.3 (ESP32).
; Onboard OLED display SSD1306 0.96" 128x64.
platform = espressif32
board = heltec_wifi_lora_32
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_heltec_wifi_lora_32.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
-D USE_DISPLAY
[env:heltec_wireless_stick_lite]
; Heltec Wireless Stick Lite (ESP32).
; No display.
platform = espressif32
board = heltec_wireless_stick_lite
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_heltec_wireless_stick_lite.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:heltec_wireless_stick]
; Heltec Wireless Stick (ESP32).
; Onboard OLED display SSD1306 0.49" 64x32.
; Display is not supported by LMIC-node because its resolution is too low.
platform = espressif32
board = heltec_wireless_stick
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_heltec_wireless_stick.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; NOT SUPPORTED
[env:lopy4]
; Pycom LoPy4 (ESP32).
; Onboard WS2812 RGB LED is currently not supported by LMIC-node.
; No display.
; Requires a Pycom Expansion Board or USB to Serial adapter.
; See Board Support File for details.
platform = espressif32
board = lopy4
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_lopy4.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
; -D USE_LED ; CURRENTLY NOT SUPPORTED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:lora32u4II]
; BSFrance LoRa32u4 II V1.0, V1.1, V1.2, V1.3 (ATmega32u4).
; No display.
; Board versions V1.0 to V1.2 require manual wiring of DIO1 to GPIO5.
; 8-bit AVR MCU with limited memory, therefore Classic LMIC is used.
; See limitations described in the [classic_lmic] section.
platform = atmelavr
board = lora32u4II
framework = arduino
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${classic_lmic.lib_deps} ; [Deprecated] IBM LMIC Framework
build_flags =
${common.build_flags}
${classic_lmic.build_flags} ; [Deprecated] IBM LMIC Framework
-D BSFILE=\"boards/bsf_lora32u4II.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:ttgo_lora32_v1]
; TTGO LoRa32 v1.3 (ESP32)
; No onboard user LED.
; Onboard OLED display SSD1306 0.96" 128x64.
platform = espressif32
board = ttgo-lora32-v1
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_ttgo_lora32_v1.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
; -D USE_LED ; NO ONBOARD USER LED
-D USE_DISPLAY
[env:ttgo_lora32_v2]
; TTGO LoRa32 v2.0 (ESP32).
; Onboard OLED display SSD1306 0.96" 128x64.
; Requires manual wiring of DIO1 to GPIO33.
; GPIO22 is used for both onboard LED and I2C SCL
; therefore USE_LED and USE_DISPLAY cannot be used together.
platform = espressif32
board = ttgo-lora32-v2
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_ttgo_lora32_v2.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
; -D USE_LED ; Cannot be used together with USE_DISPLAY
-D USE_DISPLAY ; Cannot be used together with USE_LED
[env:ttgo_lora32_v21]
; TTGO LoRa32 v2.1.6 (ESP32).
; Onboard OLED display SSD1306 0.96" 128x64.
platform = espressif32
board = ttgo-lora32-v21
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_ttgo_lora32_v21.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
-D USE_DISPLAY
[env:ttgo_t_beam]
; TTGO T-Beam (aka T22) V0.5, V0.6, V0.7 (ESP32).
; No display.
platform = espressif32
board = ttgo-t-beam
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_ttgo_t_beam.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:ttgo_t_beam_v1]
; TTGO T-Beam (aka T22) V1.0, V1.1 (ESP32).
; No onboard user LED. No display.
; Requires additional library and setup for AXP192 power management chip.
platform = espressif32
board = ttgo-t-beam
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
lewisxhe/AXP202X_Library ; Power management chip library
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_ttgo_t_beam_v1.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
; -D USE_LED ; NO ONBOARD USER LED
; -D USE_DISPLAY ; Requires external I2C OLED display
; ------------------------------------------------------------------------------
; | Development boards that require an external SPI LoRa module |
; | |
; | None of these boards have an onboard display. |
; | Check the Board Support Files in the boards folder for required wiring!! |
; ------------------------------------------------------------------------------
[env:adafruit_qt_py_m0]
; Adafruit QT Py (SAMD21).
; Onboard Neopixel RGB LED is currently not supported by LMIC-node.
; No display.
platform = atmelsam
board = adafruit_qt_py_m0
framework = arduino
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_adafruit_qt_py_m0.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D _GNU_SOURCE
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
; -D USE_LED ; CURRENTLY NOT SUPPORTED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:blackpill_f103c8_128k]
; Blackill F103C8 128k (STMF103C8T6).
; No display.
; Select preferred upload protocol below.
platform = ststm32
board = blackpill_f103c8_128
framework = arduino
; upload_protocol = serial
upload_protocol = stlink
; upload_protocol = jlink
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_blackpill_f103c8.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D _GNU_SOURCE
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:blackpill_f103c8]
; Blackpill F103C8 (64k) (STMF103C8T6).
; No display.
; Select preferred upload protocol below.
platform = ststm32
board = blackpill_f103c8
framework = arduino
; upload_protocol = serial
upload_protocol = stlink
; upload_protocol = jlink
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_blackpill_f103c8.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D _GNU_SOURCE
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:bluepill_f103c8_128k]
; Bluepill F103C8 128k (STMF103C8T6).
; No display.
; Select preferred upload protocol below.
platform = ststm32
board = bluepill_f103c8_128k
framework = arduino
; upload_protocol = serial
upload_protocol = stlink
; upload_protocol = jlink
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_bluepill_f103c8.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D _GNU_SOURCE
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:bluepill_f103c8]
; Bluepill F103C8 (64k) (STMF103C8T6).
; No display.
; Select preferred upload protocol below.
platform = ststm32
board = bluepill_f103c8
framework = arduino
; upload_protocol = serial
upload_protocol = stlink
; upload_protocol = jlink
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_bluepill_f103c8.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D _GNU_SOURCE
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:lolin_d32_pro]
; Wemos Lolin D32 Pro (ESP32).
; No display.
platform = espressif32
board = lolin_d32_pro
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_lolin_d32_pro.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:lolin_d32]
; Wemos Lolin D32 (ESP32).
; No display.
platform = espressif32
board = lolin_d32
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_lolin_d32.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:lolin32]
; Wemos Lolin32 (ESP32).
; No display.
platform = espressif32
board = lolin32
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_lolin32.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:nodemcu_32s]
; NodeMCU-32S (ESP32).
; No display.
platform = espressif32
board = nodemcu-32s
framework = arduino
upload_speed = 921600
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_nodemcu_32s.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:nodemcuv2]
; NodeMCU V2 (aka NodeMCU 1.0) (ESP8266).
; No display.
; Monitor speed is set to 74880 to be able to read ESP8266 boot messages.
; I2C and external OLED display cannot be used due to shortage of GPIO pins.
platform = espressif8266
board = nodemcuv2
framework = arduino
upload_speed = 921600
monitor_speed = 74880 ; 74880 so we can read ESP8266 boot messages
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_nodemcuv2.h\"
-D MONITOR_SPEED=${env:nodemcuv2.monitor_speed}
-D _GNU_SOURCE
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; NOT SUPPORTED
[env:pico]
; Raspberry Pi Pico (RP2040).
; No display.
;
; IMPORTANT information for firmware upload:
; ------------------------------------------
; Device must be in BOOTSEL mode to upload firmware.
; (To put in BOOTSEL mode: press BOOTSEL button, power on or reset board, release BOOTSEL button.)
; For Windows specify: upload_protocol = picotool (appears not needed for Mac and Linux).
; upload_port is operating system and hardware dependent.
; For convenience, to set upload_port: set upload_port in [pico] section (on top).
; Examples:
; Windows: upload_port = E:
; Mac: upload_port = /Volumes/RPI-RP2
; Linux: upload_port = /media/<user>/RSPI-RP2
; On Windows USB driver for Pico [RP2 Boot (interface 1)] needs be installed with Zadig,
; see: https://community.platformio.org/t/official-platformio-arduino-ide-support-for-the-raspberry-pi-pico-is-now-available/20792
;
platform = raspberrypi
framework = arduino
board = pico
upload_protocol = picotool
upload_port = ${pico.upload_port} ; Operating system and hardware dependent
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_pico.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D _GNU_SOURCE
-D LMIC_PRINTF_TO=SerialUSB
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:pro8mhzatmega328]
; Arduino Pro Mini 8 MHz (ATmega328).
; Onboard LED not usable because GPIO13 is used for both onboard LED and SPI SCK.
; No display.
; 8-bit AVR MCU with limited memory, therefore Classic LMIC is used.
; See limitations described in the [classic_lmic] section.
platform = atmelavr
board = pro8MHzatmega328
framework = arduino
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${classic_lmic.lib_deps} ; [Deprecated] IBM LMIC Framework
build_flags =
${common.build_flags}
${classic_lmic.build_flags} ; [Deprecated] IBM LMIC Framework
-D BSFILE=\"boards/bsf_pro8mhzatmega328.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D USE_SERIAL
; -D USE_LED ; NOT SUPPORTED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:samd21_m0_mini]
; SAMD21 M0-Mini (SAMD21).
; No display.
platform = atmelsam
board = zeroUSB
framework = arduino
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_samd21_m0_mini.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D _GNU_SOURCE
-D LMIC_PRINTF_TO=SerialUSB
-D USE_SERIAL
; -D USE_LED ; NOT SUPPORTED
; -D USE_DISPLAY ; Requires external I2C OLED display
[env:teensylc]
; Teensy LC (NXP MKL26Z64VFT4).
; No display.
platform = teensy
board = teensylc
framework = arduino
monitor_speed = ${common.monitor_speed}
lib_deps =
${common.lib_deps}
${mcci_lmic.lib_deps}
build_flags =
${common.build_flags}
${mcci_lmic.build_flags}
-D BSFILE=\"boards/bsf_teensylc.h\"
-D MONITOR_SPEED=${common.monitor_speed}
-D _GNU_SOURCE
-D LMIC_PRINTF_TO=Serial
-D USE_SERIAL
-D USE_LED
; -D USE_DISPLAY ; Requires external I2C OLED display
; end of file