Продолжаю изучение работы блока управления камерами от Делики. Целью было научиться управлять блоком, передавая необходимые пакеты в кан-шину. Выяснил, что для управления используются пакеты с идентификатором 315, а о состоянии блока можно узнать из сообщений 3D1.
Управляющие пакеты
перевод блока в режим настроек
315:5:FF FF FF 00 40
перевод блока в сервисный режим
315:5:FF FF FF 00 21
Информация о нажатии на экран передается в виде координат
315:5:01 D1 D2 01 03
D1 — координата по X. Возможные значения от 03 (левый край) до D4, с шагом 8.
D2 — координата по Y. Возможные значения от 03 (верх экрана) до DE, с шагом 7.
На экране координаты выглядят примерно так
Разработчики не сильно старались с точным указанием координат, поэтому программный правый край кнопки выхода (в правом верхнем углу) простирается до края экрана. Таким образом, для нажатия этой кнопки надо передать координаты в диапазоне X = 82..D4, Y = 0A..20.
Например:
315:5:01 8F 11 01 03
Хоть магнитола и передает координаты дискретно (с шагом 8 и 7), но блок воспринимает все значения. Аналогично можно нажимать и на остальные кнопки.
Небольшое видео, демонстрирующее процесс:
Оч. интересно. А чем работаете с can-шиной.. Чем снифаете и засылаете нужные пакеты?
Работаю самодельными устройствами. Также написал кан-сниффер под опенпорт.
А исходники кан-снифера как я понимаю под винду, судя по роликам? Под елм не будет работать? Нельзя получить исходники сниффера?
На видео используется CAN-Hacker — это не моя программа. Моя еще не полностью написана, хотя, основной функционал уже работает. Исходники публиковать не планирую.
Ну на нет и суда нет :) .. А на каком языке составляли свою программу, если не секрет и в какой среде отлаживали? Я в VS-сишарпf нашел только элемент SerialPort.. в борланде нет, в VS не знаю.. В консольном исполнении неудобна, может поделитесь опытом.. я по мере желания тоже клепаю такую. Есть несколько сорцов, но ни один еще серьезно не тестился.. Спасибо..
RAD Studio, C++. В виде консольного приложения:
Ну справа понятно ИД-пакета, длина поля данных, данные, счетчик.. А слева поле как правильно понять? Неудобно, но дело привычки видимо, главное.. Функции поиска и фильтрации как я понимаю нет и найти нужный пакет в работающей шине — большая проблема видимо?
Софтовая фильтрация есть, аппаратная пока не написана. Слева сообщения, отсортированные по ID, справа поток сообщений без сортировки. Поиск нужного сообщения пока мне не нужен.
Слева да имелось ввиду.. :)