Графические Дисплеи

Использование дисплеев и обсуждение пользовательских блоков к ним
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Графические Дисплеи

#41

Сообщение Слимпер » 16.11.2017{, 17:13}

Странно у меня все нормально. 
Ну попробует открыть в редакторе блок Nokia 5110_2

#define My_Color BLACK
BLACK заменить на WHITE

Я тут думаю попробовать использовать U8g2 и написать несколько блоков.
По тестил те экраны, что у меня есть, все запустилось с полпинка.

Аватара пользователя
Dev1
Майор
Сообщения: 1015
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 58
Откуда: Гондурас

Графические Дисплеи

#42

Сообщение Dev1 » 16.11.2017{, 17:24}

Слимпер, Я пробовал разные библиотеки, сейчас уже не помню всей инфы по ним. Одно могу сказать, пробовал выводить динамические числа, int 0-20 например. Так некоторые библиотеки не могли выводить цифры подряд без удаления предыдущей цифры. Т.е. накладывались цифры друг на друга.
Win7-64 FLProg v7.2.2 Portable :fie:

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Графические Дисплеи

#43

Сообщение Слимпер » 16.11.2017{, 17:40}

Dev1, Читал про такое, там вообще иногда рекомендуют сперва закрашивать область квадратом, а уже затем выводить новый текст

Еще из интересных особенностей библиотеки U8g2 множество шрифтов  Каталог Шрифтов 

Правда с кириллицей дело обстоит хуже Тут есть кириллица Еще несколько шрифтов с UTF8, но их использовать одновременно сложнее

Аватара пользователя
Dev1
Майор
Сообщения: 1015
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 58
Откуда: Гондурас

Графические Дисплеи

#44

Сообщение Dev1 » 16.11.2017{, 17:57}

Шрифты да, наверное это хорошо. Но мне и 1 хватает, тем более кириллицу не использую... Пока отказался от цветных дисплеев, ввиду использования в библиотеке поддержка нескольких чипов, да и шрифтов. Многовато весят универсальные библиотеки. Лучше писать код прям в блокноте, но FLProg делает ленивым 
Win7-64 FLProg v7.2.2 Portable :fie:

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Графические Дисплеи

#45

Сообщение pan » 16.11.2017{, 18:00}

Слимпер писал(а):#define My_Color BLACKBLACK заменить на WHITE
 попробую. а фоновая картинка откуда и как ее убрать

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Графические Дисплеи

#46

Сообщение Слимпер » 16.11.2017{, 18:05}

pan писал(а):попробую. а фоновая картинка откуда и как ее убрать
А что за картинка?

Вообще почитай описание блока LCD  Главный, там есть вход LCD_Clean, он полностью отчищает экранн

картинка может быть из библиотеки,  хотя я ее вроде убирал, может у вес библиотека другая

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Графические Дисплеи

#47

Сообщение pan » 16.11.2017{, 18:14}

перед версией 0.19 стояла 0.11. все было норм. поставил последнюю версию и появилясь картинка ( цветочек какой то) и инвертированые строки

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Графические Дисплеи

#48

Сообщение Слимпер » 16.11.2017{, 18:29}

В версии 0.19 я убирал автоматическую полную отчистку экрана. Для оптимизации скорости.
Теперь это надо делать самостоятельно посредствам входа LCD_Clean.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Графические Дисплеи

#49

Сообщение pan » 17.11.2017{, 13:11}

в общем изменил My_Color BLACKBLACK  на WHITE и сделал при старте очистку. теперь всё как надо

Добавлено (17.11.2017, 13:11)
---------------------------------------------
можно напишу хотелку. мне кажется стоило бы добавить параметр автоочистки (перед каждым обновлением)
что бы по желанию можно было его включить или очищать по входу, кому как удобнее.
ибо без очистки приходится выравнивать длину строк пробелами чтоб не оставались предыдущие символы либо отслеживать изменения и очищать перед новой записью.

и еще вопросик, ширина и высота шрифта в главном блоке lcd это для цветных дисплеев? или для чего это
Последний раз редактировалось pan 17.11.2017{, 13:15}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Графические Дисплеи

#50

Сообщение Слимпер » 17.11.2017{, 14:27}

pan писал(а):и еще вопросик, ширина и высота шрифта в главном блоке lcd это для цветных дисплеев? или для чего это
Ну он используется для отчистки поля вывода текста, если текст стал короче чем был в прошлый раз.
На основе этих данных рассчитывается прямоугольник которым надо закрасить освободившиеся место.

Я авто отчистку как раз убрал, из-за того что она занимает слишком много времени.
pan писал(а):ибо без очистки приходится выравнивать длину строк пробелами чтоб не оставались предыдущие символы либо отслеживать изменения и очищать перед новой записью.
Так тут вопрос это происходить при выводе на одно место строки разными блоками Строка Монохром, или когда на вход одного блока подаешь разные строки?

Хотя я вообще надеюсь перейти на другую библиотеку. Просто сейчас времени маловато.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Графические Дисплеи

#51

