переезд |
если вдруг кому-то это интересно - продолжение на http://amper91.blogspot.com/
ли.ру уже не торт
|
uvcvideo |
и сразу же запись о том, как я победил линукс
уже давно есть такая проблема - невозможность использования одновременно двух вебкамер под v4l. при попытке заюзать вылезает ошибка "ERROR 28 - No space left on device"
связано это с тем, что драйвером выделается один буфер на ВСЕ камеры, в результате весь буфер заполнен только одной камерой, даже если используется не весь.
варианта тут два:
1 - подключить камеру к другой шине USB (если есть).
у меня шина всего одна (NM10 все 8 портов на одной шине держит), поэтому пойдем по второму пути.
2 - патчинг драйверов
так как у меня UVC камера, то и будем патчить драйвер uvcvideo
долгий гуглинг привел к такому патчу:
diff --git a/drivers/media/video/uvc/uvc_driver.c b/drivers/media/video/uvc/uvc_driver.c
index a1e9dfb..53e0847 100644
--- a/drivers/media/video/uvc/uvc_driver.c
+++ b/drivers/media/video/uvc/uvc_driver.c
@@ -348,7 +348,7 @@ static int uvc_parse_format(struct uvc_device *dev,
strlcpy(format->name, "MJPEG", sizeof format->name);
format->fcc = V4L2_PIX_FMT_MJPEG;
format->flags = UVC_FMT_FLAG_COMPRESSED;
- format->bpp = 0;
+ format->bpp = 4;
ftype = UVC_VS_FRAME_MJPEG;
break;
@@ -461,10 +461,16 @@ static int uvc_parse_format(struct uvc_device *dev,
* uncompressed formats this can be fixed by computing the
* value from the frame size.
*/
- if (!(format->flags & UVC_FMT_FLAG_COMPRESSED))
+ if (!(format->flags & UVC_FMT_FLAG_COMPRESSED) ||
+ (format->type == UVC_VS_FORMAT_MJPEG))
frame->dwMaxVideoFrameBufferSize = format->bpp
* frame->wWidth * frame->wHeight / 8;
+ printk("---> framesize %ix%i, buffsize %i, bpp %i\n",
+ frame->wWidth, frame->wHeight,
+ frame->dwMaxVideoFrameBufferSize,
+ format->bpp);
+
/* Some bogus devices report dwMinFrameInterval equal to
* dwMaxFrameInterval and have dwFrameIntervalStep set to
* zero. Setting all null intervals to 1 fixes the problem an
однако, это все равно не спасло
дальнейшее гугление дало еще кое-что:
в файле uvc_video.c найти следующее:
if ((!(format->flags & UVC_FMT_FLAG_COMPRESSED) &&
stream->dev->quirks & UVC_QUIRK_FIX_BANDWIDTH &&
stream->intf->num_altsetting > 1) {
и изменить так:
if ((!(format->flags & UVC_FMT_FLAG_COMPRESSED) ||
(format->type == UVC_VS_FORMAT_MJPEG)) &&
stream->dev->quirks & UVC_QUIRK_FIX_BANDWIDTH &&
stream->intf->num_altsetting > 1) {
после чего выгрузить драйвер и загрузить с параметром:
rmmod uvcvideo && modprobe uvcvideo quirks=128
после такой процедуры обе камеры спокойно показывают 1280х800
зы: все это прокатило на кернел 2.6.38, хотя патч писался под 2.6.32, видимо с тех пор драйвер не претерпел изменений, и работать будет почти на любом ядре
Метки: linux kernel error patch uvcvideo v4l2 |
Камеры |
Забрал камеры - "глаза"
Теперь будут эксперименты с 3d-реконструкцией
Камеры кстати очень неплохие за свою цену
|
возвращение... |
чет вдруг спустя пару лет захотелось снова написать...
теперь уже суровый линуксоид, почти гентушник, учусь по ИТ специальности, в свободное время кодю игрушки и проектирую роботов... да, иногда еще учусь
как жизнь может повернуться, однако...
скорее всего, дальнейшие записи будут связаны как раз с моими проектами
Метки: хрень |
Линукс... |
После продолжительного воздействия вируса внутри моей сети и заражения практически всего что можно мне это все надоело... Ну и в общем снес я винду с ноута и поставил Ubuntu... Вот так.
|
Неклассическая физика. Введение. |
Настроение сейчас - задумчив...
На сегодняшний день многие технологии - всего лишь усовершенствованные старые, доведенные до какого-либо уровня, более высокого чем ранее. Все это конечно хорошо. Но часто в основе лежат еще "те" методы, методы которые использовались годы, десятилетия, века назад. Изменилась лишь какая-то часть.
Те же электростанции: в начале были торфяные, угольные... В общем что-то жгли и этим теплом нагревали котлы с водой, пар крутил турбины, подключенные к генератору... Что изменилось сегодня? Да ничего. "Грелку" поменяли только. Самые мощные на сегодня - атомные - электростанции: энергию распада ядерного топлива (а она колоссальная) используют для нагревания той же воды. Вот на подходе термоядерный синтез. Уже есть рабочий прототип (правда вот только КПД у него отрицательный - чтобы удержать процесс внутри реактора необходимо куда больше энергии чем пока вырабатывается). В теории он вырабатывает гигантские количества энергии (представьте себе этакое маленькое Солнце). И эта энергия идет на... опять же превращение воды в пар! В итоге КПД таких установок будет вряд ли больше 2-5%... А что если эту энергию другими методами преобразовывать в электрическую? Какими? Пока не ясно. Пока...
Ракеты - в основе всех ракетных двигателей лежит принцип отбрасывания части своей массы. Более 1000 лет назад это придумали в Китае... Современные двигатели - жидкотопливные, твердотопливные - выброс продуктов сгорания топлива; двигатели будущего: термоэлектрические - нагрев топлива и выброс, ядерные - нагрев и выброс, термоядерные - нагрев и выброс... А что, нельзя придумать других методов получения импульса? Используя гравитацию планет, отталкиваясь от нее, или еще что-нибудь. Известен эффект "антигравитации" - если довести свинцовую пластину до состояния сверхпроводника и подвести сверху постоянный магнит, то он останется висеть в воздухе за счет взаимного отталкивания пластины и магнита. При некоторых условиях этим "зависанием" можно даже управлять. Так почему же нельзя в качестве пластины использовать тот же космический корабль а постоянного магнита те же планеты?
Оружие: в основе почти всего стреляющего лежит принцип расширения рабочего тела (при взрыве выделяется много газа) и выталкивание им снаряда. Огнестрельное оружие - заряд пороха в патроне, его взрыв выталкивает пулю из ствола. Артиллерийские орудия - тот же принцип. Пневматика обладает гораздо меньшей энергией снаряда, но ее тоже можно считать оружием. Принцип - сжатый воздух из камеры подается в ствол и выталкивает пулю... А если пулю толкать другими силами? Например электромагнитными? Ведь можно же с помощью магнитных полей заставить объект двигаться. Так почему же не разгонять таким способом снаряд?
Ну и так далее. Видимо для нашей науки еще слишком много неизвестного. Или просто кому-то хочется чтобы все было по-старому... Если в первых двух примерах пока все безнадежно, то в последнем уже есть сдвиги: электромагнитное оружие - рельсотрон и гаусс-ган. Оба типа используют для разгона снаряда силу Ампера перпендикулярную току. Если рельсотрон очень тяжел в изготовлении и рабочие прототипы существуют только в больших институтах и лабораториях, конкретно занятых в данной области, то гаусс-ган сконструировать может практически любой человек достаточно понимающий в физике. Пока правда мощных гаусс-ганов "на коленке" никто не собрал. И это хорошо, потому что в противном случае возникает реальная опасность для окружающих, т.к. лицензированию этот тип не подлежит поскольку официально оружием не является.
|
а теперь 3... |
Ну вот и закончилась эта 3я неделя.
Негативного много, поэтому описывать не буду..
Из позитива: сегодня получил зачет по черчению) это стоило 2,5 недель сидения до 12 ночи... Теперь несколько часов можно отдыхать)
|
2.67 недели студенчества |
А почему не 3?... потому что 3-я неделя еще не кончилась.
Учеба 6 дней в неделю, задают уже так, что сидишь хорошо если до 12 ночи... Немецкий - училка выкинула что тип ее предмет самый главный во всем инсте и нужно над ним сидеть по 8 часов в день, как музыканты сидят со своими инструментами. Ну естественно никто так не делает) максимум полчаса в пятницу перед парой) Черчение - в первый же день задали работу на А3 листе. Наччерталка - вообще капец, училка говорит "вам это читали на лекции вы это должны уметь деллать". А никто не может. А потом ходит и кричит "у тебя не правильно", "у тебя не так" и т.д. И в конце концов начинает кое-как объяснять. Остальное вроде пока ничего...
А вообще иногда уже задумываюсь, а туда ли я пошел...
|
студент |
Ну вот, после долгих мучений, беганий по факультетам (и даже институтам) и многих убитых нервных клеток приказом зачмслен в МГТУ им. Н. Э. Баумана!
Вот никак не дается мне эта робототехника... РК10 - мало баллов... Подал на СМ-11 - опять не хватило... Ну, зачислили на СМ-6 - Ракетные и импульсные системы. Оружие буду делать. Госзаказ. Так что теперь все секретно
|
Без заголовка |
|
Все |
Ну вот, сдал последний экзамен - информатику, по сценарию 9 класса: зашел - взял билет - решил задачу- ответил - ушел гулять с 5.
в итоге - одна 4 за экзамены, по ЕГЭ (чтоб его) матем.... Апелляция большой пользы не дала
Короче, прощай школа!)
Теперь можно серьезно заняться кодингом... Чем, в общем-то, я и начал уже заниматься. WinXP LiveCD - штука полезная, никогда не знаешь когда понадобится...
|
Очередной конец света... |
|
Опыты с бутербродом |
Согласно формулам Маттеуса, решающую роль в том, окажется бутерброд маслом вниз или нет, играет "критический параметр нависания" - того расстояния на которое надо сдвинуть бутерброд со стола, чтобы он начал падать. Для того чтобы бутерброд в воздухе совершил оборот на 360 градусов и упал маслом вверх - этот параметр должен быть больше 6 процентов. Но в простой жизни никто не кладет на стол бутерброд, чтобы он сразу начала падать. Обычно он просто сдвигается на край стола, нависает и падает. И ему не хватает расстояния до пола, чтобы совершить полный оборот и шлепнуться маслом вверх.
Для того чтобы закон Мерфи не выполнялся и бутерброд падал только маслом вверх, стол должен быть трехметровой высоты.
Что можно придумать, чтобы бутерброды не падали маслом вниз? Отъесть сразу кусочек от него, и тогда он сможет совершить достаточное количество переворотов, чтобы упасть маслом вверх. Построить трехметровый стол и есть на такой высоте. Или просто намазать обе стороны хлеба маслом. Есть еще достаточно оригинальный вариант, предложенный читателем журнала Omni: Если кошка всегда приземляется при падении на лапы, а бутерброд всегда падает маслом вниз, то может быть, стоит прилепить бутерброд маслом вверх на спину кошки (тогда кто из них как упадет? на бок? тогда на какой?)
|
Евровидение 2008 |
|