Fast_Pro_LCD

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
lfgjikjjyj
Лейтенант
Сообщения: 400
Зарегистрирован: 27 мар 2025, 12:13
Имя: Коля
Поблагодарили: 125 раз

Fast_Pro_LCD

Сообщение lfgjikjjyj »

для версии 7,5,2

Работа блока через чар.

2026-08-15_183226.png

==========================================================
Fast_Pro_LCD_(Code_-_Professional).ubi
Показать
-- Задать частоту тактирования I2С
-- Выбрать адрес
-- Указать стороки и столбцы
-- Ввести текст
-- Выставить выравнивание
-- Отправить флоат
-- Переключатель текста
Статический блок
Экспериментальная задумка выводит данные только во время сетапа.
Если сотрёте их, то они появятся после перезагрузки, пока снова не сотрёте.

Плюсы:
— не требуется отправлять каждый раз данные, которые никогда не меняются на экране, и на их месте ничего не появляется (может быть отдельная строка или область экрана);
— колоссально экономит время и скорость, если на дисплее что-то очень быстро меняется;
— не требует условий, времени обновления и прочих костылей удержания надписи в лупе.

Минусы:
— сотрёте — не будет её больше.

Динамический блок выводит два текста, разных по условию входа, типа переключатель: можно задать любую строчку для каждого и столбцы либо всё одинаково выставлять.

Вывод флоат: выводит числа с запятой.

==========================================================

Из нюансов: если отправляете латинские буквы, то работает немного быстрее; если русские, то это уже немного медленнее, и чем их больше разных, тем медленнее.
Итого: до 8 разных букв — так.

Сравнение с другими блоками:
система подщётов изменил теперь щитаю только количество итераций за 5 сек и делю на 5
подавал только латиницу для равноправия
версия 7,5,2
у Экоинса 9,7,1
2026-08-15_213412.png

Тест статики у меня — это сетап и чистый луп.
Выглядит это так: отправка текста, и далее луп гоняет только измерительный пин.
Ну, то есть без него луп вращается со скоростью 8 000 000, но будем мерить как есть, в одинаковых условиях, с пином.
Logic_18.png

Со штатником всё понятно: там и частота 100 кГц, и шлёт всё, что видит.
У Друндела странновато: хотя библиотеки у нас одинаковые, но по транзакции видно, что он делает лишние действия, но больше сказываются, наверное, условия и прочее в коде.
У Экоинса — это вообще читеры: собрали пакет и отправили, в длинном слове вообще 16 кадров против 103 у штатника.
У меня упёрся в библиотеку транзакций, но даже так по скорости выигрыш колоссальный.

Файлы все скидывать не буду, тут лимит на них, но выглядит весьма интересно глядя на разные подходы реализации.
Я ещё отправляю ему без стрингов.
Остальным приходится строить стринговые переключатели и сложения строк для штатника.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
WildCat
Лейтенант
Сообщения: 610
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 26 раз
Поблагодарили: 44 раза

Re: Fast_Pro_LCD

Сообщение WildCat »

Вывод статичного текста можно сделать в однократном цикле при необходимости. И он тоже в лупе не будет крутиться.
lfgjikjjyj
Лейтенант
Сообщения: 400
Зарегистрирован: 27 мар 2025, 12:13
Имя: Коля
Поблагодарили: 125 раз

Re: Fast_Pro_LCD

Сообщение lfgjikjjyj »

WildCat писал(а): 15 авг 2026, 18:18 Вывод статичного текста можно сделать в однократном цикле при необходимости. И он тоже в лупе не будет крутиться.
можно
попробуйте это провернуть со штатным блоком удивитесь после его самоочистки
у остальных с этим проблем нет кроме скорости в этом режиме
lfgjikjjyj
Лейтенант
Сообщения: 400
Зарегистрирован: 27 мар 2025, 12:13
Имя: Коля
Поблагодарили: 125 раз

Re: Fast_Pro_LCD

Сообщение lfgjikjjyj »

====================================================

Обновлённые:

Fast_Pro_LCD_v1.0_(Code_-_Professional).ubi
Показать
+ увеличен диапазон частот тактирования I2С
+ добавлены типы данных
+ добавлены суфиксы для маштабирования блоков
Блок как замена стрингам убирает зависания и перезагрузку, которые могли вызывать стринги — работа только через char.
Поэтому ввод текста только в блоке, так как автор не добавлял переменных, не имеющих типы, куда можно было бы вписывать текст как в блоке и собственно манипулировать им.

Блок подойдёт там, где нет работы с меню, потому что из него стринги лезут, а также там, где нужна скорость и работа с кириллицей.
А также повышенная надёжность — ну, или по крайней мере, дисплей уже не будет снижать надёжность.

Хоть блок и быстрее Экоинса, но если посмотреть, узкое место будет — отправка данных, и чем сильнее загрузить код, тем фоновая скорость станет меньше, и всё будет зависеть от того, насколько быстро экран будет отправлять данные. Но у Экоинса у вас всё равно не хватит памяти даже на маленький проект (имеется в виду не в глупых пределах, где надо поморгать светодиодом).


Результаты сравнений:
Важное правило: если очень сильно менять русские буквы на дисплее в количестве 8 шт. на итерацию, а в другой итерации — другие 8 букв, то будет всё плохо, потому что память в дисплее только на 8 букв кириллицы и он её каждый раз перезаписывает.
Другой тест показывает, что если менять буквы в пределах памяти экрана (8 шт.), то всё нормально будет, чутка медленнее, чем латиница; об этом я говорил в начале.

2026-08-17_091431.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
lfgjikjjyj
Лейтенант
Сообщения: 400
Зарегистрирован: 27 мар 2025, 12:13
Имя: Коля
Поблагодарили: 125 раз

Re: Fast_Pro_LCD

Сообщение lfgjikjjyj »

а это отдельный замер частот если кто думает что щас разгонится на халяву

2026-08-17_124456.png

Как видим, рост нелинейный, потому что такты сжимаются, а вот между тактами сервисные пробелы огромные остаются на месте. Смысл есть разве что 533–615 кГц выставить, и то подтяжка на дисплее стоит конские 10 кОм — лучше их понизить до 4,7–2,2 кОм.

Пока работаю над своим ваером вместо тормозного ардуиновского, и результаты весьма интересные: получается заполнить у дисплея все 32 клетки (у 1602) за 3.53мс, и это на 400 кГц всего лишь.
Если посмотреть мои результаты тестов, то там, чтобы заполнить 15 клеток, уходило на этом блоке 9.1 мс, а у Экоинс — 4.58 мс. И вот тут уже увеличение частоты тактирования как бензин в огонь: взлетает попросту.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Дисплеи, индикаторы и клавиатуры»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость