Программирование USB-хоста на Android, начиная с 3.1 - опыт работы с USB-библиотекой slickdevlabs

Я ищу решение для программирования USB-хоста на Android с использованием новых функций USB.

У кого-нибудь уже есть опыт в этом? Это действительно работает? Есть ли какие-то особые ограничения? С чего лучше всего начать?

Я проверил http://developer.android.com/guide/topics/usb/host.html, но в идеале нужен рабочий пример.

Я бы пожалел, что инвестировал в новый телефон/планшет Android только для того, чтобы заняться разработкой, а затем обнаружить, что некоторые функции USB не работают.

Меня особенно интересует, есть ли опыт последовательной связи через чип FTDI с использованием программирования USB-хоста Android.

В частности, я хотел бы знать, использовал ли кто-нибудь библиотеку от slickdevlabs для этого - стоит ли это того или можно просто взять любой пример кода (например, bluetooth) и перейти оттуда?

Большое спасибо


person user387184    schedule 27.11.2011    source источник


Ответы (1)


Я знаю, что по совпадению прошел ровно год с тех пор, как вы задали этот вопрос, но в настоящее время я использую библиотеку slickdev для общения с устройствами FTDI. Однако есть проблема.

Где-то по ходу я теряю несколько байтов данных, а также подбираю в своих данных байты заголовка. Итак, я теряю около 3 байтов данных, но получаю 4 байта данных заголовка. Данные заголовка — 0x0162, в основном говоря, что он отправляет 62 байта данных.

Я все еще надеюсь использовать библиотеку slickdev, но если я не смогу обойти эту проблему, мне придется написать что-то с нуля под предлогом, что написание с нуля позволит мне контролировать, что мне нужно, чтобы изменить настройки не позволяют управлять сликом.

person Steven_BDawg    schedule 27.11.2012
comment
для чего вам нужна именно либа? Связь через USB очень проста, возможно, единственная проблема - тайм-аут и асинхронная связь. Подскажите, в чем конкретно у вас проблема... - person user387184; 28.11.2012
comment
Для связи с устройством Serial FTDI. Я не очень хорошо разбираюсь в том, как делать все коммуникации на самом низком уровне программирования для Android. Есть несколько устройств, с которыми необходимо установить связь, и по крайней мере еще одно будет добавлено в список в ближайшем будущем. Что касается моей текущей проблемы, я получаю биты заголовка 0x0162 с данными, которые я получаю, а также отсутствует около 3 байтов фактических данных в конце. С гладкой библиотекой я не могу изменить настройку/переменную, которая может быть фактической причиной. - person Steven_BDawg; 28.11.2012
comment
вы уверены, что это проблема lib? почему бы вам просто не прочитать себя напрямую без библиотеки и посмотреть, останется ли проблема? У меня также были некоторые нежелательные необъяснимые байты - я просто научился справляться с этим и пропускать их в своем приложении... - person user387184; 29.11.2012
comment
На самом деле я разговаривал с программистами FTDI, и они сказали мне, что столкнулись с той же проблемой при тестировании Slick Dev. В настоящее время я просто вынимаю их, но проблема все еще остается в том, что фактические данные теряются. - person Steven_BDawg; 19.12.2012
comment
.. Думаю, тогда мне повезло, потому что в моем случае все эти странные байты заголовка можно безопасно игнорировать в моем случае, а все остальные байты верны, и в моем случае ничего не пропало ... - person user387184; 19.12.2012
comment
Что ж, байты заголовка можно успешно игнорировать, и все данные будут там, когда... блок данных не будет полностью заполнен. Таким образом, единственный раз, когда я теряю фактические данные, это когда я получаю полный блок данных. Кроме этого, он отлично работает! ха-ха - person Steven_BDawg; 19.12.2012