реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Нужна помощь в написании usb-дескриптора и обработчика (со стороны МК), Использую библиотеку Lufa
7Gluk
сообщение Jul 1 2012, 00:13
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 22-11-11
Из: Russia, SPB
Пользователь №: 68 465



Мне нужно написать usb-дескриптор и обработчик для составного hid-устройства (мышь+клавиатура+джойстик). МК - atmega32u4, для работы с usb пользуюсь библиотекой Lufa (за основу взял демо-проект KeyboardMouse).

Первая проблема, не смог добавить джойстик в демо-проект KeyboardMouse. Сначала попробовал добавить его по аналогии, но устройство вообще не определилось системой. Потом попробовал в этом же проекте заменить дескрипторы мыши на дескрипторы джойстика, устройство определилось системой как мышь+клавиатура, причем мышь с восклицательным знаком.
Подскажите, пожалуйста, что неправильно.

Вторая проблема, надо сделать вертикальный и горизонтальный скроллинг документов (текст, графика, чертежи...). Для вертикального скроллинга - Wheel, для горизонтальной - AC Pan. Правда, я хотел вместо Wheel использовать AC Scroll, потому что Wheel часто используется как зум, а не скроллинг. Нашел готовый дескриптор мыши с AC Pan, но там используется Feature. Как правильно добавить обработчик для Feature?

И третий момент, нужна связь устройства с настроечным ПО, то есть нужен еще один Feature и обработчик для него...

В прикрепленном файле: Joystick - оригинал; KeyboardMouse - попытка замены мыши на джойстик; kmj - попытка добавить джойстик к KeyboardMouse.
Прикрепленные файлы
Прикрепленный файл  LowLevel.7z ( 39.84 килобайт ) Кол-во скачиваний: 15
 
Go to the top of the page
 
+Quote Post
Nikolai Rihkov
сообщение Jul 1 2012, 07:49
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 286
Регистрация: 4-02-08
Пользователь №: 34 730



Сейчас в данный момент я тоже экспериментирую с USB HID устройством, под рукой есть книга Агурова "Интерфейс USB" , выложил ниже пример из книги, там 2 точки Feature.

Прикрепленный файл  AT89_HID_2feature.rar ( 542.45 килобайт ) Кол-во скачиваний: 135
Go to the top of the page
 
+Quote Post
7Gluk
сообщение Jul 2 2012, 00:56
Сообщение #3





Группа: Новичок
Сообщений: 9
Регистрация: 22-11-11
Из: Russia, SPB
Пользователь №: 68 465



Спасибо.
Но в этом примере все реализовано сложнее чем в lufa, окончательно запутался sad.gif
Еще не могу понять, для feature нужен свой endpoint или используется endpoint репорта?
Go to the top of the page
 
+Quote Post
Nikolai Rihkov
сообщение Jul 2 2012, 07:25
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 286
Регистрация: 4-02-08
Пользователь №: 34 730



feature это тип репорта и чтобы репорт стал feature нужно просто изменить соответствующим образом дескриптор репорта.
Go to the top of the page
 
+Quote Post
7Gluk
сообщение Jul 2 2012, 11:38
Сообщение #5





Группа: Новичок
Сообщений: 9
Регистрация: 22-11-11
Из: Russia, SPB
Пользователь №: 68 465



Цитата(Nikolai Rihkov @ Jul 2 2012, 11:25) *
feature это тип репорта и чтобы репорт стал feature нужно просто изменить соответствующим образом дескриптор репорта.

А если в одном дескрипторе репорта есть in, out и feature?
У меня в дескрипторе репорта клавиатуры 2 endpoint - in out; в дескрипторе репорта мыши 1 endpoint - in + поле feature. Еще надо будет добавить feature (наверно в дескриптор клавиатуры) для загрузки/выгрузки профилей устройства. Как работать с in и out я разобрался по примерам, а вот что и как делать с feature никак не могу понять.
Go to the top of the page
 
+Quote Post
7Gluk
сообщение Jul 8 2012, 01:27
Сообщение #6





Группа: Новичок
Сообщений: 9
Регистрация: 22-11-11
Из: Russia, SPB
Пользователь №: 68 465



С первой проблемой разобрался.
У ATmega32U4 ограничение - 5 конечных точек (не считая нулевой), а в проекте их было 6 (HID2_ReportOUTEndpoint и HID3_ReportOUTEndpoint не использовались). Также после изменения состава usb-устройства надо удалять его из системы, иначе винда его правильно не устанавливает.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 22:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.02361 секунд с 7
ELECTRONIX ©2004-2016