Настройка дисплея Flying Bear Ghost 6 под Klipper

4 января 2025

Недавно мы перевели FBG6 на Klipper. Однако дисплей 3D принтера не был настроен, поскольку делается это не совсем просто, а управлять устройством можно и со смартфона. Настройка дисплея описана в замечательной статье Подключение экрана MKS TS35 v2.0 к Orange Pi за авторством Sergey1560. Только статье уже несколько лет, и за прошедшее время кое-что поменялось.

Данный пост представляет собой максимально сжатый пересказ оригинальной статьи с исправлением нескольких моментов и пропуском ненужных шагов. В моем случае многие зависимости оказались уже установлены, и в части конфигурационных файлов уже были необходимые строки. Видимо, такова особенность последних версий Armbian и/или KIAUH и/или сборки KlipOr. Если какие-то из описанных далее шагов не работают в вашем случае, рекомендую свериться с оригинальной инструкцией.

Схема подключения дисплея к Orange Pi 3 LTS:

Подключение дисплея Flying Bear Ghost 6 к Orange Pi 3 LTS

Слева показаны разъемы дисплейного модуля MKS TS35-R v2.0, как если бы мы смотрели на модуль сзади. Справа показаны пины Orange Pi 3 LTS, как если бы мы смотрели на одноплатник сверху. Первый пин можно опознать по стрелке на шелкографии. Для соединений я использовал гнезда с шагом 2.54 мм и провода 28 AWG в силиконовой изоляции. Длина всех проводов — 25 см.

После включения 3D-принтера у дисплея горит подсветка, но информация пока не выводится. Заходим на одноплатник по SSH. Ставим драйвер дисплея:

git clone https://github.com/Sergey1560/fb_st7796s.git
cd fb_st7796s/kernel_module/
make
# ошибки "SSL error ... No such file or directory" игнорируем
sudo make install
sudo depmod -A

Дописываем строчку:

fb_st7796s

… в файл /etc/initramfs-tools/modules, чтобы модуль ядра загружался при старте системы. Далее говорим:

sudo update-initramfs -u
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:

./kiauh/kiauh.sh

На все задаваемые вопросы отвечаем вариантом по умолчанию.

Настраиваем X-сервер и перезапускаем KlipperScreen:

sudo wget 'https://eax.me/files/2025/01/50-fbdev.conf.txt' \
    -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

Выполняем калибровку тачскрина (стилусом, не пальцем):

sudo apt install xinput-calibrator

# из вывода узнаем id интересующего устройства:
DISPLAY=:0 xinput_calibrator --list

# выполняем калибровку, указав id устройства:
DISPLAY=:0 xinput_calibrator -v --no-timeout --device 6

Следуем инструкциям на дисплее, а затем — в консоли.

Чтобы на дисплее выводилось правильнее время, установим часовой пояс:

sudo timedatectl set-timezone 'Europe/Moscow'
sudo reboot

Все готово:

Дисплей Flying Bear Ghost 6 с интерфейсом KlipperScreen

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

В меню More → KlipperScreen можно выбрать светлую тему, русский язык, увеличить шрифты, скрыть лишние температуры, и т.д. Больше настроек доступны через редактирование файла KlipperScreen.conf во Fluidd.

Интерфейс явно проектировался для более крупных дисплеев, но со стилусом работает неплохо. Вся настройка занимает не более пары часов и эффективно ничего не стоит. Менять филамент стало удобнее.

Метки: , .


Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.