Главная ПолезноеKlipper Klipper: Debian + KlipperScreen + Экран СТОК FB Ghost6 + MKS TS35-R V2.0

Klipper: Debian + KlipperScreen + Экран СТОК FB Ghost6 + MKS TS35-R V2.0

OxyGena

Экран MKS TS35 V2.0 используется с платами Robin Nano 2.0 На принтерах Flying Bear6 установлен аналогичный экран, но без энкодера.

Экран сделан на контроллере Sitronix st7796s. Контроллер может работать в различных режимах (параллельный, последовательный), но на плате установлены настройки для работы по SPI. Тач сделан на аналоге xpt2046, подключен к этой же шине SPI.

Для подключения используются две колодки экрана, обозначенные как EXP1 и EXP2. Назначение контактов:

Уровни на всех выводах 3.3В. На плате установлен понижающий преобразователь, питание 5В.

Схема подключения, если будут вопросы: пишите в личку

Пины экрана
Пины Orange Pi 3 LTS
Схема подключения пинов экрана и пинов orange Pi 3 LTS

Далее фото подключения от нашего хорошего друга Артема Григорьева:

Так же обращаем ваше внимание на “помеченный” черной полоской/маркером проводник. В силу цветопередачи камеры телефона на фото не видно  разницы в сером и белом цвете. !!!!БУДЬТЕ ОЧЕНЬ ВНИМАТЕЛЬНЫ при подключении, так как при не верном подключении есть шанс спалить одноплатник или модуль дисплея!!

Подключение экрана

Подключение Orange Pi 3 LTS:

На текущий момент мы считаем, что у вас принтер подключен по UART, а драйвера принтера распаяны на UART (об этом отлично рассказывал Виталий, канал “Уголок Технаря”), если все так – то продолжаем

Итак, будем считать, что у Вас все подключено по UART и мы готовы запустить стоковый экран FB Ghost 6

На всякий случай распишу порядок подключения по названию пинов:

MOSI      PH5 SPI1_MOSI
MISO      PH6 SPI1_MISO
CLK       PH4 SPI1_CLK
TFT_CS    PL8
DC        PD15 
RST       PD16
TOUCH_CS  PH3
TOUCH_IRQ PL10
LED       3.3V

В ядре нет подходящего драйвера для контроллера st7796s. Однако в mainline ядре такого драйвера нет, и сам автор говорит, что “This guide have been archived due some kernel changes on raspbian mainline kernel”.

Сам по себе чипсет достаточно типовой, отличается только инициализация экрана. Поэтому можно собрать драйвер в виде внешнего модуля ядра.

Для сборки модуля понадобится пакет build-essential и linux-headers. В Debian linux-headers ужу установлен, по-этому выполняем команду:

uname -a

Устанавливаем необходимый пакет:

sudo apt install git build-essential

Клонируем репозиторий

cd ~
git clone https://github.com/Datastore24Kirill/FBGhost6_klipperScreen.git
cd FBGhost6_klipperScreen/kernel_module/

Выполняем команды по строчкам:

make
sudo make install
make clean
sudo depmod -A

При копировании драйвера (команда make install) компилятор сообщит об ошибках “SSL error”. Их можно игнорировать.

Для того, чтобы драйвер загружался при старте системы, его нужно добавить в initramfs.

Для этого нужно добавить название драйвера в /etc/initramfs-tools/modules и обновить сжатый образ initramfs:

sudo bash -c 'echo "fb_st7796s" >> /etc/initramfs-tools/modules'
sudo update-initramfs -u

Проверить, что драйвер был добавлен:

Что бы не определять версию вашего ядра, идем на хитрость. Прописываем в консоле (НЕ НАЖИМАЯ Enter):

sudo lsinitramfs /boot/initrd.img-

нажимаем клавишу TAB и ОС допишет за нас нужную версию, в конце дописываем:

 | grep fb

Для загрузки драйвера нужно указать ядру к каким ногам подключен экран и тач, а так же включить SPI. Делается это через device tree. Для Orange Pi 3 LTS есть готовый файл:

cd ../dts/
sudo orangepi-add-overlay sun50i-h6-st7796s.dts

На этом можно перезагрузить систему и убедиться, что экран работает:

sudo reboot

После перезагрузки на стоков экране побегут строчки запуска Debian.

Устанавливаем ПЕРВЫЙ раз KlipperScreen

cd kiauh
./kiauh.sh

Нажимаем цифру 1 и Enter

Нажимаем цифру 5 и Enter

Дожидаемся окончания установки

Выполняем команды:

mkdir x11-config
cd x11-config
git clone https://github.com/Datastore24Kirill/KlipperScreen_x11_config.git
cd KlipperScreen_x11_config
sudo mv 50-fbdev.conf /etc/X11/xorg.conf.d/50-fbdev.conf
sudo mv 51-touch.conf /etc/X11/xorg.conf.d/51-touch.conf

При вводе командо SUDO запросит пароль Вашего пользователя

Настроем X11 для отображения:

В конец файл Xwrapper.config добавляем строчку. Для этого

sudo nano /etc/X11/Xwrapper.config

В конец добавляем строчку:

needs_root_rights=yes

Запускаем установку нужно пакета:

sudo apt-get install xserver-xorg-video-fbdev

И снова переустанваливаем KlpperScreen через Kiauh:

cd ~
cd kiauh
./kiauh.sh

Нажимаем цифру 1 и Enter

Нажимаем цифру 5 и Enter

Дожидаемся окончания установки

Настройка тач

Данная строка сразу меняет расположение и можно поиграться с матрицами перед тем как делать что то.

DISPLAY=:0 xinput set-prop "wch.cn USB2IIC_CTP_CONTROL" 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1

если после этого начало работать правим: sudo nano /etc/X11/xorg.conf.d/51-touch.conf и вписываем правильную матрицу тача.

sudo nano /etc/X11/xorg.conf.d/51-touch.conf

Прописываем:

Section "InputClass"
        Identifier "ADS7846 Touchscreen"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "TransformationMatrix" "1 0 0 0 1 0 0 0 1"
        Option  "SwapXY"        "1"
        Option  "InvertX"       "1"
        Option  "InvertY"       "1"
EndSection

Получаем рабочий экран:

Вам также может понравится