Category: юмор

дыбр, изорнет-поверх-усб

внезапно узнал, что для сабжа есть примерно ТРИ стандарта.
в принципе предсказуемо для любого порождения консорциума, где в главарях интел с микрософтом, но.

первое, самое на слуху, RNDIS - частично проприетарно
Ethernet Control Model (ECM), Ethernet Emulation Model (EEM) - вроде открытые.
Network Control Model (NCM) - еще один.

а еще есть кучка проприетарной хрени с проприетарными вендор специфик (проверил три разные вифи-усб свистка - там еще страшнее).

собственно вопрос. уже самому стало интересно влезть поглубже и разобраться, что проще/удобнее/стандартнее, ECM, EEM, NCM? какие плюсы-минусы? перспективы поддержки итп?

делать буду переходник на клиенте (усб-раб) с усб на стандартный тцп-ип стек, плюс возьму стандартную реализацию dns/dhcp и простого вебсервера для управления железкой (итого, усб-клиент будет симулировать сеть, в которой есть вебсервер с управляющими страницами).

идею симулировать страдж девицу при аккуратном рассмотрении отверг -- проблемы и с внезапным кешированием на стороне ос, и с поддержкой, например, фат12/16/24 и длинных имен. там оно уж очень криво.

Куда применить таймеры от стиральных машин ? :)

Разобрал пару советских стиральных машин. Стал обладателем трех тикающих таймеров. Теперь ломаю голову - что с ними делать ? Выкинуть - сердце кровью обливается. Хранить, чтоб выкинуть лет через 10 - гнилой вариант. А так чтоб вот прям щас и с пользой для народного хозяйства ?
(Можно, конечно, собрать имитатор взрывного устройства. Но боюсь, никто кроме меня самого, юмор не оценит :) Да и вряд ли таким образом удастся утилизировать больше чем пару, и после освобождения встанет вопрос об оставшемся:))

UPD: ПРИДУМАЛ !!!
Ознакомиться с решениемCollapse )

Schematics: The Heroin Of Electronics Design

Доклад "Schematics: The Heroin Of Electronics Design" от Dave Vandenbout на KiCon 2019 заслуживает внимания. Вероятно не все видили этот пост от ramlamyammambam. Использовать Питон для создания принципиальной схемы с помощью утилиты skidl это свежо.



Находка дня: приёмник с усилителем класса D и питанием от антенны

Не могу не поделиться этим чудом:

http://zhurnalko.net/=sam/junyj-tehnik/2009-06--num77

Там схема радиоприёмника на усилителе класса D на КМОП инверторах с питанием от самой же антенны. Жрёт 100 мка.

PS: Сделал копию на я.диск: https://yadi.sk/i/wwwUgvAMR-y5Gg
Tags:

Странные приколы с DMA

STM32F103C8T6

Работает на два канала RS485.

Отправка буфера через ДМА, прием через ДМА. Приемный ДМА работает в кольцо. Все традиционно. Написано вручную, без СПЛ, куба и прочих либ.

Код usart2.c сделан копипастом из usart1.c разумеется поправлены все каналы, адреса и все прочее. Так вот. уарт2 работает отлично. Принимает в буфер, передает из буфера. ВСе как задумано. А вот у уарта1 какие квантовые эффекты с ДМА. Зависимость от наблюдателя.

Т.е. когда я смотрю отладчиком внимательно по брейкпоинтам на настройки ДМА1 канал 5 (прием уарта1), то он принимает в буфер. Все как задумано.

Но стоит переключиться на что-то другое, поставить бряк в задачу, как уже не работает. Без отладчика тоже ничего не работает. Думал копипастнутый уарт2 мешает, где то что то не заметил и дублируется. Убрал его из проекта вообще. Не помогло О_о.

Беглым тестированием понял, что у меня почему то самопроизвольно выключается бит ENable у дма1 канал 5 при приеме данных по уарту. Причем по аппаратному приему, гдето на этапе заполнения. Код же буфер трогает только по таймеру и вообще пока этот все выключено.

Да, вращается все на FREERTOS, но ее апи не задействовано нигде вообще в этом коде.


