; 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]
src_dir = lighthub
default_envs = 
;   ****** UNCOMMENT single environment name for target platform below *******

; Arduino Mega compact build + Ethernet shield Wiznet 5X00, 1-wire, thermostates.
; Without DMX, Wiznet  network driver
;    mega2560slim

; Another Arduino Mega compact build without 1-wire, DMX, but with OTA
; OPTIBOOT bootloader required! https://github.com/MCUdude/MegaCore
; universal Wiznet network driver
;    mega2560-optiboot

; Arduino Mega + Ethernet shield Wiznet 5100
;    mega2560-5100
	
; Arduino Mega  + Ethernet shield Wiznet 5500
;    mega2560-5500

; LightHub controller HW revision 2.1 and above (Wiznet 5500 CS on pin 53)
;	lighthub21

; Generic DUE (working with Wiznet 5X00 network)
;    due

; ESP 8266
;    esp8266-wifi

; ESP-32
;    esp32-wifi

; M5Stack core (ESP32 based)
;    m5stack

; Controllino
;    controllino

; STM32 board + ENC28j60 network
;    stm32-enc2860

; STM32 board (olmexino) with WIZNET 5X00 network
;    stm32

; NRF52 board + Wiznet 5x00 network
;   nrf52840

;build_dir = /tmp/pioenvs
;libdeps_dir = /tmp/piolibdeps
[env:nrf52840]
platform = nordicnrf52
board = nrf52840_dk
monitor_speed = 115200
;board_build.variant = breakout
;upload_protocol = mbed
;upload_port = /dev/cu.SLAB_USBtoUART
framework = arduino
build_flags = !python get_build_flags.py nrf52840
lib_ignore = 
    ;DS2482_OneWire   //UNCOMMENT for software 1-wire driver
	ESP_EEPROM
	DmxSimple
	DMXSerial
	DmxDue
	EEPROM
	SD
	SdFat
	WifiManager
	Ethernet2
	Ethernet3
	Ethernet5100
	httpClient
	FastLED
	ESPDMX
	ESP-Dmx
	DueFlashStorage
	PrintEx
	DHT sensor library for ESPx
	WebServer
	UIPEthernet
	ClosedCube HDC1080
	SparkFun CCS811 Arduino Library
	ESP8266HTTPClient
	M5Stack
    ;ArduinoOTA

lib_deps = 
	https://github.com/anklimov/Arduino-Temperature-Control-Library.git
	https://github.com/anklimov/DS2482_OneWire
	https://github.com/anklimov/Ethernet
	ArduinoHttpClient
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
	https://github.com/anklimov/ModbusMaster
	https://github.com/anklimov/pubsubclient.git
;    https://github.com/anklimov/Artnet.git
;    FastLED@3.3.2
	Adafruit Unified Sensor
	DHT sensor library
	Streaming
	https://github.com/anklimov/NRFFlashStorage
	https://github.com/adafruit/Adafruit_NeoPixel.git
	https://github.com/anklimov/ArduinoOTA
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	https://github.com/arcao/Syslog.git
	br3ttb/PID@^1.2.1
	TimerInterrupt_Generic
	d00616/arduino-NVM @ ^0.9.1



[env:m5stack]
platform = espressif32
board = m5stack-core-esp32
extra_scripts = extra_script.py

;Comment next 2 lines to disable OTA and allow USB uploading, uncomment for OTA 
;upload_protocol = custom
;upload_command = arduinoOTA -address 192.168.1.17 -port 80 -username arduino -password password -b -upload /sketch -sketch $SOURCE ;sleep 6

;Alternatively, use OTA script for target ota (pio -t ota). Place appropriate script to custom-build-flags/ to allow OTA by one click
_upload_command = custom-build-flags/upload_m5stack $SOURCE

framework = arduino
upload_speed = 921600
build_flags = !python get_build_flags.py m5stack
lib_ignore = 
    ;DS2482_OneWire   //UNCOMMENT for software 1-wire driver
	DmxSimple
	DMXSerial
	DmxDue
	DueFlashStorage
	;SD
	SdFat
	Ethernet
	Ethernet2
	Ethernet3
	Ethernet5100
	ESP_EEPROM
	;EEPROM
	Artnet
	UIPEthernet
	ESP_EEPROM
	httpClient
	HttpClient_ID66
	HttpClient
	ArduinoHttpClient
lib_deps = 
	;https://github.com/ebenolson/WIFIMANAGER-ESP32.git
	;https://github.com/zhouhan0126/WebServer-esp32.git
	https://github.com/tzapu/WiFiManager
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
	https://github.com/anklimov/pubsubclient.git
	Streaming
    ;ESP_EEPROM
	;https://github.com/anklimov/NRFFlashStorage
	Adafruit Unified Sensor
	DHT sensor library for ESPx
	https://github.com/anklimov/Artnet.git
	https://github.com/anklimov/ModbusMaster
	https://github.com/anklimov/Arduino-Temperature-Control-Library.git
	https://github.com/anklimov/DS2482_OneWire
	https://github.com/anklimov/ESP-Dmx
	FastLED@3.3.2
	ClosedCube HDC1080
    ;SparkFun CCS811 Arduino Library
	SparkFun CCS811 Arduino Library@~1.0.7
	M5Stack
	Adafruit NeoPixel
	https://github.com/anklimov/ArduinoOTA
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	https://github.com/arcao/Syslog.git
	br3ttb/PID@^1.2.1
	;ArduinoMDNS
	https://github.com/khoih-prog/TimerInterrupt_Generic.git

monitor_speed = 115200

[env:esp32-wifi]
platform = espressif32
framework = arduino
monitor_filters = esp32_exception_decoder
;build_type = debug
board = esp32-evb
extra_scripts = extra_script.py
monitor_speed = 115200

;Comment next 2 lines to disable OTA and allow USB uploading, uncomment for OTA 
;upload_protocol = custom
;upload_command = arduinoOTA -address 192.168.1.17 -port 80 -username arduino -password password -b -upload /sketch -sketch $SOURCE ;sleep 6

;Alternatively, use OTA script for target ota (pio -t ota). Place appropriate script to custom-build-flags/ to allow OTA by one click
_upload_command = custom-build-flags/upload_esp32-wifi $SOURCE


build_flags = !python get_build_flags.py esp32-wifi
lib_ignore = 
    ;COMMENT/UNCOMMENT next line for software 1-wire driver on/off
    ;DS2482_OneWire
	DmxSimple
	DMXSerial
	DmxDue
	DueFlashStorage
	SD
	SdFat
	Ethernet
	Ethernet2
	Ethernet3
	Ethernet5100
	;EEPROM
	ESP_EEPROM
	UIPEthernet
	ESP_EEPROM
	httpClient
	HttpClient_ID66
	HttpClient
	ArduinoHttpClient
	M5Stack
lib_deps = 
	;https://github.com/ebenolson/WIFIMANAGER-ESP32.git
	https://github.com/tzapu/WiFiManager
	;https://github.com/zhouhan0126/WebServer-esp32.git
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
	https://github.com/anklimov/pubsubclient.git
	Streaming
    ;EEPROM
	;https://github.com/anklimov/NRFFlashStorage
	Adafruit Unified Sensor
	DHT sensor library for ESPx
	https://github.com/anklimov/Artnet.git
	https://github.com/anklimov/ModbusMaster
	https://github.com/anklimov/Arduino-Temperature-Control-Library.git
	https://github.com/anklimov/DS2482_OneWire
	https://github.com/anklimov/ESP-Dmx
	FastLED@3.3.2
	ClosedCube HDC1080
	SparkFun CCS811 Arduino Library@~1.0.7
	Adafruit NeoPixel
    https://github.com/anklimov/ArduinoOTA
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	https://github.com/arcao/Syslog.git
	br3ttb/PID@^1.2.1
	;ArduinoMDNS
	;ESPmDNS
	https://github.com/khoih-prog/TimerInterrupt_Generic.git
    https://github.com/anklimov/arduino-CAN.git

