Открыть список
Как стать автором
Обновить
11
Карма
0,1
Рейтинг

Пользователь

Плавность хода, шум и момент шагового двигателя при управлении микроконтроллером

драйверы от тринамика посмотрите, там помимо step/dir и выбора режима микрошага, как у a4988/drv8825, есть uart/spi и куча регистров внутри
и с установками тока и всякой диагностикой.

Разгоняем оптрон до сотни

цены производителя,
Price (100-499)
LTC6752 $2.25
ADuM121N $1.01 (150MBps, Output Rise/Fall Time tR/tF 2.5ns, Pulse Width min 6.6 ns)

Один бинарник, любое окружение. Магия чистого C

https://github.com/jart/cosmopolitan/blob/0.3/libc/sock


ssize_t sendto(int fd, const void *buf, size_t size, uint32_t flags,
               const void *opt_addr, uint32_t addrsize) {
  assert(sizeof(struct sockaddr_in) == sizeof(struct sockaddr_in_bsd));
  if (!IsWindows()) {
    if (!IsBsd() || !opt_addr) {
      return sys_sendto(fd, buf, size, flags, opt_addr, addrsize);
    } else {
      struct sockaddr_in_bsd addr2;
      if (addrsize != sizeof(addr2)) return einval();
      memcpy(&addr2, opt_addr, sizeof(struct sockaddr_in));
      sockaddr2bsd(&addr2);
      return sys_sendto(fd, buf, size, flags, &addr2, addrsize);
    }
  } else if (__isfdkind(fd, kFdSocket)) {
    return sys_sendto_nt(&g_fds.p[fd], (struct iovec[]){{buf, size}}, 1, flags,
                         opt_addr, addrsize);
  } else {
    return ebadf();
  }
}

USB на регистрах: bulk endpoint на примере Mass Storage

ну не то что бы совсем не позволяют, есть костыли которыми с кэшами ФС в виндах вроде побороться можно.
https://www.uwe-sieber.de/ntcacheset_e.html


и "поток", и уж тем более "состояние" можно было бы и из "файла" с MSD забирать с отключенным кэшем. да и события поллить можно.
так что на MSD оно вполне ложится: параметры поправил прямо в конфиг файле на "устройстве",
созданием/удалением всяких lock файлов (с обоих сторон) можно всякими небыстрыми процессами управлять, а если прибор быстрый, то просто по получению SCSI_READ можно всё что надо померить и данные сразу же отдать.
да, со стороны железки немного коряво выглядит, зато со стороны ПК вообще ничего не надо: "проводником" виндовс последовательный порт не откроешь, наследие ДОСа в виде copy //./COM1 ххх, в обе стороны одновременно плохо работает.
а вот файл открыть чем угодно можно не написав ни строчки кода для этого.


ну и если не MSD, следующий "шаг" это поднять "сетевую карту" через USB и там уже через http/nfs/samba/… отдавать данные.

USB на регистрах: bulk endpoint на примере Mass Storage

драйвера писать совсем не хочется.
речь была про виндовс.
gnuplot конечно здорово, а теперь давайте это будет, например, вольфрамовская математика, где можно было бы сделать
data=Import["F:\data.txt"]
без вызова всяких дополнительных обёрток которые данные заберут из CDC и положат в файл.
и такая "эмуляция" MSD будет на самом деле работать кроссплатформенно, хоть в OS/2 без дополнительных плясок с бубном.

Как подружить монетизацию сайта с AdBlock. Кейс Habr.com и Roxot

Некоторые издатели (Medium, Digiday, Wired и т.д.) используют ad walls: частичное или полное перекрытие контента при использовании блокировщика рекламы. Согласно Statista, 34% пользователей не смущают такие условия, особенно если контент уникальный.

а остальные 66% просто закроют вкладку — "Великолепный план, Уолтер. Просто о##енный, если я правильно понял."

USB на регистрах: bulk endpoint на примере Mass Storage

да, именно так и сделано, некая измерительная железка которая время от времени около килобайта данных за раз отдаёт по нажатию пользователем кнопки, CDC, скрипт на lua обработки/сохранения и gnuplot для отображения.


но тут граждане учОные какой только дичью не пользуются вроде origin, igor, labview,… так вот выдать им тупо "флэшку" с которой надо только файл с данными открыть было бы куда проще, чем делать всякие разные обёртки для каждого случая.

USB на регистрах: bulk endpoint на примере Mass Storage

