Настройка дисплея Flying Bear Ghost 6 под Klipper
4 января 2025
Недавно мы перевели FBG6 на Klipper. Однако дисплей 3D принтера не был настроен, поскольку делается это не совсем просто, а управлять устройством можно и со смартфона. Настройка дисплея описана в замечательной статье Подключение экрана MKS TS35 v2.0 к Orange Pi за авторством Sergey1560. Только статье уже несколько лет, и за прошедшее время кое-что поменялось.
Данный пост представляет собой максимально сжатый пересказ оригинальной статьи с исправлением нескольких моментов и пропуском ненужных шагов. В моем случае многие зависимости оказались уже установлены, и в части конфигурационных файлов уже были необходимые строки. Видимо, такова особенность последних версий Armbian и/или KIAUH и/или сборки KlipOr. Если какие-то из описанных далее шагов не работают в вашем случае, рекомендую свериться с оригинальной инструкцией.
Схема подключения дисплея к Orange Pi 3 LTS:
Слева показаны разъемы дисплейного модуля MKS TS35-R v2.0, как если бы мы смотрели на модуль сзади. Справа показаны пины Orange Pi 3 LTS, как если бы мы смотрели на одноплатник сверху. Первый пин можно опознать по стрелке на шелкографии. Для соединений я использовал гнезда с шагом 2.54 мм и провода 28 AWG в силиконовой изоляции. Длина всех проводов — 25 см.
После включения 3D-принтера у дисплея горит подсветка, но информация пока не выводится. Заходим на одноплатник по SSH. Ставим драйвер дисплея:
cd fb_st7796s/kernel_module/
make
# ошибки "SSL error ... No such file or directory" игнорируем
sudo make install
sudo depmod -A
Дописываем строчку:
… в файл /etc/initramfs-tools/modules, чтобы модуль ядра загружался при старте системы. Далее говорим:
wget 'https://eax.me/files/2025/01/sun50i-h6-st7796s.dts.txt' \
-O sun50i-h6-st7796s.dts
sudo orangepi-add-overlay sun50i-h6-st7796s.dts
sudo reboot
В dts-файле указана высокая частота шины SPI для более отзывчивой работы дисплея, как рекомендовано здесь. После reboot
на дисплее видим лог загрузки ядра Linux.
Ставим KlipperScreen через KIAUH:
На все задаваемые вопросы отвечаем вариантом по умолчанию.
Настраиваем X-сервер и перезапускаем KlipperScreen:
-O '/etc/X11/xorg.conf.d/50-fbdev.conf'
sudo wget 'https://eax.me/files/2025/01/51-touch.conf.txt' \
-O '/etc/X11/xorg.conf.d/51-touch.conf'
sudo systemctl restart KlipperScreen.service
Выполняем калибровку тачскрина (стилусом, не пальцем):
# из вывода узнаем id интересующего устройства:
DISPLAY=:0 xinput_calibrator --list
# выполняем калибровку, указав id устройства:
DISPLAY=:0 xinput_calibrator -v --no-timeout --device 6
Следуем инструкциям на дисплее, а затем — в консоли.
Чтобы на дисплее выводилось правильнее время, установим часовой пояс:
sudo reboot
Все готово:
Это скриншот, снятый при помощи утилиты scrot
. Днем сфотографировать дисплей без бликов невозможно. Ночью дисплей выглядит как показано выше. Только фото хуже передает цвета, и шрифты выходят немного размытыми.
В меню More → KlipperScreen можно выбрать светлую тему, русский язык, увеличить шрифты, скрыть лишние температуры, и т.д. Больше настроек доступны через редактирование файла KlipperScreen.conf во Fluidd.
Интерфейс явно проектировался для более крупных дисплеев, но со стилусом работает неплохо. Вся настройка занимает не более пары часов и эффективно ничего не стоит. Менять филамент стало удобнее.
Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.