Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USB HID TouchScreen
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
Spider
Пытаюсь состряпать TouchScreen, точнее ужесостряпал.
Хочется сделать работу со стандартными драйверами Windows. Вроде описал HID Descriptor, и даже определяестя и даже калибруется, но потом всё равно точки ставятся не туда, хотя геометрия в норме.
Встал вопрос про PHISICAL_MINIMUM и MAXMUM

0x05, 0x01, // USAGE_PAGE (Generic Desk..
0x35, 0x00, // PHYSICAL_MINIMUM (0)
0x46, 0xb5, 0x04, // PHYSICAL_MAXIMUM (1205)
0x09, 0x30, // USAGE (X)
0x46, 0x8a, 0x03, // PHYSICAL_MAXIMUM (906)
0x09, 0x31, // USAGE (Y)
0x81, 0x02, // INPUT (Data,Var,Abs)

что задают эти величины? В каких папугаях? Если я их у себя не указывал к чему это влечёт?
kovigor
Цитата(Alexey Belyaev @ Oct 31 2010, 13:37) *
Пытаюсь состряпать TouchScreen, точнее ужесостряпал.
Хочется сделать работу со стандартными драйверами Windows. Вроде описал HID Descriptor, и даже определяестя и даже калибруется, но потом всё равно точки ставятся не туда, хотя геометрия в норме.
Встал вопрос про PHISICAL_MINIMUM и MAXMUM

0x05, 0x01, // USAGE_PAGE (Generic Desk..
0x35, 0x00, // PHYSICAL_MINIMUM (0)
0x46, 0xb5, 0x04, // PHYSICAL_MAXIMUM (1205)
0x09, 0x30, // USAGE (X)
0x46, 0x8a, 0x03, // PHYSICAL_MAXIMUM (906)
0x09, 0x31, // USAGE (Y)
0x81, 0x02, // INPUT (Data,Var,Abs)

что задают эти величины? В каких папугаях? Если я их у себя не указывал к чему это влечёт?

HID - дескриптор и PHYSICAL_MIN(MAX) никак не связаны. Это параметры REPORT - дескриптора. О них написано в спецификации HID, а взять ее можно на www.usb.org. Кстати, у них есть и утилитка, генерирующая дескриптор (HID Descriptor Tool):
http://www.usb.org/developers/hidpage/
Spider
ну блин очепятался. Читал я всё там, и утилю видел (глючная кстати до жути).
Так и не понял что описывают эти величины касательно TouchScreen.
Может, раз уж такая пьянка, разъёсните?
kovigor
Цитата(Alexey Belyaev @ Oct 31 2010, 17:05) *
Может, раз уж такая пьянка, разъёсните?

Разъяснять не берусь, поскольку с этими экранами не работал. Может, поможет вот это ? Там и PDF-ки есть, и примеры дескрипторов экранов:

http://www.google.com.ua/search?hl=ru&...q=&gs_rfai=
Spider
Прикольно, ткнул по ссылке, а там все ссылки уже посещены мною smile.gif
Всё это я уже перерыл, но так и не понял как быть с физическими размерами. Вот такой вот непонятливый sad.gif
Doka
Цитата(Alexey Belyaev @ Oct 31 2010, 15:37) *
Встал вопрос про PHISICAL_MINIMUM и MAXMUM
что задают эти величины? В каких папугаях? Если я их у себя не указывал к чему это влечёт?


ну, судя по:
Цитата(Alexey Belyaev @ Oct 31 2010, 15:37) *
HID Descriptor, и даже определяестя и даже калибруется, но потом всё равно точки ставятся не туда, хотя геометрия в норме.


это предположительно нативное разрешение матрицы, к которому эти попугаи нормируются??

Цитата(Alexey Belyaev @ Oct 31 2010, 15:37) *
Хочется сделать работу со стандартными драйверами Windows.


очень хочется?
а если юзать VID/PID прикидываясь каким-нить еGalaxy-Touch?
(у меня сложилось впечатление, что стандарт де-факто именно еGalaxy и иже с ним клоны, а не виндовая примочка (кстати, как её вообще проверить что она 100% рабочая???)
Spider
Если это разрешение, то в каких попугаях? И как тогда там укзать 15.34 см?
Со стандартными дровами виндов уже подружил, но тока в 7ке. А eGalaxy пробовал, у них ADC что ли не линеен, и если я туда свои координаты (очень даже линейные) подсовываю, на экране получаю кривулины.
Doka
Цитата(Alexey Belyaev @ Jan 6 2011, 22:46) *
Если это разрешение, то в каких попугаях? И как тогда там укзать 15.34 см?

не знаю.. подробно не копал эту тему (только еще предстоит), но системе уже известны физ.размеры дисплея (из "правильного" EDID'a)
т.е. как-то это на стороне хоста обсчитывается..


Цитата(Alexey Belyaev @ Jan 6 2011, 22:46) *
А eGalaxy пробовал, у них ADC что ли не линеен, и если я туда свои координаты (очень даже линейные) подсовываю, на экране получаю кривулины.

не знаю как насчёт оригинала, но в китайском клоне eGalaxy стоит китайский же клон TI TSC2046 - врядли они стали бы извращаться с модификацией оригинала.
может сам тач нелинеен???
Spider
У виста/7 есть поддержка TabletPC и свои "стандартные" драйвера для тача. Если прикинуться им и отдавать координаты "как есть", то получаются очень даже линейные данные. Всё ровно и перпендикулярно.
Если же отдавать всё тоже самое, но прикинувшись eGalaxy, то получаются параллелепипеды с округлыми основаниями. Вот и всё. При этом ни какая утилита калибровки не помогает. Становится только хуже sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.