GEM - Графическое меню для Arduino

Тема в разделе "Глядите, что я сделал", создана пользователем Spirik, 22 фев 2018.

  1. Spirik

    Spirik Нерд

    Всем привет!

    Спешу поделиться своей библиотекой для построения графических многоуровневых меню для Ардуино: GEM (Good Enough Menu) Возможно, кому-то она сможет быть не менее полезна, чем мне :)

    [​IMG]

    Позволяет редактировать переменные (`int`, `byte`, `char[17]`), есть чекбоксы (`boolean`), селекты, кнопки и коллбэки на сохранение значений.

    Предназначена для работы с бэкпэком для графических LCD дисплеев SparkFun Graphic LCD Serial Backpack в связке с альтернативной прошивкой и библиотекой AltSerialGraphicLCD. Требования выглядят довольно специфичными, но эта связка позволяет подключить LCD к своему проекту всего 4-мя пинами (два на Serial, два на питание) и обладает богатыми возможностями по работе с графикой.

    Библиотека идёт с подробной документацией и аннотированными примерами, а так же Вики с дополнительным описанием примеров и всякими HowTo.

    С интересом попробую портировать её на бэкпэк от Амперки, если таковому будет суждено когда-нибудь увидеть свет=)
     
    OldKryptos, issaom, ИгорьК и ещё 1-му нравится это.
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    Кириллицу поддерживает?
     
  3. Spirik

    Spirik Нерд

    Нет, к сожалению, поскольку у AltSerialGraphicLCD-прошивки бэкпэка нет кириллического набора символов.
     
  4. DIYMan

    DIYMan Guest

    Жаль, кириллицы нету, без этого даже щупать не хочется, ибо кириллица - наше всё. Ну не понимают юзеры на аглицком меню, хоть тресни.
     
  5. Spirik

    Spirik Нерд

    Будем ждать версию бэкпэка от Амперки (и надеяться, что кириллица там будет). В комментариях на Ютьюбе они обмолвились, что планы такие есть.
     
  6. Spirik

    Spirik Нерд

    В GEM добавилась поддержка популярной библиотеки U8g2, а вместе с ней и кириллицы! Для того, чтобы активировать кириллические шрифты, нужно вызвать метод `enableCyrillic()` перед методом `init()`. При этом возрастёт размер, занимаемый программой в памяти МК, что следует иметь в виду.

    [​IMG]

    Кириллица поддерживается в элементах интерфейса (заголовки страниц меню, названия пунктов меню, кнопок и ссылок), а так же в опциях списков выбора (они же "селекты", "выпадашки", "дропдауны"). Однако, увы, (пока?) не поддерживается редактирование кириллических строковых переменных.

    Краткое описание обновлений:
    • Поддержка U8g2 через новый класс `GEM_u8g2`;
    • Небольшая чистка и оптимизация кода (и AltSerialGraphicLCD, и U8g2 версии);
    • Базовая поддержка кириллицы (метод `enableCyrillic()`) и соотвествующий пример кода;
    • Новый метод `reInit()`, возвращающий дисплей к требуемым настройкам после выхода из пользовательского контекста;
    • Соотвествующие обновления документации и wiki с гайдами по настройке, описанием тестового стенда (необходимого для запуска тестовых скетчей) и how-to'шками.
    Обновления доступны с версии 1.1.0.
     
    Tomasina и issaom нравится это.