TFTGLCD панель. Фактически финал.
Здравствуйте.
Со времени публикации второй статьи по теме моей панели прошло уже больше года. За это время произошло хорошее событие – официальная поддержка панели была добавлена в Марлин-2, сначала в bugfix ветку, а с сентября прошлого года и в основную.
Первая версия панели была рассчитана на возможность изготовления «на коленке» из минимального набора готовых компонентов – платки BluePill, экрана и энкодера. SD карточки в этой версии штатно не было, но она могла быть добавлена.
После этого появилась вторая версия панели со штатной SD карточкой и работой с экраном по 16-битной шине. Для этого понадобилось немного изменить подключение периферии к контроллеру, так как BluePill напрямую использовать не получается. Поэтому данная версия уже требует изготовления своей печатной платы. С появлением второй версии я добавил возможность выбирать вариант ориентации экрана при помощи джампера, что позволяет изменять расположение энкодера относительно экрана (слева/справа) без изменения прошивки контроллера.
Не так давно я наводил порядок у себя в тумбочке и нашёл в закромах старый китайский недоклон миниайфона с резистивным тачскрином. Использовать такое убожество по прямому назначению рука не поднималась, а в качестве донора для третьей версии панели он вполне подошёл. Ну не пропадать же ему. Получилось такТачскрин подключается к контроллеру панели непосредственно, без специализированного контроллера, что упрощает и удешевляет конструкцию. Алгоритм обработки тачскрина эмулирует работу энкодера, так что прошивка основной платы остаётся без изменений. Внешний вид рабочих экранов остался классическим текстовым, но в местах, требующих редактирования параметров, добавились «кнопки». Причём для редактирования обычных параметров добавились по две кнопки – для изменения параметра с одинарным и десятикратным шагом. Калибровка тачскрина запускается после подачи питания на панель нажатием на экран во время заставки и производится только по вертикали. Калибровка по горизонтали не нужна, так как в имеющемся текстовом интерфейсе значение имеет сторона экрана, а не конкретное положение по горизонтали. Это упрощает работу. После прохождения калибровки автоматически запускается тест тачскрина. На данный момент алгоритм калибровки максимально простой и не определяет правильность подключения тачскрина к контроллеру. В дальнейшем я может быть доработаю его для большей универсальности. После завершения калибровки панель нужно перезагрузить. Сам я продолжаю пользоваться панелью с энкодером, а эту сделал для просто для добавления такой возможности и для утилизации ненужного железа.
За всё это время исправлялись мелкие баги, проводились оптимизации и добавлялся некоторый функционал. В частности добавилась поддержка нескольких новых экранов.
Панель может подключаться по интерфейсам SPI и I2C для работы с Марлином и только по SPI для Смузи. В Марлине вариант используемого интерфейса выбирается в файле Configuration.h, а параметры самой панели - в файле Conditionals_LCD.h – ищите строчки с TFTGLCD. В Смузи официальной поддержки панели пока нет, но я этим в очередной раз займусь, может всё-таки добавят. Для работы с Марлином я внёс соответствующие изменения в некоторые файлы для наиболее распространённых материнских плат. Естественно, не во все и проверить соответственно в работе их тоже не мог из за их отсутствия. Так что смотрите внимательно на назначаемые пины. Работоспособность панели проверялась когда-то давно на MEGA2560, которой у меня уже нет, а сейчас постоянно проверяется на LPC1768, STM32F103 и STM32F411. Для LPC1768 была принята моя правка в библиотеку I2C, которая устраняла проблему чтения, так что теперь с этим проблем быть не должно. Работа на остальных архитектурах в драйвере панели тоже заложена, но не проверялась, проверялась только успешность сборки прошивки под соответствующую архитектуру. Кстати, из за отсутствия маленького кварца на 8МГц в третьей версии панели я использовал кварц на 10МГц и панель прекрасно работает в таком разогнанном на 25% виде.
Все актуальные фотографии можно посмотреть у меня на Гитхабе на страничке проекта, а здесь приведу только отличия от старой версии. Слева старый вариант, справа новый.
Экран редактирования параметра. Такое изменение связано с изменением алгоритма вывода меню на этапе добавления поддержки в Марлин. На энкодерной версии просто отсутствуют кнопки. Для Смузи строка редактирования тоже теперь отображается в центре экрана – переносится ниже на стороне панели.
В принципе пока всё, каких-то глобальных изменений в проекте не будет. Он полностью соответствует той концепции, которую я закладывал – классический текстовый интерфейс с качественными шрифтами и цветными иконками за минимальные деньги. Небольшие изменения и правки возможных багов естественно будут. Как вариант – автоопределение используемого экрана.
Обсуждение проекта продолжается всё там же – на Радиокоте. Поиски багов при повторении конструкции приветствуются.
Еще больше интересных статей
Creality Scan Bridge от Otter'а - к Raptor'у.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Гладкая пластина из текстурированной pei.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Весь этот функционал есть и бы...
И нафига весь этот огород?
Где эта чёртова ракета? Одни ф...
Добрый день, столкнулся с тем...
Добрый день, Друзья!Ловлю брак...
Здравствуйте, подскажите что м...
появилась плавающая ошибка, те...