реклама на сайте
подробности

 
 
> libusb и асинхронные операции
SM
сообщение Jun 6 2009, 11:51
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Такой вопрос. Как я понимаю, для булок в либусб есть только вот это:

int usb_bulk_read(usb_dev_handle *dev, int ep, char *bytes, int size, int timeout);

А я хочу сделать большой и длинный write, и в параллель ему пустить большой и длинный read (на каждые два полученных слов девайс отдает одно обратно). И что делать? Вижу два выхода. Первый - в одном треде дать write, в другом read. А как оно, жить-то будет? либусб нормально мультитредность переносит? Второй... Пока не вижу... Есть ли в либусб асинхронные операции ? И какие есть альтернативы либусб вообще?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Harbour
сообщение Jun 8 2009, 10:01
Сообщение #2


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Так можно - главное чтобы libtclxds.so не содержала в себе libusb ни в каком виде, токмо как в dynamic linked, неважно через какие промежуточные либы. А то что Freeware или ХренWare - если недоступны исходники, то уже нарушаем LGPL.

А гембель в том, что никто модуль этот собирать сам не будет, по причине того что binutils/gcc/kernel headers мало у кого стоит - и придется или как у Nvidi'и иметь херову тучу уже собранных или писать инсталлятор. тут наступаем на новые грабли, так как у юзеров N^N вариантов конфигурирования ядра, X^Y вариантов binutils/gcc - будут присылать неудачные логи, придется их разгребать и решать одни и те же вопросы, которые давно описаны в факе, который, в свою очередь никто не читает ... и все это на расплодившемся множестве дистров ... вобщем волосы дыбом на одном месте обеспечены.

То ли дело бинарная libusb - кинул и забыл
Go to the top of the page
 
+Quote Post
al333
сообщение Jun 9 2009, 08:25
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 27-09-05
Пользователь №: 8 995



Цитата(Harbour @ Jun 8 2009, 14:01) *
А гембель в том, что никто модуль этот собирать сам не будет, по причине того что binutils/gcc/kernel headers мало у кого стоит - и придется или как у Nvidi'и иметь херову тучу уже собранных или писать инсталлятор. тут наступаем на новые грабли, так как у юзеров N^N вариантов конфигурирования ядра, X^Y вариантов binutils/gcc - будут присылать неудачные логи, придется их разгребать и решать одни и те же вопросы, которые давно описаны в факе, который, в свою очередь никто не читает ... и все это на расплодившемся множестве дистров ... вобщем волосы дыбом на одном месте обеспечены.

То ли дело бинарная libusb - кинул и забыл

Если дело касается "крутых" убунтоидов, то возможно headers нет, а так Nvidia со своего сайта выдает sh-скрипт в котором и открытые исходники и уже собранные. Главное прописать зависимости. Ну и для каждой версии ядра придется проверять.
И поэтому,на мой взгляд, если в твоей закрытой проге супер навороченные функции, то лучше модуль. Ну, а если тебя устраивают libusb-функции, то лучше libusb. Статически слинкованный тоже обращается в конечном итоге к ядру, поэтому уж лучше модуль.
Go to the top of the page
 
+Quote Post
SM
сообщение Jun 9 2009, 08:44
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(al333 @ Jun 9 2009, 12:25) *
И поэтому,на мой взгляд, если в твоей закрытой проге супер навороченные функции, то лучше модуль.


У меня оказывается все еще хуже. А именно вот что (вырезка из лицензии на то, что есть в модуле)

