Category Без рубрики

Драйвер RFM70

Для очередного своего ненужного безумного проекта писал драйвер для RFM70 радио приёмо-передатчика под STM32F100RB ARM контроллер.  Драйвер ещё не дописан но принимает/отправляет байтики исправно.
Ссылка на репозиторий: https://bitbucket.org/L_proger/rfm70cpp

Ах да, если у кого-то баттхёрт о том, что дрова нельзя писать на С++  (или по сути прошивки на МК), то лучше не переходить по ссылке выше и код не смотреть.

По мере использования RFM70 буду дописывать драйвер, по-позже закину в реп пример использования.

I’m back.

0
0

STM32VLDISCOVERY

А сегодня я ещё приобрёл забавный борд – STM32VLDISCOVERY.  На борту у неё 32 разрядный ARM контроллер STM32F100RB, Cortex™-M3, 24 MHz, 128 Kbytes of Flash,
8 Kbytes of SRAM.

Куча пинов выведено наружу, что меня дико радует ) Можно очень дофига всего прицепить! Доволен покупкой, сейчас займусь изучением )

0
0

Raspberry Pi

А я вот приобрёл эту штуковину.  Оказалость, что тут питание подаётся через micro USB, которого у меня нет. Вот фейл (   Придётся БП покупать и кабель :  А так вообще система радует – 700 MHz CPU, 512 MB RAM, HW 3D (OGL ES 2.0), совсем неплохо )

0
0

Керамический нож

Давно хотел купить керамический нож – посмотреть что он вообще из себя представляет, насколько крут и юзабелен.

Приобрёл вот такой недорогой вариант:


Нож оказался весьма качественным, не просвечивается (хорошо закалён), сколов на режущей кромке нет. Режет вообще шикарно – нарезал всё что лежало в радиусе метра от меня 😀  Весьма забавная штуковина. 

0
0

Softrender: update

Посидел немного над софтрендером и таки привёл его в юзабельный вид )

0. НАКОНЕЦ-ТО руки дошли сделать frustum clipping! 🙂  Теперь всё рендерится абсолютно корректно.  Клиппинг производится в 4D clip space по 7 плоскостям.
1. Пофиксены различные баги
2. Проект перенесён в IDE QtCreator и портирован под линукс, в котором и идёт разработка.
3. Дописан класс окна под линукс и класс таймера.
4. Добавлена простая система ввода (2 класса)
5. Добавлена поддержка индексированной геометрии  (собсно ради кеша и памяти)
6. Добавлен вершинный кеш в пайплайн растеризатора!Теперь если вершина лежит в кеше, то оттуда она и берётся и не трансформируется снова и снова ) Красота.
7. Добавлен альфа-тест и туман, введён FFP режим билда (когда шейдерные фичи блокируются и включаются FFP, ещё добавил Ambient освещение  (включение, цвет).
8. Пофиксил семплинг текстур и прикрутил его в FFP режим.

Ну и перенёс разработку на Bitbucket.org ! Под Mercurial.  Очень радует своей отличной работой, всё клёво.  Репозиторий общедоступен, но я не оставлю здесь на него ссылку, т.к. там сейчас дичайший говнокод и смотреть его нет смысла, как и юзать, ибо там ещё и FPS пока никакущий.

0
0

Software rendering:continued

Один друг попросил допилить мой софтварный 3D рендерер на С++ чтобы написать на нём игру.  Собсно в свободное время сейчас этим и занимаюсь. Ну наконец-то я прикрутил клипинг полигонов моим растеризатором по фрустуму в Clipping Space-е.  Всё работает шикарно )  Давно там есть шейдеры, но другу они как-то оказались наоборот не нужны. Вркучиваю и подобие FFP : )

Давно не занимался софтрендерами, оч радует пока )

0
0

Проект #2

Для начала хочу ещё раз немного поиграться с нейронными сетями. Пока более детально изучаю работу мозга, в частности строение неокортекса. Хочу реализовать что-то сложнее простого многослойного перцептрона как в прошлый раз, осталось придумать реальное применение и собственно написать для него НС.
0
0

Проект

После долгих раздумий остановился на одном варианте.

Всё уже решено – выбран проект, который будет мною реализовываться на моём же движке.
Это будет почти “RPG”, онлайн, возможно в будущем ММО даже. Но не сначала.

Но это не совсем игра, это будет симулятор! Симулятор того, чего человечество ещё не совершало.  Надеюсь, это будет настолько же эпично, насколько оно сейчас в моих планах.

Информации о проекте в ближайшее время поступать от меня не будет, тема, сеттинг и т.п.  -временно в тайне.

0
0

gumstix и секс мозга при буте с NFS

Недавно занялся разработкой одного интересного драйвера под  gumstix-ы и первое, что мне понадобилось – собсно, загрузить сам gumstix,  точнее загрузить в него linux )

№;%:?*()(:%%:;№;:?*(?)(*;№:№;(_(№*;:;”(№_”(*):?;%№!!!!!!!!!!!!
Нет никакой нормальной поддержки по нему, туториалы все кривые, проблемы вообще никак не описаны, ничерта не понятно 😀  Наталкиваюсь на проблему, гуглю – она у _многих_ и _ни одного_ ответа )  Поэтому все проблемы, которые решил _сам_ – буду описывать здесь, в этом посте, дабы те, кто занят этим же, смогли нагуглить решение без геморроя.

(список буду обновлять по возможностям)

1.  Бут девайса по сети! (gumstix network booting)

Такой режим загрузки необходим при активном девелопинге под gumstix, особенно если это драйвер (простые проги можно собирать прямо на самом gumstix-е).  Собрал драйвер, закинул в rootfs, нажал reset на gumstix-е и чотко же, он мгновенно подтягивает пропатченный линукс.
Проблемы:

а. Девайс грузится, однако доходит до определённого момента:

Starting Network connection manager daemon: NetworkManager.
nfs: server 192.168.xxx.xxx not responding, still trying
Собсно, nfs сервер и не должен тут отвечать! Почему? Ды первая строка и объясняет – запускается  NetworkManager и перенастраивает сеть (а изначально настройки задаются в параметрах окружения загрузчика uBoot)! После чего nfs благополучно отваливается.  Для того, чтобы просто запустить линукс, можно сделать такой хак, какой я додумал (да, я не линуксоид и мне сложновато было допереть где тут что):

идём в рутовую файловую систему gumstix-а в папку /etc/init.d/ и открываем файл для редактирования   NetworkNamager.  В самом начале файла дописываем exit 0 


Таким образом  NetworkNamager не сможет запуститься и даст вам возможность загрузить наконец linux.  Дальше уже можно прям из под линукса настроить как надо NetworkManager ) 

0
0