Приключения с LineageOS + Magisk

На своем телефоне я использую вместо официальной прошивки LineageOS в связке с Magisk root (эдакий волшебный инструмент получения рута, с которым сохраняет работоспособность Android pay). И тут можно радоваться еженедельным апдейтам каждый понедельник (для моего Oneplus 5T). Тут надо заметить, что у lineage апдейты не имеют обыкновения ломать систему. И все было хорошо, пока последнее майское обновление не “окирпичило” телефон. Как выяснилось, Lineage тут был не при делах – косяк был в Magisk (стоило его убрать и все заработало). В этой заметке я расскажу об эпичном фейле в Magisk, а так же приведу ссылку на исправленную версию Magisk’а, не превращающую телефон в тыкву кирпич.

Continue reading “Приключения с LineageOS + Magisk”

OnePlus 5T Dock with NFC

Некоторое время назад, я добыл себе телефончик OnePlus 5t. (В основном, потому, что он поддерживается прошивкой LineageOS). Так что теперь самое время запилить для него хорошую подставку, что я и сделал. Как обычно, исходники и .stl файлы можно скачать у меня на страничке в thingiverse.

Continue reading “OnePlus 5T Dock with NFC”

Самодельный музыкальный центр с веб-интерфейсом

В этой заметке я расскажу про мой самопальный музыкальный центр с веб-интерфейсом и усилками, который я некоторое время поставил себе в кабинет на даче (или, эту комнату лучше будет назвать “лабораторией”?) Исходники всего этого безобразия прилагаются в конце заметки.

Continue reading “Самодельный музыкальный центр с веб-интерфейсом”

Избавляемся месива проводов в ванной

Было у меня в ванной три девайса: бритва, триммер для бороды и электрическая зубная щетка. И к каждому свой блок питания, и каждый надо заряжать. И традиционно, в один прекрасный день ты обнаруживаешь, что что-то из этого не заряжено, а из-за частых перетыканий блоки питания представляют собой месиво из проводов, как на левой части фотки. В какой-то момент меня это достало капитально и я решил с этим что-то делать. Ставить еще две розетки ради блоков питания очень не хотелось, ровно как и оставлять их постоянно включенными, да и полочка под это дело нужная была. Потому я вооружился алиэкспрессом и 3д-принтером и решил сделать немного иначе. Результат можно видеть на правой части картинки, а куча подробностей, как это собиралось в блоге.

Если кому интересно, то 3д-модельки всего этого хозяйства можно скачать бесплатно, без смс и регистрации у меня на thingiverse.

Continue reading “Избавляемся месива проводов в ванной”

Новогодняя светодиодная мигалка

Примерно 40 минут убитого времени и в итоге имеем новогоднюю цветомузыку на работе. Использовалась та базовая платка для ТВ-стиков, модуль с OpenWRT, и немного новогоднего быдлокода.

Музыка – кавер на Despacito от 2cellos.

Всех с праздниками 😉

“Клонируем” сложные детальки при помощи сканера, 3д-принтера, inkscape и freecad

В этой небольшой заметке я расскажу на примере напалчника, как при помощи планшетного сканера, inkscape и freecad изготавливать копии сложных деталей, которые при помощи линейки и штангенциркуля не образмеришь. Так же методику можно использовать для того, чтобы делать корпуса для печатных плат сложной формы, к которым у нас не было чертежа. В виде примера я возьму свой напалчник для стрельбы из классического лука (вернее одну из его частей).

Continue reading ““Клонируем” сложные детальки при помощи сканера, 3д-принтера, inkscape и freecad”

Пытаемся сдружить симуляторы Verilog и ctest

Если Вы программист, которому по долгу службы пришлось испачкать руки Verilog/SystemVerilog – первое что приходит на ум – заюзать какую-нибудь штатную запускалку тестов. Если бы разработка велась на myhdl то можно было бы использовать все то добро, что сделано для unit-тестирования кода на python.

Но если мы используем самые что ни есть классические инструменты, проект достаточно большой, с кучей разных библиотек и IP ядер из разных концов света, велик шанс, что простых скриптов на bash/csh для запустка тестов маловато. Да и не хочется тратить драгоценные минуты жизни на переизобретение велосипеда, когда можно использовать что-то готовое.

В этой заметке я расскажу, как интегрировать verilog симуляторы со стандартными запускалками тестов, на примере ctest (Из комплекта cmake) и какие грабли нас ждут при этом.

Continue reading “Пытаемся сдружить симуляторы Verilog и ctest”

MediaDeb: Debian для китафонов чипах MediaTek

В этой заметке я расскажу о том, как превратить старый убитый китафон на чипе MediaTek, пылящийся на полке, уже даже без обновлений от производителя в… сервер под управлением Debian Stretch! Оную операцию я проделал для UMI-X2 и iOcean X8, и прошивки для оных и можно скачать по ссылке у меня в блоге. Учитывая, что типичный китайский телефон уже давно имеет по четыре, а то и десять процессорных ядер и 2GB оперативной памяти, а то и больше, результат получается намного более производительным, чем тот же Raspbberry PI, при схожем окружении.

Continue reading “MediaDeb: Debian для китафонов чипах MediaTek”

Грабли препроцессора Verilog HDL

Небольшая заметка о том, как работают include и define в Verilog HDL.   Вопреки ожиданиям, они работают совершенно иначе, чем в большинства языков программирования. В маленьком проекте с этим можно не столкнуться, но в более или менее большом проекте, где есть лицензированные/скаченные с OpenCores блоки от этого поведения можно очень больно огрести. (Я долго искал подходящую картинку, но лучше этой не нашел)

TL;DR: Определенные однажды макросы глобальны, и передаются из одного файла в другой в том порядке, в котором файлы передаются компилятору/синтезатору.

Continue reading “Грабли препроцессора Verilog HDL”