Кремень FMZ Реклама
Kremen FMHM Реклама

OLED для Смузи

EugK
Идет загрузка
Загрузка
03.03.2017
10955
49
3D-печать

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

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

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

28
Я его таки победил!

Впрочем, опишу все по порядку. Где-то с пол-года назад я решил переползать на 32 бита. Купил под это дело SMini и начал торговаться со своей жабой. TFT28 (не говоря уже о TFT32) ну никак не хотел пролазить в бюджет. И тут я натыкаюсь на MKS 12864OLED:
OLED для Смузи
Ну красавец же, правда? У продавца на Али было написано про полную совместимость со стандартным 12864 GLCD, а в описании SMini упоминалось, что он поддерживает стандартный 12864.

Через какое-то время обе платы были у меня, и тут выяснилось, что OLED не такой уж и совместимый :(

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

OLED был закинут в коробку, продавец обновил описание товара (шара уже не прокатит), принтер успешно переделан с RAMPS на SMini+TFT28, и я уже почти забыл про эту историю.

Но за зиму мне уже почти удалось доделать новую модель, с Diamond экструдером, куда SMini ну никак не вписывалась. У меня еще лежит Ардуино+Рампс, но разумеется, что никто в здравом уме, попробовав 32 бита, даже под страхом удушения жабой не станет возвращаться на 8 бит. Поэтому купил новенькую SBase и вспомнил про лежащий в коробке OLED.

Разумеется, за прошедшие пол-года совместимость у него не отросла, поэтому начал разбираться.

Первая проблема - железная. На SBase/SMini на коннектор Exp1 не выведены два сигнала, которые используются графическим дисплеем. И если Reset можно легко игнорировать, используя софтресет, то от сигнала C/D никак не убежишь.

Поскольку напрямую сигнал с проца имеет 3.3 вольта, то придется его как-то раскачать. В жертву был принесен интерфейс SD-карты с разъема Exp2:
OLED для Смузи
Заодно был с корнем выкорчеван P1.31 (левый верхний пин), чтобы не возиться с дизейблом динамика в конфиге.

Поскольку карточкой мы будем пользоваться родной, а не надисплейной, то отклеиваем пленочку c этого разъема и переводим переключатели в противоположное состряние:
OLED для Смузи
Ок, теперь откладываем паяльник и беремся за конфиг.

Ну, это понятно:

## Panel

panel.enable true # set to true to enable the panel code

Дальше немножко уличной магии.

panel.lcd st7565_glcd

panel.a0_pin 0.28

panel.rst_pin na

Втыкаем питание. Ух ты, что-то блымкнуло на экране. Мы на верном пути!

Идем на гитхаб и скачиваем репозиторий.

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

Начинаем разбираться в исходниках - ну, все просто, наглядно. Еще пару часов уходит на написание и отладку.

В итоге я получаю новую опцию:

panel.lcd sh1106_oled

SH1106 - так называется контроллер OLED.

Результат радует:
OLED для Смузи
Крутилка тоже работает:
OLED для Смузи
Ну и финальная вишенка на торте. Делаю пулл-реквест в смузи-репозиторий и смиренно жду аппрува:

https://github.com/Smoothieware/Smoothieware/pull/1142

Кстати, у меня было три разных прошивки. Начинал, как и все, с Марлина, потом дорос до Репетиера, сейчас вот закабанел и играючи компилирую Смузи. Так вот у Смузи самая толковая навигация по менюшкам и лучше всех сделанный конфигуратор. Рекомендую.

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

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

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

28
Комментарии к статье