Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: CSR BC04-EXT, USB, bulk
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Wireless/Optic
Menchinskiy
Приветствую всех.

Возникла задача заставить BC04 прикинуться на USB не чем нибудь, а PL2303 от Prolific (USB to COM)
Прикинуться удалось. Изваяние опознано системой (XP) и устройством для которого это все делается, драйвера установлены. Для передачи данных открыто два ендпоинта в bulk режиме.
Данные с bluetooth в usb едут без проблем.

А вот с приемом с usb конкретная грабля - каждая порция данных падает с дополнительным байтом в начале. Это циклический счетчик, я так понимаю, связанный именно с гарантированной доставкой в bulk режиме и служит для отслеживания повторной передачи порции данных. Но какого он падает мне в данные, разве это не дело драйверов csr отрезать его?...ну этот вопрос скорее риторический.

Да все бы ничего пока передача идет малыми порция. Тогда сообщение MESSAGE_MORE_DATA содержит только одну порцию данных и счетчик можно откусить. Но когда плотность потока возрастает, данные уже приходят пачками например 13 байт где на самом деле 1+1 и 1+10 и различить где счетчик уже нельзя. Пробовал входящий стрим мапить через SourceMapHeader, говорит нет хидера, размер ноль.

Попробовал сцепить потоки через TransformSlice с отрезанием первого байта. Данные поехали но криво. Что именно криво пока не выяснил.
Результат выглядит странно - если например в терминалке (использую TeraTerm) включить передачу большого файла без подтверждения с другой стороны, то передача идет рывками с очень большой паузой, что наводит на мысль о проблеме именно с usb.

Как вариант осталось отправить поток на kalimba и там попробовать что-то сделать, но это уж как-то слишком, так что будет на закусь sm.gif
Остался без закуси, калимбы то в BC04 нету... sad.gif

Ну и собственно вопрос - кто имел дело с usb в BC04, отзовитесь, что я делаю не так?
Menchinskiy
Дабы логически завершить поднятую тему...

Я не знаю, сколько народу сошло с ума пытаясь решить эту проблему, ибо тянется она, судя по форумах, лет пять минимум. Упущу сколько было просмотрено форумов, но результат печален - на чипах BC04 эту фишку выключить нельзя. Никак нельзя. Хоть и написано в доке на новый фирмварь что можно, но на самом деле - нельзя. Это ответ инженера CSR. А вот на BC-05 и последующих - вроде без проблем.
Благо, проект был не денежный а больше для самообразования и делался в свободное время...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2017 Invision Power Services, Inc.