[env:due]
;Experimental target with universal Ethernet Library
platform = atmelsam
framework = arduino
board = due
extra_scripts = extra_script.py
build_flags = !python get_build_flags.py due
; Need to place arduinoOTA utility from Arduino IDE distribution to folder in your PATH
;fix address and password


;Comment next 2 lines to disable OTA and allow USB uploading, uncomment for OTA 
;upload_protocol = custom
;upload_command = arduinoOTA -address 192.168.1.17 -port 80 -username arduino -password password -b -upload /sketch -sketch $SOURCE ;sleep 6

;Alternatively, use OTA script for target ota (pio -t ota). Place appropriate script to custom-build-flags/ to allow OTA by one click
_upload_command = custom-build-flags/upload_due $SOURCE

lib_ignore = 
    ;DS2482_OneWire   //UNCOMMENT for software 1-wire driver
	DHT sensor library for ESPx
	ESP_EEPROM
	DMXSerial
	DmxSimple
	httpClient
	ESPDMX
	ESP-Dmx
	WifiManager
	Ethernet3
	Ethernet2
	Ethernet5100
	NRFFlashStorage
	WebServer
	UIPEthernet
	EEPROM
	M5Stack
    ;ArduinoOTA
lib_deps = 
	https://github.com/sebnil/DueFlashStorage
	https://github.com/anklimov/Arduino-Temperature-Control-Library.git
	https://github.com/anklimov/DS2482_OneWire
	https://github.com/anklimov/DmxDue
	ArduinoHttpClient
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
	https://github.com/anklimov/ModbusMaster
	https://github.com/anklimov/Ethernet.git
	https://github.com/anklimov/pubsubclient.git
	https://github.com/anklimov/Artnet.git
	FastLED@3.3.2
	SD
	SdFat
	Adafruit Unified Sensor
	DHT sensor library
	https://github.com/arcao/Syslog.git
	Streaming
	ClosedCube HDC1080
	SparkFun CCS811 Arduino Library@~1.0.7
	Adafruit NeoPixel
	https://github.com/anklimov/ArduinoOTA
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	br3ttb/PID@^1.2.1
	ArduinoMDNS
	https://github.com/khoih-prog/TimerInterrupt_Generic.git
	rweather/Crypto
	collin80/can_common
    collin80/due_can
monitor_speed = 115200

[env:mega2560slim]
platform = atmelavr
board = megaatmega2560
upload_port = net:192.168.88.2:23000
_upload_command = custom-build-flags/upload_mega2560slim $SOURCE
framework = arduino
build_flags = !python get_build_flags.py mega2560slim
extra_scripts = post:toBin.py
lib_ignore = 
    ;DS2482_OneWire   //UNCOMMENT for software 1-wire driver
	DHT sensor library for ESPx
	DmxDue
	DueFlashStorage
	WifiManager
	Ethernet3
	Ethernet2
	NRFFlashStorage
	WebServer
	UIPEthernet
	ESP_EEPROM
	M5Stack
	FastLED
	Artnet
	DMXSerial
	Adafruit NeoPixel
	DmxSimple
	ModbusMaster
	ClosedCube HDC1080
	SparkFun CCS811 Arduino Library
	;Adafruit BusIO
	;Adafruit MCP23017 Arduino Library
	;Adafruit Unified Sensor
lib_deps = 
	https://github.com/anklimov/Arduino-Temperature-Control-Library.git
	https://github.com/anklimov/DS2482_OneWire
	;https://github.com/anklimov/DmxSimple
	https://github.com/anklimov/httpClient
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
	;https://github.com/anklimov/ModbusMaster
	;https://github.com/anklimov/DMXSerial
	;https://github.com/anklimov/Ethernet5100
    ;5100 lib have ~90 bytes less footprint of RAM
	https://github.com/anklimov/Ethernet.git
	https://github.com/anklimov/pubsubclient.git
	;https://github.com/anklimov/Artnet.git
	;FastLED@3.3.2
	Adafruit Unified Sensor
	DHT sensor library
	https://github.com/arcao/Syslog.git
	Streaming
	;;ClosedCube HDC1080
	;;SparkFun CCS811 Arduino Library@~1.0.7
	;Adafruit NeoPixel
	https://github.com/anklimov/ArduinoOTA
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	br3ttb/PID@^1.2.1
	ArduinoMDNS
	;https://github.com/khoih-prog/TimerInterrupt_Generic.git

