OLED для Смузи
Впрочем, опишу все по порядку. Где-то с пол-года назад я решил переползать на 32 бита. Купил под это дело SMini и начал торговаться со своей жабой. TFT28 (не говоря уже о TFT32) ну никак не хотел пролазить в бюджет. И тут я натыкаюсь на MKS 12864OLED:Ну красавец же, правда? У продавца на Али было написано про полную совместимость со стандартным 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:Заодно был с корнем выкорчеван P1.31 (левый верхний пин), чтобы не возиться с дизейблом динамика в конфиге.
Поскольку карточкой мы будем пользоваться родной, а не надисплейной, то отклеиваем пленочку c этого разъема и переводим переключатели в противоположное состряние:Ок, теперь откладываем паяльник и беремся за конфиг.
Ну, это понятно:
## 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.
Результат радует:Крутилка тоже работает:Ну и финальная вишенка на торте. Делаю пулл-реквест в смузи-репозиторий и смиренно жду аппрува:
https://github.com/Smoothieware/Smoothieware/pull/1142
Кстати, у меня было три разных прошивки. Начинал, как и все, с Марлина, потом дорос до Репетиера, сейчас вот закабанел и играючи компилирую Смузи. Так вот у Смузи самая толковая навигация по менюшкам и лучше всех сделанный конфигуратор. Рекомендую.
Еще больше интересных статей
Пластиковая мастер-модель для карбонового сиденья
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Макет рестриктора из пластика для гоночного болида
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Халявный пластик 2 (печатаем пэт бутылками)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Постараюсь написать про всё что удалось узнать в...






Комментарии и вопросы
Доброй ночи. Пользуюсь часто (...
Оч круто!!! Жду продолжение.
Присоединяюсь. Интересует верс...
Доброго времени суток, дорогие...
Всем доброго времени суток! Хо...
Доброго времени суток. Не печа...
Всем привет, подскажите, можно...