P.S. Иконки закрашиваются правильно, потому что они отрисовываются ОЧЕНЬ неоптимально. Каждая точка иконки отрисовывается как отдельный прямоугольник размером 1x1, со всеми сопутствующими инициализациями. Переделать бы, но опять же - дисплеев в железе нет.
Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
А в каком порядке идёт закрашивание области символа? Я так и не дождался ответа.
P.S. Иконки закрашиваются правильно, потому что они отрисовываются ОЧЕНЬ неоптимально. Каждая точка иконки отрисовывается как отдельный прямоугольник размером 1x1, со всеми сопутствующими инициализациями. Переделать бы, но опять же - дисплеев в железе нет.
P.S. Иконки закрашиваются правильно, потому что они отрисовываются ОЧЕНЬ неоптимально. Каждая точка иконки отрисовывается как отдельный прямоугольник размером 1x1, со всеми сопутствующими инициализациями. Переделать бы, но опять же - дисплеев в железе нет.
- Реклама
у вас строка заполняется с право налево и следующая строка выше и тд
в моем варианте строка заполняется с верху вниз и следующая строка левее
Добавлено after 11 minutes 43 seconds:
[uquote="WiseLord",url="/forum/viewtopic.php?p=3191440#p3191440"]А в каком порядке идёт закрашивание области символа? Я так и не дождался ответа.
P.S. Иконки закрашиваются правильно, потому что они отрисовываются ОЧЕНЬ неоптимально. Каждая точка иконки отрисовывается как отдельный прямоугольник размером 1x1, со всеми сопутствующими инициализациями. Переделать бы, но опять же - дисплеев в железе нет.[/uquote]
у меня есть могу проверить
в моем варианте строка заполняется с верху вниз и следующая строка левее
Добавлено after 11 minutes 43 seconds:
[uquote="WiseLord",url="/forum/viewtopic.php?p=3191440#p3191440"]А в каком порядке идёт закрашивание области символа? Я так и не дождался ответа.
P.S. Иконки закрашиваются правильно, потому что они отрисовываются ОЧЕНЬ неоптимально. Каждая точка иконки отрисовывается как отдельный прямоугольник размером 1x1, со всеми сопутствующими инициализациями. Переделать бы, но опять же - дисплеев в железе нет.[/uquote]
у меня есть могу проверить
Только что переписал вывод иконок на LS020 - сейчас они тоже не попиксельно выводятся, а всем массивом целиком. Заодно освежил в памяти, как это работает.
А вообще, для начала, я бы попробовал поменять вложенность циклов:на
А потом играть вариантами:
(128>>i) <=> (1<<i)
(fp[FONT_HEIGHT] - k - 1) <=> k
Это будет тем или иным образом разворачивать выводимые байты.
А вообще, для начала, я бы попробовал поменять вложенность циклов:
Код: Выделить всё
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
Это будет тем или иным образом разворачивать выводимые байты.
поменялось но не то
надо что бы начинало с последнего байта 8 бита потом предпоследнего байта 8 бита и так до самого первого
и опять с последнего байта 7 бита до 1 байта и тд
надо что бы начинало с последнего байта 8 бита потом предпоследнего байта 8 бита и так до самого первого
и опять с последнего байта 7 бита до 1 байта и тд
Последний раз редактировалось mixa232323 Пн сен 25, 2017 10:22:47, всего редактировалось 1 раз.
Ну не то, так не то. Картинок я до сих пор не увидел, так что гадать что именно там не то, не буду.
- Реклама
Я уже написал - нужно пробовать:mixa232323 писал(а):надо что бы начинало с последнего байта 8 бита потом предпоследнего байта 8 бита и так до самого первого
и опять с последнего байта 7 бита до 1 байта и тд
- менять биты в байте: (1<<i) против (128>>i)
- менять направление лево-право: j против swd - 1 - j
- менять горизонтальные блоки в символе: k против fp[FONT_HEIGHT] - 1 - k
Какая-то из этих восьми комбинаций даст правильный символ.
P.S. Сделал картинки, чтобы было понятнее:
Оригинальный вывод: Меняем биты в байте: Меняем направление лево-право: Меняем горизонтальные блоки в символе:
телефон пришел в себя сфотал
у меня вот так
Добавлено after 6 minutes 56 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
первый это 9 второй 1
Добавлено after 8 minutes 39 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
направление заполнения
у меня вот так
Добавлено after 6 minutes 56 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
первый это 9 второй 1
Добавлено after 8 minutes 39 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
направление заполнения
- Вложения
-
- 1.rar
- (784.16 КБ) 235 скачиваний
-
- IMG_20170925_123607.rar
- (855.78 КБ) 285 скачиваний
Как я уже говорил, во-первых, нужно поменять порядок вложенности циклов. Тогда шрифты развернутся на 90 градусов. А уже потом играть указанными параметрами.
поскольку я ничего не понимаю в коде я изуродую код от LS020 чтобы было как у меня
симуляцию для протеуса брать в архиве
симуляцию для протеуса брать в архиве
- Вложения
-
- ampcontrol-m32.rar
- (930.6 КБ) 218 скачиваний
Кстати, в этом случае лучше взять самые последние исходники с 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. По коду более понятно, и плюс можно ещё немножко оптимизировать скорость.
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. По коду более понятно, и плюс можно ещё немножко оптимизировать скорость.
- Вложения
-
- ls020.c.zip
- (2.29 КБ) 174 скачивания
А зачем он мне?
Что готово? Я не вижу там ни строчки инициализации для Вашего дисплея.
вот теперь работает
Добавлено 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
Добавлено 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
- Вложения
-
- ls020.c
- (8.36 КБ) 217 скачиваний
Ну наконец-то.
Заодно проверьте и вариант с поворотом на 180 градусов, работает ли.
Потом сбросите мне рабочий итоговый файл, а я добавлю его уже не как LS020, а с другим именем. За Вами тестирование.
Из возможных оптимизаций - вынесите в отрисовке шрифта и иконок pgmData = pgm_read_byte() чуть выше (из цикла for) - нет смысла читать 8 раз подряд одно и то же.
Заодно проверьте и вариант с поворотом на 180 градусов, работает ли.
Потом сбросите мне рабочий итоговый файл, а я добавлю его уже не как LS020, а с другим именем. За Вами тестирование.
Из возможных оптимизаций - вынесите в отрисовке шрифта и иконок pgmData = pgm_read_byte() чуть выше (из цикла for) - нет смысла читать 8 раз подряд одно и то же.
LS020_ROTATE_180 при отключении не работал я переделал
добавил отключение питания дисплея
Добавлено after 4 minutes 7 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
по поводу оптимизации сделал что знал дальше смотрите сами
если что не так отпишите
Добавлено after 4 minutes 31 second:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
можно еще регулировку контрастности добавить
добавил отключение питания дисплея
Добавлено after 4 minutes 7 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
по поводу оптимизации сделал что знал дальше смотрите сами
если что не так отпишите
Добавлено after 4 minutes 31 second:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
можно еще регулировку контрастности добавить
- Вложения
-
- ls020.c
- (7.57 КБ) 195 скачиваний
- Сообщения: 12
- Зарегистрирован: Сб окт 03, 2015 21:20:34
Приветствую. Коллеги, кто пробовал в версии tda7439 программно реализовать тонкомпенсацию?
На малой громкости НЧ неправильно звучат. Вариант-добавлять усиление НЧ фильтра на 3... 4 дб при знач. громкости менее - 40 дб? Цифры навскидку взяты.
На малой громкости НЧ неправильно звучат. Вариант-добавлять усиление НЧ фильтра на 3... 4 дб при знач. громкости менее - 40 дб? Цифры навскидку взяты.