monitor_speed = 115200


[env:mega2560-optiboot]
platform = atmelavr
;For OTA programming - generating bin image
extra_scripts = 
		post:toBin.py
		extra_script.py
		
;OptiBoot setting
board = ATmega2560
;was megaatmega2560 for conventional bootloader
; Clock frequency in [Hz]
board_build.f_cpu = 16000000L

; BUILD OPTIONS
; Comment out to enable LTO (this line unflags it)
;build_unflags = -flto -  not working without LTO!

;Comment next 2 lines to disable OTA and allow USB uploading, uncomment for OTA 
;upload_protocol = custom
;upload_command = arduinoOTA -address 192.168.1.17 -port 80 -username arduino -password password -b -upload /sketch -sketch $SOURCE ;sleep 6

;Alternatively, use OTA script for target ota (pio -t ota). Place appropriate script to custom-build-flags/ to allow OTA by one click
_upload_command = custom-build-flags/upload_mega2560-optiboot $SOURCE


board_upload.speed = ${env:fuses_bootloader.board_bootloader.speed}
framework = arduino
build_flags = !python get_build_flags.py mega2560-optiboot
lib_ignore = 
    ;DS2482_OneWire   //UNCOMMENT for software 1-wire driver
	DHT sensor library for ESPx
	DmxDue
	DueFlashStorage
	WifiManager
	Ethernet3
	Ethernet2
	NRFFlashStorage
	WebServer
	UIPEthernet
	ESP_EEPROM
	M5Stack
lib_deps = 
	https://github.com/anklimov/Arduino-Temperature-Control-Library.git
	https://github.com/anklimov/DS2482_OneWire
	https://github.com/anklimov/DmxSimple
	https://github.com/anklimov/httpClient
	;ArduinoHttpClient
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
	https://github.com/anklimov/ModbusMaster
	https://github.com/anklimov/DMXSerial
	;https://github.com/anklimov/Ethernet5100
    ;5100 lib have ~90 bytes less footprint of RAM
	https://github.com/anklimov/Ethernet.git
	https://github.com/anklimov/pubsubclient.git
	;https://github.com/anklimov/Artnet.git
	FastLED@3.3.2
	Adafruit Unified Sensor
	DHT sensor library
	https://github.com/arcao/Syslog.git
	Streaming
	ClosedCube HDC1080
	SparkFun CCS811 Arduino Library@~1.0.7
	Adafruit NeoPixel
	https://github.com/anklimov/ArduinoOTA
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	br3ttb/PID@^1.2.1
	ArduinoMDNS
	https://github.com/khoih-prog/TimerInterrupt_Generic.git
	rweather/Crypto

monitor_speed = 115200


[env:mega2560-5500]
platform = atmelavr
board = megaatmega2560
monitor_speed = 115200
framework = arduino
build_flags = !python get_build_flags.py mega2560-5500
lib_ignore = 
        ;DS2482_OneWire   //UNCOMMENT for software 1-wire driver
	DHT sensor library for ESPx
	DmxDue
	DueFlashStorage
	WifiManager
	Ethernet
	Ethernet3
	Ethernet5100
	HTTPClient
	NRFFlashStorage
	WebServer
	UIPEthernet
	ESP_EEPROM
	M5Stack
