
Есть возможность оптимизации для скорости или для размера кода. При отпимизации для скорости скорость, в основном, заметно возрастает (больше чем в 2 раза) при отрисовке текста в графическом режиме, но размер кода увеличивается почти в два раза.
О скорости... Скорость отрисовки 160 символов мелким шрифтом занимает 129 милисекунд (с оптимизацией библиотеки для размера кода) или 109 милисекунд (с оптимизацией библиотеки для скорости). Скорость отрисовки имиджа размером 80х80 занимает 16 милисекунд (с оптимизацией библиотеки для размера кода) или 13 милисекунд (с оптимизацией библиотеки для скорости). Это все замеряно при 14 МГц тактовой частоты.
Основные цели, которые я преследовал при ее создании:
- отрисовка имиджей
- отрисовка простейших графических примитивов
- (главное) графические шрифты; то есть вывод текста в графическом режиме с использованием своих шрифтов
Возможности библиотеки на сегодня:
- конфигурация дисплея (включение/выключение курсора, графики, текста и т.п.)
- очистка текстовой области, графической области и всего дисплея
======== текстовый режим =========
- вывод отдельных символов и текста в текстовом режиме
- вывод целых чисел с форматированием в текстовом режиме
- вертикальный скроллинг текста (автоматический или принудительный)
- вывод двузначного хексового значения unsigned char
======== графический режим ========
- вывод изображений по указанным координатам; изображение может обрезаться по вертикали и горизонтали
- поддержка нескольких шрифтов; шрифты хранятся в ROM в виде таблиц, количество доступных шрифтов ограничено только объемом flash-памяти контроллера; шрифты, в отличии от встроенных в дисплей, непропорциональны (к примеру, Courier - пропорциональный шрифт, а Arial - нет)
- выбор текущего шрифта
- вывод отдельного символа и текста текущим шрифтом с форматированием
- вывод целых знаковых чисел текущим шрифтом с возможностью выравнивания по правому краю
- очистка, заполнение и инверсия указанных прямоугольников
- отрисовка и очистка отдельных пикселей
- расчет ширины текста в пикселях в текущем шрифте
- рисование линий с указанными координатами начала и конца
- рисование круга с указанными координатами центра и радиусом
Вот... Ну и в дополнение - утилита, которую я написал для небольшой конвертации черно-белых .bmp-файлов в формат, понимаемый библиотекой. Два шрифта - мелкий и средний - уже включены в библиотеку. При желании их можно изменить, удалить или добавить еще шрифты

Библиотека будет развиваться, так что все предложения и замечания очень приветствуются

Никаких ограничений в применении библиотеки не накладываю, только просьба - если вдруг кто-то будет использовать ее, пришлите, пожалуйста, свои отзывы о ней

Кроме того, с удовольствием приму помощь в ее оптимизации по скорости и размеру кода.
Нажмите для просмотра прикрепленного файла - исходники библиотеки
Нажмите для просмотра прикрепленного файла - конвертер битмэпов
Нажмите для просмотра прикрепленного файла - вид среднего шрифта
Нажмите для просмотра прикрепленного файла - вид мелкого шрифта