Страница 1 из 7

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 30 ноя 2020, 23:06
Dryundel
LCD+
Альтернативный блок LCD на чипе HD44780 (без кириллицы)
.
2021-01-04_205958.jpg
.
Актуальная версия
LCD_V2.18_(Code_-_Professional).ubi
- Исправлен баг, возникавший при отключении бегущей строки. (Подробнее пост #89)
.
История версий
LCD_V2.17_(Code_-_Professional).ubi
- Добавлен блок "Бегущая строка" (Подробнее Пост #82)
Корректная работа блока версии LCD+V2.17 не гарантирована на FLProg ниже 7.3.0
LCD_V2.16_(Code_-_Professional).ubi
- Добавлен дополнительный блок "Стартовая заставка" (Подробнее пост #70)
- Добавлен дополнительный блок "Заставка "Сон"
LCD_V2.12_(Code_-_Professional).ubi
- Добавлен выбор символов прогресс-бара (Подробнее пост #53)
- Обновлен список выбора мигающего символа
- Произведена частичная оптимизация.
↑ ВНИМАНИЕ! LCD_V2.12 и выше работает только начиная с версии 7.2.1 FLProg ↑ (Подробнее пост #57)
LCD_V2.00_(Code_-_Professional)
- Добавлена поддержка ESP8266 и ESP32
- Добавлен дополнительный блок "Прогресс-бар" (Подробнее пост #47)
- Исправлены ошибки предыдущих версий
LCD_V1.02_(Code_-_Professional)
- Исправлен некорректный (в некоторых случаях) вывод параметра. Пост #26
- Оптимизирована работа блока без использования русификации.
LCD_V1.01_(Code_-_Professional)
- Исправлен баг вывода Имени параметра (Пост #6)
LCD_V1.0b_(Code_-_Professional)
- Первый тестовый релиз
.
ФУНКЦИИ:
- Без включения доп. функций аналогичен штатному блоку дисплея.
- Полный набор функций штатного блока дисплея.
- Альтернативный алгоритм без функции clear() (Дисплей не мерцает при мигании параметром или частой его сменой)
- Параметр "Русификация" - Дает возможность использовать русские и украинские символы (влияет на размер скетча, есть ограничения)
- Параметр "Выравнивание" - По центру, справа и по Имени параметра.
- Параметр "Имя параметра" - Добавляет доп. поле перед изменяемым параметром и соответствующий вход.
- Параметр "Мигание" - Создает возможность мигать настраиваемым значением или доп. символом перед параметром Добавляется вход "# "
- Параметр "Мигающий символ" - Предоставляет выбор доп. символа перед параметром для мигающей индикации.
- Параметр "Постфикс" - Добавляет доп. символы после параметра для ввода единиц измерения (см, кг, °С и т.п.) Добавляется вход.
- Дополнительный блок подсветки дисплея I2C (аналог штатного)
- Дополнительный блок "Прогресс-бар"
- Дополнительный блок "Стартовая заставка"
- Дополнительный блок "Заставка "Сон"
- Дополнительный блок "Бегущая строка"

Все функции генерируются блоком и вставляются в код только по мере их применения.
Если не использовать доп. функции блок занимает почти столько же места в памяти МК как и штатный.

.
2020-11-30_224015.jpg
.
2020-12-22_131111.jpg
.
Обсуждение тестовых версий блока было здесь: viewtopic.php?t=6836

Альтернативный блок LCD на чипе HD44780 (без кириллицы)

Добавлено: 01 дек 2020, 09:47
com
Dryundel писал(а): 30 ноя 2020, 23:06 Модераторы, по возможности прилепите эту тему сюда
Может не стоит мешеать мух с котлетами? :D Там на трех страницах размазаны блоки, а здесь четко и понятно. Замените это
Dryundel писал(а): 30 ноя 2020, 23:06 По мотивам темы
на ; Обсуждение тут.
Это только мое мнение конечно. Мне кажется так удобнее

Альтернативный блок LCD на чипе HD44780 (без кириллицы)

Добавлено: 01 дек 2020, 19:10
Dryundel
com писал(а): 01 дек 2020, 09:47 Замените это
Dryundel писал(а): 30 ноя 2020, 23:06 По мотивам темы
на ; Обсуждение тут.
Это только мое мнение конечно. Мне кажется так удобнее
Как скажете. :)
Заменил.

Теперь обсуждаем реальный блок.
Все идеи, которые были для основного блока, воплощены. Дело осталось за малым - тестирование и выявление багов.
Попутно постараюсь оптимизировать код.
.
В перспективе пакет дополнительных блоков расширяющих функционал.
У кого есть идеи в данном направлении - милости просим. Будем рассматривать. :smile427:

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 02 дек 2020, 16:04
Dryundel
com писал(а): 02 дек 2020, 10:56 Dryundel,Блок замечательный! А можно добавить еще один подключаемый параметр? Полосу прокрутки. При подаче лог 1 на вход появляются две вертикальные полоски в последнем столбце, при подаче лог 1 на другой вход, полосы заменяется квадратиком
Теоретически это возможно. Подумаем. :smile37:

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 02 дек 2020, 19:09
com
Глючит, при перелистывании строк, буквы могут не соответствовать заданным, а могут соответствовать

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 02 дек 2020, 19:21
Dryundel
com писал(а): 02 дек 2020, 19:09 Глючит, при перелистывании строк, буквы могут не соответствовать заданным, а могут соответствовать
Нужен проект.

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 02 дек 2020, 19:22
com
Вот

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 02 дек 2020, 19:23
Dryundel
av писал(а): 02 дек 2020, 17:16 Прогресс бар на дисплеях 1602, 2004.
Есть такая задумка.

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 02 дек 2020, 19:57
zik12
Ограничения на 8 уникальных символов на экране остались?

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 03 дек 2020, 00:24
Dryundel
com писал(а): 02 дек 2020, 19:09 Глючит, при перелистывании строк, буквы могут не соответствовать заданным, а могут соответствовать
Исправил. Версия 1.01 в стартовом топике.

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 03 дек 2020, 08:53
zik12
Не знаю баг или нет: если в проекте несколько блоков дисплея и допустим где-то надо включать русификацию, а где-то нет, то сделать это не получится, так как русификации включается и отключается сразу во всех блоках (flprog 7.2.1, версия блока 1.01). При чем сделать это можно из любого блока в проекте. Может это не на что не влияет но...

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 03 дек 2020, 10:03
Dryundel
zik12 писал(а): 03 дек 2020, 08:53 где-то надо включать русификацию, а где-то нет, то сделать это не получится,
И не получится. Дисплей в целом может либо руссифицироваться либо нет. Другого варианта быть не может, т.к. все присутствующие в проекте блоки завязаны на один и тот же дисплей. Это общий параметр для всех блоков, такой же как адрес и количество строк/столбцов.
Включена руссификация или нет, на вывод латиницы это никак не влияет. Латиница в любом случае выводится одинаково.

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 03 дек 2020, 10:37
zik12
[ref]Dryundel[/ref], А можно как-нибудь обойти ограничение в 8 уникальных русских символов отображаемых одновременно на экране?
У меня экран без кириллицы и я хотел меню и отображаемую информацию перевести на русский, но в отдельные моменты количество уникальных символов превышает 8 и начинается абракадабра. Я побывал разные пользовательские блоки, но все упирается в эти 8 символов. :(

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 03 дек 2020, 10:47
Dryundel
zik12 писал(а): 03 дек 2020, 10:37 Dryundel, А можно как-нибудь обойти ограничение в 8 уникальных русских символов отображаемых одновременно на экране?
К сожалению нет. В дисплее кроме таблицы символов, есть всего 8 дополнительных ячеек памяти для символов которых нет в таблице.
Записывая туда любые свои символы мы имеем возможность ими пользоваться.
Библиотека на которой построен блок использует эти ячейки по принципу стека.
Как только мы добавляем новый символ, один из уже записанных вытесняется из этого стека.
Возможности железа не перепрыгнешь.

Отправлено спустя 2 минуты 6 секунд:
zik12 писал(а): 03 дек 2020, 10:37 У меня экран без кириллицы и я хотел меню и отображаемую информацию перевести на русский, но в отдельные моменты количество уникальных символов превышает 8 и начинается абракадабра.
Используйте сокращения или переводите не все.

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 03 дек 2020, 10:49
zik12
Dryundel писал(а): 03 дек 2020, 10:44 К сожалению нет.
Плохо :(
А если взять дисплей отсюда https://aliexpress.ru/item/1704800307.h ... 7275013642 (он с вшитой кириллицей идет) и подпоять к нему адаптер i2c то такого ограничения не будет?

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 03 дек 2020, 11:29
com
Поскажите , как вывести на экран значки, стрека вверх, стрелка вниз? В фл прог при зажатом alt+24 или alt+25 значек появляется, но при загрузке в контроллер на экране кряказябра выходит

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 03 дек 2020, 15:56
Dryundel
zik12 писал(а): 03 дек 2020, 10:49 А если взять дисплей отсюда https://aliexpress.ru/item/1704800307.h ... 7275013642 (он с вшитой кириллицей идет) и подпоять к нему адаптер i2c то такого ограничения не будет?
Dryundel писал(а): 01 дек 2020, 21:14
com писал(а): 01 дек 2020, 20:58 А как поведет себя блок, если в дисплее всеже есть кирилица?
Не будет работать.
Для таких дисплеев нужна другая библиотека.
Можно было бы попробовать оснастить этот блок возможностью работать с таким дисплеем, но к сожалению у меня нет девайса. Тестить не на чем.
Отправлено спустя 5 минут 10 секунд:
av писал(а): 03 дек 2020, 13:04 Dryundel, Андрей добавьте в первый пост библиотеку ! А то я как "новичок" тупо скачал мультиблок для тестов а библиотеки нет.
Требующаяся библиотека вшита в блок. При первом использовании блока эта библиотека сохраняется и в вашем IDE.

Отправлено спустя 11 минут 54 секунды:
com писал(а): 03 дек 2020, 11:29 Поскажите , как вывести на экран значки, стрека вверх, стрелка вниз? В фл прог при зажатом alt+24 или alt+25 значек появляется, но при загрузке в контроллер на экране кряказябра выходит
Дисплей может отображать только те символы, которые зашиты у него в таблице + 8 дополнительных символов.
[spoiler=Таблица символов LCD 1602 (ENG)]
Таблица символов LCD 1602 (ENG).jpg
[/spoiler]
Можно было бы добавить и стрелки в доп. символы, но это будут два уникальных символа из 8 и на остальное уже останется 6. Оно вам нужно? По моему необоснованная жертва.

Отправлено спустя 8 минут 26 секунд:
av писал(а): 03 дек 2020, 13:42 Dryundel, вы не думали о реализации вывода на дисплей в проекте больше 8 пользовательских символов (не одновременно) ? Такая реализация была на старых блоках русификации. Единственное правило было чтобы отображались и другие русские буквы надо было блок ставить на другой плате и по сигналу от Rtrig загружать другие 8 символов букв или....
Dryundel писал(а): 11 ноя 2020, 19:58 На борту имеются все прописные и заглавные кириллицы а так же украинские буквы. + знак градуса
Делать ничего не нужно, просто подаете на вход русский текст.

НО ПОМНИТЕ - РОВНО В 12 КАРЕТА ПРЕВРАТИТЬСЯ В ТЫКВУ! :smile171:

А если серьезно, ограничение в 8 уникальных символов, выводимых одновременно на дисплей, останется по любому.
Еще раз повторюсь. 8 УНИКАЛЬНЫХ символов

Повторения и совпадение по начертанию с латиницей не в счёт! (если к примеру буква "Ж" повторяется 10 раз, то это всего один уникальный символ. Можно ещё 7.

Речь идет о таких буквах как Б, б, Г, г, Д, д, Ж, ж, З, з... И так далее.
Такие буквы как А, В, Е, К..... и т.д. не считаются.

Одновременный вывод повторяющихся символов - не ограничен!
Вывод латиницы - не ограничен!
Если не одновременно, блок выводит на дисплей любые русские и украинские символы. И ни с какими Rtrig и другими ухищрениями заморачиваться не требуется. Просто вводите русский текст и наслаждаетесь. Лишь бы на дисплее не оказалось более 8 уникальных символа одновременно.

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 03 дек 2020, 16:48
vovka1973
вопрос снят

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 03 дек 2020, 17:36
com
Dryundel писал(а): 03 дек 2020, 15:56 Дисплей может отображать только те символы,
Спасибо, нашел способ как отобразить все символы на дисплее, подобие стрелки вверх есть, а вниз нет. Жаль, была идея, если стрелка указывает вниз, то дальше есть еще строки, если вверх , то листать только вверх

Альтернативный блок LCD на чипе HD44780 без кириллицы (руссификация в комплекте)

Добавлено: 03 дек 2020, 20:24
zik12
Dryundel писал(а): 03 дек 2020, 15:56 Не будет работать.
Это понятно. Я хотел узнать не будет ли ограничений на эти 8 символов если кириллица вшита в дисплей? Про другие библиотеки и блоки я знаю.