Здравствуйте.
Не подскажет ли доброуважаемый Алл
куда физически приходит запрос на feature Get репорт в at90usb162?
(Что теоретически он в нулевой едпоинт приходит - знаю).
пред история:
Я разрабатываю очередной не коммерческий USB девайс на at90usb162
(для общего пользования)
Потребовалось ввести report_feature в приложение. Раньше на меге8
и асме я легко ее вводил - там юсб софтовый и если написано что он
приходит в 0 ендпоинт, оно туда и приходит...
а точнее он приходил в 0 ендпоинте в блок установки адреса устройства,
вот сюда
.def MyUpdatedAddress =R14 ;my USB address for update
.def MyAddress =R15 ;my USB address
Тот мой проект работает до сих пор ( http://mindrunway.ru/SUps2.html )
Но с аппаратным USB на at90usb162 возникли небольшие грабли...
Для простоты я решил полностью повторить софтовый проект и отладить обмен.
(т.е. дескриптор правильный и софт с ним работает)
В общем, отправить содержимое Get репорта без запроса - я могу...
Set репорт приходит в мой асмовый аналог сишной usb_process_request() и нормально отлавливается.
но вот отловить запрос, по которому надо ШТАТНО отправить Get репорт - у меня не получается.
(в аппаратном юсб адрес выставляется без участия программы пользователя и наработки софтового
юсб немного не применимы)
т.е. проблема в том, что Get репорт не меняет содержимое UEINTX у нулевого ендпоинта
(повторюсь Set репорт меняет там бит RXSTPI и отлавливается)...
(повторюсь в софтовом варианте Гет приходит в 0 ендпоинт в процедуру установки адреса устройства)
В енете долго и упорно искал - с нулевым результатом...
Точнее из готовых примеров на feature репорт есть только пример входа в бут блок.
(это тот же Set репорт только с ошибкой в подтверждении приема данных для компа,
но для бут блока это не важно, получил команду и в бут...)