eddy_em: (Default)
eddy_em ([personal profile] eddy_em) wrote2023-05-11 11:28 pm
Entry tags:

Экранчик

С экранчиком сегодня закончил все основные операции, обновил на гитхабе. Вот так выглядит:


"Артефакты" слева вверху каждой строчки — неспроста! Это я прокосячил: когда вычислял индекс нужного спрайта в массиве, я ширину экрана в спрайтах умножал на координату Y и делил на ширину спрайта в пикселях. Вот поближе:

А скобочки вокруг "Y/W" забыл… Здесь все просто, заработало:

Сам по себе шрифт высотой в 16 пикселей (а надо же еще и про межстрочный интервал не забывать, т.е. фактически 14 выходит, кроме некоторых "выдающихся" символов) оказался очень мелким для этого экрана:

поэтому я сделал операцию масштабирования (тупое масштабирование: вместо 1 пикселя выводится квадрат n×n пикселей, где n — от 1 до 10). Думал еще сегодня успею обработчик кнопок включить (там в основном из старого скопировать + простой custom_buttons.c наваять), но пора уж и ко сну готовиться — вчера досидел до полвторого, потом еле-еле с утра раскачался на работу идти.
Еще добавлю индикацию светодиодами, подсветку экрана и светодиоды включать на время (скажем, 30 секунд после последней активности кнопок), чтобы не создавать паразитную засветку ПЗС-ке, в которую азот заливается. Менюшку, опять же, добавить (я в "тетрисе" продумал одноуровневую, но, похоже, надо таки уже полноценную написать). Не знаю, правда, что там в менюшке будет, но уже подумать стоит. Настройки какие-нибудь и т.п. Окончательно будет понятно после экспериментов "на кошках": с двумя дьюарами и имитацией реальной системы заливки (с датчиками температуры около горловины заливаемого — детектировать перелив). Ну и откалиброваться по уровню азота в дьюаре. Прошлый раз у нас ничего не вышло, т.к. "24-вольтный" нагреватель при включении в 24В умудрился натурально сгореть, будучи погруженным на дно дьюара, полного азота! До этого мы его в 12В включали, азот весело из дьюара вытекал — надо, видимо, неплохо мощность ограничить.

Да, воткнул в блокирующем чтении SPI четыре считывания SPI2->DR перед операцией. Стало выдавать одно и то же. Однако, с DMA это не прошло, а вот если SPI сбрасывать и заново настраивать каждый раз перед запуском чтения по DMA, то детерминированно получается (но треш же какой-то!). Частоту SPI поднял до 18МГц. На шлейфе длиной сантиметров 35 вроде никаких проблем не возникает. А вот насчет того, что нога MISO скорей всего вообще не подключена к драйверу экрана — думаю, правда. Потому как каждый раз при смене скорости получаю при чтении одного и того же регистра разные значения (но при этом экран заполняется нормально и "артефактов" не видно). Следовательно, здесь MISO служит исключительно для работы с тачскрином (знать бы еще, как эти китайские шельмы его подключили! что-то вменяемых схем в интернете на этот экран не обнаруживается).

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org