Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Крейты

Для управления OLED-дисплеем мы будем использовать в основном два крейта: ssd1306 и embedded_graphics.

Драйвер OLED-дисплея SSD1306

Этот крейт предоставляет интерфейс драйвера для монохромных OLED-дисплеев SSD1306, поддерживая I2C и SPI через крейт display_interface. Также есть асинхронная поддержка, которую нужно включить через feature-флаг.

Добавление ssd1306 с поддержкой async

ssd1306 = { version = "0.10.0", features = ["async"] }

Добавление ssd1306 без поддержки async

ssd1306 = { version = "0.10.0", features = [] }

Embedded Graphics

Чтобы выводить текст или рисовать изображения на OLED-дисплее, мы будем использовать крейт embedded_graphics вместе с крейтом ssd1306.

«Embedded-graphics — это библиотека 2D-графики, ориентированная на встраиваемые устройства с ограниченным объёмом памяти».

«Основная цель embedded-graphics — рисовать графику без использования буферов: крейт совместим с no_std и работает без динамического выделения памяти и без предварительного выделения больших блоков памяти. Для этого используется подход на основе итераторов, при котором цвета и позиции пикселей вычисляются на лету с минимумом сохраняемого состояния. Это позволяет приложению использовать гораздо меньше RAM почти без потери производительности».

Этот крейт можно использовать с разными OLED-дисплеями и драйверами в зависимости от типа OLED-модуля. Документация подробно описывает возможности и поддерживаемые драйверы. Рекомендую её изучить.

embedded-graphics = "0.8.1"