; Для компиляции скопируйте secrets.ini.template в secrets.ini файл

; Если у вас в Windows имя пользователя содержит кириллицу, измените home_dir
; [platformio]
; home_dir = C:\platformio

[platformio]
src_dir = src
default_envs = esp32s2
;extra_configs = secrets.ini  

[env]
firmware_version = "\"1.1.1\""

[libraries]
arduinojson = ArduinoJson@6.21.4
pubsubclient = PubSubClient@2.8
espasyncwebserver = https://github.com/waterius/ESPAsyncWebServer.git#20230926   
esp32-arduino-lib-builder = https://github.com/espressif/esp32-arduino-lib-builder.git
ada_tinyusb = adafruit/Adafruit TinyUSB Library @ ^3.3.1
hathach_tinyusb = https://github.com/hathach/tinyusb.git#0.17.0
espressif_tinyusb = https://github.com/espressif/tinyusb.git
espressif_esp_tinyusb = https://github.com/espressif/esp-usb.git
                              
[env:esp32s2]
;platform = platformio/espressif32 @ ^6.8.1
platform = https://github.com/Jason2866/platform-espressif32.git#Arduino/IDF5
framework = espidf, arduino
board = esp32-s2-saola-1

;board_build.mcu = esp32s2
;board_build.f_cpu = 240000000L

;upload_port = /dev/cu.usbmodem01
upload_speed = 921800

board_build.flash_mode = qio    ; dio если проблемы с памятью
board_build.filesystem = littlefs
board_build.partitions = partitions.csv

monitor_speed = 115200

lib_archive = no
lib_deps =
  ${libraries.pubsubclient}
  ${libraries.arduinojson}
  ESP Async WebServer
  ;${libraries.hathach_tinyusb}
  ;${libraries.espressif_tinyusb}
  ;${libraries.espressif_esp_tinyusb}
  
lib_ldf_mode = chain+

;build_unflags = -DARDUINO_USB_MODE=1
;build_unflags = -DARDUINO_USB_CDC_ON_BOOT
build_flags = 
  -DLOG_FREE_HEAP
  -DLOGLEVEL=2 ;если нужно логирование в Serial
  -DWM_DEBUG_LEVEL=DEBUG_MAX
  -DDEBUG_ESP_WIFI
  -DDEBUG_ESP_CORE
  -DBOARD_HAS_PSRAM
;  -DUSE_TINYUSB=true
;  -DCONFIG_USB_ENABLED=1
;  -DARDUINO_USB_CDC_ON_BOOT=0
;  -DARDUINO_USB_MODE=1
  -DFIRMWARE_VERSION=${this.firmware_version}

; Travis-CI
; platformio ci --project-conf=./platformio.ini -v .

; ========================================
; ESPTOOL Полезные команды python пакета esptool
; ========================================
;
; Загрузить прошивку
; -------------------
; Две команды - прошивка и файловая система
;
; platformio run --target upload --environment esp01_1m 
; platformio run --target uploadfs --environment esp01_1m
;
;
; Очистить память ESP
; -------------------
; python -m esptool --port /dev/cu.wchusbserial1420 --baud 115200 erase_flash
;
; Записать скомпилированную прошивку 
; -------------------
; python -m esptool --port /dev/cu.wchusbserial1420 --baud 115200 write_flash 0x0 esp8266.bin
;
; Просмотр стэка при падении прошивки
; -------------------
; 
; /waterius/ESP8266/.pio/build/esp01_1m/firmware.elf


;
; cp .pio/build/esp01_1m/firmware.elf ./../esp8266-1.0.1.elf
; cp .pio/build/esp01_1m/firmware.bin ./../esp8266-1.0.1.bin
; cp .pio/build/esp01_1m/littlefs.bin ./../esp8266-1.0.1-fs.bin
