Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 17.10.2010, 16:47  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: USB HID report descriptor

Тема с дескрипторами все равно мне пока не очень понятна, но устройство работает и слава Богу.
Тут другой вопрос назрел. Можно ли сделать джойстик не 8 битным, а 16? Дело в том, что я снимаю показания с точностью 24 бита. Округлять их до 8 легко, но хочется поэкспериментировать. Можно ли написать такой дескриптор, чтобы винда ждала от джойстика 16 бит по каждой оси?
Реклама:
Easyrider83 вне форума  
Непрочитано 30.10.2010, 10:29  
pve70
Временная регистрация
 
Регистрация: 09.02.2007
Сообщений: 91
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
pve70 на пути к лучшему
По умолчанию Re: USB HID report descriptor

Добрый день, кто-нибудб подскажет как правильно в рамках одного дескриптора 2 ReportID использовать? Вот с этим дескриптором устройство почти работает, т.е в комп пересылает данные, а вот обратно по ReportID=1 не хочет принимать, видимо желает по ReportID=2 чтоб ему посылали даные.
Код:
PROGMEM char usbHidReportDescriptor[USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH] =
{
    0x06, 0x00, 0xff,              // USAGE_PAGE (Generic Desktop)
    0x09, 0x01,                    // USAGE (Vendor Usage 1)
    0xa1, 0x01,                    // COLLECTION (Application)
    0xa1, 0x02,                    //   COLLECTION (Logical)
    0x85, 0x01,                    //     REPORT_ID (1)
    0x15, 0x00,                    //     LOGICAL_MINIMUM (0)
    0x26, 0xff, 0x00,              //     LOGICAL_MAXIMUM (255)
    0x75, 0x08,                    //     REPORT_SIZE (8)
    0x95, 0x05,                    //     REPORT_COUNT (5)
    0x09, 0x00,                    //     USAGE (Undefined)
    0x81, 0x02,                    //     INPUT (Data,Var,Abs)
    0x95, 0x26,                    //     REPORT_COUNT (38)
    0x09, 0x00,                    //     USAGE (Undefined)
    0x91, 0x02,                    //     OUTPUT (Data,Var,Abs)
    0x09, 0x00,                    //     USAGE (Undefined)
    0xb1, 0x02,                    //     FEATURE (Data,Var,Abs)
    0xc0,                          //   END_COLLECTION
    0xa1, 0x02,                    //   COLLECTION (Logical)
    0x85, 0x02,                    //     REPORT_ID (2)
    0x15, 0x00,                    //     LOGICAL_MINIMUM (0)
    0x26, 0xff, 0x00,              //     LOGICAL_MAXIMUM (255)
    0x75, 0x08,                    //     REPORT_SIZE (8)
    0x96, 0x60, 0x01,              //     REPORT_COUNT (352)
    0x09, 0x00,                    //     USAGE (Undefined)
    0x91, 0x02,                    //     OUTPUT (Data,Var,Abs)
    0xc0,                          //   END_COLLECTION
    0xc0                           // END_COLLECTION
};
pve70 вне форума  
Непрочитано 06.12.2010, 00:51  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: USB HID report descriptor

Сам себе отвечаю. Мало ли кому-то тоже надо будет. Делаем 16 битный джойстик. Дескриптор такой:
Цитата:
const hid_rpt_desc as hid_report_descriptor = (
( 0x05, 0x01, ' USAGE_PAGE (Generic Desktop)
0x15, 0x00, ' LOGICAL_MINIMUM (0)
0x09, 0x04, ' USAGE (Joystick)
0xa1, 0x01, ' COLLECTION (Application)
0x05, 0x01, ' USAGE_PAGE (Generic Desktop)
0x09, 0x01, ' USAGE (Pointer)
0xa1, 0x00, ' COLLECTION (Physical)
0x09, 0x30, ' USAGE (X)
0x09, 0x31, ' USAGE (Y)
0x75, 0x10, ' REPORT_SIZE (16)
0x95, 0x02, ' REPORT_COUNT (2)
0x15, 0x00, ' LOGICAL_MINIMUM (0)
0x27, 0xff, 0xff, 0x00, 0x00, ' LOGICAL_MAXIMUM (65535)
0x35, 0x00, ' PHYSICAL_MINIMUM (0)
0x47, 0xff, 0xff, 0x00, 0x00, ' PHYSICAL_MAXIMUM (65535)
0x81, 0x02, ' INPUT (Data,Var,Abs)
0xc0, ' END_COLLECTION
0xc0 ' END_COLLECTION
)
)
Помогите добавить в дескриптор 8 кнопок, пожалуйста!

Последний раз редактировалось Easyrider83; 06.12.2010 в 01:10.
Easyrider83 вне форума  
Непрочитано 07.12.2010, 20:51  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: USB HID report descriptor

Еще один рабочий дескриптор:
3 оси по 16 бит и 8 кнопок
Цитата:
0x05, 0x01, ' USAGE_PAGE (Generic Desktop)
0x15, 0x00, ' LOGICAL_MINIMUM (0)
0x09, 0x04, ' USAGE (Joystick)
0xa1, 0x01, ' COLLECTION (Application)
0x05, 0x01, ' USAGE_PAGE (Generic Desktop)
0x09, 0x01, ' USAGE (Pointer)
0xa1, 0x00, ' COLLECTION (Physical)
0x09, 0x30, ' USAGE (X)
0x09, 0x31, ' USAGE (Y)
0x09, 0x32, ' USAGE (Z)
0x75, 0x10, ' REPORT_SIZE (16)
0x95, 0x03, ' REPORT_COUNT (3)
0x15, 0x00, ' LOGICAL_MINIMUM (0)
0x27, 0xff, 0xff, 0x00, 0x00, ' LOGICAL_MAXIMUM (65535)
0x35, 0x00, ' PHYSICAL_MINIMUM (0)
0x47, 0xff, 0xff, 0x00, 0x00, ' PHYSICAL_MAXIMUM (65535)
0x81, 0x02, ' INPUT (Data,Var,Abs)
0xc0, ' END_COLLECTION
0x05, 0x09, ' USAGE_PAGE (Button)
0x19, 0x01, ' USAGE_MINIMUM (Button 1)
0x29, 0x08, ' USAGE_MAXIMUM (Button
0x15, 0x00, ' LOGICAL_MINIMUM (0)
0x25, 0x01, ' LOGICAL_MAXIMUM (1)
0x75, 0x01, ' REPORT_SIZE (1)
0x95, 0x08, ' REPORT_COUNT (
0x55, 0x00, ' UNIT_EXPONENT (0)
0x65, 0x00, ' UNIT (None)
0x81, 0x02, ' INPUT (Data,Var,Abs)
0xc0 ' END_COLLECTION
Easyrider83 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
связь lpc17xx c PC по USB Vallav Микроконтроллеры, АЦП, память и т.д 0 01.06.2010 08:35
Помогите разобраться USB Device - HID - Joystick redb Микроконтроллеры, АЦП, память и т.д 6 11.03.2010 14:20
USB HID девайс на 18F13K50 не хочет работать. DK Микроконтроллеры, АЦП, память и т.д 17 26.02.2010 18:31
USB HID Keyboard Atmega8 snayperAlfa Proteus 12 24.02.2010 22:01
Питание USB устройств nml Делимся опытом 1 11.02.2010 14:06


Часовой пояс GMT +4, время: 09:08.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot