Прямой эфир

0
Я как то использовал всегда O_NONBLOCK
Но это все одно и то же
# define O_NDELAY O_NONBLOCK
  • avatar
  • OlegG
  • 29 октября 2020, 11:35
0
man fcntl
F_SETFL (int)
Set the file status flags to the value specified by arg. File access mode (O_RDONLY, O_WRONLY,
O_RDWR) and file creation flags (i.e., O_CREAT, O_EXCL, O_NOCTTY, O_TRUNC) in arg are ignored.
On Linux, this command can change only the O_APPEND, O_ASYNC, O_DIRECT, O_NOATIME, and O_NONBLOCK
flags. It is not possible to change the O_DSYNC and O_SYNC flags; see BUGS, below.

/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h
# define FNONBLOCK O_NONBLOCK
# define FNDELAY O_NDELAY
  • avatar
  • OlegG
  • 29 октября 2020, 11:32
0
Это вы ещё с IrDA в linux не работали.
  • avatar
  • _dlinyj_
  • 28 октября 2020, 11:57
0
По поводу fcntl и F_SETFL
не должен ли быть там третий аргумент O_NONBLOCK?
  • avatar
  • OlegG
  • 27 октября 2020, 21:58
0
Вы в другой теме дали ссылку на схему зарядки. Так вот там на выходе стоят конденсаторы 4шт по 270мкФ. Наверняка LowESR. Беру первый попавшийся даташит на lowesr 35 вольт алюминиевый конденсатор. импеданс у него 40миллиом. 4 шт параллельно — это 10миллиом.
После выходных конденсаторов стоит транзистор устройства защиты. Снова смотрю в даташит 2,4 миллиома. Порылся в интернете нашел что хороший заряженный автомобильный аккумулятор имеет внутреннее сопротивление порядка 5миллиом.
Допустим зарядили один аккумулятор, устройство осталось во включенном состоянии. Это значит, что на выходе около 14 вольт. Компаратор не при делах — он не может определить откуда к нему на вход идет напряжение — с зарядного или с аккумулятора.
Итого имеем 14 вольт на выходных конденсаторах и включенный транзистор защиты.
Тут на вход подключаем аккумулятор в обратной полярности. Это значит напряжения складываются и общее напряжение равно 26 вольт. И это напряжение приложено к 10 + 2.4 + 5 миллиомам сопротивления. Ток должен быть ОЧЕНЬ большой, хотя и кратковременный.
У вас же токи порядка 50А судя по времени разряда конденсатора в 1000мкФ. 26вольт/50А = 0,5 ома!!! Это наверное очень разряженный аккумулятор. Вот что я имею ввиду, когда говорю о малых токах. Ограничение тока зарядным здесь не при делах. 1000мкФ выходных конденсаторов стоит уже после шунта.
А если зарядное — это чистый источник тока, то все еще хуже. Выходной импеданс очень большой. При подключении неправильной полярности выход зарядного резко провалится в минус на несколько микросекунд, пока транзистор не отключится. Собственно с этим то и боролись ...
Также то же самое и с КЗ. Токи там раза в 3 больше — ампер 150. Опять таки судя по скорости разряда выходных конденсаторов
Это опять таки не согласуется с расчетами. Кратковременный ток должен быть 14В/(10 + 2.4 миллиома). Тысяча ампер однако.
  • avatar
  • OlegG
  • 27 октября 2020, 20:10
0
Обратите внимание, что это защита зарядного устройства. При переполюсовке или при К.З. ток ограничен зарядным током, который поддерживает зарядное устройство. Если таким образом попытаться защитить источник напряжения, то могут возникнуть проблемы, о которых Вы говорите. При повторном подключении защита отключится только тогда, когда на V_OUT напряжение будет правильной положительной полярности и больше 5.6 Вольт. За этим следит VD4.
  • avatar
  • CreLis
  • 27 октября 2020, 17:01
0
Статья хорошая, реализация компорта в линухах — говно. В масдае и то на порядок лучше сделано.
Моя думай — это настоящие пирограмисты вымещали свою ненависть к пра-а-а-ативнаму железу. Ничем другим маниакальную страсть загнать всё многообразие компьютерных потрохов в свинцовые тиски концепции потока — объяснить нельзя.
  • avatar
  • Gornist
  • 27 октября 2020, 11:46
0
Какой то ток маленький при переполюсовке. По прикидкам ампер 50. У автомобильного внутреннее сопротивление 5мОм. Там токи должны быть очень большие.
Ток КЗ тоже как то маловат. Целых 100мкСек разряжается 1000мкФ. На дорожках что ли падает.
По идее схема повторяет схему с реле. Только это реле убыстрили. Недостаток у нее такой же — при повторном подключении, если оно неправильное, валит огромный ток. Здесь процесс выключения ускорен. Но сверхтоков это не отменяет.
  • avatar
  • OlegG
  • 27 октября 2020, 11:22
0
Просто некоторые могут подумать, что закрытие окна терминала будет завершение сессии, но это не так.
  • avatar
  • _dlinyj_
  • 26 октября 2020, 14:34
0
Не надо все ssh сессии, просто в новых будет новое, в старых — старое, если мы сидим несколькими сеансами ssh на одном сервер (а зачем? tmux/screen отменили?). Ну а в случае X'ов надо логаут-логин, конечно, там все процессы от одного корня живут.
Но перезагружаться вместо логаута (ssh, консольного или X/Wayland) — это винда какая-то получается :-)
0
Спасибо.
  • avatar
  • _dlinyj_
  • 26 октября 2020, 13:28
0
Потружусь пояснить для читателей, что возмущает blacklion .

Для того, чтобы изменения применились, необходимо завершить сеанс. Но поскольку завершение сеанса в разных случаях может означать разное (завершение сеанса всех ssh-сессий, либо через графический интерфейс завершить сеанс), написал что следует перезагрузится. И тот и тот вариант применит изменения, но не всегда есть возможность сделать перезагрузку.
  • avatar
  • _dlinyj_
  • 26 октября 2020, 13:27
0
Стаття супер. Познавательно и доступно.
  • avatar
  • bdpcvit
  • 24 октября 2020, 01:42
0
Перезагружаемся?! Вы серьёзно?!
0
А что ты этим сказать-то хочешь? Тут нет ничего по теме статьи.

А еще я поискал первоисточник и посмотрел о чем разговор. А разговор о том, что автор додумался вызывать прерывание с периодом 16 тактов на процессоре, где вход плюс выход занимают 19-24 такта, и оно почему-то не работает. И да, этим прерыванием он тактировал мигание светодиодиком.
  • avatar
  • Vga
  • 23 октября 2020, 16:50
0
Configurable CBUS I/O Pin. Function of this pin is configured in the
device internal EEPROM. Factory default configuration is TXDEN. See
CBUS Signal Options, Table 3.9.
  • avatar
  • Amigo
  • 08 октября 2020, 11:58
0
«На вход в прерывание уходит ДЕВЯТЬ тактов, и на выход из прерывания уходит ТОЖЕ ДЕВЯТЬ тактов. Итого имеем 18 тактов только для того чтобы войти и выйти из прерывания. Когда прерывание-то должно выполняться?
Потом. смотрим в проекте „examles/tim4“ ассемблерный файлик „main.lst“. Это результат работы SDCC. И в первой строке обработчика прерывания _IRQ_Handler_TIM4: видим строку:
137 div x, a
Где спрашивается на Си я вставлял в обработчик прерывания операцию деления? Вы знаете сколько тактов занимает операция деления в STM8?! Да, за такой компилятор убивать мало!
И да, отдельный поклон индусским программистам что написали SPL. За идею вызывать из прерывания функцию очистки флага установи прерывания „TIM4_ClearITPendingBit(TIM4_IT_UPDATE)“ — руки надо отрывать.»
(с) @flankerus / count-zero ru
  • avatar
  • ave101
  • 05 октября 2020, 00:48
0
В моём окружении практически нет программистов, кто бы использовал белый фон. Слабо себе это даже представляю. То же касается и 2D CAD систем. Те, которые я использую, всегда с чёрным фоном. Точнее говоря, не с чёрным RGS(0,0,0), а близким к нему в зависимости от тёмной темы. Поэтому, кстати, плагин для Eclipse с тёмной темой — один из самых популярных. Я его и на TI CCS IDE поставил. Все терминалы с тёмным фоном. Мессенджеры по возможности тоже с тёмным фоном: ВКонтакте, Телеграм, Discord.
С белым фоном у меня просмотрщики документов, браузеры и математические программы.
  • avatar
  • uni
  • 01 октября 2020, 20:06
0
Идея с черным полем мне тоже непонятна. Хрен с ним сколько он там занимает места, не это главное. Как по мне, это нагрузка на глаза, и причем серьезная. Как то пробовал работать в черном поле, меня, вернее моего терпения хватило не надолго. На днях установил пробную версию Компас 3D V17, там тоже разработчики изменили интерфейс до неузнаваемости, стал чем то похож на Autocad. Поле стало непривычно черно-белым. Вернулся на прежнюю версию.