Страница 3 из 5

1602 или 0802 свои символы

Добавлено: 26 авг 2018, 16:52
RedSky
[ref]av[/ref], с I2C работать должно, сейчас проверить негде. [ref]kalobyte[/ref], никак специально не считывал, тоже в этом не разбираюсь, просто при объявлении массивов добавлял const PROGMEM.
Согласен, встроенное масштабирование вряд ли будет удобнее штатного блока.
Добавил вход EN, возможно не самая оптимальная реализация (подсмотрел в блоке Ftrigger, целых две глобальных переменных). Не умею в C++ работать с двоичными переменными.

1602 или 0802 свои символы

Добавлено: 26 авг 2018, 18:30
kalobyte
av писал(а): 26 авг 2018, 18:23 Я правильно понял?
нет конечно
ты 5 умножаеш на количество нужных тебе знакомест, например 16 и получаеш 80
вот и масштабируеш свой сигнал например с ацп 0-1023 до размера индикатора 0-80

1602 или 0802 свои символы

Добавлено: 26 авг 2018, 19:00
kalobyte
[ref]av[/ref],
ну так-то да, пока флпрог не позволяет делать сложный интерфейс у пользовательских блоков и высчитывать нужные константы на основании натыканых кнопок
так что тут проще почитать описание к блоку и самому посчитать, сколько тебе на вход подавать
можно конечно сделать от 0 до 100% независимо от длины шкалы, но потребует много озу, а тут и так оно расходуется только так

1602 или 0802 свои символы

Добавлено: 26 авг 2018, 21:33
RedSky
Проверил с I2C - работает. Исправил вид блоков/палок (были ошибки). Сделал показ/скрытие блока по совету [ref]av[/ref], просто с блоком антенны у меня не прокатило, приходилось очищать весь экран. Использовать несколько подобных блоков в проекте я так понял затруднительно - всё упирается в 8 символов?

1602 или 0802 свои символы

Добавлено: 27 авг 2018, 12:05
MTSnik1
Хотел попросить, кому не трудно сделать или переделать блок (как был дан ранее "LCD antenna") для вырисовывания своих символов из 0/1 с функцией редактирования строки и стобца. То есть нужен нужный символ из пикселей 5х8, в редакторе нарисовал еденички, указал строку и столбец. В итоге на экране своя крокозябра в нужном месте. И хорошо бы чтоб блок можно было дублировать (несколько крокозябель)

1602 или 0802 свои символы

Добавлено: 27 авг 2018, 13:36
kalobyte
[ref]MTSnik1[/ref],
это на 95% переписывать весь блок и это будет уже отдельный блок
сейчас попробую накидать

Отправлено спустя 1 час 26 минут 17 секунд:
вот накидал
пока надо блок редактировать, чтобы в него добавить свой набор для одного символа
если вам надо только один символ, то в код будет добавлен только нужный код для работы одного символа, мусор не добавляется

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

не забудьте перетащить еще основной стандартный блок индикатора

https://kakedev.github.io/GlyphGenerator/ для создания массивов в одну строку

1602 или 0802 свои символы

Добавлено: 27 авг 2018, 13:52
MTSnik1
Немного не то. Нужно переделать блок LCD antenna, точнее выкинуть из него уровень сигнала антенны. Останется только значок антенны который можно редактировать под себя.

Отправлено спустя 1 минуту 25 секунд:
За старание ОГРОМНО СПАСИБО.

1602 или 0802 свои символы

Добавлено: 27 авг 2018, 13:59
kalobyte
[ref]MTSnik1[/ref],
я это и сделал
можеш до 8 блоков использовать

1602 или 0802 свои символы

Добавлено: 27 авг 2018, 14:06
MTSnik1
А как рисовать символы? В том проекте наглядно было видно рули и единицы которые можно менять, а тут 0х0е

1602 или 0802 свои символы

Добавлено: 27 авг 2018, 19:27
kalobyte
[ref]MTSnik1[/ref],
я там оставлял линк на рисовалку
https://kakedev.github.io/GlyphGenerator/
мне даже в голову мысль не пришла единицами рисовать

1602 или 0802 свои символы

Добавлено: 28 авг 2018, 04:21
MTSnik1
И как там рисовать, ничего нету.

Отправлено спустя 19 минут 58 секунд:
Так я же говорю в блоке LCD antenna можно редактировать код под себя
byte antenna[8]={
0b00000,
0b00000,
0b11111,
0b10101,
0b01110,
0b00100,
0b00100,
0b00100
};
Рисовать свои символы, нужно только индикатор выкинуть из кода.

1602 или 0802 свои символы

Добавлено: 28 авг 2018, 08:02
kalobyte
естественно нету, ты же с телефона зашел

1602 или 0802 свои символы

Добавлено: 28 авг 2018, 13:08
MTSnik1
:smile37: :D :smile9: спасибо. Все понял.

В блок "Горизонтальный_индикатор_уровня_для_HD44780_ver_0.3" можно добавить дополнительный вход "инверсия" для обратного движения палок, с права на лево?

1602 или 0802 свои символы

Добавлено: 28 авг 2018, 18:26
kalobyte
это надо дописать еще столько же кода

1602 или 0802 свои символы

Добавлено: 29 авг 2018, 04:07
MTSnik1
Ну тогда сделать второй блок и переименовать "Left" и Right" будет меняться только направление движения палок.

1602 или 0802 свои символы

Добавлено: 29 авг 2018, 16:40
kalobyte
попробовал переделать :D
может быть я слишком туп, но похоже ничего не получится, т .к. при записи кода в индикатор, счетчик адреса (который отвечает за позицию курсора) там автоматом увеличивается
т.е. нельзя просто так тупо писать, нужно каждый раз ставить курсор за вычетом единицы и записывать то ли целый блок 255, то ли куски из озу

т.е. алгоритм вообще полностью другой будет :shok:

Отправлено спустя 49 минут 9 секунд:
все, переписал алгоритм, чуть мозги не вывернулись
сейчас в блок оформлю

Отправлено спустя 5 часов 37 минут 12 секунд:
[ref]MTSnik1[/ref],
готово :D

1602 или 0802 свои символы

Добавлено: 29 авг 2018, 17:24
MTSnik1
В конце лишняя черточка.

Отправлено спустя 5 минут 23 секунды:
:smile37:

1602 или 0802 свои символы

Добавлено: 29 авг 2018, 17:51
kalobyte
вот обновил

1602 или 0802 свои символы

Добавлено: 29 авг 2018, 18:20
MTSnik1
:smile9: вот теперь самое то. Я Вам еще не надоел? :D а то у меня два блока на одной строке не работают.

Отправлено спустя 1 минуту 12 секунд:
Один на верхней, другой на нижней скачет.

Отправлено спустя 2 минуты 55 секунд:
Хотя в блоках выставлена 1я строка.

1602 или 0802 свои символы

Добавлено: 29 авг 2018, 19:21
kalobyte
2 блока на одной строке и даже на одном индикаторе не будут работать

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

все зависит от техзадания, а создать универсальный блок не выйдет, средства для его разработки ограничены
если бы ты сразу сказал, что есть такой-то проект, работает вот так-то, надо сделать такой-то блок, который должен работать вот этак

если надо 2 строки и чтобы в разные стороны, то это совсем другой алгоритм уже будет
причем если полосы будут с боков к центру идти - это один алгоритм, а если от центра в стороны, то соооовсем другой