18.03.2016, 12:36 | #231 |
Новый Пользователь
Регистрация: 10.01.2007
Возраст: 49
Город: Ротсовкая обл г. Морозовск
Машина: ford Mondeo 3
Сообщений: 23
|
Если к монитору подключиться по CAN сможет Ардуино распознать протокол и скорость ? или эти данные явно нужно знать, чтобы снюхать Ардуино с шиной на дисплее ?
т.е если выловить данные управляющие стандартными меню дисплея в шине, то этими меню можно управлять для своих сообщений ! |
18.03.2016, 14:28 | #232 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
dmit
Нету понятия монитор, дисплей, магнитола и так далее. Есть понятие "шина данных". Она бывает по крайней мере двух типов- стандартная высокоскоростная и FT-CAN. Для стандартной на плате распаяна микруха TJA1050, для FT потребуется перепайка на TJA1054 или 1055. Эти данные можно узнать перебором. Перебирая для каждой из категорий скорость. Но лутчше найти данные сразу. Там не так всё просто. Более или менее просто "читать" данные из шины и выводить их на своё устройство. Нельзя просто взять и вмешаться своими сообщениями в шину. Точнее в некоторых случаях можно, но в 90% сообщения цикличны. Тоесть каждые, скажем 500мс, идёт передача данных о, ну допустим, нажатой или нет кнопке. И этот статус будет в битовом виде допустим 0, а ты будешь пихать ему 1. С кнопкой это может и прокатит, а вот с сообщениями, кроме как мерцания ни чего не выйдет. Короче. При удачном подключении к шине нужно будет заниматься анализом пакетов. Тупо тыкать кнопки, крутить ручки и смотреть что происходит. Это долго и уныло. Да ещё можно и чего-то не заметить. С наскока не выйдет короче. Посмотри дату начала этой темы и пойми сколько нужно время для раскопки примерно 50% информации в шине FT(кан комфорт). |
19.03.2016, 19:25 | #233 | |
Новый Пользователь
Регистрация: 10.01.2007
Возраст: 49
Город: Ротсовкая обл г. Морозовск
Машина: ford Mondeo 3
Сообщений: 23
|
Цитата:
2. Получается кроме анализа никакой радости не принес попытка разбираться с сообщениями. Если я допустим вычислю как опустить стеклоподъемник , то послав свое сообщение , а не нажимая кнопки стекло не опуститься ? Или монитор не напишет слово и не прорисует стандартное меню ? 3. Хотел бы уточнить по Вашему проекту . Как я понял Вы просто перевели содержимое штатного монитора на свой ! Т.е. вы выловили сообщения , расшифровали их и средсвами Андроид нарисовали на экране андроида в своей современной интерпритации ! Ардуин у вас вылавливает сообщения , а далее что , кто занимается формирование новой информации на основе выловленых данных, тоже Ардуин ? Как соединен АРдуин с Андроид ? Вот здесь можно подробнее ? |
|
20.03.2016, 14:11 | #234 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
1 Сначала пробовать.
2 Пока не увидишь что происходит и не попробуешь послать пакет ни чего не узнаешь. Протокол у всех разный. 2. У меня всё идёт при помощи разных ID и байт/бит в них, сама визуализация в дисплее вшита. Отдельно только идёт мультифрейм для вывода сообщений и RDS. Они идут фактически в ASCII. Ардуина ловит с платы кан сообщения и передаёт их на сериал порт, а к тому уже подключена микруха которая выдаёт это на ЮСБ(стандартный разъём на плате ардуины). Далее по юсб это подключено к планшету. На планшете при помощи изисканий вот этого дяди написан софт https://github.com/felHR85/UsbSerial/releases/ |
20.03.2016, 14:14 | #235 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Народ, а теперь вопрос на засыпку!
Походу я загрузил дуину настолько, что она стала тупо не успевать за пакетами. Как отфильтровать аппаратно при помощи mcp пакеты? нашёл только это INT8U init_Mask(const INT8U num,const INT32U ulData); /* init Masks */ INT8U init_Filt(const INT8U num,const INT8U ext,const INT32U ulData); Что с этим делать не понятно. Какой фильтр подсовывать и маску чего? Мне надо пропускать около 30 ID, а всё остальное игнорировать. Сегодня выяснилось что очень большие грабли с приёмом одиночных сообщений. Коими является мультифрейм. Дома всё ок, всё принимается нормально, менюшки выскакивают, очень редко бывают пустыми, но это фигня. В машине меню показывает с 10 нажатия, часто не закрывает. Единственное логическое объяснение такому поведению это то, что ардуина сравнивает все пакеты которые приходят немаленьким кодом и просто захлёбывается данными. Последний раз редактировалось T_r_D; 20.03.2016 в 18:00. |
20.03.2016, 19:05 | #236 |
Пользователь
Регистрация: 29.07.2015
Регион: 64
Машина: VW Tiguan
Сообщений: 89
|
Там по-моему можно только 6 аппаратных фильтров настроить. Нужно либо оптимизировать проверки, либо переносить всю логику в андроид. Ардуине оставить фильтр и передачу сырых данных в компорт.
|
21.03.2016, 05:56 | #237 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Я как понял там две маски на Разрешить и Запретить и 6 фильтров.
Мало. Нужно проверять 21 ID. По пробую заменить if на switch. Должно быть быстрее. Ps. Попробовал подключить к своей шине стандартный контроллер can с tja1050 и увидил странную штуку- половину id он видит, но только половину )) |
21.03.2016, 12:19 | #238 |
Пользователь
Регистрация: 29.07.2015
Регион: 64
Машина: VW Tiguan
Сообщений: 89
|
Я больше думаю на то, что где-то слишком долго идет обработка самих данных. На ардуиновский код можно посмотреть?
|
24.03.2016, 19:30 | #239 | |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
Цитата:
Там вообще странная штука получилась. Походу глюк компилятора при работе с памятью. Короче, если код мультифрейма вконце, то нужно перед сравнением массивов ставит delay(2). Имено 2- меньше не работает. Если его нет, то вывод оконечного массива в порт получается с ошибками.тоесть каша тупо пишется. Такое происходит похоже только при интенсивной работе с массивами в памяти. Если код мультифреймом вначале, то работает без делея. Вообще понять не могу в чём дело. Если заменить if на switch, то задержки даже в 20 мало- каша пишется. Может совместно разобраться выйдет... |
|
24.03.2016, 23:18 | #240 |
Старший Пользователь
Регистрация: 03.07.2015
Регион: 77, 97, 99, 177
Сообщений: 372
|
вот код- сильно не пинать, потом окультурю
PHP код:
Последний раз редактировалось T_r_D; 25.03.2016 в 00:18. |
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3) | |
|
|