Перейти к содержанию
    

Контроллер TouchKit TK-UE12, USB

Есть контроллер сенсорного стекла : TouchKit TK-UE12.

Интерфейс USB 1.1 FS.

Получил все его дескрипторы.

И (EP1 IN interrupt) размером 64 байта то же прекрасно принимаю.

А где можно найти формат этой EP1 ?

т.е. где в ответе расположены координаты касания XY, их размерность и т.д.

уже сутки в гуугле ищу - ноль.

Подскажите где в принципе можно получить такого рода информацию о USB устройствах?

post-40106-1491049603_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я нашёл по запросу "TouchKit TK-UE12" вот это:

http://www.disign-store.com/file/manual/to...wareGuide02.pdf

Фирма, вроде бы, та же что и на чипах. Может оно и есть?

 

А вообще, я так думаю, нужно отталкиваться от содержимого считанных дескрипторов. Если, к примеру, это устройство HID, и оно поддерживается Windows без установки дополнительных драйверов - тогда искать на сайте Микрософта о формате данных для таких сенсоров.

Например вот для HID устройств: https://msdn.microsoft.com/en-us/library/wi...6(v=vs.85).aspx

В общем, в зависимости от дескрипторов.

 

Можно ещё прицепить на шину USB логический анализатор, и "подслушать" обмен Windows и панели, и так узнать формат данных.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может оно и есть?

Нет, это я тоже нашел и это не то.

 

 

Можно ещё прицепить на шину USB логический анализатор, и "подслушать" обмен Windows и панели, и так узнать формат данных.

Ну это понятно. Это уже на крайний случай.

 

Если, к примеру, это устройство HID, и оно поддерживается Windows без установки дополнительных драйверов - тогда искать на сайте Микрософта о формате данных для таких сенсоров.

Семёрка дров не просит. Получается знает что ей подключили.

Но всё равно , где искать описание формата я так и не понял. :crying:

 

Вот, к примеру, datasheet тоже на контроллер сенсорного стекла от 3M. Всё ясно и понятно.

Думал что и на TouchKit такой же или похожий документик найду, но не тут то было...

EX11_57xxUC__77xxUC.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вообще, я так думаю, нужно отталкиваться от содержимого считанных дескрипторов.

 

Как правило, усбшные тачпанели могут работать в 2х режимах - vendor specific и digitizer, в первом случае нужна дока от производителя, второй определяется виндой и имеет стандартный тип репорта, вот его и копайте, там нет ничего сложного, почти, как усб мышка :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На сайте TouchKit TK-UE12 есть упоминание, что оно сделано на EXC3000. На сайте производителя EXC3000 (www.eeti.com) есть описание (SW Programming guide) - http://www.eeti.com/pdf/Software%20Program...0Guide_v2.0.pdf

В частности там сказано, что eGalaxTouch USB HID compliant controllers support Microsoft HID touch digitizer.

Ищите на usb.org ну и на Microsoft вестимо:

http://www.usb.org/developers/hidpage/

http://download.microsoft.com/download/a/d...drvs_touch.docx

 

Или подключайтесь к контролеру через RS232 - он есть и полностью описан в SW Programming guide

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или подключайтесь к контролеру через RS232 - он есть и полностью описан в SW Programming guide

По RS232 все работает отлично, но мне по USB надо опросить его.

 

Ищите на usb.org ну и на Microsoft вестимо:

Не доходит до меня где это искать (

 

Методом научного тыка получил ответ от контроллера.

Задал конфигурацию 1 и периодически опрашиваю EP1.

При касании, удержании и отпускании получаю в ответ 6 байт.

1. всегда 0x01

2. Status

3. low X

4. high X

5. low Y

6. high Y

Где это в документах usb.org ну и на Microsoft можно найти?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Где это в документах usb.org ну и на Microsoft можно найти?

Для начала в Device Class Definition for HID 1.11 нужно посмотреть что вообще из себя представляет HID устройство. Если вкратце, то фиксированного формата у него нет, но вместо этого есть способ запросить из Control Endpoint'а описание (Report) формата данных, которые выдает устройство. В этом описании есть как физическая структура (т.е. информация о битах/байтах в выходном пакете), так и логическая - информация о том, чему каждый из этих битов/байтов соотвествует. Логическая информация представленна в виде пар чисел - класс устройства (у вас Digitizers - 0x0D) и тип (Usage Page + Usage в терминах HID) каждого поля. Эти числа прописаны в документе HID Usage Tables 1.12

Кстати, форматов у Report'а может быть несколько, поэтому они предваряются числом - ID формата (ваш 01 в начале)

Т.к. у вас одно конкретное устройство, то проще будет снять этот Report и зашить декодированную структуру к себе. Для этого наверное можно взять официальный тул USB3CV

 

В документе от MS подробно описано, что Windows ожидает увидеть от устройства типа Digitaizer (в том числе и от вашего), с подробными примерами Report'ов и способов общения. Ваш тоже должен уложиться в эти рамки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала ...

Спасибо.

Теперь то всё ясно и прозрачно!

Наверное у разработчиков стояла задача сделать как можно сложнее и запутаннее. :biggrin:

проще будет снять этот Report и зашить декодированную структуру к себе.

Да уж, видать придётся так и сделать, нежели заниматься анализом всех этих репортов и пар чисел на мк.

Беспокоит лишь то, что пока "железяка" у меня всего одна я "сниму" сниффером ее ответ и подстроюсь под него.

А завтра-послезавтра разработчики железяки выпуcтят новую версию, поменяют описание репортов или еще чего изменят и реальный ответ изменится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А завтра-послезавтра разработчики железяки выпуcтят новую версию, поменяют описание репортов или еще чего изменят и реальный ответ изменится.
Тогда ой, придется как то спецификацию поддерживать :crying:

Самый простой способ - запросить этот самый Report, посчитать от него какую нибудь контрольную сумму (напримеро CRC или код Флетчера - он проще) и сравнить с оригинальной. Если совпало - работаем (по зашитому формату), не совпало - ругаемся и не работаем (с последующим обновлением прошивки МК под новый формат)

 

 

Кстати, а какой у вас МК? Если что нибудь толстое (типа ARM), то под HID должно быть готовых парсеров навалом, можно воспользоваться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ATxmega
Ну если какая нибудь из старших, то можно попробовать и HID парсер вставить. В LUFA в частности есть HID парсер

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Самый простой способ - запросить этот самый Report, посчитать от него какую нибудь контрольную сумму

Хорошая идея. :beer:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...