; 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:nilsdriverv1]
platform = espressif32
framework = arduino
# platform = https://github.com/cziter15/platform-espressif32.git#68ad40f6df654fe4b8d0a50982b810df5b49b677
# platform = https://github.com/cziter15/platform-espressif32.git
#platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.10.10/platform-espressif32.zip

; Flash: 4MB QD, PSRAM: 8MB OT
board = esp32-s3-devkitc-1
board_build.arduino.memory_type = qio_opi
board_build.flash_mode = qio
board_build.psram_type = opi
board_upload.flash_size = 4MB
board_upload.maximum_size = 4194304
board_build.partitions = default.csv
board_build.extra_flags = 
  -DBOARD_HAS_PSRAM

upload_protocol = esptool
upload_port = /dev/ttyACM*
# board_build.mcu = esp32s3
lib_archive = false
# ;platform_packages = espressif/toolchain-xtensa-esp32@8.4.0+2021r2-patch5
monitor_speed = 115200

;build_type = debug
monitor_filters = esp32_exception_decoder

lib_deps =
	https://github.com/schnilz/Arduino-FOC.git#dev
	https://github.com/schnilz/Arduino-FOC-drivers.git#absinc
	; https://github.com/handmade0octopus/ESP32-TWAI-CAN
	https://github.com/tdk-invn-oss/motion.arduino.ICM42670P
;	https://github.com/simplefoc/Arduino-FOC-dcmotor.git
;	https://github.com/eric-wieser/packet-io.git
;	https://git.nilsschulte.de/nils/simplesync.git
;	https://github.com/Tinyu-Zhao/INA3221.git
    https://github.com/OpenCyphal/public_regulated_data_types#f9f6790
	;https://github.com/OpenCyphal/nunavut.git#11785de
	https://github.com/pavel-kirienko/o1heap.git#bd93277
	;https://github.com/MajenkoLibraries/SoftSPI

build_flags = 
  -DRADIOLIB_EEPROM_UNSUPPORTED
  -I".pio/build/nilsdriverv1/nunavut/generated-src"
  -I"lib/libcanard/libcanard"
  -DARDUINO_LOOP_STACK_SIZE=65536
  -O3

; -DARDUINO_USB_MODE
;-DSIMPLEFOC_ESP32_USELEDC

extra_scripts = platformio-nunavut.py
; nnvg --target-language c --enable-serialization-asserts  --lookup-dir uavcan 
custom_dsdl_folders = 
	public_regulated_data_types/reg
