Блоки форматирования строк для дисплеев

Пользовательские блоки для вывода информации на дисплеи и индикаторы, управления тачскрином, различными клавиатурами, добавления русских шрифтов для вывода на дисплеи типа HD44780
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

Блоки форматирования строк для дисплеев

Сообщение Labu559 »

В проекте представлены два блока:
1) Простой блок
Объединяет две строки в одну (операция конкатенации), дополняет пробелами до разрядности дисплея (двойное выравнивание), делает лишней операцию очистки дисплея.
2) Расширенный блок
Объединяет две строки в одну (операция конкатенации), дополняет символами (задаются в параметрах пользователя) до разрядности дисплея (двойное выравнивание), при превышении сумы длины строк выводит ошибку- ErrToBig, и также делает лишней операцию очистки дисплея- в штатном блоке LCD HD44780 это строки:

Код: Выделить всё

if (_isNeedClearDisp1) 
    {
        _lcd1.clear();
        _isNeedClearDisp1= 0;
    }
которые вызывают мерцание дисплея, и можно их закомментировать/удалить вручную перед компиляцией в Arduino IDE.
Описание в блоках присутствует.
Блоки:
-предназначены для применения с 7-ми сегментными, символьными, матричными, графическими, LED, VFD, LCD, Oled, TFT и др. дисплеями.
-настраиваются в Параметрах Пользователя по разрядности (макс.колличеству знаков/знакомест в строке дисплея).
Имеют смысл применения для дисплеев 8+ знакомест, потому ограничиваются этим минимумом в блоках.
[spoiler title=Так это выглядит на LCD1602.]
LCD_DoubleAligment.png
[/spoiler]

Блоки находятся и их можно сохранить в программе из демопроекта ниже. Всем Удачи!
Для символьных дисплеев на чипе HD44780 (клонах) с загруженными пользовательскими знаками (кириллическими буквами) блок нуждается в более тщательном тестировании, выкладываю отдельно, желающих приобщиться- приветствую.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Labu559 10 янв 2022, 20:10, всего редактировалось 4 раза.
Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03 ноя 2018, 19:38
Имя: Дмитрий

Блоки выравнивания строк для дисплеев

Сообщение Di123 »

чем он отличается от блока сложения строк ?
вы сделали на картинке тоже самое
взяли строчку пресуре и сложили её со строчкой показания + бар
посути всё что делает родной блок
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Блоки выравнивания строк для дисплеев

Сообщение AlexCrane »

[ref]Di123[/ref], Между строчками прописываются пробелы или символы до общей длины в N символов
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

Блоки выравнивания строк для дисплеев

Сообщение Labu559 »

Di123 писал(а): 09 янв 2021, 19:08 чем он отличается от блока сложения строк ?
вы сделали на картинке тоже самое
взяли строчку пресуре и сложили её со строчкой показания + бар
посути всё что делает родной блок
Именно для Вас пускай будет загадкой по крайней мере пока не прочитаете описание или не столкнётесь с проблемой как здесь. Мне добавить нечего, что сделал- описал.
Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03 ноя 2018, 19:38
Имя: Дмитрий

Блоки выравнивания строк для дисплеев

Сообщение Di123 »

[ref]Labu559[/ref], ну так эта проблема у меня тоже была очень давно когда я только переменные использовал ещё на 5 версии
тогда я тоже гасил их через включение платы потом через переключатель а потом перешол на клемы и проблем нистало никаких
agronom
Рядовой
Сообщения: 26
Зарегистрирован: 24 май 2022, 06:56
Имя: Стас

Блоки форматирования строк для дисплеев

Сообщение agronom »

с русскими буквами либо пустая строчка либо китайские ероглифы выходит
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Блоки форматирования строк для дисплеев

Сообщение Dryundel »

agronom писал(а): 03 июн 2022, 07:44 с русскими буквами либо пустая строчка либо китайские ероглифы выходит
[ref]agronom[/ref], [ref]Labu559[/ref], попробуйте заменить функцию length() на функцию из блока Длина строки RUS+ENG
Ответить

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

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

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