You shall maintain the source code portions of the Licensed Materials under password control protection at a secure location and shall not disclose such source code portions
of the Licensed Materials, or any portion or derivative thereof, to any third parties. You shall not (i) incorporate, combine, or distribute the Licensed Materials, or any derivative thereof, with any Public Software, or (ii) use Public Software in the development of any derivatives of the Licensed Materials, each in such a way that would cause the Licensed Materials, or any derivative thereof, to be subject to all or part of the license obligations or other intellectual property related terms with respect to such Public Software, including but not limited to, the obligations that the Licensed Materials, or any derivative thereof, incorporated into, combined, or distributed with such Public Software (x) be disclosed or distributed in source code form, be licensed for the purpose of making derivatives of such software, or be redistributed free of charge, contrary to the terms and conditions of this Agreement, or (y) be otherwise used or distributed in a manner contrary to the terms and conditions of this Agreement. As used in this Section 1©, ”Public Software” means any software that contains, or is derived in whole or in part from, any software distributed as open source software, including but not limited to software licensed under the following or similar models: (A) GNU’s General Public License (GPL) or Lesser/Library GPL (LGPL), (cool.gif the Artistic License (e.g., PERL), © the Mozilla Public License, (D) the Netscape Public License, (E) the Sun Community Source License (SCSL), (F) the Sun Industry Standards Source License (SISL), (G) the Apache Server license, (H) QT Free Edition License, (I) IBM Public License, and (J) BitKeeper.


Т.е. жестоко запрещено любое приближение к public software, которое тянет за собой какие-то лицензионные требования, противоречащие этой лицензии. Т.е. придется делать лицензию на мой модуль в соответствии именно с этой лицензией, из которой выдержка. А там из серии "только на одном компе, только одна бэкап-копия, только для использования в целях отладки и программирования определенных процессоров, и т.п.". Бред, конечно, для фриварной программы, которую можно свободно скачать с сайта производителя, но... Что поделать...

Касаемо Tcl - там в TCL-лицензии вроде как вообще ограничений нет, типа копирайты не трогай, и делай что хочешь. Таким образом, распространяя TCL рядом с этим модулем хоть под такой аццкой лицензией, хоть под родной, я ничего вроде не нарушаю, так как TCL на меня вообще ничего не налагает, а вот LGPL - это уже другой вопрос, особенно с учетом того, что я не лучшим образом понимаю юридические тонкости англоязычных документов.

Блин, офтопик сплошной получитлся... Выделить бы как это в "вопросы лицензирования". И не ясно в какой раздел...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- SM   libusb и асинхронные операции   Jun 6 2009, 11:51
- - Harbour   async режим поддерживается в libusb-1.x, как уже б...   Jun 7 2009, 07:50
- - SM   А вот такой вопрос - ее лучше статически прилинков...   Jun 7 2009, 08:59
- - Harbour   До спины как ее линковать, если не стоит вопрос с ...   Jun 7 2009, 10:50
|- - SM   Цитата(Harbour @ Jun 7 2009, 14:50) До сп...   Jun 7 2009, 12:01
|- - al333   Цитата(SM @ Jun 7 2009, 16:01) Где скачат...   Jun 7 2009, 20:03
|- - SM   Цитата(al333 @ Jun 8 2009, 00:03) 3. lgpl...   Jun 7 2009, 21:04
- - Harbour   Гы , не конает - коммерческая программа, не должна...   Jun 8 2009, 09:34
|- - SM   Цитата(Harbour @ Jun 8 2009, 13:34) Гы , ...   Jun 8 2009, 09:41
|- - SM   Цитата(Harbour @ Jun 8 2009, 14:01) То ли...   Jun 8 2009, 10:12
- - Harbour   процент разрабов всегда сурьезно меньше чем юзеров...   Jun 8 2009, 19:35
- - Harbour   следовало бы с работодателем эти вопросы оговорить...   Jun 10 2009, 05:57
|- - SM   Цитата(Harbour @ Jun 10 2009, 09:57) след...   Jun 10 2009, 07:09
- - Harbour   Дык, если сам себе босс - то нафига канитель ? GPL...   Jun 11 2009, 06:14
- - SM   Цитата(Harbour @ Jun 11 2009, 10:14) Дык,...   Jun 11 2009, 06:42


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 4th August 2025 - 23:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.07182 секунд с 7
ELECTRONIX ©2004-2016