30.03.2015

LiquidCrystalRus для 1.6.1

Недавно вышла очередная ArduinoIDE 1.6.1, одним из новшеств которой выступил новый gcc версии 3.4.5. И поскольку с каждой версией gcc синтаксис становится всё строже и строже - без неприятностей не обошлось.

В частности, перестала компилироваться библиотека поддержки вывода русского языка LiquidCrystalRus, из-за неверного (с точки зрения gcc) использования директивы PROGMEM, о чем ко мне посыпались сообщения от уважаемых пользователей (за что им хочу выразить особую благодарность).

Изменения там совсем крошечные, но если после установки новой ArduinoIDE ваш проект с LiquidCrystalRus в составе перестал компилироваться, не паникуйте, а скачайте и установите LiquidCrystalRus-1.6.0.zip.

Напоминаю, что проект также доступен на GitHub: https://github.com/mk90/LiquidCrystalRus.

UPDATE: подобно оригинальному LiquidCrystal, LiquidCrystalRus не умеет работать с дисплеями, подключенными как-то иначе, чем к пинам Arduino (например, по I2C), но зато и не требует для работы дополнительных библиотек: и в результате поддержка русского языка обходится дополнительно в 500 байт flash и 7 байт SRAM. 

9 комментариев:

  1. Дисплей Powertip PC1604
    другие смещения строк 3 и 4
    int row_offsets[] = { 0x00, 0x40, 0x10, 0x50 }; //было { 0x00, 0x40, 0x14, 0x54 }

    ОтветитьУдалить
  2. Отличная библиотека, давно пользуюсь. Пытался сам переписать под китайский I2C-LCD адаптер, но увы и ах. Не могли бы вы создать вариант ЭТОЙ библиотеки в варианте I2C. Адаптер сделан на PCF8574t.Выводы P0-P7 микросхемы подключены соответственно к RS, RW, EN, управл. вкл. подсветки, D4, D5, D6, D7 выводам индикатора.
    (P0->RS; P1->RW и т.д.)

    ОтветитьУдалить
  3. Спасибо за помощь.
    Имею LCD Keypad Shield. Скетч компилируется и загружается, но вместо русских символов крокозябы.
    Подскажите в какую сторону смотреть.
    Заранее признателен за любой ответ

    ОтветитьУдалить
    Ответы
    1. Если среди "кракозябр" русских букв нет, смотреть в сторону приобретения LCD-экрана с кириллическим знакогенератором.

      Удалить
    2. Хм, если у меня будет LCD-экран с кириллическим знакогенератором, то зачем мне будет нужна какая то еще библиотека LiquidCrystalRus?

      Удалить
    3. Чтобы не транслировать коды выводимых символов вручную, а просто писать "Привет мир" в скетче, не парясь.

      Удалить
  4. Добрый
    У меня ArduinoIDE 177 (с arduino.ORG)
    LiquidCrystalRus не воспринимается как оператор (не меняется цвет)
    И как водится выдаётся ошибка компиляции
    Библиотеку нужно где-нибудь прописывать после копирования?

    ОтветитьУдалить
    Ответы
    1. МЕНЮ -> СКЕТЧ -> ПОДКЛЮЧИТЬ БИБЛИОТЕКУ -> ДОБАВИТЬ.ZIP

      Удалить
    2. не срабатывает, цвет не меняется(

      Удалить