- редактирование сообщения
- настройка скорости кан шины
- сохранить сообщение в ячейку памяти
- настроить режим работы
- сброс сохранённых сообщений
- кан-бомбер
- кан-хакер
- отправка сообщения в кан по включению зажигания
Для работы с кан шиной (поймать сообщение из шины, отправить сообщение по каому-то событию и т.д.) мы разработали вот такой многофункциональный эмулятор.
Настройка эмулятора кан шины
Эмулятор имеет три режима работы:
- кан-хакер (кан монитор)
- кан-бомбер
- эмулятор
Эмулятор имеет четыре кнопки для настройки:
- короткое нажатие перемещение курсора влево или вниз (в зависимости от окна в котором вы сейчас), длинное нажатие назад в предыдущее окно
- редактирование выбранного байта, короткое нажатие изменяет значение на один вниз, длинное нажатие на 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

И наш пакет данных полетел в шину с заданным интервалом, что мы и видим на экране кан хакера.
