; 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

[env:ATtiny3216]
platform = atmelmegaavr
board = ATtiny3216
framework = arduino

## Board Config ##
# You might want to set f_cpu to 5MHz (5000000L) to allow operation at lower Battery Voltage - Use "Burn Fuses" after changing f_cpu
# Be aware that some Functions (like WS2812B LED Support) will not work at 5 HMz
board_build.f_cpu = 20000000L 
board_hardware.oscillator = internal
board_hardware.bod = disabled

## Debug Port Config ##
monitor_speed = 115200
monitor_port = /dev/ttyACM1

## LMIC Config via Build Flags ##
build_flags =
    -D CFG_eu868
    -D CFG_sx1276_radio
    -D DISABLE_PING
    -D DISABLE_BEACONS
    -D ARDUINO_LMIC_PROJECT_CONFIG_H_SUPPRESS
    -D DISABLE_JOIN

## Programmer Config (MicroUPDI) ##
upload_port = usb
upload_protocol = xplainedmini_updi
upload_flags =
    -p$BOARD_MCU
    -P$UPLOAD_PORT
    -c$UPLOAD_PROTOCOL

lib_deps =
  mcci-catena/MCCI LoRaWAN LMIC library @ ^3.3.0
  mikalhart/TinyGPSPlus @ ^1.0.2
  olikraus/U8g2 @ ^2.28.8
  lennarthennigs/Button2 @ ^1.6.1