?

Log in

No account? Create an account
 

kincajou — литература — ЖЖ

About Уничтожить всех уродов

Игрушечка 1 сент, 2019 @ 02:14
https://dan-ball.jp/en/javagame/dust/

Нашёл её, когда безуспешно пытался разыскать библиотеку (но не специальный софт за 100500 денег, который может всё и даже больше), желательно на Цэ, которой можно было бы без хлопот посчитать движение облака частиц ненулевого размера, с некоторой липкостью/упругостью, в газовой среде или в вакууме. Постепенно пришёл к понимаю, что задача, похоже, не простая и готовое решение стоит 100500 денег, может всё и даже больше...

worklog: продолжаю распутывать библиотеку STM32 USB Device Library 14 ноя, 2017 @ 09:44
...и всё крепче уверенность в том, что её писала группа весьма необщительных товарищей, слабо заинтересованнных в успехе их совместного дела.

Например, заведена структура типа PCD_HandleTypeDef - хэндлер, который собсно и абстрагирует физический интерфейс. В ней там внутри много чего интересного, в т.ч. два массива структур типа USB_OTG_EPTypeDef. Массивы на карте обозначены бувами IN_ep[] и OUT_ep[], соотв. они реализуют "абстрактное представление" конечных точек. Внутри них тоже много чего.. и вот тут уже начинается реально смешное.

Вероятно, кто-то решил, что оторвать индекс в массиве от реальной конечной точки - неплохая идея. Ну, то есть,. предположим, что нам нужно всего две точки, но по каким-то эстетическим соображениям мы не хотим оптимально использовать железо, поэтому это будут не EP1 и EP2, а совсем даже EP5 и EP6. То есть IN_ep[1] это будет EP5, а OUT_ep[2] это будет EP6, например. Чтобы никто не догадался, нахрена так усложнять, в структуре USB_OTG_EPTypeDef есть поле num, скрозь которое и можно было бы так сделать... но, насколько я вижу, даже те функции, что непосредственно перемещают данные между абстрактной абстракцией и реальным железом, получают прописанный в явном виде параметр epnum, полностью игнорируя это вышеобозначенное поле. Зачем оно такое надо? Я не знаю.

Кроме того, внутри USB_OTG_EPTypeDef есть поле is_in, в которое прописывается 1 для конечных точек направления IN и 0 для OUT. Но я пока не вижу, чтобы это поле всерьёз где-нибудь использовалось (в хэндлере-то всё равно два отдельных массива с явно заданным направлением!).

И это далеко не все признаки расщепления сознания у тех, кто всё это писал. Например, тащемтаСвернуть )

Всё под нож! Всё!

Upd: несколько дней возни вслепую и паникующего отчаяния -- и вот я уже дошёл до того, что нужно написать коллбэки для обработчика прерываний на почти все возможные ситуации, начиная от события "обнаружен VBus", заканчивая "получен пакет данных от хоста", и затем уже приступать к реализации конкретного драйвера класса. Зато я теперь примерно представляю, как же это таинственное USB устроено внутри (хотя бы применительно к семейству STM32F7).

Как один чистильщик обуви миллионером стал. 29 май, 2011 @ 16:31
Дело было в Америке. Один маленький мальчик работал на улице чистильщиком обуви. Он очень старался делать своё дело хорошо. Так старался, что даже школу прогуливал, но зато у него всегда была самая лучшая вакса, лучшие щётки и тряпочки и он помнил всех своих клиентов, подбирая к каждой паре обуви оптимальные чистящие средства. Он собирал каждый цент, отказывая себе во всём. И когда он скопил примерно десять долларов, внезапно оказалось, что его дальний родственник, дядюшка из Оклахомы, умер - оставив мальчику в наследство несколько миллионов долларов. Вот так маленький мальчик, работавший чистильщиком обуви, стал богатым и успешным.

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

Вы делаете мне удивительно 7 май, 2009 @ 21:43
Ё-маё. Написал, что не пью - куча комментов.
Написал что-то про безалкогольное пиво - куча комментов.
Нарисовал восхитительные иллюстрации к своей изумительной книжке - ... ну, комменты есть, да. Но где восторг?! где пиар, например? :)

Пью топлёное молоко "Можайское" за ваше здоровье.

VHDL 30 май, 2006 @ 00:06
Прелесть, что такое!
Нихрена, правда, не получается, но это дело наживное. Главное - идея. Не, в самом деле, ничего особо сложного. Взял туториал из книжечки и модифицировал его. Изначально там был просто "светофор", переключающий три светодиода по такту от внешнего источника (кнопка, пока без антидребезга), а я ишшо добавил дешифратор для семисегментного индикатора. И всё работает :) Осталось понять, как пользоваться DCM.

Попутно открыл для себя AC/DC. И чего я их раньше не слушал?
И слушать прикольно, и играть просто (относительно). Когда получился рифф из "Dirty Deeds" (он простой, да. Но для меня пока этого достаточно), это был КАЙФ!

Thunder!
Музыка: AC/DC - Thunderstruck
Top of Page Разработано LiveJournal.com