Отображение на дисплее изображений
Порядок действий, необходимых для отображения на дисплее изображений в режиме ViSi среды Workshop4 IDE, схож с порядком задания шрифтов с той только разницей, что в качестве графических объектов используются не шрифты (Strings), а изображения (Image). Для получения дополнительной информации рекомендуется обратиться к [1]. Разрешение планируемого для вывода изображения не должно превышать разрешения дисплея (в нашем случае – 128 × 128 точек). Таким образом, для вывода на дисплей мы можем использовать, например, «иконки» с разрешением 128 × 128 в форматах *.png, *.ico и т.п.

Для записи изображений на карту памяти воспользуемся уже созданным и сохранённым в среде Workshop4 IDE ViSi-проектом Font_Demo. В окне редактора открытого файла исходного текста выбираем в главном меню опцию Widgets, в ней – вкладку System/Media, с неё перетаскиваем мышью на область дисплея модуля иконку Image, как показано на рисунке 17. При этом открывается окно файлов и каталогов, в котором выбираем заранее подготовленный файл с нужным изображением, и выбранная картинка появляется на дисплее. Мышью можно расположить её требуемым образом, заняв весь дисплей или его часть. Далее в исходном коде программы устанавливаем курсор в позицию, куда будут вставлены сгенерированные фрагменты, и кликаем на кнопке Paste Code диспетчера объектов, после чего в области редактора появляется сгенерированный фрагмент кода. Указанные действия можно повторить несколько раз, выбрав несколько изображений и сгенерировав несколько фрагментов (выделены на рисунке 17 красным овалом).
Затем необходимо подключить к компьютеру µSD-карту и далее действовать в порядке, аналогичном порядку записи на неё шрифтов. Из опции Home запускаем компиляцию командой Compile. При отсутствии ошибок компиляции (сообщение в окне внизу – No errors) открывается окно выбора носителя для копирования данных, в поле которого Drive задаём нашу карту и кликом на кнопке OK запускаем запись. Ход записи отображается в окне индикатора прогресса. После завершения записи в заголовочном файле констант Font_DemoConst.inc проекта появятся данные о местоположении записанных графических объектов (см. рис. 18). Область нужных нам данных обведена на рисунке красным овалом. Значение константы iImage1H представляет собой старший байт адреса на карте памяти, где хранится первое из записанных изображений (объект Image1), iImage1L – младший байт и т.д.

Для вывода на дисплей изображения при эмуляции МК действуем в следующем порядке. Передаём команды gfx_Cls, SSTimeout(0), media_Init. Убедившись в корректной инициализации карты, передаём команду задания адреса байта media_SetAdd, предварительно задав в качестве её параметров HiWord и LoWord известные нам значения констант iImage1H и iImage1L из заголовочного файла. В заключение передаём команду вывода на дисплей изображения media_Image, задав в качестве её параметров X и Y числовые значения параметров функции media_Image(X, Y) из исходного текста проекта (см. рис. 17). Указанные параметры определяют место расположения изображения на дисплее.

Примерно такая последовательность команд была сформирована автором в управляющей программе МК Uart_4D.c. Результаты работы программы можно видеть на рисунке 19. Вывод на дисплей нового изображения из трёх записанных на носитель по кольцу производится в программе при каждом нажатии на кнопку SW2 при условии, что в макете установлена перемычка X4.
Воспроизведение видео
Для обеспечения возможности воспроизведения на дисплее видео помимо среды Workshop4 IDE понадобится ещё одно инструментальное средство – программа Graphics Composer, которую можно загрузить по ссылке [2]. Она предназначена для создания мультимедийных объектов: изображений, анимации, видеоклипов в формате *.GCI, поддерживаемом графическими процессорами 4D Systems.
Порядок подготовки и переноса видео на карту памяти подробно изложен в [3]. Действовать надлежит следующим образом. Предварительно нужно подготовить и сохранить исходный видеоклип с разрешением нашего дисплея, воспользовавшись для этого каким-либо конвертером видео. Автор использовал для предварительной конвертации бесплатную программу AVIConverter CHN-EN Package. В документации производителя сказано, что конвертацию разрешения видео можно выполнить и в самой программе Graphics Composer, однако, автору этого сделать не удалось. В качестве входных файлов для Graphics Composer подходят видеофайлы с форматами *.avi, *.wmv, *.vob, *.mpg, *.gif.

Затем в главном окне Graphics Composer, показанном на рисунке 20, кликом на кнопке Add задаём подготовленный исходный видеофайл, выбрав его из открывшегося окна файлов и каталогов. При этом позиция имени файла появляется в поле Entries, а его первый видеокадр – в правой части окна. Если задать несколько видеофайлов, то все они будут сконвертированы и записаны на карту памяти в одном сеансе. В поле Screen size выбираем разрешение нашего дисплея. Значение параметра Bit Depth должно быть задано равным 16. Затем подключаем к компьютеру µSD-карту памяти и кликом на кнопке Build в инструментальной панели (иконка кнопки имеет вид микросхемы, отмечена на рисунке 20 красным овалом) запускаем преобразование формата исходного видеофайла в формат *.GCI. При этом открывается окно файлов и каталогов для задания места сохранения файлов отчётов для создаваемого видеофайла, которое можно задать на диске компьютера произвольно. Затем открывается окно выбора носителя для записи на него выходного видеофайла, показанное на рисунке 21.

В поле Drive этого окна задаём нашу карту памяти. Для нашего модуля отмечаем в поле Build Type опцию 4DGL, SGC Picaso – uSD Raw – GCI at Specified Offset или опцию SGC – uSD Raw, а в поле Sector offset (0x or $ for hex) задаём требуемое смещение от начала адресного пространства RAW-носителя (можно оставить значение по умолчанию). Заметим здесь, что графические процессоры PICASO и DIABLO16 поддерживают форматы данных FAT и RAW, а процессор GOLDELOX – только RAW. Для старта конверсии и запуска записи кликаем на кнопке OK. В случае возникновения запроса от Windows необходимо дать разрешение на изменение файловой системы карты с FAT на RAW. Ход конверсии видеофайла и его записи на носитель отображается в окне индикатора прогресса. После корректного завершения процесса на инструментальной панели меню Graphics Composer становятся активными значки сгенерированных текстовых файлов отчётов с расширениями *.txt, *.gs, *.dat, содержащих константы, характеризующие местоположение медийного объекта в памяти носителя, как показано на рисунке 22.

Кликнув на значке с файлом, можно открыть его в любом текстовом редакторе. В нашем случае нужная информация находится в файле с расширением *.gs, содержимое которого представлено на рисунке 23. Файл содержит параметры команды media_SetSector для каждого из записанных на носитель медийных объектов.

Для вывода на дисплей видео при эмуляции МК действуем в следующем порядке. Передаём команды gfx_Cls, SSTimeout(0), media_Init. Убедившись в корректной инициализации карты, передаём команду media_SetSector, задав для неё параметры из файла отчёта (на рисунке 23 обведены красными овалами). Необходимо заметить, что в файле отчёта на рисунке 23 параметры в команде media_SetSector указаны в шестнадцатеричном виде, а при эмуляции МК их надо вводить в десятичном.
В заключение передаём команду старта воспроизведения видео на дисплее media_Video с нулевыми параметрами. Заданный видеофайл начинает воспроизводиться на дисплее. Звук при этом не поддерживается. По окончании воспроизведения можно снова очистить дисплей командой gfx_Cls. Следует заметить, что во время воспроизведения графическим процессором видеофайла блокируются все другие процессы.
Подобную последовательность команд автор сформировал в управляющей программе МК Uart_4D.c. Воспроизведение на дисплее нового видеоклипа из трёх записанных на носитель по кольцу запускается в программе при каждом нажатии на кнопку SW2 при условии, что в макете снята перемычка X4.
Литература
- 4D SYSTEMS APPLICATION NOTE 4D-AN-00085. Serial Displaying Images from the uSD Card RAW.
- www.old.4dsystems.com.au/prod.php?id=50.
- 4D SYSTEMS APPLICATION NOTE 4D-AN-00045. Designer Displaying Images from the uSD Card GC RAW.
Скачать
Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!