- Add Taskfile.yml for automated build/upload/monitor tasks - Add platformio.ini configured for ESP32-S3-DevKitC-1 with USB CDC support - Add myoptions.h with hardware configuration: * ILI9341 display (320x240, 3.2") * I2S audio pins (DOUT=16, BCLK=17, LRC=15) * Two rotary encoders * IR receiver support * Russian language mode for Polish characters support - Modify utf8Rus.cpp to support Polish characters: ąćęłńóśźż ĄĆĘŁŃÓŚŹŻ - Add CONFIG_FILES.md with WiFi and playlist configuration guide - Add KONFIGURACJA.md with complete hardware and software documentation - Update examples/myoptions.h with ILI9341 display and encoder configuration
197 lines
4.8 KiB
YAML
197 lines
4.8 KiB
YAML
version: '3'
|
|
|
|
vars:
|
|
PROJECT_DIR: '{{.TASKFILE_DIR}}/yoRadio'
|
|
PLATFORMIO_INI: '{{.PROJECT_DIR}}/platformio.ini'
|
|
|
|
tasks:
|
|
init:
|
|
desc: Inicjalizacja projektu PlatformIO
|
|
dir: '{{.PROJECT_DIR}}'
|
|
cmds:
|
|
- |
|
|
if [ ! -f platformio.ini ]; then
|
|
cat > platformio.ini << 'EOF'
|
|
[env:esp32dev]
|
|
platform = espressif32
|
|
board = esp32dev
|
|
framework = arduino
|
|
monitor_speed = 115200
|
|
upload_speed = 921600
|
|
board_build.partitions = min_spiffs.csv
|
|
board_build.flash_mode = dio
|
|
build_flags =
|
|
-DCORE_DEBUG_LEVEL=0
|
|
-DBOARD_HAS_PSRAM
|
|
lib_deps =
|
|
adafruit/Adafruit GFX Library
|
|
adafruit/Adafruit ST7735 and ST7789 Library
|
|
adafruit/Adafruit SSD1306
|
|
adafruit/Adafruit PCD8544 Nokia 5110 LCD library
|
|
adafruit/Adafruit SH110X
|
|
adafruit/Adafruit SSD1327
|
|
adafruit/Adafruit ILI9341
|
|
adafruit/Adafruit SSD1305
|
|
nkawu/TFT 22 ILI9225
|
|
mathertel/OneButton
|
|
crankyoldgit/IRremoteESP8266
|
|
paulstoffregen/XPT2046_Touchscreen
|
|
adafruit/RTClib
|
|
EOF
|
|
fi
|
|
status:
|
|
- test -f "{{.PLATFORMIO_INI}}"
|
|
|
|
build:
|
|
desc: Kompilacja projektu
|
|
dir: '{{.PROJECT_DIR}}'
|
|
deps: [init]
|
|
cmds:
|
|
- pio run
|
|
sources:
|
|
- src/**/*.cpp
|
|
- src/**/*.h
|
|
- yoRadio.ino
|
|
generates:
|
|
- .pio/build/esp32dev/firmware.bin
|
|
|
|
upload:
|
|
desc: Wgranie projektu na ESP32
|
|
dir: '{{.PROJECT_DIR}}'
|
|
deps: [init]
|
|
cmds:
|
|
- pio run --target upload
|
|
|
|
upload-port:
|
|
desc: Wgranie projektu na ESP32 (z wyborem portu)
|
|
dir: '{{.PROJECT_DIR}}'
|
|
deps: [init]
|
|
cmds:
|
|
- pio run --target upload --upload-port {{.CLI_ARGS}}
|
|
requires:
|
|
vars: [CLI_ARGS]
|
|
|
|
monitor:
|
|
desc: Monitor szeregowy
|
|
dir: '{{.PROJECT_DIR}}'
|
|
cmds:
|
|
- pio device monitor
|
|
interactive: true
|
|
|
|
clean:
|
|
desc: Czyszczenie projektu
|
|
dir: '{{.PROJECT_DIR}}'
|
|
cmds:
|
|
- pio run --target clean
|
|
- rm -rf .pio
|
|
|
|
upload-fs:
|
|
desc: Wgranie systemu plików (SPIFFS) na ESP32
|
|
dir: '{{.PROJECT_DIR}}'
|
|
deps: [init]
|
|
cmds:
|
|
- echo "Sprawdzam pliki konfiguracyjne..."
|
|
- ls -lh data/data/*.csv || echo "Brak plików CSV"
|
|
- pio run --target uploadfs
|
|
preconditions:
|
|
- sh: test -d data
|
|
msg: "Katalog 'data' nie istnieje"
|
|
|
|
list-ports:
|
|
desc: Lista dostępnych portów szeregowych
|
|
cmds:
|
|
- pio device list
|
|
|
|
erase:
|
|
desc: Wymazanie flash ESP32
|
|
dir: '{{.PROJECT_DIR}}'
|
|
cmds:
|
|
- pio run --target erase
|
|
|
|
build-upload:
|
|
desc: Kompilacja i wgranie projektu
|
|
dir: '{{.PROJECT_DIR}}'
|
|
cmds:
|
|
- task: build
|
|
- task: upload
|
|
|
|
build-upload-monitor:
|
|
desc: Kompilacja, wgranie i monitor
|
|
dir: '{{.PROJECT_DIR}}'
|
|
cmds:
|
|
- task: build
|
|
- task: upload
|
|
- task: monitor
|
|
|
|
full-flash:
|
|
desc: Pełne wgranie (firmware + filesystem)
|
|
dir: '{{.PROJECT_DIR}}'
|
|
cmds:
|
|
- task: build
|
|
- task: upload
|
|
- task: upload-fs
|
|
|
|
kill-monitor:
|
|
desc: Zabij procesy blokujące port szeregowy
|
|
cmds:
|
|
- pkill -f "pio.*monitor" || true
|
|
- pkill -f "python.*monitor" || true
|
|
- sleep 1
|
|
|
|
update-libs:
|
|
desc: Aktualizacja bibliotek
|
|
dir: '{{.PROJECT_DIR}}'
|
|
cmds:
|
|
- pio pkg update
|
|
|
|
info:
|
|
desc: Informacje o projekcie
|
|
dir: '{{.PROJECT_DIR}}'
|
|
cmds:
|
|
- echo "Projekt yoRadio ESP32-S3"
|
|
- echo "===================="
|
|
- pio project metadata
|
|
- echo ""
|
|
- echo "Dostępne porty:"
|
|
- pio device list
|
|
- echo ""
|
|
- echo "Konfiguracja pinów (myoptions.h):"
|
|
- echo " Display ILI9341 - TFT_CS=10, TFT_RST=9, TFT_DC=11"
|
|
- echo " I2S DAC - DOUT=17, BCLK=16, LRC=15"
|
|
- echo " Encoder1 - L=1, B=2, R=3"
|
|
- echo " Encoder2 - L=38, B=39, R=40"
|
|
|
|
monitor-raw:
|
|
desc: Monitor bez filtrów (raw output)
|
|
dir: '{{.PROJECT_DIR}}'
|
|
cmds:
|
|
- pio device monitor --raw
|
|
interactive: true
|
|
|
|
reset:
|
|
desc: Reset ESP32 (hard reset)
|
|
dir: '{{.PROJECT_DIR}}'
|
|
cmds:
|
|
- pio device monitor --echo --eol LF --raw --exit-char 3 -b 115200 -f send_on_enter -f colorize -f time
|
|
interactive: true
|
|
|
|
test-serial:
|
|
desc: Test prostego programu do sprawdzenia Serial
|
|
dir: '{{.PROJECT_DIR}}'
|
|
cmds:
|
|
- echo "Tworze prosty test Serial..."
|
|
- |
|
|
cat > test_platformio.ini << 'EOF'
|
|
[env:esp32s3-test]
|
|
platform = espressif32
|
|
board = esp32-s3-devkitc-1
|
|
framework = arduino
|
|
monitor_speed = 115200
|
|
build_flags =
|
|
-DCORE_DEBUG_LEVEL=5
|
|
-DARDUINO_USB_MODE=1
|
|
-DARDUINO_USB_CDC_ON_BOOT=1
|
|
EOF
|
|
- echo "Kompiluje test..."
|
|
- pio ci --lib="." --board=esp32-s3-devkitc-1 test_serial.ino || echo "Test compilation failed"
|