LINUX.ORG.RU

История изменений

Исправление vbr, (текущая версия) :

Не знаю как на счет custom-hid, но мышь андроидом вполне поддерживается, а ведь она именно на hid основана.

Я имею в виду доступное приложениям API. В ядре-то понятно поддерживается, но я же не для ядра код буду писать. А в юзерспейсе даже usb serial не поддерживается. Причём что противно - /dev/ttyACM0 появляется, но доступа (без рута) нет. Поэтому по итогу проще всего оказывается рабоать с голыми эндпоинтами. Наверняка какие-то реализации HID для юзерспейса есть, для serial по крайней мере есть, но без нужды смысла не вижу этим пользоваться.

Поскольку вы ничего не рассказали о своем устройстве, мы подсказать ничего не можем. interrupt используются в тех же HID (события от клавиатуры, мыши или подобного) и, скажем, в CDC (переходник на RS232) для служебных линий CTS, DSR и т.д. В общем, для данных, которые появляются редко и непредсказуемо.

Ну теорию, как оно «по проводу» передаётся, я примерно понял, а вот в нюансах конкретных реализаций не понимаю. Пока тоже пришёл к выводу, что с interrupt эндпоинтом оно будет правильней, спасибо, буду экспериментировать. С SETUP запросами я разобраться был вынужден, дескрипторы-то отсылать хосту надо, чтобы устройство пронумеровалось как положено, вот и сделал ещё одним запросом с vendor кодом запрос этого пин-кода, показалось так проще всего.

Про устройство пока рассказывать особо нечего, это BLE устройство, а всё, что я сейчас делаю - чтобы отобразить на подключенном компьютере пин-код в момент спаривания, т.к. дисплея на устройстве нет. В будущем в протоколе будет больше функций, но пока - только это - передать строку из 6 цифр в нужный момент.

Исправление vbr, :

Не знаю как на счет custom-hid, но мышь андроидом вполне поддерживается, а ведь она именно на hid основана.

Я имею в виду доступное приложениям API. В ядре-то понятно поддерживается, но я же не для ядра код буду писать. А в юзерспейсе даже usb serial не поддерживается. Причём что противно - /dev/ttyACM0 появляется, но доступа (без рута) нет. Поэтому по итогу проще всего оказывается рабоать с голыми эндпоинтами. Наверняка какие-то реализации HID для юзерспейса есть, для serial по крайней мере есть, но без нужды смысла не вижу этим пользоваться.

Поскольку вы ничего не рассказали о своем устройстве, мы подсказать ничего не можем. interrupt используются в тех же HID (события от клавиатуры, мыши или подобного) и, скажем, в CDC (переходник на RS232) для служебных линий CTS, DSR и т.д. В общем, для данных, которые появляются редко и непредсказуемо.

Ну теорию, как оно «по проводу» передаётся, я примерно понял, а вот в нюансах конкретных реализаций не понимаю. Пока тоже пришёл к выводу, что с interrupt эндпоинтом оно будет правильней, спасибо.

Про устройство пока рассказывать особо нечего, это BLE устройство, а всё, что я сейчас делаю - чтобы отобразить на подключенном компьютере пин-код в момент спаривания, т.к. дисплея на устройстве нет. В будущем в протоколе будет больше функций, но пока - только это - передать строку из 6 цифр в нужный момент.

Исходная версия vbr, :

Не знаю как на счет custom-hid, но мышь андроидом вполне поддерживается, а ведь она именно на hid основана.

Я имею в виду доступное приложениям API. В ядре-то понятно поддерживается, но я же не для ядра код буду писать. А в юзерспейсе даже usb serial не поддерживается. Причём что противно - /dev/ttyACM0 появляется, но доступа (без рута) нет. Поэтому по итогу проще всего оказывается рабоать с голыми эндпоинтами. Наверняка какие-то реализации HID для юзерспейса есть, для serial по крайней мере есть, но без нужды смысла не вижу этим пользоваться.

Поскольку вы ничего не рассказали о своем устройстве, мы подсказать ничего не можем. interrupt используются в тех же HID (события от клавиатуры, мыши или подобного) и, скажем, в CDC (переходник на RS232) для служебных линий CTS, DSR и т.д. В общем, для данных, которые появляются редко и непредсказуемо.

Ну теорию, как оно «по проводу» передаётся, я примерно понял, а вот в нюансах конкретных реализаций не понимаю. Пока тоже пришёл к выводу, что с interrupt эндпоинтом оно будет правильней, спасибо.