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


SCILAB+LINUX+ E-440

Вы не вошли.

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

Alex_NSTU
02.04.2010 10:04:02
#1

Гость

SCILAB+LINUX+ E-440

Пытаюсь разработать модуль ввода/вывода информации с платы e440 в SciLab (это открытый эквивалент MatLab и Simulink  www.scilab.org). Сборка ведется под Ubintu 2.6.32. драйвера собрались и запустились.
Однако дальше обнаружились проблемы:
1. Текст мануала под linux ldsp1208.pdf датирован 2001 годом и уже весьма далек от того,что есть в библиотеке (начиная отсутвием хидеров на которые ссылается дока,заканчивая устройствами /dev)...
2. очень хотелось бы иметь example работы с этой платой из дод linux - это сняло бы множество вопростов.
3. Возможно, для  linux-developer//'s было бы удобнее иметь просто описание API поверх драйверов - что в устройство нужно записать чтобы что-то получить (разумеется, это все есть в исходниках драйверов,но это лишнее время разбирать чужой текст и звнятие неблагодарное...)

Спасибо, с уважением, Алексей Колкер. Технический Университет, Новосибирск.

02.04.2010 10:54:38
#2

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

Re: SCILAB+LINUX+ E-440

Не совсем понятно причем тут ldsp1208. Актуальные драйвера для linux - lcomp_linux.tgz. Мануал по lcomp_linux.tgz внутри самого архива как и примеры работы....

Alex_NSTU
02.04.2010 11:10:22
#3

Гость

Re: SCILAB+LINUX+ E-440

Комплект ПО для разработки приложений (SDK)
                                                               Windows 98/Me/2000/XP
L-264/L-305/L-1221/L-1250/L-1450/L-761/L-780/L-783/L-791/E14-440/E14-140/E20-10/E154

02.04.2010 11:18:44
#4

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

Re: SCILAB+LINUX+ E-440

Там все унифицированно...

М.Кондрин
03.04.2010 19:56:56
#5

Гость

Re: SCILAB+LINUX+ E-440

Какое там в линуксе API. Смех один - ioctl(2) и mmap(2). Насколько я представляю, вам в scilab понадобиться создать буферную подгружаемую библиотеку, которая будет преобразовавать параметры из скриптового окружения в параметры ioctl, и передавать данные из mmapped массива. Параметры ioctl действительно лучше всего в драйвере посмотреть (ldevusbu.c, ldevpcib.c, ldevpciu.c). Но там действительно все стандартно - DIOC_SETBUFFER (параметры буфера), DIOC_SETUP (параметры ADC) DIOC_START(запуск) DIOC_STOP (остановка).

Хотя мне, кажется, автором драйвера стоило бы добавить туда ещё один метод - poll. Потому что не в кажом скриптовом языке можно дополнительную нить создать для проверки готовности данных. А так - задал poll/select на файловый дескриптор устройства, и как только данные пришли/буфер освободился, что определяется по возникновению соответсвующего прерывания, сигнализировать, что устройство перешло в readable/writeble состояние и можно приступать к обработке mmaped массива.