; 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]
description = Spot Micro Robot
data_dir = data
extra_configs = 
	factory_settings.ini
	features.ini
	build_settings.ini
build_cache_dir = .pio/build_cache
default_envs = esp32-camera

; ================================================================
; Project environments

[env:esp32-camera]
board = esp32cam
board_build.partitions = min_spiffs.csv
monitor_rts = 0
monitor_dtr = 0
build_flags=
    ${env.build_flags}
	-D FT_CAMERA=1
	-D CAMERA_MODEL_AI_THINKER=1
	-D SDA_PIN=14
	-D SCL_PIN=15

[env:esp32-wroom-camera]
board = esp32-s3-devkitc-1
board_build.arduino.memory_type = qio_opi 
board_build.partitions = default_16MB.csv
board_upload.flash_size = 16MB
upload_speed = 1000000
build_flags =
	${env.build_flags}
	-D FT_CAMERA=1
	-D CAMERA_MODEL_ESP32S3_EYE=1
	-D WS2812_PIN=48
	-D SDA_PIN=47
	-D SCL_PIN=21

[env:esp32dev]
board = esp32dev
board_build.partitions = min_spiffs.csv
build_flags =
    ${env.build_flags}


; ================================================================
; General environment section

[env]
platform = espressif32 @ 6.6.0
framework = arduino
monitor_speed = 115200
monitor_filters = 
	esp32_exception_decoder
	default
	colorize
build_flags = 
	${factory_settings.build_flags}
    ${features.build_flags}
	${build_settings.build_flags}
	-D CORE_DEBUG_LEVEL=4
	-D register=
	-std=gnu++17
build_unflags = -std=gnu++11
build_src_flags = 
	-Wformat=2
	-Wformat-truncation
	-Wstack-usage=4096
test_ignore = test_embedded
board_build.filesystem = littlefs
lib_deps = 
	ArduinoJson@>=7.0.0
	teckel12/NewPing@^1.9.7
	jrowberg/I2Cdevlib-MPU6050@^1.0.0
	adafruit/Adafruit SSD1306@^2.5.7
	adafruit/Adafruit GFX Library@^1.11.5
	adafruit/Adafruit BusIO@^1.9.3
	adafruit/Adafruit PWM Servo Driver Library@^2.4.1
	adafruit/Adafruit ST7735 and ST7789 Library@^1.10.4
	fastled/FastLED@^3.7.0
	adafruit/Adafruit ADS1X15@^2.5.0
    SPI
extra_scripts = 
	pre:scripts/pre_build.py
    pre:scripts/build_app.py
    pre:scripts/generate_cert_bundle.py
    scripts/rename_fw.py
board_build.embed_files = src/certs/x509_crt_bundle.bin	
board_ssl_cert_source = adafruit
lib_compat_mode = strict