Сообщение pan » 17.11.2017{, 14:56}

Слимпер писал(а):Так тут вопрос это происходить при выводе на одно место строки разными блоками Строка Монохром, или когда на вход одного блока подаешь разные строки?
 я затрудняюсь ответить, так как не знаю как происходит вывод на экран. я думал так: в настройках стоит обновление 500 милисек.
как я понял через этот промежуток времени производится заново перерисовка всего дисплея. чтоб извавится от хвостов перед перерисовкой очищать.
но видимо я не правильно понял работу

Добавлено (17.11.2017, 14:56)
---------------------------------------------
в данный момент у меня генератор  каждые 500 мс подает сигнал на вход lcd clean.
вроде нормально работает, ни каких мерцаний глюков и т.д нет.  сидит он на хардовом spi + модем на хардовом уарте

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Графические Дисплеи

#52

Сообщение Слимпер » 17.11.2017{, 14:58}

pan писал(а):я затрудняюсь ответить, так как не знаю как происходит вывод на экран. я думал так: в настройках стоит обновление 500 милисек.как я понял через этот промежуток времени производится заново перерисовка всего дисплея. чтоб извавится от хвостов перед перерисовкой очищать.
но видимо я не правильно понял работу
В первых версиях так и было, но пробовав экраны с большим разрешением, понял, что это расточительно, много времени занимает, переделал.

Вообще пришлите пример где у вас
pan писал(а):ибо без очистки приходится выравнивать длину строк пробелами чтоб не оставались предыдущие символы либо отслеживать изменения и очищать перед новой записью

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Графические Дисплеи

#53

Сообщение pan » 17.11.2017{, 15:31}

Слимпер писал(а):пришлите пример где
самый простой
Изображение

цифры 567 не стираются
Вложения
test5110.flp
(483.38 КБ) 92 скачивания
Последний раз редактировалось pan 17.11.2017{, 15:33}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Графические Дисплеи

#54

Сообщение Слимпер » 17.11.2017{, 16:05}

pan, Выложил версию 0,20
Там добавил отчистку области где была строка, в момент снятия 1 со входа EN блока Строка Монохром
Правки подверглись два блока Главный и Строка Монохром

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Графические Дисплеи

#55

Сообщение pan » 17.11.2017{, 16:18}

Слимпер писал(а):отчистку области где была строка, в момент снятия 1 со входа EN блока
  только хотел предложить это . спасибо. сейчас проверю

Добавлено (17.11.2017, 16:18)
---------------------------------------------
предыдущий пример залил,всё работает как надо. оч удобная штука очистка после снятия EN 
вот только цветочек приходится при старте очищать 

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Графические Дисплеи

#56

Сообщение Слимпер » 17.11.2017{, 19:57}

Ну вообще я его убирал из библиотеки, за одним маленько Flash памяти освобождается.
Вот еще раз отдельно правленная библиотека, замените должен пропасть.
Вложения
Adafruit-PCD854.zip
(12.27 КБ) 66 скачиваний

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Графические Дисплеи

#57

Сообщение pan » 17.11.2017{, 21:14}

поспешил я радоваться. обнаружил вот что:
при снятии 1 со входа EN на блоке строка монохром, очищается только самая верхняя строка которая начинается с Y0.
если написать строку например с координатами Х1 У7 , то у строки будет срезаться 1 пиксельная строка, то есть
очищается с У0 по У8.
далее если даже поставить строку в самый верх (У0) но координату по Х указать Х0 (по умолчанию Х1) то при стирании стоки
пикселы по Х0 не стираются. надеюсь понятно описал.

Добавлено (17.11.2017, 21:14)
---------------------------------------------
в общем очищается квадрат начиная с Х1 У0     Х1 У8   и до конца. не зависимо от того где написаны символы
Последний раз редактировалось pan 17.11.2017{, 21:16}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

Графические Дисплеи

#58

Сообщение Слимпер » 18.11.2017{, 07:04}

pan, Вы абсолютно правы, моя ошибка, проверял только с первой строкой. Банальная не внимательность, забыл в функцию подставить координаты строки.
Выложил версию 0,21, там вроде исправил.
Спасибо за Тестирование.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Графические Дисплеи

#59

Сообщение pan » 18.11.2017{, 20:55}

всё четко работает. по крайней мере со строками.

vjwhite
Рядовой
Сообщения: 28
Зарегистрирован: 21.11.2017{, 15:03}
Репутация: 2

Графические Дисплеи

#60

Сообщение vjwhite » 21.11.2017{, 15:09}

Хотел потестить, но с библиотеками получилась засада. Были установлены свои библиотеки до этого, заменил на те, что в первом посте, при компиляции выдает ошибку размера дисплея( Почитал описание к блоку, надо править файлик библы, но таких строчек у меня вообще нет( Есть у кого нить у кого работают эти блоки пак библиотек? Дисплей у меня SSD128*32
Последний раз редактировалось vjwhite 21.11.2017{, 15:11}, всего редактировалось 1 раз.

Ответить

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