version: "3" vars: PIO: pio ENV: esp32dev PORT: "" BAUD: "115200" PYTHON: python3.11 EPDIY_SCRIPTS: .pio/libdeps/esp32dev/epdiy/scripts MARTIAN_FONT: static/MartianMono-VariableFont_wdth,wght.ttf IBM_FONT: static/IBMPlexMono-SemiBold.ttf MARTIAN_CHARS: '0123456789:;.,-+/!@\#^&*%°CABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя' tasks: default: desc: Показать список доступных задач cmds: - task --list build: desc: Сборка прошивки (ENV=esp32dev) cmds: - "{{.PIO}} run -e {{.ENV}}" clean: desc: Очистка артефактов сборки cmds: - "{{.PIO}} run -e {{.ENV}} -t clean" rebuild: desc: Полная пересборка deps: [clean] cmds: - "{{.PIO}} run -e {{.ENV}}" upload: desc: Прошивка на устройство (опционально PORT=/dev/tty...) cmds: - "{{.PIO}} run -e {{.ENV}} -t upload {{if .PORT}}--upload-port {{.PORT}}{{end}}" monitor: desc: Serial monitor (опционально PORT=/dev/tty...) cmds: - "{{.PIO}} device monitor -b {{.BAUD}} {{if .PORT}}-p {{.PORT}}{{end}}" run: desc: Прошивка + monitor deps: [upload] cmds: - "{{.PIO}} device monitor -b {{.BAUD}} {{if .PORT}}-p {{.PORT}}{{end}}" check: desc: Статический анализ через pio check cmds: - "{{.PIO}} check -e {{.ENV}}" size: desc: Отчёт по размеру бинарника cmds: - "{{.PIO}} run -e {{.ENV}} -t size" ports: desc: Список доступных serial-портов cmds: - "{{.PIO}} device list" image: desc: Генерация include/sun.h и include/moon.h из static/*.jpg cmds: - "{{.PYTHON}} {{.EPDIY_SCRIPTS}}/imgconvert.py -i static/sun.jpg -n sun -o include/sun.h" - "{{.PYTHON}} {{.EPDIY_SCRIPTS}}/imgconvert.py -i static/moon.jpg -n moon -o include/moon.h" font:12: desc: Генерация MartianMono12.h cmds: - "{{.PYTHON}} {{.EPDIY_SCRIPTS}}/fontconvert.py --compress MartianMono12 12 {{.MARTIAN_FONT}} --string '{{.MARTIAN_CHARS}}' > lib/MartianMono/MartianMono12.h" font:30: desc: Генерация MartianMono30.h cmds: - "{{.PYTHON}} {{.EPDIY_SCRIPTS}}/fontconvert.py --compress MartianMono30 30 {{.MARTIAN_FONT}} --string '{{.MARTIAN_CHARS}}' > lib/MartianMono/MartianMono30.h" font:120: desc: Генерация MartianMono120.h cmds: - "{{.PYTHON}} {{.EPDIY_SCRIPTS}}/fontconvert.py --compress MartianMono120 120 {{.MARTIAN_FONT}} --string '0123456789' > lib/MartianMono/MartianMono120.h" font:200: desc: Генерация MartianMono200.h cmds: - "{{.PYTHON}} {{.EPDIY_SCRIPTS}}/fontconvert.py --compress MartianMono200 200 {{.MARTIAN_FONT}} --string '0123456789' > lib/MartianMono/MartianMono200.h" font:all: desc: Генерация всех шрифтов deps: [font:12, font:30, font:120, font:200] font:ibm:24: desc: Генерация IBMPlexMono24.h cmds: - "{{.PYTHON}} {{.EPDIY_SCRIPTS}}/fontconvert.py --compress IBMPlexMono24 24 {{.IBM_FONT}} --string '{{.MARTIAN_CHARS}}' > lib/IBMPlexMono/IBMPlexMono24.h" font:ibm:64: desc: Генерация IBMPlexMono64.h cmds: - "{{.PYTHON}} {{.EPDIY_SCRIPTS}}/fontconvert.py --compress IBMPlexMono64 64 {{.IBM_FONT}} --string '{{.MARTIAN_CHARS}}' > lib/IBMPlexMono/IBMPlexMono64.h" font:ui: desc: Генерация шрифтов для текущего UI deps: [font:12, font:120, font:ibm:24, font:ibm:64]