Страница 151 из 240
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 08:20:26
WiseLord
А в каком порядке идёт закрашивание области символа? Я так и не дождался ответа.
P.S. Иконки закрашиваются правильно, потому что они отрисовываются ОЧЕНЬ неоптимально. Каждая точка иконки отрисовывается как отдельный прямоугольник размером 1x1, со всеми сопутствующими инициализациями. Переделать бы, но опять же - дисплеев в железе нет.
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 08:52:48
mixa232323
у вас строка заполняется с право налево и следующая строка выше и тд
в моем варианте строка заполняется с верху вниз и следующая строка левее
Добавлено after 11 minutes 43 seconds:
[uquote="WiseLord",url="/forum/viewtopic.php?p=3191440#p3191440"]А в каком порядке идёт закрашивание области символа? Я так и не дождался ответа.
P.S. Иконки закрашиваются правильно, потому что они отрисовываются ОЧЕНЬ неоптимально. Каждая точка иконки отрисовывается как отдельный прямоугольник размером 1x1, со всеми сопутствующими инициализациями. Переделать бы, но опять же - дисплеев в железе нет.[/uquote]
у меня есть могу проверить
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 09:22:53
WiseLord
Только что переписал вывод иконок на LS020 - сейчас они тоже не попиксельно выводятся, а всем массивом целиком. Заодно освежил в памяти, как это работает.
А вообще, для начала, я бы попробовал поменять вложенность циклов:
Код: Выделить всё
for(i = 0; i < 8; i++) {
for (my = 0; my < fp[FONT_MULT]; my++) {
for (j = 0; j < swd; j++) {
на
Код: Выделить всё
for (my = 0; my < fp[FONT_MULT]; my++) {
for (j = 0; j < swd; j++) {
for(i = 0; i < 8; i++) {
А потом играть вариантами:
(128>>i) <=>
(1<<i)
(fp[FONT_HEIGHT] - k - 1) <=>
k
Это будет тем или иным образом разворачивать выводимые байты.
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 10:17:11
mixa232323
поменялось но не то
надо что бы начинало с последнего байта 8 бита потом предпоследнего байта 8 бита и так до самого первого
и опять с последнего байта 7 бита до 1 байта и тд
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 10:21:17
WiseLord
Ну не то, так не то. Картинок я до сих пор не увидел, так что гадать что именно там не то, не буду.
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 10:24:34
mixa232323
нечем отчетливые снимки делать
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 10:41:36
WiseLord
mixa232323 писал(а):надо что бы начинало с последнего байта 8 бита потом предпоследнего байта 8 бита и так до самого первого
и опять с последнего байта 7 бита до 1 байта и тд
Я уже написал - нужно пробовать:
- менять биты в байте: (1<<i) против (128>>i)
- менять направление лево-право: j против swd - 1 - j
- менять горизонтальные блоки в символе: k против fp[FONT_HEIGHT] - 1 - k
Какая-то из этих восьми комбинаций даст правильный символ.
P.S. Сделал картинки, чтобы было понятнее:
Оригинальный вывод:
Спойлер

Меняем биты в байте:
Спойлер

Меняем направление лево-право:
Спойлер

Меняем горизонтальные блоки в символе:
Спойлер

Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 12:06:19
mixa232323
телефон пришел в себя сфотал
у меня вот так
Добавлено after 6 minutes 56 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
первый это 9 второй 1
Добавлено after 8 minutes 39 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
направление заполнения
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 13:16:53
WiseLord
Как я уже говорил, во-первых, нужно поменять порядок вложенности циклов. Тогда шрифты развернутся на 90 градусов. А уже потом играть указанными параметрами.
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 15:32:00
mixa232323
поскольку я ничего не понимаю в коде я изуродую код от LS020 чтобы было как у меня
симуляцию для протеуса брать в архиве
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 16:58:40
WiseLord
Кстати, в этом случае лучше взять самые последние исходники с github, там я вчера-сегодня немного упрощал код ls020.
P.S. Попробуйте так (сравните файл со своим, и поймёте, что я имел в виду под сменой вложенности циклов)
Добавлено after 1 hour 22 minutes 23 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
mixa232323:
Скачайте самые последние исходники отсюда:
https://github.com/WiseLord/ampcontrol/tree/m32
Также скачайте модифицированный вариант:
https://github.com/WiseLord/ampcontrol/tree/m32-lph9157
В нём я перешёл для LS020 на то же (0x0504) направление обхода региона вывода, как, по идее, происходит в LPH9157.
Да, после этого получились "крякозябры" везде. Но, после небольших изменений, и в этом направлении обхода я получил что хотел. Можете проверить оба варианта кода в Proteus и увидите, что всё выглядит одинаково.
Вся разница - вот она:
https://github.com/WiseLord/ampcontrol/ ... split&ts=2
Может, теперь станет понятнее, что куда переносить для Вашего дисплея. В идеале, конечно, если Вы просто свою инициализацию дисплея прикрутите ко второму варианту кода.
P.S. Честно говоря, мне новый вариант даже больше нравится с 0x5000, чем с 0x5004. По коду более понятно, и плюс можно ещё немножко оптимизировать скорость.
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 17:12:06
mixa232323
вот обновленный с github
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 17:24:30
WiseLord
А зачем он мне?
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 17:25:13
mixa232323
типа готово?
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 17:26:40
WiseLord
Что готово? Я не вижу там ни строчки инициализации для Вашего дисплея.
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 18:07:42
mixa232323
вот теперь работает
Добавлено after 49 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
готово!!!
допилю и выложу
Добавлено after 3 minutes 17 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
надо только оптимизировать
Добавлено after 3 minutes 38 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
можно попробовать с желтой платой он же ALPS
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 19:17:04
WiseLord
Ну наконец-то.
Заодно проверьте и вариант с поворотом на 180 градусов, работает ли.
Потом сбросите мне рабочий итоговый файл, а я добавлю его уже не как LS020, а с другим именем. За Вами тестирование.
Из возможных оптимизаций - вынесите в отрисовке шрифта и иконок pgmData = pgm_read_byte() чуть выше (из цикла for) - нет смысла читать 8 раз подряд одно и то же.
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пн сен 25, 2017 22:21:48
mixa232323
LS020_ROTATE_180 при отключении не работал я переделал
добавил отключение питания дисплея
Добавлено after 4 minutes 7 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
по поводу оптимизации сделал что знал дальше смотрите сами
если что не так отпишите
Добавлено after 4 minutes 31 second:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
можно еще регулировку контрастности добавить
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Вт сен 26, 2017 00:25:17
Serikkrin
Приветствую. Коллеги, кто пробовал в версии tda7439 программно реализовать тонкомпенсацию?
На малой громкости НЧ неправильно звучат. Вариант-добавлять усиление НЧ фильтра на 3... 4 дб при знач. громкости менее - 40 дб? Цифры навскидку взяты.
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Вт сен 26, 2017 08:18:46
mixa232323
подключил дисплей LS020 зеркало выдает