Telegram Web Link
Как разработчик софта для ембеда, периодически дорываюсь до железа.

На этой неделе моей жертвой стал PWM-контроллер PCA9685, который должен был крутить несколько моторов SG90 и один SG5010.

Шаг первый. Настройка. PCA9685 имеет 4 адреса, на которых может слушать на I2C-шине. Как правило, производитель раздает адреса 40-43h или 70-73h. За то, какой адрес будет активен, отвечают первые 4 бита регистра MODE.

Подумав, что это будет интересно - записать в MODE 0, я так и сделал. В результате чип пропал с шины со всех адресов и даже не помахал на прощание.

Приуныв, но изучив мануал, я нашел решение - специально для таких дебилов производитель разрешает подать на питающую ногу 0.2V, после чего чип делает factory reset.

Чип на свою голову вернулся и даже один раз крутнул мотор. Но потом потащил плату, она ударилась задницей об ethernet-шилд малины, к которой всё это было подключено и весело задымилась.

После осмотра выяснилось, что к счастью сгорел только CJ2305 - МОП, отвечающий за защиту от переплюсовки. Дальше было некоторое время чудес - контроллер прекрасно крутил 2 мотора SG-90, но напрочь отказывался работать с SG5010.

Причина выяснилась только на следующий день - труп транзистора пропускал достаточно ампер, чтобы питать два SG90, но на один большой SG5010 его не хватало. После повторого осмотра платы, выяснилось что её производитель тоже предусмотрел средство для дебилов - специально возле дохлого МОП-а с платы выведено два контакта, которые ни с чем не контачат, зато на них удобно напаять жучок.

После чего всё наконец заработало. Пойду-ка я лучше код писать...
Одним из своих первых указов, Дональд Трамп отменил Agile.
Внезапно перевел все наши продукты с jemalloc на mimalloc.

Битва аллокаторов - вечный холивар, расскажу свои соображения, а вы добавьте в комментариях.

- Причина, почему я вообще дернулся в смену аллокатора - клиенты начали ставить новый Raspbian, а там CONFIG_ARM64_16K_PAGES по-умолчанию включены. Jemalloc с 16кб-страницами по-умолчанию не работает и просто крешится на старте

- У jemalloc есть опция выбора максимального размера страницы, которую нужно постоянно включать при компиляции в environment variables. В случае, если размер страницы меньше, чем заданная, есть небольшая пенальти в работе. У mimalloc никаких опций нет, оно работает плюс-минус всегда одинаково

- Оба аллокатора я уже не раз гонял в работе, они используют похожие алгоритмы, но по-разному имплементированные. В результате, одни задачи могут быть быстрее на jemalloc, другие - на mimalloc, но в среднем всё будет одинаково и разницу не заметите. На моих задачах mimalloc всё же дает плюс в пару %

- У mimalloc есть "secure"-режим для параноидальных клиентов, который позволяет обходить известные методы атаки на кучу еще до того, как в системе нашли очередную дырку

- Бинарники с mimalloc примерно на 500kb легче
В связи с трендом на cyber security, в промышленность и энергетику начинают проникать решения, которые еще недавно даже у военных пылились в нафталине, где-то между перфокартами и 8" дискетами. Но теперь оно - тренд и знать желательно.

Диод данных (он же однонаправленная сеть) - сеть, в которой пакеты ходят только в одном направлении. Простейший диод можно собрать самому, например взяв оптическое подключение и отстрелив трансмиттеры.

Такая сеть ломает практически все протоколы, но зато ее саму невозможно поломать (в смысле - отправителя). По сути всё что проходит - только UDP (из коробки - например SNMP traps), остальное можно в это UDP инкапсулировать, например SMTP (без подтверждения доставки) и вообще любой push сообщений, или pub/sub, если нужно только pub с одной стороны, или только sub, но всегда на определенные топики, с другой. Когда мы регистрировали свой PSRT, в IANA нам намекали на плюсы такого функционала и хорошо что было время имплементировать. Впрочем, я тогда больше думал о сети, которая не может принимать данные в силу обрезанного embed-стека.

Модель Белла-Лападулы - модель мандатного управления доступом, еще простая, но уже более сложная, чем просто взять и обрезать-инкапсулировать готовые протоколы. Которая как раз реализуется с помощью диодов данных. К счастью, пока практических запросов не было, сетевики клиентов не могут понять и принять даже более простые диоды.
Media is too big
VIEW IN TELEGRAM
Быстрая демка веб-дашбордов в EVA ICS v4.

Главный успех, которого добились в конце прошлого года - расширения создаются одним вызовом npx и сразу рабочие. А не так, как у некоторых.

Всё это есть в комьюнити-версии, поставить и пользовать можно бесплатно.
Пишут, на следующей неделе Трамп собирается подписать указ о переименовании main обратно в master.

Make GitHub great again.
Китайский ИИ DeepSeek за один день покорил Уолл-Стрит, потому что упорно отказывается программировать на С++, а значит имеет сознание
This media is not supported in your browser
VIEW IN TELEGRAM
Deep Seek отказывается отвечать на вопросы, связанные с площадью Тяньаньмэнь, но фильтр там писали набранные по объявлениям - как только в тексте встречается "Tiananmen Square", он тут же затирается и бот перестает отвечать.

Цензуру обойти очень просто - я попросил бота называть площадь "Pooh Square" и он тут же мне выдал всё, о чём думает.
ну это уже слишком
Вынужден сообщить что покинул украинское Rust сообщество (как организацию а не как сообщество) из-за разногласий с руководством. В их чатах меня больше нет, если ко мне какие-то персональные вопросы, можно задать в чате этого канала.

https://www.tg-me.com/echo_ok
Знакомое место
А ваш Rust так умеет?
Когда делали по ТЗ заказчика
"Наша камера выдаёт до 1920*1080 и до 25 fps". Также камера

camera 0:
640x480 25fps
800x600 20fps
1280x720 10fps
1920x1080 5fps

Формально все честно, но есть нюанс.
Starting in May 2025, Skype will no longer be available. Over the coming days you can sign in to Microsoft Teams Free with your Skype account to stay connected with all your chats and contacts. Thank you for being part of Skype

Таки закапывают, уже и дата есть.
- Наше поколение совершит революцию!
- Ваше поколение не может определиться, мужчина вы или женщина!
- Зато наше поколение не поздравляет с днем рождения картинки, которые генерит ИИ
2025/06/30 04:52:17
Back to Top
HTML Embed Code: