Металл2024 Реклама
Метобр2024 Реклама

MKS DLP - продолжаем разговор о кастомной прошивке. Часть 3 - УФ-дисплей, вывод файлов

AndyBig
Идет загрузка
Загрузка
15.08.2020
1489
6
Личные дневники

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

12

Последняя часть о текущем положении дел с прошивкой :)

Сначала коротко о работе с засвечивающим дисплеем. Я его запустил, особых проблем с этим не возникло. Дисплей на этой плате (как и на других подобных) работает не напрямую с микроконтроллером, а через два MIPI-драйвера SSD2828 и FPGA. Микроконтроллер пересылает изображение выводимого кадра в FPGA, та сохраняет его в SDRAM и выводит на дисплей через SSD2828, которые по сути являются настраиваемыми преобразователями интерфейса.

Работу с FPGA и инициализацию SSD2828 взял из оригинальных исходников, там нет ничего сложного. Правда, несколько часов провозился с поиском ошибки в своем коде.

Что интересно - в оригинальных исходниках имеется какой-то намек на вывод изображения с градациями серого. Или же задание уровня яркости для всего дисплея. Я до конца так и не понял и пока еще не пробовал применить этот кусок исходников. В принципе, сама железная часть по всей видимости позволяет выводить на дисплей изображения в градациях серого и даже в полном цвете, но для этого нужно переделывать прошивку FPGA, а исходники для нее MKS зажали...

Ну и основная часть заметки - про просмотр пользователем файлов перед печатью.

Я пошел стандартным путем, аналогичным Фотонам - файлы на дисплее отображаются по 4 штуки в виде больших иконок. Но в отличии от Фотонов, я сделал возможность работы с каталогами любой вложенности, главное, чтобы общая длина пути и имени файла не превышала 512 символов.

Выводятся только те файлы, расширения которых поддерживаются прошивкой. В настоящий момент это .pws, но в дальнейшем планирую добавить .photon, .photons, .ctbdlp. Можно будет добавить и другие форматы, если железо платы в состоянии их переварить и имеется информация о строении этих форматов.

Так же добавил корректную работу с русскоязычными именами файлов и каталогов. Это привнесло довольно много геморроя, но на мой взгляд того стоило :) Для каталогов в иконках рисуется значок папки.

Шрифт в строке текущего каталога и в именах файлов мелковат, но иначе более-менее длинные имена просто не влезут.

MKS DLP - продолжаем разговор о кастомной прошивке. Часть 3 - УФ-дисплей, вывод файлов

(верхней правой кнопки переключения режимов просмотра со скриншота на тот момент еще не было :) )

Для этого, кстати, пришлось создать и добавить в прошивку шрифт высотой 12 пикселей в жирном начертании. В нормальном начертании в прошивке уже был шрифт такого размера, но он совсем трудно читался. На иконках файлов пишется имя файла и отрисовывается изображение предпросмотра, которое слайсер запихивает в файл при его сохранении. Из-за отрисовки этого предпросмотра, да еще и с масштабированием, вывод иконок получается слегка тормозным - вычитывание из файлов и отрисовка предпросмотров для 4 файлов занимает около 0.5 секунды, но тут уже ничего не поделаешь.

Когда это все уже было реализовано, SergeyR7 подал мысль, что неплохо бы иметь еще и вывод файлов в режиме списка с указанием даты последнего изменения файлов. Действительно, бывают моменты, когда по дате файла проще определить последнюю версию из нескольких вариантов. Мысль была хорошей и повозившись несколько часов я это реализовал. Вот тогда и появилась кнопка переключения между видами - иконки или список. В списке на каждую страницу влазит 8 файлов и выводятся они почти мгновенно, т.к. не нужно считывать и рисовать превьюшки. Расстояние между строчками файлов сделано побольше, чтобы проще было попадать в нужный. Каталоги выделяются желтым фоном и для них вместо времени последнего изменения выводится обозначение "DIR". Нажатый файл подсвечивается синим фоном чтобы пользователь видел в какой файл он попал.

MKS DLP - продолжаем разговор о кастомной прошивке. Часть 3 - УФ-дисплей, вывод файлов

Сергей еще предложил сортировку по именам, но с ней пока не все ясно, т.к. есть определенные сложности. Возможно удастся ее реализовать, а может быть и нет...

Да, и еще одно отличие от тех же Фотонов и оригинальной прошивки MKS - в реальном времени отслеживается отключение и подключение USB-флэшки. Пользователь выдернул флэшку во время просмотра файлов - список файлов или иконки очищаются. Вставил - появляется список корневого каталога вставленной флэшки.Пока что при выборе файла ничего не происходит, но скорее всего сделаю как и в Фотонах - будет открываться меню с большой превьюшкой, информацией о файле и кнопками "Печать", "Отмена", "Удалить".

И небольшое видео с демонстрацией интерфейса выбора файлов :)

И забыл упомянуть в предыдущих частях: весь проект я решил сделать полностью открытым. Я и изначально не собирался его "закрывать", но уже после начала работы над ним решил открыть его на гитхабе, так что разобрался с гитхабом (раньше я с ним дел не имел) и теперь там доступны все исходники, регулярно обновляемые по мере прогресса с прошивкой - https://github.com/Andy-Big/MKS-DLP-alter  :) Никаких ограничений на их использование. А если вдруг кто-то решит помочь и поучаствовать - отлично :)

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

12
Комментарии к статье
Кремень КБ Реклама
Кремень КМ Реклама