Апдейт:
Короче, кажись разобрался. У ДМА где то зарыта аппаратная защита(!!!) от неправильных настроек. Есть там регистр CCR вот первый бит его это EN. B вы хрен его поставите если не настроите остальные параметры. Причем если вы запишите остальные биты ВМЕСТЕ с настройками, единым числом. То на одном канале это может прокатить, а на другом нет. Или прокатит, но как то частично и свалится в другом случае. Когда ДМА вдруг поймет, что ее наебали, загрузили все биты сразу и сбросит бит ЕН и даже вручную его взвести будет нельзя пока заново не перенастроишь ВСЕ остальные биты. Вот шиза то...

АПдейт2
Нет, нифига. Дело не в этом. Хм...

Апдейт.
Все, кажись нашел. Тут кроме правильного порядка еще важно вручню приводить все типы данных и маски в размер.

Т.е.
Channel->CCR |= 1<<5;
и
Channel->CCR |= (uint16_t)(1<<5);

имеют значения. Т.к. важен порядок записи битов в регистр. EN должен сниматься первым и записываться последним. Одновременно нельзя. В результате оптимизатор может решить запихать биты побайтно и перепутает порядок.

Акустика, у мониторов и в WC

В любом другом сообществе, подобную постановку вопроса,
или не поймут физику явления,
или к ТС дружески прилепят клеймо `сдвоенное расстроение личности. интересный случай, правда девочки?'



В чём вопрос, собственно.
Имеются две раздельные комнаты, зал и WC.
В зале играется на усилителе Labtec LCS-1070 2x10W (легенда, выпущенные в 2000 и о которых до сих пор продолжают писать восторженные отзывы на Amazon.com) на мониторах Panasonic SB PM 01 2x15W.

Описание происходящего:
Когда на самой малой громкости слушаются композиции рядом с монитором,
ясно слышно всё, но плоско. Объема звука и атмосферы зала - нет.

Раз, случайно зашёл в WC и услышал совсем иное звучание.
Плотная две четверти работа большого барабана, не гулкие стены, а именно насыщенный звук.
Стоит выйти из WC лишь на метр - звук такой пропал.

Вопрос:
И как теперь жить с этим, сидеть уткой в сортире и объявить себя особенным меломаном?

Вот собственно, контрольная композиция с драйвом большого барабана

Пятничное.

сижу, вожусь с одним дивайсом. Нашёл к нём позорнейший баг, исправил, запустил. Выключил. Пью чай.
Смотрю в терминал - и вижу, что с ВЫКЛЮЧЕННОГО устройства идёт поток данных
Вот такойCollapse )

Не иначе, рептилоиды с Нибиру вышли на связь

Субботняя байка старого электронщика

В далекие 80-е я был дуб-дубом в аналоговой технике работал электронщиком в типографии; но самые ответственные работы выполняли более взрослые дядьки. Вот прихожу я однажды утром, а они там сидят в полном составе, в грязных белых халатах (это была наша спецодежда) и с красными глазами. На столе полная пепельница окурков, а рядом - коробка с таким же количеством выкушенных из платы мертвых ОУ К140УД1. Сдохла машина, печатавшая ночью тираж главной городской газеты; их вызвали чинить. Неисправность тиристорного привода главного двигателя. На малой скорости печати стартует нормально, а когда начинаешь её увеличивать - при достижении некоторого порога горят все ОУ в блоке управления.
Короче, что оказалось. Запускать машину можно только на минимальной скорости, а потом очень плавно добавлять или снижать. Поэтому управление скоростью было реализовано кнопками + и -, а они включали сервомотор, который перемещал движок регулировочного резистора. Причем последний был огромный и какой-то самопальный, как и весь привод: производство печатных машин в СССР было гражданской (а значит - бедной) отраслью.
Сервомотор был асинхронник на 220 вольт с редуктором. С ДПТ тогда тоже была напряженка. И вот движок этого переменного резистора терся о проходивший мимо провод питания его мотора. Ну и перетер изоляцию, в конце концов! При добавлении скорости движок в определенной позиции наезжал на провод и подавал на схему 220B))))
К тому же там имелась защитная схема, которая при следующем включении питания возвращала движок в начальное положение, "заметая следы"; и эта схема не пострадала.
Смонтировано это было так тесно и неудобно, что найти причину смогли только в середине дня.
Сроки печати газеты были сорваны, так что потом в типографию приходила комиссия из комитета коммунистической партии)