# AGENTS for ESP32 ## Язык UI - Для ESP32-скетчей и экранного UI использовать английский язык. - Русский текст на экране ESP32 пока не поддерживается корректно: шрифтовой путь для кириллицы не считается рабочим. - Если меняется UI-скетч, все пользовательские строки на экране должны оставаться английскими, пока ограничение не снято отдельной задачей. ## Синхронизация со спецификацией - При изменении экранов, кнопок, переходов, статусов или текстов обязательно обновлять соответствующую спецификацию в `ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/reference/`. ## Сборка ESP32 - Основной способ проверки и прошивки скетчей для `ESP32-S3-Touch-AMOLED-2.16` - `main-device/burn.sh`. - Не собирать эти скетчи напрямую через `arduino-cli compile` без `burn.sh`, потому что скрипт добавляет нужные локальные библиотеки и конфиги из `official-demo/examples/Arduino-v3.3.5/libraries`. - Если сборка падает по `lv_conf.h` или `TouchDrvCSTXXX.hpp`, сначала проверять именно `burn.sh` и его `--library` пути, а не считать, что файл пропал из репозитория. ## Диагностика ESP32 - Последнюю сохранённую ошибку или диагностическую запись читать с устройства через USB serial monitor на `115200`. - Базовая команда: `arduino-cli monitor -p /dev/ttyACM0 --config baudrate=115200` - После подключения отправлять одну из команд: `last_error`, `last_diag` или `reg_diag` - Для очистки сохранённой диагностики использовать: `clear_error` или `clear_diag` - При падениях в ветках регистрации и обновления PDA сначала читать именно `last_error`: запись хранится в NVS и может пережить перезагрузку устройства.