lib_deps = 
	https://github.com/anklimov/Arduino-Temperature-Control-Library.git
	https://github.com/anklimov/DS2482_OneWire
	https://github.com/anklimov/DmxSimple
	https://github.com/anklimov/httpClient
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
	https://github.com/anklimov/ModbusMaster
	https://github.com/anklimov/DMXSerial
	https://github.com/anklimov/Ethernet2
	https://github.com/anklimov/pubsubclient.git
	https://github.com/anklimov/Artnet.git
	FastLED@3.3.2
	Adafruit Unified Sensor
	DHT sensor library
	https://github.com/arcao/Syslog.git
	Streaming
	ClosedCube HDC1080
	SparkFun CCS811 Arduino Library@~1.0.7
	Adafruit NeoPixel
	https://github.com/anklimov/ArduinoOTA
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	br3ttb/PID@^1.2.1
	ArduinoMDNS
	https://github.com/khoih-prog/TimerInterrupt_Generic.git



[env:esp8266-wifi]
platform = espressif8266
framework = arduino
;board = nodemcuv2
;esp12e             ESP8266  80MHz        4MB      80KB   Espressif ESP8266 ESP-12E
;esp01_1m           ESP8266  80MHz        1MB      80KB   Espressif Generic ESP8266 ESP-01 1M
extra_scripts = extra_script.py

;;;; 1M plug ;;;
;board = esp01_1m
;board_build.ldscript = eagle.flash.1m64.ld
;;;;;;;;;;;;;;;;;;;

;;;; WEMOS D1 ;;;;;
board = d1_mini
; change microcontroller
board_build.mcu = esp8266
; change MCU frequency
board_build.f_cpu = 80000000L
upload_protocol = esptool
;;;;;;;;;;;;;;;;;;;

;build_type = debug
;monitor_filters = esp8266_exception_decoder

;upload_protocol = espota
;upload_port = Lighthub.local

;upload_flags =
;  --auth=password
;  --port=65280

;Comment next 2 lines to disable OTA and allow USB uploading, uncomment for OTA 
;upload_protocol = custom
;upload_command = arduinoOTA -address 192.168.1.17 -port 80 -username arduino -password password -b -upload /sketch -sketch $SOURCE ;sleep 6

;Alternatively, use OTA script for target ota (pio -t ota). Place appropriate script to custom-build-flags/ to allow OTA by one click
_upload_command = custom-build-flags/upload_esp8266-wifi.bat $SOURCE

build_flags = !python get_build_flags.py esp8266-wifi

lib_ignore = 
    ;COMMENT/UNCOMMENT next line for software 1-wire driver  on/off
	DS2482_OneWire
	DmxSimple
	DMXSerial
	DmxDue
	DueFlashStorage
	SD
	SdFat
	;httpClient
	;HTTPClient
	;HttpClient_ID66
	;HttpClient
	;ArduinoHttpClient
	Ethernet3
	Ethernet2
	Ethernet5100
	Ethernet
	NRFFlashStorage
	UIPEthernet
	EEPROM
	M5Stack
	https://github.com/khoih-prog/TimerInterrupt_Generic.git

lib_deps = 
	https://github.com/anklimov/Arduino-Temperature-Control-Library.git
    ;COMMENT/UNCOMMENT next line for software 1-wire driver  on/off
    ;https://github.com/anklimov/DS2482_OneWire
	https://github.com/anklimov/ESP-Dmx
	;ESP8266HTTPClient
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
	https://github.com/anklimov/ModbusMaster
	https://github.com/anklimov/pubsubclient.git
	https://github.com/anklimov/Artnet.git
	https://github.com/FastLED/FastLED.git
	Adafruit Unified Sensor
	DHT sensor library for ESPx
	DHT sensor library
	WifiManager
	https://github.com/arcao/Syslog.git
	Streaming
	ESP_EEPROM
	ClosedCube HDC1080
	SparkFun CCS811 Arduino Library@~1.0.7
	Adafruit NeoPixel
	https://github.com/anklimov/ArduinoOTA.git
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	br3ttb/PID@^1.2.1
	;ArduinoMDNS
	;MDNS
	ESP8266mDNS
monitor_speed = 115200

[env:mega2560-5100]
platform = atmelavr
board = megaatmega2560
extra_scripts = extra_script.py
framework = arduino
;upload_port = net:192.168.88.2:23000
build_flags = !python get_build_flags.py mega2560-5100
_upload_command = custom-build-flags/upload_mega2560-5100 $SOURCE
lib_ignore = 
    ;DS2482_OneWire   //UNCOMMENT for software 1-wire driver
	DHT sensor library for ESPx
	DmxDue
	DueFlashStorage
	ESPDMX
	ESP-Dmx
	WifiManager
	Ethernet3
	Ethernet2
	Ethernet
	NRFFlashStorage
	WebServer
	UIPEthernet
	ESP_EEPROM
	M5Stack
lib_deps = 
	https://github.com/anklimov/Arduino-Temperature-Control-Library.git
	https://github.com/anklimov/DS2482_OneWire
	https://github.com/anklimov/DmxSimple
	https://github.com/anklimov/httpClient
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
	https://github.com/anklimov/ModbusMaster
	https://github.com/anklimov/DMXSerial
	https://github.com/anklimov/Ethernet5100
	https://github.com/anklimov/pubsubclient.git
	https://github.com/anklimov/Artnet.git
	FastLED@3.3.2
	Adafruit Unified Sensor
	DHT sensor library
	https://github.com/arcao/Syslog.git
	Streaming
	ClosedCube HDC1080
	SparkFun CCS811 Arduino Library@~1.0.7
	Adafruit NeoPixel
	https://github.com/anklimov/ArduinoOTA
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	br3ttb/PID@^1.2.1
	ArduinoMDNS
	https://github.com/khoih-prog/TimerInterrupt_Generic.git

monitor_speed = 115200


[env:lighthub21]
platform = atmelsam
framework = arduino
board = due
extra_scripts = extra_script.py
build_flags = !python get_build_flags.py lighthub21

;Comment next 2 lines to disable OTA and allow USB uploading, uncomment for OTA 
;upload_protocol = custom
;upload_command = arduinoOTA -address 192.168.1.17 -port 80 -username arduino -password password -b -upload /sketch -sketch $SOURCE ;sleep 6

;Alternatively, use OTA script for target ota (pio -t ota). Place appropriate script to custom-build-flags/ to allow OTA by one click
_upload_command = custom-build-flags/upload_lighthub21 $SOURCE


lib_ignore = 
       ;DS2482_OneWire   //UNCOMMENT for software 1-wire driver
	DHT sensor library for ESPx
	ESPDMX
	ESP-Dmx
	DMXSerial
	WifiManager
	DmxSimple
	httpClient
	Ethernet2
	Ethernet3
	Ethernet5100
	NRFFlashStorage
	WebServer
	UIPEthernet
	ESP_EEPROM
	EEPROM
	M5Stack
lib_deps = 
	https://github.com/sebnil/DueFlashStorage
	https://github.com/anklimov/Arduino-Temperature-Control-Library.git
	https://github.com/anklimov/DS2482_OneWire
	https://github.com/anklimov/DmxDue
	ArduinoHttpClient
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
	https://github.com/anklimov/ModbusMaster
	https://github.com/anklimov/Ethernet
	https://github.com/anklimov/pubsubclient.git
	https://github.com/anklimov/Artnet.git
	FastLED@3.3.2
	SD
	SdFat
	Adafruit Unified Sensor
	DHT sensor library
	https://github.com/arcao/Syslog.git
	Streaming
	https://github.com/livello/PrintEx#is-select-redecl
	ClosedCube HDC1080
	SparkFun CCS811 Arduino Library@~1.0.7
	Adafruit NeoPixel
	https://github.com/anklimov/ArduinoOTA
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	br3ttb/PID@^1.2.1
	ArduinoMDNS
	https://github.com/khoih-prog/TimerInterrupt_Generic.git
	https://github.com/rlogiacco/CircularBuffer
    rweather/Crypto
	https://github.com/collin80/due_can.git
	https://github.com/collin80/can_common.git
monitor_speed = 115200

