- редактирование сообщения
- настройка скорости кан шины
- сохранить сообщение в ячейку памяти
- настроить режим работы
- сброс сохранённых сообщений
- кан-бомбер
- кан-хакер
- отправка сообщения в кан по включению зажигания
Для работы с кан шиной (поймать сообщение из шины, отправить сообщение по каому-то событию и т.д.) мы разработали вот такой многофункциональный эмулятор.
Настройка эмулятора кан шины
Эмулятор имеет три режима работы:
- кан-хакер (кан монитор)
- кан-бомбер
- эмулятор
Эмулятор имеет четыре кнопки для настройки:
- короткое нажатие перемещение курсора влево или вниз (в зависимости от окна в котором вы сейчас), длинное нажатие назад в предыдущее окно
- редактирование выбранного байта, короткое нажатие изменяет значение на один вниз, длинное нажатие на 0x10
- редактирование выбранного байта, короткое нажатие изменяет значение на один вверх, длинное нажатие на 0x10
- короткое нажатие перемещение курсора вправо или вверх (в зависимости от окна в котором вы сейчас), длинное нажатие ENTER
Включение питания с нажатой кнопкой 1 отменяет загрузку данных из энергонезависимой памяти (сброс всех ячеек на 0)
Одновременное длинное нажатие кнопок 2 и 3 из режима редактирования сообщения включает кан-бомбер (при этом вы можете менять значения любых байтов на лету). Ещё одно нажатие 2 и 3 выключает этот режим.
Если в памяти эмулятора записаны сообщения тогда после включения питания он сразу переходит в режим эмулятора, на дисплее при этом будет надпись — RUNNING.
Если в памяти ничего нет, или мы включили эмулятор с нажатой кнопкой 1, мы попадаем в главное меню:
В режиме SETTING мы можем выбрать скорость кан шины (по умолчанию 500)
Если нужно выбираем нужную скорость и возвращаемся в главное меню (длинное нажатие кнопки 1).
И переходим в режим HACKER
Если вы не подключены к шине кан то на экране будет 000, если подключены и скорость шины правильная на экране будет пакет с одним из ID, к примеру как здесь:
Точки внизу экрана показывают что в шине есть ещё сообщения с другими ID и с помощью 1 и 4 кнопок вы можете по ним перемещаться.
Режим редактирования сообщения
Из режима HACKER длинным нажатием кнопки 4 мы попадаем в режим редактирования сообщения.
Здесь у нас появиляся курсор для редактирования и таймаут этого сообщения (time : 100).
Кнопками 1 и 4 мы можем передвигать курсор на любой байт.
И кнопками 2 и 4 менять значение этого байта (короткое нажатие меняет значение на 0x01, длинное на 0x10)
Из этого режима можно также перейти в режим кан-бомбер (длинное нажатие кнопок 2 и 3 одновременно)
После редактирования сообщения (если ему нужно редактирование) длинным нажатием кнопки 4 переходим в окно выбора количества байт, здесь можно изменить длину сообщения (кнопки 2 и 3) если нужно, к примеру так
Далее снова длинным нажатием кнопки 4 переходим в окно выбора таймаута, где можно изменить или оставить таким-же период передачи), если мы предполагаем отправлять это сообщение в шину в дальнейшем.
Длинное нажатие кнопки 4 и мы попадаем в окно выбора ячейки для хранения сообщения
Здесь курсором выбираем любую ячейку для хранения, к примеру 1, длинное нажатие сохранит сообщение в этой ячейке
Также мы видим здесь *F, это для выбора режима сравнения, по точному совпадению (*F) или по маске ( *M), подробно об этом здесь.
Далее длинным нажатием кнопки 1 возвращаемся в главное меню.
Здесь можно снова перейти в режим кан хакер, или перейти в режим настройки режима работы ( SETTING -> WORKING MODE).
Здесь есть три пункта в которых нужно выбрать что будет условием для включения (input), что будет выходом (output) и что будет дополниельным условием для остановки (stop).
Для примера нам нужно отправлять в шину сообщение которое мы сохранили в ячеёке 1. Для этого ставим курсор на строку output, длинное нажатие кнопки 4 и справа появляется окошко выбора
Кнопками 2 или 3 выбираем ячейку 1, длинное нажатие кнопки 4 сохраняет выбор и длинным нажатием кнопки 1 выходим из выбора.
Далее выходим в главное меню, выбираем пункт RUN и длинным нажатием включаем режим эмулятора, на экране при этом появляется надпись RUNNING.
Отправка сообщений в кан шину (кан-бомбер)
В режиме редактирования сообщений для примера собрал вот такое сообщение. 0x100 0101010101010101.
Нажимаем долго две кнопки одновременно (2 и 3), началась передача этого пакета
Любые байты мы можем менять на лету (кнопками 2 и 3), к примеру изменим последний байт.
Стрелка внизу показывает что идёт передача
Отправка сообщения в шину Кан при включении зажигания
Частая задача — отправлять одно (два, три) сообщения в кан шину при включении зажигания (например для запуска сидений, или подмотки спидометра). Вот пример настройки:
В главном меню заходим в режим кан-хакер (длинное нажатие кнопки 4), если эмулятор подключен к кан шине, на экране будет одно из сообщений шины, если нет, тогда 000:
Нажимаем длинно кнопку 4 и попадаем в окно редактирования нашего пустого сообщения
Кнопками 2 и 3 настраиваем нужное сообщение (короткое нажатие изменяет байт на 0х01, длинное на 0х10)
Длинное нажатие кнопки 4 и попадаем в окно выбора длины сообщения (кнопками 2 и 3), оставим 8 байт
Следующим длинным нажатием кнопки 4 попадаем в окно выбора таймаута (кнопками 2 и 3), поставимдля примера 10.
Сообщение готово, теперь нужно поместить его в одну из трёх ячеек памяти. Следующее длинное нажатие 4 отправляет нас в это окно.
И ещё одно долгое нажатие 4 сохраняет наше сообщение в первую ячейку.
Далее возвращаемся (длинное нажатие кнопки 1) в главное меню и переходим в SETTING
Выбираем WORKING MODE
И устанавливаем ячейку 1 как выход (output), если ничего не указано в качестве входа (input) сообщение будет непрерывно передаваться с заданным интервалом после включения питания.
Возвращаемся в главное меню (кнопка 1 долго) и выбираем пункт RUN
Длинное нажатие кнопки 4 включит рабочий режим, на экране появится надпись RUNNING
И наш пакет данных полетел в шину с заданным интервалом, что мы и видим на экране кан хакера.