|
Диагностика VAG (AUDI / Volkswagen / Skoda / Seat) | ремонт электроники Форум по работе с автомобилями группы VAG. |
|
LinkBack | Опции темы | Поиск в этой теме | Опции просмотра |
14.09.2019, 10:13 | #7932 (permalink) | |
Завсегдатай
Регистрация: 11.07.2019
Сообщений: 335
Вы сказали Спасибо: 87
Поблагодарили 86 раз(а) в 48 сообщениях
Сказал(а) Фууу!: 3
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Планета Земля
|
Цитата:
|
|
14.09.2019, 18:47 | #7933 (permalink) | |
Завсегдатай
Регистрация: 11.07.2019
Сообщений: 335
Вы сказали Спасибо: 87
Поблагодарили 86 раз(а) в 48 сообщениях
Сказал(а) Фууу!: 3
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Планета Земля
|
Цитата:
1. Я разобрался с исходниками SPP_UART и научился как принимать так и отправлять пакеты находясь в середине между EDICConfig и Infineon. 2. Перепробовал разные комбинации ответов на команды Infineon предназначенные LMX9830: 02 52 4e 01 00 a1 02 03 - эта команда заставляет LMX9830 перестать посылать сообщения о событиях, но продолжать генерировать и реагировать на UART break. 02 52 11 01 00 64 01 03 - эта команда переводит LMX9830 в прозрачный режим. Я пробовал посылать Infineon ответы: CONFIRM_SET_EVENT_FILTER[] = {0x02, 0x43, 0x4e, 0x01, 0x00, 0x92, 0x00, 0x03}; CONFIRM_TRANSPARENT_MODE[] = {0x02, 0x43, 0x11, 0x02, 0x00, 0x56, 0x00, 0x01, 0x03}; Как по одиночке, сразу за командами которые по логике должны ожидать эти ответы, так и сразу после запроса прозрачного режима. К сожалению я получаю либо ответ об ошибке (01 fe 01 00 02 00 05 00), либо ответа нет, но светодиод на адаптере начинает моргать двумя короткими, одним длинным и одним коротким сигналами. Предполагаю одно из двух: 1. Infineon посылает и ждет ответа на UART break 2. Ответы на команды выше ожидаются в другом формате/последовательности. Последний раз редактировалось lprot; 14.09.2019 в 19:00.. |
|
15.09.2019, 15:46 | #7934 (permalink) | |
Абориген
Регистрация: 07.12.2013
Сообщений: 1,534
Вы сказали Спасибо: 14
Поблагодарили 1,038 раз(а) в 554 сообщениях
Сказал(а) Фууу!: 3
Сказали Фууу! 1 раз в 1 сообщении
Откуда: МО
|
Цитата:
Глянь, может натолкнет на какие-то мысли... PS: Не исключаю, что окажется проще переделать эту табличку с команд для LMX9830 под команды понятные ВС417 Последний раз редактировалось veloseeped; 15.09.2019 в 16:08.. |
|
15.09.2019, 20:52 | #7935 (permalink) | |
Абориген
Регистрация: 07.12.2013
Сообщений: 1,534
Вы сказали Спасибо: 14
Поблагодарили 1,038 раз(а) в 554 сообщениях
Сказал(а) Фууу!: 3
Сказали Фууу! 1 раз в 1 сообщении
Откуда: МО
|
Цитата:
Часть запросов к BT проц формирует в коде прямой загрузкой в буфер отдельных байтов в hex-виде. Как пример, это выглядит так: .... movb rl7, #2 ; STX movb byte_A282, rl7 movb rl1, #52h ; ; REQ movb byte_A283, rl1 movb rl2, #28h ; STORE_CLASS_OF_DEVICE movb byte_A284, rl2 movb rl3, #3 movb byte_A285, rl3 ... И все указывает на то, что без переписания кода (или добавления дополнительного кода) обойтись не получится. |
|
15.09.2019, 21:07 | #7936 (permalink) | |
Завсегдатай
Регистрация: 11.07.2019
Сообщений: 335
Вы сказали Спасибо: 87
Поблагодарили 86 раз(а) в 48 сообщениях
Сказал(а) Фууу!: 3
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Планета Земля
|
Цитата:
Мне важно знать другое, когда он начинает поcылать эти: 02 52 4e 01 20 a1 20 03 SET_EVENT_FILTER 00 02 52 4e 01 20 a1 02 03 SET_EVENT_FILTER 00 02 52 11 01 20 64 01 03 SPP_TRANSPARENT_MODE 01 02 52 1a 20 20 6c 03 RESTORE_FACTORY_SETTINGS 02 52 33 20 20 85 03 SDAP_DISCONNECT 02 52 23 01 20 76 0a 03 CHANGE_NVS_UART_SPEED 02 52 1c 20 20 6e 03 GAP_LIST_PAIRED_DEVICES 02 52 18 20 20 6a 03 GAP_GET_SECURITY_MODE 02 52 16 20 20 68 03 GAP_GET_FIXED_PIN 02 52 03 20 20 55 03 GAP_READ_LOCAL_NAME команды. И что он посылает или ждет при включении адаптера. С этими командами, мне как бы все понятно: 02 52 4e 01 20 a1 02 03 SET_EVENT_FILTER 00 02 52 11 01 20 64 01 03 SPP_TRANSPARENT_MODE 01 Последний раз редактировалось lprot; 15.09.2019 в 21:13.. |
|
15.09.2019, 22:37 | #7937 (permalink) | ||
Абориген
Регистрация: 07.12.2013
Сообщений: 1,534
Вы сказали Спасибо: 14
Поблагодарили 1,038 раз(а) в 554 сообщениях
Сказал(а) Фууу!: 3
Сказали Фууу! 1 раз в 1 сообщении
Откуда: МО
|
На вопрос "когда" в условиях OC реального времени, работы по прерываниям с разным уровнем приоритетов точно ответить весьма проблематично
Для просмотра ссылок или изображений в данном разделе, у Вас должно быть не менее 15 сообщение(ий). Сейчас у Вас 0 сообщение(ий). По сигнатурам в ассемблерном коде можно вычислить расположение и наличие подпрограмм обслуживания разных команд, но вот порядок их действий отследить в таком коде сложно. А например вызов "прозрачного режима" вообще не очевиден - прямого формирования нет, а есть ли вызов этой командной последовательности из вышеупомятой таблицы не просматривается. Где-то видимо идет расчет указателя на запись в таблице, который найти не просто. ---------- Цитата:
Цитата:
Кстати, там еще несколько раз используется команда "отлупа" - GAP_REMOVE_PAIRING |
||
15.09.2019, 22:46 | #7938 (permalink) | |
Завсегдатай
Регистрация: 11.07.2019
Сообщений: 335
Вы сказали Спасибо: 87
Поблагодарили 86 раз(а) в 48 сообщениях
Сказал(а) Фууу!: 3
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Планета Земля
|
Цитата:
00 ff 01 00 04 00 ff 30 0f 00 или 01 fe 01 00 04 00 ff 30 0f 00 (первые два байта не важны так как это счетчик) которую я передаю Infineon руками - он мне отвечает 01 fe 01 00 02 00 05 00 вместо пакета 01 fe 01 00 3c 00 ff 30 10 00 01 00 56 41 53 35 .ю..<.¤0....VAS5 30 35 34 00 00 00 00 00 00 00 00 00 00 00 00 00 054............. 00 00 00 00 00 00 00 00 00 00 00 30 38 32 31 34 ...........08214 35 37 32 35 00 00 00 00 00 00 00 00 83 00 2c 01 5725........Г.,. 32 01 2. Он даже не пытается читать параметры из модуля блютуз, хотя передает ему команды SET_EVENT_FILTER и SPP_TRANSPARENT_MODE. Я ему пытался подтверждать SET_EVENT_FILTER и SPP_TRANSPARENT_MODE, также перед началом запроса пытался ему передавать 02 69 25 05 00 93 30 32 31 30 03 LMX9830_READY и 02 69 0C 07 00 7C 30 32 31 30 12 14 01 03 SPP_INCOMING_LINK_ESTABLISHED Но он упрямо отвечает 01 fe 01 00 02 00 05 00 Также я попробовал стать на RX ногу модуля блютуз на скоростях 9600 и 921600. И не обнаружил никаких запросов от Infineon к модулю bluetooth при включении питания. На 9600 я получаю строку C0 01 0B 09 90 D2 8F AF 57 57 55 6F 60 Похоже без лога трафика между Infineon и RX/TX выводами оригинального bluetooth модуля не обойтись. Кстати проверил у себя PIO8 и PIO9 контакты на разъеме, которые уходят на Infineon. Это аналоги PG7 и PG6 на AMB2300. Так вот у меня на PIO8 нет напряжения, а на PIO9 есть. Что интересно, если я имитирую соединение посылкой f0 f1 f2 f3, светодиод перестает моргать. А если затем закорачиваю PIO8 на PIO9, Infineon реагирует на это сбросом соединения (в UART ничего не шлет) и светодиод начинает снова моргать, но на команды больше не реагирует. Возможно на оригинале PG6 и PG7 задействованы и Infineon только тогда выдает правильный ответ, когда на PG6 или PG7 высокий или низкий уровень. Последний раз редактировалось lprot; 15.09.2019 в 23:22.. |
|
15.09.2019, 23:17 | #7939 (permalink) |
Абориген
Регистрация: 07.12.2013
Сообщений: 1,534
Вы сказали Спасибо: 14
Поблагодарили 1,038 раз(а) в 554 сообщениях
Сказал(а) Фууу!: 3
Сказали Фууу! 1 раз в 1 сообщении
Откуда: МО
|
Так я об чем талдычу. Этож реалтайм.
Если посылать команды ручками, кто будет следить за валидностью таймаутов? И по поводу сложности разборки кода. Для инфо. Подпрограммы, так или иначе связанные с работой на BT, занимают 46% !!! всего объема кода OC в процессоре. Причем производитель вообще не заморачивался с оптимизацией этого кода под определенный прибор - эта часть кода есть и в 5055 и прочих EDIC-ах. Последний раз редактировалось veloseeped; 15.09.2019 в 23:30.. |
15.09.2019, 23:58 | #7940 (permalink) | ||
Завсегдатай
Регистрация: 11.07.2019
Сообщений: 335
Вы сказали Спасибо: 87
Поблагодарили 86 раз(а) в 48 сообщениях
Сказал(а) Фууу!: 3
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Планета Земля
|
Цитата:
Протокол между EDICConfig и Infineon тоже простой: f0 f1 f2 f3 - это посылка установки сессии между клиентом (может быть EDICConfig, PDU) после которой светодиод постоянно горит подтверждение от Infineon f5 f4 f3 f2 f1 f0. 00 ff 04 00 02 00 aa 01 - это запрос на сброс счетчика 00 ff - это счетчик, в котором первый байт увеличивается с каждым новым запросом, а второй уменьшается. ---------- Цитата:
00 ff 04 00 02 00 aa 01 f0 f1 f2 f3 00 ff 01 00 04 00 ff 30 0f 00 На первую строку не будет ответа (светодиод будет продолжать мигать), на вторую f5 f4 f3 f2 f1 f0 (светодиод будет гореть), а на третью по идее должен выдать: 01 fe 01 00 3a 00 00 00 01 00 56 41 53 35 30 35 .ю..:.....VAS505 34 20 3c 30 38 32 31 34 35 37 32 35 3e 00 00 00 4 <082145725>... 00 00 00 00 00 00 00 00 00 30 38 32 31 34 35 37 .........0821457 32 35 00 00 00 00 00 00 00 00 83 00 2c 01 32 01 25........Г.,.2. Последний раз редактировалось lprot; 16.09.2019 в 00:21.. |
||
Метки |
vas 5054 |
|
|