[env:controllino]
platform = atmelavr
board = megaatmega2560

framework = arduino
build_flags = !python get_build_flags.py controllino
lib_ignore = 
    ;DS2482_OneWire   //UNCOMMENT for software 1-wire driver
	DHT sensor library for ESPx
	DmxDue
	DueFlashStorage
	ESPDMX
	ESP-Dmx
	WifiManager
	Ethernet3
	Ethernet2
	NRFFlashStorage
	WebServer
	UIPEthernet
	ESP_EEPROM
	M5Stack
lib_deps = 
	https://github.com/anklimov/Arduino-Temperature-Control-Library.git
	https://github.com/anklimov/DS2482_OneWire
	https://github.com/anklimov/DmxSimple
	https://github.com/anklimov/httpClient
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
	https://github.com/anklimov/ModbusMaster
	https://github.com/anklimov/DMXSerial
	https://github.com/anklimov/Ethernet5100
	https://github.com/anklimov/pubsubclient.git
	https://github.com/anklimov/Artnet.git
	FastLED@3.3.2
	Adafruit Unified Sensor
	DHT sensor library
	Streaming
	https://github.com/livello/PrintEx#is-select-redecl
	ClosedCube HDC1080
	SparkFun CCS811 Arduino Library@~1.0.7
	Adafruit NeoPixel
	https://github.com/anklimov/ArduinoOTA
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	https://github.com/arcao/Syslog.git
	br3ttb/PID@^1.2.1
	ArduinoMDNS
	https://github.com/khoih-prog/TimerInterrupt_Generic.git

monitor_speed = 115200

[env:stm32-enc2860]
platform = ststm32
framework = arduino
board = nucleo_f103rb

upload_protocol = stlink
debug_tool = stlink
build_flags = !python get_build_flags.py stm32-enc2860
lib_ignore = 
   ;DS2482_OneWire   //UNCOMMENT for software 1-wire driver
	DHT sensor library for ESPx
	DmxDue
	DueFlashStorage
	ESPDMX
	ESP-Dmx
	WifiManager
	FastLED
	Ethernet
	DMXSerial
	DmxSimple
	httpClient
	SD
	PrintEx
	Ethernet2
	Artnet
	Ethernet3
	WebServer
	ESP_EEPROM
	DHT sensor library
	DallasTemperature
	Adafruit Unified Sensor
	DS2482_OneWire
	ModbusMaster
	Syslog
	;EEPROM
	ClosedCube HDC1080
	SparkFun CCS811 Arduino Library
	M5Stack
	ArduinoOTA
lib_deps = 
    EEPROM
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
	ArduinoHttpClient
	https://github.com/anklimov/pubsubclient.git
	Streaming
	UIPEthernet
	https://github.com/anklimov/NRFFlashStorage
	Adafruit NeoPixel
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	SPI
	br3ttb/PID@^1.2.1
	ArduinoMDNS
	https://github.com/khoih-prog/TimerInterrupt_Generic.git

monitor_speed = 115200


[env:stm32]
platform = ststm32
board = genericSTM32F103RB
;olimexino
board_build.mcu = stm32f103rbt6 
;STM32Duino
;generic_stm32f103r 
;board_build.ldscript=ldscripts\stm32f103rb_bootloader.ld 
board_build.f_cpu = 72000000L
framework = arduino
;board_build.core = maple
;board_build.core = maple // STM32Duino (DEFAULT) // STM32L0
;board_build.core = stm32lo
;monitor_dtr = 1
upload_protocol = serial
;debug_tool = cmsis-dap
build_flags = !python get_build_flags.py stm32
lib_ignore = 
   ;DS2482_OneWire   //UNCOMMENT for software 1-wire driver
	DHT sensor library for ESPx
	DmxDue
	DueFlashStorage
	ESPDMX
	ESP-Dmx
	WifiManager
	FastLED
	UIPEthernet
	DMXSerial
	DmxSimple
	httpClient
	SD
	PrintEx
	Ethernet2
	Artnet
	Ethernet3
	WebServer
	ESP_EEPROM
	DHT sensor library
	DallasTemperature
	Adafruit Unified Sensor
	DS2482_OneWire
	ModbusMaster
	Syslog
	NRFFlashStorage
	ClosedCube HDC1080
	SparkFun CCS811 Arduino Library
	M5Stack
	ArduinoOTA
