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

Форум: Выбор оборудования

Вы не вошли.

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

Viaprog
10.07.2002 18:40:56
#1

Гость

Почему данные, получаемые с l-1450 12-разрядные?

Используется ОС Linux и lcdrv-1.0.17b1
При вводе данных при помощи ioctl (xdsp_file, XDSP_SAMPLE_IN, &si)
struct sample_info si;
si.data типа int - 32 бита, но данные (я так понял)
извлечь оттуда можно при помощи:

short int i;
bcopy (&si.data, &i, sizeof i);

Данные в i, они типа short int.
Если данными считать si.data - то получается полный бред
(в документации про это НИЧЕГО не сказано сказано, что
si.data - это данные, а что дальше с ними делать непонятно).

Так вот, полученные таким способом данные - 12 разрядные:
лежат в диапазоне [-2048;2047].

И ещё, расковыряв исходники drv1250.c я обнаружил
следующую строчку:

int bits = 12;

и единственное место, где эта переменная используется,
это при ответе на запрос ioctl SOUND_PCM_READ_BITS.

К чему бы это? ...

Не значит ли это, что о том, что l-1450 14 разрядная
плата (в отличие от l-1250) авторы забыли?

Ivan
11.07.2002 10:54:06
#2

Гость

Re: Почему данные, получаемые с l-1450 12-разрядные?

Для работы с 1450 использовался драйвер от 1250 и "совместимая" управляющая прорамма BIOS.
Оказалось, что она пытается полностью эмулировать 1250, и даже преобразует данные АЦП в 12 бит!
Скоро выложим нормальный BIOS, который этого не делает, и включим его в следующую версию драйверов. Спасибо за обнаруженную "фичу"...

Ivan
26.07.2002 14:48:56
#3

Гость

Re: Почему данные, получаемые с l-1450 12-разрядные?

Для L-1450 написан отдельный модуль, работает с обычной (не "совместимой") управляющей программой DSP (L1450.bio).
Новые драйверы (lcdrv-1.0.17b5) выложены в библиотеке файлов.

Контакты

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

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

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

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