пересчет изображения на графическом ЖК индикаторе

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Коллеги.
Имеется графический ЖК индикатор TIC154A с разрешением 132х64 пиксела.
В памяти МК сделан буфер экрана этого ЖК, на котором и разворачивается изображение.
Адресация в индикаторе побайтная как показано на рисунке:

Изображение

При написании текста горизонтально - все легко и гармонично.
Требуется придумать изящный алгоритм (просто идею) для ВЕРТИКАЛЬНОГО вывода текста.
Символы текста в знакогенераторе (программно адресуемом участке программного флеша).

В буфере экрана в МК адресация сплошная, как у телевизионной развертки. Слева направо - сверху вниз.

Спасибо за содействие.
Реклама
petrenko
Друг Кота
Сообщения: 5326
Зарегистрирован: Вт фев 21, 2012 13:51:55
Откуда: Начинающий
Контактная информация:

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение petrenko »

Знакогенератор скольки-битные символы "воспринимает" ? И сколько*сколько пиксел "выдаёт" ?
Можно сделать вторую таблицу для знакогенератора ( если есть куда её разместить ).
То есть 1-й набор символов для вывода "вдоль", а второй - для вывода "поперёк".
Если идея пригодится - не забудьте о том сообщить, ибо любопытно - получится / не получится .. Ok ?
< виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Текущее положение моей мысли аналогичное. :)
Пока сделал буфер для одной выводимой поперечной строки и пытаюсь ее элегантно переписать в общий буфер.
Символ 8*6.
Строка длиной в 64 пиксела.
Сегодня мозги уже кипят.
Завтра с утреца продолжу.
Спасибо. :beer:
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение kalobyte »

тебе текст вертикально что ли выводить?
везьми матрицу символа и поверни ее на 90 градусов
http://coderlife.ru/progr/povorot-matri ... .html#CCPP
тематические ответы только в форуме, в приват не пишите
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение Gudd-Head »

Во, интересная задачка :) подумаем
КРАМ писал(а):Символ 8*6.
А расстояние между символами? Я к тому, что выводиться будет как на рисунке (один символ в двух "строках"), или по символу на "строку"?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Между символами зазоров нет, но это не важно.
В общем случае текст выводится построчно вертикально. Т.е. число строк может быть произвольным. Как и место расположения этих строк по ширине дисплея (вправо-влево).
Смысл всего этого геморроя состоит в том, что нужно показывать по три параметра на канал, а каналов 5 и они ориентированы по ширине дисплея. Т.е. получаются колонки по 25 пикселей. Иначе как по длине колонки вывести 5 разрядные три числа никак не получается.
ЗЫ. Вообще то я уже кое что наваял за утро сегодня. Но пока не дебажил. :)
Реклама
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение Gudd-Head »

КРАМ писал(а):текст выводится построчно вертикально
Эээ... Ну да ладно. Ясно, что надо транспонировать матрицу пикселей символов и поменять процедуру вывода в буфер МК.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение pyzhman »

Может проще не крутить, а разработать хитрую формулу перерасчета адресов? По идее, если пользоваться 16-ричной системой, то наверняка проследится некая зависимость. Подобная бяка использовалась еще на старом добром Спектруме.
Docendo discimus
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Дима тут дал ссылку на переворот матрицы.
Но проблема в том, что матрицы никакой нет... Это монохромный дисплей и у него пиксель - это БИТ. А битные операции не имеют адресации бит...
Если писать на Си не обращая на это внимания, то код становится ужасным...
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение Gudd-Head »

КРАМ писал(а):А битные операции не имеют адресации бит...
Вот-вот. Битовая операция не может принять номер бита в качестве аргумента, я правильно понял?
Может, тогда самому наклепать такую? :))) И ещё хотелось бы определиться с платформой (МК). У 8051 вроде был богатый набор битовых команд.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Платформа...
dsPIC33FJ128MC802
:)
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение Gudd-Head »

А что в итоге надо получить?
Подпрограмму, которая будет поворачивать на 90° символ и помещать его (к примеру) левый верхний угол в указанные координаты (пиксель) [X;Y], не затирая другое содержимое?
Или что-то более общее?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Программу не обязательно. Достаточно описания идеи. Глобальный алгоритм без детализации до команды. Только не просто "переворот матрицы". Это даже не идея для данного случая.
Я могу описать собственную идею к которой пришел, но хотелось бы не сбивать чужую мысль.
Поворачивать ничего не нужно. Нужно выводить в БУФЕР (в ОЗУ МК) уже повернутый текст. Можно конечно предварительно делать что угодно, если нужно. Но окончательно нужно выводить некое число (у меня - частоту) с поворотом на 90 градусов.
Буфер я потом сбрасываю в индикатор as is.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение Gudd-Head »

КРАМ писал(а):Нужно выводить в БУФЕР (в ОЗУ МК) уже повернутый текст.
Я всё равно не понимаю в чём затык. В том, что экран — это не матрица байт, а одномерный массив? Или в том, что в одном байте могут быть части двух символов?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Psych
Опытный кот
Сообщения: 848
Зарегистрирован: Ср мар 02, 2011 07:47:39
Откуда: Уфа

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение Psych »

Почему бы свой знакогенератор не наклепать....уже повернутый??? Место мало в мк?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Это не одномерный массив, а массив байт. Т.е. по 8 пикселов. И каждый байт может содержать одновременно части разных символов. И не просто может, а обязательно содержит, поскольку ориентация символов поперечная.
Обратите внимание на рисунок вверху. Там все понятно.
Сейчас я делаю буфер на строку символов в которую пишу как обычно: побайтно. И символ занимает ровно 6 байт (колонок).
А потом стягиваю эту строку в общий буфер сдвигами в перенос и одновременными сдвигами из переноса в байт. А затем этот байт уже переношу в общий буфер.
Получается три вложенных цикла. На одну колонку (байт), на одну строку (байтную) в общем буфере и на 8 байтных строк в общем буфере.
Так двигаюсь по буферной строке я переворачиваю ее на 90 градусов поэлементно (побайтно).
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение Gudd-Head »

КРАМ писал(а):И каждый байт может содержать одновременно части разных символов. И не просто может, а обязательно содержит, поскольку ориентация символов поперечная.
Ну так берём байт из буфера где уже есть один символ, и делаем лог. ИЛИ (если пиксель поджигается от "1") его с другим символом.
Или я тупой и что-то не понимаю.
Или надо самому начать что-то выводить под 90° чтобы понять суть подводных камней.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Psych писал(а):Почему бы свой знакогенератор не наклепать....уже повернутый??? Место мало в мк?
Он у меня и так свой. Только вот это ничего не меняет. Из-за байтной, а не битной организации памяти в ЖК и буфере экрана в МК.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25359
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение КРАМ »

Gudd-Head писал(а): Или надо самому начать что-то выводить под 90° чтобы понять суть подводных камней.
Думаю, да.
Сам вывод поперек байтных строк требует сложной и запутанной адресации частей символа в пересекаемых им байтах.
Лично у меня соображения на такой способ не хватило.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: пересчет изображения на графическом ЖК индикаторе

Сообщение Gudd-Head »

КРАМ писал(а):Из-за байтной, а не битной организации памяти в ЖК и буфере экрана в МК.
1. Изначально 1 символ (6×8) занимает 6 байт. Так?
2. Предположим, что мы повернули (у нас есть) повёрнутый символ (8×6) который занимает 8 байт. Так?
3. Задача в том, как его вывести в произвольном (фиксированном) месте?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Ответить

Вернуться в «Умные мысли»