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


E140 (E440) + WinDriver

Вы не вошли.

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

Andrey V.Rychkov
29.09.2004 18:26:56
#1

Гость

E140 (E440) + WinDriver

Кто-нибудь работал с E140 с помощью WinDriver ? Откликнитесь плз, нужна небольшая помощь...

ни как не могу сообразить, что надо сделать, чтобы получить например информацию о модуле (нужны аналоги функций GetModuleDescr, ReadArray)

kodorkin
29.09.2004 19:10:44
#2

Гость

Re: E140 (E440) + WinDriver

а чем стандартный драйвер не устраивает?
или просто, ради эксперемента?

Andrey V.Rychkov
30.09.2004 09:42:22
#3

Гость

Re: E140 (E440) + WinDriver

Задача стоит в подключении модуля Е140 к КПК с WindowsCE. Писать нормальный драйвер для WindowsCE пока нет возможностей, поэтому был выбран WinDriver.
Вроде там все просто, но разобраться не могу, не хватает знаний.

Может Вы мне поможете ?!

Опишу ситуацию, которая у меня в голове.
Для взаимодействия обмена с E140, существует 5 каналов (pipes):
0x00, Control, in&out
0x01, Interrupt, out
0x02, Bulk, out
0x81, Interrupt, in
0x82, Bulk

Из стандартного драйвера узнал, что оцифрованная информация с АЦП поступает по каналу 0x82. Но вот незнаю что и куда отправить, чтобы запустить АЦП на оцифровку (функция StartADC в примерах), что-то мне подсказывает что нужно в 0x00 отправить управляющий код, но никак не могу разобраться какой.

Скорее всего, мне сможет помочь человек, который программировал микроконтроллер Philips в E140.  Это случайно не Вы ? :-).
Нужна информация по управляющим кодам, что куда посылать и откуда принимать.

а может у вас есть неофициальная документация по этому вопросу, что-то ведь должно быть?

kodorkin
30.09.2004 11:31:05
#4

Гость

Re: E140 (E440) + WinDriver

1. по поводу пайпов/ендпоинтов - вы совершенно правы, добавлю только вот что:
  ендпоинты 0x1, 0x2, 0x81 в е140 не используются как таковые.   

2. все управление/инициализация/даные на тлл/даные с ттл/даные на цап передаются
по контрольному пайпу. данные с ацп идут от модуля по 0x82 пайпу.

3. для запуска ацп требуется заполнить массив параметров(так как это делается
в библиотечной функции FILL_ADC_PARS), выслать их в модуль при помощи вендора
V_PUT_ARRAY_E140 (так как это делается в библиотечной функции WriteArray),
послать в модуль вындор V_START_ADC_E140.

вендор - это такой setup пакет в котором поле bmRequestType.Type=2,
         а байт bRequest=<номеру самого вендора>

4. вендор V_PUT_ARRAY_E140:
bmRequestType = 0х42
bRequest      = V_PUT_ARRAY_E140
wValue        = <адрес>   
wIndex        = 0
wLength       = <длина>
далее идет блок данных длиной wLength байт, который будет записан по адресу wValue
   
5. вендор V_START_ADC_E140:
bmRequestType = 0х42
bRequest      = V_START_ADC_E140
wValue        = 0
wIndex        = 0
wLength       = 0
блока данных нэт
   
6. вендор V_STOP_ADC_E140:
bmRequestType = 0х42
bRequest      = V_STOP_ADC_E140
wValue        = 0
wIndex        = 0
wLength       = 0
блока данных нэт

7.8.9.... все остальные вендоры по аналогии.

Andrey V.Rychkov
30.09.2004 12:54:40
#5

Гость

Re: E140 (E440) + WinDriver

Большое спасибо! Заработало.