# Бэклог Идеи и незакрытые хвосты по проекту. Не план работ: сюда складывается то, что решено не делать сейчас, чтобы не потерялось. --- ## 1. Другие показатели и листалка по кнопке BOOT **Что хочется.** Показывать не только процессор: видеокарту, оперативную память, диски. Переключать экраны кнопкой **BOOT** на плате — нажал, увидел следующий набор данных. **Почему это дёшево со стороны протокола.** Формат `T=67.0;L=34` изначально сделан расширяемым: прошивка молча игнорирует незнакомые ключи. Агент может начать слать `G=61;GL=88;M=73` (видеокарта, её загрузка, память), и уже прошитые платы от этого не сломаются — просто не покажут новое. **Что придётся решить при реализации:** - **Кнопка BOOT сидит на GPIO9.** Это пин начальной загрузки: при сбросе он должен быть в высоком уровне, иначе плата уйдёт в режим прошивки. Читать его как `INPUT_PULLUP` в работе безопасно, но проверить фактически. - **Дребезг контактов.** Нужна программная защита, иначе одно нажатие пролистает три экрана. - **Свой макет под каждый экран.** На 72×40 не получится «то же самое, только другие цифры»: у памяти уместнее проценты и гигабайты, у диска — температура без графика. Каждый экран проектировать отдельно. - **Отдельная история на каждый показатель.** Сейчас кольцевой буфер один и хранит температуру CPU. На каждый график нужен свой буфер: 72 байта на штуку, памяти достаточно. - **Что показывать, если данных нет.** Например, в системе нет дискретной видеокарты — экран GPU надо либо пропускать при листании, либо честно писать, что источника нет. - **Запоминать ли выбранный экран** между перезагрузками. Если да, понадобится энергонезависимое хранилище, которого у прошивки сейчас нет вовсе. - **Тревога при листании.** Сейчас перегрев виден всегда, потому что экран один. С листалкой можно стоять на экране памяти и не увидеть, что горит процессор. Нужно решить: принудительно перекидывать на экран CPU, показывать тревогу поверх любого экрана или мигать только светодиодом. Последний пункт — самый важный: он затрагивает смысл устройства, а не удобство. --- ## 2. Обрезание строки при 100° и 100% При трёхзначной температуре и трёхзначной загрузке верхняя строка занимает 79 пикселей из 72: `100` — 49 px, зазор 2, `100%` — 28 px. Лишние 7 пикселей уходят за правый край, и загрузка обрезается. Дефект существовал с самого начала, проявляется только под предельной нагрузкой. Для i5-11400H это не гипотеза: предельная температура около 100 °C. Решение на выбор: при трёхзначной температуре переходить на более мелкий шрифт загрузки либо убирать знак процента. Оценка — около получаса вместе с проверкой. Решено оставить как есть: в такой момент экран всё равно мигает тревогой. --- ## 3. Автозапуск не проверен перезагрузкой Задание Планировщика `CPU Temp Agent` зарегистрировано с триггером «при входе в систему», запускается вручную и работает. Живой перезагрузкой триггер не испытан. Проверится само при следующей перезагрузке: экран должен ожить без участия пользователя в течение примерно полуминуты. --- ## 4. Скрипт заливки Цикл «остановить агента → залить прошивку → запустить агента» делается тремя командами вручную. Пока правок мало, это терпимо; если работа по экрану продолжится, стоит свести в `flash.ps1`. Причина, по которой шаг вообще нужен: плата прошивается через тот же COM-порт, по которому идут данные, и занятый порт валит заливку с `PermissionError`. --- ## 5. Вес обзорного изображения `docs/promo.png` весит 2,1 МБ при исходниках примерно на 30 КБ. Сжатие до 300–500 КБ не ухудшило бы читаемость, но старый файл всё равно останется в истории git, так что выигрыш только для будущих клонов. Решено оставить как есть.