lib_deps = 
    EEPROM
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
	ArduinoHttpClient
	https://github.com/anklimov/pubsubclient.git
	Streaming
	Ethernet
	
	Adafruit NeoPixel
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	SPI
	br3ttb/PID@^1.2.1
	ArduinoMDNS
	https://github.com/khoih-prog/TimerInterrupt_Generic.git
	;https://github.com/anklimov/ModbusMaster

monitor_speed = 115200


[env:stm32-noip]
platform = ststm32
board = genericSTM32F103RB
;olimexino
board_build.mcu = stm32f103rbt6 
;STM32Duino
;generic_stm32f103r 
;board_build.ldscript=ldscripts\stm32f103rb_bootloader.ld 
board_build.f_cpu = 72000000L
framework = arduino
;board_build.core = maple
;board_build.core = maple // STM32Duino (DEFAULT) // STM32L0
;board_build.core = stm32lo
;monitor_dtr = 1
upload_protocol = serial
;debug_tool = cmsis-dap
build_flags = !python get_build_flags.py stm32-noip
lib_ignore = 
   ;DS2482_OneWire   //UNCOMMENT for software 1-wire driver
	DHT sensor library for ESPx
	DmxDue
	DueFlashStorage
	ESPDMX
	ESP-Dmx
	WifiManager
	FastLED
	UIPEthernet
	DMXSerial
	DmxSimple
	httpClient
	SD
	PrintEx
	Ethernet2
	Artnet
	Ethernet3
	WebServer
	ESP_EEPROM
	DHT sensor library
	DallasTemperature
	Adafruit Unified Sensor
	DS2482_OneWire
	ModbusMaster
	Syslog
	NRFFlashStorage
	ClosedCube HDC1080
	SparkFun CCS811 Arduino Library
	M5Stack
	ArduinoOTA
lib_deps = 
    EEPROM
	https://github.com/anklimov/aJson
	https://github.com/anklimov/CmdArduino
;	ArduinoHttpClient
;	https://github.com/anklimov/pubsubclient.git
	Streaming
;	Ethernet
	
	Adafruit NeoPixel
	Adafruit MCP23017 Arduino Library
	Adafruit BusIO
	SPI
	br3ttb/PID@^1.2.1
;	ArduinoMDNS
	https://github.com/khoih-prog/TimerInterrupt_Generic.git
	;https://github.com/anklimov/ModbusMaster
	pazi88/STM32_CAN
	ericksimoes/Ultrasonic

monitor_speed = 115200


; Run the following command to upload with this environment
; pio run -e Upload_ISP -t upload
[env:Upload_ISP]
platform = atmelavr
framework = arduino
; Custom upload procedure
upload_protocol = custom
; Avrdude upload flags
upload_flags =
  -C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf
  -p$BOARD_MCU
  -PUSB
  -cusbasp
; Avrdude upload command
upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i


; Run the following command to set fuses
; pio run -e fuses_bootloader -t fuses
; Run the following command to set fuses + burn bootloader
; pio run -e fuses_bootloader -t bootloader
[env:fuses_bootloader]
platform = atmelavr
framework = arduino
board_hardware.oscillator = external ; Oscillator type
board_hardware.uart = uart0          ; Set UART to use for serial upload
board_bootloader.speed = 115200      ; Set bootloader baud rate
board_hardware.bod = 2.7v            ; Set brown-out detection
board_hardware.eesave = yes          ; Preserve EEPROM when uploading using programmer
upload_protocol = usbasp             ; Use the USBasp as programmer
upload_flags =                       ; Select USB as upload port and divide the SPI clock by 8
  -PUSB
  -B8

;; End of OPTIBOOT stuff
