-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SSH1106 no_buffer text support #13
base: main
Are you sure you want to change the base?
Conversation
ух большая работа! У меня пока нет свободного времени, на следующей неделе постараюсь проверить и зааппрувить |
Добавлю: Тестирую дисплей на arduino через SPI
linux mint, PlatformIO |
Не понял по графике. Графика ведь уже реализована у меня, для работы без буфера нужно было добавить реализацию setWindow под 1106 и в целом всё |
К сожалению, у меня не получилось просто заменить setWindow. Возможно, я так и не до конца понял его работу. Для 1106 не хватило только установки setWindow и мне пришлось добавлять дополнительные методы. Посмотри, посоветуй. Может как-то по-другому |
Добавил поддержку текста OLED SSH1106 NO_BUFFER
Определения
page - горизонтальные фрагменты дисплея высотой 8 пикселей (1 байт). Наглядно на 16 странице datasheet
NO BUFFER - буфер на стороне дисплея
SSH1106 - дисплей 128x64
SH1106 - дисплей 132x64
Что добавлено
Проверена работа на дисплее SSH1106 по SPI.
Не проверена работа по I2C и совместимость корректировок с другими дисплеями.
Дополнительно
Для отрисовки текста устанавливается столбец 0-127 по X и page 0-8 по Y. setCursor(), setCursorXY().
Команда отправляется на отрисовку сразу нескольких пикселей одной страницы page.
Символы в увеличенном масштабе (scale 2, 3, 4) разбиваются на несколько страниц page.
При смещении _shift текст разбивается на 2 страницы page.
Команды для дисплея SSH1106 128x64 выполняются аналогично командам по дисплею SH1106 132x64. При этом координаты по X сдвигаются на +2. Может лучше добавить отдельную константу, определяющую этот сдвиг по X? тогда можно будет использовать и SH1106 и SSH1106 с отличием только в этой константе.
Есть даташит только на SH1106 (132x64)
Референсы библиотек по работе с SSH1106
Todo