Библиотека DMD для STM32 + AVR с поддержкой Unicode шрифтов

Тема в разделе "Глядите, что я сделал", создана пользователем b707, 21 май 2019.

  1. b707

    b707 Гуру

    Добрый день!
    Предлагаю Вашему вниманию расширенную редакцию библиотеки DMD.h Решил выложить в разделе модули, потому что на готовый проект это вроде не тянет.

    Что это и для чего
    Библиотека DMD используется для работы с одноцветными LED матрицами P10 32х16 фирмы Freetronics. Матрицы можно соединять последовательно, получая длинные строки или большие панно: Матрицы широко используются для разных вывесок, баннеров, бегущих строк
    [​IMG]
    В стандартной библиотеке заявлена только поддержка контроллеров АВР, поэтому первоначально главной задачей я считал портировать библиотеку для работы на широко известной плате "блюпилл" с контроллером STM32F103.Отсюда и название библиотеки на Гитхабе: DMD_STM32
    Однако по ходу работы выяснилось. что эта задача давно решена и существует даже несколько библиотек DMD для STM32 разной степени законченности.

    Зато в ходе обсуждения с другими участниками всплыла проблема фонтов для DMD матриц. Оригинальная библиотека DMD поддерживает только фонты своего внутреннего формата, причем только 8-,битные ASCII символы. Для вывода букв национальных алфавитов энтузиасты нарисовали несколько фонтов, в том числе и кириллицу. но вообще выбор шрифтов очень узкий.

    Для устранения этих затруднений в предлагаемой версии библиотеки добавлена поддержка фонтов в распространенном формате Adafruit GFX. Формат выбран по двум причинам: во-первых, много уже готовых фонтов. Но главное - в этот формат можно почти одним движением сконвертить любой TTF шрифт c помощью фирменной утилиты fontconvert от Adafruit. Конвертация TTF фонтов открывает широкие возможности - фонтов в интернете сотни тысяч. для всех возможных национальных алфавитов. причем очень многие фонты бесплатны. Добавление новых функций привело к обратному портированию библиотеки на контроллеры АВР :) (пока только Атмега328)

    Из других отличий от стандартной библиотеки - на СТМ32 можно работать с двуми наборами матриц одновременно. В следующей версии планируется добавить вертикальную бегущую строку (см видео ниже)

    Примеры работы:

    Вывод надписи сконвертированным TTF фонтом



    Вертикальная строка:



    Две одновременные бегущие строки (только СТМ32)




    Код библиотеки на Гитхабе: https://github.com/board707/DMD_STM32
    Библиотека пока слабо документирована, синтаксис использования смотрите в примерах - они все работают.. И задавайте вопросы. Буду рад любым мнениям , замечаниям и предложениям
     
    DetSimen, Daniil, BAR__MEN и 2 другим нравится это.
  2. ИгорьК

    ИгорьК Давно здесь Команда форума

    Эту ошибку я исправил :) Проект достойный раздела.
     
    DIYMan нравится это.