мешает виндовс у пользователей железки.
ну и какой-то протокол городить всё равно придётся.

USB на регистрах: bulk endpoint на примере Mass Storage

ну вот если бы не костыли с файловым кэшем в виндах, то с масстораджем никаких протоколов со стороны ПК не надо вообще, хоть каким-угодно матлабом/математикой/гнуплотом сразу файл открывай да смотри данные.
да хоть по сети шарь, cdc да и usb вообще тоже конечно можно, но не без плясок с бубном.

USB на регистрах: bulk endpoint на примере Mass Storage

а почему бы и нет? надо данные — открыл файл и читай.
там единственные грабли это заставить винды каждый раз при новом обращении не из кэша данные брать, а с "флэшки".

Одноплатник Pimoroni Tiny 2040 — улучшенный аналог Raspberry Pi Pico, размером всего в треть «малинки»

выводы io надо было как на leechi pi делать, отверстия с 2.54мм, а Castellated по краям с 1.27мм.

Три года я работал в VSC – и переключился на Lite

не конкретном в крестике дело, пусть будет перетаскивание табов мышкой чтобы их местами можно было поменять, тайлинг нескольких окошек и т.д. все эти мелочи надо руками поверх голого sdl изобретать.

Три года я работал в VSC – и переключился на Lite

минимализм это конечно здорово, но вот закрывать окошко не нажатием крестика на вкладке, а командой из консоли уже немного перебор имхо, хоть какой-то минимальный гуй должен быть.


вот тут https://github.com/franko/lite-xl попытались это немного починить.

Радиация: детекторы. Часть первая, газоразрядная

что значит погибнуть? а закон сохранения заряда?
измерение 5фА конечно непрятная задача, но измерение ровно тех же 5фА в 1см3 не особо приятнее, и уж точно не в 5000 раз, а вот чувствительность будет в 5000 раз меньше. ну ладно пусть не 5000, а 2000, раз 1/e 65% "погибнут" за эту же 1 секунду.

Радиация: детекторы. Часть первая, газоразрядная

фон в 10мкР/ч в 5л это 10e-5[Р] х 2e9 х 5000[мл]/3600[с] = всего 30 000 электронов в секунду, ну или 5фА.
напряжение увеличить немного придётся чтобы растащить и они обратно сразу же не рекомбинировали, но вот вероятность что эти 30000 электронов/с в объёме 5л рекомбинируют с "чужим" ионом — имхо слишком маленькая.
при напряжении ~100В/0.1м, если я не напутал с подвижностью, средняя скорость у зарядов будет как раз около 0.1м/с то есть "время жизни" около секунды пока до стенки не долетит.
30000 ионов из ~10^23 молекул в 5л, пусть даже с длиной свободного пробега в 0.1мкм он 3e9 раз с кем нибудь столкнётся пока до стенки летит, всё равно вероятность рекомбинировать — около нулевая.

Радиация: детекторы. Часть первая, газоразрядная

Тогда падение напряжения на этом резисторе при мощности дозы 1 Р/ч составит 9,3 мВ и это значение вполне можно измерить.

1Р это доза при которой 2e9 ионов воздуха образовываются в одном кубическом сантиметре,
что мешает вместо 1 кубического сантиметра взять 5л бутыль обмотанную фольгой в качестве ионизационной камеры и получить в 5000 раз выше чувствительность?

Как я собрал «умный» органайзер для электронных компонентов

ну а что делать если обычно задать можно только 4/8 различных адресов i2c для конкретного устройства через подтяжку к земле/питанию пары ног, а посадить на одну шину надо таких 256 устройств? i2c "хабы" имхо ещё бОльшие костыли.

Как я собрал «умный» органайзер для электронных компонентов

а он стоит почти на порядок дороже самого мелкого МК на котором можно то же самое изобразить.

Как я собрал «умный» органайзер для электронных компонентов

а вторую задачу "подсветить коробочку с конкретныму положением" и решать особо не надо, если кто-то будет следить что коробочки возвращаются на места — светодиоды не нужны
— "алиса, где к155ла3"
— "что такое к155ла3? в ячейке D7"

Как я собрал «умный» органайзер для электронных компонентов

можно, но у ws2812 "адресуемость" заключается в "очерёдности" соединения, а не уникальный id привязанный именно к ячейке, вне зависимости от её положения.

Информация

В рейтинге
2,976-й
Зарегистрирован
Активность