Цитата(RomanRom @ Mar 6 2006, 12:46)

Попробовал зашить HEX-код HID-keys из obdev.at в Mega8. Определяется как неизвестное (и неработающее) USB-устройство плюс стандартный джойстик с адресом 0х201.
Что-то странное, поскольку если даже допустить, что устройство частично работает (хоть это и не так), стандартный джойстик на порту с адресом 201 ну никак не выйдет. Максимум - это HID-совместимый контроллер. Может, это простой джойстик там стоит и видится в панели манипуляторов?
Цитата
Естественно ничего не работает. Но когда тут же в схеме на том же компе перешил контроллер кодом Игоря (mjoy) - все определилось без проблем и установилось автоматически.
Сам лично hidkeys не проверял, но могу дать совет, на что обратить особое внимание.
Обратить внимание следует на то, какие пины в hidkeys использованы для подключения по USB. Там используются НЕ ТЕ пины, что по умолчанию в MJoy. А именно, пользуясь тем, что UART для hidkeys не нужен, вместо параллельного подключения D+ на ногу порта и также на INT0 (всего задействовано 3 ноги), в данном случае ограничились только двумя, поскольку INT0 совмещен функционально с просто портом.
Так не часто делают, чтобы сохранить свободными RxD (бит 0) и TxD (бит 1). Имея программное ограничение, что D- должно быть на бите 0, и не желая занимать RxD, вешают USB на другой свободный порт, дублируя D+ на INT0, что есть бит 2 того же порта, где и UART.Безусловно, если это не учтено, то оригинальная прошивка работать не будет, а наличия резистора 1.5к на VBUS достаточно, чтобы хост увидел устройство, которое не реагирует на запросы и, следовательно, оно не будет работающим.
Цитата
Вопрос, наверное, к osnwt - нужно ли перекомпилировать исходник, выложенный на сайте, или где-то в HEX-кодах поставлено что-то лишнее?
Обычная практика - hex соответствует исходнику. Исходник соответствует схеме. Если схемы отличаются, то надо перекомпилировать. Я обычно всегда так и делаю изначально.