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

 
 
> Вышла очередная версия AVR-USB драйвера от Objective Development, Исправлена пара серьезных багов, рекомендуется обновиться
osnwt
сообщение Mar 16 2006, 10:56
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 175
Регистрация: 26-01-06
Из: Sevastopol
Пользователь №: 13 664



Вышла версия программного USB драйвера для большинства AVR контроллеров.
См сайт автора.

Самая последняя версия всегда находится в составе reference-проекта PowerSwitch.

Изменения в текущей версии:
Цитата
* Release 2006-03-14

- Added IAR compiler compatibility to USB driver (not the PowerSwitch project).
Thanks to Oleg Semyonov for contributing this port!
- Major Bugfixes in the low level parts of the USB driver. See the driver's
Changelog for details.

Цитата
Changelog:

- Give a compiler warning when compiling with debugging turned on.
- Added Oleg Semyonov's changes for IAR-cc compatibility.
- Added new (optional) functions usbDeviceConnect() and usbDeviceDisconnect()
(also thanks to Oleg!).
- Rearranged tests in usbPoll() to save a couple of instructions in the most
likely case that no actions are pending.
- We need a delay between the SET ADDRESS request until the new address
becomes active. This delay was handled in usbPoll() until now. Since the
spec says that the delay must not exceed 2ms, previous versions required
aggressive polling during the enumeration phase. We have now moved the
handling of the delay into the interrupt routine.
- We must not reply with NAK to a SETUP transaction. We can only achieve this
by making sure that the rx buffer is empty when SETUP tokens are expected.
We therefore don't pass zero sized data packets from the status phase of
a transfer to usbPoll(). This change MAY cause troubles if you rely on
receiving a less than 8 bytes long packet in usbFunctionWrite() to
identify the end of a transfer. usbFunctionWrite() will NEVER be called
with a zero length.

Ошибки проявлялись на фазе начального коннекта при ряде специфических условий и при интенсивном обмене с хостом (знаю в деталях, ибо сам руку приложил к их обнаружению и идентификации). Сейчас все работает отлично. Размер кода не увеличился. Рекомендую обновить версию.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Spider
сообщение Jan 20 2007, 19:10
Сообщение #2


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



Ребят а не поможете создать джойстик? Я вот сижу и пытаюсь разобраться с HID. И не могу прикинуть как же всётаки объяснить сколько скнопок и прочего на джойстике.
Go to the top of the page
 
+Quote Post
osnwt
сообщение Jan 20 2007, 19:39
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 175
Регистрация: 26-01-06
Из: Sevastopol
Пользователь №: 13 664



Цитата(Alexey Belyaev @ Jan 20 2007, 18:10) *
Ребят а не поможете создать джойстик? Я вот сижу и пытаюсь разобраться с HID. И не могу прикинуть как же всётаки объяснить сколько скнопок и прочего на джойстике.

На 100% однозначно этого нигде нет - есть только документ с www.usb.org, описывающий структуру HID Report Descriptor (крайне поверхностно), а также утилита для генерации этих самых дескрипторов (лежит там же).

Самый простой вариант - найти дескриптор устройства, похожий на тот, что хочется сделать. И начать экспериментировать с ним.

Еще вариант - посмотреть, например, на проекты на странице http://obdev.at/products/avrusb/projects.html, реализующие SNES/NES gamepad to USB adapter и PPM RC to USB Interface на базе этого драйвера. Последний названный - это мой проект, реализующий просто джойстик и джойстик с кнопками для авиамодельных симуляторов. Наряду с декодером PPM сигнала в нем предусмотрено использование АЦП ATmega8 для реализации джойстика с 8-ю осями. Кнопки в версии с кнопками просто дублируют аналоговые каналы. После публикации оказалось, что этот вариант бесполезен, поскольку кнопки мешают калибровке осей в силу своей реализации. Но если их формировать не так, как там сделано, а путем чтения физических пинов портов, то все будет нормально.

Есть и другие подобные проекты в интернете, где можно подсмотреть структуру HID Report Descriptor.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 20 2007, 19:48
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(osnwt @ Jan 20 2007, 23:39) *
На 100% однозначно этого нигде нет - есть только документ с www.usb.org, описывающий структуру HID Report Descriptor (крайне поверхностно), а также утилита для генерации этих самых дескрипторов (лежит там же).
Кстати, по поводу дескрипторов и драйверов, раз уж встретились smile.gif



Хотелось бы узнать про вот такую строчку в драйвере, при использовании устройства как USB CDC ACM class - что то она мне не внушает доверия, может поясните:

Код
if(intr3Status != 0 && usbInterruptIsReady3())
{
      static UCHAR serialStateNotification[10] = {0xa1, 0x20, 0, 0, 0, 0, 2, 0, 3, 0};
      if(intr3Status == 2)
             usbSetInterrupt3(serialStateNotification, 8);
      else
             usbSetInterrupt3(serialStateNotification+8, 2);
       intr3Status--;
}


Это отправляется на запрос SET_CONTROL_LINE_STATE... По идее (вернее по спецификации на USB CDC), устройство должно ответить нулевым пакетом...


--------------------
Go to the top of the page
 
+Quote Post
osnwt
сообщение Jan 20 2007, 20:18
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 175
Регистрация: 26-01-06
Из: Sevastopol
Пользователь №: 13 664



Цитата(prottoss @ Jan 20 2007, 18:48) *
Кстати, по поводу дескрипторов и драйверов, раз уж встретились smile.gif
Хотелось бы узнать про вот такую строчку в драйвере, при использовании устройства как USB CDC ACM class

Если вопрос ко мне, то увы, не подскажу. Я не игрался (пока?) с CDC. Потому вопросов, с этим связанных, не изучал. Может, кто-то другой подскажет чего.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 20 2007, 20:31
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(osnwt @ Jan 21 2007, 00:18) *
Цитата(prottoss @ Jan 20 2007, 18:48) *

Кстати, по поводу дескрипторов и драйверов, раз уж встретились smile.gif
Хотелось бы узнать про вот такую строчку в драйвере, при использовании устройства как USB CDC ACM class

Если вопрос ко мне, то увы, не подскажу. Я не игрался (пока?) с CDC. Потому вопросов, с этим связанных, не изучал. Может, кто-то другой подскажет чего.
Да не лично к Вам, конечно, НО, раз уж вы лично переписываетесь с автором такого замечательного драйвера, то могли бы ему сказать о данном вопросе. Я, честно говоря, не придавал значения этим строчкам, пока не стал отлаживать более "серъезный" USB девайс, тоже прикидывающий ся CDC ACM. SET_CONTROL_LINE_STATE не требует ответа...

Это описанно в файле usbcdc11.pdf стр.69. 6.2.14.SetControlLineState


--------------------
Go to the top of the page
 
+Quote Post
osnwt
сообщение Jan 20 2007, 21:15
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 175
Регистрация: 26-01-06
Из: Sevastopol
Пользователь №: 13 664



Цитата(prottoss @ Jan 20 2007, 19:31) *
Да не лично к Вам, конечно, НО, раз уж вы лично переписываетесь с автором такого замечательного драйвера, то могли бы ему сказать о данном вопросе.

Я переписываюсь тогда, когда есть предмет разговора. Предмет разговора, с моей точки зрения, может быть тогда, когда я "въехал" в тему и не вижу решения. Вникать в этот предмет у меня сейчас не получится, а быть испорченным телефоном не очень хочется.

Автор без проблем общается со всеми. Кроме того, с недавних пор на его сайте запущена phpBB, где есть форум по AVR USB драйверу и проектам на его основе. Автор там регулярно отвечает на вопросы. Я полагаю, что самое оптимальное - это задать вопрос там.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- osnwt   Вышла очередная версия AVR-USB драйвера от Objective Development   Mar 16 2006, 10:56
- - aleksey_g   Олег, было бы совсем прекрасно, если бы Вы PowerSw...   Mar 16 2006, 17:04
|- - osnwt   Цитата(aleksey_g @ Mar 16 2006, 19:04) Ол...   Mar 16 2006, 17:17
- - EWAVR   Гм... Скомпилировал c грехом пополам PowerSwitch I...   Mar 16 2006, 22:21
|- - osnwt   Цитата(EWAVR @ Mar 17 2006, 00:21) Гм... ...   Mar 17 2006, 00:34
- - EWAVR   Компилировалось и заливалось в AT90S2313, для кот...   Mar 17 2006, 12:13
|- - osnwt   Цитата(EWAVR @ Mar 17 2006, 14:13) Компил...   Mar 17 2006, 12:27
- - EWAVR   Скомпилировал PowerSwitch (at90s2313) - IAR проигр...   Mar 17 2006, 16:06
|- - osnwt   Цитата(EWAVR @ Mar 17 2006, 18:06) Скомпи...   Mar 17 2006, 16:15
- - aleksey_g   ЦитатаЕсли это вообще кому-то сильно нужно, я могу...   Mar 17 2006, 17:37
- - EWAVR   Гы! Скомпилировал PowerSwitch для 90s2313 IAR...   Mar 17 2006, 21:29
|- - osnwt   Цитата(EWAVR @ Mar 17 2006, 23:29) Гы...   Mar 18 2006, 10:38
|- - osnwt   Цитата(EWAVR @ Mar 17 2006, 23:29) Ув. os...   Mar 20 2006, 01:03
- - Proton   Посмотрел на сайте проект PowerSwitch, а там почем...   Mar 20 2006, 05:41
|- - osnwt   Цитата(Proton @ Mar 20 2006, 07:41) А пос...   Mar 20 2006, 05:57
- - EWAVR   Цитата+extern unsigned usbCrc16(uchar __near *data...   Mar 20 2006, 10:47
|- - osnwt   Цитата(EWAVR @ Mar 20 2006, 12:47) Цитата...   Mar 20 2006, 14:08
- - EWAVR   Да, at90s2313. IAR AVR 4.12A, есть для проверки 4....   Mar 20 2006, 16:30
|- - osnwt   Да, действительно для AT90S2313 __tiny недоступно ...   Mar 20 2006, 16:53
- - EWAVR   Спасибо, все заработало( все так просто, сам мог б...   Mar 20 2006, 22:49
|- - osnwt   Цитата(EWAVR @ Mar 21 2006, 00:49) нужно ...   Mar 21 2006, 08:27
|- - Rst7   Цитата(osnwt @ Mar 21 2006, 10:27) Цитата...   Mar 22 2006, 12:24
- - aleksey_g   Уважаемые EWAVR & OSNWT Ну поделитесь же Ваш...   Mar 22 2006, 12:09
|- - osnwt   Цитата(aleksey_g @ Mar 22 2006, 14:09) Ну...   Mar 22 2006, 19:58
- - aleksey_g   Все! Откомпилил PowerSwitch в ИАР_е под ATMEGA...   Mar 22 2006, 15:20
- - EWAVR   Никаких проблем с компиляцией, недостающие файлы u...   Mar 22 2006, 16:04
- - aleksey_g   Нашел ВС++ 5.2 Установил. Скомпилил. 2 WARNING: C...   Mar 22 2006, 17:37
|- - EWAVR   Цитата(aleksey_g @ Mar 22 2006, 21:37) По...   Mar 23 2006, 19:08
- - aleksey_g   Олег! Ерунда с сервером похоже есть! ERROR...   Mar 23 2006, 08:23
- - osnwt   EWAVR, если есть возможность, прошу проверить ра...   Mar 24 2006, 08:48
|- - KA_ru   Цитата(osnwt @ Mar 24 2006, 12:48) EWAVR,...   Mar 27 2006, 09:06
|- - osnwt   Цитата(KA_ru @ Mar 27 2006, 11:06) возмож...   Mar 29 2006, 06:59
- - lazycamel   Никто не пробовал в ИАРовском порте в usbdrv.c зам...   Mar 29 2006, 06:15
- - 733259   ЦитатаНасколько я понял - это было сделано из-за т...   Mar 29 2006, 09:03
|- - osnwt   Цитата(733259 @ Mar 29 2006, 11:03) Так б...   Mar 29 2006, 09:12
|- - aleksey_g   Все! Сделал управление Powerswitch_ем из-под Д...   Apr 10 2006, 18:01
|- - lazycamel   Цитата(aleksey_g @ Apr 10 2006, 21:01) Вс...   Apr 11 2006, 05:30
|- - aleksey_g   ЦитатаНАФИГА ? Чем тебя LibUSB-win32 не устроила ?...   Apr 11 2006, 06:31
|- - aleksey_g   Закончил управление Powerswitch_em на Дельфи. http...   Apr 12 2006, 16:28
|- - lazycamel   Цитата(aleksey_g @ Apr 11 2006, 09:31) Да...   Apr 12 2006, 18:29
|- - osnwt   Цитата(lazycamel @ Apr 12 2006, 21:29) Я ...   Apr 12 2006, 20:41
|- - lazycamel   Цитата(osnwt @ Apr 12 2006, 23:41) Цитата...   Apr 13 2006, 04:37
||- - osnwt   Цитата(lazycamel @ Apr 13 2006, 07:37) Ци...   Apr 13 2006, 08:58
||- - lazycamel   Цитата(osnwt @ Apr 13 2006, 11:58) Ответ ...   Apr 13 2006, 09:44
||- - aleksey_g   После некоторых танцев с бубном, удалось запустить...   Apr 13 2006, 12:56
||- - aleksey_g   А вот и сама рулилка Powerswitch_ем. С исходниками...   Apr 14 2006, 13:02
||- - aleksey_g   Продолжаем "мучить Powerswitch"! Те...   Apr 17 2006, 17:47
||- - aleksey_g   Продолжаем "мучить Powerswitch"! Те...   Apr 17 2006, 17:56
|- - aleksey_g   При перекомпиляции Powerswitcha IAR_ом под мегу48 ...   Apr 20 2006, 17:28
|- - osnwt   Цитата(aleksey_g @ Apr 20 2006, 20:28) Оп...   Apr 20 2006, 18:00
|- - aleksey_g   Цитата(osnwt @ Apr 20 2006, 21:00) Решени...   Apr 21 2006, 11:32
|- - osnwt   #define TEST_DRIVER_SIZE определенное в коде - эт...   Apr 21 2006, 11:56
|- - aleksey_g   Цитата(osnwt @ Apr 21 2006, 14:56) #defin...   Apr 21 2006, 12:19
|- - aleksey_g   Для скачавших Powerswitchlibusb.rar, рекомендуется...   Apr 25 2006, 07:09
- - aleksey_g   EWAVR, опять глюки zero sized reply PM получил?   Apr 6 2006, 07:52
- - Георгий   На базе драйвера разработал USB вольтметр (USB дра...   Jan 9 2007, 12:30
|- - prottoss   Цитата(Георгий @ Jan 9 2007, 16:30) На ба...   Jan 20 2007, 19:16
|- - Георгий   Цитата(prottoss @ Jan 20 2007, 19:16) Цит...   Jan 22 2007, 09:23
|- - prottoss   Цитата(Георгий @ Jan 22 2007, 13:23) Цита...   Jan 22 2007, 11:05
|- - Георгий   Цитата(prottoss @ Jan 22 2007, 11:05) Ско...   Jan 22 2007, 11:23
|- - prottoss   Цитата(osnwt @ Jan 21 2007, 01:15) Цитата...   Jan 20 2007, 21:25
- - Георгий   Попробовал программульку на работе, удобная штучка...   Jan 22 2007, 11:52
|- - prottoss   Цитата(Георгий @ Jan 22 2007, 15:52) Попр...   Jan 22 2007, 12:19
- - Георгий   Насколько я помню, вид и пид с устройства не брали...   Jan 22 2007, 12:41
|- - prottoss   Цитата(Георгий @ Jan 22 2007, 16:41) Наск...   Jan 22 2007, 13:17
- - Георгий   Если просто прицепить резистор 1,5 ком между D- b ...   Jan 22 2007, 13:35
|- - prottoss   Цитата(Георгий @ Jan 22 2007, 17:35) Если...   Jan 22 2007, 13:51
- - Георгий   Так меня и интересует, в каком месте он может греш...   Jan 22 2007, 16:38
|- - prottoss   Цитата(Георгий @ Jan 22 2007, 20:38) Так ...   Jan 22 2007, 20:19
- - BSVi   Добрый день. Пытаюсь скомпилировать этот драйвер п...   Oct 27 2009, 21:36
- - BSVi   Проблема решена установкой в каждом .h файле макро...   Oct 28 2009, 18:54


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 04:30
Рейтинг@Mail.ru


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