Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
80 просмотров и ни одного ответа.
Неужели и впрямь никому не интересно, как читать из фреймбуфера, чтобы управлять спрайтами на TFT?
Я ведь изначально весь этот проект написал только чтобы понять, как сделать падающие снежинки на TFT у погодной станции на AVR )
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Возможно, стоило выложить здесь на форуме описание (достаточно подробное и на русском) и ссылку на видео работы (то что у вас по 2 ссылке за 5 минут так и не загрузилось).
Реализовано управление спрайтами для AVR на TFT экране под управлением ST7735. Сложность заключалась в том, что хранить содержимое фреймбуфера в оперативной памяти МК не реально (это порядка 40 килобайт), а имеющиеся библиотеки оказались, во-первых, очень медленными, а во-вторых, не позволяли читать фреймбуфер из видеоконтроллера.
Работа по SPI была реализована через USART MSPIM, так как он, в отличии от аппаратного SPI ATMega328P (на которой выполнялось исследование) имеет буферизацию передатчика, что уже дало существенный прирост в скорости обмена. Все критичные участки написаны на ассемблере. Обмен по SPI оформлен в виде библиотечных функций в файлах ST7735_spi.c и .h.
Управление спрайтами так же оформлено в виде библиотечных функций в файлах ST7735_sprite.c и .h. Данная поддержка включает обработку коллизий с границами экрана, но коллизии между спрайтами или спрайта со статическим объектом должны определяться извне. Альфа канал для отрисовки спрайтов, естественно, поддерживается. В данном прототипе размер спрайтов ограничен 128 точками (256 байтами).
В качестве примера использования спрайтов была написана простенькая игра, подобная старой Arcanoid.
Как уже писал выше, изначально задачи написать игрушку не было. Хотелось просто разобраться как использовать спрайты для оформления экрана.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.
Не ошибается только то, кто ничего не делает.
Тот, кто признает свои ошибки, на них учится.
Глупец же, упорствуя в своих заблуждениях, остается глупцом.