Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года

Доступ к драйверу для нескольких приложений

Вы не вошли.

 Поиск | Регистрация | Вход 

Василий
16.04.2015 16:25:27
#1

Гость

Доступ к драйверу для нескольких приложений

Здравствуйте!
Существует ли возможность одновременного использования драйвера для нескольких приложений?
Если нет, то где можно найти исходники драйвера для доработки?

17.04.2015 12:48:59
#2

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Доступ к драйверу для нескольких приложений

с разными модулями/платами  или одним?  Сервер напишите.  Исходники Linux  версии лежат на сайте в Библиотек файлов.

17.04.2015 13:18:57
#3

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: Доступ к драйверу для нескольких приложений

Позволю себе чуть подробнее раскрыть совет Poul.
Если речь о том, чтобы одновременно работать с одним и тем же устройством, то в общем случае такая задача едва ли решается, поскольку устройство физически одно и его состояние зависит от предыдущих операций.
Чтобы получилось что-то осмысленное, надо фактически придумать протокол более высокого уровня, учитывающий логику вашей задачи и сообразно ей ограничивающий и сериализующий действия приложений (например, одно приложение управляет, а второе только наблюдает копию данных, или одно работает только с ЦАП, а второе только с АЦП). Вспомогательная программа, реализующая такой протокол, и будет "сервером" (демоном, службой).

Василий
17.04.2015 17:46:01
#4

Гость

Re: Доступ к драйверу для нескольких приложений

Спасибо за ответ!
Да, именно с одним устройством. Чтобы программа могла запросить у драйвера блокировку на ресурс (например, отдельный канал АЦП). Понимаю, что с такой постановкой задача усложняется вплоть до того, что возможно придется писать кастомную программу для DSP, установленного на плате (из-за того, что данные для разных каналов никак не разделены в адресном пространстве).
Так же хочется оставить совместимость с другими приложениями, работающими с L-780M. (возвращать L_ERROR из функции, которая пересылает ADC_PAR/DAC_PAR с описанием запрошенных каналов драйверу, в случае, если они уже используются кем-то).

17.04.2015 18:37:02
#5

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: Доступ к драйверу для нескольких приложений

Так и настройки, и старт-стоп АЦП тоже общие. То есть такое разделение должно быть 1) кооперативным и 2) существенно ограниченным в функциях по сравнению с монопольной работой.
Заставить работать два приложения, написанные для стандартной библиотеки, одновременно с одним устройством не получится.
Отсюда идея с промежуточным сервером: с устройством через драйвер работает одна программа, которая в свою очередь предоставляет приложениям некий свой собственный интерфейс.
Например, можно разбирать поток данных по каналам и отдавать их разным клиентам (с одной частотой или даже с разными, если делать программную передискретизацию). Как формировать управление, тоже зависит от задачи: от монопольного (только одно приложение имеет право устанавливать параметры, запускать и останавливать АЦП) до однорангового (но, видимо, с большими ограничениями и блокировками).

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск